Index: trunk/sources/HeuristicLab.MainForm/3.2/DefaultViewAttribute.cs
===================================================================
--- trunk/sources/HeuristicLab.MainForm/3.2/DefaultViewAttribute.cs	(revision 2458)
+++ trunk/sources/HeuristicLab.MainForm/3.2/DefaultViewAttribute.cs	(revision 2458)
@@ -0,0 +1,37 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace HeuristicLab.MainForm {
+  [AttributeUsage(AttributeTargets.Class)]
+  public class DefaultViewAttribute : Attribute {
+    public DefaultViewAttribute() {
+    }
+
+    public static bool IsDefaultView(Type t) {
+      object[] attributes = t.GetCustomAttributes(typeof(DefaultViewAttribute), false);
+      return attributes != null && attributes.Length > 0;
+    }
+  }
+}
Index: trunk/sources/HeuristicLab.MainForm/3.2/DockForm.Designer.cs
===================================================================
--- trunk/sources/HeuristicLab.MainForm/3.2/DockForm.Designer.cs	(revision 2407)
+++ 	(revision )
@@ -1,82 +1,0 @@
-#region License Information
-/* HeuristicLab
- * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
- *
- * This file is part of HeuristicLab.
- *
- * HeuristicLab is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * HeuristicLab is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
- */
-#endregion
-
-namespace HeuristicLab.MainForm {
-  partial class DockForm {
-    /// <summary>
-    /// Required designer variable.
-    /// </summary>
-    private System.ComponentModel.IContainer components = null;
-
-    /// <summary>
-    /// Clean up any resources being used.
-    /// </summary>
-    /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
-    protected override void Dispose(bool disposing) {
-      if (View != null)
-        View.CaptionChanged -= new System.EventHandler(View_CaptionChanged);
-      if (disposing && (components != null)) {
-        components.Dispose();
-      }
-      base.Dispose(disposing);
-    }
-
-    #region Windows Form Designer generated code
-
-    /// <summary>
-    /// Required method for Designer support - do not modify
-    /// the contents of this method with the code editor.
-    /// </summary>
-    private void InitializeComponent() {
-      System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(DockForm));
-      this.viewPanel = new System.Windows.Forms.Panel();
-      this.SuspendLayout();
-      // 
-      // viewPanel
-      // 
-      this.viewPanel.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
-                  | System.Windows.Forms.AnchorStyles.Left)
-                  | System.Windows.Forms.AnchorStyles.Right)));
-      this.viewPanel.Location = new System.Drawing.Point(12, 12);
-      this.viewPanel.Name = "viewPanel";
-      this.viewPanel.Size = new System.Drawing.Size(608, 422);
-      this.viewPanel.TabIndex = 0;
-      // 
-      // DockForm
-      // 
-      this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
-      this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
-      this.ClientSize = new System.Drawing.Size(632, 446);
-      this.Controls.Add(this.viewPanel);
-      this.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
-      this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
-      this.Name = "DockForm";
-      this.ShowIcon = false;
-      this.ShowInTaskbar = false;
-      this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
-      this.ResumeLayout(false);
-    }
-
-    #endregion
-
-    private System.Windows.Forms.Panel viewPanel;
-  }
-}
Index: trunk/sources/HeuristicLab.MainForm/3.2/DockForm.cs
===================================================================
--- trunk/sources/HeuristicLab.MainForm/3.2/DockForm.cs	(revision 2407)
+++ 	(revision )
@@ -1,89 +1,0 @@
-#region License Information
-/* HeuristicLab
- * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
- *
- * This file is part of HeuristicLab.
- *
- * HeuristicLab is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * HeuristicLab is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
- */
-#endregion
-
-using System;
-using System.Collections.Generic;
-using System.ComponentModel;
-using System.Data;
-using System.Drawing;
-using System.Text;
-using System.Windows.Forms;
-using WeifenLuo.WinFormsUI.Docking;
-
-namespace HeuristicLab.MainForm {
-  /// <summary>
-  /// Displays the used view.
-  /// </summary>
-  public partial class DockForm : DockContent {
-    public DockForm(IView view) {
-      InitializeComponent();
-      this.view = view;
-      if (View != null) {
-        if (view is UserControl) {
-          switch (((UserControl)view).Dock) {
-            case DockStyle.Left:
-              this.ShowHint = DockState.DockLeft;
-              break;
-            case DockStyle.Right:
-              this.ShowHint = DockState.DockRight;
-              break;
-            case DockStyle.Top:
-              this.ShowHint = DockState.DockTop;
-              break;
-            case DockStyle.Bottom:
-              this.ShowHint = DockState.DockBottom;
-              break;
-          }
-          Control control = (Control)View;
-          control.Dock = DockStyle.Fill;
-          viewPanel.Controls.Add(control);
-          View.CaptionChanged += new EventHandler(View_CaptionChanged);
-          UpdateText();
-        }
-      } else {
-        Label errorLabel = new Label();
-        errorLabel.Name = "errorLabel";
-        errorLabel.Text = "No view available";
-        errorLabel.AutoSize = false;
-        errorLabel.Dock = DockStyle.Fill;
-        viewPanel.Controls.Add(errorLabel);
-      }
-    }
-
-    private IView view;
-    public IView View {
-      get { return view; }
-    }
-
-    private void UpdateText() {
-      if (InvokeRequired)
-        Invoke(new MethodInvoker(UpdateText));
-      else
-        this.Text = View.Caption;
-    }
-
-    #region View Events
-    private void View_CaptionChanged(object sender, EventArgs e) {
-      UpdateText();
-    }
-    #endregion
-  }
-}
Index: trunk/sources/HeuristicLab.MainForm/3.2/DockForm.resx
===================================================================
--- trunk/sources/HeuristicLab.MainForm/3.2/DockForm.resx	(revision 2407)
+++ 	(revision )
@@ -1,434 +1,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<root>
-  <!-- 
-    Microsoft ResX Schema 
-    
-    Version 2.0
-    
-    The primary goals of this format is to allow a simple XML format 
-    that is mostly human readable. The generation and parsing of the 
-    various data types are done through the TypeConverter classes 
-    associated with the data types.
-    
-    Example:
-    
-    ... ado.net/XML headers & schema ...
-    <resheader name="resmimetype">text/microsoft-resx</resheader>
-    <resheader name="version">2.0</resheader>
-    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
-    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
-    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
-    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
-    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
-        <value>[base64 mime encoded serialized .NET Framework object]</value>
-    </data>
-    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
-        <comment>This is a comment</comment>
-    </data>
-                
-    There are any number of "resheader" rows that contain simple 
-    name/value pairs.
-    
-    Each data row contains a name, and value. The row also contains a 
-    type or mimetype. Type corresponds to a .NET class that support 
-    text/value conversion through the TypeConverter architecture. 
-    Classes that don't support this are serialized and stored with the 
-    mimetype set.
-    
-    The mimetype is used for serialized objects, and tells the 
-    ResXResourceReader how to depersist the object. This is currently not 
-    extensible. For a given mimetype the value must be set accordingly:
-    
-    Note - application/x-microsoft.net.object.binary.base64 is the format 
-    that the ResXResourceWriter will generate, however the reader can 
-    read any of the formats listed below.
-    
-    mimetype: application/x-microsoft.net.object.binary.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
-            : and then encoded with base64 encoding.
-    
-    mimetype: application/x-microsoft.net.object.soap.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
-            : and then encoded with base64 encoding.
-
-    mimetype: application/x-microsoft.net.object.bytearray.base64
-    value   : The object must be serialized into a byte array 
-            : using a System.ComponentModel.TypeConverter
-            : and then encoded with base64 encoding.
-    -->
-  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
-    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
-    <xsd:element name="root" msdata:IsDataSet="true">
-      <xsd:complexType>
-        <xsd:choice maxOccurs="unbounded">
-          <xsd:element name="metadata">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" />
-              </xsd:sequence>
-              <xsd:attribute name="name" use="required" type="xsd:string" />
-              <xsd:attribute name="type" type="xsd:string" />
-              <xsd:attribute name="mimetype" type="xsd:string" />
-              <xsd:attribute ref="xml:space" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="assembly">
-            <xsd:complexType>
-              <xsd:attribute name="alias" type="xsd:string" />
-              <xsd:attribute name="name" type="xsd:string" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="data">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
-              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
-              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
-              <xsd:attribute ref="xml:space" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="resheader">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" />
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:choice>
-      </xsd:complexType>
-    </xsd:element>
-  </xsd:schema>
-  <resheader name="resmimetype">
-    <value>text/microsoft-resx</value>
-  </resheader>
-  <resheader name="version">
-    <value>2.0</value>
-  </resheader>
-  <resheader name="reader">
-    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <resheader name="writer">
-    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
-  <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-    <value>
-        AAABAAgAEBAQAAAAAAAoAQAAhgAAABAQAAAAAAAAaAUAAK4BAAAgIBAAAAAAAOgCAAAWBwAAICAAAAAA
-        AACoCAAA/gkAADAwEAAAAAAAaAYAAKYSAAAwMAAAAAAAAKgOAAAOGQAAQEAQAAAAAABoCgAAticAAEBA
-        AAAAAAAAKBYAAB4yAAAoAAAAEAAAACAAAAABAAQAAAAAAIAAAAAAAAAAAAAAABAAAAAQAAAAAAAAAAAA
-        gAAAgAAAAICAAIAAAACAAIAAgIAAAMDAwACAgIAAAAD/AAD/AAAA//8A/wAAAP8A/wD//wAA////AAAA
-        AAAAAAAAD/////////APD///gAAA8A8H//9wj//wDwj///gP//APgH//9wf/8A/wj///AP/wD/gIiIiA
-        f/AP/wAAAACP8A//gHd3eAfwD/9wj///CPAP//gP//+A8A//9w////DwD///D///+PAP////////8AAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAACgAAAAQAAAAIAAAAAEACAAAAAAAAAEAAAAAAAAAAAAAAAEAAAABAAAAAAAAAACAAACA
-        AAAAgIAAgAAAAIAAgACAgAAAwMDAAMDcwADwyqYABAQEAAgICAAMDAwAERERABYWFgAcHBwAIiIiACkp
-        KQBVVVUATU1NAEJCQgA5OTkAgHz/AFBQ/wCTANYA/+zMAMbW7wDW5+cAkKmtAAAAMwAAAGYAAACZAAAA
-        zAAAMwAAADMzAAAzZgAAM5kAADPMAAAz/wAAZgAAAGYzAABmZgAAZpkAAGbMAABm/wAAmQAAAJkzAACZ
-        ZgAAmZkAAJnMAACZ/wAAzAAAAMwzAADMZgAAzJkAAMzMAADM/wAA/2YAAP+ZAAD/zAAzAAAAMwAzADMA
-        ZgAzAJkAMwDMADMA/wAzMwAAMzMzADMzZgAzM5kAMzPMADMz/wAzZgAAM2YzADNmZgAzZpkAM2bMADNm
-        /wAzmQAAM5kzADOZZgAzmZkAM5nMADOZ/wAzzAAAM8wzADPMZgAzzJkAM8zMADPM/wAz/zMAM/9mADP/
-        mQAz/8wAM///AGYAAABmADMAZgBmAGYAmQBmAMwAZgD/AGYzAABmMzMAZjNmAGYzmQBmM8wAZjP/AGZm
-        AABmZjMAZmZmAGZmmQBmZswAZpkAAGaZMwBmmWYAZpmZAGaZzABmmf8AZswAAGbMMwBmzJkAZszMAGbM
-        /wBm/wAAZv8zAGb/mQBm/8wAzAD/AP8AzACZmQAAmTOZAJkAmQCZAMwAmQAAAJkzMwCZAGYAmTPMAJkA
-        /wCZZgAAmWYzAJkzZgCZZpkAmWbMAJkz/wCZmTMAmZlmAJmZmQCZmcwAmZn/AJnMAACZzDMAZsxmAJnM
-        mQCZzMwAmcz/AJn/AACZ/zMAmcxmAJn/mQCZ/8wAmf//AMwAAACZADMAzABmAMwAmQDMAMwAmTMAAMwz
-        MwDMM2YAzDOZAMwzzADMM/8AzGYAAMxmMwCZZmYAzGaZAMxmzACZZv8AzJkAAMyZMwDMmWYAzJmZAMyZ
-        zADMmf8AzMwAAMzMMwDMzGYAzMyZAMzMzADMzP8AzP8AAMz/MwCZ/2YAzP+ZAMz/zADM//8AzAAzAP8A
-        ZgD/AJkAzDMAAP8zMwD/M2YA/zOZAP8zzAD/M/8A/2YAAP9mMwDMZmYA/2aZAP9mzADMZv8A/5kAAP+Z
-        MwD/mWYA/5mZAP+ZzAD/mf8A/8wAAP/MMwD/zGYA/8yZAP/MzAD/zP8A//8zAMz/ZgD//5kA///MAGZm
-        /wBm/2YAZv//AP9mZgD/Zv8A//9mACEApQBfX18Ad3d3AIaGhgCWlpYAy8vLALKysgDX19cA3d3dAOPj
-        4wDq6uoA8fHxAPj4+ADw+/8ApKCgAICAgAAAAP8AAP8AAAD//wD/AAAA/wD/AP//AAD///8ACgoKCgoK
-        CgoKCgoKCgoKCgr//////////////////woK/xT//////20KFBQUFP8KCv8K8f/////xCpL/////Cgr/
-        EG3//////20U/////woK/5IK8f////8HCgf///8KCv//Duz//////xQU////Cgr//+wO7Ozs7OwSCvH/
-        /woK///zDgoKCgoKCgpt//8KCv///+sOBwcHBwfsCvH/Cgr////xCpL//////w7s/woK/////21D////
-        ///sDv8KCv////+8Cv//////8w7/Cgr//////xT///////9t/woK//////////////////8KCgoKCgoK
-        CgoKCgoKCgoKCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAoAAAAIAAAAEAAAAABAAQAAAAAAAACAAAAAAAAAAAAABAAAAAQAAAAAAAAAAAA
-        gAAAgAAAAICAAIAAAACAAIAAgIAAAMDAwACAgIAAAAD/AAD/AAAA//8A/wAAAP8A/wD//wAA////AAAA
-        AAAAAAAAAAAAAAAAAAAP///////////////////wB3f///////93d3d3d3d38AcAj///////AAAAAAAA
-        CPAPAA///////4AAAAAAAABwD4AI//////9wAAAAAAAAgA/wAP//////+AB///////AP+ACP//////cA
-        D//////wD/8AD///////AAf/////8A//gAf//////4AI//////AP/3AA///////wAH/////wD//4AH//
-        ////+ACP////8A//9wCP//////8AD/////AP//8AB///////gAj////wD///cAj///////AA////8A//
-        //AAAAAAAAAAAI////AP///4AAAAAAAAAAAP///wD////wAAAAAAAAAAB///8A////+AAIiIiIiIgAD/
-        //AP////8AD///////AAf//wD/////gAf//////4AI//8A/////3AA///////wAH//AP/////4AH////
-        //+ACP/wD/////9wCP//////8AD/8A//////8AB///////gAj/AP//////cAj///////AA/wD///////
-        AA///////4AI8A///////4AI//////9wAPAP///////wAP//////+ABwD///////94h///////eIcA//
-        //////////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAIAAAAEAAAAABAAgAAAAAAAAE
-        AAAAAAAAAAAAAAABAAAAAQAAAAAAAAAAgAAAgAAAAICAAIAAAACAAIAAgIAAAMDAwADA3MAA8MqmAAQE
-        BAAICAgADAwMABEREQAWFhYAHBwcACIiIgApKSkAVVVVAE1NTQBCQkIAOTk5AIB8/wBQUP8AkwDWAP/s
-        zADG1u8A1ufnAJCprQAAADMAAABmAAAAmQAAAMwAADMAAAAzMwAAM2YAADOZAAAzzAAAM/8AAGYAAABm
-        MwAAZmYAAGaZAABmzAAAZv8AAJkAAACZMwAAmWYAAJmZAACZzAAAmf8AAMwAAADMMwAAzGYAAMyZAADM
-        zAAAzP8AAP9mAAD/mQAA/8wAMwAAADMAMwAzAGYAMwCZADMAzAAzAP8AMzMAADMzMwAzM2YAMzOZADMz
-        zAAzM/8AM2YAADNmMwAzZmYAM2aZADNmzAAzZv8AM5kAADOZMwAzmWYAM5mZADOZzAAzmf8AM8wAADPM
-        MwAzzGYAM8yZADPMzAAzzP8AM/8zADP/ZgAz/5kAM//MADP//wBmAAAAZgAzAGYAZgBmAJkAZgDMAGYA
-        /wBmMwAAZjMzAGYzZgBmM5kAZjPMAGYz/wBmZgAAZmYzAGZmZgBmZpkAZmbMAGaZAABmmTMAZplmAGaZ
-        mQBmmcwAZpn/AGbMAABmzDMAZsyZAGbMzABmzP8AZv8AAGb/MwBm/5kAZv/MAMwA/wD/AMwAmZkAAJkz
-        mQCZAJkAmQDMAJkAAACZMzMAmQBmAJkzzACZAP8AmWYAAJlmMwCZM2YAmWaZAJlmzACZM/8AmZkzAJmZ
-        ZgCZmZkAmZnMAJmZ/wCZzAAAmcwzAGbMZgCZzJkAmczMAJnM/wCZ/wAAmf8zAJnMZgCZ/5kAmf/MAJn/
-        /wDMAAAAmQAzAMwAZgDMAJkAzADMAJkzAADMMzMAzDNmAMwzmQDMM8wAzDP/AMxmAADMZjMAmWZmAMxm
-        mQDMZswAmWb/AMyZAADMmTMAzJlmAMyZmQDMmcwAzJn/AMzMAADMzDMAzMxmAMzMmQDMzMwAzMz/AMz/
-        AADM/zMAmf9mAMz/mQDM/8wAzP//AMwAMwD/AGYA/wCZAMwzAAD/MzMA/zNmAP8zmQD/M8wA/zP/AP9m
-        AAD/ZjMAzGZmAP9mmQD/ZswAzGb/AP+ZAAD/mTMA/5lmAP+ZmQD/mcwA/5n/AP/MAAD/zDMA/8xmAP/M
-        mQD/zMwA/8z/AP//MwDM/2YA//+ZAP//zABmZv8AZv9mAGb//wD/ZmYA/2b/AP//ZgAhAKUAX19fAHd3
-        dwCGhoYAlpaWAMvLywCysrIA19fXAN3d3QDj4+MA6urqAPHx8QD4+PgA8Pv/AKSgoACAgIAAAAD/AAD/
-        AAAA//8A/wAAAP8A/wD//wAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////
-        /////////////////////////////////wAA8QcH8//////////////zBwcHBwcHBwcHBwcHB/H/AADv
-        Cgpt//////////////MKCgoKCgoKCgoKCgoKEv8AAP8QCg7z/////////////20KCgoKCgoKCgoKCgoK
-        8QAA/5IKCuz/////////////8QoKCgoKCgoKCgoKCgptAAD//w4KDv//////////////EgoKB///////
-        //////8AAP//7AoKkv////////////8HCgoU/////////////wAA///zDgoQ//////////////8UCgq8
-        ////////////AAD///9tCgrv/////////////5IKCm3///////////8AAP////EKChT/////////////
-        /xAKCvH//////////wAA/////20KCgf/////////////kgoK6///////////AAD/////BwoKbf//////
-        ///////zDgoO8/////////8AAP//////FAoK8f/////////////sCgrs/////////wAA///////vCgpt
-        //////////////MKChD/////////AAD///////8QCg4UFBQUFBQUFBQUFA4KCpL///////8AAP//////
-        /5IKCgoKCgoKCgoKCgoKCgoKEP///////wAA/////////w4KCgoKCgoKCgoKCgoKCgoKB///////AAD/
-        ////////7AoKFOzs7Ozs7Ozs7OzrCgoU//////8AAP/////////zDgoQ//////////////8UCgq8////
-        /wAA//////////9tCgrv/////////////5IKCm3/////AAD///////////EKChT//////////////xAK
-        CvH///8AAP///////////20KCgf/////////////kgoK6////wAA////////////BwoKbf//////////
-        ////DgoO8///AAD/////////////FAoK8f/////////////sCgrs//8AAP/////////////vCgpt////
-        //////////MOChD//wAA//////////////8QCg7z/////////////20KCpL/AAD//////////////5IK
-        Cuz/////////////8QoKEP8AAP///////////////w4KDvP/////////////bQoKBwAA////////////
-        ////7+zs8f////////////+87OzvAAD///////////////////////////////////////8AAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAwAAAAYAAAAAEABAAAAAAAgAQAAAAA
-        AAAAAAAAEAAAABAAAAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAwMDAAICAgAAAAP8AAP8AAAD/
-        /wD/AAAA/wD/AP//AAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////////////////
-        ///////wD//////////////////////////////wD//////////////////////////////wDwAAj///
-        ///////4AAAAAAAAAAAAAP/wD3AAD///////////AAAAAAAAAAAAAI/wD/AACP//////////gAAAAAAA
-        AAAAAA/wD/gAAP//////////cAAAAAAAAAAAAAjwD/8AAI//////////+AAAAAAAAAAAAAjwD/+AAA//
-        ////////9wAAf//////////wD//wAAj//////////wAAD//////////wD//4AAD//////////3AAB///
-        ///////wD//3AAB///////////AACP/////////wD///gACP//////////gAAH/////////wD///cAAH
-        //////////8AAI/////////wD///8AAI//////////+AAA/////////wD///9wAA///////////wAAj/
-        ///////wD////wAAj//////////4AAD////////wD////4AAD//////////3AACP///////wD/////AA
-        CP//////////gAAP///////wD/////gAAP//////////cAAI///////wD/////8AAI//////////8AAA
-        ///////wD/////+AAA//////////9wAAf//////wD/////9wAAAAAAAAAAAAAAAAj//////wD//////4
-        AAAAAAAAAAAAAAAAB//////wD//////3AAAAAAAAAAAAAAAACP/////wD///////AAAAAAAAAAAAAAAA
-        AP/////wD///////cAAAAAAAAAAAAAAAAI/////wD///////8AAI//////////+AAA/////wD///////
-        +AAA//////////9wAAj////wD////////wAAj//////////4AAD////wD////////4AAD//////////3
-        AACP///wD/////////AACP//////////AAAP///wD/////////gAAP//////////cAAH///wD///////
-        //cAAH//////////8AAI///wD/////////+AAA//////////+AAAf//wD/////////9wAAf/////////
-        /wAAj//wD//////////wAAj//////////4AAD//wD//////////3AAB///////////AACP/wD///////
-        ////AACP//////////gAAP/wD///////////gAAP//////////cAAI/wD///////////8AAI////////
-        //+AAA/wD///////////+AAA//////////9wAAjwD////////////wAAj//////////wAADwD///////
-        ///////////////////////wD//////////////////////////////wD///////////////////////
-        ///////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAADAA
-        AABgAAAAAQAIAAAAAAAACQAAAAAAAAAAAAAAAQAAAAEAAAAAAAAAAIAAAIAAAACAgACAAAAAgACAAICA
-        AADAwMAAwNzAAPDKpgAEBAQACAgIAAwMDAAREREAFhYWABwcHAAiIiIAKSkpAFVVVQBNTU0AQkJCADk5
-        OQCAfP8AUFD/AJMA1gD/7MwAxtbvANbn5wCQqa0AAAAzAAAAZgAAAJkAAADMAAAzAAAAMzMAADNmAAAz
-        mQAAM8wAADP/AABmAAAAZjMAAGZmAABmmQAAZswAAGb/AACZAAAAmTMAAJlmAACZmQAAmcwAAJn/AADM
-        AAAAzDMAAMxmAADMmQAAzMwAAMz/AAD/ZgAA/5kAAP/MADMAAAAzADMAMwBmADMAmQAzAMwAMwD/ADMz
-        AAAzMzMAMzNmADMzmQAzM8wAMzP/ADNmAAAzZjMAM2ZmADNmmQAzZswAM2b/ADOZAAAzmTMAM5lmADOZ
-        mQAzmcwAM5n/ADPMAAAzzDMAM8xmADPMmQAzzMwAM8z/ADP/MwAz/2YAM/+ZADP/zAAz//8AZgAAAGYA
-        MwBmAGYAZgCZAGYAzABmAP8AZjMAAGYzMwBmM2YAZjOZAGYzzABmM/8AZmYAAGZmMwBmZmYAZmaZAGZm
-        zABmmQAAZpkzAGaZZgBmmZkAZpnMAGaZ/wBmzAAAZswzAGbMmQBmzMwAZsz/AGb/AABm/zMAZv+ZAGb/
-        zADMAP8A/wDMAJmZAACZM5kAmQCZAJkAzACZAAAAmTMzAJkAZgCZM8wAmQD/AJlmAACZZjMAmTNmAJlm
-        mQCZZswAmTP/AJmZMwCZmWYAmZmZAJmZzACZmf8AmcwAAJnMMwBmzGYAmcyZAJnMzACZzP8Amf8AAJn/
-        MwCZzGYAmf+ZAJn/zACZ//8AzAAAAJkAMwDMAGYAzACZAMwAzACZMwAAzDMzAMwzZgDMM5kAzDPMAMwz
-        /wDMZgAAzGYzAJlmZgDMZpkAzGbMAJlm/wDMmQAAzJkzAMyZZgDMmZkAzJnMAMyZ/wDMzAAAzMwzAMzM
-        ZgDMzJkAzMzMAMzM/wDM/wAAzP8zAJn/ZgDM/5kAzP/MAMz//wDMADMA/wBmAP8AmQDMMwAA/zMzAP8z
-        ZgD/M5kA/zPMAP8z/wD/ZgAA/2YzAMxmZgD/ZpkA/2bMAMxm/wD/mQAA/5kzAP+ZZgD/mZkA/5nMAP+Z
-        /wD/zAAA/8wzAP/MZgD/zJkA/8zMAP/M/wD//zMAzP9mAP//mQD//8wAZmb/AGb/ZgBm//8A/2ZmAP9m
-        /wD//2YAIQClAF9fXwB3d3cAhoaGAJaWlgDLy8sAsrKyANfX1wDd3d0A4+PjAOrq6gDx8fEA+Pj4APD7
-        /wCkoKAAgICAAAAA/wAA/wAAAP//AP8AAAD/AP8A//8AAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////////////////////////////////////////
-        /////////////////wAA////////////////////////////////////////////////////////////
-        /wAA/////////////////////////////////////////////////////////////wAA/xQKCgpt////
-        /////////////////+wKCgoKCgoKCgoKCgoKCgoKCgoKDvP//wAA/wcKCgoK8///////////////////
-        //MOCgoKCgoKCgoKCgoKCgoKCgoKCuz//wAA//8QCgoK7P////////////////////9tCgoKCgoKCgoK
-        CgoKCgoKCgoKCg7//wAA//+SCgoKDvP////////////////////xCgoKCgoKCgoKCgoKCgoKCgoKCgqS
-        /wAA////EAoKCpL/////////////////////bQoKCgoUFBQUFBQUFBQUFBQUFBRt/wAA////7AoKChD/
-        ////////////////////BwoKCgrv/////////////////////wAA////8w4KCgqS////////////////
-        /////xQKCgoU/////////////////////wAA/////+sKCgoU/////////////////////+8KCgoKB///
-        /////////////////wAA//////EKCgoKB/////////////////////8QCgoKbf//////////////////
-        /wAA//////9tCgoKEv////////////////////+SCgoKCvH//////////////////wAA//////+8CgoK
-        CvH/////////////////////DgoKCm3//////////////////wAA////////FAoKCm3/////////////
-        ////////7AoKCgrz/////////////////wAA////////BwoKCgrz////////////////////8w4KCgrs
-        /////////////////wAA/////////xAKCgrs/////////////////////20KCgoO8///////////////
-        /wAA/////////5IKCgoO8/////////////////////EKCgoKkv///////////////wAA//////////8Q
-        CgoKkv////////////////////9tCgoKEP///////////////wAA///////////sCgoKEP//////////
-        //////////8HCgoKCpL//////////////wAA///////////zDgoKCpL/////////////////////FAoK
-        ChT//////////////wAA////////////6woKChT/////////////////////7woKCgoH////////////
-        /wAA////////////8QoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoS/////////////wAA////////////
-        /20KCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoK8f///////////wAA/////////////7wKCgoKCgoKCgoK
-        CgoKCgoKCgoKCgoKCgoKbf///////////wAA//////////////8UCgoKCgoKCgoKCgoKCgoKCgoKCgoK
-        CgoKCvP//////////wAA//////////////8HCgoKCkMUFBQUFBQUFBQUFBQUFBQUDgoKCuz/////////
-        /wAA////////////////EAoKCuz/////////////////////bQoKCg7z/////////wAA////////////
-        ////kgoKCg7z////////////////////8QoKCgqS/////////wAA/////////////////xAKCgrs////
-        /////////////////20KCgoQ/////////wAA/////////////////+wKCgoQ////////////////////
-        /7wKCgoKkv///////wAA//////////////////MOCgoKkv////////////////////8UCgoKFP//////
-        /wAA///////////////////rCgoKQ/////////////////////8HCgoKCgf//////wAA////////////
-        ///////xCgoKCgf/////////////////////EAoKChL//////wAA////////////////////bQoKChT/
-        ////////////////////kgoKCgrx/////wAA////////////////////vAoKCgrx////////////////
-        /////xAKCgpt/////wAA/////////////////////xQKCgpt/////////////////////+wKCgoK8///
-        /wAA/////////////////////wcKCgoK8f////////////////////MOCgoK7P///wAA////////////
-        //////////9DCgoK7P/////////////////////rCgoKDvP//wAA//////////////////////+SCgoK
-        DvP////////////////////xCgoKCpL//wAA////////////////////////EAoKCuz/////////////
-        ////////bQoKChD//wAA////////////////////////7AoKChD/////////////////////vAoKCgqS
-        /wAA////////////////////////8w4KCgqS/////////////////////xQKCgoU/wAA////////////
-        /////////////////////////////////////////////////wAA////////////////////////////
-        /////////////////////////////////wAA////////////////////////////////////////////
-        /////////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAQAAAAIAAAAABAAQAAAAAAAAIAAAAAAAAAAAAABAA
-        AAAQAAAAAAAAAAAAgAAAgAAAAICAAIAAAACAAIAAgIAAAMDAwACAgIAAAAD/AAD/AAAA//8A/wAAAP8A
-        /wD//wAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////////////////
-        //////////////////AP////////////////////////////////////////8A//////////////////
-        ///////////////////////wD/////////////////////////////////////////AP+IiIf///////
-        ///////4iIiIiIiIiIiIiIiIiH//8A/wAAAP//////////////gAAAAAAAAAAAAAAAAAD//wD/gAAAj/
-        /////////////wAAAAAAAAAAAAAAAAAI//AP/wAAAP//////////////gAAAAAAAAAAAAAAAAAD/8A//
-        gAAAj//////////////wAAAAAAAAAAAAAAAAAI/wD//wAAAP//////////////gAAAAAAAAAAAAAAAAA
-        D/AP//gAAAf/////////////9wAAAAAAAAAAAAAAAAAH8A//9wAACP//////////////gAAAf///////
-        ///////wD///gAAAf/////////////9wAAAP//////////////AP//9wAACP//////////////AAAAf/
-        ////////////8A////AAAA//////////////+AAACP/////////////wD///9wAACP//////////////
-        AAAAf/////////////AP////AAAA//////////////+AAACP////////////8A////+AAACP////////
-        //////AAAA/////////////wD/////AAAA//////////////+AAACP////////////AP////+AAACP//
-        ////////////AAAA////////////8A//////AAAA//////////////+AAACP///////////wD/////+A
-        AAB//////////////3AAAA////////////AP/////3AAAI//////////////+AAAB///////////8A//
-        ////+AAAB//////////////3AAAA///////////wD//////3AAAI//////////////8AAAB/////////
-        //AP//////8AAAD//////////////3AAAI//////////8A///////3AAAI//////////////8AAAB///
-        ///////wD///////8AAAD//////////////4AAAI//////////AP///////4AAAI//////////////8A
-        AAD/////////8A////////8AAAB3d3d3d3d3d3d3d4AAAI/////////wD////////4AAAAAAAAAAAAAA
-        AAAAAAAAD/////////AP////////8AAAAAAAAAAAAAAAAAAAAAAI////////8A/////////4AAAAAAAA
-        AAAAAAAAAAAAAAD////////wD/////////cAAAAAAAAAAAAAAAAAAAAAAI////////AP/////////4AA
-        AAAAAAAAAAAAAAAAAAAAD///////8A//////////cAAAAAAAAAAAAAAAAAAAAAAH///////wD///////
-        ///wAAAH//////////////cAAAj///////AP//////////cAAAj//////////////wAAAH//////8A//
-        /////////wAAAP//////////////gAAAj//////wD///////////gAAAj//////////////wAAAP////
-        //AP///////////wAAAP//////////////gAAAj/////8A////////////gAAAj//////////////wAA
-        AP/////wD////////////wAAAP//////////////gAAAj/////AP////////////gAAAf///////////
-        //9wAAAP////8A////////////9wAAAP//////////////gAAAj////wD/////////////gAAAf/////
-        ////////9wAAAP////AP////////////9wAACP//////////////AAAAf///8A//////////////AAAA
-        f/////////////9wAACP///wD/////////////9wAACP//////////////AAAAf///AP////////////
-        //AAAA//////////////+AAACP//8A//////////////+AAACP//////////////AAAA///wD///////
-        ////////AAAA//////////////+AAACP//AP//////////////+AAACP//////////////AAAA//8A//
-        //////////////AAAA//////////////+AAACP/wD///////////////+AAAB//////////////3AAAA
-        //AP///////////////3AAAA//////////////+AAACP8A////////////////+AAAB/////////////
-        /3AAAA/wD////////////////3AAAI//////////////8AAAB/AP////////////////////////////
-        ////////////8A/////////////////////////////////////////wD///////////////////////
-        //////////////////AP////////////////////////////////////////8AAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAQAAAAIAA
-        AAABAAgAAAAAAAAQAAAAAAAAAAAAAAABAAAAAQAAAAAAAAAAgAAAgAAAAICAAIAAAACAAIAAgIAAAMDA
-        wADA3MAA8MqmAAQEBAAICAgADAwMABEREQAWFhYAHBwcACIiIgApKSkAVVVVAE1NTQBCQkIAOTk5AIB8
-        /wBQUP8AkwDWAP/szADG1u8A1ufnAJCprQAAADMAAABmAAAAmQAAAMwAADMAAAAzMwAAM2YAADOZAAAz
-        zAAAM/8AAGYAAABmMwAAZmYAAGaZAABmzAAAZv8AAJkAAACZMwAAmWYAAJmZAACZzAAAmf8AAMwAAADM
-        MwAAzGYAAMyZAADMzAAAzP8AAP9mAAD/mQAA/8wAMwAAADMAMwAzAGYAMwCZADMAzAAzAP8AMzMAADMz
-        MwAzM2YAMzOZADMzzAAzM/8AM2YAADNmMwAzZmYAM2aZADNmzAAzZv8AM5kAADOZMwAzmWYAM5mZADOZ
-        zAAzmf8AM8wAADPMMwAzzGYAM8yZADPMzAAzzP8AM/8zADP/ZgAz/5kAM//MADP//wBmAAAAZgAzAGYA
-        ZgBmAJkAZgDMAGYA/wBmMwAAZjMzAGYzZgBmM5kAZjPMAGYz/wBmZgAAZmYzAGZmZgBmZpkAZmbMAGaZ
-        AABmmTMAZplmAGaZmQBmmcwAZpn/AGbMAABmzDMAZsyZAGbMzABmzP8AZv8AAGb/MwBm/5kAZv/MAMwA
-        /wD/AMwAmZkAAJkzmQCZAJkAmQDMAJkAAACZMzMAmQBmAJkzzACZAP8AmWYAAJlmMwCZM2YAmWaZAJlm
-        zACZM/8AmZkzAJmZZgCZmZkAmZnMAJmZ/wCZzAAAmcwzAGbMZgCZzJkAmczMAJnM/wCZ/wAAmf8zAJnM
-        ZgCZ/5kAmf/MAJn//wDMAAAAmQAzAMwAZgDMAJkAzADMAJkzAADMMzMAzDNmAMwzmQDMM8wAzDP/AMxm
-        AADMZjMAmWZmAMxmmQDMZswAmWb/AMyZAADMmTMAzJlmAMyZmQDMmcwAzJn/AMzMAADMzDMAzMxmAMzM
-        mQDMzMwAzMz/AMz/AADM/zMAmf9mAMz/mQDM/8wAzP//AMwAMwD/AGYA/wCZAMwzAAD/MzMA/zNmAP8z
-        mQD/M8wA/zP/AP9mAAD/ZjMAzGZmAP9mmQD/ZswAzGb/AP+ZAAD/mTMA/5lmAP+ZmQD/mcwA/5n/AP/M
-        AAD/zDMA/8xmAP/MmQD/zMwA/8z/AP//MwDM/2YA//+ZAP//zABmZv8AZv9mAGb//wD/ZmYA/2b/AP//
-        ZgAhAKUAX19fAHd3dwCGhoYAlpaWAMvLywCysrIA19fXAN3d3QDj4+MA6urqAPHx8QD4+PgA8Pv/AKSg
-        oACAgIAAAAD/AAD/AAAA//8A/wAAAP8A/wD//wAA////AAoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoK
-        CgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoK////////////////////////////
-        //////////////////////////////////////////////////////8KCv//////////////////////
-        ////////////////////////////////////////////////////////////Cgr/////////////////
-        /////////////////////////////////////////////////////////////////woK////////////
-        //////////////////////////////////////////////////////////////////////8KCv/z7Ozs
-        7Ozv/////////////////////////////5Ls7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O//////Cgr/
-        /xAKCgoKDvP///////////////////////////+SCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoO8///
-        /woK//+SCgoKCgqS////////////////////////////8w4KCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoK
-        Cuz///8KCv///xAKCgoKEP/////////////////////////////sCgoKCgoKCgoKCgoKCgoKCgoKCgoK
-        CgoKCgoQ////Cgr////sCgoKCgqS////////////////////////////8woKCgoKCgoKCgoKCgoKCgoK
-        CgoKCgoKCgoKCpL//woK////8w4KCgoKFP////////////////////////////9tCgoKCgoKCgoKCgoK
-        CgoKCgoKCgoKCgoKCgpD//8KCv/////rCgoKCgoH////////////////////////////8QoKCgoKChQU
-        FBQUFBQUFBQUFBQUFBQUFBQUFPH/Cgr/////8QoKCgoKEv////////////////////////////8SCgoK
-        Cgrv/////////////////////////////woK//////9tCgoKCgrx////////////////////////////
-        BwoKCgoKFP////////////////////////////8KCv//////vAoKCgoKbf//////////////////////
-        //////8UCgoKCgoH////////////////////////////Cgr///////8UCgoKCgrz////////////////
-        ////////////kgoKCgoKbf///////////////////////////woK////////BwoKCgoK7P//////////
-        //////////////////8QCgoKCgrx//////////////////////////8KCv////////8QCgoKCg7z////
-        ////////////////////////kgoKCgoKbf//////////////////////////Cgr/////////kgoKCgoK
-        kv////////////////////////////MOCgoKCg7z/////////////////////////woK//////////8Q
-        CgoKChD/////////////////////////////7AoKCgoK7P////////////////////////8KCv//////
-        ////7AoKCgoKkv////////////////////////////MOCgoKCg7/////////////////////////Cgr/
-        //////////MOCgoKChT/////////////////////////////bQoKCgoKkv//////////////////////
-        /woK////////////6woKCgoKB/////////////////////////////EKCgoKChD/////////////////
-        //////8KCv////////////EKCgoKChL/////////////////////////////bQoKCgoK7///////////
-        ////////////Cgr/////////////bQoKCgoK8f///////////////////////////wcKCgoKChT/////
-        /////////////////woK/////////////7wKCgoKCm3/////////////////////////////FAoKCgoK
-        B/////////////////////8KCv//////////////FAoKCgoK8////////////////////////////+8K
-        CgoKCm3/////////////////////Cgr//////////////wcKCgoKCuz/////////////////////////
-        ////EAoKCgoK8f///////////////////woK////////////////EAoKCgoO8///////////////////
-        /////////5IKCgoKCm3///////////////////8KCv///////////////5IKCgoKCpL/////////////
-        ////////////////DgoKCgoK8///////////////////Cgr/////////////////EAoKCgoQBwcHBwcH
-        BwcHBwcHBwcHBwcHBwcHBxIKCgoKCuz//////////////////woK/////////////////+wKCgoKCgoK
-        CgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoO8/////////////////8KCv/////////////////zDgoK
-        CgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCpL/////////////////Cgr/////////////////
-        /+sKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoQ/////////////////woK////////////
-        ///////xCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCpL///////////////8KCv//////
-        /////////////20KCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoU////////////////Cgr/
-        //////////////////+8CgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgf/////////////
-        /woK/////////////////////xQKCgoKCvH////////////////////////////vCgoKCgoS////////
-        //////8KCv////////////////////8HCgoKCgrs/////////////////////////////xAKCgoKCvH/
-        ////////////Cgr//////////////////////xAKCgoKDvP///////////////////////////+SCgoK
-        Cgpt/////////////woK//////////////////////+SCgoKCgrs////////////////////////////
-        /w4KCgoKCvP///////////8KCv///////////////////////xAKCgoKEP//////////////////////
-        ///////sCgoKCgrs////////////Cgr////////////////////////sCgoKCgqS////////////////
-        ////////////8w4KCgoKDvP//////////woK////////////////////////8w4KCgoKQ///////////
-        //////////////////9tCgoKCgqS//////////8KCv/////////////////////////sCgoKCgoH////
-        ////////////////////////8QoKCgoKEP//////////Cgr/////////////////////////8QoKCgoK
-        FP////////////////////////////9tCgoKCgqS/////////woK//////////////////////////9t
-        CgoKCgrx////////////////////////////BwoKCgoKFP////////8KCv//////////////////////
-        ////8QoKCgoKbf////////////////////////////8UCgoKCgoH////////Cgr/////////////////
-        //////////8UCgoKCgrx////////////////////////////7woKCgoKEv///////woK////////////
-        ////////////////BwoKCgoK7P////////////////////////////8QCgoKCgrx//////8KCv//////
-        //////////////////////9DCgoKCg7z////////////////////////////kgoKCgoKbf//////Cgr/
-        ////////////////////////////kgoKCgoK7P////////////////////////////8OCgoKCgrz////
-        /woK//////////////////////////////8QCgoKChD/////////////////////////////7AoKCgoK
-        7P////8KCv//////////////////////////////7AoKCgoKkv////////////////////////////MO
-        CgoKCg7z////Cgr///////////////////////////////MOCgoKCkP/////////////////////////
-        ////bQoKCgoKkv///woK////////////////////////////////7AoKCgoKB///////////////////
-        //////////EKCgoKChD///8KCv////////////////////////////////EKCgoKChT/////////////
-        ////////////////bQoKCgoKkv//Cgr/////////////////////////////////bQoKCgoK8f//////
-        /////////////////////wcKCgoKChT//woK//////////////////////////////////EKCgoKCm3/
-        ////////////////////////////FAoKCgoKB/8KCv//////////////////////////////////////
-        ////////////////////////////////////////////Cgr/////////////////////////////////
-        /////////////////////////////////////////////////woK////////////////////////////
-        //////////////////////////////////////////////////////8KCv//////////////////////
-        ////////////////////////////////////////////////////////////CgoKCgoKCgoKCgoKCgoK
-        CgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
-</value>
-  </data>
-</root>
Index: trunk/sources/HeuristicLab.MainForm/3.2/DockingMainForm.Designer.cs
===================================================================
--- trunk/sources/HeuristicLab.MainForm/3.2/DockingMainForm.Designer.cs	(revision 2407)
+++ 	(revision )
@@ -1,116 +1,0 @@
-﻿namespace HeuristicLab.MainForm {
-  partial class DockingMainForm {
-    /// <summary>
-    /// Required designer variable.
-    /// </summary>
-    private System.ComponentModel.IContainer components = null;
-
-    /// <summary>
-    /// Clean up any resources being used.
-    /// </summary>
-    /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
-    protected override void Dispose(bool disposing) {
-      if (disposing && (components != null)) {
-        components.Dispose();
-      }
-      base.Dispose(disposing);
-    }
-
-    #region Windows Form Designer generated code
-
-    /// <summary>
-    /// Required method for Designer support - do not modify
-    /// the contents of this method with the code editor.
-    /// </summary>
-    private void InitializeComponent() {
-      WeifenLuo.WinFormsUI.Docking.DockPanelSkin dockPanelSkin1 = new WeifenLuo.WinFormsUI.Docking.DockPanelSkin();
-      WeifenLuo.WinFormsUI.Docking.AutoHideStripSkin autoHideStripSkin1 = new WeifenLuo.WinFormsUI.Docking.AutoHideStripSkin();
-      WeifenLuo.WinFormsUI.Docking.DockPanelGradient dockPanelGradient1 = new WeifenLuo.WinFormsUI.Docking.DockPanelGradient();
-      WeifenLuo.WinFormsUI.Docking.TabGradient tabGradient1 = new WeifenLuo.WinFormsUI.Docking.TabGradient();
-      WeifenLuo.WinFormsUI.Docking.DockPaneStripSkin dockPaneStripSkin1 = new WeifenLuo.WinFormsUI.Docking.DockPaneStripSkin();
-      WeifenLuo.WinFormsUI.Docking.DockPaneStripGradient dockPaneStripGradient1 = new WeifenLuo.WinFormsUI.Docking.DockPaneStripGradient();
-      WeifenLuo.WinFormsUI.Docking.TabGradient tabGradient2 = new WeifenLuo.WinFormsUI.Docking.TabGradient();
-      WeifenLuo.WinFormsUI.Docking.DockPanelGradient dockPanelGradient2 = new WeifenLuo.WinFormsUI.Docking.DockPanelGradient();
-      WeifenLuo.WinFormsUI.Docking.TabGradient tabGradient3 = new WeifenLuo.WinFormsUI.Docking.TabGradient();
-      WeifenLuo.WinFormsUI.Docking.DockPaneStripToolWindowGradient dockPaneStripToolWindowGradient1 = new WeifenLuo.WinFormsUI.Docking.DockPaneStripToolWindowGradient();
-      WeifenLuo.WinFormsUI.Docking.TabGradient tabGradient4 = new WeifenLuo.WinFormsUI.Docking.TabGradient();
-      WeifenLuo.WinFormsUI.Docking.TabGradient tabGradient5 = new WeifenLuo.WinFormsUI.Docking.TabGradient();
-      WeifenLuo.WinFormsUI.Docking.DockPanelGradient dockPanelGradient3 = new WeifenLuo.WinFormsUI.Docking.DockPanelGradient();
-      WeifenLuo.WinFormsUI.Docking.TabGradient tabGradient6 = new WeifenLuo.WinFormsUI.Docking.TabGradient();
-      WeifenLuo.WinFormsUI.Docking.TabGradient tabGradient7 = new WeifenLuo.WinFormsUI.Docking.TabGradient();
-      this.dockPanel = new WeifenLuo.WinFormsUI.Docking.DockPanel();
-      this.SuspendLayout();
-      // 
-      // dockPanel
-      // 
-      this.dockPanel.ActiveAutoHideContent = null;
-      this.dockPanel.Dock = System.Windows.Forms.DockStyle.Fill;
-      this.dockPanel.DockBackColor = System.Drawing.SystemColors.Control;
-      this.dockPanel.Location = new System.Drawing.Point(0, 49);
-      this.dockPanel.Name = "dockPanel";
-      this.dockPanel.Size = new System.Drawing.Size(624, 341);
-      dockPanelGradient1.EndColor = System.Drawing.SystemColors.ControlLight;
-      dockPanelGradient1.StartColor = System.Drawing.SystemColors.ControlLight;
-      autoHideStripSkin1.DockStripGradient = dockPanelGradient1;
-      tabGradient1.EndColor = System.Drawing.SystemColors.Control;
-      tabGradient1.StartColor = System.Drawing.SystemColors.Control;
-      tabGradient1.TextColor = System.Drawing.SystemColors.ControlDarkDark;
-      autoHideStripSkin1.TabGradient = tabGradient1;
-      dockPanelSkin1.AutoHideStripSkin = autoHideStripSkin1;
-      tabGradient2.EndColor = System.Drawing.SystemColors.ControlLightLight;
-      tabGradient2.StartColor = System.Drawing.SystemColors.ControlLightLight;
-      tabGradient2.TextColor = System.Drawing.SystemColors.ControlText;
-      dockPaneStripGradient1.ActiveTabGradient = tabGradient2;
-      dockPanelGradient2.EndColor = System.Drawing.SystemColors.Control;
-      dockPanelGradient2.StartColor = System.Drawing.SystemColors.Control;
-      dockPaneStripGradient1.DockStripGradient = dockPanelGradient2;
-      tabGradient3.EndColor = System.Drawing.SystemColors.ControlLight;
-      tabGradient3.StartColor = System.Drawing.SystemColors.ControlLight;
-      tabGradient3.TextColor = System.Drawing.SystemColors.ControlText;
-      dockPaneStripGradient1.InactiveTabGradient = tabGradient3;
-      dockPaneStripSkin1.DocumentGradient = dockPaneStripGradient1;
-      tabGradient4.EndColor = System.Drawing.SystemColors.ActiveCaption;
-      tabGradient4.LinearGradientMode = System.Drawing.Drawing2D.LinearGradientMode.Vertical;
-      tabGradient4.StartColor = System.Drawing.SystemColors.GradientActiveCaption;
-      tabGradient4.TextColor = System.Drawing.SystemColors.ActiveCaptionText;
-      dockPaneStripToolWindowGradient1.ActiveCaptionGradient = tabGradient4;
-      tabGradient5.EndColor = System.Drawing.SystemColors.Control;
-      tabGradient5.StartColor = System.Drawing.SystemColors.Control;
-      tabGradient5.TextColor = System.Drawing.SystemColors.ControlText;
-      dockPaneStripToolWindowGradient1.ActiveTabGradient = tabGradient5;
-      dockPanelGradient3.EndColor = System.Drawing.SystemColors.ControlLight;
-      dockPanelGradient3.StartColor = System.Drawing.SystemColors.ControlLight;
-      dockPaneStripToolWindowGradient1.DockStripGradient = dockPanelGradient3;
-      tabGradient6.EndColor = System.Drawing.SystemColors.GradientInactiveCaption;
-      tabGradient6.LinearGradientMode = System.Drawing.Drawing2D.LinearGradientMode.Vertical;
-      tabGradient6.StartColor = System.Drawing.SystemColors.GradientInactiveCaption;
-      tabGradient6.TextColor = System.Drawing.SystemColors.ControlText;
-      dockPaneStripToolWindowGradient1.InactiveCaptionGradient = tabGradient6;
-      tabGradient7.EndColor = System.Drawing.Color.Transparent;
-      tabGradient7.StartColor = System.Drawing.Color.Transparent;
-      tabGradient7.TextColor = System.Drawing.SystemColors.ControlDarkDark;
-      dockPaneStripToolWindowGradient1.InactiveTabGradient = tabGradient7;
-      dockPaneStripSkin1.ToolWindowGradient = dockPaneStripToolWindowGradient1;
-      dockPanelSkin1.DockPaneStripSkin = dockPaneStripSkin1;
-      this.dockPanel.Skin = dockPanelSkin1;
-      this.dockPanel.TabIndex = 3;
-      // 
-      // DockingMainForm
-      // 
-      this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
-      this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
-      this.ClientSize = new System.Drawing.Size(624, 412);
-      this.Controls.Add(this.dockPanel);
-      this.IsMdiContainer = true;
-      this.Name = "DockingMainForm";
-      this.Controls.SetChildIndex(this.dockPanel, 0);
-      this.ResumeLayout(false);
-      this.PerformLayout();
-
-    }
-
-    #endregion
-
-    private WeifenLuo.WinFormsUI.Docking.DockPanel dockPanel;
-  }
-}
Index: trunk/sources/HeuristicLab.MainForm/3.2/DockingMainForm.cs
===================================================================
--- trunk/sources/HeuristicLab.MainForm/3.2/DockingMainForm.cs	(revision 2407)
+++ 	(revision )
@@ -1,115 +1,0 @@
-﻿#region License Information
-/* HeuristicLab
- * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
- *
- * This file is part of HeuristicLab.
- *
- * HeuristicLab is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * HeuristicLab is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
- */
-#endregion
-
-using System;
-using System.Collections.Generic;
-using System.ComponentModel;
-using System.Data;
-using System.Drawing;
-using System.Linq;
-using System.Text;
-using System.Windows.Forms;
-using WeifenLuo.WinFormsUI.Docking;
-
-namespace HeuristicLab.MainForm {
-  public partial class DockingMainForm : MainFormBase {
-    public DockingMainForm()
-      : base() {
-      InitializeComponent();
-    }
-
-    public DockingMainForm(Type userInterfaceItemType)
-      : base(userInterfaceItemType) {
-      InitializeComponent();
-    }
-
-    public override void ShowView(IView view) {
-      if (InvokeRequired) Invoke((Action<IView>)ShowView, view);
-      else {
-        if (views.Contains(view)) {
-          DockForm dockform = FindForm(view);
-          if (dockform != null)
-            dockform.Activate();
-        } else {
-          base.ShowView(view);
-          DockContent dockForm = new DockForm(view);
-          dockForm.Activated += new EventHandler(DockFormActivated);
-          dockForm.FormClosing += new FormClosingEventHandler(view.FormClosing);
-          dockForm.FormClosed += new FormClosedEventHandler(DockFormClosed);
-          foreach (IToolStripItem item in ToolStripItems)
-            view.StateChanged += new EventHandler(item.ViewChanged);
-          dockForm.Show(dockPanel);
-        }
-      }
-    }
-
-    public override void CloseView(IView view) {
-      if (InvokeRequired) Invoke((Action<IView>)CloseView, view);
-      else {
-        DockForm dockform = FindForm(view);
-        if (dockform != null)
-          dockform.Close();
-      }
-    }
-
-    private void DockFormClosed(object sender, FormClosedEventArgs e) {
-      DockForm dockForm = (DockForm)sender;
-      ViewClosed(dockForm.View);
-      dockForm.Activated -= new EventHandler(DockFormActivated);
-      dockForm.FormClosing -= new FormClosingEventHandler(dockForm.View.FormClosing);
-      dockForm.FormClosed -= new FormClosedEventHandler(DockFormClosed);
-      foreach (IToolStripItem item in ToolStripItems)
-        dockForm.View.StateChanged -= new EventHandler(item.ViewChanged);
-    }
-
-    private void DockFormActivated(object sender, EventArgs e) {
-      base.ActiveView = ((DockForm)sender).View;
-    }
-
-    protected DockForm FindForm(IView view) {
-      IEnumerable<DockForm> dockforms;
-
-      dockforms = from df in dockPanel.Documents
-                  where ((DockForm)df).View == view
-                  select (DockForm)df;
-      if (dockforms.Count() == 1)
-        return dockforms.Single();
-
-      dockforms = from fw in dockPanel.FloatWindows
-                  from np in fw.NestedPanes
-                  from dc in np.Contents
-                  where ((DockForm)dc).View == view
-                  select (DockForm)dc;
-      if (dockforms.Count() == 1)
-        return dockforms.Single();
-
-      dockforms = from dw in dockPanel.DockWindows
-                  from np in dw.NestedPanes
-                  from dc in np.Contents
-                  where ((DockForm)dc).View == view
-                  select (DockForm)dc;
-      if (dockforms.Count() == 1)
-        return dockforms.Single();
-
-      return null;
-    }
-  }
-}
Index: trunk/sources/HeuristicLab.MainForm/3.2/DockingMainForm.resx
===================================================================
--- trunk/sources/HeuristicLab.MainForm/3.2/DockingMainForm.resx	(revision 2407)
+++ 	(revision )
@@ -1,120 +1,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<root>
-  <!-- 
-    Microsoft ResX Schema 
-    
-    Version 2.0
-    
-    The primary goals of this format is to allow a simple XML format 
-    that is mostly human readable. The generation and parsing of the 
-    various data types are done through the TypeConverter classes 
-    associated with the data types.
-    
-    Example:
-    
-    ... ado.net/XML headers & schema ...
-    <resheader name="resmimetype">text/microsoft-resx</resheader>
-    <resheader name="version">2.0</resheader>
-    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
-    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
-    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
-    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
-    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
-        <value>[base64 mime encoded serialized .NET Framework object]</value>
-    </data>
-    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
-        <comment>This is a comment</comment>
-    </data>
-                
-    There are any number of "resheader" rows that contain simple 
-    name/value pairs.
-    
-    Each data row contains a name, and value. The row also contains a 
-    type or mimetype. Type corresponds to a .NET class that support 
-    text/value conversion through the TypeConverter architecture. 
-    Classes that don't support this are serialized and stored with the 
-    mimetype set.
-    
-    The mimetype is used for serialized objects, and tells the 
-    ResXResourceReader how to depersist the object. This is currently not 
-    extensible. For a given mimetype the value must be set accordingly:
-    
-    Note - application/x-microsoft.net.object.binary.base64 is the format 
-    that the ResXResourceWriter will generate, however the reader can 
-    read any of the formats listed below.
-    
-    mimetype: application/x-microsoft.net.object.binary.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
-            : and then encoded with base64 encoding.
-    
-    mimetype: application/x-microsoft.net.object.soap.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
-            : and then encoded with base64 encoding.
-
-    mimetype: application/x-microsoft.net.object.bytearray.base64
-    value   : The object must be serialized into a byte array 
-            : using a System.ComponentModel.TypeConverter
-            : and then encoded with base64 encoding.
-    -->
-  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
-    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
-    <xsd:element name="root" msdata:IsDataSet="true">
-      <xsd:complexType>
-        <xsd:choice maxOccurs="unbounded">
-          <xsd:element name="metadata">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" />
-              </xsd:sequence>
-              <xsd:attribute name="name" use="required" type="xsd:string" />
-              <xsd:attribute name="type" type="xsd:string" />
-              <xsd:attribute name="mimetype" type="xsd:string" />
-              <xsd:attribute ref="xml:space" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="assembly">
-            <xsd:complexType>
-              <xsd:attribute name="alias" type="xsd:string" />
-              <xsd:attribute name="name" type="xsd:string" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="data">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
-              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
-              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
-              <xsd:attribute ref="xml:space" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="resheader">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" />
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:choice>
-      </xsd:complexType>
-    </xsd:element>
-  </xsd:schema>
-  <resheader name="resmimetype">
-    <value>text/microsoft-resx</value>
-  </resheader>
-  <resheader name="version">
-    <value>2.0</value>
-  </resheader>
-  <resheader name="reader">
-    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <resheader name="writer">
-    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-</root>
Index: trunk/sources/HeuristicLab.MainForm/3.2/DocumentForm.Designer.cs
===================================================================
--- trunk/sources/HeuristicLab.MainForm/3.2/DocumentForm.Designer.cs	(revision 2407)
+++ 	(revision )
@@ -1,82 +1,0 @@
-#region License Information
-/* HeuristicLab
- * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
- *
- * This file is part of HeuristicLab.
- *
- * HeuristicLab is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * HeuristicLab is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
- */
-#endregion
-
-namespace HeuristicLab.MainForm {
-  partial class DocumentForm {
-    /// <summary>
-    /// Required designer variable.
-    /// </summary>
-    private System.ComponentModel.IContainer components = null;
-
-    /// <summary>
-    /// Clean up any resources being used.
-    /// </summary>
-    /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
-    protected override void Dispose(bool disposing) {
-      if (View != null)
-        View.CaptionChanged -= new System.EventHandler(View_CaptionChanged);
-      if (disposing && (components != null)) {
-        components.Dispose();
-      }
-      base.Dispose(disposing);
-    }
-
-    #region Windows Form Designer generated code
-
-    /// <summary>
-    /// Required method for Designer support - do not modify
-    /// the contents of this method with the code editor.
-    /// </summary>
-    private void InitializeComponent() {
-      System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(DocumentForm));
-      this.viewPanel = new System.Windows.Forms.Panel();
-      this.SuspendLayout();
-      // 
-      // viewPanel
-      // 
-      this.viewPanel.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
-                  | System.Windows.Forms.AnchorStyles.Left)
-                  | System.Windows.Forms.AnchorStyles.Right)));
-      this.viewPanel.Location = new System.Drawing.Point(12, 12);
-      this.viewPanel.Name = "viewPanel";
-      this.viewPanel.Size = new System.Drawing.Size(608, 422);
-      this.viewPanel.TabIndex = 0;
-      // 
-      // ViewForm
-      // 
-      this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
-      this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
-      this.ClientSize = new System.Drawing.Size(632, 446);
-      this.Controls.Add(this.viewPanel);
-      this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
-      this.Name = "ViewForm";
-      this.ShowInTaskbar = false;
-      this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
-      this.Text = "View";
-      this.ResumeLayout(false);
-
-    }
-
-    #endregion
-
-    private System.Windows.Forms.Panel viewPanel;
-  }
-}
Index: trunk/sources/HeuristicLab.MainForm/3.2/DocumentForm.cs
===================================================================
--- trunk/sources/HeuristicLab.MainForm/3.2/DocumentForm.cs	(revision 2407)
+++ 	(revision )
@@ -1,72 +1,0 @@
-#region License Information
-/* HeuristicLab
- * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
- *
- * This file is part of HeuristicLab.
- *
- * HeuristicLab is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * HeuristicLab is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
- */
-#endregion
-
-using System;
-using System.Collections.Generic;
-using System.ComponentModel;
-using System.Data;
-using System.Drawing;
-using System.Text;
-using System.Windows.Forms;
-
-namespace HeuristicLab.MainForm {
-  public partial class DocumentForm : Form {
-    private IView myView;
-    public IView View {
-      get { return myView; }
-    }
-
-    public DocumentForm() {
-      InitializeComponent();
-    }
-    public DocumentForm(IView view)
-      : this() {
-      myView = view;
-      if (View != null) {
-        Control control = (Control)View;
-        control.Dock = DockStyle.Fill;
-        viewPanel.Controls.Add(control);
-        View.CaptionChanged += new EventHandler(View_CaptionChanged);
-        UpdateText();
-      } else {
-        Label errorLabel = new Label();
-        errorLabel.Name = "errorLabel";
-        errorLabel.Text = "No view available";
-        errorLabel.AutoSize = false;
-        errorLabel.Dock = DockStyle.Fill;
-        viewPanel.Controls.Add(errorLabel);
-      }
-    }
-
-    private void UpdateText() {
-      if (InvokeRequired)
-        Invoke(new MethodInvoker(UpdateText));
-      else
-        Text = View.Caption;
-    }
-
-    #region View Events
-    private void View_CaptionChanged(object sender, EventArgs e) {
-      UpdateText();
-    }
-    #endregion
-  }
-}
Index: trunk/sources/HeuristicLab.MainForm/3.2/DocumentForm.resx
===================================================================
--- trunk/sources/HeuristicLab.MainForm/3.2/DocumentForm.resx	(revision 2407)
+++ 	(revision )
@@ -1,434 +1,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<root>
-  <!-- 
-    Microsoft ResX Schema 
-    
-    Version 2.0
-    
-    The primary goals of this format is to allow a simple XML format 
-    that is mostly human readable. The generation and parsing of the 
-    various data types are done through the TypeConverter classes 
-    associated with the data types.
-    
-    Example:
-    
-    ... ado.net/XML headers & schema ...
-    <resheader name="resmimetype">text/microsoft-resx</resheader>
-    <resheader name="version">2.0</resheader>
-    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
-    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
-    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
-    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
-    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
-        <value>[base64 mime encoded serialized .NET Framework object]</value>
-    </data>
-    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
-        <comment>This is a comment</comment>
-    </data>
-                
-    There are any number of "resheader" rows that contain simple 
-    name/value pairs.
-    
-    Each data row contains a name, and value. The row also contains a 
-    type or mimetype. Type corresponds to a .NET class that support 
-    text/value conversion through the TypeConverter architecture. 
-    Classes that don't support this are serialized and stored with the 
-    mimetype set.
-    
-    The mimetype is used for serialized objects, and tells the 
-    ResXResourceReader how to depersist the object. This is currently not 
-    extensible. For a given mimetype the value must be set accordingly:
-    
-    Note - application/x-microsoft.net.object.binary.base64 is the format 
-    that the ResXResourceWriter will generate, however the reader can 
-    read any of the formats listed below.
-    
-    mimetype: application/x-microsoft.net.object.binary.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
-            : and then encoded with base64 encoding.
-    
-    mimetype: application/x-microsoft.net.object.soap.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
-            : and then encoded with base64 encoding.
-
-    mimetype: application/x-microsoft.net.object.bytearray.base64
-    value   : The object must be serialized into a byte array 
-            : using a System.ComponentModel.TypeConverter
-            : and then encoded with base64 encoding.
-    -->
-  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
-    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
-    <xsd:element name="root" msdata:IsDataSet="true">
-      <xsd:complexType>
-        <xsd:choice maxOccurs="unbounded">
-          <xsd:element name="metadata">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" />
-              </xsd:sequence>
-              <xsd:attribute name="name" use="required" type="xsd:string" />
-              <xsd:attribute name="type" type="xsd:string" />
-              <xsd:attribute name="mimetype" type="xsd:string" />
-              <xsd:attribute ref="xml:space" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="assembly">
-            <xsd:complexType>
-              <xsd:attribute name="alias" type="xsd:string" />
-              <xsd:attribute name="name" type="xsd:string" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="data">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
-              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
-              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
-              <xsd:attribute ref="xml:space" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="resheader">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" />
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:choice>
-      </xsd:complexType>
-    </xsd:element>
-  </xsd:schema>
-  <resheader name="resmimetype">
-    <value>text/microsoft-resx</value>
-  </resheader>
-  <resheader name="version">
-    <value>2.0</value>
-  </resheader>
-  <resheader name="reader">
-    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <resheader name="writer">
-    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
-  <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-    <value>
-        AAABAAgAEBAQAAAAAAAoAQAAhgAAABAQAAAAAAAAaAUAAK4BAAAgIBAAAAAAAOgCAAAWBwAAICAAAAAA
-        AACoCAAA/gkAADAwEAAAAAAAaAYAAKYSAAAwMAAAAAAAAKgOAAAOGQAAQEAQAAAAAABoCgAAticAAEBA
-        AAAAAAAAKBYAAB4yAAAoAAAAEAAAACAAAAABAAQAAAAAAIAAAAAAAAAAAAAAABAAAAAQAAAAAAAAAAAA
-        gAAAgAAAAICAAIAAAACAAIAAgIAAAMDAwACAgIAAAAD/AAD/AAAA//8A/wAAAP8A/wD//wAA////AAAA
-        AAAAAAAAD/////////APD///gAAA8A8H//9wj//wDwj///gP//APgH//9wf/8A/wj///AP/wD/gIiIiA
-        f/AP/wAAAACP8A//gHd3eAfwD/9wj///CPAP//gP//+A8A//9w////DwD///D///+PAP////////8AAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAACgAAAAQAAAAIAAAAAEACAAAAAAAAAEAAAAAAAAAAAAAAAEAAAABAAAAAAAAAACAAACA
-        AAAAgIAAgAAAAIAAgACAgAAAwMDAAMDcwADwyqYABAQEAAgICAAMDAwAERERABYWFgAcHBwAIiIiACkp
-        KQBVVVUATU1NAEJCQgA5OTkAgHz/AFBQ/wCTANYA/+zMAMbW7wDW5+cAkKmtAAAAMwAAAGYAAACZAAAA
-        zAAAMwAAADMzAAAzZgAAM5kAADPMAAAz/wAAZgAAAGYzAABmZgAAZpkAAGbMAABm/wAAmQAAAJkzAACZ
-        ZgAAmZkAAJnMAACZ/wAAzAAAAMwzAADMZgAAzJkAAMzMAADM/wAA/2YAAP+ZAAD/zAAzAAAAMwAzADMA
-        ZgAzAJkAMwDMADMA/wAzMwAAMzMzADMzZgAzM5kAMzPMADMz/wAzZgAAM2YzADNmZgAzZpkAM2bMADNm
-        /wAzmQAAM5kzADOZZgAzmZkAM5nMADOZ/wAzzAAAM8wzADPMZgAzzJkAM8zMADPM/wAz/zMAM/9mADP/
-        mQAz/8wAM///AGYAAABmADMAZgBmAGYAmQBmAMwAZgD/AGYzAABmMzMAZjNmAGYzmQBmM8wAZjP/AGZm
-        AABmZjMAZmZmAGZmmQBmZswAZpkAAGaZMwBmmWYAZpmZAGaZzABmmf8AZswAAGbMMwBmzJkAZszMAGbM
-        /wBm/wAAZv8zAGb/mQBm/8wAzAD/AP8AzACZmQAAmTOZAJkAmQCZAMwAmQAAAJkzMwCZAGYAmTPMAJkA
-        /wCZZgAAmWYzAJkzZgCZZpkAmWbMAJkz/wCZmTMAmZlmAJmZmQCZmcwAmZn/AJnMAACZzDMAZsxmAJnM
-        mQCZzMwAmcz/AJn/AACZ/zMAmcxmAJn/mQCZ/8wAmf//AMwAAACZADMAzABmAMwAmQDMAMwAmTMAAMwz
-        MwDMM2YAzDOZAMwzzADMM/8AzGYAAMxmMwCZZmYAzGaZAMxmzACZZv8AzJkAAMyZMwDMmWYAzJmZAMyZ
-        zADMmf8AzMwAAMzMMwDMzGYAzMyZAMzMzADMzP8AzP8AAMz/MwCZ/2YAzP+ZAMz/zADM//8AzAAzAP8A
-        ZgD/AJkAzDMAAP8zMwD/M2YA/zOZAP8zzAD/M/8A/2YAAP9mMwDMZmYA/2aZAP9mzADMZv8A/5kAAP+Z
-        MwD/mWYA/5mZAP+ZzAD/mf8A/8wAAP/MMwD/zGYA/8yZAP/MzAD/zP8A//8zAMz/ZgD//5kA///MAGZm
-        /wBm/2YAZv//AP9mZgD/Zv8A//9mACEApQBfX18Ad3d3AIaGhgCWlpYAy8vLALKysgDX19cA3d3dAOPj
-        4wDq6uoA8fHxAPj4+ADw+/8ApKCgAICAgAAAAP8AAP8AAAD//wD/AAAA/wD/AP//AAD///8ACgoKCgoK
-        CgoKCgoKCgoKCgr//////////////////woK/xT//////20KFBQUFP8KCv8K8f/////xCpL/////Cgr/
-        EG3//////20U/////woK/5IK8f////8HCgf///8KCv//Duz//////xQU////Cgr//+wO7Ozs7OwSCvH/
-        /woK///zDgoKCgoKCgpt//8KCv///+sOBwcHBwfsCvH/Cgr////xCpL//////w7s/woK/////21D////
-        ///sDv8KCv////+8Cv//////8w7/Cgr//////xT///////9t/woK//////////////////8KCgoKCgoK
-        CgoKCgoKCgoKCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAoAAAAIAAAAEAAAAABAAQAAAAAAAACAAAAAAAAAAAAABAAAAAQAAAAAAAAAAAA
-        gAAAgAAAAICAAIAAAACAAIAAgIAAAMDAwACAgIAAAAD/AAD/AAAA//8A/wAAAP8A/wD//wAA////AAAA
-        AAAAAAAAAAAAAAAAAAAP///////////////////wB3f///////93d3d3d3d38AcAj///////AAAAAAAA
-        CPAPAA///////4AAAAAAAABwD4AI//////9wAAAAAAAAgA/wAP//////+AB///////AP+ACP//////cA
-        D//////wD/8AD///////AAf/////8A//gAf//////4AI//////AP/3AA///////wAH/////wD//4AH//
-        ////+ACP////8A//9wCP//////8AD/////AP//8AB///////gAj////wD///cAj///////AA////8A//
-        //AAAAAAAAAAAI////AP///4AAAAAAAAAAAP///wD////wAAAAAAAAAAB///8A////+AAIiIiIiIgAD/
-        //AP////8AD///////AAf//wD/////gAf//////4AI//8A/////3AA///////wAH//AP/////4AH////
-        //+ACP/wD/////9wCP//////8AD/8A//////8AB///////gAj/AP//////cAj///////AA/wD///////
-        AA///////4AI8A///////4AI//////9wAPAP///////wAP//////+ABwD///////94h///////eIcA//
-        //////////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAIAAAAEAAAAABAAgAAAAAAAAE
-        AAAAAAAAAAAAAAABAAAAAQAAAAAAAAAAgAAAgAAAAICAAIAAAACAAIAAgIAAAMDAwADA3MAA8MqmAAQE
-        BAAICAgADAwMABEREQAWFhYAHBwcACIiIgApKSkAVVVVAE1NTQBCQkIAOTk5AIB8/wBQUP8AkwDWAP/s
-        zADG1u8A1ufnAJCprQAAADMAAABmAAAAmQAAAMwAADMAAAAzMwAAM2YAADOZAAAzzAAAM/8AAGYAAABm
-        MwAAZmYAAGaZAABmzAAAZv8AAJkAAACZMwAAmWYAAJmZAACZzAAAmf8AAMwAAADMMwAAzGYAAMyZAADM
-        zAAAzP8AAP9mAAD/mQAA/8wAMwAAADMAMwAzAGYAMwCZADMAzAAzAP8AMzMAADMzMwAzM2YAMzOZADMz
-        zAAzM/8AM2YAADNmMwAzZmYAM2aZADNmzAAzZv8AM5kAADOZMwAzmWYAM5mZADOZzAAzmf8AM8wAADPM
-        MwAzzGYAM8yZADPMzAAzzP8AM/8zADP/ZgAz/5kAM//MADP//wBmAAAAZgAzAGYAZgBmAJkAZgDMAGYA
-        /wBmMwAAZjMzAGYzZgBmM5kAZjPMAGYz/wBmZgAAZmYzAGZmZgBmZpkAZmbMAGaZAABmmTMAZplmAGaZ
-        mQBmmcwAZpn/AGbMAABmzDMAZsyZAGbMzABmzP8AZv8AAGb/MwBm/5kAZv/MAMwA/wD/AMwAmZkAAJkz
-        mQCZAJkAmQDMAJkAAACZMzMAmQBmAJkzzACZAP8AmWYAAJlmMwCZM2YAmWaZAJlmzACZM/8AmZkzAJmZ
-        ZgCZmZkAmZnMAJmZ/wCZzAAAmcwzAGbMZgCZzJkAmczMAJnM/wCZ/wAAmf8zAJnMZgCZ/5kAmf/MAJn/
-        /wDMAAAAmQAzAMwAZgDMAJkAzADMAJkzAADMMzMAzDNmAMwzmQDMM8wAzDP/AMxmAADMZjMAmWZmAMxm
-        mQDMZswAmWb/AMyZAADMmTMAzJlmAMyZmQDMmcwAzJn/AMzMAADMzDMAzMxmAMzMmQDMzMwAzMz/AMz/
-        AADM/zMAmf9mAMz/mQDM/8wAzP//AMwAMwD/AGYA/wCZAMwzAAD/MzMA/zNmAP8zmQD/M8wA/zP/AP9m
-        AAD/ZjMAzGZmAP9mmQD/ZswAzGb/AP+ZAAD/mTMA/5lmAP+ZmQD/mcwA/5n/AP/MAAD/zDMA/8xmAP/M
-        mQD/zMwA/8z/AP//MwDM/2YA//+ZAP//zABmZv8AZv9mAGb//wD/ZmYA/2b/AP//ZgAhAKUAX19fAHd3
-        dwCGhoYAlpaWAMvLywCysrIA19fXAN3d3QDj4+MA6urqAPHx8QD4+PgA8Pv/AKSgoACAgIAAAAD/AAD/
-        AAAA//8A/wAAAP8A/wD//wAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////
-        /////////////////////////////////wAA8QcH8//////////////zBwcHBwcHBwcHBwcHB/H/AADv
-        Cgpt//////////////MKCgoKCgoKCgoKCgoKEv8AAP8QCg7z/////////////20KCgoKCgoKCgoKCgoK
-        8QAA/5IKCuz/////////////8QoKCgoKCgoKCgoKCgptAAD//w4KDv//////////////EgoKB///////
-        //////8AAP//7AoKkv////////////8HCgoU/////////////wAA///zDgoQ//////////////8UCgq8
-        ////////////AAD///9tCgrv/////////////5IKCm3///////////8AAP////EKChT/////////////
-        /xAKCvH//////////wAA/////20KCgf/////////////kgoK6///////////AAD/////BwoKbf//////
-        ///////zDgoO8/////////8AAP//////FAoK8f/////////////sCgrs/////////wAA///////vCgpt
-        //////////////MKChD/////////AAD///////8QCg4UFBQUFBQUFBQUFA4KCpL///////8AAP//////
-        /5IKCgoKCgoKCgoKCgoKCgoKEP///////wAA/////////w4KCgoKCgoKCgoKCgoKCgoKB///////AAD/
-        ////////7AoKFOzs7Ozs7Ozs7OzrCgoU//////8AAP/////////zDgoQ//////////////8UCgq8////
-        /wAA//////////9tCgrv/////////////5IKCm3/////AAD///////////EKChT//////////////xAK
-        CvH///8AAP///////////20KCgf/////////////kgoK6////wAA////////////BwoKbf//////////
-        ////DgoO8///AAD/////////////FAoK8f/////////////sCgrs//8AAP/////////////vCgpt////
-        //////////MOChD//wAA//////////////8QCg7z/////////////20KCpL/AAD//////////////5IK
-        Cuz/////////////8QoKEP8AAP///////////////w4KDvP/////////////bQoKBwAA////////////
-        ////7+zs8f////////////+87OzvAAD///////////////////////////////////////8AAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAwAAAAYAAAAAEABAAAAAAAgAQAAAAA
-        AAAAAAAAEAAAABAAAAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAwMDAAICAgAAAAP8AAP8AAAD/
-        /wD/AAAA/wD/AP//AAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////////////////
-        ///////wD//////////////////////////////wD//////////////////////////////wDwAAj///
-        ///////4AAAAAAAAAAAAAP/wD3AAD///////////AAAAAAAAAAAAAI/wD/AACP//////////gAAAAAAA
-        AAAAAA/wD/gAAP//////////cAAAAAAAAAAAAAjwD/8AAI//////////+AAAAAAAAAAAAAjwD/+AAA//
-        ////////9wAAf//////////wD//wAAj//////////wAAD//////////wD//4AAD//////////3AAB///
-        ///////wD//3AAB///////////AACP/////////wD///gACP//////////gAAH/////////wD///cAAH
-        //////////8AAI/////////wD///8AAI//////////+AAA/////////wD///9wAA///////////wAAj/
-        ///////wD////wAAj//////////4AAD////////wD////4AAD//////////3AACP///////wD/////AA
-        CP//////////gAAP///////wD/////gAAP//////////cAAI///////wD/////8AAI//////////8AAA
-        ///////wD/////+AAA//////////9wAAf//////wD/////9wAAAAAAAAAAAAAAAAj//////wD//////4
-        AAAAAAAAAAAAAAAAB//////wD//////3AAAAAAAAAAAAAAAACP/////wD///////AAAAAAAAAAAAAAAA
-        AP/////wD///////cAAAAAAAAAAAAAAAAI/////wD///////8AAI//////////+AAA/////wD///////
-        +AAA//////////9wAAj////wD////////wAAj//////////4AAD////wD////////4AAD//////////3
-        AACP///wD/////////AACP//////////AAAP///wD/////////gAAP//////////cAAH///wD///////
-        //cAAH//////////8AAI///wD/////////+AAA//////////+AAAf//wD/////////9wAAf/////////
-        /wAAj//wD//////////wAAj//////////4AAD//wD//////////3AAB///////////AACP/wD///////
-        ////AACP//////////gAAP/wD///////////gAAP//////////cAAI/wD///////////8AAI////////
-        //+AAA/wD///////////+AAA//////////9wAAjwD////////////wAAj//////////wAADwD///////
-        ///////////////////////wD//////////////////////////////wD///////////////////////
-        ///////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAADAA
-        AABgAAAAAQAIAAAAAAAACQAAAAAAAAAAAAAAAQAAAAEAAAAAAAAAAIAAAIAAAACAgACAAAAAgACAAICA
-        AADAwMAAwNzAAPDKpgAEBAQACAgIAAwMDAAREREAFhYWABwcHAAiIiIAKSkpAFVVVQBNTU0AQkJCADk5
-        OQCAfP8AUFD/AJMA1gD/7MwAxtbvANbn5wCQqa0AAAAzAAAAZgAAAJkAAADMAAAzAAAAMzMAADNmAAAz
-        mQAAM8wAADP/AABmAAAAZjMAAGZmAABmmQAAZswAAGb/AACZAAAAmTMAAJlmAACZmQAAmcwAAJn/AADM
-        AAAAzDMAAMxmAADMmQAAzMwAAMz/AAD/ZgAA/5kAAP/MADMAAAAzADMAMwBmADMAmQAzAMwAMwD/ADMz
-        AAAzMzMAMzNmADMzmQAzM8wAMzP/ADNmAAAzZjMAM2ZmADNmmQAzZswAM2b/ADOZAAAzmTMAM5lmADOZ
-        mQAzmcwAM5n/ADPMAAAzzDMAM8xmADPMmQAzzMwAM8z/ADP/MwAz/2YAM/+ZADP/zAAz//8AZgAAAGYA
-        MwBmAGYAZgCZAGYAzABmAP8AZjMAAGYzMwBmM2YAZjOZAGYzzABmM/8AZmYAAGZmMwBmZmYAZmaZAGZm
-        zABmmQAAZpkzAGaZZgBmmZkAZpnMAGaZ/wBmzAAAZswzAGbMmQBmzMwAZsz/AGb/AABm/zMAZv+ZAGb/
-        zADMAP8A/wDMAJmZAACZM5kAmQCZAJkAzACZAAAAmTMzAJkAZgCZM8wAmQD/AJlmAACZZjMAmTNmAJlm
-        mQCZZswAmTP/AJmZMwCZmWYAmZmZAJmZzACZmf8AmcwAAJnMMwBmzGYAmcyZAJnMzACZzP8Amf8AAJn/
-        MwCZzGYAmf+ZAJn/zACZ//8AzAAAAJkAMwDMAGYAzACZAMwAzACZMwAAzDMzAMwzZgDMM5kAzDPMAMwz
-        /wDMZgAAzGYzAJlmZgDMZpkAzGbMAJlm/wDMmQAAzJkzAMyZZgDMmZkAzJnMAMyZ/wDMzAAAzMwzAMzM
-        ZgDMzJkAzMzMAMzM/wDM/wAAzP8zAJn/ZgDM/5kAzP/MAMz//wDMADMA/wBmAP8AmQDMMwAA/zMzAP8z
-        ZgD/M5kA/zPMAP8z/wD/ZgAA/2YzAMxmZgD/ZpkA/2bMAMxm/wD/mQAA/5kzAP+ZZgD/mZkA/5nMAP+Z
-        /wD/zAAA/8wzAP/MZgD/zJkA/8zMAP/M/wD//zMAzP9mAP//mQD//8wAZmb/AGb/ZgBm//8A/2ZmAP9m
-        /wD//2YAIQClAF9fXwB3d3cAhoaGAJaWlgDLy8sAsrKyANfX1wDd3d0A4+PjAOrq6gDx8fEA+Pj4APD7
-        /wCkoKAAgICAAAAA/wAA/wAAAP//AP8AAAD/AP8A//8AAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////////////////////////////////////////
-        /////////////////wAA////////////////////////////////////////////////////////////
-        /wAA/////////////////////////////////////////////////////////////wAA/xQKCgpt////
-        /////////////////+wKCgoKCgoKCgoKCgoKCgoKCgoKDvP//wAA/wcKCgoK8///////////////////
-        //MOCgoKCgoKCgoKCgoKCgoKCgoKCuz//wAA//8QCgoK7P////////////////////9tCgoKCgoKCgoK
-        CgoKCgoKCgoKCg7//wAA//+SCgoKDvP////////////////////xCgoKCgoKCgoKCgoKCgoKCgoKCgqS
-        /wAA////EAoKCpL/////////////////////bQoKCgoUFBQUFBQUFBQUFBQUFBRt/wAA////7AoKChD/
-        ////////////////////BwoKCgrv/////////////////////wAA////8w4KCgqS////////////////
-        /////xQKCgoU/////////////////////wAA/////+sKCgoU/////////////////////+8KCgoKB///
-        /////////////////wAA//////EKCgoKB/////////////////////8QCgoKbf//////////////////
-        /wAA//////9tCgoKEv////////////////////+SCgoKCvH//////////////////wAA//////+8CgoK
-        CvH/////////////////////DgoKCm3//////////////////wAA////////FAoKCm3/////////////
-        ////////7AoKCgrz/////////////////wAA////////BwoKCgrz////////////////////8w4KCgrs
-        /////////////////wAA/////////xAKCgrs/////////////////////20KCgoO8///////////////
-        /wAA/////////5IKCgoO8/////////////////////EKCgoKkv///////////////wAA//////////8Q
-        CgoKkv////////////////////9tCgoKEP///////////////wAA///////////sCgoKEP//////////
-        //////////8HCgoKCpL//////////////wAA///////////zDgoKCpL/////////////////////FAoK
-        ChT//////////////wAA////////////6woKChT/////////////////////7woKCgoH////////////
-        /wAA////////////8QoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoS/////////////wAA////////////
-        /20KCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoK8f///////////wAA/////////////7wKCgoKCgoKCgoK
-        CgoKCgoKCgoKCgoKCgoKbf///////////wAA//////////////8UCgoKCgoKCgoKCgoKCgoKCgoKCgoK
-        CgoKCvP//////////wAA//////////////8HCgoKCkMUFBQUFBQUFBQUFBQUFBQUDgoKCuz/////////
-        /wAA////////////////EAoKCuz/////////////////////bQoKCg7z/////////wAA////////////
-        ////kgoKCg7z////////////////////8QoKCgqS/////////wAA/////////////////xAKCgrs////
-        /////////////////20KCgoQ/////////wAA/////////////////+wKCgoQ////////////////////
-        /7wKCgoKkv///////wAA//////////////////MOCgoKkv////////////////////8UCgoKFP//////
-        /wAA///////////////////rCgoKQ/////////////////////8HCgoKCgf//////wAA////////////
-        ///////xCgoKCgf/////////////////////EAoKChL//////wAA////////////////////bQoKChT/
-        ////////////////////kgoKCgrx/////wAA////////////////////vAoKCgrx////////////////
-        /////xAKCgpt/////wAA/////////////////////xQKCgpt/////////////////////+wKCgoK8///
-        /wAA/////////////////////wcKCgoK8f////////////////////MOCgoK7P///wAA////////////
-        //////////9DCgoK7P/////////////////////rCgoKDvP//wAA//////////////////////+SCgoK
-        DvP////////////////////xCgoKCpL//wAA////////////////////////EAoKCuz/////////////
-        ////////bQoKChD//wAA////////////////////////7AoKChD/////////////////////vAoKCgqS
-        /wAA////////////////////////8w4KCgqS/////////////////////xQKCgoU/wAA////////////
-        /////////////////////////////////////////////////wAA////////////////////////////
-        /////////////////////////////////wAA////////////////////////////////////////////
-        /////////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAQAAAAIAAAAABAAQAAAAAAAAIAAAAAAAAAAAAABAA
-        AAAQAAAAAAAAAAAAgAAAgAAAAICAAIAAAACAAIAAgIAAAMDAwACAgIAAAAD/AAD/AAAA//8A/wAAAP8A
-        /wD//wAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////////////////
-        //////////////////AP////////////////////////////////////////8A//////////////////
-        ///////////////////////wD/////////////////////////////////////////AP+IiIf///////
-        ///////4iIiIiIiIiIiIiIiIiH//8A/wAAAP//////////////gAAAAAAAAAAAAAAAAAD//wD/gAAAj/
-        /////////////wAAAAAAAAAAAAAAAAAI//AP/wAAAP//////////////gAAAAAAAAAAAAAAAAAD/8A//
-        gAAAj//////////////wAAAAAAAAAAAAAAAAAI/wD//wAAAP//////////////gAAAAAAAAAAAAAAAAA
-        D/AP//gAAAf/////////////9wAAAAAAAAAAAAAAAAAH8A//9wAACP//////////////gAAAf///////
-        ///////wD///gAAAf/////////////9wAAAP//////////////AP//9wAACP//////////////AAAAf/
-        ////////////8A////AAAA//////////////+AAACP/////////////wD///9wAACP//////////////
-        AAAAf/////////////AP////AAAA//////////////+AAACP////////////8A////+AAACP////////
-        //////AAAA/////////////wD/////AAAA//////////////+AAACP////////////AP////+AAACP//
-        ////////////AAAA////////////8A//////AAAA//////////////+AAACP///////////wD/////+A
-        AAB//////////////3AAAA////////////AP/////3AAAI//////////////+AAAB///////////8A//
-        ////+AAAB//////////////3AAAA///////////wD//////3AAAI//////////////8AAAB/////////
-        //AP//////8AAAD//////////////3AAAI//////////8A///////3AAAI//////////////8AAAB///
-        ///////wD///////8AAAD//////////////4AAAI//////////AP///////4AAAI//////////////8A
-        AAD/////////8A////////8AAAB3d3d3d3d3d3d3d4AAAI/////////wD////////4AAAAAAAAAAAAAA
-        AAAAAAAAD/////////AP////////8AAAAAAAAAAAAAAAAAAAAAAI////////8A/////////4AAAAAAAA
-        AAAAAAAAAAAAAAD////////wD/////////cAAAAAAAAAAAAAAAAAAAAAAI////////AP/////////4AA
-        AAAAAAAAAAAAAAAAAAAAD///////8A//////////cAAAAAAAAAAAAAAAAAAAAAAH///////wD///////
-        ///wAAAH//////////////cAAAj///////AP//////////cAAAj//////////////wAAAH//////8A//
-        /////////wAAAP//////////////gAAAj//////wD///////////gAAAj//////////////wAAAP////
-        //AP///////////wAAAP//////////////gAAAj/////8A////////////gAAAj//////////////wAA
-        AP/////wD////////////wAAAP//////////////gAAAj/////AP////////////gAAAf///////////
-        //9wAAAP////8A////////////9wAAAP//////////////gAAAj////wD/////////////gAAAf/////
-        ////////9wAAAP////AP////////////9wAACP//////////////AAAAf///8A//////////////AAAA
-        f/////////////9wAACP///wD/////////////9wAACP//////////////AAAAf///AP////////////
-        //AAAA//////////////+AAACP//8A//////////////+AAACP//////////////AAAA///wD///////
-        ////////AAAA//////////////+AAACP//AP//////////////+AAACP//////////////AAAA//8A//
-        //////////////AAAA//////////////+AAACP/wD///////////////+AAAB//////////////3AAAA
-        //AP///////////////3AAAA//////////////+AAACP8A////////////////+AAAB/////////////
-        /3AAAA/wD////////////////3AAAI//////////////8AAAB/AP////////////////////////////
-        ////////////8A/////////////////////////////////////////wD///////////////////////
-        //////////////////AP////////////////////////////////////////8AAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAQAAAAIAA
-        AAABAAgAAAAAAAAQAAAAAAAAAAAAAAABAAAAAQAAAAAAAAAAgAAAgAAAAICAAIAAAACAAIAAgIAAAMDA
-        wADA3MAA8MqmAAQEBAAICAgADAwMABEREQAWFhYAHBwcACIiIgApKSkAVVVVAE1NTQBCQkIAOTk5AIB8
-        /wBQUP8AkwDWAP/szADG1u8A1ufnAJCprQAAADMAAABmAAAAmQAAAMwAADMAAAAzMwAAM2YAADOZAAAz
-        zAAAM/8AAGYAAABmMwAAZmYAAGaZAABmzAAAZv8AAJkAAACZMwAAmWYAAJmZAACZzAAAmf8AAMwAAADM
-        MwAAzGYAAMyZAADMzAAAzP8AAP9mAAD/mQAA/8wAMwAAADMAMwAzAGYAMwCZADMAzAAzAP8AMzMAADMz
-        MwAzM2YAMzOZADMzzAAzM/8AM2YAADNmMwAzZmYAM2aZADNmzAAzZv8AM5kAADOZMwAzmWYAM5mZADOZ
-        zAAzmf8AM8wAADPMMwAzzGYAM8yZADPMzAAzzP8AM/8zADP/ZgAz/5kAM//MADP//wBmAAAAZgAzAGYA
-        ZgBmAJkAZgDMAGYA/wBmMwAAZjMzAGYzZgBmM5kAZjPMAGYz/wBmZgAAZmYzAGZmZgBmZpkAZmbMAGaZ
-        AABmmTMAZplmAGaZmQBmmcwAZpn/AGbMAABmzDMAZsyZAGbMzABmzP8AZv8AAGb/MwBm/5kAZv/MAMwA
-        /wD/AMwAmZkAAJkzmQCZAJkAmQDMAJkAAACZMzMAmQBmAJkzzACZAP8AmWYAAJlmMwCZM2YAmWaZAJlm
-        zACZM/8AmZkzAJmZZgCZmZkAmZnMAJmZ/wCZzAAAmcwzAGbMZgCZzJkAmczMAJnM/wCZ/wAAmf8zAJnM
-        ZgCZ/5kAmf/MAJn//wDMAAAAmQAzAMwAZgDMAJkAzADMAJkzAADMMzMAzDNmAMwzmQDMM8wAzDP/AMxm
-        AADMZjMAmWZmAMxmmQDMZswAmWb/AMyZAADMmTMAzJlmAMyZmQDMmcwAzJn/AMzMAADMzDMAzMxmAMzM
-        mQDMzMwAzMz/AMz/AADM/zMAmf9mAMz/mQDM/8wAzP//AMwAMwD/AGYA/wCZAMwzAAD/MzMA/zNmAP8z
-        mQD/M8wA/zP/AP9mAAD/ZjMAzGZmAP9mmQD/ZswAzGb/AP+ZAAD/mTMA/5lmAP+ZmQD/mcwA/5n/AP/M
-        AAD/zDMA/8xmAP/MmQD/zMwA/8z/AP//MwDM/2YA//+ZAP//zABmZv8AZv9mAGb//wD/ZmYA/2b/AP//
-        ZgAhAKUAX19fAHd3dwCGhoYAlpaWAMvLywCysrIA19fXAN3d3QDj4+MA6urqAPHx8QD4+PgA8Pv/AKSg
-        oACAgIAAAAD/AAD/AAAA//8A/wAAAP8A/wD//wAA////AAoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoK
-        CgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoK////////////////////////////
-        //////////////////////////////////////////////////////8KCv//////////////////////
-        ////////////////////////////////////////////////////////////Cgr/////////////////
-        /////////////////////////////////////////////////////////////////woK////////////
-        //////////////////////////////////////////////////////////////////////8KCv/z7Ozs
-        7Ozv/////////////////////////////5Ls7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O//////Cgr/
-        /xAKCgoKDvP///////////////////////////+SCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoO8///
-        /woK//+SCgoKCgqS////////////////////////////8w4KCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoK
-        Cuz///8KCv///xAKCgoKEP/////////////////////////////sCgoKCgoKCgoKCgoKCgoKCgoKCgoK
-        CgoKCgoQ////Cgr////sCgoKCgqS////////////////////////////8woKCgoKCgoKCgoKCgoKCgoK
-        CgoKCgoKCgoKCpL//woK////8w4KCgoKFP////////////////////////////9tCgoKCgoKCgoKCgoK
-        CgoKCgoKCgoKCgoKCgpD//8KCv/////rCgoKCgoH////////////////////////////8QoKCgoKChQU
-        FBQUFBQUFBQUFBQUFBQUFBQUFPH/Cgr/////8QoKCgoKEv////////////////////////////8SCgoK
-        Cgrv/////////////////////////////woK//////9tCgoKCgrx////////////////////////////
-        BwoKCgoKFP////////////////////////////8KCv//////vAoKCgoKbf//////////////////////
-        //////8UCgoKCgoH////////////////////////////Cgr///////8UCgoKCgrz////////////////
-        ////////////kgoKCgoKbf///////////////////////////woK////////BwoKCgoK7P//////////
-        //////////////////8QCgoKCgrx//////////////////////////8KCv////////8QCgoKCg7z////
-        ////////////////////////kgoKCgoKbf//////////////////////////Cgr/////////kgoKCgoK
-        kv////////////////////////////MOCgoKCg7z/////////////////////////woK//////////8Q
-        CgoKChD/////////////////////////////7AoKCgoK7P////////////////////////8KCv//////
-        ////7AoKCgoKkv////////////////////////////MOCgoKCg7/////////////////////////Cgr/
-        //////////MOCgoKChT/////////////////////////////bQoKCgoKkv//////////////////////
-        /woK////////////6woKCgoKB/////////////////////////////EKCgoKChD/////////////////
-        //////8KCv////////////EKCgoKChL/////////////////////////////bQoKCgoK7///////////
-        ////////////Cgr/////////////bQoKCgoK8f///////////////////////////wcKCgoKChT/////
-        /////////////////woK/////////////7wKCgoKCm3/////////////////////////////FAoKCgoK
-        B/////////////////////8KCv//////////////FAoKCgoK8////////////////////////////+8K
-        CgoKCm3/////////////////////Cgr//////////////wcKCgoKCuz/////////////////////////
-        ////EAoKCgoK8f///////////////////woK////////////////EAoKCgoO8///////////////////
-        /////////5IKCgoKCm3///////////////////8KCv///////////////5IKCgoKCpL/////////////
-        ////////////////DgoKCgoK8///////////////////Cgr/////////////////EAoKCgoQBwcHBwcH
-        BwcHBwcHBwcHBwcHBwcHBxIKCgoKCuz//////////////////woK/////////////////+wKCgoKCgoK
-        CgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoO8/////////////////8KCv/////////////////zDgoK
-        CgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCpL/////////////////Cgr/////////////////
-        /+sKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoQ/////////////////woK////////////
-        ///////xCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCpL///////////////8KCv//////
-        /////////////20KCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoU////////////////Cgr/
-        //////////////////+8CgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgf/////////////
-        /woK/////////////////////xQKCgoKCvH////////////////////////////vCgoKCgoS////////
-        //////8KCv////////////////////8HCgoKCgrs/////////////////////////////xAKCgoKCvH/
-        ////////////Cgr//////////////////////xAKCgoKDvP///////////////////////////+SCgoK
-        Cgpt/////////////woK//////////////////////+SCgoKCgrs////////////////////////////
-        /w4KCgoKCvP///////////8KCv///////////////////////xAKCgoKEP//////////////////////
-        ///////sCgoKCgrs////////////Cgr////////////////////////sCgoKCgqS////////////////
-        ////////////8w4KCgoKDvP//////////woK////////////////////////8w4KCgoKQ///////////
-        //////////////////9tCgoKCgqS//////////8KCv/////////////////////////sCgoKCgoH////
-        ////////////////////////8QoKCgoKEP//////////Cgr/////////////////////////8QoKCgoK
-        FP////////////////////////////9tCgoKCgqS/////////woK//////////////////////////9t
-        CgoKCgrx////////////////////////////BwoKCgoKFP////////8KCv//////////////////////
-        ////8QoKCgoKbf////////////////////////////8UCgoKCgoH////////Cgr/////////////////
-        //////////8UCgoKCgrx////////////////////////////7woKCgoKEv///////woK////////////
-        ////////////////BwoKCgoK7P////////////////////////////8QCgoKCgrx//////8KCv//////
-        //////////////////////9DCgoKCg7z////////////////////////////kgoKCgoKbf//////Cgr/
-        ////////////////////////////kgoKCgoK7P////////////////////////////8OCgoKCgrz////
-        /woK//////////////////////////////8QCgoKChD/////////////////////////////7AoKCgoK
-        7P////8KCv//////////////////////////////7AoKCgoKkv////////////////////////////MO
-        CgoKCg7z////Cgr///////////////////////////////MOCgoKCkP/////////////////////////
-        ////bQoKCgoKkv///woK////////////////////////////////7AoKCgoKB///////////////////
-        //////////EKCgoKChD///8KCv////////////////////////////////EKCgoKChT/////////////
-        ////////////////bQoKCgoKkv//Cgr/////////////////////////////////bQoKCgoK8f//////
-        /////////////////////wcKCgoKChT//woK//////////////////////////////////EKCgoKCm3/
-        ////////////////////////////FAoKCgoKB/8KCv//////////////////////////////////////
-        ////////////////////////////////////////////Cgr/////////////////////////////////
-        /////////////////////////////////////////////////woK////////////////////////////
-        //////////////////////////////////////////////////////8KCv//////////////////////
-        ////////////////////////////////////////////////////////////CgoKCgoKCgoKCgoKCgoK
-        CgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
-</value>
-  </data>
-</root>
Index: trunk/sources/HeuristicLab.MainForm/3.2/HeuristicLab.MainForm-3.2.csproj
===================================================================
--- trunk/sources/HeuristicLab.MainForm/3.2/HeuristicLab.MainForm-3.2.csproj	(revision 2407)
+++ trunk/sources/HeuristicLab.MainForm/3.2/HeuristicLab.MainForm-3.2.csproj	(revision 2458)
@@ -71,5 +71,4 @@
     </Reference>
     <Reference Include="System.Drawing" />
