From 4d0f9797c6de091e083395d4432c56d192154ded Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Damian=20B=C3=BCchel?= <damian.buechel@let.ethz.ch>
Date: Thu, 21 Jul 2022 15:29:56 +0200
Subject: [PATCH] SEBWIN-510: Implemented configuration tool changes.

---
 SebWindowsConfig/SebWindowsConfig.csproj      |   17 +-
 SebWindowsConfig/SebWindowsConfigForm.cs      | 1737 +++++++++--------
 .../SebWindowsConfigGUIManagement.cs          |  384 ++--
 .../Utilities/SEBProtectionController.cs      |   72 +-
 4 files changed, 1149 insertions(+), 1061 deletions(-)

diff --git a/SebWindowsConfig/SebWindowsConfig.csproj b/SebWindowsConfig/SebWindowsConfig.csproj
index 50f9d1af..4a9aef60 100644
--- a/SebWindowsConfig/SebWindowsConfig.csproj
+++ b/SebWindowsConfig/SebWindowsConfig.csproj
@@ -36,7 +36,7 @@
     <DebugType>full</DebugType>
     <Optimize>false</Optimize>
     <OutputPath>bin\x86\Debug\</OutputPath>
-    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <DefineConstants>TRACE;DEBUG;X86</DefineConstants>
     <ErrorReport>prompt</ErrorReport>
     <WarningLevel>0</WarningLevel>
     <Prefer32Bit>false</Prefer32Bit>
@@ -46,7 +46,7 @@
     <DebugType>pdbonly</DebugType>
     <Optimize>true</Optimize>
     <OutputPath>bin\x86\Release\</OutputPath>
-    <DefineConstants>TRACE</DefineConstants>
+    <DefineConstants>TRACE;X86</DefineConstants>
     <ErrorReport>prompt</ErrorReport>
     <WarningLevel>4</WarningLevel>
     <Prefer32Bit>false</Prefer32Bit>
@@ -198,8 +198,17 @@
   </ItemGroup>
   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
   <PropertyGroup>
-    <PostBuildEvent>
-    </PostBuildEvent>
+    <PostBuildEvent>IF EXIST "C:\SEB\seb_$(PlatformName).dll" (
+    robocopy "C:\SEB" "$(TargetDir)\" "seb_$(PlatformName).dll" /np
+
+    IF %2525ERRORLEVEL%2525 GEQ 8 (
+        EXIT 1
+    )
+) ELSE (
+    ECHO WARNING: Integrity module not included!
+)
+
+EXIT 0</PostBuildEvent>
   </PropertyGroup>
   <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
        Other similar extension points exist, see Microsoft.Common.targets.
diff --git a/SebWindowsConfig/SebWindowsConfigForm.cs b/SebWindowsConfig/SebWindowsConfigForm.cs
index 9a80ebcf..122c83e6 100644
--- a/SebWindowsConfig/SebWindowsConfigForm.cs
+++ b/SebWindowsConfig/SebWindowsConfigForm.cs
@@ -4,6 +4,7 @@ using System.Diagnostics;
 using System.Drawing;
 using System.IO;
 using System.Linq;
+using System.Reflection;
 using System.Security.Cryptography;
 using System.Security.Cryptography.X509Certificates;
 using System.Text;
@@ -21,15 +22,15 @@ namespace SebWindowsConfig
 {
 	public partial class SebWindowsConfigForm : Form
 	{
-		public bool    adminPasswordFieldsContainHash = false;
-		public bool     quitPasswordFieldsContainHash = false;
+		public bool adminPasswordFieldsContainHash = false;
+		public bool quitPasswordFieldsContainHash = false;
 		public bool settingsPasswordFieldsContainHash = false;
 
 		public bool quittingMyself = false;
 
-        public SEBURLFilter urlFilter;
+		public SEBURLFilter urlFilter;
 
-        string settingsPassword = "";
+		string settingsPassword = "";
 
 		private string lastBrowserExamKey = "";
 		private string lastSettingsPassword = "";
@@ -75,10 +76,10 @@ namespace SebWindowsConfig
 
 		public SebWindowsConfigForm()
 		{
-            // Initialize URL filter
-            urlFilter = new SEBURLFilter();
+			// Initialize URL filter
+			urlFilter = new SEBURLFilter();
 
-            InitializeComponent();
+			InitializeComponent();
 
 			// This is necessary to instanciate the password dialog
 			//SEBConfigFileManager.InitSEBConfigFileManager();
@@ -90,7 +91,7 @@ namespace SebWindowsConfig
 
 			// Set the path of the SebConfig.log file
 			StringBuilder sebConfigLogFileBuilder = new StringBuilder(SEBClientInfo.SebClientLogFileDirectory).Append(SEB_CONFIG_LOG);
-			string        SebConfigLogFile        = sebConfigLogFileBuilder.ToString();
+			string SebConfigLogFile = sebConfigLogFileBuilder.ToString();
 
 			Logger.InitLogger(SEBClientInfo.SebClientLogFileDirectory, SebConfigLogFile);
 
@@ -111,10 +112,10 @@ namespace SebWindowsConfig
 			{
 				// If this didn't work, then there are no local client settings and we set the current settings title to "Default Settings"
 				currentPathSebConfigFile = SEBUIStrings.settingsTitleDefaultSettings;
-                // Update URL filter rules, also the seb-Browser white/blacklist keys, 
-                // which are necessary for compatibility to SEB 2.1.x
-                urlFilter.UpdateFilterRules();
-                UpdateAllWidgetsOfProgram();
+				// Update URL filter rules, also the seb-Browser white/blacklist keys, 
+				// which are necessary for compatibility to SEB 2.1.x
+				urlFilter.UpdateFilterRules();
+				UpdateAllWidgetsOfProgram();
 			}
 
 			// Update Browser Exam Key
@@ -125,10 +126,25 @@ namespace SebWindowsConfig
 			textBoxBrowserExamKey.Text = lastBrowserExamKey;
 			textBoxConfigurationKey.Text = SEBProtectionController.ComputeConfigurationKey();
 
+			LoadVersionInfo();
+
 		} // end of contructor   SebWindowsConfigForm()
 
+		private void LoadVersionInfo()
+		{
+			var executable = Assembly.GetEntryAssembly();
+			var programBuild = FileVersionInfo.GetVersionInfo(executable.Location).FileVersion;
+			var programVersion = executable.GetCustomAttribute<AssemblyInformationalVersionAttribute>().InformationalVersion;
+			var statusStrip = new StatusStrip();
 
+			statusStrip.Dock = DockStyle.Bottom;
+			statusStrip.SizingGrip = false;
+			statusStrip.Items.Add($"SEB Information: Version {programVersion}, Build {programBuild}");
 
+			Controls.Add(statusStrip);
+
+			Height += statusStrip.Height;
+		}
 
 		// *************************************************
 		// Open the configuration file and read the settings
@@ -147,27 +163,28 @@ namespace SebWindowsConfig
 
 			// In these variables we get back the configuration file password the user entered for decrypting and/or 
 			// the certificate reference found in the config file:
-			string           filePassword       = null;
+			string filePassword = null;
 			X509Certificate2 fileCertificateRef = null;
-			bool             passwordIsHash     = false;
+			bool passwordIsHash = false;
 
-			if (!SEBSettings.ReadSebConfigurationFile(fileName, true, ref filePassword, ref passwordIsHash, ref fileCertificateRef)) 
+			if (!SEBSettings.ReadSebConfigurationFile(fileName, true, ref filePassword, ref passwordIsHash, ref fileCertificateRef))
 			{
 				SEBClientInfo.LoadingSettingsFileName = "";
 				return false;
 			}
 			SEBClientInfo.LoadingSettingsFileName = "";
 
-			if (!String.IsNullOrEmpty(filePassword)) {
+			if (!String.IsNullOrEmpty(filePassword))
+			{
 				// If we got the settings password because the user entered it when opening the .seb file, 
 				// we store it in a local variable
-				settingsPassword                  = filePassword;
+				settingsPassword = filePassword;
 				settingsPasswordFieldsContainHash = passwordIsHash;
 			}
 			else
 			{
 				// We didn't get back any settings password, we clear the local variable
-				settingsPassword                  = "";
+				settingsPassword = "";
 				settingsPasswordFieldsContainHash = false;
 			}
 
@@ -178,20 +195,20 @@ namespace SebWindowsConfig
 				int indexOfCertificateRef = certificateReferences.IndexOf(fileCertificateRef);
 				// Find this certificate reference in the list of all certificates from the certificate store
 				// if found (this should always be the case), select that certificate in the comboBox list
-				if (indexOfCertificateRef != -1) comboBoxCryptoIdentity.SelectedIndex = indexOfCertificateRef+1;
+				if (indexOfCertificateRef != -1) comboBoxCryptoIdentity.SelectedIndex = indexOfCertificateRef + 1;
 			}
 
-            // Check if default permitted processes should be removed from settings
-            // CheckAndOptionallyRemoveDefaultProhibitedProcesses();
+			// Check if default permitted processes should be removed from settings
+			// CheckAndOptionallyRemoveDefaultProhibitedProcesses();
 
-            // Update URL filter rules, also the seb-Browser white/blacklist keys, 
-            // which are necessary for compatibility to SEB 2.1.x
-            urlFilter.UpdateFilterRules();
+			// Update URL filter rules, also the seb-Browser white/blacklist keys, 
+			// which are necessary for compatibility to SEB 2.1.x
+			urlFilter.UpdateFilterRules();
 
-            // GUI-related part: Update the widgets
-            currentDireSebConfigFile = Path.GetDirectoryName(fileName);
-			currentFileSebConfigFile = Path.GetFileName     (fileName);
-			currentPathSebConfigFile = Path.GetFullPath     (fileName);
+			// GUI-related part: Update the widgets
+			currentDireSebConfigFile = Path.GetDirectoryName(fileName);
+			currentFileSebConfigFile = Path.GetFileName(fileName);
+			currentPathSebConfigFile = Path.GetFullPath(fileName);
 
 			UpdateAllWidgetsOfProgram();
 			buttonRevertToLastOpened.Enabled = true;
@@ -200,35 +217,35 @@ namespace SebWindowsConfig
 		}
 
 
-        private void CheckAndOptionallyRemoveDefaultProhibitedProcesses()
-        {
-            if ((bool)SEBSettings.settingsCurrent[SEBSettings.KeyCreateNewDesktop])
-            {
-                if (SEBSettings.CheckForDefaultProhibitedProcesses(false))
-                {
-                    var messageBoxResult = MessageBox.Show(
-						this,
-						"Settings contain at least one of the default prohibited processes (mostly web browsers), " +
-                        "which should not run when SEB is used with the Disable Explorer Shell kiosk mode. " +
-                        "As your settings are not using Disable Explorer Shell, " +
-                        "do you want to remove those default prohibited processes from the configuration?",
-						"Default Prohibited Processes Found",
-						MessageBoxButtons.YesNo,
-						MessageBoxIcon.Question);
+		private void CheckAndOptionallyRemoveDefaultProhibitedProcesses()
+		{
+			//if ((bool) SEBSettings.settingsCurrent[SEBSettings.KeyCreateNewDesktop])
+			//{
+			//	if (SEBSettings.CheckForDefaultProhibitedProcesses(false))
+			//	{
+			//		var messageBoxResult = MessageBox.Show(
+			//			this,
+			//			"Settings contain at least one of the default prohibited processes (mostly web browsers), " +
+			//			"which should not run when SEB is used with the Disable Explorer Shell kiosk mode. " +
+			//			"As your settings are not using Disable Explorer Shell, " +
+			//			"do you want to remove those default prohibited processes from the configuration?",
+			//			"Default Prohibited Processes Found",
+			//			MessageBoxButtons.YesNo,
+			//			MessageBoxIcon.Question);
 
-                    if (messageBoxResult == DialogResult.Yes)
-                    {
-                        SEBSettings.CheckForDefaultProhibitedProcesses(true);
-                    }
-                }
-            }
-        }
+			//		if (messageBoxResult == DialogResult.Yes)
+			//		{
+			//			SEBSettings.CheckForDefaultProhibitedProcesses(true);
+			//		}
+			//	}
+			//}
+		}
 
 
-        // ********************************************************
-        // Write the settings to the configuration file and save it
-        // ********************************************************
-        private Boolean SaveConfigurationFileFromEditor(String fileName)
+		// ********************************************************
+		// Write the settings to the configuration file and save it
+		// ********************************************************
+		private Boolean SaveConfigurationFileFromEditor(String fileName)
 		{
 			Cursor.Current = Cursors.WaitCursor;
 			// Get settings password
@@ -236,28 +253,28 @@ namespace SebWindowsConfig
 
 			// Get selected certificate
 			X509Certificate2 fileCertificateRef = null;
-			int selectedCertificate = (int)SEBSettings.intArrayCurrent[SEBSettings.ValCryptoIdentity];
+			int selectedCertificate = (int) SEBSettings.intArrayCurrent[SEBSettings.ValCryptoIdentity];
 			if (selectedCertificate > 0)
 			{
-				fileCertificateRef = (X509Certificate2)certificateReferences[selectedCertificate-1];
+				fileCertificateRef = (X509Certificate2) certificateReferences[selectedCertificate - 1];
 
 			} //comboBoxCryptoIdentity.SelectedIndex;
 
 			// Get selected config purpose
-			int currentConfigPurpose = (int)SEBSettings.valueForDictionaryKey(SEBSettings.settingsCurrent, SEBSettings.KeySebConfigPurpose);
-			SEBSettings.sebConfigPurposes configPurpose = (SEBSettings.sebConfigPurposes)currentConfigPurpose;
+			int currentConfigPurpose = (int) SEBSettings.valueForDictionaryKey(SEBSettings.settingsCurrent, SEBSettings.KeySebConfigPurpose);
+			SEBSettings.sebConfigPurposes configPurpose = (SEBSettings.sebConfigPurposes) currentConfigPurpose;
 			bool useOldAsymmetricOnlyEncryption = checkBoxUseOldAsymmetricOnlyEncryption.Checked;
 
 			// Write the "new" settings to file
-			if (!SEBSettings.WriteSebConfigurationFile(fileName, filePassword, settingsPasswordFieldsContainHash, fileCertificateRef, useOldAsymmetricOnlyEncryption, configPurpose, forEditing: true)) 
-			{ 
+			if (!SEBSettings.WriteSebConfigurationFile(fileName, filePassword, settingsPasswordFieldsContainHash, fileCertificateRef, useOldAsymmetricOnlyEncryption, configPurpose, forEditing: true))
+			{
 				return false;
 			}
 
 			// If the settings could be written to file, update the widgets
 			currentDireSebConfigFile = Path.GetDirectoryName(fileName);
-			currentFileSebConfigFile = Path.GetFileName     (fileName);
-			currentPathSebConfigFile = Path.GetFullPath     (fileName);
+			currentFileSebConfigFile = Path.GetFileName(fileName);
+			currentPathSebConfigFile = Path.GetFullPath(fileName);
 
 			UpdateAllWidgetsOfProgram();
 			Cursor.Current = Cursors.Default;
@@ -266,7 +283,7 @@ namespace SebWindowsConfig
 
 
 
-		
+
 
 		// *****************************************************
 		// Set the widgets to the new settings of SebStarter.ini
@@ -274,109 +291,109 @@ namespace SebWindowsConfig
 		private void UpdateAllWidgetsOfProgram()
 		{
 			// Update the filename in the title bar
-			this.Text  = this.ProductName;
+			this.Text = this.ProductName;
 			this.Text += " - ";
 			this.Text += currentPathSebConfigFile;
 
 			// Group "General"
-			textBoxStartURL    .Text = (String)SEBSettings.settingsCurrent[SEBSettings.KeyStartURL];
-			textBoxSebServerURL.Text = (String)SEBSettings.settingsCurrent[SEBSettings.KeySebServerURL];
+			textBoxStartURL.Text = (String) SEBSettings.settingsCurrent[SEBSettings.KeyStartURL];
+			textBoxSebServerURL.Text = (String) SEBSettings.settingsCurrent[SEBSettings.KeySebServerURL];
 
 			// If an admin password is saved in the settings (as a hash), 
 			// then we fill a placeholder string into the admin password text fields
-			if (!String.IsNullOrEmpty((String)SEBSettings.settingsCurrent[SEBSettings.KeyHashedAdminPassword]))
+			if (!String.IsNullOrEmpty((String) SEBSettings.settingsCurrent[SEBSettings.KeyHashedAdminPassword]))
 			{
 				// CAUTION: Do not change the order of setting the placeholders and the flag,
 				// since the fired textBox..._TextChanged() events use these data!
-				textBoxAdminPassword.Text        = "0000000000000000";
-				adminPasswordFieldsContainHash   = true;
+				textBoxAdminPassword.Text = "0000000000000000";
+				adminPasswordFieldsContainHash = true;
 				textBoxConfirmAdminPassword.Text = "0000000000000000";
 			}
 			else
 			{
 				// CAUTION: Do not change the order of setting the placeholders and the flag,
 				// since the fired textBox..._TextChanged() events use these data!
-				adminPasswordFieldsContainHash   = false;
-				textBoxAdminPassword       .Text = "";
+				adminPasswordFieldsContainHash = false;
+				textBoxAdminPassword.Text = "";
 				textBoxConfirmAdminPassword.Text = "";
 			}
 
-			checkBoxAllowQuit         .Checked = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyAllowQuit];
-			checkBoxIgnoreExitKeys    .Checked = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyIgnoreExitKeys];
+			checkBoxAllowQuit.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyAllowQuit];
+			checkBoxIgnoreExitKeys.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyIgnoreExitKeys];
 
 			// If a quit password is saved in the settings (as a hash), 
 			// then we fill a placeholder string into the quit password text fields
-			if (!String.IsNullOrEmpty((String)SEBSettings.settingsCurrent[SEBSettings.KeyHashedQuitPassword]))
+			if (!String.IsNullOrEmpty((String) SEBSettings.settingsCurrent[SEBSettings.KeyHashedQuitPassword]))
 			{
 				// CAUTION: Do not change the order of setting the placeholders and the flag,
 				// since the fired textBox..._TextChanged() events use these data!
-				textBoxQuitPassword.Text        = "0000000000000000";
-				quitPasswordFieldsContainHash   = true;
+				textBoxQuitPassword.Text = "0000000000000000";
+				quitPasswordFieldsContainHash = true;
 				textBoxConfirmQuitPassword.Text = "0000000000000000";
 			}
 			else
 			{
 				// CAUTION: Do not change the order of setting the placeholders and the flag,
 				// since the fired textBox..._TextChanged() events use these data!
-				quitPasswordFieldsContainHash   = false;
-				textBoxQuitPassword       .Text = "";
+				quitPasswordFieldsContainHash = false;
+				textBoxQuitPassword.Text = "";
 				textBoxConfirmQuitPassword.Text = "";
 			}
 
-			listBoxExitKey1.SelectedIndex = (int)SEBSettings.settingsCurrent[SEBSettings.KeyExitKey1];
-			listBoxExitKey2.SelectedIndex = (int)SEBSettings.settingsCurrent[SEBSettings.KeyExitKey2];
-			listBoxExitKey3.SelectedIndex = (int)SEBSettings.settingsCurrent[SEBSettings.KeyExitKey3];
+			listBoxExitKey1.SelectedIndex = (int) SEBSettings.settingsCurrent[SEBSettings.KeyExitKey1];
+			listBoxExitKey2.SelectedIndex = (int) SEBSettings.settingsCurrent[SEBSettings.KeyExitKey2];
+			listBoxExitKey3.SelectedIndex = (int) SEBSettings.settingsCurrent[SEBSettings.KeyExitKey3];
 
 			// Group "Config File"
-			radioButtonStartingAnExam     .Checked =    ((int)SEBSettings.settingsCurrent[SEBSettings.KeySebConfigPurpose] == 0);
-			radioButtonConfiguringAClient .Checked =    ((int)SEBSettings.settingsCurrent[SEBSettings.KeySebConfigPurpose] == 1);
-			checkBoxAllowPreferencesWindow.Checked = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyAllowPreferencesWindow];
-			checkBoxUseOldAsymmetricOnlyEncryption.Checked = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyUseAsymmetricOnlyEncryption];
-			comboBoxCryptoIdentity.SelectedIndex   =          SEBSettings.intArrayCurrent[SEBSettings.ValCryptoIdentity];
+			radioButtonStartingAnExam.Checked = ((int) SEBSettings.settingsCurrent[SEBSettings.KeySebConfigPurpose] == 0);
+			radioButtonConfiguringAClient.Checked = ((int) SEBSettings.settingsCurrent[SEBSettings.KeySebConfigPurpose] == 1);
+			checkBoxAllowPreferencesWindow.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyAllowPreferencesWindow];
+			checkBoxUseOldAsymmetricOnlyEncryption.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyUseAsymmetricOnlyEncryption];
+			comboBoxCryptoIdentity.SelectedIndex = SEBSettings.intArrayCurrent[SEBSettings.ValCryptoIdentity];
 
 			// If the settings password local variable contains a hash (and it isn't empty)
 			if (settingsPasswordFieldsContainHash && !String.IsNullOrEmpty(settingsPassword))
 			{
 				// CAUTION: We need to reset this flag BEFORE changing the textBox text value,
 				// because otherwise the compare passwords method will delete the first textBox again.
-				settingsPasswordFieldsContainHash   = false;
-				textBoxSettingsPassword.Text        = "0000000000000000";
-				settingsPasswordFieldsContainHash   = true;
+				settingsPasswordFieldsContainHash = false;
+				textBoxSettingsPassword.Text = "0000000000000000";
+				settingsPasswordFieldsContainHash = true;
 				textBoxConfirmSettingsPassword.Text = "0000000000000000";
 			}
 			else
 			{
-				textBoxSettingsPassword       .Text = settingsPassword;
+				textBoxSettingsPassword.Text = settingsPassword;
 				textBoxConfirmSettingsPassword.Text = settingsPassword;
 			}
 
 			// Group "User Interface"
-			if ((Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyTouchOptimized] == true)
+			if ((Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyTouchOptimized] == true)
 			{
 				radioButtonTouchOptimized.Checked = true;
 			}
 			else
 			{
-				radioButtonUseBrowserWindow.Checked = ((int)SEBSettings.settingsCurrent[SEBSettings.KeyBrowserViewMode] == 0);
-				radioButtonUseFullScreenMode.Checked = ((int)SEBSettings.settingsCurrent[SEBSettings.KeyBrowserViewMode] == 1);
+				radioButtonUseBrowserWindow.Checked = ((int) SEBSettings.settingsCurrent[SEBSettings.KeyBrowserViewMode] == 0);
+				radioButtonUseFullScreenMode.Checked = ((int) SEBSettings.settingsCurrent[SEBSettings.KeyBrowserViewMode] == 1);
 			}
-			comboBoxMainBrowserWindowWidth    .Text        =  (String)SEBSettings.settingsCurrent[SEBSettings.KeyMainBrowserWindowWidth];
-			comboBoxMainBrowserWindowHeight   .Text        =  (String)SEBSettings.settingsCurrent[SEBSettings.KeyMainBrowserWindowHeight];
-			 listBoxMainBrowserWindowPositioning.SelectedIndex = (int)SEBSettings.settingsCurrent[SEBSettings.KeyMainBrowserWindowPositioning];
-			checkBoxEnableBrowserWindowToolbar.Checked     = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyEnableBrowserWindowToolbar];
-			checkBoxHideBrowserWindowToolbar  .Checked     = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyHideBrowserWindowToolbar];
-			checkBoxShowMenuBar               .Checked     = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyShowMenuBar];
-			checkBoxShowTaskBar               .Checked     = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyShowTaskBar];
+			comboBoxMainBrowserWindowWidth.Text = (String) SEBSettings.settingsCurrent[SEBSettings.KeyMainBrowserWindowWidth];
+			comboBoxMainBrowserWindowHeight.Text = (String) SEBSettings.settingsCurrent[SEBSettings.KeyMainBrowserWindowHeight];
+			listBoxMainBrowserWindowPositioning.SelectedIndex = (int) SEBSettings.settingsCurrent[SEBSettings.KeyMainBrowserWindowPositioning];
+			checkBoxEnableBrowserWindowToolbar.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyEnableBrowserWindowToolbar];
+			checkBoxHideBrowserWindowToolbar.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyHideBrowserWindowToolbar];
+			checkBoxShowMenuBar.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyShowMenuBar];
+			checkBoxShowTaskBar.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyShowTaskBar];
 			checkBoxHideBrowserWindowToolbar.Enabled = checkBoxEnableBrowserWindowToolbar.Checked;
 			checkBoxAllowMainWindowAddressBar.Enabled = checkBoxEnableBrowserWindowToolbar.Checked;
 			checkBoxAllowAdditionalWindowAddressBar.Enabled = checkBoxEnableBrowserWindowToolbar.Checked;
-			checkBoxShowSideMenu.Checked = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyShowSideMenu];
-            checkBoxShowReloadButton.Checked = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyShowReloadButton];
-            comboBoxTaskBarHeight.Text        =  (String)SEBSettings.settingsCurrent[SEBSettings.KeyTaskBarHeight].ToString();
-			checkBoxEnableTouchExit           .Checked     = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyEnableTouchExit];
-			checkBoxAllowMainWindowAddressBar.Checked = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyBrowserWindowAllowAddressBar];
-			checkBoxAllowAdditionalWindowAddressBar.Checked = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyNewBrowserWindowAllowAddressBar];
-			checkBoxAllowDeveloperConsole.Checked = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyAllowDeveloperConsole];
+			checkBoxShowSideMenu.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyShowSideMenu];
+			checkBoxShowReloadButton.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyShowReloadButton];
+			comboBoxTaskBarHeight.Text = (String) SEBSettings.settingsCurrent[SEBSettings.KeyTaskBarHeight].ToString();
+			checkBoxEnableTouchExit.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyEnableTouchExit];
+			checkBoxAllowMainWindowAddressBar.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyBrowserWindowAllowAddressBar];
+			checkBoxAllowAdditionalWindowAddressBar.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyNewBrowserWindowAllowAddressBar];
+			checkBoxAllowDeveloperConsole.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyAllowDeveloperConsole];
 			checkBoxAllowDeveloperConsole.Enabled = checkBoxEnableBrowserWindowToolbar.Checked;
 
 			var defaultText = "(part of application)";
@@ -461,64 +478,64 @@ namespace SebWindowsConfig
 			}
 
 			// Group "Browser"
-			listBoxOpenLinksHTML .SelectedIndex =     (int)SEBSettings.settingsCurrent[SEBSettings.KeyNewBrowserWindowByLinkPolicy];
-			checkBoxBlockLinksHTML.Checked       = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyNewBrowserWindowByLinkBlockForeign];
+			listBoxOpenLinksHTML.SelectedIndex = (int) SEBSettings.settingsCurrent[SEBSettings.KeyNewBrowserWindowByLinkPolicy];
+			checkBoxBlockLinksHTML.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyNewBrowserWindowByLinkBlockForeign];
 
-			comboBoxNewBrowserWindowWidth      .Text          = (String)SEBSettings.settingsCurrent[SEBSettings.KeyNewBrowserWindowByLinkWidth ];
-			comboBoxNewBrowserWindowHeight     .Text          = (String)SEBSettings.settingsCurrent[SEBSettings.KeyNewBrowserWindowByLinkHeight];
-			 listBoxNewBrowserWindowPositioning.SelectedIndex =    (int)SEBSettings.settingsCurrent[SEBSettings.KeyNewBrowserWindowByLinkPositioning];
+			comboBoxNewBrowserWindowWidth.Text = (String) SEBSettings.settingsCurrent[SEBSettings.KeyNewBrowserWindowByLinkWidth];
+			comboBoxNewBrowserWindowHeight.Text = (String) SEBSettings.settingsCurrent[SEBSettings.KeyNewBrowserWindowByLinkHeight];
+			listBoxNewBrowserWindowPositioning.SelectedIndex = (int) SEBSettings.settingsCurrent[SEBSettings.KeyNewBrowserWindowByLinkPositioning];
 
-			checkBoxEnablePlugIns           .Checked =   (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyEnablePlugIns];
-			checkBoxEnableJava              .Checked =   (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyEnableJava];
-			checkBoxEnableJavaScript        .Checked =   (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyEnableJavaScript];
-			checkBoxBlockPopUpWindows       .Checked =   (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyBlockPopUpWindows];
-            checkBoxAllowVideoCapture.Checked = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyAllowVideoCapture];
-            checkBoxAllowAudioCapture.Checked = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyAllowAudioCapture];
-            checkBoxAllowBrowsingBackForward.Checked = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyAllowBrowsingBackForward];
-			checkBoxAllowNavigationNewWindow.Checked = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyNewBrowserWindowNavigation];
-            checkBoxAllowReload.Checked = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyBrowserWindowAllowReload];
-            checkBoxShowReloadWarning.Checked = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyShowReloadWarning];
-            checkBoxAllowReloadNewWindow.Checked = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyNewBrowserWindowAllowReload];
-            checkBoxShowReloadWarningNewWindow.Checked = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyNewBrowserWindowShowReloadWarning];
-            checkBoxEnableZoomPage.Checked = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyEnableZoomPage];
-            checkBoxEnableZoomText.Checked = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyEnableZoomText];
-            radioButtonUseZoomPage.Checked = ((int)SEBSettings.settingsCurrent[SEBSettings.KeyZoomMode] == 0);
-            radioButtonUseZoomText.Checked = ((int)SEBSettings.settingsCurrent[SEBSettings.KeyZoomMode] == 1);
-            enableZoomAdjustZoomMode();
-            checkBoxEnableZoomText.CheckedChanged += checkBoxEnableZoomText_CheckedChanged;
-            checkBoxEnableZoomPage.CheckedChanged += checkBoxEnableZoomPage_CheckedChanged;
-			checkBoxAllowPdfReaderToolbar.Checked = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyAllowPDFReaderToolbar];
-			checkBoxAllowFind.Checked = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyAllowFind];
+			checkBoxEnablePlugIns.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyEnablePlugIns];
+			checkBoxEnableJava.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyEnableJava];
+			checkBoxEnableJavaScript.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyEnableJavaScript];
+			checkBoxBlockPopUpWindows.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyBlockPopUpWindows];
+			checkBoxAllowVideoCapture.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyAllowVideoCapture];
+			checkBoxAllowAudioCapture.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyAllowAudioCapture];
+			checkBoxAllowBrowsingBackForward.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyAllowBrowsingBackForward];
+			checkBoxAllowNavigationNewWindow.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyNewBrowserWindowNavigation];
+			checkBoxAllowReload.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyBrowserWindowAllowReload];
+			checkBoxShowReloadWarning.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyShowReloadWarning];
+			checkBoxAllowReloadNewWindow.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyNewBrowserWindowAllowReload];
+			checkBoxShowReloadWarningNewWindow.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyNewBrowserWindowShowReloadWarning];
+			checkBoxEnableZoomPage.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyEnableZoomPage];
+			checkBoxEnableZoomText.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyEnableZoomText];
+			radioButtonUseZoomPage.Checked = ((int) SEBSettings.settingsCurrent[SEBSettings.KeyZoomMode] == 0);
+			radioButtonUseZoomText.Checked = ((int) SEBSettings.settingsCurrent[SEBSettings.KeyZoomMode] == 1);
+			enableZoomAdjustZoomMode();
+			checkBoxEnableZoomText.CheckedChanged += checkBoxEnableZoomText_CheckedChanged;
+			checkBoxEnableZoomPage.CheckedChanged += checkBoxEnableZoomPage_CheckedChanged;
+			checkBoxAllowPdfReaderToolbar.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyAllowPDFReaderToolbar];
+			checkBoxAllowFind.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyAllowFind];
 
-			checkBoxAllowSpellCheck.Checked = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyAllowSpellCheck];
-            checkBoxAllowDictionaryLookup.Checked = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyAllowDictionaryLookup];
-			checkBoxRemoveProfile.Checked = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyRemoveBrowserProfile];
-			checkBoxRemoveProfile.Enabled = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyExamSessionClearCookiesOnEnd];
-			checkBoxDisableLocalStorage.Checked = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyDisableLocalStorage];
-			checkBoxUseSebWithoutBrowser    .Checked = !((Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyEnableSebBrowser]);
-            // BEWARE: you must invert this value since "Use Without" is "Not Enable"!
+			checkBoxAllowSpellCheck.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyAllowSpellCheck];
+			checkBoxAllowDictionaryLookup.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyAllowDictionaryLookup];
+			checkBoxRemoveProfile.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyRemoveBrowserProfile];
+			checkBoxRemoveProfile.Enabled = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyExamSessionClearCookiesOnEnd];
+			checkBoxDisableLocalStorage.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyDisableLocalStorage];
+			checkBoxUseSebWithoutBrowser.Checked = !((Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyEnableSebBrowser]);
+			// BEWARE: you must invert this value since "Use Without" is "Not Enable"!
 
-            textBoxUserAgent.Text = (String)SEBSettings.settingsCurrent[SEBSettings.KeyBrowserUserAgent];
+			textBoxUserAgent.Text = (String) SEBSettings.settingsCurrent[SEBSettings.KeyBrowserUserAgent];
 
