Преглед на файлове

Major update and quality of life changes v16.5

deadmoon преди 1 година
родител
ревизия
6f495281e0
променени са 98 файла, в които са добавени 9663 реда и са изтрити 7036 реда
  1. 13 0
      CHANGELOG.md
  2. 28 14
      Optimizer/ByteSize/BinaryByteSize.cs
  3. 100 50
      Optimizer/ByteSize/ByteSize.cs
  4. 24 12
      Optimizer/ByteSize/DecimalByteSize.cs
  5. 122 61
      Optimizer/CleanHelper.cs
  6. 82 41
      Optimizer/ColorHelper.cs
  7. 5 2
      Optimizer/Constants.cs
  8. 6 3
      Optimizer/Controls/AppCard.cs
  9. 18 9
      Optimizer/Controls/ColorOverrider.cs
  10. 194 97
      Optimizer/Controls/ColorPicker.cs
  11. 22 11
      Optimizer/Controls/ListViewColumnSorter.cs
  12. 12 6
      Optimizer/Controls/MoonCheck.cs
  13. 14 7
      Optimizer/Controls/MoonCheckList.cs
  14. 14 7
      Optimizer/Controls/MoonList.cs
  15. 54 27
      Optimizer/Controls/MoonMenuRenderer.cs
  16. 8 4
      Optimizer/Controls/MoonProgress.cs
  17. 12 6
      Optimizer/Controls/MoonRadio.cs
  18. 18 9
      Optimizer/Controls/MoonSelect.cs
  19. 78 39
      Optimizer/Controls/MoonTabs.cs
  20. 16 8
      Optimizer/Controls/MoonToggle.cs
  21. 18 9
      Optimizer/Controls/MoonTree.cs
  22. 22 11
      Optimizer/Controls/ToggleCard.cs
  23. 28 14
      Optimizer/CoreHelper.cs
  24. 9 5
      Optimizer/DebugHelper.cs
  25. 24 12
      Optimizer/EmbeddedAssembly.cs
  26. 22 11
      Optimizer/ErrorLogger.cs
  27. 24 12
      Optimizer/FileHandleHelper.cs
  28. 36 18
      Optimizer/FontHelper.cs
  29. 18 9
      Optimizer/Forms/AboutForm.cs
  30. 18 9
      Optimizer/Forms/FileUnlockForm.cs
  31. 114 46
      Optimizer/Forms/FirstRunForm.Designer.cs
  32. 128 51
      Optimizer/Forms/FirstRunForm.cs
  33. 30 15
      Optimizer/Forms/HelperForm.cs
  34. 18 9
      Optimizer/Forms/HostsEditorForm.cs
  35. 18 9
      Optimizer/Forms/InfoForm.cs
  36. 5362 4920
      Optimizer/Forms/MainForm.Designer.cs
  37. 401 155
      Optimizer/Forms/MainForm.cs
  38. 2 2
      Optimizer/Forms/MainForm.resx
  39. 6 3
      Optimizer/Forms/SplashForm.cs
  40. 22 11
      Optimizer/Forms/StartupPreviewForm.cs
  41. 64 32
      Optimizer/Forms/StartupRestoreForm.cs
  42. 12 6
      Optimizer/Forms/SubForm.cs
  43. 12 6
      Optimizer/Forms/UpdateForm.cs
  44. 86 43
      Optimizer/HostsHelper.cs
  45. 152 76
      Optimizer/IndiciumHelper.cs
  46. 112 56
      Optimizer/IntegratorHelper.cs
  47. 4 2
      Optimizer/Models/AppInfo.cs
  48. 30 15
      Optimizer/Models/Enums.cs
  49. 26 13
      Optimizer/Models/Hardware.cs
  50. 11 2
      Optimizer/Models/Options.cs
  51. 35 14
      Optimizer/Models/SilentConfig.cs
  52. 6 3
      Optimizer/Models/StartupBackupItem.cs
  53. 46 23
      Optimizer/Models/StartupItem.cs
  54. 296 176
      Optimizer/OptimizeHelper.cs
  55. 2 0
      Optimizer/Optimizer.csproj
  56. 64 27
      Optimizer/OptionsHelper.cs
  57. 46 23
      Optimizer/PingerHelper.cs
  58. 100 51
      Optimizer/Program.cs
  59. 123 86
      Optimizer/Properties/Resources.Designer.cs
  60. 6 0
      Optimizer/Properties/Resources.resx
  61. 13 11
      Optimizer/Resources/i18n/AR.json
  62. 10 8
      Optimizer/Resources/i18n/BG.json
  63. 8 6
      Optimizer/Resources/i18n/CN.json
  64. 8 6
      Optimizer/Resources/i18n/CZ.json
  65. 8 6
      Optimizer/Resources/i18n/DE.json
  66. 8 6
      Optimizer/Resources/i18n/EL.json
  67. 8 6
      Optimizer/Resources/i18n/EN.json
  68. 8 6
      Optimizer/Resources/i18n/ES.json
  69. 8 6
      Optimizer/Resources/i18n/FA.json
  70. 8 6
      Optimizer/Resources/i18n/FR.json
  71. 8 6
      Optimizer/Resources/i18n/HU.json
  72. 8 6
      Optimizer/Resources/i18n/IT.json
  73. 8 6
      Optimizer/Resources/i18n/JA.json
  74. 8 6
      Optimizer/Resources/i18n/KO.json
  75. 8 7
      Optimizer/Resources/i18n/KU.json
  76. 10 8
      Optimizer/Resources/i18n/NE.json
  77. 10 8
      Optimizer/Resources/i18n/NL.json
  78. 8 6
      Optimizer/Resources/i18n/PL.json
  79. 8 6
      Optimizer/Resources/i18n/PT.json
  80. 8 6
      Optimizer/Resources/i18n/RO.json
  81. 8 6
      Optimizer/Resources/i18n/RU.json
  82. 8 6
      Optimizer/Resources/i18n/TR.json
  83. 8 6
      Optimizer/Resources/i18n/TW.json
  84. 8 6
      Optimizer/Resources/i18n/UA.json
  85. 8 6
      Optimizer/Resources/i18n/UR.json
  86. 8 6
      Optimizer/Resources/i18n/VN.json
  87. 585 247
      Optimizer/SilentOps.cs
  88. 60 30
      Optimizer/StartupHelper.cs
  89. 1 1
      Optimizer/TelemetryHelper.cs
  90. 24 12
      Optimizer/TokenPrivilegeHelper.cs
  91. 30 15
      Optimizer/UWPHelper.cs
  92. 321 157
      Optimizer/Utilities.cs
  93. 6 4
      README.md
  94. 8 1
      templates/template-windows10.json
  95. 8 1
      templates/template-windows11.json
  96. 4 1
      templates/template-windows7.json
  97. 3 0
      templates/template-windows8.json
  98. 1 1
      version.txt

+ 13 - 0
CHANGELOG.md

@@ -1,3 +1,16 @@
+## [16.5] - 2024-05-03
+- New: Enable UTC time globally on Windows
+- New: Disable Modern Standby feature on Windows 10/11
+- New: Hide Search & Weather icons from taskbar
+- New: Disable News & Interests
+- New: Show all notification icons on taskbar
+- New: Remove menus delay
+- New: Vietnamese and Urdu languages
+- New: Disable CoPilot AI now applies to Edge as well
+- Improved: Localization updates
+- Improved: Many quality-of-life changes
+- Hotfix: Sorting deleting bug in Startup items (#489)
+
 ## [16.4] - 2023-12-29
 ## [16.4] - 2023-12-29
 - New: FAQ section link in Options
 - New: FAQ section link in Options
 - New: Various performance improvements from code refactoring
 - New: Various performance improvements from code refactoring

+ 28 - 14
Optimizer/ByteSize/BinaryByteSize.cs

@@ -1,8 +1,10 @@
 using System;
 using System;
 using System.Globalization;
 using System.Globalization;
 
 
-namespace Optimizer {
-    public partial struct ByteSize {
+namespace Optimizer
+{
+    public partial struct ByteSize
+    {
         public const long BytesInKibiByte = 1_024;
         public const long BytesInKibiByte = 1_024;
         public const long BytesInMebiByte = 1_048_576;
         public const long BytesInMebiByte = 1_048_576;
         public const long BytesInGibiByte = 1_073_741_824;
         public const long BytesInGibiByte = 1_073_741_824;
@@ -21,51 +23,63 @@ namespace Optimizer {
         public double TebiBytes => Bytes / BytesInTebiByte;
         public double TebiBytes => Bytes / BytesInTebiByte;
         public double PebiBytes => Bytes / BytesInPebiByte;
         public double PebiBytes => Bytes / BytesInPebiByte;
 
 
-        public static ByteSize FromKibiBytes(double value) {
+        public static ByteSize FromKibiBytes(double value)
+        {
             return new ByteSize(value * BytesInKibiByte);
             return new ByteSize(value * BytesInKibiByte);
         }
         }
 
 
-        public static ByteSize FromMebiBytes(double value) {
+        public static ByteSize FromMebiBytes(double value)
+        {
             return new ByteSize(value * BytesInMebiByte);
             return new ByteSize(value * BytesInMebiByte);
         }
         }
 
 
-        public static ByteSize FromGibiBytes(double value) {
+        public static ByteSize FromGibiBytes(double value)
+        {
             return new ByteSize(value * BytesInGibiByte);
             return new ByteSize(value * BytesInGibiByte);
         }
         }
 
 
-        public static ByteSize FromTebiBytes(double value) {
+        public static ByteSize FromTebiBytes(double value)
+        {
             return new ByteSize(value * BytesInTebiByte);
             return new ByteSize(value * BytesInTebiByte);
         }
         }
 
 
-        public static ByteSize FromPebiBytes(double value) {
+        public static ByteSize FromPebiBytes(double value)
+        {
             return new ByteSize(value * BytesInPebiByte);
             return new ByteSize(value * BytesInPebiByte);
         }
         }
 
 
-        public ByteSize AddKibiBytes(double value) {
+        public ByteSize AddKibiBytes(double value)
+        {
             return this + ByteSize.FromKibiBytes(value);
             return this + ByteSize.FromKibiBytes(value);
         }
         }
 
 
-        public ByteSize AddMebiBytes(double value) {
+        public ByteSize AddMebiBytes(double value)
+        {
             return this + ByteSize.FromMebiBytes(value);
             return this + ByteSize.FromMebiBytes(value);
         }
         }
 
 
-        public ByteSize AddGibiBytes(double value) {
+        public ByteSize AddGibiBytes(double value)
+        {
             return this + ByteSize.FromGibiBytes(value);
             return this + ByteSize.FromGibiBytes(value);
         }
         }
 
 
-        public ByteSize AddTebiBytes(double value) {
+        public ByteSize AddTebiBytes(double value)
+        {
             return this + ByteSize.FromTebiBytes(value);
             return this + ByteSize.FromTebiBytes(value);
         }
         }
 
 
-        public ByteSize AddPebiBytes(double value) {
+        public ByteSize AddPebiBytes(double value)
+        {
             return this + ByteSize.FromPebiBytes(value);
             return this + ByteSize.FromPebiBytes(value);
         }
         }
 
 
-        public string ToBinaryString() {
+        public string ToBinaryString()
+        {
             return this.ToString("0.##", CultureInfo.CurrentCulture, useBinaryByte: true);
             return this.ToString("0.##", CultureInfo.CurrentCulture, useBinaryByte: true);
         }
         }
 
 
-        public string ToBinaryString(IFormatProvider formatProvider) {
+        public string ToBinaryString(IFormatProvider formatProvider)
+        {
             return this.ToString("0.##", formatProvider, useBinaryByte: true);
             return this.ToString("0.##", formatProvider, useBinaryByte: true);
         }
         }
     }
     }

+ 100 - 50
Optimizer/ByteSize/ByteSize.cs

@@ -1,12 +1,14 @@
 using System;
 using System;
 using System.Globalization;
 using System.Globalization;
 
 
-namespace Optimizer {
+namespace Optimizer
+{
     /// <summary>
     /// <summary>
     /// Represents a byte size value with support for decimal (KiloByte) and
     /// Represents a byte size value with support for decimal (KiloByte) and
     /// binary values (KibiByte).
     /// binary values (KibiByte).
     /// </summary>
     /// </summary>
-    public partial struct ByteSize : IComparable<ByteSize>, IEquatable<ByteSize> {
+    public partial struct ByteSize : IComparable<ByteSize>, IEquatable<ByteSize>
+    {
         public static readonly ByteSize MinValue = ByteSize.FromBits(long.MinValue);
         public static readonly ByteSize MinValue = ByteSize.FromBits(long.MinValue);
         public static readonly ByteSize MaxValue = ByteSize.FromBits(long.MaxValue);
         public static readonly ByteSize MaxValue = ByteSize.FromBits(long.MaxValue);
         public const long BitsInByte = 8;
         public const long BitsInByte = 8;
@@ -15,8 +17,10 @@ namespace Optimizer {
         public long Bits { get; private set; }
         public long Bits { get; private set; }
         public double Bytes { get; private set; }
         public double Bytes { get; private set; }
 
 
-        public string LargestWholeNumberBinarySymbol {
-            get {
+        public string LargestWholeNumberBinarySymbol
+        {
+            get
+            {
                 // Absolute value is used to deal with negative values
                 // Absolute value is used to deal with negative values
                 if (Math.Abs(this.PebiBytes) >= 1)
                 if (Math.Abs(this.PebiBytes) >= 1)
                     return PebiByteSymbol;
                     return PebiByteSymbol;
@@ -40,8 +44,10 @@ namespace Optimizer {
             }
             }
         }
         }
 
 
-        public string LargestWholeNumberDecimalSymbol {
-            get {
+        public string LargestWholeNumberDecimalSymbol
+        {
+            get
+            {
                 // Absolute value is used to deal with negative values
                 // Absolute value is used to deal with negative values
                 if (Math.Abs(this.PetaBytes) >= 1)
                 if (Math.Abs(this.PetaBytes) >= 1)
                     return PetaByteSymbol;
                     return PetaByteSymbol;
@@ -65,8 +71,10 @@ namespace Optimizer {
             }
             }
         }
         }
 
 
-        public double LargestWholeNumberBinaryValue {
-            get {
+        public double LargestWholeNumberBinaryValue
+        {
+            get
+            {
                 // Absolute value is used to deal with negative values
                 // Absolute value is used to deal with negative values
                 if (Math.Abs(this.PebiBytes) >= 1)
                 if (Math.Abs(this.PebiBytes) >= 1)
                     return this.PebiBytes;
                     return this.PebiBytes;
@@ -90,8 +98,10 @@ namespace Optimizer {
             }
             }
         }
         }
 
 
-        public double LargestWholeNumberDecimalValue {
-            get {
+        public double LargestWholeNumberDecimalValue
+        {
+            get
+            {
                 // Absolute value is used to deal with negative values
                 // Absolute value is used to deal with negative values
                 if (Math.Abs(this.PetaBytes) >= 1)
                 if (Math.Abs(this.PetaBytes) >= 1)
                     return this.PetaBytes;
                     return this.PetaBytes;
@@ -116,25 +126,29 @@ namespace Optimizer {
         }
         }
 
 
         public ByteSize(long bits)
         public ByteSize(long bits)
-            : this() {
+            : this()
+        {
             Bits = bits;
             Bits = bits;
 
 
             Bytes = bits / BitsInByte;
             Bytes = bits / BitsInByte;
         }
         }
 
 
         public ByteSize(double bytes)
         public ByteSize(double bytes)
-            : this() {
+            : this()
+        {
             // Get ceiling because bits are whole units
             // Get ceiling because bits are whole units
             Bits = (long)Math.Ceiling(bytes * BitsInByte);
             Bits = (long)Math.Ceiling(bytes * BitsInByte);
 
 
             Bytes = bytes;
             Bytes = bytes;
         }
         }
 
 
-        public static ByteSize FromBits(long value) {
+        public static ByteSize FromBits(long value)
+        {
             return new ByteSize(value);
             return new ByteSize(value);
         }
         }
 
 
-        public static ByteSize FromBytes(double value) {
+        public static ByteSize FromBytes(double value)
+        {
             return new ByteSize(value);
             return new ByteSize(value);
         }
         }
 
 
@@ -144,15 +158,18 @@ namespace Optimizer {
         /// largest prefix such that the corresponding value is greater than or
         /// largest prefix such that the corresponding value is greater than or
         /// equal to one.
         /// equal to one.
         /// </summary>
         /// </summary>
-        public override string ToString() {
+        public override string ToString()
+        {
             return this.ToString("0.##", CultureInfo.CurrentCulture);
             return this.ToString("0.##", CultureInfo.CurrentCulture);
         }
         }
 
 
-        public string ToString(string format) {
+        public string ToString(string format)
+        {
             return this.ToString(format, CultureInfo.CurrentCulture);
             return this.ToString(format, CultureInfo.CurrentCulture);
         }
         }
 
 
-        public string ToString(string format, IFormatProvider provider, bool useBinaryByte = false) {
+        public string ToString(string format, IFormatProvider provider, bool useBinaryByte = false)
+        {
             if (!format.Contains("#") && !format.Contains("0"))
             if (!format.Contains("#") && !format.Contains("0"))
                 format = "0.## " + format;
                 format = "0.## " + format;
 
 
@@ -192,15 +209,18 @@ namespace Optimizer {
             if (format.IndexOf(ByteSize.BitSymbol) != -1)
             if (format.IndexOf(ByteSize.BitSymbol) != -1)
                 return output(this.Bits);
                 return output(this.Bits);
 
 
-            if (useBinaryByte) {
+            if (useBinaryByte)
+            {
                 return string.Format("{0} {1}", this.LargestWholeNumberBinaryValue.ToString(format, provider), this.LargestWholeNumberBinarySymbol);
                 return string.Format("{0} {1}", this.LargestWholeNumberBinaryValue.ToString(format, provider), this.LargestWholeNumberBinarySymbol);
             }
             }
-            else {
+            else
+            {
                 return string.Format("{0} {1}", this.LargestWholeNumberDecimalValue.ToString(format, provider), this.LargestWholeNumberDecimalSymbol);
                 return string.Format("{0} {1}", this.LargestWholeNumberDecimalValue.ToString(format, provider), this.LargestWholeNumberDecimalSymbol);
             }
             }
         }
         }
 
 
-        public override bool Equals(object value) {
+        public override bool Equals(object value)
+        {
             if (value == null)
             if (value == null)
                 return false;
                 return false;
 
 
@@ -213,86 +233,107 @@ namespace Optimizer {
             return Equals(other);
             return Equals(other);
         }
         }
 
 
-        public bool Equals(ByteSize value) {
+        public bool Equals(ByteSize value)
+        {
             return this.Bits == value.Bits;
             return this.Bits == value.Bits;
         }
         }
 
 
-        public override int GetHashCode() {
+        public override int GetHashCode()
+        {
             return this.Bits.GetHashCode();
             return this.Bits.GetHashCode();
         }
         }
 
 
-        public int CompareTo(ByteSize other) {
+        public int CompareTo(ByteSize other)
+        {
             return this.Bits.CompareTo(other.Bits);
             return this.Bits.CompareTo(other.Bits);
         }
         }
 
 
-        public ByteSize Add(ByteSize bs) {
+        public ByteSize Add(ByteSize bs)
+        {
             return new ByteSize(this.Bytes + bs.Bytes);
             return new ByteSize(this.Bytes + bs.Bytes);
         }
         }
 
 
-        public ByteSize AddBits(long value) {
+        public ByteSize AddBits(long value)
+        {
             return this + FromBits(value);
             return this + FromBits(value);
         }
         }
 
 
-        public ByteSize AddBytes(double value) {
+        public ByteSize AddBytes(double value)
+        {
             return this + ByteSize.FromBytes(value);
             return this + ByteSize.FromBytes(value);
         }
         }
 
 
-        public ByteSize Subtract(ByteSize bs) {
+        public ByteSize Subtract(ByteSize bs)
+        {
             return new ByteSize(this.Bytes - bs.Bytes);
             return new ByteSize(this.Bytes - bs.Bytes);
         }
         }
 
 
-        public static ByteSize operator +(ByteSize b1, ByteSize b2) {
+        public static ByteSize operator +(ByteSize b1, ByteSize b2)
+        {
             return new ByteSize(b1.Bytes + b2.Bytes);
             return new ByteSize(b1.Bytes + b2.Bytes);
         }
         }
 
 
-        public static ByteSize operator ++(ByteSize b) {
+        public static ByteSize operator ++(ByteSize b)
+        {
             return new ByteSize(b.Bytes + 1);
             return new ByteSize(b.Bytes + 1);
         }
         }
 
 
-        public static ByteSize operator -(ByteSize b) {
+        public static ByteSize operator -(ByteSize b)
+        {
             return new ByteSize(-b.Bytes);
             return new ByteSize(-b.Bytes);
         }
         }
 
 
-        public static ByteSize operator -(ByteSize b1, ByteSize b2) {
+        public static ByteSize operator -(ByteSize b1, ByteSize b2)
+        {
             return new ByteSize(b1.Bytes - b2.Bytes);
             return new ByteSize(b1.Bytes - b2.Bytes);
         }
         }
 
 
-        public static ByteSize operator --(ByteSize b) {
+        public static ByteSize operator --(ByteSize b)
+        {
             return new ByteSize(b.Bytes - 1);
             return new ByteSize(b.Bytes - 1);
         }
         }
 
 
-        public static bool operator ==(ByteSize b1, ByteSize b2) {
+        public static bool operator ==(ByteSize b1, ByteSize b2)
+        {
             return b1.Bits == b2.Bits;
             return b1.Bits == b2.Bits;
         }
         }
 
 
-        public static bool operator !=(ByteSize b1, ByteSize b2) {
+        public static bool operator !=(ByteSize b1, ByteSize b2)
+        {
             return b1.Bits != b2.Bits;
             return b1.Bits != b2.Bits;
         }
         }
 
 
-        public static bool operator <(ByteSize b1, ByteSize b2) {
+        public static bool operator <(ByteSize b1, ByteSize b2)
+        {
             return b1.Bits < b2.Bits;
             return b1.Bits < b2.Bits;
         }
         }
 
 
-        public static bool operator <=(ByteSize b1, ByteSize b2) {
+        public static bool operator <=(ByteSize b1, ByteSize b2)
+        {
             return b1.Bits <= b2.Bits;
             return b1.Bits <= b2.Bits;
         }
         }
 
 
-        public static bool operator >(ByteSize b1, ByteSize b2) {
+        public static bool operator >(ByteSize b1, ByteSize b2)
+        {
             return b1.Bits > b2.Bits;
             return b1.Bits > b2.Bits;
         }
         }
 
 
-        public static bool operator >=(ByteSize b1, ByteSize b2) {
+        public static bool operator >=(ByteSize b1, ByteSize b2)
+        {
             return b1.Bits >= b2.Bits;
             return b1.Bits >= b2.Bits;
         }
         }
 
 
-        public static ByteSize Parse(string s) {
+        public static ByteSize Parse(string s)
+        {
             return Parse(s, NumberFormatInfo.CurrentInfo);
             return Parse(s, NumberFormatInfo.CurrentInfo);
         }
         }
-        public static ByteSize Parse(string s, IFormatProvider formatProvider) {
+        public static ByteSize Parse(string s, IFormatProvider formatProvider)
+        {
             return Parse(s, NumberStyles.Float | NumberStyles.AllowThousands, formatProvider);
             return Parse(s, NumberStyles.Float | NumberStyles.AllowThousands, formatProvider);
         }
         }
 
 
-        public static ByteSize Parse(string s, NumberStyles numberStyles, IFormatProvider formatProvider) {
+        public static ByteSize Parse(string s, NumberStyles numberStyles, IFormatProvider formatProvider)
+        {
 
 
             // Arg checking
             // Arg checking
             if (string.IsNullOrWhiteSpace(s))
             if (string.IsNullOrWhiteSpace(s))
@@ -310,7 +351,8 @@ namespace Optimizer {
 
 
             // Pick first non-digit number
             // Pick first non-digit number
             for (num = 0; num < s.Length; num++)
             for (num = 0; num < s.Length; num++)
-                if (!(char.IsDigit(s[num]) || s[num] == decimalSeparator || s[num] == groupSeparator)) {
+                if (!(char.IsDigit(s[num]) || s[num] == decimalSeparator || s[num] == groupSeparator))
+                {
                     found = true;
                     found = true;
                     break;
                     break;
                 }
                 }
@@ -330,7 +372,8 @@ namespace Optimizer {
                 throw new FormatException($"No number found in value '{s}'.");
                 throw new FormatException($"No number found in value '{s}'.");
 
 
             // Get the magnitude part
             // Get the magnitude part
-            switch (sizePart) {
+            switch (sizePart)
+            {
                 case "b":
                 case "b":
                     if (number % 1 != 0) // Can't have partial bits
                     if (number % 1 != 0) // Can't have partial bits
                         throw new FormatException($"Can't have partial bits for value '{s}'.");
                         throw new FormatException($"Can't have partial bits for value '{s}'.");
@@ -341,7 +384,8 @@ namespace Optimizer {
                     return FromBytes(number);
                     return FromBytes(number);
             }
             }
 
 
-            switch (sizePart.ToLowerInvariant()) {
+            switch (sizePart.ToLowerInvariant())
+            {
                 // Binary
                 // Binary
                 case "kib":
                 case "kib":
                     return FromKibiBytes(number);
                     return FromKibiBytes(number);
@@ -379,23 +423,29 @@ namespace Optimizer {
             }
             }
         }
         }
 
 
-        public static bool TryParse(string s, out ByteSize result) {
-            try {
+        public static bool TryParse(string s, out ByteSize result)
+        {
+            try
+            {
                 result = Parse(s);
                 result = Parse(s);
                 return true;
                 return true;
             }
             }
-            catch {
+            catch
+            {
                 result = new ByteSize();
                 result = new ByteSize();
                 return false;
                 return false;
             }
             }
         }
         }
 
 
-        public static bool TryParse(string s, NumberStyles numberStyles, IFormatProvider formatProvider, out ByteSize result) {
-            try {
+        public static bool TryParse(string s, NumberStyles numberStyles, IFormatProvider formatProvider, out ByteSize result)
+        {
+            try
+            {
                 result = Parse(s, numberStyles, formatProvider);
                 result = Parse(s, numberStyles, formatProvider);
                 return true;
                 return true;
             }
             }
-            catch {
+            catch
+            {
                 result = new ByteSize();
                 result = new ByteSize();
                 return false;
                 return false;
             }
             }

+ 24 - 12
Optimizer/ByteSize/DecimalByteSize.cs

@@ -1,5 +1,7 @@
-namespace Optimizer {
-    public partial struct ByteSize {
+namespace Optimizer
+{
+    public partial struct ByteSize
+    {
         public const long BytesInKiloByte = 1_000;
         public const long BytesInKiloByte = 1_000;
         public const long BytesInMegaByte = 1_000_000;
         public const long BytesInMegaByte = 1_000_000;
         public const long BytesInGigaByte = 1_000_000_000;
         public const long BytesInGigaByte = 1_000_000_000;
@@ -18,43 +20,53 @@
         public double TeraBytes => Bytes / BytesInTeraByte;
         public double TeraBytes => Bytes / BytesInTeraByte;
         public double PetaBytes => Bytes / BytesInPetaByte;
         public double PetaBytes => Bytes / BytesInPetaByte;
 
 
-        public static ByteSize FromKiloBytes(double value) {
+        public static ByteSize FromKiloBytes(double value)
+        {
             return new ByteSize(value * BytesInKiloByte);
             return new ByteSize(value * BytesInKiloByte);
         }
         }
 
 
-        public static ByteSize FromMegaBytes(double value) {
+        public static ByteSize FromMegaBytes(double value)
+        {
             return new ByteSize(value * BytesInMegaByte);
             return new ByteSize(value * BytesInMegaByte);
         }
         }
 
 
-        public static ByteSize FromGigaBytes(double value) {
+        public static ByteSize FromGigaBytes(double value)
+        {
             return new ByteSize(value * BytesInGigaByte);
             return new ByteSize(value * BytesInGigaByte);
         }
         }
 
 
-        public static ByteSize FromTeraBytes(double value) {
+        public static ByteSize FromTeraBytes(double value)
+        {
             return new ByteSize(value * BytesInTeraByte);
             return new ByteSize(value * BytesInTeraByte);
         }
         }
 
 
-        public static ByteSize FromPetaBytes(double value) {
+        public static ByteSize FromPetaBytes(double value)
+        {
             return new ByteSize(value * BytesInPetaByte);
             return new ByteSize(value * BytesInPetaByte);
         }
         }
 
 
-        public ByteSize AddKiloBytes(double value) {
+        public ByteSize AddKiloBytes(double value)
+        {
             return this + ByteSize.FromKiloBytes(value);
             return this + ByteSize.FromKiloBytes(value);
         }
         }
 
 
-        public ByteSize AddMegaBytes(double value) {
+        public ByteSize AddMegaBytes(double value)
+        {
             return this + ByteSize.FromMegaBytes(value);
             return this + ByteSize.FromMegaBytes(value);
         }
         }
 
 
-        public ByteSize AddGigaBytes(double value) {
+        public ByteSize AddGigaBytes(double value)
+        {
             return this + ByteSize.FromGigaBytes(value);
             return this + ByteSize.FromGigaBytes(value);
         }
         }
 
 
-        public ByteSize AddTeraBytes(double value) {
+        public ByteSize AddTeraBytes(double value)
+        {
             return this + ByteSize.FromTeraBytes(value);
             return this + ByteSize.FromTeraBytes(value);
         }
         }
 
 
-        public ByteSize AddPetaBytes(double value) {
+        public ByteSize AddPetaBytes(double value)
+        {
             return this + ByteSize.FromPetaBytes(value);
             return this + ByteSize.FromPetaBytes(value);
         }
         }
     }
     }

+ 122 - 61
Optimizer/CleanHelper.cs

@@ -4,8 +4,10 @@ using System.IO;
 using System.Linq;
 using System.Linq;
 using System.Runtime.InteropServices;
 using System.Runtime.InteropServices;
 
 
-namespace Optimizer {
-    internal static class CleanHelper {
+namespace Optimizer
+{
+    internal static class CleanHelper
+    {
         [DllImport("Shell32.dll")]
         [DllImport("Shell32.dll")]
         static extern int SHEmptyRecycleBin(IntPtr hwnd, string pszRootPath, RecycleFlag dwFlags);
         static extern int SHEmptyRecycleBin(IntPtr hwnd, string pszRootPath, RecycleFlag dwFlags);
 
 
@@ -118,24 +120,31 @@ namespace Optimizer {
 
 
         internal static ByteSize PreviewSizeToBeFreed = new ByteSize(0);
         internal static ByteSize PreviewSizeToBeFreed = new ByteSize(0);
 
 
-        internal static void PreviewFolder(string path) {
-            try {
-                if (File.Exists(path)) {
+        internal static void PreviewFolder(string path)
+        {
+            try
+            {
+                if (File.Exists(path))
+                {
                     PreviewCleanList.Add(path);
                     PreviewCleanList.Add(path);
                     return;
                     return;
                 }
                 }
 
 
                 DirectoryInfo di = new DirectoryInfo(path);
                 DirectoryInfo di = new DirectoryInfo(path);
 
 
-                foreach (FileInfo file in di.GetFiles("*", SearchOption.AllDirectories)) {
-                    try {
+                foreach (FileInfo file in di.GetFiles("*", SearchOption.AllDirectories))
+                {
+                    try
+                    {
                         PreviewCleanList.Add(file.FullName);
                         PreviewCleanList.Add(file.FullName);
                     }
                     }
                     catch { }
                     catch { }
                 }
                 }
 
 
-                foreach (DirectoryInfo dir in di.GetDirectories("*", SearchOption.AllDirectories)) {
-                    try {
+                foreach (DirectoryInfo dir in di.GetDirectories("*", SearchOption.AllDirectories))
+                {
+                    try
+                    {
                         PreviewCleanList.Add(dir.FullName);
                         PreviewCleanList.Add(dir.FullName);
                     }
                     }
                     catch { }
                     catch { }
@@ -144,9 +153,12 @@ namespace Optimizer {
             catch { }
             catch { }
         }
         }
 
 
-        internal static void Clean() {
-            foreach (string x in PreviewCleanList) {
-                try {
+        internal static void Clean()
+        {
+            foreach (string x in PreviewCleanList)
+            {
+                try
+                {
                     if (Directory.Exists(x)) Directory.Delete(x);
                     if (Directory.Exists(x)) Directory.Delete(x);
                     if (File.Exists(x)) File.Delete(x);
                     if (File.Exists(x)) File.Delete(x);
                 }
                 }
@@ -154,21 +166,25 @@ namespace Optimizer {
             }
             }
         }
         }
 
 
-        internal static void EmptyRecycleBin() {
+        internal static void EmptyRecycleBin()
+        {
             SHEmptyRecycleBin(IntPtr.Zero, null, RecycleFlag.SHERB_NOSOUND | RecycleFlag.SHERB_NOCONFIRMATION);
             SHEmptyRecycleBin(IntPtr.Zero, null, RecycleFlag.SHERB_NOSOUND | RecycleFlag.SHERB_NOCONFIRMATION);
         }
         }
 
 
-        internal static void PreviewTemp() {
+        internal static void PreviewTemp()
+        {
             PreviewFolder(TempFolder);
             PreviewFolder(TempFolder);
             PreviewSizeToBeFreed += CalculateSize(TempFolder);
             PreviewSizeToBeFreed += CalculateSize(TempFolder);
         }
         }
 
 
-        internal static void PreviewMinidumps() {
+        internal static void PreviewMinidumps()
+        {
             PreviewFolder(Path.Combine(OSDriveWindows, "Minidump"));
             PreviewFolder(Path.Combine(OSDriveWindows, "Minidump"));
             PreviewSizeToBeFreed += CalculateSize(Path.Combine(OSDriveWindows, "Minidump"));
             PreviewSizeToBeFreed += CalculateSize(Path.Combine(OSDriveWindows, "Minidump"));
         }
         }
 
 
-        internal static void PreviewErrorReports() {
+        internal static void PreviewErrorReports()
+        {
             PreviewFolder(Path.Combine(ProfileAppDataLocal, "Microsoft\\Windows\\WER\\ReportArchive"));
             PreviewFolder(Path.Combine(ProfileAppDataLocal, "Microsoft\\Windows\\WER\\ReportArchive"));
             PreviewFolder(Path.Combine(ProfileAppDataLocal, "Microsoft\\Windows\\WER\\ReportQueue"));
             PreviewFolder(Path.Combine(ProfileAppDataLocal, "Microsoft\\Windows\\WER\\ReportQueue"));
             PreviewFolder(Path.Combine(ProfileAppDataLocal, "Microsoft\\Windows\\WER\\Temp"));
             PreviewFolder(Path.Combine(ProfileAppDataLocal, "Microsoft\\Windows\\WER\\Temp"));
@@ -188,16 +204,20 @@ namespace Optimizer {
             PreviewSizeToBeFreed += CalculateSize(Path.Combine(ProgramData, "Microsoft\\Windows\\WER\\ERC"));
             PreviewSizeToBeFreed += CalculateSize(Path.Combine(ProgramData, "Microsoft\\Windows\\WER\\ERC"));
         }
         }
 
 
-        internal static ByteSize CalculateSize(string fileOrFolder) {
+        internal static ByteSize CalculateSize(string fileOrFolder)
+        {
             ByteSize totalSize = new ByteSize(0);
             ByteSize totalSize = new ByteSize(0);
             bool isFolder = Directory.Exists(fileOrFolder);
             bool isFolder = Directory.Exists(fileOrFolder);
 
 
-            try {
-                if (isFolder) {
+            try
+            {
+                if (isFolder)
+                {
                     DirectoryInfo dir = new DirectoryInfo(fileOrFolder);
                     DirectoryInfo dir = new DirectoryInfo(fileOrFolder);
                     totalSize += totalSize.AddBytes(dir.EnumerateFiles("*", SearchOption.AllDirectories).Sum(file => file.Length));
                     totalSize += totalSize.AddBytes(dir.EnumerateFiles("*", SearchOption.AllDirectories).Sum(file => file.Length));
                 }
                 }
-                else {
+                else
+                {
                     FileInfo file = new FileInfo(fileOrFolder);
                     FileInfo file = new FileInfo(fileOrFolder);
                     totalSize = totalSize.AddBytes(file.Length);
                     totalSize = totalSize.AddBytes(file.Length);
                 }
                 }
@@ -207,56 +227,73 @@ namespace Optimizer {
             return totalSize;
             return totalSize;
         }
         }
 
 
-        internal static void PreviewEdgeClean(bool cache, bool cookies, bool seachHistory, bool session) {
-            if (cache) {
-                foreach (string x in edgeCache) {
+        internal static void PreviewEdgeClean(bool cache, bool cookies, bool seachHistory, bool session)
+        {
+            if (cache)
+            {
+                foreach (string x in edgeCache)
+                {
                     PreviewFolder(x);
                     PreviewFolder(x);
                     PreviewSizeToBeFreed += CalculateSize(x);
                     PreviewSizeToBeFreed += CalculateSize(x);
                 }
                 }
             }
             }
 
 
-            if (cookies) {
-                foreach (string x in edgeCookies) {
+            if (cookies)
+            {
+                foreach (string x in edgeCookies)
+                {
                     PreviewFolder(x);
                     PreviewFolder(x);
                     PreviewSizeToBeFreed += CalculateSize(x);
                     PreviewSizeToBeFreed += CalculateSize(x);
                 }
                 }
             }
             }
 
 
-            if (seachHistory) {
+            if (seachHistory)
+            {
                 PreviewFolder(edgeHistory);
                 PreviewFolder(edgeHistory);
                 PreviewSizeToBeFreed += CalculateSize(edgeHistory);
                 PreviewSizeToBeFreed += CalculateSize(edgeHistory);
             }
             }
 
 
-            if (session) {
-                foreach (string x in edgeSession) {
+            if (session)
+            {
+                foreach (string x in edgeSession)
+                {
                     PreviewFolder(x);
                     PreviewFolder(x);
                     PreviewSizeToBeFreed += CalculateSize(x);
                     PreviewSizeToBeFreed += CalculateSize(x);
                 }
                 }
             }
             }
         }
         }
 
 
-        internal static void PreviewInternetExplorerCache() {
-            foreach (string x in ieCache) {
+        internal static void PreviewInternetExplorerCache()
+        {
+            foreach (string x in ieCache)
+            {
                 PreviewFolder(x);
                 PreviewFolder(x);
                 PreviewSizeToBeFreed += CalculateSize(x);
                 PreviewSizeToBeFreed += CalculateSize(x);
             }
             }
         }
         }
 
 
-        internal static void PreviewFireFoxClean(bool cache, bool cookies, bool searchHistory) {
-            if (Directory.Exists(firefoxRoaming)) {
-                foreach (string x in Directory.EnumerateDirectories(firefoxRoaming)) {
-                    if (x.ToLowerInvariant().Contains("release")) {
-                        if (cookies) {
+        internal static void PreviewFireFoxClean(bool cache, bool cookies, bool searchHistory)
+        {
+            if (Directory.Exists(firefoxRoaming))
+            {
+                foreach (string x in Directory.EnumerateDirectories(firefoxRoaming))
+                {
+                    if (x.ToLowerInvariant().Contains("release"))
+                    {
+                        if (cookies)
+                        {
                             PreviewFolder(Path.Combine(x, "cookies.sqlite"));
                             PreviewFolder(Path.Combine(x, "cookies.sqlite"));
                             PreviewSizeToBeFreed += CalculateSize(Path.Combine(x, "cookies.sqlite"));
                             PreviewSizeToBeFreed += CalculateSize(Path.Combine(x, "cookies.sqlite"));
                         }
                         }
 
 
-                        if (searchHistory) {
+                        if (searchHistory)
+                        {
                             PreviewFolder(Path.Combine(x, "places.sqlite"));
                             PreviewFolder(Path.Combine(x, "places.sqlite"));
                             PreviewSizeToBeFreed += CalculateSize(Path.Combine(x, "places.sqlite"));
                             PreviewSizeToBeFreed += CalculateSize(Path.Combine(x, "places.sqlite"));
                         }
                         }
 
 
-                        if (cache) {
+                        if (cache)
+                        {
                             PreviewFolder(Path.Combine(x, "shader-cache"));
                             PreviewFolder(Path.Combine(x, "shader-cache"));
                             PreviewSizeToBeFreed += CalculateSize(Path.Combine(x, "shader-cache"));
                             PreviewSizeToBeFreed += CalculateSize(Path.Combine(x, "shader-cache"));
                         }
                         }
@@ -264,10 +301,14 @@ namespace Optimizer {
                 }
                 }
             }
             }
 
 
-            if (cache) {
-                if (Directory.Exists(firefoxLocal)) {
-                    foreach (string x in Directory.EnumerateDirectories(firefoxLocal)) {
-                        if (x.ToLowerInvariant().Contains("release")) {
+            if (cache)
+            {
+                if (Directory.Exists(firefoxLocal))
+                {
+                    foreach (string x in Directory.EnumerateDirectories(firefoxLocal))
+                    {
+                        if (x.ToLowerInvariant().Contains("release"))
+                        {
                             PreviewFolder(Path.Combine(x, "cache2"));
                             PreviewFolder(Path.Combine(x, "cache2"));
                             PreviewSizeToBeFreed += CalculateSize(Path.Combine(x, "cache2"));
                             PreviewSizeToBeFreed += CalculateSize(Path.Combine(x, "cache2"));
                         }
                         }
@@ -276,71 +317,91 @@ namespace Optimizer {
             }
             }
         }
         }
 
 
-        internal static void PreviewBraveClean(bool cache, bool cookies, bool searchHistory, bool session, bool passwords) {
-            if (cache) {
-                foreach (string x in braveUserDataCacheDirs) {
+        internal static void PreviewBraveClean(bool cache, bool cookies, bool searchHistory, bool session, bool passwords)
+        {
+            if (cache)
+            {
+                foreach (string x in braveUserDataCacheDirs)
+                {
                     PreviewFolder(Path.Combine(braveFolder, x));
                     PreviewFolder(Path.Combine(braveFolder, x));
                     PreviewSizeToBeFreed += CalculateSize(Path.Combine(braveFolder, x));
                     PreviewSizeToBeFreed += CalculateSize(Path.Combine(braveFolder, x));
                 }
                 }
             }
             }
 
 
-            if (session) {
-                foreach (string x in braveSessionDirs) {
+            if (session)
+            {
+                foreach (string x in braveSessionDirs)
+                {
                     PreviewFolder(x);
                     PreviewFolder(x);
                     PreviewSizeToBeFreed += CalculateSize(x);
                     PreviewSizeToBeFreed += CalculateSize(x);
                 }
                 }
             }
             }
 
 
-            if (cookies) {
-                foreach (string x in braveCookiesDirs) {
+            if (cookies)
+            {
+                foreach (string x in braveCookiesDirs)
+                {
                     PreviewFolder(x);
                     PreviewFolder(x);
                     PreviewSizeToBeFreed += CalculateSize(x);
                     PreviewSizeToBeFreed += CalculateSize(x);
                 }
                 }
             }
             }
 
 
-            if (searchHistory) {
-                foreach (string x in braveHistoryDirs) {
+            if (searchHistory)
+            {
+                foreach (string x in braveHistoryDirs)
+                {
                     PreviewFolder(x);
                     PreviewFolder(x);
                     PreviewSizeToBeFreed += CalculateSize(x);
                     PreviewSizeToBeFreed += CalculateSize(x);
                 }
                 }
             }
             }
 
 
-            if (passwords) {
+            if (passwords)
+            {
                 PreviewFolder(bravePasswordsDir);
                 PreviewFolder(bravePasswordsDir);
                 PreviewSizeToBeFreed += CalculateSize(bravePasswordsDir);
                 PreviewSizeToBeFreed += CalculateSize(bravePasswordsDir);
             }
             }
         }
         }
 
 
-        internal static void PreviewChromeClean(bool cache, bool cookies, bool searchHistory, bool session, bool passwords) {
-            if (cache) {
-                foreach (string x in chromeUserDataCacheDirs) {
+        internal static void PreviewChromeClean(bool cache, bool cookies, bool searchHistory, bool session, bool passwords)
+        {
+            if (cache)
+            {
+                foreach (string x in chromeUserDataCacheDirs)
+                {
                     PreviewFolder(Path.Combine(chromeFolder, x));
                     PreviewFolder(Path.Combine(chromeFolder, x));
                     PreviewSizeToBeFreed += CalculateSize(Path.Combine(chromeFolder, x));
                     PreviewSizeToBeFreed += CalculateSize(Path.Combine(chromeFolder, x));
                 }
                 }
             }
             }
 
 
-            if (session) {
-                foreach (string x in chromeSessionDirs) {
+            if (session)
+            {
+                foreach (string x in chromeSessionDirs)
+                {
                     PreviewFolder(x);
                     PreviewFolder(x);
                     PreviewSizeToBeFreed += CalculateSize(x);
                     PreviewSizeToBeFreed += CalculateSize(x);
                 }
                 }
             }
             }
 
 
-            if (cookies) {
-                foreach (string x in chromeCookiesDirs) {
+            if (cookies)
+            {
+                foreach (string x in chromeCookiesDirs)
+                {
                     PreviewFolder(x);
                     PreviewFolder(x);
                     PreviewSizeToBeFreed += CalculateSize(x);
                     PreviewSizeToBeFreed += CalculateSize(x);
                 }
                 }
             }
             }
 
 
-            if (searchHistory) {
-                foreach (string x in chromeHistoryDirs) {
+            if (searchHistory)
+            {
+                foreach (string x in chromeHistoryDirs)
+                {
                     PreviewFolder(x);
                     PreviewFolder(x);
                     PreviewSizeToBeFreed += CalculateSize(x);
                     PreviewSizeToBeFreed += CalculateSize(x);
                 }
                 }
             }
             }
 
 
-            if (passwords) {
+            if (passwords)
+            {
                 PreviewFolder(chromePasswordsDir);
                 PreviewFolder(chromePasswordsDir);
                 PreviewSizeToBeFreed += CalculateSize(chromePasswordsDir);
                 PreviewSizeToBeFreed += CalculateSize(chromePasswordsDir);
             }
             }

+ 82 - 41
Optimizer/ColorHelper.cs

@@ -2,9 +2,12 @@
 using System.Drawing;
 using System.Drawing;
 using System.Text;
 using System.Text;
 
 
-namespace Optimizer {
-    public static class ColorHelper {
-        public static void HSVFromRGB(Color color, out double hue, out double saturation, out double value) {
+namespace Optimizer
+{
+    public static class ColorHelper
+    {
+        public static void HSVFromRGB(Color color, out double hue, out double saturation, out double value)
+        {
             double min, max, delta, r, g, b;
             double min, max, delta, r, g, b;
             r = (double)color.R / 255d;
             r = (double)color.R / 255d;
             g = (double)color.G / 255d;
             g = (double)color.G / 255d;
@@ -16,7 +19,8 @@ namespace Optimizer {
             delta = max - min;
             delta = max - min;
             if (max != 0)
             if (max != 0)
                 saturation = delta / max;
                 saturation = delta / max;
-            else {
+            else
+            {
                 saturation = 0;
                 saturation = 0;
                 hue = -1;
                 hue = -1;
                 return;
                 return;
@@ -32,12 +36,15 @@ namespace Optimizer {
                 hue += 360;
                 hue += 360;
         }
         }
 
 
-        public static Color ColorFromHSV(double hue, double saturation, double value) {
-            try {
+        public static Color ColorFromHSV(double hue, double saturation, double value)
+        {
+            try
+            {
                 int i;
                 int i;
                 double f, p, q, t, r, g, b;
                 double f, p, q, t, r, g, b;
 
 
-                if (saturation == 0) {
+                if (saturation == 0)
+                {
                     r = g = b = value;
                     r = g = b = value;
                     return Color.FromArgb((int)(255 * r), (int)(255 * g), (int)(255 * b));
                     return Color.FromArgb((int)(255 * r), (int)(255 * g), (int)(255 * b));
                 }
                 }
@@ -47,7 +54,8 @@ namespace Optimizer {
                 p = value * (1 - saturation);
                 p = value * (1 - saturation);
                 q = value * (1 - saturation * f);
                 q = value * (1 - saturation * f);
                 t = value * (1 - saturation * (1 - f));
                 t = value * (1 - saturation * (1 - f));
-                switch (i) {
+                switch (i)
+                {
                     case 0:
                     case 0:
                         r = value;
                         r = value;
                         g = t;
                         g = t;
@@ -81,12 +89,14 @@ namespace Optimizer {
                 }
                 }
                 return Color.FromArgb((int)(255 * r), (int)(255 * g), (int)(255 * b));
                 return Color.FromArgb((int)(255 * r), (int)(255 * g), (int)(255 * b));
             }
             }
-            catch {
+            catch
+            {
             }
             }
             return Color.Empty;
             return Color.Empty;
         }
         }
 
 
-        public static Color ChangeColorBrightness(Color color, double darkenAmount) {
+        public static Color ChangeColorBrightness(Color color, double darkenAmount)
+        {
             HslColor hslColor = new HslColor(color);
             HslColor hslColor = new HslColor(color);
             hslColor.L *= darkenAmount;
             hslColor.L *= darkenAmount;
             return hslColor;
             return hslColor;
@@ -94,7 +104,8 @@ namespace Optimizer {
     }
     }
 
 
     [Serializable]
     [Serializable]
-    public struct HslColor {
+    public struct HslColor
+    {
         #region Constants
         #region Constants
 
 
         public static readonly HslColor Empty;
         public static readonly HslColor Empty;
@@ -113,8 +124,10 @@ namespace Optimizer {
 
 
         #region Static Constructors
         #region Static Constructors
 
 
-        static HslColor() {
-            Empty = new HslColor {
+        static HslColor()
+        {
+            Empty = new HslColor
+            {
                 IsEmpty = true
                 IsEmpty = true
             };
             };
         }
         }
@@ -126,7 +139,8 @@ namespace Optimizer {
         public HslColor(double h, double s, double l)
         public HslColor(double h, double s, double l)
             : this(255, h, s, l) { }
             : this(255, h, s, l) { }
 
 
-        public HslColor(int a, double h, double s, double l) {
+        public HslColor(int a, double h, double s, double l)
+        {
             this.alpha = a;
             this.alpha = a;
             this.hue = Math.Min(359, h);
             this.hue = Math.Min(359, h);
             this.saturation = Math.Min(1, s);
             this.saturation = Math.Min(1, s);
@@ -134,7 +148,8 @@ namespace Optimizer {
             isEmpty = false;
             isEmpty = false;
         }
         }
 
 
-        public HslColor(Color color) {
+        public HslColor(Color color)
+        {
             this.alpha = color.A;
             this.alpha = color.A;
             this.hue = color.GetHue();
             this.hue = color.GetHue();
             this.saturation = color.GetSaturation();
             this.saturation = color.GetSaturation();
@@ -146,19 +161,23 @@ namespace Optimizer {
 
 
         #region Operators
         #region Operators
 
 
-        public static bool operator ==(HslColor left, HslColor right) {
+        public static bool operator ==(HslColor left, HslColor right)
+        {
             return (((left.A == right.A) && (left.H == right.H)) && ((left.S == right.S) && (left.L == right.L)));
             return (((left.A == right.A) && (left.H == right.H)) && ((left.S == right.S) && (left.L == right.L)));
         }
         }
 
 
-        public static bool operator !=(HslColor left, HslColor right) {
+        public static bool operator !=(HslColor left, HslColor right)
+        {
             return !(left == right);
             return !(left == right);
         }
         }
 
 
-        public static implicit operator HslColor(Color color) {
+        public static implicit operator HslColor(Color color)
+        {
             return new HslColor(color);
             return new HslColor(color);
         }
         }
 
 
-        public static implicit operator Color(HslColor color) {
+        public static implicit operator Color(HslColor color)
+        {
             return color.ToRgbColor();
             return color.ToRgbColor();
         }
         }
 
 
@@ -166,20 +185,25 @@ namespace Optimizer {
 
 
         #region Overridden Methods
         #region Overridden Methods
 
 
-        public override bool Equals(object obj) {
-            if (obj is HslColor color) {
-                if (((this.A == color.A) && (this.H == color.H)) && ((this.S == color.S) && (this.L == color.L))) {
+        public override bool Equals(object obj)
+        {
+            if (obj is HslColor color)
+            {
+                if (((this.A == color.A) && (this.H == color.H)) && ((this.S == color.S) && (this.L == color.L)))
+                {
                     return true;
                     return true;
                 }
                 }
             }
             }
             return false;
             return false;
         }
         }
 
 
-        public override int GetHashCode() {
+        public override int GetHashCode()
+        {
             return (((this.alpha.GetHashCode() ^ this.hue.GetHashCode()) ^ this.saturation.GetHashCode()) ^ this.luminance.GetHashCode());
             return (((this.alpha.GetHashCode() ^ this.hue.GetHashCode()) ^ this.saturation.GetHashCode()) ^ this.luminance.GetHashCode());
         }
         }
 
 
-        public override string ToString() {
+        public override string ToString()
+        {
             StringBuilder builder;
             StringBuilder builder;
 
 
             builder = new StringBuilder();
             builder = new StringBuilder();
@@ -200,44 +224,54 @@ namespace Optimizer {
 
 
         #region Public Members
         #region Public Members
 
 
-        public double H {
+        public double H
+        {
             get { return this.hue; }
             get { return this.hue; }
-            set {
+            set
+            {
                 this.hue = value;
                 this.hue = value;
                 this.hue = (this.hue > 359.0) ? 0 : ((this.hue < 0.0) ? 359 : this.hue);
                 this.hue = (this.hue > 359.0) ? 0 : ((this.hue < 0.0) ? 359 : this.hue);
             }
             }
         }
         }
 
 
-        public double S {
+        public double S
+        {
             get { return this.saturation; }
             get { return this.saturation; }
             set { this.saturation = Math.Min(1, Math.Max(0, value)); }
             set { this.saturation = Math.Min(1, Math.Max(0, value)); }
         }
         }
 
 
-        public double L {
+        public double L
+        {
             get { return this.luminance; }
             get { return this.luminance; }
             set { this.luminance = Math.Min(1, Math.Max(0, value)); }
             set { this.luminance = Math.Min(1, Math.Max(0, value)); }
         }
         }
 
 
-        public int A {
+        public int A
+        {
             get { return this.alpha; }
             get { return this.alpha; }
             set { this.alpha = Math.Min(0, Math.Max(255, value)); }
             set { this.alpha = Math.Min(0, Math.Max(255, value)); }
         }
         }
 
 
-        public bool IsEmpty {
+        public bool IsEmpty
+        {
             get { return isEmpty; }
             get { return isEmpty; }
             internal set { isEmpty = value; }
             internal set { isEmpty = value; }
         }
         }
 
 
-        public Color ToRgbColor() {
+        public Color ToRgbColor()
+        {
             return this.ToRgbColor(this.A);
             return this.ToRgbColor(this.A);
         }
         }
 
 
-        public Color ToRgbColor(int alpha) {
+        public Color ToRgbColor(int alpha)
+        {
             double q;
             double q;
-            if (this.L < 0.5) {
+            if (this.L < 0.5)
+            {
                 q = this.L * (1 + this.S);
                 q = this.L * (1 + this.S);
             }
             }
-            else {
+            else
+            {
                 q = this.L + this.S - (this.L * this.S);
                 q = this.L + this.S - (this.L * this.S);
             }
             }
             double p = 2 * this.L - q;
             double p = 2 * this.L - q;
@@ -253,24 +287,31 @@ namespace Optimizer {
                           0.0, 0.0, 0.0
                           0.0, 0.0, 0.0
                         };
                         };
 
 
-            for (int color = 0; color < colors.Length; color++) {
-                if (tc[color] < 0) {
+            for (int color = 0; color < colors.Length; color++)
+            {
+                if (tc[color] < 0)
+                {
                     tc[color] += 1;
                     tc[color] += 1;
                 }
                 }
-                if (tc[color] > 1) {
+                if (tc[color] > 1)
+                {
                     tc[color] -= 1;
                     tc[color] -= 1;
                 }
                 }
 
 
-                if (tc[color] < (1d / 6d)) {
+                if (tc[color] < (1d / 6d))
+                {
                     colors[color] = p + ((q - p) * 6 * tc[color]);
                     colors[color] = p + ((q - p) * 6 * tc[color]);
                 }
                 }
-                else if (tc[color] >= (1d / 6d) && tc[color] < (1d / 2d)) {
+                else if (tc[color] >= (1d / 6d) && tc[color] < (1d / 2d))
+                {
                     colors[color] = q;
                     colors[color] = q;
                 }
                 }
-                else if (tc[color] >= (1d / 2d) && tc[color] < (2d / 3d)) {
+                else if (tc[color] >= (1d / 2d) && tc[color] < (2d / 3d))
+                {
                     colors[color] = p + ((q - p) * 6 * (2d / 3d - tc[color]));
                     colors[color] = p + ((q - p) * 6 * (2d / 3d - tc[color]));
                 }
                 }
-                else {
+                else
+                {
                     colors[color] = p;
                     colors[color] = p;
                 }
                 }
 
 

+ 5 - 2
Optimizer/Constants.cs

@@ -1,5 +1,7 @@
-namespace Optimizer {
-    internal static class Constants {
+namespace Optimizer
+{
+    internal static class Constants
+    {
         internal static string INTERNAL_DNS = "1.1.1.1";
         internal static string INTERNAL_DNS = "1.1.1.1";
         internal static string THEME_FLAG = "themeable";
         internal static string THEME_FLAG = "themeable";
         internal static int CONTRAST_THRESHOLD = 149;
         internal static int CONTRAST_THRESHOLD = 149;
@@ -38,6 +40,7 @@
         internal static string NEPALI = "नेपाली";
         internal static string NEPALI = "नेपाली";
         internal static string BULGARIAN = "български";
         internal static string BULGARIAN = "български";
         internal static string VIETNAMESE = "Tiếng Việt";
         internal static string VIETNAMESE = "Tiếng Việt";
+        internal static string URDU = "لشکری ‍زبان";
 
 
         internal static string CloudflareDNS = "Cloudflare";
         internal static string CloudflareDNS = "Cloudflare";
         internal static string OpenDNS = "OpenDNS";
         internal static string OpenDNS = "OpenDNS";

+ 6 - 3
Optimizer/Controls/AppCard.cs

@@ -1,8 +1,11 @@
 using System.Windows.Forms;
 using System.Windows.Forms;
 
 
-namespace Optimizer {
-    public sealed partial class AppCard : UserControl {
-        public AppCard() {
+namespace Optimizer
+{
+    public sealed partial class AppCard : UserControl
+    {
+        public AppCard()
+        {
             InitializeComponent();
             InitializeComponent();
         }
         }
     }
     }

+ 18 - 9
Optimizer/Controls/ColorOverrider.cs

@@ -7,8 +7,10 @@ using System.Linq;
 using System.Reflection;
 using System.Reflection;
 
 
 
 
-namespace Optimizer {
-    public sealed class ColorOverrider {
+namespace Optimizer
+{
+    public sealed class ColorOverrider
+    {
         public static event Action SystemColorsChanging;
         public static event Action SystemColorsChanging;
         public static event Action SystemColorsChanged;
         public static event Action SystemColorsChanged;
 
 
@@ -19,7 +21,8 @@ namespace Optimizer {
         private readonly FieldInfo _colorTableField;
         private readonly FieldInfo _colorTableField;
         private readonly PropertyInfo _threadDataProperty;
         private readonly PropertyInfo _threadDataProperty;
 
 
-        public ColorOverrider() {
+        public ColorOverrider()
+        {
             // force init color table
             // force init color table
             byte unused = SystemColors.Window.R;
             byte unused = SystemColors.Window.R;
 
 
@@ -53,7 +56,8 @@ namespace Optimizer {
                 ?.GetValue(null);
                 ?.GetValue(null);
         }
         }
 
 
-        private void userPreferenceChanging(object sender, UserPreferenceChangingEventArgs e) {
+        private void userPreferenceChanging(object sender, UserPreferenceChangingEventArgs e)
+        {
             if (e.Category != UserPreferenceCategory.Color)
             if (e.Category != UserPreferenceCategory.Color)
                 return;
                 return;
 
 
@@ -61,7 +65,8 @@ namespace Optimizer {
             fireColorsChangedEvents();
             fireColorsChangedEvents();
         }
         }
 
 
-        private static void fireColorsChangedEvents() {
+        private static void fireColorsChangedEvents()
+        {
             SystemColorsChanging?.Invoke();
             SystemColorsChanging?.Invoke();
             SystemColorsChanged?.Invoke();
             SystemColorsChanged?.Invoke();
         }
         }
@@ -69,7 +74,8 @@ namespace Optimizer {
         private int[] readColorTable() =>
         private int[] readColorTable() =>
             (int[])_colorTableField.GetValue(null);
             (int[])_colorTableField.GetValue(null);
 
 
-        public void SetColor(KnownColor knownColor, int argb) {
+        public void SetColor(KnownColor knownColor, int argb)
+        {
             setColor(knownColor, argb);
             setColor(knownColor, argb);
 
 
             if (SystemBrushesKey != null)
             if (SystemBrushesKey != null)
@@ -87,7 +93,8 @@ namespace Optimizer {
         public int GetOriginalColor(KnownColor knownColor) =>
         public int GetOriginalColor(KnownColor knownColor) =>
             OriginalColors[(int)knownColor];
             OriginalColors[(int)knownColor];
 
 
-        public int GetColor(KnownColor knownColor) {
+        public int GetColor(KnownColor knownColor)
+        {
             if (!KnownColors.Contains(knownColor))
             if (!KnownColors.Contains(knownColor))
                 throw new ArgumentException();
                 throw new ArgumentException();
 
 
@@ -98,8 +105,10 @@ namespace Optimizer {
             KnownColors.Cast<int>()
             KnownColors.Cast<int>()
                 .ToDictionary(i => i, i => _colorTable[i]);
                 .ToDictionary(i => i, i => _colorTable[i]);
 
 
-        public void Load(IReadOnlyDictionary<int, int> saved) {
-            foreach (var color in KnownColors) {
+        public void Load(IReadOnlyDictionary<int, int> saved)
+        {
+            foreach (var color in KnownColors)
+            {
                 int v;
                 int v;
                 var value = saved.TryGetValue((int)color, out v);
                 var value = saved.TryGetValue((int)color, out v);
                 setColor(color, v);
                 setColor(color, v);

+ 194 - 97
Optimizer/Controls/ColorPicker.cs

@@ -5,10 +5,12 @@ using System.Drawing;
 using System.Drawing.Drawing2D;
 using System.Drawing.Drawing2D;
 using System.Windows.Forms;
 using System.Windows.Forms;
 
 
-namespace Optimizer.Controls {
+namespace Optimizer.Controls
+{
     [DefaultProperty("Color")]
     [DefaultProperty("Color")]
     [DefaultEvent("ColorChanged")]
     [DefaultEvent("ColorChanged")]
-    public partial class ColorPicker : Control {
+    public partial class ColorPicker : Control
+    {
         #region Fields
         #region Fields
 
 
         private Brush _brush;
         private Brush _brush;
@@ -27,7 +29,8 @@ namespace Optimizer.Controls {
 
 
         #region Constructors
         #region Constructors
 
 
-        public ColorPicker() {
+        public ColorPicker()
+        {
             this.SetStyle(ControlStyles.AllPaintingInWmPaint | ControlStyles.UserPaint | ControlStyles.OptimizedDoubleBuffer | ControlStyles.Selectable | ControlStyles.StandardClick | ControlStyles.StandardDoubleClick, true);
             this.SetStyle(ControlStyles.AllPaintingInWmPaint | ControlStyles.UserPaint | ControlStyles.OptimizedDoubleBuffer | ControlStyles.Selectable | ControlStyles.StandardClick | ControlStyles.StandardDoubleClick, true);
             this.Color = Color.Black;
             this.Color = Color.Black;
             this.ColorStep = 4;
             this.ColorStep = 4;
@@ -62,13 +65,17 @@ namespace Optimizer.Controls {
         #endregion
         #endregion
 
 
         #region Overridden Methods
         #region Overridden Methods
-        protected override void Dispose(bool disposing) {
-            if (disposing) {
-                if (_brush != null) {
+        protected override void Dispose(bool disposing)
+        {
+            if (disposing)
+            {
+                if (_brush != null)
+                {
                     _brush.Dispose();
                     _brush.Dispose();
                 }
                 }
 
 
-                if (this.SelectionGlyph != null) {
+                if (this.SelectionGlyph != null)
+                {
                     this.SelectionGlyph.Dispose();
                     this.SelectionGlyph.Dispose();
                 }
                 }
             }
             }
@@ -76,26 +83,31 @@ namespace Optimizer.Controls {
             base.Dispose(disposing);
             base.Dispose(disposing);
         }
         }
 
 
-        protected override bool IsInputKey(Keys keyData) {
+        protected override bool IsInputKey(Keys keyData)
+        {
             bool result;
             bool result;
 
 
-            if ((keyData & Keys.Left) == Keys.Left || (keyData & Keys.Up) == Keys.Up || (keyData & Keys.Down) == Keys.Down || (keyData & Keys.Right) == Keys.Right || (keyData & Keys.PageUp) == Keys.PageUp || (keyData & Keys.PageDown) == Keys.PageDown) {
+            if ((keyData & Keys.Left) == Keys.Left || (keyData & Keys.Up) == Keys.Up || (keyData & Keys.Down) == Keys.Down || (keyData & Keys.Right) == Keys.Right || (keyData & Keys.PageUp) == Keys.PageUp || (keyData & Keys.PageDown) == Keys.PageDown)
+            {
                 result = true;
                 result = true;
             }
             }
-            else {
+            else
+            {
                 result = base.IsInputKey(keyData);
                 result = base.IsInputKey(keyData);
             }
             }
 
 
             return result;
             return result;
         }
         }
 
 
-        protected override void OnGotFocus(EventArgs e) {
+        protected override void OnGotFocus(EventArgs e)
+        {
             base.OnGotFocus(e);
             base.OnGotFocus(e);
 
 
             this.Invalidate();
             this.Invalidate();
         }
         }
 
 
-        protected override void OnKeyDown(KeyEventArgs e) {
+        protected override void OnKeyDown(KeyEventArgs e)
+        {
             HslColor color;
             HslColor color;
             double hue;
             double hue;
             int step;
             int step;
@@ -105,7 +117,8 @@ namespace Optimizer.Controls {
 
 
             step = e.Shift ? this.LargeChange : this.SmallChange;
             step = e.Shift ? this.LargeChange : this.SmallChange;
 
 
-            switch (e.KeyCode) {
+            switch (e.KeyCode)
+            {
                 case Keys.Right:
                 case Keys.Right:
                 case Keys.Up:
                 case Keys.Up:
                     hue += step;
                     hue += step;
@@ -122,14 +135,17 @@ namespace Optimizer.Controls {
                     break;
                     break;
             }
             }
 
 
-            if (hue >= 360) {
+            if (hue >= 360)
+            {
                 hue = 0;
                 hue = 0;
             }
             }
-            if (hue < 0) {
+            if (hue < 0)
+            {
                 hue = 359;
                 hue = 359;
             }
             }
 
 
-            if (hue != color.H) {
+            if (hue != color.H)
+            {
                 color.H = hue;
                 color.H = hue;
 
 
                 this.LockUpdates = true;
                 this.LockUpdates = true;
@@ -143,71 +159,86 @@ namespace Optimizer.Controls {
             base.OnKeyDown(e);
             base.OnKeyDown(e);
         }
         }
 
 
-        protected override void OnLostFocus(EventArgs e) {
+        protected override void OnLostFocus(EventArgs e)
+        {
             base.OnLostFocus(e);
             base.OnLostFocus(e);
 
 
             this.Invalidate();
             this.Invalidate();
         }
         }
 
 
-        protected override void OnMouseDown(MouseEventArgs e) {
+        protected override void OnMouseDown(MouseEventArgs e)
+        {
             base.OnMouseDown(e);
             base.OnMouseDown(e);
 
 
-            if (!this.Focused && this.TabStop) {
+            if (!this.Focused && this.TabStop)
+            {
                 this.Focus();
                 this.Focus();
             }
             }
 
 
-            if (e.Button == MouseButtons.Left && this.IsPointInWheel(e.Location)) {
+            if (e.Button == MouseButtons.Left && this.IsPointInWheel(e.Location))
+            {
                 _dragStartedWithinWheel = true;
                 _dragStartedWithinWheel = true;
                 this.SetColor(e.Location);
                 this.SetColor(e.Location);
             }
             }
         }
         }
 
 
-        protected override void OnMouseMove(MouseEventArgs e) {
+        protected override void OnMouseMove(MouseEventArgs e)
+        {
             base.OnMouseMove(e);
             base.OnMouseMove(e);
 
 
-            if (e.Button == MouseButtons.Left && _dragStartedWithinWheel) {
+            if (e.Button == MouseButtons.Left && _dragStartedWithinWheel)
+            {
                 this.SetColor(e.Location);
                 this.SetColor(e.Location);
             }
             }
         }
         }
 
 
-        protected override void OnMouseUp(MouseEventArgs e) {
+        protected override void OnMouseUp(MouseEventArgs e)
+        {
             base.OnMouseUp(e);
             base.OnMouseUp(e);
 
 
             _dragStartedWithinWheel = false;
             _dragStartedWithinWheel = false;
         }
         }
 
 
-        protected override void OnPaddingChanged(EventArgs e) {
+        protected override void OnPaddingChanged(EventArgs e)
+        {
             base.OnPaddingChanged(e);
             base.OnPaddingChanged(e);
 
 
             this.RefreshWheel();
             this.RefreshWheel();
         }
         }
 
 
-        protected override void OnPaint(PaintEventArgs e) {
+        protected override void OnPaint(PaintEventArgs e)
+        {
             base.OnPaint(e);
             base.OnPaint(e);
 
 
-            if (this.AllowPainting) {
+            if (this.AllowPainting)
+            {
                 base.OnPaintBackground(e);
                 base.OnPaintBackground(e);
 
 
-                if (this.BackgroundImage == null && this.Parent != null && (this.BackColor == this.Parent.BackColor || this.Parent.BackColor.A != 255)) {
+                if (this.BackgroundImage == null && this.Parent != null && (this.BackColor == this.Parent.BackColor || this.Parent.BackColor.A != 255))
+                {
                     ButtonRenderer.DrawParentBackground(e.Graphics, this.DisplayRectangle, this);
                     ButtonRenderer.DrawParentBackground(e.Graphics, this.DisplayRectangle, this);
                 }
                 }
 
 
-                if (_brush != null) {
+                if (_brush != null)
+                {
                     e.Graphics.FillPie(_brush, this.ClientRectangle, 0, 360);
                     e.Graphics.FillPie(_brush, this.ClientRectangle, 0, 360);
                 }
                 }
 
 
                 e.Graphics.SmoothingMode = SmoothingMode.AntiAlias;
                 e.Graphics.SmoothingMode = SmoothingMode.AntiAlias;
-                using (Pen pen = new Pen(this.BackColor, 2)) {
+                using (Pen pen = new Pen(this.BackColor, 2))
+                {
                     e.Graphics.DrawEllipse(pen, new RectangleF(_centerPoint.X - _radius, _centerPoint.Y - _radius, _radius * 2, _radius * 2));
                     e.Graphics.DrawEllipse(pen, new RectangleF(_centerPoint.X - _radius, _centerPoint.Y - _radius, _radius * 2, _radius * 2));
                 }
                 }
 
 
-                if (!this.Color.IsEmpty) {
+                if (!this.Color.IsEmpty)
+                {
                     this.PaintCurrentColor(e);
                     this.PaintCurrentColor(e);
                 }
                 }
             }
             }
         }
         }
 
 
-        protected override void OnResize(EventArgs e) {
+        protected override void OnResize(EventArgs e)
+        {
             base.OnResize(e);
             base.OnResize(e);
 
 
             this.RefreshWheel();
             this.RefreshWheel();
@@ -219,10 +250,13 @@ namespace Optimizer.Controls {
 
 
         [Category("Appearance")]
         [Category("Appearance")]
         [DefaultValue(typeof(Color), "Black")]
         [DefaultValue(typeof(Color), "Black")]
-        public virtual Color Color {
+        public virtual Color Color
+        {
             get { return _color; }
             get { return _color; }
-            set {
-                if (this.Color != value) {
+            set
+            {
+                if (this.Color != value)
+                {
                     _color = value;
                     _color = value;
 
 
                     this.OnColorChanged(EventArgs.Empty);
                     this.OnColorChanged(EventArgs.Empty);
@@ -232,14 +266,18 @@ namespace Optimizer.Controls {
 
 
         [Category("Appearance")]
         [Category("Appearance")]
         [DefaultValue(4)]
         [DefaultValue(4)]
-        public virtual int ColorStep {
+        public virtual int ColorStep
+        {
             get { return _colorStep; }
             get { return _colorStep; }
-            set {
-                if (value < 1 || value > 359) {
+            set
+            {
+                if (value < 1 || value > 359)
+                {
                     throw new ArgumentOutOfRangeException("value", value, "Value must be between 1 and 359");
                     throw new ArgumentOutOfRangeException("value", value, "Value must be between 1 and 359");
                 }
                 }
 
 
-                if (this.ColorStep != value) {
+                if (this.ColorStep != value)
+                {
                     _colorStep = value;
                     _colorStep = value;
 
 
                     this.OnColorStepChanged(EventArgs.Empty);
                     this.OnColorStepChanged(EventArgs.Empty);
@@ -251,10 +289,13 @@ namespace Optimizer.Controls {
         [DefaultValue(typeof(HslColor), "0, 0, 0")]
         [DefaultValue(typeof(HslColor), "0, 0, 0")]
         [Browsable(false)]
         [Browsable(false)]
         [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
         [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
-        public virtual HslColor HslColor {
+        public virtual HslColor HslColor
+        {
             get { return _hslColor; }
             get { return _hslColor; }
-            set {
-                if (this.HslColor != value) {
+            set
+            {
+                if (this.HslColor != value)
+                {
                     _hslColor = value;
                     _hslColor = value;
 
 
                     this.OnHslColorChanged(EventArgs.Empty);
                     this.OnHslColorChanged(EventArgs.Empty);
@@ -264,10 +305,13 @@ namespace Optimizer.Controls {
 
 
         [Category("Behavior")]
         [Category("Behavior")]
         [DefaultValue(5)]
         [DefaultValue(5)]
-        public virtual int LargeChange {
+        public virtual int LargeChange
+        {
             get { return _largeChange; }
             get { return _largeChange; }
-            set {
-                if (this.LargeChange != value) {
+            set
+            {
+                if (this.LargeChange != value)
+                {
                     _largeChange = value;
                     _largeChange = value;
 
 
                     this.OnLargeChangeChanged(EventArgs.Empty);
                     this.OnLargeChangeChanged(EventArgs.Empty);
@@ -277,10 +321,13 @@ namespace Optimizer.Controls {
 
 
         [Category("Appearance")]
         [Category("Appearance")]
         [DefaultValue(10)]
         [DefaultValue(10)]
-        public virtual int SelectionSize {
+        public virtual int SelectionSize
+        {
             get { return _selectionSize; }
             get { return _selectionSize; }
-            set {
-                if (this.SelectionSize != value) {
+            set
+            {
+                if (this.SelectionSize != value)
+                {
                     _selectionSize = value;
                     _selectionSize = value;
 
 
                     this.OnSelectionSizeChanged(EventArgs.Empty);
                     this.OnSelectionSizeChanged(EventArgs.Empty);
@@ -290,10 +337,13 @@ namespace Optimizer.Controls {
 
 
         [Category("Behavior")]
         [Category("Behavior")]
         [DefaultValue(1)]
         [DefaultValue(1)]
-        public virtual int SmallChange {
+        public virtual int SmallChange
+        {
             get { return _smallChange; }
             get { return _smallChange; }
-            set {
-                if (this.SmallChange != value) {
+            set
+            {
+                if (this.SmallChange != value)
+                {
                     _smallChange = value;
                     _smallChange = value;
 
 
                     this.OnSmallChangeChanged(EventArgs.Empty);
                     this.OnSmallChangeChanged(EventArgs.Empty);
@@ -305,7 +355,8 @@ namespace Optimizer.Controls {
 
 
         #region Protected Properties
         #region Protected Properties
 
 
-        protected virtual bool AllowPainting {
+        protected virtual bool AllowPainting
+        {
             get { return _updateCount == 0; }
             get { return _updateCount == 0; }
         }
         }
 
 
@@ -321,16 +372,20 @@ namespace Optimizer.Controls {
 
 
         #region Public Members
         #region Public Members
 
 
-        public virtual void BeginUpdate() {
+        public virtual void BeginUpdate()
+        {
             _updateCount++;
             _updateCount++;
         }
         }
 
 
-        public virtual void EndUpdate() {
-            if (_updateCount > 0) {
+        public virtual void EndUpdate()
+        {
+            if (_updateCount > 0)
+            {
                 _updateCount--;
                 _updateCount--;
             }
             }
 
 
-            if (this.AllowPainting) {
+            if (this.AllowPainting)
+            {
                 this.Invalidate();
                 this.Invalidate();
             }
             }
         }
         }
@@ -339,14 +394,16 @@ namespace Optimizer.Controls {
 
 
         #region Protected Members
         #region Protected Members
 
 
-        protected virtual void CalculateWheel() {
+        protected virtual void CalculateWheel()
+        {
             List<PointF> points;
             List<PointF> points;
             List<Color> colors;
             List<Color> colors;
 
 
             points = new List<PointF>();
             points = new List<PointF>();
             colors = new List<Color>();
             colors = new List<Color>();
 
 
-            if (this.ClientSize.Width > 16 && this.ClientSize.Height > 16) {
+            if (this.ClientSize.Width > 16 && this.ClientSize.Height > 16)
+            {
                 int w;
                 int w;
                 int h;
                 int h;
 
 
@@ -356,7 +413,8 @@ namespace Optimizer.Controls {
                 _centerPoint = new PointF(w / 2.0F, h / 2.0F);
                 _centerPoint = new PointF(w / 2.0F, h / 2.0F);
                 _radius = this.GetRadius(_centerPoint);
                 _radius = this.GetRadius(_centerPoint);
 
 
-                for (double angle = 0; angle < 360; angle += this.ColorStep) {
+                for (double angle = 0; angle < 360; angle += this.ColorStep)
+                {
                     double angleR;
                     double angleR;
                     PointF location;
                     PointF location;
 
 
@@ -371,36 +429,43 @@ namespace Optimizer.Controls {
             this.Points = points.ToArray();
             this.Points = points.ToArray();
             this.Colors = colors.ToArray();
             this.Colors = colors.ToArray();
         }
         }
-        protected virtual Brush CreateGradientBrush() {
+        protected virtual Brush CreateGradientBrush()
+        {
             Brush result;
             Brush result;
 
 
-            if (this.Points.Length != 0 && this.Points.Length == this.Colors.Length) {
-                result = new PathGradientBrush(this.Points, WrapMode.Clamp) {
+            if (this.Points.Length != 0 && this.Points.Length == this.Colors.Length)
+            {
+                result = new PathGradientBrush(this.Points, WrapMode.Clamp)
+                {
                     CenterPoint = _centerPoint,
                     CenterPoint = _centerPoint,
                     CenterColor = Color.White,
                     CenterColor = Color.White,
                     SurroundColors = this.Colors
                     SurroundColors = this.Colors
                 };
                 };
             }
             }
-            else {
+            else
+            {
                 result = null;
                 result = null;
             }
             }
 
 
             return result;
             return result;
         }
         }
 
 
-        protected virtual Color GetContrastColor(Color c) {
+        protected virtual Color GetContrastColor(Color c)
+        {
             double brightness = c.R * 0.299 + c.G * 0.587 + c.B * 0.114;
             double brightness = c.R * 0.299 + c.G * 0.587 + c.B * 0.114;
             return brightness > 149 ? Color.Black : Color.White;
             return brightness > 149 ? Color.Black : Color.White;
         }
         }
 
 
-        protected virtual Image CreateSelectionGlyph() {
+        protected virtual Image CreateSelectionGlyph()
+        {
             Image image;
             Image image;
             int halfSize;
             int halfSize;
 
 
             halfSize = this.SelectionSize / 2;
             halfSize = this.SelectionSize / 2;
             image = new Bitmap(this.SelectionSize + 1, this.SelectionSize + 1);
             image = new Bitmap(this.SelectionSize + 1, this.SelectionSize + 1);
 
 
-            using (Graphics g = Graphics.FromImage(image)) {
+            using (Graphics g = Graphics.FromImage(image))
+            {
                 g.SmoothingMode = SmoothingMode.AntiAlias;
                 g.SmoothingMode = SmoothingMode.AntiAlias;
                 g.PixelOffsetMode = PixelOffsetMode.HighQuality;
                 g.PixelOffsetMode = PixelOffsetMode.HighQuality;
                 g.InterpolationMode = InterpolationMode.High;
                 g.InterpolationMode = InterpolationMode.High;
@@ -412,11 +477,13 @@ namespace Optimizer.Controls {
             return image;
             return image;
         }
         }
 
 
-        protected PointF GetColorLocation(Color color) {
+        protected PointF GetColorLocation(Color color)
+        {
             return this.GetColorLocation(new HslColor(color));
             return this.GetColorLocation(new HslColor(color));
         }
         }
 
 
-        protected virtual PointF GetColorLocation(HslColor color) {
+        protected virtual PointF GetColorLocation(HslColor color)
+        {
             double angle;
             double angle;
             double radius;
             double radius;
 
 
@@ -426,7 +493,8 @@ namespace Optimizer.Controls {
             return this.GetColorLocation(angle, radius);
             return this.GetColorLocation(angle, radius);
         }
         }
 
 
-        protected PointF GetColorLocation(double angleR, double radius) {
+        protected PointF GetColorLocation(double angleR, double radius)
+        {
             double x;
             double x;
             double y;
             double y;
 
 
@@ -436,11 +504,13 @@ namespace Optimizer.Controls {
             return new PointF((float)x, (float)y);
             return new PointF((float)x, (float)y);
         }
         }
 
 
-        protected float GetRadius(PointF centerPoint) {
+        protected float GetRadius(PointF centerPoint)
+        {
             return Math.Min(centerPoint.X, centerPoint.Y) - (Math.Max(this.Padding.Horizontal, this.Padding.Vertical) + (this.SelectionSize / 2));
             return Math.Min(centerPoint.X, centerPoint.Y) - (Math.Max(this.Padding.Horizontal, this.Padding.Vertical) + (this.SelectionSize / 2));
         }
         }
 
 
-        protected bool IsPointInWheel(Point point) {
+        protected bool IsPointInWheel(Point point)
+        {
             PointF normalized;
             PointF normalized;
 
 
             normalized = new PointF(point.X - _centerPoint.X, point.Y - _centerPoint.Y);
             normalized = new PointF(point.X - _centerPoint.X, point.Y - _centerPoint.Y);
@@ -448,10 +518,12 @@ namespace Optimizer.Controls {
             return (normalized.X * normalized.X + normalized.Y * normalized.Y) <= (_radius * _radius);
             return (normalized.X * normalized.X + normalized.Y * normalized.Y) <= (_radius * _radius);
         }
         }
 
 
-        protected virtual void OnColorChanged(EventArgs e) {
+        protected virtual void OnColorChanged(EventArgs e)
+        {
             EventHandler handler;
             EventHandler handler;
 
 
-            if (!this.LockUpdates) {
+            if (!this.LockUpdates)
+            {
                 this.HslColor = new HslColor(this.Color);
                 this.HslColor = new HslColor(this.Color);
             }
             }
 
 
@@ -460,52 +532,62 @@ namespace Optimizer.Controls {
 
 
             handler = this.ColorChanged;
             handler = this.ColorChanged;
 
 
-            if (handler != null) {
+            if (handler != null)
+            {
                 handler(this, e);
                 handler(this, e);
             }
             }
         }
         }
 
 
-        protected virtual void OnColorStepChanged(EventArgs e) {
+        protected virtual void OnColorStepChanged(EventArgs e)
+        {
             EventHandler handler;
             EventHandler handler;
 
 
             this.RefreshWheel();
             this.RefreshWheel();
 
 
             handler = this.ColorStepChanged;
             handler = this.ColorStepChanged;
 
 
-            if (handler != null) {
+            if (handler != null)
+            {
                 handler(this, e);
                 handler(this, e);
             }
             }
         }
         }
 
 
-        protected virtual void OnHslColorChanged(EventArgs e) {
+        protected virtual void OnHslColorChanged(EventArgs e)
+        {
             EventHandler handler;
             EventHandler handler;
 
 
-            if (!this.LockUpdates) {
+            if (!this.LockUpdates)
+            {
                 this.Color = this.HslColor.ToRgbColor();
                 this.Color = this.HslColor.ToRgbColor();
             }
             }
             this.Invalidate();
             this.Invalidate();
 
 
             handler = this.HslColorChanged;
             handler = this.HslColorChanged;
 
 
-            if (handler != null) {
+            if (handler != null)
+            {
                 handler(this, e);
                 handler(this, e);
             }
             }
         }
         }
 
 
-        protected virtual void OnLargeChangeChanged(EventArgs e) {
+        protected virtual void OnLargeChangeChanged(EventArgs e)
+        {
             EventHandler handler;
             EventHandler handler;
 
 
             handler = this.LargeChangeChanged;
             handler = this.LargeChangeChanged;
 
 
-            if (handler != null) {
+            if (handler != null)
+            {
                 handler(this, e);
                 handler(this, e);
             }
             }
         }
         }
 
 
-        protected virtual void OnSelectionSizeChanged(EventArgs e) {
+        protected virtual void OnSelectionSizeChanged(EventArgs e)
+        {
             EventHandler handler;
             EventHandler handler;
 
 
-            if (this.SelectionGlyph != null) {
+            if (this.SelectionGlyph != null)
+            {
                 this.SelectionGlyph.Dispose();
                 this.SelectionGlyph.Dispose();
             }
             }
 
 
@@ -514,51 +596,61 @@ namespace Optimizer.Controls {
 
 
             handler = this.SelectionSizeChanged;
             handler = this.SelectionSizeChanged;
 
 
-            if (handler != null) {
+            if (handler != null)
+            {
                 handler(this, e);
                 handler(this, e);
             }
             }
         }
         }
 
 
-        protected virtual void OnSmallChangeChanged(EventArgs e) {
+        protected virtual void OnSmallChangeChanged(EventArgs e)
+        {
             EventHandler handler;
             EventHandler handler;
 
 
             handler = this.SmallChangeChanged;
             handler = this.SmallChangeChanged;
 
 
-            if (handler != null) {
+            if (handler != null)
+            {
                 handler(this, e);
                 handler(this, e);
             }
             }
         }
         }
 
 
-        protected void PaintColor(PaintEventArgs e, HslColor color) {
+        protected void PaintColor(PaintEventArgs e, HslColor color)
+        {
             this.PaintColor(e, color, false);
             this.PaintColor(e, color, false);
         }
         }
 
 
-        protected virtual void PaintColor(PaintEventArgs e, HslColor color, bool includeFocus) {
+        protected virtual void PaintColor(PaintEventArgs e, HslColor color, bool includeFocus)
+        {
             PointF location;
             PointF location;
 
 
             location = this.GetColorLocation(color);
             location = this.GetColorLocation(color);
 
 
-            if (!float.IsNaN(location.X) && !float.IsNaN(location.Y)) {
+            if (!float.IsNaN(location.X) && !float.IsNaN(location.Y))
+            {
                 int x;
                 int x;
                 int y;
                 int y;
 
 
                 x = (int)location.X - (this.SelectionSize / 2);
                 x = (int)location.X - (this.SelectionSize / 2);
                 y = (int)location.Y - (this.SelectionSize / 2);
                 y = (int)location.Y - (this.SelectionSize / 2);
 
 
-                if (this.SelectionGlyph == null) {
+                if (this.SelectionGlyph == null)
+                {
                     e.Graphics.DrawRectangle(Pens.Black, x, y, this.SelectionSize, this.SelectionSize);
                     e.Graphics.DrawRectangle(Pens.Black, x, y, this.SelectionSize, this.SelectionSize);
                 }
                 }
-                else {
+                else
+                {
                     e.Graphics.DrawImage(this.SelectionGlyph, x, y);
                     e.Graphics.DrawImage(this.SelectionGlyph, x, y);
                 }
                 }
             }
             }
         }
         }
 
 
-        protected virtual void PaintCurrentColor(PaintEventArgs e) {
+        protected virtual void PaintCurrentColor(PaintEventArgs e)
+        {
             this.PaintColor(e, this.HslColor, true);
             this.PaintColor(e, this.HslColor, true);
         }
         }
 
 
-        protected virtual void SetColor(Point point) {
+        protected virtual void SetColor(Point point)
+        {
             double dx;
             double dx;
             double dy;
             double dy;
             double angle;
             double angle;
@@ -571,14 +663,17 @@ namespace Optimizer.Controls {
             distance = Math.Pow((Math.Pow(dx, 2) + (Math.Pow(dy, 2))), 0.5);
             distance = Math.Pow((Math.Pow(dx, 2) + (Math.Pow(dy, 2))), 0.5);
             saturation = distance / _radius;
             saturation = distance / _radius;
 
 
-            if (distance < 6) {
+            if (distance < 6)
+            {
                 saturation = 0;
                 saturation = 0;
             }
             }
 
 
-            if (point.X < _centerPoint.X) {
+            if (point.X < _centerPoint.X)
+            {
                 angle = 180 - angle;
                 angle = 180 - angle;
             }
             }
-            if (point.Y > _centerPoint.Y) {
+            if (point.Y > _centerPoint.Y)
+            {
                 angle = 360 - angle;
                 angle = 360 - angle;
             }
             }
 
 
@@ -592,8 +687,10 @@ namespace Optimizer.Controls {
 
 
         #region Private Members
         #region Private Members
 
 
-        private void RefreshWheel() {
-            if (_brush != null) {
+        private void RefreshWheel()
+        {
+            if (_brush != null)
+            {
                 _brush.Dispose();
                 _brush.Dispose();
             }
             }
 
 

+ 22 - 11
Optimizer/Controls/ListViewColumnSorter.cs

@@ -2,48 +2,59 @@
 using System.Collections;
 using System.Collections;
 using System.Windows.Forms;
 using System.Windows.Forms;
 
 
-namespace Optimizer {
-    internal sealed class ListViewColumnSorter : IComparer {
+namespace Optimizer
+{
+    internal sealed class ListViewColumnSorter : IComparer
+    {
         int _columnToSort;
         int _columnToSort;
         SortOrder _sortOrder;
         SortOrder _sortOrder;
         CaseInsensitiveComparer _comparer;
         CaseInsensitiveComparer _comparer;
 
 
-        public ListViewColumnSorter() {
+        public ListViewColumnSorter()
+        {
             _columnToSort = 0;
             _columnToSort = 0;
             _sortOrder = SortOrder.None;
             _sortOrder = SortOrder.None;
             _comparer = new CaseInsensitiveComparer();
             _comparer = new CaseInsensitiveComparer();
         }
         }
 
 
-        public int CurrentColumn {
+        public int CurrentColumn
+        {
             get { return _columnToSort; }
             get { return _columnToSort; }
             set { _columnToSort = value; }
             set { _columnToSort = value; }
         }
         }
 
 
-        public SortOrder SortOrder {
+        public SortOrder SortOrder
+        {
             get { return _sortOrder; }
             get { return _sortOrder; }
             set { _sortOrder = value; }
             set { _sortOrder = value; }
         }
         }
 
 
-        public int Compare(object x, object y) {
+        public int Compare(object x, object y)
+        {
             int compareResult;
             int compareResult;
 
 
             ListViewItem listViewX = (ListViewItem)x;
             ListViewItem listViewX = (ListViewItem)x;
             ListViewItem listViewY = (ListViewItem)y;
             ListViewItem listViewY = (ListViewItem)y;
 
 
-            try {
+            try
+            {
                 compareResult = _comparer.Compare(Convert.ToInt64(listViewX.SubItems[_columnToSort].Text), Convert.ToInt64(listViewY.SubItems[_columnToSort].Text));
                 compareResult = _comparer.Compare(Convert.ToInt64(listViewX.SubItems[_columnToSort].Text), Convert.ToInt64(listViewY.SubItems[_columnToSort].Text));
             }
             }
-            catch {
+            catch
+            {
                 compareResult = _comparer.Compare(listViewX.SubItems[_columnToSort].Text, listViewY.SubItems[_columnToSort].Text);
                 compareResult = _comparer.Compare(listViewX.SubItems[_columnToSort].Text, listViewY.SubItems[_columnToSort].Text);
             }
             }
 
 
-            if (_sortOrder == SortOrder.Ascending) {
+            if (_sortOrder == SortOrder.Ascending)
+            {
                 return compareResult;
                 return compareResult;
             }
             }
-            else if (_sortOrder == SortOrder.Descending) {
+            else if (_sortOrder == SortOrder.Descending)
+            {
                 return -compareResult;
                 return -compareResult;
             }
             }
-            else {
+            else
+            {
                 return 0;
                 return 0;
             }
             }
         }
         }

+ 12 - 6
Optimizer/Controls/MoonCheck.cs

@@ -2,23 +2,29 @@
 using System.Drawing;
 using System.Drawing;
 using System.Windows.Forms;
 using System.Windows.Forms;
 
 
-namespace Optimizer {
-    public sealed class MoonCheck : CheckBox {
-        public MoonCheck() {
+namespace Optimizer
+{
+    public sealed class MoonCheck : CheckBox
+    {
+        public MoonCheck()
+        {
             DoubleBuffered = true;
             DoubleBuffered = true;
         }
         }
 
 
-        protected override void OnCheckedChanged(EventArgs e) {
+        protected override void OnCheckedChanged(EventArgs e)
+        {
             base.OnCheckedChanged(e);
             base.OnCheckedChanged(e);
 
 
             // custom theming
             // custom theming
-            if (this.Checked) {
+            if (this.Checked)
+            {
                 this.Tag = "themeable";
                 this.Tag = "themeable";
                 this.Font = new Font(this.Font, FontStyle.Underline);
                 this.Font = new Font(this.Font, FontStyle.Underline);
 
 
                 this.ForeColor = OptionsHelper.ForegroundColor;
                 this.ForeColor = OptionsHelper.ForegroundColor;
             }
             }
-            else {
+            else
+            {
                 this.Tag = string.Empty;
                 this.Tag = string.Empty;
                 this.ForeColor = Color.White;
                 this.ForeColor = Color.White;
                 this.Font = new Font(this.Font, FontStyle.Regular);
                 this.Font = new Font(this.Font, FontStyle.Regular);

+ 14 - 7
Optimizer/Controls/MoonCheckList.cs

@@ -1,21 +1,28 @@
 using System.Drawing;
 using System.Drawing;
 using System.Windows.Forms;
 using System.Windows.Forms;
 
 
-namespace Optimizer {
-    public sealed class MoonCheckList : CheckedListBox {
-        public MoonCheckList() {
+namespace Optimizer
+{
+    public sealed class MoonCheckList : CheckedListBox
+    {
+        public MoonCheckList()
+        {
             DoubleBuffered = true;
             DoubleBuffered = true;
         }
         }
 
 
-        protected override void OnDrawItem(DrawItemEventArgs e) {
+        protected override void OnDrawItem(DrawItemEventArgs e)
+        {
             Color foreColor = Color.White;
             Color foreColor = Color.White;
             Color accentColor = OptionsHelper.ForegroundColor;
             Color accentColor = OptionsHelper.ForegroundColor;
 
 
-            if (this.Items.Count > 0) {
-                if (e.Index >= 0) {
+            if (this.Items.Count > 0)
+            {
+                if (e.Index >= 0)
+                {
                     foreColor = GetItemChecked(e.Index) ? accentColor : foreColor;
                     foreColor = GetItemChecked(e.Index) ? accentColor : foreColor;
                 }
                 }
-                else {
+                else
+                {
                     foreColor = e.ForeColor;
                     foreColor = e.ForeColor;
                 }
                 }
             }
             }

+ 14 - 7
Optimizer/Controls/MoonList.cs

@@ -1,9 +1,12 @@
 using System.Drawing;
 using System.Drawing;
 using System.Windows.Forms;
 using System.Windows.Forms;
 
 
-namespace Optimizer {
-    public sealed class MoonList : ListBox {
-        public MoonList() {
+namespace Optimizer
+{
+    public sealed class MoonList : ListBox
+    {
+        public MoonList()
+        {
             this.DrawMode = DrawMode.OwnerDrawVariable;
             this.DrawMode = DrawMode.OwnerDrawVariable;
             this.BorderStyle = BorderStyle.None;
             this.BorderStyle = BorderStyle.None;
 
 
@@ -11,7 +14,8 @@ namespace Optimizer {
             this.DrawItem += MoonListBox_DrawItem;
             this.DrawItem += MoonListBox_DrawItem;
         }
         }
 
 
-        private void MoonListBox_DrawItem(object sender, DrawItemEventArgs e) {
+        private void MoonListBox_DrawItem(object sender, DrawItemEventArgs e)
+        {
             if (e.Index < 0) return;
             if (e.Index < 0) return;
             if (this.Items.Count <= 0) return;
             if (this.Items.Count <= 0) return;
 
 
@@ -19,11 +23,13 @@ namespace Optimizer {
 
 
             Brush myBrush = new SolidBrush(Color.White);
             Brush myBrush = new SolidBrush(Color.White);
 
 
-            if ((e.State & DrawItemState.Selected) == DrawItemState.Selected) {
+            if ((e.State & DrawItemState.Selected) == DrawItemState.Selected)
+            {
                 e.Graphics.FillRectangle(new SolidBrush(Color.FromArgb(50, 50, 50)), e.Bounds);
                 e.Graphics.FillRectangle(new SolidBrush(Color.FromArgb(50, 50, 50)), e.Bounds);
             }
             }
 
 
-            else {
+            else
+            {
                 e.Graphics.FillRectangle(new SolidBrush(Color.FromArgb(20, 20, 20)), e.Bounds);
                 e.Graphics.FillRectangle(new SolidBrush(Color.FromArgb(20, 20, 20)), e.Bounds);
 
 
             }
             }
@@ -32,7 +38,8 @@ namespace Optimizer {
             e.DrawFocusRectangle();
             e.DrawFocusRectangle();
         }
         }
 
 
-        private void MoonListBox_MeasureItem(object sender, MeasureItemEventArgs e) {
+        private void MoonListBox_MeasureItem(object sender, MeasureItemEventArgs e)
+        {
             e.ItemHeight = this.Font.Height;
             e.ItemHeight = this.Font.Height;
         }
         }
     }
     }

+ 54 - 27
Optimizer/Controls/MoonMenuRenderer.cs

@@ -1,9 +1,12 @@
 using System.Drawing;
 using System.Drawing;
 using System.Windows.Forms;
 using System.Windows.Forms;
 
 
-namespace Optimizer {
-    internal sealed class MoonMenuRenderer : ToolStripProfessionalRenderer {
-        internal MoonMenuRenderer() : base(new MoonColors()) {
+namespace Optimizer
+{
+    internal sealed class MoonMenuRenderer : ToolStripProfessionalRenderer
+    {
+        internal MoonMenuRenderer() : base(new MoonColors())
+        {
 
 
         }
         }
 
 
@@ -23,7 +26,8 @@ namespace Optimizer {
         //    base.OnRenderSeparator(e);
         //    base.OnRenderSeparator(e);
         //}
         //}
 
 
-        protected override void OnRenderArrow(ToolStripArrowRenderEventArgs e) {
+        protected override void OnRenderArrow(ToolStripArrowRenderEventArgs e)
+        {
             var tsMenuItem = e.Item as ToolStripMenuItem;
             var tsMenuItem = e.Item as ToolStripMenuItem;
             if (tsMenuItem != null)
             if (tsMenuItem != null)
                 e.ArrowColor = Color.DimGray;
                 e.ArrowColor = Color.DimGray;
@@ -31,69 +35,92 @@ namespace Optimizer {
         }
         }
     }
     }
 
 
-    internal class MoonColors : ProfessionalColorTable {
-        public override Color SeparatorLight {
+    internal class MoonColors : ProfessionalColorTable
+    {
+        public override Color SeparatorLight
+        {
             get { return Color.DimGray; }
             get { return Color.DimGray; }
         }
         }
 
 
-        public override Color SeparatorDark {
+        public override Color SeparatorDark
+        {
             get { return Color.DimGray; }
             get { return Color.DimGray; }
         }
         }
 
 
-        public override Color ToolStripDropDownBackground {
-            get {
+        public override Color ToolStripDropDownBackground
+        {
+            get
+            {
                 return OptionsHelper.BackgroundColor;
                 return OptionsHelper.BackgroundColor;
             }
             }
         }
         }
 
 
-        public override Color ImageMarginGradientBegin {
-            get {
+        public override Color ImageMarginGradientBegin
+        {
+            get
+            {
                 return OptionsHelper.BackgroundColor;
                 return OptionsHelper.BackgroundColor;
             }
             }
         }
         }
-        public override Color ImageMarginGradientMiddle {
-            get {
+        public override Color ImageMarginGradientMiddle
+        {
+            get
+            {
                 return OptionsHelper.BackgroundColor;
                 return OptionsHelper.BackgroundColor;
             }
             }
         }
         }
-        public override Color ImageMarginGradientEnd {
-            get {
+        public override Color ImageMarginGradientEnd
+        {
+            get
+            {
                 return OptionsHelper.BackgroundColor;
                 return OptionsHelper.BackgroundColor;
             }
             }
         }
         }
 
 
-        public override Color ToolStripBorder {
-            get {
+        public override Color ToolStripBorder
+        {
+            get
+            {
                 return OptionsHelper.BackgroundColor;
                 return OptionsHelper.BackgroundColor;
             }
             }
         }
         }
 
 
-        public override Color MenuBorder {
-            get {
+        public override Color MenuBorder
+        {
+            get
+            {
                 return OptionsHelper.BackAccentColor;
                 return OptionsHelper.BackAccentColor;
             }
             }
         }
         }
 
 
-        public override Color MenuItemSelected {
-            get {
+        public override Color MenuItemSelected
+        {
+            get
+            {
                 return OptionsHelper.BackAccentColor;
                 return OptionsHelper.BackAccentColor;
             }
             }
         }
         }
 
 
-        public override Color MenuItemSelectedGradientBegin {
-            get {
+        public override Color MenuItemSelectedGradientBegin
+        {
+            get
+            {
                 return OptionsHelper.BackAccentColor;
                 return OptionsHelper.BackAccentColor;
             }
             }
         }
         }
 
 
-        public override Color MenuItemSelectedGradientEnd {
-            get {
+        public override Color MenuItemSelectedGradientEnd
+        {
+            get
+            {
                 return OptionsHelper.BackAccentColor;
                 return OptionsHelper.BackAccentColor;
             }
             }
         }
         }
 
 
-        public override Color MenuItemBorder {
-            get {
+        public override Color MenuItemBorder
+        {
+            get
+            {
                 return OptionsHelper.BackAccentColor;
                 return OptionsHelper.BackAccentColor;
             }
             }
         }
         }

+ 8 - 4
Optimizer/Controls/MoonProgress.cs

@@ -2,14 +2,18 @@
 using System.Drawing.Drawing2D;
 using System.Drawing.Drawing2D;
 using System.Windows.Forms;
 using System.Windows.Forms;
 
 
-namespace Optimizer {
-    internal sealed class MoonProgress : ProgressBar {
-        public MoonProgress() {
+namespace Optimizer
+{
+    internal sealed class MoonProgress : ProgressBar
+    {
+        public MoonProgress()
+        {
             DoubleBuffered = true;
             DoubleBuffered = true;
             this.SetStyle(ControlStyles.UserPaint, true);
             this.SetStyle(ControlStyles.UserPaint, true);
         }
         }
 
 
-        protected override void OnPaint(PaintEventArgs e) {
+        protected override void OnPaint(PaintEventArgs e)
+        {
             LinearGradientBrush brush = null;
             LinearGradientBrush brush = null;
             Rectangle rec = new Rectangle(0, 0, this.Width, this.Height);
             Rectangle rec = new Rectangle(0, 0, this.Width, this.Height);
 
 

+ 12 - 6
Optimizer/Controls/MoonRadio.cs

@@ -2,23 +2,29 @@
 using System.Drawing;
 using System.Drawing;
 using System.Windows.Forms;
 using System.Windows.Forms;
 
 
-namespace Optimizer {
-    public sealed class MoonRadio : RadioButton {
-        public MoonRadio() {
+namespace Optimizer
+{
+    public sealed class MoonRadio : RadioButton
+    {
+        public MoonRadio()
+        {
             DoubleBuffered = true;
             DoubleBuffered = true;
         }
         }
 
 
-        protected override void OnCheckedChanged(EventArgs e) {
+        protected override void OnCheckedChanged(EventArgs e)
+        {
             base.OnCheckedChanged(e);
             base.OnCheckedChanged(e);
 
 
             // custom theming
             // custom theming
-            if (this.Checked) {
+            if (this.Checked)
+            {
                 this.Tag = "themeable";
                 this.Tag = "themeable";
                 this.Font = new Font(this.Font, FontStyle.Underline);
                 this.Font = new Font(this.Font, FontStyle.Underline);
 
 
                 this.ForeColor = OptionsHelper.ForegroundColor;
                 this.ForeColor = OptionsHelper.ForegroundColor;
             }
             }
-            else {
+            else
+            {
                 this.Tag = string.Empty;
                 this.Tag = string.Empty;
                 this.ForeColor = Color.White;
                 this.ForeColor = Color.White;
                 this.Font = new Font(this.Font, FontStyle.Regular);
                 this.Font = new Font(this.Font, FontStyle.Regular);

+ 18 - 9
Optimizer/Controls/MoonSelect.cs

@@ -1,21 +1,27 @@
 using System.Drawing;
 using System.Drawing;
 using System.Windows.Forms;
 using System.Windows.Forms;
 
 
-namespace Optimizer {
-    public sealed class MoonSelect : ComboBox {
+namespace Optimizer
+{
+    public sealed class MoonSelect : ComboBox
+    {
         private const int WM_PAINT = 0xF;
         private const int WM_PAINT = 0xF;
         private int buttonWidth = SystemInformation.HorizontalScrollBarArrowWidth;
         private int buttonWidth = SystemInformation.HorizontalScrollBarArrowWidth;
         Color borderColor = Color.Blue;
         Color borderColor = Color.Blue;
 
 
-        public Color BorderColor {
+        public Color BorderColor
+        {
             get { return borderColor; }
             get { return borderColor; }
             set { borderColor = value; Invalidate(); }
             set { borderColor = value; Invalidate(); }
         }
         }
 
 
-        protected override void WndProc(ref Message m) {
+        protected override void WndProc(ref Message m)
+        {
             base.WndProc(ref m);
             base.WndProc(ref m);
-            if (m.Msg == WM_PAINT && DropDownStyle != ComboBoxStyle.Simple) {
-                using (var g = Graphics.FromHwnd(Handle)) {
+            if (m.Msg == WM_PAINT && DropDownStyle != ComboBoxStyle.Simple)
+            {
+                using (var g = Graphics.FromHwnd(Handle))
+                {
                     var adjustMent = 0;
                     var adjustMent = 0;
                     if (FlatStyle == FlatStyle.Popup ||
                     if (FlatStyle == FlatStyle.Popup ||
                        (FlatStyle == FlatStyle.Flat &&
                        (FlatStyle == FlatStyle.Flat &&
@@ -29,14 +35,17 @@ namespace Optimizer {
                     if (DropDownStyle == ComboBoxStyle.DropDownList && !Enabled)
                     if (DropDownStyle == ComboBoxStyle.DropDownList && !Enabled)
                         innerBorderColor = SystemColors.Control;
                         innerBorderColor = SystemColors.Control;
 
 
-                    if (DropDownStyle == ComboBoxStyle.DropDownList || Enabled == false) {
-                        using (var p = new Pen(innerBorderColor, innerBorderWisth)) {
+                    if (DropDownStyle == ComboBoxStyle.DropDownList || Enabled == false)
+                    {
+                        using (var p = new Pen(innerBorderColor, innerBorderWisth))
+                        {
                             p.Alignment = System.Drawing.Drawing2D.PenAlignment.Inset;
                             p.Alignment = System.Drawing.Drawing2D.PenAlignment.Inset;
                             g.DrawRectangle(p, 1, 1,
                             g.DrawRectangle(p, 1, 1,
                                 Width - buttonWidth - adjustMent - 1, Height - 1);
                                 Width - buttonWidth - adjustMent - 1, Height - 1);
                         }
                         }
                     }
                     }
-                    using (var p = new Pen(BorderColor)) {
+                    using (var p = new Pen(BorderColor))
+                    {
                         g.DrawRectangle(p, 0, 0, Width - 1, Height - 1);
                         g.DrawRectangle(p, 0, 0, Width - 1, Height - 1);
                         g.DrawLine(p, Width - buttonWidth - adjustMent,
                         g.DrawLine(p, Width - buttonWidth - adjustMent,
                             0, Width - buttonWidth - adjustMent, Height);
                             0, Width - buttonWidth - adjustMent, Height);

+ 78 - 39
Optimizer/Controls/MoonTabs.cs

@@ -6,12 +6,14 @@ using System.Runtime.InteropServices;
 using System.Security.Permissions;
 using System.Security.Permissions;
 using System.Windows.Forms;
 using System.Windows.Forms;
 
 
-namespace Optimizer {
+namespace Optimizer
+{
     [
     [
         ComVisible(true), ClassInterface(ClassInterfaceType.AutoDispatch),
         ComVisible(true), ClassInterface(ClassInterfaceType.AutoDispatch),
         DefaultProperty("TabPages"), DefaultEvent("SelectedIndexChanged")
         DefaultProperty("TabPages"), DefaultEvent("SelectedIndexChanged")
     ]
     ]
-    public sealed class MoonTabs : TabControl {
+    public sealed class MoonTabs : TabControl
+    {
         [System.Runtime.InteropServices.DllImport("user32.dll")]
         [System.Runtime.InteropServices.DllImport("user32.dll")]
         private static extern IntPtr SendMessage(IntPtr hWnd, int msg, IntPtr wp, IntPtr lp);
         private static extern IntPtr SendMessage(IntPtr hWnd, int msg, IntPtr wp, IntPtr lp);
 
 
@@ -20,7 +22,8 @@ namespace Optimizer {
 
 
         private int _BorderSize = 0;
         private int _BorderSize = 0;
         [Category("Custom"), Description("The size of the components border."), DefaultValue(0)]
         [Category("Custom"), Description("The size of the components border."), DefaultValue(0)]
-        public int BorderSize {
+        public int BorderSize
+        {
             get => _BorderSize;
             get => _BorderSize;
             set => _BorderSize = 0;
             set => _BorderSize = 0;
         }
         }
@@ -30,7 +33,8 @@ namespace Optimizer {
 
 
         private int _DividerSize = 0;
         private int _DividerSize = 0;
         [Category("Custom"), Description("The size of the components Divider."), DefaultValue(0)]
         [Category("Custom"), Description("The size of the components Divider."), DefaultValue(0)]
-        public int DividerSize {
+        public int DividerSize
+        {
             get => _DividerSize;
             get => _DividerSize;
             set => _DividerSize = value.LimitToRange(0, 0);
             set => _DividerSize = value.LimitToRange(0, 0);
         }
         }
@@ -46,9 +50,11 @@ namespace Optimizer {
         private Point ptPreviousLocation, ptMaxDrag;
         private Point ptPreviousLocation, ptMaxDrag;
         private int DraggedIndex = -1;
         private int DraggedIndex = -1;
 
 
-        protected override CreateParams CreateParams {
+        protected override CreateParams CreateParams
+        {
             [SecurityPermission(SecurityAction.Demand, Flags = SecurityPermissionFlag.UnmanagedCode)]
             [SecurityPermission(SecurityAction.Demand, Flags = SecurityPermissionFlag.UnmanagedCode)]
-            get {
+            get
+            {
                 CreateParams cp = base.CreateParams;
                 CreateParams cp = base.CreateParams;
                 cp.ExStyle |= 0x02000000;
                 cp.ExStyle |= 0x02000000;
                 return cp;
                 return cp;
@@ -56,12 +62,14 @@ namespace Optimizer {
         }
         }
 
 
         // OVERRIDE TAB HEADER WIDTH
         // OVERRIDE TAB HEADER WIDTH
-        protected override void OnHandleCreated(EventArgs e) {
+        protected override void OnHandleCreated(EventArgs e)
+        {
             base.OnHandleCreated(e);
             base.OnHandleCreated(e);
 
 
             // Send TCM_SETMINTABWIDTH
             // Send TCM_SETMINTABWIDTH
             string maxTitle = string.Empty;
             string maxTitle = string.Empty;
-            foreach (TabPage x in this.TabPages) {
+            foreach (TabPage x in this.TabPages)
+            {
                 if (x.Text.Length > maxTitle.Length) maxTitle = x.Text;
                 if (x.Text.Length > maxTitle.Length) maxTitle = x.Text;
             }
             }
             Size textSize = TextRenderer.MeasureText(maxTitle, this.Font);
             Size textSize = TextRenderer.MeasureText(maxTitle, this.Font);
@@ -69,7 +77,8 @@ namespace Optimizer {
             SendMessage(this.Handle, 0x1300 + 49, IntPtr.Zero, (IntPtr)textSize.Width);
             SendMessage(this.Handle, 0x1300 + 49, IntPtr.Zero, (IntPtr)textSize.Width);
         }
         }
 
 
-        public MoonTabs() {
+        public MoonTabs()
+        {
             SetStyle(ControlStyles.AllPaintingInWmPaint | ControlStyles.OptimizedDoubleBuffer |
             SetStyle(ControlStyles.AllPaintingInWmPaint | ControlStyles.OptimizedDoubleBuffer |
                      ControlStyles.UserPaint | ControlStyles.ResizeRedraw | ControlStyles.CacheText, true);
                      ControlStyles.UserPaint | ControlStyles.ResizeRedraw | ControlStyles.CacheText, true);
 
 
@@ -83,7 +92,8 @@ namespace Optimizer {
 
 
         private void SetDragState() => bDrag = (CanDrag && bMouseDown && bShiftKey);
         private void SetDragState() => bDrag = (CanDrag && bMouseDown && bShiftKey);
 
 
-        protected override void OnMouseDown(MouseEventArgs e) {
+        protected override void OnMouseDown(MouseEventArgs e)
+        {
             bMouseDown = true;
             bMouseDown = true;
             SetDragState();
             SetDragState();
             Rectangle rectDrag = GetTabRect(SelectedIndex);
             Rectangle rectDrag = GetTabRect(SelectedIndex);
@@ -92,21 +102,27 @@ namespace Optimizer {
             Bitmap src = new Bitmap(Width, Height);
             Bitmap src = new Bitmap(Width, Height);
             DrawToBitmap(src, ClientRectangle);
             DrawToBitmap(src, ClientRectangle);
 
 
-            using (Graphics g = Graphics.FromImage(bitDrag = new Bitmap(rectDrag.Width, rectDrag.Height))) {
+            using (Graphics g = Graphics.FromImage(bitDrag = new Bitmap(rectDrag.Width, rectDrag.Height)))
+            {
                 g.DrawImage(src, new Rectangle(0, 0, bitDrag.Width, bitDrag.Height), rectDrag, GraphicsUnit.Pixel);
                 g.DrawImage(src, new Rectangle(0, 0, bitDrag.Width, bitDrag.Height), rectDrag, GraphicsUnit.Pixel);
             }
             }
         }
         }
 
 
-        protected override void OnMouseMove(MouseEventArgs e) {
-            if (bDrag) {
-                if (Alignment == TabAlignment.Top || Alignment == TabAlignment.Bottom) {
+        protected override void OnMouseMove(MouseEventArgs e)
+        {
+            if (bDrag)
+            {
+                if (Alignment == TabAlignment.Top || Alignment == TabAlignment.Bottom)
+                {
                     ptPreviousLocation = new Point(((e.X < 0) ? 0 : (e.X > ptMaxDrag.X) ? ptMaxDrag.X : e.X), (Alignment == TabAlignment.Top ? BorderSize : ptMaxDrag.Y));
                     ptPreviousLocation = new Point(((e.X < 0) ? 0 : (e.X > ptMaxDrag.X) ? ptMaxDrag.X : e.X), (Alignment == TabAlignment.Top ? BorderSize : ptMaxDrag.Y));
                 }
                 }
 
 
-                if (Alignment == TabAlignment.Right || Alignment == TabAlignment.Left) {
+                if (Alignment == TabAlignment.Right || Alignment == TabAlignment.Left)
+                {
                     ptPreviousLocation = new Point(ptMaxDrag.X, ((e.Y < 0) ? 0 : (e.Y > ptMaxDrag.Y) ? ptMaxDrag.Y : e.Y));
                     ptPreviousLocation = new Point(ptMaxDrag.X, ((e.Y < 0) ? 0 : (e.Y > ptMaxDrag.Y) ? ptMaxDrag.Y : e.Y));
                 }
                 }
-                for (int i = 0; i < TabCount; i++) {
+                for (int i = 0; i < TabCount; i++)
+                {
                     if (GetTabRect(i).Contains(PointToClient(Cursor.Position))) { DraggedIndex = i; break; }
                     if (GetTabRect(i).Contains(PointToClient(Cursor.Position))) { DraggedIndex = i; break; }
                 }
                 }
 
 
@@ -114,8 +130,10 @@ namespace Optimizer {
             }
             }
         }
         }
 
 
-        protected override void OnMouseUp(MouseEventArgs e) {
-            void SwapTabPages(TabPage inDestTab) {
+        protected override void OnMouseUp(MouseEventArgs e)
+        {
+            void SwapTabPages(TabPage inDestTab)
+            {
                 int SourceIndex = TabPages.IndexOf(SelectedTab);
                 int SourceIndex = TabPages.IndexOf(SelectedTab);
                 int DestinationIndex = TabPages.IndexOf(inDestTab);
                 int DestinationIndex = TabPages.IndexOf(inDestTab);
 
 
@@ -128,7 +146,8 @@ namespace Optimizer {
 
 
             bDrag = bMouseDown = false;
             bDrag = bMouseDown = false;
 
 
-            if (DraggedIndex > -1) {
+            if (DraggedIndex > -1)
+            {
                 SwapTabPages(TabPages[DraggedIndex]);
                 SwapTabPages(TabPages[DraggedIndex]);
                 DraggedIndex = -1;
                 DraggedIndex = -1;
             }
             }
@@ -141,7 +160,8 @@ namespace Optimizer {
 
 
         protected override void OnKeyUp(KeyEventArgs e) { bDrag = bShiftKey = false; SetDragState(); }
         protected override void OnKeyUp(KeyEventArgs e) { bDrag = bShiftKey = false; SetDragState(); }
 
 
-        protected override void OnPaint(PaintEventArgs e) {
+        protected override void OnPaint(PaintEventArgs e)
+        {
             if (DesignMode) return;
             if (DesignMode) return;
 
 
             e.Graphics.Clear(Color.FromArgb(40, 40, 40));
             e.Graphics.Clear(Color.FromArgb(40, 40, 40));
@@ -149,9 +169,11 @@ namespace Optimizer {
             Rectangle container = new Rectangle(0, 0, Width - (BorderSize % 2), Height - (BorderSize % 2));
             Rectangle container = new Rectangle(0, 0, Width - (BorderSize % 2), Height - (BorderSize % 2));
             Rectangle containerHead = default(Rectangle);
             Rectangle containerHead = default(Rectangle);
 
 
-            if (TabCount > 0) {
+            if (TabCount > 0)
+            {
                 using (SolidBrush brushBackgroundTab = new SolidBrush(Color.FromArgb(40, 40, 40)))
                 using (SolidBrush brushBackgroundTab = new SolidBrush(Color.FromArgb(40, 40, 40)))
-                using (SolidBrush brushDivider = new SolidBrush(OptionsHelper.ForegroundColor)) {
+                using (SolidBrush brushDivider = new SolidBrush(OptionsHelper.ForegroundColor))
+                {
                     {
                     {
                         e.Graphics.FillRectangle(brushBackgroundTab, DisplayRectangle);
                         e.Graphics.FillRectangle(brushBackgroundTab, DisplayRectangle);
                     }
                     }
@@ -159,7 +181,8 @@ namespace Optimizer {
                     {
                     {
                         Rectangle rectDivider = GetTabRect(SelectedIndex);
                         Rectangle rectDivider = GetTabRect(SelectedIndex);
 
 
-                        if (Alignment == TabAlignment.Top || Alignment == TabAlignment.Bottom) {
+                        if (Alignment == TabAlignment.Top || Alignment == TabAlignment.Bottom)
+                        {
                             e.Graphics.FillRectangle(brushDivider,
                             e.Graphics.FillRectangle(brushDivider,
                                                      0,
                                                      0,
                                                      (((Alignment == TabAlignment.Top) ? (TabPages[SelectedIndex].Top - DividerSize - (DividerSize % 2)) :
                                                      (((Alignment == TabAlignment.Top) ? (TabPages[SelectedIndex].Top - DividerSize - (DividerSize % 2)) :
@@ -168,7 +191,8 @@ namespace Optimizer {
                                                     );
                                                     );
                         }
                         }
 
 
-                        if (Alignment == TabAlignment.Right || Alignment == TabAlignment.Left) {
+                        if (Alignment == TabAlignment.Right || Alignment == TabAlignment.Left)
+                        {
                             e.Graphics.FillRectangle(brushDivider,
                             e.Graphics.FillRectangle(brushDivider,
                                                      ((Alignment == TabAlignment.Right) ? (TabPages[SelectedIndex].Right + (DividerSize % 2)) : TabPages[SelectedIndex].Left - DividerSize - (DividerSize % 2)),
                                                      ((Alignment == TabAlignment.Right) ? (TabPages[SelectedIndex].Right + (DividerSize % 2)) : TabPages[SelectedIndex].Left - DividerSize - (DividerSize % 2)),
                                                      BorderSize,
                                                      BorderSize,
@@ -191,21 +215,25 @@ namespace Optimizer {
             using (SolidBrush brushInActiveIndicator = new SolidBrush(OptionsHelper.ForegroundColor))
             using (SolidBrush brushInActiveIndicator = new SolidBrush(OptionsHelper.ForegroundColor))
             using (brushActiveText = new SolidBrush(OptionsHelper.TextColor))
             using (brushActiveText = new SolidBrush(OptionsHelper.TextColor))
             using (SolidBrush brushInActiveText = new SolidBrush(Color.White))
             using (SolidBrush brushInActiveText = new SolidBrush(Color.White))
-            using (SolidBrush brushDrag = new SolidBrush(ControlPaint.Dark(OptionsHelper.ForegroundColor))) {
+            using (SolidBrush brushDrag = new SolidBrush(ControlPaint.Dark(OptionsHelper.ForegroundColor)))
+            {
                 //if (MoonManager.THEME_PREFERENCE == THEME.LIGHT) brushActiveText = new SolidBrush(Color.White);
                 //if (MoonManager.THEME_PREFERENCE == THEME.LIGHT) brushActiveText = new SolidBrush(Color.White);
 
 
                 penBorder.Alignment = penActive.Alignment = PenAlignment.Inset;
                 penBorder.Alignment = penActive.Alignment = PenAlignment.Inset;
                 e.Graphics.DrawRectangle(penBorder, container);
                 e.Graphics.DrawRectangle(penBorder, container);
 
 
-                if (TabCount > 0) {
+                if (TabCount > 0)
+                {
                     ptMaxDrag = new Point(0, 0);
                     ptMaxDrag = new Point(0, 0);
 
 
-                    for (int i = 0; i < TabCount; i++) {
+                    for (int i = 0; i < TabCount; i++)
+                    {
                         containerHead = GetTabRect(i);
                         containerHead = GetTabRect(i);
 
 
                         e.Graphics.FillRectangle((SelectedIndex == i) ? (bDrag ? brushDrag : brushActive) : brushInActive, containerHead);
                         e.Graphics.FillRectangle((SelectedIndex == i) ? (bDrag ? brushDrag : brushActive) : brushInActive, containerHead);
 
 
-                        if (BorderEdges && (i == SelectedIndex)) {
+                        if (BorderEdges && (i == SelectedIndex))
+                        {
                             Point ptA = new Point(0, 0); Point ptB = new Point(0, 0);
                             Point ptA = new Point(0, 0); Point ptB = new Point(0, 0);
                             Point ptC = new Point(0, 0); Point ptD = new Point(0, 0);
                             Point ptC = new Point(0, 0); Point ptD = new Point(0, 0);
 
 
@@ -213,20 +241,24 @@ namespace Optimizer {
                             ptA.Y = ptB.Y = ptC.Y = containerHead.Y;
                             ptA.Y = ptB.Y = ptC.Y = containerHead.Y;
                             ptA.Y = ptC.Y = ptD.Y = containerHead.Y + containerHead.Height - 1;
                             ptA.Y = ptC.Y = ptD.Y = containerHead.Y + containerHead.Height - 1;
 
 
-                            if (Alignment == TabAlignment.Top || Alignment == TabAlignment.Bottom) {
+                            if (Alignment == TabAlignment.Top || Alignment == TabAlignment.Bottom)
+                            {
                                 ptD.X = ptC.X = containerHead.X + containerHead.Width;
                                 ptD.X = ptC.X = containerHead.X + containerHead.Width;
                                 ptC.Y = containerHead.Y;
                                 ptC.Y = containerHead.Y;
 
 
-                                if (Alignment == TabAlignment.Bottom) {
+                                if (Alignment == TabAlignment.Bottom)
+                                {
                                     MoonTabHelper.Swap(ref ptA, ref ptB); MoonTabHelper.Swap(ref ptC, ref ptD);
                                     MoonTabHelper.Swap(ref ptA, ref ptB); MoonTabHelper.Swap(ref ptC, ref ptD);
                                 }
                                 }
                             }
                             }
 
 
-                            if (Alignment == TabAlignment.Right || Alignment == TabAlignment.Left) {
+                            if (Alignment == TabAlignment.Right || Alignment == TabAlignment.Left)
+                            {
                                 ptA.Y = containerHead.Y;
                                 ptA.Y = containerHead.Y;
                                 ptB.X = ptC.X = containerHead.X + containerHead.Width - 1;
                                 ptB.X = ptC.X = containerHead.X + containerHead.Width - 1;
 
 
-                                if (Alignment == TabAlignment.Left) {
+                                if (Alignment == TabAlignment.Left)
+                                {
                                     MoonTabHelper.Swap(ref ptA, ref ptC); MoonTabHelper.Swap(ref ptB, ref ptD);
                                     MoonTabHelper.Swap(ref ptA, ref ptC); MoonTabHelper.Swap(ref ptB, ref ptD);
                                 }
                                 }
                             }
                             }
@@ -239,17 +271,20 @@ namespace Optimizer {
                         {
                         {
                             Rectangle rectDivider = default(Rectangle);
                             Rectangle rectDivider = default(Rectangle);
 
 
-                            if (Alignment == TabAlignment.Top || Alignment == TabAlignment.Bottom) {
+                            if (Alignment == TabAlignment.Top || Alignment == TabAlignment.Bottom)
+                            {
                                 rectDivider = new Rectangle(containerHead.X, containerHead.Y + ((Alignment == TabAlignment.Top) ? containerHead.Height : -DividerSize), containerHead.Width, DividerSize);
                                 rectDivider = new Rectangle(containerHead.X, containerHead.Y + ((Alignment == TabAlignment.Top) ? containerHead.Height : -DividerSize), containerHead.Width, DividerSize);
                             }
                             }
-                            if (Alignment == TabAlignment.Right || Alignment == TabAlignment.Left) {
+                            if (Alignment == TabAlignment.Right || Alignment == TabAlignment.Left)
+                            {
                                 rectDivider = new Rectangle(containerHead.X - ((Alignment == TabAlignment.Right) ? DividerSize : -containerHead.Width), containerHead.Y, DividerSize, containerHead.Height);
                                 rectDivider = new Rectangle(containerHead.X - ((Alignment == TabAlignment.Right) ? DividerSize : -containerHead.Width), containerHead.Y, DividerSize, containerHead.Height);
                             }
                             }
 
 
                             e.Graphics.FillRectangle(((MoonTabHelper.TagToInt(TabPages[i]) == 1) ? brushAlternative : ((i == SelectedIndex) ? brushActiveIndicator : brushInActiveIndicator)), rectDivider);
                             e.Graphics.FillRectangle(((MoonTabHelper.TagToInt(TabPages[i]) == 1) ? brushAlternative : ((i == SelectedIndex) ? brushActiveIndicator : brushInActiveIndicator)), rectDivider);
                         }
                         }
 
 
-                        if (!(bDrag && i == SelectedIndex)) {
+                        if (!(bDrag && i == SelectedIndex))
+                        {
                             int angle = 0;
                             int angle = 0;
                             {
                             {
                                 if (Alignment == TabAlignment.Right) angle = 90;
                                 if (Alignment == TabAlignment.Right) angle = 90;
@@ -276,7 +311,8 @@ namespace Optimizer {
                             e.Graphics.ResetTransform();
                             e.Graphics.ResetTransform();
                         }
                         }
 
 
-                        if (bMouseDown) {
+                        if (bMouseDown)
+                        {
                             if (Alignment == TabAlignment.Top || Alignment == TabAlignment.Bottom) { if (i > 0) { ptMaxDrag.X += GetTabRect(i).Width; } }
                             if (Alignment == TabAlignment.Top || Alignment == TabAlignment.Bottom) { if (i > 0) { ptMaxDrag.X += GetTabRect(i).Width; } }
                             if (Alignment == TabAlignment.Top) { ptMaxDrag.Y = BorderSize; }
                             if (Alignment == TabAlignment.Top) { ptMaxDrag.Y = BorderSize; }
                             if (Alignment == TabAlignment.Bottom) { ptMaxDrag.Y = containerHead.Y; };
                             if (Alignment == TabAlignment.Bottom) { ptMaxDrag.Y = containerHead.Y; };
@@ -293,14 +329,17 @@ namespace Optimizer {
 
 
     }
     }
 
 
-    public static class MoonTabHelper {
-        public static int LimitToRange(this int value, int inclusiveMinimum, int inclusiveMaximum) {
+    public static class MoonTabHelper
+    {
+        public static int LimitToRange(this int value, int inclusiveMinimum, int inclusiveMaximum)
+        {
             if (value < inclusiveMinimum) { return inclusiveMinimum; }
             if (value < inclusiveMinimum) { return inclusiveMinimum; }
             if (value > inclusiveMaximum) { return inclusiveMaximum; }
             if (value > inclusiveMaximum) { return inclusiveMaximum; }
             return value;
             return value;
         }
         }
 
 
-        public static void Swap<T>(ref T a, ref T b) {
+        public static void Swap<T>(ref T a, ref T b)
+        {
             T temp = a;
             T temp = a;
             a = b; b = temp;
             a = b; b = temp;
         }
         }

+ 16 - 8
Optimizer/Controls/MoonToggle.cs

@@ -3,32 +3,39 @@ using System.Drawing;
 using System.Drawing.Drawing2D;
 using System.Drawing.Drawing2D;
 using System.Windows.Forms;
 using System.Windows.Forms;
 
 
-namespace Optimizer {
-    public sealed class MoonToggle : CheckBox {
+namespace Optimizer
+{
+    public sealed class MoonToggle : CheckBox
+    {
         bool solidStyle = true;
         bool solidStyle = true;
 
 
         [Browsable(true)]
         [Browsable(true)]
-        public override string Text {
+        public override string Text
+        {
             get { return base.Text; }
             get { return base.Text; }
             set { }
             set { }
         }
         }
 
 
         [DefaultValue(true)]
         [DefaultValue(true)]
-        public bool SolidStyle {
+        public bool SolidStyle
+        {
             get { return solidStyle; }
             get { return solidStyle; }
-            set {
+            set
+            {
                 solidStyle = value;
                 solidStyle = value;
                 this.Invalidate();
                 this.Invalidate();
             }
             }
         }
         }
 
 
-        public MoonToggle() {
+        public MoonToggle()
+        {
             this.DoubleBuffered = true;
             this.DoubleBuffered = true;
             this.MinimumSize = new Size(46, 22);
             this.MinimumSize = new Size(46, 22);
             this.ForeColor = Color.White;
             this.ForeColor = Color.White;
         }
         }
 
 
-        private GraphicsPath GetFigurePath() {
+        private GraphicsPath GetFigurePath()
+        {
             int arcSize = this.Height - 1;
             int arcSize = this.Height - 1;
             Rectangle leftArc = new Rectangle(0, 0, arcSize, arcSize);
             Rectangle leftArc = new Rectangle(0, 0, arcSize, arcSize);
             Rectangle rightArc = new Rectangle(this.Width - arcSize - 2, 0, arcSize, arcSize);
             Rectangle rightArc = new Rectangle(this.Width - arcSize - 2, 0, arcSize, arcSize);
@@ -42,7 +49,8 @@ namespace Optimizer {
             return path;
             return path;
         }
         }
 
 
-        protected override void OnPaint(PaintEventArgs pevent) {
+        protected override void OnPaint(PaintEventArgs pevent)
+        {
             int toggleSize = this.Height - 5;
             int toggleSize = this.Height - 5;
             pevent.Graphics.SmoothingMode = SmoothingMode.AntiAlias;
             pevent.Graphics.SmoothingMode = SmoothingMode.AntiAlias;
             pevent.Graphics.Clear(this.Parent.BackColor);
             pevent.Graphics.Clear(this.Parent.BackColor);

+ 18 - 9
Optimizer/Controls/MoonTree.cs

@@ -1,8 +1,10 @@
 using System.Drawing;
 using System.Drawing;
 using System.Windows.Forms;
 using System.Windows.Forms;
 
 
-namespace Optimizer {
-    public sealed class MoonTree : TreeView {
+namespace Optimizer
+{
+    public sealed class MoonTree : TreeView
+    {
         string[] rootNodes =
         string[] rootNodes =
         {
         {
             "cpu", "ram", "mobo", "gpu", "disk", "inet", "audio", "dev"
             "cpu", "ram", "mobo", "gpu", "disk", "inet", "audio", "dev"
@@ -10,22 +12,26 @@ namespace Optimizer {
 
 
         string _primaryItemTag = "_primary";
         string _primaryItemTag = "_primary";
 
 
-        public MoonTree() {
+        public MoonTree()
+        {
             this.DrawMode = TreeViewDrawMode.OwnerDrawAll;
             this.DrawMode = TreeViewDrawMode.OwnerDrawAll;
             this.BackColor = Color.FromArgb(20, 20, 20);
             this.BackColor = Color.FromArgb(20, 20, 20);
             this.ForeColor = Color.White;
             this.ForeColor = Color.White;
             this.BorderStyle = BorderStyle.None;
             this.BorderStyle = BorderStyle.None;
         }
         }
 
 
-        private bool FindName(string name) {
-            foreach (string x in rootNodes) {
+        private bool FindName(string name)
+        {
+            foreach (string x in rootNodes)
+            {
                 if (x == name) return true;
                 if (x == name) return true;
             }
             }
 
 
             return false;
             return false;
         }
         }
 
 
-        protected override void OnDrawNode(DrawTreeNodeEventArgs e) {
+        protected override void OnDrawNode(DrawTreeNodeEventArgs e)
+        {
             Rectangle r = new Rectangle();
             Rectangle r = new Rectangle();
             r.X = 0;
             r.X = 0;
             r.Y = e.Bounds.Y;
             r.Y = e.Bounds.Y;
@@ -33,10 +39,12 @@ namespace Optimizer {
             r.Height = e.Bounds.Height;
             r.Height = e.Bounds.Height;
             r.Width = 100000;
             r.Width = 100000;
 
 
-            if (e.Node.IsSelected) {
+            if (e.Node.IsSelected)
+            {
                 e.Graphics.FillRectangle(new SolidBrush(Color.FromArgb(50, 50, 50)), r); //e.Bounds
                 e.Graphics.FillRectangle(new SolidBrush(Color.FromArgb(50, 50, 50)), r); //e.Bounds
             }
             }
-            else {
+            else
+            {
                 e.Graphics.FillRectangle(new SolidBrush(Color.FromArgb(20, 20, 20)), r); //e.Bounds
                 e.Graphics.FillRectangle(new SolidBrush(Color.FromArgb(20, 20, 20)), r); //e.Bounds
             }
             }
 
 
@@ -44,7 +52,8 @@ namespace Optimizer {
             else if (e.Node.Tag != null && e.Node.Tag.ToString() == _primaryItemTag) TextRenderer.DrawText(e.Graphics, e.Node.Text, this.Font, e.Node.Bounds, OptionsHelper.ForegroundColor);
             else if (e.Node.Tag != null && e.Node.Tag.ToString() == _primaryItemTag) TextRenderer.DrawText(e.Graphics, e.Node.Text, this.Font, e.Node.Bounds, OptionsHelper.ForegroundColor);
             else TextRenderer.DrawText(e.Graphics, e.Node.Text, this.Font, e.Node.Bounds, Color.White);
             else TextRenderer.DrawText(e.Graphics, e.Node.Text, this.Font, e.Node.Bounds, Color.White);
 
 
-            if (this.ImageList != null && this.ImageList.Images.Count > 0 && e.Node.SelectedImageIndex > -1) {
+            if (this.ImageList != null && this.ImageList.Images.Count > 0 && e.Node.SelectedImageIndex > -1)
+            {
                 e.Graphics.DrawImage(this.ImageList.Images[e.Node.SelectedImageIndex], e.Bounds.Left + 15 * e.Node.Level + 5, e.Bounds.Top);
                 e.Graphics.DrawImage(this.ImageList.Images[e.Node.SelectedImageIndex], e.Bounds.Left + 15 * e.Node.Level + 5, e.Bounds.Top);
             }
             }
         }
         }

+ 22 - 11
Optimizer/Controls/ToggleCard.cs

@@ -1,13 +1,16 @@
 using System;
 using System;
 using System.Windows.Forms;
 using System.Windows.Forms;
 
 
-namespace Optimizer {
-    public sealed partial class ToggleCard : UserControl {
+namespace Optimizer
+{
+    public sealed partial class ToggleCard : UserControl
+    {
         public event EventHandler ToggleClicked;
         public event EventHandler ToggleClicked;
 
 
         SubForm _subForm;
         SubForm _subForm;
 
 
-        public ToggleCard() {
+        public ToggleCard()
+        {
             InitializeComponent();
             InitializeComponent();
 
 
             this.DoubleBuffered = true;
             this.DoubleBuffered = true;
@@ -25,9 +28,11 @@ namespace Optimizer {
             Panel.AccessibleName = LabelText;
             Panel.AccessibleName = LabelText;
         }
         }
 
 
-        public string LabelText {
+        public string LabelText
+        {
             get { return Label.Text; }
             get { return Label.Text; }
-            set {
+            set
+            {
                 Label.Text = value;
                 Label.Text = value;
                 this.AccessibleName = value;
                 this.AccessibleName = value;
                 Label.AccessibleName = value;
                 Label.AccessibleName = value;
@@ -36,30 +41,36 @@ namespace Optimizer {
             }
             }
         }
         }
 
 
-        public bool ToggleChecked {
+        public bool ToggleChecked
+        {
             get { return Toggle.Checked; }
             get { return Toggle.Checked; }
             set { Toggle.Checked = value; }
             set { Toggle.Checked = value; }
         }
         }
 
 
-        private void Toggle_CheckedChanged(object sender, EventArgs e) {
+        private void Toggle_CheckedChanged(object sender, EventArgs e)
+        {
             if (ToggleClicked != null) ToggleClicked(sender, e);
             if (ToggleClicked != null) ToggleClicked(sender, e);
         }
         }
 
 
-        private void Label_MouseLeave(object sender, EventArgs e) {
+        private void Label_MouseLeave(object sender, EventArgs e)
+        {
             Label.Font = new System.Drawing.Font(Label.Font, System.Drawing.FontStyle.Regular);
             Label.Font = new System.Drawing.Font(Label.Font, System.Drawing.FontStyle.Regular);
         }
         }
 
 
-        private void Label_MouseEnter(object sender, EventArgs e) {
+        private void Label_MouseEnter(object sender, EventArgs e)
+        {
             Label.Font = new System.Drawing.Font(Label.Font, System.Drawing.FontStyle.Underline);
             Label.Font = new System.Drawing.Font(Label.Font, System.Drawing.FontStyle.Underline);
         }
         }
 
 
-        private void Label_Click(object sender, EventArgs e) {
+        private void Label_Click(object sender, EventArgs e)
+        {
             if (Label.Tag == null) return;
             if (Label.Tag == null) return;
             _subForm.SetTip(Label.Tag.ToString());
             _subForm.SetTip(Label.Tag.ToString());
             _subForm.ShowDialog(this);
             _subForm.ShowDialog(this);
         }
         }
 
 
-        private void Label_MouseHover(object sender, EventArgs e) {
+        private void Label_MouseHover(object sender, EventArgs e)
+        {
             Label.Font = new System.Drawing.Font(Label.Font, System.Drawing.FontStyle.Underline);
             Label.Font = new System.Drawing.Font(Label.Font, System.Drawing.FontStyle.Underline);
         }
         }
     }
     }

+ 28 - 14
Optimizer/CoreHelper.cs

@@ -1,8 +1,10 @@
 using System.IO;
 using System.IO;
 using System.Text;
 using System.Text;
 
 
-namespace Optimizer {
-    internal static class CoreHelper {
+namespace Optimizer
+{
+    internal static class CoreHelper
+    {
         internal readonly static string CoreFolder = CleanHelper.ProgramData + "\\Optimizer\\";
         internal readonly static string CoreFolder = CleanHelper.ProgramData + "\\Optimizer\\";
         internal readonly static string ReadyMadeMenusFolder = CleanHelper.ProgramData + "\\Optimizer\\ReadyMadeMenus\\";
         internal readonly static string ReadyMadeMenusFolder = CleanHelper.ProgramData + "\\Optimizer\\ReadyMadeMenus\\";
         internal readonly static string ScriptsFolder = CleanHelper.ProgramData + "\\Optimizer\\Required\\";
         internal readonly static string ScriptsFolder = CleanHelper.ProgramData + "\\Optimizer\\Required\\";
@@ -66,36 +68,48 @@ namespace Optimizer {
             Properties.Resources.DisableClassicPhotoViewer
             Properties.Resources.DisableClassicPhotoViewer
         };
         };
 
 
-        internal static void Deploy() {
-            if (!Directory.Exists(CoreFolder)) {
+        internal static void Deploy()
+        {
+            if (!Directory.Exists(CoreFolder))
+            {
                 Directory.CreateDirectory(CoreFolder);
                 Directory.CreateDirectory(CoreFolder);
             }
             }
-            if (!Directory.Exists(ReadyMadeMenusFolder)) {
+            if (!Directory.Exists(ReadyMadeMenusFolder))
+            {
                 Directory.CreateDirectory(ReadyMadeMenusFolder);
                 Directory.CreateDirectory(ReadyMadeMenusFolder);
             }
             }
-            if (!Directory.Exists(ScriptsFolder)) {
+            if (!Directory.Exists(ScriptsFolder))
+            {
                 Directory.CreateDirectory(ScriptsFolder);
                 Directory.CreateDirectory(ScriptsFolder);
             }
             }
-            if (!Directory.Exists(ExtractedIconsFolder)) {
+            if (!Directory.Exists(ExtractedIconsFolder))
+            {
                 Directory.CreateDirectory(ExtractedIconsFolder);
                 Directory.CreateDirectory(ExtractedIconsFolder);
             }
             }
-            if (!Directory.Exists(FavIconsFolder)) {
+            if (!Directory.Exists(FavIconsFolder))
+            {
                 Directory.CreateDirectory(FavIconsFolder);
                 Directory.CreateDirectory(FavIconsFolder);
             }
             }
-            if (!Directory.Exists(StartupItemsBackupFolder)) {
+            if (!Directory.Exists(StartupItemsBackupFolder))
+            {
                 Directory.CreateDirectory(StartupItemsBackupFolder);
                 Directory.CreateDirectory(StartupItemsBackupFolder);
             }
             }
 
 
-            for (int i = 0; i < readyMadeMenusItems.Length; i++) {
+            for (int i = 0; i < readyMadeMenusItems.Length; i++)
+            {
                 if (!File.Exists(readyMadeMenusItems[i])) File.WriteAllText(readyMadeMenusItems[i], readyMadeMenusFiles[i]);
                 if (!File.Exists(readyMadeMenusItems[i])) File.WriteAllText(readyMadeMenusItems[i], readyMadeMenusFiles[i]);
             }
             }
 
 
-            for (int i = 0; i < scriptItems.Length; i++) {
-                if (!File.Exists(scriptItems[i])) {
-                    if (scriptItems[i].Contains("OneDrive")) {
+            for (int i = 0; i < scriptItems.Length; i++)
+            {
+                if (!File.Exists(scriptItems[i]))
+                {
+                    if (scriptItems[i].Contains("OneDrive"))
+                    {
                         File.WriteAllBytes(scriptItems[i], Encoding.UTF8.GetBytes(scriptFiles[i]));
                         File.WriteAllBytes(scriptItems[i], Encoding.UTF8.GetBytes(scriptFiles[i]));
                     }
                     }
-                    else {
+                    else
+                    {
                         File.WriteAllText(scriptItems[i], scriptFiles[i]);
                         File.WriteAllText(scriptItems[i], scriptFiles[i]);
                     }
                     }
                 }
                 }

+ 9 - 5
Optimizer/DebugHelper.cs

@@ -4,13 +4,16 @@ using System.Linq;
 using System.Text;
 using System.Text;
 using System.Windows.Forms;
 using System.Windows.Forms;
 
 
-namespace Optimizer {
+namespace Optimizer
+{
     // Collection of useful debugging methods and utilities
     // Collection of useful debugging methods and utilities
-    internal sealed class DebugHelper {
+    internal sealed class DebugHelper
+    {
         // For comparing and detecting missing keys between two translation JSON files
         // For comparing and detecting missing keys between two translation JSON files
-        internal static void FindDifferenceInTwoJsons() {
+        internal static void FindDifferenceInTwoJsons()
+        {
             JObject file1 = JObject.Parse(Properties.Resources.EN);
             JObject file1 = JObject.Parse(Properties.Resources.EN);
-            JObject file2 = JObject.Parse(Properties.Resources.RU);
+            JObject file2 = JObject.Parse(Properties.Resources.BG);
 
 
             var p1 = file1.Properties().ToList();
             var p1 = file1.Properties().ToList();
             var p2 = file2.Properties().ToList();
             var p2 = file2.Properties().ToList();
@@ -18,7 +21,8 @@ namespace Optimizer {
             var missingProps = p1.Where(expected => !p2.Where(actual => actual.Name == expected.Name).Any());
             var missingProps = p1.Where(expected => !p2.Where(actual => actual.Name == expected.Name).Any());
 
 
             StringBuilder sb = new StringBuilder();
             StringBuilder sb = new StringBuilder();
-            foreach (var x in missingProps) {
+            foreach (var x in missingProps)
+            {
                 sb.Append(x.Name + Environment.NewLine);
                 sb.Append(x.Name + Environment.NewLine);
             }
             }
             MessageBox.Show(sb.ToString());
             MessageBox.Show(sb.ToString());

+ 24 - 12
Optimizer/EmbeddedAssembly.cs

@@ -4,30 +4,36 @@ using System.IO;
 using System.Reflection;
 using System.Reflection;
 using System.Security.Cryptography;
 using System.Security.Cryptography;
 
 
-namespace Optimizer {
-    internal sealed class EmbeddedAssembly {
+namespace Optimizer
+{
+    internal sealed class EmbeddedAssembly
+    {
         static Dictionary<string, Assembly> _dictionary;
         static Dictionary<string, Assembly> _dictionary;
 
 
-        internal static void Load(string embeddedResource, string fileName) {
+        internal static void Load(string embeddedResource, string fileName)
+        {
             if (_dictionary == null) _dictionary = new Dictionary<string, Assembly>();
             if (_dictionary == null) _dictionary = new Dictionary<string, Assembly>();
 
 
             byte[] bytes = null;
             byte[] bytes = null;
             Assembly assembly = null;
             Assembly assembly = null;
             Assembly currentAssembly = Assembly.GetExecutingAssembly();
             Assembly currentAssembly = Assembly.GetExecutingAssembly();
 
 
-            using (Stream stream = currentAssembly.GetManifestResourceStream(embeddedResource)) {
+            using (Stream stream = currentAssembly.GetManifestResourceStream(embeddedResource))
+            {
                 if (stream == null) throw new Exception($"{embeddedResource} is not found in Embedded Resources.");
                 if (stream == null) throw new Exception($"{embeddedResource} is not found in Embedded Resources.");
 
 
                 bytes = new byte[(int)stream.Length];
                 bytes = new byte[(int)stream.Length];
                 stream.Read(bytes, 0, (int)stream.Length);
                 stream.Read(bytes, 0, (int)stream.Length);
 
 
-                try {
+                try
+                {
                     assembly = Assembly.Load(bytes);
                     assembly = Assembly.Load(bytes);
 
 
                     _dictionary.Add(assembly.FullName, assembly);
                     _dictionary.Add(assembly.FullName, assembly);
                     return;
                     return;
                 }
                 }
-                catch (Exception ex) {
+                catch (Exception ex)
+                {
                     Logger.LogError("EmbeddedAssembly.Load", ex.Message, ex.StackTrace);
                     Logger.LogError("EmbeddedAssembly.Load", ex.Message, ex.StackTrace);
                 }
                 }
             }
             }
@@ -35,25 +41,30 @@ namespace Optimizer {
             bool fileOk = false;
             bool fileOk = false;
             string tempFile = string.Empty;
             string tempFile = string.Empty;
 
 
-            using (SHA1CryptoServiceProvider sha1 = new SHA1CryptoServiceProvider()) {
+            using (SHA1CryptoServiceProvider sha1 = new SHA1CryptoServiceProvider())
+            {
                 string fileHash = BitConverter.ToString(sha1.ComputeHash(bytes)).Replace("-", string.Empty);
                 string fileHash = BitConverter.ToString(sha1.ComputeHash(bytes)).Replace("-", string.Empty);
 
 
                 tempFile = Path.GetTempPath() + fileName;
                 tempFile = Path.GetTempPath() + fileName;
 
 
-                if (File.Exists(tempFile)) {
+                if (File.Exists(tempFile))
+                {
                     byte[] byteArray = File.ReadAllBytes(tempFile);
                     byte[] byteArray = File.ReadAllBytes(tempFile);
                     string fileHash2 = BitConverter.ToString(sha1.ComputeHash(byteArray)).Replace("-", string.Empty);
                     string fileHash2 = BitConverter.ToString(sha1.ComputeHash(byteArray)).Replace("-", string.Empty);
 
 
-                    if (fileHash == fileHash2) {
+                    if (fileHash == fileHash2)
+                    {
                         fileOk = true;
                         fileOk = true;
                     }
                     }
                 }
                 }
-                else {
+                else
+                {
                     fileOk = false;
                     fileOk = false;
                 }
                 }
             }
             }
 
 
-            if (!fileOk) {
+            if (!fileOk)
+            {
                 File.WriteAllBytes(tempFile, bytes);
                 File.WriteAllBytes(tempFile, bytes);
             }
             }
 
 
@@ -61,7 +72,8 @@ namespace Optimizer {
             _dictionary.Add(assembly.FullName, assembly);
             _dictionary.Add(assembly.FullName, assembly);
         }
         }
 
 
-        internal static Assembly Get(string assemblyFullName) {
+        internal static Assembly Get(string assemblyFullName)
+        {
             if (_dictionary == null || _dictionary.Count == 0) return null;
             if (_dictionary == null || _dictionary.Count == 0) return null;
             if (_dictionary.ContainsKey(assemblyFullName)) return _dictionary[assemblyFullName];
             if (_dictionary.ContainsKey(assemblyFullName)) return _dictionary[assemblyFullName];
             return null;
             return null;

+ 22 - 11
Optimizer/ErrorLogger.cs

@@ -2,13 +2,16 @@
 using System.IO;
 using System.IO;
 using System.Text;
 using System.Text;
 
 
-namespace Optimizer {
-    internal static class Logger {
+namespace Optimizer
+{
+    internal static class Logger
+    {
         internal static string ErrorLogFile = Path.Combine(CoreHelper.CoreFolder, "Optimizer.log");
         internal static string ErrorLogFile = Path.Combine(CoreHelper.CoreFolder, "Optimizer.log");
 
 
         static StringBuilder _silentReportLog;
         static StringBuilder _silentReportLog;
 
 
-        private static void LogErrorSilent(string functionName, string errorMessage, string errorStackTrace) {
+        private static void LogErrorSilent(string functionName, string errorMessage, string errorStackTrace)
+        {
             _silentReportLog.AppendLine(string.Format("[ERROR] [{0}] in function [{1}]", DateTime.Now.ToString(), functionName));
             _silentReportLog.AppendLine(string.Format("[ERROR] [{0}] in function [{1}]", DateTime.Now.ToString(), functionName));
             _silentReportLog.AppendLine();
             _silentReportLog.AppendLine();
             _silentReportLog.AppendLine(errorMessage);
             _silentReportLog.AppendLine(errorMessage);
@@ -18,12 +21,14 @@ namespace Optimizer {
             _silentReportLog.AppendLine();
             _silentReportLog.AppendLine();
         }
         }
 
 
-        internal static void LogInfoSilent(string message) {
+        internal static void LogInfoSilent(string message)
+        {
             _silentReportLog.AppendLine($"[OK] {message}");
             _silentReportLog.AppendLine($"[OK] {message}");
             _silentReportLog.AppendLine();
             _silentReportLog.AppendLine();
         }
         }
 
 
-        internal static void InitializeSilentReport() {
+        internal static void InitializeSilentReport()
+        {
             _silentReportLog = new StringBuilder();
             _silentReportLog = new StringBuilder();
 
 
             _silentReportLog.AppendLine(Utilities.GetWindowsDetails());
             _silentReportLog.AppendLine(Utilities.GetWindowsDetails());
@@ -34,21 +39,27 @@ namespace Optimizer {
             _silentReportLog.AppendLine();
             _silentReportLog.AppendLine();
         }
         }
 
 
-        internal static void GenerateSilentReport() {
-            try {
+        internal static void GenerateSilentReport()
+        {
+            try
+            {
                 File.WriteAllText($"Optimizer.SilentReport.{DateTime.Now.ToString("yyyyMMddTHHmm")}.log", _silentReportLog.ToString());
                 File.WriteAllText($"Optimizer.SilentReport.{DateTime.Now.ToString("yyyyMMddTHHmm")}.log", _silentReportLog.ToString());
             }
             }
             catch { }
             catch { }
         }
         }
 
 
-        internal static void LogError(string functionName, string errorMessage, string errorStackTrace) {
-            if (Program.SILENT_MODE) {
+        internal static void LogError(string functionName, string errorMessage, string errorStackTrace)
+        {
+            if (Program.SILENT_MODE)
+            {
                 LogErrorSilent(functionName, errorMessage, errorStackTrace);
                 LogErrorSilent(functionName, errorMessage, errorStackTrace);
                 return;
                 return;
             }
             }
 
 
-            try {
-                if (!File.Exists(ErrorLogFile) || (File.Exists(ErrorLogFile) && File.ReadAllText(ErrorLogFile).Trim() == string.Empty)) {
+            try
+            {
+                if (!File.Exists(ErrorLogFile) || (File.Exists(ErrorLogFile) && File.ReadAllText(ErrorLogFile).Trim() == string.Empty))
+                {
                     File.AppendAllText(ErrorLogFile, Utilities.GetWindowsDetails());
                     File.AppendAllText(ErrorLogFile, Utilities.GetWindowsDetails());
                     File.AppendAllText(ErrorLogFile, Environment.NewLine);
                     File.AppendAllText(ErrorLogFile, Environment.NewLine);
                     File.AppendAllText(ErrorLogFile, string.Format("Optimizer {0} - .NET Framework {1} - Experimental build: {2}", Program.GetCurrentVersionTostring(), Utilities.GetNETFramework(), Program.EXPERIMENTAL_BUILD));
                     File.AppendAllText(ErrorLogFile, string.Format("Optimizer {0} - .NET Framework {1} - Experimental build: {2}", Program.GetCurrentVersionTostring(), Utilities.GetNETFramework(), Program.EXPERIMENTAL_BUILD));

+ 24 - 12
Optimizer/FileHandleHelper.cs

@@ -3,16 +3,20 @@ using System.Collections.Generic;
 using System.Diagnostics;
 using System.Diagnostics;
 using System.Runtime.InteropServices;
 using System.Runtime.InteropServices;
 
 
-namespace Optimizer {
-    public static class FileHandleHelper {
-        public static List<Process> GetProcessesLockingFile(string path) {
+namespace Optimizer
+{
+    public static class FileHandleHelper
+    {
+        public static List<Process> GetProcessesLockingFile(string path)
+        {
             uint handle;
             uint handle;
             string key = Guid.NewGuid().ToString();
             string key = Guid.NewGuid().ToString();
             int res = RmStartSession(out handle, 0, key);
             int res = RmStartSession(out handle, 0, key);
 
 
             if (res != 0) return null;
             if (res != 0) return null;
 
 
-            try {
+            try
+            {
                 const int MORE_DATA = 234;
                 const int MORE_DATA = 234;
                 uint pnProcInfoNeeded, pnProcInfo = 0, lpdwRebootReasons = RmRebootReasonNone;
                 uint pnProcInfoNeeded, pnProcInfo = 0, lpdwRebootReasons = RmRebootReasonNone;
 
 
@@ -24,12 +28,14 @@ namespace Optimizer {
 
 
                 res = RmGetList(handle, out pnProcInfoNeeded, ref pnProcInfo, null, ref lpdwRebootReasons);
                 res = RmGetList(handle, out pnProcInfoNeeded, ref pnProcInfo, null, ref lpdwRebootReasons);
 
 
-                if (res == MORE_DATA) {
+                if (res == MORE_DATA)
+                {
                     return EnumerateProcesses(pnProcInfoNeeded, handle, lpdwRebootReasons);
                     return EnumerateProcesses(pnProcInfoNeeded, handle, lpdwRebootReasons);
                 }
                 }
                 else if (res != 0) return null;
                 else if (res != 0) return null;
             }
             }
-            finally {
+            finally
+            {
                 RmEndSession(handle);
                 RmEndSession(handle);
             }
             }
 
 
@@ -38,7 +44,8 @@ namespace Optimizer {
 
 
 
 
         [StructLayout(LayoutKind.Sequential)]
         [StructLayout(LayoutKind.Sequential)]
-        public struct RM_UNIQUE_PROCESS {
+        public struct RM_UNIQUE_PROCESS
+        {
             public int dwProcessId;
             public int dwProcessId;
             public System.Runtime.InteropServices.ComTypes.FILETIME ProcessStartTime;
             public System.Runtime.InteropServices.ComTypes.FILETIME ProcessStartTime;
         }
         }
@@ -47,7 +54,8 @@ namespace Optimizer {
         const int CCH_RM_MAX_APP_NAME = 255;
         const int CCH_RM_MAX_APP_NAME = 255;
         const int CCH_RM_MAX_SVC_NAME = 63;
         const int CCH_RM_MAX_SVC_NAME = 63;
 
 
-        public enum RM_APP_TYPE {
+        public enum RM_APP_TYPE
+        {
             RmUnknownApp = 0,
             RmUnknownApp = 0,
             RmMainWindow = 1,
             RmMainWindow = 1,
             RmOtherWindow = 2,
             RmOtherWindow = 2,
@@ -58,7 +66,8 @@ namespace Optimizer {
         }
         }
 
 
         [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
         [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)]
-        public struct RM_PROCESS_INFO {
+        public struct RM_PROCESS_INFO
+        {
             public RM_UNIQUE_PROCESS Process;
             public RM_UNIQUE_PROCESS Process;
 
 
             [MarshalAs(UnmanagedType.ByValTStr, SizeConst = CCH_RM_MAX_APP_NAME + 1)] public string strAppName;
             [MarshalAs(UnmanagedType.ByValTStr, SizeConst = CCH_RM_MAX_APP_NAME + 1)] public string strAppName;
@@ -87,7 +96,8 @@ namespace Optimizer {
             ref uint pnProcInfo, [In, Out] RM_PROCESS_INFO[] rgAffectedApps,
             ref uint pnProcInfo, [In, Out] RM_PROCESS_INFO[] rgAffectedApps,
             ref uint lpdwRebootReasons);
             ref uint lpdwRebootReasons);
 
 
-        private static List<Process> EnumerateProcesses(uint pnProcInfoNeeded, uint handle, uint lpdwRebootReasons) {
+        private static List<Process> EnumerateProcesses(uint pnProcInfoNeeded, uint handle, uint lpdwRebootReasons)
+        {
             var processes = new List<Process>(10);
             var processes = new List<Process>(10);
 
 
             var processInfo = new RM_PROCESS_INFO[pnProcInfoNeeded];
             var processInfo = new RM_PROCESS_INFO[pnProcInfoNeeded];
@@ -98,8 +108,10 @@ namespace Optimizer {
 
 
             if (res != 0) return null;
             if (res != 0) return null;
 
 
-            for (int i = 0; i < pnProcInfo; i++) {
-                try {
+            for (int i = 0; i < pnProcInfo; i++)
+            {
+                try
+                {
                     processes.Add(Process.GetProcessById(processInfo[i].Process.dwProcessId));
                     processes.Add(Process.GetProcessById(processInfo[i].Process.dwProcessId));
                 }
                 }
                 catch { }
                 catch { }

+ 36 - 18
Optimizer/FontHelper.cs

@@ -5,8 +5,10 @@ using System.Drawing;
 using System.Drawing.Text;
 using System.Drawing.Text;
 using System.Linq;
 using System.Linq;
 
 
-namespace Optimizer {
-    internal static class FontHelper {
+namespace Optimizer
+{
+    internal static class FontHelper
+    {
         [System.Runtime.InteropServices.DllImport("gdi32.dll")]
         [System.Runtime.InteropServices.DllImport("gdi32.dll")]
         private static extern IntPtr AddFontMemResourceEx(IntPtr pbFont, uint cbFont,
         private static extern IntPtr AddFontMemResourceEx(IntPtr pbFont, uint cbFont,
             IntPtr pdv, [System.Runtime.InteropServices.In] ref uint pcFonts);
             IntPtr pdv, [System.Runtime.InteropServices.In] ref uint pcFonts);
@@ -15,7 +17,8 @@ namespace Optimizer {
 
 
         internal static Font Poppins15;
         internal static Font Poppins15;
 
 
-        internal static void LoadFont() {
+        internal static void LoadFont()
+        {
             byte[] fontData = Properties.Resources.Poppins_Regular;
             byte[] fontData = Properties.Resources.Poppins_Regular;
             IntPtr fontPtr = System.Runtime.InteropServices.Marshal.AllocCoTaskMem(fontData.Length);
             IntPtr fontPtr = System.Runtime.InteropServices.Marshal.AllocCoTaskMem(fontData.Length);
             System.Runtime.InteropServices.Marshal.Copy(fontData, 0, fontPtr, fontData.Length);
             System.Runtime.InteropServices.Marshal.Copy(fontData, 0, fontPtr, fontData.Length);
@@ -29,13 +32,17 @@ namespace Optimizer {
             Poppins15 = new Font(fonts.Families[0], 13f);
             Poppins15 = new Font(fonts.Families[0], 13f);
         }
         }
 
 
-        internal static IEnumerable<string> GetAvailableFonts() {
+        internal static IEnumerable<string> GetAvailableFonts()
+        {
             return new InstalledFontCollection().Families.Select(x => x.Name);
             return new InstalledFontCollection().Families.Select(x => x.Name);
         }
         }
 
 
-        internal static void ChangeGlobalFont(string fontName) {
-            try {
-                using (RegistryKey fontsKey = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts", true)) {
+        internal static void ChangeGlobalFont(string fontName)
+        {
+            try
+            {
+                using (RegistryKey fontsKey = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts", true))
+                {
                     fontsKey.SetValue("Segoe UI (TrueType)", "");
                     fontsKey.SetValue("Segoe UI (TrueType)", "");
                     fontsKey.SetValue("Segoe UI Bold (TrueType)", "");
                     fontsKey.SetValue("Segoe UI Bold (TrueType)", "");
                     fontsKey.SetValue("Segoe UI Bold Italic (TrueType)", "");
                     fontsKey.SetValue("Segoe UI Bold Italic (TrueType)", "");
@@ -45,30 +52,39 @@ namespace Optimizer {
                     fontsKey.SetValue("Segoe UI Symbol (TrueType)", "");
                     fontsKey.SetValue("Segoe UI Symbol (TrueType)", "");
                 }
                 }
 
 
-                using (RegistryKey fontSubstitutesKey = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontSubstitutes", true)) {
+                using (RegistryKey fontSubstitutesKey = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontSubstitutes", true))
+                {
                     fontSubstitutesKey.SetValue("Segoe UI", fontName);
                     fontSubstitutesKey.SetValue("Segoe UI", fontName);
                 }
                 }
             }
             }
-            catch (Exception ex) {
+            catch (Exception ex)
+            {
                 Logger.LogError("FontHelper.ChangeGlobalFont", ex.Message, ex.StackTrace);
                 Logger.LogError("FontHelper.ChangeGlobalFont", ex.Message, ex.StackTrace);
             }
             }
         }
         }
 
 
-        internal static string GetCurrentGlobalFont() {
-            try {
-                using (RegistryKey fontSubstitutesKey = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontSubstitutes", false)) {
+        internal static string GetCurrentGlobalFont()
+        {
+            try
+            {
+                using (RegistryKey fontSubstitutesKey = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontSubstitutes", false))
+                {
                     return fontSubstitutesKey.GetValue("Segoe UI", string.Empty) as string;
                     return fontSubstitutesKey.GetValue("Segoe UI", string.Empty) as string;
                 }
                 }
             }
             }
-            catch (Exception ex) {
+            catch (Exception ex)
+            {
                 Logger.LogError("FontHelper.GetCurrentGlobalFont", ex.Message, ex.StackTrace);
                 Logger.LogError("FontHelper.GetCurrentGlobalFont", ex.Message, ex.StackTrace);
                 return string.Empty;
                 return string.Empty;
             }
             }
         }
         }
 
 
-        internal static void RestoreDefaultGlobalFont() {
-            try {
-                using (RegistryKey fontsKey = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts", true)) {
+        internal static void RestoreDefaultGlobalFont()
+        {
+            try
+            {
+                using (RegistryKey fontsKey = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts", true))
+                {
                     fontsKey.SetValue("Segoe UI (TrueType)", "segoeui.ttf");
                     fontsKey.SetValue("Segoe UI (TrueType)", "segoeui.ttf");
                     fontsKey.SetValue("Segoe UI Black (TrueType)", "seguibl.ttf");
                     fontsKey.SetValue("Segoe UI Black (TrueType)", "seguibl.ttf");
                     fontsKey.SetValue("Segoe UI Black Italic (TrueType)", "seguibli.ttf");
                     fontsKey.SetValue("Segoe UI Black Italic (TrueType)", "seguibli.ttf");
@@ -91,11 +107,13 @@ namespace Optimizer {
                     fontsKey.SetValue("Segoe Script Bold (TrueType)", "segoescb.ttf");
                     fontsKey.SetValue("Segoe Script Bold (TrueType)", "segoescb.ttf");
                 }
                 }
 
 
-                using (RegistryKey fontSubstitutesKey = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontSubstitutes", true)) {
+                using (RegistryKey fontSubstitutesKey = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontSubstitutes", true))
+                {
                     fontSubstitutesKey.DeleteValue("Segoe UI", false);
                     fontSubstitutesKey.DeleteValue("Segoe UI", false);
                 }
                 }
             }
             }
-            catch (Exception ex) {
+            catch (Exception ex)
+            {
                 Logger.LogError("FontHelper.RestoreDefaultGlobalFont", ex.Message, ex.StackTrace);
                 Logger.LogError("FontHelper.RestoreDefaultGlobalFont", ex.Message, ex.StackTrace);
             }
             }
         }
         }

+ 18 - 9
Optimizer/Forms/AboutForm.cs

@@ -2,23 +2,28 @@
 using System.Diagnostics;
 using System.Diagnostics;
 using System.Windows.Forms;
 using System.Windows.Forms;
 
 
-namespace Optimizer {
-    public sealed partial class AboutForm : Form {
-        public AboutForm() {
+namespace Optimizer
+{
+    public sealed partial class AboutForm : Form
+    {
+        public AboutForm()
+        {
             InitializeComponent();
             InitializeComponent();
             OptionsHelper.ApplyTheme(this);
             OptionsHelper.ApplyTheme(this);
 
 
             pictureBox1.BackColor = OptionsHelper.CurrentOptions.Theme;
             pictureBox1.BackColor = OptionsHelper.CurrentOptions.Theme;
         }
         }
 
 
-        private void About_Load(object sender, EventArgs e) {
+        private void About_Load(object sender, EventArgs e)
+        {
             t1.Interval = 50;
             t1.Interval = 50;
             t2.Interval = 50;
             t2.Interval = 50;
 
 
             t1.Start();
             t1.Start();
         }
         }
 
 
-        private void t1_Tick(object sender, EventArgs e) {
+        private void t1_Tick(object sender, EventArgs e)
+        {
             string s0 = "";
             string s0 = "";
             string s1 = "O";
             string s1 = "O";
             string s2 = "Op";
             string s2 = "Op";
@@ -30,7 +35,8 @@ namespace Optimizer {
             string s8 = "Optimize";
             string s8 = "Optimize";
             string s9 = "Optimizer";
             string s9 = "Optimizer";
 
 
-            switch (l1.Text) {
+            switch (l1.Text)
+            {
                 case "":
                 case "":
                     l1.Text = s1;
                     l1.Text = s1;
                     break;
                     break;
@@ -66,7 +72,8 @@ namespace Optimizer {
             }
             }
         }
         }
 
 
-        private void t2_Tick(object sender, EventArgs e) {
+        private void t2_Tick(object sender, EventArgs e)
+        {
             string s0 = "";
             string s0 = "";
             string s1 = "d";
             string s1 = "d";
             string s2 = "de";
             string s2 = "de";
@@ -79,7 +86,8 @@ namespace Optimizer {
             string s9 = "deadmoon © ";
             string s9 = "deadmoon © ";
             string s10 = "deadmoon © ∞";
             string s10 = "deadmoon © ∞";
 
 
-            switch (l2.Text) {
+            switch (l2.Text)
+            {
                 case "":
                 case "":
                     l2.Text = s1;
                     l2.Text = s1;
                     break;
                     break;
@@ -117,7 +125,8 @@ namespace Optimizer {
             }
             }
         }
         }
 
 
-        private void l2_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) {
+        private void l2_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
+        {
             Process.Start("https://github.com/hellzerg/optimizer");
             Process.Start("https://github.com/hellzerg/optimizer");
         }
         }
     }
     }

+ 18 - 9
Optimizer/Forms/FileUnlockForm.cs

@@ -6,11 +6,14 @@ using System.IO;
 using System.Linq;
 using System.Linq;
 using System.Windows.Forms;
 using System.Windows.Forms;
 
 
-namespace Optimizer {
-    public sealed partial class FileUnlockForm : Form {
+namespace Optimizer
+{
+    public sealed partial class FileUnlockForm : Form
+    {
         List<Process> _lockingProcesses;
         List<Process> _lockingProcesses;
 
 
-        public FileUnlockForm() {
+        public FileUnlockForm()
+        {
             InitializeComponent();
             InitializeComponent();
             CheckForIllegalCrossThreadCalls = false;
             CheckForIllegalCrossThreadCalls = false;
             OptionsHelper.ApplyTheme(this);
             OptionsHelper.ApplyTheme(this);
@@ -19,11 +22,13 @@ namespace Optimizer {
             btnKill.Text = OptionsHelper.TranslationList["btnKill"].ToString();
             btnKill.Text = OptionsHelper.TranslationList["btnKill"].ToString();
         }
         }
 
 
-        private void FileUnlockForm_Load(object sender, EventArgs e) {
+        private void FileUnlockForm_Load(object sender, EventArgs e)
+        {
 
 
         }
         }
 
 
-        private void btnFind_Click(object sender, EventArgs e) {
+        private void btnFind_Click(object sender, EventArgs e)
+        {
             if (string.IsNullOrEmpty(txtFile.Text)) return;
             if (string.IsNullOrEmpty(txtFile.Text)) return;
             if (!File.Exists(txtFile.Text)) return;
             if (!File.Exists(txtFile.Text)) return;
 
 
@@ -35,13 +40,17 @@ namespace Optimizer {
             listProcesses.Items.AddRange(_lockingProcesses.Select(x => $"[{x.Id}] {x.ProcessName}").ToArray());
             listProcesses.Items.AddRange(_lockingProcesses.Select(x => $"[{x.Id}] {x.ProcessName}").ToArray());
         }
         }
 
 
-        private void btnKill_Click(object sender, EventArgs e) {
+        private void btnKill_Click(object sender, EventArgs e)
+        {
             if (listProcesses.CheckedItems.Count <= 0) return;
             if (listProcesses.CheckedItems.Count <= 0) return;
 
 
-            foreach (string x in listProcesses.CheckedItems) {
+            foreach (string x in listProcesses.CheckedItems)
+            {
                 IEnumerable<Process> prs = Process.GetProcesses().Where(pr => pr.ProcessName == x.Replace(x.Substring(0, x.IndexOf("]") + 1), string.Empty).Trim());
                 IEnumerable<Process> prs = Process.GetProcesses().Where(pr => pr.ProcessName == x.Replace(x.Substring(0, x.IndexOf("]") + 1), string.Empty).Trim());
-                foreach (Process z in prs) {
-                    try {
+                foreach (Process z in prs)
+                {
+                    try
+                    {
                         z.Kill();
                         z.Kill();
                     }
                     }
                     catch { continue; }
                     catch { continue; }

+ 114 - 46
Optimizer/Forms/FirstRunForm.Designer.cs

@@ -79,6 +79,10 @@ namespace Optimizer
             this.pictureBox20 = new System.Windows.Forms.PictureBox();
             this.pictureBox20 = new System.Windows.Forms.PictureBox();
             this.radioBulgarian = new Optimizer.MoonRadio();
             this.radioBulgarian = new Optimizer.MoonRadio();
             this.pictureBox21 = new System.Windows.Forms.PictureBox();
             this.pictureBox21 = new System.Windows.Forms.PictureBox();
+            this.radioVietnam = new Optimizer.MoonRadio();
+            this.pictureBox22 = new System.Windows.Forms.PictureBox();
+            this.radioUrdu = new Optimizer.MoonRadio();
+            this.pictureBox23 = new System.Windows.Forms.PictureBox();
             ((System.ComponentModel.ISupportInitialize)(this.pictureBox88)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.pictureBox88)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.pictureBox87)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.pictureBox87)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.pictureBox86)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.pictureBox86)).BeginInit();
@@ -103,6 +107,8 @@ namespace Optimizer
             ((System.ComponentModel.ISupportInitialize)(this.pictureBox19)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.pictureBox19)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.pictureBox20)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.pictureBox20)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.pictureBox21)).BeginInit();
             ((System.ComponentModel.ISupportInitialize)(this.pictureBox21)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.pictureBox22)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.pictureBox23)).BeginInit();
             this.SuspendLayout();
             this.SuspendLayout();
             // 
             // 
             // pictureBox88
             // pictureBox88
@@ -151,10 +157,10 @@ namespace Optimizer
             this.btnStart.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
             this.btnStart.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
             this.btnStart.Font = new System.Drawing.Font("Segoe UI Semibold", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
             this.btnStart.Font = new System.Drawing.Font("Segoe UI Semibold", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
             this.btnStart.ForeColor = System.Drawing.Color.White;
             this.btnStart.ForeColor = System.Drawing.Color.White;
-            this.btnStart.Location = new System.Drawing.Point(11, 401);
-            this.btnStart.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
+            this.btnStart.Location = new System.Drawing.Point(11, 256);
+            this.btnStart.Margin = new System.Windows.Forms.Padding(2);
             this.btnStart.Name = "btnStart";
             this.btnStart.Name = "btnStart";
-            this.btnStart.Size = new System.Drawing.Size(314, 31);
+            this.btnStart.Size = new System.Drawing.Size(663, 31);
             this.btnStart.TabIndex = 86;
             this.btnStart.TabIndex = 86;
             this.btnStart.Tag = "themeable";
             this.btnStart.Tag = "themeable";
             this.btnStart.Text = "✓";
             this.btnStart.Text = "✓";
@@ -277,7 +283,7 @@ namespace Optimizer
             this.radioKorean.Font = new System.Drawing.Font("Segoe UI Semibold", 12F);
             this.radioKorean.Font = new System.Drawing.Font("Segoe UI Semibold", 12F);
             this.radioKorean.ForeColor = System.Drawing.Color.White;
             this.radioKorean.ForeColor = System.Drawing.Color.White;
             this.radioKorean.Location = new System.Drawing.Point(222, 186);
             this.radioKorean.Location = new System.Drawing.Point(222, 186);
-            this.radioKorean.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
+            this.radioKorean.Margin = new System.Windows.Forms.Padding(2);
             this.radioKorean.Name = "radioKorean";
             this.radioKorean.Name = "radioKorean";
             this.radioKorean.Size = new System.Drawing.Size(76, 25);
             this.radioKorean.Size = new System.Drawing.Size(76, 25);
             this.radioKorean.TabIndex = 106;
             this.radioKorean.TabIndex = 106;
@@ -292,7 +298,7 @@ namespace Optimizer
             this.radioTaiwan.Font = new System.Drawing.Font("Segoe UI Semibold", 12F);
             this.radioTaiwan.Font = new System.Drawing.Font("Segoe UI Semibold", 12F);
             this.radioTaiwan.ForeColor = System.Drawing.Color.White;
             this.radioTaiwan.ForeColor = System.Drawing.Color.White;
             this.radioTaiwan.Location = new System.Drawing.Point(222, 157);
             this.radioTaiwan.Location = new System.Drawing.Point(222, 157);
-            this.radioTaiwan.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
+            this.radioTaiwan.Margin = new System.Windows.Forms.Padding(2);
             this.radioTaiwan.Name = "radioTaiwan";
             this.radioTaiwan.Name = "radioTaiwan";
             this.radioTaiwan.Size = new System.Drawing.Size(96, 25);
             this.radioTaiwan.Size = new System.Drawing.Size(96, 25);
             this.radioTaiwan.TabIndex = 104;
             this.radioTaiwan.TabIndex = 104;
@@ -307,7 +313,7 @@ namespace Optimizer
             this.radioCzech.Font = new System.Drawing.Font("Segoe UI Semibold", 12F);
             this.radioCzech.Font = new System.Drawing.Font("Segoe UI Semibold", 12F);
             this.radioCzech.ForeColor = System.Drawing.Color.White;
             this.radioCzech.ForeColor = System.Drawing.Color.White;
             this.radioCzech.Location = new System.Drawing.Point(53, 156);
             this.radioCzech.Location = new System.Drawing.Point(53, 156);
-            this.radioCzech.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
+            this.radioCzech.Margin = new System.Windows.Forms.Padding(2);
             this.radioCzech.Name = "radioCzech";
             this.radioCzech.Name = "radioCzech";
             this.radioCzech.Size = new System.Drawing.Size(81, 25);
             this.radioCzech.Size = new System.Drawing.Size(81, 25);
             this.radioCzech.TabIndex = 102;
             this.radioCzech.TabIndex = 102;
@@ -322,7 +328,7 @@ namespace Optimizer
             this.radioChinese.Font = new System.Drawing.Font("Segoe UI Semibold", 12F);
             this.radioChinese.Font = new System.Drawing.Font("Segoe UI Semibold", 12F);
             this.radioChinese.ForeColor = System.Drawing.Color.White;
             this.radioChinese.ForeColor = System.Drawing.Color.White;
             this.radioChinese.Location = new System.Drawing.Point(222, 127);
             this.radioChinese.Location = new System.Drawing.Point(222, 127);
-            this.radioChinese.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
+            this.radioChinese.Margin = new System.Windows.Forms.Padding(2);
             this.radioChinese.Name = "radioChinese";
             this.radioChinese.Name = "radioChinese";
             this.radioChinese.Size = new System.Drawing.Size(96, 25);
             this.radioChinese.Size = new System.Drawing.Size(96, 25);
             this.radioChinese.TabIndex = 100;
             this.radioChinese.TabIndex = 100;
@@ -337,7 +343,7 @@ namespace Optimizer
             this.radioItalian.Font = new System.Drawing.Font("Segoe UI Semibold", 12F);
             this.radioItalian.Font = new System.Drawing.Font("Segoe UI Semibold", 12F);
             this.radioItalian.ForeColor = System.Drawing.Color.White;
             this.radioItalian.ForeColor = System.Drawing.Color.White;
             this.radioItalian.Location = new System.Drawing.Point(53, 127);
             this.radioItalian.Location = new System.Drawing.Point(53, 127);
-            this.radioItalian.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
+            this.radioItalian.Margin = new System.Windows.Forms.Padding(2);
             this.radioItalian.Name = "radioItalian";
             this.radioItalian.Name = "radioItalian";
             this.radioItalian.Size = new System.Drawing.Size(82, 25);
             this.radioItalian.Size = new System.Drawing.Size(82, 25);
             this.radioItalian.TabIndex = 98;
             this.radioItalian.TabIndex = 98;
@@ -352,7 +358,7 @@ namespace Optimizer
             this.radioFrench.Font = new System.Drawing.Font("Segoe UI Semibold", 12F);
             this.radioFrench.Font = new System.Drawing.Font("Segoe UI Semibold", 12F);
             this.radioFrench.ForeColor = System.Drawing.Color.White;
             this.radioFrench.ForeColor = System.Drawing.Color.White;
             this.radioFrench.Location = new System.Drawing.Point(222, 96);
             this.radioFrench.Location = new System.Drawing.Point(222, 96);
-            this.radioFrench.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
+            this.radioFrench.Margin = new System.Windows.Forms.Padding(2);
             this.radioFrench.Name = "radioFrench";
             this.radioFrench.Name = "radioFrench";
             this.radioFrench.Size = new System.Drawing.Size(86, 25);
             this.radioFrench.Size = new System.Drawing.Size(86, 25);
             this.radioFrench.TabIndex = 96;
             this.radioFrench.TabIndex = 96;
@@ -367,7 +373,7 @@ namespace Optimizer
             this.radioPortuguese.Font = new System.Drawing.Font("Segoe UI Semibold", 12F);
             this.radioPortuguese.Font = new System.Drawing.Font("Segoe UI Semibold", 12F);
             this.radioPortuguese.ForeColor = System.Drawing.Color.White;
             this.radioPortuguese.ForeColor = System.Drawing.Color.White;
             this.radioPortuguese.Location = new System.Drawing.Point(221, 67);
             this.radioPortuguese.Location = new System.Drawing.Point(221, 67);
-            this.radioPortuguese.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
+            this.radioPortuguese.Margin = new System.Windows.Forms.Padding(2);
             this.radioPortuguese.Name = "radioPortuguese";
             this.radioPortuguese.Name = "radioPortuguese";
             this.radioPortuguese.Size = new System.Drawing.Size(102, 25);
             this.radioPortuguese.Size = new System.Drawing.Size(102, 25);
             this.radioPortuguese.TabIndex = 94;
             this.radioPortuguese.TabIndex = 94;
@@ -382,7 +388,7 @@ namespace Optimizer
             this.radioSpanish.Font = new System.Drawing.Font("Segoe UI Semibold", 12F);
             this.radioSpanish.Font = new System.Drawing.Font("Segoe UI Semibold", 12F);
             this.radioSpanish.ForeColor = System.Drawing.Color.White;
             this.radioSpanish.ForeColor = System.Drawing.Color.White;
             this.radioSpanish.Location = new System.Drawing.Point(221, 38);
             this.radioSpanish.Location = new System.Drawing.Point(221, 38);
-            this.radioSpanish.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
+            this.radioSpanish.Margin = new System.Windows.Forms.Padding(2);
             this.radioSpanish.Name = "radioSpanish";
             this.radioSpanish.Name = "radioSpanish";
             this.radioSpanish.Size = new System.Drawing.Size(84, 25);
             this.radioSpanish.Size = new System.Drawing.Size(84, 25);
             this.radioSpanish.TabIndex = 92;
             this.radioSpanish.TabIndex = 92;
@@ -397,7 +403,7 @@ namespace Optimizer
             this.radioGerman.Font = new System.Drawing.Font("Segoe UI Semibold", 12F);
             this.radioGerman.Font = new System.Drawing.Font("Segoe UI Semibold", 12F);
             this.radioGerman.ForeColor = System.Drawing.Color.White;
             this.radioGerman.ForeColor = System.Drawing.Color.White;
             this.radioGerman.Location = new System.Drawing.Point(53, 98);
             this.radioGerman.Location = new System.Drawing.Point(53, 98);
-            this.radioGerman.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
+            this.radioGerman.Margin = new System.Windows.Forms.Padding(2);
             this.radioGerman.Name = "radioGerman";
             this.radioGerman.Name = "radioGerman";
             this.radioGerman.Size = new System.Drawing.Size(87, 25);
             this.radioGerman.Size = new System.Drawing.Size(87, 25);
             this.radioGerman.TabIndex = 90;
             this.radioGerman.TabIndex = 90;
@@ -412,7 +418,7 @@ namespace Optimizer
             this.radioTurkish.Font = new System.Drawing.Font("Segoe UI Semibold", 12F);
             this.radioTurkish.Font = new System.Drawing.Font("Segoe UI Semibold", 12F);
             this.radioTurkish.ForeColor = System.Drawing.Color.White;
             this.radioTurkish.ForeColor = System.Drawing.Color.White;
             this.radioTurkish.Location = new System.Drawing.Point(221, 9);
             this.radioTurkish.Location = new System.Drawing.Point(221, 9);
-            this.radioTurkish.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
+            this.radioTurkish.Margin = new System.Windows.Forms.Padding(2);
             this.radioTurkish.Name = "radioTurkish";
             this.radioTurkish.Name = "radioTurkish";
             this.radioTurkish.Size = new System.Drawing.Size(76, 25);
             this.radioTurkish.Size = new System.Drawing.Size(76, 25);
             this.radioTurkish.TabIndex = 88;
             this.radioTurkish.TabIndex = 88;
@@ -427,7 +433,7 @@ namespace Optimizer
             this.radioHellenic.Font = new System.Drawing.Font("Segoe UI Semibold", 12F);
             this.radioHellenic.Font = new System.Drawing.Font("Segoe UI Semibold", 12F);
             this.radioHellenic.ForeColor = System.Drawing.Color.White;
             this.radioHellenic.ForeColor = System.Drawing.Color.White;
             this.radioHellenic.Location = new System.Drawing.Point(53, 69);
             this.radioHellenic.Location = new System.Drawing.Point(53, 69);
-            this.radioHellenic.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
+            this.radioHellenic.Margin = new System.Windows.Forms.Padding(2);
             this.radioHellenic.Name = "radioHellenic";
             this.radioHellenic.Name = "radioHellenic";
             this.radioHellenic.Size = new System.Drawing.Size(94, 25);
             this.radioHellenic.Size = new System.Drawing.Size(94, 25);
             this.radioHellenic.TabIndex = 84;
             this.radioHellenic.TabIndex = 84;
@@ -443,7 +449,7 @@ namespace Optimizer
             this.radioEnglish.Font = new System.Drawing.Font("Segoe UI Semibold", 12F, System.Drawing.FontStyle.Underline);
             this.radioEnglish.Font = new System.Drawing.Font("Segoe UI Semibold", 12F, System.Drawing.FontStyle.Underline);
             this.radioEnglish.ForeColor = System.Drawing.Color.MediumOrchid;
             this.radioEnglish.ForeColor = System.Drawing.Color.MediumOrchid;
             this.radioEnglish.Location = new System.Drawing.Point(53, 11);
             this.radioEnglish.Location = new System.Drawing.Point(53, 11);
-            this.radioEnglish.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
+            this.radioEnglish.Margin = new System.Windows.Forms.Padding(2);
             this.radioEnglish.Name = "radioEnglish";
             this.radioEnglish.Name = "radioEnglish";
             this.radioEnglish.Size = new System.Drawing.Size(79, 25);
             this.radioEnglish.Size = new System.Drawing.Size(79, 25);
             this.radioEnglish.TabIndex = 80;
             this.radioEnglish.TabIndex = 80;
@@ -459,7 +465,7 @@ namespace Optimizer
             this.radioRussian.Font = new System.Drawing.Font("Segoe UI Semibold", 12F);
             this.radioRussian.Font = new System.Drawing.Font("Segoe UI Semibold", 12F);
             this.radioRussian.ForeColor = System.Drawing.Color.White;
             this.radioRussian.ForeColor = System.Drawing.Color.White;
             this.radioRussian.Location = new System.Drawing.Point(53, 40);
             this.radioRussian.Location = new System.Drawing.Point(53, 40);
-            this.radioRussian.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
+            this.radioRussian.Margin = new System.Windows.Forms.Padding(2);
             this.radioRussian.Name = "radioRussian";
             this.radioRussian.Name = "radioRussian";
             this.radioRussian.Size = new System.Drawing.Size(90, 25);
             this.radioRussian.Size = new System.Drawing.Size(90, 25);
             this.radioRussian.TabIndex = 79;
             this.radioRussian.TabIndex = 79;
@@ -474,7 +480,7 @@ namespace Optimizer
             this.radioPolish.Font = new System.Drawing.Font("Segoe UI Semibold", 12F);
             this.radioPolish.Font = new System.Drawing.Font("Segoe UI Semibold", 12F);
             this.radioPolish.ForeColor = System.Drawing.Color.White;
             this.radioPolish.ForeColor = System.Drawing.Color.White;
             this.radioPolish.Location = new System.Drawing.Point(53, 185);
             this.radioPolish.Location = new System.Drawing.Point(53, 185);
-            this.radioPolish.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
+            this.radioPolish.Margin = new System.Windows.Forms.Padding(2);
             this.radioPolish.Name = "radioPolish";
             this.radioPolish.Name = "radioPolish";
             this.radioPolish.Size = new System.Drawing.Size(69, 25);
             this.radioPolish.Size = new System.Drawing.Size(69, 25);
             this.radioPolish.TabIndex = 108;
             this.radioPolish.TabIndex = 108;
@@ -499,8 +505,8 @@ namespace Optimizer
             this.radioArabic.AutoSize = true;
             this.radioArabic.AutoSize = true;
             this.radioArabic.Font = new System.Drawing.Font("Segoe UI Semibold", 12F);
             this.radioArabic.Font = new System.Drawing.Font("Segoe UI Semibold", 12F);
             this.radioArabic.ForeColor = System.Drawing.Color.White;
             this.radioArabic.ForeColor = System.Drawing.Color.White;
-            this.radioArabic.Location = new System.Drawing.Point(53, 214);
-            this.radioArabic.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
+            this.radioArabic.Location = new System.Drawing.Point(386, 101);
+            this.radioArabic.Margin = new System.Windows.Forms.Padding(2);
             this.radioArabic.Name = "radioArabic";
             this.radioArabic.Name = "radioArabic";
             this.radioArabic.Size = new System.Drawing.Size(71, 25);
             this.radioArabic.Size = new System.Drawing.Size(71, 25);
             this.radioArabic.TabIndex = 110;
             this.radioArabic.TabIndex = 110;
@@ -512,7 +518,7 @@ namespace Optimizer
             // pictureBox12
             // pictureBox12
             // 
             // 
             this.pictureBox12.Image = global::Optimizer.Properties.Resources.egypt;
             this.pictureBox12.Image = global::Optimizer.Properties.Resources.egypt;
-            this.pictureBox12.Location = new System.Drawing.Point(13, 217);
+            this.pictureBox12.Location = new System.Drawing.Point(346, 104);
             this.pictureBox12.Name = "pictureBox12";
             this.pictureBox12.Name = "pictureBox12";
             this.pictureBox12.Size = new System.Drawing.Size(32, 19);
             this.pictureBox12.Size = new System.Drawing.Size(32, 19);
             this.pictureBox12.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
             this.pictureBox12.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
@@ -525,8 +531,8 @@ namespace Optimizer
             this.radioKurdish.AutoSize = true;
             this.radioKurdish.AutoSize = true;
             this.radioKurdish.Font = new System.Drawing.Font("Segoe UI Semibold", 12F);
             this.radioKurdish.Font = new System.Drawing.Font("Segoe UI Semibold", 12F);
             this.radioKurdish.ForeColor = System.Drawing.Color.White;
             this.radioKurdish.ForeColor = System.Drawing.Color.White;
-            this.radioKurdish.Location = new System.Drawing.Point(222, 214);
-            this.radioKurdish.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
+            this.radioKurdish.Location = new System.Drawing.Point(555, 101);
+            this.radioKurdish.Margin = new System.Windows.Forms.Padding(2);
             this.radioKurdish.Name = "radioKurdish";
             this.radioKurdish.Name = "radioKurdish";
             this.radioKurdish.Size = new System.Drawing.Size(70, 25);
             this.radioKurdish.Size = new System.Drawing.Size(70, 25);
             this.radioKurdish.TabIndex = 112;
             this.radioKurdish.TabIndex = 112;
@@ -538,7 +544,7 @@ namespace Optimizer
             // pictureBox13
             // pictureBox13
             // 
             // 
             this.pictureBox13.Image = global::Optimizer.Properties.Resources.kurdish;
             this.pictureBox13.Image = global::Optimizer.Properties.Resources.kurdish;
-            this.pictureBox13.Location = new System.Drawing.Point(182, 217);
+            this.pictureBox13.Location = new System.Drawing.Point(515, 104);
             this.pictureBox13.Name = "pictureBox13";
             this.pictureBox13.Name = "pictureBox13";
             this.pictureBox13.Size = new System.Drawing.Size(32, 19);
             this.pictureBox13.Size = new System.Drawing.Size(32, 19);
             this.pictureBox13.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
             this.pictureBox13.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
@@ -551,8 +557,8 @@ namespace Optimizer
             this.radioHungarian.AutoSize = true;
             this.radioHungarian.AutoSize = true;
             this.radioHungarian.Font = new System.Drawing.Font("Segoe UI Semibold", 12F);
             this.radioHungarian.Font = new System.Drawing.Font("Segoe UI Semibold", 12F);
             this.radioHungarian.ForeColor = System.Drawing.Color.White;
             this.radioHungarian.ForeColor = System.Drawing.Color.White;
-            this.radioHungarian.Location = new System.Drawing.Point(53, 242);
-            this.radioHungarian.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
+            this.radioHungarian.Location = new System.Drawing.Point(386, 129);
+            this.radioHungarian.Margin = new System.Windows.Forms.Padding(2);
             this.radioHungarian.Name = "radioHungarian";
             this.radioHungarian.Name = "radioHungarian";
             this.radioHungarian.Size = new System.Drawing.Size(83, 25);
             this.radioHungarian.Size = new System.Drawing.Size(83, 25);
             this.radioHungarian.TabIndex = 114;
             this.radioHungarian.TabIndex = 114;
@@ -564,7 +570,7 @@ namespace Optimizer
             // pictureBox14
             // pictureBox14
             // 
             // 
             this.pictureBox14.Image = global::Optimizer.Properties.Resources.hungary;
             this.pictureBox14.Image = global::Optimizer.Properties.Resources.hungary;
-            this.pictureBox14.Location = new System.Drawing.Point(13, 245);
+            this.pictureBox14.Location = new System.Drawing.Point(346, 132);
             this.pictureBox14.Name = "pictureBox14";
             this.pictureBox14.Name = "pictureBox14";
             this.pictureBox14.Size = new System.Drawing.Size(32, 19);
             this.pictureBox14.Size = new System.Drawing.Size(32, 19);
             this.pictureBox14.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
             this.pictureBox14.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
@@ -577,8 +583,8 @@ namespace Optimizer
             this.radioRomanian.AutoSize = true;
             this.radioRomanian.AutoSize = true;
             this.radioRomanian.Font = new System.Drawing.Font("Segoe UI Semibold", 12F);
             this.radioRomanian.Font = new System.Drawing.Font("Segoe UI Semibold", 12F);
             this.radioRomanian.ForeColor = System.Drawing.Color.White;
             this.radioRomanian.ForeColor = System.Drawing.Color.White;
-            this.radioRomanian.Location = new System.Drawing.Point(222, 243);
-            this.radioRomanian.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
+            this.radioRomanian.Location = new System.Drawing.Point(555, 130);
+            this.radioRomanian.Margin = new System.Windows.Forms.Padding(2);
             this.radioRomanian.Name = "radioRomanian";
             this.radioRomanian.Name = "radioRomanian";
             this.radioRomanian.Size = new System.Drawing.Size(87, 25);
             this.radioRomanian.Size = new System.Drawing.Size(87, 25);
             this.radioRomanian.TabIndex = 116;
             this.radioRomanian.TabIndex = 116;
@@ -590,7 +596,7 @@ namespace Optimizer
             // pictureBox15
             // pictureBox15
             // 
             // 
             this.pictureBox15.Image = global::Optimizer.Properties.Resources.romania;
             this.pictureBox15.Image = global::Optimizer.Properties.Resources.romania;
-            this.pictureBox15.Location = new System.Drawing.Point(182, 246);
+            this.pictureBox15.Location = new System.Drawing.Point(515, 133);
             this.pictureBox15.Name = "pictureBox15";
             this.pictureBox15.Name = "pictureBox15";
             this.pictureBox15.Size = new System.Drawing.Size(32, 19);
             this.pictureBox15.Size = new System.Drawing.Size(32, 19);
             this.pictureBox15.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
             this.pictureBox15.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
@@ -603,8 +609,8 @@ namespace Optimizer
             this.radioDutch.AutoSize = true;
             this.radioDutch.AutoSize = true;
             this.radioDutch.Font = new System.Drawing.Font("Segoe UI Semibold", 12F);
             this.radioDutch.Font = new System.Drawing.Font("Segoe UI Semibold", 12F);
             this.radioDutch.ForeColor = System.Drawing.Color.White;
             this.radioDutch.ForeColor = System.Drawing.Color.White;
-            this.radioDutch.Location = new System.Drawing.Point(53, 271);
-            this.radioDutch.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
+            this.radioDutch.Location = new System.Drawing.Point(386, 158);
+            this.radioDutch.Margin = new System.Windows.Forms.Padding(2);
             this.radioDutch.Name = "radioDutch";
             this.radioDutch.Name = "radioDutch";
             this.radioDutch.Size = new System.Drawing.Size(112, 25);
             this.radioDutch.Size = new System.Drawing.Size(112, 25);
             this.radioDutch.TabIndex = 118;
             this.radioDutch.TabIndex = 118;
@@ -616,7 +622,7 @@ namespace Optimizer
             // pictureBox16
             // pictureBox16
             // 
             // 
             this.pictureBox16.Image = global::Optimizer.Properties.Resources.dutch;
             this.pictureBox16.Image = global::Optimizer.Properties.Resources.dutch;
-            this.pictureBox16.Location = new System.Drawing.Point(13, 274);
+            this.pictureBox16.Location = new System.Drawing.Point(346, 161);
             this.pictureBox16.Name = "pictureBox16";
             this.pictureBox16.Name = "pictureBox16";
             this.pictureBox16.Size = new System.Drawing.Size(32, 19);
             this.pictureBox16.Size = new System.Drawing.Size(32, 19);
             this.pictureBox16.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
             this.pictureBox16.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
@@ -627,7 +633,7 @@ namespace Optimizer
             // pictureBox17
             // pictureBox17
             // 
             // 
             this.pictureBox17.Image = global::Optimizer.Properties.Resources.japan;
             this.pictureBox17.Image = global::Optimizer.Properties.Resources.japan;
-            this.pictureBox17.Location = new System.Drawing.Point(182, 274);
+            this.pictureBox17.Location = new System.Drawing.Point(515, 161);
             this.pictureBox17.Name = "pictureBox17";
             this.pictureBox17.Name = "pictureBox17";
             this.pictureBox17.Size = new System.Drawing.Size(32, 19);
             this.pictureBox17.Size = new System.Drawing.Size(32, 19);
             this.pictureBox17.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
             this.pictureBox17.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
@@ -640,8 +646,8 @@ namespace Optimizer
             this.radioJapanese.AutoSize = true;
             this.radioJapanese.AutoSize = true;
             this.radioJapanese.Font = new System.Drawing.Font("Segoe UI Semibold", 12F);
             this.radioJapanese.Font = new System.Drawing.Font("Segoe UI Semibold", 12F);
             this.radioJapanese.ForeColor = System.Drawing.Color.White;
             this.radioJapanese.ForeColor = System.Drawing.Color.White;
-            this.radioJapanese.Location = new System.Drawing.Point(222, 272);
-            this.radioJapanese.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
+            this.radioJapanese.Location = new System.Drawing.Point(555, 159);
+            this.radioJapanese.Margin = new System.Windows.Forms.Padding(2);
             this.radioJapanese.Name = "radioJapanese";
             this.radioJapanese.Name = "radioJapanese";
             this.radioJapanese.Size = new System.Drawing.Size(79, 25);
             this.radioJapanese.Size = new System.Drawing.Size(79, 25);
             this.radioJapanese.TabIndex = 120;
             this.radioJapanese.TabIndex = 120;
@@ -655,8 +661,8 @@ namespace Optimizer
             this.radioFarsi.AutoSize = true;
             this.radioFarsi.AutoSize = true;
             this.radioFarsi.Font = new System.Drawing.Font("Segoe UI Semibold", 12F);
             this.radioFarsi.Font = new System.Drawing.Font("Segoe UI Semibold", 12F);
             this.radioFarsi.ForeColor = System.Drawing.Color.White;
             this.radioFarsi.ForeColor = System.Drawing.Color.White;
-            this.radioFarsi.Location = new System.Drawing.Point(53, 300);
-            this.radioFarsi.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
+            this.radioFarsi.Location = new System.Drawing.Point(386, 12);
+            this.radioFarsi.Margin = new System.Windows.Forms.Padding(2);
             this.radioFarsi.Name = "radioFarsi";
             this.radioFarsi.Name = "radioFarsi";
             this.radioFarsi.Size = new System.Drawing.Size(69, 25);
             this.radioFarsi.Size = new System.Drawing.Size(69, 25);
             this.radioFarsi.TabIndex = 122;
             this.radioFarsi.TabIndex = 122;
@@ -668,7 +674,7 @@ namespace Optimizer
             // pictureBox18
             // pictureBox18
             // 
             // 
             this.pictureBox18.Image = global::Optimizer.Properties.Resources.iran;
             this.pictureBox18.Image = global::Optimizer.Properties.Resources.iran;
-            this.pictureBox18.Location = new System.Drawing.Point(13, 302);
+            this.pictureBox18.Location = new System.Drawing.Point(346, 14);
             this.pictureBox18.Name = "pictureBox18";
             this.pictureBox18.Name = "pictureBox18";
             this.pictureBox18.Size = new System.Drawing.Size(32, 19);
             this.pictureBox18.Size = new System.Drawing.Size(32, 19);
             this.pictureBox18.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
             this.pictureBox18.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
@@ -681,8 +687,8 @@ namespace Optimizer
             this.radioNepali.AutoSize = true;
             this.radioNepali.AutoSize = true;
             this.radioNepali.Font = new System.Drawing.Font("Segoe UI Semibold", 12F);
             this.radioNepali.Font = new System.Drawing.Font("Segoe UI Semibold", 12F);
             this.radioNepali.ForeColor = System.Drawing.Color.White;
             this.radioNepali.ForeColor = System.Drawing.Color.White;
-            this.radioNepali.Location = new System.Drawing.Point(222, 302);
-            this.radioNepali.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
+            this.radioNepali.Location = new System.Drawing.Point(555, 14);
+            this.radioNepali.Margin = new System.Windows.Forms.Padding(2);
             this.radioNepali.Name = "radioNepali";
             this.radioNepali.Name = "radioNepali";
             this.radioNepali.Size = new System.Drawing.Size(67, 25);
             this.radioNepali.Size = new System.Drawing.Size(67, 25);
             this.radioNepali.TabIndex = 124;
             this.radioNepali.TabIndex = 124;
@@ -694,7 +700,7 @@ namespace Optimizer
             // pictureBox19
             // pictureBox19
             // 
             // 
             this.pictureBox19.Image = global::Optimizer.Properties.Resources.nepal;
             this.pictureBox19.Image = global::Optimizer.Properties.Resources.nepal;
-            this.pictureBox19.Location = new System.Drawing.Point(182, 304);
+            this.pictureBox19.Location = new System.Drawing.Point(515, 16);
             this.pictureBox19.Name = "pictureBox19";
             this.pictureBox19.Name = "pictureBox19";
             this.pictureBox19.Size = new System.Drawing.Size(32, 19);
             this.pictureBox19.Size = new System.Drawing.Size(32, 19);
             this.pictureBox19.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
             this.pictureBox19.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
@@ -707,7 +713,7 @@ namespace Optimizer
             this.radioUkrainian.AutoSize = true;
             this.radioUkrainian.AutoSize = true;
             this.radioUkrainian.Font = new System.Drawing.Font("Segoe UI Semibold", 12F);
             this.radioUkrainian.Font = new System.Drawing.Font("Segoe UI Semibold", 12F);
             this.radioUkrainian.ForeColor = System.Drawing.Color.White;
             this.radioUkrainian.ForeColor = System.Drawing.Color.White;
-            this.radioUkrainian.Location = new System.Drawing.Point(222, 331);
+            this.radioUkrainian.Location = new System.Drawing.Point(555, 43);
             this.radioUkrainian.Margin = new System.Windows.Forms.Padding(2);
             this.radioUkrainian.Margin = new System.Windows.Forms.Padding(2);
             this.radioUkrainian.Name = "radioUkrainian";
             this.radioUkrainian.Name = "radioUkrainian";
             this.radioUkrainian.Size = new System.Drawing.Size(67, 25);
             this.radioUkrainian.Size = new System.Drawing.Size(67, 25);
@@ -720,7 +726,7 @@ namespace Optimizer
             // pictureBox20
             // pictureBox20
             // 
             // 
             this.pictureBox20.Image = global::Optimizer.Properties.Resources.ukraine;
             this.pictureBox20.Image = global::Optimizer.Properties.Resources.ukraine;
-            this.pictureBox20.Location = new System.Drawing.Point(182, 333);
+            this.pictureBox20.Location = new System.Drawing.Point(515, 45);
             this.pictureBox20.Name = "pictureBox20";
             this.pictureBox20.Name = "pictureBox20";
             this.pictureBox20.Size = new System.Drawing.Size(32, 19);
             this.pictureBox20.Size = new System.Drawing.Size(32, 19);
             this.pictureBox20.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
             this.pictureBox20.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
@@ -732,7 +738,7 @@ namespace Optimizer
             this.radioBulgarian.AutoSize = true;
             this.radioBulgarian.AutoSize = true;
             this.radioBulgarian.Font = new System.Drawing.Font("Segoe UI Semibold", 12F);
             this.radioBulgarian.Font = new System.Drawing.Font("Segoe UI Semibold", 12F);
             this.radioBulgarian.ForeColor = System.Drawing.Color.White;
             this.radioBulgarian.ForeColor = System.Drawing.Color.White;
-            this.radioBulgarian.Location = new System.Drawing.Point(53, 329);
+            this.radioBulgarian.Location = new System.Drawing.Point(386, 41);
             this.radioBulgarian.Margin = new System.Windows.Forms.Padding(2);
             this.radioBulgarian.Margin = new System.Windows.Forms.Padding(2);
             this.radioBulgarian.Name = "radioBulgarian";
             this.radioBulgarian.Name = "radioBulgarian";
             this.radioBulgarian.Size = new System.Drawing.Size(69, 25);
             this.radioBulgarian.Size = new System.Drawing.Size(69, 25);
@@ -745,13 +751,65 @@ namespace Optimizer
             // pictureBox21
             // pictureBox21
             // 
             // 
             this.pictureBox21.Image = global::Optimizer.Properties.Resources.bulgaria;
             this.pictureBox21.Image = global::Optimizer.Properties.Resources.bulgaria;
-            this.pictureBox21.Location = new System.Drawing.Point(13, 331);
+            this.pictureBox21.Location = new System.Drawing.Point(346, 43);
             this.pictureBox21.Name = "pictureBox21";
             this.pictureBox21.Name = "pictureBox21";
             this.pictureBox21.Size = new System.Drawing.Size(32, 19);
             this.pictureBox21.Size = new System.Drawing.Size(32, 19);
             this.pictureBox21.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
             this.pictureBox21.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
             this.pictureBox21.TabIndex = 125;
             this.pictureBox21.TabIndex = 125;
             this.pictureBox21.TabStop = false;
             this.pictureBox21.TabStop = false;
             // 
             // 
+            // radioVietnam
+            // 
+            this.radioVietnam.AutoSize = true;
+            this.radioVietnam.Font = new System.Drawing.Font("Segoe UI Semibold", 12F);
+            this.radioVietnam.ForeColor = System.Drawing.Color.White;
+            this.radioVietnam.Location = new System.Drawing.Point(386, 70);
+            this.radioVietnam.Margin = new System.Windows.Forms.Padding(2);
+            this.radioVietnam.Name = "radioVietnam";
+            this.radioVietnam.Size = new System.Drawing.Size(113, 25);
+            this.radioVietnam.TabIndex = 130;
+            this.radioVietnam.Tag = "";
+            this.radioVietnam.Text = "Vietnamese";
+            this.radioVietnam.UseVisualStyleBackColor = true;
+            this.radioVietnam.CheckedChanged += new System.EventHandler(this.radioVietnam_CheckedChanged);
+            // 
+            // pictureBox22
+            // 
+            this.pictureBox22.Image = global::Optimizer.Properties.Resources.vietnam;
+            this.pictureBox22.Location = new System.Drawing.Point(346, 72);
+            this.pictureBox22.Name = "pictureBox22";
+            this.pictureBox22.Size = new System.Drawing.Size(32, 19);
+            this.pictureBox22.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
+            this.pictureBox22.TabIndex = 129;
+            this.pictureBox22.TabStop = false;
+            this.pictureBox22.Click += new System.EventHandler(this.pictureBox22_Click);
+            // 
+            // radioUrdu
+            // 
+            this.radioUrdu.AutoSize = true;
+            this.radioUrdu.Font = new System.Drawing.Font("Segoe UI Semibold", 12F);
+            this.radioUrdu.ForeColor = System.Drawing.Color.White;
+            this.radioUrdu.Location = new System.Drawing.Point(554, 72);
+            this.radioUrdu.Margin = new System.Windows.Forms.Padding(2);
+            this.radioUrdu.Name = "radioUrdu";
+            this.radioUrdu.Size = new System.Drawing.Size(64, 25);
+            this.radioUrdu.TabIndex = 132;
+            this.radioUrdu.Tag = "";
+            this.radioUrdu.Text = "Urdu";
+            this.radioUrdu.UseVisualStyleBackColor = true;
+            this.radioUrdu.CheckedChanged += new System.EventHandler(this.radioUrdu_CheckedChanged);
+            // 
+            // pictureBox23
+            // 
+            this.pictureBox23.Image = global::Optimizer.Properties.Resources.pakistan;
+            this.pictureBox23.Location = new System.Drawing.Point(514, 74);
+            this.pictureBox23.Name = "pictureBox23";
+            this.pictureBox23.Size = new System.Drawing.Size(32, 19);
+            this.pictureBox23.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
+            this.pictureBox23.TabIndex = 131;
+            this.pictureBox23.TabStop = false;
+            this.pictureBox23.Click += new System.EventHandler(this.pictureBox23_Click);
+            // 
             // FirstRunForm
             // FirstRunForm
             // 
             // 
             this.AcceptButton = this.btnStart;
             this.AcceptButton = this.btnStart;
@@ -759,7 +817,11 @@ namespace Optimizer
             this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi;
             this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi;
             this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(20)))));
             this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(20)))));
             this.CancelButton = this.btnStart;
             this.CancelButton = this.btnStart;
-            this.ClientSize = new System.Drawing.Size(336, 443);
+            this.ClientSize = new System.Drawing.Size(685, 298);
+            this.Controls.Add(this.radioUrdu);
+            this.Controls.Add(this.pictureBox23);
+            this.Controls.Add(this.radioVietnam);
+            this.Controls.Add(this.pictureBox22);
             this.Controls.Add(this.radioUkrainian);
             this.Controls.Add(this.radioUkrainian);
             this.Controls.Add(this.pictureBox20);
             this.Controls.Add(this.pictureBox20);
             this.Controls.Add(this.radioBulgarian);
             this.Controls.Add(this.radioBulgarian);
@@ -845,6 +907,8 @@ namespace Optimizer
             ((System.ComponentModel.ISupportInitialize)(this.pictureBox19)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.pictureBox19)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.pictureBox20)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.pictureBox20)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.pictureBox21)).EndInit();
             ((System.ComponentModel.ISupportInitialize)(this.pictureBox21)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.pictureBox22)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.pictureBox23)).EndInit();
             this.ResumeLayout(false);
             this.ResumeLayout(false);
             this.PerformLayout();
             this.PerformLayout();
 
 
@@ -901,5 +965,9 @@ namespace Optimizer
         private System.Windows.Forms.PictureBox pictureBox20;
         private System.Windows.Forms.PictureBox pictureBox20;
         private MoonRadio radioBulgarian;
         private MoonRadio radioBulgarian;
         private System.Windows.Forms.PictureBox pictureBox21;
         private System.Windows.Forms.PictureBox pictureBox21;
+        private MoonRadio radioVietnam;
+        private System.Windows.Forms.PictureBox pictureBox22;
+        private MoonRadio radioUrdu;
+        private System.Windows.Forms.PictureBox pictureBox23;
     }
     }
 }
 }

+ 128 - 51
Optimizer/Forms/FirstRunForm.cs

@@ -1,19 +1,24 @@
 using System;
 using System;
 using System.Windows.Forms;
 using System.Windows.Forms;
 
 
-namespace Optimizer {
-    public sealed partial class FirstRunForm : Form {
-        public FirstRunForm() {
+namespace Optimizer
+{
+    public sealed partial class FirstRunForm : Form
+    {
+        public FirstRunForm()
+        {
             InitializeComponent();
             InitializeComponent();
             this.DoubleBuffered = true;
             this.DoubleBuffered = true;
             OptionsHelper.ApplyTheme(this);
             OptionsHelper.ApplyTheme(this);
         }
         }
 
 
-        private void btnStart_Click(object sender, EventArgs e) {
+        private void btnStart_Click(object sender, EventArgs e)
+        {
             this.Close();
             this.Close();
         }
         }
 
 
-        private void FirstRunForm_Load(object sender, EventArgs e) {
+        private void FirstRunForm_Load(object sender, EventArgs e)
+        {
             radioArabic.Text = Constants.ARABIC;
             radioArabic.Text = Constants.ARABIC;
             radioPortuguese.Text = Constants.PORTUGUESE;
             radioPortuguese.Text = Constants.PORTUGUESE;
             radioChinese.Text = Constants.CHINESE;
             radioChinese.Text = Constants.CHINESE;
@@ -38,238 +43,310 @@ namespace Optimizer {
             radioUkrainian.Text = Constants.UKRAINIAN;
             radioUkrainian.Text = Constants.UKRAINIAN;
             radioBulgarian.Text = Constants.BULGARIAN;
             radioBulgarian.Text = Constants.BULGARIAN;
             radioEnglish.Text = Constants.ENGLISH;
             radioEnglish.Text = Constants.ENGLISH;
+            radioUrdu.Text = Constants.URDU;
+            radioVietnam.Text = Constants.VIETNAMESE;
         }
         }
 
 
-        private void pictureBox86_Click(object sender, EventArgs e) {
+        private void pictureBox86_Click(object sender, EventArgs e)
+        {
             radioEnglish.PerformClick();
             radioEnglish.PerformClick();
         }
         }
 
 
-        private void pictureBox87_Click(object sender, EventArgs e) {
+        private void pictureBox87_Click(object sender, EventArgs e)
+        {
             radioRussian.PerformClick();
             radioRussian.PerformClick();
         }
         }
 
 
-        private void pictureBox88_Click(object sender, EventArgs e) {
+        private void pictureBox88_Click(object sender, EventArgs e)
+        {
             radioHellenic.PerformClick();
             radioHellenic.PerformClick();
         }
         }
 
 
-        private void radioEnglish_CheckedChanged(object sender, EventArgs e) {
+        private void radioEnglish_CheckedChanged(object sender, EventArgs e)
+        {
             OptionsHelper.CurrentOptions.LanguageCode = LanguageCode.EN;
             OptionsHelper.CurrentOptions.LanguageCode = LanguageCode.EN;
             OptionsHelper.SaveSettings();
             OptionsHelper.SaveSettings();
             OptionsHelper.LoadTranslation();
             OptionsHelper.LoadTranslation();
         }
         }
 
 
-        private void radioRussian_CheckedChanged(object sender, EventArgs e) {
+        private void radioRussian_CheckedChanged(object sender, EventArgs e)
+        {
             OptionsHelper.CurrentOptions.LanguageCode = LanguageCode.RU;
             OptionsHelper.CurrentOptions.LanguageCode = LanguageCode.RU;
             OptionsHelper.SaveSettings();
             OptionsHelper.SaveSettings();
             OptionsHelper.LoadTranslation();
             OptionsHelper.LoadTranslation();
         }
         }
 
 
-        private void radioHellenic_CheckedChanged(object sender, EventArgs e) {
+        private void radioHellenic_CheckedChanged(object sender, EventArgs e)
+        {
             OptionsHelper.CurrentOptions.LanguageCode = LanguageCode.EL;
             OptionsHelper.CurrentOptions.LanguageCode = LanguageCode.EL;
             OptionsHelper.SaveSettings();
             OptionsHelper.SaveSettings();
             OptionsHelper.LoadTranslation();
             OptionsHelper.LoadTranslation();
         }
         }
 
 
-        private void pictureBox1_Click(object sender, EventArgs e) {
+        private void pictureBox1_Click(object sender, EventArgs e)
+        {
             radioTurkish.PerformClick();
             radioTurkish.PerformClick();
         }
         }
 
 
-        private void radioTurkish_CheckedChanged(object sender, EventArgs e) {
+        private void radioTurkish_CheckedChanged(object sender, EventArgs e)
+        {
             OptionsHelper.CurrentOptions.LanguageCode = LanguageCode.TR;
             OptionsHelper.CurrentOptions.LanguageCode = LanguageCode.TR;
             OptionsHelper.SaveSettings();
             OptionsHelper.SaveSettings();
             OptionsHelper.LoadTranslation();
             OptionsHelper.LoadTranslation();
         }
         }
 
 
-        private void radioGerman_CheckedChanged(object sender, EventArgs e) {
+        private void radioGerman_CheckedChanged(object sender, EventArgs e)
+        {
             OptionsHelper.CurrentOptions.LanguageCode = LanguageCode.DE;
             OptionsHelper.CurrentOptions.LanguageCode = LanguageCode.DE;
             OptionsHelper.SaveSettings();
             OptionsHelper.SaveSettings();
             OptionsHelper.LoadTranslation();
             OptionsHelper.LoadTranslation();
         }
         }
 
 
-        private void pictureBox2_Click(object sender, EventArgs e) {
+        private void pictureBox2_Click(object sender, EventArgs e)
+        {
             radioGerman.PerformClick();
             radioGerman.PerformClick();
         }
         }
 
 
-        private void pictureBox3_Click(object sender, EventArgs e) {
+        private void pictureBox3_Click(object sender, EventArgs e)
+        {
             radioSpanish.PerformClick();
             radioSpanish.PerformClick();
         }
         }
 
 
-        private void radioSpanish_CheckedChanged(object sender, EventArgs e) {
+        private void radioSpanish_CheckedChanged(object sender, EventArgs e)
+        {
             OptionsHelper.CurrentOptions.LanguageCode = LanguageCode.ES;
             OptionsHelper.CurrentOptions.LanguageCode = LanguageCode.ES;
             OptionsHelper.SaveSettings();
             OptionsHelper.SaveSettings();
             OptionsHelper.LoadTranslation();
             OptionsHelper.LoadTranslation();
         }
         }
 
 
-        private void radioPortuguese_CheckedChanged(object sender, EventArgs e) {
+        private void radioPortuguese_CheckedChanged(object sender, EventArgs e)
+        {
             OptionsHelper.CurrentOptions.LanguageCode = LanguageCode.PT;
             OptionsHelper.CurrentOptions.LanguageCode = LanguageCode.PT;
             OptionsHelper.SaveSettings();
             OptionsHelper.SaveSettings();
             OptionsHelper.LoadTranslation();
             OptionsHelper.LoadTranslation();
         }
         }
 
 
-        private void pictureBox4_Click(object sender, EventArgs e) {
+        private void pictureBox4_Click(object sender, EventArgs e)
+        {
             radioPortuguese.PerformClick();
             radioPortuguese.PerformClick();
         }
         }
 
 
-        private void radioFrench_CheckedChanged(object sender, EventArgs e) {
+        private void radioFrench_CheckedChanged(object sender, EventArgs e)
+        {
             OptionsHelper.CurrentOptions.LanguageCode = LanguageCode.FR;
             OptionsHelper.CurrentOptions.LanguageCode = LanguageCode.FR;
             OptionsHelper.SaveSettings();
             OptionsHelper.SaveSettings();
             OptionsHelper.LoadTranslation();
             OptionsHelper.LoadTranslation();
         }
         }
 
 
-        private void pictureBox5_Click(object sender, EventArgs e) {
+        private void pictureBox5_Click(object sender, EventArgs e)
+        {
             radioFrench.PerformClick();
             radioFrench.PerformClick();
         }
         }
 
 
-        private void radioitalian_CheckedChanged(object sender, EventArgs e) {
+        private void radioitalian_CheckedChanged(object sender, EventArgs e)
+        {
             OptionsHelper.CurrentOptions.LanguageCode = LanguageCode.IT;
             OptionsHelper.CurrentOptions.LanguageCode = LanguageCode.IT;
             OptionsHelper.SaveSettings();
             OptionsHelper.SaveSettings();
             OptionsHelper.LoadTranslation();
             OptionsHelper.LoadTranslation();
         }
         }
 
 
-        private void pictureBox6_Click(object sender, EventArgs e) {
+        private void pictureBox6_Click(object sender, EventArgs e)
+        {
             radioItalian.PerformClick();
             radioItalian.PerformClick();
         }
         }
 
 
-        private void pictureBox7_Click(object sender, EventArgs e) {
+        private void pictureBox7_Click(object sender, EventArgs e)
+        {
             radioChinese.PerformClick();
             radioChinese.PerformClick();
         }
         }
 
 
-        private void radioChinese_CheckedChanged(object sender, EventArgs e) {
+        private void radioChinese_CheckedChanged(object sender, EventArgs e)
+        {
             OptionsHelper.CurrentOptions.LanguageCode = LanguageCode.CN;
             OptionsHelper.CurrentOptions.LanguageCode = LanguageCode.CN;
             OptionsHelper.SaveSettings();
             OptionsHelper.SaveSettings();
             OptionsHelper.LoadTranslation();
             OptionsHelper.LoadTranslation();
         }
         }
 
 
-        private void pictureBox8_Click(object sender, EventArgs e) {
+        private void pictureBox8_Click(object sender, EventArgs e)
+        {
             radioCzech.PerformClick();
             radioCzech.PerformClick();
         }
         }
 
 
-        private void radioCzech_CheckedChanged(object sender, EventArgs e) {
+        private void radioCzech_CheckedChanged(object sender, EventArgs e)
+        {
             OptionsHelper.CurrentOptions.LanguageCode = LanguageCode.CZ;
             OptionsHelper.CurrentOptions.LanguageCode = LanguageCode.CZ;
             OptionsHelper.SaveSettings();
             OptionsHelper.SaveSettings();
             OptionsHelper.LoadTranslation();
             OptionsHelper.LoadTranslation();
         }
         }
 
 
-        private void radioTaiwan_CheckedChanged(object sender, EventArgs e) {
+        private void radioTaiwan_CheckedChanged(object sender, EventArgs e)
+        {
             OptionsHelper.CurrentOptions.LanguageCode = LanguageCode.TW;
             OptionsHelper.CurrentOptions.LanguageCode = LanguageCode.TW;
             OptionsHelper.SaveSettings();
             OptionsHelper.SaveSettings();
             OptionsHelper.LoadTranslation();
             OptionsHelper.LoadTranslation();
         }
         }
 
 
-        private void pictureBox9_Click(object sender, EventArgs e) {
+        private void pictureBox9_Click(object sender, EventArgs e)
+        {
             radioTaiwan.PerformClick();
             radioTaiwan.PerformClick();
         }
         }
 
 
-        private void radioKorean_CheckedChanged(object sender, EventArgs e) {
+        private void radioKorean_CheckedChanged(object sender, EventArgs e)
+        {
             OptionsHelper.CurrentOptions.LanguageCode = LanguageCode.KO;
             OptionsHelper.CurrentOptions.LanguageCode = LanguageCode.KO;
             OptionsHelper.SaveSettings();
             OptionsHelper.SaveSettings();
             OptionsHelper.LoadTranslation();
             OptionsHelper.LoadTranslation();
         }
         }
 
 
-        private void pictureBox10_Click(object sender, EventArgs e) {
+        private void pictureBox10_Click(object sender, EventArgs e)
+        {
             radioChinese.PerformClick();
             radioChinese.PerformClick();
         }
         }
 
 
-        private void pictureBox11_Click(object sender, EventArgs e) {
+        private void pictureBox11_Click(object sender, EventArgs e)
+        {
             radioPolish.PerformClick();
             radioPolish.PerformClick();
         }
         }
 
 
-        private void radioPolish_CheckedChanged(object sender, EventArgs e) {
+        private void radioPolish_CheckedChanged(object sender, EventArgs e)
+        {
             OptionsHelper.CurrentOptions.LanguageCode = LanguageCode.PL;
             OptionsHelper.CurrentOptions.LanguageCode = LanguageCode.PL;
             OptionsHelper.SaveSettings();
             OptionsHelper.SaveSettings();
             OptionsHelper.LoadTranslation();
             OptionsHelper.LoadTranslation();
         }
         }
 
 
-        private void radioArabic_CheckedChanged(object sender, EventArgs e) {
+        private void radioArabic_CheckedChanged(object sender, EventArgs e)
+        {
             OptionsHelper.CurrentOptions.LanguageCode = LanguageCode.AR;
             OptionsHelper.CurrentOptions.LanguageCode = LanguageCode.AR;
             OptionsHelper.SaveSettings();
             OptionsHelper.SaveSettings();
             OptionsHelper.LoadTranslation();
             OptionsHelper.LoadTranslation();
         }
         }
 
 
-        private void pictureBox12_Click(object sender, EventArgs e) {
+        private void pictureBox12_Click(object sender, EventArgs e)
+        {
             radioArabic.PerformClick();
             radioArabic.PerformClick();
         }
         }
 
 
-        private void pictureBox13_Click(object sender, EventArgs e) {
+        private void pictureBox13_Click(object sender, EventArgs e)
+        {
             radioKurdish.PerformClick();
             radioKurdish.PerformClick();
         }
         }
 
 
-        private void radioKurdish_CheckedChanged(object sender, EventArgs e) {
+        private void radioKurdish_CheckedChanged(object sender, EventArgs e)
+        {
             OptionsHelper.CurrentOptions.LanguageCode = LanguageCode.KU;
             OptionsHelper.CurrentOptions.LanguageCode = LanguageCode.KU;
             OptionsHelper.SaveSettings();
             OptionsHelper.SaveSettings();
             OptionsHelper.LoadTranslation();
             OptionsHelper.LoadTranslation();
         }
         }
 
 
-        private void pictureBox14_Click(object sender, EventArgs e) {
+        private void pictureBox14_Click(object sender, EventArgs e)
+        {
             radioHungarian.PerformClick();
             radioHungarian.PerformClick();
         }
         }
 
 
-        private void radioHungarian_CheckedChanged(object sender, EventArgs e) {
+        private void radioHungarian_CheckedChanged(object sender, EventArgs e)
+        {
             OptionsHelper.CurrentOptions.LanguageCode = LanguageCode.HU;
             OptionsHelper.CurrentOptions.LanguageCode = LanguageCode.HU;
             OptionsHelper.SaveSettings();
             OptionsHelper.SaveSettings();
             OptionsHelper.LoadTranslation();
             OptionsHelper.LoadTranslation();
         }
         }
 
 
-        private void radioRomanian_CheckedChanged(object sender, EventArgs e) {
+        private void radioRomanian_CheckedChanged(object sender, EventArgs e)
+        {
             OptionsHelper.CurrentOptions.LanguageCode = LanguageCode.RO;
             OptionsHelper.CurrentOptions.LanguageCode = LanguageCode.RO;
             OptionsHelper.SaveSettings();
             OptionsHelper.SaveSettings();
             OptionsHelper.LoadTranslation();
             OptionsHelper.LoadTranslation();
         }
         }
 
 
-        private void pictureBox15_Click(object sender, EventArgs e) {
+        private void pictureBox15_Click(object sender, EventArgs e)
+        {
             radioRomanian.PerformClick();
             radioRomanian.PerformClick();
         }
         }
 
 
-        private void radioDutch_CheckedChanged(object sender, EventArgs e) {
+        private void radioDutch_CheckedChanged(object sender, EventArgs e)
+        {
             OptionsHelper.CurrentOptions.LanguageCode = LanguageCode.NL;
             OptionsHelper.CurrentOptions.LanguageCode = LanguageCode.NL;
             OptionsHelper.SaveSettings();
             OptionsHelper.SaveSettings();
             OptionsHelper.LoadTranslation();
             OptionsHelper.LoadTranslation();
         }
         }
 
 
-        private void pictureBox16_Click(object sender, EventArgs e) {
+        private void pictureBox16_Click(object sender, EventArgs e)
+        {
             radioDutch.PerformClick();
             radioDutch.PerformClick();
         }
         }
 
 
-        private void radioJapanese_CheckedChanged(object sender, EventArgs e) {
+        private void radioJapanese_CheckedChanged(object sender, EventArgs e)
+        {
             OptionsHelper.CurrentOptions.LanguageCode = LanguageCode.JA;
             OptionsHelper.CurrentOptions.LanguageCode = LanguageCode.JA;
             OptionsHelper.SaveSettings();
             OptionsHelper.SaveSettings();
             OptionsHelper.LoadTranslation();
             OptionsHelper.LoadTranslation();
         }
         }
 
 
-        private void pictureBox17_Click(object sender, EventArgs e) {
+        private void pictureBox17_Click(object sender, EventArgs e)
+        {
             radioJapanese.PerformClick();
             radioJapanese.PerformClick();
         }
         }
 
 
-        private void radioFarsi_CheckedChanged(object sender, EventArgs e) {
+        private void radioFarsi_CheckedChanged(object sender, EventArgs e)
+        {
             OptionsHelper.CurrentOptions.LanguageCode = LanguageCode.FA;
             OptionsHelper.CurrentOptions.LanguageCode = LanguageCode.FA;
             OptionsHelper.SaveSettings();
             OptionsHelper.SaveSettings();
             OptionsHelper.LoadTranslation();
             OptionsHelper.LoadTranslation();
         }
         }
 
 
-        private void pictureBox18_Click(object sender, EventArgs e) {
+        private void pictureBox18_Click(object sender, EventArgs e)
+        {
             radioFarsi.PerformClick();
             radioFarsi.PerformClick();
         }
         }
 
 
-        private void pictureBox19_Click(object sender, EventArgs e) {
+        private void pictureBox19_Click(object sender, EventArgs e)
+        {
             radioNepali.PerformClick();
             radioNepali.PerformClick();
         }
         }
 
 
-        private void radioNepali_CheckedChanged(object sender, EventArgs e) {
+        private void radioNepali_CheckedChanged(object sender, EventArgs e)
+        {
             OptionsHelper.CurrentOptions.LanguageCode = LanguageCode.NE;
             OptionsHelper.CurrentOptions.LanguageCode = LanguageCode.NE;
             OptionsHelper.SaveSettings();
             OptionsHelper.SaveSettings();
             OptionsHelper.LoadTranslation();
             OptionsHelper.LoadTranslation();
         }
         }
 
 
-        private void radioBulgarian_CheckedChanged(object sender, EventArgs e) {
+        private void radioBulgarian_CheckedChanged(object sender, EventArgs e)
+        {
             OptionsHelper.CurrentOptions.LanguageCode = LanguageCode.BG;
             OptionsHelper.CurrentOptions.LanguageCode = LanguageCode.BG;
             OptionsHelper.SaveSettings();
             OptionsHelper.SaveSettings();
             OptionsHelper.LoadTranslation();
             OptionsHelper.LoadTranslation();
         }
         }
 
 
-        private void radioUkrainian_CheckedChanged(object sender, EventArgs e) {
+        private void radioUkrainian_CheckedChanged(object sender, EventArgs e)
+        {
             OptionsHelper.CurrentOptions.LanguageCode = LanguageCode.UA;
             OptionsHelper.CurrentOptions.LanguageCode = LanguageCode.UA;
             OptionsHelper.SaveSettings();
             OptionsHelper.SaveSettings();
             OptionsHelper.LoadTranslation();
             OptionsHelper.LoadTranslation();
         }
         }
+
+        private void radioVietnam_CheckedChanged(object sender, EventArgs e)
+        {
+            OptionsHelper.CurrentOptions.LanguageCode = LanguageCode.VN;
+            OptionsHelper.SaveSettings();
+            OptionsHelper.LoadTranslation();
+        }
+
+        private void pictureBox22_Click(object sender, EventArgs e)
+        {
+            radioVietnam.PerformClick();
+        }
+
+        private void pictureBox23_Click(object sender, EventArgs e)
+        {
+            radioUrdu.PerformClick();
+        }
+
+        private void radioUrdu_CheckedChanged(object sender, EventArgs e)
+        {
+            OptionsHelper.CurrentOptions.LanguageCode = LanguageCode.UR;
+            OptionsHelper.SaveSettings();
+            OptionsHelper.LoadTranslation();
+        }
     }
     }
 }
 }

+ 30 - 15
Optimizer/Forms/HelperForm.cs

@@ -3,31 +3,40 @@ using System.Collections.Generic;
 using System.Linq;
 using System.Linq;
 using System.Windows.Forms;
 using System.Windows.Forms;
 
 
-namespace Optimizer {
-    public sealed partial class HelperForm : System.Windows.Forms.Form {
+namespace Optimizer
+{
+    public sealed partial class HelperForm : System.Windows.Forms.Form
+    {
         MainForm _main;
         MainForm _main;
         MessageType _type;
         MessageType _type;
 
 
-        private void Confirm() {
-            if (_type == MessageType.Error) {
+        private void Confirm()
+        {
+            if (_type == MessageType.Error)
+            {
                 this.Close();
                 this.Close();
             }
             }
-            if (_type == MessageType.Startup) {
+            if (_type == MessageType.Startup)
+            {
                 _main.RemoveAllStartupItems();
                 _main.RemoveAllStartupItems();
             }
             }
-            if (_type == MessageType.Restart) {
+            if (_type == MessageType.Restart)
+            {
                 OptionsHelper.SaveSettings();
                 OptionsHelper.SaveSettings();
                 Utilities.Reboot();
                 Utilities.Reboot();
             }
             }
-            if (_type == MessageType.Hosts) {
+            if (_type == MessageType.Hosts)
+            {
                 _main.RemoveAllHostsEntries();
                 _main.RemoveAllHostsEntries();
             }
             }
-            if (_type == MessageType.Integrator) {
+            if (_type == MessageType.Integrator)
+            {
                 _main.RemoveAllDesktopItems();
                 _main.RemoveAllDesktopItems();
             }
             }
         }
         }
 
 
-        internal HelperForm(MainForm main, MessageType m, string text) {
+        internal HelperForm(MainForm main, MessageType m, string text)
+        {
             InitializeComponent();
             InitializeComponent();
             OptionsHelper.ApplyTheme(this);
             OptionsHelper.ApplyTheme(this);
 
 
@@ -36,7 +45,8 @@ namespace Optimizer {
 
 
             lblMessage.Text = text;
             lblMessage.Text = text;
 
 
-            if (_type == MessageType.Error) {
+            if (_type == MessageType.Error)
+            {
                 btnNo.Visible = false;
                 btnNo.Visible = false;
                 btnYes.Text = OptionsHelper.TranslationList["btnOk"];
                 btnYes.Text = OptionsHelper.TranslationList["btnOk"];
 
 
@@ -50,26 +60,31 @@ namespace Optimizer {
             if (OptionsHelper.CurrentOptions.LanguageCode != LanguageCode.EN) Translate();
             if (OptionsHelper.CurrentOptions.LanguageCode != LanguageCode.EN) Translate();
         }
         }
 
 
-        private void btnNo_Click(object sender, EventArgs e) {
+        private void btnNo_Click(object sender, EventArgs e)
+        {
             this.Close();
             this.Close();
         }
         }
 
 
-        private void btnYes_Click(object sender, EventArgs e) {
+        private void btnYes_Click(object sender, EventArgs e)
+        {
             Confirm();
             Confirm();
             this.Close();
             this.Close();
         }
         }
 
 
-        private void Messager_Load(object sender, EventArgs e) {
+        private void Messager_Load(object sender, EventArgs e)
+        {
             CheckForIllegalCrossThreadCalls = false;
             CheckForIllegalCrossThreadCalls = false;
             this.BringToFront();
             this.BringToFront();
         }
         }
 
 
-        private void Translate() {
+        private void Translate()
+        {
             Dictionary<string, string> translationList = OptionsHelper.TranslationList.ToObject<Dictionary<string, string>>();
             Dictionary<string, string> translationList = OptionsHelper.TranslationList.ToObject<Dictionary<string, string>>();
 
 
             Control element;
             Control element;
 
 
-            foreach (var x in translationList) {
+            foreach (var x in translationList)
+            {
                 if (x.Key == null || x.Key == string.Empty) continue;
                 if (x.Key == null || x.Key == string.Empty) continue;
                 element = this.Controls.Find(x.Key, true).FirstOrDefault();
                 element = this.Controls.Find(x.Key, true).FirstOrDefault();
 
 

+ 18 - 9
Optimizer/Forms/HostsEditorForm.cs

@@ -3,15 +3,19 @@ using System.Collections.Generic;
 using System.Linq;
 using System.Linq;
 using System.Windows.Forms;
 using System.Windows.Forms;
 
 
-namespace Optimizer {
-    public sealed partial class HostsEditorForm : Form {
+namespace Optimizer
+{
+    public sealed partial class HostsEditorForm : Form
+    {
         string[] _toSave = null;
         string[] _toSave = null;
 
 
-        public HostsEditorForm() {
+        public HostsEditorForm()
+        {
             InitializeComponent();
             InitializeComponent();
             OptionsHelper.ApplyTheme(this);
             OptionsHelper.ApplyTheme(this);
 
 
-            if (HostsHelper.GetReadOnly()) {
+            if (HostsHelper.GetReadOnly())
+            {
                 savebtn.Enabled = false;
                 savebtn.Enabled = false;
             }
             }
 
 
@@ -19,7 +23,8 @@ namespace Optimizer {
             if (OptionsHelper.CurrentOptions.LanguageCode != LanguageCode.EN) Translate();
             if (OptionsHelper.CurrentOptions.LanguageCode != LanguageCode.EN) Translate();
         }
         }
 
 
-        private void HostsEditor_Load(object sender, EventArgs e) {
+        private void HostsEditor_Load(object sender, EventArgs e)
+        {
             //foreach (string line in HostsHelper.ReadHosts())
             //foreach (string line in HostsHelper.ReadHosts())
             //{
             //{
             //    textBox1.Text += line + HostsHelper.NewLine;
             //    textBox1.Text += line + HostsHelper.NewLine;
@@ -30,13 +35,15 @@ namespace Optimizer {
             textBox1.Focus();
             textBox1.Focus();
         }
         }
 
 
-        private void Translate() {
+        private void Translate()
+        {
             this.Text = OptionsHelper.TranslationList["HostsEditorForm"];
             this.Text = OptionsHelper.TranslationList["HostsEditorForm"];
             Dictionary<string, string> translationList = OptionsHelper.TranslationList.ToObject<Dictionary<string, string>>();
             Dictionary<string, string> translationList = OptionsHelper.TranslationList.ToObject<Dictionary<string, string>>();
 
 
             Control element;
             Control element;
 
 
-            foreach (var x in translationList) {
+            foreach (var x in translationList)
+            {
                 if (x.Key == null || x.Key == string.Empty) continue;
                 if (x.Key == null || x.Key == string.Empty) continue;
                 element = this.Controls.Find(x.Key, true).FirstOrDefault();
                 element = this.Controls.Find(x.Key, true).FirstOrDefault();
 
 
@@ -46,11 +53,13 @@ namespace Optimizer {
             }
             }
         }
         }
 
 
-        private void button1_Click(object sender, EventArgs e) {
+        private void button1_Click(object sender, EventArgs e)
+        {
             this.Close();
             this.Close();
         }
         }
 
 
-        private void button7_Click(object sender, EventArgs e) {
+        private void button7_Click(object sender, EventArgs e)
+        {
             _toSave = textBox1.Lines;
             _toSave = textBox1.Lines;
             HostsHelper.SaveHosts(_toSave);
             HostsHelper.SaveHosts(_toSave);
 
 

+ 18 - 9
Optimizer/Forms/InfoForm.cs

@@ -3,9 +3,12 @@ using System.Collections.Generic;
 using System.Linq;
 using System.Linq;
 using System.Windows.Forms;
 using System.Windows.Forms;
 
 
-namespace Optimizer {
-    public sealed partial class InfoForm : Form {
-        public InfoForm(string info) {
+namespace Optimizer
+{
+    public sealed partial class InfoForm : Form
+    {
+        public InfoForm(string info)
+        {
             InitializeComponent();
             InitializeComponent();
             CheckForIllegalCrossThreadCalls = false;
             CheckForIllegalCrossThreadCalls = false;
 
 
@@ -17,12 +20,14 @@ namespace Optimizer {
             if (OptionsHelper.CurrentOptions.LanguageCode != LanguageCode.EN) Translate();
             if (OptionsHelper.CurrentOptions.LanguageCode != LanguageCode.EN) Translate();
         }
         }
 
 
-        private void Translate() {
+        private void Translate()
+        {
             Dictionary<string, string> translationList = OptionsHelper.TranslationList.ToObject<Dictionary<string, string>>();
             Dictionary<string, string> translationList = OptionsHelper.TranslationList.ToObject<Dictionary<string, string>>();
 
 
             Control element;
             Control element;
 
 
-            foreach (var x in translationList) {
+            foreach (var x in translationList)
+            {
                 if (x.Key == null || x.Key == string.Empty) continue;
                 if (x.Key == null || x.Key == string.Empty) continue;
                 element = this.Controls.Find(x.Key, true).FirstOrDefault();
                 element = this.Controls.Find(x.Key, true).FirstOrDefault();
 
 
@@ -32,16 +37,20 @@ namespace Optimizer {
             }
             }
         }
         }
 
 
-        private void btnOK_Click(object sender, EventArgs e) {
+        private void btnOK_Click(object sender, EventArgs e)
+        {
             this.Close();
             this.Close();
         }
         }
 
 
-        private void Info_Load(object sender, EventArgs e) {
+        private void Info_Load(object sender, EventArgs e)
+        {
 
 
         }
         }
 
 
-        private void copyIPB_Click(object sender, EventArgs e) {
-            try {
+        private void copyIPB_Click(object sender, EventArgs e)
+        {
+            try
+            {
                 Clipboard.SetText(txtInfo.Text);
                 Clipboard.SetText(txtInfo.Text);
             }
             }
             catch { }
             catch { }

Файловите разлики са ограничени, защото са твърде много
+ 5362 - 4920
Optimizer/Forms/MainForm.Designer.cs


Файловите разлики са ограничени, защото са твърде много
+ 401 - 155
Optimizer/Forms/MainForm.cs


+ 2 - 2
Optimizer/Forms/MainForm.resx

@@ -458,7 +458,7 @@ any application only by typing your desired keyword.</value>
   <data name="pictureBox7.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
   <data name="pictureBox7.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
     <value>
         iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
         iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
-        wQAADsEBuJFr7QAAAWVJREFUaEPtlktuQjEQBL3gMO8Wuf+pggwtAaGMxvOxXyRKqhXtmR6RRGkZHMfx
+        vAAADrwBlbxySQAAAWVJREFUaEPtlktuQjEQBL3gMO8Wuf+pggwtAaGMxvOxXyRKqhXtmR6RRGkZHMfx
         61HP90CFImpsPbQ8U63J56e1y99llWptDrRghVofgwavVDV80MAdqs4cNGinqmWDBpxB1fsMPTyTqsnQ
         61HP90CFImpsPbQ8U63J56e1y99llWptDrRghVofgwavVDV80MAdqs4cNGinqmWDBpxB1fsMPTyTqsnQ
         A48E5Tz2P+eq+w49sDoDvZ9RdV+hoEUvNGtG1X5AIYsRaJ5V1b5DAasRaN6Mqh//5X2GPu+OoKxV1Y8f
         A48E5Tz2P+eq+w49sDoDvZ9RdV+hoEUvNGtG1X5AIYsRaJ5V1b5DAasRaN6Mqh//5X2GPu+OoKxV1Y8f
         YJWgnNWl5bsE5Wb8HmCVoNysSw4YQdlZyw8YQVmPpQeMoKzXsgNGUDZiyQEjKBt12QGUy3DJAZTJMv0A
         YJWgnNWl5bsE5Wb8HmCVoNysSw4YQdlZyw8YQVmPpQeMoKzXsgNGUDZiyQEjKBt12QGUy3DJAZTJMv0A
@@ -761,7 +761,7 @@ any application only by typing your desired keyword.</value>
         AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
         AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
         LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
         LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
         ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAC0
         ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAC0
-        GgAAAk1TRnQBSQFMAgEBCQEAAYABDwGAAQ8BIAEAASABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAGA
+        GgAAAk1TRnQBSQFMAgEBCQEAAcgBDwHIAQ8BIAEAASABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAGA
         AwABYAMAAQEBAAEgBgABwP8A/wD/AP8A/wD/AP8A/wAeAANHAYB0//8AiQADRwGAdP//AIkAAyoBQANH
         AwABYAMAAQEBAAEgBgABwP8A/wD/AP8A/wD/AP8A/wAeAANHAYB0//8AiQADRwGAdP//AIkAAyoBQANH
         AYADRwGAA0cBgANHAYADRwGAA0cBgANHAYADRwGAA0cBgANHAYADRwGAA0cBgANHAYADRwGAA0cBgANH
         AYADRwGAA0cBgANHAYADRwGAA0cBgANHAYADRwGAA0cBgANHAYADRwGAA0cBgANHAYADRwGAA0cBgANH
         AYADRwGAA0cBgANHAYADRwGAA0cBgANHAYADRwGAA0cBgANHAYADRwGAA0cBgANHAYADRwGA/wD/AP8A
         AYADRwGAA0cBgANHAYADRwGAA0cBgANHAYADRwGAA0cBgANHAYADRwGAA0cBgANHAYADRwGA/wD/AP8A

+ 6 - 3
Optimizer/Forms/SplashForm.cs

@@ -1,8 +1,11 @@
 using System.Windows.Forms;
 using System.Windows.Forms;
 
 
-namespace Optimizer {
-    public sealed partial class SplashForm : Form {
-        public SplashForm() {
+namespace Optimizer
+{
+    public sealed partial class SplashForm : Form
+    {
+        public SplashForm()
+        {
             InitializeComponent();
             InitializeComponent();
 
 
             this.DoubleBuffered = true;
             this.DoubleBuffered = true;

+ 22 - 11
Optimizer/Forms/StartupPreviewForm.cs

@@ -4,11 +4,14 @@ using System.IO;
 using System.Linq;
 using System.Linq;
 using System.Windows.Forms;
 using System.Windows.Forms;
 
 
-namespace Optimizer {
-    public sealed partial class StartupPreviewForm : Form {
+namespace Optimizer
+{
+    public sealed partial class StartupPreviewForm : Form
+    {
         string _token = string.Empty;
         string _token = string.Empty;
 
 
-        public StartupPreviewForm(List<BackupStartupItem> items) {
+        public StartupPreviewForm(List<BackupStartupItem> items)
+        {
             InitializeComponent();
             InitializeComponent();
 
 
             CheckForIllegalCrossThreadCalls = false;
             CheckForIllegalCrossThreadCalls = false;
@@ -17,11 +20,14 @@ namespace Optimizer {
             // translate UI elements
             // translate UI elements
             if (OptionsHelper.CurrentOptions.LanguageCode != LanguageCode.EN) Translate();
             if (OptionsHelper.CurrentOptions.LanguageCode != LanguageCode.EN) Translate();
 
 
-            foreach (BackupStartupItem x in items) {
-                if (File.Exists(SanitizePath(x.FileLocation))) {
+            foreach (BackupStartupItem x in items)
+            {
+                if (File.Exists(SanitizePath(x.FileLocation)))
+                {
                     _token = "[✓] ";
                     _token = "[✓] ";
                 }
                 }
-                else {
+                else
+                {
                     _token = "[⚠] ";
                     _token = "[⚠] ";
                 }
                 }
 
 
@@ -29,14 +35,16 @@ namespace Optimizer {
             }
             }
         }
         }
 
 
-        private void Translate() {
+        private void Translate()
+        {
             this.Text = OptionsHelper.TranslationList["StartupPreviewForm"];
             this.Text = OptionsHelper.TranslationList["StartupPreviewForm"];
 
 
             Dictionary<string, string> translationList = OptionsHelper.TranslationList.ToObject<Dictionary<string, string>>();
             Dictionary<string, string> translationList = OptionsHelper.TranslationList.ToObject<Dictionary<string, string>>();
 
 
             Control element;
             Control element;
 
 
-            foreach (var x in translationList) {
+            foreach (var x in translationList)
+            {
                 if (x.Key == null || x.Key == string.Empty) continue;
                 if (x.Key == null || x.Key == string.Empty) continue;
                 element = this.Controls.Find(x.Key, true).FirstOrDefault();
                 element = this.Controls.Find(x.Key, true).FirstOrDefault();
 
 
@@ -46,15 +54,18 @@ namespace Optimizer {
             }
             }
         }
         }
 
 
-        private void StartupPreviewForm_Load(object sender, EventArgs e) {
+        private void StartupPreviewForm_Load(object sender, EventArgs e)
+        {
             this.Focus();
             this.Focus();
         }
         }
 
 
-        private string SanitizePath(string s) {
+        private string SanitizePath(string s)
+        {
             s = s.Replace("\"", string.Empty);
             s = s.Replace("\"", string.Empty);
             int i;
             int i;
 
 
-            while (s.Contains("/")) {
+            while (s.Contains("/"))
+            {
                 i = s.LastIndexOf("/");
                 i = s.LastIndexOf("/");
                 s = s.Substring(0, i);
                 s = s.Substring(0, i);
             }
             }

+ 64 - 32
Optimizer/Forms/StartupRestoreForm.cs

@@ -6,11 +6,14 @@ using System.IO;
 using System.Linq;
 using System.Linq;
 using System.Windows.Forms;
 using System.Windows.Forms;
 
 
-namespace Optimizer {
-    public sealed partial class StartupRestoreForm : Form {
+namespace Optimizer
+{
+    public sealed partial class StartupRestoreForm : Form
+    {
         string[] _backups;
         string[] _backups;
 
 
-        public StartupRestoreForm() {
+        public StartupRestoreForm()
+        {
             InitializeComponent();
             InitializeComponent();
 
 
             CheckForIllegalCrossThreadCalls = false;
             CheckForIllegalCrossThreadCalls = false;
@@ -22,28 +25,32 @@ namespace Optimizer {
             RefreshBackups();
             RefreshBackups();
         }
         }
 
 
-        private void RefreshBackups() {
+        private void RefreshBackups()
+        {
             _backups = Directory.GetFiles(CoreHelper.StartupItemsBackupFolder, "*.json");
             _backups = Directory.GetFiles(CoreHelper.StartupItemsBackupFolder, "*.json");
             Array.Reverse(_backups);
             Array.Reverse(_backups);
             listRestoreItems.Items.Clear();
             listRestoreItems.Items.Clear();
 
 
             txtNoBackups.Visible = _backups.Length == 0;
             txtNoBackups.Visible = _backups.Length == 0;
 
 
-            foreach (string x in _backups) {
+            foreach (string x in _backups)
+            {
                 listRestoreItems.Items.Add(Path.GetFileNameWithoutExtension(x));
                 listRestoreItems.Items.Add(Path.GetFileNameWithoutExtension(x));
             }
             }
 
 
             if (_backups.Any()) listRestoreItems.SelectedIndex = 0;
             if (_backups.Any()) listRestoreItems.SelectedIndex = 0;
         }
         }
 
 
-        private void Translate() {
+        private void Translate()
+        {
             this.Text = OptionsHelper.TranslationList["StartupRestoreForm"];
             this.Text = OptionsHelper.TranslationList["StartupRestoreForm"];
 
 
             Dictionary<string, string> translationList = OptionsHelper.TranslationList.ToObject<Dictionary<string, string>>();
             Dictionary<string, string> translationList = OptionsHelper.TranslationList.ToObject<Dictionary<string, string>>();
 
 
             Control element;
             Control element;
 
 
-            foreach (var x in translationList) {
+            foreach (var x in translationList)
+            {
                 if (x.Key == null || x.Key == string.Empty) continue;
                 if (x.Key == null || x.Key == string.Empty) continue;
                 element = this.Controls.Find(x.Key, true).FirstOrDefault();
                 element = this.Controls.Find(x.Key, true).FirstOrDefault();
 
 
@@ -53,18 +60,24 @@ namespace Optimizer {
             }
             }
         }
         }
 
 
-        private void StartupRestoreForm_Load(object sender, EventArgs e) {
+        private void StartupRestoreForm_Load(object sender, EventArgs e)
+        {
 
 
         }
         }
 
 
         // DeleteStartupBackup
         // DeleteStartupBackup
-        private void button2_Click(object sender, EventArgs e) {
-            if (listRestoreItems.SelectedIndex > -1) {
-                if (MessageBox.Show("Do you really want to delete this backup?", "Delete Backup?", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) {
-                    try {
+        private void button2_Click(object sender, EventArgs e)
+        {
+            if (listRestoreItems.SelectedIndex > -1)
+            {
+                if (MessageBox.Show("Do you really want to delete this backup?", "Delete Backup?", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
+                {
+                    try
+                    {
                         File.Delete(_backups[listRestoreItems.SelectedIndex]);
                         File.Delete(_backups[listRestoreItems.SelectedIndex]);
                     }
                     }
-                    catch (Exception ex) {
+                    catch (Exception ex)
+                    {
                         Logger.LogError("StartupRestoreForm.DeleteStartupBackup", ex.Message, ex.StackTrace);
                         Logger.LogError("StartupRestoreForm.DeleteStartupBackup", ex.Message, ex.StackTrace);
                     }
                     }
 
 
@@ -73,69 +86,88 @@ namespace Optimizer {
             }
             }
         }
         }
 
 
-        private void ShowPreview() {
-            if (listRestoreItems.SelectedIndex > -1) {
+        private void ShowPreview()
+        {
+            if (listRestoreItems.SelectedIndex > -1)
+            {
                 List<BackupStartupItem> backup = JsonConvert.DeserializeObject<List<BackupStartupItem>>(File.ReadAllText(_backups[listRestoreItems.SelectedIndex]));
                 List<BackupStartupItem> backup = JsonConvert.DeserializeObject<List<BackupStartupItem>>(File.ReadAllText(_backups[listRestoreItems.SelectedIndex]));
                 StartupPreviewForm f = new StartupPreviewForm(backup);
                 StartupPreviewForm f = new StartupPreviewForm(backup);
                 f.ShowDialog(this);
                 f.ShowDialog(this);
             }
             }
         }
         }
 
 
-        private void button39_Click(object sender, EventArgs e) {
+        private void button39_Click(object sender, EventArgs e)
+        {
             ShowPreview();
             ShowPreview();
         }
         }
 
 
-        private void listRestoreItems_MouseDoubleClick(object sender, MouseEventArgs e) {
+        private void listRestoreItems_MouseDoubleClick(object sender, MouseEventArgs e)
+        {
             ShowPreview();
             ShowPreview();
         }
         }
 
 
         // RestoreStartupBackup
         // RestoreStartupBackup
-        private void button1_Click(object sender, EventArgs e) {
-            if (listRestoreItems.SelectedIndex > -1) {
+        private void button1_Click(object sender, EventArgs e)
+        {
+            if (listRestoreItems.SelectedIndex > -1)
+            {
                 List<BackupStartupItem> backup = JsonConvert.DeserializeObject<List<BackupStartupItem>>(File.ReadAllText(_backups[listRestoreItems.SelectedIndex]));
                 List<BackupStartupItem> backup = JsonConvert.DeserializeObject<List<BackupStartupItem>>(File.ReadAllText(_backups[listRestoreItems.SelectedIndex]));
 
 
                 string keyPath = string.Empty;
                 string keyPath = string.Empty;
                 RegistryKey hive = null;
                 RegistryKey hive = null;
 
 
-                foreach (BackupStartupItem x in backup) {
-                    if (x.RegistryLocation == StartupItemLocation.HKLM.ToString()) {
+                foreach (BackupStartupItem x in backup)
+                {
+                    if (x.RegistryLocation == StartupItemLocation.HKLM.ToString())
+                    {
                         hive = Registry.LocalMachine;
                         hive = Registry.LocalMachine;
 
 
-                        if (x.StartupType == StartupItemType.Run.ToString()) {
+                        if (x.StartupType == StartupItemType.Run.ToString())
+                        {
                             keyPath = StartupHelper.LocalMachineRun;
                             keyPath = StartupHelper.LocalMachineRun;
                         }
                         }
-                        else if (x.StartupType == StartupItemType.RunOnce.ToString()) {
+                        else if (x.StartupType == StartupItemType.RunOnce.ToString())
+                        {
                             keyPath = StartupHelper.LocalMachineRunOnce;
                             keyPath = StartupHelper.LocalMachineRunOnce;
                         }
                         }
                     }
                     }
-                    else if (x.RegistryLocation == StartupItemLocation.HKLMWoW.ToString()) {
+                    else if (x.RegistryLocation == StartupItemLocation.HKLMWoW.ToString())
+                    {
                         hive = Registry.LocalMachine;
                         hive = Registry.LocalMachine;
 
 
-                        if (x.StartupType == StartupItemType.Run.ToString()) {
+                        if (x.StartupType == StartupItemType.Run.ToString())
+                        {
                             keyPath = StartupHelper.LocalMachineRunWoW;
                             keyPath = StartupHelper.LocalMachineRunWoW;
                         }
                         }
-                        else if (x.StartupType == StartupItemType.RunOnce.ToString()) {
+                        else if (x.StartupType == StartupItemType.RunOnce.ToString())
+                        {
                             keyPath = StartupHelper.LocalMachineRunOnceWow;
                             keyPath = StartupHelper.LocalMachineRunOnceWow;
                         }
                         }
                     }
                     }
-                    else if (x.RegistryLocation == StartupItemLocation.HKCU.ToString()) {
+                    else if (x.RegistryLocation == StartupItemLocation.HKCU.ToString())
+                    {
                         hive = Registry.CurrentUser;
                         hive = Registry.CurrentUser;
 
 
-                        if (x.StartupType == StartupItemType.Run.ToString()) {
+                        if (x.StartupType == StartupItemType.Run.ToString())
+                        {
                             keyPath = StartupHelper.CurrentUserRun;
                             keyPath = StartupHelper.CurrentUserRun;
                         }
                         }
-                        else if (x.StartupType == StartupItemType.RunOnce.ToString()) {
+                        else if (x.StartupType == StartupItemType.RunOnce.ToString())
+                        {
                             keyPath = StartupHelper.CurrentUserRunOnce;
                             keyPath = StartupHelper.CurrentUserRunOnce;
                         }
                         }
                     }
                     }
 
 
-                    if (hive != null) {
-                        try {
+                    if (hive != null)
+                    {
+                        try
+                        {
                             RegistryKey key = hive.OpenSubKey(keyPath, true);
                             RegistryKey key = hive.OpenSubKey(keyPath, true);
                             key.SetValue(x.Name, x.FileLocation, RegistryValueKind.String);
                             key.SetValue(x.Name, x.FileLocation, RegistryValueKind.String);
 
 
                         }
                         }
-                        catch (Exception ex) {
+                        catch (Exception ex)
+                        {
                             Logger.LogError("StartupRestoreForm.RestoreStartupBackup", ex.Message, ex.StackTrace);
                             Logger.LogError("StartupRestoreForm.RestoreStartupBackup", ex.Message, ex.StackTrace);
                         }
                         }
                     }
                     }

+ 12 - 6
Optimizer/Forms/SubForm.cs

@@ -1,9 +1,12 @@
 using System;
 using System;
 using System.Windows.Forms;
 using System.Windows.Forms;
 
 
-namespace Optimizer {
-    public sealed partial class SubForm : Form {
-        public SubForm() {
+namespace Optimizer
+{
+    public sealed partial class SubForm : Form
+    {
+        public SubForm()
+        {
             InitializeComponent();
             InitializeComponent();
 
 
             CheckForIllegalCrossThreadCalls = false;
             CheckForIllegalCrossThreadCalls = false;
@@ -14,17 +17,20 @@ namespace Optimizer {
             btnStart.Select();
             btnStart.Select();
         }
         }
 
 
-        internal void SetTip(string tip) {
+        internal void SetTip(string tip)
+        {
             txtInfo.Text = tip;
             txtInfo.Text = tip;
             btnStart.Focus();
             btnStart.Focus();
             btnStart.Select();
             btnStart.Select();
         }
         }
 
 
-        private void btnStart_Click(object sender, EventArgs e) {
+        private void btnStart_Click(object sender, EventArgs e)
+        {
             this.Close();
             this.Close();
         }
         }
 
 
-        private void SubForm_Load(object sender, EventArgs e) {
+        private void SubForm_Load(object sender, EventArgs e)
+        {
             OptionsHelper.ApplyTheme(this);
             OptionsHelper.ApplyTheme(this);
         }
         }
     }
     }

+ 12 - 6
Optimizer/Forms/UpdateForm.cs

@@ -2,16 +2,20 @@
 using System.Drawing;
 using System.Drawing;
 using System.Windows.Forms;
 using System.Windows.Forms;
 
 
-namespace Optimizer {
-    public sealed partial class UpdateForm : Form {
-        public UpdateForm(string message, bool newUpdate, string changelog, string latestVersion) {
+namespace Optimizer
+{
+    public sealed partial class UpdateForm : Form
+    {
+        public UpdateForm(string message, bool newUpdate, string changelog, string latestVersion)
+        {
             InitializeComponent();
             InitializeComponent();
             CheckForIllegalCrossThreadCalls = false;
             CheckForIllegalCrossThreadCalls = false;
             OptionsHelper.ApplyTheme(this);
             OptionsHelper.ApplyTheme(this);
 
 
             txtMessage.Text = message;
             txtMessage.Text = message;
 
 
-            if (newUpdate) {
+            if (newUpdate)
+            {
                 this.Size = new Size(600, 545);
                 this.Size = new Size(600, 545);
                 btnOK.Text = OptionsHelper.TranslationList["btnYes"].ToString();
                 btnOK.Text = OptionsHelper.TranslationList["btnYes"].ToString();
                 btnNo.Text = OptionsHelper.TranslationList["btnNo"].ToString();
                 btnNo.Text = OptionsHelper.TranslationList["btnNo"].ToString();
@@ -27,7 +31,8 @@ namespace Optimizer {
                 txtInfo.Visible = true;
                 txtInfo.Visible = true;
                 txtChanges.Visible = true;
                 txtChanges.Visible = true;
             }
             }
-            else {
+            else
+            {
                 this.Size = new Size(600, 188);
                 this.Size = new Size(600, 188);
                 btnOK.Text = OptionsHelper.TranslationList["btnAbout"].ToString();
                 btnOK.Text = OptionsHelper.TranslationList["btnAbout"].ToString();
                 btnNo.Visible = false;
                 btnNo.Visible = false;
@@ -40,7 +45,8 @@ namespace Optimizer {
             }
             }
         }
         }
 
 
-        private void UpdateForm_Load(object sender, EventArgs e) {
+        private void UpdateForm_Load(object sender, EventArgs e)
+        {
 
 
         }
         }
     }
     }

+ 86 - 43
Optimizer/HostsHelper.cs

@@ -6,34 +6,44 @@ using System.Text;
 using System.Text.RegularExpressions;
 using System.Text.RegularExpressions;
 using System.Windows.Forms;
 using System.Windows.Forms;
 
 
-namespace Optimizer {
-    internal static class HostsHelper {
+namespace Optimizer
+{
+    internal static class HostsHelper
+    {
         internal static string NewLine = Environment.NewLine;
         internal static string NewLine = Environment.NewLine;
         internal static readonly string HostsFile = CleanHelper.System32Folder + "\\drivers\\etc\\hosts";
         internal static readonly string HostsFile = CleanHelper.System32Folder + "\\drivers\\etc\\hosts";
 
 
-        internal static void RestoreDefaultHosts() {
-            try {
-                if (File.Exists(HostsFile)) {
+        internal static void RestoreDefaultHosts()
+        {
+            try
+            {
+                if (File.Exists(HostsFile))
+                {
                     File.Delete(HostsFile);
                     File.Delete(HostsFile);
                 }
                 }
 
 
                 File.WriteAllBytes(HostsFile, Properties.Resources.hosts);
                 File.WriteAllBytes(HostsFile, Properties.Resources.hosts);
             }
             }
-            catch (Exception ex) {
+            catch (Exception ex)
+            {
                 Logger.LogError("HostsHelper.RestoreDefaultHosts", ex.Message, ex.StackTrace);
                 Logger.LogError("HostsHelper.RestoreDefaultHosts", ex.Message, ex.StackTrace);
                 MessageBox.Show(OptionsHelper.TranslationList("dnsCacheM").ToString(), "Optimizer", MessageBoxButtons.OK, MessageBoxIcon.Information);
                 MessageBox.Show(OptionsHelper.TranslationList("dnsCacheM").ToString(), "Optimizer", MessageBoxButtons.OK, MessageBoxIcon.Information);
             }
             }
         }
         }
 
 
-        internal static string[] ReadHosts() {
+        internal static string[] ReadHosts()
+        {
             StringBuilder sb = new StringBuilder();
             StringBuilder sb = new StringBuilder();
 
 
-            try {
-                using (StreamReader sr = File.OpenText(HostsFile)) {
+            try
+            {
+                using (StreamReader sr = File.OpenText(HostsFile))
+                {
                     sb.Append(sr.ReadToEnd());
                     sb.Append(sr.ReadToEnd());
                 }
                 }
             }
             }
-            catch (Exception ex) {
+            catch (Exception ex)
+            {
                 Logger.LogError("HostsHelper.ReadHosts", ex.Message, ex.StackTrace);
                 Logger.LogError("HostsHelper.ReadHosts", ex.Message, ex.StackTrace);
             }
             }
 
 
@@ -41,50 +51,63 @@ namespace Optimizer {
             //return File.ReadAllLines(HostsFile);
             //return File.ReadAllLines(HostsFile);
         }
         }
 
 
-        internal static string ReadHostsFast() {
+        internal static string ReadHostsFast()
+        {
             StringBuilder sb = new StringBuilder();
             StringBuilder sb = new StringBuilder();
 
 
-            try {
-                using (StreamReader sr = File.OpenText(HostsFile)) {
+            try
+            {
+                using (StreamReader sr = File.OpenText(HostsFile))
+                {
                     sb.Append(sr.ReadToEnd());
                     sb.Append(sr.ReadToEnd());
                 }
                 }
             }
             }
-            catch (Exception ex) {
+            catch (Exception ex)
+            {
                 Logger.LogError("HostsHelper.ReadHostsFast", ex.Message, ex.StackTrace);
                 Logger.LogError("HostsHelper.ReadHostsFast", ex.Message, ex.StackTrace);
             }
             }
 
 
             return sb.ToString();
             return sb.ToString();
         }
         }
 
 
-        internal static void LocateHosts() {
+        internal static void LocateHosts()
+        {
             Utilities.FindFile(HostsFile);
             Utilities.FindFile(HostsFile);
         }
         }
 
 
-        internal static void SaveHosts(string[] lines) {
-            for (int i = 0; i < lines.Length; i++) {
-                if (!lines[i].StartsWith("#") && (!string.IsNullOrEmpty(lines[i]))) {
+        internal static void SaveHosts(string[] lines)
+        {
+            for (int i = 0; i < lines.Length; i++)
+            {
+                if (!lines[i].StartsWith("#") && (!string.IsNullOrEmpty(lines[i])))
+                {
                     lines[i] = SanitizeEntry(lines[i]);
                     lines[i] = SanitizeEntry(lines[i]);
                 }
                 }
             }
             }
 
 
-            try {
+            try
+            {
                 File.WriteAllText(HostsFile, string.Empty);
                 File.WriteAllText(HostsFile, string.Empty);
                 File.WriteAllLines(HostsFile, lines);
                 File.WriteAllLines(HostsFile, lines);
             }
             }
-            catch (Exception ex) {
+            catch (Exception ex)
+            {
                 Logger.LogError("HostsHelper.SaveHosts", ex.Message, ex.StackTrace);
                 Logger.LogError("HostsHelper.SaveHosts", ex.Message, ex.StackTrace);
                 MessageBox.Show(OptionsHelper.TranslationList("dnsCacheM").ToString(), "Optimizer", MessageBoxButtons.OK, MessageBoxIcon.Information);
                 MessageBox.Show(OptionsHelper.TranslationList("dnsCacheM").ToString(), "Optimizer", MessageBoxButtons.OK, MessageBoxIcon.Information);
             }
             }
         }
         }
 
 
-        internal static List<string> GetHostsEntries() {
+        internal static List<string> GetHostsEntries()
+        {
             List<string> entries = new List<string>();
             List<string> entries = new List<string>();
 
 
             //string[] lines = File.ReadAllLines(HostsFile);
             //string[] lines = File.ReadAllLines(HostsFile);
             string[] lines = ReadHosts();
             string[] lines = ReadHosts();
 
 
-            foreach (string line in lines) {
-                if (!line.StartsWith("#") && (!string.IsNullOrEmpty(line))) {
+            foreach (string line in lines)
+            {
+                if (!line.StartsWith("#") && (!string.IsNullOrEmpty(line)))
+                {
                     entries.Add(line.Replace(" ", " : "));
                     entries.Add(line.Replace(" ", " : "));
                 }
                 }
             }
             }
@@ -92,68 +115,88 @@ namespace Optimizer {
             return entries;
             return entries;
         }
         }
 
 
-        internal static void AddEntry(string entry) {
-            try {
+        internal static void AddEntry(string entry)
+        {
+            try
+            {
                 File.AppendAllText(HostsFile, NewLine + $"{entry}");
                 File.AppendAllText(HostsFile, NewLine + $"{entry}");
             }
             }
-            catch (Exception ex) {
+            catch (Exception ex)
+            {
                 Logger.LogError("HostsHelper.AddEntry", ex.Message, ex.StackTrace);
                 Logger.LogError("HostsHelper.AddEntry", ex.Message, ex.StackTrace);
                 MessageBox.Show(OptionsHelper.TranslationList("dnsCacheM").ToString(), "DNS Cache is running", MessageBoxButtons.OK, MessageBoxIcon.Information);
                 MessageBox.Show(OptionsHelper.TranslationList("dnsCacheM").ToString(), "DNS Cache is running", MessageBoxButtons.OK, MessageBoxIcon.Information);
             }
             }
         }
         }
 
 
-        internal static void RemoveEntry(string entry) {
-            try {
+        internal static void RemoveEntry(string entry)
+        {
+            try
+            {
                 File.WriteAllLines(HostsFile, File.ReadLines(HostsFile).Where(x => x != entry).ToList());
                 File.WriteAllLines(HostsFile, File.ReadLines(HostsFile).Where(x => x != entry).ToList());
             }
             }
-            catch (Exception ex) {
+            catch (Exception ex)
+            {
                 Logger.LogError("HostsHelper.RemoveEntry", ex.Message, ex.StackTrace);
                 Logger.LogError("HostsHelper.RemoveEntry", ex.Message, ex.StackTrace);
                 MessageBox.Show(OptionsHelper.TranslationList("dnsCacheM").ToString(), "DNS Cache is running", MessageBoxButtons.OK, MessageBoxIcon.Information);
                 MessageBox.Show(OptionsHelper.TranslationList("dnsCacheM").ToString(), "DNS Cache is running", MessageBoxButtons.OK, MessageBoxIcon.Information);
             }
             }
         }
         }
 
 
-        internal static void RemoveEntryFromTemplate(string domain) {
-            try {
+        internal static void RemoveEntryFromTemplate(string domain)
+        {
+            try
+            {
                 File.WriteAllLines(HostsFile, File.ReadLines(HostsFile).Where(x => !x.Contains(domain)).ToList());
                 File.WriteAllLines(HostsFile, File.ReadLines(HostsFile).Where(x => !x.Contains(domain)).ToList());
             }
             }
-            catch (Exception ex) {
+            catch (Exception ex)
+            {
                 Logger.LogError("HostsHelper.RemoveEntryFromTemplate", ex.Message, ex.StackTrace);
                 Logger.LogError("HostsHelper.RemoveEntryFromTemplate", ex.Message, ex.StackTrace);
             }
             }
         }
         }
 
 
-        internal static void RemoveAllEntries(List<string> collection) {
-            try {
-                foreach (string text in collection) {
+        internal static void RemoveAllEntries(List<string> collection)
+        {
+            try
+            {
+                foreach (string text in collection)
+                {
                     File.WriteAllLines(HostsFile, File.ReadLines(HostsFile).Where(l => l != text).ToList());
                     File.WriteAllLines(HostsFile, File.ReadLines(HostsFile).Where(l => l != text).ToList());
                 }
                 }
             }
             }
-            catch (Exception ex) {
+            catch (Exception ex)
+            {
                 Logger.LogError("HostsHelper.RemoveAllEntries", ex.Message, ex.StackTrace);
                 Logger.LogError("HostsHelper.RemoveAllEntries", ex.Message, ex.StackTrace);
                 MessageBox.Show(OptionsHelper.TranslationList("dnsCacheM").ToString(), "DNS Cache is running", MessageBoxButtons.OK, MessageBoxIcon.Information);
                 MessageBox.Show(OptionsHelper.TranslationList("dnsCacheM").ToString(), "DNS Cache is running", MessageBoxButtons.OK, MessageBoxIcon.Information);
             }
             }
         }
         }
 
 
-        internal static string SanitizeEntry(string entry) {
+        internal static string SanitizeEntry(string entry)
+        {
             // remove multiple white spaces and keep only one
             // remove multiple white spaces and keep only one
             return Regex.Replace(entry, @"\s{2,}", " ");
             return Regex.Replace(entry, @"\s{2,}", " ");
         }
         }
 
 
-        internal static bool GetReadOnly() {
-            try {
+        internal static bool GetReadOnly()
+        {
+            try
+            {
                 return new FileInfo(HostsFile).IsReadOnly;
                 return new FileInfo(HostsFile).IsReadOnly;
             }
             }
-            catch (Exception ex) {
+            catch (Exception ex)
+            {
                 Logger.LogError("HostsHelper.ReadOnly", ex.Message, ex.StackTrace);
                 Logger.LogError("HostsHelper.ReadOnly", ex.Message, ex.StackTrace);
                 return false;
                 return false;
             }
             }
         }
         }
 
 
-        internal static void ReadOnly(bool enable) {
-            try {
+        internal static void ReadOnly(bool enable)
+        {
+            try
+            {
                 FileInfo fi = new FileInfo(HostsFile);
                 FileInfo fi = new FileInfo(HostsFile);
                 fi.IsReadOnly = enable;
                 fi.IsReadOnly = enable;
             }
             }
-            catch (Exception ex) {
+            catch (Exception ex)
+            {
                 Logger.LogError("HostsHelper.ReadOnly", ex.Message, ex.StackTrace);
                 Logger.LogError("HostsHelper.ReadOnly", ex.Message, ex.StackTrace);
             }
             }
         }
         }

+ 152 - 76
Optimizer/IndiciumHelper.cs

@@ -3,8 +3,10 @@ using System;
 using System.Collections.Generic;
 using System.Collections.Generic;
 using System.Management;
 using System.Management;
 
 
-namespace Optimizer {
-    public static class IndiciumHelper {
+namespace Optimizer
+{
+    public static class IndiciumHelper
+    {
         public static List<Volume> Volumes = new List<Volume>();
         public static List<Volume> Volumes = new List<Volume>();
         public static List<Volume> Opticals = new List<Volume>();
         public static List<Volume> Opticals = new List<Volume>();
         public static List<Volume> Removables = new List<Volume>();
         public static List<Volume> Removables = new List<Volume>();
@@ -15,13 +17,16 @@ namespace Optimizer {
         public static List<Keyboard> Keyboards = new List<Keyboard>();
         public static List<Keyboard> Keyboards = new List<Keyboard>();
         public static List<PointingDevice> PointingDevices = new List<PointingDevice>();
         public static List<PointingDevice> PointingDevices = new List<PointingDevice>();
 
 
-        public static List<CPU> GetCPUs() {
+        public static List<CPU> GetCPUs()
+        {
             List<CPU> CPUs = new List<CPU>();
             List<CPU> CPUs = new List<CPU>();
             CPU cpu;
             CPU cpu;
 
 
-            try {
+            try
+            {
                 ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_Processor");
                 ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_Processor");
-                foreach (ManagementObject mo in searcher.Get()) {
+                foreach (ManagementObject mo in searcher.Get())
+                {
                     cpu = new CPU();
                     cpu = new CPU();
 
 
                     cpu.Name = Convert.ToString(mo.Properties["Name"].Value);
                     cpu.Name = Convert.ToString(mo.Properties["Name"].Value);
@@ -34,25 +39,30 @@ namespace Optimizer {
 
 
                     cpu.LogicalCpus = Convert.ToUInt32(mo.Properties["NumberOfLogicalProcessors"].Value);
                     cpu.LogicalCpus = Convert.ToUInt32(mo.Properties["NumberOfLogicalProcessors"].Value);
 
 
-                    if (Utilities.CurrentWindowsVersion != WindowsVersion.Windows7) {
+                    if (Utilities.CurrentWindowsVersion != WindowsVersion.Windows7)
+                    {
                         bool temp = Convert.ToBoolean(mo.Properties["VirtualizationFirmwareEnabled"].Value);
                         bool temp = Convert.ToBoolean(mo.Properties["VirtualizationFirmwareEnabled"].Value);
                         cpu.Virtualization = (temp) ? "Yes" : "No";
                         cpu.Virtualization = (temp) ? "Yes" : "No";
                     }
                     }
-                    else {
+                    else
+                    {
                         cpu.Virtualization = "-";
                         cpu.Virtualization = "-";
                     }
                     }
 
 
                     cpu.Stepping = Convert.ToString(mo.Properties["Description"].Value);
                     cpu.Stepping = Convert.ToString(mo.Properties["Description"].Value);
                     cpu.Revision = Convert.ToString(mo.Properties["Revision"].Value);
                     cpu.Revision = Convert.ToString(mo.Properties["Revision"].Value);
 
 
-                    try {
+                    try
+                    {
                         ManagementObjectSearcher searcher2 = new ManagementObjectSearcher("SELECT * FROM Win32_OperatingSystem");
                         ManagementObjectSearcher searcher2 = new ManagementObjectSearcher("SELECT * FROM Win32_OperatingSystem");
-                        foreach (ManagementObject mo2 in searcher2.Get()) {
+                        foreach (ManagementObject mo2 in searcher2.Get())
+                        {
                             bool temp2 = Convert.ToBoolean(mo2.Properties["DataExecutionPrevention_Available"].Value);
                             bool temp2 = Convert.ToBoolean(mo2.Properties["DataExecutionPrevention_Available"].Value);
                             cpu.DataExecutionPrevention = (temp2) ? "Yes" : "No";
                             cpu.DataExecutionPrevention = (temp2) ? "Yes" : "No";
                         }
                         }
                     }
                     }
-                    catch {
+                    catch
+                    {
                         cpu.DataExecutionPrevention = "-";
                         cpu.DataExecutionPrevention = "-";
                     }
                     }
 
 
@@ -61,44 +71,54 @@ namespace Optimizer {
                     CPUs.Add(cpu);
                     CPUs.Add(cpu);
                 }
                 }
             }
             }
-            catch (Exception ex) {
+            catch (Exception ex)
+            {
                 Logger.LogError("IndiciumHelper.GetCPUs", ex.Message, ex.StackTrace);
                 Logger.LogError("IndiciumHelper.GetCPUs", ex.Message, ex.StackTrace);
             }
             }
 
 
             return CPUs;
             return CPUs;
         }
         }
 
 
-        private static string GetCPUNameAlternative() {
-            using (RegistryKey key = Registry.LocalMachine.OpenSubKey(@"HARDWARE\DESCRIPTION\System\CentralProcessor\0", false)) {
+        private static string GetCPUNameAlternative()
+        {
+            using (RegistryKey key = Registry.LocalMachine.OpenSubKey(@"HARDWARE\DESCRIPTION\System\CentralProcessor\0", false))
+            {
                 return key.GetValue("ProcessorNameString").ToString();
                 return key.GetValue("ProcessorNameString").ToString();
             }
             }
         }
         }
 
 
-        public static VirtualMemory GetVM() {
+        public static VirtualMemory GetVM()
+        {
             VirtualMemory vm = new VirtualMemory();
             VirtualMemory vm = new VirtualMemory();
 
 
-            try {
+            try
+            {
                 ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_OperatingSystem");
                 ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_OperatingSystem");
-                foreach (ManagementObject mo in searcher.Get()) {
+                foreach (ManagementObject mo in searcher.Get())
+                {
                     vm.TotalVirtualMemory = ByteSize.FromKiloBytes(Convert.ToUInt64(mo.Properties["TotalVirtualMemorySize"].Value));
                     vm.TotalVirtualMemory = ByteSize.FromKiloBytes(Convert.ToUInt64(mo.Properties["TotalVirtualMemorySize"].Value));
                     vm.AvailableVirtualMemory = ByteSize.FromKiloBytes(Convert.ToUInt64(mo.Properties["FreeVirtualMemory"].Value));
                     vm.AvailableVirtualMemory = ByteSize.FromKiloBytes(Convert.ToUInt64(mo.Properties["FreeVirtualMemory"].Value));
                     vm.UsedVirtualMemory = vm.TotalVirtualMemory.Subtract(vm.AvailableVirtualMemory);
                     vm.UsedVirtualMemory = vm.TotalVirtualMemory.Subtract(vm.AvailableVirtualMemory);
                 }
                 }
             }
             }
-            catch (Exception ex) {
+            catch (Exception ex)
+            {
                 Logger.LogError("IndiciumHelper.GetVM", ex.Message, ex.StackTrace);
                 Logger.LogError("IndiciumHelper.GetVM", ex.Message, ex.StackTrace);
             }
             }
 
 
             return vm;
             return vm;
         }
         }
 
 
-        public static List<RAM> GetRAM() {
+        public static List<RAM> GetRAM()
+        {
             List<RAM> modules = new List<RAM>();
             List<RAM> modules = new List<RAM>();
             RAM module;
             RAM module;
 
 
-            try {
+            try
+            {
                 ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_PhysicalMemory");
                 ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_PhysicalMemory");
-                foreach (ManagementObject mo in searcher.Get()) {
+                foreach (ManagementObject mo in searcher.Get())
+                {
                     module = new RAM();
                     module = new RAM();
 
 
                     module.BankLabel = Convert.ToString(mo.Properties["BankLabel"].Value);
                     module.BankLabel = Convert.ToString(mo.Properties["BankLabel"].Value);
@@ -113,19 +133,23 @@ namespace Optimizer {
                     modules.Add(module);
                     modules.Add(module);
                 }
                 }
             }
             }
-            catch (Exception ex) {
+            catch (Exception ex)
+            {
                 Logger.LogError("IndiciumHelper.GetRAM", ex.Message, ex.StackTrace);
                 Logger.LogError("IndiciumHelper.GetRAM", ex.Message, ex.StackTrace);
             }
             }
 
 
             return modules;
             return modules;
         }
         }
 
 
-        public static List<Motherboard> GetMotherboards() {
+        public static List<Motherboard> GetMotherboards()
+        {
             List<Motherboard> mobos = new List<Motherboard>();
             List<Motherboard> mobos = new List<Motherboard>();
 
 
-            try {
+            try
+            {
                 ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_BaseBoard");
                 ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_BaseBoard");
-                foreach (ManagementObject mo in searcher.Get()) {
+                foreach (ManagementObject mo in searcher.Get())
+                {
                     Motherboard mobo = new Motherboard();
                     Motherboard mobo = new Motherboard();
 
 
                     mobo.Model = Convert.ToString(mo.Properties["Model"].Value);
                     mobo.Model = Convert.ToString(mo.Properties["Model"].Value);
@@ -133,32 +157,39 @@ namespace Optimizer {
                     mobo.Product = Convert.ToString(mo.Properties["Product"].Value);
                     mobo.Product = Convert.ToString(mo.Properties["Product"].Value);
                     mobo.Version = Convert.ToString(mo.Properties["Version"].Value);
                     mobo.Version = Convert.ToString(mo.Properties["Version"].Value);
 
 
-                    try {
+                    try
+                    {
                         ManagementObjectSearcher searcher2 = new ManagementObjectSearcher("SELECT * FROM Win32_IDEController");
                         ManagementObjectSearcher searcher2 = new ManagementObjectSearcher("SELECT * FROM Win32_IDEController");
-                        foreach (ManagementObject mo2 in searcher2.Get()) {
+                        foreach (ManagementObject mo2 in searcher2.Get())
+                        {
                             mobo.Chipset = Convert.ToString(mo2.Properties["Description"].Value);
                             mobo.Chipset = Convert.ToString(mo2.Properties["Description"].Value);
                         }
                         }
                     }
                     }
                     catch { }
                     catch { }
 
 
-                    try {
+                    try
+                    {
                         ManagementObjectSearcher searcher3 = new ManagementObjectSearcher("SELECT * FROM Win32_IDEController");
                         ManagementObjectSearcher searcher3 = new ManagementObjectSearcher("SELECT * FROM Win32_IDEController");
-                        foreach (ManagementObject mo3 in searcher3.Get()) {
+                        foreach (ManagementObject mo3 in searcher3.Get())
+                        {
                             mobo.Revision = Convert.ToString(mo3.Properties["RevisionNumber"].Value);
                             mobo.Revision = Convert.ToString(mo3.Properties["RevisionNumber"].Value);
                         }
                         }
                     }
                     }
                     catch { }
                     catch { }
 
 
-                    try {
+                    try
+                    {
                         ManagementObjectSearcher searcher4 = new ManagementObjectSearcher("SELECT * FROM Win32_ComputerSystem");
                         ManagementObjectSearcher searcher4 = new ManagementObjectSearcher("SELECT * FROM Win32_ComputerSystem");
-                        foreach (ManagementObject mo4 in searcher4.Get()) {
+                        foreach (ManagementObject mo4 in searcher4.Get())
+                        {
                             mobo.SystemModel = Convert.ToString(mo4.Properties["Model"].Value);
                             mobo.SystemModel = Convert.ToString(mo4.Properties["Model"].Value);
                         }
                         }
                     }
                     }
                     catch { }
                     catch { }
 
 
                     ManagementObjectSearcher searcher5 = new ManagementObjectSearcher("SELECT * FROM Win32_BIOS");
                     ManagementObjectSearcher searcher5 = new ManagementObjectSearcher("SELECT * FROM Win32_BIOS");
-                    foreach (ManagementObject mo5 in searcher5.Get()) {
+                    foreach (ManagementObject mo5 in searcher5.Get())
+                    {
                         mobo.BIOSName = Convert.ToString(mo5.Properties["Name"].Value);
                         mobo.BIOSName = Convert.ToString(mo5.Properties["Name"].Value);
                         mobo.BIOSManufacturer = Convert.ToString(mo5.Properties["Manufacturer"].Value);
                         mobo.BIOSManufacturer = Convert.ToString(mo5.Properties["Manufacturer"].Value);
                         mobo.BIOSVersion = Convert.ToString(mo5.Properties["Version"].Value);
                         mobo.BIOSVersion = Convert.ToString(mo5.Properties["Version"].Value);
@@ -169,19 +200,23 @@ namespace Optimizer {
                     mobos.Add(mobo);
                     mobos.Add(mobo);
                 }
                 }
             }
             }
-            catch (Exception ex) {
+            catch (Exception ex)
+            {
                 Logger.LogError("IndiciumHelper.GetMotherboards", ex.Message, ex.StackTrace);
                 Logger.LogError("IndiciumHelper.GetMotherboards", ex.Message, ex.StackTrace);
             }
             }
 
 
             return mobos;
             return mobos;
         }
         }
 
 
-        public static List<Disk> GetDisks() {
+        public static List<Disk> GetDisks()
+        {
             List<Disk> disks = new List<Disk>();
             List<Disk> disks = new List<Disk>();
 
 
-            try {
+            try
+            {
                 ManagementObjectSearcher searcher2 = new ManagementObjectSearcher("SELECT * FROM Win32_DiskDrive");
                 ManagementObjectSearcher searcher2 = new ManagementObjectSearcher("SELECT * FROM Win32_DiskDrive");
-                foreach (ManagementObject mo2 in searcher2.Get()) {
+                foreach (ManagementObject mo2 in searcher2.Get())
+                {
                     Disk disk = new Disk();
                     Disk disk = new Disk();
 
 
                     disk.Model = Convert.ToString(mo2.Properties["Model"].Value);
                     disk.Model = Convert.ToString(mo2.Properties["Model"].Value);
@@ -193,17 +228,21 @@ namespace Optimizer {
                     disks.Add(disk);
                     disks.Add(disk);
                 }
                 }
             }
             }
-            catch (Exception ex) {
+            catch (Exception ex)
+            {
                 Logger.LogError("IndiciumHelper.GetDisks", ex.Message, ex.StackTrace);
                 Logger.LogError("IndiciumHelper.GetDisks", ex.Message, ex.StackTrace);
             }
             }
 
 
             return disks;
             return disks;
         }
         }
 
 
-        public static void GetVolumes() {
-            try {
+        public static void GetVolumes()
+        {
+            try
+            {
                 ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_Volume");
                 ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_Volume");
-                foreach (ManagementObject mo in searcher.Get()) {
+                foreach (ManagementObject mo in searcher.Get())
+                {
                     Volume volume = new Volume();
                     Volume volume = new Volume();
 
 
                     volume.BlockSize = Convert.ToUInt64(mo.Properties["BlockSize"].Value);
                     volume.BlockSize = Convert.ToUInt64(mo.Properties["BlockSize"].Value);
@@ -220,26 +259,33 @@ namespace Optimizer {
                     volume.Indexing = (temp2) ? "Yes" : "No";
                     volume.Indexing = (temp2) ? "Yes" : "No";
                     volume.Label = Convert.ToString(mo.Properties["Label"].Value);
                     volume.Label = Convert.ToString(mo.Properties["Label"].Value);
 
 
-                    if (i == 2) {
+                    if (i == 2)
+                    {
                         Removables.Add(volume);
                         Removables.Add(volume);
                     }
                     }
-                    else if (i == 5) {
+                    else if (i == 5)
+                    {
                         Opticals.Add(volume);
                         Opticals.Add(volume);
                     }
                     }
-                    else {
+                    else
+                    {
                         Volumes.Add(volume);
                         Volumes.Add(volume);
                     }
                     }
                 }
                 }
             }
             }
-            catch (Exception ex) {
+            catch (Exception ex)
+            {
                 Logger.LogError("IndiciumHelper.GetVolumes", ex.Message, ex.StackTrace);
                 Logger.LogError("IndiciumHelper.GetVolumes", ex.Message, ex.StackTrace);
             }
             }
         }
         }
 
 
-        public static void GetPeripherals() {
-            try {
+        public static void GetPeripherals()
+        {
+            try
+            {
                 ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_Keyboard");
                 ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_Keyboard");
-                foreach (ManagementObject mo in searcher.Get()) {
+                foreach (ManagementObject mo in searcher.Get())
+                {
                     Keyboard keyboard = new Keyboard();
                     Keyboard keyboard = new Keyboard();
 
 
                     keyboard.Name = Convert.ToString(mo.Properties["Description"].Value);
                     keyboard.Name = Convert.ToString(mo.Properties["Description"].Value);
@@ -252,13 +298,16 @@ namespace Optimizer {
                     Keyboards.Add(keyboard);
                     Keyboards.Add(keyboard);
                 }
                 }
             }
             }
-            catch (Exception ex) {
+            catch (Exception ex)
+            {
                 Logger.LogError("IndiciumHelper.GetKeyboards", ex.Message, ex.StackTrace);
                 Logger.LogError("IndiciumHelper.GetKeyboards", ex.Message, ex.StackTrace);
             }
             }
 
 
-            try {
+            try
+            {
                 ManagementObjectSearcher searcher2 = new ManagementObjectSearcher("SELECT * FROM Win32_PointingDevice");
                 ManagementObjectSearcher searcher2 = new ManagementObjectSearcher("SELECT * FROM Win32_PointingDevice");
-                foreach (ManagementObject mo2 in searcher2.Get()) {
+                foreach (ManagementObject mo2 in searcher2.Get())
+                {
                     PointingDevice pointingDevice = new PointingDevice();
                     PointingDevice pointingDevice = new PointingDevice();
 
 
                     pointingDevice.Name = Convert.ToString(mo2.Properties["Description"].Value);
                     pointingDevice.Name = Convert.ToString(mo2.Properties["Description"].Value);
@@ -276,17 +325,21 @@ namespace Optimizer {
                     PointingDevices.Add(pointingDevice);
                     PointingDevices.Add(pointingDevice);
                 }
                 }
             }
             }
-            catch (Exception ex) {
+            catch (Exception ex)
+            {
                 Logger.LogError("IndiciumHelper.GetPointingDevices", ex.Message, ex.StackTrace);
                 Logger.LogError("IndiciumHelper.GetPointingDevices", ex.Message, ex.StackTrace);
             }
             }
         }
         }
 
 
-        public static List<GPU> GetGPUs() {
+        public static List<GPU> GetGPUs()
+        {
             List<GPU> GPUs = new List<GPU>();
             List<GPU> GPUs = new List<GPU>();
 
 
-            try {
+            try
+            {
                 ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_VideoController");
                 ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_VideoController");
-                foreach (ManagementObject mo in searcher.Get()) {
+                foreach (ManagementObject mo in searcher.Get())
+                {
                     GPU gpu = new GPU();
                     GPU gpu = new GPU();
 
 
                     gpu.Name = Convert.ToString(mo.Properties["Name"].Value);
                     gpu.Name = Convert.ToString(mo.Properties["Name"].Value);
@@ -301,17 +354,21 @@ namespace Optimizer {
                     GPUs.Add(gpu);
                     GPUs.Add(gpu);
                 }
                 }
             }
             }
-            catch (Exception ex) {
+            catch (Exception ex)
+            {
                 Logger.LogError("IndiciumHelper.GetGPUs", ex.Message, ex.StackTrace);
                 Logger.LogError("IndiciumHelper.GetGPUs", ex.Message, ex.StackTrace);
             }
             }
 
 
             return GPUs;
             return GPUs;
         }
         }
 
 
-        public static void GetNetworkAdapters() {
-            try {
+        public static void GetNetworkAdapters()
+        {
+            try
+            {
                 ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_NetworkAdapter");
                 ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_NetworkAdapter");
-                foreach (ManagementObject mo in searcher.Get()) {
+                foreach (ManagementObject mo in searcher.Get())
+                {
                     NetworkDevice adapter = new NetworkDevice();
                     NetworkDevice adapter = new NetworkDevice();
 
 
                     adapter.AdapterType = Convert.ToString(mo.Properties["AdapterType"].Value);
                     adapter.AdapterType = Convert.ToString(mo.Properties["AdapterType"].Value);
@@ -322,25 +379,31 @@ namespace Optimizer {
                     adapter.MacAddress = Convert.ToString(mo.Properties["MacAddress"].Value);
                     adapter.MacAddress = Convert.ToString(mo.Properties["MacAddress"].Value);
                     adapter.ServiceName = Convert.ToString(mo.Properties["ServiceName"].Value);
                     adapter.ServiceName = Convert.ToString(mo.Properties["ServiceName"].Value);
 
 
-                    if (temp) {
+                    if (temp)
+                    {
                         PhysicalAdapters.Add(adapter);
                         PhysicalAdapters.Add(adapter);
                     }
                     }
-                    else {
+                    else
+                    {
                         VirtualAdapters.Add(adapter);
                         VirtualAdapters.Add(adapter);
                     }
                     }
                 }
                 }
             }
             }
-            catch (Exception ex) {
+            catch (Exception ex)
+            {
                 Logger.LogError("IndiciumHelper.GetNetworkAdapters", ex.Message, ex.StackTrace);
                 Logger.LogError("IndiciumHelper.GetNetworkAdapters", ex.Message, ex.StackTrace);
             }
             }
         }
         }
 
 
-        public static List<AudioDevice> GetAudioDevices() {
+        public static List<AudioDevice> GetAudioDevices()
+        {
             List<AudioDevice> audioDevices = new List<AudioDevice>();
             List<AudioDevice> audioDevices = new List<AudioDevice>();
 
 
-            try {
+            try
+            {
                 ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_SoundDevice");
                 ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_SoundDevice");
-                foreach (ManagementObject mo in searcher.Get()) {
+                foreach (ManagementObject mo in searcher.Get())
+                {
                     AudioDevice device = new AudioDevice();
                     AudioDevice device = new AudioDevice();
 
 
                     device.ProductName = Convert.ToString(mo.Properties["ProductName"].Value);
                     device.ProductName = Convert.ToString(mo.Properties["ProductName"].Value);
@@ -350,17 +413,20 @@ namespace Optimizer {
                     audioDevices.Add(device);
                     audioDevices.Add(device);
                 }
                 }
             }
             }
-            catch (Exception ex) {
+            catch (Exception ex)
+            {
                 Logger.LogError("IndiciumHelper.GetAudioDevices", ex.Message, ex.StackTrace);
                 Logger.LogError("IndiciumHelper.GetAudioDevices", ex.Message, ex.StackTrace);
             }
             }
 
 
             return audioDevices;
             return audioDevices;
         }
         }
 
 
-        private static string SanitizeDriveType(UInt32 i) {
+        private static string SanitizeDriveType(UInt32 i)
+        {
             string result = string.Empty;
             string result = string.Empty;
 
 
-            switch (i) {
+            switch (i)
+            {
                 case 0:
                 case 0:
                     result = "Unknown";
                     result = "Unknown";
                     break;
                     break;
@@ -387,10 +453,12 @@ namespace Optimizer {
             return result;
             return result;
         }
         }
 
 
-        private static string SanitizeVideoMemoryType(UInt16 i) {
+        private static string SanitizeVideoMemoryType(UInt16 i)
+        {
             string result = string.Empty;
             string result = string.Empty;
 
 
-            switch (i) {
+            switch (i)
+            {
                 case 1:
                 case 1:
                     result = "Other";
                     result = "Other";
                     break;
                     break;
@@ -435,10 +503,12 @@ namespace Optimizer {
             return result;
             return result;
         }
         }
 
 
-        private static string SanitizeFormFactor(UInt16 i) {
+        private static string SanitizeFormFactor(UInt16 i)
+        {
             string result = string.Empty;
             string result = string.Empty;
 
 
-            switch (i) {
+            switch (i)
+            {
                 case 0:
                 case 0:
                     result = "Unknown";
                     result = "Unknown";
                     break;
                     break;
@@ -516,10 +586,12 @@ namespace Optimizer {
             return result;
             return result;
         }
         }
 
 
-        private static string SanitizeMemoryType(UInt16 i) {
+        private static string SanitizeMemoryType(UInt16 i)
+        {
             string result = string.Empty;
             string result = string.Empty;
 
 
-            switch (i) {
+            switch (i)
+            {
                 case 0:
                 case 0:
                     result = "Unknown";
                     result = "Unknown";
                     break;
                     break;
@@ -600,10 +672,12 @@ namespace Optimizer {
             return result;
             return result;
         }
         }
 
 
-        private static string SanitizeDeviceInterface(UInt16 i) {
+        private static string SanitizeDeviceInterface(UInt16 i)
+        {
             string result = string.Empty;
             string result = string.Empty;
 
 
-            switch (i) {
+            switch (i)
+            {
                 case 1:
                 case 1:
                     result = "Other";
                     result = "Other";
                     break;
                     break;
@@ -642,10 +716,12 @@ namespace Optimizer {
             return result;
             return result;
         }
         }
 
 
-        private static string SanitizePointingType(UInt16 i) {
+        private static string SanitizePointingType(UInt16 i)
+        {
             string result = string.Empty;
             string result = string.Empty;
 
 
-            switch (i) {
+            switch (i)
+            {
                 case 1:
                 case 1:
                     result = "Other";
                     result = "Other";
                     break;
                     break;

+ 112 - 56
Optimizer/IntegratorHelper.cs

@@ -7,12 +7,16 @@ using System.IO;
 using System.Net;
 using System.Net;
 using System.Windows.Forms;
 using System.Windows.Forms;
 
 
-namespace Optimizer {
-    public static class IntegratorHelper {
+namespace Optimizer
+{
+    public static class IntegratorHelper
+    {
         internal static string FolderDefaultIcon = @"%systemroot%\system32\imageres.dll,-112";
         internal static string FolderDefaultIcon = @"%systemroot%\system32\imageres.dll,-112";
 
 
-        internal static void CreateCustomCommand(string file, string keyword) {
-            if (!keyword.EndsWith(".exe")) {
+        internal static void CreateCustomCommand(string file, string keyword)
+        {
+            if (!keyword.EndsWith(".exe"))
+            {
                 keyword = keyword + ".exe";
                 keyword = keyword + ".exe";
             }
             }
 
 
@@ -23,11 +27,14 @@ namespace Optimizer {
             Registry.SetValue(key, "Path", file.Substring(0, file.LastIndexOf("\\")));
             Registry.SetValue(key, "Path", file.Substring(0, file.LastIndexOf("\\")));
         }
         }
 
 
-        internal static List<string> GetCustomCommands() {
+        internal static List<string> GetCustomCommands()
+        {
             List<string> items = new List<string>();
             List<string> items = new List<string>();
 
 
-            using (RegistryKey key = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\")) {
-                foreach (string command in key.GetSubKeyNames()) {
+            using (RegistryKey key = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\"))
+            {
+                foreach (string command in key.GetSubKeyNames())
+                {
                     items.Add(command);
                     items.Add(command);
                 }
                 }
             }
             }
@@ -35,21 +42,27 @@ namespace Optimizer {
             return items;
             return items;
         }
         }
 
 
-        internal static void DeleteCustomCommand(string command) {
+        internal static void DeleteCustomCommand(string command)
+        {
             Registry.LocalMachine.DeleteSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\" + command, false);
             Registry.LocalMachine.DeleteSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\" + command, false);
         }
         }
 
 
-        private static void CreateDefaultCommand(string itemName) {
-            using (RegistryKey key = Registry.ClassesRoot.OpenSubKey(@"DesktopBackground\Shell\" + itemName, true)) {
+        private static void CreateDefaultCommand(string itemName)
+        {
+            using (RegistryKey key = Registry.ClassesRoot.OpenSubKey(@"DesktopBackground\Shell\" + itemName, true))
+            {
                 key.CreateSubKey("command", RegistryKeyPermissionCheck.Default);
                 key.CreateSubKey("command", RegistryKeyPermissionCheck.Default);
             }
             }
         }
         }
 
 
-        internal static List<string> GetDesktopItems() {
+        internal static List<string> GetDesktopItems()
+        {
             List<string> items = new List<string>();
             List<string> items = new List<string>();
 
 
-            using (RegistryKey key = Registry.ClassesRoot.OpenSubKey(@"DesktopBackground\Shell", false)) {
-                foreach (string item in key.GetSubKeyNames()) {
+            using (RegistryKey key = Registry.ClassesRoot.OpenSubKey(@"DesktopBackground\Shell", false))
+            {
+                foreach (string item in key.GetSubKeyNames())
+                {
                     // filter the list, so the default items will not be visible
                     // filter the list, so the default items will not be visible
                     if (item.Contains("Gadgets")) continue;
                     if (item.Contains("Gadgets")) continue;
                     if (item.Contains("Display")) continue;
                     if (item.Contains("Display")) continue;
@@ -62,69 +75,91 @@ namespace Optimizer {
             return items;
             return items;
         }
         }
 
 
-        internal static void RemoveItem(string name) {
-            try {
-                using (RegistryKey key = Registry.ClassesRoot.OpenSubKey(@"DesktopBackground\Shell", true)) {
-                    try {
+        internal static void RemoveItem(string name)
+        {
+            try
+            {
+                using (RegistryKey key = Registry.ClassesRoot.OpenSubKey(@"DesktopBackground\Shell", true))
+                {
+                    try
+                    {
                         key.DeleteSubKeyTree(name, false);
                         key.DeleteSubKeyTree(name, false);
                     }
                     }
-                    catch (Exception ex) {
+                    catch (Exception ex)
+                    {
                         Logger.LogError("Integrator.RemoveItem", ex.Message, ex.StackTrace);
                         Logger.LogError("Integrator.RemoveItem", ex.Message, ex.StackTrace);
                     }
                     }
                 }
                 }
             }
             }
-            catch (Exception ex) {
+            catch (Exception ex)
+            {
                 Logger.LogError("Integrator.RemoveItem", ex.Message, ex.StackTrace);
                 Logger.LogError("Integrator.RemoveItem", ex.Message, ex.StackTrace);
             }
             }
         }
         }
 
 
-        internal static bool DesktopItemExists(string name) {
-            try {
+        internal static bool DesktopItemExists(string name)
+        {
+            try
+            {
                 return Registry.ClassesRoot.OpenSubKey(@"DesktopBackground\Shell\" + name, false) != null;
                 return Registry.ClassesRoot.OpenSubKey(@"DesktopBackground\Shell\" + name, false) != null;
             }
             }
-            catch (Exception ex) {
+            catch (Exception ex)
+            {
                 Logger.LogError("Integrator.ItemExists", ex.Message, ex.StackTrace);
                 Logger.LogError("Integrator.ItemExists", ex.Message, ex.StackTrace);
                 return false;
                 return false;
             }
             }
         }
         }
 
 
-        internal static bool TakeOwnershipExists() {
-            try {
+        internal static bool TakeOwnershipExists()
+        {
+            try
+            {
                 return Registry.ClassesRoot.OpenSubKey(@"*\shell\runas", false).GetValue("").ToString() == "Take Ownership";
                 return Registry.ClassesRoot.OpenSubKey(@"*\shell\runas", false).GetValue("").ToString() == "Take Ownership";
             }
             }
-            catch (Exception ex) {
+            catch (Exception ex)
+            {
                 Logger.LogError("Integrator.TakeOwnershipExists", ex.Message, ex.StackTrace);
                 Logger.LogError("Integrator.TakeOwnershipExists", ex.Message, ex.StackTrace);
                 return false;
                 return false;
             }
             }
         }
         }
 
 
-        internal static bool OpenWithCMDExists() {
-            try {
+        internal static bool OpenWithCMDExists()
+        {
+            try
+            {
                 return Registry.ClassesRoot.OpenSubKey(@"Directory\shell\OpenWithCMD", false) != null;
                 return Registry.ClassesRoot.OpenSubKey(@"Directory\shell\OpenWithCMD", false) != null;
             }
             }
-            catch (Exception ex) {
+            catch (Exception ex)
+            {
                 Logger.LogError("Integrator.OpenWithCMDExists", ex.Message, ex.StackTrace);
                 Logger.LogError("Integrator.OpenWithCMDExists", ex.Message, ex.StackTrace);
                 return false;
                 return false;
             }
             }
         }
         }
 
 
-        internal static void RemoveAllItems(List<string> items) {
-            using (RegistryKey key = Registry.ClassesRoot.OpenSubKey(@"DesktopBackground\Shell", true)) {
-                foreach (string item in items) {
-                    try {
+        internal static void RemoveAllItems(List<string> items)
+        {
+            using (RegistryKey key = Registry.ClassesRoot.OpenSubKey(@"DesktopBackground\Shell", true))
+            {
+                foreach (string item in items)
+                {
+                    try
+                    {
                         key.DeleteSubKeyTree(item, false);
                         key.DeleteSubKeyTree(item, false);
                     }
                     }
-                    catch (Exception ex) {
+                    catch (Exception ex)
+                    {
                         Logger.LogError("Integrator.RemoveAllItems", ex.Message, ex.StackTrace);
                         Logger.LogError("Integrator.RemoveAllItems", ex.Message, ex.StackTrace);
                     }
                     }
                 }
                 }
             }
             }
         }
         }
 
 
-        internal static string ExtractIconFromExecutable(string itemName, string fileName) {
+        internal static string ExtractIconFromExecutable(string itemName, string fileName)
+        {
             string iconPath = string.Empty;
             string iconPath = string.Empty;
 
 
-            if (File.Exists(fileName)) {
+            if (File.Exists(fileName))
+            {
                 Icon ico = Icon.ExtractAssociatedIcon(fileName);
                 Icon ico = Icon.ExtractAssociatedIcon(fileName);
 
 
                 Clipboard.SetImage(ico.ToBitmap());
                 Clipboard.SetImage(ico.ToBitmap());
@@ -137,36 +172,45 @@ namespace Optimizer {
             return iconPath;
             return iconPath;
         }
         }
 
 
-        internal static string DownloadFavicon(string link, string name) {
+        internal static string DownloadFavicon(string link, string name)
+        {
             string favicon = string.Empty;
             string favicon = string.Empty;
 
 
-            try {
+            try
+            {
                 Uri url = new Uri(link);
                 Uri url = new Uri(link);
-                if (url.HostNameType == UriHostNameType.Dns) {
+                if (url.HostNameType == UriHostNameType.Dns)
+                {
                     Image.FromStream(((HttpWebResponse)WebRequest.Create("http://" + url.Host + "/favicon.ico").GetResponse()).GetResponseStream()).Save(CoreHelper.FavIconsFolder + name + ".ico", ImageFormat.Bmp);
                     Image.FromStream(((HttpWebResponse)WebRequest.Create("http://" + url.Host + "/favicon.ico").GetResponse()).GetResponseStream()).Save(CoreHelper.FavIconsFolder + name + ".ico", ImageFormat.Bmp);
 
 
                     favicon = CoreHelper.FavIconsFolder + name + ".ico";
                     favicon = CoreHelper.FavIconsFolder + name + ".ico";
                 }
                 }
             }
             }
-            catch (Exception ex) {
+            catch (Exception ex)
+            {
                 Logger.LogError("Integrator.DownloadFavicon", ex.Message, ex.StackTrace);
                 Logger.LogError("Integrator.DownloadFavicon", ex.Message, ex.StackTrace);
             }
             }
 
 
             return favicon;
             return favicon;
         }
         }
 
 
-        internal static void AddItem(string name, string item, string icon, DesktopTypePosition position, bool shift, DesktopItemType type) {
-            using (RegistryKey key = Registry.ClassesRoot.OpenSubKey(@"DesktopBackground\Shell", true)) {
+        internal static void AddItem(string name, string item, string icon, DesktopTypePosition position, bool shift, DesktopItemType type)
+        {
+            using (RegistryKey key = Registry.ClassesRoot.OpenSubKey(@"DesktopBackground\Shell", true))
+            {
                 key.CreateSubKey(name, RegistryKeyPermissionCheck.Default);
                 key.CreateSubKey(name, RegistryKeyPermissionCheck.Default);
             }
             }
 
 
             CreateDefaultCommand(name);
             CreateDefaultCommand(name);
 
 
-            if (shift) {
+            if (shift)
+            {
                 Registry.SetValue(@"HKEY_CLASSES_ROOT\DesktopBackground\Shell\" + name, "Extended", "");
                 Registry.SetValue(@"HKEY_CLASSES_ROOT\DesktopBackground\Shell\" + name, "Extended", "");
             }
             }
-            else {
-                using (RegistryKey key = Registry.ClassesRoot.OpenSubKey(@"DesktopBackground\Shell\" + name, true)) {
+            else
+            {
+                using (RegistryKey key = Registry.ClassesRoot.OpenSubKey(@"DesktopBackground\Shell\" + name, true))
+                {
                     key.CreateSubKey(name, RegistryKeyPermissionCheck.Default);
                     key.CreateSubKey(name, RegistryKeyPermissionCheck.Default);
                 }
                 }
             }
             }
@@ -174,7 +218,8 @@ namespace Optimizer {
             Registry.SetValue(@"HKEY_CLASSES_ROOT\DesktopBackground\Shell\" + name, "Icon", icon);
             Registry.SetValue(@"HKEY_CLASSES_ROOT\DesktopBackground\Shell\" + name, "Icon", icon);
             Registry.SetValue(@"HKEY_CLASSES_ROOT\DesktopBackground\Shell\" + name, "Position", position.ToString());
             Registry.SetValue(@"HKEY_CLASSES_ROOT\DesktopBackground\Shell\" + name, "Position", position.ToString());
 
 
-            switch (type) {
+            switch (type)
+            {
                 case DesktopItemType.Program:
                 case DesktopItemType.Program:
                     Registry.SetValue(@"HKEY_CLASSES_ROOT\DesktopBackground\Shell\" + name + "\\command", "", item);
                     Registry.SetValue(@"HKEY_CLASSES_ROOT\DesktopBackground\Shell\" + name + "\\command", "", item);
                     break;
                     break;
@@ -196,38 +241,49 @@ namespace Optimizer {
             }
             }
         }
         }
 
 
-        internal static void InstallOpenWithCMD() {
+        internal static void InstallOpenWithCMD()
+        {
             Utilities.ImportRegistryScript(CoreHelper.ScriptsFolder + "AddOpenWithCMD.reg");
             Utilities.ImportRegistryScript(CoreHelper.ScriptsFolder + "AddOpenWithCMD.reg");
         }
         }
 
 
-        internal static void DeleteOpenWithCMD() {
+        internal static void DeleteOpenWithCMD()
+        {
             Registry.ClassesRoot.DeleteSubKeyTree(@"Directory\shell\OpenWithCMD", false);
             Registry.ClassesRoot.DeleteSubKeyTree(@"Directory\shell\OpenWithCMD", false);
             Registry.ClassesRoot.DeleteSubKeyTree(@"Directory\Background\shell\OpenWithCMD", false);
             Registry.ClassesRoot.DeleteSubKeyTree(@"Directory\Background\shell\OpenWithCMD", false);
             Registry.ClassesRoot.DeleteSubKeyTree(@"Drive\shell\OpenWithCMD", false);
             Registry.ClassesRoot.DeleteSubKeyTree(@"Drive\shell\OpenWithCMD", false);
         }
         }
 
 
-        internal static void InstallTakeOwnership(bool remove) {
-            if (!File.Exists(CoreHelper.ReadyMadeMenusFolder + "InstallTakeOwnership.reg")) {
-                try {
+        internal static void InstallTakeOwnership(bool remove)
+        {
+            if (!File.Exists(CoreHelper.ReadyMadeMenusFolder + "InstallTakeOwnership.reg"))
+            {
+                try
+                {
                     File.WriteAllText(CoreHelper.ReadyMadeMenusFolder + "InstallTakeOwnership.reg", Properties.Resources.InstallTakeOwnership);
                     File.WriteAllText(CoreHelper.ReadyMadeMenusFolder + "InstallTakeOwnership.reg", Properties.Resources.InstallTakeOwnership);
                 }
                 }
-                catch (Exception ex) {
+                catch (Exception ex)
+                {
                     Logger.LogError("Integrator.TakeOwnership", ex.Message, ex.StackTrace);
                     Logger.LogError("Integrator.TakeOwnership", ex.Message, ex.StackTrace);
                 }
                 }
             }
             }
-            if (!File.Exists(CoreHelper.ReadyMadeMenusFolder + "RemoveTakeOwnership.reg")) {
-                try {
+            if (!File.Exists(CoreHelper.ReadyMadeMenusFolder + "RemoveTakeOwnership.reg"))
+            {
+                try
+                {
                     File.WriteAllText(CoreHelper.ReadyMadeMenusFolder + "RemoveTakeOwnership.reg", Properties.Resources.RemoveTakeOwnership);
                     File.WriteAllText(CoreHelper.ReadyMadeMenusFolder + "RemoveTakeOwnership.reg", Properties.Resources.RemoveTakeOwnership);
                 }
                 }
-                catch (Exception ex) {
+                catch (Exception ex)
+                {
                     Logger.LogError("Integrator.TakeOwnership", ex.Message, ex.StackTrace);
                     Logger.LogError("Integrator.TakeOwnership", ex.Message, ex.StackTrace);
                 }
                 }
             }
             }
 
 
-            if (!remove) {
+            if (!remove)
+            {
                 Utilities.ImportRegistryScript(CoreHelper.ReadyMadeMenusFolder + "InstallTakeOwnership.reg");
                 Utilities.ImportRegistryScript(CoreHelper.ReadyMadeMenusFolder + "InstallTakeOwnership.reg");
             }
             }
-            else {
+            else
+            {
                 Utilities.ImportRegistryScript(CoreHelper.ReadyMadeMenusFolder + "RemoveTakeOwnership.reg");
                 Utilities.ImportRegistryScript(CoreHelper.ReadyMadeMenusFolder + "RemoveTakeOwnership.reg");
             }
             }
         }
         }

+ 4 - 2
Optimizer/Models/AppInfo.cs

@@ -1,4 +1,5 @@
-namespace Optimizer {
+namespace Optimizer
+{
     /// <summary>
     /// <summary>
     /// Represents an app from feed, containing:
     /// Represents an app from feed, containing:
     /// - Title
     /// - Title
@@ -6,7 +7,8 @@
     /// - Image
     /// - Image
     /// - Group
     /// - Group
     /// </summary>
     /// </summary>
-    public sealed class AppInfo {
+    public sealed class AppInfo
+    {
         public string Title { get; set; }
         public string Title { get; set; }
         public string Link64 { get; set; }
         public string Link64 { get; set; }
         public string Link { get; set; }
         public string Link { get; set; }

+ 30 - 15
Optimizer/Models/Enums.cs

@@ -1,17 +1,21 @@
-namespace Optimizer {
-    internal enum LogType {
+namespace Optimizer
+{
+    internal enum LogType
+    {
         Information,
         Information,
         Error,
         Error,
     }
     }
 
 
-    internal enum EventType {
+    internal enum EventType
+    {
         Modified,
         Modified,
         Renamed,
         Renamed,
         Created,
         Created,
         Deleted
         Deleted
     }
     }
 
 
-    internal enum WindowsVersion {
+    internal enum WindowsVersion
+    {
         Unsupported = 0,
         Unsupported = 0,
         Windows7 = 7,
         Windows7 = 7,
         Windows8 = 8,
         Windows8 = 8,
@@ -19,7 +23,8 @@
         Windows11 = 11
         Windows11 = 11
     }
     }
 
 
-    public enum StartupItemLocation {
+    public enum StartupItemLocation
+    {
         LMStartupFolder,
         LMStartupFolder,
         CUStartupFolder,
         CUStartupFolder,
         HKLM,
         HKLM,
@@ -27,13 +32,15 @@
         HKCU
         HKCU
     }
     }
 
 
-    public enum StartupItemType {
+    public enum StartupItemType
+    {
         None,
         None,
         Run,
         Run,
         RunOnce
         RunOnce
     }
     }
 
 
-    internal enum MessageType {
+    internal enum MessageType
+    {
         Error,
         Error,
         Startup,
         Startup,
         Restart,
         Restart,
@@ -41,7 +48,8 @@
         Integrator
         Integrator
     }
     }
 
 
-    internal enum DesktopItemType {
+    internal enum DesktopItemType
+    {
         Program,
         Program,
         Folder,
         Folder,
         Link,
         Link,
@@ -49,38 +57,44 @@
         Command
         Command
     }
     }
 
 
-    internal enum DesktopTypePosition {
+    internal enum DesktopTypePosition
+    {
         Top,
         Top,
         Middle,
         Middle,
         Bottom
         Bottom
     }
     }
 
 
-    internal enum RecycleFlag : int {
+    internal enum RecycleFlag : int
+    {
         SHERB_NOCONFIRMATION = 0x00000001,
         SHERB_NOCONFIRMATION = 0x00000001,
         SHERB_NOPROGRESSUI = 0x00000001,
         SHERB_NOPROGRESSUI = 0x00000001,
         SHERB_NOSOUND = 0x00000004
         SHERB_NOSOUND = 0x00000004
     }
     }
 
 
-    public enum ToggleSwitchAlignment {
+    public enum ToggleSwitchAlignment
+    {
         Near,
         Near,
         Center,
         Center,
         Far
         Far
     }
     }
 
 
-    public enum ToggleSwitchButtonAlignment {
+    public enum ToggleSwitchButtonAlignment
+    {
         Left,
         Left,
         Center,
         Center,
         Right
         Right
     }
     }
 
 
-    public enum RestartType {
+    public enum RestartType
+    {
         Normal,
         Normal,
         SafeMode,
         SafeMode,
         DisableDefender,
         DisableDefender,
         EnableDefender
         EnableDefender
     }
     }
 
 
-    public enum LanguageCode {
+    public enum LanguageCode
+    {
         EN, // english
         EN, // english
         RU, // russian
         RU, // russian
         EL, // hellenic
         EL, // hellenic
@@ -105,6 +119,7 @@
         FA, // farsi
         FA, // farsi
         NE, // nepali
         NE, // nepali
         BG, // bulgarian
         BG, // bulgarian
-        VN // vietnamese
+        VN, // vietnamese
+        UR // urdu
     }
     }
 }
 }

+ 26 - 13
Optimizer/Models/Hardware.cs

@@ -1,12 +1,14 @@
 using System;
 using System;
 using System.Collections.Generic;
 using System.Collections.Generic;
 
 
-namespace Optimizer {
+namespace Optimizer
+{
     /// <summary>
     /// <summary>
     /// A full representation of all the computer components with the most usual details
     /// A full representation of all the computer components with the most usual details
     /// </summary>
     /// </summary>
 
 
-    public sealed class CPU {
+    public sealed class CPU
+    {
         public string Name { get; set; }
         public string Name { get; set; }
         public ByteSize L2CacheSize { get; set; }
         public ByteSize L2CacheSize { get; set; }
         public ByteSize L3CacheSize { get; set; }
         public ByteSize L3CacheSize { get; set; }
@@ -19,7 +21,8 @@ namespace Optimizer {
         public string Revision { get; set; }
         public string Revision { get; set; }
     }
     }
 
 
-    public sealed class RAM {
+    public sealed class RAM
+    {
         public string BankLabel { get; set; }
         public string BankLabel { get; set; }
         public ByteSize Capacity { get; set; }
         public ByteSize Capacity { get; set; }
         public string FormFactor { get; set; }
         public string FormFactor { get; set; }
@@ -28,13 +31,15 @@ namespace Optimizer {
         public UInt32 Speed { get; set; }
         public UInt32 Speed { get; set; }
     }
     }
 
 
-    public sealed class VirtualMemory {
+    public sealed class VirtualMemory
+    {
         public ByteSize TotalVirtualMemory { get; set; }
         public ByteSize TotalVirtualMemory { get; set; }
         public ByteSize AvailableVirtualMemory { get; set; }
         public ByteSize AvailableVirtualMemory { get; set; }
         public ByteSize UsedVirtualMemory { get; set; }
         public ByteSize UsedVirtualMemory { get; set; }
     }
     }
 
 
-    public sealed class GPU {
+    public sealed class GPU
+    {
         public string Name { get; set; }
         public string Name { get; set; }
         public ByteSize Memory { get; set; }
         public ByteSize Memory { get; set; }
         public UInt32 ResolutionX { get; set; }
         public UInt32 ResolutionX { get; set; }
@@ -44,7 +49,8 @@ namespace Optimizer {
         public string VideoMemoryType { get; set; }
         public string VideoMemoryType { get; set; }
     }
     }
 
 
-    public sealed class Disk {
+    public sealed class Disk
+    {
         public UInt32 BytesPerSector { get; set; }
         public UInt32 BytesPerSector { get; set; }
         public string FirmwareRevision { get; set; }
         public string FirmwareRevision { get; set; }
         public string MediaType { get; set; }
         public string MediaType { get; set; }
@@ -52,7 +58,8 @@ namespace Optimizer {
         public ByteSize Capacity { get; set; }
         public ByteSize Capacity { get; set; }
     }
     }
 
 
-    public sealed class Volume {
+    public sealed class Volume
+    {
         public UInt64 BlockSize { get; set; }
         public UInt64 BlockSize { get; set; }
         public ByteSize Capacity { get; set; }
         public ByteSize Capacity { get; set; }
         public string Compressed { get; set; }
         public string Compressed { get; set; }
@@ -65,7 +72,8 @@ namespace Optimizer {
         public string Label { get; set; }
         public string Label { get; set; }
     }
     }
 
 
-    public sealed class NetworkDevice {
+    public sealed class NetworkDevice
+    {
         public string AdapterType { get; set; }
         public string AdapterType { get; set; }
         public string Manufacturer { get; set; }
         public string Manufacturer { get; set; }
         public string ProductName { get; set; }
         public string ProductName { get; set; }
@@ -74,7 +82,8 @@ namespace Optimizer {
         public string ServiceName { get; set; }
         public string ServiceName { get; set; }
     }
     }
 
 
-    public sealed class Keyboard {
+    public sealed class Keyboard
+    {
         public string Name { get; set; }
         public string Name { get; set; }
         public string Layout { get; set; }
         public string Layout { get; set; }
         public string Status { get; set; }
         public string Status { get; set; }
@@ -82,7 +91,8 @@ namespace Optimizer {
         public string Locked { get; set; }
         public string Locked { get; set; }
     }
     }
 
 
-    public sealed class PointingDevice {
+    public sealed class PointingDevice
+    {
         public string Name { get; set; }
         public string Name { get; set; }
         public string Manufacturer { get; set; }
         public string Manufacturer { get; set; }
         public string Status { get; set; }
         public string Status { get; set; }
@@ -93,13 +103,15 @@ namespace Optimizer {
         public string DeviceInterface { get; set; }
         public string DeviceInterface { get; set; }
     }
     }
 
 
-    public sealed class AudioDevice {
+    public sealed class AudioDevice
+    {
         public string ProductName { get; set; }
         public string ProductName { get; set; }
         public string Manufacturer { get; set; }
         public string Manufacturer { get; set; }
         public string Status { get; set; }
         public string Status { get; set; }
     }
     }
 
 
-    public sealed class Motherboard {
+    public sealed class Motherboard
+    {
         public string Model { get; set; }
         public string Model { get; set; }
         public string Manufacturer { get; set; }
         public string Manufacturer { get; set; }
         public string Chipset { get; set; }
         public string Chipset { get; set; }
@@ -114,7 +126,8 @@ namespace Optimizer {
         public string BIOSBuildNumber { get; set; }
         public string BIOSBuildNumber { get; set; }
     }
     }
 
 
-    public static class HardwareSummary {
+    public static class HardwareSummary
+    {
         public static List<string> CPUs = new List<string>();
         public static List<string> CPUs = new List<string>();
         public static string TotalRAM = string.Empty;
         public static string TotalRAM = string.Empty;
         public static List<string> Motherboards = new List<string>();
         public static List<string> Motherboards = new List<string>();

+ 11 - 2
Optimizer/Models/Options.cs

@@ -1,9 +1,11 @@
 using System;
 using System;
 using System.Drawing;
 using System.Drawing;
 
 
-namespace Optimizer {
+namespace Optimizer
+{
     [Serializable]
     [Serializable]
-    public sealed class Options {
+    public sealed class Options
+    {
         /// <summary>
         /// <summary>
         /// Represents the theme color in RGB
         /// Represents the theme color in RGB
         /// </summary>
         /// </summary>
@@ -81,6 +83,9 @@ namespace Optimizer {
         public bool DisableSMB2 { get; set; }
         public bool DisableSMB2 { get; set; }
         public bool DisableNTFSTimeStamp { get; set; }
         public bool DisableNTFSTimeStamp { get; set; }
         public bool DisableSearch { get; set; }
         public bool DisableSearch { get; set; }
+        public bool EnableUtcTime { get; set; }
+        public bool ShowAllTrayIcons { get; set; }
+        public bool RemoveMenusDelay { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// The state of the apps telemetry tweaks
         /// The state of the apps telemetry tweaks
@@ -130,6 +135,10 @@ namespace Optimizer {
         public bool RemoveCastToDevice { get; set; }
         public bool RemoveCastToDevice { get; set; }
         public bool EnableGamingMode { get; set; }
         public bool EnableGamingMode { get; set; }
         public bool RestoreClassicPhotoViewer { get; set; }
         public bool RestoreClassicPhotoViewer { get; set; }
+        public bool DisableModernStandby { get; set; }
+        public bool HideTaskbarWeather { get; set; }
+        public bool HideTaskbarSearch { get; set; }
+        public bool DisableNewsInterests { get; set; }
 
 
         /// <summary>
         /// <summary>
         /// The state of the Windows 11 tweaks
         /// The state of the Windows 11 tweaks

+ 35 - 14
Optimizer/Models/SilentConfig.cs

@@ -1,9 +1,11 @@
 using Newtonsoft.Json;
 using Newtonsoft.Json;
 using System;
 using System;
 
 
-namespace Optimizer {
+namespace Optimizer
+{
     [Serializable]
     [Serializable]
-    public sealed class SilentConfig {
+    public sealed class SilentConfig
+    {
         [JsonProperty("WindowsVersion", Required = Required.Always, NullValueHandling = NullValueHandling.Ignore)]
         [JsonProperty("WindowsVersion", Required = Required.Always, NullValueHandling = NullValueHandling.Ignore)]
         public int WindowsVersion { get; set; }
         public int WindowsVersion { get; set; }
 
 
@@ -36,7 +38,8 @@ namespace Optimizer {
     }
     }
 
 
     [Serializable]
     [Serializable]
-    public sealed class AdvancedTweaks {
+    public sealed class AdvancedTweaks
+    {
         [JsonProperty("DisableHPET", NullValueHandling = NullValueHandling.Ignore)]
         [JsonProperty("DisableHPET", NullValueHandling = NullValueHandling.Ignore)]
         public bool? DisableHPET { get; set; }
         public bool? DisableHPET { get; set; }
 
 
@@ -51,7 +54,8 @@ namespace Optimizer {
     }
     }
 
 
     [Serializable]
     [Serializable]
-    public sealed class Cleaner {
+    public sealed class Cleaner
+    {
         [JsonProperty("TempFiles", NullValueHandling = NullValueHandling.Ignore)]
         [JsonProperty("TempFiles", NullValueHandling = NullValueHandling.Ignore)]
         public bool? TempFiles { get; set; }
         public bool? TempFiles { get; set; }
 
 
@@ -81,7 +85,8 @@ namespace Optimizer {
     }
     }
 
 
     [Serializable]
     [Serializable]
-    public sealed class BaseBrowser {
+    public sealed class BaseBrowser
+    {
         [JsonProperty("Cache", NullValueHandling = NullValueHandling.Ignore)]
         [JsonProperty("Cache", NullValueHandling = NullValueHandling.Ignore)]
         public bool? Cache { get; set; }
         public bool? Cache { get; set; }
 
 
@@ -99,7 +104,8 @@ namespace Optimizer {
     }
     }
 
 
     [Serializable]
     [Serializable]
-    public sealed class HostsEditor {
+    public sealed class HostsEditor
+    {
         [JsonProperty("Block", NullValueHandling = NullValueHandling.Ignore)]
         [JsonProperty("Block", NullValueHandling = NullValueHandling.Ignore)]
         public string[] Block { get; set; }
         public string[] Block { get; set; }
 
 
@@ -114,7 +120,8 @@ namespace Optimizer {
     }
     }
 
 
     [Serializable]
     [Serializable]
-    public sealed class AddHostsEntry {
+    public sealed class AddHostsEntry
+    {
         [JsonProperty("Domain", NullValueHandling = NullValueHandling.Ignore)]
         [JsonProperty("Domain", NullValueHandling = NullValueHandling.Ignore)]
         public string Domain { get; set; }
         public string Domain { get; set; }
 
 
@@ -123,7 +130,8 @@ namespace Optimizer {
     }
     }
 
 
     [Serializable]
     [Serializable]
-    public sealed class Integrator {
+    public sealed class Integrator
+    {
         [JsonProperty("TakeOwnership", NullValueHandling = NullValueHandling.Ignore)]
         [JsonProperty("TakeOwnership", NullValueHandling = NullValueHandling.Ignore)]
         public bool? TakeOwnership { get; set; }
         public bool? TakeOwnership { get; set; }
 
 
@@ -132,7 +140,8 @@ namespace Optimizer {
     }
     }
 
 
     [Serializable]
     [Serializable]
-    public sealed class Pinger {
+    public sealed class Pinger
+    {
         [JsonProperty("SetDNS", NullValueHandling = NullValueHandling.Ignore)]
         [JsonProperty("SetDNS", NullValueHandling = NullValueHandling.Ignore)]
         public string SetDns { get; set; }
         public string SetDns { get; set; }
 
 
@@ -147,7 +156,8 @@ namespace Optimizer {
     }
     }
 
 
     [Serializable]
     [Serializable]
-    public sealed class PostAction {
+    public sealed class PostAction
+    {
         [JsonProperty("Restart", NullValueHandling = NullValueHandling.Ignore)]
         [JsonProperty("Restart", NullValueHandling = NullValueHandling.Ignore)]
         public bool? Restart { get; set; }
         public bool? Restart { get; set; }
 
 
@@ -156,7 +166,8 @@ namespace Optimizer {
     }
     }
 
 
     [Serializable]
     [Serializable]
-    public sealed class ProcessControl {
+    public sealed class ProcessControl
+    {
         [JsonProperty("Prevent", NullValueHandling = NullValueHandling.Ignore)]
         [JsonProperty("Prevent", NullValueHandling = NullValueHandling.Ignore)]
         public string[] Prevent { get; set; }
         public string[] Prevent { get; set; }
 
 
@@ -165,7 +176,8 @@ namespace Optimizer {
     }
     }
 
 
     [Serializable]
     [Serializable]
-    public sealed class RegistryFix {
+    public sealed class RegistryFix
+    {
         [JsonProperty("TaskManager", NullValueHandling = NullValueHandling.Ignore)]
         [JsonProperty("TaskManager", NullValueHandling = NullValueHandling.Ignore)]
         public bool? TaskManager { get; set; }
         public bool? TaskManager { get; set; }
 
 
@@ -192,7 +204,8 @@ namespace Optimizer {
     }
     }
 
 
     [Serializable]
     [Serializable]
-    public sealed class SvchostProcessSplitting {
+    public sealed class SvchostProcessSplitting
+    {
         [JsonProperty("Disable", NullValueHandling = NullValueHandling.Ignore)]
         [JsonProperty("Disable", NullValueHandling = NullValueHandling.Ignore)]
         public bool? Disable { get; set; }
         public bool? Disable { get; set; }
 
 
@@ -201,7 +214,8 @@ namespace Optimizer {
     }
     }
 
 
     [Serializable]
     [Serializable]
-    public sealed class Tweaks {
+    public sealed class Tweaks
+    {
         public bool? EnablePerformanceTweaks { get; set; }
         public bool? EnablePerformanceTweaks { get; set; }
         public bool? DisableNetworkThrottling { get; set; }
         public bool? DisableNetworkThrottling { get; set; }
         public bool? DisableWindowsDefender { get; set; }
         public bool? DisableWindowsDefender { get; set; }
@@ -222,6 +236,9 @@ namespace Optimizer {
         public bool? DisableSMB2 { get; set; }
         public bool? DisableSMB2 { get; set; }
         public bool? DisableNTFSTimeStamp { get; set; }
         public bool? DisableNTFSTimeStamp { get; set; }
         public bool? DisableSearch { get; set; }
         public bool? DisableSearch { get; set; }
+        public bool? EnableUtcTime { get; set; }
+        public bool? ShowAllTrayIcons { get; set; }
+        public bool? RemoveMenusDelay { get; set; }
 
 
         public bool? DisableOffice2016Telemetry { get; set; }
         public bool? DisableOffice2016Telemetry { get; set; }
         public bool? DisableVisualStudioTelemetry { get; set; }
         public bool? DisableVisualStudioTelemetry { get; set; }
@@ -253,6 +270,10 @@ namespace Optimizer {
         public bool? RemoveCastToDevice { get; set; }
         public bool? RemoveCastToDevice { get; set; }
         public bool? EnableGamingMode { get; set; }
         public bool? EnableGamingMode { get; set; }
         public bool? RestoreClassicPhotoViewer { get; set; }
         public bool? RestoreClassicPhotoViewer { get; set; }
+        public bool? DisableModernStandby { get; set; }
+        public bool? HideTaskbarWeather { get; set; }
+        public bool? HideTaskbarSearch { get; set; }
+        public bool? DisableNewsInterests { get; set; }
 
 
         public bool? DisableOneDrive { get; set; }
         public bool? DisableOneDrive { get; set; }
 
 

+ 6 - 3
Optimizer/Models/StartupBackupItem.cs

@@ -1,17 +1,20 @@
 using System;
 using System;
 
 
-namespace Optimizer {
+namespace Optimizer
+{
     /// <summary>
     /// <summary>
     /// Represents a backup of a Windows base startup item
     /// Represents a backup of a Windows base startup item
     /// </summary>
     /// </summary>
     [Serializable]
     [Serializable]
-    public sealed class BackupStartupItem {
+    public sealed class BackupStartupItem
+    {
         public string Name { get; set; }
         public string Name { get; set; }
         public string FileLocation { get; set; }
         public string FileLocation { get; set; }
         public string RegistryLocation { get; set; }
         public string RegistryLocation { get; set; }
         public string StartupType { get; set; }
         public string StartupType { get; set; }
 
 
-        public BackupStartupItem(string name, string fileLocation, string registryLocation, string startupType) {
+        public BackupStartupItem(string name, string fileLocation, string registryLocation, string startupType)
+        {
             Name = name;
             Name = name;
             FileLocation = fileLocation;
             FileLocation = fileLocation;
             RegistryLocation = registryLocation;
             RegistryLocation = registryLocation;

+ 46 - 23
Optimizer/Models/StartupItem.cs

@@ -2,11 +2,13 @@
 using System;
 using System;
 using System.IO;
 using System.IO;
 
 
-namespace Optimizer {
+namespace Optimizer
+{
     /// <summary>
     /// <summary>
     /// Represents a base Windows startup item
     /// Represents a base Windows startup item
     /// </summary>
     /// </summary>
-    internal class StartupItem {
+    internal class StartupItem
+    {
         internal string Name { get; set; }
         internal string Name { get; set; }
         internal string FileLocation { get; set; }
         internal string FileLocation { get; set; }
         internal StartupItemLocation RegistryLocation { get; set; }
         internal StartupItemLocation RegistryLocation { get; set; }
@@ -16,71 +18,92 @@ namespace Optimizer {
         internal virtual void LocateFile() { }
         internal virtual void LocateFile() { }
         internal virtual void LocateKey() { }
         internal virtual void LocateKey() { }
 
 
-        public override string ToString() {
+        public override string ToString()
+        {
             if (RegistryLocation == StartupItemLocation.LMStartupFolder) return RegistryLocation.ToString();
             if (RegistryLocation == StartupItemLocation.LMStartupFolder) return RegistryLocation.ToString();
             return string.Format("{0}:{1}", RegistryLocation, StartupType);
             return string.Format("{0}:{1}", RegistryLocation, StartupType);
         }
         }
     }
     }
 
 
-    internal sealed class FolderStartupItem : StartupItem {
+    internal sealed class FolderStartupItem : StartupItem
+    {
         internal string Shortcut { get; set; }
         internal string Shortcut { get; set; }
 
 
-        internal override void Remove() {
-            try {
-                if (File.Exists(Shortcut)) {
+        internal override void Remove()
+        {
+            try
+            {
+                if (File.Exists(Shortcut))
+                {
                     File.Delete(Shortcut);
                     File.Delete(Shortcut);
                 }
                 }
             }
             }
-            catch (Exception ex) {
+            catch (Exception ex)
+            {
                 Logger.LogError("FolderStartupItem.Remove", ex.Message, ex.StackTrace);
                 Logger.LogError("FolderStartupItem.Remove", ex.Message, ex.StackTrace);
             }
             }
         }
         }
 
 
-        internal override void LocateFile() {
-            try {
+        internal override void LocateFile()
+        {
+            try
+            {
                 Utilities.FindFile(FileLocation);
                 Utilities.FindFile(FileLocation);
             }
             }
-            catch (Exception ex) {
+            catch (Exception ex)
+            {
                 Logger.LogError("FolderStartupItem.LocateFile", ex.Message, ex.StackTrace);
                 Logger.LogError("FolderStartupItem.LocateFile", ex.Message, ex.StackTrace);
             }
             }
         }
         }
     }
     }
 
 
-    internal sealed class RegistryStartupItem : StartupItem {
+    internal sealed class RegistryStartupItem : StartupItem
+    {
         internal RegistryKey Key { get; set; }
         internal RegistryKey Key { get; set; }
 
 
-        internal override void LocateKey() {
-            try {
+        internal override void LocateKey()
+        {
+            try
+            {
                 Utilities.FindKeyInRegistry(Key.ToString());
                 Utilities.FindKeyInRegistry(Key.ToString());
             }
             }
-            catch (Exception ex) {
+            catch (Exception ex)
+            {
                 Logger.LogError("RegistryStartupItem.LocateKey", ex.Message, ex.StackTrace);
                 Logger.LogError("RegistryStartupItem.LocateKey", ex.Message, ex.StackTrace);
             }
             }
         }
         }
 
 
-        internal override void Remove() {
-            try {
+        internal override void Remove()
+        {
+            try
+            {
                 Key.DeleteValue(Name, false);
                 Key.DeleteValue(Name, false);
             }
             }
-            catch (Exception ex) {
+            catch (Exception ex)
+            {
                 Logger.LogError("RegistryStartupItem.Remove", ex.Message, ex.StackTrace);
                 Logger.LogError("RegistryStartupItem.Remove", ex.Message, ex.StackTrace);
             }
             }
         }
         }
 
 
-        internal override void LocateFile() {
-            try {
+        internal override void LocateFile()
+        {
+            try
+            {
                 Utilities.FindFile(SanitizePath(FileLocation));
                 Utilities.FindFile(SanitizePath(FileLocation));
             }
             }
-            catch (Exception ex) {
+            catch (Exception ex)
+            {
                 Logger.LogError("RegistryStartupItem.LocateFile", ex.Message, ex.StackTrace);
                 Logger.LogError("RegistryStartupItem.LocateFile", ex.Message, ex.StackTrace);
             }
             }
         }
         }
 
 
-        internal string SanitizePath(string s) {
+        internal string SanitizePath(string s)
+        {
             s = s.Replace("\"", string.Empty);
             s = s.Replace("\"", string.Empty);
             int i;
             int i;
 
 
-            while (s.Contains("/")) {
+            while (s.Contains("/"))
+            {
                 i = s.LastIndexOf("/");
                 i = s.LastIndexOf("/");
                 s = s.Substring(0, i);
                 s = s.Substring(0, i);
             }
             }

Файловите разлики са ограничени, защото са твърде много
+ 296 - 176
Optimizer/OptimizeHelper.cs


+ 2 - 0
Optimizer/Optimizer.csproj

@@ -316,6 +316,7 @@
     <None Include="Resources\i18n\RO.json" />
     <None Include="Resources\i18n\RO.json" />
     <None Include="Resources\Fonts\Poppins-Regular.ttf" />
     <None Include="Resources\Fonts\Poppins-Regular.ttf" />
     <None Include="Resources\i18n\UA.json" />
     <None Include="Resources\i18n\UA.json" />
+    <None Include="Resources\i18n\UR.json" />
     <None Include="Resources\i18n\VN.json" />
     <None Include="Resources\i18n\VN.json" />
     <None Include="Resources\Scripts\AddOpenWithCMD.reg" />
     <None Include="Resources\Scripts\AddOpenWithCMD.reg" />
     <None Include="Resources\i18n\CN.json" />
     <None Include="Resources\i18n\CN.json" />
@@ -384,6 +385,7 @@
     </COMReference>
     </COMReference>
   </ItemGroup>
   </ItemGroup>
   <ItemGroup>
   <ItemGroup>
+    <None Include="Resources\Flags\pakistan.png" />
     <None Include="Resources\Flags\vietnam.png" />
     <None Include="Resources\Flags\vietnam.png" />
     <None Include="Resources\Flags\bulgaria.png" />
     <None Include="Resources\Flags\bulgaria.png" />
     <None Include="Resources\Flags\nepal.png" />
     <None Include="Resources\Flags\nepal.png" />

+ 64 - 27
Optimizer/OptionsHelper.cs

@@ -6,8 +6,10 @@ using System.IO;
 using System.Linq;
 using System.Linq;
 using System.Windows.Forms;
 using System.Windows.Forms;
 
 
-namespace Optimizer {
-    internal static class OptionsHelper {
+namespace Optimizer
+{
+    internal static class OptionsHelper
+    {
         internal static Color ForegroundColor = Color.FromArgb(153, 102, 204);
         internal static Color ForegroundColor = Color.FromArgb(153, 102, 204);
         internal static Color ForegroundAccentColor = Color.FromArgb(134, 89, 179);
         internal static Color ForegroundAccentColor = Color.FromArgb(134, 89, 179);
         internal static Color BackgroundColor = Color.FromArgb(10, 10, 10);
         internal static Color BackgroundColor = Color.FromArgb(10, 10, 10);
@@ -20,25 +22,30 @@ namespace Optimizer {
 
 
         internal static dynamic TranslationList;
         internal static dynamic TranslationList;
 
 
-        internal static Color GetContrastColor(Color c) {
+        internal static Color GetContrastColor(Color c)
+        {
             double brightness = c.R * 0.299 + c.G * 0.587 + c.B * 0.114;
             double brightness = c.R * 0.299 + c.G * 0.587 + c.B * 0.114;
             return brightness > Constants.CONTRAST_THRESHOLD ? Color.Black : Color.White;
             return brightness > Constants.CONTRAST_THRESHOLD ? Color.Black : Color.White;
         }
         }
 
 
-        internal static void ApplyTheme(Form f) {
+        internal static void ApplyTheme(Form f)
+        {
             SetTheme(f, CurrentOptions.Theme, ColorHelper.ChangeColorBrightness(CurrentOptions.Theme, 0.7));
             SetTheme(f, CurrentOptions.Theme, ColorHelper.ChangeColorBrightness(CurrentOptions.Theme, 0.7));
         }
         }
 
 
-        private static void SetTheme(Form f, Color c1, Color c2) {
+        private static void SetTheme(Form f, Color c1, Color c2)
+        {
             dynamic c;
             dynamic c;
             ForegroundColor = c1;
             ForegroundColor = c1;
             ForegroundAccentColor = c2;
             ForegroundAccentColor = c2;
             TextColor = GetContrastColor(CurrentOptions.Theme);
             TextColor = GetContrastColor(CurrentOptions.Theme);
 
 
-            Utilities.GetSelfAndChildrenRecursive(f).ToList().ForEach(x => {
+            Utilities.GetSelfAndChildrenRecursive(f).ToList().ForEach(x =>
+            {
                 c = x;
                 c = x;
 
 
-                if (x is Button) {
+                if (x is Button)
+                {
                     c.ForeColor = TextColor;
                     c.ForeColor = TextColor;
                     c.BackColor = c1;
                     c.BackColor = c1;
                     c.FlatAppearance.BorderColor = c1;
                     c.FlatAppearance.BorderColor = c1;
@@ -47,16 +54,20 @@ namespace Optimizer {
                     c.FlatAppearance.BorderSize = 0;
                     c.FlatAppearance.BorderSize = 0;
                 }
                 }
 
 
-                if (x is LinkLabel) {
-                    if ((string)c.Tag == Constants.THEME_FLAG) {
+                if (x is LinkLabel)
+                {
+                    if ((string)c.Tag == Constants.THEME_FLAG)
+                    {
                         c.LinkColor = c1;
                         c.LinkColor = c1;
                         c.VisitedLinkColor = c1;
                         c.VisitedLinkColor = c1;
                         c.ActiveLinkColor = c2;
                         c.ActiveLinkColor = c2;
                     }
                     }
                 }
                 }
 
 
-                if (x is CheckBox || x is RadioButton || x is Label) {
-                    if ((string)c.Tag == Constants.THEME_FLAG) {
+                if (x is CheckBox || x is RadioButton || x is Label)
+                {
+                    if ((string)c.Tag == Constants.THEME_FLAG)
+                    {
                         c.ForeColor = c1;
                         c.ForeColor = c1;
                     }
                     }
                 }
                 }
@@ -65,16 +76,21 @@ namespace Optimizer {
             });
             });
         }
         }
 
 
-        internal static void LegacyCheck() {
-            if (File.Exists(SettingsFile)) {
-                if (File.ReadAllText(SettingsFile).Contains("FirstRun")) {
+        internal static void LegacyCheck()
+        {
+            if (File.Exists(SettingsFile))
+            {
+                if (File.ReadAllText(SettingsFile).Contains("FirstRun"))
+                {
                     File.Delete(SettingsFile);
                     File.Delete(SettingsFile);
                 }
                 }
             }
             }
         }
         }
 
 
-        internal static void SaveSettings() {
-            if (File.Exists(SettingsFile)) {
+        internal static void SaveSettings()
+        {
+            if (File.Exists(SettingsFile))
+            {
                 string jsonFile = File.ReadAllText(SettingsFile);
                 string jsonFile = File.ReadAllText(SettingsFile);
                 string jsonMemory = JsonConvert.SerializeObject(CurrentOptions);
                 string jsonMemory = JsonConvert.SerializeObject(CurrentOptions);
 
 
@@ -85,7 +101,8 @@ namespace Optimizer {
 
 
                 using (FileStream fs = File.Open(SettingsFile, FileMode.OpenOrCreate))
                 using (FileStream fs = File.Open(SettingsFile, FileMode.OpenOrCreate))
                 using (StreamWriter sw = new StreamWriter(fs))
                 using (StreamWriter sw = new StreamWriter(fs))
-                using (JsonWriter jw = new JsonTextWriter(sw)) {
+                using (JsonWriter jw = new JsonTextWriter(sw))
+                {
                     jw.Formatting = Formatting.Indented;
                     jw.Formatting = Formatting.Indented;
 
 
                     JsonSerializer serializer = new JsonSerializer();
                     JsonSerializer serializer = new JsonSerializer();
@@ -94,15 +111,19 @@ namespace Optimizer {
             }
             }
         }
         }
 
 
-        internal static void LoadSettings() {
-            if (!File.Exists(SettingsFile) || File.ReadAllText(SettingsFile).Contains("\"Color\":")) {
+        internal static void LoadSettings()
+        {
+            if (!File.Exists(SettingsFile) || File.ReadAllText(SettingsFile).Contains("\"Color\":"))
+            {
                 // settings migration for new color picker
                 // settings migration for new color picker
-                if (File.Exists(SettingsFile) && File.ReadAllText(SettingsFile).Contains("\"Color\":")) {
+                if (File.Exists(SettingsFile) && File.ReadAllText(SettingsFile).Contains("\"Color\":"))
+                {
                     Options tmpJson = JsonConvert.DeserializeObject<Options>(File.ReadAllText(SettingsFile));
                     Options tmpJson = JsonConvert.DeserializeObject<Options>(File.ReadAllText(SettingsFile));
                     tmpJson.Theme = Color.FromArgb(153, 102, 204);
                     tmpJson.Theme = Color.FromArgb(153, 102, 204);
                     CurrentOptions = tmpJson;
                     CurrentOptions = tmpJson;
                 }
                 }
-                else {
+                else
+                {
                     // DEFAULT OPTIONS
                     // DEFAULT OPTIONS
                     CurrentOptions.Theme = Color.FromArgb(153, 102, 204);
                     CurrentOptions.Theme = Color.FromArgb(153, 102, 204);
                     CurrentOptions.AppsFolder = string.Empty;
                     CurrentOptions.AppsFolder = string.Empty;
@@ -192,9 +213,18 @@ namespace Optimizer {
                     CurrentOptions.DisableHPET = false;
                     CurrentOptions.DisableHPET = false;
                     CurrentOptions.EnableLoginVerbose = false;
                     CurrentOptions.EnableLoginVerbose = false;
 
 
+                    CurrentOptions.RemoveMenusDelay = false;
+                    CurrentOptions.ShowAllTrayIcons = false;
+                    CurrentOptions.DisableModernStandby = false;
+                    CurrentOptions.EnableUtcTime = false;
+                    CurrentOptions.DisableNewsInterests = false;
+                    CurrentOptions.HideTaskbarSearch = false;
+                    CurrentOptions.HideTaskbarWeather = false;
+
                     using (FileStream fs = File.Open(SettingsFile, FileMode.CreateNew))
                     using (FileStream fs = File.Open(SettingsFile, FileMode.CreateNew))
                     using (StreamWriter sw = new StreamWriter(fs))
                     using (StreamWriter sw = new StreamWriter(fs))
-                    using (JsonWriter jw = new JsonTextWriter(sw)) {
+                    using (JsonWriter jw = new JsonTextWriter(sw))
+                    {
                         jw.Formatting = Formatting.Indented;
                         jw.Formatting = Formatting.Indented;
 
 
                         JsonSerializer serializer = new JsonSerializer();
                         JsonSerializer serializer = new JsonSerializer();
@@ -202,12 +232,14 @@ namespace Optimizer {
                     }
                     }
                 }
                 }
             }
             }
-            else {
+            else
+            {
                 CurrentOptions = JsonConvert.DeserializeObject<Options>(File.ReadAllText(SettingsFile));
                 CurrentOptions = JsonConvert.DeserializeObject<Options>(File.ReadAllText(SettingsFile));
             }
             }
 
 
             // prevent options from corruption
             // prevent options from corruption
-            if (CurrentOptions.Theme == Color.Empty || CurrentOptions.Theme == Color.FromArgb(0, 0, 0, 0)) {
+            if (CurrentOptions.Theme == Color.Empty || CurrentOptions.Theme == Color.FromArgb(0, 0, 0, 0))
+            {
                 CurrentOptions.Theme = Color.FromArgb(153, 102, 204);
                 CurrentOptions.Theme = Color.FromArgb(153, 102, 204);
             }
             }
             // generate random telemetry ID if not present
             // generate random telemetry ID if not present
@@ -220,9 +252,11 @@ namespace Optimizer {
             LoadTranslation();
             LoadTranslation();
         }
         }
 
 
-        internal static void LoadTranslation() {
+        internal static void LoadTranslation()
+        {
             // load proper translation list
             // load proper translation list
-            try {
+            try
+            {
                 if (CurrentOptions.LanguageCode == LanguageCode.EN) TranslationList = JObject.Parse(Properties.Resources.EN);
                 if (CurrentOptions.LanguageCode == LanguageCode.EN) TranslationList = JObject.Parse(Properties.Resources.EN);
                 if (CurrentOptions.LanguageCode == LanguageCode.RU) TranslationList = JObject.Parse(Properties.Resources.RU);
                 if (CurrentOptions.LanguageCode == LanguageCode.RU) TranslationList = JObject.Parse(Properties.Resources.RU);
                 if (CurrentOptions.LanguageCode == LanguageCode.EL) TranslationList = JObject.Parse(Properties.Resources.EL);
                 if (CurrentOptions.LanguageCode == LanguageCode.EL) TranslationList = JObject.Parse(Properties.Resources.EL);
@@ -248,8 +282,11 @@ namespace Optimizer {
                 if (CurrentOptions.LanguageCode == LanguageCode.NE) TranslationList = JObject.Parse(Properties.Resources.NE);
                 if (CurrentOptions.LanguageCode == LanguageCode.NE) TranslationList = JObject.Parse(Properties.Resources.NE);
                 if (CurrentOptions.LanguageCode == LanguageCode.BG) TranslationList = JObject.Parse(Properties.Resources.BG);
                 if (CurrentOptions.LanguageCode == LanguageCode.BG) TranslationList = JObject.Parse(Properties.Resources.BG);
                 if (CurrentOptions.LanguageCode == LanguageCode.VN) TranslationList = JObject.Parse(Properties.Resources.VN);
                 if (CurrentOptions.LanguageCode == LanguageCode.VN) TranslationList = JObject.Parse(Properties.Resources.VN);
+                if (CurrentOptions.LanguageCode == LanguageCode.UR) TranslationList = JObject.Parse(Properties.Resources.UR);
+
             }
             }
-            catch (Exception ex) {
+            catch (Exception ex)
+            {
                 Logger.LogError("Options.LoadTranslation", ex.Message, ex.StackTrace);
                 Logger.LogError("Options.LoadTranslation", ex.Message, ex.StackTrace);
                 TranslationList = JObject.Parse(Properties.Resources.EN);
                 TranslationList = JObject.Parse(Properties.Resources.EN);
             }
             }

+ 46 - 23
Optimizer/PingerHelper.cs

@@ -5,8 +5,10 @@ using System.Net;
 using System.Net.NetworkInformation;
 using System.Net.NetworkInformation;
 using System.Net.Sockets;
 using System.Net.Sockets;
 
 
-namespace Optimizer {
-    internal static class PingerHelper {
+namespace Optimizer
+{
+    internal static class PingerHelper
+    {
         internal static string[] DNSOptions =
         internal static string[] DNSOptions =
         {
         {
             "Automatic",
             "Automatic",
@@ -51,8 +53,10 @@ namespace Optimizer {
 
 
         static IPAddress addressToPing;
         static IPAddress addressToPing;
 
 
-        internal static NetworkInterface[] GetActiveNetworkAdapters() {
-            try {
+        internal static NetworkInterface[] GetActiveNetworkAdapters()
+        {
+            try
+            {
                 if (ShowHiddenAdapters) NetworkAdapters = NetworkInterface.GetAllNetworkInterfaces();
                 if (ShowHiddenAdapters) NetworkAdapters = NetworkInterface.GetAllNetworkInterfaces();
 
 
                 if (!ShowHiddenAdapters) NetworkAdapters = NetworkInterface.GetAllNetworkInterfaces().Where(
                 if (!ShowHiddenAdapters) NetworkAdapters = NetworkInterface.GetAllNetworkInterfaces().Where(
@@ -60,7 +64,8 @@ namespace Optimizer {
                     (a.NetworkInterfaceType == NetworkInterfaceType.Wireless80211 || a.NetworkInterfaceType == NetworkInterfaceType.Ethernet) &&
                     (a.NetworkInterfaceType == NetworkInterfaceType.Wireless80211 || a.NetworkInterfaceType == NetworkInterfaceType.Ethernet) &&
                     a.GetIPProperties().GatewayAddresses.Any(g => g.Address.AddressFamily.ToString() == "InterNetwork")).ToArray();
                     a.GetIPProperties().GatewayAddresses.Any(g => g.Address.AddressFamily.ToString() == "InterNetwork")).ToArray();
             }
             }
-            catch (Exception ex) {
+            catch (Exception ex)
+            {
                 Logger.LogError("PingerHelper.GetActiveNetworkAdapters", ex.Message, ex.StackTrace);
                 Logger.LogError("PingerHelper.GetActiveNetworkAdapters", ex.Message, ex.StackTrace);
                 return null;
                 return null;
             }
             }
@@ -68,27 +73,33 @@ namespace Optimizer {
             return NetworkAdapters;
             return NetworkAdapters;
         }
         }
 
 
-        internal static IEnumerable<string> GetDNSFromNetworkAdapter(NetworkInterface nic) {
-            try {
+        internal static IEnumerable<string> GetDNSFromNetworkAdapter(NetworkInterface nic)
+        {
+            try
+            {
                 return nic.GetIPProperties().DnsAddresses.Select(z => z.ToString());
                 return nic.GetIPProperties().DnsAddresses.Select(z => z.ToString());
             }
             }
-            catch (Exception ex) {
+            catch (Exception ex)
+            {
                 Logger.LogError("PingerHelper.GetDNSFromNetworkAdapter", ex.Message, ex.StackTrace);
                 Logger.LogError("PingerHelper.GetDNSFromNetworkAdapter", ex.Message, ex.StackTrace);
                 return null;
                 return null;
             }
             }
         }
         }
 
 
-        internal static void SetDNS(string nic, string[] dnsv4, string[] dnsv6) {
+        internal static void SetDNS(string nic, string[] dnsv4, string[] dnsv6)
+        {
             string cmdv4Alternate = string.Empty;
             string cmdv4Alternate = string.Empty;
             string cmdv6Alternate = string.Empty;
             string cmdv6Alternate = string.Empty;
 
 
             string cmdv4Primary = $"netsh interface ipv4 set dnsservers {nic} static {dnsv4[0]} primary";
             string cmdv4Primary = $"netsh interface ipv4 set dnsservers {nic} static {dnsv4[0]} primary";
-            if (dnsv4.Length == 2) {
+            if (dnsv4.Length == 2)
+            {
                 cmdv4Alternate = $"netsh interface ipv4 add dnsservers {nic} {dnsv4[1]} index=2";
                 cmdv4Alternate = $"netsh interface ipv4 add dnsservers {nic} {dnsv4[1]} index=2";
             }
             }
 
 
             string cmdv6Primary = $"netsh interface ipv6 set dnsservers {nic} static {dnsv6[0]} primary";
             string cmdv6Primary = $"netsh interface ipv6 set dnsservers {nic} static {dnsv6[0]} primary";
-            if (dnsv6.Length == 2) {
+            if (dnsv6.Length == 2)
+            {
                 cmdv6Alternate = $"netsh interface ipv6 add dnsservers {nic} {dnsv6[1]} index=2";
                 cmdv6Alternate = $"netsh interface ipv6 add dnsservers {nic} {dnsv6[1]} index=2";
             }
             }
 
 
@@ -99,7 +110,8 @@ namespace Optimizer {
             Utilities.RunCommand(cmdv6Alternate);
             Utilities.RunCommand(cmdv6Alternate);
         }
         }
 
 
-        internal static void ResetDefaultDNS(string nic) {
+        internal static void ResetDefaultDNS(string nic)
+        {
             string cmdv4 = $"netsh interface ipv4 set dnsservers {nic} dhcp";
             string cmdv4 = $"netsh interface ipv4 set dnsservers {nic} dhcp";
             string cmdv6 = $"netsh interface ipv6 set dnsservers {nic} dhcp";
             string cmdv6 = $"netsh interface ipv6 set dnsservers {nic} dhcp";
 
 
@@ -107,33 +119,41 @@ namespace Optimizer {
             Utilities.RunCommand(cmdv6);
             Utilities.RunCommand(cmdv6);
         }
         }
 
 
-        internal static void ResetDefaultDNSForAllNICs() {
-            foreach (string nic in NetworkAdapters.Select(x => x.Name)) {
+        internal static void ResetDefaultDNSForAllNICs()
+        {
+            foreach (string nic in NetworkAdapters.Select(x => x.Name))
+            {
                 ResetDefaultDNS(nic);
                 ResetDefaultDNS(nic);
             }
             }
         }
         }
 
 
-        internal static void SetDNSForAllNICs(string[] dnsv4, string[] dnsv6) {
-            foreach (string nic in NetworkAdapters.Select(x => x.Name)) {
+        internal static void SetDNSForAllNICs(string[] dnsv4, string[] dnsv6)
+        {
+            foreach (string nic in NetworkAdapters.Select(x => x.Name))
+            {
                 SetDNS(nic, dnsv4, dnsv6);
                 SetDNS(nic, dnsv4, dnsv6);
             }
             }
         }
         }
 
 
-        internal static PingReply PingHost(string nameOrAddress) {
+        internal static PingReply PingHost(string nameOrAddress)
+        {
             PingReply reply;
             PingReply reply;
-            try {
+            try
+            {
                 addressToPing = Dns.GetHostAddresses(nameOrAddress).First(address => address.AddressFamily == AddressFamily.InterNetwork);
                 addressToPing = Dns.GetHostAddresses(nameOrAddress).First(address => address.AddressFamily == AddressFamily.InterNetwork);
 
 
                 reply = pinger.Send(addressToPing);
                 reply = pinger.Send(addressToPing);
                 return reply;
                 return reply;
             }
             }
-            catch {
+            catch
+            {
                 return null;
                 return null;
             }
             }
         }
         }
 
 
         // It uses the InternalDNS setting for this
         // It uses the InternalDNS setting for this
-        internal static bool IsInternetAvailable() {
+        internal static bool IsInternetAvailable()
+        {
             const int timeout = 1000;
             const int timeout = 1000;
             string host = OptionsHelper.CurrentOptions.InternalDNS ?? Constants.INTERNAL_DNS;
             string host = OptionsHelper.CurrentOptions.InternalDNS ?? Constants.INTERNAL_DNS;
 
 
@@ -141,16 +161,19 @@ namespace Optimizer {
             var buffer = new byte[32];
             var buffer = new byte[32];
             var pingOptions = new PingOptions();
             var pingOptions = new PingOptions();
 
 
-            try {
+            try
+            {
                 var reply = ping.Send(host, timeout, buffer, pingOptions);
                 var reply = ping.Send(host, timeout, buffer, pingOptions);
                 return (reply != null && reply.Status == IPStatus.Success);
                 return (reply != null && reply.Status == IPStatus.Success);
             }
             }
-            catch (Exception) {
+            catch (Exception)
+            {
                 return false;
                 return false;
             }
             }
         }
         }
 
 
-        internal static void FlushDNSCache() {
+        internal static void FlushDNSCache()
+        {
             Utilities.RunCommand("ipconfig /flushdns");
             Utilities.RunCommand("ipconfig /flushdns");
         }
         }
 
 

+ 100 - 51
Optimizer/Program.cs

@@ -6,20 +6,24 @@ using System.Reflection;
 using System.Threading;
 using System.Threading;
 using System.Windows.Forms;
 using System.Windows.Forms;
 
 
-namespace Optimizer {
-    static class Program {
+namespace Optimizer
+{
+    static class Program
+    {
         /// <summary>
         /// <summary>
         /// Version properties. Do NOT leave them empty
         /// Version properties. Do NOT leave them empty
         /// </summary>
         /// </summary>
         internal readonly static float Major = 16;
         internal readonly static float Major = 16;
-        internal readonly static float Minor = 4;
+        internal readonly static float Minor = 5;
         internal readonly static bool EXPERIMENTAL_BUILD = false;
         internal readonly static bool EXPERIMENTAL_BUILD = false;
 
 
-        internal static string GetCurrentVersionTostring() {
+        internal static string GetCurrentVersionTostring()
+        {
             return $"{Major.ToString()}.{Minor.ToString()}";
             return $"{Major.ToString()}.{Minor.ToString()}";
         }
         }
 
 
-        internal static float GetCurrentVersionToFloat() {
+        internal static float GetCurrentVersionToFloat()
+        {
             return float.Parse(GetCurrentVersionTostring());
             return float.Parse(GetCurrentVersionTostring());
         }
         }
 
 
@@ -52,13 +56,15 @@ namespace Optimizer {
         private static extern bool SetProcessDPIAware();
         private static extern bool SetProcessDPIAware();
 
 
         [STAThread]
         [STAThread]
-        static void Main(string[] switches) {
+        static void Main(string[] switches)
+        {
             AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException;
             AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException;
             AppDomain.CurrentDomain.AssemblyResolve += CurrentDomain_AssemblyResolve;
             AppDomain.CurrentDomain.AssemblyResolve += CurrentDomain_AssemblyResolve;
             EmbeddedAssembly.Load(_jsonAssembly, _jsonAssembly.Replace("Optimizer.", string.Empty));
             EmbeddedAssembly.Load(_jsonAssembly, _jsonAssembly.Replace("Optimizer.", string.Empty));
 
 
             DPI_PREFERENCE = Convert.ToInt32(Microsoft.Win32.Registry.GetValue(@"HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\ThemeManager", "LastLoadedDPI", "96"));
             DPI_PREFERENCE = Convert.ToInt32(Microsoft.Win32.Registry.GetValue(@"HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\ThemeManager", "LastLoadedDPI", "96"));
-            if (DPI_PREFERENCE <= 0) {
+            if (DPI_PREFERENCE <= 0)
+            {
                 DPI_PREFERENCE = 96;
                 DPI_PREFERENCE = 96;
             }
             }
 
 
@@ -69,13 +75,15 @@ namespace Optimizer {
             // single-instance mechanism
             // single-instance mechanism
             MUTEX = new Mutex(true, MUTEX_GUID, out _notRunning);
             MUTEX = new Mutex(true, MUTEX_GUID, out _notRunning);
 
 
-            if (!_notRunning) {
+            if (!_notRunning)
+            {
                 MessageBox.Show(_alreadyRunningMsg, "Optimizer", MessageBoxButtons.OK, MessageBoxIcon.Information);
                 MessageBox.Show(_alreadyRunningMsg, "Optimizer", MessageBoxButtons.OK, MessageBoxIcon.Information);
                 Environment.Exit(0);
                 Environment.Exit(0);
                 return;
                 return;
             }
             }
 
 
-            if (!Utilities.IsAdmin()) {
+            if (!Utilities.IsAdmin())
+            {
                 string file = Process.GetCurrentProcess().MainModule.FileName;
                 string file = Process.GetCurrentProcess().MainModule.FileName;
                 ProcessStartInfo p = new ProcessStartInfo(file);
                 ProcessStartInfo p = new ProcessStartInfo(file);
                 p.Verb = "runas";
                 p.Verb = "runas";
@@ -85,7 +93,8 @@ namespace Optimizer {
                 return;
                 return;
             }
             }
 
 
-            if (!Utilities.IsCompatible()) {
+            if (!Utilities.IsCompatible())
+            {
                 HelperForm f = new HelperForm(null, MessageType.Error, _unsupportedMessage);
                 HelperForm f = new HelperForm(null, MessageType.Error, _unsupportedMessage);
                 f.ShowDialog();
                 f.ShowDialog();
                 Environment.Exit(0);
                 Environment.Exit(0);
@@ -95,40 +104,47 @@ namespace Optimizer {
             CoreHelper.Deploy();
             CoreHelper.Deploy();
             FontHelper.LoadFont();
             FontHelper.LoadFont();
 
 
-            if (switches.Length == 1) {
+            if (switches.Length == 1)
+            {
                 string arg = switches[0].Trim().ToLowerInvariant();
                 string arg = switches[0].Trim().ToLowerInvariant();
 
 
                 // UNSAFE mode switch (allows running on Windows Server 2008+)
                 // UNSAFE mode switch (allows running on Windows Server 2008+)
-                if (arg == "/unsafe") {
+                if (arg == "/unsafe")
+                {
                     UNSAFE_MODE = true;
                     UNSAFE_MODE = true;
                     StartMainForm();
                     StartMainForm();
                     return;
                     return;
                 }
                 }
 
 
-                if (arg == "/repair") {
+                if (arg == "/repair")
+                {
                     Utilities.Repair(true);
                     Utilities.Repair(true);
                     return;
                     return;
                 }
                 }
 
 
-                if (arg == "/disablehpet") {
+                if (arg == "/disablehpet")
+                {
                     Utilities.DisableHPET();
                     Utilities.DisableHPET();
                     Environment.Exit(0);
                     Environment.Exit(0);
                     return;
                     return;
                 }
                 }
-                if (arg == "/enablehpet") {
+                if (arg == "/enablehpet")
+                {
                     Utilities.EnableHPET();
                     Utilities.EnableHPET();
                     Environment.Exit(0);
                     Environment.Exit(0);
                     return;
                     return;
                 }
                 }
 
 
                 // [!!!] unlock all cores instruction 
                 // [!!!] unlock all cores instruction 
-                if (arg == "/unlockcores") {
+                if (arg == "/unlockcores")
+                {
                     Utilities.UnlockAllCores();
                     Utilities.UnlockAllCores();
                     Environment.Exit(0);
                     Environment.Exit(0);
                     return;
                     return;
                 }
                 }
 
 
-                if (arg.StartsWith("/svchostsplit=")) {
+                if (arg.StartsWith("/svchostsplit="))
+                {
                     string x = arg.Replace("/svchostsplit=", string.Empty);
                     string x = arg.Replace("/svchostsplit=", string.Empty);
                     bool isValid = !x.Any(c => !char.IsDigit(c));
                     bool isValid = !x.Any(c => !char.IsDigit(c));
                     if (isValid && int.TryParse(x, out int result)) Utilities.DisableSvcHostProcessSplitting(result);
                     if (isValid && int.TryParse(x, out int result)) Utilities.DisableSvcHostProcessSplitting(result);
@@ -136,13 +152,15 @@ namespace Optimizer {
                     return;
                     return;
                 }
                 }
 
 
-                if (arg == "/resetsvchostsplit") {
+                if (arg == "/resetsvchostsplit")
+                {
                     Utilities.EnableSvcHostProcessSplitting();
                     Utilities.EnableSvcHostProcessSplitting();
                     Environment.Exit(0);
                     Environment.Exit(0);
                     return;
                     return;
                 }
                 }
 
 
-                if (arg == "/version") {
+                if (arg == "/version")
+                {
                     if (!EXPERIMENTAL_BUILD) MessageBox.Show($"Optimizer: {GetCurrentVersionTostring()}\n\nCoded by: deadmoon © ∞\n\nhttps://github.com/hellzerg/optimizer", "Optimizer", MessageBoxButtons.OK, MessageBoxIcon.Information);
                     if (!EXPERIMENTAL_BUILD) MessageBox.Show($"Optimizer: {GetCurrentVersionTostring()}\n\nCoded by: deadmoon © ∞\n\nhttps://github.com/hellzerg/optimizer", "Optimizer", MessageBoxButtons.OK, MessageBoxIcon.Information);
                     else MessageBox.Show("Optimizer: EXPERIMENTAL BUILD. PLEASE DELETE AFTER TESTING.\n\nCoded by: deadmoon © ∞\n\nhttps://github.com/hellzerg/optimizer", "Optimizer", MessageBoxButtons.OK, MessageBoxIcon.Information);
                     else MessageBox.Show("Optimizer: EXPERIMENTAL BUILD. PLEASE DELETE AFTER TESTING.\n\nCoded by: deadmoon © ∞\n\nhttps://github.com/hellzerg/optimizer", "Optimizer", MessageBoxButtons.OK, MessageBoxIcon.Information);
 
 
@@ -150,38 +168,45 @@ namespace Optimizer {
                     return;
                     return;
                 }
                 }
                 // instruct to restart in safe-mode
                 // instruct to restart in safe-mode
-                if (arg == "/restart=safemode") {
+                if (arg == "/restart=safemode")
+                {
                     RestartInSafeMode();
                     RestartInSafeMode();
                 }
                 }
 
 
                 // instruct to restart normally
                 // instruct to restart normally
-                if (arg == "/restart=normal") {
+                if (arg == "/restart=normal")
+                {
                     RestartInNormalMode();
                     RestartInNormalMode();
                 }
                 }
 
 
                 // disable defender automatically
                 // disable defender automatically
-                if (arg == "/restart=disabledefender") {
+                if (arg == "/restart=disabledefender")
+                {
                     SetRunOnceDisableDefender();
                     SetRunOnceDisableDefender();
                 }
                 }
 
 
                 // enable defender automatically
                 // enable defender automatically
-                if (arg == "/restart=enabledefender") {
+                if (arg == "/restart=enabledefender")
+                {
                     SetRunOnceEnableDefender();
                     SetRunOnceEnableDefender();
                 }
                 }
 
 
                 // return from safe-mode automatically
                 // return from safe-mode automatically
-                if (arg == "/silentdisabledefender") {
+                if (arg == "/silentdisabledefender")
+                {
                     DisableDefenderInSafeMode();
                     DisableDefenderInSafeMode();
                     RestartInNormalMode();
                     RestartInNormalMode();
                 }
                 }
 
 
-                if (arg == "/silentenabledefender") {
+                if (arg == "/silentenabledefender")
+                {
                     EnableDefenderInSafeMode();
                     EnableDefenderInSafeMode();
                     RestartInNormalMode();
                     RestartInNormalMode();
                 }
                 }
 
 
                 // disables Defender in SAFE MODE (for Windows 10 1903+ / works in Windows 11 as well)
                 // disables Defender in SAFE MODE (for Windows 10 1903+ / works in Windows 11 as well)
-                if (arg == "/disabledefender") {
+                if (arg == "/disabledefender")
+                {
                     DisableDefenderInSafeMode();
                     DisableDefenderInSafeMode();
 
 
                     MessageBox.Show("Windows Defender has been completely disabled successfully.", "Optimizer", MessageBoxButtons.OK, MessageBoxIcon.Information);
                     MessageBox.Show("Windows Defender has been completely disabled successfully.", "Optimizer", MessageBoxButtons.OK, MessageBoxIcon.Information);
@@ -191,7 +216,8 @@ namespace Optimizer {
 
 
 
 
                 // other options for disabling specific tools
                 // other options for disabling specific tools
-                if (arg.StartsWith("/disable=")) {
+                if (arg.StartsWith("/disable="))
+                {
                     string x = arg.Replace("/disable=", string.Empty);
                     string x = arg.Replace("/disable=", string.Empty);
                     string[] opts = x.Split(',');
                     string[] opts = x.Split(',');
 
 
@@ -209,11 +235,13 @@ namespace Optimizer {
                     return;
                     return;
                 }
                 }
 
 
-                if (arg.StartsWith("/config=")) {
+                if (arg.StartsWith("/config="))
+                {
                     UNSAFE_MODE = true;
                     UNSAFE_MODE = true;
                     string fileName = arg.Replace("/config=", string.Empty);
                     string fileName = arg.Replace("/config=", string.Empty);
 
 
-                    if (!File.Exists(fileName)) {
+                    if (!File.Exists(fileName))
+                    {
                         MessageBox.Show(_confNotFoundMsg, "Optimizer", MessageBoxButtons.OK, MessageBoxIcon.Information);
                         MessageBox.Show(_confNotFoundMsg, "Optimizer", MessageBoxButtons.OK, MessageBoxIcon.Information);
                         Environment.Exit(0);
                         Environment.Exit(0);
                         return;
                         return;
@@ -221,12 +249,14 @@ namespace Optimizer {
 
 
                     SilentOps.GetSilentConfig(fileName);
                     SilentOps.GetSilentConfig(fileName);
 
 
-                    if (SilentOps.CurrentSilentConfig == null) {
+                    if (SilentOps.CurrentSilentConfig == null)
+                    {
                         MessageBox.Show(_confInvalidFormatMsg, "Optimizer", MessageBoxButtons.OK, MessageBoxIcon.Information);
                         MessageBox.Show(_confInvalidFormatMsg, "Optimizer", MessageBoxButtons.OK, MessageBoxIcon.Information);
                         Environment.Exit(0);
                         Environment.Exit(0);
                         return;
                         return;
                     }
                     }
-                    if (!SilentOps.ProcessWindowsVersionCompatibility()) {
+                    if (!SilentOps.ProcessWindowsVersionCompatibility())
+                    {
                         MessageBox.Show(_confInvalidVersionMsg, "Optimizer", MessageBoxButtons.OK, MessageBoxIcon.Information);
                         MessageBox.Show(_confInvalidVersionMsg, "Optimizer", MessageBoxButtons.OK, MessageBoxIcon.Information);
                         Environment.Exit(0);
                         Environment.Exit(0);
                         return;
                         return;
@@ -237,31 +267,38 @@ namespace Optimizer {
                     OptionsHelper.SaveSettings();
                     OptionsHelper.SaveSettings();
                 }
                 }
             }
             }
-            else {
+            else
+            {
                 StartMainForm();
                 StartMainForm();
             }
             }
         }
         }
 
 
-        private static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e) {
+        private static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e)
+        {
             Exception error = (Exception)e.ExceptionObject;
             Exception error = (Exception)e.ExceptionObject;
             Logger.LogError("Program.Main-UnhandledException", error.Message, error.StackTrace);
             Logger.LogError("Program.Main-UnhandledException", error.Message, error.StackTrace);
         }
         }
 
 
-        private static void LoadSettings() {
-            // for backward compatibility (legacy)
+        private static void LoadSettings()
+        {
+            // for backward compatibility
             OptionsHelper.LegacyCheck();
             OptionsHelper.LegacyCheck();
 
 
             // load settings, if there is no settings, load defaults
             // load settings, if there is no settings, load defaults
-            try {
+            try
+            {
                 // show FirstRunForm/Language Selector if app is running first time
                 // show FirstRunForm/Language Selector if app is running first time
-                if (!File.Exists(OptionsHelper.SettingsFile)) {
+                if (!File.Exists(OptionsHelper.SettingsFile))
+                {
                     OptionsHelper.LoadSettings();
                     OptionsHelper.LoadSettings();
-                    if (!SILENT_MODE) {
+                    if (!SILENT_MODE)
+                    {
                         FirstRunForm frf = new FirstRunForm();
                         FirstRunForm frf = new FirstRunForm();
                         frf.ShowDialog();
                         frf.ShowDialog();
                     }
                     }
                 }
                 }
-                else {
+                else
+                {
                     OptionsHelper.LoadSettings();
                     OptionsHelper.LoadSettings();
                 }
                 }
 
 
@@ -279,13 +316,15 @@ namespace Optimizer {
                 _argInvalidMsg = OptionsHelper.TranslationList["argInvalidMsg"];
                 _argInvalidMsg = OptionsHelper.TranslationList["argInvalidMsg"];
                 _alreadyRunningMsg = OptionsHelper.TranslationList["alreadyRunningMsg"];
                 _alreadyRunningMsg = OptionsHelper.TranslationList["alreadyRunningMsg"];
             }
             }
-            catch (Exception ex) {
+            catch (Exception ex)
+            {
                 Logger.LogError("Program.Main-LoadSettings", ex.Message, ex.StackTrace);
                 Logger.LogError("Program.Main-LoadSettings", ex.Message, ex.StackTrace);
                 Environment.Exit(0);
                 Environment.Exit(0);
             }
             }
         }
         }
 
 
-        internal static void RestartInSafeMode() {
+        internal static void RestartInSafeMode()
+        {
             Utilities.RunCommand("bcdedit /set {current} safeboot Minimal");
             Utilities.RunCommand("bcdedit /set {current} safeboot Minimal");
             Thread.Sleep(500);
             Thread.Sleep(500);
             Utilities.Reboot();
             Utilities.Reboot();
@@ -293,7 +332,8 @@ namespace Optimizer {
             Environment.Exit(0);
             Environment.Exit(0);
         }
         }
 
 
-        internal static void RestartInNormalMode() {
+        internal static void RestartInNormalMode()
+        {
             Utilities.RunCommand("bcdedit /deletevalue {current} safeboot");
             Utilities.RunCommand("bcdedit /deletevalue {current} safeboot");
             Thread.Sleep(500);
             Thread.Sleep(500);
             Utilities.Reboot();
             Utilities.Reboot();
@@ -301,7 +341,8 @@ namespace Optimizer {
             Environment.Exit(0);
             Environment.Exit(0);
         }
         }
 
 
-        private static void DisableDefenderInSafeMode() {
+        private static void DisableDefenderInSafeMode()
+        {
             File.WriteAllText("DisableDefenderSafeMode.bat", Properties.Resources.DisableDefenderSafeMode1903Plus);
             File.WriteAllText("DisableDefenderSafeMode.bat", Properties.Resources.DisableDefenderSafeMode1903Plus);
 
 
             Utilities.RunBatchFile("DisableDefenderSafeMode.bat");
             Utilities.RunBatchFile("DisableDefenderSafeMode.bat");
@@ -312,7 +353,8 @@ namespace Optimizer {
             File.Delete("DisableDefenderSafeMode.bat");
             File.Delete("DisableDefenderSafeMode.bat");
         }
         }
 
 
-        private static void EnableDefenderInSafeMode() {
+        private static void EnableDefenderInSafeMode()
+        {
             File.WriteAllText("EnableDefenderSafeMode.bat", Properties.Resources.EnableDefenderSafeMode1903Plus);
             File.WriteAllText("EnableDefenderSafeMode.bat", Properties.Resources.EnableDefenderSafeMode1903Plus);
 
 
             Utilities.RunBatchFile("EnableDefenderSafeMode.bat");
             Utilities.RunBatchFile("EnableDefenderSafeMode.bat");
@@ -323,19 +365,22 @@ namespace Optimizer {
             File.Delete("EnableDefenderSafeMode.bat");
             File.Delete("EnableDefenderSafeMode.bat");
         }
         }
 
 
-        internal static void SetRunOnceDisableDefender() {
+        internal static void SetRunOnceDisableDefender()
+        {
             // set RunOnce instruction
             // set RunOnce instruction
             Microsoft.Win32.Registry.SetValue(@"HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce", "*OptimizerDisableDefender", Assembly.GetExecutingAssembly().Location + " /silentdisabledefender", Microsoft.Win32.RegistryValueKind.String);
             Microsoft.Win32.Registry.SetValue(@"HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce", "*OptimizerDisableDefender", Assembly.GetExecutingAssembly().Location + " /silentdisabledefender", Microsoft.Win32.RegistryValueKind.String);
             RestartInSafeMode();
             RestartInSafeMode();
         }
         }
 
 
-        internal static void SetRunOnceEnableDefender() {
+        internal static void SetRunOnceEnableDefender()
+        {
             // set RunOnce instruction
             // set RunOnce instruction
             Microsoft.Win32.Registry.SetValue(@"HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce", "*OptimizerEnableDefender", Assembly.GetExecutingAssembly().Location + " /silentenabledefender", Microsoft.Win32.RegistryValueKind.String);
             Microsoft.Win32.Registry.SetValue(@"HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce", "*OptimizerEnableDefender", Assembly.GetExecutingAssembly().Location + " /silentenabledefender", Microsoft.Win32.RegistryValueKind.String);
             RestartInSafeMode();
             RestartInSafeMode();
         }
         }
 
 
-        private static void StartMainForm() {
+        private static void StartMainForm()
+        {
             LoadSettings();
             LoadSettings();
             StartSplashForm();
             StartSplashForm();
 
 
@@ -344,7 +389,8 @@ namespace Optimizer {
             Application.Run(_MainForm);
             Application.Run(_MainForm);
         }
         }
 
 
-        private static void StartMainForm(bool?[] codes) {
+        private static void StartMainForm(bool?[] codes)
+        {
             LoadSettings();
             LoadSettings();
             StartSplashForm();
             StartSplashForm();
 
 
@@ -353,7 +399,8 @@ namespace Optimizer {
             Application.Run(_MainForm);
             Application.Run(_MainForm);
         }
         }
 
 
-        private static void StartSplashForm() {
+        private static void StartSplashForm()
+        {
             _SplashForm = new SplashForm();
             _SplashForm = new SplashForm();
             var splashThread = new Thread(new ThreadStart(
             var splashThread = new Thread(new ThreadStart(
                 () => Application.Run(_SplashForm)));
                 () => Application.Run(_SplashForm)));
@@ -362,7 +409,8 @@ namespace Optimizer {
             splashThread.Start();
             splashThread.Start();
         }
         }
 
 
-        private static void MainForm_Load(object sender, EventArgs e) {
+        private static void MainForm_Load(object sender, EventArgs e)
+        {
             if (_SplashForm != null && !_SplashForm.Disposing && !_SplashForm.IsDisposed)
             if (_SplashForm != null && !_SplashForm.Disposing && !_SplashForm.IsDisposed)
                 _SplashForm.Invoke(new Action(() => _SplashForm.Close()));
                 _SplashForm.Invoke(new Action(() => _SplashForm.Close()));
 
 
@@ -371,7 +419,8 @@ namespace Optimizer {
             _MainForm.TopMost = false;
             _MainForm.TopMost = false;
         }
         }
 
 
-        private static Assembly CurrentDomain_AssemblyResolve(object sender, ResolveEventArgs args) {
+        private static Assembly CurrentDomain_AssemblyResolve(object sender, ResolveEventArgs args)
+        {
             return EmbeddedAssembly.Get(args.Name);
             return EmbeddedAssembly.Get(args.Name);
         }
         }
     }
     }

+ 123 - 86
Optimizer/Properties/Resources.Designer.cs

@@ -61,25 +61,25 @@ namespace Optimizer.Properties {
         }
         }
         
         
         /// <summary>
         /// <summary>
-        ///   Looks up a localized string similar to Windows Registry Editor Version 5.00
-        ///
-        ///[HKEY_CLASSES_ROOT\Directory\shell\OpenWithCMD]
-        ///@=&quot;Open Command Prompt here&quot;
-        ///&quot;Icon&quot;=&quot;cmd.exe&quot;
-        ///&quot;NoWorkingDirectory&quot;=&quot;&quot;
-        ///
-        ///[HKEY_CLASSES_ROOT\Directory\shell\OpenWithCMD\command]
-        ///@=&quot;cmd.exe /s /k pushd \&quot;%V\&quot;&quot;
-        ///
-        ///[HKEY_CLASSES_ROOT\Directory\Background\shell\OpenWithCMD]
-        ///@=&quot;Open Command Prompt here&quot;
-        ///&quot;Icon&quot;=&quot;cmd.exe&quot;
-        ///&quot;NoWorkingDirectory&quot;=&quot;&quot;
-        ///
-        ///[HKEY_CLASSES_ROOT\Directory\Background\shell\OpenWithCMD\command]
-        ///@=&quot;cmd.exe /s /k pushd \&quot;%V\&quot;&quot;
-        ///
-        ///[HKEY_CLASSES_ROOT\D [rest of string was truncated]&quot;;.
+        ///   Looks up a localized string similar to Windows Registry Editor Version 5.00
+        ///
+        ///[HKEY_CLASSES_ROOT\Directory\shell\OpenWithCMD]
+        ///@=&quot;Open Command Prompt here&quot;
+        ///&quot;Icon&quot;=&quot;cmd.exe&quot;
+        ///&quot;NoWorkingDirectory&quot;=&quot;&quot;
+        ///
+        ///[HKEY_CLASSES_ROOT\Directory\shell\OpenWithCMD\command]
+        ///@=&quot;cmd.exe /s /k pushd \&quot;%V\&quot;&quot;
+        ///
+        ///[HKEY_CLASSES_ROOT\Directory\Background\shell\OpenWithCMD]
+        ///@=&quot;Open Command Prompt here&quot;
+        ///&quot;Icon&quot;=&quot;cmd.exe&quot;
+        ///&quot;NoWorkingDirectory&quot;=&quot;&quot;
+        ///
+        ///[HKEY_CLASSES_ROOT\Directory\Background\shell\OpenWithCMD\command]
+        ///@=&quot;cmd.exe /s /k pushd \&quot;%V\&quot;&quot;
+        ///
+        ///[HKEY_CLASSES_ROOT\Drive\shell\OpenWit [rest of string was truncated]&quot;;.
         /// </summary>
         /// </summary>
         internal static string AddOpenWithCMD {
         internal static string AddOpenWithCMD {
             get {
             get {
@@ -89,21 +89,22 @@ namespace Optimizer.Properties {
         
         
         /// <summary>
         /// <summary>
         ///   Looks up a localized string similar to {
         ///   Looks up a localized string similar to {
-        ///	&quot;subSystem&quot;: &quot;نظام&quot;,
-        ///	&quot;subPrivacy&quot;: &quot;خصوصية&quot;,
+        ///	&quot;subSystem&quot;: &quot;النظام&quot;,
+        ///	&quot;subPrivacy&quot;: &quot;الخصوصية&quot;,
         ///	&quot;subGaming&quot;: &quot;الألعاب&quot;,
         ///	&quot;subGaming&quot;: &quot;الألعاب&quot;,
-        ///	&quot;subTouch&quot;: &quot;يلمس&quot;,
-        ///	&quot;subTaskbar&quot;: &quot;ريط المهام&quot;,
-        ///	&quot;subExtras&quot;: &quot;إضافات&quot;,
+        ///	&quot;subTouch&quot;: &quot;اللمس&quot;,
+        ///	&quot;subTaskbar&quot;: &quot;شريط المهام&quot;,
+        ///	&quot;subExtras&quot;: &quot;الإضافات&quot;,
         ///	&quot;btnAbout&quot;: &quot;حسنا&quot;,
         ///	&quot;btnAbout&quot;: &quot;حسنا&quot;,
         ///	&quot;restartButton&quot;: &quot;إعادة التشغيل الآن&quot;,
         ///	&quot;restartButton&quot;: &quot;إعادة التشغيل الآن&quot;,
         ///	&quot;restartButton8&quot;: &quot;إعادة التشغيل الآن&quot;,
         ///	&quot;restartButton8&quot;: &quot;إعادة التشغيل الآن&quot;,
         ///	&quot;restartButton10&quot;: &quot;إعادة التشغيل الآن&quot;,
         ///	&quot;restartButton10&quot;: &quot;إعادة التشغيل الآن&quot;,
-        ///	&quot;restartAndApply&quot;: &quot;إعادة التشغيل لتطبيق التغييرات&quot;,
-        ///	&quot;btnFind&quot;: &quot;يجد&quot;,
-        ///	&quot;btnKill&quot;: &quot;قتل&quot;,
-        ///	&quot;trayUnlocker&quot;: &quot;مقابض الملفات&quot;,
-        ///	&quot;onedriveM&quot;: &quot;هل أنت متأكد من أنك تريد إزالة تثبيت OneDrive؟ يؤدي هذا إلى حذف  [rest of string was truncated]&quot;;.
+        ///	&quot;btnFind&quot;: &quot;البحث&quot;,
+        ///	&quot;btnKill&quot;: &quot;إنهاء&quot;,
+        ///	&quot;trayUnlocker&quot;: &quot;مفاتيح الملفات&quot;,
+        ///	&quot;restartAndApply&quot;: &quot;لتطبيق الإعدادات يجب إعادة التشغيل&quot;,
+        ///	&quot;txtVersion&quot;: &quot;الإصدار: {VN}&quot;,
+        ///	&quot;txtBitness&quot;: &quot;أنت تعمل مع { [rest of string was truncated]&quot;;.
         /// </summary>
         /// </summary>
         internal static string AR {
         internal static string AR {
             get {
             get {
@@ -313,13 +314,14 @@ namespace Optimizer.Properties {
         }
         }
         
         
         /// <summary>
         /// <summary>
-        ///   Looks up a localized string similar to rem USE AT OWN RISK AS IS WITHOUT WARRANTY OF ANY KIND !!!!!
-        ///
-        ///rem https://docs.microsoft.com/en-us/windows-hardware/customize/desktop/unattend/security-malware-windows-defender-disableantispyware
-        ///rem &quot;DisableAntiSpyware&quot; is discontinued and will be ignored on client devices, as of the August 2020 (version 4.18.2007.8) update to Microsoft Defender Antivirus.
-        ///
-        ///rem Disable Tamper Protection First !!!!!
-        ///rem https://www.tenforums.com/tutorials/123792-turn-off-tamper-protection-windows-defender-antivirus.ht [rest of string was truncated]&quot;;.
+        ///   Looks up a localized string similar to rem USE AT OWN RISK AS IS WITHOUT WARRANTY OF ANY KIND !!!!!
+        ///
+        ///rem https://docs.microsoft.com/en-us/windows-hardware/customize/desktop/unattend/security-malware-windows-defender-disableantispyware
+        ///rem &quot;DisableAntiSpyware&quot; is discontinued and will be ignored on client devices, as of the August 2020 (version 4.18.2007.8) update to Microsoft Defender Antivirus.
+        ///
+        ///rem Disable Tamper Protection First !!!!!
+        ///rem https://www.tenforums.com/tutorials/123792-turn-off-tamper-protection-windows-defender-antivirus.html
+        ///reg [rest of string was truncated]&quot;;.
         /// </summary>
         /// </summary>
         internal static string DisableDefenderSafeMode1903Plus {
         internal static string DisableDefenderSafeMode1903Plus {
             get {
             get {
@@ -351,14 +353,14 @@ namespace Optimizer.Properties {
         }
         }
         
         
         /// <summary>
         /// <summary>
-        ///   Looks up a localized string similar to schtasks /end /tn &quot;\Microsoft\Office\OfficeTelemetryAgentFallBack2016&quot;
-        ///schtasks /change /tn &quot;\Microsoft\Office\OfficeTelemetryAgentFallBack2016&quot; /disable
-        ///schtasks /end /tn &quot;\Microsoft\Office\OfficeTelemetryAgentLogOn2016&quot;
-        ///schtasks /change /tn &quot;\Microsoft\Office\OfficeTelemetryAgentLogOn2016&quot; /disable
-        ///
-        ///schtasks /end /tn &quot;\Microsoft\Office\OfficeTelemetryAgentFallBack&quot;
-        ///schtasks /change /tn &quot;\Microsoft\Office\OfficeTelemetryAgentFallBack&quot; /disable
-        ///schtasks /end /tn &quot;\Microsoft\Office\OfficeTelemetryAgen [rest of string was truncated]&quot;;.
+        ///   Looks up a localized string similar to schtasks /end /tn &quot;\Microsoft\Office\OfficeTelemetryAgentFallBack2016&quot;
+        ///schtasks /change /tn &quot;\Microsoft\Office\OfficeTelemetryAgentFallBack2016&quot; /disable
+        ///schtasks /end /tn &quot;\Microsoft\Office\OfficeTelemetryAgentLogOn2016&quot;
+        ///schtasks /change /tn &quot;\Microsoft\Office\OfficeTelemetryAgentLogOn2016&quot; /disable
+        ///
+        ///schtasks /end /tn &quot;\Microsoft\Office\OfficeTelemetryAgentFallBack&quot;
+        ///schtasks /change /tn &quot;\Microsoft\Office\OfficeTelemetryAgentFallBack&quot; /disable
+        ///schtasks /end /tn &quot;\Microsoft\Office\OfficeTelemetryAgentLogOn&quot; [rest of string was truncated]&quot;;.
         /// </summary>
         /// </summary>
         internal static string DisableOfficeTelemetryTasks {
         internal static string DisableOfficeTelemetryTasks {
             get {
             get {
@@ -367,12 +369,12 @@ namespace Optimizer.Properties {
         }
         }
         
         
         /// <summary>
         /// <summary>
-        ///   Looks up a localized string similar to schtasks /end /tn &quot;\Microsoft\Windows\Customer Experience Improvement Program\Consolidator&quot;
-        ///schtasks /change /tn &quot;\Microsoft\Windows\Customer Experience Improvement Program\Consolidator&quot; /disable
-        ///schtasks /end /tn &quot;\Microsoft\Windows\Customer Experience Improvement Program\BthSQM&quot;
-        ///schtasks /change /tn &quot;\Microsoft\Windows\Customer Experience Improvement Program\BthSQM&quot; /disable
-        ///schtasks /end /tn &quot;\Microsoft\Windows\Customer Experience Improvement Program\KernelCeipTask&quot;
-        ///schtasks /change /tn &quot;\Microsoft\ [rest of string was truncated]&quot;;.
+        ///   Looks up a localized string similar to schtasks /end /tn &quot;\Microsoft\Windows\Customer Experience Improvement Program\Consolidator&quot;
+        ///schtasks /change /tn &quot;\Microsoft\Windows\Customer Experience Improvement Program\Consolidator&quot; /disable
+        ///schtasks /end /tn &quot;\Microsoft\Windows\Customer Experience Improvement Program\BthSQM&quot;
+        ///schtasks /change /tn &quot;\Microsoft\Windows\Customer Experience Improvement Program\BthSQM&quot; /disable
+        ///schtasks /end /tn &quot;\Microsoft\Windows\Customer Experience Improvement Program\KernelCeipTask&quot;
+        ///schtasks /change /tn &quot;\Microsoft\Windo [rest of string was truncated]&quot;;.
         /// </summary>
         /// </summary>
         internal static string DisableTelemetryTasks {
         internal static string DisableTelemetryTasks {
             get {
             get {
@@ -381,10 +383,10 @@ namespace Optimizer.Properties {
         }
         }
         
         
         /// <summary>
         /// <summary>
-        ///   Looks up a localized string similar to schtasks /end /tn &quot;\Microsoft\XblGameSave\XblGameSaveTask&quot;
-        ///schtasks /change /tn &quot;\Microsoft\XblGameSave\XblGameSaveTask&quot; /disable
-        ///schtasks /end /tn &quot;\Microsoft\XblGameSave\XblGameSaveTaskLogon&quot;
-        ///schtasks /change /tn &quot;\Microsoft\XblGameSave\XblGameSaveTaskLogon&quot; /disable
+        ///   Looks up a localized string similar to schtasks /end /tn &quot;\Microsoft\XblGameSave\XblGameSaveTask&quot;
+        ///schtasks /change /tn &quot;\Microsoft\XblGameSave\XblGameSaveTask&quot; /disable
+        ///schtasks /end /tn &quot;\Microsoft\XblGameSave\XblGameSaveTaskLogon&quot;
+        ///schtasks /change /tn &quot;\Microsoft\XblGameSave\XblGameSaveTaskLogon&quot; /disable
         ///.
         ///.
         /// </summary>
         /// </summary>
         internal static string DisableXboxTasks {
         internal static string DisableXboxTasks {
@@ -510,14 +512,14 @@ namespace Optimizer.Properties {
         }
         }
         
         
         /// <summary>
         /// <summary>
-        ///   Looks up a localized string similar to schtasks /change /tn &quot;\Microsoft\Office\OfficeTelemetryAgentFallBack2016&quot; /enable
-        ///schtasks /change /tn &quot;\Microsoft\Office\OfficeTelemetryAgentLogOn2016&quot; /enable
-        ///
-        ///schtasks /change /tn &quot;\Microsoft\Office\OfficeTelemetryAgentFallBack&quot; /enable
-        ///schtasks /change /tn &quot;\Microsoft\Office\OfficeTelemetryAgentLogOn&quot; /enable
-        ///
-        ///reg add &quot;HKCU\SOFTWARE\Microsoft\Office\15.0\Outlook\Options\Mail&quot; /v &quot;EnableLogging&quot; /t REG_DWORD /d 1 /f
-        ///reg add &quot;HKCU\SOFTWARE\Microsoft\Office\16.0\Outlook\Options\Mail&quot; /v &quot;EnableLoggi [rest of string was truncated]&quot;;.
+        ///   Looks up a localized string similar to schtasks /change /tn &quot;\Microsoft\Office\OfficeTelemetryAgentFallBack2016&quot; /enable
+        ///schtasks /change /tn &quot;\Microsoft\Office\OfficeTelemetryAgentLogOn2016&quot; /enable
+        ///
+        ///schtasks /change /tn &quot;\Microsoft\Office\OfficeTelemetryAgentFallBack&quot; /enable
+        ///schtasks /change /tn &quot;\Microsoft\Office\OfficeTelemetryAgentLogOn&quot; /enable
+        ///
+        ///reg add &quot;HKCU\SOFTWARE\Microsoft\Office\15.0\Outlook\Options\Mail&quot; /v &quot;EnableLogging&quot; /t REG_DWORD /d 1 /f
+        ///reg add &quot;HKCU\SOFTWARE\Microsoft\Office\16.0\Outlook\Options\Mail&quot; /v &quot;EnableLogging&quot; /t  [rest of string was truncated]&quot;;.
         /// </summary>
         /// </summary>
         internal static string EnableOfficeTelemetryTasks {
         internal static string EnableOfficeTelemetryTasks {
             get {
             get {
@@ -526,12 +528,12 @@ namespace Optimizer.Properties {
         }
         }
         
         
         /// <summary>
         /// <summary>
-        ///   Looks up a localized string similar to schtasks /change /tn &quot;\Microsoft\Windows\Customer Experience Improvement Program\Consolidator&quot; /enable
-        ///schtasks /change /tn &quot;\Microsoft\Windows\Customer Experience Improvement Program\BthSQM&quot; /enable
-        ///schtasks /change /tn &quot;\Microsoft\Windows\Customer Experience Improvement Program\KernelCeipTask&quot; /enable
-        ///schtasks /change /tn &quot;\Microsoft\Windows\Customer Experience Improvement Program\UsbCeip&quot; /enable
-        ///schtasks /change /tn &quot;\Microsoft\Windows\Customer Experience Improvement Program\Uploader&quot; /enable
-        ///schta [rest of string was truncated]&quot;;.
+        ///   Looks up a localized string similar to schtasks /change /tn &quot;\Microsoft\Windows\Customer Experience Improvement Program\Consolidator&quot; /enable
+        ///schtasks /change /tn &quot;\Microsoft\Windows\Customer Experience Improvement Program\BthSQM&quot; /enable
+        ///schtasks /change /tn &quot;\Microsoft\Windows\Customer Experience Improvement Program\KernelCeipTask&quot; /enable
+        ///schtasks /change /tn &quot;\Microsoft\Windows\Customer Experience Improvement Program\UsbCeip&quot; /enable
+        ///schtasks /change /tn &quot;\Microsoft\Windows\Customer Experience Improvement Program\Uploader&quot; /enable
+        ///schtasks / [rest of string was truncated]&quot;;.
         /// </summary>
         /// </summary>
         internal static string EnableTelemetryTasks {
         internal static string EnableTelemetryTasks {
             get {
             get {
@@ -540,8 +542,8 @@ namespace Optimizer.Properties {
         }
         }
         
         
         /// <summary>
         /// <summary>
-        ///   Looks up a localized string similar to schtasks /change /tn &quot;\Microsoft\XblGameSave\XblGameSaveTask&quot; /enable
-        ///schtasks /change /tn &quot;\Microsoft\XblGameSave\XblGameSaveTaskLogon&quot; /enable
+        ///   Looks up a localized string similar to schtasks /change /tn &quot;\Microsoft\XblGameSave\XblGameSaveTask&quot; /enable
+        ///schtasks /change /tn &quot;\Microsoft\XblGameSave\XblGameSaveTaskLogon&quot; /enable
         ///.
         ///.
         /// </summary>
         /// </summary>
         internal static string EnableXboxTasks {
         internal static string EnableXboxTasks {
@@ -713,22 +715,22 @@ namespace Optimizer.Properties {
         }
         }
         
         
         /// <summary>
         /// <summary>
-        ///   Looks up a localized string similar to Windows Registry Editor Version 5.00
-        ///
-        ///[HKEY_CLASSES_ROOT\*\shell\runas]
-        ///@=&quot;Take Ownership&quot;
-        ///&quot;NoWorkingDirectory&quot;=&quot;&quot;
-        ///
-        ///[HKEY_CLASSES_ROOT\*\shell\runas\command]
-        ///@=&quot;cmd.exe /c takeown /f \&quot;%1\&quot; &amp;&amp; icacls \&quot;%1\&quot; /grant administrators:F&quot;
-        ///&quot;IsolatedCommand&quot;=&quot;cmd.exe /c takeown /f \&quot;%1\&quot; &amp;&amp; icacls \&quot;%1\&quot; /grant administrators:F&quot;
-        ///
-        ///[HKEY_CLASSES_ROOT\Directory\shell\runas]
-        ///@=&quot;Take Ownership&quot;
-        ///&quot;NoWorkingDirectory&quot;=&quot;&quot;
-        ///
-        ///[HKEY_CLASSES_ROOT\Directory\shell\runas\command]
-        ///@=&quot;cmd.exe /c takeown /f \&quot;%1\&quot; /r /d  [rest of string was truncated]&quot;;.
+        ///   Looks up a localized string similar to Windows Registry Editor Version 5.00
+        ///
+        ///[HKEY_CLASSES_ROOT\*\shell\runas]
+        ///@=&quot;Take Ownership&quot;
+        ///&quot;NoWorkingDirectory&quot;=&quot;&quot;
+        ///
+        ///[HKEY_CLASSES_ROOT\*\shell\runas\command]
+        ///@=&quot;cmd.exe /c takeown /f \&quot;%1\&quot; &amp;&amp; icacls \&quot;%1\&quot; /grant administrators:F&quot;
+        ///&quot;IsolatedCommand&quot;=&quot;cmd.exe /c takeown /f \&quot;%1\&quot; &amp;&amp; icacls \&quot;%1\&quot; /grant administrators:F&quot;
+        ///
+        ///[HKEY_CLASSES_ROOT\Directory\shell\runas]
+        ///@=&quot;Take Ownership&quot;
+        ///&quot;NoWorkingDirectory&quot;=&quot;&quot;
+        ///
+        ///[HKEY_CLASSES_ROOT\Directory\shell\runas\command]
+        ///@=&quot;cmd.exe /c takeown /f \&quot;%1\&quot; /r /d y &amp;&amp; icacls \&quot;% [rest of string was truncated]&quot;;.
         /// </summary>
         /// </summary>
         internal static string InstallTakeOwnership {
         internal static string InstallTakeOwnership {
             get {
             get {
@@ -971,6 +973,16 @@ namespace Optimizer.Properties {
             }
             }
         }
         }
         
         
+        /// <summary>
+        ///   Looks up a localized resource of type System.Drawing.Bitmap.
+        /// </summary>
+        internal static System.Drawing.Bitmap pakistan {
+            get {
+                object obj = ResourceManager.GetObject("pakistan", resourceCulture);
+                return ((System.Drawing.Bitmap)(obj));
+            }
+        }
+        
         /// <summary>
         /// <summary>
         ///   Looks up a localized string similar to {
         ///   Looks up a localized string similar to {
         ///	&quot;subSystem&quot;: &quot;System&quot;,
         ///	&quot;subSystem&quot;: &quot;System&quot;,
@@ -1330,6 +1342,31 @@ namespace Optimizer.Properties {
             }
             }
         }
         }
         
         
+        /// <summary>
+        ///   Looks up a localized string similar to {
+        ///&quot;subSystem&quot;: &quot;سسٹم&quot;,
+        ///&quot;subPrivacy&quot;: &quot;رازداری&quot;,
+        ///&quot;subGaming&quot;: &quot;گیمنگ&quot;,
+        ///&quot;subTouch&quot;: &quot;ٹچ&quot;,
+        ///&quot;subTaskbar&quot;: &quot;ٹاسک بار&quot;,
+        ///&quot;subExtras&quot;: &quot;اضافی&quot;,
+        ///&quot;btnAbout&quot;: &quot;ٹھیک ہے&quot;,
+        ///&quot;restartButton&quot;: &quot;ابھی دوبارہ شروع کریں&quot;,
+        ///&quot;restartButton8&quot;: &quot;ابھی دوبارہ شروع کریں&quot;,
+        ///&quot;restartButton10&quot;: &quot;ابھی دوبارہ شروع کریں&quot;,
+        ///&quot;btnFind&quot;: &quot;تلاش کریں&quot;,
+        ///&quot;btnKill&quot;: &quot;مار ڈالو&quot;,
+        ///&quot;trayUnlocker&quot;: &quot;فائل ہینڈلز&quot;,
+        ///&quot;restartAndApply&quot;: &quot;تبدیلیاں لاگو کرنے کے لیے دوبارہ شروع کریں&quot;,
+        ///&quot;txtVersion&quot;: &quot;ورژن: {VN}&quot;,
+        ///&quot;txtBitness&quot;: &quot;آپ {BITS} کے ساتھ کام  [rest of string was truncated]&quot;;.
+        /// </summary>
+        internal static string UR {
+            get {
+                return ResourceManager.GetString("UR", resourceCulture);
+            }
+        }
+        
         /// <summary>
         /// <summary>
         ///   Looks up a localized resource of type System.Drawing.Bitmap.
         ///   Looks up a localized resource of type System.Drawing.Bitmap.
         /// </summary>
         /// </summary>

+ 6 - 0
Optimizer/Properties/Resources.resx

@@ -346,4 +346,10 @@
   <data name="VN" type="System.Resources.ResXFileRef, System.Windows.Forms">
   <data name="VN" type="System.Resources.ResXFileRef, System.Windows.Forms">
     <value>..\Resources\i18n\VN.json;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8</value>
     <value>..\Resources\i18n\VN.json;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8</value>
   </data>
   </data>
+  <data name="pakistan" type="System.Resources.ResXFileRef, System.Windows.Forms">
+    <value>..\Resources\Flags\pakistan.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+  </data>
+  <data name="UR" type="System.Resources.ResXFileRef, System.Windows.Forms">
+    <value>..\Resources\i18n\UR.json;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8</value>
+  </data>
 </root>
 </root>

+ 13 - 11
Optimizer/Resources/i18n/AR.json

@@ -354,7 +354,7 @@
 على شبكة منزلية باستخدام Windows Explorer.",
 على شبكة منزلية باستخدام Windows Explorer.",
 	"superfetchTip": "يقوم Superfetch بتحميل التطبيقات الشائعة الاستخدام مسبقًا إلى ذاكرة الوصول العشوائي (RAM)، مما يتسبب في زيادة استخدام القرص،
 	"superfetchTip": "يقوم Superfetch بتحميل التطبيقات الشائعة الاستخدام مسبقًا إلى ذاكرة الوصول العشوائي (RAM)، مما يتسبب في زيادة استخدام القرص،
 وخاصة على محركات الأقراص من نوع HDD.",
 وخاصة على محركات الأقراص من نوع HDD.",
-	"compatTip": "تكتشف خدمة "مساعد التوافق" مشكلات التوافق المعروفة في البرامج القديمة.",
+	"compatTip": "تكتشف خدمة مساعد التوافق مشكلات التوافق المعروفة في البرامج القديمة.",
 	"disableOneDriveTip": "تعطيل تكامل التخزين السحابي في OneDrive.",
 	"disableOneDriveTip": "تعطيل تكامل التخزين السحابي في OneDrive.",
 	"oldMixerTip": "يستعيد لوحة التحكم الكلاسيكية لخالط الصوت.",
 	"oldMixerTip": "يستعيد لوحة التحكم الكلاسيكية لخالط الصوت.",
 	"oldExplorerTip": "- تعطيل سجل الوصول السريع
 	"oldExplorerTip": "- تعطيل سجل الوصول السريع
@@ -414,7 +414,7 @@
 	"chatTip": "إزالة أيقونة الدردشة من شريط المهام.",
 	"chatTip": "إزالة أيقونة الدردشة من شريط المهام.",
 	"smallerTaskbarTip": "يجعل حجم شريط المهام والأيقونات أصغر.",
 	"smallerTaskbarTip": "يجعل حجم شريط المهام والأيقونات أصغر.",
 	"classicRibbonTip": "يستعيد شريط الأدوات الكلاسيكي من نظام التشغيل Windows 10 في File Explorer.",
 	"classicRibbonTip": "يستعيد شريط الأدوات الكلاسيكي من نظام التشغيل Windows 10 في File Explorer.",
-	"classicContextTip": "استعادة قائمة النقر بزر الماوس الأيمن الكلاسيكية، وإزالة "إظهار المزيد من الخيارات".",
+	"classicContextTip": "استعادة قائمة النقر بزر الماوس الأيمن الكلاسيكية، وإزالة إظهار المزيد من الخيارات.",
 	"gameModeSw": "تفعيل وضع الألعاب",
 	"gameModeSw": "تفعيل وضع الألعاب",
 	"gameModeTip": "تمكين وضع الألعاب بالاشتراك مع جدولة GPU المسرَّعة للأجهزة.",
 	"gameModeTip": "تمكين وضع الألعاب بالاشتراك مع جدولة GPU المسرَّعة للأجهزة.",
 	"systemRestoreM": "هل أنت متأكد أنك تريد تعطيل استعادة النظام؟ سيؤدي هذا إلى حذف الصور الاحتياطية الحالية الخاصة بك!",
 	"systemRestoreM": "هل أنت متأكد أنك تريد تعطيل استعادة النظام؟ سيؤدي هذا إلى حذف الصور الاحتياطية الحالية الخاصة بك!",
@@ -441,8 +441,8 @@
 	"btnRestoreUwp": "استعادة كل تطبيقات UWP",
 	"btnRestoreUwp": "استعادة كل تطبيقات UWP",
 	"restoreUwpMessage": "هل انت متأكد من أنك تريد أن تفعل هذا؟",
 	"restoreUwpMessage": "هل انت متأكد من أنك تريد أن تفعل هذا؟",
 	"telemetrySvcToggle": "تعطيل Optimizer Insights",
 	"telemetrySvcToggle": "تعطيل Optimizer Insights",
-	"edgeAiSw": تعطيل ميزة الإكتشاف في Edge",
-	"edgeTelemetrySw": تعطيل إرسال البيانات في Edge",
+	"edgeAiSw": "تعطيل ميزة الإكتشاف في Edge",
+	"edgeTelemetrySw": "تعطيل إرسال البيانات في Edge",
 	"edgeAiTip": "قم بإزالة شريط Discover في Edge.",
 	"edgeAiTip": "قم بإزالة شريط Discover في Edge.",
 	"edgeTelemetryTip": "تعطيل خدمات SmartScreen وSpotlight وإرسال البيانات في Edge.",
 	"edgeTelemetryTip": "تعطيل خدمات SmartScreen وSpotlight وإرسال البيانات في Edge.",
 	"hpetSw": "تعطيل HPET",
 	"hpetSw": "تعطيل HPET",
@@ -465,11 +465,13 @@
 	"copilotSw": "تعطيل مساعد الذكاء الإصطناعي CoPilot",
 	"copilotSw": "تعطيل مساعد الذكاء الإصطناعي CoPilot",
 	"copilotTip": "تعطيل جميع ميزات مساعد الذكاء الأصطناعي windows CoPilot.",
 	"copilotTip": "تعطيل جميع ميزات مساعد الذكاء الأصطناعي windows CoPilot.",
 	"btnReinforce": "تحسين السياسات",
 	"btnReinforce": "تحسين السياسات",
-	"msgReinforce": "هل أنت متأكد أنك تريد إعادة تطبيق سياساتك النشطة الحالية؟",
-	"chkNewsInterest": "تعطيل الأخبار والاهتمامات",
-	"chkAllTrayIcons": "إظهار جميع أيقونات صينية النظام",
-	"chkMenuDelays": "إزالة تأخيرات القائمة",
-	"chkHideSearch": "إخفاء البحث",
-	"chkHideFeed": "إخفاء الطقس",
-	"autoUpdateToggle": "التحديث عند التشغيل"
+	"msgReinforce": "هل أنت متأكد أنك تريد إعادة تطبيق سياساتك النشطة الحالية؟",	
+	"newsInterestsSw": "تعطيل الأخبار && الاهتمامات",
+	"allTrayIconsSw": "إظهار جميع رموز الإشعارات",
+	"noMenuDelaySw": "إزالة تأخير القوائم",
+	"hideSearchSw": "إخفاء بحث شريط المهام",
+	"hideWeatherSw": "إخفاء الطقس في شريط المهام",
+	"autoUpdateToggle": "التحديث تلقائيًا عند التشغيل",
+	"enableUtcSw": "تمکين الوقت العالمي المنسق",
+	"modernStandbySw": "تعطيل Modern Standby"
 }
 }

+ 10 - 8
Optimizer/Resources/i18n/BG.json

@@ -423,8 +423,8 @@
 	"stickersTip": "Стикерите са големи емоджита, които се появяват на тапети, изполсзвани в социални месинджъри.",
 	"stickersTip": "Стикерите са големи емоджита, които се появяват на тапети, изполсзвани в социални месинджъри.",
 	"hibernateSw": "Изключи хибернирането",
 	"hibernateSw": "Изключи хибернирането",
 	"hibernateTip": "Изключва свойството Windows хибернация.",
 	"hibernateTip": "Изключва свойството Windows хибернация.",
-	"smbSw1": "Изключи SMBv1 Протокол",
-	"smbSw2": "Изключи SMBv2 Протокол",
+	"smb1Sw": "Изключи SMBv1 Протокол",
+	"smb2Sw": "Изключи SMBv2 Протокол",
 	"smbTip": "SMB{v} протокола е отговорен за споделяне на файлове между Windows Компютри.
 	"smbTip": "SMB{v} протокола е отговорен за споделяне на файлове между Windows Компютри.
 Заменен е със SMBv3, който е по-защитен.",
 Заменен е със SMBv3, който е по-защитен.",
 	"ntfsStampSw": "Изкючи NTFS времева марка",
 	"ntfsStampSw": "Изкючи NTFS времева марка",
@@ -466,10 +466,12 @@
 	"copilotTip": "Изцяло изключва функцията CoPilot AI",
 	"copilotTip": "Изцяло изключва функцията CoPilot AI",
 	"btnReinforce": "Укрепете политиките",
 	"btnReinforce": "Укрепете политиките",
 	"msgReinforce": "Сигурни ли сте, че искате да приложите отново текущите си политики?",
 	"msgReinforce": "Сигурни ли сте, че искате да приложите отново текущите си политики?",
-	"chkNewsInterest": "Изключване на новина и интерес",
-	"chkAllTrayIcons": "Показване на всички икони в областта на лентата",
-	"chkMenuDelays": "Премахване на забавянията в менюто",
-	"chkHideSearch": "Скрий търсенето",
-	"chkHideFeed": "Скрий времето",
-	"autoUpdateToggle": "Обнови при стартиране"
+	"newsInterestsSw": "Деактивиране на новините и интересите",
+	"allTrayIconsSw": "Показване на всички икони за известия",
+	"noMenuDelaySw": "Премахване на забавянето на менютата",
+	"hideSearchSw": "Скриване на търсенето в лентата със задачи",
+	"hideWeatherSw": "Скриване на времето в лентата със задачи",
+	"enableUtcSw": "Включи UTC Времето",
+	"autoUpdateToggle": "Актуализация при стартиране",
+	"modernStandbySw": "Деактивиране на съвременното готвене"
 }
 }

+ 8 - 6
Optimizer/Resources/i18n/CN.json

@@ -465,10 +465,12 @@
     "copilotTip": "完全关闭 CoPilot AI 功能。",
     "copilotTip": "完全关闭 CoPilot AI 功能。",
 	"btnReinforce": "强化政策",
 	"btnReinforce": "强化政策",
 	"msgReinforce": "您确定要重新应用当前的政策吗?",
 	"msgReinforce": "您确定要重新应用当前的政策吗?",
-	"chkNewsInterest": "禁用新闻和兴趣",
-	"chkAllTrayIcons": "显示所有托盘图标",
-	"chkMenuDelays": "删除菜单延迟",
-	"chkHideSearch": "隐藏搜索",
-	"chkHideFeed": "隐藏天气",
-	"autoUpdateToggle": "启动时更新"
+	"newsInterestsSw": "禁用新闻和兴趣",
+	"allTrayIconsSw": "显示所有通知图标",
+	"noMenuDelaySw": "删除菜单延迟",
+	"hideSearchSw": "隐藏任务栏搜索",
+	"hideWeatherSw": "隐藏任务栏天气",
+	"autoUpdateToggle": "启动时更新",
+	"enableUtcSw": "启用协调世界时",
+	"modernStandbySw": "禁用现代待机"
 }
 }

+ 8 - 6
Optimizer/Resources/i18n/CZ.json

@@ -466,10 +466,12 @@ Má to negativní vliv na výkon.",
     "copilotTip": "Úplně vypne funkci CoPilot AI.",
     "copilotTip": "Úplně vypne funkci CoPilot AI.",
 	"btnReinforce": "Posílit politiky",
 	"btnReinforce": "Posílit politiky",
 	"msgReinforce": "Opravdu si přejete znovu použít své stávající politiky?",
 	"msgReinforce": "Opravdu si přejete znovu použít své stávající politiky?",
-	"chkNewsInterest": "Vypnout Novinky a Zájmy",
-	"chkAllTrayIcons": "Zobrazit všechny ikony v oznamovací oblasti",
-	"chkMenuDelays": "Odstranit zpoždění v menu",
-	"chkHideSearch": "Skrýt vyhledávání",
-	"chkHideFeed": "Skrýt počasí",
-	"autoUpdateToggle": "Aktualizovat při spuštění"
+	"newsInterestsSw": "Zakázat zprávy a zájmy",
+	"allTrayIconsSw": "Zobrazit všechny ikony oznamování",
+	"noMenuDelaySw": "Odstranit zpoždění nabídek",
+	"hideSearchSw": "Skrýt vyhledávání v hlavní liště",
+	"hideWeatherSw": "Skrýt počasí v hlavní liště",
+	"autoUpdateToggle": "Aktualizovat při spuštění",
+	"enableUtcSw": "Aktivovat UTC Čas",
+	"modernStandbySw": "Zakázat moderní pohotovost"
 }
 }

+ 8 - 6
Optimizer/Resources/i18n/DE.json

@@ -440,10 +440,12 @@
     "copilotTip": "Deaktiviert die CoPilot AI-Funktion vollständig.",
     "copilotTip": "Deaktiviert die CoPilot AI-Funktion vollständig.",
 	"btnReinforce": "Richtlinien verstärken",
 	"btnReinforce": "Richtlinien verstärken",
 	"msgReinforce": "Sind Sie sicher, dass Sie Ihre aktuellen Richtlinien erneut anwenden möchten?",
 	"msgReinforce": "Sind Sie sicher, dass Sie Ihre aktuellen Richtlinien erneut anwenden möchten?",
-	"chkNewsInterest": "News & Interessen deaktivieren",
-	"chkAllTrayIcons": "Alle Tray-Symbole anzeigen",
-	"chkMenuDelays": "Menüverzögerungen entfernen",
-	"chkHideSearch": "Suche ausblenden",
-	"chkHideFeed": "Wetter ausblenden",
-	"autoUpdateToggle": "Aktualisieren beim Start"
+	"newsInterestsSw": "Nachrichten und Interessen deaktivieren",
+	"allTrayIconsSw": "Alle Benachrichtigungssymbole anzeigen",
+	"noMenuDelaySw": "Menüverzögerung entfernen",
+	"hideSearchSw": "Suche in der Taskleiste ausblenden",
+	"hideWeatherSw": "Wetter in der Taskleiste ausblenden",
+	"autoUpdateToggle": "Aktualisierung beim Start",
+	"enableUtcSw": "UTC-Zeit aktivieren",
+	"modernStandbySw": "Modernen Standby deaktivieren"
 }
 }

+ 8 - 6
Optimizer/Resources/i18n/EL.json

@@ -461,10 +461,12 @@
     "copilotTip": "Απενεργοποιεί πλήρως το χαρακτηριστικό CoPilot AI.",
     "copilotTip": "Απενεργοποιεί πλήρως το χαρακτηριστικό CoPilot AI.",
 	"btnReinforce": "Ενίσχυση των πολιτικών",
 	"btnReinforce": "Ενίσχυση των πολιτικών",
 	"msgReinforce": "Είστε σίγουροι ότι θέλετε να ξαναεφαρμόσετε τις τρέχουσες πολιτικές σας;",
 	"msgReinforce": "Είστε σίγουροι ότι θέλετε να ξαναεφαρμόσετε τις τρέχουσες πολιτικές σας;",
-	"chkNewsInterest": "Απενεργοποίηση Ειδήσεων",
-	"chkAllTrayIcons": "Εμφάνιση όλων των εικονιδίων",
-	"chkMenuDelays": "Αφαίρεση καθυστερήσεων στο μενού",
-	"chkHideSearch": "Απόκρυψη Αναζήτησης",
-	"chkHideFeed": "Απόκρυψη Καιρού",
-	"autoUpdateToggle": "Ενημέρωση κατά την εκκίνηση"
+	"newsInterestsSw": "Απενεργοποίηση ειδήσεων και ενδιαφερόντων",
+	"allTrayIconsSw": "Εμφάνιση όλων των εικονιδίων ειδοποιήσεων",
+	"noMenuDelaySw": "Αφαίρεση καθυστέρησης μενού",
+	"hideSearchSw": "Απόκρυψη αναζήτησης",
+	"enableUtcSw": "Ενεργοποίηση UTC Ωρας",
+	"hideWeatherSw": "Απόκρυψη καιρού",
+	"autoUpdateToggle": "Ενημέρωση κατά την εκκίνηση",
+	"modernStandbySw": "Απενεργοποίηση Modern Standby"
 }
 }

+ 8 - 6
Optimizer/Resources/i18n/EN.json

@@ -466,10 +466,12 @@ It has negative effect on performance.",
 	"copilotTip": "Completely turns off CoPilot AI feature.",
 	"copilotTip": "Completely turns off CoPilot AI feature.",
 	"btnReinforce": "Reinforce policies",
 	"btnReinforce": "Reinforce policies",
 	"msgReinforce": "Are you sure you want to re-apply your current active policies?",
 	"msgReinforce": "Are you sure you want to re-apply your current active policies?",
-	"chkNewsInterest": "Disable News && Interest",
-	"chkAllTrayIcons": "Show all tray icons",
-	"chkMenuDelays": "Remove menu delays",
-	"chkHideSearch": "Hide Search",
-	"chkHideFeed": "Hide Weather",
-	"autoUpdateToggle": "Update on launch"
+	"newsInterestsSw": "Disable News && Interests",
+	"allTrayIconsSw": "Show all notification icons",
+	"noMenuDelaySw": "Remove menus delay",
+	"hideSearchSw": "Hide Taskbar Search",
+	"hideWeatherSw": "Hide Taskbar Weather",
+	"autoUpdateToggle": "Update on launch",
+	"modernStandbySw": "Disable Modern Standby",
+	"enableUtcSw": "Enable UTC Time"
 }
 }

+ 8 - 6
Optimizer/Resources/i18n/ES.json

@@ -463,10 +463,12 @@ Tiene un efecto negativo en el rendimiento.",
     "copilotTip": "Desactiva por completo la función de CoPilot AI.",
     "copilotTip": "Desactiva por completo la función de CoPilot AI.",
 	"btnReinforce": "Reforzar Políticas",
 	"btnReinforce": "Reforzar Políticas",
 	"msgReinforce": "¿Estás seguro de que deseas volver a aplicar tus políticas actuales?",
 	"msgReinforce": "¿Estás seguro de que deseas volver a aplicar tus políticas actuales?",
-	"chkNewsInterest": "Desactivar Noticias e Intereses",
-	"chkAllTrayIcons": "Mostrar todos los iconos de la bandeja",
-	"chkMenuDelays": "Eliminar retrasos en el menú",
-	"chkHideSearch": "Ocultar búsqueda",
-	"chkHideFeed": "Ocultar clima",
-	"autoUpdateToggle": "Actualizar al inicio"
+	"newsInterestsSw": "Desactivar noticias e intereses",
+	"allTrayIconsSw": "Mostrar todos los iconos de notificación",
+	"noMenuDelaySw": "Eliminar la demora de los menús",
+	"hideSearchSw": "Ocultar búsqueda en la barra de tareas",
+	"hideWeatherSw": "Ocultar el clima en la barra de tareas",
+	"autoUpdateToggle": "Actualizar al inicio",
+	"enableUtcSw": "Activar Hora UTC",
+	"modernStandbySw": "Desactivar el modo de espera moderno"
 }
 }

+ 8 - 6
Optimizer/Resources/i18n/FA.json

@@ -453,10 +453,12 @@
     "copilotTip": "ویژگی CoPilot AI به طور کامل غیرفعال می‌شود.",
     "copilotTip": "ویژگی CoPilot AI به طور کامل غیرفعال می‌شود.",
 	"btnReinforce": "تقویت سیاست‌ها",
 	"btnReinforce": "تقویت سیاست‌ها",
 	"msgReinforce": "آیا مطمئن هستید که می‌خواهید سیاست‌های فعلی را مجدداً اعمال کنید؟",
 	"msgReinforce": "آیا مطمئن هستید که می‌خواهید سیاست‌های فعلی را مجدداً اعمال کنید؟",
-	"chkNewsInterest": "غیرفعال کردن اخبار و علاقه‌مندی‌ها",
-	"chkAllTrayIcons": "نمایش همه آیکون‌های سینی",
-	"chkMenuDelays": "حذف تأخیرهای منو",
-	"chkHideSearch": "مخفی کردن جستجو",
-	"chkHideFeed": "مخفی کردن هواشناسی",
-	"autoUpdateToggle": "به‌روزرسانی در زمان راه‌اندازی"
+	"newsInterestsSw": "غیرفعال کردن اخبار و علاقه‌مندی‌ها",
+	"allTrayIconsSw": "نمایش تمام آیکون‌های اطلاع‌رسانی",
+	"noMenuDelaySw": "حذف تأخیر منوها",
+	"hideSearchSw": "مخفی کردن جستجو در نوار وظایف",
+	"hideWeatherSw": "مخفی کردن آب و هوا در نوار وظایف",
+	"enableUtcSw": "فعال کردن زمان UTC",
+	"autoUpdateToggle": "به‌روزرسانی هنگام راه‌اندازی",
+	"modernStandbySw": "غیرفعال کردن حالت آماده مدرن"
 }
 }

+ 8 - 6
Optimizer/Resources/i18n/FR.json

@@ -440,10 +440,12 @@ Necessite l'ouverture d'un compte Microsoft.",
     "copilotTip": "Désactive complètement la fonctionnalité CoPilot AI.",
     "copilotTip": "Désactive complètement la fonctionnalité CoPilot AI.",
 	"btnReinforce": "Renforcer les politiques",
 	"btnReinforce": "Renforcer les politiques",
 	"msgReinforce": "Êtes-vous sûr de vouloir réappliquer vos politiques actuelles?",
 	"msgReinforce": "Êtes-vous sûr de vouloir réappliquer vos politiques actuelles?",
-	"chkNewsInterest": "Désactiver les Actualités et les Centres d'Intérêt",
-	"chkAllTrayIcons": "Afficher toutes les icônes de la zone de notification",
-	"chkMenuDelays": "Supprimer les retards dans le menu",
-	"chkHideSearch": "Masquer la recherche",
-	"chkHideFeed": "Masquer la météo",
-	"autoUpdateToggle": "Mise à jour au lancement"
+	"newsInterestsSw": "Désactiver les actualités et les centres d'intérêt",
+	"allTrayIconsSw": "Afficher toutes les icônes de notification",
+	"noMenuDelaySw": "Supprimer le délai des menus",
+	"hideSearchSw": "Masquer la recherche dans la barre des tâches",
+	"hideWeatherSw": "Masquer la météo dans la barre des tâches",
+	"autoUpdateToggle": "Mise à jour au démarrage",
+	"enableUtcSw": "Activer l'heure UTC",
+	"modernStandbySw": "Désactiver le mode veille moderne"
 }
 }

+ 8 - 6
Optimizer/Resources/i18n/HU.json

@@ -464,10 +464,12 @@
     "copilotTip": "Teljesen kikapcsolja a CoPilot AI funkciót.",
     "copilotTip": "Teljesen kikapcsolja a CoPilot AI funkciót.",
 	"btnReinforce": "Iránypontok erősítése",
 	"btnReinforce": "Iránypontok erősítése",
 	"msgReinforce": "Biztos vagy benne, hogy újra alkalmazod az aktuális iránypontokat?",
 	"msgReinforce": "Biztos vagy benne, hogy újra alkalmazod az aktuális iránypontokat?",
-	"chkNewsInterest": "Hírek és Érdeklődés kikapcsolása",
-	"chkAllTrayIcons": "Az összes tálca ikon megjelenítése",
-	"chkMenuDelays": "Menü késleltetések eltávolítása",
-	"chkHideSearch": "Keresés elrejtése",
-	"chkHideFeed": "Időjárás elrejtése",
-	"autoUpdateToggle": "Frissítés indításkor"
+	"newsInterestsSw": "Hírek és érdeklődések kikapcsolása",
+	"allTrayIconsSw": "Összes értesítési ikon megjelenítése",
+	"noMenuDelaySw": "Menük késleltetésének eltávolítása",
+	"hideSearchSw": "Keresés elrejtése a feladatlista keresőmezőjében",
+	"hideWeatherSw": "Időjárás elrejtése a feladatlista területén",
+	"enableUtcSw": "UTC Idő Engedélyezése",
+	"autoUpdateToggle": "Frissítés indításkor",
+	"modernStandbySw": "Modern készenléti állapot kikapcsolása"
 }
 }

+ 8 - 6
Optimizer/Resources/i18n/IT.json

@@ -460,10 +460,12 @@ Ha un effetto negativo sulle prestazioni.",
     "copilotTip": "Disattiva completamente la funzionalità CoPilot AI.",
     "copilotTip": "Disattiva completamente la funzionalità CoPilot AI.",
 	"btnReinforce": "Rafforzare le Politiche",
 	"btnReinforce": "Rafforzare le Politiche",
 	"msgReinforce": "Sei sicuro di voler riapplicare le tue attuali politiche?",
 	"msgReinforce": "Sei sicuro di voler riapplicare le tue attuali politiche?",
-	"chkNewsInterest": "Disabilita Notizie e Interessi",
-	"chkAllTrayIcons": "Mostra tutte le icone nella barra delle applicazioni",
-	"chkMenuDelays": "Rimuovi ritardi nel menu",
-	"chkHideSearch": "Nascondi ricerca",
-	"chkHideFeed": "Nascondi meteo",
-	"autoUpdateToggle": "Aggiorna all'avvio"
+	"newsInterestsSw": "Disabilita notizie e interessi",
+	"allTrayIconsSw": "Mostra tutte le icone di notifica",
+	"noMenuDelaySw": "Rimuovi ritardo dei menu",
+	"hideSearchSw": "Nascondi ricerca nella barra delle applicazioni",
+	"hideWeatherSw": "Nascondi il meteo nella barra delle applicazioni",
+	"enableUtcSw": "Abilita ora UTC",
+	"autoUpdateToggle": "Aggiornamento all'avvio",
+	"modernStandbySw": "Disabilita Standby moderno"
 }
 }

+ 8 - 6
Optimizer/Resources/i18n/JA.json

@@ -457,10 +457,12 @@ SMBv3に置き換えられており、そちらのほうがより安全です。
     "copilotTip": "CoPilot AI の機能を完全に無効にします.",
     "copilotTip": "CoPilot AI の機能を完全に無効にします.",
 	"btnReinforce": "ポリシーを強化する",
 	"btnReinforce": "ポリシーを強化する",
 	"msgReinforce": "現在のポリシーを再適用してもよろしいですか?",
 	"msgReinforce": "現在のポリシーを再適用してもよろしいですか?",
-	"chkNewsInterest": "ニュースと興味を無効にする",
-	"chkAllTrayIcons": "すべてのトレイアイコンを表示",
-	"chkMenuDelays": "メニューの遅延を削除",
-	"chkHideSearch": "検索を非表示",
-	"chkHideFeed": "天気を非表示",
-	"autoUpdateToggle": "起動時に更新"
+	"newsInterestsSw": "ニュースと関心事の無効化",
+	"allTrayIconsSw": "すべての通知アイコンを表示",
+	"noMenuDelaySw": "メニューの遅延を削除",
+	"hideSearchSw": "タスクバーの検索を非表示",
+	"hideWeatherSw": "タスクバーの天気を非表示",
+	"enableUtcSw": "UTC 時間を有効にする",
+	"autoUpdateToggle": "起動時の更新",
+	"modernStandbySw": "モダンスタンバイの無効化"
 }
 }

+ 8 - 6
Optimizer/Resources/i18n/KO.json

@@ -468,10 +468,12 @@ Microsoft 계정 로그인이 필요합니다.",
     "copilotTip": "CoPilot AI 기능을 완전히 비활성화합니다.",
     "copilotTip": "CoPilot AI 기능을 완전히 비활성화합니다.",
 	"btnReinforce": "정책 강화",
 	"btnReinforce": "정책 강화",
 	"msgReinforce": "현재 정책을 다시 적용하시겠습니까?",
 	"msgReinforce": "현재 정책을 다시 적용하시겠습니까?",
-	"chkNewsInterest": "뉴스 및 관심사 비활성화",
-	"chkAllTrayIcons": "모든 트레이 아이콘 표시",
-	"chkMenuDelays": "메뉴 지연 제거",
-	"chkHideSearch": "검색 숨기기",
-	"chkHideFeed": "날씨 숨기기",
-	"autoUpdateToggle": "시작 시 업데이트"
+	"newsInterestsSw": "뉴스 및 관심사 비활성화",
+	"allTrayIconsSw": "모든 알림 아이콘 표시",
+	"noMenuDelaySw": "메뉴 지연 제거",
+	"hideSearchSw": "작업 표시줄 검색 숨기기",
+	"hideWeatherSw": "작업 표시줄 날씨 숨기기",
+	"autoUpdateToggle": "시작 시 업데이트",
+	"enableUtcSw": "UTC 시간 활성화",
+	"modernStandbySw": "현대 대기 모드 비활성화"
 }
 }

+ 8 - 7
Optimizer/Resources/i18n/KU.json

@@ -464,11 +464,12 @@
 	"copilotSw": "CoPilot AI تایبه‌تییه‌کرن",
 	"copilotSw": "CoPilot AI تایبه‌تییه‌کرن",
     "copilotTip": "ویژگی CoPilot AI تایبه‌تییه‌کرنەوەکی ته‌مامی.",
     "copilotTip": "ویژگی CoPilot AI تایبه‌تییه‌کرنەوەکی ته‌مامی.",
 	"btnReinforce": "سیاسهٔ بیشکوچین",
 	"btnReinforce": "سیاسهٔ بیشکوچین",
-	"msgReinforce": "داکۆ پێشەنگەتیە پێوستییە کرییە مە یانو دابەزەکیی نو رە بکە؟",
-	"chkNewsInterest": "شوێنەکردنی نووسراو و نواندن",
-	"chkAllTrayIcons": "نیشاندانی هەموو سیمبۆلەکانی تەخته",
-	"chkMenuDelays": "لابردنی داواکردنی مێنیو",
-	"chkHideSearch": "شارستنی پوشە",
-	"chkHideFeed": "شارستنی هەوا",
-	"autoUpdateToggle": "نوێکردنەوە لە چاڵاککردندا"
+	"newsInterestsSw": "بازنیشانیکردنی خۆبەخش و بەڵگەڕان",
+	"allTrayIconsSw": "پیشاندانی هەموو ئایکۆنەکانی ئاگەداری",
+	"noMenuDelaySw": "لابردنی داگیراوەی مێنوەکان",
+	"hideSearchSw": "شاردنەوەی گەڕان لە نواری کارەکوتنەکان",
+	"enableUtcSw": "فعال کردن زمان UTC",
+	"hideWeatherSw": "شاردنەوەی ئاستی هەوا لە نواری کارەکوتنەکان",
+	"autoUpdateToggle": "نوێکردنەوە لە دەستپێکردن",
+	"modernStandbySw": "بازنیشانیکردنی بەرزی نوێ"
 }
 }

+ 10 - 8
Optimizer/Resources/i18n/NE.json

@@ -376,8 +376,8 @@
 	"stickersTip": "स्टिकरहरू भित्र देखिने बडा इमोजीहरू हो जो वॉलपेपरमा देखिन्छ, सामाजिक संवादकहरूमा प्रयोग गरिन्छ।",
 	"stickersTip": "स्टिकरहरू भित्र देखिने बडा इमोजीहरू हो जो वॉलपेपरमा देखिन्छ, सामाजिक संवादकहरूमा प्रयोग गरिन्छ।",
 	"hibernateSw": "हाइबर्नेसन अक्षम गर्नुहोस्",
 	"hibernateSw": "हाइबर्नेसन अक्षम गर्नुहोस्",
 	"hibernateTip": "विन्डोज हाइबर्नेट सुविधा अक्षम गर्दछ।",
 	"hibernateTip": "विन्डोज हाइबर्नेट सुविधा अक्षम गर्दछ।",
-	"smbSw1": "SMBv1 प्रोटोकल अक्षम गर्नुहोस्",
-	"smbSw2": "SMBv2 प्रोटोकल अक्षम गर्नुहोस्",
+	"smb1Sw": "SMBv1 प्रोटोकल अक्षम गर्नुहोस्",
+	"smb2Sw": "SMBv2 प्रोटोकल अक्षम गर्नुहोस्",
 	"smbTip": "SMB{v} प्रोटोकल विन्डोज कम्प्युटरहरूको बीच फाइल साझा गर्न जिम्मेवार छ।\nयसलाई SMBv3 द्वारा बदलिएको छ, जुन अधिक सुरक्षित छ।",
 	"smbTip": "SMB{v} प्रोटोकल विन्डोज कम्प्युटरहरूको बीच फाइल साझा गर्न जिम्मेवार छ।\nयसलाई SMBv3 द्वारा बदलिएको छ, जुन अधिक सुरक्षित छ।",
 	"ntfsStampSw": "NTFS समय-छाप अक्षम गर्नुहोस्",
 	"ntfsStampSw": "NTFS समय-छाप अक्षम गर्नुहोस्",
 	"ntfsStampTip": "फाइलको अन्तिम पटक पहुँच छाप देखाउँछ।\nयसलाई अक्षम गर्दा डिस्कमा I/O कार्यहरूमा कमी आउन सक्छ।",
 	"ntfsStampTip": "फाइलको अन्तिम पटक पहुँच छाप देखाउँछ।\nयसलाई अक्षम गर्दा डिस्कमा I/O कार्यहरूमा कमी आउन सक्छ।",
@@ -416,10 +416,12 @@
     "copilotTip": "CoPilot AI कुरा पूरा बन्द गर्दछ।",
     "copilotTip": "CoPilot AI कुरा पूरा बन्द गर्दछ।",
 	"btnReinforce": "नीत",
 	"btnReinforce": "नीत",
 	"msgReinforce": "तपाईंले आफ्ना हालका नीत",
 	"msgReinforce": "तपाईंले आफ्ना हालका नीत",
-	"chkNewsInterest": "समाचार र रुचिहरू अक्षम गर्नुहोस्",
-	"chkAllTrayIcons": "सम्पूर्ण ट्रे आइकनहरू देखाउनुहोस्",
-	"chkMenuDelays": "मेनु ल्याग्ले हटाउनुहोस्",
-	"chkHideSearch": "खोज लुकाउनुहोस्",
-	"chkHideFeed": "मौसम लुकाउनुहोस्",
-	"autoUpdateToggle": "प्रक्षेपमा अद्यतन गर्नुहोस्"
+	"newsInterestsSw": "समाचार र रुचिहरू अक्षम गर्नुहोस्",
+	"allTrayIconsSw": "सबै सूचना चिन्हहरू देखाउनुहोस्",
+	"noMenuDelaySw": "मेनू विलम्ब हटाउनुहोस्",
+	"hideSearchSw": "कार्य सामग्री खोज लुकाउनुहोस्",
+	"hideWeatherSw": "तारको समय लुकाउनुहोस्",
+	"enableUtcSw": "समय समन्वित करें UTC",
+	"autoUpdateToggle": "अपडेट प्रारंभमा",
+	"modernStandbySw": "आधुनिक रुकावट अक्षम गर्नुहोस्"
 }
 }

+ 10 - 8
Optimizer/Resources/i18n/NL.json

@@ -374,8 +374,8 @@
    "stickersTip":"Stickers zijn grote emoji's die op achtergrondafbeeldingen verschijnen en worden gebruikt in sociale messengers.",
    "stickersTip":"Stickers zijn grote emoji's die op achtergrondafbeeldingen verschijnen en worden gebruikt in sociale messengers.",
    "hibernateSw":"Sluimerstand uitschakelen",
    "hibernateSw":"Sluimerstand uitschakelen",
    "hibernateTip":"Schakelt de Windows-slaapstandfunctie uit.",
    "hibernateTip":"Schakelt de Windows-slaapstandfunctie uit.",
-   "smbSw1":"SMBv1-protocol uitschakelen",
-   "smbSw2":"SMBv2-protocol uitschakelen",
+   "smb1Sw":"SMBv1-protocol uitschakelen",
+   "smb2Sw":"SMBv2-protocol uitschakelen",
    "smbTip":"Het SMB{v}-protocol is verantwoordelijk voor het delen van bestanden tussen Windows-computers. Het is vervangen door SMBv3, wat veiliger is.",
    "smbTip":"Het SMB{v}-protocol is verantwoordelijk voor het delen van bestanden tussen Windows-computers. Het is vervangen door SMBv3, wat veiliger is.",
    "ntfsStampSw":"NTFS-tijdstempel uitschakelen",
    "ntfsStampSw":"NTFS-tijdstempel uitschakelen",
    "ntfsStampTip":"Geeft aan wanneer het bestand voor het laatst is geopend. Uitschakelen kan I/O-bewerkingen op de harde schijven verminderen.",
    "ntfsStampTip":"Geeft aan wanneer het bestand voor het laatst is geopend. Uitschakelen kan I/O-bewerkingen op de harde schijven verminderen.",
@@ -417,10 +417,12 @@ Het heeft een negatief effect op de prestaties.",
    "copilotTip": "Schakelt de CoPilot AI-functie volledig uit.",
    "copilotTip": "Schakelt de CoPilot AI-functie volledig uit.",
 	"btnReinforce": "Beleid versterken",
 	"btnReinforce": "Beleid versterken",
 	"msgReinforce": "Weet u zeker dat u uw huidige beleid opnieuw wilt toepassen?",
 	"msgReinforce": "Weet u zeker dat u uw huidige beleid opnieuw wilt toepassen?",
-   "chkNewsInterest": "Schakel Nieuws en Interesses uit",
-   "chkAllTrayIcons": "Toon alle systeemvakpictogrammen",
-   "chkMenuDelays": "Verwijder menuvertragingen",
-   "chkHideSearch": "Zoeken verbergen",
-   "chkHideFeed": "Weer verbergen",
-   "autoUpdateToggle": "Bij start bijwerken"
+   "newsInterestsSw": "Nieuws en interesses uitschakelen",
+	"allTrayIconsSw": "Alle meldingspictogrammen weergeven",
+	"noMenuDelaySw": "Vertraging van menu's verwijderen",
+	"hideSearchSw": "Zoeken op taakbalk verbergen",
+	"hideWeatherSw": "Weer op taakbalk verbergen",
+   "enableUtcSw": "UTC-tijd inschakelen",
+	"autoUpdateToggle": "Bij opstarten bijwerken",
+	"modernStandbySw": "Moderne stand-bymodus uitschakelen"
 }
 }

+ 8 - 6
Optimizer/Resources/i18n/PL.json

@@ -435,10 +435,12 @@
     "copilotTip": "Całkowicie wyłącza funkcję CoPilot AI.",
     "copilotTip": "Całkowicie wyłącza funkcję CoPilot AI.",
 	"btnReinforce": "Wzmocnienie polityk",
 	"btnReinforce": "Wzmocnienie polityk",
 	"msgReinforce": "Czy na pewno chcesz ponownie zastosować obecne polityki?",
 	"msgReinforce": "Czy na pewno chcesz ponownie zastosować obecne polityki?",
-	"chkNewsInterest": "Wyłącz wiadomości i zainteresowania",
-	"chkAllTrayIcons": "Pokaż wszystkie ikony w zasobniku",
-	"chkMenuDelays": "Usuń opóźnienia w menu",
-	"chkHideSearch": "Ukryj wyszukiwanie",
-	"chkHideFeed": "Ukryj pogodę",
-	"autoUpdateToggle": "Aktualizuj przy uruchamianiu"
+	"newsInterestsSw": "Wyłącz wiadomości i zainteresowania",
+	"allTrayIconsSw": "Pokaż wszystkie ikony powiadomień",
+	"noMenuDelaySw": "Usuń opóźnienie menu",
+	"hideSearchSw": "Ukryj wyszukiwanie na pasku zadań",
+	"hideWeatherSw": "Ukryj pogodę na pasku zadań",
+	"enableUtcSw": "Włącz czas UTC",
+	"autoUpdateToggle": "Aktualizuj przy uruchomieniu",
+	"modernStandbySw": "Wyłącz nowoczesny tryb gotowości"
 }
 }

+ 8 - 6
Optimizer/Resources/i18n/PT.json

@@ -463,10 +463,12 @@ Tem efeito negativo no desempenho.",
     "copilotTip": "Desativa completamente a funcionalidade CoPilot AI.",
     "copilotTip": "Desativa completamente a funcionalidade CoPilot AI.",
 	"btnReinforce": "Reforçar Políticas",
 	"btnReinforce": "Reforçar Políticas",
 	"msgReinforce": "Tem certeza de que deseja reaplicar suas políticas atuais?",
 	"msgReinforce": "Tem certeza de que deseja reaplicar suas políticas atuais?",
-	"chkNewsInterest": "Desativar Notícias e Interesses",
-	"chkAllTrayIcons": "Mostrar todos os ícones da bandeja",
-	"chkMenuDelays": "Remover atrasos no menu",
-	"chkHideSearch": "Ocultar busca",
-	"chkHideFeed": "Ocultar tempo",
-	"autoUpdateToggle": "Atualizar no lançamento"
+	"newsInterestsSw": "Desativar notícias e interesses",
+	"allTrayIconsSw": "Mostrar todos os ícones de notificação",
+	"noMenuDelaySw": "Remover atraso de menus",
+	"hideSearchSw": "Ocultar pesquisa na barra de tarefas",
+	"enableUtcSw": "Ativar Hora UTC",
+	"hideWeatherSw": "Ocultar clima na barra de tarefas",
+	"autoUpdateToggle": "Atualizar no lançamento",
+	"modernStandbySw": "Desativar Modo de Espera Moderno"
 }
 }

+ 8 - 6
Optimizer/Resources/i18n/RO.json

@@ -448,10 +448,12 @@
     "copilotTip": "Dezactivează complet funcționalitatea CoPilot AI.",
     "copilotTip": "Dezactivează complet funcționalitatea CoPilot AI.",
 	"btnReinforce": "Consolidarea politicilor",
 	"btnReinforce": "Consolidarea politicilor",
 	"msgReinforce": "Sunteți sigur că doriți să reaplicați politicile actuale?",
 	"msgReinforce": "Sunteți sigur că doriți să reaplicați politicile actuale?",
-	"chkNewsInterest": "Dezactivează Știri și Interese",
-	"chkAllTrayIcons": "Arată toate pictogramele din zona de notificare",
-	"chkMenuDelays": "Elimină întârzierile din meniu",
-	"chkHideSearch": "Ascunde căutarea",
-	"chkHideFeed": "Ascunde vremea",
-	"autoUpdateToggle": "Actualizare la pornire"
+	"newsInterestsSw": "Dezactivați știrile și interesele",
+	"allTrayIconsSw": "Afișați toate iconurile de notificare",
+	"noMenuDelaySw": "Eliminați întârzierea meniului",
+	"enableUtcSw": "Activare Timp UTC",
+	"hideSearchSw": "Ascundeți căutarea în bara de activități",
+	"hideWeatherSw": "Ascundeți vremea în bara de activități",
+	"autoUpdateToggle": "Actualizare la pornire",
+	"modernStandbySw": "Dezactivați Standby modern"
 }
 }

+ 8 - 6
Optimizer/Resources/i18n/RU.json

@@ -436,10 +436,12 @@
     "copilotTip": "Полностью отключает функцию CoPilot AI.",
     "copilotTip": "Полностью отключает функцию CoPilot AI.",
 	"btnReinforce": "Укрепить политику",
 	"btnReinforce": "Укрепить политику",
 	"msgReinforce": "Вы уверены, что хотите повторно применить текущие политики?",
 	"msgReinforce": "Вы уверены, что хотите повторно применить текущие политики?",
-	"chkNewsInterest": "Отключить Новости и Интересы",
-	"chkAllTrayIcons": "Показать все значки трея",
-	"chkMenuDelays": "Убрать задержки в меню",
-	"chkHideSearch": "Скрыть поиск",
-	"chkHideFeed": "Скрыть погоду",
-	"autoUpdateToggle": "Обновить при запуске"
+	"newsInterestsSw": "Отключить новости и интересы",
+	"allTrayIconsSw": "Показать все значки уведомлений",
+	"noMenuDelaySw": "Убрать задержку меню",
+	"hideSearchSw": "Скрыть поиск на панели задач",
+	"hideWeatherSw": "Скрыть погоду на панели задач",
+	"autoUpdateToggle": "Обновление при запуске",
+	"enableUtcSw": "Включить ВСЕВРЕМЕННОЕ",
+	"modernStandbySw": "Отключить режим современного ожидания"
 }
 }

+ 8 - 6
Optimizer/Resources/i18n/TR.json

@@ -464,10 +464,12 @@ Performansa olumsuz etkisi vardır.",
     "copilotTip": "CoPilot AI özelliğini tamamen kapatır.",
     "copilotTip": "CoPilot AI özelliğini tamamen kapatır.",
 	"btnReinforce": "Politikaları Güçlendir",
 	"btnReinforce": "Politikaları Güçlendir",
 	"msgReinforce": "Şu anki politikalarınızı tekrar uygulamak istediğinizden emin misiniz?",
 	"msgReinforce": "Şu anki politikalarınızı tekrar uygulamak istediğinizden emin misiniz?",
-	"chkNewsInterest": "Haberler ve İlgiyi Devre Dışı Bırak",
-	"chkAllTrayIcons": "Tüm tepsici simgelerini göster",
-	"chkMenuDelays": "Menü gecikmelerini kaldır",
-	"chkHideSearch": "Aramayı Gizle",
-	"chkHideFeed": "Hava Durumunu Gizle",
-	"autoUpdateToggle": "Başlangıçta Güncelle"
+	"newsInterestsSw": "Başlıkları ve ilgileri devre dışı bırak",
+	"allTrayIconsSw": "Tüm bildirim simgelerini göster",
+	"noMenuDelaySw": "Menü gecikmesini kaldır",
+	"hideSearchSw": "Görev çubuğundaki aramayı gizle",
+	"hideWeatherSw": "Görev çubuğundaki hava durumunu gizle",
+	"autoUpdateToggle": "Başlangıçta güncelle",
+	"enableUtcSw": "UTC Saati Etkinleştir",
+	"modernStandbySw": "Modern bekleme modunu devre dışı bırak"
 }
 }

+ 8 - 6
Optimizer/Resources/i18n/TW.json

@@ -462,10 +462,12 @@
 	"copilotTip": "完全關閉 CoPilot AI 功能。",
 	"copilotTip": "完全關閉 CoPilot AI 功能。",
 	"btnReinforce": "加強政策",
 	"btnReinforce": "加強政策",
 	"msgReinforce": "您確定要重新應用目前的政策嗎?",
 	"msgReinforce": "您確定要重新應用目前的政策嗎?",
-	"chkNewsInterest": "停用新聞和興趣",
-	"chkAllTrayIcons": "顯示所有系統匣圖示",
-	"chkMenuDelays": "移除選單延遲",
-	"chkHideSearch": "隱藏搜尋",
-	"chkHideFeed": "隱藏天氣",
-	"autoUpdateToggle": "啟動時更新"
+	"newsInterestsSw": "停用新聞和興趣",
+	"allTrayIconsSw": "顯示所有通知圖示",
+	"noMenuDelaySw": "移除選單延遲",
+	"hideSearchSw": "隱藏工作列搜尋",
+	"enableUtcSw": "啟用協調世界時間",
+	"hideWeatherSw": "隱藏工作列天氣",
+	"autoUpdateToggle": "啟動時更新",
+	"modernStandbySw": "停用現代待機"
 }
 }

+ 8 - 6
Optimizer/Resources/i18n/UA.json

@@ -467,10 +467,12 @@
     "copilotTip": "Повністю вимикає функцію CoPilot AI.",
     "copilotTip": "Повністю вимикає функцію CoPilot AI.",
 	"btnReinforce": "Підсилити політику",
 	"btnReinforce": "Підсилити політику",
 	"msgReinforce": "Ви впевнені, що хочете повторно застосувати поточну політику?",
 	"msgReinforce": "Ви впевнені, що хочете повторно застосувати поточну політику?",
-	"chkNewsInterest": "Вимкнути Новини та Інтереси",
-	"chkAllTrayIcons": "Показати всі значки на панелі задач",
-	"chkMenuDelays": "Видалити затримки у меню",
-	"chkHideSearch": "Приховати пошук",
-	"chkHideFeed": "Приховати погоду",
-	"autoUpdateToggle": "Оновити при запуску"
+	"newsInterestsSw": "Вимкнути новини та інтереси",
+	"allTrayIconsSw": "Показати всі піктограми сповіщень",
+	"noMenuDelaySw": "Видалити затримку меню",
+	"hideSearchSw": "Приховати пошук на панелі завдань",
+	"hideWeatherSw": "Приховати погоду на панелі завдань",
+	"autoUpdateToggle": "Оновлення при запуску",
+	"enableUtcSw": "Увімкнути UTC-час",
+	"modernStandbySw": "Вимкнути сучасний режим очікування"
 }
 }

+ 8 - 6
Optimizer/Resources/i18n/UR.json

@@ -466,10 +466,12 @@
 "copilotTip": "CoPilot AI فیچر کو مکمل طور پر بند کر دیتا ہے۔",
 "copilotTip": "CoPilot AI فیچر کو مکمل طور پر بند کر دیتا ہے۔",
 "btnReinforce": "پالیسیوں کو تقویت دیں",
 "btnReinforce": "پالیسیوں کو تقویت دیں",
 "msgReinforce": "کیا آپ واقعی اپنی موجودہ فعال پالیسیوں کو دوبارہ لاگو کرنا چاہتے ہیں؟",
 "msgReinforce": "کیا آپ واقعی اپنی موجودہ فعال پالیسیوں کو دوبارہ لاگو کرنا چاہتے ہیں؟",
-"chkNewsInterest": "خبروں اور اور دلچسپی کو غیر فعال کریں",
-"chkAllTrayIcons": "تمام ٹرے شبیہیں دکھائیں",
-"chkMenuDelays": "مینو میں تاخیر ہٹائیں",
-"chkHideSearch": "تلاش چھپائیں",
-"chkHideFeed": "موسم چھپائیں",
-"autoUpdateToggle": "لانچ پر اپ ڈیٹ",
+"newsInterestsSw": "خبروں اور دلچسپیوں کو غیرفعال کریں",
+	"allTrayIconsSw": "تمام اطلاعیہ آئیکنز دکھائیں",
+	"noMenuDelaySw": "مینو کی دیر کو ختم کریں",
+	"hideSearchSw": "ٹاسک بار تلاش چھپائیں",
+	"hideWeatherSw": "ٹاسک بار موسم چھپائیں",
+	"autoUpdateToggle": "شروع میں اپ ڈیٹ",
+	"enableUtcSw": "یو ای ٹی سمت ان کریں",
+	"modernStandbySw": "جدید استعداد کو غیر فعال کریں"
 }
 }

+ 8 - 6
Optimizer/Resources/i18n/VN.json

@@ -416,10 +416,12 @@
   "copilotTip": "Tắt hoàn toàn tính năng CoPilot AI.",
   "copilotTip": "Tắt hoàn toàn tính năng CoPilot AI.",
   "btnReinforce": "Củng cố các chính sách",
   "btnReinforce": "Củng cố các chính sách",
   "msgReinforce": "Bạn có chắc muốn áp dụng lại các chính sách hoạt động hiện tại của bạn không?",
   "msgReinforce": "Bạn có chắc muốn áp dụng lại các chính sách hoạt động hiện tại của bạn không?",
-  "chkNewsInterest": "Tắt Tin tức && Sở thích",
-  "chkAllTrayIcons": "Hiển thị tất cả các biểu tượng khay",
-  "chkMenuDelays": "Loại bỏ độ trễ của menu",
-  "chkHideSearch": "Ẩn Tìm kiếm",
-  "chkHideFeed": "Ẩn Thời tiết",
-  "autoUpdateToggle": "Cập nhật khi khởi động"
+  "newsInterestsSw": "Tắt tin tức và sở thích",
+	"allTrayIconsSw": "Hiển thị tất cả biểu tượng thông báo",
+	"noMenuDelaySw": "Xóa độ trễ của menu",
+	"hideSearchSw": "Ẩn tìm kiếm trên thanh tác vụ",
+	"hideWeatherSw": "Ẩn thời tiết trên thanh tác vụ",
+  "enableUtcSw": "Kích hoạt thời gian UTC",
+	"autoUpdateToggle": "Cập nhật khi khởi động",
+	"modernStandbySw": "Tắt Chế độ chờ hiện đại"
 }
 }

+ 585 - 247
Optimizer/SilentOps.cs

@@ -3,39 +3,49 @@ using System;
 using System.IO;
 using System.IO;
 using System.Linq;
 using System.Linq;
 
 
-namespace Optimizer {
-    internal static class SilentOps {
+namespace Optimizer
+{
+    internal static class SilentOps
+    {
         internal static SilentConfig CurrentSilentConfig;
         internal static SilentConfig CurrentSilentConfig;
 
 
-        internal static SilentConfig GetSilentConfig(string path) {
-            try {
+        internal static SilentConfig GetSilentConfig(string path)
+        {
+            try
+            {
                 CurrentSilentConfig = JsonConvert.DeserializeObject<SilentConfig>(File.ReadAllText(path));
                 CurrentSilentConfig = JsonConvert.DeserializeObject<SilentConfig>(File.ReadAllText(path));
             }
             }
-            catch (Exception ex) {
+            catch (Exception ex)
+            {
                 Logger.LogError("SilentOps.GetSilentConfig", ex.Message, ex.StackTrace);
                 Logger.LogError("SilentOps.GetSilentConfig", ex.Message, ex.StackTrace);
                 CurrentSilentConfig = null;
                 CurrentSilentConfig = null;
             }
             }
             return CurrentSilentConfig;
             return CurrentSilentConfig;
         }
         }
 
 
-        internal static void ProcessAllActions() {
+        internal static void ProcessAllActions()
+        {
             Logger.InitializeSilentReport();
             Logger.InitializeSilentReport();
 
 
-            if (Utilities.CurrentWindowsVersion == WindowsVersion.Windows7) {
+            if (Utilities.CurrentWindowsVersion == WindowsVersion.Windows7)
+            {
                 ProcessTweaksGeneral();
                 ProcessTweaksGeneral();
                 Logger.LogInfoSilent("Tweaks | Windows 7");
                 Logger.LogInfoSilent("Tweaks | Windows 7");
             }
             }
-            if (Utilities.CurrentWindowsVersion == WindowsVersion.Windows8) {
+            if (Utilities.CurrentWindowsVersion == WindowsVersion.Windows8)
+            {
                 ProcessTweaksGeneral();
                 ProcessTweaksGeneral();
                 ProcessTweaksWindows8();
                 ProcessTweaksWindows8();
                 Logger.LogInfoSilent("Tweaks | Windows 8.1");
                 Logger.LogInfoSilent("Tweaks | Windows 8.1");
             }
             }
-            if (Utilities.CurrentWindowsVersion == WindowsVersion.Windows10) {
+            if (Utilities.CurrentWindowsVersion == WindowsVersion.Windows10)
+            {
                 ProcessTweaksGeneral();
                 ProcessTweaksGeneral();
                 ProcessTweaksWindows10();
                 ProcessTweaksWindows10();
                 Logger.LogInfoSilent("Tweaks | Windows 10");
                 Logger.LogInfoSilent("Tweaks | Windows 10");
             }
             }
-            if (Utilities.CurrentWindowsVersion == WindowsVersion.Windows11) {
+            if (Utilities.CurrentWindowsVersion == WindowsVersion.Windows11)
+            {
                 ProcessTweaksGeneral();
                 ProcessTweaksGeneral();
                 ProcessTweaksWindows10();
                 ProcessTweaksWindows10();
                 ProcessTweaksWindows11();
                 ProcessTweaksWindows11();
@@ -54,32 +64,41 @@ namespace Optimizer {
             ProcessPostAction();
             ProcessPostAction();
         }
         }
 
 
-        internal static bool ProcessWindowsVersionCompatibility() {
+        internal static bool ProcessWindowsVersionCompatibility()
+        {
             return CurrentSilentConfig.WindowsVersion == ((int)Utilities.CurrentWindowsVersion);
             return CurrentSilentConfig.WindowsVersion == ((int)Utilities.CurrentWindowsVersion);
         }
         }
 
 
-        internal static void ProcessPostAction() {
+        internal static void ProcessPostAction()
+        {
             if (CurrentSilentConfig.PostAction.Restart.HasValue &&
             if (CurrentSilentConfig.PostAction.Restart.HasValue &&
-                CurrentSilentConfig.PostAction.Restart.Value == true) {
+                CurrentSilentConfig.PostAction.Restart.Value == true)
+            {
                 string restartType = CurrentSilentConfig.PostAction.RestartType;
                 string restartType = CurrentSilentConfig.PostAction.RestartType;
-                if (!string.IsNullOrEmpty(restartType)) {
-                    if (restartType == RestartType.Normal.ToString()) {
+                if (!string.IsNullOrEmpty(restartType))
+                {
+                    if (restartType == RestartType.Normal.ToString())
+                    {
                         Program.RestartInNormalMode();
                         Program.RestartInNormalMode();
                     }
                     }
-                    if (restartType == RestartType.SafeMode.ToString()) {
+                    if (restartType == RestartType.SafeMode.ToString())
+                    {
                         Program.RestartInSafeMode();
                         Program.RestartInSafeMode();
                     }
                     }
-                    if (restartType == RestartType.DisableDefender.ToString()) {
+                    if (restartType == RestartType.DisableDefender.ToString())
+                    {
                         Program.SetRunOnceDisableDefender();
                         Program.SetRunOnceDisableDefender();
                     }
                     }
-                    if (restartType == RestartType.EnableDefender.ToString()) {
+                    if (restartType == RestartType.EnableDefender.ToString())
+                    {
                         Program.SetRunOnceEnableDefender();
                         Program.SetRunOnceEnableDefender();
                     }
                     }
                 }
                 }
             }
             }
         }
         }
 
 
-        internal static void ProcessCleaner() {
+        internal static void ProcessCleaner()
+        {
             if (CurrentSilentConfig.Cleaner.TempFiles.HasValue && CurrentSilentConfig.Cleaner.TempFiles.Value) CleanHelper.PreviewTemp();
             if (CurrentSilentConfig.Cleaner.TempFiles.HasValue && CurrentSilentConfig.Cleaner.TempFiles.Value) CleanHelper.PreviewTemp();
             if (CurrentSilentConfig.Cleaner.BsodDumps.HasValue && CurrentSilentConfig.Cleaner.BsodDumps.Value) CleanHelper.PreviewMinidumps();
             if (CurrentSilentConfig.Cleaner.BsodDumps.HasValue && CurrentSilentConfig.Cleaner.BsodDumps.Value) CleanHelper.PreviewMinidumps();
             if (CurrentSilentConfig.Cleaner.ErrorReports.HasValue && CurrentSilentConfig.Cleaner.ErrorReports.Value) CleanHelper.PreviewErrorReports();
             if (CurrentSilentConfig.Cleaner.ErrorReports.HasValue && CurrentSilentConfig.Cleaner.ErrorReports.Value) CleanHelper.PreviewErrorReports();
@@ -116,39 +135,47 @@ namespace Optimizer {
             Logger.LogInfoSilent($"Cleaner | Options");
             Logger.LogInfoSilent($"Cleaner | Options");
         }
         }
 
 
-        internal static void ProcessHosts() {
+        internal static void ProcessHosts()
+        {
             var addList = CurrentSilentConfig.HostsEditor.Add.Where(x => !string.IsNullOrEmpty(x.Domain) && !string.IsNullOrEmpty(x.IpAddress));
             var addList = CurrentSilentConfig.HostsEditor.Add.Where(x => !string.IsNullOrEmpty(x.Domain) && !string.IsNullOrEmpty(x.IpAddress));
             var blockList = CurrentSilentConfig.HostsEditor.Block.Where(x => !string.IsNullOrEmpty(x));
             var blockList = CurrentSilentConfig.HostsEditor.Block.Where(x => !string.IsNullOrEmpty(x));
             var removeList = CurrentSilentConfig.HostsEditor.Remove.Where(x => !string.IsNullOrEmpty(x));
             var removeList = CurrentSilentConfig.HostsEditor.Remove.Where(x => !string.IsNullOrEmpty(x));
             var includeWwwCname = CurrentSilentConfig.HostsEditor.IncludeWwwCname.HasValue ? CurrentSilentConfig.HostsEditor.IncludeWwwCname.Value : false;
             var includeWwwCname = CurrentSilentConfig.HostsEditor.IncludeWwwCname.HasValue ? CurrentSilentConfig.HostsEditor.IncludeWwwCname.Value : false;
 
 
-            foreach (AddHostsEntry x in addList) {
+            foreach (AddHostsEntry x in addList)
+            {
                 HostsHelper.AddEntry(HostsHelper.SanitizeEntry(x.IpAddress) + " " + HostsHelper.SanitizeEntry(x.Domain));
                 HostsHelper.AddEntry(HostsHelper.SanitizeEntry(x.IpAddress) + " " + HostsHelper.SanitizeEntry(x.Domain));
-                if (includeWwwCname) {
+                if (includeWwwCname)
+                {
                     HostsHelper.AddEntry(HostsHelper.SanitizeEntry(x.IpAddress) + " www." + HostsHelper.SanitizeEntry(x.Domain));
                     HostsHelper.AddEntry(HostsHelper.SanitizeEntry(x.IpAddress) + " www." + HostsHelper.SanitizeEntry(x.Domain));
                 }
                 }
                 Logger.LogInfoSilent($"Hosts | Add entry: {x.IpAddress} {x.Domain}");
                 Logger.LogInfoSilent($"Hosts | Add entry: {x.IpAddress} {x.Domain}");
             }
             }
-            foreach (string x in blockList) {
+            foreach (string x in blockList)
+            {
                 HostsHelper.AddEntry("0.0.0.0 " + HostsHelper.SanitizeEntry(x));
                 HostsHelper.AddEntry("0.0.0.0 " + HostsHelper.SanitizeEntry(x));
                 Logger.LogInfoSilent($"Hosts | Block entry: {x}");
                 Logger.LogInfoSilent($"Hosts | Block entry: {x}");
             }
             }
-            foreach (string x in removeList) {
+            foreach (string x in removeList)
+            {
                 HostsHelper.RemoveEntryFromTemplate(x);
                 HostsHelper.RemoveEntryFromTemplate(x);
                 Logger.LogInfoSilent($"Hosts | Remove entry: {x}");
                 Logger.LogInfoSilent($"Hosts | Remove entry: {x}");
             }
             }
         }
         }
 
 
-        internal static void ProcessPinger() {
+        internal static void ProcessPinger()
+        {
             string dnsOption = CurrentSilentConfig.Pinger.SetDns;
             string dnsOption = CurrentSilentConfig.Pinger.SetDns;
 
 
-            if (dnsOption == Constants.CustomDNS) {
+            if (dnsOption == Constants.CustomDNS)
+            {
                 bool atLeastOnePrimary4 = CurrentSilentConfig.Pinger.CustomDNSv4.Length > 0 && CurrentSilentConfig.Pinger.CustomDNSv4.Length < 3;
                 bool atLeastOnePrimary4 = CurrentSilentConfig.Pinger.CustomDNSv4.Length > 0 && CurrentSilentConfig.Pinger.CustomDNSv4.Length < 3;
                 bool atLeastOnePrimary6 = CurrentSilentConfig.Pinger.CustomDNSv6.Length > 0 && CurrentSilentConfig.Pinger.CustomDNSv6.Length < 3;
                 bool atLeastOnePrimary6 = CurrentSilentConfig.Pinger.CustomDNSv6.Length > 0 && CurrentSilentConfig.Pinger.CustomDNSv6.Length < 3;
                 bool notEmptyDNS4 = Array.Exists(CurrentSilentConfig.Pinger.CustomDNSv4, (x => !string.IsNullOrEmpty(x)));
                 bool notEmptyDNS4 = Array.Exists(CurrentSilentConfig.Pinger.CustomDNSv4, (x => !string.IsNullOrEmpty(x)));
                 bool notEmptyDNS6 = Array.Exists(CurrentSilentConfig.Pinger.CustomDNSv6, (x => !string.IsNullOrEmpty(x)));
                 bool notEmptyDNS6 = Array.Exists(CurrentSilentConfig.Pinger.CustomDNSv6, (x => !string.IsNullOrEmpty(x)));
 
 
-                if (atLeastOnePrimary4 && atLeastOnePrimary6 && notEmptyDNS4 && notEmptyDNS6) {
+                if (atLeastOnePrimary4 && atLeastOnePrimary6 && notEmptyDNS4 && notEmptyDNS6)
+                {
                     PingerHelper.SetDNSForAllNICs(CurrentSilentConfig.Pinger.CustomDNSv4, CurrentSilentConfig.Pinger.CustomDNSv6);
                     PingerHelper.SetDNSForAllNICs(CurrentSilentConfig.Pinger.CustomDNSv4, CurrentSilentConfig.Pinger.CustomDNSv6);
                     Logger.LogInfoSilent("Pinger | Set DNS to custom:");
                     Logger.LogInfoSilent("Pinger | Set DNS to custom:");
                     Logger.LogInfoSilent($"Pinger | IPv4: {string.Join(", ", CurrentSilentConfig.Pinger.CustomDNSv4)}");
                     Logger.LogInfoSilent($"Pinger | IPv4: {string.Join(", ", CurrentSilentConfig.Pinger.CustomDNSv4)}");
@@ -156,152 +183,191 @@ namespace Optimizer {
                 }
                 }
             }
             }
 
 
-            if (!string.IsNullOrEmpty(dnsOption) && PingerHelper.DNSOptions.Contains(dnsOption)) {
-                if (dnsOption == Constants.AutomaticDNS) {
+            if (!string.IsNullOrEmpty(dnsOption) && PingerHelper.DNSOptions.Contains(dnsOption))
+            {
+                if (dnsOption == Constants.AutomaticDNS)
+                {
                     PingerHelper.ResetDefaultDNSForAllNICs();
                     PingerHelper.ResetDefaultDNSForAllNICs();
                 }
                 }
-                if (dnsOption == Constants.CloudflareDNS) {
+                if (dnsOption == Constants.CloudflareDNS)
+                {
                     PingerHelper.SetDNSForAllNICs(PingerHelper.CloudflareDNSv4, PingerHelper.CloudflareDNSv6);
                     PingerHelper.SetDNSForAllNICs(PingerHelper.CloudflareDNSv4, PingerHelper.CloudflareDNSv6);
                 }
                 }
-                if (dnsOption == Constants.OpenDNS) {
+                if (dnsOption == Constants.OpenDNS)
+                {
                     PingerHelper.SetDNSForAllNICs(PingerHelper.OpenDNSv4, PingerHelper.OpenDNSv6);
                     PingerHelper.SetDNSForAllNICs(PingerHelper.OpenDNSv4, PingerHelper.OpenDNSv6);
                 }
                 }
-                if (dnsOption == Constants.Quad9DNS) {
+                if (dnsOption == Constants.Quad9DNS)
+                {
                     PingerHelper.SetDNSForAllNICs(PingerHelper.Quad9DNSv4, PingerHelper.Quad9DNSv6);
                     PingerHelper.SetDNSForAllNICs(PingerHelper.Quad9DNSv4, PingerHelper.Quad9DNSv6);
                 }
                 }
-                if (dnsOption == Constants.GoogleDNS) {
+                if (dnsOption == Constants.GoogleDNS)
+                {
                     PingerHelper.SetDNSForAllNICs(PingerHelper.GoogleDNSv4, PingerHelper.GoogleDNSv6);
                     PingerHelper.SetDNSForAllNICs(PingerHelper.GoogleDNSv4, PingerHelper.GoogleDNSv6);
                 }
                 }
-                if (dnsOption == Constants.AlternateDNS) {
+                if (dnsOption == Constants.AlternateDNS)
+                {
                     PingerHelper.SetDNSForAllNICs(PingerHelper.AlternateDNSv4, PingerHelper.AlternateDNSv6);
                     PingerHelper.SetDNSForAllNICs(PingerHelper.AlternateDNSv4, PingerHelper.AlternateDNSv6);
                 }
                 }
-                if (dnsOption == Constants.AdguardDNS) {
+                if (dnsOption == Constants.AdguardDNS)
+                {
                     PingerHelper.SetDNSForAllNICs(PingerHelper.AdguardDNSv4, PingerHelper.AdguardDNSv6);
                     PingerHelper.SetDNSForAllNICs(PingerHelper.AdguardDNSv4, PingerHelper.AdguardDNSv6);
                 }
                 }
-                if (dnsOption == Constants.CleanBrowsingDNS) {
+                if (dnsOption == Constants.CleanBrowsingDNS)
+                {
                     PingerHelper.SetDNSForAllNICs(PingerHelper.CleanBrowsingDNSv4, PingerHelper.CleanBrowsingDNSv6);
                     PingerHelper.SetDNSForAllNICs(PingerHelper.CleanBrowsingDNSv4, PingerHelper.CleanBrowsingDNSv6);
                 }
                 }
-                if (dnsOption == Constants.CleanBrowsingAdultFilterDNS) {
+                if (dnsOption == Constants.CleanBrowsingAdultFilterDNS)
+                {
                     PingerHelper.SetDNSForAllNICs(PingerHelper.CleanBrowsingAdultDNSv4, PingerHelper.CleanBrowsingAdultDNSv6);
                     PingerHelper.SetDNSForAllNICs(PingerHelper.CleanBrowsingAdultDNSv4, PingerHelper.CleanBrowsingAdultDNSv6);
                 }
                 }
                 Logger.LogInfoSilent($"Pinger | Set DNS to: {dnsOption}");
                 Logger.LogInfoSilent($"Pinger | Set DNS to: {dnsOption}");
             }
             }
             if (CurrentSilentConfig.Pinger.FlushDnsCache.HasValue &&
             if (CurrentSilentConfig.Pinger.FlushDnsCache.HasValue &&
-                CurrentSilentConfig.Pinger.FlushDnsCache.Value == true) {
+                CurrentSilentConfig.Pinger.FlushDnsCache.Value == true)
+            {
                 PingerHelper.FlushDNSCache();
                 PingerHelper.FlushDNSCache();
                 Logger.LogInfoSilent($"Pinger | Flush DNS cache");
                 Logger.LogInfoSilent($"Pinger | Flush DNS cache");
             }
             }
         }
         }
 
 
-        internal static void ProcessProcessControl() {
+        internal static void ProcessProcessControl()
+        {
             var allowList = CurrentSilentConfig.ProcessControl.Allow.Where(x => !string.IsNullOrEmpty(x));
             var allowList = CurrentSilentConfig.ProcessControl.Allow.Where(x => !string.IsNullOrEmpty(x));
             var blockList = CurrentSilentConfig.ProcessControl.Prevent.Where(x => !string.IsNullOrEmpty(x));
             var blockList = CurrentSilentConfig.ProcessControl.Prevent.Where(x => !string.IsNullOrEmpty(x));
 
 
-            foreach (string x in allowList) {
+            foreach (string x in allowList)
+            {
                 Utilities.AllowProcessToRun(x);
                 Utilities.AllowProcessToRun(x);
                 Logger.LogInfoSilent($"ProcessControl | Allow process: {x}");
                 Logger.LogInfoSilent($"ProcessControl | Allow process: {x}");
             }
             }
-            foreach (string x in blockList) {
+            foreach (string x in blockList)
+            {
                 Utilities.PreventProcessFromRunning(x);
                 Utilities.PreventProcessFromRunning(x);
                 Logger.LogInfoSilent($"ProcessControl | Prevent process: {x}");
                 Logger.LogInfoSilent($"ProcessControl | Prevent process: {x}");
             }
             }
         }
         }
 
 
-        internal static void ProcessRegistryFix() {
+        internal static void ProcessRegistryFix()
+        {
             if (CurrentSilentConfig.RegistryFix.TaskManager.HasValue &&
             if (CurrentSilentConfig.RegistryFix.TaskManager.HasValue &&
-                CurrentSilentConfig.RegistryFix.TaskManager.Value == true) {
+                CurrentSilentConfig.RegistryFix.TaskManager.Value == true)
+            {
                 Utilities.EnableTaskManager();
                 Utilities.EnableTaskManager();
                 Logger.LogInfoSilent($"RegistryFix | EnableTaskManager");
                 Logger.LogInfoSilent($"RegistryFix | EnableTaskManager");
             }
             }
             if (CurrentSilentConfig.RegistryFix.CommandPrompt.HasValue &&
             if (CurrentSilentConfig.RegistryFix.CommandPrompt.HasValue &&
-                CurrentSilentConfig.RegistryFix.CommandPrompt.Value == true) {
+                CurrentSilentConfig.RegistryFix.CommandPrompt.Value == true)
+            {
                 Utilities.EnableCommandPrompt();
                 Utilities.EnableCommandPrompt();
                 Logger.LogInfoSilent($"RegistryFix | EnableCommandPrompt");
                 Logger.LogInfoSilent($"RegistryFix | EnableCommandPrompt");
             }
             }
             if (CurrentSilentConfig.RegistryFix.ControlPanel.HasValue &&
             if (CurrentSilentConfig.RegistryFix.ControlPanel.HasValue &&
-                CurrentSilentConfig.RegistryFix.ControlPanel.Value == true) {
+                CurrentSilentConfig.RegistryFix.ControlPanel.Value == true)
+            {
                 Utilities.EnableControlPanel();
                 Utilities.EnableControlPanel();
                 Logger.LogInfoSilent($"RegistryFix | EnableControlPanel");
                 Logger.LogInfoSilent($"RegistryFix | EnableControlPanel");
             }
             }
             if (CurrentSilentConfig.RegistryFix.FolderOptions.HasValue &&
             if (CurrentSilentConfig.RegistryFix.FolderOptions.HasValue &&
-                CurrentSilentConfig.RegistryFix.FolderOptions.Value == true) {
+                CurrentSilentConfig.RegistryFix.FolderOptions.Value == true)
+            {
                 Utilities.EnableFolderOptions();
                 Utilities.EnableFolderOptions();
                 Logger.LogInfoSilent($"RegistryFix | EnableFolderOptions");
                 Logger.LogInfoSilent($"RegistryFix | EnableFolderOptions");
             }
             }
             if (CurrentSilentConfig.RegistryFix.RunDialog.HasValue &&
             if (CurrentSilentConfig.RegistryFix.RunDialog.HasValue &&
-                CurrentSilentConfig.RegistryFix.RunDialog.Value == true) {
+                CurrentSilentConfig.RegistryFix.RunDialog.Value == true)
+            {
                 Utilities.EnableRunDialog();
                 Utilities.EnableRunDialog();
                 Logger.LogInfoSilent($"RegistryFix | EnableRunDialog");
                 Logger.LogInfoSilent($"RegistryFix | EnableRunDialog");
             }
             }
             if (CurrentSilentConfig.RegistryFix.RightClickMenu.HasValue &&
             if (CurrentSilentConfig.RegistryFix.RightClickMenu.HasValue &&
-                CurrentSilentConfig.RegistryFix.RightClickMenu.Value == true) {
+                CurrentSilentConfig.RegistryFix.RightClickMenu.Value == true)
+            {
                 Utilities.EnableContextMenu();
                 Utilities.EnableContextMenu();
                 Logger.LogInfoSilent($"RegistryFix | EnableContextMenu");
                 Logger.LogInfoSilent($"RegistryFix | EnableContextMenu");
             }
             }
             if (CurrentSilentConfig.RegistryFix.WindowsFirewall.HasValue &&
             if (CurrentSilentConfig.RegistryFix.WindowsFirewall.HasValue &&
-                CurrentSilentConfig.RegistryFix.WindowsFirewall.Value == true) {
+                CurrentSilentConfig.RegistryFix.WindowsFirewall.Value == true)
+            {
                 Utilities.EnableFirewall();
                 Utilities.EnableFirewall();
                 Logger.LogInfoSilent($"RegistryFix | EnableFirewall");
                 Logger.LogInfoSilent($"RegistryFix | EnableFirewall");
             }
             }
             if (CurrentSilentConfig.RegistryFix.RegistryEditor.HasValue &&
             if (CurrentSilentConfig.RegistryFix.RegistryEditor.HasValue &&
-                CurrentSilentConfig.RegistryFix.RegistryEditor.Value == true) {
+                CurrentSilentConfig.RegistryFix.RegistryEditor.Value == true)
+            {
                 Utilities.EnableRegistryEditor();
                 Utilities.EnableRegistryEditor();
                 Logger.LogInfoSilent($"RegistryFix | EnableRegistryEditor");
                 Logger.LogInfoSilent($"RegistryFix | EnableRegistryEditor");
             }
             }
         }
         }
 
 
-        internal static void ProcessIntegrator() {
-            if (CurrentSilentConfig.Integrator.OpenWithCmd.HasValue) {
-                if (CurrentSilentConfig.Integrator.OpenWithCmd.Value) {
+        internal static void ProcessIntegrator()
+        {
+            if (CurrentSilentConfig.Integrator.OpenWithCmd.HasValue)
+            {
+                if (CurrentSilentConfig.Integrator.OpenWithCmd.Value)
+                {
                     IntegratorHelper.InstallOpenWithCMD();
                     IntegratorHelper.InstallOpenWithCMD();
                     Logger.LogInfoSilent($"Integrator | InstallOpenWithCMD");
                     Logger.LogInfoSilent($"Integrator | InstallOpenWithCMD");
                 }
                 }
-                else {
+                else
+                {
                     IntegratorHelper.DeleteOpenWithCMD();
                     IntegratorHelper.DeleteOpenWithCMD();
                     Logger.LogInfoSilent($"Integrator | DeleteOpenWithCMD");
                     Logger.LogInfoSilent($"Integrator | DeleteOpenWithCMD");
                 }
                 }
             }
             }
-            if (CurrentSilentConfig.Integrator.TakeOwnership.HasValue) {
+            if (CurrentSilentConfig.Integrator.TakeOwnership.HasValue)
+            {
                 IntegratorHelper.InstallTakeOwnership(!CurrentSilentConfig.Integrator.TakeOwnership.Value);
                 IntegratorHelper.InstallTakeOwnership(!CurrentSilentConfig.Integrator.TakeOwnership.Value);
                 Logger.LogInfoSilent($"Integrator | TakeOwnership to {CurrentSilentConfig.Integrator.TakeOwnership.Value}");
                 Logger.LogInfoSilent($"Integrator | TakeOwnership to {CurrentSilentConfig.Integrator.TakeOwnership.Value}");
             }
             }
         }
         }
 
 
-        internal static void ProcessAdvancedTweaks() {
+        internal static void ProcessAdvancedTweaks()
+        {
             if (CurrentSilentConfig.AdvancedTweaks.UnlockAllCores.HasValue &&
             if (CurrentSilentConfig.AdvancedTweaks.UnlockAllCores.HasValue &&
-                CurrentSilentConfig.AdvancedTweaks.UnlockAllCores.Value == true) {
+                CurrentSilentConfig.AdvancedTweaks.UnlockAllCores.Value == true)
+            {
                 Utilities.UnlockAllCores();
                 Utilities.UnlockAllCores();
                 Logger.LogInfoSilent("AdvancedTweaks | UnlockAllCores");
                 Logger.LogInfoSilent("AdvancedTweaks | UnlockAllCores");
             }
             }
 
 
-            if (CurrentSilentConfig.AdvancedTweaks.SvchostProcessSplitting.Disable.HasValue) {
+            if (CurrentSilentConfig.AdvancedTweaks.SvchostProcessSplitting.Disable.HasValue)
+            {
                 if (CurrentSilentConfig.AdvancedTweaks.SvchostProcessSplitting.Disable.Value &&
                 if (CurrentSilentConfig.AdvancedTweaks.SvchostProcessSplitting.Disable.Value &&
                     CurrentSilentConfig.AdvancedTweaks.SvchostProcessSplitting.Ram.HasValue &&
                     CurrentSilentConfig.AdvancedTweaks.SvchostProcessSplitting.Ram.HasValue &&
-                    CurrentSilentConfig.AdvancedTweaks.SvchostProcessSplitting.Ram > 0) {
+                    CurrentSilentConfig.AdvancedTweaks.SvchostProcessSplitting.Ram > 0)
+                {
                     Utilities.DisableSvcHostProcessSplitting(CurrentSilentConfig.AdvancedTweaks.SvchostProcessSplitting.Ram.Value);
                     Utilities.DisableSvcHostProcessSplitting(CurrentSilentConfig.AdvancedTweaks.SvchostProcessSplitting.Ram.Value);
                     Logger.LogInfoSilent($"AdvancedTweaks | DisableSvcHostProcessSplitting | RAM capacity: {CurrentSilentConfig.AdvancedTweaks.SvchostProcessSplitting.Ram.Value} GB");
                     Logger.LogInfoSilent($"AdvancedTweaks | DisableSvcHostProcessSplitting | RAM capacity: {CurrentSilentConfig.AdvancedTweaks.SvchostProcessSplitting.Ram.Value} GB");
                 }
                 }
-                else {
+                else
+                {
                     Utilities.EnableSvcHostProcessSplitting();
                     Utilities.EnableSvcHostProcessSplitting();
                     Logger.LogInfoSilent("AdvancedTweaks | EnableSvcHostProcessSplitting");
                     Logger.LogInfoSilent("AdvancedTweaks | EnableSvcHostProcessSplitting");
                 }
                 }
             }
             }
 
 
-            if (CurrentSilentConfig.AdvancedTweaks.DisableHPET.HasValue) {
-                if (CurrentSilentConfig.AdvancedTweaks.DisableHPET.Value) {
+            if (CurrentSilentConfig.AdvancedTweaks.DisableHPET.HasValue)
+            {
+                if (CurrentSilentConfig.AdvancedTweaks.DisableHPET.Value)
+                {
                     Utilities.DisableHPET();
                     Utilities.DisableHPET();
                 }
                 }
-                else {
+                else
+                {
                     Utilities.EnableHPET();
                     Utilities.EnableHPET();
                 }
                 }
                 OptionsHelper.CurrentOptions.DisableHPET = CurrentSilentConfig.AdvancedTweaks.DisableHPET.Value;
                 OptionsHelper.CurrentOptions.DisableHPET = CurrentSilentConfig.AdvancedTweaks.DisableHPET.Value;
             }
             }
 
 
-            if (CurrentSilentConfig.AdvancedTweaks.EnableLoginVerbose.HasValue) {
-                if (CurrentSilentConfig.AdvancedTweaks.EnableLoginVerbose.Value) {
+            if (CurrentSilentConfig.AdvancedTweaks.EnableLoginVerbose.HasValue)
+            {
+                if (CurrentSilentConfig.AdvancedTweaks.EnableLoginVerbose.Value)
+                {
                     Utilities.EnableLoginVerbose();
                     Utilities.EnableLoginVerbose();
                 }
                 }
-                else {
+                else
+                {
                     Utilities.DisableLoginVerbose();
                     Utilities.DisableLoginVerbose();
                 }
                 }
                 OptionsHelper.CurrentOptions.EnableLoginVerbose = CurrentSilentConfig.AdvancedTweaks.EnableLoginVerbose.Value;
                 OptionsHelper.CurrentOptions.EnableLoginVerbose = CurrentSilentConfig.AdvancedTweaks.EnableLoginVerbose.Value;
@@ -310,256 +376,372 @@ namespace Optimizer {
 
 
 
 
         #region General Tweaks
         #region General Tweaks
-        internal static void ProcessTweaksGeneral() {
-            if (CurrentSilentConfig.Tweaks.EnablePerformanceTweaks.HasValue) {
-                if (CurrentSilentConfig.Tweaks.EnablePerformanceTweaks.Value) {
+        internal static void ProcessTweaksGeneral()
+        {
+            if (CurrentSilentConfig.Tweaks.EnablePerformanceTweaks.HasValue)
+            {
+                if (CurrentSilentConfig.Tweaks.EnablePerformanceTweaks.Value)
+                {
                     OptimizeHelper.EnablePerformanceTweaks();
                     OptimizeHelper.EnablePerformanceTweaks();
                 }
                 }
-                else {
+                else
+                {
                     OptimizeHelper.DisablePerformanceTweaks();
                     OptimizeHelper.DisablePerformanceTweaks();
                 }
                 }
                 OptionsHelper.CurrentOptions.EnablePerformanceTweaks = CurrentSilentConfig.Tweaks.EnablePerformanceTweaks.Value;
                 OptionsHelper.CurrentOptions.EnablePerformanceTweaks = CurrentSilentConfig.Tweaks.EnablePerformanceTweaks.Value;
             }
             }
 
 
-            if (CurrentSilentConfig.Tweaks.DisableNetworkThrottling.HasValue) {
-                if (CurrentSilentConfig.Tweaks.DisableNetworkThrottling.Value) {
+            if (CurrentSilentConfig.Tweaks.DisableNetworkThrottling.HasValue)
+            {
+                if (CurrentSilentConfig.Tweaks.DisableNetworkThrottling.Value)
+                {
                     OptimizeHelper.DisableNetworkThrottling();
                     OptimizeHelper.DisableNetworkThrottling();
                 }
                 }
-                else {
+                else
+                {
                     OptimizeHelper.EnableNetworkThrottling();
                     OptimizeHelper.EnableNetworkThrottling();
                 }
                 }
                 OptionsHelper.CurrentOptions.DisableNetworkThrottling = CurrentSilentConfig.Tweaks.DisableNetworkThrottling.Value;
                 OptionsHelper.CurrentOptions.DisableNetworkThrottling = CurrentSilentConfig.Tweaks.DisableNetworkThrottling.Value;
             }
             }
 
 
-            if (CurrentSilentConfig.Tweaks.DisableWindowsDefender.HasValue) {
-                if (CurrentSilentConfig.Tweaks.DisableWindowsDefender.Value) {
+            if (CurrentSilentConfig.Tweaks.DisableWindowsDefender.HasValue)
+            {
+                if (CurrentSilentConfig.Tweaks.DisableWindowsDefender.Value)
+                {
                     OptimizeHelper.DisableDefender();
                     OptimizeHelper.DisableDefender();
                 }
                 }
-                else {
+                else
+                {
                     OptimizeHelper.EnableDefender();
                     OptimizeHelper.EnableDefender();
                 }
                 }
                 OptionsHelper.CurrentOptions.DisableWindowsDefender = CurrentSilentConfig.Tweaks.DisableWindowsDefender.Value;
                 OptionsHelper.CurrentOptions.DisableWindowsDefender = CurrentSilentConfig.Tweaks.DisableWindowsDefender.Value;
             }
             }
 
 
-            if (CurrentSilentConfig.Tweaks.DisableSystemRestore.HasValue) {
-                if (CurrentSilentConfig.Tweaks.DisableSystemRestore.Value) {
+            if (CurrentSilentConfig.Tweaks.DisableSystemRestore.HasValue)
+            {
+                if (CurrentSilentConfig.Tweaks.DisableSystemRestore.Value)
+                {
                     OptimizeHelper.DisableSystemRestore();
                     OptimizeHelper.DisableSystemRestore();
                 }
                 }
-                else {
+                else
+                {
                     OptimizeHelper.EnableSystemRestore();
                     OptimizeHelper.EnableSystemRestore();
                 }
                 }
                 OptionsHelper.CurrentOptions.DisableSystemRestore = CurrentSilentConfig.Tweaks.DisableSystemRestore.Value;
                 OptionsHelper.CurrentOptions.DisableSystemRestore = CurrentSilentConfig.Tweaks.DisableSystemRestore.Value;
             }
             }
 
 
-            if (CurrentSilentConfig.Tweaks.DisablePrintService.HasValue) {
-                if (CurrentSilentConfig.Tweaks.DisablePrintService.Value) {
+            if (CurrentSilentConfig.Tweaks.DisablePrintService.HasValue)
+            {
+                if (CurrentSilentConfig.Tweaks.DisablePrintService.Value)
+                {
                     OptimizeHelper.DisablePrintService();
                     OptimizeHelper.DisablePrintService();
                 }
                 }
-                else {
+                else
+                {
                     OptimizeHelper.EnablePrintService();
                     OptimizeHelper.EnablePrintService();
                 }
                 }
                 OptionsHelper.CurrentOptions.DisablePrintService = CurrentSilentConfig.Tweaks.DisablePrintService.Value;
                 OptionsHelper.CurrentOptions.DisablePrintService = CurrentSilentConfig.Tweaks.DisablePrintService.Value;
             }
             }
 
 
-            if (CurrentSilentConfig.Tweaks.DisableMediaPlayerSharing.HasValue) {
-                if (CurrentSilentConfig.Tweaks.DisableMediaPlayerSharing.Value) {
+            if (CurrentSilentConfig.Tweaks.DisableMediaPlayerSharing.HasValue)
+            {
+                if (CurrentSilentConfig.Tweaks.DisableMediaPlayerSharing.Value)
+                {
                     OptimizeHelper.DisableMediaPlayerSharing();
                     OptimizeHelper.DisableMediaPlayerSharing();
                 }
                 }
-                else {
+                else
+                {
                     OptimizeHelper.EnableMediaPlayerSharing();
                     OptimizeHelper.EnableMediaPlayerSharing();
                 }
                 }
                 OptionsHelper.CurrentOptions.DisableMediaPlayerSharing = CurrentSilentConfig.Tweaks.DisableMediaPlayerSharing.Value;
                 OptionsHelper.CurrentOptions.DisableMediaPlayerSharing = CurrentSilentConfig.Tweaks.DisableMediaPlayerSharing.Value;
             }
             }
 
 
-            if (CurrentSilentConfig.Tweaks.DisableErrorReporting.HasValue) {
-                if (CurrentSilentConfig.Tweaks.DisableErrorReporting.Value) {
+            if (CurrentSilentConfig.Tweaks.DisableErrorReporting.HasValue)
+            {
+                if (CurrentSilentConfig.Tweaks.DisableErrorReporting.Value)
+                {
                     OptimizeHelper.DisableErrorReporting();
                     OptimizeHelper.DisableErrorReporting();
                 }
                 }
-                else {
+                else
+                {
                     OptimizeHelper.EnableErrorReporting();
                     OptimizeHelper.EnableErrorReporting();
                 }
                 }
                 OptionsHelper.CurrentOptions.DisableErrorReporting = CurrentSilentConfig.Tweaks.DisableErrorReporting.Value;
                 OptionsHelper.CurrentOptions.DisableErrorReporting = CurrentSilentConfig.Tweaks.DisableErrorReporting.Value;
             }
             }
 
 
-            if (CurrentSilentConfig.Tweaks.DisableHomeGroup.HasValue) {
-                if (CurrentSilentConfig.Tweaks.DisableHomeGroup.Value) {
+            if (CurrentSilentConfig.Tweaks.DisableHomeGroup.HasValue)
+            {
+                if (CurrentSilentConfig.Tweaks.DisableHomeGroup.Value)
+                {
                     OptimizeHelper.DisableHomeGroup();
                     OptimizeHelper.DisableHomeGroup();
                 }
                 }
-                else {
+                else
+                {
                     OptimizeHelper.EnableHomeGroup();
                     OptimizeHelper.EnableHomeGroup();
                 }
                 }
                 OptionsHelper.CurrentOptions.DisableHomeGroup = CurrentSilentConfig.Tweaks.DisableHomeGroup.Value;
                 OptionsHelper.CurrentOptions.DisableHomeGroup = CurrentSilentConfig.Tweaks.DisableHomeGroup.Value;
             }
             }
 
 
-            if (CurrentSilentConfig.Tweaks.DisableSuperfetch.HasValue) {
-                if (CurrentSilentConfig.Tweaks.DisableSuperfetch.Value) {
+            if (CurrentSilentConfig.Tweaks.DisableSuperfetch.HasValue)
+            {
+                if (CurrentSilentConfig.Tweaks.DisableSuperfetch.Value)
+                {
                     OptimizeHelper.DisableSuperfetch();
                     OptimizeHelper.DisableSuperfetch();
                 }
                 }
-                else {
+                else
+                {
                     OptimizeHelper.EnableSuperfetch();
                     OptimizeHelper.EnableSuperfetch();
                 }
                 }
                 OptionsHelper.CurrentOptions.DisableSuperfetch = CurrentSilentConfig.Tweaks.DisableSuperfetch.Value;
                 OptionsHelper.CurrentOptions.DisableSuperfetch = CurrentSilentConfig.Tweaks.DisableSuperfetch.Value;
             }
             }
 
 
-            if (CurrentSilentConfig.Tweaks.DisableTelemetryTasks.HasValue) {
-                if (CurrentSilentConfig.Tweaks.DisableTelemetryTasks.Value) {
+            if (CurrentSilentConfig.Tweaks.DisableTelemetryTasks.HasValue)
+            {
+                if (CurrentSilentConfig.Tweaks.DisableTelemetryTasks.Value)
+                {
                     OptimizeHelper.DisableTelemetryTasks();
                     OptimizeHelper.DisableTelemetryTasks();
                 }
                 }
-                else {
+                else
+                {
                     OptimizeHelper.EnableTelemetryTasks();
                     OptimizeHelper.EnableTelemetryTasks();
                 }
                 }
                 OptionsHelper.CurrentOptions.DisableTelemetryTasks = CurrentSilentConfig.Tweaks.DisableTelemetryTasks.Value;
                 OptionsHelper.CurrentOptions.DisableTelemetryTasks = CurrentSilentConfig.Tweaks.DisableTelemetryTasks.Value;
             }
             }
 
 
-            if (CurrentSilentConfig.Tweaks.DisableOffice2016Telemetry.HasValue) {
-                if (CurrentSilentConfig.Tweaks.DisableOffice2016Telemetry.Value) {
+            if (CurrentSilentConfig.Tweaks.DisableOffice2016Telemetry.HasValue)
+            {
+                if (CurrentSilentConfig.Tweaks.DisableOffice2016Telemetry.Value)
+                {
                     OptimizeHelper.DisableOffice2016Telemetry();
                     OptimizeHelper.DisableOffice2016Telemetry();
                 }
                 }
-                else {
+                else
+                {
                     OptimizeHelper.EnableOffice2016Telemetry();
                     OptimizeHelper.EnableOffice2016Telemetry();
                 }
                 }
                 OptionsHelper.CurrentOptions.DisableOffice2016Telemetry = CurrentSilentConfig.Tweaks.DisableOffice2016Telemetry.Value;
                 OptionsHelper.CurrentOptions.DisableOffice2016Telemetry = CurrentSilentConfig.Tweaks.DisableOffice2016Telemetry.Value;
             }
             }
 
 
-            if (CurrentSilentConfig.Tweaks.DisableCompatibilityAssistant.HasValue) {
-                if (CurrentSilentConfig.Tweaks.DisableCompatibilityAssistant.Value) {
+            if (CurrentSilentConfig.Tweaks.DisableCompatibilityAssistant.HasValue)
+            {
+                if (CurrentSilentConfig.Tweaks.DisableCompatibilityAssistant.Value)
+                {
                     OptimizeHelper.DisableCompatibilityAssistant();
                     OptimizeHelper.DisableCompatibilityAssistant();
                 }
                 }
-                else {
+                else
+                {
                     OptimizeHelper.EnableCompatibilityAssistant();
                     OptimizeHelper.EnableCompatibilityAssistant();
                 }
                 }
                 OptionsHelper.CurrentOptions.DisableCompatibilityAssistant = CurrentSilentConfig.Tweaks.DisableCompatibilityAssistant.Value;
                 OptionsHelper.CurrentOptions.DisableCompatibilityAssistant = CurrentSilentConfig.Tweaks.DisableCompatibilityAssistant.Value;
             }
             }
 
 
-            if (CurrentSilentConfig.Tweaks.DisableFaxService.HasValue) {
-                if (CurrentSilentConfig.Tweaks.DisableFaxService.Value) {
+            if (CurrentSilentConfig.Tweaks.DisableFaxService.HasValue)
+            {
+                if (CurrentSilentConfig.Tweaks.DisableFaxService.Value)
+                {
                     OptimizeHelper.DisableFaxService();
                     OptimizeHelper.DisableFaxService();
                 }
                 }
-                else {
+                else
+                {
                     OptimizeHelper.EnableFaxService();
                     OptimizeHelper.EnableFaxService();
                 }
                 }
                 OptionsHelper.CurrentOptions.DisableFaxService = CurrentSilentConfig.Tweaks.DisableFaxService.Value;
                 OptionsHelper.CurrentOptions.DisableFaxService = CurrentSilentConfig.Tweaks.DisableFaxService.Value;
             }
             }
 
 
-            if (CurrentSilentConfig.Tweaks.DisableSmartScreen.HasValue) {
-                if (CurrentSilentConfig.Tweaks.DisableSmartScreen.Value) {
+            if (CurrentSilentConfig.Tweaks.DisableSmartScreen.HasValue)
+            {
+                if (CurrentSilentConfig.Tweaks.DisableSmartScreen.Value)
+                {
                     OptimizeHelper.DisableSmartScreen();
                     OptimizeHelper.DisableSmartScreen();
                 }
                 }
-                else {
+                else
+                {
                     OptimizeHelper.EnableSmartScreen();
                     OptimizeHelper.EnableSmartScreen();
                 }
                 }
                 OptionsHelper.CurrentOptions.DisableSmartScreen = CurrentSilentConfig.Tweaks.DisableSmartScreen.Value;
                 OptionsHelper.CurrentOptions.DisableSmartScreen = CurrentSilentConfig.Tweaks.DisableSmartScreen.Value;
             }
             }
 
 
-            if (CurrentSilentConfig.Tweaks.DisableStickyKeys.HasValue) {
-                if (CurrentSilentConfig.Tweaks.DisableStickyKeys.Value) {
+            if (CurrentSilentConfig.Tweaks.DisableStickyKeys.HasValue)
+            {
+                if (CurrentSilentConfig.Tweaks.DisableStickyKeys.Value)
+                {
                     OptimizeHelper.DisableStickyKeys();
                     OptimizeHelper.DisableStickyKeys();
                 }
                 }
-                else {
+                else
+                {
                     OptimizeHelper.EnableStickyKeys();
                     OptimizeHelper.EnableStickyKeys();
                 }
                 }
                 OptionsHelper.CurrentOptions.DisableStickyKeys = CurrentSilentConfig.Tweaks.DisableStickyKeys.Value;
                 OptionsHelper.CurrentOptions.DisableStickyKeys = CurrentSilentConfig.Tweaks.DisableStickyKeys.Value;
             }
             }
 
 
-            if (CurrentSilentConfig.Tweaks.DisableHibernation.HasValue) {
-                if (CurrentSilentConfig.Tweaks.DisableHibernation.Value) {
+            if (CurrentSilentConfig.Tweaks.DisableHibernation.HasValue)
+            {
+                if (CurrentSilentConfig.Tweaks.DisableHibernation.Value)
+                {
                     Utilities.DisableHibernation();
                     Utilities.DisableHibernation();
                 }
                 }
-                else {
+                else
+                {
                     Utilities.EnableHibernation();
                     Utilities.EnableHibernation();
                 }
                 }
                 OptionsHelper.CurrentOptions.DisableHibernation = CurrentSilentConfig.Tweaks.DisableHibernation.Value;
                 OptionsHelper.CurrentOptions.DisableHibernation = CurrentSilentConfig.Tweaks.DisableHibernation.Value;
             }
             }
 
 
-            if (CurrentSilentConfig.Tweaks.DisableSMB1.HasValue) {
-                if (CurrentSilentConfig.Tweaks.DisableSMB1.Value) {
+            if (CurrentSilentConfig.Tweaks.DisableSMB1.HasValue)
+            {
+                if (CurrentSilentConfig.Tweaks.DisableSMB1.Value)
+                {
                     OptimizeHelper.DisableSMB("1");
                     OptimizeHelper.DisableSMB("1");
                 }
                 }
-                else {
+                else
+                {
                     OptimizeHelper.EnableSMB("1");
                     OptimizeHelper.EnableSMB("1");
                 }
                 }
                 OptionsHelper.CurrentOptions.DisableSMB1 = CurrentSilentConfig.Tweaks.DisableSMB1.Value;
                 OptionsHelper.CurrentOptions.DisableSMB1 = CurrentSilentConfig.Tweaks.DisableSMB1.Value;
             }
             }
 
 
-            if (CurrentSilentConfig.Tweaks.DisableSMB2.HasValue) {
-                if (CurrentSilentConfig.Tweaks.DisableSMB2.Value) {
+            if (CurrentSilentConfig.Tweaks.DisableSMB2.HasValue)
+            {
+                if (CurrentSilentConfig.Tweaks.DisableSMB2.Value)
+                {
                     OptimizeHelper.DisableSMB("2");
                     OptimizeHelper.DisableSMB("2");
                 }
                 }
-                else {
+                else
+                {
                     OptimizeHelper.EnableSMB("2");
                     OptimizeHelper.EnableSMB("2");
                 }
                 }
                 OptionsHelper.CurrentOptions.DisableSMB2 = CurrentSilentConfig.Tweaks.DisableSMB2.Value;
                 OptionsHelper.CurrentOptions.DisableSMB2 = CurrentSilentConfig.Tweaks.DisableSMB2.Value;
             }
             }
 
 
-            if (CurrentSilentConfig.Tweaks.DisableNTFSTimeStamp.HasValue) {
-                if (CurrentSilentConfig.Tweaks.DisableNTFSTimeStamp.Value) {
+            if (CurrentSilentConfig.Tweaks.DisableNTFSTimeStamp.HasValue)
+            {
+                if (CurrentSilentConfig.Tweaks.DisableNTFSTimeStamp.Value)
+                {
                     OptimizeHelper.DisableNTFSTimeStamp();
                     OptimizeHelper.DisableNTFSTimeStamp();
                 }
                 }
-                else {
+                else
+                {
                     OptimizeHelper.EnableNTFSTimeStamp();
                     OptimizeHelper.EnableNTFSTimeStamp();
                 }
                 }
                 OptionsHelper.CurrentOptions.DisableNTFSTimeStamp = CurrentSilentConfig.Tweaks.DisableNTFSTimeStamp.Value;
                 OptionsHelper.CurrentOptions.DisableNTFSTimeStamp = CurrentSilentConfig.Tweaks.DisableNTFSTimeStamp.Value;
             }
             }
 
 
-            if (CurrentSilentConfig.Tweaks.DisableSearch.HasValue) {
-                if (CurrentSilentConfig.Tweaks.DisableSearch.Value) {
+            if (CurrentSilentConfig.Tweaks.DisableSearch.HasValue)
+            {
+                if (CurrentSilentConfig.Tweaks.DisableSearch.Value)
+                {
                     OptimizeHelper.DisableSearch();
                     OptimizeHelper.DisableSearch();
                 }
                 }
-                else {
+                else
+                {
                     OptimizeHelper.EnableSearch();
                     OptimizeHelper.EnableSearch();
                 }
                 }
                 OptionsHelper.CurrentOptions.DisableSearch = CurrentSilentConfig.Tweaks.DisableSearch.Value;
                 OptionsHelper.CurrentOptions.DisableSearch = CurrentSilentConfig.Tweaks.DisableSearch.Value;
             }
             }
 
 
-            if (CurrentSilentConfig.Tweaks.DisableChromeTelemetry.HasValue) {
-                if (CurrentSilentConfig.Tweaks.DisableChromeTelemetry.Value) {
+            if (CurrentSilentConfig.Tweaks.DisableChromeTelemetry.HasValue)
+            {
+                if (CurrentSilentConfig.Tweaks.DisableChromeTelemetry.Value)
+                {
                     OptimizeHelper.DisableChromeTelemetry();
                     OptimizeHelper.DisableChromeTelemetry();
                 }
                 }
-                else {
+                else
+                {
                     OptimizeHelper.EnableChromeTelemetry();
                     OptimizeHelper.EnableChromeTelemetry();
                 }
                 }
                 OptionsHelper.CurrentOptions.DisableChromeTelemetry = CurrentSilentConfig.Tweaks.DisableChromeTelemetry.Value;
                 OptionsHelper.CurrentOptions.DisableChromeTelemetry = CurrentSilentConfig.Tweaks.DisableChromeTelemetry.Value;
             }
             }
 
 
-            if (CurrentSilentConfig.Tweaks.DisableFirefoxTemeletry.HasValue) {
-                if (CurrentSilentConfig.Tweaks.DisableFirefoxTemeletry.Value) {
+            if (CurrentSilentConfig.Tweaks.DisableFirefoxTemeletry.HasValue)
+            {
+                if (CurrentSilentConfig.Tweaks.DisableFirefoxTemeletry.Value)
+                {
                     OptimizeHelper.DisableFirefoxTelemetry();
                     OptimizeHelper.DisableFirefoxTelemetry();
                 }
                 }
-                else {
+                else
+                {
                     OptimizeHelper.EnableFirefoxTelemetry();
                     OptimizeHelper.EnableFirefoxTelemetry();
                 }
                 }
                 OptionsHelper.CurrentOptions.DisableFirefoxTemeletry = CurrentSilentConfig.Tweaks.DisableFirefoxTemeletry.Value;
                 OptionsHelper.CurrentOptions.DisableFirefoxTemeletry = CurrentSilentConfig.Tweaks.DisableFirefoxTemeletry.Value;
             }
             }
 
 
-            if (CurrentSilentConfig.Tweaks.DisableVisualStudioTelemetry.HasValue) {
-                if (CurrentSilentConfig.Tweaks.DisableVisualStudioTelemetry.Value) {
+            if (CurrentSilentConfig.Tweaks.DisableVisualStudioTelemetry.HasValue)
+            {
+                if (CurrentSilentConfig.Tweaks.DisableVisualStudioTelemetry.Value)
+                {
                     OptimizeHelper.DisableVisualStudioTelemetry();
                     OptimizeHelper.DisableVisualStudioTelemetry();
                 }
                 }
-                else {
+                else
+                {
                     OptimizeHelper.EnableVisualStudioTelemetry();
                     OptimizeHelper.EnableVisualStudioTelemetry();
                 }
                 }
                 OptionsHelper.CurrentOptions.DisableVisualStudioTelemetry = CurrentSilentConfig.Tweaks.DisableVisualStudioTelemetry.Value;
                 OptionsHelper.CurrentOptions.DisableVisualStudioTelemetry = CurrentSilentConfig.Tweaks.DisableVisualStudioTelemetry.Value;
             }
             }
 
 
-            if (CurrentSilentConfig.Tweaks.DisableNVIDIATelemetry.HasValue) {
-                if (CurrentSilentConfig.Tweaks.DisableNVIDIATelemetry.Value) {
+            if (CurrentSilentConfig.Tweaks.DisableNVIDIATelemetry.HasValue)
+            {
+                if (CurrentSilentConfig.Tweaks.DisableNVIDIATelemetry.Value)
+                {
                     OptimizeHelper.DisableNvidiaTelemetry();
                     OptimizeHelper.DisableNvidiaTelemetry();
                 }
                 }
-                else {
+                else
+                {
                     OptimizeHelper.EnableNvidiaTelemetry();
                     OptimizeHelper.EnableNvidiaTelemetry();
                 }
                 }
                 OptionsHelper.CurrentOptions.DisableNVIDIATelemetry = CurrentSilentConfig.Tweaks.DisableNVIDIATelemetry.Value;
                 OptionsHelper.CurrentOptions.DisableNVIDIATelemetry = CurrentSilentConfig.Tweaks.DisableNVIDIATelemetry.Value;
             }
             }
+
+            if (CurrentSilentConfig.Tweaks.RemoveMenusDelay.HasValue)
+            {
+                if (CurrentSilentConfig.Tweaks.RemoveMenusDelay.Value)
+                {
+                    OptimizeHelper.RemoveMenusDelay();
+                }
+                else
+                {
+                    OptimizeHelper.RestoreMenusDelay();
+                }
+                OptionsHelper.CurrentOptions.RemoveMenusDelay = CurrentSilentConfig.Tweaks.RemoveMenusDelay.Value;
+            }
+
+            if (CurrentSilentConfig.Tweaks.ShowAllTrayIcons.HasValue)
+            {
+                if (CurrentSilentConfig.Tweaks.ShowAllTrayIcons.Value)
+                {
+                    OptimizeHelper.ShowAllTrayIcons();
+                }
+                else
+                {
+                    OptimizeHelper.HideTrayIcons();
+                }
+                OptionsHelper.CurrentOptions.ShowAllTrayIcons = CurrentSilentConfig.Tweaks.ShowAllTrayIcons.Value;
+            }
+
+            if (CurrentSilentConfig.Tweaks.EnableUtcTime.HasValue)
+            {
+                if (CurrentSilentConfig.Tweaks.EnableUtcTime.Value)
+                {
+                    OptimizeHelper.EnableUTCTime();
+                }
+                else
+                {
+                    OptimizeHelper.DisableUTCTime();
+                }
+                OptionsHelper.CurrentOptions.EnableUtcTime = CurrentSilentConfig.Tweaks.EnableUtcTime.Value;
+            }
         }
         }
         #endregion
         #endregion
 
 
         #region Windows 8 Tweaks
         #region Windows 8 Tweaks
-        internal static void ProcessTweaksWindows8() {
-            if (CurrentSilentConfig.Tweaks.DisableOneDrive.HasValue) {
-                if (CurrentSilentConfig.Tweaks.DisableOneDrive.Value) {
+        internal static void ProcessTweaksWindows8()
+        {
+            if (CurrentSilentConfig.Tweaks.DisableOneDrive.HasValue)
+            {
+                if (CurrentSilentConfig.Tweaks.DisableOneDrive.Value)
+                {
                     OptimizeHelper.DisableOneDrive();
                     OptimizeHelper.DisableOneDrive();
                 }
                 }
-                else {
+                else
+                {
                     OptimizeHelper.EnableOneDrive();
                     OptimizeHelper.EnableOneDrive();
                 }
                 }
                 OptionsHelper.CurrentOptions.DisableOneDrive = CurrentSilentConfig.Tweaks.DisableOneDrive.Value;
                 OptionsHelper.CurrentOptions.DisableOneDrive = CurrentSilentConfig.Tweaks.DisableOneDrive.Value;
@@ -568,346 +750,502 @@ namespace Optimizer {
         #endregion
         #endregion
 
 
         #region Windows 10 Tweaks
         #region Windows 10 Tweaks
-        internal static void ProcessTweaksWindows10() {
-            if (CurrentSilentConfig.Tweaks.EnableGamingMode.HasValue) {
-                if (CurrentSilentConfig.Tweaks.EnableGamingMode.Value) {
+        internal static void ProcessTweaksWindows10()
+        {
+            if (CurrentSilentConfig.Tweaks.EnableGamingMode.HasValue)
+            {
+                if (CurrentSilentConfig.Tweaks.EnableGamingMode.Value)
+                {
                     OptimizeHelper.EnableGamingMode();
                     OptimizeHelper.EnableGamingMode();
                 }
                 }
-                else {
+                else
+                {
                     OptimizeHelper.DisableGamingMode();
                     OptimizeHelper.DisableGamingMode();
                 }
                 }
                 OptionsHelper.CurrentOptions.EnableGamingMode = CurrentSilentConfig.Tweaks.EnableGamingMode.Value;
                 OptionsHelper.CurrentOptions.EnableGamingMode = CurrentSilentConfig.Tweaks.EnableGamingMode.Value;
             }
             }
 
 
-            if (CurrentSilentConfig.Tweaks.EnableLegacyVolumeSlider.HasValue) {
-                if (CurrentSilentConfig.Tweaks.EnableLegacyVolumeSlider.Value) {
+            if (CurrentSilentConfig.Tweaks.EnableLegacyVolumeSlider.HasValue)
+            {
+                if (CurrentSilentConfig.Tweaks.EnableLegacyVolumeSlider.Value)
+                {
                     OptimizeHelper.EnableLegacyVolumeSlider();
                     OptimizeHelper.EnableLegacyVolumeSlider();
                 }
                 }
-                else {
+                else
+                {
                     OptimizeHelper.DisableLegacyVolumeSlider();
                     OptimizeHelper.DisableLegacyVolumeSlider();
                 }
                 }
                 OptionsHelper.CurrentOptions.EnableLegacyVolumeSlider = CurrentSilentConfig.Tweaks.EnableLegacyVolumeSlider.Value;
                 OptionsHelper.CurrentOptions.EnableLegacyVolumeSlider = CurrentSilentConfig.Tweaks.EnableLegacyVolumeSlider.Value;
             }
             }
 
 
-            if (CurrentSilentConfig.Tweaks.DisableQuickAccessHistory.HasValue) {
-                if (CurrentSilentConfig.Tweaks.DisableQuickAccessHistory.Value) {
+            if (CurrentSilentConfig.Tweaks.DisableQuickAccessHistory.HasValue)
+            {
+                if (CurrentSilentConfig.Tweaks.DisableQuickAccessHistory.Value)
+                {
                     OptimizeHelper.DisableQuickAccessHistory();
                     OptimizeHelper.DisableQuickAccessHistory();
                 }
                 }
-                else {
+                else
+                {
                     OptimizeHelper.EnableQuickAccessHistory();
                     OptimizeHelper.EnableQuickAccessHistory();
                 }
                 }
                 OptionsHelper.CurrentOptions.DisableQuickAccessHistory = CurrentSilentConfig.Tweaks.DisableQuickAccessHistory.Value;
                 OptionsHelper.CurrentOptions.DisableQuickAccessHistory = CurrentSilentConfig.Tweaks.DisableQuickAccessHistory.Value;
             }
             }
 
 
-            if (CurrentSilentConfig.Tweaks.DisableStartMenuAds.HasValue) {
-                if (CurrentSilentConfig.Tweaks.DisableStartMenuAds.Value) {
+            if (CurrentSilentConfig.Tweaks.DisableStartMenuAds.HasValue)
+            {
+                if (CurrentSilentConfig.Tweaks.DisableStartMenuAds.Value)
+                {
                     OptimizeHelper.DisableStartMenuAds();
                     OptimizeHelper.DisableStartMenuAds();
                 }
                 }
-                else {
+                else
+                {
                     OptimizeHelper.EnableStartMenuAds();
                     OptimizeHelper.EnableStartMenuAds();
                 }
                 }
                 OptionsHelper.CurrentOptions.DisableStartMenuAds = CurrentSilentConfig.Tweaks.DisableStartMenuAds.Value;
                 OptionsHelper.CurrentOptions.DisableStartMenuAds = CurrentSilentConfig.Tweaks.DisableStartMenuAds.Value;
             }
             }
 
 
-            if (CurrentSilentConfig.Tweaks.UninstallOneDrive.HasValue) {
-                if (CurrentSilentConfig.Tweaks.UninstallOneDrive.Value) {
+            if (CurrentSilentConfig.Tweaks.UninstallOneDrive.HasValue)
+            {
+                if (CurrentSilentConfig.Tweaks.UninstallOneDrive.Value)
+                {
                     OptimizeHelper.UninstallOneDrive();
                     OptimizeHelper.UninstallOneDrive();
                 }
                 }
-                else {
+                else
+                {
                     OptimizeHelper.InstallOneDrive();
                     OptimizeHelper.InstallOneDrive();
                 }
                 }
                 OptionsHelper.CurrentOptions.UninstallOneDrive = CurrentSilentConfig.Tweaks.UninstallOneDrive.Value;
                 OptionsHelper.CurrentOptions.UninstallOneDrive = CurrentSilentConfig.Tweaks.UninstallOneDrive.Value;
             }
             }
 
 
-            if (CurrentSilentConfig.Tweaks.DisableMyPeople.HasValue) {
-                if (CurrentSilentConfig.Tweaks.DisableMyPeople.Value) {
+            if (CurrentSilentConfig.Tweaks.DisableMyPeople.HasValue)
+            {
+                if (CurrentSilentConfig.Tweaks.DisableMyPeople.Value)
+                {
                     OptimizeHelper.DisableMyPeople();
                     OptimizeHelper.DisableMyPeople();
                 }
                 }
-                else {
+                else
+                {
                     OptimizeHelper.EnableMyPeople();
                     OptimizeHelper.EnableMyPeople();
                 }
                 }
                 OptionsHelper.CurrentOptions.DisableMyPeople = CurrentSilentConfig.Tweaks.DisableMyPeople.Value;
                 OptionsHelper.CurrentOptions.DisableMyPeople = CurrentSilentConfig.Tweaks.DisableMyPeople.Value;
             }
             }
 
 
-            if (CurrentSilentConfig.Tweaks.EnableLongPaths.HasValue) {
-                if (CurrentSilentConfig.Tweaks.EnableLongPaths.Value) {
+            if (CurrentSilentConfig.Tweaks.EnableLongPaths.HasValue)
+            {
+                if (CurrentSilentConfig.Tweaks.EnableLongPaths.Value)
+                {
                     OptimizeHelper.EnableLongPaths();
                     OptimizeHelper.EnableLongPaths();
                 }
                 }
-                else {
+                else
+                {
                     OptimizeHelper.DisableLongPaths();
                     OptimizeHelper.DisableLongPaths();
                 }
                 }
                 OptionsHelper.CurrentOptions.EnableLongPaths = CurrentSilentConfig.Tweaks.EnableLongPaths.Value;
                 OptionsHelper.CurrentOptions.EnableLongPaths = CurrentSilentConfig.Tweaks.EnableLongPaths.Value;
             }
             }
 
 
-            if (CurrentSilentConfig.Tweaks.DisableAutomaticUpdates.HasValue) {
-                if (CurrentSilentConfig.Tweaks.DisableAutomaticUpdates.Value) {
+            if (CurrentSilentConfig.Tweaks.DisableAutomaticUpdates.HasValue)
+            {
+                if (CurrentSilentConfig.Tweaks.DisableAutomaticUpdates.Value)
+                {
                     OptimizeHelper.DisableAutomaticUpdates();
                     OptimizeHelper.DisableAutomaticUpdates();
                 }
                 }
-                else {
+                else
+                {
                     OptimizeHelper.EnableAutomaticUpdates();
                     OptimizeHelper.EnableAutomaticUpdates();
                 }
                 }
                 OptionsHelper.CurrentOptions.DisableAutomaticUpdates = CurrentSilentConfig.Tweaks.DisableAutomaticUpdates.Value;
                 OptionsHelper.CurrentOptions.DisableAutomaticUpdates = CurrentSilentConfig.Tweaks.DisableAutomaticUpdates.Value;
             }
             }
 
 
-            if (CurrentSilentConfig.Tweaks.ExcludeDrivers.HasValue) {
-                if (CurrentSilentConfig.Tweaks.ExcludeDrivers.Value) {
+            if (CurrentSilentConfig.Tweaks.ExcludeDrivers.HasValue)
+            {
+                if (CurrentSilentConfig.Tweaks.ExcludeDrivers.Value)
+                {
                     OptimizeHelper.ExcludeDrivers();
                     OptimizeHelper.ExcludeDrivers();
                 }
                 }
-                else {
+                else
+                {
                     OptimizeHelper.IncludeDrivers();
                     OptimizeHelper.IncludeDrivers();
                 }
                 }
                 OptionsHelper.CurrentOptions.ExcludeDrivers = CurrentSilentConfig.Tweaks.ExcludeDrivers.Value;
                 OptionsHelper.CurrentOptions.ExcludeDrivers = CurrentSilentConfig.Tweaks.ExcludeDrivers.Value;
             }
             }
 
 
-            if (CurrentSilentConfig.Tweaks.DisableTelemetryServices.HasValue) {
-                if (CurrentSilentConfig.Tweaks.DisableTelemetryServices.Value) {
+            if (CurrentSilentConfig.Tweaks.DisableTelemetryServices.HasValue)
+            {
+                if (CurrentSilentConfig.Tweaks.DisableTelemetryServices.Value)
+                {
                     OptimizeHelper.DisableTelemetryServices();
                     OptimizeHelper.DisableTelemetryServices();
                 }
                 }
-                else {
+                else
+                {
                     OptimizeHelper.EnableTelemetryServices();
                     OptimizeHelper.EnableTelemetryServices();
                 }
                 }
                 OptionsHelper.CurrentOptions.DisableTelemetryServices = CurrentSilentConfig.Tweaks.DisableTelemetryServices.Value;
                 OptionsHelper.CurrentOptions.DisableTelemetryServices = CurrentSilentConfig.Tweaks.DisableTelemetryServices.Value;
             }
             }
 
 
-            if (CurrentSilentConfig.Tweaks.DisablePrivacyOptions.HasValue) {
-                if (CurrentSilentConfig.Tweaks.DisablePrivacyOptions.Value) {
+            if (CurrentSilentConfig.Tweaks.DisablePrivacyOptions.HasValue)
+            {
+                if (CurrentSilentConfig.Tweaks.DisablePrivacyOptions.Value)
+                {
                     OptimizeHelper.EnhancePrivacy();
                     OptimizeHelper.EnhancePrivacy();
                 }
                 }
-                else {
+                else
+                {
                     OptimizeHelper.CompromisePrivacy();
                     OptimizeHelper.CompromisePrivacy();
                 }
                 }
                 OptionsHelper.CurrentOptions.DisablePrivacyOptions = CurrentSilentConfig.Tweaks.DisablePrivacyOptions.Value;
                 OptionsHelper.CurrentOptions.DisablePrivacyOptions = CurrentSilentConfig.Tweaks.DisablePrivacyOptions.Value;
             }
             }
 
 
-            if (CurrentSilentConfig.Tweaks.DisableCortana.HasValue) {
-                if (CurrentSilentConfig.Tweaks.DisableCortana.Value) {
+            if (CurrentSilentConfig.Tweaks.DisableCortana.HasValue)
+            {
+                if (CurrentSilentConfig.Tweaks.DisableCortana.Value)
+                {
                     OptimizeHelper.DisableCortana();
                     OptimizeHelper.DisableCortana();
                 }
                 }
-                else {
+                else
+                {
                     OptimizeHelper.EnableCortana();
                     OptimizeHelper.EnableCortana();
                 }
                 }
                 OptionsHelper.CurrentOptions.DisableCortana = CurrentSilentConfig.Tweaks.DisableCortana.Value;
                 OptionsHelper.CurrentOptions.DisableCortana = CurrentSilentConfig.Tweaks.DisableCortana.Value;
             }
             }
 
 
-            if (CurrentSilentConfig.Tweaks.DisableSensorServices.HasValue) {
-                if (CurrentSilentConfig.Tweaks.DisableSensorServices.Value) {
+            if (CurrentSilentConfig.Tweaks.DisableSensorServices.HasValue)
+            {
+                if (CurrentSilentConfig.Tweaks.DisableSensorServices.Value)
+                {
                     OptimizeHelper.DisableSensorServices();
                     OptimizeHelper.DisableSensorServices();
                 }
                 }
-                else {
+                else
+                {
                     OptimizeHelper.EnableSensorServices();
                     OptimizeHelper.EnableSensorServices();
                 }
                 }
                 OptionsHelper.CurrentOptions.DisableSensorServices = CurrentSilentConfig.Tweaks.DisableSensorServices.Value;
                 OptionsHelper.CurrentOptions.DisableSensorServices = CurrentSilentConfig.Tweaks.DisableSensorServices.Value;
             }
             }
 
 
-            if (CurrentSilentConfig.Tweaks.DisableWindowsInk.HasValue) {
-                if (CurrentSilentConfig.Tweaks.DisableWindowsInk.Value) {
+            if (CurrentSilentConfig.Tweaks.DisableWindowsInk.HasValue)
+            {
+                if (CurrentSilentConfig.Tweaks.DisableWindowsInk.Value)
+                {
                     OptimizeHelper.DisableWindowsInk();
                     OptimizeHelper.DisableWindowsInk();
                 }
                 }
-                else {
+                else
+                {
                     OptimizeHelper.EnableWindowsInk();
                     OptimizeHelper.EnableWindowsInk();
                 }
                 }
                 OptionsHelper.CurrentOptions.DisableWindowsInk = CurrentSilentConfig.Tweaks.DisableWindowsInk.Value;
                 OptionsHelper.CurrentOptions.DisableWindowsInk = CurrentSilentConfig.Tweaks.DisableWindowsInk.Value;
             }
             }
 
 
-            if (CurrentSilentConfig.Tweaks.DisableSpellingTyping.HasValue) {
-                if (CurrentSilentConfig.Tweaks.DisableSpellingTyping.Value) {
+            if (CurrentSilentConfig.Tweaks.DisableSpellingTyping.HasValue)
+            {
+                if (CurrentSilentConfig.Tweaks.DisableSpellingTyping.Value)
+                {
                     OptimizeHelper.DisableSpellingAndTypingFeatures();
                     OptimizeHelper.DisableSpellingAndTypingFeatures();
                 }
                 }
-                else {
+                else
+                {
                     OptimizeHelper.EnableSpellingAndTypingFeatures();
                     OptimizeHelper.EnableSpellingAndTypingFeatures();
                 }
                 }
                 OptionsHelper.CurrentOptions.DisableSpellingTyping = CurrentSilentConfig.Tweaks.DisableSpellingTyping.Value;
                 OptionsHelper.CurrentOptions.DisableSpellingTyping = CurrentSilentConfig.Tweaks.DisableSpellingTyping.Value;
             }
             }
 
 
-            if (CurrentSilentConfig.Tweaks.DisableXboxLive.HasValue) {
-                if (CurrentSilentConfig.Tweaks.DisableXboxLive.Value) {
+            if (CurrentSilentConfig.Tweaks.DisableXboxLive.HasValue)
+            {
+                if (CurrentSilentConfig.Tweaks.DisableXboxLive.Value)
+                {
                     OptimizeHelper.DisableXboxLive();
                     OptimizeHelper.DisableXboxLive();
                 }
                 }
-                else {
+                else
+                {
                     OptimizeHelper.EnableXboxLive();
                     OptimizeHelper.EnableXboxLive();
                 }
                 }
                 OptionsHelper.CurrentOptions.DisableXboxLive = CurrentSilentConfig.Tweaks.DisableXboxLive.Value;
                 OptionsHelper.CurrentOptions.DisableXboxLive = CurrentSilentConfig.Tweaks.DisableXboxLive.Value;
             }
             }
 
 
-            if (CurrentSilentConfig.Tweaks.DisableGameBar.HasValue) {
-                if (CurrentSilentConfig.Tweaks.DisableGameBar.Value) {
+            if (CurrentSilentConfig.Tweaks.DisableGameBar.HasValue)
+            {
+                if (CurrentSilentConfig.Tweaks.DisableGameBar.Value)
+                {
                     OptimizeHelper.DisableGameBar();
                     OptimizeHelper.DisableGameBar();
                 }
                 }
-                else {
+                else
+                {
                     OptimizeHelper.EnableGameBar();
                     OptimizeHelper.EnableGameBar();
                 }
                 }
                 OptionsHelper.CurrentOptions.DisableGameBar = CurrentSilentConfig.Tweaks.DisableGameBar.Value;
                 OptionsHelper.CurrentOptions.DisableGameBar = CurrentSilentConfig.Tweaks.DisableGameBar.Value;
             }
             }
 
 
-            if (CurrentSilentConfig.Tweaks.DisableInsiderService.HasValue) {
-                if (CurrentSilentConfig.Tweaks.DisableInsiderService.Value) {
+            if (CurrentSilentConfig.Tweaks.DisableInsiderService.HasValue)
+            {
+                if (CurrentSilentConfig.Tweaks.DisableInsiderService.Value)
+                {
                     OptimizeHelper.DisableInsiderService();
                     OptimizeHelper.DisableInsiderService();
                 }
                 }
-                else {
+                else
+                {
                     OptimizeHelper.EnableInsiderService();
                     OptimizeHelper.EnableInsiderService();
                 }
                 }
                 OptionsHelper.CurrentOptions.DisableInsiderService = CurrentSilentConfig.Tweaks.DisableInsiderService.Value;
                 OptionsHelper.CurrentOptions.DisableInsiderService = CurrentSilentConfig.Tweaks.DisableInsiderService.Value;
             }
             }
 
 
-            if (CurrentSilentConfig.Tweaks.DisableStoreUpdates.HasValue) {
-                if (CurrentSilentConfig.Tweaks.DisableStoreUpdates.Value) {
+            if (CurrentSilentConfig.Tweaks.DisableStoreUpdates.HasValue)
+            {
+                if (CurrentSilentConfig.Tweaks.DisableStoreUpdates.Value)
+                {
                     OptimizeHelper.DisableStoreUpdates();
                     OptimizeHelper.DisableStoreUpdates();
                 }
                 }
-                else {
+                else
+                {
                     OptimizeHelper.EnableStoreUpdates();
                     OptimizeHelper.EnableStoreUpdates();
                 }
                 }
                 OptionsHelper.CurrentOptions.DisableStoreUpdates = CurrentSilentConfig.Tweaks.DisableStoreUpdates.Value;
                 OptionsHelper.CurrentOptions.DisableStoreUpdates = CurrentSilentConfig.Tweaks.DisableStoreUpdates.Value;
             }
             }
 
 
-            if (CurrentSilentConfig.Tweaks.DisableCloudClipboard.HasValue) {
-                if (CurrentSilentConfig.Tweaks.DisableCloudClipboard.Value) {
+            if (CurrentSilentConfig.Tweaks.DisableCloudClipboard.HasValue)
+            {
+                if (CurrentSilentConfig.Tweaks.DisableCloudClipboard.Value)
+                {
                     OptimizeHelper.DisableCloudClipboard();
                     OptimizeHelper.DisableCloudClipboard();
                 }
                 }
-                else {
+                else
+                {
                     OptimizeHelper.EnableCloudClipboard();
                     OptimizeHelper.EnableCloudClipboard();
                 }
                 }
                 OptionsHelper.CurrentOptions.DisableCloudClipboard = CurrentSilentConfig.Tweaks.DisableCloudClipboard.Value;
                 OptionsHelper.CurrentOptions.DisableCloudClipboard = CurrentSilentConfig.Tweaks.DisableCloudClipboard.Value;
             }
             }
 
 
-            if (CurrentSilentConfig.Tweaks.RemoveCastToDevice.HasValue) {
-                if (CurrentSilentConfig.Tweaks.RemoveCastToDevice.Value) {
+            if (CurrentSilentConfig.Tweaks.RemoveCastToDevice.HasValue)
+            {
+                if (CurrentSilentConfig.Tweaks.RemoveCastToDevice.Value)
+                {
                     OptimizeHelper.RemoveCastToDevice();
                     OptimizeHelper.RemoveCastToDevice();
                 }
                 }
-                else {
+                else
+                {
                     OptimizeHelper.AddCastToDevice();
                     OptimizeHelper.AddCastToDevice();
                 }
                 }
                 OptionsHelper.CurrentOptions.RemoveCastToDevice = CurrentSilentConfig.Tweaks.RemoveCastToDevice.Value;
                 OptionsHelper.CurrentOptions.RemoveCastToDevice = CurrentSilentConfig.Tweaks.RemoveCastToDevice.Value;
             }
             }
 
 
-            if (CurrentSilentConfig.Tweaks.DisableEdgeTelemetry.HasValue) {
-                if (CurrentSilentConfig.Tweaks.DisableEdgeTelemetry.Value) {
+            if (CurrentSilentConfig.Tweaks.DisableEdgeTelemetry.HasValue)
+            {
+                if (CurrentSilentConfig.Tweaks.DisableEdgeTelemetry.Value)
+                {
                     OptimizeHelper.DisableEdgeTelemetry();
                     OptimizeHelper.DisableEdgeTelemetry();
                 }
                 }
-                else {
+                else
+                {
                     OptimizeHelper.EnableEdgeTelemetry();
                     OptimizeHelper.EnableEdgeTelemetry();
                 }
                 }
                 OptionsHelper.CurrentOptions.DisableEdgeTelemetry = CurrentSilentConfig.Tweaks.DisableEdgeTelemetry.Value;
                 OptionsHelper.CurrentOptions.DisableEdgeTelemetry = CurrentSilentConfig.Tweaks.DisableEdgeTelemetry.Value;
             }
             }
 
 
-            if (CurrentSilentConfig.Tweaks.DisableEdgeDiscoverBar.HasValue) {
-                if (CurrentSilentConfig.Tweaks.DisableEdgeDiscoverBar.Value) {
+            if (CurrentSilentConfig.Tweaks.DisableEdgeDiscoverBar.HasValue)
+            {
+                if (CurrentSilentConfig.Tweaks.DisableEdgeDiscoverBar.Value)
+                {
                     OptimizeHelper.DisableEdgeDiscoverBar();
                     OptimizeHelper.DisableEdgeDiscoverBar();
                 }
                 }
-                else {
+                else
+                {
                     OptimizeHelper.EnableEdgeDiscoverBar();
                     OptimizeHelper.EnableEdgeDiscoverBar();
                 }
                 }
                 OptionsHelper.CurrentOptions.DisableEdgeDiscoverBar = CurrentSilentConfig.Tweaks.DisableEdgeDiscoverBar.Value;
                 OptionsHelper.CurrentOptions.DisableEdgeDiscoverBar = CurrentSilentConfig.Tweaks.DisableEdgeDiscoverBar.Value;
             }
             }
 
 
-            if (CurrentSilentConfig.Tweaks.RestoreClassicPhotoViewer.HasValue) {
-                if (CurrentSilentConfig.Tweaks.RestoreClassicPhotoViewer.Value) {
+            if (CurrentSilentConfig.Tweaks.RestoreClassicPhotoViewer.HasValue)
+            {
+                if (CurrentSilentConfig.Tweaks.RestoreClassicPhotoViewer.Value)
+                {
                     OptimizeHelper.RestoreClassicPhotoViewer();
                     OptimizeHelper.RestoreClassicPhotoViewer();
                 }
                 }
-                else {
+                else
+                {
                     OptimizeHelper.DisableClassicPhotoViewer();
                     OptimizeHelper.DisableClassicPhotoViewer();
                 }
                 }
                 OptionsHelper.CurrentOptions.RestoreClassicPhotoViewer = CurrentSilentConfig.Tweaks.RestoreClassicPhotoViewer.Value;
                 OptionsHelper.CurrentOptions.RestoreClassicPhotoViewer = CurrentSilentConfig.Tweaks.RestoreClassicPhotoViewer.Value;
             }
             }
+
+            if (CurrentSilentConfig.Tweaks.DisableNewsInterests.HasValue)
+            {
+                if (CurrentSilentConfig.Tweaks.DisableNewsInterests.Value)
+                {
+                    OptimizeHelper.DisableNewsInterests();
+                }
+                else
+                {
+                    OptimizeHelper.EnableNewsInterests();
+                }
+                OptionsHelper.CurrentOptions.DisableNewsInterests = CurrentSilentConfig.Tweaks.DisableNewsInterests.Value;
+            }
+
+            if (CurrentSilentConfig.Tweaks.HideTaskbarSearch.HasValue)
+            {
+                if (CurrentSilentConfig.Tweaks.HideTaskbarSearch.Value)
+                {
+                    OptimizeHelper.HideTaskbarSearch();
+                }
+                else
+                {
+                    OptimizeHelper.ShowTaskbarSearch();
+                }
+                OptionsHelper.CurrentOptions.HideTaskbarSearch = CurrentSilentConfig.Tweaks.HideTaskbarSearch.Value;
+            }
+
+            if (CurrentSilentConfig.Tweaks.HideTaskbarWeather.HasValue)
+            {
+                if (CurrentSilentConfig.Tweaks.HideTaskbarWeather.Value)
+                {
+                    OptimizeHelper.HideTaskbarWeather();
+                }
+                else
+                {
+                    OptimizeHelper.ShowTaskbarWeather();
+                }
+                OptionsHelper.CurrentOptions.HideTaskbarWeather = CurrentSilentConfig.Tweaks.HideTaskbarWeather.Value;
+            }
+
+            if (CurrentSilentConfig.Tweaks.DisableModernStandby.HasValue)
+            {
+                if (CurrentSilentConfig.Tweaks.DisableModernStandby.Value)
+                {
+                    OptimizeHelper.DisableModernStandby();
+                }
+                else
+                {
+                    OptimizeHelper.EnableModernStandby();
+                }
+                OptionsHelper.CurrentOptions.DisableModernStandby = CurrentSilentConfig.Tweaks.DisableModernStandby.Value;
+            }
         }
         }
         #endregion
         #endregion
 
 
         #region Windows 11 Tweaks
         #region Windows 11 Tweaks
-        internal static void ProcessTweaksWindows11() {
-            if (CurrentSilentConfig.Tweaks.TaskbarToLeft.HasValue) {
-                if (CurrentSilentConfig.Tweaks.TaskbarToLeft.Value) {
+        internal static void ProcessTweaksWindows11()
+        {
+            if (CurrentSilentConfig.Tweaks.TaskbarToLeft.HasValue)
+            {
+                if (CurrentSilentConfig.Tweaks.TaskbarToLeft.Value)
+                {
                     OptimizeHelper.AlignTaskbarToLeft();
                     OptimizeHelper.AlignTaskbarToLeft();
                 }
                 }
-                else {
+                else
+                {
                     OptimizeHelper.AlignTaskbarToCenter();
                     OptimizeHelper.AlignTaskbarToCenter();
                 }
                 }
                 OptionsHelper.CurrentOptions.TaskbarToLeft = CurrentSilentConfig.Tweaks.TaskbarToLeft.Value;
                 OptionsHelper.CurrentOptions.TaskbarToLeft = CurrentSilentConfig.Tweaks.TaskbarToLeft.Value;
             }
             }
 
 
-            if (CurrentSilentConfig.Tweaks.DisableStickers.HasValue) {
-                if (CurrentSilentConfig.Tweaks.DisableStickers.Value) {
+            if (CurrentSilentConfig.Tweaks.DisableStickers.HasValue)
+            {
+                if (CurrentSilentConfig.Tweaks.DisableStickers.Value)
+                {
                     OptimizeHelper.DisableStickers();
                     OptimizeHelper.DisableStickers();
                 }
                 }
-                else {
+                else
+                {
                     OptimizeHelper.EnableStickers();
                     OptimizeHelper.EnableStickers();
                 }
                 }
                 OptionsHelper.CurrentOptions.DisableStickers = CurrentSilentConfig.Tweaks.DisableStickers.Value;
                 OptionsHelper.CurrentOptions.DisableStickers = CurrentSilentConfig.Tweaks.DisableStickers.Value;
             }
             }
 
 
-            if (CurrentSilentConfig.Tweaks.CompactMode.HasValue) {
-                if (CurrentSilentConfig.Tweaks.CompactMode.Value) {
+            if (CurrentSilentConfig.Tweaks.CompactMode.HasValue)
+            {
+                if (CurrentSilentConfig.Tweaks.CompactMode.Value)
+                {
                     OptimizeHelper.EnableFilesCompactMode();
                     OptimizeHelper.EnableFilesCompactMode();
                 }
                 }
-                else {
+                else
+                {
                     OptimizeHelper.DisableFilesCompactMode();
                     OptimizeHelper.DisableFilesCompactMode();
                 }
                 }
                 OptionsHelper.CurrentOptions.CompactMode = CurrentSilentConfig.Tweaks.CompactMode.Value;
                 OptionsHelper.CurrentOptions.CompactMode = CurrentSilentConfig.Tweaks.CompactMode.Value;
             }
             }
 
 
-            if (CurrentSilentConfig.Tweaks.DisableSnapAssist.HasValue) {
-                if (CurrentSilentConfig.Tweaks.DisableSnapAssist.Value) {
+            if (CurrentSilentConfig.Tweaks.DisableSnapAssist.HasValue)
+            {
+                if (CurrentSilentConfig.Tweaks.DisableSnapAssist.Value)
+                {
                     OptimizeHelper.DisableSnapAssist();
                     OptimizeHelper.DisableSnapAssist();
                 }
                 }
-                else {
+                else
+                {
                     OptimizeHelper.EnableSnapAssist();
                     OptimizeHelper.EnableSnapAssist();
                 }
                 }
                 OptionsHelper.CurrentOptions.DisableSnapAssist = CurrentSilentConfig.Tweaks.DisableSnapAssist.Value;
                 OptionsHelper.CurrentOptions.DisableSnapAssist = CurrentSilentConfig.Tweaks.DisableSnapAssist.Value;
             }
             }
 
 
-            if (CurrentSilentConfig.Tweaks.DisableWidgets.HasValue) {
-                if (CurrentSilentConfig.Tweaks.DisableWidgets.Value) {
+            if (CurrentSilentConfig.Tweaks.DisableWidgets.HasValue)
+            {
+                if (CurrentSilentConfig.Tweaks.DisableWidgets.Value)
+                {
                     OptimizeHelper.DisableWidgets();
                     OptimizeHelper.DisableWidgets();
                 }
                 }
-                else {
+                else
+                {
                     OptimizeHelper.EnableWidgets();
                     OptimizeHelper.EnableWidgets();
                 }
                 }
                 OptionsHelper.CurrentOptions.DisableWidgets = CurrentSilentConfig.Tweaks.DisableWidgets.Value;
                 OptionsHelper.CurrentOptions.DisableWidgets = CurrentSilentConfig.Tweaks.DisableWidgets.Value;
             }
             }
 
 
-            if (CurrentSilentConfig.Tweaks.DisableChat.HasValue) {
-                if (CurrentSilentConfig.Tweaks.DisableChat.Value) {
+            if (CurrentSilentConfig.Tweaks.DisableChat.HasValue)
+            {
+                if (CurrentSilentConfig.Tweaks.DisableChat.Value)
+                {
                     OptimizeHelper.DisableChat();
                     OptimizeHelper.DisableChat();
                 }
                 }
-                else {
+                else
+                {
                     OptimizeHelper.EnableChat();
                     OptimizeHelper.EnableChat();
                 }
                 }
                 OptionsHelper.CurrentOptions.DisableChat = CurrentSilentConfig.Tweaks.DisableChat.Value;
                 OptionsHelper.CurrentOptions.DisableChat = CurrentSilentConfig.Tweaks.DisableChat.Value;
             }
             }
 
 
-            if (CurrentSilentConfig.Tweaks.DisableVirtualizationBasedTechnology.HasValue) {
-                if (CurrentSilentConfig.Tweaks.DisableVirtualizationBasedTechnology.Value) {
+            if (CurrentSilentConfig.Tweaks.DisableVirtualizationBasedTechnology.HasValue)
+            {
+                if (CurrentSilentConfig.Tweaks.DisableVirtualizationBasedTechnology.Value)
+                {
                     OptimizeHelper.DisableVirtualizationBasedSecurity();
                     OptimizeHelper.DisableVirtualizationBasedSecurity();
                 }
                 }
-                else {
+                else
+                {
                     OptimizeHelper.EnableVirtualizationBasedSecurity();
                     OptimizeHelper.EnableVirtualizationBasedSecurity();
                 }
                 }
                 OptionsHelper.CurrentOptions.DisableVBS = CurrentSilentConfig.Tweaks.DisableVirtualizationBasedTechnology.Value;
                 OptionsHelper.CurrentOptions.DisableVBS = CurrentSilentConfig.Tweaks.DisableVirtualizationBasedTechnology.Value;
             }
             }
 
 
-            if (CurrentSilentConfig.Tweaks.ClassicMenu.HasValue) {
-                if (CurrentSilentConfig.Tweaks.ClassicMenu.Value) {
+            if (CurrentSilentConfig.Tweaks.ClassicMenu.HasValue)
+            {
+                if (CurrentSilentConfig.Tweaks.ClassicMenu.Value)
+                {
                     OptimizeHelper.DisableShowMoreOptions();
                     OptimizeHelper.DisableShowMoreOptions();
                 }
                 }
-                else {
+                else
+                {
                     OptimizeHelper.EnableShowMoreOptions();
                     OptimizeHelper.EnableShowMoreOptions();
                 }
                 }
                 OptionsHelper.CurrentOptions.ClassicMenu = CurrentSilentConfig.Tweaks.ClassicMenu.Value;
                 OptionsHelper.CurrentOptions.ClassicMenu = CurrentSilentConfig.Tweaks.ClassicMenu.Value;
             }
             }
 
 
-            if (CurrentSilentConfig.Tweaks.DisableTPMCheck.HasValue) {
-                if (CurrentSilentConfig.Tweaks.DisableTPMCheck.Value) {
+            if (CurrentSilentConfig.Tweaks.DisableTPMCheck.HasValue)
+            {
+                if (CurrentSilentConfig.Tweaks.DisableTPMCheck.Value)
+                {
                     OptimizeHelper.DisableTPMCheck();
                     OptimizeHelper.DisableTPMCheck();
                 }
                 }
-                else {
+                else
+                {
                     OptimizeHelper.EnableTPMCheck();
                     OptimizeHelper.EnableTPMCheck();
                 }
                 }
                 OptionsHelper.CurrentOptions.DisableTPMCheck = CurrentSilentConfig.Tweaks.DisableTPMCheck.Value;
                 OptionsHelper.CurrentOptions.DisableTPMCheck = CurrentSilentConfig.Tweaks.DisableTPMCheck.Value;
             }
             }
 
 
-            if (CurrentSilentConfig.Tweaks.DisableCoPilotAI.HasValue) {
-                if (CurrentSilentConfig.Tweaks.DisableCoPilotAI.Value) {
+            if (CurrentSilentConfig.Tweaks.DisableCoPilotAI.HasValue)
+            {
+                if (CurrentSilentConfig.Tweaks.DisableCoPilotAI.Value)
+                {
                     OptimizeHelper.DisableCoPilotAI();
                     OptimizeHelper.DisableCoPilotAI();
                 }
                 }
-                else {
+                else
+                {
                     OptimizeHelper.EnableCoPilotAI();
                     OptimizeHelper.EnableCoPilotAI();
                 }
                 }
                 OptionsHelper.CurrentOptions.DisableCoPilotAI = CurrentSilentConfig.Tweaks.DisableCoPilotAI.Value;
                 OptionsHelper.CurrentOptions.DisableCoPilotAI = CurrentSilentConfig.Tweaks.DisableCoPilotAI.Value;

+ 60 - 30
Optimizer/StartupHelper.cs

@@ -4,8 +4,10 @@ using System.Collections.Generic;
 using System.IO;
 using System.IO;
 using System.Linq;
 using System.Linq;
 
 
-namespace Optimizer {
-    internal static class StartupHelper {
+namespace Optimizer
+{
+    internal static class StartupHelper
+    {
         internal static readonly string LocalMachineRun = "Software\\Microsoft\\Windows\\CurrentVersion\\Run";
         internal static readonly string LocalMachineRun = "Software\\Microsoft\\Windows\\CurrentVersion\\Run";
         internal static readonly string LocalMachineRunOnce = "Software\\Microsoft\\Windows\\CurrentVersion\\RunOnce";
         internal static readonly string LocalMachineRunOnce = "Software\\Microsoft\\Windows\\CurrentVersion\\RunOnce";
         internal static readonly string LocalMachineRunWoW = "Software\\Wow6432Node\\Microsoft\\Windows\\CurrentVersion\\Run";
         internal static readonly string LocalMachineRunWoW = "Software\\Wow6432Node\\Microsoft\\Windows\\CurrentVersion\\Run";
@@ -16,50 +18,65 @@ namespace Optimizer {
         internal static readonly string LocalMachineStartupFolder = CleanHelper.ProgramData + "\\Microsoft\\Windows\\Start Menu\\Programs\\Startup";
         internal static readonly string LocalMachineStartupFolder = CleanHelper.ProgramData + "\\Microsoft\\Windows\\Start Menu\\Programs\\Startup";
         internal static readonly string CurrentUserStartupFolder = CleanHelper.ProfileAppDataRoaming + "\\Microsoft\\Windows\\Start Menu\\Programs\\Startup";
         internal static readonly string CurrentUserStartupFolder = CleanHelper.ProfileAppDataRoaming + "\\Microsoft\\Windows\\Start Menu\\Programs\\Startup";
 
 
-        private static void GetRegistryStartupItemsHelper(ref List<StartupItem> list, StartupItemLocation location, StartupItemType type) {
+        private static void GetRegistryStartupItemsHelper(ref List<StartupItem> list, StartupItemLocation location, StartupItemType type)
+        {
             string keyPath = string.Empty;
             string keyPath = string.Empty;
             RegistryKey hive = null;
             RegistryKey hive = null;
 
 
-            if (location == StartupItemLocation.HKLM) {
+            if (location == StartupItemLocation.HKLM)
+            {
                 hive = Registry.LocalMachine;
                 hive = Registry.LocalMachine;
 
 
-                if (type == StartupItemType.Run) {
+                if (type == StartupItemType.Run)
+                {
                     keyPath = LocalMachineRun;
                     keyPath = LocalMachineRun;
                 }
                 }
-                else if (type == StartupItemType.RunOnce) {
+                else if (type == StartupItemType.RunOnce)
+                {
                     keyPath = LocalMachineRunOnce;
                     keyPath = LocalMachineRunOnce;
                 }
                 }
             }
             }
-            else if (location == StartupItemLocation.HKLMWoW) {
+            else if (location == StartupItemLocation.HKLMWoW)
+            {
                 hive = Registry.LocalMachine;
                 hive = Registry.LocalMachine;
 
 
-                if (type == StartupItemType.Run) {
+                if (type == StartupItemType.Run)
+                {
                     keyPath = LocalMachineRunWoW;
                     keyPath = LocalMachineRunWoW;
                 }
                 }
-                else if (type == StartupItemType.RunOnce) {
+                else if (type == StartupItemType.RunOnce)
+                {
                     keyPath = LocalMachineRunOnceWow;
                     keyPath = LocalMachineRunOnceWow;
                 }
                 }
             }
             }
-            else if (location == StartupItemLocation.HKCU) {
+            else if (location == StartupItemLocation.HKCU)
+            {
                 hive = Registry.CurrentUser;
                 hive = Registry.CurrentUser;
 
 
-                if (type == StartupItemType.Run) {
+                if (type == StartupItemType.Run)
+                {
                     keyPath = CurrentUserRun;
                     keyPath = CurrentUserRun;
                 }
                 }
-                else if (type == StartupItemType.RunOnce) {
+                else if (type == StartupItemType.RunOnce)
+                {
                     keyPath = CurrentUserRunOnce;
                     keyPath = CurrentUserRunOnce;
                 }
                 }
             }
             }
 
 
-            if (hive != null) {
-                try {
+            if (hive != null)
+            {
+                try
+                {
                     RegistryKey key = hive.OpenSubKey(keyPath, true);
                     RegistryKey key = hive.OpenSubKey(keyPath, true);
 
 
-                    if (key != null) {
+                    if (key != null)
+                    {
                         string[] valueNames = key.GetValueNames();
                         string[] valueNames = key.GetValueNames();
 
 
-                        foreach (string x in valueNames) {
-                            try {
+                        foreach (string x in valueNames)
+                        {
+                            try
+                            {
                                 RegistryStartupItem item = new RegistryStartupItem();
                                 RegistryStartupItem item = new RegistryStartupItem();
                                 item.Name = x;
                                 item.Name = x;
                                 item.FileLocation = key.GetValue(x).ToString();
                                 item.FileLocation = key.GetValue(x).ToString();
@@ -69,21 +86,26 @@ namespace Optimizer {
 
 
                                 list.Add(item);
                                 list.Add(item);
                             }
                             }
-                            catch (Exception ex) {
+                            catch (Exception ex)
+                            {
                                 Logger.LogError("Utilities.GetRegistryStartupItemsHelper", ex.Message, ex.StackTrace);
                                 Logger.LogError("Utilities.GetRegistryStartupItemsHelper", ex.Message, ex.StackTrace);
                             }
                             }
                         }
                         }
                     }
                     }
                 }
                 }
-                catch (Exception ex) {
+                catch (Exception ex)
+                {
                     Logger.LogError("Utilities.GetRegistryStartupItemsHelper", ex.Message, ex.StackTrace);
                     Logger.LogError("Utilities.GetRegistryStartupItemsHelper", ex.Message, ex.StackTrace);
                 }
                 }
             }
             }
         }
         }
 
 
-        private static void GetFolderStartupItemsHelper(ref List<StartupItem> list, IEnumerable<string> files, IEnumerable<string> shortcuts, StartupItemLocation folderOrigin) {
-            foreach (string file in files) {
-                try {
+        private static void GetFolderStartupItemsHelper(ref List<StartupItem> list, IEnumerable<string> files, IEnumerable<string> shortcuts, StartupItemLocation folderOrigin)
+        {
+            foreach (string file in files)
+            {
+                try
+                {
                     FolderStartupItem item = new FolderStartupItem();
                     FolderStartupItem item = new FolderStartupItem();
                     item.Name = Path.GetFileNameWithoutExtension(file);
                     item.Name = Path.GetFileNameWithoutExtension(file);
                     item.FileLocation = file;
                     item.FileLocation = file;
@@ -92,13 +114,16 @@ namespace Optimizer {
 
 
                     list.Add(item);
                     list.Add(item);
                 }
                 }
-                catch (Exception ex) {
+                catch (Exception ex)
+                {
                     Logger.LogError("Utilities.GetFolderStartupItemsHelper", ex.Message, ex.StackTrace);
                     Logger.LogError("Utilities.GetFolderStartupItemsHelper", ex.Message, ex.StackTrace);
                 }
                 }
             }
             }
 
 
-            foreach (string shortcut in shortcuts) {
-                try {
+            foreach (string shortcut in shortcuts)
+            {
+                try
+                {
                     FolderStartupItem item = new FolderStartupItem();
                     FolderStartupItem item = new FolderStartupItem();
                     item.Name = Path.GetFileNameWithoutExtension(shortcut);
                     item.Name = Path.GetFileNameWithoutExtension(shortcut);
                     item.FileLocation = Utilities.GetShortcutTargetFile(shortcut);
                     item.FileLocation = Utilities.GetShortcutTargetFile(shortcut);
@@ -107,13 +132,15 @@ namespace Optimizer {
 
 
                     list.Add(item);
                     list.Add(item);
                 }
                 }
-                catch (Exception ex) {
+                catch (Exception ex)
+                {
                     Logger.LogError("Utilities.GetFolderStartupItemsHelper", ex.Message, ex.StackTrace);
                     Logger.LogError("Utilities.GetFolderStartupItemsHelper", ex.Message, ex.StackTrace);
                 }
                 }
             }
             }
         }
         }
 
 
-        internal static List<StartupItem> GetStartupItems() {
+        internal static List<StartupItem> GetStartupItems()
+        {
             List<StartupItem> startupItems = new List<StartupItem>();
             List<StartupItem> startupItems = new List<StartupItem>();
 
 
             GetRegistryStartupItemsHelper(ref startupItems, StartupItemLocation.HKLM, StartupItemType.Run);
             GetRegistryStartupItemsHelper(ref startupItems, StartupItemLocation.HKLM, StartupItemType.Run);
@@ -122,12 +149,14 @@ namespace Optimizer {
             GetRegistryStartupItemsHelper(ref startupItems, StartupItemLocation.HKCU, StartupItemType.Run);
             GetRegistryStartupItemsHelper(ref startupItems, StartupItemLocation.HKCU, StartupItemType.Run);
             GetRegistryStartupItemsHelper(ref startupItems, StartupItemLocation.HKCU, StartupItemType.RunOnce);
             GetRegistryStartupItemsHelper(ref startupItems, StartupItemLocation.HKCU, StartupItemType.RunOnce);
 
 
-            if (Environment.Is64BitOperatingSystem) {
+            if (Environment.Is64BitOperatingSystem)
+            {
                 GetRegistryStartupItemsHelper(ref startupItems, StartupItemLocation.HKLMWoW, StartupItemType.Run);
                 GetRegistryStartupItemsHelper(ref startupItems, StartupItemLocation.HKLMWoW, StartupItemType.Run);
                 GetRegistryStartupItemsHelper(ref startupItems, StartupItemLocation.HKLMWoW, StartupItemType.RunOnce);
                 GetRegistryStartupItemsHelper(ref startupItems, StartupItemLocation.HKLMWoW, StartupItemType.RunOnce);
             }
             }
 
 
-            if (Directory.Exists(CurrentUserStartupFolder)) {
+            if (Directory.Exists(CurrentUserStartupFolder))
+            {
                 IEnumerable<string> currentUserFiles = Directory.EnumerateFiles(CurrentUserStartupFolder, "*.*", SearchOption.AllDirectories)
                 IEnumerable<string> currentUserFiles = Directory.EnumerateFiles(CurrentUserStartupFolder, "*.*", SearchOption.AllDirectories)
                     .Where(s => s.EndsWith(".exe") || s.EndsWith(".bat") || s.EndsWith(".cmd"));
                     .Where(s => s.EndsWith(".exe") || s.EndsWith(".bat") || s.EndsWith(".cmd"));
 
 
@@ -136,7 +165,8 @@ namespace Optimizer {
                 GetFolderStartupItemsHelper(ref startupItems, currentUserFiles, currentUserShortcuts, StartupItemLocation.CUStartupFolder);
                 GetFolderStartupItemsHelper(ref startupItems, currentUserFiles, currentUserShortcuts, StartupItemLocation.CUStartupFolder);
             }
             }
 
 
-            if (Directory.Exists(LocalMachineStartupFolder)) {
+            if (Directory.Exists(LocalMachineStartupFolder))
+            {
                 IEnumerable<string> localMachineFiles = Directory.EnumerateFiles(LocalMachineStartupFolder, "*.*", SearchOption.AllDirectories)
                 IEnumerable<string> localMachineFiles = Directory.EnumerateFiles(LocalMachineStartupFolder, "*.*", SearchOption.AllDirectories)
                     .Where(s => s.EndsWith(".exe") || s.EndsWith(".bat") || s.EndsWith(".cmd"));
                     .Where(s => s.EndsWith(".exe") || s.EndsWith(".bat") || s.EndsWith(".cmd"));
 
 

+ 1 - 1
Optimizer/TelemetryHelper.cs

@@ -14,7 +14,7 @@
 
 
 //        internal static HttpClient TelemetryClient;
 //        internal static HttpClient TelemetryClient;
 
 
-//        internal const string TELEMETRY_API_URL = "https://optimizer-telemetry-handler.azurewebsites.net/telemetry.php";
+//        internal const string TELEMETRY_API_URL = "";
 //        internal const string TELEMETRY_KEY = @"{OPTIMIZER-0EFC7B8A-D1FC-467F-B4B1-0117C643FE19-TELEMETRY}";
 //        internal const string TELEMETRY_KEY = @"{OPTIMIZER-0EFC7B8A-D1FC-467F-B4B1-0117C643FE19-TELEMETRY}";
 
 
 //        internal static async void EnableTelemetryService()
 //        internal static async void EnableTelemetryService()

+ 24 - 12
Optimizer/TokenPrivilegeHelper.cs

@@ -2,12 +2,15 @@
 using System.Runtime.InteropServices;
 using System.Runtime.InteropServices;
 using System.Security;
 using System.Security;
 
 
-namespace Optimizer {
+namespace Optimizer
+{
     /*
     /*
      *  Allows clients to obtain a Windows token privilege for a well-defined scope simply by "using" an instance of this class.
      *  Allows clients to obtain a Windows token privilege for a well-defined scope simply by "using" an instance of this class.
      */
      */
-    sealed class TokenPrivilegeHelper : IDisposable {
-        private enum PrivilegeAction : uint {
+    sealed class TokenPrivilegeHelper : IDisposable
+    {
+        private enum PrivilegeAction : uint
+        {
             Disable = 0x0,
             Disable = 0x0,
             Enable = 0x2
             Enable = 0x2
         }
         }
@@ -18,25 +21,29 @@ namespace Optimizer {
 
 
         private readonly string privilegeName;
         private readonly string privilegeName;
 
 
-        private TokenPrivilegeHelper(string privilegeName) {
+        private TokenPrivilegeHelper(string privilegeName)
+        {
             this.privilegeName = privilegeName;
             this.privilegeName = privilegeName;
             Apply(PrivilegeAction.Enable);
             Apply(PrivilegeAction.Enable);
         }
         }
 
 
-        private void Apply(PrivilegeAction action) {
+        private void Apply(PrivilegeAction action)
+        {
             OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, out IntPtr tokenHandle);
             OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, out IntPtr tokenHandle);
             LookupPrivilegeValue(null, privilegeName, out Luid luid);
             LookupPrivilegeValue(null, privilegeName, out Luid luid);
             var tokenPrivilege = new TokenPrivileges(luid, (uint)action);
             var tokenPrivilege = new TokenPrivileges(luid, (uint)action);
             UpdateTokenPrivileges(tokenHandle, tokenPrivilege);
             UpdateTokenPrivileges(tokenHandle, tokenPrivilege);
         }
         }
 
 
-        private void UpdateTokenPrivileges(IntPtr tokenHandle, TokenPrivileges privilegeInfo) {
+        private void UpdateTokenPrivileges(IntPtr tokenHandle, TokenPrivileges privilegeInfo)
+        {
             bool successful = AdjustTokenPrivileges(tokenHandle, false, ref privilegeInfo, 0, IntPtr.Zero, IntPtr.Zero);
             bool successful = AdjustTokenPrivileges(tokenHandle, false, ref privilegeInfo, 0, IntPtr.Zero, IntPtr.Zero);
             if (!successful || Marshal.GetLastWin32Error() == ERROR_NOT_ALL_ASSIGNED)
             if (!successful || Marshal.GetLastWin32Error() == ERROR_NOT_ALL_ASSIGNED)
                 throw new SecurityException($"Can't adjust token privilege {privilegeName}");
                 throw new SecurityException($"Can't adjust token privilege {privilegeName}");
         }
         }
 
 
-        public void Dispose() {
+        public void Dispose()
+        {
             Apply(PrivilegeAction.Disable);
             Apply(PrivilegeAction.Disable);
         }
         }
 
 
@@ -44,9 +51,11 @@ namespace Optimizer {
         private const int ERROR_NOT_ALL_ASSIGNED = 1300;
         private const int ERROR_NOT_ALL_ASSIGNED = 1300;
 
 
         [StructLayout(LayoutKind.Sequential)]
         [StructLayout(LayoutKind.Sequential)]
-        private struct TokenPrivileges {
+        private struct TokenPrivileges
+        {
             // We can use this struct only with one privilege since CLR doesn't support marshalling dynamic-sized arrays
             // We can use this struct only with one privilege since CLR doesn't support marshalling dynamic-sized arrays
-            public TokenPrivileges(Luid luid, uint attributes) {
+            public TokenPrivileges(Luid luid, uint attributes)
+            {
                 Count = 1;
                 Count = 1;
                 Privileges = new[] {
                 Privileges = new[] {
                     new LuidAndAttributes(luid, attributes)
                     new LuidAndAttributes(luid, attributes)
@@ -59,8 +68,10 @@ namespace Optimizer {
         }
         }
 
 
         [StructLayout(LayoutKind.Sequential)]
         [StructLayout(LayoutKind.Sequential)]
-        private readonly struct LuidAndAttributes {
-            public LuidAndAttributes(Luid luid, uint attributes) {
+        private readonly struct LuidAndAttributes
+        {
+            public LuidAndAttributes(Luid luid, uint attributes)
+            {
                 Luid = luid;
                 Luid = luid;
                 Attributes = attributes;
                 Attributes = attributes;
             }
             }
@@ -70,7 +81,8 @@ namespace Optimizer {
         }
         }
 
 
         [StructLayout(LayoutKind.Sequential)]
         [StructLayout(LayoutKind.Sequential)]
-        private readonly struct Luid {
+        private readonly struct Luid
+        {
             private readonly uint LowPart;
             private readonly uint LowPart;
             private readonly int HighPart;
             private readonly int HighPart;
         }
         }

+ 30 - 15
Optimizer/UWPHelper.cs

@@ -2,36 +2,47 @@
 using System.Collections.ObjectModel;
 using System.Collections.ObjectModel;
 using System.Management.Automation;
 using System.Management.Automation;
 
 
-namespace Optimizer {
-    internal static class UWPHelper {
-        internal static List<KeyValuePair<string, string>> GetUWPApps(bool showAll) {
+namespace Optimizer
+{
+    internal static class UWPHelper
+    {
+        internal static List<KeyValuePair<string, string>> GetUWPApps(bool showAll)
+        {
             List<KeyValuePair<string, string>> modernApps = new List<KeyValuePair<string, string>>();
             List<KeyValuePair<string, string>> modernApps = new List<KeyValuePair<string, string>>();
-            if (Utilities.CurrentWindowsVersion == WindowsVersion.Windows8) {
+            if (Utilities.CurrentWindowsVersion == WindowsVersion.Windows8)
+            {
                 showAll = true;
                 showAll = true;
             }
             }
 
 
-            using (PowerShell script = PowerShell.Create()) {
-                if (showAll) {
+            using (PowerShell script = PowerShell.Create())
+            {
+                if (showAll)
+                {
                     script.AddScript("Get-AppxPackage | Select Name,InstallLocation");
                     script.AddScript("Get-AppxPackage | Select Name,InstallLocation");
                 }
                 }
-                else {
+                else
+                {
                     script.AddScript(@"Get-AppxPackage | Where {$_.NonRemovable -like ""False""} | Select  Name,InstallLocation");
                     script.AddScript(@"Get-AppxPackage | Where {$_.NonRemovable -like ""False""} | Select  Name,InstallLocation");
                 }
                 }
 
 
                 string[] tmp;
                 string[] tmp;
                 Collection<PSObject> psResult;
                 Collection<PSObject> psResult;
-                try {
+                try
+                {
                     psResult = script.Invoke();
                     psResult = script.Invoke();
                 }
                 }
-                catch {
+                catch
+                {
                     return modernApps;
                     return modernApps;
                 }
                 }
 
 
                 if (psResult == null) return modernApps;
                 if (psResult == null) return modernApps;
 
 
-                foreach (PSObject x in psResult) {
+                foreach (PSObject x in psResult)
+                {
                     tmp = x.ToString().Replace("@", string.Empty).Replace("{", string.Empty).Replace("}", string.Empty).Replace("Name=", string.Empty).Replace("InstallLocation=", string.Empty).Trim().Split(';');
                     tmp = x.ToString().Replace("@", string.Empty).Replace("{", string.Empty).Replace("}", string.Empty).Replace("Name=", string.Empty).Replace("InstallLocation=", string.Empty).Trim().Split(';');
-                    if (!modernApps.Exists(i => i.Key == tmp[0])) {
+                    if (!modernApps.Exists(i => i.Key == tmp[0]))
+                    {
                         modernApps.Add(new KeyValuePair<string, string>(tmp[0], tmp[1]));
                         modernApps.Add(new KeyValuePair<string, string>(tmp[0], tmp[1]));
                     }
                     }
                 }
                 }
@@ -40,8 +51,10 @@ namespace Optimizer {
             return modernApps;
             return modernApps;
         }
         }
 
 
-        internal static bool UninstallUWPApp(string appName) {
-            using (PowerShell script = PowerShell.Create()) {
+        internal static bool UninstallUWPApp(string appName)
+        {
+            using (PowerShell script = PowerShell.Create())
+            {
                 script.AddScript(string.Format("Get-AppxPackage -AllUsers '{0}' | Remove-AppxPackage", appName));
                 script.AddScript(string.Format("Get-AppxPackage -AllUsers '{0}' | Remove-AppxPackage", appName));
                 script.Invoke();
                 script.Invoke();
                 return script.Streams.Error.Count > 0;
                 return script.Streams.Error.Count > 0;
@@ -51,10 +64,12 @@ namespace Optimizer {
             }
             }
         }
         }
 
 
-        internal static bool RestoreAllUWPApps() {
+        internal static bool RestoreAllUWPApps()
+        {
             string cmd = "Get-AppxPackage -AllUsers | Foreach {Add-AppxPackage -DisableDevelopmentMode -Register \"$($_.InstallLocation)\\AppXManifest.xml\"}";
             string cmd = "Get-AppxPackage -AllUsers | Foreach {Add-AppxPackage -DisableDevelopmentMode -Register \"$($_.InstallLocation)\\AppXManifest.xml\"}";
 
 
-            using (PowerShell script = PowerShell.Create()) {
+            using (PowerShell script = PowerShell.Create())
+            {
                 script.AddScript(cmd);
                 script.AddScript(cmd);
                 script.Invoke();
                 script.Invoke();
                 return script.Streams.Error.Count > 0;
                 return script.Streams.Error.Count > 0;

+ 321 - 157
Optimizer/Utilities.cs

@@ -12,8 +12,10 @@ using System.Threading;
 using System.Threading.Tasks;
 using System.Threading.Tasks;
 using System.Windows.Forms;
 using System.Windows.Forms;
 
 
-namespace Optimizer {
-    internal static class Utilities {
+namespace Optimizer
+{
+    internal static class Utilities
+    {
         // DEPRECATED
         // DEPRECATED
         //internal readonly static string DefaultEdgeDownloadFolder = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.UserProfile), "Downloads");
         //internal readonly static string DefaultEdgeDownloadFolder = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.UserProfile), "Downloads");
 
 
@@ -24,19 +26,24 @@ namespace Optimizer {
 
 
         internal delegate void SetControlPropertyThreadSafeDelegate(Control control, string propertyName, object propertyValue);
         internal delegate void SetControlPropertyThreadSafeDelegate(Control control, string propertyName, object propertyValue);
 
 
-        internal static void SetControlPropertyThreadSafe(Control control, string propertyName, object propertyValue) {
-            if (control.InvokeRequired) {
+        internal static void SetControlPropertyThreadSafe(Control control, string propertyName, object propertyValue)
+        {
+            if (control.InvokeRequired)
+            {
                 control.Invoke(new SetControlPropertyThreadSafeDelegate(SetControlPropertyThreadSafe), new object[] { control, propertyName, propertyValue });
                 control.Invoke(new SetControlPropertyThreadSafeDelegate(SetControlPropertyThreadSafe), new object[] { control, propertyName, propertyValue });
             }
             }
-            else {
+            else
+            {
                 control.GetType().InvokeMember(propertyName, BindingFlags.SetProperty, null, control, new object[] { propertyValue });
                 control.GetType().InvokeMember(propertyName, BindingFlags.SetProperty, null, control, new object[] { propertyValue });
             }
             }
         }
         }
 
 
-        internal static IEnumerable<Control> GetSelfAndChildrenRecursive(Control parent) {
+        internal static IEnumerable<Control> GetSelfAndChildrenRecursive(Control parent)
+        {
             List<Control> controls = new List<Control>();
             List<Control> controls = new List<Control>();
 
 
-            foreach (Control child in parent.Controls) {
+            foreach (Control child in parent.Controls)
+            {
                 controls.AddRange(GetSelfAndChildrenRecursive(child));
                 controls.AddRange(GetSelfAndChildrenRecursive(child));
             }
             }
 
 
@@ -44,7 +51,8 @@ namespace Optimizer {
             return controls;
             return controls;
         }
         }
 
 
-        internal static Color ToGrayScale(this Color originalColor) {
+        internal static Color ToGrayScale(this Color originalColor)
+        {
             if (originalColor.Equals(Color.Transparent))
             if (originalColor.Equals(Color.Transparent))
                 return originalColor;
                 return originalColor;
 
 
@@ -52,49 +60,63 @@ namespace Optimizer {
             return Color.FromArgb(grayScale, grayScale, grayScale);
             return Color.FromArgb(grayScale, grayScale, grayScale);
         }
         }
 
 
-        internal static string GetWindowsDetails() {
+        internal static string GetWindowsDetails()
+        {
             string bitness = Environment.Is64BitOperatingSystem ? "64-bit" : "32-bit";
             string bitness = Environment.Is64BitOperatingSystem ? "64-bit" : "32-bit";
-            if (CurrentWindowsVersion == WindowsVersion.Windows10 || CurrentWindowsVersion == WindowsVersion.Windows11) {
+            if (CurrentWindowsVersion == WindowsVersion.Windows10 || CurrentWindowsVersion == WindowsVersion.Windows11)
+            {
                 return string.Format("{0} - {1} ({2})", GetOS(), GetWindows10Build(), bitness);
                 return string.Format("{0} - {1} ({2})", GetOS(), GetWindows10Build(), bitness);
             }
             }
-            else {
+            else
+            {
                 return string.Format("{0} - ({1})", GetOS(), bitness);
                 return string.Format("{0} - ({1})", GetOS(), bitness);
             }
             }
         }
         }
 
 
-        internal static string GetWindows10Build() {
+        internal static string GetWindows10Build()
+        {
             return (string)Registry.GetValue("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion", "DisplayVersion", "");
             return (string)Registry.GetValue("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion", "DisplayVersion", "");
         }
         }
 
 
-        internal static string GetOS() {
+        internal static string GetOS()
+        {
             productName = (string)Registry.GetValue("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion", "ProductName", "");
             productName = (string)Registry.GetValue("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion", "ProductName", "");
 
 
-            if (productName.Contains("Windows 7")) {
+            if (productName.Contains("Windows 7"))
+            {
                 CurrentWindowsVersion = WindowsVersion.Windows7;
                 CurrentWindowsVersion = WindowsVersion.Windows7;
             }
             }
-            if ((productName.Contains("Windows 8")) || (productName.Contains("Windows 8.1"))) {
+            if ((productName.Contains("Windows 8")) || (productName.Contains("Windows 8.1")))
+            {
                 CurrentWindowsVersion = WindowsVersion.Windows8;
                 CurrentWindowsVersion = WindowsVersion.Windows8;
             }
             }
-            if (productName.Contains("Windows 10")) {
+            if (productName.Contains("Windows 10"))
+            {
                 buildNumber = (string)Registry.GetValue("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion", "CurrentBuild", "");
                 buildNumber = (string)Registry.GetValue("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion", "CurrentBuild", "");
 
 
-                if (Convert.ToInt32(buildNumber) >= 22000) {
+                if (Convert.ToInt32(buildNumber) >= 22000)
+                {
                     productName = productName.Replace("Windows 10", "Windows 11");
                     productName = productName.Replace("Windows 10", "Windows 11");
                     CurrentWindowsVersion = WindowsVersion.Windows11;
                     CurrentWindowsVersion = WindowsVersion.Windows11;
                 }
                 }
-                else {
+                else
+                {
                     CurrentWindowsVersion = WindowsVersion.Windows10;
                     CurrentWindowsVersion = WindowsVersion.Windows10;
                 }
                 }
             }
             }
 
 
-            if (Program.UNSAFE_MODE) {
-                if (productName.Contains("Windows Server 2008")) {
+            if (Program.UNSAFE_MODE)
+            {
+                if (productName.Contains("Windows Server 2008"))
+                {
                     CurrentWindowsVersion = WindowsVersion.Windows7;
                     CurrentWindowsVersion = WindowsVersion.Windows7;
                 }
                 }
-                if (productName.Contains("Windows Server 2012")) {
+                if (productName.Contains("Windows Server 2012"))
+                {
                     CurrentWindowsVersion = WindowsVersion.Windows8;
                     CurrentWindowsVersion = WindowsVersion.Windows8;
                 }
                 }
-                if (productName.Contains("Windows Server 2016") || productName.Contains("Windows Server 2019") || productName.Contains("Windows Server 2022")) {
+                if (productName.Contains("Windows Server 2016") || productName.Contains("Windows Server 2019") || productName.Contains("Windows Server 2022"))
+                {
                     CurrentWindowsVersion = WindowsVersion.Windows10;
                     CurrentWindowsVersion = WindowsVersion.Windows10;
                 }
                 }
             }
             }
@@ -102,31 +124,38 @@ namespace Optimizer {
             return productName;
             return productName;
         }
         }
 
 
-        internal static string GetBitness() {
+        internal static string GetBitness()
+        {
             string bitness;
             string bitness;
 
 
-            if (Environment.Is64BitOperatingSystem) {
+            if (Environment.Is64BitOperatingSystem)
+            {
                 bitness = "You are working with 64-bit";
                 bitness = "You are working with 64-bit";
             }
             }
-            else {
+            else
+            {
                 bitness = "You are working with 32-bit";
                 bitness = "You are working with 32-bit";
             }
             }
 
 
             return bitness;
             return bitness;
         }
         }
 
 
-        internal static bool IsAdmin() {
+        internal static bool IsAdmin()
+        {
             return new WindowsPrincipal(WindowsIdentity.GetCurrent()).IsInRole(WindowsBuiltInRole.Administrator);
             return new WindowsPrincipal(WindowsIdentity.GetCurrent()).IsInRole(WindowsBuiltInRole.Administrator);
         }
         }
 
 
-        internal static bool IsCompatible() {
+        internal static bool IsCompatible()
+        {
             bool legit;
             bool legit;
             string os = GetOS();
             string os = GetOS();
 
 
-            if ((os.Contains("XP")) || (os.Contains("Vista")) || os.Contains("Server 2003")) {
+            if ((os.Contains("XP")) || (os.Contains("Vista")) || os.Contains("Server 2003"))
+            {
                 legit = false;
                 legit = false;
             }
             }
-            else {
+            else
+            {
                 legit = true;
                 legit = true;
             }
             }
             return legit;
             return legit;
@@ -156,9 +185,12 @@ namespace Optimizer {
         //    Registry.SetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Edge", "DownloadDirectory", path, RegistryValueKind.String);
         //    Registry.SetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Edge", "DownloadDirectory", path, RegistryValueKind.String);
         //}
         //}
 
 
-        internal static void RunBatchFile(string batchFile) {
-            try {
-                using (Process p = new Process()) {
+        internal static void RunBatchFile(string batchFile)
+        {
+            try
+            {
+                using (Process p = new Process())
+                {
                     p.StartInfo.CreateNoWindow = true;
                     p.StartInfo.CreateNoWindow = true;
                     p.StartInfo.FileName = batchFile;
                     p.StartInfo.FileName = batchFile;
                     p.StartInfo.UseShellExecute = false;
                     p.StartInfo.UseShellExecute = false;
@@ -168,16 +200,19 @@ namespace Optimizer {
                     p.Close();
                     p.Close();
                 }
                 }
             }
             }
-            catch (Exception ex) {
+            catch (Exception ex)
+            {
                 Logger.LogError("Utilities.RunBatchFile", ex.Message, ex.StackTrace);
                 Logger.LogError("Utilities.RunBatchFile", ex.Message, ex.StackTrace);
             }
             }
         }
         }
 
 
-        internal static void ImportRegistryScript(string scriptFile) {
+        internal static void ImportRegistryScript(string scriptFile)
+        {
             string path = "\"" + scriptFile + "\"";
             string path = "\"" + scriptFile + "\"";
 
 
             Process p = new Process();
             Process p = new Process();
-            try {
+            try
+            {
                 p.StartInfo.FileName = "regedit.exe";
                 p.StartInfo.FileName = "regedit.exe";
                 p.StartInfo.UseShellExecute = false;
                 p.StartInfo.UseShellExecute = false;
 
 
@@ -185,135 +220,171 @@ namespace Optimizer {
 
 
                 p.WaitForExit();
                 p.WaitForExit();
             }
             }
-            catch (Exception ex) {
+            catch (Exception ex)
+            {
                 p.Dispose();
                 p.Dispose();
                 Logger.LogError("Utilities.ImportRegistryScript", ex.Message, ex.StackTrace);
                 Logger.LogError("Utilities.ImportRegistryScript", ex.Message, ex.StackTrace);
             }
             }
-            finally {
+            finally
+            {
                 p.Dispose();
                 p.Dispose();
             }
             }
         }
         }
 
 
-        internal static void Reboot() {
+        internal static void Reboot()
+        {
             OptionsHelper.SaveSettings();
             OptionsHelper.SaveSettings();
             Process.Start("shutdown.exe", "/r /t 0");
             Process.Start("shutdown.exe", "/r /t 0");
         }
         }
 
 
-        internal static void DisableHibernation() {
+        internal static void DisableHibernation()
+        {
             Utilities.RunCommand("powercfg -h off");
             Utilities.RunCommand("powercfg -h off");
             Registry.SetValue(@"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power", "HibernateEnabled", "0", RegistryValueKind.DWord);
             Registry.SetValue(@"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power", "HibernateEnabled", "0", RegistryValueKind.DWord);
         }
         }
 
 
-        internal static void EnableHibernation() {
+        internal static void EnableHibernation()
+        {
             Utilities.TryDeleteRegistryValue(true, @"SYSTEM\CurrentControlSet\Control\Power", "HibernateEnabled");
             Utilities.TryDeleteRegistryValue(true, @"SYSTEM\CurrentControlSet\Control\Power", "HibernateEnabled");
             Utilities.RunCommand("powercfg -h on");
             Utilities.RunCommand("powercfg -h on");
         }
         }
 
 
-        internal static void ActivateMainForm() {
+        internal static void ActivateMainForm()
+        {
             Program._MainForm.Activate();
             Program._MainForm.Activate();
         }
         }
 
 
-        internal static bool ServiceExists(string serviceName) {
+        internal static bool ServiceExists(string serviceName)
+        {
             return Array.Exists(ServiceController.GetServices(), (serviceController => serviceController.ServiceName.Equals(serviceName)));
             return Array.Exists(ServiceController.GetServices(), (serviceController => serviceController.ServiceName.Equals(serviceName)));
         }
         }
 
 
-        internal static void StopService(string serviceName) {
-            if (ServiceExists(serviceName)) {
+        internal static void StopService(string serviceName)
+        {
+            if (ServiceExists(serviceName))
+            {
                 ServiceController sc = new ServiceController(serviceName);
                 ServiceController sc = new ServiceController(serviceName);
-                if (sc.CanStop) {
+                if (sc.CanStop)
+                {
                     sc.Stop();
                     sc.Stop();
                 }
                 }
             }
             }
         }
         }
 
 
-        internal static void StartService(string serviceName) {
-            if (ServiceExists(serviceName)) {
+        internal static void StartService(string serviceName)
+        {
+            if (ServiceExists(serviceName))
+            {
                 ServiceController sc = new ServiceController(serviceName);
                 ServiceController sc = new ServiceController(serviceName);
 
 
-                try {
+                try
+                {
                     sc.Start();
                     sc.Start();
                 }
                 }
-                catch (Exception ex) {
+                catch (Exception ex)
+                {
                     Logger.LogError("Utilities.StartService", ex.Message, ex.StackTrace);
                     Logger.LogError("Utilities.StartService", ex.Message, ex.StackTrace);
                 }
                 }
             }
             }
         }
         }
 
 
-        internal static void EnableFirewall() {
+        internal static void EnableFirewall()
+        {
             RunCommand("netsh advfirewall set currentprofile state on");
             RunCommand("netsh advfirewall set currentprofile state on");
         }
         }
 
 
-        internal static void EnableCommandPrompt() {
-            using (RegistryKey key = Registry.CurrentUser.CreateSubKey("Software\\Policies\\Microsoft\\Windows\\System")) {
+        internal static void EnableCommandPrompt()
+        {
+            using (RegistryKey key = Registry.CurrentUser.CreateSubKey("Software\\Policies\\Microsoft\\Windows\\System"))
+            {
                 key.SetValue("DisableCMD", 0, RegistryValueKind.DWord);
                 key.SetValue("DisableCMD", 0, RegistryValueKind.DWord);
             }
             }
         }
         }
 
 
-        internal static void EnableControlPanel() {
-            using (RegistryKey key = Registry.CurrentUser.CreateSubKey("Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer")) {
+        internal static void EnableControlPanel()
+        {
+            using (RegistryKey key = Registry.CurrentUser.CreateSubKey("Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer"))
+            {
                 key.SetValue("NoControlPanel", 0, RegistryValueKind.DWord);
                 key.SetValue("NoControlPanel", 0, RegistryValueKind.DWord);
             }
             }
         }
         }
 
 
-        internal static void EnableFolderOptions() {
-            using (RegistryKey key = Registry.CurrentUser.CreateSubKey("Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer")) {
+        internal static void EnableFolderOptions()
+        {
+            using (RegistryKey key = Registry.CurrentUser.CreateSubKey("Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer"))
+            {
                 key.SetValue("NoFolderOptions", 0, RegistryValueKind.DWord);
                 key.SetValue("NoFolderOptions", 0, RegistryValueKind.DWord);
             }
             }
         }
         }
 
 
-        internal static void EnableRunDialog() {
-            using (RegistryKey key = Registry.CurrentUser.CreateSubKey("Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer")) {
+        internal static void EnableRunDialog()
+        {
+            using (RegistryKey key = Registry.CurrentUser.CreateSubKey("Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer"))
+            {
                 key.SetValue("NoRun", 0, RegistryValueKind.DWord);
                 key.SetValue("NoRun", 0, RegistryValueKind.DWord);
             }
             }
         }
         }
 
 
-        internal static void EnableContextMenu() {
-            using (RegistryKey key = Registry.CurrentUser.CreateSubKey("Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer")) {
+        internal static void EnableContextMenu()
+        {
+            using (RegistryKey key = Registry.CurrentUser.CreateSubKey("Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer"))
+            {
                 key.SetValue("NoViewContextMenu", 0, RegistryValueKind.DWord);
                 key.SetValue("NoViewContextMenu", 0, RegistryValueKind.DWord);
             }
             }
         }
         }
 
 
-        internal static void EnableTaskManager() {
-            using (RegistryKey key = Registry.CurrentUser.CreateSubKey("Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\System")) {
+        internal static void EnableTaskManager()
+        {
+            using (RegistryKey key = Registry.CurrentUser.CreateSubKey("Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\System"))
+            {
                 key.SetValue("DisableTaskMgr", 0, RegistryValueKind.DWord);
                 key.SetValue("DisableTaskMgr", 0, RegistryValueKind.DWord);
             }
             }
         }
         }
 
 
-        internal static void EnableRegistryEditor() {
-            using (RegistryKey key = Registry.CurrentUser.CreateSubKey("Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\System")) {
+        internal static void EnableRegistryEditor()
+        {
+            using (RegistryKey key = Registry.CurrentUser.CreateSubKey("Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\System"))
+            {
                 key.SetValue("DisableRegistryTools", 0, RegistryValueKind.DWord);
                 key.SetValue("DisableRegistryTools", 0, RegistryValueKind.DWord);
             }
             }
         }
         }
 
 
-        internal static void RunCommand(string command) {
+        internal static void RunCommand(string command)
+        {
             if (string.IsNullOrEmpty(command)) return;
             if (string.IsNullOrEmpty(command)) return;
 
 
-            using (Process p = new Process()) {
+            using (Process p = new Process())
+            {
                 p.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
                 p.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
                 p.StartInfo.FileName = "cmd.exe";
                 p.StartInfo.FileName = "cmd.exe";
                 p.StartInfo.Arguments = "/C " + command;
                 p.StartInfo.Arguments = "/C " + command;
                 p.StartInfo.CreateNoWindow = true;
                 p.StartInfo.CreateNoWindow = true;
 
 
-                try {
+                try
+                {
                     p.Start();
                     p.Start();
                     p.WaitForExit();
                     p.WaitForExit();
                     p.Close();
                     p.Close();
                 }
                 }
-                catch (Exception ex) {
+                catch (Exception ex)
+                {
                     Logger.LogError("Utilities.RunCommand", ex.Message, ex.StackTrace);
                     Logger.LogError("Utilities.RunCommand", ex.Message, ex.StackTrace);
                 }
                 }
             }
             }
         }
         }
 
 
-        internal static void FindFile(string fileName) {
+        internal static void FindFile(string fileName)
+        {
             if (File.Exists(fileName)) Process.Start("explorer.exe", $"/select, \"{fileName}\"");
             if (File.Exists(fileName)) Process.Start("explorer.exe", $"/select, \"{fileName}\"");
         }
         }
 
 
-        internal static void FindFolder(string folder) {
+        internal static void FindFolder(string folder)
+        {
             if (Directory.Exists(folder)) RunCommand($"explorer.exe \"{folder}\"");
             if (Directory.Exists(folder)) RunCommand($"explorer.exe \"{folder}\"");
         }
         }
 
 
-        internal static string GetShortcutTargetFile(string shortcutFilename) {
+        internal static string GetShortcutTargetFile(string shortcutFilename)
+        {
             string pathOnly = Path.GetDirectoryName(shortcutFilename);
             string pathOnly = Path.GetDirectoryName(shortcutFilename);
             string filenameOnly = Path.GetFileName(shortcutFilename);
             string filenameOnly = Path.GetFileName(shortcutFilename);
 
 
@@ -321,7 +392,8 @@ namespace Optimizer {
             Shell32.Folder folder = shell.NameSpace(pathOnly);
             Shell32.Folder folder = shell.NameSpace(pathOnly);
             Shell32.FolderItem folderItem = folder.ParseName(filenameOnly);
             Shell32.FolderItem folderItem = folder.ParseName(filenameOnly);
 
 
-            if (folderItem != null) {
+            if (folderItem != null)
+            {
                 Shell32.ShellLinkObject link = (Shell32.ShellLinkObject)folderItem.GetLink;
                 Shell32.ShellLinkObject link = (Shell32.ShellLinkObject)folderItem.GetLink;
                 return link.Path;
                 return link.Path;
             }
             }
@@ -329,17 +401,22 @@ namespace Optimizer {
             return string.Empty;
             return string.Empty;
         }
         }
 
 
-        internal static void RestartExplorer() {
+        internal static void RestartExplorer()
+        {
             const string explorer = "explorer.exe";
             const string explorer = "explorer.exe";
             string explorerPath = string.Format("{0}\\{1}", Environment.GetEnvironmentVariable("WINDIR"), explorer);
             string explorerPath = string.Format("{0}\\{1}", Environment.GetEnvironmentVariable("WINDIR"), explorer);
 
 
-            foreach (Process process in Process.GetProcesses()) {
-                try {
-                    if (string.Compare(process.MainModule.FileName, explorerPath, StringComparison.OrdinalIgnoreCase) == 0) {
+            foreach (Process process in Process.GetProcesses())
+            {
+                try
+                {
+                    if (string.Compare(process.MainModule.FileName, explorerPath, StringComparison.OrdinalIgnoreCase) == 0)
+                    {
                         process.Kill();
                         process.Kill();
                     }
                     }
                 }
                 }
-                catch (Exception ex) {
+                catch (Exception ex)
+                {
                     Logger.LogError("Utilities.RestartExplorer", ex.Message, ex.StackTrace);
                     Logger.LogError("Utilities.RestartExplorer", ex.Message, ex.StackTrace);
                 }
                 }
             }
             }
@@ -348,27 +425,36 @@ namespace Optimizer {
             Process.Start(explorer);
             Process.Start(explorer);
         }
         }
 
 
-        internal static void FindKeyInRegistry(string key) {
-            try {
+        internal static void FindKeyInRegistry(string key)
+        {
+            try
+            {
                 Registry.SetValue(@"HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Applets\Regedit", "LastKey", key);
                 Registry.SetValue(@"HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Applets\Regedit", "LastKey", key);
                 Process.Start("regedit");
                 Process.Start("regedit");
             }
             }
-            catch (Exception ex) {
+            catch (Exception ex)
+            {
                 Logger.LogError("Utilities.FindKeyInRegistry", ex.Message, ex.StackTrace);
                 Logger.LogError("Utilities.FindKeyInRegistry", ex.Message, ex.StackTrace);
             }
             }
         }
         }
 
 
-        internal static void Repair(bool withoutRestart = false) {
-            try {
+        internal static void Repair(bool withoutRestart = false)
+        {
+            try
+            {
                 Directory.Delete(CoreHelper.CoreFolder, true);
                 Directory.Delete(CoreHelper.CoreFolder, true);
             }
             }
-            catch (Exception ex) {
+            catch (Exception ex)
+            {
                 Logger.LogError("Utilities.ResetConfiguration", ex.Message, ex.StackTrace);
                 Logger.LogError("Utilities.ResetConfiguration", ex.Message, ex.StackTrace);
             }
             }
-            finally {
-                if (!withoutRestart) {
+            finally
+            {
+                if (!withoutRestart)
+                {
                     // BYPASS SINGLE-INSTANCE MECHANISM
                     // BYPASS SINGLE-INSTANCE MECHANISM
-                    if (Program.MUTEX != null) {
+                    if (Program.MUTEX != null)
+                    {
                         Program.MUTEX.ReleaseMutex();
                         Program.MUTEX.ReleaseMutex();
                         Program.MUTEX.Dispose();
                         Program.MUTEX.Dispose();
                         Program.MUTEX = null;
                         Program.MUTEX = null;
@@ -379,7 +465,8 @@ namespace Optimizer {
             }
             }
         }
         }
 
 
-        internal static Task RunAsync(this Process process) {
+        internal static Task RunAsync(this Process process)
+        {
             var tcs = new TaskCompletionSource<object>();
             var tcs = new TaskCompletionSource<object>();
             process.EnableRaisingEvents = true;
             process.EnableRaisingEvents = true;
             process.Exited += (s, e) => tcs.TrySetResult(null);
             process.Exited += (s, e) => tcs.TrySetResult(null);
@@ -388,39 +475,50 @@ namespace Optimizer {
             return tcs.Task;
             return tcs.Task;
         }
         }
 
 
-        internal static string SanitizeFileFolderName(string fileName) {
+        internal static string SanitizeFileFolderName(string fileName)
+        {
             char[] invalids = Path.GetInvalidFileNameChars();
             char[] invalids = Path.GetInvalidFileNameChars();
             return string.Join("_", fileName.Split(invalids, StringSplitOptions.RemoveEmptyEntries)).TrimEnd('.');
             return string.Join("_", fileName.Split(invalids, StringSplitOptions.RemoveEmptyEntries)).TrimEnd('.');
         }
         }
 
 
         // attempt to enable Local Group Policy Editor on Windows 10 Home editions
         // attempt to enable Local Group Policy Editor on Windows 10 Home editions
-        internal static void EnableGPEDitor() {
+        internal static void EnableGPEDitor()
+        {
             Utilities.RunBatchFile(CoreHelper.ScriptsFolder + "GPEditEnablerInHome.bat");
             Utilities.RunBatchFile(CoreHelper.ScriptsFolder + "GPEditEnablerInHome.bat");
         }
         }
 
 
-        internal static void TryDeleteRegistryValue(bool localMachine, string path, string valueName) {
-            try {
+        internal static void TryDeleteRegistryValue(bool localMachine, string path, string valueName)
+        {
+            try
+            {
                 if (localMachine) Registry.LocalMachine.OpenSubKey(path, true).DeleteValue(valueName, false);
                 if (localMachine) Registry.LocalMachine.OpenSubKey(path, true).DeleteValue(valueName, false);
                 if (!localMachine) Registry.CurrentUser.OpenSubKey(path, true).DeleteValue(valueName, false);
                 if (!localMachine) Registry.CurrentUser.OpenSubKey(path, true).DeleteValue(valueName, false);
             }
             }
             catch { }
             catch { }
         }
         }
 
 
-        internal static void TryDeleteRegistryValueDefaultUsers(string path, string valueName) {
-            try {
+        internal static void TryDeleteRegistryValueDefaultUsers(string path, string valueName)
+        {
+            try
+            {
                 Registry.Users.OpenSubKey(path, true).DeleteValue(valueName, false);
                 Registry.Users.OpenSubKey(path, true).DeleteValue(valueName, false);
             }
             }
             catch { }
             catch { }
         }
         }
 
 
-        internal static void DisableProtectedService(string serviceName) {
-            using (TokenPrivilegeHelper.TakeOwnership) {
-                using (RegistryKey allServicesKey = Registry.LocalMachine.OpenSubKeyWritable(@"SYSTEM\CurrentControlSet\Services")) {
+        internal static void DisableProtectedService(string serviceName)
+        {
+            using (TokenPrivilegeHelper.TakeOwnership)
+            {
+                using (RegistryKey allServicesKey = Registry.LocalMachine.OpenSubKeyWritable(@"SYSTEM\CurrentControlSet\Services"))
+                {
                     allServicesKey.GrantFullControlOnSubKey(serviceName);
                     allServicesKey.GrantFullControlOnSubKey(serviceName);
-                    using (RegistryKey serviceKey = allServicesKey.OpenSubKeyWritable(serviceName)) {
+                    using (RegistryKey serviceKey = allServicesKey.OpenSubKeyWritable(serviceName))
+                    {
                         if (serviceKey == null) return;
                         if (serviceKey == null) return;
 
 
-                        foreach (string subkeyName in serviceKey.GetSubKeyNames()) {
+                        foreach (string subkeyName in serviceKey.GetSubKeyNames())
+                        {
                             serviceKey.TakeOwnershipOnSubKey(subkeyName);
                             serviceKey.TakeOwnershipOnSubKey(subkeyName);
                             serviceKey.GrantFullControlOnSubKey(subkeyName);
                             serviceKey.GrantFullControlOnSubKey(subkeyName);
                         }
                         }
@@ -455,14 +553,19 @@ namespace Optimizer {
         //    }
         //    }
         //}
         //}
 
 
-        internal static void EnableProtectedService(string serviceName) {
-            using (TokenPrivilegeHelper.TakeOwnership) {
-                using (RegistryKey allServicesKey = Registry.LocalMachine.OpenSubKeyWritable(@"SYSTEM\CurrentControlSet\Services")) {
+        internal static void EnableProtectedService(string serviceName)
+        {
+            using (TokenPrivilegeHelper.TakeOwnership)
+            {
+                using (RegistryKey allServicesKey = Registry.LocalMachine.OpenSubKeyWritable(@"SYSTEM\CurrentControlSet\Services"))
+                {
                     allServicesKey.GrantFullControlOnSubKey(serviceName);
                     allServicesKey.GrantFullControlOnSubKey(serviceName);
-                    using (RegistryKey serviceKey = allServicesKey.OpenSubKeyWritable(serviceName)) {
+                    using (RegistryKey serviceKey = allServicesKey.OpenSubKeyWritable(serviceName))
+                    {
                         if (serviceKey == null) return;
                         if (serviceKey == null) return;
 
 
-                        foreach (string subkeyName in serviceKey.GetSubKeyNames()) {
+                        foreach (string subkeyName in serviceKey.GetSubKeyNames())
+                        {
                             serviceKey.TakeOwnershipOnSubKey(subkeyName);
                             serviceKey.TakeOwnershipOnSubKey(subkeyName);
                             serviceKey.GrantFullControlOnSubKey(subkeyName);
                             serviceKey.GrantFullControlOnSubKey(subkeyName);
                         }
                         }
@@ -472,7 +575,8 @@ namespace Optimizer {
             }
             }
         }
         }
 
 
-        public static RegistryKey OpenSubKeyWritable(this RegistryKey registryKey, string subkeyName, RegistryRights? rights = null) {
+        public static RegistryKey OpenSubKeyWritable(this RegistryKey registryKey, string subkeyName, RegistryRights? rights = null)
+        {
             RegistryKey subKey;
             RegistryKey subKey;
 
 
             if (rights == null)
             if (rights == null)
@@ -480,7 +584,8 @@ namespace Optimizer {
             else
             else
                 subKey = registryKey.OpenSubKey(subkeyName, RegistryKeyPermissionCheck.ReadWriteSubTree, rights.Value);
                 subKey = registryKey.OpenSubKey(subkeyName, RegistryKeyPermissionCheck.ReadWriteSubTree, rights.Value);
 
 
-            if (subKey == null) {
+            if (subKey == null)
+            {
                 Logger.LogError("Utilities.OpenSubKeyWritable", $"Subkey {subkeyName} not found.", "-");
                 Logger.LogError("Utilities.OpenSubKeyWritable", $"Subkey {subkeyName} not found.", "-");
             }
             }
 
 
@@ -490,10 +595,12 @@ namespace Optimizer {
         internal static SecurityIdentifier RetrieveCurrentUserIdentifier()
         internal static SecurityIdentifier RetrieveCurrentUserIdentifier()
             => WindowsIdentity.GetCurrent().User ?? throw new Exception("Unable to retrieve current user SID.");
             => WindowsIdentity.GetCurrent().User ?? throw new Exception("Unable to retrieve current user SID.");
 
 
-        internal static void GrantFullControlOnSubKey(this RegistryKey registryKey, string subkeyName) {
+        internal static void GrantFullControlOnSubKey(this RegistryKey registryKey, string subkeyName)
+        {
             using (RegistryKey subKey = registryKey.OpenSubKeyWritable(subkeyName,
             using (RegistryKey subKey = registryKey.OpenSubKeyWritable(subkeyName,
                 RegistryRights.TakeOwnership | RegistryRights.ChangePermissions
                 RegistryRights.TakeOwnership | RegistryRights.ChangePermissions
-            )) {
+            ))
+            {
                 RegistrySecurity accessRules = subKey.GetAccessControl();
                 RegistrySecurity accessRules = subKey.GetAccessControl();
                 SecurityIdentifier currentUser = RetrieveCurrentUserIdentifier();
                 SecurityIdentifier currentUser = RetrieveCurrentUserIdentifier();
                 accessRules.SetOwner(currentUser);
                 accessRules.SetOwner(currentUser);
@@ -510,23 +617,29 @@ namespace Optimizer {
             }
             }
         }
         }
 
 
-        internal static void TakeOwnershipOnSubKey(this RegistryKey registryKey, string subkeyName) {
-            using (RegistryKey subKey = registryKey.OpenSubKeyWritable(subkeyName, RegistryRights.TakeOwnership)) {
+        internal static void TakeOwnershipOnSubKey(this RegistryKey registryKey, string subkeyName)
+        {
+            using (RegistryKey subKey = registryKey.OpenSubKeyWritable(subkeyName, RegistryRights.TakeOwnership))
+            {
                 RegistrySecurity accessRules = subKey.GetAccessControl();
                 RegistrySecurity accessRules = subKey.GetAccessControl();
                 accessRules.SetOwner(RetrieveCurrentUserIdentifier());
                 accessRules.SetOwner(RetrieveCurrentUserIdentifier());
                 subKey.SetAccessControl(accessRules);
                 subKey.SetAccessControl(accessRules);
             }
             }
         }
         }
 
 
-        internal static string GetNETFramework() {
+        internal static string GetNETFramework()
+        {
             string subkey = @"SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full\";
             string subkey = @"SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full\";
             int netRelease;
             int netRelease;
 
 
-            using (RegistryKey ndpKey = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry32).OpenSubKey(subkey)) {
-                if (ndpKey != null && ndpKey.GetValue("Release") != null) {
+            using (RegistryKey ndpKey = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry32).OpenSubKey(subkey))
+            {
+                if (ndpKey != null && ndpKey.GetValue("Release") != null)
+                {
                     netRelease = (int)ndpKey.GetValue("Release");
                     netRelease = (int)ndpKey.GetValue("Release");
                 }
                 }
-                else {
+                else
+                {
                     return "4.0";
                     return "4.0";
                 }
                 }
             }
             }
@@ -555,101 +668,130 @@ namespace Optimizer {
             return "4.0";
             return "4.0";
         }
         }
 
 
-        internal static void SearchWith(string term, bool ddg) {
-            try {
+        internal static void SearchWith(string term, bool ddg)
+        {
+            try
+            {
                 if (ddg) Process.Start(string.Format("https://duckduckgo.com/?q={0}", term));
                 if (ddg) Process.Start(string.Format("https://duckduckgo.com/?q={0}", term));
                 if (!ddg) Process.Start(string.Format("https://www.google.com/search?q={0}", term));
                 if (!ddg) Process.Start(string.Format("https://www.google.com/search?q={0}", term));
             }
             }
             catch { }
             catch { }
         }
         }
 
 
-        internal static void EnableLoginVerbose() {
-            try {
+        internal static void EnableLoginVerbose()
+        {
+            try
+            {
                 Registry.SetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System", "verbosestatus", 1, RegistryValueKind.DWord);
                 Registry.SetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System", "verbosestatus", 1, RegistryValueKind.DWord);
             }
             }
-            catch (Exception ex) {
+            catch (Exception ex)
+            {
                 Logger.LogError("Utilities.EnableLoginVerbose", ex.Message, ex.StackTrace);
                 Logger.LogError("Utilities.EnableLoginVerbose", ex.Message, ex.StackTrace);
             }
             }
         }
         }
 
 
-        internal static void DisableLoginVerbose() {
+        internal static void DisableLoginVerbose()
+        {
             Utilities.TryDeleteRegistryValue(true, @"SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System", "verbosestatus");
             Utilities.TryDeleteRegistryValue(true, @"SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System", "verbosestatus");
         }
         }
 
 
         // [!!!]
         // [!!!]
-        internal static void UnlockAllCores() {
-            try {
+        internal static void UnlockAllCores()
+        {
+            try
+            {
                 Registry.SetValue(@"HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Power\PowerSettings\54533251-82be-4824-96c1-47b60b740d00\0cc5b647-c1df-4637-891a-dec35c318583", "ValueMax", 0, RegistryValueKind.DWord);
                 Registry.SetValue(@"HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Power\PowerSettings\54533251-82be-4824-96c1-47b60b740d00\0cc5b647-c1df-4637-891a-dec35c318583", "ValueMax", 0, RegistryValueKind.DWord);
                 Registry.SetValue(@"HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Power\PowerSettings\54533251-82be-4824-96c1-47b60b740d00\0cc5b647-c1df-4637-891a-dec35c318583", "ValueMin", 0, RegistryValueKind.DWord);
                 Registry.SetValue(@"HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Power\PowerSettings\54533251-82be-4824-96c1-47b60b740d00\0cc5b647-c1df-4637-891a-dec35c318583", "ValueMin", 0, RegistryValueKind.DWord);
             }
             }
-            catch (Exception ex) {
+            catch (Exception ex)
+            {
                 Logger.LogError("Utilities.UnlockAllCores", ex.Message, ex.StackTrace);
                 Logger.LogError("Utilities.UnlockAllCores", ex.Message, ex.StackTrace);
             }
             }
         }
         }
 
 
         // value = RAM in GB * 1024 * 1024
         // value = RAM in GB * 1024 * 1024
-        internal static void DisableSvcHostProcessSplitting(int ramInGb) {
-            try {
+        internal static void DisableSvcHostProcessSplitting(int ramInGb)
+        {
+            try
+            {
                 ramInGb = ramInGb * 1024 * 1024;
                 ramInGb = ramInGb * 1024 * 1024;
                 Registry.SetValue(@"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control", "SvcHostSplitThresholdInKB", ramInGb, RegistryValueKind.DWord);
                 Registry.SetValue(@"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control", "SvcHostSplitThresholdInKB", ramInGb, RegistryValueKind.DWord);
             }
             }
-            catch (Exception ex) {
+            catch (Exception ex)
+            {
                 Logger.LogError("Utilities.DisableSvcHostProcessSplitting", ex.Message, ex.StackTrace);
                 Logger.LogError("Utilities.DisableSvcHostProcessSplitting", ex.Message, ex.StackTrace);
             }
             }
         }
         }
 
 
         // reset the value to default
         // reset the value to default
-        internal static void EnableSvcHostProcessSplitting() {
-            try {
+        internal static void EnableSvcHostProcessSplitting()
+        {
+            try
+            {
                 Registry.SetValue(@"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control", "SvcHostSplitThresholdInKB", 380000, RegistryValueKind.DWord);
                 Registry.SetValue(@"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control", "SvcHostSplitThresholdInKB", 380000, RegistryValueKind.DWord);
             }
             }
-            catch (Exception ex) {
+            catch (Exception ex)
+            {
                 Logger.LogError("Utilities.EnableSvcHostProcessSplitting", ex.Message, ex.StackTrace);
                 Logger.LogError("Utilities.EnableSvcHostProcessSplitting", ex.Message, ex.StackTrace);
             }
             }
         }
         }
 
 
-        internal static void DisableHPET() {
+        internal static void DisableHPET()
+        {
             Utilities.RunCommand("bcdedit /deletevalue useplatformclock");
             Utilities.RunCommand("bcdedit /deletevalue useplatformclock");
             Thread.Sleep(500);
             Thread.Sleep(500);
             Utilities.RunCommand("bcdedit /set disabledynamictick yes");
             Utilities.RunCommand("bcdedit /set disabledynamictick yes");
         }
         }
 
 
-        internal static void EnableHPET() {
+        internal static void EnableHPET()
+        {
             Utilities.RunCommand("bcdedit /set useplatformclock true");
             Utilities.RunCommand("bcdedit /set useplatformclock true");
             Thread.Sleep(500);
             Thread.Sleep(500);
             Utilities.RunCommand("bcdedit /set disabledynamictick no");
             Utilities.RunCommand("bcdedit /set disabledynamictick no");
         }
         }
 
 
-        internal static void RegisterAutoStart() {
-            try {
-                using (RegistryKey k = Registry.CurrentUser.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true)) {
+        internal static void RegisterAutoStart()
+        {
+            try
+            {
+                using (RegistryKey k = Registry.CurrentUser.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true))
+                {
                     k.SetValue("Optimizer", Assembly.GetEntryAssembly().Location);
                     k.SetValue("Optimizer", Assembly.GetEntryAssembly().Location);
                 }
                 }
             }
             }
-            catch (Exception ex) {
+            catch (Exception ex)
+            {
                 Logger.LogError("Utilities.AddToStartup", ex.Message, ex.StackTrace);
                 Logger.LogError("Utilities.AddToStartup", ex.Message, ex.StackTrace);
             }
             }
         }
         }
 
 
-        internal static void UnregisterAutoStart() {
-            try {
-                using (RegistryKey k = Registry.CurrentUser.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true)) {
+        internal static void UnregisterAutoStart()
+        {
+            try
+            {
+                using (RegistryKey k = Registry.CurrentUser.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true))
+                {
                     k.DeleteValue("Optimizer", false);
                     k.DeleteValue("Optimizer", false);
                 }
                 }
             }
             }
-            catch (Exception ex) {
+            catch (Exception ex)
+            {
                 Logger.LogError("Utilities.DeleteFromStartup", ex.Message, ex.StackTrace);
                 Logger.LogError("Utilities.DeleteFromStartup", ex.Message, ex.StackTrace);
             }
             }
         }
         }
 
 
-        internal static void AllowProcessToRun(string pName) {
-            try {
-                using (RegistryKey ifeo = Registry.LocalMachine.OpenSubKeyWritable(@"SOFTWARE\Microsoft\Windows NT\CurrentVersion", RegistryRights.FullControl)) {
+        internal static void AllowProcessToRun(string pName)
+        {
+            try
+            {
+                using (RegistryKey ifeo = Registry.LocalMachine.OpenSubKeyWritable(@"SOFTWARE\Microsoft\Windows NT\CurrentVersion", RegistryRights.FullControl))
+                {
                     if (ifeo == null) return;
                     if (ifeo == null) return;
 
 
                     ifeo.GrantFullControlOnSubKey("Image File Execution Options");
                     ifeo.GrantFullControlOnSubKey("Image File Execution Options");
 
 
-                    using (RegistryKey k = ifeo.OpenSubKeyWritable("Image File Execution Options", RegistryRights.FullControl)) {
+                    using (RegistryKey k = ifeo.OpenSubKeyWritable("Image File Execution Options", RegistryRights.FullControl))
+                    {
                         if (k == null) return;
                         if (k == null) return;
 
 
                         k.GrantFullControlOnSubKey(pName);
                         k.GrantFullControlOnSubKey(pName);
@@ -657,25 +799,31 @@ namespace Optimizer {
                     }
                     }
                 }
                 }
             }
             }
-            catch (Exception ex) {
+            catch (Exception ex)
+            {
                 Logger.LogError("Utilities.AllowProcessToRun", ex.Message, ex.StackTrace);
                 Logger.LogError("Utilities.AllowProcessToRun", ex.Message, ex.StackTrace);
             }
             }
         }
         }
 
 
-        internal static void PreventProcessFromRunning(string pName) {
-            try {
-                using (RegistryKey ifeo = Registry.LocalMachine.OpenSubKeyWritable(@"SOFTWARE\Microsoft\Windows NT\CurrentVersion", RegistryRights.FullControl)) {
+        internal static void PreventProcessFromRunning(string pName)
+        {
+            try
+            {
+                using (RegistryKey ifeo = Registry.LocalMachine.OpenSubKeyWritable(@"SOFTWARE\Microsoft\Windows NT\CurrentVersion", RegistryRights.FullControl))
+                {
                     if (ifeo == null) return;
                     if (ifeo == null) return;
 
 
                     ifeo.GrantFullControlOnSubKey("Image File Execution Options");
                     ifeo.GrantFullControlOnSubKey("Image File Execution Options");
 
 
-                    using (RegistryKey k = ifeo.OpenSubKeyWritable("Image File Execution Options", RegistryRights.FullControl)) {
+                    using (RegistryKey k = ifeo.OpenSubKeyWritable("Image File Execution Options", RegistryRights.FullControl))
+                    {
                         if (k == null) return;
                         if (k == null) return;
 
 
                         k.CreateSubKey(pName);
                         k.CreateSubKey(pName);
                         k.GrantFullControlOnSubKey(pName);
                         k.GrantFullControlOnSubKey(pName);
 
 
-                        using (RegistryKey f = k.OpenSubKeyWritable(pName, RegistryRights.FullControl)) {
+                        using (RegistryKey f = k.OpenSubKeyWritable(pName, RegistryRights.FullControl))
+                        {
                             if (f == null) return;
                             if (f == null) return;
 
 
                             f.SetValue("Debugger", @"%windir%\System32\taskkill.exe");
                             f.SetValue("Debugger", @"%windir%\System32\taskkill.exe");
@@ -683,28 +831,36 @@ namespace Optimizer {
                     }
                     }
                 }
                 }
             }
             }
-            catch (Exception ex) {
+            catch (Exception ex)
+            {
                 Logger.LogError("Utilities.PreventProcessFromRunning", ex.Message, ex.StackTrace);
                 Logger.LogError("Utilities.PreventProcessFromRunning", ex.Message, ex.StackTrace);
             }
             }
         }
         }
 
 
-        internal static string GetUserDownloadsFolder() {
-            try {
+        internal static string GetUserDownloadsFolder()
+        {
+            try
+            {
                 return Registry.GetValue(@"HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders", "{374DE290-123F-4565-9164-39C4925E467B}", string.Empty).ToString();
                 return Registry.GetValue(@"HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders", "{374DE290-123F-4565-9164-39C4925E467B}", string.Empty).ToString();
             }
             }
-            catch (Exception ex) {
+            catch (Exception ex)
+            {
                 Logger.LogError("Utilities.GetUserDownloadsFolder", ex.Message, ex.StackTrace);
                 Logger.LogError("Utilities.GetUserDownloadsFolder", ex.Message, ex.StackTrace);
                 return string.Empty;
                 return string.Empty;
             }
             }
         }
         }
 
 
-        internal static void ReinforceCurrentTweaks() {
+        internal static void ReinforceCurrentTweaks()
+        {
             SilentConfig silentConfig = new SilentConfig();
             SilentConfig silentConfig = new SilentConfig();
             Tweaks silentConfigTweaks = new Tweaks();
             Tweaks silentConfigTweaks = new Tweaks();
             silentConfig.Tweaks = silentConfigTweaks;
             silentConfig.Tweaks = silentConfigTweaks;
 
 
             #region Windows General
             #region Windows General
             silentConfig.Tweaks.EnablePerformanceTweaks = OptionsHelper.CurrentOptions.EnablePerformanceTweaks ? true : (bool?)null;
             silentConfig.Tweaks.EnablePerformanceTweaks = OptionsHelper.CurrentOptions.EnablePerformanceTweaks ? true : (bool?)null;
+            silentConfig.Tweaks.EnableUtcTime = OptionsHelper.CurrentOptions.EnableUtcTime ? true : (bool?)null;
+            silentConfig.Tweaks.ShowAllTrayIcons = OptionsHelper.CurrentOptions.ShowAllTrayIcons ? true : (bool?)null;
+            silentConfig.Tweaks.RemoveMenusDelay = OptionsHelper.CurrentOptions.RemoveMenusDelay ? true : (bool?)null;
             silentConfig.Tweaks.DisableNetworkThrottling = OptionsHelper.CurrentOptions.DisableNetworkThrottling ? true : (bool?)null;
             silentConfig.Tweaks.DisableNetworkThrottling = OptionsHelper.CurrentOptions.DisableNetworkThrottling ? true : (bool?)null;
             silentConfig.Tweaks.DisableWindowsDefender = OptionsHelper.CurrentOptions.DisableWindowsDefender ? true : (bool?)null;
             silentConfig.Tweaks.DisableWindowsDefender = OptionsHelper.CurrentOptions.DisableWindowsDefender ? true : (bool?)null;
             silentConfig.Tweaks.DisableSystemRestore = OptionsHelper.CurrentOptions.DisableSystemRestore ? true : (bool?)null;
             silentConfig.Tweaks.DisableSystemRestore = OptionsHelper.CurrentOptions.DisableSystemRestore ? true : (bool?)null;
@@ -759,6 +915,10 @@ namespace Optimizer {
             silentConfig.Tweaks.DisableEdgeDiscoverBar = OptionsHelper.CurrentOptions.DisableEdgeDiscoverBar ? true : (bool?)null;
             silentConfig.Tweaks.DisableEdgeDiscoverBar = OptionsHelper.CurrentOptions.DisableEdgeDiscoverBar ? true : (bool?)null;
             silentConfig.Tweaks.DisableEdgeTelemetry = OptionsHelper.CurrentOptions.DisableEdgeTelemetry ? true : (bool?)null;
             silentConfig.Tweaks.DisableEdgeTelemetry = OptionsHelper.CurrentOptions.DisableEdgeTelemetry ? true : (bool?)null;
             silentConfig.Tweaks.RestoreClassicPhotoViewer = OptionsHelper.CurrentOptions.RestoreClassicPhotoViewer ? true : (bool?)null;
             silentConfig.Tweaks.RestoreClassicPhotoViewer = OptionsHelper.CurrentOptions.RestoreClassicPhotoViewer ? true : (bool?)null;
+            silentConfig.Tweaks.DisableNewsInterests = OptionsHelper.CurrentOptions.DisableNewsInterests ? true : (bool?)null;
+            silentConfig.Tweaks.HideTaskbarSearch = OptionsHelper.CurrentOptions.HideTaskbarSearch ? true : (bool?)null;
+            silentConfig.Tweaks.HideTaskbarWeather = OptionsHelper.CurrentOptions.HideTaskbarWeather ? true : (bool?)null;
+            silentConfig.Tweaks.DisableModernStandby = OptionsHelper.CurrentOptions.DisableModernStandby ? true : (bool?)null;
             #endregion
             #endregion
             #region Windows 11
             #region Windows 11
             silentConfig.Tweaks.TaskbarToLeft = OptionsHelper.CurrentOptions.TaskbarToLeft ? true : (bool?)null;
             silentConfig.Tweaks.TaskbarToLeft = OptionsHelper.CurrentOptions.TaskbarToLeft ? true : (bool?)null;
@@ -773,18 +933,22 @@ namespace Optimizer {
 
 
             SilentOps.CurrentSilentConfig = silentConfig;
             SilentOps.CurrentSilentConfig = silentConfig;
 
 
-            if (CurrentWindowsVersion == WindowsVersion.Windows7) {
+            if (CurrentWindowsVersion == WindowsVersion.Windows7)
+            {
                 SilentOps.ProcessTweaksGeneral();
                 SilentOps.ProcessTweaksGeneral();
             }
             }
-            if (CurrentWindowsVersion == WindowsVersion.Windows8) {
+            if (CurrentWindowsVersion == WindowsVersion.Windows8)
+            {
                 SilentOps.ProcessTweaksGeneral();
                 SilentOps.ProcessTweaksGeneral();
                 SilentOps.ProcessTweaksWindows8();
                 SilentOps.ProcessTweaksWindows8();
             }
             }
-            if (CurrentWindowsVersion == WindowsVersion.Windows10) {
+            if (CurrentWindowsVersion == WindowsVersion.Windows10)
+            {
                 SilentOps.ProcessTweaksGeneral();
                 SilentOps.ProcessTweaksGeneral();
                 SilentOps.ProcessTweaksWindows10();
                 SilentOps.ProcessTweaksWindows10();
             }
             }
-            if (CurrentWindowsVersion == WindowsVersion.Windows11) {
+            if (CurrentWindowsVersion == WindowsVersion.Windows11)
+            {
                 SilentOps.ProcessTweaksGeneral();
                 SilentOps.ProcessTweaksGeneral();
                 SilentOps.ProcessTweaksWindows10();
                 SilentOps.ProcessTweaksWindows10();
                 SilentOps.ProcessTweaksWindows11();
                 SilentOps.ProcessTweaksWindows11();

+ 6 - 4
README.md

@@ -3,7 +3,7 @@
 </p>
 </p>
 
 
 <p align="center">
 <p align="center">
-	<a href="https://github.com/hellzerg/optimizer/releases/download/16.4/Optimizer-16.4.exe" target="_blank">
+	<a href="https://github.com/hellzerg/optimizer/releases/download/16.5/Optimizer-16.5.exe" target="_blank">
 		<img src="https://raw.githubusercontent.com/hellzerg/optimizer/master/download-button.png">
 		<img src="https://raw.githubusercontent.com/hellzerg/optimizer/master/download-button.png">
 		<br>
 		<br>
 		<img src="https://raw.githubusercontent.com/hellzerg/optimizer/master/flags.png">
 		<img src="https://raw.githubusercontent.com/hellzerg/optimizer/master/flags.png">
@@ -27,7 +27,9 @@ Welcome to Optimizer, an advanced configuration utility designed to enhance your
 - Disable Office telemetry (works with Office 2016 or newer)
 - Disable Office telemetry (works with Office 2016 or newer)
 - Stop automatic Windows 10/11 updates
 - Stop automatic Windows 10/11 updates
 - Download multiple useful apps quickly
 - Download multiple useful apps quickly
-- Disable CoPilot AI in Windows 11
+- Disable CoPilot AI in Windows 11 & Edge
+- Enable UTC time globally
+- Advanced tweaks like disabling HPET, OneDrive, etc.
 - Uninstall UWP apps
 - Uninstall UWP apps
 - Clean system drive and browser profiles
 - Clean system drive and browser profiles
 - Fix common registry issues
 - Fix common registry issues
@@ -105,8 +107,8 @@ Learn about our security measures in the [Security Policy](https://github.com/he
 <h2> 📊 Details</h2> 
 <h2> 📊 Details</h2> 
 </center>
 </center>
 
 
-- Latest version: 16.4 (Released: December 29, 2023)
-- SHA256: F4775567CA9941B4FB3224D97B0741AE669EEDFCB0D8B3C71106B21BDB1AEE28
+- Latest version: 16.5 (Released: May 03, 2024)
+- SHA256: 26C64C2FAFCD264B8130462FF6E40A6498EC6937FE95D5E83964388AE9597C4D
 
 
 <center>
 <center>
 <h2> ☕ Buy me a delicious espresso</h2>
 <h2> ☕ Buy me a delicious espresso</h2>

+ 8 - 1
templates/template-windows10.json

@@ -124,6 +124,13 @@
         "DisableSearch": null,
         "DisableSearch": null,
         "DisableEdgeDiscoverBar": null,
         "DisableEdgeDiscoverBar": null,
         "DisableEdgeTelemetry": null,
         "DisableEdgeTelemetry": null,
-        "RestoreClassicPhotoViewer": null
+        "RestoreClassicPhotoViewer": null,
+        "EnableUtcTime": null,
+        "ShowAllTrayIcons": null,
+        "RemoveMenusDelay": null,
+        "DisableModernStandby": null,
+        "HideTaskbarWeather": null,
+        "HideTaskbarSearch": null,
+        "DisableNewsInterests": null
     }
     }
 }
 }

+ 8 - 1
templates/template-windows11.json

@@ -135,6 +135,13 @@
         "DisableEdgeDiscoverBar": null,
         "DisableEdgeDiscoverBar": null,
         "DisableEdgeTelemetry": null,
         "DisableEdgeTelemetry": null,
         "DisableCoPilotAI": null,
         "DisableCoPilotAI": null,
-        "RestoreClassicPhotoViewer": null
+        "RestoreClassicPhotoViewer": null,
+        "EnableUtcTime": null,
+        "ShowAllTrayIcons": null,
+        "RemoveMenusDelay": null,
+        "DisableModernStandby": null,
+        "HideTaskbarWeather": null,
+        "HideTaskbarSearch": null,
+        "DisableNewsInterests": null
     }
     }
 }
 }

+ 4 - 1
templates/template-windows7.json

@@ -95,6 +95,9 @@
         "DisableFirefoxTemeletry": null,
         "DisableFirefoxTemeletry": null,
         "DisableChromeTelemetry": null,
         "DisableChromeTelemetry": null,
         "DisableNVIDIATelemetry": null,
         "DisableNVIDIATelemetry": null,
-        "DisableSearch": null
+        "DisableSearch": null,
+        "EnableUtcTime": null,
+        "ShowAllTrayIcons": null,
+        "RemoveMenusDelay": null
     }
     }
 }
 }

+ 3 - 0
templates/template-windows8.json

@@ -96,6 +96,9 @@
         "DisableChromeTelemetry": null,
         "DisableChromeTelemetry": null,
         "DisableNVIDIATelemetry": null,
         "DisableNVIDIATelemetry": null,
         "DisableSearch": null,
         "DisableSearch": null,
+        "EnableUtcTime": null,
+        "ShowAllTrayIcons": null,
+        "RemoveMenusDelay": null,
         "DisableOneDrive": null
         "DisableOneDrive": null
     }
     }
 }
 }

+ 1 - 1
version.txt

@@ -1 +1 @@
-16.4
+16.5

Някои файлове не бяха показани, защото твърде много файлове са промени