-    <Reference Include="System.Windows.Forms" />
     <Reference Include="System.Xml.Linq">
       <RequiredTargetFramework>3.5</RequiredTargetFramework>
@@ -82,59 +81,16 @@
   </ItemGroup>
   <ItemGroup>
-    <Compile Include="SingleDocumentMainForm.cs">
-      <SubType>Form</SubType>
-    </Compile>
-    <Compile Include="SingleDocumentMainForm.Designer.cs">
-      <DependentUpon>SingleDocumentMainForm.cs</DependentUpon>
-    </Compile>
+    <Compile Include="Interfaces\IMenuItem.cs" />
+    <Compile Include="Interfaces\IToolBarItem.cs" />
+    <Compile Include="MainFormManager.cs" />
+    <Compile Include="MenuItemBase.cs" />
+    <Compile Include="ToolBarItemBase.cs" />
+    <Compile Include="HeuristicLabMainFormPlugin.cs" />
+    <Compile Include="Interfaces\IMainForm.cs" />
     <Compile Include="Interfaces\IUserInterfaceItem.cs" />
-    <Compile Include="MultipleDocumentMainForm.cs">
-      <SubType>Form</SubType>
-    </Compile>
-    <Compile Include="MultipleDocumentMainForm.Designer.cs">
-      <DependentUpon>MultipleDocumentMainForm.cs</DependentUpon>
-    </Compile>
-    <Compile Include="ToolStripMenuItemBase.cs" />
-    <Compile Include="ToolStripButtonItemBase.cs" />
-    <Compile Include="ToolStripItemBase.cs" />
-    <Compile Include="DockingMainForm.cs">
-      <SubType>Form</SubType>
-    </Compile>
-    <Compile Include="DockingMainForm.Designer.cs">
-      <DependentUpon>DockingMainForm.cs</DependentUpon>
-    </Compile>
-    <Compile Include="MainFormBase.cs">
-      <SubType>Form</SubType>
-    </Compile>
-    <Compile Include="MainFormBase.Designer.cs">
-      <DependentUpon>MainFormBase.cs</DependentUpon>
-    </Compile>
-    <Compile Include="HeuristicLabMainFormPlugin.cs" />
-    <Compile Include="Interfaces\IAction.cs" />
-    <Compile Include="Interfaces\IMainForm.cs" />
-    <Compile Include="Interfaces\IToolStripMenuItem.cs" />
-    <Compile Include="Interfaces\IToolStripButtonItem.cs" />
-    <Compile Include="Interfaces\IToolStripItem.cs" />
     <Compile Include="Interfaces\IView.cs" />
     <Compile Include="Properties\AssemblyInfo.cs" />
     <Compile Include="UserInterfaceItemBase.cs" />