-            textBoxUserAgentMacCustom.Text = (String)SEBSettings.settingsCurrent[SEBSettings.KeyBrowserUserAgentMacCustom];
-			radioButtonUserAgentMacDefault.Checked = ((int)SEBSettings.settingsCurrent[SEBSettings.KeyBrowserUserAgentMac] == 0);
-			radioButtonUserAgentMacCustom.Checked = ((int)SEBSettings.settingsCurrent[SEBSettings.KeyBrowserUserAgentMac] == 1);
+			textBoxUserAgentMacCustom.Text = (String) SEBSettings.settingsCurrent[SEBSettings.KeyBrowserUserAgentMacCustom];
+			radioButtonUserAgentMacDefault.Checked = ((int) SEBSettings.settingsCurrent[SEBSettings.KeyBrowserUserAgentMac] == 0);
+			radioButtonUserAgentMacCustom.Checked = ((int) SEBSettings.settingsCurrent[SEBSettings.KeyBrowserUserAgentMac] == 1);
 			textBoxUserAgentMacCustom.TextChanged += textBoxUserAgentMacCustom_TextChanged;
 
-			textBoxUserAgentDesktopModeCustom.Text = (String)SEBSettings.settingsCurrent[SEBSettings.KeyBrowserUserAgentDesktopModeCustom];
+			textBoxUserAgentDesktopModeCustom.Text = (String) SEBSettings.settingsCurrent[SEBSettings.KeyBrowserUserAgentDesktopModeCustom];
 			textBoxUserAgentDesktopModeDefault.Text = SEBClientInfo.BROWSER_USERAGENT_DESKTOP;
-			radioButtonUserAgentDesktopDefault.Checked = ((int)SEBSettings.settingsCurrent[SEBSettings.KeyBrowserUserAgentDesktopMode] == 0);
-			radioButtonUserAgentDesktopCustom.Checked = ((int)SEBSettings.settingsCurrent[SEBSettings.KeyBrowserUserAgentDesktopMode] == 1);
+			radioButtonUserAgentDesktopDefault.Checked = ((int) SEBSettings.settingsCurrent[SEBSettings.KeyBrowserUserAgentDesktopMode] == 0);
+			radioButtonUserAgentDesktopCustom.Checked = ((int) SEBSettings.settingsCurrent[SEBSettings.KeyBrowserUserAgentDesktopMode] == 1);
 			textBoxUserAgentDesktopModeCustom.TextChanged += textBoxUserAgentDesktopModeCustom_TextChanged;
 
-			textBoxUserAgentTouchModeCustom.Text = (String)SEBSettings.settingsCurrent[SEBSettings.KeyBrowserUserAgentTouchModeCustom];
+			textBoxUserAgentTouchModeCustom.Text = (String) SEBSettings.settingsCurrent[SEBSettings.KeyBrowserUserAgentTouchModeCustom];
 			textBoxUserAgentTouchModeDefault.Text = SEBClientInfo.BROWSER_USERAGENT_TOUCH;
-			textBoxUserAgentTouchModeIPad.Text = (String)SEBSettings.settingsCurrent[SEBSettings.KeyBrowserUserAgentTouchModeIPad];
-			radioButtonUserAgentTouchDefault.Checked = ((int)SEBSettings.settingsCurrent[SEBSettings.KeyBrowserUserAgentTouchMode] == 0);
-			radioButtonUserAgentTouchIPad.Checked = ((int)SEBSettings.settingsCurrent[SEBSettings.KeyBrowserUserAgentTouchMode] == 1);
-			radioButtonUserAgentTouchCustom.Checked = ((int)SEBSettings.settingsCurrent[SEBSettings.KeyBrowserUserAgentTouchMode] == 2);
+			textBoxUserAgentTouchModeIPad.Text = (String) SEBSettings.settingsCurrent[SEBSettings.KeyBrowserUserAgentTouchModeIPad];
+			radioButtonUserAgentTouchDefault.Checked = ((int) SEBSettings.settingsCurrent[SEBSettings.KeyBrowserUserAgentTouchMode] == 0);
+			radioButtonUserAgentTouchIPad.Checked = ((int) SEBSettings.settingsCurrent[SEBSettings.KeyBrowserUserAgentTouchMode] == 1);
+			radioButtonUserAgentTouchCustom.Checked = ((int) SEBSettings.settingsCurrent[SEBSettings.KeyBrowserUserAgentTouchMode] == 2);
 			textBoxUserAgentTouchModeCustom.TextChanged += textBoxUserAgentTouchModeCustom_TextChanged;
-			
+
 
 			textBoxBrowserSuffix.Text = ((string) SEBSettings.settingsCurrent[SEBSettings.KeyBrowserWindowTitleSuffix]);
 
@@ -531,36 +548,36 @@ namespace SebWindowsConfig
 			comboBoxUrlPolicyNewWindow.SelectedIndex = (int) SEBSettings.settingsCurrent[SEBSettings.KeyNewBrowserWindowUrlPolicy];
 
 			// Group "Down/Uploads"
-			checkBoxAllowDownUploads.Checked           = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyAllowDownUploads];
-			checkBoxAllowCustomDownloadLocation.Checked = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyAllowCustomDownUploadLocation];
-			checkBoxOpenDownloads   .Checked           = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyOpenDownloads];
-			checkBoxDownloadPDFFiles.Checked           = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyDownloadPDFFiles];
-			checkBoxAllowPDFPlugIn  .Checked = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyAllowPDFPlugIn];
-			textBoxDownloadDirectoryWin.Text = (String)SEBSettings.settingsCurrent[SEBSettings.KeyDownloadDirectoryWin];
-			checkBoxTemporaryDownloadDirectory.Checked = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyUseTemporaryDownUploadDirectory];
+			checkBoxAllowDownUploads.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyAllowDownUploads];
+			checkBoxAllowCustomDownloadLocation.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyAllowCustomDownUploadLocation];
+			checkBoxOpenDownloads.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyOpenDownloads];
+			checkBoxDownloadPDFFiles.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyDownloadPDFFiles];
+			checkBoxAllowPDFPlugIn.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyAllowPDFPlugIn];
+			textBoxDownloadDirectoryWin.Text = (String) SEBSettings.settingsCurrent[SEBSettings.KeyDownloadDirectoryWin];
+			checkBoxTemporaryDownloadDirectory.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyUseTemporaryDownUploadDirectory];
 			textBoxDownloadDirectoryWin.Enabled = !checkBoxTemporaryDownloadDirectory.Checked;
 			buttonDownloadDirectoryWin.Enabled = !checkBoxTemporaryDownloadDirectory.Checked;
-			textBoxDownloadDirectoryOSX.Text = (String)SEBSettings.settingsCurrent[SEBSettings.KeyDownloadDirectoryOSX];
-			listBoxChooseFileToUploadPolicy.SelectedIndex = (int)SEBSettings.settingsCurrent[SEBSettings.KeyChooseFileToUploadPolicy];
-			checkBoxDownloadOpenSEBFiles.Checked = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyDownloadAndOpenSebConfig];
+			textBoxDownloadDirectoryOSX.Text = (String) SEBSettings.settingsCurrent[SEBSettings.KeyDownloadDirectoryOSX];
+			listBoxChooseFileToUploadPolicy.SelectedIndex = (int) SEBSettings.settingsCurrent[SEBSettings.KeyChooseFileToUploadPolicy];
+			checkBoxDownloadOpenSEBFiles.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyDownloadAndOpenSebConfig];
 
 			// Group "Exam"
-			checkBoxSendBrowserExamKey.Checked = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeySendBrowserExamKey];
-			checkBoxClearSessionOnEnd.Checked = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyExamSessionClearCookiesOnEnd];
-			checkBoxClearSessionOnStart.Checked = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyExamSessionClearCookiesOnStart];
+			checkBoxSendBrowserExamKey.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeySendBrowserExamKey];
+			checkBoxClearSessionOnEnd.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyExamSessionClearCookiesOnEnd];
+			checkBoxClearSessionOnStart.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyExamSessionClearCookiesOnStart];
 			textBoxBrowserExamKey.Enabled = checkBoxSendBrowserExamKey.Checked;
 			textBoxConfigurationKey.Enabled = checkBoxSendBrowserExamKey.Checked;
-			textBoxQuitURL.Text = (String)SEBSettings.settingsCurrent[SEBSettings.KeyQuitURL];
-			checkBoxQuitURLConfirm.Checked = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyQuitURLConfirm];
-			checkBoxResetOnQuitUrl.Checked = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyResetOnQuitUrl];
-			checkBoxUseStartURL.Checked = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyRestartExamUseStartURL];
-			textBoxRestartExamLink.Enabled = !(Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyRestartExamUseStartURL];
-			checkBoxRestartExamPasswordProtected.Checked = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyRestartExamPasswordProtected];
-			textBoxRestartExamLink.Text = (String)SEBSettings.settingsCurrent[SEBSettings.KeyRestartExamURL];
-			textBoxRestartExamText.Text = (String)SEBSettings.settingsCurrent[SEBSettings.KeyRestartExamText];
-			checkBoxAllowReconfiguration.Checked = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyAllowReconfiguration];
-			textBoxReconfigurationUrl.Text = (String)SEBSettings.settingsCurrent[SEBSettings.KeyReconfigurationUrl];
-			checkBoxUseStartUrlQuery.Checked = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyUseStartUrlQuery];
+			textBoxQuitURL.Text = (String) SEBSettings.settingsCurrent[SEBSettings.KeyQuitURL];
+			checkBoxQuitURLConfirm.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyQuitURLConfirm];
+			checkBoxResetOnQuitUrl.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyResetOnQuitUrl];
+			checkBoxUseStartURL.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyRestartExamUseStartURL];
+			textBoxRestartExamLink.Enabled = !(Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyRestartExamUseStartURL];
+			checkBoxRestartExamPasswordProtected.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyRestartExamPasswordProtected];
+			textBoxRestartExamLink.Text = (String) SEBSettings.settingsCurrent[SEBSettings.KeyRestartExamURL];
+			textBoxRestartExamText.Text = (String) SEBSettings.settingsCurrent[SEBSettings.KeyRestartExamText];
+			checkBoxAllowReconfiguration.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyAllowReconfiguration];
+			textBoxReconfigurationUrl.Text = (String) SEBSettings.settingsCurrent[SEBSettings.KeyReconfigurationUrl];
+			checkBoxUseStartUrlQuery.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyUseStartUrlQuery];
 
 			// Group AdditionalResources
 			tabControlSebWindowsConfig.TabPages.Remove(tabPageAdditionalResources);
@@ -577,47 +594,47 @@ namespace SebWindowsConfig
 			//}
 
 			// Group "Applications"
-			checkBoxMonitorProcesses         .Checked = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyMonitorProcesses];
-			checkBoxAllowSwitchToApplications.Checked = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyAllowSwitchToApplications];
-			checkBoxAllowFlashFullscreen     .Checked = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyAllowFlashFullscreen];
+			checkBoxMonitorProcesses.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyMonitorProcesses];
+			checkBoxAllowSwitchToApplications.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyAllowSwitchToApplications];
+			checkBoxAllowFlashFullscreen.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyAllowFlashFullscreen];
 
 
 			// Group "Applications - Permitted/Prohibited Processes"
 			// Group "Network      -    Filter/Certificates/Proxies"
 
 			// Update the lists for the DataGridViews
-			SEBSettings.   permittedProcessList = (ListObj)SEBSettings.settingsCurrent[SEBSettings.KeyPermittedProcesses];
-			SEBSettings.  prohibitedProcessList = (ListObj)SEBSettings.settingsCurrent[SEBSettings.KeyProhibitedProcesses];
-			SEBSettings.embeddedCertificateList = (ListObj)SEBSettings.settingsCurrent[SEBSettings.KeyEmbeddedCertificates];
-			SEBSettings.proxiesData             = (DictObj)SEBSettings.settingsCurrent[SEBSettings.KeyProxies];
+			SEBSettings.permittedProcessList = (ListObj) SEBSettings.settingsCurrent[SEBSettings.KeyPermittedProcesses];
+			SEBSettings.prohibitedProcessList = (ListObj) SEBSettings.settingsCurrent[SEBSettings.KeyProhibitedProcesses];
+			SEBSettings.embeddedCertificateList = (ListObj) SEBSettings.settingsCurrent[SEBSettings.KeyEmbeddedCertificates];
+			SEBSettings.proxiesData = (DictObj) SEBSettings.settingsCurrent[SEBSettings.KeyProxies];
 
-			SEBSettings.bypassedProxyList       = (ListObj)SEBSettings.proxiesData[SEBSettings.KeyExceptionsList];
+			SEBSettings.bypassedProxyList = (ListObj) SEBSettings.proxiesData[SEBSettings.KeyExceptionsList];
 
-			 // Check if currently loaded lists have any entries
-			if  (SEBSettings.permittedProcessList.Count > 0)
-				 SEBSettings.permittedProcessIndex =  0;
+			// Check if currently loaded lists have any entries
+			if (SEBSettings.permittedProcessList.Count > 0)
+				SEBSettings.permittedProcessIndex = 0;
 			else SEBSettings.permittedProcessIndex = -1;
 
-			if  (SEBSettings.prohibitedProcessList.Count > 0)
-				 SEBSettings.prohibitedProcessIndex =  0;
+			if (SEBSettings.prohibitedProcessList.Count > 0)
+				SEBSettings.prohibitedProcessIndex = 0;
 			else SEBSettings.prohibitedProcessIndex = -1;
 
-			if  (SEBSettings.embeddedCertificateList.Count > 0)
-				 SEBSettings.embeddedCertificateIndex =  0;
+			if (SEBSettings.embeddedCertificateList.Count > 0)
+				SEBSettings.embeddedCertificateIndex = 0;
 			else SEBSettings.embeddedCertificateIndex = -1;
 
 			SEBSettings.proxyProtocolIndex = 0;
 
-			if  (SEBSettings.bypassedProxyList.Count > 0)
-				 SEBSettings.bypassedProxyIndex =  0;
+			if (SEBSettings.bypassedProxyList.Count > 0)
+				SEBSettings.bypassedProxyIndex = 0;
 			else SEBSettings.bypassedProxyIndex = -1;
 
 			// Remove all previously displayed list entries from DataGridViews
-				groupBoxPermittedProcess  .Enabled = (SEBSettings.permittedProcessList.Count > 0);
+			groupBoxPermittedProcess.Enabled = (SEBSettings.permittedProcessList.Count > 0);
 			dataGridViewPermittedProcesses.Enabled = (SEBSettings.permittedProcessList.Count > 0);
 			dataGridViewPermittedProcesses.Rows.Clear();
 
-				groupBoxProhibitedProcess  .Enabled = (SEBSettings.prohibitedProcessList.Count > 0);
+			groupBoxProhibitedProcess.Enabled = (SEBSettings.prohibitedProcessList.Count > 0);
 			dataGridViewProhibitedProcesses.Enabled = (SEBSettings.prohibitedProcessList.Count > 0);
 			dataGridViewProhibitedProcesses.Rows.Clear();
 
@@ -632,22 +649,22 @@ namespace SebWindowsConfig
 			// Add Permitted Processes of currently opened file to DataGridView
 			for (int index = 0; index < SEBSettings.permittedProcessList.Count; index++)
 			{
-				SEBSettings.permittedProcessData = (DictObj)SEBSettings.permittedProcessList[index];
-				Boolean     active               = (Boolean)SEBSettings.permittedProcessData[SEBSettings.KeyActive];
-				Int32       os                   = (Int32  )SEBSettings.permittedProcessData[SEBSettings.KeyOS];
-				String      executable           = (String )SEBSettings.permittedProcessData[SEBSettings.KeyExecutable];
-				String      title                = (String )SEBSettings.permittedProcessData[SEBSettings.KeyTitle];
+				SEBSettings.permittedProcessData = (DictObj) SEBSettings.permittedProcessList[index];
+				Boolean active = (Boolean) SEBSettings.permittedProcessData[SEBSettings.KeyActive];
+				Int32 os = (Int32) SEBSettings.permittedProcessData[SEBSettings.KeyOS];
+				String executable = (String) SEBSettings.permittedProcessData[SEBSettings.KeyExecutable];
+				String title = (String) SEBSettings.permittedProcessData[SEBSettings.KeyTitle];
 				dataGridViewPermittedProcesses.Rows.Add(active, StringOS[os], executable, title);
 			}
 
 			// Add Prohibited Processes of currently opened file to DataGridView
 			for (int index = 0; index < SEBSettings.prohibitedProcessList.Count; index++)
 			{
-				SEBSettings.prohibitedProcessData = (DictObj)SEBSettings.prohibitedProcessList[index];
-				Boolean     active                = (Boolean)SEBSettings.prohibitedProcessData[SEBSettings.KeyActive];
-				Int32       os                    = (Int32  )SEBSettings.prohibitedProcessData[SEBSettings.KeyOS];
-				String      executable            = (String )SEBSettings.prohibitedProcessData[SEBSettings.KeyExecutable];
-				String      description           = (String )SEBSettings.prohibitedProcessData[SEBSettings.KeyDescription];
+				SEBSettings.prohibitedProcessData = (DictObj) SEBSettings.prohibitedProcessList[index];
+				Boolean active = (Boolean) SEBSettings.prohibitedProcessData[SEBSettings.KeyActive];
+				Int32 os = (Int32) SEBSettings.prohibitedProcessData[SEBSettings.KeyOS];
+				String executable = (String) SEBSettings.prohibitedProcessData[SEBSettings.KeyExecutable];
+				String description = (String) SEBSettings.prohibitedProcessData[SEBSettings.KeyDescription];
 				dataGridViewProhibitedProcesses.Rows.Add(active, StringOS[os], executable, description);
 			}
 
@@ -659,7 +676,7 @@ namespace SebWindowsConfig
 			foreach (DictObj config in SEBSettings.urlFilterRuleList)
 			{
 				var rule = FilterRule.FromConfig(config);
-				
+
 				filterControl.AddRule(rule);
 			}
 
@@ -678,39 +695,40 @@ namespace SebWindowsConfig
 
 			UrlFilterContainer.Controls.Clear();
 			UrlFilterContainer.Controls.Add(filterControl);
-			
+
 			// Add Embedded Certificates of Certificate Store to DataGridView
 			for (int index = 0; index < SEBSettings.embeddedCertificateList.Count; index++)
 			{
-				SEBSettings.embeddedCertificateData = (DictObj)SEBSettings.embeddedCertificateList[index];
-				Int32       type                    = (Int32  )SEBSettings.embeddedCertificateData[SEBSettings.KeyType];
-				String      name                    = (String )SEBSettings.embeddedCertificateData[SEBSettings.KeyName];
+				SEBSettings.embeddedCertificateData = (DictObj) SEBSettings.embeddedCertificateList[index];
+				Int32 type = (Int32) SEBSettings.embeddedCertificateData[SEBSettings.KeyType];
+				String name = (String) SEBSettings.embeddedCertificateData[SEBSettings.KeyName];
 				dataGridViewEmbeddedCertificates.Rows.Add(StringCertificateType[type], name);
 
 				// For downwards compatibility of embedded SSL certs, if there is no data in the new data key certificateDataBase64
 				// we read data from the old data key certificateDataWin and save it to the new key. 
 				// Please note: The Browser Exam Key of these settings is changed by this
-				if (type == IntSSLClientCertificate && String.IsNullOrEmpty((String)SEBSettings.embeddedCertificateData[SEBSettings.KeyCertificateDataBase64])) {
-					String base64Data = (String)SEBSettings.embeddedCertificateData[SEBSettings.KeyCertificateDataWin];
+				if (type == IntSSLClientCertificate && String.IsNullOrEmpty((String) SEBSettings.embeddedCertificateData[SEBSettings.KeyCertificateDataBase64]))
+				{
+					String base64Data = (String) SEBSettings.embeddedCertificateData[SEBSettings.KeyCertificateDataWin];
 					SEBSettings.embeddedCertificateData[SEBSettings.KeyCertificateDataBase64] = base64Data;
 				}
 			}
-/*
-			// Get the "Enabled" boolean values of current "proxies" dictionary
-			BooleanProxyProtocolEnabled[IntProxyAutoDiscovery    ] = (Boolean)SEBSettings.proxiesData[SEBSettings.KeyAutoDiscoveryEnabled];
-			BooleanProxyProtocolEnabled[IntProxyAutoConfiguration] = (Boolean)SEBSettings.proxiesData[SEBSettings.KeyAutoConfigurationEnabled];
-			BooleanProxyProtocolEnabled[IntProxyHTTP             ] = (Boolean)SEBSettings.proxiesData[SEBSettings.KeyHTTPEnable];
-			BooleanProxyProtocolEnabled[IntProxyHTTPS            ] = (Boolean)SEBSettings.proxiesData[SEBSettings.KeyHTTPSEnable];
-			BooleanProxyProtocolEnabled[IntProxyFTP              ] = (Boolean)SEBSettings.proxiesData[SEBSettings.KeyFTPEnable];
-			BooleanProxyProtocolEnabled[IntProxySOCKS            ] = (Boolean)SEBSettings.proxiesData[SEBSettings.KeySOCKSEnable];
-			BooleanProxyProtocolEnabled[IntProxyRTSP             ] = (Boolean)SEBSettings.proxiesData[SEBSettings.KeyRTSPEnable];
-*/
+			/*
+						// Get the "Enabled" boolean values of current "proxies" dictionary
+						BooleanProxyProtocolEnabled[IntProxyAutoDiscovery    ] = (Boolean)SEBSettings.proxiesData[SEBSettings.KeyAutoDiscoveryEnabled];
+						BooleanProxyProtocolEnabled[IntProxyAutoConfiguration] = (Boolean)SEBSettings.proxiesData[SEBSettings.KeyAutoConfigurationEnabled];
+						BooleanProxyProtocolEnabled[IntProxyHTTP             ] = (Boolean)SEBSettings.proxiesData[SEBSettings.KeyHTTPEnable];
+						BooleanProxyProtocolEnabled[IntProxyHTTPS            ] = (Boolean)SEBSettings.proxiesData[SEBSettings.KeyHTTPSEnable];
+						BooleanProxyProtocolEnabled[IntProxyFTP              ] = (Boolean)SEBSettings.proxiesData[SEBSettings.KeyFTPEnable];
+						BooleanProxyProtocolEnabled[IntProxySOCKS            ] = (Boolean)SEBSettings.proxiesData[SEBSettings.KeySOCKSEnable];
+						BooleanProxyProtocolEnabled[IntProxyRTSP             ] = (Boolean)SEBSettings.proxiesData[SEBSettings.KeyRTSPEnable];
+			*/
 			// Get the "Enabled" boolean values of current "proxies" dictionary.
 			// Add Proxy Protocols of currently opened file to DataGridView.
 			for (int index = 0; index < NumProxyProtocols; index++)
 			{
-				Boolean enable = (Boolean)SEBSettings.proxiesData[KeyProxyProtocolEnable      [index]];
-				String  type   = (String )                     StringProxyProtocolTableCaption[index];
+				Boolean enable = (Boolean) SEBSettings.proxiesData[KeyProxyProtocolEnable[index]];
+				String type = (String) StringProxyProtocolTableCaption[index];
 				dataGridViewProxyProtocols.Rows.Add(enable, type);
 				BooleanProxyProtocolEnabled[index] = enable;
 			}
@@ -719,7 +737,7 @@ namespace SebWindowsConfig
 			StringBuilder bypassedProxiesStringBuilder = new StringBuilder();
 			for (int index = 0; index < SEBSettings.bypassedProxyList.Count; index++)
 			{
-				SEBSettings.bypassedProxyData = (String)SEBSettings.bypassedProxyList[index];
+				SEBSettings.bypassedProxyData = (String) SEBSettings.bypassedProxyList[index];
 				if (bypassedProxiesStringBuilder.Length > 0)
 				{
 					bypassedProxiesStringBuilder.Append(", ");
@@ -730,48 +748,48 @@ namespace SebWindowsConfig
 
 			// Load the currently selected process data
 			if (SEBSettings.permittedProcessList.Count > 0)
-				 LoadAndUpdatePermittedSelectedProcessGroup(SEBSettings.permittedProcessIndex);
+				LoadAndUpdatePermittedSelectedProcessGroup(SEBSettings.permittedProcessIndex);
 			else ClearPermittedSelectedProcessGroup();
 
 			if (SEBSettings.prohibitedProcessList.Count > 0)
-				 LoadAndUpdateProhibitedSelectedProcessGroup(SEBSettings.prohibitedProcessIndex);
+				LoadAndUpdateProhibitedSelectedProcessGroup(SEBSettings.prohibitedProcessIndex);
 			else ClearProhibitedSelectedProcessGroup();
 
 			// Auto-resize the columns and cells
 
-		  //dataGridViewPermittedProcesses  .AutoResizeColumns();
-		  //dataGridViewProhibitedProcesses .AutoResizeColumns();
-		  //dataGridViewURLFilterRules      .AutoResizeColumns();
-		  //dataGridViewEmbeddedCertificates.AutoResizeColumns();
-		  //dataGridViewProxyProtocols      .AutoResizeColumns();
-		  //dataGridViewBypassedProxies     .AutoResizeColumns();
+			//dataGridViewPermittedProcesses  .AutoResizeColumns();
+			//dataGridViewProhibitedProcesses .AutoResizeColumns();
+			//dataGridViewURLFilterRules      .AutoResizeColumns();
+			//dataGridViewEmbeddedCertificates.AutoResizeColumns();
+			//dataGridViewProxyProtocols      .AutoResizeColumns();
+			//dataGridViewBypassedProxies     .AutoResizeColumns();
 
-		  //dataGridViewPermittedProcesses  .AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells);
-		  //dataGridViewProhibitedProcesses .AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells);
-		  //dataGridViewURLFilterRules      .AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells);
-		  //dataGridViewEmbeddedCertificates.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells);
-		  //dataGridViewProxyProtocols      .AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells);
-		  //dataGridViewBypassedProxies     .AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells);
+			//dataGridViewPermittedProcesses  .AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells);
+			//dataGridViewProhibitedProcesses .AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells);
+			//dataGridViewURLFilterRules      .AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells);
+			//dataGridViewEmbeddedCertificates.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells);
+			//dataGridViewProxyProtocols      .AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells);
+			//dataGridViewBypassedProxies     .AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells);
 
 			//Group "Network - URL Filter"
-			checkBoxEnableURLFilter.Checked = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyURLFilterEnable];
-			checkBoxEnableURLContentFilter.Checked = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyURLFilterEnableContentFilter];
+			checkBoxEnableURLFilter.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyURLFilterEnable];
+			checkBoxEnableURLContentFilter.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyURLFilterEnableContentFilter];
 			checkBoxEnableURLContentFilter.Enabled = checkBoxEnableURLFilter.Checked;
 
 			// Group "Network - Certificates"
-			checkBoxPinEmbeddedCertificates.Checked = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyPinEmbeddedCertificates];
+			checkBoxPinEmbeddedCertificates.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyPinEmbeddedCertificates];
 
 			// Group "Network - Proxies"
-			radioButtonUseSystemProxySettings.Checked = ((int)SEBSettings.settingsCurrent[SEBSettings.KeyProxySettingsPolicy] == 0);
-			radioButtonUseSebProxySettings.Checked = ((int)SEBSettings.settingsCurrent[SEBSettings.KeyProxySettingsPolicy] == 1);
+			radioButtonUseSystemProxySettings.Checked = ((int) SEBSettings.settingsCurrent[SEBSettings.KeyProxySettingsPolicy] == 0);
+			radioButtonUseSebProxySettings.Checked = ((int) SEBSettings.settingsCurrent[SEBSettings.KeyProxySettingsPolicy] == 1);
 
-			textBoxAutoProxyConfigurationURL.Text = (String)SEBSettings.proxiesData[SEBSettings.KeyAutoConfigurationURL];
-			checkBoxExcludeSimpleHostnames.Checked = (Boolean)SEBSettings.proxiesData[SEBSettings.KeyExcludeSimpleHostnames];
-			checkBoxUsePassiveFTPMode.Checked = (Boolean)SEBSettings.proxiesData[SEBSettings.KeyFTPPassive];
+			textBoxAutoProxyConfigurationURL.Text = (String) SEBSettings.proxiesData[SEBSettings.KeyAutoConfigurationURL];
+			checkBoxExcludeSimpleHostnames.Checked = (Boolean) SEBSettings.proxiesData[SEBSettings.KeyExcludeSimpleHostnames];
+			checkBoxUsePassiveFTPMode.Checked = (Boolean) SEBSettings.proxiesData[SEBSettings.KeyFTPPassive];
 
 			// Group "Security"
-			listBoxSebServicePolicy.SelectedIndex = (int)SEBSettings.settingsCurrent[SEBSettings.KeySebServicePolicy];
-			checkBoxSebServiceIgnore.Checked = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeySebServiceIgnore];
+			listBoxSebServicePolicy.SelectedIndex = (int) SEBSettings.settingsCurrent[SEBSettings.KeySebServicePolicy];
+			checkBoxSebServiceIgnore.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeySebServiceIgnore];
 			labelSebServiceIgnore.Enabled = !checkBoxSebServiceIgnore.Checked;
 			labelSebServicePolicy.Enabled = !checkBoxSebServiceIgnore.Checked;
 			listBoxSebServicePolicy.Enabled = !checkBoxSebServiceIgnore.Checked;
@@ -779,19 +797,19 @@ namespace SebWindowsConfig
 			checkBoxAllowWindowsUpdate.Enabled = !checkBoxSebServiceIgnore.Checked;
 			checkBoxAllowScreenSharing.Enabled = !checkBoxSebServiceIgnore.Checked;
 			checkBoxAllowChromeNotifications.Enabled = !checkBoxSebServiceIgnore.Checked;
-			checkBoxAllowVirtualMachine.Checked = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyAllowVirtualMachine];
-            checkBoxAllowScreenSharing.Checked = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyAllowScreenSharing];
-            checkBoxEnablePrivateClipboard.Checked = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyEnablePrivateClipboard];
-            radioCreateNewDesktop.Checked = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyCreateNewDesktop];
-			radioKillExplorerShell.Checked = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyKillExplorerShell];
-			radioNoKiosMode.Checked = !(Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyKillExplorerShell] && !(Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyCreateNewDesktop];
-			checkBoxEnableLogging.Checked = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyEnableLogging];
-			textBoxLogDirectoryWin.Text = (String)SEBSettings.settingsCurrent[SEBSettings.KeyLogDirectoryWin];
-			checkBoxAllowLogAccess.Checked = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyAllowApplicationLog];
-			checkBoxShowLogButton.Checked = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyShowApplicationLogButton];
+			checkBoxAllowVirtualMachine.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyAllowVirtualMachine];
+			checkBoxAllowScreenSharing.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyAllowScreenSharing];
+			checkBoxEnablePrivateClipboard.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyEnablePrivateClipboard];
+			radioCreateNewDesktop.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyCreateNewDesktop];
+			radioKillExplorerShell.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyKillExplorerShell];
+			radioNoKiosMode.Checked = !(Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyKillExplorerShell] && !(Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyCreateNewDesktop];
+			checkBoxEnableLogging.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyEnableLogging];
+			textBoxLogDirectoryWin.Text = (String) SEBSettings.settingsCurrent[SEBSettings.KeyLogDirectoryWin];
+			checkBoxAllowLogAccess.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyAllowApplicationLog];
+			checkBoxShowLogButton.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyShowApplicationLogButton];
 			checkBoxShowLogButton.Enabled = checkBoxAllowLogAccess.Checked;
-			checkBoxAllowChromeNotifications.Checked = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyAllowChromeNotifications];
-			checkBoxAllowWindowsUpdate.Checked = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyAllowWindowsUpdate];
+			checkBoxAllowChromeNotifications.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyAllowChromeNotifications];
+			checkBoxAllowWindowsUpdate.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyAllowWindowsUpdate];
 
 			if (String.IsNullOrEmpty(textBoxLogDirectoryWin.Text))
 			{
@@ -801,64 +819,64 @@ namespace SebWindowsConfig
 			{
 				checkBoxUseStandardDirectory.Checked = false;
 			}
-			textBoxLogDirectoryOSX.Text = (String)SEBSettings.settingsCurrent[SEBSettings.KeyLogDirectoryOSX];
-			checkboxAllowWlan.Checked = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyAllowWLAN];
-			checkBoxEnableScreenCapture.Checked = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyEnablePrintScreen];
+			textBoxLogDirectoryOSX.Text = (String) SEBSettings.settingsCurrent[SEBSettings.KeyLogDirectoryOSX];
+			checkboxAllowWlan.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyAllowWLAN];
+			checkBoxEnableScreenCapture.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyEnablePrintScreen];
 
-            comboBoxMinMacOSVersion.SelectedIndex = (int)SEBSettings.settingsCurrent[SEBSettings.KeyMinMacOSVersion];
-            checkBoxEnableAppSwitcherCheck.Checked = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyEnableAppSwitcherCheck];
-            checkBoxForceAppFolderInstall.Checked = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyForceAppFolderInstall];
-            checkBoxAllowUserAppFolderInstall.Checked = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyAllowUserAppFolderInstall];
-            checkBoxAllowSiri.Checked = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyAllowSiri];
-            checkBoxAllowDictation.Checked = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyAllowDictation];
-            checkBoxDetectStoppedProcess.Checked = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyDetectStoppedProcess];
-            checkBoxAllowDisplayMirroring.Checked = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyAllowDisplayMirroring];
-            comboBoxAllowedDisplaysMaxNumber.Text = (String)SEBSettings.settingsCurrent[SEBSettings.KeyAllowedDisplaysMaxNumber].ToString();
-            checkBoxAllowedDisplayBuiltin.Checked = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyAllowedDisplayBuiltin];
-			checkBoxEnforceBuiltinDisplay.Checked = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyAllowedDisplayBuiltinEnforce];
-			checkBoxAllowedDisplayIgnoreError.Checked = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyAllowedDisplayIgnoreFailure];
+			comboBoxMinMacOSVersion.SelectedIndex = (int) SEBSettings.settingsCurrent[SEBSettings.KeyMinMacOSVersion];
+			checkBoxEnableAppSwitcherCheck.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyEnableAppSwitcherCheck];
+			checkBoxForceAppFolderInstall.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyForceAppFolderInstall];
+			checkBoxAllowUserAppFolderInstall.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyAllowUserAppFolderInstall];
+			checkBoxAllowSiri.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyAllowSiri];
+			checkBoxAllowDictation.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyAllowDictation];
+			checkBoxDetectStoppedProcess.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyDetectStoppedProcess];
+			checkBoxAllowDisplayMirroring.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyAllowDisplayMirroring];
+			comboBoxAllowedDisplaysMaxNumber.Text = (String) SEBSettings.settingsCurrent[SEBSettings.KeyAllowedDisplaysMaxNumber].ToString();
+			checkBoxAllowedDisplayBuiltin.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyAllowedDisplayBuiltin];
+			checkBoxEnforceBuiltinDisplay.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyAllowedDisplayBuiltinEnforce];
+			checkBoxAllowedDisplayIgnoreError.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyAllowedDisplayIgnoreFailure];
 
-            // Group "Registry"
-            checkBoxInsideSebEnableSwitchUser.Checked = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyInsideSebEnableSwitchUser];
-			checkBoxInsideSebEnableLockThisComputer .Checked = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyInsideSebEnableLockThisComputer];
-			checkBoxInsideSebEnableChangeAPassword  .Checked = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyInsideSebEnableChangeAPassword];
-			checkBoxInsideSebEnableStartTaskManager .Checked = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyInsideSebEnableStartTaskManager];
-			checkBoxInsideSebEnableLogOff           .Checked = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyInsideSebEnableLogOff];
-			checkBoxInsideSebEnableShutDown         .Checked = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyInsideSebEnableShutDown];
-			checkBoxInsideSebEnableEaseOfAccess     .Checked = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyInsideSebEnableEaseOfAccess];
-			checkBoxSetVmwareConfiguration.Checked = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeySetVmwareConfiguration];
+			// Group "Registry"
+			checkBoxInsideSebEnableSwitchUser.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyInsideSebEnableSwitchUser];
+			checkBoxInsideSebEnableLockThisComputer.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyInsideSebEnableLockThisComputer];
+			checkBoxInsideSebEnableChangeAPassword.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyInsideSebEnableChangeAPassword];
+			checkBoxInsideSebEnableStartTaskManager.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyInsideSebEnableStartTaskManager];
+			checkBoxInsideSebEnableLogOff.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyInsideSebEnableLogOff];
+			checkBoxInsideSebEnableShutDown.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyInsideSebEnableShutDown];
+			checkBoxInsideSebEnableEaseOfAccess.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyInsideSebEnableEaseOfAccess];
+			checkBoxSetVmwareConfiguration.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeySetVmwareConfiguration];
 			checkBoxInsideSebEnableVmWareClientShade.Enabled = checkBoxSetVmwareConfiguration.Checked;
-			checkBoxInsideSebEnableVmWareClientShade.Checked = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyInsideSebEnableVmWareClientShade];
-			checkBoxInsideSebEnableNetworkConnectionSelector.Checked = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyInsideSebEnableNetworkConnectionSelector];
+			checkBoxInsideSebEnableVmWareClientShade.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyInsideSebEnableVmWareClientShade];
+			checkBoxInsideSebEnableNetworkConnectionSelector.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyInsideSebEnableNetworkConnectionSelector];
 
 			// Group "Hooked Keys"
-			checkBoxHookKeys.Checked = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyHookKeys];
+			checkBoxHookKeys.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyHookKeys];
 
-			checkBoxEnableEsc        .Checked = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyEnableEsc];
-			checkBoxEnableCtrlEsc    .Checked = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyEnableCtrlEsc];
-			checkBoxEnableAltEsc     .Checked = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyEnableAltEsc];
-			checkBoxEnableAltTab     .Checked = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyEnableAltTab];
-			checkBoxEnableAltF4      .Checked = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyEnableAltF4];
-			checkBoxEnableMiddleMouse.Checked = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyEnableMiddleMouse];
-			checkBoxEnableRightMouse .Checked = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyEnableRightMouse];
-			checkBoxEnablePrintScreen.Checked = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyEnablePrintScreen];
-			checkBoxEnableAltMouseWheel.Checked = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyEnableAltMouseWheel];
+			checkBoxEnableEsc.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyEnableEsc];
+			checkBoxEnableCtrlEsc.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyEnableCtrlEsc];
+			checkBoxEnableAltEsc.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyEnableAltEsc];
+			checkBoxEnableAltTab.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyEnableAltTab];
+			checkBoxEnableAltF4.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyEnableAltF4];
+			checkBoxEnableMiddleMouse.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyEnableMiddleMouse];
+			checkBoxEnableRightMouse.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyEnableRightMouse];
+			checkBoxEnablePrintScreen.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyEnablePrintScreen];
+			checkBoxEnableAltMouseWheel.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyEnableAltMouseWheel];
 
-			checkBoxEnableF1 .Checked = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyEnableF1];
-			checkBoxEnableF2 .Checked = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyEnableF2];
-			checkBoxEnableF3 .Checked = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyEnableF3];
-			checkBoxEnableF4 .Checked = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyEnableF4];
-			checkBoxEnableF5 .Checked = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyEnableF5];
-			checkBoxEnableF6 .Checked = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyEnableF6];
-			checkBoxEnableF7 .Checked = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyEnableF7];
-			checkBoxEnableF8 .Checked = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyEnableF8];
-			checkBoxEnableF9 .Checked = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyEnableF9];
-			checkBoxEnableF10.Checked = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyEnableF10];
-			checkBoxEnableF11.Checked = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyEnableF11];
-			checkBoxEnableF12.Checked = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyEnableF12];
+			checkBoxEnableF1.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyEnableF1];
+			checkBoxEnableF2.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyEnableF2];
+			checkBoxEnableF3.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyEnableF3];
+			checkBoxEnableF4.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyEnableF4];
+			checkBoxEnableF5.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyEnableF5];
+			checkBoxEnableF6.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyEnableF6];
+			checkBoxEnableF7.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyEnableF7];
+			checkBoxEnableF8.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyEnableF8];
+			checkBoxEnableF9.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyEnableF9];
+			checkBoxEnableF10.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyEnableF10];
+			checkBoxEnableF11.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyEnableF11];
+			checkBoxEnableF12.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyEnableF12];
 
-			checkBoxShowTime.Checked = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyShowTime];
-			checkBoxShowKeyboardLayout.Checked = (Boolean)SEBSettings.settingsCurrent[SEBSettings.KeyShowInputLanguage];
+			checkBoxShowTime.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyShowTime];
+			checkBoxShowKeyboardLayout.Checked = (Boolean) SEBSettings.settingsCurrent[SEBSettings.KeyShowInputLanguage];
 
 			return;
 		}
@@ -1058,8 +1076,8 @@ namespace SebWindowsConfig
 
 		private void checkBoxIgnoreExitKeys_CheckedChanged(object sender, EventArgs e)
 		{
-			SEBSettings.settingsCurrent[SEBSettings.KeyIgnoreExitKeys] =  checkBoxIgnoreExitKeys.Checked;
-			groupBoxExitSequence.Enabled                               = !checkBoxIgnoreExitKeys.Checked;
+			SEBSettings.settingsCurrent[SEBSettings.KeyIgnoreExitKeys] = checkBoxIgnoreExitKeys.Checked;
+			groupBoxExitSequence.Enabled = !checkBoxIgnoreExitKeys.Checked;
 		}
 
 		private void listBoxExitKey1_SelectedIndexChanged(object sender, EventArgs e)
@@ -1068,7 +1086,7 @@ namespace SebWindowsConfig
 			// If selected key is already occupied, revert to previously selected key.
 			if ((listBoxExitKey1.SelectedIndex == listBoxExitKey2.SelectedIndex) ||
 				(listBoxExitKey1.SelectedIndex == listBoxExitKey3.SelectedIndex))
-				 listBoxExitKey1.SelectedIndex =  (int)SEBSettings.settingsCurrent[SEBSettings.KeyExitKey1];
+				listBoxExitKey1.SelectedIndex = (int) SEBSettings.settingsCurrent[SEBSettings.KeyExitKey1];
 			SEBSettings.settingsCurrent[SEBSettings.KeyExitKey1] = listBoxExitKey1.SelectedIndex;
 		}
 
@@ -1078,7 +1096,7 @@ namespace SebWindowsConfig
 			// If selected key is already occupied, revert to previously selected key.
 			if ((listBoxExitKey2.SelectedIndex == listBoxExitKey1.SelectedIndex) ||
 				(listBoxExitKey2.SelectedIndex == listBoxExitKey3.SelectedIndex))
-				 listBoxExitKey2.SelectedIndex =  (int)SEBSettings.settingsCurrent[SEBSettings.KeyExitKey2];
+				listBoxExitKey2.SelectedIndex = (int) SEBSettings.settingsCurrent[SEBSettings.KeyExitKey2];
 			SEBSettings.settingsCurrent[SEBSettings.KeyExitKey2] = listBoxExitKey2.SelectedIndex;
 		}
 
@@ -1088,7 +1106,7 @@ namespace SebWindowsConfig
 			// If selected key is already occupied, revert to previously selected key.
 			if ((listBoxExitKey3.SelectedIndex == listBoxExitKey1.SelectedIndex) ||
 				(listBoxExitKey3.SelectedIndex == listBoxExitKey2.SelectedIndex))
-				 listBoxExitKey3.SelectedIndex =  (int)SEBSettings.settingsCurrent[SEBSettings.KeyExitKey3];
+				listBoxExitKey3.SelectedIndex = (int) SEBSettings.settingsCurrent[SEBSettings.KeyExitKey3];
 			SEBSettings.settingsCurrent[SEBSettings.KeyExitKey3] = listBoxExitKey3.SelectedIndex;
 		}
 
@@ -1104,18 +1122,18 @@ namespace SebWindowsConfig
 
 		private void buttonQuit_Click(object sender, EventArgs e)
 		{
-/*
-			// If no file has been opened, save the current settings
-			// to the default configuration file ("SebStarter.xml/seb")
-			if (currentFileSebStarterIni.Equals(""))
-			{
-				currentFileSebStarter = defaultFileSebStarter;
-				currentPathSebStarter = defaultPathSebStarter;
-			}
+			/*
+						// If no file has been opened, save the current settings
+						// to the default configuration file ("SebStarter.xml/seb")
+						if (currentFileSebStarterIni.Equals(""))
+						{
+							currentFileSebStarter = defaultFileSebStarter;
+							currentPathSebStarter = defaultPathSebStarter;
+						}
 
-			// Save the configuration file so that nothing gets lost
-			SaveConfigurationFile(currentPathSebStarter);
-*/
+						// Save the configuration file so that nothing gets lost
+						SaveConfigurationFile(currentPathSebStarter);
+			*/
 			// Close the configuration window and exit
 			this.Close();
 		}
@@ -1128,7 +1146,7 @@ namespace SebWindowsConfig
 		private void radioButtonStartingAnExam_CheckedChanged(object sender, EventArgs e)
 		{
 			if (radioButtonStartingAnExam.Checked == true)
-				 SEBSettings.settingsCurrent[SEBSettings.KeySebConfigPurpose] = 0;
+				SEBSettings.settingsCurrent[SEBSettings.KeySebConfigPurpose] = 0;
 			else SEBSettings.settingsCurrent[SEBSettings.KeySebConfigPurpose] = 1;
 			sebConfigPurposeChanged = true;
 		}
@@ -1136,7 +1154,7 @@ namespace SebWindowsConfig
 		private void radioButtonConfiguringAClient_CheckedChanged(object sender, EventArgs e)
 		{
 			if (radioButtonConfiguringAClient.Checked == true)
-				 SEBSettings.settingsCurrent[SEBSettings.KeySebConfigPurpose] = 1;
+				SEBSettings.settingsCurrent[SEBSettings.KeySebConfigPurpose] = 1;
 			else SEBSettings.settingsCurrent[SEBSettings.KeySebConfigPurpose] = 0;
 			sebConfigPurposeChanged = true;
 		}