-    <Compile Include="ViewBase.cs">
-      <SubType>UserControl</SubType>
-    </Compile>
-    <Compile Include="ViewBase.Designer.cs">
-      <DependentUpon>ViewBase.cs</DependentUpon>
-    </Compile>
-    <Compile Include="DockForm.cs">
-      <SubType>Form</SubType>
-    </Compile>
-    <Compile Include="DockForm.Designer.cs">
-      <DependentUpon>DockForm.cs</DependentUpon>
-    </Compile>
-    <Compile Include="DocumentForm.cs">
-      <SubType>Form</SubType>
-    </Compile>
-    <Compile Include="DocumentForm.Designer.cs">
-      <DependentUpon>DocumentForm.cs</DependentUpon>
-    </Compile>
+    <Compile Include="DefaultViewAttribute.cs" />
   </ItemGroup>
   <ItemGroup>
@@ -143,34 +99,8 @@
       <Name>HeuristicLab.PluginInfrastructure</Name>
     </ProjectReference>
-    <ProjectReference Include="..\..\WinFormsUI\WinFormsUI.csproj">
-      <Project>{C75532C4-765B-418E-B09B-46D36B2ABDB1}</Project>
-      <Name>WinFormsUI</Name>
-    </ProjectReference>
   </ItemGroup>
   <ItemGroup>
     <None Include="HeuristicLab.snk" />
     <None Include="Properties\AssemblyInfo.frame" />
-  </ItemGroup>
-  <ItemGroup>
-    <EmbeddedResource Include="SingleDocumentMainForm.resx">
-      <DependentUpon>SingleDocumentMainForm.cs</DependentUpon>
-    </EmbeddedResource>
-    <EmbeddedResource Include="DockingMainForm.resx">
-      <DependentUpon>DockingMainForm.cs</DependentUpon>
-    </EmbeddedResource>
-    <EmbeddedResource Include="MainFormBase.resx">
-      <DependentUpon>MainFormBase.cs</DependentUpon>
-    </EmbeddedResource>
-    <EmbeddedResource Include="DockForm.resx">
-      <DependentUpon>DockForm.cs</DependentUpon>
-      <SubType>Designer</SubType>
-    </EmbeddedResource>
-    <EmbeddedResource Include="MultipleDocumentMainForm.resx">
-      <DependentUpon>MultipleDocumentMainForm.cs</DependentUpon>
-    </EmbeddedResource>
-    <EmbeddedResource Include="DocumentForm.resx">
-      <DependentUpon>DocumentForm.cs</DependentUpon>
-      <SubType>Designer</SubType>
-    </EmbeddedResource>
   </ItemGroup>
   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
Index: trunk/sources/HeuristicLab.MainForm/3.2/Interfaces/IAction.cs
===================================================================
--- trunk/sources/HeuristicLab.MainForm/3.2/Interfaces/IAction.cs	(revision 2407)
+++ 	(revision )
@@ -1,31 +1,0 @@
-﻿#region License Information
-/* HeuristicLab
- * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
- *
- * This file is part of HeuristicLab.
- *
- * HeuristicLab is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * HeuristicLab is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
- */
-#endregion
-
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-
-namespace HeuristicLab.MainForm {
-  public interface IAction {
-    void Execute(IMainForm mainform);
-  }
-}
Index: trunk/sources/HeuristicLab.MainForm/3.2/Interfaces/IMainForm.cs
===================================================================
--- trunk/sources/HeuristicLab.MainForm/3.2/Interfaces/IMainForm.cs	(revision 2407)
+++ trunk/sources/HeuristicLab.MainForm/3.2/Interfaces/IMainForm.cs	(revision 2458)
@@ -25,21 +25,17 @@
 using System.Text;
 using System.Drawing;