@@ -1302,14 +1320,14 @@ namespace SebWindowsConfig
 			StringBuilder sebClientSettingsAppDataBuilder = new StringBuilder(currentDireSebConfigFile).Append(@"\").Append(currentFileSebConfigFile);
 			String fileName = sebClientSettingsAppDataBuilder.ToString();
 
-            // Update URL filter rules, also the seb-Browser white/blacklist keys, 
-            // which are necessary for compatibility to SEB 2.1.x
-            urlFilter.UpdateFilterRules();
+			// Update URL filter rules, also the seb-Browser white/blacklist keys, 
+			// which are necessary for compatibility to SEB 2.1.x
+			urlFilter.UpdateFilterRules();
 
-            /// Generate Browser Exam Key and its salt, in case settings or the settings password changed
+			/// Generate Browser Exam Key and its salt, in case settings or the settings password changed
 			string newBrowserExamKey = SEBProtectionController.ComputeBrowserExamKey();
 			// Save current Browser Exam Key salt in case saving fails
-			byte[] currentExamKeySalt = (byte[])SEBSettings.settingsCurrent[SEBSettings.KeyExamKeySalt];
+			byte[] currentExamKeySalt = (byte[]) SEBSettings.settingsCurrent[SEBSettings.KeyExamKeySalt];
 
 			if (!lastBrowserExamKey.Equals(newBrowserExamKey) || !lastSettingsPassword.Equals(textBoxSettingsPassword.Text) || lastCryptoIdentityIndex != comboBoxCryptoIdentity.SelectedIndex)
 			{
@@ -1331,7 +1349,7 @@ namespace SebWindowsConfig
 			if ((!currentPathSebConfigFile.Equals(SEBClientInfo.SebClientSettingsAppDataFile) && !currentPathSebConfigFile.Equals(SEBClientInfo.SebClientSettingsProgramDataFile) && sebConfigPurposeChanged) || currentSebConfigFileWasDuplicated)
 			{
 				// In this case tell the user what purpose the file was saved for
-				string messageFilePurpose = (int)SEBSettings.settingsCurrent[SEBSettings.KeySebConfigPurpose] == 0 ? SEBUIStrings.savingSettingsSucceededStartExam : SEBUIStrings.savingSettingsSucceededMessageConfigureClient;
+				string messageFilePurpose = (int) SEBSettings.settingsCurrent[SEBSettings.KeySebConfigPurpose] == 0 ? SEBUIStrings.savingSettingsSucceededStartExam : SEBUIStrings.savingSettingsSucceededMessageConfigureClient;
 				MessageBox.Show(messageFilePurpose, SEBUIStrings.savingSettingsSucceeded, MessageBoxButtons.OK, MessageBoxIcon.Information);
 				currentSebConfigFileWasDuplicated = false;
 				sebConfigPurposeChanged = false;
@@ -1367,14 +1385,14 @@ namespace SebWindowsConfig
 			// If the user clicked "OK"    , write the settings to the configuration file
 			if (fileDialogResult.Equals(DialogResult.Cancel)) return;
 
-            // Update URL filter rules, also the seb-Browser white/blacklist keys, 
-            // which are necessary for compatibility to SEB 2.1.x
-            urlFilter.UpdateFilterRules();
+			// Update URL filter rules, also the seb-Browser white/blacklist keys, 
+			// which are necessary for compatibility to SEB 2.1.x
+			urlFilter.UpdateFilterRules();
 
-            // Generate Browser Exam Key and its salt, if settings changed
-            string newBrowserExamKey = SEBProtectionController.ComputeBrowserExamKey();
+			// Generate Browser Exam Key and its salt, if settings changed
+			string newBrowserExamKey = SEBProtectionController.ComputeBrowserExamKey();
 			// Save current Browser Exam Key salt in case saving fails
-			byte[] currentExamKeySalt = (byte[])SEBSettings.settingsCurrent[SEBSettings.KeyExamKeySalt];
+			byte[] currentExamKeySalt = (byte[]) SEBSettings.settingsCurrent[SEBSettings.KeyExamKeySalt];
 
 			if (!lastBrowserExamKey.Equals(newBrowserExamKey) || !lastSettingsPassword.Equals(textBoxSettingsPassword.Text) || lastCryptoIdentityIndex != comboBoxCryptoIdentity.SelectedIndex)
 			{
@@ -1383,7 +1401,8 @@ namespace SebWindowsConfig
 				// Save the new salt
 				SEBSettings.settingsCurrent[SEBSettings.KeyExamKeySalt] = newExamKeySalt;
 			}
-			if (fileDialogResult.Equals(DialogResult.OK)) {
+			if (fileDialogResult.Equals(DialogResult.OK))
+			{
 				if (!SaveConfigurationFileFromEditor(fileName))
 				{
 					MessageBox.Show(SEBUIStrings.savingSettingsFailedMessage, SEBUIStrings.savingSettingsFailed, MessageBoxButtons.OK, MessageBoxIcon.Error);
@@ -1395,7 +1414,7 @@ namespace SebWindowsConfig
 				if (!currentPathSebConfigFile.Equals(SEBClientInfo.SebClientSettingsAppDataFile) && !currentPathSebConfigFile.Equals(SEBClientInfo.SebClientSettingsProgramDataFile))
 				{
 					// Tell the user what purpose the file was saved for
-					string messageFilePurpose = (int)SEBSettings.settingsCurrent[SEBSettings.KeySebConfigPurpose] == 0 ? SEBUIStrings.savingSettingsSucceededStartExam : SEBUIStrings.savingSettingsSucceededMessageConfigureClient;
+					string messageFilePurpose = (int) SEBSettings.settingsCurrent[SEBSettings.KeySebConfigPurpose] == 0 ? SEBUIStrings.savingSettingsSucceededStartExam : SEBUIStrings.savingSettingsSucceededMessageConfigureClient;
 					MessageBox.Show(messageFilePurpose, SEBUIStrings.savingSettingsSucceeded, MessageBoxButtons.OK, MessageBoxIcon.Information);
 					currentSebConfigFileWasDuplicated = false;
 					sebConfigPurposeChanged = false;
@@ -1443,11 +1462,11 @@ namespace SebWindowsConfig
 				SEBSettings.settingsCurrent[SEBSettings.KeySebConfigPurpose] = 0;
 			}
 
-            // Update URL filter rules, also the seb-Browser white/blacklist keys, 
-            // which are necessary for compatibility to SEB 2.1.x
-            urlFilter.UpdateFilterRules();
+			// Update URL filter rules, also the seb-Browser white/blacklist keys, 
+			// which are necessary for compatibility to SEB 2.1.x
+			urlFilter.UpdateFilterRules();
 
-            UpdateAllWidgetsOfProgram();
+			UpdateAllWidgetsOfProgram();
 			// Generate Browser Exam Key of default settings
 			string currentBrowserExamKey = SEBProtectionController.ComputeBrowserExamKey();
 			lastSettingsPassword = textBoxSettingsPassword.Text;
@@ -1474,31 +1493,31 @@ namespace SebWindowsConfig
 				if (!saveCurrentSettings()) return;
 			}
 
-				// Get the path to the local client settings configuration file
-				currentDireSebConfigFile = SEBClientInfo.SebClientSettingsAppDataDirectory;
-				currentFileSebConfigFile = SEBClientInfo.SEB_CLIENT_CONFIG;
-				StringBuilder sebClientSettingsAppDataBuilder = new StringBuilder(currentDireSebConfigFile).Append(currentFileSebConfigFile);
-				currentPathSebConfigFile = sebClientSettingsAppDataBuilder.ToString();
+			// Get the path to the local client settings configuration file
+			currentDireSebConfigFile = SEBClientInfo.SebClientSettingsAppDataDirectory;
+			currentFileSebConfigFile = SEBClientInfo.SEB_CLIENT_CONFIG;
+			StringBuilder sebClientSettingsAppDataBuilder = new StringBuilder(currentDireSebConfigFile).Append(currentFileSebConfigFile);
+			currentPathSebConfigFile = sebClientSettingsAppDataBuilder.ToString();
 
-				if (!LoadConfigurationFileIntoEditor(currentPathSebConfigFile))
-				{
-					settingsPassword = "";
-					settingsPasswordFieldsContainHash = false;
-					SEBSettings.RestoreDefaultAndCurrentSettings();
-					SEBSettings.AddDefaultProhibitedProcesses();
-					currentPathSebConfigFile = SEBUIStrings.settingsTitleDefaultSettings;
-                // Update URL filter rules, also the seb-Browser white/blacklist keys, 
-                // which are necessary for compatibility to SEB 2.1.x
-                urlFilter.UpdateFilterRules();
-                UpdateAllWidgetsOfProgram();
-				}
-				// Generate Browser Exam Key of this new settings
-				lastBrowserExamKey = SEBProtectionController.ComputeBrowserExamKey();
-				lastSettingsPassword = textBoxSettingsPassword.Text;
-				lastCryptoIdentityIndex = comboBoxCryptoIdentity.SelectedIndex;
-				// Display the new Browser Exam Key in Exam pane
-				textBoxBrowserExamKey.Text = lastBrowserExamKey;
-				textBoxConfigurationKey.Text = SEBProtectionController.ComputeConfigurationKey();
+			if (!LoadConfigurationFileIntoEditor(currentPathSebConfigFile))
+			{
+				settingsPassword = "";
+				settingsPasswordFieldsContainHash = false;
+				SEBSettings.RestoreDefaultAndCurrentSettings();
+				SEBSettings.AddDefaultProhibitedProcesses();
+				currentPathSebConfigFile = SEBUIStrings.settingsTitleDefaultSettings;
+				// Update URL filter rules, also the seb-Browser white/blacklist keys, 
+				// which are necessary for compatibility to SEB 2.1.x
+				urlFilter.UpdateFilterRules();
+				UpdateAllWidgetsOfProgram();
+			}
+			// Generate Browser Exam Key of this new settings
+			lastBrowserExamKey = SEBProtectionController.ComputeBrowserExamKey();
+			lastSettingsPassword = textBoxSettingsPassword.Text;
+			lastCryptoIdentityIndex = comboBoxCryptoIdentity.SelectedIndex;
+			// Display the new Browser Exam Key in Exam pane
+			textBoxBrowserExamKey.Text = lastBrowserExamKey;
+			textBoxConfigurationKey.Text = SEBProtectionController.ComputeConfigurationKey();
 		}
 
 
@@ -1547,54 +1566,54 @@ namespace SebWindowsConfig
 				if (!saveCurrentSettings()) return;
 			}
 
-				// Add string " copy" (or " n+1" if the filename already ends with " copy" or " copy n") to the config name filename
-				// Get the filename without extension
-				string filename = Path.GetFileNameWithoutExtension(currentFileSebConfigFile);
-				// Get the extension (should be .seb)
-				string extension = Path.GetExtension(currentFileSebConfigFile);
-				StringBuilder newFilename = new StringBuilder();
-				if (filename.Length == 0)
+			// Add string " copy" (or " n+1" if the filename already ends with " copy" or " copy n") to the config name filename
+			// Get the filename without extension
+			string filename = Path.GetFileNameWithoutExtension(currentFileSebConfigFile);
+			// Get the extension (should be .seb)
+			string extension = Path.GetExtension(currentFileSebConfigFile);
+			StringBuilder newFilename = new StringBuilder();
+			if (filename.Length == 0)
+			{
+				newFilename.Append(SEBUIStrings.settingsUntitledFilename);
+				extension = ".seb";
+			}
+			else
+			{
+				int copyStringPosition = filename.LastIndexOf(SEBUIStrings.settingsDuplicateSuffix);
+				if (copyStringPosition == -1)
 				{
-					newFilename.Append(SEBUIStrings.settingsUntitledFilename);
-					extension = ".seb";
+					newFilename.Append(filename).Append(SEBUIStrings.settingsDuplicateSuffix);
 				}
 				else
 				{
-					int copyStringPosition = filename.LastIndexOf(SEBUIStrings.settingsDuplicateSuffix);
-					if (copyStringPosition == -1)
+					newFilename.Append(filename.Substring(0, copyStringPosition + SEBUIStrings.settingsDuplicateSuffix.Length));
+					string copyNumberString = filename.Substring(copyStringPosition + SEBUIStrings.settingsDuplicateSuffix.Length);
+					if (copyNumberString.Length == 0)
 					{
-						newFilename.Append(filename).Append(SEBUIStrings.settingsDuplicateSuffix);
+						newFilename.Append(" 1");
 					}
 					else
 					{
-						newFilename.Append(filename.Substring(0, copyStringPosition + SEBUIStrings.settingsDuplicateSuffix.Length));
-						string copyNumberString = filename.Substring(copyStringPosition + SEBUIStrings.settingsDuplicateSuffix.Length);
-						if (copyNumberString.Length == 0)
+						int copyNumber = Convert.ToInt16(copyNumberString.Substring(1));
+						if (copyNumber == 0)
 						{
-							newFilename.Append(" 1");
+							newFilename.Append(SEBUIStrings.settingsDuplicateSuffix);
 						}
 						else
 						{
-							int copyNumber = Convert.ToInt16(copyNumberString.Substring(1));
-							if (copyNumber == 0)
-							{
-								newFilename.Append(SEBUIStrings.settingsDuplicateSuffix);
-							}
-							else
-							{
-								newFilename.Append(" ").Append((copyNumber + 1).ToString());
-							}
+							newFilename.Append(" ").Append((copyNumber + 1).ToString());
 						}
 					}
 				}
-				lastPathSebConfigFile = currentPathSebConfigFile;
-				currentFileSebConfigFile = newFilename.Append(extension).ToString();
+			}
+			lastPathSebConfigFile = currentPathSebConfigFile;
+			currentFileSebConfigFile = newFilename.Append(extension).ToString();
 
-				StringBuilder sebClientSettingsAppDataBuilder = new StringBuilder(currentDireSebConfigFile).Append(@"\").Append(currentFileSebConfigFile);
-				currentPathSebConfigFile = sebClientSettingsAppDataBuilder.ToString();
-				currentSebConfigFileWasDuplicated = true;
-				// Update title of edited settings file
-				UpdateAllWidgetsOfProgram();
+			StringBuilder sebClientSettingsAppDataBuilder = new StringBuilder(currentDireSebConfigFile).Append(@"\").Append(currentFileSebConfigFile);
+			currentPathSebConfigFile = sebClientSettingsAppDataBuilder.ToString();
+			currentSebConfigFileWasDuplicated = true;
+			// Update title of edited settings file
+			UpdateAllWidgetsOfProgram();
 		}
 
 
@@ -1607,14 +1626,14 @@ namespace SebWindowsConfig
 			StringBuilder sebClientSettingsAppDataBuilder = new StringBuilder(SEBClientInfo.SebClientSettingsAppDataDirectory).Append(SEBClientInfo.SEB_CLIENT_CONFIG);
 			string filename = sebClientSettingsAppDataBuilder.ToString();
 
-            // Update URL filter rules, also the seb-Browser white/blacklist keys, 
-            // which are necessary for compatibility to SEB 2.1.x
-            urlFilter.UpdateFilterRules();
+			// Update URL filter rules, also the seb-Browser white/blacklist keys, 
+			// which are necessary for compatibility to SEB 2.1.x
+			urlFilter.UpdateFilterRules();
 
-            // Generate Browser Exam Key and its salt, if settings changed
-            string newBrowserExamKey = SEBProtectionController.ComputeBrowserExamKey();
+			// Generate Browser Exam Key and its salt, if settings changed
+			string newBrowserExamKey = SEBProtectionController.ComputeBrowserExamKey();
 			// Save current Browser Exam Key salt in case saving fails
-			byte[] currentExamKeySalt = (byte[])SEBSettings.settingsCurrent[SEBSettings.KeyExamKeySalt];
+			byte[] currentExamKeySalt = (byte[]) SEBSettings.settingsCurrent[SEBSettings.KeyExamKeySalt];
 
 			if (!lastBrowserExamKey.Equals(newBrowserExamKey) || !lastSettingsPassword.Equals(textBoxSettingsPassword.Text))
 			{
@@ -1646,13 +1665,13 @@ namespace SebWindowsConfig
 			// Check if there are unconfirmed passwords, if yes show an alert and abort saving
 			if (ArePasswordsUnconfirmed()) return;
 
-            // Update URL filter rules, also the seb-Browser white/blacklist keys, 
-            // which are necessary for compatibility to SEB 2.1.x
-            urlFilter.UpdateFilterRules();
+			// Update URL filter rules, also the seb-Browser white/blacklist keys, 
+			// which are necessary for compatibility to SEB 2.1.x
+			urlFilter.UpdateFilterRules();
 
-            // Check if settings changed and save them if yes
-            // Generate current Browser Exam Key
-            string currentBrowserExamKey = SEBProtectionController.ComputeBrowserExamKey();
+			// Check if settings changed and save them if yes
+			// Generate current Browser Exam Key
+			string currentBrowserExamKey = SEBProtectionController.ComputeBrowserExamKey();
 			if (!lastBrowserExamKey.Equals(currentBrowserExamKey) || !lastSettingsPassword.Equals(textBoxSettingsPassword.Text) || !String.IsNullOrEmpty(lastPathSebConfigFile))
 			{
 				if (!saveCurrentSettings()) return;
@@ -1724,11 +1743,11 @@ namespace SebWindowsConfig
 				SEBSettings.settingsCurrent[SEBSettings.KeyNewBrowserWindowByLinkHeight] = "100%";
 				SEBSettings.settingsCurrent[SEBSettings.KeyBrowserViewMode] = 1;
 
-				if ((bool)SEBSettings.settingsCurrent[SEBSettings.KeyTouchOptimized] == false)
+				if ((bool) SEBSettings.settingsCurrent[SEBSettings.KeyTouchOptimized] == false)
 				{
-                    checkBoxEnableTouchExit.Checked = (bool)SEBSettings.settingsCurrent[SEBSettings.KeyEnableTouchExit];
-                }
-                SEBSettings.settingsCurrent[SEBSettings.KeyTouchOptimized] = true;
+					checkBoxEnableTouchExit.Checked = (bool) SEBSettings.settingsCurrent[SEBSettings.KeyEnableTouchExit];
+				}
+				SEBSettings.settingsCurrent[SEBSettings.KeyTouchOptimized] = true;
 				SEBSettings.settingsCurrent[SEBSettings.KeyBrowserScreenKeyboard] = true;
 				checkBoxEnableTouchExit.Enabled = true;
 			}
@@ -1738,7 +1757,7 @@ namespace SebWindowsConfig
 		{
 			SEBSettings.intArrayCurrent[SEBSettings.ValMainBrowserWindowWidth] = comboBoxMainBrowserWindowWidth.SelectedIndex;
 			SEBSettings.strArrayCurrent[SEBSettings.ValMainBrowserWindowWidth] = comboBoxMainBrowserWindowWidth.Text;
-		  //SEBSettings.settingsCurrent[SEBSettings.KeyMainBrowserWindowWidth] = comboBoxMainBrowserWindowWidth.SelectedIndex;
+			//SEBSettings.settingsCurrent[SEBSettings.KeyMainBrowserWindowWidth] = comboBoxMainBrowserWindowWidth.SelectedIndex;
 			SEBSettings.settingsCurrent[SEBSettings.KeyMainBrowserWindowWidth] = comboBoxMainBrowserWindowWidth.Text;
 		}
 
@@ -1746,7 +1765,7 @@ namespace SebWindowsConfig
 		{
 			SEBSettings.intArrayCurrent[SEBSettings.ValMainBrowserWindowWidth] = comboBoxMainBrowserWindowWidth.SelectedIndex;
 			SEBSettings.strArrayCurrent[SEBSettings.ValMainBrowserWindowWidth] = comboBoxMainBrowserWindowWidth.Text;
-		  //SEBSettings.settingsCurrent[SEBSettings.KeyMainBrowserWindowWidth] = comboBoxMainBrowserWindowWidth.SelectedIndex;
+			//SEBSettings.settingsCurrent[SEBSettings.KeyMainBrowserWindowWidth] = comboBoxMainBrowserWindowWidth.SelectedIndex;
 			SEBSettings.settingsCurrent[SEBSettings.KeyMainBrowserWindowWidth] = comboBoxMainBrowserWindowWidth.Text;
 		}
 
@@ -1754,7 +1773,7 @@ namespace SebWindowsConfig
 		{
 			SEBSettings.intArrayCurrent[SEBSettings.ValMainBrowserWindowHeight] = comboBoxMainBrowserWindowHeight.SelectedIndex;
 			SEBSettings.strArrayCurrent[SEBSettings.ValMainBrowserWindowHeight] = comboBoxMainBrowserWindowHeight.Text;
-		  //SEBSettings.settingsCurrent[SEBSettings.KeyMainBrowserWindowHeight] = comboBoxMainBrowserWindowHeight.SelectedIndex;
+			//SEBSettings.settingsCurrent[SEBSettings.KeyMainBrowserWindowHeight] = comboBoxMainBrowserWindowHeight.SelectedIndex;
 			SEBSettings.settingsCurrent[SEBSettings.KeyMainBrowserWindowHeight] = comboBoxMainBrowserWindowHeight.Text;
 		}
 
@@ -1762,7 +1781,7 @@ namespace SebWindowsConfig
 		{
 			SEBSettings.intArrayCurrent[SEBSettings.ValMainBrowserWindowHeight] = comboBoxMainBrowserWindowHeight.SelectedIndex;
 			SEBSettings.strArrayCurrent[SEBSettings.ValMainBrowserWindowHeight] = comboBoxMainBrowserWindowHeight.Text;
-		  //SEBSettings.settingsCurrent[SEBSettings.KeyMainBrowserWindowHeight] = comboBoxMainBrowserWindowHeight.SelectedIndex;
+			//SEBSettings.settingsCurrent[SEBSettings.KeyMainBrowserWindowHeight] = comboBoxMainBrowserWindowHeight.SelectedIndex;
 			SEBSettings.settingsCurrent[SEBSettings.KeyMainBrowserWindowHeight] = comboBoxMainBrowserWindowHeight.Text;
 		}
 
@@ -1774,7 +1793,7 @@ namespace SebWindowsConfig
 		private void checkBoxEnableBrowserWindowToolbar_CheckedChanged(object sender, EventArgs e)
 		{
 			SEBSettings.settingsCurrent[SEBSettings.KeyEnableBrowserWindowToolbar] = checkBoxEnableBrowserWindowToolbar.Checked;
-			checkBoxHideBrowserWindowToolbar.Enabled                               = checkBoxEnableBrowserWindowToolbar.Checked;
+			checkBoxHideBrowserWindowToolbar.Enabled = checkBoxEnableBrowserWindowToolbar.Checked;
 			checkBoxAllowMainWindowAddressBar.Enabled = checkBoxEnableBrowserWindowToolbar.Checked;
 			checkBoxAllowAdditionalWindowAddressBar.Enabled = checkBoxEnableBrowserWindowToolbar.Checked;
 			checkBoxAllowDeveloperConsole.Enabled = checkBoxEnableBrowserWindowToolbar.Checked;
@@ -1793,14 +1812,14 @@ namespace SebWindowsConfig
 		private void checkBoxShowTaskBar_CheckedChanged(object sender, EventArgs e)
 		{
 			SEBSettings.settingsCurrent[SEBSettings.KeyShowTaskBar] = checkBoxShowTaskBar.Checked;
-			comboBoxTaskBarHeight.Enabled                           = checkBoxShowTaskBar.Checked;
+			comboBoxTaskBarHeight.Enabled = checkBoxShowTaskBar.Checked;
 		}
 
 		private void comboBoxTaskBarHeight_SelectedIndexChanged(object sender, EventArgs e)
 		{
 			SEBSettings.intArrayCurrent[SEBSettings.ValTaskBarHeight] = comboBoxTaskBarHeight.SelectedIndex;
 			SEBSettings.strArrayCurrent[SEBSettings.ValTaskBarHeight] = comboBoxTaskBarHeight.Text;
-		  //SEBSettings.settingsCurrent[SEBSettings.KeyTaskBarHeight] = comboBoxTaskBarHeight.SelectedIndex;
+			//SEBSettings.settingsCurrent[SEBSettings.KeyTaskBarHeight] = comboBoxTaskBarHeight.SelectedIndex;
 			SEBSettings.settingsCurrent[SEBSettings.KeyTaskBarHeight] = Int32.Parse(comboBoxTaskBarHeight.Text);
 		}
 
@@ -2083,7 +2102,7 @@ namespace SebWindowsConfig
 		{
 			SEBSettings.intArrayCurrent[SEBSettings.ValNewBrowserWindowByLinkWidth] = comboBoxNewBrowserWindowWidth.SelectedIndex;
 			SEBSettings.strArrayCurrent[SEBSettings.ValNewBrowserWindowByLinkWidth] = comboBoxNewBrowserWindowWidth.Text;
-		  //SEBSettings.settingsCurrent[SEBSettings.KeyNewBrowserWindowByLinkWidth] = comboBoxNewBrowserWindowWidth.SelectedIndex;
+			//SEBSettings.settingsCurrent[SEBSettings.KeyNewBrowserWindowByLinkWidth] = comboBoxNewBrowserWindowWidth.SelectedIndex;
 			SEBSettings.settingsCurrent[SEBSettings.KeyNewBrowserWindowByLinkWidth] = comboBoxNewBrowserWindowWidth.Text;
 		}
 
@@ -2091,7 +2110,7 @@ namespace SebWindowsConfig
 		{
 			SEBSettings.intArrayCurrent[SEBSettings.ValNewBrowserWindowByLinkWidth] = comboBoxNewBrowserWindowWidth.SelectedIndex;
 			SEBSettings.strArrayCurrent[SEBSettings.ValNewBrowserWindowByLinkWidth] = comboBoxNewBrowserWindowWidth.Text;
-		  //SEBSettings.settingsCurrent[SEBSettings.KeyNewBrowserWindowByLinkWidth] = comboBoxNewBrowserWindowWidth.SelectedIndex;
+			//SEBSettings.settingsCurrent[SEBSettings.KeyNewBrowserWindowByLinkWidth] = comboBoxNewBrowserWindowWidth.SelectedIndex;
 			SEBSettings.settingsCurrent[SEBSettings.KeyNewBrowserWindowByLinkWidth] = comboBoxNewBrowserWindowWidth.Text;
 		}
 
@@ -2099,7 +2118,7 @@ namespace SebWindowsConfig
 		{
 			SEBSettings.intArrayCurrent[SEBSettings.ValNewBrowserWindowByLinkHeight] = comboBoxNewBrowserWindowHeight.SelectedIndex;
 			SEBSettings.strArrayCurrent[SEBSettings.ValNewBrowserWindowByLinkHeight] = comboBoxNewBrowserWindowHeight.Text;
-		  //SEBSettings.settingsCurrent[SEBSettings.KeyNewBrowserWindowByLinkHeight] = comboBoxNewBrowserWindowHeight.SelectedIndex;
+			//SEBSettings.settingsCurrent[SEBSettings.KeyNewBrowserWindowByLinkHeight] = comboBoxNewBrowserWindowHeight.SelectedIndex;
 			SEBSettings.settingsCurrent[SEBSettings.KeyNewBrowserWindowByLinkHeight] = comboBoxNewBrowserWindowHeight.Text;
 		}
 
@@ -2107,7 +2126,7 @@ namespace SebWindowsConfig
 		{
 			SEBSettings.intArrayCurrent[SEBSettings.ValNewBrowserWindowByLinkHeight] = comboBoxNewBrowserWindowHeight.SelectedIndex;
 			SEBSettings.strArrayCurrent[SEBSettings.ValNewBrowserWindowByLinkHeight] = comboBoxNewBrowserWindowHeight.Text;
-		  //SEBSettings.settingsCurrent[SEBSettings.KeyNewBrowserWindowByLinkHeight] = comboBoxNewBrowserWindowHeight.SelectedIndex;
+			//SEBSettings.settingsCurrent[SEBSettings.KeyNewBrowserWindowByLinkHeight] = comboBoxNewBrowserWindowHeight.SelectedIndex;
 			SEBSettings.settingsCurrent[SEBSettings.KeyNewBrowserWindowByLinkHeight] = comboBoxNewBrowserWindowHeight.Text;
 		}
 
@@ -2136,48 +2155,48 @@ namespace SebWindowsConfig
 			SEBSettings.settingsCurrent[SEBSettings.KeyBlockPopUpWindows] = checkBoxBlockPopUpWindows.Checked;
 		}
 
-        private void checkBoxAllowVideoCapture_CheckedChanged(object sender, EventArgs e)
-        {
-            SEBSettings.settingsCurrent[SEBSettings.KeyAllowVideoCapture] = checkBoxAllowVideoCapture.Checked;
-        }
+		private void checkBoxAllowVideoCapture_CheckedChanged(object sender, EventArgs e)
+		{
+			SEBSettings.settingsCurrent[SEBSettings.KeyAllowVideoCapture] = checkBoxAllowVideoCapture.Checked;
+		}
 
-        private void checkBoxAllowAudioCapture_CheckedChanged(object sender, EventArgs e)
-        {
-            SEBSettings.settingsCurrent[SEBSettings.KeyAllowAudioCapture] = checkBoxAllowAudioCapture.Checked;
-        }
+		private void checkBoxAllowAudioCapture_CheckedChanged(object sender, EventArgs e)
+		{
+			SEBSettings.settingsCurrent[SEBSettings.KeyAllowAudioCapture] = checkBoxAllowAudioCapture.Checked;
+		}
 
-        private void checkBoxAllowBrowsingBackForward_CheckedChanged(object sender, EventArgs e)
+		private void checkBoxAllowBrowsingBackForward_CheckedChanged(object sender, EventArgs e)
 		{
 			SEBSettings.settingsCurrent[SEBSettings.KeyAllowBrowsingBackForward] = checkBoxAllowBrowsingBackForward.Checked;
 			checkBoxEnableAltMouseWheel.Checked = checkBoxAllowBrowsingBackForward.Checked;
 		}
 
-        private void checkBoxAllowReload_CheckedChanged(object sender, EventArgs e)
-        {
-            SEBSettings.settingsCurrent[SEBSettings.KeyBrowserWindowAllowReload] = checkBoxAllowReload.Checked;
-        }
+		private void checkBoxAllowReload_CheckedChanged(object sender, EventArgs e)
+		{
+			SEBSettings.settingsCurrent[SEBSettings.KeyBrowserWindowAllowReload] = checkBoxAllowReload.Checked;
+		}
 
-        private void checkBoxShowReloadWarning_CheckedChanged(object sender, EventArgs e)
-        {
-            SEBSettings.settingsCurrent[SEBSettings.KeyShowReloadWarning] = checkBoxShowReloadWarning.Checked;
-        }
+		private void checkBoxShowReloadWarning_CheckedChanged(object sender, EventArgs e)
+		{
+			SEBSettings.settingsCurrent[SEBSettings.KeyShowReloadWarning] = checkBoxShowReloadWarning.Checked;
+		}
 
-        private void checkBoxAllowNavigationNewWindow_CheckedChanged(object sender, EventArgs e)
+		private void checkBoxAllowNavigationNewWindow_CheckedChanged(object sender, EventArgs e)
 		{
 			SEBSettings.settingsCurrent[SEBSettings.KeyNewBrowserWindowNavigation] = checkBoxAllowNavigationNewWindow.Checked;
 		}
 
-        private void checkBoxAllowReloadNewWindow_CheckedChanged(object sender, EventArgs e)
-        {
-            SEBSettings.settingsCurrent[SEBSettings.KeyNewBrowserWindowAllowReload] = checkBoxAllowReloadNewWindow.Checked;
-        }
+		private void checkBoxAllowReloadNewWindow_CheckedChanged(object sender, EventArgs e)
+		{
+			SEBSettings.settingsCurrent[SEBSettings.KeyNewBrowserWindowAllowReload] = checkBoxAllowReloadNewWindow.Checked;
+		}
 
-        private void checkBoxShowReloadWarningNewWindow_CheckedChanged(object sender, EventArgs e)
-        {
-            SEBSettings.settingsCurrent[SEBSettings.KeyNewBrowserWindowShowReloadWarning] = checkBoxShowReloadWarningNewWindow.Checked;
-        }
+		private void checkBoxShowReloadWarningNewWindow_CheckedChanged(object sender, EventArgs e)
+		{
+			SEBSettings.settingsCurrent[SEBSettings.KeyNewBrowserWindowShowReloadWarning] = checkBoxShowReloadWarningNewWindow.Checked;
+		}
 
-        private void checkBoxRemoveProfile_CheckedChanged(object sender, EventArgs e)
+		private void checkBoxRemoveProfile_CheckedChanged(object sender, EventArgs e)
 		{
 			SEBSettings.settingsCurrent[SEBSettings.KeyRemoveBrowserProfile] = checkBoxRemoveProfile.Checked;
 		}
@@ -2226,12 +2245,12 @@ namespace SebWindowsConfig
 			//else SEBSettings.settingsCurrent[SEBSettings.KeyBrowserUserAgentDesktopMode] = 0;
 		}
 
-        private void textBoxUserAgent_TextChanged(object sender, EventArgs e)
-        {
-            SEBSettings.settingsCurrent[SEBSettings.KeyBrowserUserAgent] = textBoxUserAgent.Text;
-        }
+		private void textBoxUserAgent_TextChanged(object sender, EventArgs e)
+		{
+			SEBSettings.settingsCurrent[SEBSettings.KeyBrowserUserAgent] = textBoxUserAgent.Text;
+		}
 
-        private void textBoxUserAgentTouchModeIPad_TextChanged(object sender, EventArgs e)
+		private void textBoxUserAgentTouchModeIPad_TextChanged(object sender, EventArgs e)
 		{
 			SEBSettings.settingsCurrent[SEBSettings.KeyBrowserUserAgentTouchModeIPad] = textBoxUserAgentTouchModeIPad.Text;
 		}
@@ -2287,7 +2306,7 @@ namespace SebWindowsConfig
 			radioButtonUserAgentMacCustom.Checked = true;
 		}
 
-		
+
 		// ********************
 		// Group "Down/Uploads"
 		// ********************
@@ -2300,19 +2319,19 @@ namespace SebWindowsConfig
 		{
 			// Set the default directory in the Folder Browser Dialog
 			folderBrowserDialogDownloadDirectoryWin.RootFolder = Environment.SpecialFolder.DesktopDirectory;
-//          folderBrowserDialogDownloadDirectoryWin.RootFolder = Environment.CurrentDirectory;
+			//          folderBrowserDialogDownloadDirectoryWin.RootFolder = Environment.CurrentDirectory;
 
 			// Get the user inputs in the File Dialog
 			DialogResult dialogResult = folderBrowserDialogDownloadDirectoryWin.ShowDialog();
-			String               path = folderBrowserDialogDownloadDirectoryWin.SelectedPath;
+			String path = folderBrowserDialogDownloadDirectoryWin.SelectedPath;
 
 			// If the user clicked "Cancel", do nothing
 			if (dialogResult.Equals(DialogResult.Cancel)) return;
 
 			// If the user clicked "OK", ...
 			string pathUsingEnvironmentVariables = SEBClientInfo.ContractEnvironmentVariables(path);
-			SEBSettings.settingsCurrent[SEBSettings.KeyDownloadDirectoryWin]       = pathUsingEnvironmentVariables;
-												  textBoxDownloadDirectoryWin.Text = pathUsingEnvironmentVariables;
+			SEBSettings.settingsCurrent[SEBSettings.KeyDownloadDirectoryWin] = pathUsingEnvironmentVariables;
+			textBoxDownloadDirectoryWin.Text = pathUsingEnvironmentVariables;
 		}
 
 		private void textBoxDownloadDirectoryWin_TextChanged(object sender, EventArgs e)
@@ -2414,7 +2433,7 @@ namespace SebWindowsConfig
 		private void checkBoxAllowSwitchToApplications_CheckedChanged(object sender, EventArgs e)
 		{
 			SEBSettings.settingsCurrent[SEBSettings.KeyAllowSwitchToApplications] = checkBoxAllowSwitchToApplications.Checked;
-			checkBoxAllowFlashFullscreen.Enabled                                  = checkBoxAllowSwitchToApplications.Checked;
+			checkBoxAllowFlashFullscreen.Enabled = checkBoxAllowSwitchToApplications.Checked;
 		}
 
 		private void checkBoxAllowFlashFullscreen_CheckedChanged(object sender, EventArgs e)
@@ -2426,44 +2445,44 @@ namespace SebWindowsConfig
 		private void LoadAndUpdatePermittedSelectedProcessGroup(int selectedProcessIndex)
 		{
 			// Get the process data of the selected process
-			SEBSettings.permittedProcessList  = (ListObj)SEBSettings.settingsCurrent     [SEBSettings.KeyPermittedProcesses];
-			SEBSettings.permittedProcessData  = (DictObj)SEBSettings.permittedProcessList[selectedProcessIndex];
-			SEBSettings.permittedArgumentList = (ListObj)SEBSettings.permittedProcessData[SEBSettings.KeyArguments];
+			SEBSettings.permittedProcessList = (ListObj) SEBSettings.settingsCurrent[SEBSettings.KeyPermittedProcesses];
+			SEBSettings.permittedProcessData = (DictObj) SEBSettings.permittedProcessList[selectedProcessIndex];
+			SEBSettings.permittedArgumentList = (ListObj) SEBSettings.permittedProcessData[SEBSettings.KeyArguments];
 
 			// Beware double events:
 			// Update the widgets in "Selected Process" group,
 			// but prevent the following "widget changed" event from firing the "cell changed" event once more!
-			ignoreWidgetEventPermittedProcessesActive     = true;
-			ignoreWidgetEventPermittedProcessesOS         = true;
+			ignoreWidgetEventPermittedProcessesActive = true;
+			ignoreWidgetEventPermittedProcessesOS = true;
 			ignoreWidgetEventPermittedProcessesExecutable = true;
-			ignoreWidgetEventPermittedProcessesTitle      = true;
+			ignoreWidgetEventPermittedProcessesTitle = true;
 
 			// Update the widgets in the "Selected Process" group
-			checkBoxPermittedProcessActive    .Checked = (Boolean)SEBSettings.permittedProcessData[SEBSettings.KeyActive];
-			checkBoxPermittedProcessAutostart .Checked = (Boolean)SEBSettings.permittedProcessData[SEBSettings.KeyAutostart];
-			checkBoxPermittedProcessIconInTaskbar .Checked = (Boolean)SEBSettings.permittedProcessData[SEBSettings.KeyIconInTaskbar];
-			checkBoxPermittedProcessAutohide  .Checked = (Boolean)SEBSettings.permittedProcessData[SEBSettings.KeyRunInBackground];
+			checkBoxPermittedProcessActive.Checked = (Boolean) SEBSettings.permittedProcessData[SEBSettings.KeyActive];
+			checkBoxPermittedProcessAutostart.Checked = (Boolean) SEBSettings.permittedProcessData[SEBSettings.KeyAutostart];
+			checkBoxPermittedProcessIconInTaskbar.Checked = (Boolean) SEBSettings.permittedProcessData[SEBSettings.KeyIconInTaskbar];
+			checkBoxPermittedProcessAutohide.Checked = (Boolean) SEBSettings.permittedProcessData[SEBSettings.KeyRunInBackground];
 			checkBoxPermittedProcessIconInTaskbar.Enabled = !checkBoxPermittedProcessAutohide.Checked | checkBoxPermittedProcessAutostart.Checked;
-			checkBoxPermittedProcessAllowUser.Checked = (Boolean)SEBSettings.permittedProcessData[SEBSettings.KeyAllowUser];
-			checkBoxPermittedProcessStrongKill.Checked = (Boolean)SEBSettings.permittedProcessData[SEBSettings.KeyStrongKill];
-			 listBoxPermittedProcessOS.SelectedIndex   =   (Int32)SEBSettings.permittedProcessData[SEBSettings.KeyOS];
-			 textBoxPermittedProcessTitle      .Text   =  (String)SEBSettings.permittedProcessData[SEBSettings.KeyTitle];
-			 textBoxPermittedProcessDescription.Text   =  (String)SEBSettings.permittedProcessData[SEBSettings.KeyDescription];
-			 textBoxPermittedProcessExecutable .Text   =  (String)SEBSettings.permittedProcessData[SEBSettings.KeyExecutable];
+			checkBoxPermittedProcessAllowUser.Checked = (Boolean) SEBSettings.permittedProcessData[SEBSettings.KeyAllowUser];
+			checkBoxPermittedProcessStrongKill.Checked = (Boolean) SEBSettings.permittedProcessData[SEBSettings.KeyStrongKill];
+			listBoxPermittedProcessOS.SelectedIndex = (Int32) SEBSettings.permittedProcessData[SEBSettings.KeyOS];
+			textBoxPermittedProcessTitle.Text = (String) SEBSettings.permittedProcessData[SEBSettings.KeyTitle];
+			textBoxPermittedProcessDescription.Text = (String) SEBSettings.permittedProcessData[SEBSettings.KeyDescription];
+			textBoxPermittedProcessExecutable.Text = (String) SEBSettings.permittedProcessData[SEBSettings.KeyExecutable];
 			textBoxPermittedProcessOriginalName.Text = (String) SEBSettings.permittedProcessData[SEBSettings.KeyOriginalName];
-			textBoxPermittedProcessExecutables .Text   =  (String)SEBSettings.permittedProcessData[SEBSettings.KeyWindowHandlingProcess];
-			 textBoxPermittedProcessPath       .Text   =  (String)SEBSettings.permittedProcessData[SEBSettings.KeyPath];
-			 textBoxPermittedProcessIdentifier .Text   =  (String)SEBSettings.permittedProcessData[SEBSettings.KeyIdentifier];
+			textBoxPermittedProcessExecutables.Text = (String) SEBSettings.permittedProcessData[SEBSettings.KeyWindowHandlingProcess];
+			textBoxPermittedProcessPath.Text = (String) SEBSettings.permittedProcessData[SEBSettings.KeyPath];
+			textBoxPermittedProcessIdentifier.Text = (String) SEBSettings.permittedProcessData[SEBSettings.KeyIdentifier];
 
 			// Reset the ignore widget event flags
-			ignoreWidgetEventPermittedProcessesActive     = false;
-			ignoreWidgetEventPermittedProcessesOS         = false;
+			ignoreWidgetEventPermittedProcessesActive = false;
+			ignoreWidgetEventPermittedProcessesOS = false;
 			ignoreWidgetEventPermittedProcessesExecutable = false;
-			ignoreWidgetEventPermittedProcessesTitle      = false;
+			ignoreWidgetEventPermittedProcessesTitle = false;
 
-			 // Check if selected process has any arguments
-			if  (SEBSettings.permittedArgumentList.Count > 0)
-				 SEBSettings.permittedArgumentIndex =  0;
+			// Check if selected process has any arguments
+			if (SEBSettings.permittedArgumentList.Count > 0)
+				SEBSettings.permittedArgumentIndex = 0;
 			else SEBSettings.permittedArgumentIndex = -1;
 
 			// Remove all previously displayed arguments from DataGridView
@@ -2473,15 +2492,15 @@ namespace SebWindowsConfig
 			// Add arguments of selected process to DataGridView
 			for (int index = 0; index < SEBSettings.permittedArgumentList.Count; index++)
 			{
-				SEBSettings.permittedArgumentData = (DictObj)SEBSettings.permittedArgumentList[index];
-				Boolean     active                = (Boolean)SEBSettings.permittedArgumentData[SEBSettings.KeyActive];
-				String      argument              = (String )SEBSettings.permittedArgumentData[SEBSettings.KeyArgument];
+				SEBSettings.permittedArgumentData = (DictObj) SEBSettings.permittedArgumentList[index];
+				Boolean active = (Boolean) SEBSettings.permittedArgumentData[SEBSettings.KeyActive];
+				String argument = (String) SEBSettings.permittedArgumentData[SEBSettings.KeyArgument];
 				dataGridViewPermittedProcessArguments.Rows.Add(active, argument);
 			}
 
 			// Get the selected argument data
-			if  (SEBSettings.permittedArgumentList.Count > 0)
-				 SEBSettings.permittedArgumentData = (DictObj)SEBSettings.permittedArgumentList[SEBSettings.permittedArgumentIndex];
+			if (SEBSettings.permittedArgumentList.Count > 0)
+				SEBSettings.permittedArgumentData = (DictObj) SEBSettings.permittedArgumentList[SEBSettings.permittedArgumentIndex];
 		}
 
 
@@ -2490,31 +2509,31 @@ namespace SebWindowsConfig
 			// Beware double events:
 			// Update the widgets in "Selected Process" group,
 			// but prevent the following "widget changed" event from firing the "cell changed" event once more!
-			ignoreWidgetEventPermittedProcessesActive     = true;
-			ignoreWidgetEventPermittedProcessesOS         = true;
+			ignoreWidgetEventPermittedProcessesActive = true;
+			ignoreWidgetEventPermittedProcessesOS = true;
 			ignoreWidgetEventPermittedProcessesExecutable = true;
-			ignoreWidgetEventPermittedProcessesTitle      = true;
+			ignoreWidgetEventPermittedProcessesTitle = true;
 
 			// Clear the widgets in the "Selected Process" group
-			checkBoxPermittedProcessActive    .Checked = true;
-			checkBoxPermittedProcessAutostart .Checked = true;
-			checkBoxPermittedProcessAutohide  .Checked = true;
-			checkBoxPermittedProcessAllowUser .Checked = true;
+			checkBoxPermittedProcessActive.Checked = true;
+			checkBoxPermittedProcessAutostart.Checked = true;
+			checkBoxPermittedProcessAutohide.Checked = true;
+			checkBoxPermittedProcessAllowUser.Checked = true;
 			checkBoxPermittedProcessStrongKill.Checked = false;
-			 listBoxPermittedProcessOS.SelectedIndex   = IntWin;
-			 textBoxPermittedProcessTitle      .Text   = "";
-			 textBoxPermittedProcessDescription.Text   = "";
-			 textBoxPermittedProcessExecutable .Text   = "";
+			listBoxPermittedProcessOS.SelectedIndex = IntWin;
+			textBoxPermittedProcessTitle.Text = "";
+			textBoxPermittedProcessDescription.Text = "";
+			textBoxPermittedProcessExecutable.Text = "";
 			textBoxPermittedProcessOriginalName.Text = "";
-			textBoxPermittedProcessExecutables .Text   = "";
-			 textBoxPermittedProcessPath       .Text   = "";
-			 textBoxPermittedProcessIdentifier .Text   = "";
+			textBoxPermittedProcessExecutables.Text = "";
+			textBoxPermittedProcessPath.Text = "";
+			textBoxPermittedProcessIdentifier.Text = "";
 
 			// Reset the ignore widget event flags
-			ignoreWidgetEventPermittedProcessesActive     = false;
-			ignoreWidgetEventPermittedProcessesOS         = false;
+			ignoreWidgetEventPermittedProcessesActive = false;
+			ignoreWidgetEventPermittedProcessesOS = false;
 			ignoreWidgetEventPermittedProcessesExecutable = false;
-			ignoreWidgetEventPermittedProcessesTitle      = false;
+			ignoreWidgetEventPermittedProcessesTitle = false;
 
 			// Remove all previously displayed arguments from DataGridView
 			dataGridViewPermittedProcessArguments.Enabled = false;
@@ -2555,17 +2574,17 @@ namespace SebWindowsConfig
 		private void dataGridViewPermittedProcesses_CellValueChanged(object sender, DataGridViewCellEventArgs e)
 		{
 			// Prevent double events from switching to false process index
-			if (ignoreCellEventPermittedProcessesActive     == true) return;
-			if (ignoreCellEventPermittedProcessesOS         == true) return;
+			if (ignoreCellEventPermittedProcessesActive == true) return;
+			if (ignoreCellEventPermittedProcessesOS == true) return;
 			if (ignoreCellEventPermittedProcessesExecutable == true) return;
-			if (ignoreCellEventPermittedProcessesTitle      == true) return;
+			if (ignoreCellEventPermittedProcessesTitle == true) return;
 
 			// Get the current cell where the user has changed a value
-			int row    = dataGridViewPermittedProcesses.CurrentCellAddress.Y;
+			int row = dataGridViewPermittedProcesses.CurrentCellAddress.Y;
 			int column = dataGridViewPermittedProcesses.CurrentCellAddress.X;
 
 			// At the beginning, row = -1 and column = -1, so skip this event
-			if (row    < 0) return;
+			if (row < 0) return;
 			if (column < 0) return;
 
 			// Get the changed value of the current cell
@@ -2574,86 +2593,86 @@ namespace SebWindowsConfig
 			// Convert the selected "OS" ListBox entry from String to Integer
 			if (column == IntColumnProcessOS)
 			{
-					 if ((String)value == StringOSX) value = IntOSX;
-				else if ((String)value == StringWin) value = IntWin;
+				if ((String) value == StringOSX) value = IntOSX;
+				else if ((String) value == StringWin) value = IntWin;
 			}
 
 			// Get the process data of the process belonging to the current row
 			SEBSettings.permittedProcessIndex = row;
-			SEBSettings.permittedProcessList  = (ListObj)SEBSettings.settingsCurrent     [SEBSettings.KeyPermittedProcesses];
-			SEBSettings.permittedProcessData  = (DictObj)SEBSettings.permittedProcessList[SEBSettings.permittedProcessIndex];
+			SEBSettings.permittedProcessList = (ListObj) SEBSettings.settingsCurrent[SEBSettings.KeyPermittedProcesses];
+			SEBSettings.permittedProcessData = (DictObj) SEBSettings.permittedProcessList[SEBSettings.permittedProcessIndex];
 
 			// Update the process data belonging to the current cell
-			if (column == IntColumnProcessActive    ) SEBSettings.permittedProcessData[SEBSettings.KeyActive    ] = (Boolean)value;
-			if (column == IntColumnProcessOS        ) SEBSettings.permittedProcessData[SEBSettings.KeyOS        ] = (Int32  )value;
-			if (column == IntColumnProcessExecutable) SEBSettings.permittedProcessData[SEBSettings.KeyExecutable] = (String )value;
-			if (column == IntColumnProcessTitle     ) SEBSettings.permittedProcessData[SEBSettings.KeyTitle     ] = (String )value;
+			if (column == IntColumnProcessActive) SEBSettings.permittedProcessData[SEBSettings.KeyActive] = (Boolean) value;
+			if (column == IntColumnProcessOS) SEBSettings.permittedProcessData[SEBSettings.KeyOS] = (Int32) value;
+			if (column == IntColumnProcessExecutable) SEBSettings.permittedProcessData[SEBSettings.KeyExecutable] = (String) value;
+			if (column == IntColumnProcessTitle) SEBSettings.permittedProcessData[SEBSettings.KeyTitle] = (String) value;
 
 			// Beware double events:
 			// when a cell is being edited by the user, update its corresponding widget in "Selected Process" group,
 			// but prevent the following "widget changed" event from firing the "cell changed" event once more!
-			if (column == IntColumnProcessActive    ) ignoreWidgetEventPermittedProcessesActive     = true;
-			if (column == IntColumnProcessOS        ) ignoreWidgetEventPermittedProcessesOS         = true;
+			if (column == IntColumnProcessActive) ignoreWidgetEventPermittedProcessesActive = true;
+			if (column == IntColumnProcessOS) ignoreWidgetEventPermittedProcessesOS = true;
 			if (column == IntColumnProcessExecutable) ignoreWidgetEventPermittedProcessesExecutable = true;
-			if (column == IntColumnProcessTitle     ) ignoreWidgetEventPermittedProcessesTitle      = true;
+			if (column == IntColumnProcessTitle) ignoreWidgetEventPermittedProcessesTitle = true;
 
 			// In "Selected Process" group: update the widget belonging to the current cell
 			// (this will fire the corresponding "widget changed" event).
-			if (column == IntColumnProcessActive    ) checkBoxPermittedProcessActive.Checked   = (Boolean)value;
-			if (column == IntColumnProcessOS        )  listBoxPermittedProcessOS.SelectedIndex = (Int32  )value;
-			if (column == IntColumnProcessExecutable)  textBoxPermittedProcessExecutable.Text  = (String )value;
-			if (column == IntColumnProcessTitle     )  textBoxPermittedProcessTitle     .Text  = (String )value;
+			if (column == IntColumnProcessActive) checkBoxPermittedProcessActive.Checked = (Boolean) value;
+			if (column == IntColumnProcessOS) listBoxPermittedProcessOS.SelectedIndex = (Int32) value;
+			if (column == IntColumnProcessExecutable) textBoxPermittedProcessExecutable.Text = (String) value;
+			if (column == IntColumnProcessTitle) textBoxPermittedProcessTitle.Text = (String) value;
 
 			// Reset the ignore widget event flags
-			if (column == IntColumnProcessActive    ) ignoreWidgetEventPermittedProcessesActive     = false;
-			if (column == IntColumnProcessOS        ) ignoreWidgetEventPermittedProcessesOS         = false;
+			if (column == IntColumnProcessActive) ignoreWidgetEventPermittedProcessesActive = false;
+			if (column == IntColumnProcessOS) ignoreWidgetEventPermittedProcessesOS = false;
 			if (column == IntColumnProcessExecutable) ignoreWidgetEventPermittedProcessesExecutable = false;
-			if (column == IntColumnProcessTitle     ) ignoreWidgetEventPermittedProcessesTitle      = false;
+			if (column == IntColumnProcessTitle) ignoreWidgetEventPermittedProcessesTitle = false;
 		}
 
 
 		private void buttonAddPermittedProcess_Click(object sender, EventArgs e)
 		{
 			// Get the process list
-			SEBSettings.permittedProcessList = (ListObj)SEBSettings.settingsCurrent[SEBSettings.KeyPermittedProcesses];
+			SEBSettings.permittedProcessList = (ListObj) SEBSettings.settingsCurrent[SEBSettings.KeyPermittedProcesses];
 
 			if (SEBSettings.permittedProcessList.Count > 0)
 			{
 				if (dataGridViewPermittedProcesses.SelectedRows.Count != 1) return;
-			  //SEBSettings.permittedProcessIndex = dataGridViewPermittedProcesses.SelectedRows[0].Index;
+				//SEBSettings.permittedProcessIndex = dataGridViewPermittedProcesses.SelectedRows[0].Index;
 				SEBSettings.permittedProcessIndex = SEBSettings.permittedProcessList.Count;
 			}
 			else
 			{
 				// If process list was empty before, enable it
-				SEBSettings.permittedProcessIndex      = 0;
+				SEBSettings.permittedProcessIndex = 0;
 				dataGridViewPermittedProcesses.Enabled = true;
-					groupBoxPermittedProcess  .Enabled = true;
+				groupBoxPermittedProcess.Enabled = true;
 			}
 
 			// Create new process dataset containing default values
 			DictObj processData = new DictObj();
 
-			processData[SEBSettings.KeyActive     ] = true;
-			processData[SEBSettings.KeyAutostart  ] = false;
-			processData[SEBSettings.KeyIconInTaskbar  ] = true;
-			processData[SEBSettings.KeyRunInBackground   ] = false;
-			processData[SEBSettings.KeyAllowUser  ] = false;
-			processData[SEBSettings.KeyStrongKill ] = false;
-			processData[SEBSettings.KeyOS         ] = IntWin;
-			processData[SEBSettings.KeyTitle      ] = "";
+			processData[SEBSettings.KeyActive] = true;
+			processData[SEBSettings.KeyAutostart] = false;
+			processData[SEBSettings.KeyIconInTaskbar] = true;
+			processData[SEBSettings.KeyRunInBackground] = false;
+			processData[SEBSettings.KeyAllowUser] = false;
+			processData[SEBSettings.KeyStrongKill] = false;
+			processData[SEBSettings.KeyOS] = IntWin;
+			processData[SEBSettings.KeyTitle] = "";
 			processData[SEBSettings.KeyDescription] = "";
-			processData[SEBSettings.KeyExecutable ] = "";
+			processData[SEBSettings.KeyExecutable] = "";
 			processData[SEBSettings.KeyOriginalName] = "";
-			processData[SEBSettings.KeyWindowHandlingProcess ] = "";
-			processData[SEBSettings.KeyPath       ] = "";
-			processData[SEBSettings.KeyIdentifier ] = "";
-			processData[SEBSettings.KeyArguments  ] = new ListObj();
+			processData[SEBSettings.KeyWindowHandlingProcess] = "";
+			processData[SEBSettings.KeyPath] = "";
+			processData[SEBSettings.KeyIdentifier] = "";
+			processData[SEBSettings.KeyArguments] = new ListObj();
 
 			// Insert new process into process list at position index
-			SEBSettings.permittedProcessList   .Insert(SEBSettings.permittedProcessIndex, processData);
+			SEBSettings.permittedProcessList.Insert(SEBSettings.permittedProcessIndex, processData);
 			dataGridViewPermittedProcesses.Rows.Insert(SEBSettings.permittedProcessIndex, true, StringOS[IntWin], "", "");
-			dataGridViewPermittedProcesses.Rows       [SEBSettings.permittedProcessIndex].Selected = true;
+			dataGridViewPermittedProcesses.Rows[SEBSettings.permittedProcessIndex].Selected = true;
 		}
 
 
@@ -2666,8 +2685,8 @@ namespace SebWindowsConfig
 
 			// Delete process from process list at position index
 			SEBSettings.permittedProcessIndex = dataGridViewPermittedProcesses.SelectedRows[0].Index;
-			SEBSettings.permittedProcessList  = (ListObj)SEBSettings.settingsCurrent[SEBSettings.KeyPermittedProcesses];
-			SEBSettings.permittedProcessList   .RemoveAt(SEBSettings.permittedProcessIndex);
+			SEBSettings.permittedProcessList = (ListObj) SEBSettings.settingsCurrent[SEBSettings.KeyPermittedProcesses];
+			SEBSettings.permittedProcessList.RemoveAt(SEBSettings.permittedProcessIndex);
 			dataGridViewPermittedProcesses.Rows.RemoveAt(SEBSettings.permittedProcessIndex);
 
 			if (SEBSettings.permittedProcessIndex == SEBSettings.permittedProcessList.Count)
@@ -2680,9 +2699,9 @@ namespace SebWindowsConfig
 			else
 			{
 				// If process list is now empty, disable it
-				SEBSettings.permittedProcessIndex      = -1;
+				SEBSettings.permittedProcessIndex = -1;
 				dataGridViewPermittedProcesses.Enabled = false;
-					groupBoxPermittedProcess  .Enabled = false;
+				groupBoxPermittedProcess.Enabled = false;
 			}
 		}
 
@@ -2780,11 +2799,11 @@ namespace SebWindowsConfig
 		{
 			// Prevent double events from switching to false process index
 			if (ignoreWidgetEventPermittedProcessesActive == true) return;
-			if (     SEBSettings.permittedProcessIndex     <    0) return;
-			SEBSettings.permittedProcessList = (ListObj)SEBSettings.settingsCurrent     [SEBSettings.KeyPermittedProcesses];
-			SEBSettings.permittedProcessData = (DictObj)SEBSettings.permittedProcessList[SEBSettings.permittedProcessIndex];
+			if (SEBSettings.permittedProcessIndex < 0) return;
+			SEBSettings.permittedProcessList = (ListObj) SEBSettings.settingsCurrent[SEBSettings.KeyPermittedProcesses];
+			SEBSettings.permittedProcessData = (DictObj) SEBSettings.permittedProcessList[SEBSettings.permittedProcessIndex];
 			SEBSettings.permittedProcessData[SEBSettings.KeyActive] = checkBoxPermittedProcessActive.Checked;
-			Boolean                                         active  = checkBoxPermittedProcessActive.Checked;
+			Boolean active = checkBoxPermittedProcessActive.Checked;
 			ignoreCellEventPermittedProcessesActive = true;
 			dataGridViewPermittedProcesses.Rows[SEBSettings.permittedProcessIndex].Cells[IntColumnProcessActive].Value = active.ToString();
 			ignoreCellEventPermittedProcessesActive = false;
@@ -2794,8 +2813,8 @@ namespace SebWindowsConfig
 		private void checkBoxPermittedProcessAutostart_CheckedChanged(object sender, EventArgs e)
 		{
 			if (SEBSettings.permittedProcessIndex < 0) return;
-			SEBSettings.permittedProcessList = (ListObj)SEBSettings.settingsCurrent     [SEBSettings.KeyPermittedProcesses];
-			SEBSettings.permittedProcessData = (DictObj)SEBSettings.permittedProcessList[SEBSettings.permittedProcessIndex];
+			SEBSettings.permittedProcessList = (ListObj) SEBSettings.settingsCurrent[SEBSettings.KeyPermittedProcesses];
+			SEBSettings.permittedProcessData = (DictObj) SEBSettings.permittedProcessList[SEBSettings.permittedProcessIndex];
 			SEBSettings.permittedProcessData[SEBSettings.KeyAutostart] = checkBoxPermittedProcessAutostart.Checked;
 			checkBoxPermittedProcessIconInTaskbar.Enabled = !checkBoxPermittedProcessAutohide.Checked | checkBoxPermittedProcessAutostart.Checked;
 		}
@@ -2803,16 +2822,16 @@ namespace SebWindowsConfig
 		private void checkBoxPermittedProcessIconInTaskbar_CheckedChanged(object sender, EventArgs e)
 		{
 			if (SEBSettings.permittedProcessIndex < 0) return;
-			SEBSettings.permittedProcessList = (ListObj)SEBSettings.settingsCurrent[SEBSettings.KeyPermittedProcesses];
-			SEBSettings.permittedProcessData = (DictObj)SEBSettings.permittedProcessList[SEBSettings.permittedProcessIndex];
+			SEBSettings.permittedProcessList = (ListObj) SEBSettings.settingsCurrent[SEBSettings.KeyPermittedProcesses];
+			SEBSettings.permittedProcessData = (DictObj) SEBSettings.permittedProcessList[SEBSettings.permittedProcessIndex];
 			SEBSettings.permittedProcessData[SEBSettings.KeyIconInTaskbar] = checkBoxPermittedProcessIconInTaskbar.Checked;
 		}
 
 		private void checkBoxPermittedProcessAutohide_CheckedChanged(object sender, EventArgs e)
 		{
 			if (SEBSettings.permittedProcessIndex < 0) return;
-			SEBSettings.permittedProcessList = (ListObj)SEBSettings.settingsCurrent     [SEBSettings.KeyPermittedProcesses];
-			SEBSettings.permittedProcessData = (DictObj)SEBSettings.permittedProcessList[SEBSettings.permittedProcessIndex];
+			SEBSettings.permittedProcessList = (ListObj) SEBSettings.settingsCurrent[SEBSettings.KeyPermittedProcesses];
+			SEBSettings.permittedProcessData = (DictObj) SEBSettings.permittedProcessList[SEBSettings.permittedProcessIndex];
 			SEBSettings.permittedProcessData[SEBSettings.KeyRunInBackground] = checkBoxPermittedProcessAutohide.Checked;
 			checkBoxPermittedProcessIconInTaskbar.Enabled = !checkBoxPermittedProcessAutohide.Checked | checkBoxPermittedProcessAutostart.Checked;
 		}
@@ -2820,16 +2839,16 @@ namespace SebWindowsConfig
 		private void checkBoxPermittedProcessAllowUser_CheckedChanged(object sender, EventArgs e)
 		{
 			if (SEBSettings.permittedProcessIndex < 0) return;
-			SEBSettings.permittedProcessList = (ListObj)SEBSettings.settingsCurrent     [SEBSettings.KeyPermittedProcesses];
-			SEBSettings.permittedProcessData = (DictObj)SEBSettings.permittedProcessList[SEBSettings.permittedProcessIndex];
+			SEBSettings.permittedProcessList = (ListObj) SEBSettings.settingsCurrent[SEBSettings.KeyPermittedProcesses];
+			SEBSettings.permittedProcessData = (DictObj) SEBSettings.permittedProcessList[SEBSettings.permittedProcessIndex];
 			SEBSettings.permittedProcessData[SEBSettings.KeyAllowUser] = checkBoxPermittedProcessAllowUser.Checked;
 		}
 
 		private void checkBoxPermittedProcessStrongKill_CheckedChanged(object sender, EventArgs e)
 		{
 			if (SEBSettings.permittedProcessIndex < 0) return;
-			SEBSettings.permittedProcessList = (ListObj)SEBSettings.settingsCurrent     [SEBSettings.KeyPermittedProcesses];
-			SEBSettings.permittedProcessData = (DictObj)SEBSettings.permittedProcessList[SEBSettings.permittedProcessIndex];
+			SEBSettings.permittedProcessList = (ListObj) SEBSettings.settingsCurrent[SEBSettings.KeyPermittedProcesses];
+			SEBSettings.permittedProcessData = (DictObj) SEBSettings.permittedProcessList[SEBSettings.permittedProcessIndex];
 			SEBSettings.permittedProcessData[SEBSettings.KeyStrongKill] = checkBoxPermittedProcessStrongKill.Checked;
 		}
 
@@ -2838,11 +2857,11 @@ namespace SebWindowsConfig
 		{
 			// Prevent double events from switching to false process index
 			if (ignoreWidgetEventPermittedProcessesOS == true) return;
-			if (     SEBSettings.permittedProcessIndex <    0) return;
-			SEBSettings.permittedProcessList = (ListObj)SEBSettings.settingsCurrent     [SEBSettings.KeyPermittedProcesses];
-			SEBSettings.permittedProcessData = (DictObj)SEBSettings.permittedProcessList[SEBSettings.permittedProcessIndex];
+			if (SEBSettings.permittedProcessIndex < 0) return;
+			SEBSettings.permittedProcessList = (ListObj) SEBSettings.settingsCurrent[SEBSettings.KeyPermittedProcesses];
+			SEBSettings.permittedProcessData = (DictObj) SEBSettings.permittedProcessList[SEBSettings.permittedProcessIndex];
 			SEBSettings.permittedProcessData[SEBSettings.KeyOS] = listBoxPermittedProcessOS.SelectedIndex;
-			Int32                                           os  = listBoxPermittedProcessOS.SelectedIndex;
+			Int32 os = listBoxPermittedProcessOS.SelectedIndex;
 			ignoreCellEventPermittedProcessesOS = true;
 			dataGridViewPermittedProcesses.Rows[SEBSettings.permittedProcessIndex].Cells[IntColumnProcessOS].Value = StringOS[os];
 			ignoreCellEventPermittedProcessesOS = false;
@@ -2853,11 +2872,11 @@ namespace SebWindowsConfig
 		{
 			// Prevent double events from switching to false process index
 			if (ignoreWidgetEventPermittedProcessesTitle == true) return;
-			if (     SEBSettings.permittedProcessIndex    <    0) return;
-			SEBSettings.permittedProcessList = (ListObj)SEBSettings.settingsCurrent     [SEBSettings.KeyPermittedProcesses];
-			SEBSettings.permittedProcessData = (DictObj)SEBSettings.permittedProcessList[SEBSettings.permittedProcessIndex];
+			if (SEBSettings.permittedProcessIndex < 0) return;
+			SEBSettings.permittedProcessList = (ListObj) SEBSettings.settingsCurrent[SEBSettings.KeyPermittedProcesses];
+			SEBSettings.permittedProcessData = (DictObj) SEBSettings.permittedProcessList[SEBSettings.permittedProcessIndex];
 			SEBSettings.permittedProcessData[SEBSettings.KeyTitle] = textBoxPermittedProcessTitle.Text;
-			String                                          title  = textBoxPermittedProcessTitle.Text;
+			String title = textBoxPermittedProcessTitle.Text;
 			ignoreCellEventPermittedProcessesTitle = true;
 			dataGridViewPermittedProcesses.Rows[SEBSettings.permittedProcessIndex].Cells[IntColumnProcessTitle].Value = title;
 			ignoreCellEventPermittedProcessesTitle = false;
@@ -2867,8 +2886,8 @@ namespace SebWindowsConfig
 		private void textBoxPermittedProcessDescription_TextChanged(object sender, EventArgs e)
 		{
 			if (SEBSettings.permittedProcessIndex < 0) return;
-			SEBSettings.permittedProcessList = (ListObj)SEBSettings.settingsCurrent     [SEBSettings.KeyPermittedProcesses];
-			SEBSettings.permittedProcessData = (DictObj)SEBSettings.permittedProcessList[SEBSettings.permittedProcessIndex];
+			SEBSettings.permittedProcessList = (ListObj) SEBSettings.settingsCurrent[SEBSettings.KeyPermittedProcesses];
+			SEBSettings.permittedProcessData = (DictObj) SEBSettings.permittedProcessList[SEBSettings.permittedProcessIndex];
 			SEBSettings.permittedProcessData[SEBSettings.KeyDescription] = textBoxPermittedProcessDescription.Text;
 		}
 
@@ -2877,11 +2896,11 @@ namespace SebWindowsConfig
 		{
 			// Prevent double events from switching to false process index
 			if (ignoreWidgetEventPermittedProcessesExecutable == true) return;
-			if (     SEBSettings.permittedProcessIndex         <    0) return;
-			SEBSettings.permittedProcessList = (ListObj)SEBSettings.settingsCurrent     [SEBSettings.KeyPermittedProcesses];
-			SEBSettings.permittedProcessData = (DictObj)SEBSettings.permittedProcessList[SEBSettings.permittedProcessIndex];
+			if (SEBSettings.permittedProcessIndex < 0) return;
+			SEBSettings.permittedProcessList = (ListObj) SEBSettings.settingsCurrent[SEBSettings.KeyPermittedProcesses];
+			SEBSettings.permittedProcessData = (DictObj) SEBSettings.permittedProcessList[SEBSettings.permittedProcessIndex];
 			SEBSettings.permittedProcessData[SEBSettings.KeyExecutable] = textBoxPermittedProcessExecutable.Text;
-			String                                          executable  = textBoxPermittedProcessExecutable.Text;
+			String executable = textBoxPermittedProcessExecutable.Text;
 			ignoreCellEventPermittedProcessesExecutable = true;
 			dataGridViewPermittedProcesses.Rows[SEBSettings.permittedProcessIndex].Cells[IntColumnProcessExecutable].Value = executable;
 			ignoreCellEventPermittedProcessesExecutable = false;
@@ -2890,32 +2909,32 @@ namespace SebWindowsConfig
 		private void textBoxPermittedProcessOriginalName_TextChanged(object sender, EventArgs e)
 		{
 			if (SEBSettings.permittedProcessIndex < 0) return;
-			SEBSettings.permittedProcessList = (ListObj)SEBSettings.settingsCurrent[SEBSettings.KeyPermittedProcesses];
-			SEBSettings.permittedProcessData = (DictObj)SEBSettings.permittedProcessList[SEBSettings.permittedProcessIndex];
+			SEBSettings.permittedProcessList = (ListObj) SEBSettings.settingsCurrent[SEBSettings.KeyPermittedProcesses];
+			SEBSettings.permittedProcessData = (DictObj) SEBSettings.permittedProcessList[SEBSettings.permittedProcessIndex];
 			SEBSettings.permittedProcessData[SEBSettings.KeyOriginalName] = textBoxPermittedProcessOriginalName.Text;
 		}
 
 		private void textBoxPermittedProcessPath_TextChanged(object sender, EventArgs e)
 		{
 			if (SEBSettings.permittedProcessIndex < 0) return;
-			SEBSettings.permittedProcessList = (ListObj)SEBSettings.settingsCurrent     [SEBSettings.KeyPermittedProcesses];
-			SEBSettings.permittedProcessData = (DictObj)SEBSettings.permittedProcessList[SEBSettings.permittedProcessIndex];
+			SEBSettings.permittedProcessList = (ListObj) SEBSettings.settingsCurrent[SEBSettings.KeyPermittedProcesses];
+			SEBSettings.permittedProcessData = (DictObj) SEBSettings.permittedProcessList[SEBSettings.permittedProcessIndex];
 			SEBSettings.permittedProcessData[SEBSettings.KeyPath] = textBoxPermittedProcessPath.Text;
 		}
 
 		private void textBoxPermittedProcessIdentifier_TextChanged(object sender, EventArgs e)
 		{
 			if (SEBSettings.permittedProcessIndex < 0) return;
-			SEBSettings.permittedProcessList = (ListObj)SEBSettings.settingsCurrent     [SEBSettings.KeyPermittedProcesses];
-			SEBSettings.permittedProcessData = (DictObj)SEBSettings.permittedProcessList[SEBSettings.permittedProcessIndex];
+			SEBSettings.permittedProcessList = (ListObj) SEBSettings.settingsCurrent[SEBSettings.KeyPermittedProcesses];
+			SEBSettings.permittedProcessData = (DictObj) SEBSettings.permittedProcessList[SEBSettings.permittedProcessIndex];
 			SEBSettings.permittedProcessData[SEBSettings.KeyIdentifier] = textBoxPermittedProcessIdentifier.Text;
 		}
 
 		private void textBoxPermittedProcessExecutables_TextChanged(object sender, EventArgs e)
 		{
 			if (SEBSettings.permittedProcessIndex < 0) return;
-			SEBSettings.permittedProcessList = (ListObj)SEBSettings.settingsCurrent[SEBSettings.KeyPermittedProcesses];
-			SEBSettings.permittedProcessData = (DictObj)SEBSettings.permittedProcessList[SEBSettings.permittedProcessIndex];
+			SEBSettings.permittedProcessList = (ListObj) SEBSettings.settingsCurrent[SEBSettings.KeyPermittedProcesses];
+			SEBSettings.permittedProcessData = (DictObj) SEBSettings.permittedProcessList[SEBSettings.permittedProcessIndex];
 			SEBSettings.permittedProcessData[SEBSettings.KeyWindowHandlingProcess] = textBoxPermittedProcessExecutables.Text;
 		}
 
@@ -2938,10 +2957,10 @@ namespace SebWindowsConfig
 
 			// Get the argument data of the selected argument
 			SEBSettings.permittedArgumentIndex = dataGridViewPermittedProcessArguments.SelectedRows[0].Index;
-			SEBSettings.permittedProcessList   = (ListObj)SEBSettings.settingsCurrent      [SEBSettings.KeyPermittedProcesses];
-			SEBSettings.permittedProcessData   = (DictObj)SEBSettings.permittedProcessList [SEBSettings.permittedProcessIndex];
-			SEBSettings.permittedArgumentList  = (ListObj)SEBSettings.permittedProcessData [SEBSettings.KeyArguments];
-			SEBSettings.permittedArgumentData  = (DictObj)SEBSettings.permittedArgumentList[SEBSettings.permittedArgumentIndex];
+			SEBSettings.permittedProcessList = (ListObj) SEBSettings.settingsCurrent[SEBSettings.KeyPermittedProcesses];
+			SEBSettings.permittedProcessData = (DictObj) SEBSettings.permittedProcessList[SEBSettings.permittedProcessIndex];
+			SEBSettings.permittedArgumentList = (ListObj) SEBSettings.permittedProcessData[SEBSettings.KeyArguments];
+			SEBSettings.permittedArgumentData = (DictObj) SEBSettings.permittedArgumentList[SEBSettings.permittedArgumentIndex];
 		}
 
 
@@ -2958,11 +2977,11 @@ namespace SebWindowsConfig
 		private void dataGridViewPermittedProcessArguments_CellValueChanged(object sender, DataGridViewCellEventArgs e)
 		{
 			// Get the current cell where the user has changed a value
-			int row    = dataGridViewPermittedProcessArguments.CurrentCellAddress.Y;
+			int row = dataGridViewPermittedProcessArguments.CurrentCellAddress.Y;
 			int column = dataGridViewPermittedProcessArguments.CurrentCellAddress.X;
 
 			// At the beginning, row = -1 and column = -1, so skip this event
-			if (row    < 0) return;
+			if (row < 0) return;
 			if (column < 0) return;
 
 			// Get the changed value of the current cell
@@ -2970,28 +2989,28 @@ namespace SebWindowsConfig
 
 			// Get the argument data of the argument belonging to the cell (row)
 			SEBSettings.permittedArgumentIndex = row;
-			SEBSettings.permittedProcessList   = (ListObj)SEBSettings.settingsCurrent      [SEBSettings.KeyPermittedProcesses];
-			SEBSettings.permittedProcessData   = (DictObj)SEBSettings.permittedProcessList [SEBSettings.permittedProcessIndex];
-			SEBSettings.permittedArgumentList  = (ListObj)SEBSettings.permittedProcessData [SEBSettings.KeyArguments];
-			SEBSettings.permittedArgumentData  = (DictObj)SEBSettings.permittedArgumentList[SEBSettings.permittedArgumentIndex];
+			SEBSettings.permittedProcessList = (ListObj) SEBSettings.settingsCurrent[SEBSettings.KeyPermittedProcesses];
+			SEBSettings.permittedProcessData = (DictObj) SEBSettings.permittedProcessList[SEBSettings.permittedProcessIndex];
+			SEBSettings.permittedArgumentList = (ListObj) SEBSettings.permittedProcessData[SEBSettings.KeyArguments];
+			SEBSettings.permittedArgumentData = (DictObj) SEBSettings.permittedArgumentList[SEBSettings.permittedArgumentIndex];
 
 			// Update the argument data belonging to the current cell
-			if (column == IntColumnProcessActive  ) SEBSettings.permittedArgumentData[SEBSettings.KeyActive  ] = (Boolean)value;
-			if (column == IntColumnProcessArgument) SEBSettings.permittedArgumentData[SEBSettings.KeyArgument] = (String )value;
+			if (column == IntColumnProcessActive) SEBSettings.permittedArgumentData[SEBSettings.KeyActive] = (Boolean) value;
+			if (column == IntColumnProcessArgument) SEBSettings.permittedArgumentData[SEBSettings.KeyArgument] = (String) value;
 		}
 
 
 		private void buttonPermittedProcessAddArgument_Click(object sender, EventArgs e)
 		{
 			// Get the permitted argument list
-			SEBSettings.permittedProcessList  = (ListObj)SEBSettings.settingsCurrent     [SEBSettings.KeyPermittedProcesses];
-			SEBSettings.permittedProcessData  = (DictObj)SEBSettings.permittedProcessList[SEBSettings.permittedProcessIndex];
-			SEBSettings.permittedArgumentList = (ListObj)SEBSettings.permittedProcessData[SEBSettings.KeyArguments];
+			SEBSettings.permittedProcessList = (ListObj) SEBSettings.settingsCurrent[SEBSettings.KeyPermittedProcesses];
+			SEBSettings.permittedProcessData = (DictObj) SEBSettings.permittedProcessList[SEBSettings.permittedProcessIndex];
+			SEBSettings.permittedArgumentList = (ListObj) SEBSettings.permittedProcessData[SEBSettings.KeyArguments];
 
 			if (SEBSettings.permittedArgumentList.Count > 0)
 			{
 				if (dataGridViewPermittedProcessArguments.SelectedRows.Count != 1) return;
-			  //SEBSettings.permittedArgumentIndex = dataGridViewPermittedProcessArguments.SelectedRows[0].Index;
+				//SEBSettings.permittedArgumentIndex = dataGridViewPermittedProcessArguments.SelectedRows[0].Index;
 				SEBSettings.permittedArgumentIndex = SEBSettings.permittedArgumentList.Count;
 			}
 			else
@@ -3004,13 +3023,13 @@ namespace SebWindowsConfig
 			// Create new argument dataset containing default values
 			DictObj argumentData = new DictObj();
 
-			argumentData[SEBSettings.KeyActive  ] = true;
+			argumentData[SEBSettings.KeyActive] = true;
 			argumentData[SEBSettings.KeyArgument] = "";
 
 			// Insert new argument into argument list at position SEBSettings.permittedArgumentIndex
-			SEBSettings.permittedArgumentList         .Insert(SEBSettings.permittedArgumentIndex, argumentData);
+			SEBSettings.permittedArgumentList.Insert(SEBSettings.permittedArgumentIndex, argumentData);
 			dataGridViewPermittedProcessArguments.Rows.Insert(SEBSettings.permittedArgumentIndex, true, "");
-			dataGridViewPermittedProcessArguments.Rows       [SEBSettings.permittedArgumentIndex].Selected = true;
+			dataGridViewPermittedProcessArguments.Rows[SEBSettings.permittedArgumentIndex].Selected = true;
 		}
 
 
@@ -3020,12 +3039,12 @@ namespace SebWindowsConfig
 
 			// Get the permitted argument list
 			SEBSettings.permittedArgumentIndex = dataGridViewPermittedProcessArguments.SelectedRows[0].Index;
-			SEBSettings.permittedProcessList   = (ListObj)SEBSettings.settingsCurrent     [SEBSettings.KeyPermittedProcesses];
-			SEBSettings.permittedProcessData   = (DictObj)SEBSettings.permittedProcessList[SEBSettings.permittedProcessIndex];
-			SEBSettings.permittedArgumentList  = (ListObj)SEBSettings.permittedProcessData[SEBSettings.KeyArguments];
+			SEBSettings.permittedProcessList = (ListObj) SEBSettings.settingsCurrent[SEBSettings.KeyPermittedProcesses];
+			SEBSettings.permittedProcessData = (DictObj) SEBSettings.permittedProcessList[SEBSettings.permittedProcessIndex];
+			SEBSettings.permittedArgumentList = (ListObj) SEBSettings.permittedProcessData[SEBSettings.KeyArguments];
 
 			// Delete argument from argument list at position SEBSettings.permittedArgumentIndex
-			SEBSettings.permittedArgumentList         .RemoveAt(SEBSettings.permittedArgumentIndex);
+			SEBSettings.permittedArgumentList.RemoveAt(SEBSettings.permittedArgumentIndex);
 			dataGridViewPermittedProcessArguments.Rows.RemoveAt(SEBSettings.permittedArgumentIndex);
 
 			if (SEBSettings.permittedArgumentIndex == SEBSettings.permittedArgumentList.Count)
@@ -3039,8 +3058,8 @@ namespace SebWindowsConfig
 			{
 				// If argument list is now empty, disable it
 				SEBSettings.permittedArgumentIndex = -1;
-			  //SEBSettings.permittedArgumentList.Clear();
-			  //SEBSettings.permittedArgumentData.Clear();
+				//SEBSettings.permittedArgumentList.Clear();
+				//SEBSettings.permittedArgumentData.Clear();
 				dataGridViewPermittedProcessArguments.Enabled = false;
 			}
 		}
@@ -3053,32 +3072,32 @@ namespace SebWindowsConfig
 		private void LoadAndUpdateProhibitedSelectedProcessGroup(int selectedProcessIndex)
 		{
 			// Get the process data of the selected process
-			SEBSettings.prohibitedProcessList  = (ListObj)SEBSettings.settingsCurrent[SEBSettings.KeyProhibitedProcesses];
-			SEBSettings.prohibitedProcessData  = (DictObj)SEBSettings.prohibitedProcessList[selectedProcessIndex];
+			SEBSettings.prohibitedProcessList = (ListObj) SEBSettings.settingsCurrent[SEBSettings.KeyProhibitedProcesses];
+			SEBSettings.prohibitedProcessData = (DictObj) SEBSettings.prohibitedProcessList[selectedProcessIndex];
 
 			// Beware double events:
 			// Update the widgets in "Selected Process" group,
 			// but prevent the following "widget changed" event from firing the "cell changed" event once more!
-			ignoreWidgetEventProhibitedProcessesActive      = true;
-			ignoreWidgetEventProhibitedProcessesOS          = true;
-			ignoreWidgetEventProhibitedProcessesExecutable  = true;
+			ignoreWidgetEventProhibitedProcessesActive = true;
+			ignoreWidgetEventProhibitedProcessesOS = true;
+			ignoreWidgetEventProhibitedProcessesExecutable = true;
 			ignoreWidgetEventProhibitedProcessesDescription = true;
 
 			// Update the widgets in the "Selected Process" group
-			checkBoxProhibitedProcessActive     .Checked = (Boolean)SEBSettings.prohibitedProcessData[SEBSettings.KeyActive];
-			checkBoxProhibitedProcessCurrentUser.Checked = (Boolean)SEBSettings.prohibitedProcessData[SEBSettings.KeyCurrentUser];
-			checkBoxProhibitedProcessStrongKill .Checked = (Boolean)SEBSettings.prohibitedProcessData[SEBSettings.KeyStrongKill];
-			 listBoxProhibitedProcessOS.SelectedIndex    =   (Int32)SEBSettings.prohibitedProcessData[SEBSettings.KeyOS];
-			 textBoxProhibitedProcessExecutable .Text    =  (String)SEBSettings.prohibitedProcessData[SEBSettings.KeyExecutable];
+			checkBoxProhibitedProcessActive.Checked = (Boolean) SEBSettings.prohibitedProcessData[SEBSettings.KeyActive];
+			checkBoxProhibitedProcessCurrentUser.Checked = (Boolean) SEBSettings.prohibitedProcessData[SEBSettings.KeyCurrentUser];
+			checkBoxProhibitedProcessStrongKill.Checked = (Boolean) SEBSettings.prohibitedProcessData[SEBSettings.KeyStrongKill];
+			listBoxProhibitedProcessOS.SelectedIndex = (Int32) SEBSettings.prohibitedProcessData[SEBSettings.KeyOS];
+			textBoxProhibitedProcessExecutable.Text = (String) SEBSettings.prohibitedProcessData[SEBSettings.KeyExecutable];
 			textBoxProhibitedProcessOriginalName.Text = (String) SEBSettings.prohibitedProcessData[SEBSettings.KeyOriginalName];
-			textBoxProhibitedProcessDescription.Text    =  (String)SEBSettings.prohibitedProcessData[SEBSettings.KeyDescription];
-			 textBoxProhibitedProcessIdentifier .Text    =  (String)SEBSettings.prohibitedProcessData[SEBSettings.KeyIdentifier];
-			 textBoxProhibitedProcessUser       .Text    =  (String)SEBSettings.prohibitedProcessData[SEBSettings.KeyUser];
+			textBoxProhibitedProcessDescription.Text = (String) SEBSettings.prohibitedProcessData[SEBSettings.KeyDescription];
+			textBoxProhibitedProcessIdentifier.Text = (String) SEBSettings.prohibitedProcessData[SEBSettings.KeyIdentifier];
+			textBoxProhibitedProcessUser.Text = (String) SEBSettings.prohibitedProcessData[SEBSettings.KeyUser];
 
 			// Reset the ignore widget event flags
-			ignoreWidgetEventProhibitedProcessesActive      = false;
-			ignoreWidgetEventProhibitedProcessesOS          = false;
-			ignoreWidgetEventProhibitedProcessesExecutable  = false;
+			ignoreWidgetEventProhibitedProcessesActive = false;
+			ignoreWidgetEventProhibitedProcessesOS = false;
+			ignoreWidgetEventProhibitedProcessesExecutable = false;
 			ignoreWidgetEventProhibitedProcessesDescription = false;
 		}
 
@@ -3088,26 +3107,26 @@ namespace SebWindowsConfig
 			// Beware double events:
 			// Update the widgets in "Selected Process" group,
 			// but prevent the following "widget changed" event from firing the "cell changed" event once more!
-			ignoreWidgetEventProhibitedProcessesActive      = true;
-			ignoreWidgetEventProhibitedProcessesOS          = true;
-			ignoreWidgetEventProhibitedProcessesExecutable  = true;
+			ignoreWidgetEventProhibitedProcessesActive = true;
+			ignoreWidgetEventProhibitedProcessesOS = true;
+			ignoreWidgetEventProhibitedProcessesExecutable = true;
 			ignoreWidgetEventProhibitedProcessesDescription = true;
 
 			// Clear the widgets in the "Selected Process" group
-			checkBoxProhibitedProcessActive     .Checked = true;
+			checkBoxProhibitedProcessActive.Checked = true;
 			checkBoxProhibitedProcessCurrentUser.Checked = true;
-			checkBoxProhibitedProcessStrongKill .Checked = false;
-			 listBoxProhibitedProcessOS.SelectedIndex    = IntWin;
-			 textBoxProhibitedProcessExecutable .Text    = "";
+			checkBoxProhibitedProcessStrongKill.Checked = false;
+			listBoxProhibitedProcessOS.SelectedIndex = IntWin;
+			textBoxProhibitedProcessExecutable.Text = "";
 			textBoxProhibitedProcessOriginalName.Text = "";
-			textBoxProhibitedProcessDescription.Text    = "";
-			 textBoxProhibitedProcessIdentifier .Text    = "";
-			 textBoxProhibitedProcessUser       .Text    = "";
+			textBoxProhibitedProcessDescription.Text = "";
+			textBoxProhibitedProcessIdentifier.Text = "";
+			textBoxProhibitedProcessUser.Text = "";
 
 			// Reset the ignore widget event flags
-			ignoreWidgetEventProhibitedProcessesActive      = false;
-			ignoreWidgetEventProhibitedProcessesOS          = false;
-			ignoreWidgetEventProhibitedProcessesExecutable  = false;
+			ignoreWidgetEventProhibitedProcessesActive = false;
+			ignoreWidgetEventProhibitedProcessesOS = false;
+			ignoreWidgetEventProhibitedProcessesExecutable = false;
 			ignoreWidgetEventProhibitedProcessesDescription = false;
 		}
 
@@ -3146,17 +3165,17 @@ namespace SebWindowsConfig
 		{
 
 			// Prevent double events from switching to false process index
-			if (ignoreCellEventProhibitedProcessesActive      == true) return;
-			if (ignoreCellEventProhibitedProcessesOS          == true) return;
-			if (ignoreCellEventProhibitedProcessesExecutable  == true) return;
+			if (ignoreCellEventProhibitedProcessesActive == true) return;
+			if (ignoreCellEventProhibitedProcessesOS == true) return;
+			if (ignoreCellEventProhibitedProcessesExecutable == true) return;
 			if (ignoreCellEventProhibitedProcessesDescription == true) return;
 
 			// Get the current cell where the user has changed a value
-			int row    = dataGridViewProhibitedProcesses.CurrentCellAddress.Y;
+			int row = dataGridViewProhibitedProcesses.CurrentCellAddress.Y;
 			int column = dataGridViewProhibitedProcesses.CurrentCellAddress.X;
 
 			// At the beginning, row = -1 and column = -1, so skip this event
-			if (row    < 0) return;
+			if (row < 0) return;
 			if (column < 0) return;
 
 			// Get the changed value of the current cell
@@ -3165,40 +3184,40 @@ namespace SebWindowsConfig
 			// Convert the selected "OS" ListBox entry from String to Integer
 			if (column == IntColumnProcessOS)
 			{
-					 if ((String)value == StringOSX) value = IntOSX;
-				else if ((String)value == StringWin) value = IntWin;
+				if ((String) value == StringOSX) value = IntOSX;
+				else if ((String) value == StringWin) value = IntWin;
 			}
 
 			// Get the process data of the process belonging to the current row
 			SEBSettings.prohibitedProcessIndex = row;
-			SEBSettings.prohibitedProcessList  = (ListObj)SEBSettings.settingsCurrent      [SEBSettings.KeyProhibitedProcesses];
-			SEBSettings.prohibitedProcessData  = (DictObj)SEBSettings.prohibitedProcessList[SEBSettings.prohibitedProcessIndex];
+			SEBSettings.prohibitedProcessList = (ListObj) SEBSettings.settingsCurrent[SEBSettings.KeyProhibitedProcesses];
+			SEBSettings.prohibitedProcessData = (DictObj) SEBSettings.prohibitedProcessList[SEBSettings.prohibitedProcessIndex];
 
 			// Update the process data belonging to the current cell
-			if (column == IntColumnProcessActive     ) SEBSettings.prohibitedProcessData[SEBSettings.KeyActive     ] = (Boolean)value;
-			if (column == IntColumnProcessOS         ) SEBSettings.prohibitedProcessData[SEBSettings.KeyOS         ] = (Int32  )value;
-			if (column == IntColumnProcessExecutable ) SEBSettings.prohibitedProcessData[SEBSettings.KeyExecutable ] = (String )value;
-			if (column == IntColumnProcessDescription) SEBSettings.prohibitedProcessData[SEBSettings.KeyDescription] = (String )value;
+			if (column == IntColumnProcessActive) SEBSettings.prohibitedProcessData[SEBSettings.KeyActive] = (Boolean) value;
+			if (column == IntColumnProcessOS) SEBSettings.prohibitedProcessData[SEBSettings.KeyOS] = (Int32) value;
+			if (column == IntColumnProcessExecutable) SEBSettings.prohibitedProcessData[SEBSettings.KeyExecutable] = (String) value;
+			if (column == IntColumnProcessDescription) SEBSettings.prohibitedProcessData[SEBSettings.KeyDescription] = (String) value;
 
 			// Beware double events:
 			// when a cell has been edited, update its corresponding widget in "Selected Process" group,
 			// but prevent the following "widget changed" event from firing the "cell changed" event once more!
-			if (column == IntColumnProcessActive     ) ignoreWidgetEventProhibitedProcessesActive      = true;
-			if (column == IntColumnProcessOS         ) ignoreWidgetEventProhibitedProcessesOS          = true;
-			if (column == IntColumnProcessExecutable ) ignoreWidgetEventProhibitedProcessesExecutable  = true;
+			if (column == IntColumnProcessActive) ignoreWidgetEventProhibitedProcessesActive = true;
+			if (column == IntColumnProcessOS) ignoreWidgetEventProhibitedProcessesOS = true;
+			if (column == IntColumnProcessExecutable) ignoreWidgetEventProhibitedProcessesExecutable = true;
 			if (column == IntColumnProcessDescription) ignoreWidgetEventProhibitedProcessesDescription = true;
 
 			// In "Selected Process" group: update the widget belonging to the current cell
 			// (this will fire the corresponding "widget changed" event).
-			if (column == IntColumnProcessActive     ) checkBoxProhibitedProcessActive.Checked   = (Boolean)value;
-			if (column == IntColumnProcessOS         )  listBoxProhibitedProcessOS.SelectedIndex = (Int32  )value;
-			if (column == IntColumnProcessExecutable )  textBoxProhibitedProcessExecutable .Text = (String )value;
-			if (column == IntColumnProcessDescription)  textBoxProhibitedProcessDescription.Text = (String )value;
+			if (column == IntColumnProcessActive) checkBoxProhibitedProcessActive.Checked = (Boolean) value;
+			if (column == IntColumnProcessOS) listBoxProhibitedProcessOS.SelectedIndex = (Int32) value;
+			if (column == IntColumnProcessExecutable) textBoxProhibitedProcessExecutable.Text = (String) value;
+			if (column == IntColumnProcessDescription) textBoxProhibitedProcessDescription.Text = (String) value;
 
 			// Reset the ignore widget event flags
-			if (column == IntColumnProcessActive     ) ignoreWidgetEventProhibitedProcessesActive      = false;
-			if (column == IntColumnProcessOS         ) ignoreWidgetEventProhibitedProcessesOS          = false;
-			if (column == IntColumnProcessExecutable ) ignoreWidgetEventProhibitedProcessesExecutable  = false;
+			if (column == IntColumnProcessActive) ignoreWidgetEventProhibitedProcessesActive = false;
+			if (column == IntColumnProcessOS) ignoreWidgetEventProhibitedProcessesOS = false;
+			if (column == IntColumnProcessExecutable) ignoreWidgetEventProhibitedProcessesExecutable = false;
 			if (column == IntColumnProcessDescription) ignoreWidgetEventProhibitedProcessesDescription = false;
 		}
 
@@ -3206,39 +3225,39 @@ namespace SebWindowsConfig
 		private void buttonAddProhibitedProcess_Click(object sender, EventArgs e)
 		{
 			// Get the process list
-			SEBSettings.prohibitedProcessList = (ListObj)SEBSettings.settingsCurrent[SEBSettings.KeyProhibitedProcesses];
+			SEBSettings.prohibitedProcessList = (ListObj) SEBSettings.settingsCurrent[SEBSettings.KeyProhibitedProcesses];
 
 			if (SEBSettings.prohibitedProcessList.Count > 0)
 			{
 				if (dataGridViewProhibitedProcesses.SelectedRows.Count != 1) return;
-			  //SEBSettings.prohibitedProcessIndex = dataGridViewProhibitedProcesses.SelectedRows[0].Index;
+				//SEBSettings.prohibitedProcessIndex = dataGridViewProhibitedProcesses.SelectedRows[0].Index;
 				SEBSettings.prohibitedProcessIndex = SEBSettings.prohibitedProcessList.Count;
 			}
 			else
 			{
 				// If process list was empty before, enable it
-				SEBSettings.prohibitedProcessIndex      = 0;
+				SEBSettings.prohibitedProcessIndex = 0;
 				dataGridViewProhibitedProcesses.Enabled = true;
-					groupBoxProhibitedProcess  .Enabled = true;
+				groupBoxProhibitedProcess.Enabled = true;
 			}
 
 			// Create new process dataset containing default values
 			DictObj processData = new DictObj();
 
-			processData[SEBSettings.KeyActive     ] = true;
+			processData[SEBSettings.KeyActive] = true;
 			processData[SEBSettings.KeyCurrentUser] = true;
-			processData[SEBSettings.KeyStrongKill ] = false;
-			processData[SEBSettings.KeyOS         ] = IntWin;
-			processData[SEBSettings.KeyExecutable ] = "";
+			processData[SEBSettings.KeyStrongKill] = false;
+			processData[SEBSettings.KeyOS] = IntWin;
+			processData[SEBSettings.KeyExecutable] = "";
 			processData[SEBSettings.KeyOriginalName] = "";
 			processData[SEBSettings.KeyDescription] = "";
-			processData[SEBSettings.KeyIdentifier ] = "";
-			processData[SEBSettings.KeyUser       ] = "";
+			processData[SEBSettings.KeyIdentifier] = "";
+			processData[SEBSettings.KeyUser] = "";
 
 			// Insert new process into process list at position index
-			SEBSettings.prohibitedProcessList   .Insert(SEBSettings.prohibitedProcessIndex, processData);
+			SEBSettings.prohibitedProcessList.Insert(SEBSettings.prohibitedProcessIndex, processData);
 			dataGridViewProhibitedProcesses.Rows.Insert(SEBSettings.prohibitedProcessIndex, true, StringOS[IntWin], "", "");
-			dataGridViewProhibitedProcesses.Rows       [SEBSettings.prohibitedProcessIndex].Selected = true;
+			dataGridViewProhibitedProcesses.Rows[SEBSettings.prohibitedProcessIndex].Selected = true;
 		}
 
 
@@ -3251,8 +3270,8 @@ namespace SebWindowsConfig
 
 			// Delete process from process list at position index
 			SEBSettings.prohibitedProcessIndex = dataGridViewProhibitedProcesses.SelectedRows[0].Index;
-			SEBSettings.prohibitedProcessList  = (ListObj)SEBSettings.settingsCurrent[SEBSettings.KeyProhibitedProcesses];
-			SEBSettings.prohibitedProcessList   .RemoveAt(SEBSettings.prohibitedProcessIndex);
+			SEBSettings.prohibitedProcessList = (ListObj) SEBSettings.settingsCurrent[SEBSettings.KeyProhibitedProcesses];
+			SEBSettings.prohibitedProcessList.RemoveAt(SEBSettings.prohibitedProcessIndex);
 			dataGridViewProhibitedProcesses.Rows.RemoveAt(SEBSettings.prohibitedProcessIndex);
 
 			if (SEBSettings.prohibitedProcessIndex == SEBSettings.prohibitedProcessList.Count)
@@ -3265,9 +3284,9 @@ namespace SebWindowsConfig
 			else
 			{
 				// If process list is now empty, disable it
-				SEBSettings.prohibitedProcessIndex      = -1;
+				SEBSettings.prohibitedProcessIndex = -1;
 				dataGridViewProhibitedProcesses.Enabled = false;
-					groupBoxProhibitedProcess  .Enabled = false;
+				groupBoxProhibitedProcess.Enabled = false;
 			}
 		}
 
@@ -3287,11 +3306,11 @@ namespace SebWindowsConfig
 		{
 			// Prevent double events from switching to false process index
 			if (ignoreWidgetEventProhibitedProcessesActive == true) return;
-			if (     SEBSettings.prohibitedProcessIndex     <    0) return;
-			SEBSettings.prohibitedProcessList = (ListObj)SEBSettings.settingsCurrent      [SEBSettings.KeyProhibitedProcesses];
-			SEBSettings.prohibitedProcessData = (DictObj)SEBSettings.prohibitedProcessList[SEBSettings.prohibitedProcessIndex];
+			if (SEBSettings.prohibitedProcessIndex < 0) return;
+			SEBSettings.prohibitedProcessList = (ListObj) SEBSettings.settingsCurrent[SEBSettings.KeyProhibitedProcesses];
+			SEBSettings.prohibitedProcessData = (DictObj) SEBSettings.prohibitedProcessList[SEBSettings.prohibitedProcessIndex];
 			SEBSettings.prohibitedProcessData[SEBSettings.KeyActive] = checkBoxProhibitedProcessActive.Checked;
-			Boolean                                          active  = checkBoxProhibitedProcessActive.Checked;
+			Boolean active = checkBoxProhibitedProcessActive.Checked;
 			ignoreCellEventProhibitedProcessesActive = true;
 			dataGridViewProhibitedProcesses.Rows[SEBSettings.prohibitedProcessIndex].Cells[IntColumnProcessActive].Value = active.ToString();
 			ignoreCellEventProhibitedProcessesActive = false;
@@ -3301,16 +3320,16 @@ namespace SebWindowsConfig
 		private void checkBoxProhibitedProcessCurrentUser_CheckedChanged(object sender, EventArgs e)
 		{
 			if (SEBSettings.prohibitedProcessIndex < 0) return;
-			SEBSettings.prohibitedProcessList = (ListObj)SEBSettings.settingsCurrent      [SEBSettings.KeyProhibitedProcesses];
-			SEBSettings.prohibitedProcessData = (DictObj)SEBSettings.prohibitedProcessList[SEBSettings.prohibitedProcessIndex];
+			SEBSettings.prohibitedProcessList = (ListObj) SEBSettings.settingsCurrent[SEBSettings.KeyProhibitedProcesses];
+			SEBSettings.prohibitedProcessData = (DictObj) SEBSettings.prohibitedProcessList[SEBSettings.prohibitedProcessIndex];
 			SEBSettings.prohibitedProcessData[SEBSettings.KeyCurrentUser] = checkBoxProhibitedProcessCurrentUser.Checked;
 		}
 
 		private void checkBoxProhibitedProcessStrongKill_CheckedChanged(object sender, EventArgs e)
 		{
 			if (SEBSettings.prohibitedProcessIndex < 0) return;
-			SEBSettings.prohibitedProcessList = (ListObj)SEBSettings.settingsCurrent      [SEBSettings.KeyProhibitedProcesses];
-			SEBSettings.prohibitedProcessData = (DictObj)SEBSettings.prohibitedProcessList[SEBSettings.prohibitedProcessIndex];
+			SEBSettings.prohibitedProcessList = (ListObj) SEBSettings.settingsCurrent[SEBSettings.KeyProhibitedProcesses];
+			SEBSettings.prohibitedProcessData = (DictObj) SEBSettings.prohibitedProcessList[SEBSettings.prohibitedProcessIndex];
 			SEBSettings.prohibitedProcessData[SEBSettings.KeyStrongKill] = checkBoxProhibitedProcessStrongKill.Checked;
 		}
 
@@ -3319,11 +3338,11 @@ namespace SebWindowsConfig
 		{
 			// Prevent double events from switching to false process index
 			if (ignoreWidgetEventProhibitedProcessesOS == true) return;
-			if (     SEBSettings.prohibitedProcessIndex <    0) return;
-			SEBSettings.prohibitedProcessList = (ListObj)SEBSettings.settingsCurrent      [SEBSettings.KeyProhibitedProcesses];
-			SEBSettings.prohibitedProcessData = (DictObj)SEBSettings.prohibitedProcessList[SEBSettings.prohibitedProcessIndex];
+			if (SEBSettings.prohibitedProcessIndex < 0) return;
+			SEBSettings.prohibitedProcessList = (ListObj) SEBSettings.settingsCurrent[SEBSettings.KeyProhibitedProcesses];
+			SEBSettings.prohibitedProcessData = (DictObj) SEBSettings.prohibitedProcessList[SEBSettings.prohibitedProcessIndex];
 			SEBSettings.prohibitedProcessData[SEBSettings.KeyOS] = listBoxProhibitedProcessOS.SelectedIndex;
-			Int32                                            os  = listBoxProhibitedProcessOS.SelectedIndex;
+			Int32 os = listBoxProhibitedProcessOS.SelectedIndex;
 			ignoreCellEventProhibitedProcessesOS = true;
 			dataGridViewProhibitedProcesses.Rows[SEBSettings.prohibitedProcessIndex].Cells[IntColumnProcessOS].Value = StringOS[os];
 			ignoreCellEventProhibitedProcessesOS = false;
@@ -3334,11 +3353,11 @@ namespace SebWindowsConfig
 		{
 			// Prevent double events from switching to false process index
 			if (ignoreWidgetEventProhibitedProcessesExecutable == true) return;
-			if (     SEBSettings.prohibitedProcessIndex         <    0) return;
-			SEBSettings.prohibitedProcessList = (ListObj)SEBSettings.settingsCurrent      [SEBSettings.KeyProhibitedProcesses];
-			SEBSettings.prohibitedProcessData = (DictObj)SEBSettings.prohibitedProcessList[SEBSettings.prohibitedProcessIndex];
+			if (SEBSettings.prohibitedProcessIndex < 0) return;
+			SEBSettings.prohibitedProcessList = (ListObj) SEBSettings.settingsCurrent[SEBSettings.KeyProhibitedProcesses];
+			SEBSettings.prohibitedProcessData = (DictObj) SEBSettings.prohibitedProcessList[SEBSettings.prohibitedProcessIndex];
 			SEBSettings.prohibitedProcessData[SEBSettings.KeyExecutable] = textBoxProhibitedProcessExecutable.Text;
-			String                                           executable  = textBoxProhibitedProcessExecutable.Text;
+			String executable = textBoxProhibitedProcessExecutable.Text;
 			ignoreCellEventProhibitedProcessesExecutable = true;
 			dataGridViewProhibitedProcesses.Rows[SEBSettings.prohibitedProcessIndex].Cells[IntColumnProcessExecutable].Value = executable;
 			ignoreCellEventProhibitedProcessesExecutable = false;
@@ -3356,11 +3375,11 @@ namespace SebWindowsConfig
 		{
 			// Prevent double events from switching to false process index
 			if (ignoreWidgetEventProhibitedProcessesDescription == true) return;
-			if (     SEBSettings.prohibitedProcessIndex          <    0) return;
-			SEBSettings.prohibitedProcessList = (ListObj)SEBSettings.settingsCurrent      [SEBSettings.KeyProhibitedProcesses];
-			SEBSettings.prohibitedProcessData = (DictObj)SEBSettings.prohibitedProcessList[SEBSettings.prohibitedProcessIndex];
+			if (SEBSettings.prohibitedProcessIndex < 0) return;
+			SEBSettings.prohibitedProcessList = (ListObj) SEBSettings.settingsCurrent[SEBSettings.KeyProhibitedProcesses];
+			SEBSettings.prohibitedProcessData = (DictObj) SEBSettings.prohibitedProcessList[SEBSettings.prohibitedProcessIndex];
 			SEBSettings.prohibitedProcessData[SEBSettings.KeyDescription] = textBoxProhibitedProcessDescription.Text;
-			String                                           description  = textBoxProhibitedProcessDescription.Text;
+			String description = textBoxProhibitedProcessDescription.Text;
 			ignoreCellEventProhibitedProcessesDescription = true;
 			dataGridViewProhibitedProcesses.Rows[SEBSettings.prohibitedProcessIndex].Cells[IntColumnProcessDescription].Value = description;
 			ignoreCellEventProhibitedProcessesDescription = false;
@@ -3370,16 +3389,16 @@ namespace SebWindowsConfig
 		private void textBoxProhibitedProcessIdentifier_TextChanged(object sender, EventArgs e)
 		{
 			if (SEBSettings.prohibitedProcessIndex < 0) return;
-			SEBSettings.prohibitedProcessList = (ListObj)SEBSettings.settingsCurrent      [SEBSettings.KeyProhibitedProcesses];
-			SEBSettings.prohibitedProcessData = (DictObj)SEBSettings.prohibitedProcessList[SEBSettings.prohibitedProcessIndex];
+			SEBSettings.prohibitedProcessList = (ListObj) SEBSettings.settingsCurrent[SEBSettings.KeyProhibitedProcesses];
+			SEBSettings.prohibitedProcessData = (DictObj) SEBSettings.prohibitedProcessList[SEBSettings.prohibitedProcessIndex];
 			SEBSettings.prohibitedProcessData[SEBSettings.KeyIdentifier] = textBoxProhibitedProcessIdentifier.Text;
 		}
 
 		private void textBoxProhibitedProcessUser_TextChanged(object sender, EventArgs e)
 		{
 			if (SEBSettings.prohibitedProcessIndex < 0) return;
-			SEBSettings.prohibitedProcessList = (ListObj)SEBSettings.settingsCurrent      [SEBSettings.KeyProhibitedProcesses];
-			SEBSettings.prohibitedProcessData = (DictObj)SEBSettings.prohibitedProcessList[SEBSettings.prohibitedProcessIndex];
+			SEBSettings.prohibitedProcessList = (ListObj) SEBSettings.settingsCurrent[SEBSettings.KeyProhibitedProcesses];
+			SEBSettings.prohibitedProcessData = (DictObj) SEBSettings.prohibitedProcessList[SEBSettings.prohibitedProcessIndex];
 			SEBSettings.prohibitedProcessData[SEBSettings.KeyUser] = textBoxProhibitedProcessUser.Text;
 		}
 
@@ -3404,9 +3423,9 @@ namespace SebWindowsConfig
 		// ******************************
 		private void comboBoxChooseSSLServerCertificate_SelectedIndexChanged(object sender, EventArgs e)
 		{
-			var cert = (X509Certificate2)certificateSSLReferences[comboBoxChooseSSLServerCertificate.SelectedIndex];
-			
-			SEBSettings.embeddedCertificateList = (ListObj)SEBSettings.settingsCurrent[SEBSettings.KeyEmbeddedCertificates];
+			var cert = (X509Certificate2) certificateSSLReferences[comboBoxChooseSSLServerCertificate.SelectedIndex];
+
+			SEBSettings.embeddedCertificateList = (ListObj) SEBSettings.settingsCurrent[SEBSettings.KeyEmbeddedCertificates];
 
 			SEBSettings.embeddedCertificateIndex = SEBSettings.embeddedCertificateList.Count;
 
@@ -3435,7 +3454,7 @@ namespace SebWindowsConfig
 			dataGridViewEmbeddedCertificates.Rows.Insert(SEBSettings.embeddedCertificateIndex, stringSSLCertificateType, comboBoxChooseSSLServerCertificate.SelectedItem);
 			dataGridViewEmbeddedCertificates.Rows[SEBSettings.embeddedCertificateIndex].Selected = true;
 
-			comboBoxChooseSSLServerCertificate.BeginInvoke((Action)(() =>
+			comboBoxChooseSSLServerCertificate.BeginInvoke((Action) (() =>
 			{
 				comboBoxChooseSSLServerCertificate.Text = SEBUIStrings.ChooseEmbeddedCert;
 			}));
@@ -3445,9 +3464,9 @@ namespace SebWindowsConfig
 
 		private void comboBoxChooseCACertificate_SelectedIndexChanged(object sender, EventArgs e)
 		{
-			var cert = (X509Certificate2)certificateSSLReferences[comboBoxChooseCACertificate.SelectedIndex];
+			var cert = (X509Certificate2) certificateSSLReferences[comboBoxChooseCACertificate.SelectedIndex];
 
-			SEBSettings.embeddedCertificateList = (ListObj)SEBSettings.settingsCurrent[SEBSettings.KeyEmbeddedCertificates];
+			SEBSettings.embeddedCertificateList = (ListObj) SEBSettings.settingsCurrent[SEBSettings.KeyEmbeddedCertificates];
 
 			SEBSettings.embeddedCertificateIndex = SEBSettings.embeddedCertificateList.Count;
 
@@ -3462,7 +3481,7 @@ namespace SebWindowsConfig
 			dataGridViewEmbeddedCertificates.Rows.Insert(SEBSettings.embeddedCertificateIndex, StringCACertificate, comboBoxChooseCACertificate.SelectedItem);
 			dataGridViewEmbeddedCertificates.Rows[SEBSettings.embeddedCertificateIndex].Selected = true;
 
-			comboBoxChooseCACertificate.BeginInvoke((Action)(() =>
+			comboBoxChooseCACertificate.BeginInvoke((Action) (() =>
 			{
 				comboBoxChooseCACertificate.Text = SEBUIStrings.ChooseEmbeddedCert;
 			}));
@@ -3477,9 +3496,9 @@ namespace SebWindowsConfig
 
 		private void comboBoxChooseIdentityToEmbed_SelectedIndexChanged(object sender, EventArgs e)
 		{
-			var cert = (X509Certificate2)certificateReferences[comboBoxChooseIdentityToEmbed.SelectedIndex];
+			var cert = (X509Certificate2) certificateReferences[comboBoxChooseIdentityToEmbed.SelectedIndex];
 
-			SEBSettings.embeddedCertificateList = (ListObj)SEBSettings.settingsCurrent[SEBSettings.KeyEmbeddedCertificates];
+			SEBSettings.embeddedCertificateList = (ListObj) SEBSettings.settingsCurrent[SEBSettings.KeyEmbeddedCertificates];
 
 			SEBSettings.embeddedCertificateIndex = SEBSettings.embeddedCertificateList.Count;
 
@@ -3535,7 +3554,7 @@ namespace SebWindowsConfig
 
 			//builder.Append("-----BEGIN CERTIFICATE-----");
 			builder.Append(certToBase64String); //Convert.ToBase64String(cert.Export(X509ContentType.Cert))); //, Base64FormattingOptions.InsertLineBreaks));
-			//builder.Append("-----END CERTIFICATE-----");
+												//builder.Append("-----END CERTIFICATE-----");
 
 			return builder.ToString();
 		}
@@ -3567,33 +3586,33 @@ namespace SebWindowsConfig
 		private void dataGridViewEmbeddedCertificates_CellValueChanged(object sender, DataGridViewCellEventArgs e)
 		{
 			// Get the current cell where the user has changed a value
-			int row    = dataGridViewEmbeddedCertificates.CurrentCellAddress.Y;
+			int row = dataGridViewEmbeddedCertificates.CurrentCellAddress.Y;
 			int column = dataGridViewEmbeddedCertificates.CurrentCellAddress.X;
 
 			// At the beginning, row = -1 and column = -1, so skip this event
-			if (row    < 0) return;
+			if (row < 0) return;
 			if (column < 0) return;
 
 			// Get the changed value of the current cell
 			object value = dataGridViewEmbeddedCertificates.CurrentCell.EditedFormattedValue;
 
 			// Convert the selected Type ListBox entry from String to Integer
-		   if (column == IntColumnCertificateType)
+			if (column == IntColumnCertificateType)
 			{
-					 if ((String)value == StringSSLServerCertificate) value = IntSSLClientCertificate;
-					 else if ((String)value == StringIdentity) value = IntIdentity;
-					 else if ((String)value == StringCACertificate) value = IntCACertificate;
-					 else if ((String)value == StringSSLDebugCertificate) value = IntSSLDebugCertificate;
+				if ((String) value == StringSSLServerCertificate) value = IntSSLClientCertificate;
+				else if ((String) value == StringIdentity) value = IntIdentity;
+				else if ((String) value == StringCACertificate) value = IntCACertificate;
+				else if ((String) value == StringSSLDebugCertificate) value = IntSSLDebugCertificate;
 			}
 
 			// Get the data of the certificate belonging to the cell (row)
 			SEBSettings.embeddedCertificateIndex = row;
-			SEBSettings.embeddedCertificateList  = (ListObj)SEBSettings.settingsCurrent        [SEBSettings.KeyEmbeddedCertificates];
-			SEBSettings.embeddedCertificateData  = (DictObj)SEBSettings.embeddedCertificateList[SEBSettings.embeddedCertificateIndex];
+			SEBSettings.embeddedCertificateList = (ListObj) SEBSettings.settingsCurrent[SEBSettings.KeyEmbeddedCertificates];
+			SEBSettings.embeddedCertificateData = (DictObj) SEBSettings.embeddedCertificateList[SEBSettings.embeddedCertificateIndex];
 
 			// Update the certificate data belonging to the current cell
-			if (column == IntColumnCertificateType) SEBSettings.embeddedCertificateData[SEBSettings.KeyType] = (Int32  )value;
-			if (column == IntColumnCertificateName) SEBSettings.embeddedCertificateData[SEBSettings.KeyName] = (String )value;
+			if (column == IntColumnCertificateType) SEBSettings.embeddedCertificateData[SEBSettings.KeyType] = (Int32) value;
+			if (column == IntColumnCertificateName) SEBSettings.embeddedCertificateData[SEBSettings.KeyName] = (String) value;
 		}
 
 
@@ -3603,8 +3622,8 @@ namespace SebWindowsConfig
 			SEBSettings.embeddedCertificateIndex = dataGridViewEmbeddedCertificates.SelectedRows[0].Index;
 
 			// Delete certificate from certificate list at position index
-			SEBSettings.embeddedCertificateList = (ListObj)SEBSettings.settingsCurrent[SEBSettings.KeyEmbeddedCertificates];
-			SEBSettings.embeddedCertificateList  .RemoveAt(SEBSettings.embeddedCertificateIndex);
+			SEBSettings.embeddedCertificateList = (ListObj) SEBSettings.settingsCurrent[SEBSettings.KeyEmbeddedCertificates];
+			SEBSettings.embeddedCertificateList.RemoveAt(SEBSettings.embeddedCertificateIndex);
 			dataGridViewEmbeddedCertificates.Rows.RemoveAt(SEBSettings.embeddedCertificateIndex);
 
 			if (SEBSettings.embeddedCertificateIndex == SEBSettings.embeddedCertificateList.Count)
@@ -3617,7 +3636,7 @@ namespace SebWindowsConfig
 			else
 			{
 				// If certificate list is now empty, disable it
-				SEBSettings.embeddedCertificateIndex     = -1;
+				SEBSettings.embeddedCertificateIndex = -1;
 				dataGridViewEmbeddedCertificates.Enabled = false;
 			}
 		}
@@ -3630,28 +3649,28 @@ namespace SebWindowsConfig
 		private void radioButtonUseSystemProxySettings_CheckedChanged(object sender, EventArgs e)
 		{
 			if (radioButtonUseSystemProxySettings.Checked == true)
-				 SEBSettings.settingsCurrent[SEBSettings.KeyProxySettingsPolicy] = 0;
+				SEBSettings.settingsCurrent[SEBSettings.KeyProxySettingsPolicy] = 0;
 			else SEBSettings.settingsCurrent[SEBSettings.KeyProxySettingsPolicy] = 1;
 		}
 
 		private void radioButtonUseSebProxySettings_CheckedChanged(object sender, EventArgs e)
 		{
 			if (radioButtonUseSebProxySettings.Checked == true)
-				 SEBSettings.settingsCurrent[SEBSettings.KeyProxySettingsPolicy] = 1;
+				SEBSettings.settingsCurrent[SEBSettings.KeyProxySettingsPolicy] = 1;
 			else SEBSettings.settingsCurrent[SEBSettings.KeyProxySettingsPolicy] = 0;
 		}
 
 		private void checkBoxExcludeSimpleHostnames_CheckedChanged(object sender, EventArgs e)
 		{
 			// Get the proxies data
-			SEBSettings.proxiesData = (DictObj)SEBSettings.settingsCurrent[SEBSettings.KeyProxies];
+			SEBSettings.proxiesData = (DictObj) SEBSettings.settingsCurrent[SEBSettings.KeyProxies];
 			SEBSettings.proxiesData[SEBSettings.KeyExcludeSimpleHostnames] = checkBoxExcludeSimpleHostnames.Checked;
 		}
 
 		private void checkBoxUsePassiveFTPMode_CheckedChanged(object sender, EventArgs e)
 		{
 			// Get the proxies data
-			SEBSettings.proxiesData = (DictObj)SEBSettings.settingsCurrent[SEBSettings.KeyProxies];
+			SEBSettings.proxiesData = (DictObj) SEBSettings.settingsCurrent[SEBSettings.KeyProxies];
 			SEBSettings.proxiesData[SEBSettings.KeyFTPPassive] = checkBoxUsePassiveFTPMode.Checked;
 		}
 
@@ -3674,24 +3693,24 @@ namespace SebWindowsConfig
 			// if proxyProtocolIndex is >= 2 (... Proxy Server ), enable Proxy Server widgets
 
 			Boolean useAutoConfiguration = (SEBSettings.proxyProtocolIndex == IntProxyAutoConfiguration);
-			Boolean useProxyServer       = (SEBSettings.proxyProtocolIndex  > IntProxyAutoConfiguration);
+			Boolean useProxyServer = (SEBSettings.proxyProtocolIndex > IntProxyAutoConfiguration);
 
 			// Enable the proxy widgets belonging to Auto Configuration
-			   labelAutoProxyConfigurationURL .Visible = useAutoConfiguration;
-			   labelProxyConfigurationFileURL .Visible = useAutoConfiguration;
-			 textBoxIfYourNetworkAdministrator.Visible = useAutoConfiguration;
-			 textBoxAutoProxyConfigurationURL .Visible = useAutoConfiguration;
+			labelAutoProxyConfigurationURL.Visible = useAutoConfiguration;
+			labelProxyConfigurationFileURL.Visible = useAutoConfiguration;
+			textBoxIfYourNetworkAdministrator.Visible = useAutoConfiguration;
+			textBoxAutoProxyConfigurationURL.Visible = useAutoConfiguration;
 			buttonChooseProxyConfigurationFile.Visible = useAutoConfiguration;
 
 			// Enable the proxy widgets belonging to Proxy Server
 			// (HTTP, HTTPS, FTP, SOCKS, RTSP)
-			  labelProxyServerHost.Visible = useProxyServer;
-			  labelProxyServerPort.Visible = useProxyServer;
+			labelProxyServerHost.Visible = useProxyServer;
+			labelProxyServerPort.Visible = useProxyServer;
 			textBoxProxyServerHost.Visible = useProxyServer;
 			textBoxProxyServerPort.Visible = useProxyServer;
 
-			  labelProxyServerUsername.Visible = useProxyServer;
-			  labelProxyServerPassword.Visible = useProxyServer;
+			labelProxyServerUsername.Visible = useProxyServer;
+			labelProxyServerPassword.Visible = useProxyServer;
 			textBoxProxyServerUsername.Visible = useProxyServer;
 			textBoxProxyServerPassword.Visible = useProxyServer;
 
@@ -3699,7 +3718,7 @@ namespace SebWindowsConfig
 
 			if (useProxyServer)
 			{
-				labelProxyServerHost.Text  = StringProxyProtocolServerLabel[SEBSettings.proxyProtocolIndex];
+				labelProxyServerHost.Text = StringProxyProtocolServerLabel[SEBSettings.proxyProtocolIndex];
 				labelProxyServerHost.Text += " Proxy Server";
 			}
 
@@ -3707,25 +3726,25 @@ namespace SebWindowsConfig
 			String KeyProtocolType = KeyProxyProtocolType[SEBSettings.proxyProtocolIndex];
 
 			// Get the proxies data
-			SEBSettings.proxiesData = (DictObj)SEBSettings.settingsCurrent[SEBSettings.KeyProxies];
+			SEBSettings.proxiesData = (DictObj) SEBSettings.settingsCurrent[SEBSettings.KeyProxies];
 
 			// Update the proxy widgets
 			if (useAutoConfiguration)
 			{
-				textBoxAutoProxyConfigurationURL.Text = (String)SEBSettings.proxiesData[SEBSettings.KeyAutoConfigurationURL];
+				textBoxAutoProxyConfigurationURL.Text = (String) SEBSettings.proxiesData[SEBSettings.KeyAutoConfigurationURL];
 			}
 
 			if (useProxyServer)
 			{
-				checkBoxProxyServerRequires.Checked = (Boolean)SEBSettings.proxiesData[KeyProtocolType + SEBSettings.KeyRequires];
-				 textBoxProxyServerHost    .Text    =  (String)SEBSettings.proxiesData[KeyProtocolType + SEBSettings.KeyHost    ];
-				 textBoxProxyServerPort    .Text    =  (String)SEBSettings.proxiesData[KeyProtocolType + SEBSettings.KeyPort    ].ToString();
-				 textBoxProxyServerUsername.Text    =  (String)SEBSettings.proxiesData[KeyProtocolType + SEBSettings.KeyUsername];
-				 textBoxProxyServerPassword.Text    =  (String)SEBSettings.proxiesData[KeyProtocolType + SEBSettings.KeyPassword];
+				checkBoxProxyServerRequires.Checked = (Boolean) SEBSettings.proxiesData[KeyProtocolType + SEBSettings.KeyRequires];
+				textBoxProxyServerHost.Text = (String) SEBSettings.proxiesData[KeyProtocolType + SEBSettings.KeyHost];
+				textBoxProxyServerPort.Text = (String) SEBSettings.proxiesData[KeyProtocolType + SEBSettings.KeyPort].ToString();
+				textBoxProxyServerUsername.Text = (String) SEBSettings.proxiesData[KeyProtocolType + SEBSettings.KeyUsername];
+				textBoxProxyServerPassword.Text = (String) SEBSettings.proxiesData[KeyProtocolType + SEBSettings.KeyPassword];
 
-				 // Disable the username/password textboxes when they are not required
-				 textBoxProxyServerUsername.Enabled =  checkBoxProxyServerRequires.Checked;
-				 textBoxProxyServerPassword.Enabled =  checkBoxProxyServerRequires.Checked;
+				// Disable the username/password textboxes when they are not required
+				textBoxProxyServerUsername.Enabled = checkBoxProxyServerRequires.Checked;
+				textBoxProxyServerPassword.Enabled = checkBoxProxyServerRequires.Checked;
 			}
 		}
 
@@ -3742,18 +3761,18 @@ namespace SebWindowsConfig
 		private void dataGridViewProxyProtocols_CellValueChanged(object sender, DataGridViewCellEventArgs e)
 		{
 			// Get the current cell where the user has changed a value
-			int row    = dataGridViewProxyProtocols.CurrentCellAddress.Y;
+			int row = dataGridViewProxyProtocols.CurrentCellAddress.Y;
 			int column = dataGridViewProxyProtocols.CurrentCellAddress.X;
 
 			// At the beginning, row = -1 and column = -1, so skip this event
-			if (row    < 0) return;
+			if (row < 0) return;
 			if (column < 0) return;
 
 			// Get the changed value of the current cell
 			object value = dataGridViewProxyProtocols.CurrentCell.EditedFormattedValue;
 
 			// Get the proxies data of the proxy protocol belonging to the cell (row)
-			SEBSettings.proxiesData = (DictObj)SEBSettings.settingsCurrent[SEBSettings.KeyProxies];
+			SEBSettings.proxiesData = (DictObj) SEBSettings.settingsCurrent[SEBSettings.KeyProxies];
 
 			SEBSettings.proxyProtocolIndex = row;
 
@@ -3761,8 +3780,8 @@ namespace SebWindowsConfig
 			if (column == IntColumnProxyProtocolEnable)
 			{
 				String key = KeyProxyProtocolEnable[row];
-				SEBSettings.proxiesData    [key] = (Boolean)value;
-				BooleanProxyProtocolEnabled[row] = (Boolean)value;
+				SEBSettings.proxiesData[key] = (Boolean) value;
+				BooleanProxyProtocolEnabled[row] = (Boolean) value;
 			}
 		}
 
@@ -3770,7 +3789,7 @@ namespace SebWindowsConfig
 		private void textBoxAutoProxyConfigurationURL_TextChanged(object sender, EventArgs e)
 		{
 			// Get the proxies data
-			SEBSettings.proxiesData = (DictObj)SEBSettings.settingsCurrent[SEBSettings.KeyProxies];
+			SEBSettings.proxiesData = (DictObj) SEBSettings.settingsCurrent[SEBSettings.KeyProxies];
 			SEBSettings.proxiesData[SEBSettings.KeyAutoConfigurationURL] = textBoxAutoProxyConfigurationURL.Text;
 		}
 
@@ -3785,15 +3804,15 @@ namespace SebWindowsConfig
 		{
 			// Get the proxies data
 			String key = KeyProxyProtocolType[SEBSettings.proxyProtocolIndex] + SEBSettings.KeyHost;
-			SEBSettings.proxiesData      = (DictObj)SEBSettings.settingsCurrent[SEBSettings.KeyProxies];
+			SEBSettings.proxiesData = (DictObj) SEBSettings.settingsCurrent[SEBSettings.KeyProxies];
 			SEBSettings.proxiesData[key] = textBoxProxyServerHost.Text;
 		}
 
 		private void textBoxProxyServerPort_TextChanged(object sender, EventArgs e)
 		{
 			// Get the proxies data
-			String key =  KeyProxyProtocolType[SEBSettings.proxyProtocolIndex] + SEBSettings.KeyPort;
-			SEBSettings.proxiesData = (DictObj)SEBSettings.settingsCurrent      [SEBSettings.KeyProxies];
+			String key = KeyProxyProtocolType[SEBSettings.proxyProtocolIndex] + SEBSettings.KeyPort;
+			SEBSettings.proxiesData = (DictObj) SEBSettings.settingsCurrent[SEBSettings.KeyProxies];
 
 			// Convert the "Port" string to an integer
 			try
@@ -3810,8 +3829,8 @@ namespace SebWindowsConfig
 		{
 			// Get the proxies data
 			String key = KeyProxyProtocolType[SEBSettings.proxyProtocolIndex] + SEBSettings.KeyRequires;
-			SEBSettings.proxiesData      = (DictObj)SEBSettings.settingsCurrent[SEBSettings.KeyProxies];
-			SEBSettings.proxiesData[key] = (Boolean)checkBoxProxyServerRequires.Checked;
+			SEBSettings.proxiesData = (DictObj) SEBSettings.settingsCurrent[SEBSettings.KeyProxies];
+			SEBSettings.proxiesData[key] = (Boolean) checkBoxProxyServerRequires.Checked;
 
 			// Disable the username/password textboxes when they are not required
 			textBoxProxyServerUsername.Enabled = checkBoxProxyServerRequires.Checked;
@@ -3822,7 +3841,7 @@ namespace SebWindowsConfig
 		{
 			// Get the proxies data
 			String key = KeyProxyProtocolType[SEBSettings.proxyProtocolIndex] + SEBSettings.KeyUsername;
-			SEBSettings.proxiesData      = (DictObj)SEBSettings.settingsCurrent[SEBSettings.KeyProxies];
+			SEBSettings.proxiesData = (DictObj) SEBSettings.settingsCurrent[SEBSettings.KeyProxies];
 			SEBSettings.proxiesData[key] = textBoxProxyServerUsername.Text;
 		}
 
@@ -3830,7 +3849,7 @@ namespace SebWindowsConfig
 		{
 			// Get the proxies data
 			String key = KeyProxyProtocolType[SEBSettings.proxyProtocolIndex] + SEBSettings.KeyPassword;
-			SEBSettings.proxiesData      = (DictObj)SEBSettings.settingsCurrent[SEBSettings.KeyProxies];
+			SEBSettings.proxiesData = (DictObj) SEBSettings.settingsCurrent[SEBSettings.KeyProxies];
 			SEBSettings.proxiesData[key] = textBoxProxyServerPassword.Text;
 		}
 
@@ -3838,7 +3857,7 @@ namespace SebWindowsConfig
 		private void textBoxBypassedProxyHostList_TextChanged(object sender, EventArgs e)
 		{
 			// Get the proxies data
-			SEBSettings.proxiesData = (DictObj)SEBSettings.settingsCurrent[SEBSettings.KeyProxies];
+			SEBSettings.proxiesData = (DictObj) SEBSettings.settingsCurrent[SEBSettings.KeyProxies];
 			string bypassedProxiesCommaSeparatedList = textBoxBypassedProxyHostList.Text;
 			// Create List
 			List<string> bypassedProxyHostList = bypassedProxiesCommaSeparatedList.Split(',').ToList();
@@ -3865,17 +3884,17 @@ namespace SebWindowsConfig
 			SEBSettings.settingsCurrent[SEBSettings.KeyAllowVirtualMachine] = checkBoxAllowVirtualMachine.Checked;
 		}
 
-        private void checkBoxAllowScreenSharing_CheckedChanged(object sender, EventArgs e)
-        {
-            SEBSettings.settingsCurrent[SEBSettings.KeyAllowScreenSharing] = checkBoxAllowScreenSharing.Checked;
-        }
+		private void checkBoxAllowScreenSharing_CheckedChanged(object sender, EventArgs e)
+		{
+			SEBSettings.settingsCurrent[SEBSettings.KeyAllowScreenSharing] = checkBoxAllowScreenSharing.Checked;
+		}
 
-        private void checkBoxEnablePrivateClipboard_CheckedChanged(object sender, EventArgs e)
-        {
-            SEBSettings.settingsCurrent[SEBSettings.KeyEnablePrivateClipboard] = checkBoxEnablePrivateClipboard.Checked;
-        }
+		private void checkBoxEnablePrivateClipboard_CheckedChanged(object sender, EventArgs e)
+		{
+			SEBSettings.settingsCurrent[SEBSettings.KeyEnablePrivateClipboard] = checkBoxEnablePrivateClipboard.Checked;
+		}
 
-        private void radioCreateNewDesktop_CheckedChanged(object sender, EventArgs e)
+		private void radioCreateNewDesktop_CheckedChanged(object sender, EventArgs e)
 		{
 			SEBSettings.settingsCurrent[SEBSettings.KeyCreateNewDesktop] = radioCreateNewDesktop.Checked;
 			checkBoxMonitorProcesses.Enabled = !radioCreateNewDesktop.Checked;
@@ -3886,14 +3905,14 @@ namespace SebWindowsConfig
 				MessageBox.Show("Touch optimization will not work when kiosk mode is set to Create New Desktop, please change the appearance.", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
 			}
 
-            if (radioCreateNewDesktop.Checked)
-            {
-                CheckAndOptionallyRemoveDefaultProhibitedProcesses();
-                UpdateAllWidgetsOfProgram();
-            }
-        }
+			if (radioCreateNewDesktop.Checked)
+			{
+				CheckAndOptionallyRemoveDefaultProhibitedProcesses();
+				UpdateAllWidgetsOfProgram();
+			}
+		}
 
-        private void radioKillExplorerShell_CheckedChanged(object sender, EventArgs e)
+		private void radioKillExplorerShell_CheckedChanged(object sender, EventArgs e)
 		{
 			SEBSettings.settingsCurrent[SEBSettings.KeyKillExplorerShell] = radioKillExplorerShell.Checked;
 			checkBoxMonitorProcesses.Enabled = !radioKillExplorerShell.Checked;
@@ -3934,7 +3953,7 @@ namespace SebWindowsConfig
 
 			// Get the user inputs in the File Dialog
 			DialogResult dialogResult = folderBrowserDialogLogDirectoryWin.ShowDialog();
-			String               path = folderBrowserDialogLogDirectoryWin.SelectedPath;
+			String path = folderBrowserDialogLogDirectoryWin.SelectedPath;
 
 			// If the user clicked "Cancel", do nothing
 			if (dialogResult.Equals(DialogResult.Cancel)) return;
@@ -3983,74 +4002,74 @@ namespace SebWindowsConfig
 			SEBSettings.settingsCurrent[SEBSettings.KeyLogDirectoryOSX] = path;
 		}
 
-        private void checkBoxAllowDictation_CheckedChanged(object sender, EventArgs e)
-        {
-            SEBSettings.settingsCurrent[SEBSettings.KeyAllowDictation] = checkBoxAllowDictation.Checked;
-        }
+		private void checkBoxAllowDictation_CheckedChanged(object sender, EventArgs e)
+		{
+			SEBSettings.settingsCurrent[SEBSettings.KeyAllowDictation] = checkBoxAllowDictation.Checked;
+		}
 
-        private void checkBoxDetectStoppedProcess_CheckedChanged(object sender, EventArgs e)
-        {
-            SEBSettings.settingsCurrent[SEBSettings.KeyDetectStoppedProcess] = checkBoxDetectStoppedProcess.Checked;
-        }
+		private void checkBoxDetectStoppedProcess_CheckedChanged(object sender, EventArgs e)
+		{
+			SEBSettings.settingsCurrent[SEBSettings.KeyDetectStoppedProcess] = checkBoxDetectStoppedProcess.Checked;
+		}
 
-        private void checkBoxAllowDisplayMirroring_CheckedChanged(object sender, EventArgs e)
-        {
-            SEBSettings.settingsCurrent[SEBSettings.KeyAllowDisplayMirroring] = checkBoxAllowDisplayMirroring.Checked;
-        }
+		private void checkBoxAllowDisplayMirroring_CheckedChanged(object sender, EventArgs e)
+		{
+			SEBSettings.settingsCurrent[SEBSettings.KeyAllowDisplayMirroring] = checkBoxAllowDisplayMirroring.Checked;
+		}
 
-        private void checkBoxAllowUserAppFolderInstall_CheckedChanged(object sender, EventArgs e)
-        {
-            SEBSettings.settingsCurrent[SEBSettings.KeyAllowUserAppFolderInstall] = checkBoxAllowUserAppFolderInstall.Checked;
-        }
+		private void checkBoxAllowUserAppFolderInstall_CheckedChanged(object sender, EventArgs e)
+		{
+			SEBSettings.settingsCurrent[SEBSettings.KeyAllowUserAppFolderInstall] = checkBoxAllowUserAppFolderInstall.Checked;
+		}
 
-        private void checkBoxAllowedDisplayBuiltin_CheckedChanged(object sender, EventArgs e)
-        {
-            SEBSettings.settingsCurrent[SEBSettings.KeyAllowedDisplayBuiltin] = checkBoxAllowedDisplayBuiltin.Checked;
-        }
+		private void checkBoxAllowedDisplayBuiltin_CheckedChanged(object sender, EventArgs e)
+		{
+			SEBSettings.settingsCurrent[SEBSettings.KeyAllowedDisplayBuiltin] = checkBoxAllowedDisplayBuiltin.Checked;
+		}
 
-        private void comboBoxMinMacOSVersion_SelectedIndexChanged(object sender, EventArgs e)
-        {
-            SEBSettings.intArrayCurrent[SEBSettings.ValMinMacOSVersion] = comboBoxMinMacOSVersion.SelectedIndex;
-            SEBSettings.strArrayCurrent[SEBSettings.ValMinMacOSVersion] = comboBoxMinMacOSVersion.Text;
-            SEBSettings.settingsCurrent[SEBSettings.KeyMinMacOSVersion] = comboBoxMinMacOSVersion.SelectedIndex;
-        }
+		private void comboBoxMinMacOSVersion_SelectedIndexChanged(object sender, EventArgs e)
+		{
+			SEBSettings.intArrayCurrent[SEBSettings.ValMinMacOSVersion] = comboBoxMinMacOSVersion.SelectedIndex;
+			SEBSettings.strArrayCurrent[SEBSettings.ValMinMacOSVersion] = comboBoxMinMacOSVersion.Text;
+			SEBSettings.settingsCurrent[SEBSettings.KeyMinMacOSVersion] = comboBoxMinMacOSVersion.SelectedIndex;
+		}
 
-        private void comboBoxMinMacOSVersion_TextChanged(object sender, EventArgs e)
-        {
-            SEBSettings.intArrayCurrent[SEBSettings.ValMinMacOSVersion] = comboBoxMinMacOSVersion.SelectedIndex;
-            SEBSettings.strArrayCurrent[SEBSettings.ValMinMacOSVersion] = comboBoxMinMacOSVersion.Text;
-            SEBSettings.settingsCurrent[SEBSettings.KeyMinMacOSVersion] = comboBoxMinMacOSVersion.SelectedIndex;
-        }
+		private void comboBoxMinMacOSVersion_TextChanged(object sender, EventArgs e)
+		{
+			SEBSettings.intArrayCurrent[SEBSettings.ValMinMacOSVersion] = comboBoxMinMacOSVersion.SelectedIndex;
+			SEBSettings.strArrayCurrent[SEBSettings.ValMinMacOSVersion] = comboBoxMinMacOSVersion.Text;
+			SEBSettings.settingsCurrent[SEBSettings.KeyMinMacOSVersion] = comboBoxMinMacOSVersion.SelectedIndex;
+		}
 
-        private void comboBoxAllowedDisplaysMaxNumber_SelectedIndexChanged(object sender, EventArgs e)
-        {
-            SEBSettings.intArrayCurrent[SEBSettings.ValAllowedDisplaysMaxNumber] = comboBoxAllowedDisplaysMaxNumber.SelectedIndex;
-            SEBSettings.strArrayCurrent[SEBSettings.ValAllowedDisplaysMaxNumber] = comboBoxAllowedDisplaysMaxNumber.Text;
-            int allowedDisplaysMaxNumber = 1;
-            int.TryParse(comboBoxAllowedDisplaysMaxNumber.Text, out allowedDisplaysMaxNumber);
-            SEBSettings.settingsCurrent[SEBSettings.KeyAllowedDisplaysMaxNumber] = allowedDisplaysMaxNumber;
-        }
+		private void comboBoxAllowedDisplaysMaxNumber_SelectedIndexChanged(object sender, EventArgs e)
+		{
+			SEBSettings.intArrayCurrent[SEBSettings.ValAllowedDisplaysMaxNumber] = comboBoxAllowedDisplaysMaxNumber.SelectedIndex;
+			SEBSettings.strArrayCurrent[SEBSettings.ValAllowedDisplaysMaxNumber] = comboBoxAllowedDisplaysMaxNumber.Text;
+			int allowedDisplaysMaxNumber = 1;
+			int.TryParse(comboBoxAllowedDisplaysMaxNumber.Text, out allowedDisplaysMaxNumber);
+			SEBSettings.settingsCurrent[SEBSettings.KeyAllowedDisplaysMaxNumber] = allowedDisplaysMaxNumber;
+		}
 
-        private void comboBoxAllowedDisplaysMaxNumber_TextChanged(object sender, EventArgs e)
-        {
-            SEBSettings.intArrayCurrent[SEBSettings.ValAllowedDisplaysMaxNumber] = comboBoxAllowedDisplaysMaxNumber.SelectedIndex;
-            SEBSettings.strArrayCurrent[SEBSettings.ValAllowedDisplaysMaxNumber] = comboBoxAllowedDisplaysMaxNumber.Text;
-            int allowedDisplaysMaxNumber = 1;
-            int.TryParse(comboBoxAllowedDisplaysMaxNumber.Text, out allowedDisplaysMaxNumber);
-            SEBSettings.settingsCurrent[SEBSettings.KeyAllowedDisplaysMaxNumber] = allowedDisplaysMaxNumber;
-        }
+		private void comboBoxAllowedDisplaysMaxNumber_TextChanged(object sender, EventArgs e)
+		{
+			SEBSettings.intArrayCurrent[SEBSettings.ValAllowedDisplaysMaxNumber] = comboBoxAllowedDisplaysMaxNumber.SelectedIndex;
+			SEBSettings.strArrayCurrent[SEBSettings.ValAllowedDisplaysMaxNumber] = comboBoxAllowedDisplaysMaxNumber.Text;
+			int allowedDisplaysMaxNumber = 1;
+			int.TryParse(comboBoxAllowedDisplaysMaxNumber.Text, out allowedDisplaysMaxNumber);
+			SEBSettings.settingsCurrent[SEBSettings.KeyAllowedDisplaysMaxNumber] = allowedDisplaysMaxNumber;
+		}
 
 
-        // ****************
-        // Group "Registry"
-        // ****************
+		// ****************
+		// Group "Registry"
+		// ****************
 
 
 
-        // ******************
-        // Group "Inside SEB"
-        // ******************
-        private void checkBoxInsideSebEnableSwitchUser_CheckedChanged(object sender, EventArgs e)
+		// ******************
+		// Group "Inside SEB"
+		// ******************
+		private void checkBoxInsideSebEnableSwitchUser_CheckedChanged(object sender, EventArgs e)
 		{
 			SEBSettings.settingsCurrent[SEBSettings.KeyInsideSebEnableSwitchUser] = checkBoxInsideSebEnableSwitchUser.Checked;
 		}
@@ -4249,7 +4268,7 @@ namespace SebWindowsConfig
 			if (!checkBoxEnableZoomPage.Checked && !checkBoxEnableZoomText.Checked)
 			{
 				groupBoxZoomMode.Enabled = false;
-			} 
+			}
 			else if (checkBoxEnableZoomPage.Checked && !checkBoxEnableZoomText.Checked)
 			{
 				groupBoxZoomMode.Enabled = true;
@@ -4384,7 +4403,7 @@ namespace SebWindowsConfig
 
 		private void SebWindowsConfigForm_DragDrop(object sender, DragEventArgs e)
 		{
-			string[] files = (string[])e.Data.GetData(DataFormats.FileDrop);
+			string[] files = (string[]) e.Data.GetData(DataFormats.FileDrop);
 			if (files.Length > 0)
 			{
 				string filePath = files[0];
@@ -4399,7 +4418,7 @@ namespace SebWindowsConfig
 
 		private void SebWindowsConfigForm_DragEnter(object sender, DragEventArgs e)
 		{
-			if (e.Data.GetDataPresent(DataFormats.FileDrop)) 
+			if (e.Data.GetDataPresent(DataFormats.FileDrop))
 				e.Effect = DragDropEffects.Copy;
 			else
 				e.Effect = DragDropEffects.None;
@@ -4411,10 +4430,10 @@ namespace SebWindowsConfig
 			{
 				e.Cancel = true;
 			}
-            checkBoxEnableURLFilter.Checked = (bool)SEBSettings.settingsCurrent[SEBSettings.KeyURLFilterEnable];
-        }
+			checkBoxEnableURLFilter.Checked = (bool) SEBSettings.settingsCurrent[SEBSettings.KeyURLFilterEnable];
+		}
 
-        private void label1_Click(object sender, EventArgs e)
+		private void label1_Click(object sender, EventArgs e)
 		{
 
 		}
@@ -4437,18 +4456,18 @@ namespace SebWindowsConfig
 
 		private void AddResourceToStartupResourceDropdown(DictObj resource)
 		{
-			if (!string.IsNullOrEmpty((string)resource[SEBSettings.KeyAdditionalResourcesResourceData]))
+			if (!string.IsNullOrEmpty((string) resource[SEBSettings.KeyAdditionalResourcesResourceData]))
 			{
 				//check if SEB is the launcher
 				//if (
 				//    (string)((DictObj)((ListObj)SEBSettings.settingsCurrent[SEBSettings.KeyPermittedProcesses])[
 				//        (int)resource[SEBSettings.KeyAdditionalResourcesResourceDataLauncher]])[SEBSettings.KeyTitle] ==
 				//    "SEB")
-				if ((int)resource[SEBSettings.KeyAdditionalResourcesResourceDataLauncher] == 0)
+				if ((int) resource[SEBSettings.KeyAdditionalResourcesResourceDataLauncher] == 0)
 				{
 					comboBoxAdditionalResourceStartUrl.Items.Add(
-					new KeyValuePair<string, string>((string)resource[SEBSettings.KeyAdditionalResourcesIdentifier],
-						(string)resource[SEBSettings.KeyAdditionalResourcesTitle]));
+					new KeyValuePair<string, string>((string) resource[SEBSettings.KeyAdditionalResourcesIdentifier],
+						(string) resource[SEBSettings.KeyAdditionalResourcesTitle]));
 				}
 			}
 		}
diff --git a/SebWindowsConfig/SebWindowsConfigGUIManagement.cs b/SebWindowsConfig/SebWindowsConfigGUIManagement.cs
index 3b60971b..55741b9a 100644
--- a/SebWindowsConfig/SebWindowsConfigGUIManagement.cs
+++ b/SebWindowsConfig/SebWindowsConfigGUIManagement.cs
@@ -16,7 +16,7 @@ namespace SebWindowsConfig
 
 		// Boolean values
 		const int IntFalse = 0;
-		const int IntTrue  = 1;
+		const int IntTrue = 1;
 
 		// Operating systems
 		const int IntOSX = 0;
@@ -28,29 +28,29 @@ namespace SebWindowsConfig
 		// URL filter actions
 		const int IntBlock = 0;
 		const int IntAllow = 1;
-		const int IntSkip  = 2;
-		const int IntAnd   = 3;
-		const int IntOr    = 4;
+		const int IntSkip = 2;
+		const int IntAnd = 3;
+		const int IntOr = 4;
 
 		const String StringBlock = "block";
 		const String StringAllow = "allow";
-		const String StringSkip  = "skip";
-		const String StringAnd   = "and";
-		const String StringOr    = "or";
+		const String StringSkip = "skip";
+		const String StringAnd = "and";
+		const String StringOr = "or";
 
 		// URL filter table operations
 		const String StringCollapse = "Collapse";
-		const String StringExpand   = "Expand";
+		const String StringExpand = "Expand";
 
 		const int IntOperationInsert = 0;
-		const int IntOperationPaste  = 1;
+		const int IntOperationPaste = 1;
 		const int IntOperationDelete = 2;
-		const int IntOperationCut    = 3;
-		const int IntOperationCopy   = 4;
+		const int IntOperationCut = 3;
+		const int IntOperationCopy = 4;
 
 		const int IntLocationBefore = 0;
-		const int IntLocationAfter  = 1;
-		const int IntLocationAt     = 2;
+		const int IntLocationAfter = 1;
+		const int IntLocationAt = 2;
 
 		// Embedded Certificate types
 		const int IntSSLClientCertificate = 0;
@@ -64,85 +64,85 @@ namespace SebWindowsConfig
 		const String StringSSLDebugCertificate = "Debug Certificate";
 
 		// Proxy Protocol types
-		const int IntProxyAutoDiscovery     = 0;
+		const int IntProxyAutoDiscovery = 0;
 		const int IntProxyAutoConfiguration = 1;
-		const int IntProxyHTTP              = 2;
-		const int IntProxyHTTPS             = 3;
-		const int IntProxyFTP               = 4;
-		const int IntProxySOCKS             = 5;
-		const int IntProxyRTSP              = 6;
+		const int IntProxyHTTP = 2;
+		const int IntProxyHTTPS = 3;
+		const int IntProxyFTP = 4;
+		const int IntProxySOCKS = 5;
+		const int IntProxyRTSP = 6;
 		const int NumProxyProtocols = 7;
 
 		// Captions for table dataGridViewProxyProtocols
-		const String StringTableCaptionProxyAutoDiscovery     = "Auto Proxy Discovery";
+		const String StringTableCaptionProxyAutoDiscovery = "Auto Proxy Discovery";
 		const String StringTableCaptionProxyAutoConfiguration = "Automatic Proxy Configuration";
-		const String StringTableCaptionProxyHTTP              = "Web Proxy (HTTP)";
-		const String StringTableCaptionProxyHTTPS             = "Secure Web Proxy (HTTPS)";
-		const String StringTableCaptionProxyFTP               = "FTP Proxy";
-		const String StringTableCaptionProxySOCKS             = "SOCKS Proxy";
-		const String StringTableCaptionProxyRTSP              = "Streaming Proxy (RTSP)";
+		const String StringTableCaptionProxyHTTP = "Web Proxy (HTTP)";
+		const String StringTableCaptionProxyHTTPS = "Secure Web Proxy (HTTPS)";
+		const String StringTableCaptionProxyFTP = "FTP Proxy";
+		const String StringTableCaptionProxySOCKS = "SOCKS Proxy";
+		const String StringTableCaptionProxyRTSP = "Streaming Proxy (RTSP)";
 
 		// Texts for labelProxyServerHost
-		const String StringServerLabelProxyAutoDiscovery     = "";
+		const String StringServerLabelProxyAutoDiscovery = "";
 		const String StringServerLabelProxyAutoConfiguration = "";
-		const String StringServerLabelProxyHTTP              = "Web";
-		const String StringServerLabelProxyHTTPS             = "Secure Web";
-		const String StringServerLabelProxyFTP               = "FTP";
-		const String StringServerLabelProxySOCKS             = "SOCKS";
-		const String StringServerLabelProxyRTSP              = "Streaming";
+		const String StringServerLabelProxyHTTP = "Web";
+		const String StringServerLabelProxyHTTPS = "Secure Web";
+		const String StringServerLabelProxyFTP = "FTP";
+		const String StringServerLabelProxySOCKS = "SOCKS";
+		const String StringServerLabelProxyRTSP = "Streaming";
 
 		// Permitted and Prohibited Processes table columns (0,1,2,3).
 		// Permitted  Processes: Active, OS, Executable, Title
 		// Prohibited Processes: Active, OS, Executable, Description
 		// Process    Arguments: ArgumentActive, ArgumentParameter
-		const int IntColumnProcessActive      = 0;
-		const int IntColumnProcessOS          = 1;
-		const int IntColumnProcessExecutable  = 2;
-		const int IntColumnProcessTitle       = 3;
+		const int IntColumnProcessActive = 0;
+		const int IntColumnProcessOS = 1;
+		const int IntColumnProcessExecutable = 2;
+		const int IntColumnProcessTitle = 3;
 		const int IntColumnProcessDescription = 3;
 
 		const int IntColumnProcessArgument = 1;
-/*
-		const String StringColumnProcessActive      = "Active";
-		const String StringColumnProcessOS          = "OS";
-		const String StringColumnProcessExecutable  = "Executable";
-		const String StringColumnProcessTitle       = "Title";
-		const String StringColumnProcessDescription = "Description";
+		/*
+				const String StringColumnProcessActive      = "Active";
+				const String StringColumnProcessOS          = "OS";
+				const String StringColumnProcessExecutable  = "Executable";
+				const String StringColumnProcessTitle       = "Title";
+				const String StringColumnProcessDescription = "Description";
 
-		const String StringColumnProcessArgument = "Argument";
-*/
+				const String StringColumnProcessArgument = "Argument";
+		*/
 		// URL Filter Rules table columns (0,1,2,3,4).
 		// Show, Active, Regex, Expression, Action
-		const int IntColumnURLFilterRuleShow       = 0;
-		const int IntColumnURLFilterRuleActive     = 1;
-		const int IntColumnURLFilterRuleRegex      = 2;
+		const int IntColumnURLFilterRuleShow = 0;
+		const int IntColumnURLFilterRuleActive = 1;
+		const int IntColumnURLFilterRuleRegex = 2;
 		const int IntColumnURLFilterRuleExpression = 3;
-		const int IntColumnURLFilterRuleAction     = 4;
-/*
-		const String StringColumnURLFilterRuleShow       = "Show";
-		const String StringColumnURLFilterRuleActive     = "Active";
-		const String StringColumnURLFilterRuleRegex      = "Regex";
-		const String StringColumnURLFilterRuleExpression = "Expression";
-		const String StringColumnURLFilterRuleAction     = "Action";
-*/
+		const int IntColumnURLFilterRuleAction = 4;
+		/*
+				const String StringColumnURLFilterRuleShow       = "Show";
+				const String StringColumnURLFilterRuleActive     = "Active";
+				const String StringColumnURLFilterRuleRegex      = "Regex";
+				const String StringColumnURLFilterRuleExpression = "Expression";
+				const String StringColumnURLFilterRuleAction     = "Action";
+		*/
 		// Embedded Certificates table columns (0,1).
 		// Type, Name
-		const int       IntColumnCertificateType = 0;
-		const int       IntColumnCertificateName = 1;
-	  //const String StringColumnCertificateType = "Type";
-	  //const String StringColumnCertificateName = "Name";
+		const int IntColumnCertificateType = 0;
+		const int IntColumnCertificateName = 1;
+		//const String StringColumnCertificateType = "Type";
+		//const String StringColumnCertificateName = "Name";
 
 		// Proxy Protocols table columns (0,1).
 		// Enable, Type
-		const int       IntColumnProxyProtocolEnable = 0;
-		const int       IntColumnProxyProtocolType   = 1;
-	  //const String StringColumnProxyProtocolEnable = "Enable";
-	  //const String StringColumnProxyProtocolType   = "Type";
+		const int IntColumnProxyProtocolEnable = 0;
+		const int IntColumnProxyProtocolType = 1;
+		//const String StringColumnProxyProtocolEnable = "Enable";
+		//const String StringColumnProxyProtocolType   = "Type";
 
 		// Bypassed Proxies table column (0).
 		// DomainHostPort
-		const int       IntColumnDomainHostPort = 0;
-	  //const String StringColumnDomainHostPort = "Domain, Host, Port";
+		const int IntColumnDomainHostPort = 0;
+		//const String StringColumnDomainHostPort = "Domain, Host, Port";
 
 
 
@@ -151,24 +151,24 @@ namespace SebWindowsConfig
 		// ********************************
 
 		// Prevent double events from switching to false process index
-		static Boolean ignoreCellEventPermittedProcessesActive     = false;
-		static Boolean ignoreCellEventPermittedProcessesOS         = false;
+		static Boolean ignoreCellEventPermittedProcessesActive = false;
+		static Boolean ignoreCellEventPermittedProcessesOS = false;
 		static Boolean ignoreCellEventPermittedProcessesExecutable = false;
-		static Boolean ignoreCellEventPermittedProcessesTitle      = false;
+		static Boolean ignoreCellEventPermittedProcessesTitle = false;
 
-		static Boolean ignoreCellEventProhibitedProcessesActive      = false;
-		static Boolean ignoreCellEventProhibitedProcessesOS          = false;
-		static Boolean ignoreCellEventProhibitedProcessesExecutable  = false;
+		static Boolean ignoreCellEventProhibitedProcessesActive = false;
+		static Boolean ignoreCellEventProhibitedProcessesOS = false;
+		static Boolean ignoreCellEventProhibitedProcessesExecutable = false;
 		static Boolean ignoreCellEventProhibitedProcessesDescription = false;
 
-		static Boolean ignoreWidgetEventPermittedProcessesActive     = false;
-		static Boolean ignoreWidgetEventPermittedProcessesOS         = false;
+		static Boolean ignoreWidgetEventPermittedProcessesActive = false;
+		static Boolean ignoreWidgetEventPermittedProcessesOS = false;
 		static Boolean ignoreWidgetEventPermittedProcessesExecutable = false;
-		static Boolean ignoreWidgetEventPermittedProcessesTitle      = false;
+		static Boolean ignoreWidgetEventPermittedProcessesTitle = false;
 
-		static Boolean ignoreWidgetEventProhibitedProcessesActive      = false;
-		static Boolean ignoreWidgetEventProhibitedProcessesOS          = false;
-		static Boolean ignoreWidgetEventProhibitedProcessesExecutable  = false;
+		static Boolean ignoreWidgetEventProhibitedProcessesActive = false;
+		static Boolean ignoreWidgetEventProhibitedProcessesOS = false;
+		static Boolean ignoreWidgetEventProhibitedProcessesExecutable = false;
 		static Boolean ignoreWidgetEventProhibitedProcessesDescription = false;
 
 		// The current SEB configuration file
@@ -182,39 +182,39 @@ namespace SebWindowsConfig
 		// Strings for encryption identities (KeyChain, Certificate Store)
 		//static ArrayList chooseIdentityStringArrayList = new ArrayList();
 		//static String[]  chooseIdentityStringArray = new String[1];
-		static List<String> StringCryptoIdentity = new List<String>();
+		static readonly List<String> StringCryptoIdentity = new List<String>();
 		static ArrayList certificateReferences = new ArrayList();
 		static ArrayList certificateSSLReferences = new ArrayList();
 
 		// Entries of ListBoxes
-	  //static    Byte[]    ByteArrayExamKeySalt          = new Byte[] {};
-		static  String[]  StringCryptoIdentityArray;
-		static  String[]  StringSebPurpose                = new  String[2];
-		static  String[]  StringSebMode                   = new  String[2];
-		static  String[]  StringBrowserViewMode           = new  String[2];
-		static  String[]  StringWindowWidth               = new  String[5];
-		static  String[]  StringWindowHeight              = new  String[5];
-		static  String[]  StringWindowPositioning         = new  String[3];
-		static  String[]  StringTaskBarHeight             = new  String[3];
-		static  String[]  StringPolicyLinkOpening         = new  String[3];
-		static  String[]  StringPolicyFileUpload          = new  String[3];
-		static  String[]  StringPolicyProxySettings       = new  String[2];
-		static  String[]  StringPolicySebService          = new  String[3];
-		static  String[]  StringFunctionKey               = new  String[12];
-		static  String[]  StringActive                    = new  String[2];
-		static  String[]  StringOS                        = new  String[2];
-		static  String[]  StringAction                    = new  String[5];
-		static  String[]  StringCertificateType           = new  String[4];
-		static  String[]  StringProxyProtocolTableCaption = new  String[7];
-		static  String[]  StringProxyProtocolServerLabel  = new  String[7];
-		static Boolean[] BooleanProxyProtocolEnabled      = new Boolean[7];
+		//static    Byte[]    ByteArrayExamKeySalt          = new Byte[] {};
+		static String[] StringCryptoIdentityArray;
+		static readonly String[] StringSebPurpose = new String[2];
+		static readonly String[] StringSebMode = new String[2];
+		static readonly String[] StringBrowserViewMode = new String[2];
+		static readonly String[] StringWindowWidth = new String[5];
+		static readonly String[] StringWindowHeight = new String[5];
+		static readonly String[] StringWindowPositioning = new String[3];
+		static readonly String[] StringTaskBarHeight = new String[3];
+		static readonly String[] StringPolicyLinkOpening = new String[3];
+		static readonly String[] StringPolicyFileUpload = new String[3];
+		static readonly String[] StringPolicyProxySettings = new String[2];
+		static readonly String[] StringPolicySebService = new String[3];
+		static readonly String[] StringFunctionKey = new String[12];
+		static readonly String[] StringActive = new String[2];
+		static readonly String[] StringOS = new String[2];
+		static readonly String[] StringAction = new String[5];
+		static readonly String[] StringCertificateType = new String[4];
+		static readonly String[] StringProxyProtocolTableCaption = new String[7];
+		static readonly String[] StringProxyProtocolServerLabel = new String[7];
+		static readonly Boolean[] BooleanProxyProtocolEnabled = new Boolean[7];
 
-		static  String[]  KeyProxyProtocolType      = new  String[7];
-		static  String[]  KeyProxyProtocolAttribute = new  String[7];
-		static  String[]  KeyProxyProtocolEnable    = new  String[7];
+		static readonly String[] KeyProxyProtocolType = new String[7];
+		static readonly String[] KeyProxyProtocolAttribute = new String[7];
+		static readonly String[] KeyProxyProtocolEnable = new String[7];
 
-		static String[] StringMinMacOSVersion = new String[11];
-		static String[] StringAllowedDisplaysMaxNumber = new String[3];
+		static readonly String[] StringMinMacOSVersion = new String[11];
+		static readonly String[] StringAllowedDisplaysMaxNumber = new String[3];
 
 		// ***********************
 		// Methods for GUI widgets
@@ -226,10 +226,10 @@ namespace SebWindowsConfig
 		private void InitialiseGlobalVariablesForGUIWidgets()
 		{
 
-			SEBSettings.   permittedProcessIndex = 0;
-			SEBSettings.  prohibitedProcessIndex = 0;
+			SEBSettings.permittedProcessIndex = 0;
+			SEBSettings.prohibitedProcessIndex = 0;
 			SEBSettings.embeddedCertificateIndex = 0;
-			SEBSettings.      bypassedProxyIndex = 0;
+			SEBSettings.bypassedProxyIndex = 0;
 
 			// Define the strings for the Encryption Identity
 			StringCryptoIdentity.Add("none");
@@ -302,7 +302,7 @@ namespace SebWindowsConfig
 
 			// Define the strings for the Permitted and Prohibited Processes
 			StringActive[IntFalse] = "false";
-			StringActive[IntTrue ] = "true";
+			StringActive[IntTrue] = "true";
 
 			StringOS[IntOSX] = StringOSX;
 			StringOS[IntWin] = StringWin;
@@ -310,9 +310,9 @@ namespace SebWindowsConfig
 			// Define the strings for the URL Filter Rule Actions
 			StringAction[IntBlock] = StringBlock;
 			StringAction[IntAllow] = StringAllow;
-			StringAction[IntSkip ] = StringSkip;
-			StringAction[IntAnd  ] = StringAnd;
-			StringAction[IntOr   ] = StringOr;
+			StringAction[IntSkip] = StringSkip;
+			StringAction[IntAnd] = StringAnd;
+			StringAction[IntOr] = StringOr;
 
 			// Define the strings for the Embedded Certificates
 			StringCertificateType[IntSSLClientCertificate] = StringSSLServerCertificate;
@@ -397,6 +397,8 @@ namespace SebWindowsConfig
 		// *******************************************************
 		private void InitialiseGUIWidgets()
 		{
+			tabControlSebWindowsConfig.Dock = DockStyle.Fill;
+
 			// At program start, the local client settings configuration file is loaded
 			currentDireSebConfigFile = SEBClientInfo.SebClientSettingsAppDataDirectory;
 			currentFileSebConfigFile = SEBClientInfo.SEB_CLIENT_CONFIG;
@@ -405,8 +407,8 @@ namespace SebWindowsConfig
 
 			openFileDialogSebConfigFile.InitialDirectory = Environment.CurrentDirectory;
 			saveFileDialogSebConfigFile.InitialDirectory = Environment.CurrentDirectory;
-		  //folderBrowserDialogDownloadDirectoryWin.RootFolder = Environment.SpecialFolder.DesktopDirectory;
-		  //folderBrowserDialogLogDirectoryWin     .RootFolder = Environment.SpecialFolder.MyDocuments;
+			//folderBrowserDialogDownloadDirectoryWin.RootFolder = Environment.SpecialFolder.DesktopDirectory;
+			//folderBrowserDialogLogDirectoryWin     .RootFolder = Environment.SpecialFolder.MyDocuments;
 
 			// Assign the fixed entries to the ListBoxes and ComboBoxes
 			listBoxExitKey1.Items.AddRange(StringFunctionKey);
@@ -432,13 +434,13 @@ namespace SebWindowsConfig
 			// At program start, no file has yet been opened, so revert is not possible
 			buttonRevertToLastOpened.Enabled = false;
 
-			comboBoxMainBrowserWindowWidth      .Items.AddRange(StringWindowWidth);
-			comboBoxMainBrowserWindowHeight     .Items.AddRange(StringWindowHeight);
-			 listBoxMainBrowserWindowPositioning.Items.AddRange(StringWindowPositioning);
+			comboBoxMainBrowserWindowWidth.Items.AddRange(StringWindowWidth);
+			comboBoxMainBrowserWindowHeight.Items.AddRange(StringWindowHeight);
+			listBoxMainBrowserWindowPositioning.Items.AddRange(StringWindowPositioning);
 
-			comboBoxNewBrowserWindowWidth       .Items.AddRange(StringWindowWidth);
-			comboBoxNewBrowserWindowHeight      .Items.AddRange(StringWindowHeight);
-			 listBoxNewBrowserWindowPositioning .Items.AddRange(StringWindowPositioning);
+			comboBoxNewBrowserWindowWidth.Items.AddRange(StringWindowWidth);
+			comboBoxNewBrowserWindowHeight.Items.AddRange(StringWindowHeight);
+			listBoxNewBrowserWindowPositioning.Items.AddRange(StringWindowPositioning);
 
 			comboBoxUrlPolicyMainWindow.Items.Add("Never");
 			comboBoxUrlPolicyMainWindow.Items.Add("OnlyLoadError");
@@ -452,10 +454,10 @@ namespace SebWindowsConfig
 
 			comboBoxTaskBarHeight.Items.AddRange(StringTaskBarHeight);
 
-			 listBoxOpenLinksHTML.Items.AddRange(StringPolicyLinkOpening);
+			listBoxOpenLinksHTML.Items.AddRange(StringPolicyLinkOpening);
 
-			 listBoxChooseFileToUploadPolicy.Items.AddRange(StringPolicyFileUpload);
-			 listBoxSebServicePolicy        .Items.AddRange(StringPolicySebService);
+			listBoxChooseFileToUploadPolicy.Items.AddRange(StringPolicyFileUpload);
+			listBoxSebServicePolicy.Items.AddRange(StringPolicySebService);
 			comboBoxMinMacOSVersion.Items.AddRange(StringMinMacOSVersion);
 			comboBoxAllowedDisplaysMaxNumber.Items.AddRange(StringAllowedDisplaysMaxNumber);
 
@@ -464,113 +466,113 @@ namespace SebWindowsConfig
 			// Set "AllowUserToAddRows" to false, to avoid an initial empty first row
 			// Set "RowHeadersVisible"  to false, to avoid an initial empty first column
 			// Set "FullRowSelect"      to true , to select whole row when clicking on a cell
-			dataGridViewPermittedProcesses.Enabled            = false;
-			dataGridViewPermittedProcesses.ReadOnly           = false;
+			dataGridViewPermittedProcesses.Enabled = false;
+			dataGridViewPermittedProcesses.ReadOnly = false;
 			dataGridViewPermittedProcesses.AllowUserToAddRows = false;
-			dataGridViewPermittedProcesses.RowHeadersVisible  = false;
-			dataGridViewPermittedProcesses.MultiSelect        = false;
-			dataGridViewPermittedProcesses.SelectionMode      = DataGridViewSelectionMode.FullRowSelect;
+			dataGridViewPermittedProcesses.RowHeadersVisible = false;
+			dataGridViewPermittedProcesses.MultiSelect = false;
+			dataGridViewPermittedProcesses.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
 
-			dataGridViewPermittedProcessArguments.Enabled            = false;
-			dataGridViewPermittedProcessArguments.ReadOnly           = false;
+			dataGridViewPermittedProcessArguments.Enabled = false;
+			dataGridViewPermittedProcessArguments.ReadOnly = false;
 			dataGridViewPermittedProcessArguments.AllowUserToAddRows = false;
-			dataGridViewPermittedProcessArguments.RowHeadersVisible  = false;
-			dataGridViewPermittedProcessArguments.MultiSelect        = false;
-			dataGridViewPermittedProcessArguments.SelectionMode      = DataGridViewSelectionMode.FullRowSelect;
+			dataGridViewPermittedProcessArguments.RowHeadersVisible = false;
+			dataGridViewPermittedProcessArguments.MultiSelect = false;
+			dataGridViewPermittedProcessArguments.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
 
-			dataGridViewProhibitedProcesses.Enabled            = false;
-			dataGridViewProhibitedProcesses.ReadOnly           = false;
+			dataGridViewProhibitedProcesses.Enabled = false;
+			dataGridViewProhibitedProcesses.ReadOnly = false;
 			dataGridViewProhibitedProcesses.AllowUserToAddRows = false;
-			dataGridViewProhibitedProcesses.RowHeadersVisible  = false;
-			dataGridViewProhibitedProcesses.MultiSelect        = false;
-			dataGridViewProhibitedProcesses.SelectionMode      = DataGridViewSelectionMode.FullRowSelect;
+			dataGridViewProhibitedProcesses.RowHeadersVisible = false;
+			dataGridViewProhibitedProcesses.MultiSelect = false;
+			dataGridViewProhibitedProcesses.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
 
-			dataGridViewEmbeddedCertificates.Enabled            = false;
-			dataGridViewEmbeddedCertificates.ReadOnly           = false;
+			dataGridViewEmbeddedCertificates.Enabled = false;
+			dataGridViewEmbeddedCertificates.ReadOnly = false;
 			dataGridViewEmbeddedCertificates.AllowUserToAddRows = false;
-			dataGridViewEmbeddedCertificates.RowHeadersVisible  = false;
-			dataGridViewEmbeddedCertificates.MultiSelect        = false;
-			dataGridViewEmbeddedCertificates.SelectionMode      = DataGridViewSelectionMode.FullRowSelect;
+			dataGridViewEmbeddedCertificates.RowHeadersVisible = false;
+			dataGridViewEmbeddedCertificates.MultiSelect = false;
+			dataGridViewEmbeddedCertificates.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
 
-			dataGridViewProxyProtocols.Enabled            = false;
-			dataGridViewProxyProtocols.ReadOnly           = false;
+			dataGridViewProxyProtocols.Enabled = false;
+			dataGridViewProxyProtocols.ReadOnly = false;
 			dataGridViewProxyProtocols.AllowUserToAddRows = false;
-			dataGridViewProxyProtocols.RowHeadersVisible  = false;
-			dataGridViewProxyProtocols.MultiSelect        = false;
-			dataGridViewProxyProtocols.SelectionMode      = DataGridViewSelectionMode.FullRowSelect;
+			dataGridViewProxyProtocols.RowHeadersVisible = false;
+			dataGridViewProxyProtocols.MultiSelect = false;
+			dataGridViewProxyProtocols.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
 
 
-			dataGridViewPermittedProcesses.Columns[IntColumnProcessActive    ].ValueType = typeof(Boolean);
-			dataGridViewPermittedProcesses.Columns[IntColumnProcessOS        ].ValueType = typeof(String);
+			dataGridViewPermittedProcesses.Columns[IntColumnProcessActive].ValueType = typeof(Boolean);
+			dataGridViewPermittedProcesses.Columns[IntColumnProcessOS].ValueType = typeof(String);
 			dataGridViewPermittedProcesses.Columns[IntColumnProcessExecutable].ValueType = typeof(String);
-			dataGridViewPermittedProcesses.Columns[IntColumnProcessTitle     ].ValueType = typeof(String);
+			dataGridViewPermittedProcesses.Columns[IntColumnProcessTitle].ValueType = typeof(String);
 
-			dataGridViewPermittedProcessArguments.Columns[IntColumnProcessActive  ].ValueType = typeof(Boolean);
+			dataGridViewPermittedProcessArguments.Columns[IntColumnProcessActive].ValueType = typeof(Boolean);
 			dataGridViewPermittedProcessArguments.Columns[IntColumnProcessArgument].ValueType = typeof(String);
 
-			dataGridViewProhibitedProcesses.Columns[IntColumnProcessActive     ].ValueType = typeof(Boolean);
-			dataGridViewProhibitedProcesses.Columns[IntColumnProcessOS         ].ValueType = typeof(String);
-			dataGridViewProhibitedProcesses.Columns[IntColumnProcessExecutable ].ValueType = typeof(String);
+			dataGridViewProhibitedProcesses.Columns[IntColumnProcessActive].ValueType = typeof(Boolean);
+			dataGridViewProhibitedProcesses.Columns[IntColumnProcessOS].ValueType = typeof(String);
+			dataGridViewProhibitedProcesses.Columns[IntColumnProcessExecutable].ValueType = typeof(String);
 			dataGridViewProhibitedProcesses.Columns[IntColumnProcessDescription].ValueType = typeof(String);
 
 			dataGridViewEmbeddedCertificates.Columns[IntColumnCertificateType].ValueType = typeof(String);
 			dataGridViewEmbeddedCertificates.Columns[IntColumnCertificateName].ValueType = typeof(String);
 
 			dataGridViewProxyProtocols.Columns[IntColumnProxyProtocolEnable].ValueType = typeof(Boolean);
-			dataGridViewProxyProtocols.Columns[IntColumnProxyProtocolType  ].ValueType = typeof(String);
+			dataGridViewProxyProtocols.Columns[IntColumnProxyProtocolType].ValueType = typeof(String);
 
 			dataGridViewProxyProtocols.Columns[IntColumnProxyProtocolEnable].ReadOnly = false;
-			dataGridViewProxyProtocols.Columns[IntColumnProxyProtocolType  ].ReadOnly = true;
+			dataGridViewProxyProtocols.Columns[IntColumnProxyProtocolType].ReadOnly = true;
 
 			// Assign the column names to the DataGridViews
-/*
-			dataGridViewPermittedProcesses.Columns.Add(StringColumnActive    , StringColumnActive);
-			dataGridViewPermittedProcesses.Columns.Add(StringColumnOS        , StringColumnOS);
-			dataGridViewPermittedProcesses.Columns.Add(StringColumnExecutable, StringColumnExecutable);
-			dataGridViewPermittedProcesses.Columns.Add(StringColumnTitle     , StringColumnTitle);
+			/*
+						dataGridViewPermittedProcesses.Columns.Add(StringColumnActive    , StringColumnActive);
+						dataGridViewPermittedProcesses.Columns.Add(StringColumnOS        , StringColumnOS);
+						dataGridViewPermittedProcesses.Columns.Add(StringColumnExecutable, StringColumnExecutable);
+						dataGridViewPermittedProcesses.Columns.Add(StringColumnTitle     , StringColumnTitle);
 
-			dataGridViewPermittedProcessArguments.Columns.Add(StringColumnActive  , StringColumnActive);
-			dataGridViewPermittedProcessArguments.Columns.Add(StringColumnArgument, StringColumnArgument);
+						dataGridViewPermittedProcessArguments.Columns.Add(StringColumnActive  , StringColumnActive);
+						dataGridViewPermittedProcessArguments.Columns.Add(StringColumnArgument, StringColumnArgument);
 
-			dataGridViewProhibitedProcesses.Columns.Add(StringColumnActive     , StringColumnActive);
-			dataGridViewProhibitedProcesses.Columns.Add(StringColumnOS         , StringColumnOS);
-			dataGridViewProhibitedProcesses.Columns.Add(StringColumnExecutable , StringColumnExecutable);
-			dataGridViewProhibitedProcesses.Columns.Add(StringColumnDescription, StringColumnDescription);
+						dataGridViewProhibitedProcesses.Columns.Add(StringColumnActive     , StringColumnActive);
+						dataGridViewProhibitedProcesses.Columns.Add(StringColumnOS         , StringColumnOS);
+						dataGridViewProhibitedProcesses.Columns.Add(StringColumnExecutable , StringColumnExecutable);
+						dataGridViewProhibitedProcesses.Columns.Add(StringColumnDescription, StringColumnDescription);
 
-			dataGridViewURLFilterRules.Columns.Add(StringColumnURLFilterRuleShow      , StringColumnURLFilterRuleShow);
-			dataGridViewURLFilterRules.Columns.Add(StringColumnURLFilterRuleActive    , StringColumnURLFilterRuleActive);
-			dataGridViewURLFilterRules.Columns.Add(StringColumnURLFilterRuleRegex     , StringColumnURLFilterRuleRegex);
-			dataGridViewURLFilterRules.Columns.Add(StringColumnURLFilterRuleExpression, StringColumnURLFilterRuleExpression);
-			dataGridViewURLFilterRules.Columns.Add(StringColumnURLFilterRuleAction    , StringColumnURLFilterRuleAction);
+						dataGridViewURLFilterRules.Columns.Add(StringColumnURLFilterRuleShow      , StringColumnURLFilterRuleShow);
+						dataGridViewURLFilterRules.Columns.Add(StringColumnURLFilterRuleActive    , StringColumnURLFilterRuleActive);
+						dataGridViewURLFilterRules.Columns.Add(StringColumnURLFilterRuleRegex     , StringColumnURLFilterRuleRegex);
+						dataGridViewURLFilterRules.Columns.Add(StringColumnURLFilterRuleExpression, StringColumnURLFilterRuleExpression);
+						dataGridViewURLFilterRules.Columns.Add(StringColumnURLFilterRuleAction    , StringColumnURLFilterRuleAction);
 
-			dataGridViewEmbeddedCertificates.Columns.Add(StringColumnCertificateType, StringColumnCertificateType);
-			dataGridViewEmbeddedCertificates.Columns.Add(StringColumnCertificateName, StringColumnCertificateName);
+						dataGridViewEmbeddedCertificates.Columns.Add(StringColumnCertificateType, StringColumnCertificateType);
+						dataGridViewEmbeddedCertificates.Columns.Add(StringColumnCertificateName, StringColumnCertificateName);
 
-			dataGridViewProxyProtocols.Columns.Add(StringColumnProxyProtocolEnable, StringColumnProxyProtocolEnable);
-			dataGridViewProxyProtocols.Columns.Add(StringColumnProxyProtocolType  , StringColumnProxyProtocolType);
+						dataGridViewProxyProtocols.Columns.Add(StringColumnProxyProtocolEnable, StringColumnProxyProtocolEnable);
+						dataGridViewProxyProtocols.Columns.Add(StringColumnProxyProtocolType  , StringColumnProxyProtocolType);
 
-			dataGridViewBypassedProxies.Columns.Add(StringColumnDomainHostPort, StringColumnDomainHostPort);
-*/
-			groupBoxPermittedProcess .Enabled = false;
+						dataGridViewBypassedProxies.Columns.Add(StringColumnDomainHostPort, StringColumnDomainHostPort);
+			*/
+			groupBoxPermittedProcess.Enabled = false;
 			groupBoxProhibitedProcess.Enabled = false;
 
-			listBoxPermittedProcessOS .Items.AddRange(StringOS);
+			listBoxPermittedProcessOS.Items.AddRange(StringOS);
 			listBoxProhibitedProcessOS.Items.AddRange(StringOS);
 
 			// Auto-resize the columns and cells
-		  //dataGridViewPermittedProcesses  .AutoResizeColumns();
-		  //dataGridViewProhibitedProcesses .AutoResizeColumns();
-		  //dataGridViewURLFilterRules      .AutoResizeColumns();
-		  //dataGridViewEmbeddedCertificates.AutoResizeColumns();
-		  //dataGridViewProxyProtocols      .AutoResizeColumns();
-		  //dataGridViewBypassedProxies     .AutoResizeColumns();
+			//dataGridViewPermittedProcesses  .AutoResizeColumns();
+			//dataGridViewProhibitedProcesses .AutoResizeColumns();
+			//dataGridViewURLFilterRules      .AutoResizeColumns();
+			//dataGridViewEmbeddedCertificates.AutoResizeColumns();
+			//dataGridViewProxyProtocols      .AutoResizeColumns();
+			//dataGridViewBypassedProxies     .AutoResizeColumns();
 
-		  //dataGridViewPermittedProcesses  .AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells);
-		  //dataGridViewProhibitedProcesses .AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells);
-		  //dataGridViewURLFilterRules      .AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells);
-		  //dataGridViewEmbeddedCertificates.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells);
-		  //dataGridViewProxyProtocols      .AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells);
-		  //dataGridViewBypassedProxies     .AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells);
+			//dataGridViewPermittedProcesses  .AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells);
+			//dataGridViewProhibitedProcesses .AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells);
+			//dataGridViewURLFilterRules      .AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells);
+			//dataGridViewEmbeddedCertificates.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells);
+			//dataGridViewProxyProtocols      .AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells);
+			//dataGridViewBypassedProxies     .AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells);
 		}
 
 	} // end of   class     SebWindowsConfigForm
diff --git a/SebWindowsConfig/Utilities/SEBProtectionController.cs b/SebWindowsConfig/Utilities/SEBProtectionController.cs
index 803b18dc..36c40340 100644
--- a/SebWindowsConfig/Utilities/SEBProtectionController.cs
+++ b/SebWindowsConfig/Utilities/SEBProtectionController.cs
@@ -6,6 +6,7 @@ using System.Globalization;
 using System.IO;
 using System.Linq;
 using System.Reflection;
+using System.Runtime.InteropServices;
 using System.Security.Cryptography;
 using System.Security.Cryptography.X509Certificates;
 using System.Text;
@@ -51,6 +52,13 @@ namespace SebWindowsConfig.Utilities
 {
 	public class SEBProtectionController
 	{
+		const string DLL_NAME =
+#if X86
+		"seb_x86.dll";
+#else
+		"seb_x64.dll";
+#endif
+
 		// Prefix
 		private const int PREFIX_LENGTH = 4;
 		private const string PUBLIC_KEY_HASH_MODE = "pkhs";
@@ -64,7 +72,7 @@ namespace SebWindowsConfig.Utilities
 		// RNCryptor non-secret payload (header)
 		// First byte: Data format version. Currently 2.
 		// Second byte: Options, bit 0 - uses password (so currently 1).
-		private static byte[] RNCRYPTOR_HEADER = new byte[] { 0x02, 0x01 };
+		private static readonly byte[] RNCRYPTOR_HEADER = new byte[] { 0x02, 0x01 };
 
 		enum EncryptionT
 		{
@@ -572,22 +580,72 @@ namespace SebWindowsConfig.Utilities
 		/// ----------------------------------------------------------------------------------------
 		public static string ComputeBrowserExamKey()
 		{
+			var browserExamKey = default(string);
+			var configurationKey = ComputeConfigurationKey();
 			var executable = Assembly.GetExecutingAssembly();
 			var certificate = executable.Modules.First().GetSignerCertificate();
 			var salt = (byte[]) SEBSettings.settingsCurrent[SEBSettings.KeyExamKeySalt];
 			var signature = certificate?.GetCertHashString();
 			var version = FileVersionInfo.GetVersionInfo(executable.Location).FileVersion;
-			var configurationKey = ComputeConfigurationKey();
 
-			using (var algorithm = new HMACSHA256(salt))
+			Logger.AddInformation("Initializing browser exam key...");
+
+			if (configurationKey == default)
 			{
-				var hash = algorithm.ComputeHash(Encoding.UTF8.GetBytes(signature + version + configurationKey));
-				var key = BitConverter.ToString(hash).ToLower().Replace("-", string.Empty);
-
-				return key;
+				configurationKey = "";
+				Logger.AddWarning("The current configuration does not contain a value for the configuration key!");
 			}
+
+			if (salt == default || salt.Length == 0)
+			{
+				salt = new byte[0];
+				Logger.AddWarning("The current configuration does not contain a salt value for the browser exam key!");
+			}
+
+			if (TryCalculateBrowserExamKey(configurationKey, BitConverter.ToString(salt).ToLower().Replace("-", string.Empty), out browserExamKey))
+			{
+				Logger.AddInformation("Successfully calculated BEK using integrity module.");
+			}
+			else
+			{
+				Logger.AddWarning("Failed to calculate BEK using integrity module! Falling back to simplified calculation...");
+
+				using (var algorithm = new HMACSHA256(salt))
+				{
+					var hash = algorithm.ComputeHash(Encoding.UTF8.GetBytes(signature + version + configurationKey));
+					var key = BitConverter.ToString(hash).ToLower().Replace("-", string.Empty);
+
+					browserExamKey = key;
+				}
+			}
+
+			return browserExamKey;
 		}
 
+		private static bool TryCalculateBrowserExamKey(string configurationKey, string salt, out string browserExamKey)
+		{
+			browserExamKey = default;
+
+			try
+			{
+				browserExamKey = CalculateBrowserExamKey(configurationKey, salt);
+			}
+			catch (DllNotFoundException)
+			{
+				Logger.AddWarning("Integrity module is not available!");
+			}
+			catch (Exception e)
+			{
+				Logger.AddError("Unexpected error while attempting to calculate browser exam key!", default, e);
+			}
+
+			return browserExamKey != default;
+		}
+
+		[DllImport(DLL_NAME, CallingConvention = CallingConvention.Cdecl)]
+		[return: MarshalAs(UnmanagedType.BStr)]
+		private static extern string CalculateBrowserExamKey(string configurationKey, string salt);
+
 		/// ----------------------------------------------------------------------------------------
 		/// <summary>
 		/// Compute a Configuration Key SHA256 hash base16 string.