-using System.Windows.Forms;
 
 namespace HeuristicLab.MainForm {
   public interface IMainForm {
     string Title { get; set; }
-    string StatusStripText { get; set; }
-    bool StatusStripProgressBarVisible { get; set; }
-
-    Cursor Cursor { get; set; }
 
     IView ActiveView { get; }
     event EventHandler ActiveViewChanged;
-    event EventHandler MainFormChanged;
+    event EventHandler Changed;
     IEnumerable<IView> Views { get; }
 
     Type UserInterfaceItemType { get; }
-    void ShowView(IView view);
+    bool ShowView(IView view);  //return value indicates if a new form for the view is created
+    void HideView(IView view);
     void CloseView(IView view);
     void CloseAllViews();
Index: trunk/sources/HeuristicLab.MainForm/3.2/Interfaces/IMenuItem.cs
===================================================================
--- trunk/sources/HeuristicLab.MainForm/3.2/Interfaces/IMenuItem.cs	(revision 2458)
+++ trunk/sources/HeuristicLab.MainForm/3.2/Interfaces/IMenuItem.cs	(revision 2458)
@@ -0,0 +1,32 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Drawing;
+
+namespace HeuristicLab.MainForm {
+  public interface IMenuItem : IUserInterfaceItem {
+    IEnumerable<string> Structure { get; }
+  }
+}
Index: trunk/sources/HeuristicLab.MainForm/3.2/Interfaces/IToolBarItem.cs
===================================================================
--- trunk/sources/HeuristicLab.MainForm/3.2/Interfaces/IToolBarItem.cs	(revision 2458)
+++ trunk/sources/HeuristicLab.MainForm/3.2/Interfaces/IToolBarItem.cs	(revision 2458)
@@ -0,0 +1,31 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace HeuristicLab.MainForm {
+  public interface IToolBarItem : IUserInterfaceItem {
+    IEnumerable<string> Structure { get; }
+  }
+}
Index: trunk/sources/HeuristicLab.MainForm/3.2/Interfaces/IToolStripButtonItem.cs
===================================================================
--- trunk/sources/HeuristicLab.MainForm/3.2/Interfaces/IToolStripButtonItem.cs	(revision 2407)
+++ 	(revision )
@@ -1,31 +1,0 @@
-﻿#region License Information
-/* HeuristicLab
- * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
- *
- * This file is part of HeuristicLab.
- *
- * HeuristicLab is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * HeuristicLab is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
- */
-#endregion
-
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-
-namespace HeuristicLab.MainForm {
-  public interface IToolStripButtonItem : IToolStripItem {
-    bool IsDropDownButton { get; }
-  }
-}
Index: trunk/sources/HeuristicLab.MainForm/3.2/Interfaces/IToolStripItem.cs
===================================================================
--- trunk/sources/HeuristicLab.MainForm/3.2/Interfaces/IToolStripItem.cs	(revision 2407)
+++ 	(revision )
@@ -1,44 +1,0 @@
-﻿#region License Information
-/* HeuristicLab
- * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
- *
- * This file is part of HeuristicLab.
- *
- * HeuristicLab is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * HeuristicLab is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
- */
-#endregion
-
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Drawing;
-using System.Windows.Forms;
-
-namespace HeuristicLab.MainForm {
-  public interface IToolStripItem : IUserInterfaceItem {
-    int Position { get; }
-    Image Image { get; }
-    ToolStripItemDisplayStyle DisplayStyle { get; }
-
-    string Structure { get; }
-    char StructureSeparator { get; }
-
-    ToolStripItem ToolStripItem { get; set; }
-
-    void ActiveViewChanged(object sender, EventArgs e);
-    void ViewChanged(object sender, EventArgs e);
-    void MainFormChanged(object sender, EventArgs e);
-  }
-}
Index: trunk/sources/HeuristicLab.MainForm/3.2/Interfaces/IToolStripMenuItem.cs
===================================================================
--- trunk/sources/HeuristicLab.MainForm/3.2/Interfaces/IToolStripMenuItem.cs	(revision 2407)
+++ 	(revision )
@@ -1,32 +1,0 @@
-﻿#region License Information
-/* HeuristicLab
- * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
- *
- * This file is part of HeuristicLab.
- *
- * HeuristicLab is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * HeuristicLab is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
- */
-#endregion
-
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Windows.Forms;
-
-namespace HeuristicLab.MainForm {
-  public interface IToolStripMenuItem : IToolStripItem {
-    Keys ShortCutKeys { get; }
-  }
-}
Index: trunk/sources/HeuristicLab.MainForm/3.2/Interfaces/IUserInterfaceItem.cs
===================================================================
--- trunk/sources/HeuristicLab.MainForm/3.2/Interfaces/IUserInterfaceItem.cs	(revision 2407)
+++ trunk/sources/HeuristicLab.MainForm/3.2/Interfaces/IUserInterfaceItem.cs	(revision 2458)
@@ -24,8 +24,18 @@
 using System.Linq;
 using System.Text;
+using System.Drawing;
 
 namespace HeuristicLab.MainForm {
-  public interface IUserInterfaceItem : IAction {
+  public interface IUserInterfaceItem {
     string Name { get; }
+    int Position { get; }
+    Image Image { get; }
+    string ToolTipText { get; }
+
+    void Execute();
+
+    void ActiveViewChanged(object sender, EventArgs e);
+    void ViewChanged(object sender, EventArgs e);
+    void MainFormChanged(object sender, EventArgs e);
   }
 }
Index: trunk/sources/HeuristicLab.MainForm/3.2/Interfaces/IView.cs
===================================================================
--- trunk/sources/HeuristicLab.MainForm/3.2/Interfaces/IView.cs	(revision 2407)
+++ trunk/sources/HeuristicLab.MainForm/3.2/Interfaces/IView.cs	(revision 2458)
@@ -23,5 +23,5 @@
 using System.Collections.Generic;
 using System.Text;
-using System.Windows.Forms;
+using System.ComponentModel;
 
 namespace HeuristicLab.MainForm {
@@ -29,7 +29,12 @@
     string Caption { get; set; }
     event EventHandler CaptionChanged;
-    event EventHandler StateChanged;
-    IMainForm MainForm { get; set; }
-    void FormClosing(object sender, FormClosingEventArgs e);
+    event EventHandler Changed;
+    void OnClosing(object sender, CancelEventArgs e);
+    void OnClosed(object sender, EventArgs e);
+  }
+
+  public interface IView<T> : IView {
+    void View(T item);
+    T Item { get; }
   }
 }
Index: trunk/sources/HeuristicLab.MainForm/3.2/MainFormBase.Designer.cs
===================================================================
--- trunk/sources/HeuristicLab.MainForm/3.2/MainFormBase.Designer.cs	(revision 2407)
+++ 	(revision )
@@ -1,100 +1,0 @@
-﻿namespace HeuristicLab.MainForm {
-  partial class MainFormBase {
-    /// <summary>
-    /// Required designer variable.
-    /// </summary>
-    private System.ComponentModel.IContainer components = null;
-
-    /// <summary>
-    /// Clean up any resources being used.
-    /// </summary>
-    /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
-    protected override void Dispose(bool disposing) {
-      if (disposing && (components != null)) {
-        components.Dispose();
-      }
-      base.Dispose(disposing);
-    }
-
-    #region Windows Form Designer generated code
-
-    /// <summary>
-    /// Required method for Designer support - do not modify
-    /// the contents of this method with the code editor.
-    /// </summary>
-    private void InitializeComponent() {
-      System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainFormBase));
-      this.menuStrip = new System.Windows.Forms.MenuStrip();
-      this.toolStrip = new System.Windows.Forms.ToolStrip();
-      this.statusStrip = new System.Windows.Forms.StatusStrip();
-      this.toolStripProgressBar = new System.Windows.Forms.ToolStripProgressBar();
-      this.toolStripStatusLabel = new System.Windows.Forms.ToolStripStatusLabel();
-      this.statusStrip.SuspendLayout();
-      this.SuspendLayout();
-      // 
-      // menuStrip
-      // 
-      this.menuStrip.Location = new System.Drawing.Point(0, 0);
-      this.menuStrip.Name = "menuStrip";
-      this.menuStrip.Size = new System.Drawing.Size(624, 24);
-      this.menuStrip.TabIndex = 0;
-      this.menuStrip.Text = "menuStrip";
-      // 
-      // toolStrip
-      // 
-      this.toolStrip.Location = new System.Drawing.Point(0, 24);
-      this.toolStrip.Name = "toolStrip";
-      this.toolStrip.Size = new System.Drawing.Size(624, 25);
-      this.toolStrip.TabIndex = 1;
-      // 
-      // statusStrip
-      // 
-      this.statusStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
-            this.toolStripProgressBar,
-            this.toolStripStatusLabel});
-      this.statusStrip.Location = new System.Drawing.Point(0, 390);
-      this.statusStrip.Name = "statusStrip";
-      this.statusStrip.Size = new System.Drawing.Size(624, 22);
-      this.statusStrip.TabIndex = 2;
-      this.statusStrip.Text = "statusStrip";
-      // 
-      // toolStripProgressBar
-      // 
-      this.toolStripProgressBar.Name = "toolStripProgressBar";
-      this.toolStripProgressBar.Size = new System.Drawing.Size(100, 16);
-      this.toolStripProgressBar.Style = System.Windows.Forms.ProgressBarStyle.Marquee;
-      this.toolStripProgressBar.Visible = false;
-      // 
-      // toolStripStatusLabel
-      // 
-      this.toolStripStatusLabel.Name = "toolStripStatusLabel";
-      this.toolStripStatusLabel.Size = new System.Drawing.Size(112, 17);
-      this.toolStripStatusLabel.Text = "toolStripStatusLabel";
-      // 
-      // MainFormBase
-      // 
-      this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
-      this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
-      this.ClientSize = new System.Drawing.Size(624, 412);
-      this.Controls.Add(this.statusStrip);
-      this.Controls.Add(this.toolStrip);
-      this.Controls.Add(this.menuStrip);
-      this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
-      this.MainMenuStrip = this.menuStrip;
-      this.Name = "MainFormBase";
-      this.statusStrip.ResumeLayout(false);
-      this.statusStrip.PerformLayout();
-      this.ResumeLayout(false);
-      this.PerformLayout();
-
-    }
-
-    #endregion
-
-    private System.Windows.Forms.ToolStrip toolStrip;
-    private System.Windows.Forms.StatusStrip statusStrip;
-    protected System.Windows.Forms.MenuStrip menuStrip;
-    private System.Windows.Forms.ToolStripProgressBar toolStripProgressBar;
-    private System.Windows.Forms.ToolStripStatusLabel toolStripStatusLabel;
-  }
-}
Index: trunk/sources/HeuristicLab.MainForm/3.2/MainFormBase.cs
===================================================================
--- trunk/sources/HeuristicLab.MainForm/3.2/MainFormBase.cs	(revision 2407)
+++ 	(revision )
@@ -1,255 +1,0 @@
-﻿#region License Information
-/* HeuristicLab
- * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
- *
- * This file is part of HeuristicLab.
- *
- * HeuristicLab is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * HeuristicLab is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
- */
-#endregion
-
-using System;
-using System.Collections.Generic;
-using System.ComponentModel;
-using System.Data;
-using System.Drawing;
-using System.Linq;
-using System.Text;
-using System.Windows.Forms;
-
-using HeuristicLab.PluginInfrastructure;
-
-namespace HeuristicLab.MainForm {
-  public partial class MainFormBase : Form, IMainForm {
-    protected MainFormBase()
-      : base() {
-      InitializeComponent();
-      views = new List<IView>();
-      toolStripItems = new List<IToolStripItem>();
-      this.StatusStripText = "";
-    }
-
-    protected MainFormBase(Type userInterfaceItemType)
-      : this() {
-      this.userInterfaceItemType = userInterfaceItemType;
-      CreateGUI();
-      OnActiveViewChanged();
-      FireMainFormChanged();
-    }
-
-    #region IMainForm Members
-    public string Title {
-      get { return this.Text; }
-      set {
-        if (InvokeRequired) {
-          Action<string> action = delegate(string s) { this.Title = s; };
-          Invoke(action, value);
-        } else
-          this.Text = value;
-      }
-    }
-
-    public string StatusStripText {
-      get { return this.toolStripStatusLabel.Text; }
-      set {
-        if (InvokeRequired) {
-          Action<string> action = delegate(string s) { this.StatusStripText = s; };
-          Invoke(action, value);
-        } else
-          this.toolStripStatusLabel.Text = value;
-      }
-    }
-
-    public bool StatusStripProgressBarVisible {
-      get { return this.toolStripProgressBar.Visible; }
-      set {
-        if (InvokeRequired) {
-          Action<bool> action = delegate(bool b) { this.StatusStripProgressBarVisible = b; };
-          Invoke(action, value);
-        } else
-          this.toolStripProgressBar.Visible = value;
-      }
-    }
-
-    public override Cursor Cursor {
-      get { return base.Cursor; }
-      set {
-        if (InvokeRequired) {
-          Action<Cursor> action = delegate(Cursor c) { this.Cursor = c; };
-          Invoke(action, value);
-        } else
-          base.Cursor = value;
-      }
-    }
-
-    private Type userInterfaceItemType;
-    public Type UserInterfaceItemType {
-      get { return this.userInterfaceItemType; }
-      protected set { this.userInterfaceItemType = value; }
-    }
-
-    protected List<IView> views;
-    public IEnumerable<IView> Views {
-      get { return views; }
-    }
-
-    private IView activeView;
-    public IView ActiveView {
-      get { return this.activeView; }
-      protected set {
-        if (this.activeView != value) {
-          if (InvokeRequired) {
-            Action<IView> action = delegate(IView activeView) { this.ActiveView = activeView; };
-            Invoke(action, value);
-          } else {
-            this.activeView = value;
-            OnActiveViewChanged();
-          }
-        }
-      }
-    }
-
-    private List<IToolStripItem> toolStripItems;
-    protected IEnumerable<IToolStripItem> ToolStripItems {
-      get { return this.toolStripItems; }
-    }
-
-    public event EventHandler ActiveViewChanged;
-    protected virtual void OnActiveViewChanged() {
-      if (InvokeRequired)
-        Invoke((MethodInvoker)OnActiveViewChanged);
-      else if (ActiveViewChanged != null)
-        ActiveViewChanged(this, new EventArgs());
-    }
-
-    public event EventHandler MainFormChanged;
-    public void FireMainFormChanged() {
-      OnMainFormChanged();
-    }
-    protected virtual void OnMainFormChanged() {
-      if (InvokeRequired)
-        Invoke((MethodInvoker)FireMainFormChanged);
-      else if (MainFormChanged != null)
-        MainFormChanged(this, new EventArgs());
-    }
-
-    public virtual void ShowView(IView view) {
-      if (!views.Contains(view)) {
-        view.MainForm = this;
-        views.Add(view);
-        ActiveView = view;
-      }
-    }
-
-    public virtual void CloseView(IView view) {
-    }
-
-    public virtual void CloseAllViews() {
-      foreach (IView view in views.ToArray())
-        CloseView(view);
-    }
-
-    protected virtual void ViewClosed(IView view) {
-      views.Remove(view);
-      if (ActiveView == view)
-        ActiveView = null;
-    }
-    #endregion
-
-    #region create menu and toolbar
-    protected virtual void CreateGUI() {
-      DiscoveryService ds = new DiscoveryService();
-
-      object[] items = ds.GetInstances(userInterfaceItemType);
-      IEnumerable<IToolStripMenuItem> toolStripMenuItems =
-        from mi in items
-        where mi is IToolStripMenuItem
-        orderby ((IToolStripMenuItem)mi).Position
-        select (IToolStripMenuItem)mi;
-      foreach (IToolStripMenuItem menuItem in toolStripMenuItems)
-        AddToolStripMenuItem(menuItem);
-
-      items = ds.GetInstances(userInterfaceItemType);
-      IEnumerable<IToolStripButtonItem> toolStripButtonItems =
-        from bi in items
-        where bi is IToolStripButtonItem
-        orderby ((IToolStripButtonItem)bi).Position
-        select (IToolStripButtonItem)bi;
-      foreach (IToolStripButtonItem toolStripButtonItem in toolStripButtonItems)
-        AddToolStripButtonItem(toolStripButtonItem);
-    }
-
-    private void AddToolStripMenuItem(IToolStripMenuItem menuItem) {
-      ToolStripMenuItem item = new ToolStripMenuItem();
-      SetToolStripItemProperties(item, menuItem);
-      item.ShortcutKeys = menuItem.ShortCutKeys;
-
-      ToolStripDropDownItem parent = FindParent(menuItem, menuStrip.Items);
-      if (parent == null)
-        menuStrip.Items.Add(item);
-      else
-        parent.DropDownItems.Add(item);
-    }
-
-    private void AddToolStripButtonItem(IToolStripButtonItem buttonItem) {
-      ToolStripItem item;
-      if (buttonItem.IsDropDownButton)
-        item = new ToolStripDropDownButton();
-      else
-        item = new ToolStripButton();
-
-      SetToolStripItemProperties(item, buttonItem);
-      ToolStripDropDownItem parent = FindParent(buttonItem, toolStrip.Items);
-      if (parent == null)
-        toolStrip.Items.Add(item);
-      else
-        parent.DropDownItems.Add(item);
-    }
-
-    private ToolStripDropDownItem FindParent(IToolStripItem item, ToolStripItemCollection parentItems) {
-      if (String.IsNullOrEmpty(item.Structure))
-        return null;
-
-      ToolStripDropDownItem parent = null;
-      foreach (string structure in item.Structure.Split(item.StructureSeparator)) {
-        if (parentItems.ContainsKey(structure))
-          parent = (ToolStripDropDownItem)parentItems[structure];
-        else
-          throw new ArgumentException("Structure string for item " + item.Name +
-            " is invalid. Could not find " + structure + " in toolstrip!");
-        parentItems = parent.DropDownItems;
-      }
-      return parent;
-    }
-
-    private void SetToolStripItemProperties(ToolStripItem toolStripItem, IToolStripItem iToolStripItem) {
-      toolStripItem.Text = iToolStripItem.Name;
-      toolStripItem.Name = iToolStripItem.Name;
-      toolStripItem.Tag = iToolStripItem;
-      toolStripItem.Image = iToolStripItem.Image;
-      toolStripItem.DisplayStyle = iToolStripItem.DisplayStyle;
-      this.ActiveViewChanged += new EventHandler(iToolStripItem.ActiveViewChanged);
-      this.MainFormChanged += new EventHandler(iToolStripItem.MainFormChanged);
-      toolStripItem.Click += new EventHandler(ToolStripItemClicked);
-      this.toolStripItems.Add(iToolStripItem);
-      iToolStripItem.ToolStripItem = toolStripItem;
-    }
-
-    private void ToolStripItemClicked(object sender, EventArgs e) {
-      System.Windows.Forms.ToolStripItem item = (System.Windows.Forms.ToolStripItem)sender;
-      ((IAction)item.Tag).Execute(this);
-    }
-    #endregion
-  }
-}
Index: trunk/sources/HeuristicLab.MainForm/3.2/MainFormBase.resx
===================================================================
--- trunk/sources/HeuristicLab.MainForm/3.2/MainFormBase.resx	(revision 2407)
+++ 	(revision )
@@ -1,443 +1,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<root>
-  <!-- 
-    Microsoft ResX Schema 
-    
-    Version 2.0
-    
-    The primary goals of this format is to allow a simple XML format 
-    that is mostly human readable. The generation and parsing of the 
-    various data types are done through the TypeConverter classes 
-    associated with the data types.
-    
-    Example:
-    
-    ... ado.net/XML headers & schema ...
-    <resheader name="resmimetype">text/microsoft-resx</resheader>
-    <resheader name="version">2.0</resheader>
-    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
-    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
-    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
-    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
-    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
-        <value>[base64 mime encoded serialized .NET Framework object]</value>
-    </data>
-    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
-        <comment>This is a comment</comment>
-    </data>
-                
-    There are any number of "resheader" rows that contain simple 
-    name/value pairs.
-    
-    Each data row contains a name, and value. The row also contains a 
-    type or mimetype. Type corresponds to a .NET class that support 
-    text/value conversion through the TypeConverter architecture. 
-    Classes that don't support this are serialized and stored with the 
-    mimetype set.
-    
-    The mimetype is used for serialized objects, and tells the 
-    ResXResourceReader how to depersist the object. This is currently not 
-    extensible. For a given mimetype the value must be set accordingly:
-    
-    Note - application/x-microsoft.net.object.binary.base64 is the format 
-    that the ResXResourceWriter will generate, however the reader can 
-    read any of the formats listed below.
-    
-    mimetype: application/x-microsoft.net.object.binary.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
-            : and then encoded with base64 encoding.
-    
-    mimetype: application/x-microsoft.net.object.soap.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
-            : and then encoded with base64 encoding.
-
-    mimetype: application/x-microsoft.net.object.bytearray.base64
-    value   : The object must be serialized into a byte array 
-            : using a System.ComponentModel.TypeConverter
-            : and then encoded with base64 encoding.
-    -->
-  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
-    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
-    <xsd:element name="root" msdata:IsDataSet="true">
-      <xsd:complexType>
-        <xsd:choice maxOccurs="unbounded">
-          <xsd:element name="metadata">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" />
-              </xsd:sequence>
-              <xsd:attribute name="name" use="required" type="xsd:string" />
-              <xsd:attribute name="type" type="xsd:string" />
-              <xsd:attribute name="mimetype" type="xsd:string" />
-              <xsd:attribute ref="xml:space" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="assembly">
-            <xsd:complexType>
-              <xsd:attribute name="alias" type="xsd:string" />
-              <xsd:attribute name="name" type="xsd:string" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="data">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
-              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
-              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
-              <xsd:attribute ref="xml:space" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="resheader">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" />
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:choice>
-      </xsd:complexType>
-    </xsd:element>
-  </xsd:schema>
-  <resheader name="resmimetype">
-    <value>text/microsoft-resx</value>
-  </resheader>
-  <resheader name="version">
-    <value>2.0</value>
-  </resheader>
-  <resheader name="reader">
-    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <resheader name="writer">
-    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <metadata name="menuStrip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
-    <value>17, 17</value>
-  </metadata>
-  <metadata name="toolStrip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
-    <value>132, 17</value>
-  </metadata>
-  <metadata name="statusStrip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
-    <value>237, 17</value>
-  </metadata>
-  <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
-  <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-    <value>
-        AAABAAgAEBAQAAAAAAAoAQAAhgAAABAQAAAAAAAAaAUAAK4BAAAgIBAAAAAAAOgCAAAWBwAAICAAAAAA
-        AACoCAAA/gkAADAwEAAAAAAAaAYAAKYSAAAwMAAAAAAAAKgOAAAOGQAAQEAQAAAAAABoCgAAticAAEBA
-        AAAAAAAAKBYAAB4yAAAoAAAAEAAAACAAAAABAAQAAAAAAIAAAAAAAAAAAAAAABAAAAAQAAAAAAAAAAAA
-        gAAAgAAAAICAAIAAAACAAIAAgIAAAMDAwACAgIAAAAD/AAD/AAAA//8A/wAAAP8A/wD//wAA////AAAA
-        AAAAAAAAD/////////APD///gAAA8A8H//9wj//wDwj///gP//APgH//9wf/8A/wj///AP/wD/gIiIiA
-        f/AP/wAAAACP8A//gHd3eAfwD/9wj///CPAP//gP//+A8A//9w////DwD///D///+PAP////////8AAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAACgAAAAQAAAAIAAAAAEACAAAAAAAAAEAAAAAAAAAAAAAAAEAAAABAAAAAAAAAACAAACA
-        AAAAgIAAgAAAAIAAgACAgAAAwMDAAMDcwADwyqYABAQEAAgICAAMDAwAERERABYWFgAcHBwAIiIiACkp
-        KQBVVVUATU1NAEJCQgA5OTkAgHz/AFBQ/wCTANYA/+zMAMbW7wDW5+cAkKmtAAAAMwAAAGYAAACZAAAA
-        zAAAMwAAADMzAAAzZgAAM5kAADPMAAAz/wAAZgAAAGYzAABmZgAAZpkAAGbMAABm/wAAmQAAAJkzAACZ
-        ZgAAmZkAAJnMAACZ/wAAzAAAAMwzAADMZgAAzJkAAMzMAADM/wAA/2YAAP+ZAAD/zAAzAAAAMwAzADMA
-        ZgAzAJkAMwDMADMA/wAzMwAAMzMzADMzZgAzM5kAMzPMADMz/wAzZgAAM2YzADNmZgAzZpkAM2bMADNm
-        /wAzmQAAM5kzADOZZgAzmZkAM5nMADOZ/wAzzAAAM8wzADPMZgAzzJkAM8zMADPM/wAz/zMAM/9mADP/
-        mQAz/8wAM///AGYAAABmADMAZgBmAGYAmQBmAMwAZgD/AGYzAABmMzMAZjNmAGYzmQBmM8wAZjP/AGZm
-        AABmZjMAZmZmAGZmmQBmZswAZpkAAGaZMwBmmWYAZpmZAGaZzABmmf8AZswAAGbMMwBmzJkAZszMAGbM
-        /wBm/wAAZv8zAGb/mQBm/8wAzAD/AP8AzACZmQAAmTOZAJkAmQCZAMwAmQAAAJkzMwCZAGYAmTPMAJkA
-        /wCZZgAAmWYzAJkzZgCZZpkAmWbMAJkz/wCZmTMAmZlmAJmZmQCZmcwAmZn/AJnMAACZzDMAZsxmAJnM
-        mQCZzMwAmcz/AJn/AACZ/zMAmcxmAJn/mQCZ/8wAmf//AMwAAACZADMAzABmAMwAmQDMAMwAmTMAAMwz
-        MwDMM2YAzDOZAMwzzADMM/8AzGYAAMxmMwCZZmYAzGaZAMxmzACZZv8AzJkAAMyZMwDMmWYAzJmZAMyZ
-        zADMmf8AzMwAAMzMMwDMzGYAzMyZAMzMzADMzP8AzP8AAMz/MwCZ/2YAzP+ZAMz/zADM//8AzAAzAP8A
-        ZgD/AJkAzDMAAP8zMwD/M2YA/zOZAP8zzAD/M/8A/2YAAP9mMwDMZmYA/2aZAP9mzADMZv8A/5kAAP+Z
-        MwD/mWYA/5mZAP+ZzAD/mf8A/8wAAP/MMwD/zGYA/8yZAP/MzAD/zP8A//8zAMz/ZgD//5kA///MAGZm
-        /wBm/2YAZv//AP9mZgD/Zv8A//9mACEApQBfX18Ad3d3AIaGhgCWlpYAy8vLALKysgDX19cA3d3dAOPj
-        4wDq6uoA8fHxAPj4+ADw+/8ApKCgAICAgAAAAP8AAP8AAAD//wD/AAAA/wD/AP//AAD///8ACgoKCgoK
-        CgoKCgoKCgoKCgr//////////////////woK/xT//////20KFBQUFP8KCv8K8f/////xCpL/////Cgr/
-        EG3//////20U/////woK/5IK8f////8HCgf///8KCv//Duz//////xQU////Cgr//+wO7Ozs7OwSCvH/
-        /woK///zDgoKCgoKCgpt//8KCv///+sOBwcHBwfsCvH/Cgr////xCpL//////w7s/woK/////21D////
-        ///sDv8KCv////+8Cv//////8w7/Cgr//////xT///////9t/woK//////////////////8KCgoKCgoK
-        CgoKCgoKCgoKCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAoAAAAIAAAAEAAAAABAAQAAAAAAAACAAAAAAAAAAAAABAAAAAQAAAAAAAAAAAA
-        gAAAgAAAAICAAIAAAACAAIAAgIAAAMDAwACAgIAAAAD/AAD/AAAA//8A/wAAAP8A/wD//wAA////AAAA
-        AAAAAAAAAAAAAAAAAAAP///////////////////wB3f///////93d3d3d3d38AcAj///////AAAAAAAA
-        CPAPAA///////4AAAAAAAABwD4AI//////9wAAAAAAAAgA/wAP//////+AB///////AP+ACP//////cA
-        D//////wD/8AD///////AAf/////8A//gAf//////4AI//////AP/3AA///////wAH/////wD//4AH//
-        ////+ACP////8A//9wCP//////8AD/////AP//8AB///////gAj////wD///cAj///////AA////8A//
-        //AAAAAAAAAAAI////AP///4AAAAAAAAAAAP///wD////wAAAAAAAAAAB///8A////+AAIiIiIiIgAD/
-        //AP////8AD///////AAf//wD/////gAf//////4AI//8A/////3AA///////wAH//AP/////4AH////
-        //+ACP/wD/////9wCP//////8AD/8A//////8AB///////gAj/AP//////cAj///////AA/wD///////
-        AA///////4AI8A///////4AI//////9wAPAP///////wAP//////+ABwD///////94h///////eIcA//
-        //////////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAIAAAAEAAAAABAAgAAAAAAAAE
-        AAAAAAAAAAAAAAABAAAAAQAAAAAAAAAAgAAAgAAAAICAAIAAAACAAIAAgIAAAMDAwADA3MAA8MqmAAQE
-        BAAICAgADAwMABEREQAWFhYAHBwcACIiIgApKSkAVVVVAE1NTQBCQkIAOTk5AIB8/wBQUP8AkwDWAP/s
-        zADG1u8A1ufnAJCprQAAADMAAABmAAAAmQAAAMwAADMAAAAzMwAAM2YAADOZAAAzzAAAM/8AAGYAAABm
-        MwAAZmYAAGaZAABmzAAAZv8AAJkAAACZMwAAmWYAAJmZAACZzAAAmf8AAMwAAADMMwAAzGYAAMyZAADM
-        zAAAzP8AAP9mAAD/mQAA/8wAMwAAADMAMwAzAGYAMwCZADMAzAAzAP8AMzMAADMzMwAzM2YAMzOZADMz
-        zAAzM/8AM2YAADNmMwAzZmYAM2aZADNmzAAzZv8AM5kAADOZMwAzmWYAM5mZADOZzAAzmf8AM8wAADPM
-        MwAzzGYAM8yZADPMzAAzzP8AM/8zADP/ZgAz/5kAM//MADP//wBmAAAAZgAzAGYAZgBmAJkAZgDMAGYA
-        /wBmMwAAZjMzAGYzZgBmM5kAZjPMAGYz/wBmZgAAZmYzAGZmZgBmZpkAZmbMAGaZAABmmTMAZplmAGaZ
-        mQBmmcwAZpn/AGbMAABmzDMAZsyZAGbMzABmzP8AZv8AAGb/MwBm/5kAZv/MAMwA/wD/AMwAmZkAAJkz
-        mQCZAJkAmQDMAJkAAACZMzMAmQBmAJkzzACZAP8AmWYAAJlmMwCZM2YAmWaZAJlmzACZM/8AmZkzAJmZ
-        ZgCZmZkAmZnMAJmZ/wCZzAAAmcwzAGbMZgCZzJkAmczMAJnM/wCZ/wAAmf8zAJnMZgCZ/5kAmf/MAJn/
-        /wDMAAAAmQAzAMwAZgDMAJkAzADMAJkzAADMMzMAzDNmAMwzmQDMM8wAzDP/AMxmAADMZjMAmWZmAMxm
-        mQDMZswAmWb/AMyZAADMmTMAzJlmAMyZmQDMmcwAzJn/AMzMAADMzDMAzMxmAMzMmQDMzMwAzMz/AMz/
-        AADM/zMAmf9mAMz/mQDM/8wAzP//AMwAMwD/AGYA/wCZAMwzAAD/MzMA/zNmAP8zmQD/M8wA/zP/AP9m
-        AAD/ZjMAzGZmAP9mmQD/ZswAzGb/AP+ZAAD/mTMA/5lmAP+ZmQD/mcwA/5n/AP/MAAD/zDMA/8xmAP/M
-        mQD/zMwA/8z/AP//MwDM/2YA//+ZAP//zABmZv8AZv9mAGb//wD/ZmYA/2b/AP//ZgAhAKUAX19fAHd3
-        dwCGhoYAlpaWAMvLywCysrIA19fXAN3d3QDj4+MA6urqAPHx8QD4+PgA8Pv/AKSgoACAgIAAAAD/AAD/
-        AAAA//8A/wAAAP8A/wD//wAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////
-        /////////////////////////////////wAA8QcH8//////////////zBwcHBwcHBwcHBwcHB/H/AADv
-        Cgpt//////////////MKCgoKCgoKCgoKCgoKEv8AAP8QCg7z/////////////20KCgoKCgoKCgoKCgoK
-        8QAA/5IKCuz/////////////8QoKCgoKCgoKCgoKCgptAAD//w4KDv//////////////EgoKB///////
-        //////8AAP//7AoKkv////////////8HCgoU/////////////wAA///zDgoQ//////////////8UCgq8
-        ////////////AAD///9tCgrv/////////////5IKCm3///////////8AAP////EKChT/////////////
-        /xAKCvH//////////wAA/////20KCgf/////////////kgoK6///////////AAD/////BwoKbf//////
-        ///////zDgoO8/////////8AAP//////FAoK8f/////////////sCgrs/////////wAA///////vCgpt
-        //////////////MKChD/////////AAD///////8QCg4UFBQUFBQUFBQUFA4KCpL///////8AAP//////
-        /5IKCgoKCgoKCgoKCgoKCgoKEP///////wAA/////////w4KCgoKCgoKCgoKCgoKCgoKB///////AAD/
-        ////////7AoKFOzs7Ozs7Ozs7OzrCgoU//////8AAP/////////zDgoQ//////////////8UCgq8////
-        /wAA//////////9tCgrv/////////////5IKCm3/////AAD///////////EKChT//////////////xAK
-        CvH///8AAP///////////20KCgf/////////////kgoK6////wAA////////////BwoKbf//////////
-        ////DgoO8///AAD/////////////FAoK8f/////////////sCgrs//8AAP/////////////vCgpt////
-        //////////MOChD//wAA//////////////8QCg7z/////////////20KCpL/AAD//////////////5IK
-        Cuz/////////////8QoKEP8AAP///////////////w4KDvP/////////////bQoKBwAA////////////
-        ////7+zs8f////////////+87OzvAAD///////////////////////////////////////8AAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAwAAAAYAAAAAEABAAAAAAAgAQAAAAA
-        AAAAAAAAEAAAABAAAAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAwMDAAICAgAAAAP8AAP8AAAD/
-        /wD/AAAA/wD/AP//AAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////////////////
-        ///////wD//////////////////////////////wD//////////////////////////////wDwAAj///
-        ///////4AAAAAAAAAAAAAP/wD3AAD///////////AAAAAAAAAAAAAI/wD/AACP//////////gAAAAAAA
-        AAAAAA/wD/gAAP//////////cAAAAAAAAAAAAAjwD/8AAI//////////+AAAAAAAAAAAAAjwD/+AAA//
-        ////////9wAAf//////////wD//wAAj//////////wAAD//////////wD//4AAD//////////3AAB///
-        ///////wD//3AAB///////////AACP/////////wD///gACP//////////gAAH/////////wD///cAAH
-        //////////8AAI/////////wD///8AAI//////////+AAA/////////wD///9wAA///////////wAAj/
-        ///////wD////wAAj//////////4AAD////////wD////4AAD//////////3AACP///////wD/////AA
-        CP//////////gAAP///////wD/////gAAP//////////cAAI///////wD/////8AAI//////////8AAA
-        ///////wD/////+AAA//////////9wAAf//////wD/////9wAAAAAAAAAAAAAAAAj//////wD//////4
-        AAAAAAAAAAAAAAAAB//////wD//////3AAAAAAAAAAAAAAAACP/////wD///////AAAAAAAAAAAAAAAA
-        AP/////wD///////cAAAAAAAAAAAAAAAAI/////wD///////8AAI//////////+AAA/////wD///////
-        +AAA//////////9wAAj////wD////////wAAj//////////4AAD////wD////////4AAD//////////3
-        AACP///wD/////////AACP//////////AAAP///wD/////////gAAP//////////cAAH///wD///////
-        //cAAH//////////8AAI///wD/////////+AAA//////////+AAAf//wD/////////9wAAf/////////
-        /wAAj//wD//////////wAAj//////////4AAD//wD//////////3AAB///////////AACP/wD///////
-        ////AACP//////////gAAP/wD///////////gAAP//////////cAAI/wD///////////8AAI////////
-        //+AAA/wD///////////+AAA//////////9wAAjwD////////////wAAj//////////wAADwD///////
-        ///////////////////////wD//////////////////////////////wD///////////////////////
-        ///////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAADAA
-        AABgAAAAAQAIAAAAAAAACQAAAAAAAAAAAAAAAQAAAAEAAAAAAAAAAIAAAIAAAACAgACAAAAAgACAAICA
-        AADAwMAAwNzAAPDKpgAEBAQACAgIAAwMDAAREREAFhYWABwcHAAiIiIAKSkpAFVVVQBNTU0AQkJCADk5
-        OQCAfP8AUFD/AJMA1gD/7MwAxtbvANbn5wCQqa0AAAAzAAAAZgAAAJkAAADMAAAzAAAAMzMAADNmAAAz
-        mQAAM8wAADP/AABmAAAAZjMAAGZmAABmmQAAZswAAGb/AACZAAAAmTMAAJlmAACZmQAAmcwAAJn/AADM
-        AAAAzDMAAMxmAADMmQAAzMwAAMz/AAD/ZgAA/5kAAP/MADMAAAAzADMAMwBmADMAmQAzAMwAMwD/ADMz
-        AAAzMzMAMzNmADMzmQAzM8wAMzP/ADNmAAAzZjMAM2ZmADNmmQAzZswAM2b/ADOZAAAzmTMAM5lmADOZ
-        mQAzmcwAM5n/ADPMAAAzzDMAM8xmADPMmQAzzMwAM8z/ADP/MwAz/2YAM/+ZADP/zAAz//8AZgAAAGYA
-        MwBmAGYAZgCZAGYAzABmAP8AZjMAAGYzMwBmM2YAZjOZAGYzzABmM/8AZmYAAGZmMwBmZmYAZmaZAGZm
-        zABmmQAAZpkzAGaZZgBmmZkAZpnMAGaZ/wBmzAAAZswzAGbMmQBmzMwAZsz/AGb/AABm/zMAZv+ZAGb/
-        zADMAP8A/wDMAJmZAACZM5kAmQCZAJkAzACZAAAAmTMzAJkAZgCZM8wAmQD/AJlmAACZZjMAmTNmAJlm
-        mQCZZswAmTP/AJmZMwCZmWYAmZmZAJmZzACZmf8AmcwAAJnMMwBmzGYAmcyZAJnMzACZzP8Amf8AAJn/
-        MwCZzGYAmf+ZAJn/zACZ//8AzAAAAJkAMwDMAGYAzACZAMwAzACZMwAAzDMzAMwzZgDMM5kAzDPMAMwz
-        /wDMZgAAzGYzAJlmZgDMZpkAzGbMAJlm/wDMmQAAzJkzAMyZZgDMmZkAzJnMAMyZ/wDMzAAAzMwzAMzM
-        ZgDMzJkAzMzMAMzM/wDM/wAAzP8zAJn/ZgDM/5kAzP/MAMz//wDMADMA/wBmAP8AmQDMMwAA/zMzAP8z
-        ZgD/M5kA/zPMAP8z/wD/ZgAA/2YzAMxmZgD/ZpkA/2bMAMxm/wD/mQAA/5kzAP+ZZgD/mZkA/5nMAP+Z
-        /wD/zAAA/8wzAP/MZgD/zJkA/8zMAP/M/wD//zMAzP9mAP//mQD//8wAZmb/AGb/ZgBm//8A/2ZmAP9m
-        /wD//2YAIQClAF9fXwB3d3cAhoaGAJaWlgDLy8sAsrKyANfX1wDd3d0A4+PjAOrq6gDx8fEA+Pj4APD7
-        /wCkoKAAgICAAAAA/wAA/wAAAP//AP8AAAD/AP8A//8AAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////////////////////////////////////////
-        /////////////////wAA////////////////////////////////////////////////////////////
-        /wAA/////////////////////////////////////////////////////////////wAA/xQKCgpt////
-        /////////////////+wKCgoKCgoKCgoKCgoKCgoKCgoKDvP//wAA/wcKCgoK8///////////////////
-        //MOCgoKCgoKCgoKCgoKCgoKCgoKCuz//wAA//8QCgoK7P////////////////////9tCgoKCgoKCgoK
-        CgoKCgoKCgoKCg7//wAA//+SCgoKDvP////////////////////xCgoKCgoKCgoKCgoKCgoKCgoKCgqS
-        /wAA////EAoKCpL/////////////////////bQoKCgoUFBQUFBQUFBQUFBQUFBRt/wAA////7AoKChD/
-        ////////////////////BwoKCgrv/////////////////////wAA////8w4KCgqS////////////////
-        /////xQKCgoU/////////////////////wAA/////+sKCgoU/////////////////////+8KCgoKB///
-        /////////////////wAA//////EKCgoKB/////////////////////8QCgoKbf//////////////////
-        /wAA//////9tCgoKEv////////////////////+SCgoKCvH//////////////////wAA//////+8CgoK
-        CvH/////////////////////DgoKCm3//////////////////wAA////////FAoKCm3/////////////
-        ////////7AoKCgrz/////////////////wAA////////BwoKCgrz////////////////////8w4KCgrs
-        /////////////////wAA/////////xAKCgrs/////////////////////20KCgoO8///////////////
-        /wAA/////////5IKCgoO8/////////////////////EKCgoKkv///////////////wAA//////////8Q
-        CgoKkv////////////////////9tCgoKEP///////////////wAA///////////sCgoKEP//////////
-        //////////8HCgoKCpL//////////////wAA///////////zDgoKCpL/////////////////////FAoK
-        ChT//////////////wAA////////////6woKChT/////////////////////7woKCgoH////////////
-        /wAA////////////8QoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoS/////////////wAA////////////
-        /20KCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoK8f///////////wAA/////////////7wKCgoKCgoKCgoK
-        CgoKCgoKCgoKCgoKCgoKbf///////////wAA//////////////8UCgoKCgoKCgoKCgoKCgoKCgoKCgoK
-        CgoKCvP//////////wAA//////////////8HCgoKCkMUFBQUFBQUFBQUFBQUFBQUDgoKCuz/////////
-        /wAA////////////////EAoKCuz/////////////////////bQoKCg7z/////////wAA////////////
-        ////kgoKCg7z////////////////////8QoKCgqS/////////wAA/////////////////xAKCgrs////
-        /////////////////20KCgoQ/////////wAA/////////////////+wKCgoQ////////////////////
-        /7wKCgoKkv///////wAA//////////////////MOCgoKkv////////////////////8UCgoKFP//////
-        /wAA///////////////////rCgoKQ/////////////////////8HCgoKCgf//////wAA////////////
-        ///////xCgoKCgf/////////////////////EAoKChL//////wAA////////////////////bQoKChT/
-        ////////////////////kgoKCgrx/////wAA////////////////////vAoKCgrx////////////////
-        /////xAKCgpt/////wAA/////////////////////xQKCgpt/////////////////////+wKCgoK8///
-        /wAA/////////////////////wcKCgoK8f////////////////////MOCgoK7P///wAA////////////
-        //////////9DCgoK7P/////////////////////rCgoKDvP//wAA//////////////////////+SCgoK
-        DvP////////////////////xCgoKCpL//wAA////////////////////////EAoKCuz/////////////
-        ////////bQoKChD//wAA////////////////////////7AoKChD/////////////////////vAoKCgqS
-        /wAA////////////////////////8w4KCgqS/////////////////////xQKCgoU/wAA////////////
-        /////////////////////////////////////////////////wAA////////////////////////////
-        /////////////////////////////////wAA////////////////////////////////////////////
-        /////////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAQAAAAIAAAAABAAQAAAAAAAAIAAAAAAAAAAAAABAA
-        AAAQAAAAAAAAAAAAgAAAgAAAAICAAIAAAACAAIAAgIAAAMDAwACAgIAAAAD/AAD/AAAA//8A/wAAAP8A
-        /wD//wAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////////////////
-        //////////////////AP////////////////////////////////////////8A//////////////////
-        ///////////////////////wD/////////////////////////////////////////AP+IiIf///////
-        ///////4iIiIiIiIiIiIiIiIiH//8A/wAAAP//////////////gAAAAAAAAAAAAAAAAAD//wD/gAAAj/
-        /////////////wAAAAAAAAAAAAAAAAAI//AP/wAAAP//////////////gAAAAAAAAAAAAAAAAAD/8A//
-        gAAAj//////////////wAAAAAAAAAAAAAAAAAI/wD//wAAAP//////////////gAAAAAAAAAAAAAAAAA
-        D/AP//gAAAf/////////////9wAAAAAAAAAAAAAAAAAH8A//9wAACP//////////////gAAAf///////
-        ///////wD///gAAAf/////////////9wAAAP//////////////AP//9wAACP//////////////AAAAf/
-        ////////////8A////AAAA//////////////+AAACP/////////////wD///9wAACP//////////////
-        AAAAf/////////////AP////AAAA//////////////+AAACP////////////8A////+AAACP////////
-        //////AAAA/////////////wD/////AAAA//////////////+AAACP////////////AP////+AAACP//
-        ////////////AAAA////////////8A//////AAAA//////////////+AAACP///////////wD/////+A
-        AAB//////////////3AAAA////////////AP/////3AAAI//////////////+AAAB///////////8A//
-        ////+AAAB//////////////3AAAA///////////wD//////3AAAI//////////////8AAAB/////////
-        //AP//////8AAAD//////////////3AAAI//////////8A///////3AAAI//////////////8AAAB///
-        ///////wD///////8AAAD//////////////4AAAI//////////AP///////4AAAI//////////////8A
-        AAD/////////8A////////8AAAB3d3d3d3d3d3d3d4AAAI/////////wD////////4AAAAAAAAAAAAAA
-        AAAAAAAAD/////////AP////////8AAAAAAAAAAAAAAAAAAAAAAI////////8A/////////4AAAAAAAA
-        AAAAAAAAAAAAAAD////////wD/////////cAAAAAAAAAAAAAAAAAAAAAAI////////AP/////////4AA
-        AAAAAAAAAAAAAAAAAAAAD///////8A//////////cAAAAAAAAAAAAAAAAAAAAAAH///////wD///////
-        ///wAAAH//////////////cAAAj///////AP//////////cAAAj//////////////wAAAH//////8A//
-        /////////wAAAP//////////////gAAAj//////wD///////////gAAAj//////////////wAAAP////
-        //AP///////////wAAAP//////////////gAAAj/////8A////////////gAAAj//////////////wAA
-        AP/////wD////////////wAAAP//////////////gAAAj/////AP////////////gAAAf///////////
-        //9wAAAP////8A////////////9wAAAP//////////////gAAAj////wD/////////////gAAAf/////
-        ////////9wAAAP////AP////////////9wAACP//////////////AAAAf///8A//////////////AAAA
-        f/////////////9wAACP///wD/////////////9wAACP//////////////AAAAf///AP////////////
-        //AAAA//////////////+AAACP//8A//////////////+AAACP//////////////AAAA///wD///////
-        ////////AAAA//////////////+AAACP//AP//////////////+AAACP//////////////AAAA//8A//
-        //////////////AAAA//////////////+AAACP/wD///////////////+AAAB//////////////3AAAA
-        //AP///////////////3AAAA//////////////+AAACP8A////////////////+AAAB/////////////
-        /3AAAA/wD////////////////3AAAI//////////////8AAAB/AP////////////////////////////
-        ////////////8A/////////////////////////////////////////wD///////////////////////
-        //////////////////AP////////////////////////////////////////8AAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAQAAAAIAA
-        AAABAAgAAAAAAAAQAAAAAAAAAAAAAAABAAAAAQAAAAAAAAAAgAAAgAAAAICAAIAAAACAAIAAgIAAAMDA
-        wADA3MAA8MqmAAQEBAAICAgADAwMABEREQAWFhYAHBwcACIiIgApKSkAVVVVAE1NTQBCQkIAOTk5AIB8
-        /wBQUP8AkwDWAP/szADG1u8A1ufnAJCprQAAADMAAABmAAAAmQAAAMwAADMAAAAzMwAAM2YAADOZAAAz
-        zAAAM/8AAGYAAABmMwAAZmYAAGaZAABmzAAAZv8AAJkAAACZMwAAmWYAAJmZAACZzAAAmf8AAMwAAADM
-        MwAAzGYAAMyZAADMzAAAzP8AAP9mAAD/mQAA/8wAMwAAADMAMwAzAGYAMwCZADMAzAAzAP8AMzMAADMz
-        MwAzM2YAMzOZADMzzAAzM/8AM2YAADNmMwAzZmYAM2aZADNmzAAzZv8AM5kAADOZMwAzmWYAM5mZADOZ
-        zAAzmf8AM8wAADPMMwAzzGYAM8yZADPMzAAzzP8AM/8zADP/ZgAz/5kAM//MADP//wBmAAAAZgAzAGYA
-        ZgBmAJkAZgDMAGYA/wBmMwAAZjMzAGYzZgBmM5kAZjPMAGYz/wBmZgAAZmYzAGZmZgBmZpkAZmbMAGaZ
-        AABmmTMAZplmAGaZmQBmmcwAZpn/AGbMAABmzDMAZsyZAGbMzABmzP8AZv8AAGb/MwBm/5kAZv/MAMwA
-        /wD/AMwAmZkAAJkzmQCZAJkAmQDMAJkAAACZMzMAmQBmAJkzzACZAP8AmWYAAJlmMwCZM2YAmWaZAJlm
-        zACZM/8AmZkzAJmZZgCZmZkAmZnMAJmZ/wCZzAAAmcwzAGbMZgCZzJkAmczMAJnM/wCZ/wAAmf8zAJnM
-        ZgCZ/5kAmf/MAJn//wDMAAAAmQAzAMwAZgDMAJkAzADMAJkzAADMMzMAzDNmAMwzmQDMM8wAzDP/AMxm
-        AADMZjMAmWZmAMxmmQDMZswAmWb/AMyZAADMmTMAzJlmAMyZmQDMmcwAzJn/AMzMAADMzDMAzMxmAMzM
-        mQDMzMwAzMz/AMz/AADM/zMAmf9mAMz/mQDM/8wAzP//AMwAMwD/AGYA/wCZAMwzAAD/MzMA/zNmAP8z
-        mQD/M8wA/zP/AP9mAAD/ZjMAzGZmAP9mmQD/ZswAzGb/AP+ZAAD/mTMA/5lmAP+ZmQD/mcwA/5n/AP/M
-        AAD/zDMA/8xmAP/MmQD/zMwA/8z/AP//MwDM/2YA//+ZAP//zABmZv8AZv9mAGb//wD/ZmYA/2b/AP//
-        ZgAhAKUAX19fAHd3dwCGhoYAlpaWAMvLywCysrIA19fXAN3d3QDj4+MA6urqAPHx8QD4+PgA8Pv/AKSg
-        oACAgIAAAAD/AAD/AAAA//8A/wAAAP8A/wD//wAA////AAoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoK
-        CgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoK////////////////////////////
-        //////////////////////////////////////////////////////8KCv//////////////////////
-        ////////////////////////////////////////////////////////////Cgr/////////////////
-        /////////////////////////////////////////////////////////////////woK////////////
-        //////////////////////////////////////////////////////////////////////8KCv/z7Ozs
-        7Ozv/////////////////////////////5Ls7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O//////Cgr/
-        /xAKCgoKDvP///////////////////////////+SCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoO8///
-        /woK//+SCgoKCgqS////////////////////////////8w4KCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoK
-        Cuz///8KCv///xAKCgoKEP/////////////////////////////sCgoKCgoKCgoKCgoKCgoKCgoKCgoK
-        CgoKCgoQ////Cgr////sCgoKCgqS////////////////////////////8woKCgoKCgoKCgoKCgoKCgoK
-        CgoKCgoKCgoKCpL//woK////8w4KCgoKFP////////////////////////////9tCgoKCgoKCgoKCgoK
-        CgoKCgoKCgoKCgoKCgpD//8KCv/////rCgoKCgoH////////////////////////////8QoKCgoKChQU
-        FBQUFBQUFBQUFBQUFBQUFBQUFPH/Cgr/////8QoKCgoKEv////////////////////////////8SCgoK
-        Cgrv/////////////////////////////woK//////9tCgoKCgrx////////////////////////////
-        BwoKCgoKFP////////////////////////////8KCv//////vAoKCgoKbf//////////////////////
-        //////8UCgoKCgoH////////////////////////////Cgr///////8UCgoKCgrz////////////////
-        ////////////kgoKCgoKbf///////////////////////////woK////////BwoKCgoK7P//////////
-        //////////////////8QCgoKCgrx//////////////////////////8KCv////////8QCgoKCg7z////
-        ////////////////////////kgoKCgoKbf//////////////////////////Cgr/////////kgoKCgoK
-        kv////////////////////////////MOCgoKCg7z/////////////////////////woK//////////8Q
-        CgoKChD/////////////////////////////7AoKCgoK7P////////////////////////8KCv//////
-        ////7AoKCgoKkv////////////////////////////MOCgoKCg7/////////////////////////Cgr/
-        //////////MOCgoKChT/////////////////////////////bQoKCgoKkv//////////////////////
-        /woK////////////6woKCgoKB/////////////////////////////EKCgoKChD/////////////////
-        //////8KCv////////////EKCgoKChL/////////////////////////////bQoKCgoK7///////////
-        ////////////Cgr/////////////bQoKCgoK8f///////////////////////////wcKCgoKChT/////
-        /////////////////woK/////////////7wKCgoKCm3/////////////////////////////FAoKCgoK
-        B/////////////////////8KCv//////////////FAoKCgoK8////////////////////////////+8K
-        CgoKCm3/////////////////////Cgr//////////////wcKCgoKCuz/////////////////////////
-        ////EAoKCgoK8f///////////////////woK////////////////EAoKCgoO8///////////////////
-        /////////5IKCgoKCm3///////////////////8KCv///////////////5IKCgoKCpL/////////////
-        ////////////////DgoKCgoK8///////////////////Cgr/////////////////EAoKCgoQBwcHBwcH
-        BwcHBwcHBwcHBwcHBwcHBxIKCgoKCuz//////////////////woK/////////////////+wKCgoKCgoK
-        CgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoO8/////////////////8KCv/////////////////zDgoK
-        CgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCpL/////////////////Cgr/////////////////
-        /+sKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoQ/////////////////woK////////////
-        ///////xCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCpL///////////////8KCv//////
-        /////////////20KCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoU////////////////Cgr/
-        //////////////////+8CgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgf/////////////
-        /woK/////////////////////xQKCgoKCvH////////////////////////////vCgoKCgoS////////
-        //////8KCv////////////////////8HCgoKCgrs/////////////////////////////xAKCgoKCvH/
-        ////////////Cgr//////////////////////xAKCgoKDvP///////////////////////////+SCgoK
-        Cgpt/////////////woK//////////////////////+SCgoKCgrs////////////////////////////
-        /w4KCgoKCvP///////////8KCv///////////////////////xAKCgoKEP//////////////////////
-        ///////sCgoKCgrs////////////Cgr////////////////////////sCgoKCgqS////////////////
-        ////////////8w4KCgoKDvP//////////woK////////////////////////8w4KCgoKQ///////////
-        //////////////////9tCgoKCgqS//////////8KCv/////////////////////////sCgoKCgoH////
-        ////////////////////////8QoKCgoKEP//////////Cgr/////////////////////////8QoKCgoK
-        FP////////////////////////////9tCgoKCgqS/////////woK//////////////////////////9t
-        CgoKCgrx////////////////////////////BwoKCgoKFP////////8KCv//////////////////////
-        ////8QoKCgoKbf////////////////////////////8UCgoKCgoH////////Cgr/////////////////
-        //////////8UCgoKCgrx////////////////////////////7woKCgoKEv///////woK////////////
-        ////////////////BwoKCgoK7P////////////////////////////8QCgoKCgrx//////8KCv//////
-        //////////////////////9DCgoKCg7z////////////////////////////kgoKCgoKbf//////Cgr/
-        ////////////////////////////kgoKCgoK7P////////////////////////////8OCgoKCgrz////
-        /woK//////////////////////////////8QCgoKChD/////////////////////////////7AoKCgoK
-        7P////8KCv//////////////////////////////7AoKCgoKkv////////////////////////////MO
-        CgoKCg7z////Cgr///////////////////////////////MOCgoKCkP/////////////////////////
-        ////bQoKCgoKkv///woK////////////////////////////////7AoKCgoKB///////////////////
-        //////////EKCgoKChD///8KCv////////////////////////////////EKCgoKChT/////////////
-        ////////////////bQoKCgoKkv//Cgr/////////////////////////////////bQoKCgoK8f//////
-        /////////////////////wcKCgoKChT//woK//////////////////////////////////EKCgoKCm3/
-        ////////////////////////////FAoKCgoKB/8KCv//////////////////////////////////////
-        ////////////////////////////////////////////Cgr/////////////////////////////////
-        /////////////////////////////////////////////////woK////////////////////////////
-        //////////////////////////////////////////////////////8KCv//////////////////////
-        ////////////////////////////////////////////////////////////CgoKCgoKCgoKCgoKCgoK
-        CgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
-</value>
-  </data>
-</root>
Index: trunk/sources/HeuristicLab.MainForm/3.2/MainFormManager.cs
===================================================================
--- trunk/sources/HeuristicLab.MainForm/3.2/MainFormManager.cs	(revision 2458)
+++ trunk/sources/HeuristicLab.MainForm/3.2/MainFormManager.cs	(revision 2458)
@@ -0,0 +1,138 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using HeuristicLab.PluginInfrastructure;
+
+namespace HeuristicLab.MainForm {
+  public static class MainFormManager {
+    private static object locker;
+    private static IMainForm mainform;
+    private static Dictionary<Type, List<Type>> views;
+    private static Dictionary<Type, Type> defaultViews;
+
+    static MainFormManager() {
+      locker = new object();
+      views = new Dictionary<Type, List<Type>>();
+      defaultViews = new Dictionary<Type, Type>();
+    }
+
+    public static void RegisterMainForm(IMainForm mainform) {
+      lock (locker) {
+        if (MainFormManager.mainform == null) {
+          MainFormManager.mainform = mainform;
+
+          DiscoveryService ds = new DiscoveryService();
+          IEnumerable<Type> types =
+            from t in ds.GetTypes(typeof(IView))
+            where !t.IsAbstract && !t.IsInterface && !t.IsGenericType
+            select t;
+
+          foreach (Type t in types) {
+            foreach (Type viewableType in GetViewableType(t)) {
+              if (viewableType != null) {
+                if (!views.ContainsKey(viewableType))
+                  views[viewableType] = new List<Type>();
+                views[viewableType].Add(t);
+
+                if (DefaultViewAttribute.IsDefaultView(t)) {
+                  if (defaultViews.ContainsKey(viewableType))
+                    throw new ArgumentException("DefaultView for type " + viewableType + " is " + defaultViews[viewableType] +
+                      ". Can't register additional DefaultView " + t + ".");
+                  defaultViews[viewableType] = t;
+                }
+              }
+            }
+          }
+        } else
+          throw new ArgumentException("A mainform was already associated with the mainform manager.");
+      }
+    }
+
+    private static IEnumerable<Type> GetViewableType(Type t) {
+      IEnumerable<Type> interfaceTypes =
+       from type in t.GetInterfaces()
+       where type.Namespace == "HeuristicLab.MainForm" && type.Name.StartsWith("IView") &&
+             type.IsGenericType && !type.IsGenericTypeDefinition
+       select type;
+
+      foreach (Type interfaceType in interfaceTypes) {
+        yield return interfaceType.GetGenericArguments()[0];
+      }
+    }
+
+    public static IMainForm MainForm {
+      get { return mainform; }
+    }
+
+    public static T GetMainForm<T>() where T : IMainForm {
+      return (T)mainform;
+    }
+
+    public static IEnumerable<Type> GetViewTypes(Type viewableType) {
+      List<Type> viewsForType = new List<Type>();
+      foreach (KeyValuePair<Type, List<Type>> v in views) {
+        if (v.Key.IsAssignableFrom(viewableType))
+          viewsForType.AddRange(v.Value);
+      }
+      return viewsForType.Distinct();
+    }
+
+    public static bool ViewCanViewObject(IView view, object o) {
+      return GetViewTypes(o.GetType()).Contains(view.GetType());
+    }
+
+    public static Type GetDefaultViewType(Type viewableType) {
+      //check if viewableType has a default view
+      if (defaultViews.ContainsKey(viewableType))
+        return defaultViews[viewableType];
+
+      //check base classes for default view
+      Type type = viewableType;
+      while (type.BaseType != null && !defaultViews.ContainsKey(type)) {
+        type = type.BaseType;
+      }
+      if (defaultViews.ContainsKey(type))
+        return defaultViews[type];
+
+      //check if exact one implemented interface has a default view
+      List<Type> temp = (from t in defaultViews.Keys
+                         where t.IsAssignableFrom(viewableType) && t.IsInterface
+                         select t).ToList();
+      if (temp.Count == 1)
+        return defaultViews[temp[0]];
+      //more than one default view for implemented interfaces are found
+      if (temp.Count > 1)
+        throw new Exception("Could not determine which is the default view for type " + viewableType.ToString() + ". Because more than one implemented interfaces have a default view.");
+      return null;
+    }
+
+    public static IView<T> CreateDefaultView<T>(T objectToView) {
+      Type t = GetDefaultViewType(objectToView.GetType());
+      if (t == null)
+        return null;
+      else
+        return (IView<T>)Activator.CreateInstance(t);
+    }
+  }
+}
Index: trunk/sources/HeuristicLab.MainForm/3.2/MenuItemBase.cs
===================================================================
--- trunk/sources/HeuristicLab.MainForm/3.2/MenuItemBase.cs	(revision 2458)
+++ trunk/sources/HeuristicLab.MainForm/3.2/MenuItemBase.cs	(revision 2458)
@@ -0,0 +1,33 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace HeuristicLab.MainForm {
+  public abstract class MenuItemBase : UserInterfaceItemBase, IMenuItem{
+    public virtual IEnumerable<string> Structure {
+      get { return Enumerable.Empty<string>(); }
+    }   
+  }
+}
Index: trunk/sources/HeuristicLab.MainForm/3.2/MultipleDocumentMainForm.Designer.cs
===================================================================
--- trunk/sources/HeuristicLab.MainForm/3.2/MultipleDocumentMainForm.Designer.cs	(revision 2407)
+++ 	(revision )
@@ -1,43 +1,0 @@
-﻿namespace HeuristicLab.MainForm {
-  partial class MultipleDocumentMainForm {
-    /// <summary>
-    /// Required designer variable.
-    /// </summary>
-    private System.ComponentModel.IContainer components = null;
-
-    /// <summary>
-    /// Clean up any resources being used.
-    /// </summary>
-    /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
-    protected override void Dispose(bool disposing) {
-      if (disposing && (components != null)) {
-        components.Dispose();
-      }
-      this.MdiChildActivate -= new System.EventHandler(MultipleDocumentFormActivated);
-      base.Dispose(disposing);
-    }
-
-    #region Windows Form Designer generated code
-
-    /// <summary>
-    /// Required method for Designer support - do not modify
-    /// the contents of this method with the code editor.
-    /// </summary>
-    private void InitializeComponent() {
-      this.SuspendLayout();
-      // 
-      // MultipleDocumentMainForm
-      // 
-      this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
-      this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
-      this.ClientSize = new System.Drawing.Size(596, 407);
-      this.IsMdiContainer = true;
-      this.Name = "MultipleDocumentMainForm";
-      this.ResumeLayout(false);
-      this.PerformLayout();
-
-    }
-
-    #endregion
-  }
-}
Index: trunk/sources/HeuristicLab.MainForm/3.2/MultipleDocumentMainForm.cs
===================================================================
--- trunk/sources/HeuristicLab.MainForm/3.2/MultipleDocumentMainForm.cs	(revision 2407)
+++ 	(revision )
@@ -1,104 +1,0 @@
-﻿#region License Information
-/* HeuristicLab
- * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
- *
- * This file is part of HeuristicLab.
- *
- * HeuristicLab is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * HeuristicLab is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
- */
-#endregion
-
-using System;
-using System.Collections.Generic;
-using System.ComponentModel;
-using System.Data;
-using System.Drawing;
-using System.Linq;
-using System.Text;
-using System.Windows.Forms;
-
-namespace HeuristicLab.MainForm {
-  public partial class MultipleDocumentMainForm : MainFormBase {
-    public MultipleDocumentMainForm()
-      : base() {
-      InitializeComponent();
-    }
-
-    public MultipleDocumentMainForm(Type userInterfaceType)
-      : base(userInterfaceType) {
-      InitializeComponent();
-    }
-
-    protected override void CreateGUI() {
-      base.CreateGUI();
-      ToolStripMenuItem window = new ToolStripMenuItem("Windows");
-      base.menuStrip.MdiWindowListItem = window;
-      base.menuStrip.Items.Add(window);
-    }
-
-    public override void ShowView(IView view) {
-      if (InvokeRequired) Invoke((Action<IView>)ShowView, view);
-      else {
-        if (views.Contains(view)) {
-          DocumentForm documentForm = FindForm(view);
-          if (documentForm != null)
-            documentForm.Focus();
-        } else {
-          base.ShowView(view);
-          DocumentForm form = new DocumentForm(view);
-          form.Activated += new EventHandler(MultipleDocumentFormActivated);
-          form.FormClosing += new FormClosingEventHandler(view.FormClosing);
-          form.FormClosed += new FormClosedEventHandler(MultipleDocumentFormClosed);
-          form.MdiParent = this;
-          foreach (IToolStripItem item in ToolStripItems)
-            view.StateChanged += new EventHandler(item.ViewChanged);
-          form.Show();
-        }
-      }
-    }
-
-    public override void CloseView(IView view) {
-      if (InvokeRequired) Invoke((Action<IView>)CloseView, view);
-      else {
-        DocumentForm documentForm = FindForm(view);
-        if (documentForm != null)
-          documentForm.Close();
-      }
-    }
-
-    private void MultipleDocumentFormActivated(object sender, EventArgs e) {
-      base.ActiveView = ((DocumentForm)sender).View;
-    }
-
-    private void MultipleDocumentFormClosed(object sender, FormClosedEventArgs e) {
-      DocumentForm form = (DocumentForm)sender;
-      ViewClosed(form.View);
-      form.Activated -= new EventHandler(MultipleDocumentFormActivated);
-      form.FormClosing -= new FormClosingEventHandler(form.View.FormClosing);
-      form.FormClosed -= new FormClosedEventHandler(MultipleDocumentFormClosed);
-      foreach (IToolStripItem item in ToolStripItems)
-        form.View.StateChanged -= new EventHandler(item.ViewChanged);
-    }
-
-    protected DocumentForm FindForm(IView view) {
-      IEnumerable<DocumentForm> forms =
-        from df in MdiChildren
-        where ((DocumentForm)df).View == view
-        select (DocumentForm)df;
-      if (forms.Count() == 1)
-        return forms.Single();
-      return null;
-    }
-  }
-}
Index: trunk/sources/HeuristicLab.MainForm/3.2/MultipleDocumentMainForm.resx
===================================================================
--- trunk/sources/HeuristicLab.MainForm/3.2/MultipleDocumentMainForm.resx	(revision 2407)
+++ 	(revision )
@@ -1,120 +1,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<root>
-  <!-- 
-    Microsoft ResX Schema 
-    
-    Version 2.0
-    
-    The primary goals of this format is to allow a simple XML format 
-    that is mostly human readable. The generation and parsing of the 
-    various data types are done through the TypeConverter classes 
-    associated with the data types.
-    
-    Example:
-    
-    ... ado.net/XML headers & schema ...
-    <resheader name="resmimetype">text/microsoft-resx</resheader>
-    <resheader name="version">2.0</resheader>
-    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
-    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
-    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
-    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
-    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
-        <value>[base64 mime encoded serialized .NET Framework object]</value>
-    </data>
-    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
-        <comment>This is a comment</comment>
-    </data>
-                
-    There are any number of "resheader" rows that contain simple 
-    name/value pairs.
-    
-    Each data row contains a name, and value. The row also contains a 
-    type or mimetype. Type corresponds to a .NET class that support 
-    text/value conversion through the TypeConverter architecture. 
-    Classes that don't support this are serialized and stored with the 
-    mimetype set.
-    
-    The mimetype is used for serialized objects, and tells the 
-    ResXResourceReader how to depersist the object. This is currently not 
-    extensible. For a given mimetype the value must be set accordingly:
-    
-    Note - application/x-microsoft.net.object.binary.base64 is the format 
-    that the ResXResourceWriter will generate, however the reader can 
-    read any of the formats listed below.
-    
-    mimetype: application/x-microsoft.net.object.binary.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
-            : and then encoded with base64 encoding.
-    
-    mimetype: application/x-microsoft.net.object.soap.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
-            : and then encoded with base64 encoding.
-
-    mimetype: application/x-microsoft.net.object.bytearray.base64
-    value   : The object must be serialized into a byte array 
-            : using a System.ComponentModel.TypeConverter
-            : and then encoded with base64 encoding.
-    -->
-  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
-    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
-    <xsd:element name="root" msdata:IsDataSet="true">
-      <xsd:complexType>
-        <xsd:choice maxOccurs="unbounded">
-          <xsd:element name="metadata">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" />
-              </xsd:sequence>
-              <xsd:attribute name="name" use="required" type="xsd:string" />
-              <xsd:attribute name="type" type="xsd:string" />
-              <xsd:attribute name="mimetype" type="xsd:string" />
-              <xsd:attribute ref="xml:space" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="assembly">
-            <xsd:complexType>
-              <xsd:attribute name="alias" type="xsd:string" />
-              <xsd:attribute name="name" type="xsd:string" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="data">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
-              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
-              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
-              <xsd:attribute ref="xml:space" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="resheader">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" />
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:choice>
-      </xsd:complexType>
-    </xsd:element>
-  </xsd:schema>
-  <resheader name="resmimetype">
-    <value>text/microsoft-resx</value>
-  </resheader>
-  <resheader name="version">
-    <value>2.0</value>
-  </resheader>
-  <resheader name="reader">
-    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <resheader name="writer">
-    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-</root>
Index: trunk/sources/HeuristicLab.MainForm/3.2/SingleDocumentMainForm.Designer.cs
===================================================================
--- trunk/sources/HeuristicLab.MainForm/3.2/SingleDocumentMainForm.Designer.cs	(revision 2407)
+++ 	(revision )
@@ -1,42 +1,0 @@
-﻿namespace HeuristicLab.MainForm {
-  partial class SingleDocumentMainForm {
-    /// <summary>
-    /// Required designer variable.
-    /// </summary>
-    private System.ComponentModel.IContainer components = null;
-
-    /// <summary>
-    /// Clean up any resources being used.
-    /// </summary>
-    /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
-    protected override void Dispose(bool disposing) {
-      if (disposing && (components != null)) {
-        components.Dispose();
-      }
-      base.Dispose(disposing);
-    }
-
-    #region Windows Form Designer generated code
-
-    /// <summary>
-    /// Required method for Designer support - do not modify
-    /// the contents of this method with the code editor.
-    /// </summary>
-    private void InitializeComponent() {
-      this.SuspendLayout();
-      // 
-      // SingleDocumentMainForm
-      // 
-      this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
-      this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
-      this.ClientSize = new System.Drawing.Size(624, 412);
-      this.Name = "SingleDocumentMainForm";
-      this.ResumeLayout(false);
-      this.PerformLayout();
-
-    }
-
-    #endregion
-
-  }
-}
Index: trunk/sources/HeuristicLab.MainForm/3.2/SingleDocumentMainForm.cs
===================================================================
--- trunk/sources/HeuristicLab.MainForm/3.2/SingleDocumentMainForm.cs	(revision 2407)
+++ 	(revision )
@@ -1,98 +1,0 @@
-﻿#region License Information
-/* HeuristicLab
- * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
- *
- * This file is part of HeuristicLab.
- *
- * HeuristicLab is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * HeuristicLab is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
- */
-#endregion
-
-using System;
-using System.Collections.Generic;
-using System.ComponentModel;
-using System.Data;
-using System.Drawing;
-using System.Linq;
-using System.Text;
-using System.Windows.Forms;
-using WeifenLuo.WinFormsUI.Docking;
-
-namespace HeuristicLab.MainForm {
-  public partial class SingleDocumentMainForm : MainFormBase {
-    public SingleDocumentMainForm()
-      : base() {
-      InitializeComponent();
-    }
-
-    public SingleDocumentMainForm(Type userInterfaceItemType)
-      : base(userInterfaceItemType) {
-      InitializeComponent();
-    }
-
-    public override void ShowView(IView view) {
-      if (InvokeRequired) Invoke((Action<IView>)ShowView, view);
-      else {
-        if (views.Contains(view)) {
-          DocumentForm documentForm = FindForm(view);
-          if (documentForm != null)
-            documentForm.Focus();
-        } else {
-          base.ShowView(view);
-          DocumentForm form = new DocumentForm(view);
-          form.ShowInTaskbar = true;
-          form.Activated += new EventHandler(DocumentFormActivated);
-          form.FormClosing += new FormClosingEventHandler(view.FormClosing);
-          form.FormClosed += new FormClosedEventHandler(DocumentFormClosed);
-          foreach (IToolStripItem item in ToolStripItems)
-            view.StateChanged += new EventHandler(item.ViewChanged);
-          form.Show(this);
-        }
-      }
-    }
-
-    public override void CloseView(IView view) {
-      if (InvokeRequired) Invoke((Action<IView>)CloseView, view);
-      else {
-        DocumentForm documentForm = FindForm(view);
-        if (documentForm != null)
-          documentForm.Close();
-      }
-    }
-
-    private void DocumentFormClosed(object sender, FormClosedEventArgs e) {
-      DocumentForm form = (DocumentForm)sender;
-      ViewClosed(form.View);
-      form.Activated -= new EventHandler(DocumentFormActivated);
-      form.FormClosing -= new FormClosingEventHandler(form.View.FormClosing);
-      form.FormClosed -= new FormClosedEventHandler(DocumentFormClosed);
-      foreach (IToolStripItem item in ToolStripItems)
-        form.View.StateChanged -= new EventHandler(item.ViewChanged);
-    }
-
-    private void DocumentFormActivated(object sender, EventArgs e) {
-      base.ActiveView = ((DocumentForm)sender).View;
-    }
-
-    protected DocumentForm FindForm(IView view) {
-      IEnumerable<DocumentForm> forms =
-        from df in OwnedForms
-        where ((DocumentForm)df).View == view
-        select (DocumentForm)df;
-      if (forms.Count() == 1)
-        return forms.Single();
-      return null;
-    }
-  }
-}
Index: trunk/sources/HeuristicLab.MainForm/3.2/SingleDocumentMainForm.resx
===================================================================
--- trunk/sources/HeuristicLab.MainForm/3.2/SingleDocumentMainForm.resx	(revision 2407)
+++ 	(revision )
@@ -1,120 +1,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<root>
-  <!-- 
-    Microsoft ResX Schema 
-    
-    Version 2.0
-    
-    The primary goals of this format is to allow a simple XML format 
-    that is mostly human readable. The generation and parsing of the 
-    various data types are done through the TypeConverter classes 
-    associated with the data types.
-    
-    Example:
-    
-    ... ado.net/XML headers & schema ...
-    <resheader name="resmimetype">text/microsoft-resx</resheader>
-    <resheader name="version">2.0</resheader>
-    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
-    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
-    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
-    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
-    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
-        <value>[base64 mime encoded serialized .NET Framework object]</value>
-    </data>
-    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
-        <comment>This is a comment</comment>
-    </data>
-                
-    There are any number of "resheader" rows that contain simple 
-    name/value pairs.
-    
-    Each data row contains a name, and value. The row also contains a 
-    type or mimetype. Type corresponds to a .NET class that support 
-    text/value conversion through the TypeConverter architecture. 
-    Classes that don't support this are serialized and stored with the 
-    mimetype set.
-    
-    The mimetype is used for serialized objects, and tells the 
-    ResXResourceReader how to depersist the object. This is currently not 
-    extensible. For a given mimetype the value must be set accordingly:
-    
-    Note - application/x-microsoft.net.object.binary.base64 is the format 
-    that the ResXResourceWriter will generate, however the reader can 
-    read any of the formats listed below.
-    
-    mimetype: application/x-microsoft.net.object.binary.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
-            : and then encoded with base64 encoding.
-    
-    mimetype: application/x-microsoft.net.object.soap.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
-            : and then encoded with base64 encoding.
-
-    mimetype: application/x-microsoft.net.object.bytearray.base64
-    value   : The object must be serialized into a byte array 
-            : using a System.ComponentModel.TypeConverter
-            : and then encoded with base64 encoding.
-    -->
-  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
-    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
-    <xsd:element name="root" msdata:IsDataSet="true">
-      <xsd:complexType>
-        <xsd:choice maxOccurs="unbounded">
-          <xsd:element name="metadata">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" />
-              </xsd:sequence>
-              <xsd:attribute name="name" use="required" type="xsd:string" />
-              <xsd:attribute name="type" type="xsd:string" />
-              <xsd:attribute name="mimetype" type="xsd:string" />
-              <xsd:attribute ref="xml:space" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="assembly">
-            <xsd:complexType>
-              <xsd:attribute name="alias" type="xsd:string" />
-              <xsd:attribute name="name" type="xsd:string" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="data">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
-              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
-              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
-              <xsd:attribute ref="xml:space" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="resheader">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" />
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:choice>
-      </xsd:complexType>
-    </xsd:element>
-  </xsd:schema>
-  <resheader name="resmimetype">
-    <value>text/microsoft-resx</value>
-  </resheader>
-  <resheader name="version">
-    <value>2.0</value>
-  </resheader>
-  <resheader name="reader">
-    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <resheader name="writer">
-    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-</root>
Index: trunk/sources/HeuristicLab.MainForm/3.2/ToolBarItemBase.cs
===================================================================
--- trunk/sources/HeuristicLab.MainForm/3.2/ToolBarItemBase.cs	(revision 2458)
+++ trunk/sources/HeuristicLab.MainForm/3.2/ToolBarItemBase.cs	(revision 2458)
@@ -0,0 +1,33 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace HeuristicLab.MainForm {
+  public abstract class ToolBarItemBase : UserInterfaceItemBase, IToolBarItem {
+    public virtual IEnumerable<string> Structure {
+      get { return Enumerable.Empty<string>(); }
+    }   
+  }
+}
Index: trunk/sources/HeuristicLab.MainForm/3.2/ToolStripButtonItemBase.cs
===================================================================
--- trunk/sources/HeuristicLab.MainForm/3.2/ToolStripButtonItemBase.cs	(revision 2407)
+++ 	(revision )
@@ -1,43 +1,0 @@
-﻿#region License Information
-/* HeuristicLab
- * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
- *
- * This file is part of HeuristicLab.
- *
- * HeuristicLab is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * HeuristicLab is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
- */
-#endregion
-
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Windows.Forms;
-
-namespace HeuristicLab.MainForm {
-  public abstract class ToolStripButtonItemBase : ToolStripItemBase, IToolStripButtonItem {
-    public override ToolStripItemDisplayStyle DisplayStyle {
-      get {
-        if (Image != null)
-          return ToolStripItemDisplayStyle.Image;
-        else
-          return ToolStripItemDisplayStyle.Text;
-      }
-    }
-
-    public virtual bool IsDropDownButton {
-      get { return false; }
-    }
-  }
-}
Index: trunk/sources/HeuristicLab.MainForm/3.2/ToolStripItemBase.cs
===================================================================
--- trunk/sources/HeuristicLab.MainForm/3.2/ToolStripItemBase.cs	(revision 2407)
+++ 	(revision )
@@ -1,68 +1,0 @@
-﻿#region License Information
-/* HeuristicLab
- * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
- *
- * This file is part of HeuristicLab.
- *
- * HeuristicLab is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * HeuristicLab is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
- */
-#endregion
-
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Resources;
-using System.Reflection;
-using System.Windows.Forms;
-using System.Drawing;
-
-namespace HeuristicLab.MainForm {
-  public abstract class ToolStripItemBase : UserInterfaceItemBase, IToolStripItem {
-    #region IToolStripItem Members
-    public abstract int Position { get; }
-    public virtual ToolStripItemDisplayStyle DisplayStyle {
-      get { return ToolStripItemDisplayStyle.ImageAndText; }
-    }
-
-    public virtual System.Drawing.Image Image {
-      get { return null; }
-    }
-
-    private ToolStripItem toolStripItem;
-    public ToolStripItem ToolStripItem {
-      get { return this.toolStripItem; }
-      set { this.toolStripItem = value; }
-    }
-
-    public virtual string Structure {
-      get { return string.Empty; }
-    }
-
-    private static readonly char structureSeparator = '/';
-    public virtual char StructureSeparator {
-      get { return ToolStripMenuItemBase.structureSeparator; }
-    }
-
-    public virtual void ActiveViewChanged(object sender, EventArgs e) {
-    }
-
-    public virtual void ViewChanged(object sender, EventArgs e) {
-    }
-
-    public virtual void MainFormChanged(object sender, EventArgs e) {
-    }
-    #endregion
-  }
-}
Index: trunk/sources/HeuristicLab.MainForm/3.2/ToolStripMenuItemBase.cs
===================================================================
--- trunk/sources/HeuristicLab.MainForm/3.2/ToolStripMenuItemBase.cs	(revision 2407)
+++ 	(revision )
@@ -1,38 +1,0 @@
-﻿#region License Information
-/* HeuristicLab
- * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
- *
- * This file is part of HeuristicLab.
- *
- * HeuristicLab is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * HeuristicLab is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
- */
-#endregion
-
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Windows.Forms;
-
-namespace HeuristicLab.MainForm {
-  public abstract class ToolStripMenuItemBase : ToolStripItemBase, IToolStripMenuItem {
-    public virtual Keys ShortCutKeys {
-      get { return Keys.None; }
-    }
-
-    public override ToolStripItemDisplayStyle DisplayStyle {
-      get { return ToolStripItemDisplayStyle.Text; }
-    }
-  }
-}
Index: trunk/sources/HeuristicLab.MainForm/3.2/UserInterfaceItemBase.cs
===================================================================
--- trunk/sources/HeuristicLab.MainForm/3.2/UserInterfaceItemBase.cs	(revision 2407)
+++ trunk/sources/HeuristicLab.MainForm/3.2/UserInterfaceItemBase.cs	(revision 2458)
@@ -27,9 +27,28 @@
 namespace HeuristicLab.MainForm {
   public abstract class UserInterfaceItemBase : IUserInterfaceItem{
+    protected UserInterfaceItemBase() {
+    }
+
     public abstract string Name { get; }
+    public abstract int Position { get; }
 
-    #region IAction Members
-    public abstract void Execute(IMainForm mainform);
-    #endregion
+    public virtual System.Drawing.Image Image {
+      get { return null; }
+    }
+
+    public virtual string ToolTipText {
+      get { return string.Empty; }
+    }
+
+    public abstract void Execute();
+
+    public virtual void ActiveViewChanged(object sender, EventArgs e) {
+    }
+
+    public virtual void ViewChanged(object sender, EventArgs e) {
+    }
+
+    public virtual void MainFormChanged(object sender, EventArgs e) {
+    }
   }
 }
Index: trunk/sources/HeuristicLab.MainForm/3.2/ViewBase.Designer.cs
===================================================================
--- trunk/sources/HeuristicLab.MainForm/3.2/ViewBase.Designer.cs	(revision 2407)
+++ 	(revision )
@@ -1,55 +1,0 @@
-#region License Information
-/* HeuristicLab
- * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
- *
- * This file is part of HeuristicLab.
- *
- * HeuristicLab is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * HeuristicLab is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
- */
-#endregion
-
-using System;
-
-namespace HeuristicLab.MainForm {
-  partial class ViewBase {
-    /// <summary> 
-    /// Required designer variable.
-    /// </summary>
-    private System.ComponentModel.IContainer components = null;
-
-    /// <summary> 
-    /// Clean up any resources being used.
-    /// </summary>
-    /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
-    protected override void Dispose(bool disposing) {
-      if (disposing && (components != null)) {
-        components.Dispose();
-      }
-      base.Dispose(disposing);
-    }
-
-    #region Component Designer generated code
-
-    /// <summary> 
-    /// Required method for Designer support - do not modify 
-    /// the contents of this method with the code editor.
-    /// </summary>
-    private void InitializeComponent() {
-      components = new System.ComponentModel.Container();
-      this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
-    }
-
-    #endregion
-  }
-}
Index: trunk/sources/HeuristicLab.MainForm/3.2/ViewBase.cs
===================================================================
--- trunk/sources/HeuristicLab.MainForm/3.2/ViewBase.cs	(revision 2407)
+++ 	(revision )
@@ -1,74 +1,0 @@
-#region License Information
-/* HeuristicLab
- * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
- *
- * This file is part of HeuristicLab.
- *
- * HeuristicLab is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * HeuristicLab is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
- */
-#endregion
-
-using System;
-using System.Collections.Generic;
-using System.ComponentModel;
-using System.Drawing;
-using System.Data;
-using System.Text;
-using System.Xml;
-using System.Windows.Forms;
-
-namespace HeuristicLab.MainForm {
-  public partial class ViewBase : UserControl,IView {
-    public ViewBase() {
-      InitializeComponent();
-    }
-
-    public ViewBase(IMainForm mainForm)
-      : this() {
-      this.mainForm = mainForm;
-    }
-
-    private string myCaption;
-    public string Caption {
-      get { return myCaption; }
-      set {
-        if (value != myCaption) {
-          myCaption = value;
-          OnCaptionChanged();
-        }
-      }
-    }
-
-    public event EventHandler CaptionChanged;
-    protected virtual void OnCaptionChanged() {
-      if (CaptionChanged != null)
-        CaptionChanged(this, new EventArgs());
-    }
-
-    public event EventHandler StateChanged;
-    protected virtual void OnStateChanged() {
-      if (StateChanged != null)
-        StateChanged(this, new EventArgs());
-    }
-
-    private IMainForm mainForm;
-    public IMainForm MainForm {
-      get { return this.mainForm; }
-      set { this.mainForm = value; }
-    }
-
-    public virtual void FormClosing(object sender, FormClosingEventArgs e) {
-    }
-  }
-}
