Index: anches/3073_IA_constraint_splitting_reintegration/HeuristicLab.Problems.DataAnalysis.Views/3.4/Regression/IntervalConstraintView.Designer.cs
===================================================================
--- /branches/3073_IA_constraint_splitting_reintegration/HeuristicLab.Problems.DataAnalysis.Views/3.4/Regression/IntervalConstraintView.Designer.cs	(revision 17894)
+++ 	(revision )
@@ -1,231 +1,0 @@
-﻿namespace HeuristicLab.Problems.DataAnalysis.Views {
-  partial class IntervalConstraintView {
-    /// <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() {
-            this.components = new System.ComponentModel.Container();
-            this.lowerboundLabel = new System.Windows.Forms.Label();
-            this.upperboundLabel = new System.Windows.Forms.Label();
-            this.variableLabel = new System.Windows.Forms.Label();
-            this.numberderivationLabel = new System.Windows.Forms.Label();
-            this.upperboundInput = new System.Windows.Forms.TextBox();
-            this.lowerboundInput = new System.Windows.Forms.TextBox();
-            this.variableInput = new System.Windows.Forms.TextBox();
-            this.groupBox1 = new System.Windows.Forms.GroupBox();
-            this.weightInput = new System.Windows.Forms.TextBox();
-            this.WeightLab = new System.Windows.Forms.Label();
-            this.regionLab = new System.Windows.Forms.Label();
-            this.regionView = new HeuristicLab.Problems.DataAnalysis.Views.IntervalCollectionView();
-            this.label1 = new System.Windows.Forms.Label();
-            this.numberderivationInput = new System.Windows.Forms.ComboBox();
-            this.errorProvider = new System.Windows.Forms.ErrorProvider(this.components);
-            this.groupBox1.SuspendLayout();
-            ((System.ComponentModel.ISupportInitialize)(this.errorProvider)).BeginInit();
-            this.SuspendLayout();
-            // 
-            // lowerboundLabel
-            // 
-            this.lowerboundLabel.AutoSize = true;
-            this.lowerboundLabel.Location = new System.Drawing.Point(8, 101);
-            this.lowerboundLabel.Name = "lowerboundLabel";
-            this.lowerboundLabel.Size = new System.Drawing.Size(69, 13);
-            this.lowerboundLabel.TabIndex = 2;
-            this.lowerboundLabel.Text = "Lowerbound:";
-            // 
-            // upperboundLabel
-            // 
-            this.upperboundLabel.AutoSize = true;
-            this.upperboundLabel.Location = new System.Drawing.Point(8, 126);
-            this.upperboundLabel.Name = "upperboundLabel";
-            this.upperboundLabel.Size = new System.Drawing.Size(69, 13);
-            this.upperboundLabel.TabIndex = 3;
-            this.upperboundLabel.Text = "Upperbound:";
-            // 
-            // variableLabel
-            // 
-            this.variableLabel.AutoSize = true;
-            this.variableLabel.Location = new System.Drawing.Point(8, 47);
-            this.variableLabel.Name = "variableLabel";
-            this.variableLabel.Size = new System.Drawing.Size(48, 13);
-            this.variableLabel.TabIndex = 7;
-            this.variableLabel.Text = "Variable:";
-            // 
-            // numberderivationLabel
-            // 
-            this.numberderivationLabel.AutoSize = true;
-            this.numberderivationLabel.Location = new System.Drawing.Point(8, 74);
-            this.numberderivationLabel.Name = "numberderivationLabel";
-            this.numberderivationLabel.Size = new System.Drawing.Size(65, 13);
-            this.numberderivationLabel.TabIndex = 8;
-            this.numberderivationLabel.Text = "#Derivation:";
-            // 
-            // upperboundInput
-            // 
-            this.upperboundInput.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
-            | System.Windows.Forms.AnchorStyles.Right)));
-            this.upperboundInput.Location = new System.Drawing.Point(108, 123);
-            this.upperboundInput.Name = "upperboundInput";
-            this.upperboundInput.Size = new System.Drawing.Size(473, 20);
-            this.upperboundInput.TabIndex = 11;
-            this.upperboundInput.Validating += new System.ComponentModel.CancelEventHandler(this.upperboundInput_Validating);
-            this.upperboundInput.Validated += new System.EventHandler(this.upperboundInput_Validated);
-            // 
-            // lowerboundInput
-            // 
-            this.lowerboundInput.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
-            | System.Windows.Forms.AnchorStyles.Right)));
-            this.lowerboundInput.Location = new System.Drawing.Point(108, 98);
-            this.lowerboundInput.Name = "lowerboundInput";
-            this.lowerboundInput.Size = new System.Drawing.Size(473, 20);
-            this.lowerboundInput.TabIndex = 12;
-            this.lowerboundInput.Validating += new System.ComponentModel.CancelEventHandler(this.lowerboundInput_Validating);
-            this.lowerboundInput.Validated += new System.EventHandler(this.lowerboundInput_Validated);
-            // 
-            // variableInput
-            // 
-            this.variableInput.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
-            | System.Windows.Forms.AnchorStyles.Right)));
-            this.variableInput.Location = new System.Drawing.Point(108, 44);
-            this.variableInput.Name = "variableInput";
-            this.variableInput.Size = new System.Drawing.Size(473, 20);
-            this.variableInput.TabIndex = 15;
-            // 
-            // groupBox1
-            // 
-            this.groupBox1.Controls.Add(this.weightInput);
-            this.groupBox1.Controls.Add(this.WeightLab);
-            this.groupBox1.Controls.Add(this.regionLab);
-            this.groupBox1.Controls.Add(this.regionView);
-            this.groupBox1.Controls.Add(this.label1);
-            this.groupBox1.Controls.Add(this.numberderivationInput);
-            this.groupBox1.Controls.Add(this.variableInput);
-            this.groupBox1.Controls.Add(this.lowerboundInput);
-            this.groupBox1.Controls.Add(this.upperboundInput);
-            this.groupBox1.Controls.Add(this.numberderivationLabel);
-            this.groupBox1.Controls.Add(this.variableLabel);
-            this.groupBox1.Controls.Add(this.upperboundLabel);
-            this.groupBox1.Controls.Add(this.lowerboundLabel);
-            this.groupBox1.Dock = System.Windows.Forms.DockStyle.Fill;
-            this.groupBox1.Location = new System.Drawing.Point(0, 0);
-            this.groupBox1.Name = "groupBox1";
-            this.groupBox1.Size = new System.Drawing.Size(587, 380);
-            this.groupBox1.TabIndex = 0;
-            this.groupBox1.TabStop = false;
-            this.groupBox1.Text = "Interval Constraints Detail";
-            // 
-            // weightInput
-            // 
-            this.weightInput.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
-            | System.Windows.Forms.AnchorStyles.Right)));
-            this.weightInput.Location = new System.Drawing.Point(108, 150);
-            this.weightInput.Name = "weightInput";
-            this.weightInput.Size = new System.Drawing.Size(473, 20);
-            this.weightInput.TabIndex = 33;
-            this.weightInput.TextChanged += new System.EventHandler(this.weightInput_TextChanged);
-            // 
-            // WeightLab
-            // 
-            this.WeightLab.AutoSize = true;
-            this.WeightLab.Location = new System.Drawing.Point(8, 153);
-            this.WeightLab.Name = "WeightLab";
-            this.WeightLab.Size = new System.Drawing.Size(44, 13);
-            this.WeightLab.TabIndex = 32;
-            this.WeightLab.Text = "Weight:";
-            // 
-            // regionLab
-            // 
-            this.regionLab.AutoSize = true;
-            this.regionLab.Location = new System.Drawing.Point(8, 188);
-            this.regionLab.Name = "regionLab";
-            this.regionLab.Size = new System.Drawing.Size(49, 13);
-            this.regionLab.TabIndex = 31;
-            this.regionLab.Text = "Regions:";
-            // 
-            // regionView
-            // 
-            this.regionView.Caption = "IntervalCollection View";
-            this.regionView.Content = null;
-            this.regionView.Location = new System.Drawing.Point(108, 188);
-            this.regionView.Name = "regionView";
-            this.regionView.ReadOnly = false;
-            this.regionView.Size = new System.Drawing.Size(473, 186);
-            this.regionView.TabIndex = 30;
-            this.regionView.TabStop = false;
-            // 
-            // label1
-            // 
-            this.label1.AutoSize = true;
-            this.label1.Location = new System.Drawing.Point(11, -105);
-            this.label1.Name = "label1";
-            this.label1.Size = new System.Drawing.Size(49, 13);
-            this.label1.TabIndex = 28;
-            this.label1.Text = "Enabled:";
-            // 
-            // numberderivationInput
-            // 
-            this.numberderivationInput.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
-            | System.Windows.Forms.AnchorStyles.Right)));
-            this.numberderivationInput.FormattingEnabled = true;
-            this.numberderivationInput.Location = new System.Drawing.Point(108, 71);
-            this.numberderivationInput.Name = "numberderivationInput";
-            this.numberderivationInput.Size = new System.Drawing.Size(473, 21);
-            this.numberderivationInput.TabIndex = 27;
-            this.numberderivationInput.SelectedIndexChanged += new System.EventHandler(this.numberderivationInput_SelectedIndexChanged);
-            // 
-            // errorProvider
-            // 
-            this.errorProvider.ContainerControl = this;
-            this.errorProvider.RightToLeft = true;
-            // 
-            // IntervalConstraintView
-            // 
-            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Inherit;
-            this.Controls.Add(this.groupBox1);
-            this.Name = "IntervalConstraintView";
-            this.Size = new System.Drawing.Size(587, 380);
-            this.groupBox1.ResumeLayout(false);
-            this.groupBox1.PerformLayout();
-            ((System.ComponentModel.ISupportInitialize)(this.errorProvider)).EndInit();
-            this.ResumeLayout(false);
-
-    }
-
-    #endregion
-
-    private System.Windows.Forms.Label         lowerboundLabel;
-    private System.Windows.Forms.Label         upperboundLabel;
-    private System.Windows.Forms.Label         variableLabel;
-    private System.Windows.Forms.Label         numberderivationLabel;
-    private System.Windows.Forms.TextBox       upperboundInput;
-    private System.Windows.Forms.TextBox       lowerboundInput;
-    private System.Windows.Forms.TextBox       variableInput;
-    private System.Windows.Forms.GroupBox      groupBox1;
-    private System.Windows.Forms.ErrorProvider errorProvider;
-    private System.Windows.Forms.ComboBox      numberderivationInput;
-    private System.Windows.Forms.Label         label1;
-    private IntervalCollectionView regionView;
-    private System.Windows.Forms.Label regionLab;
-        private System.Windows.Forms.TextBox weightInput;
-        private System.Windows.Forms.Label WeightLab;
-    }
-}
Index: anches/3073_IA_constraint_splitting_reintegration/HeuristicLab.Problems.DataAnalysis.Views/3.4/Regression/IntervalConstraintView.cs
===================================================================
--- /branches/3073_IA_constraint_splitting_reintegration/HeuristicLab.Problems.DataAnalysis.Views/3.4/Regression/IntervalConstraintView.cs	(revision 17894)
+++ 	(revision )
@@ -1,204 +1,0 @@
-﻿#region License Information
-
-/* HeuristicLab
- * Copyright (C) 2002-2019 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.ComponentModel;
-using System.Windows.Forms;
-using HeuristicLab.Core.Views;
-using HeuristicLab.MainForm;
-
-namespace HeuristicLab.Problems.DataAnalysis.Views {
-  [View("Interval Constraint Detail View")]
-  [Content(typeof(ShapeConstraint), true)]
-  public sealed partial class IntervalConstraintView : ItemView {
-    public new ShapeConstraint Content {
-      get => (ShapeConstraint)base.Content;
-      set => base.Content = value;
-    }
-
-    public IntervalConstraintView() {
-      InitializeComponent();
-      int[] items = { 1, 2, 3 };
-      numberderivationInput.DataSource = items;
-    }
-
-    protected override void OnContentChanged() {
-      base.OnContentChanged();
-      this.regionView.Content = Content.Regions;
-      UpdateControls();
-    }
-
-    protected override void RegisterContentEvents() {
-      base.RegisterContentEvents();
-      Content.Changed += Content_Changed;
-    }
-
-    protected override void DeregisterContentEvents() {
-      Content.Changed -= Content_Changed;
-      base.DeregisterContentEvents();
-    }
-
-    protected override void SetEnabledStateOfControls() {
-      base.SetEnabledStateOfControls();
-      variableInput.Enabled = Content != null && !Locked && !ReadOnly;
-      numberderivationInput.Enabled = Content != null && !Locked && !ReadOnly;
-      lowerboundInput.Enabled = Content != null && !Locked && !ReadOnly;
-      upperboundInput.Enabled = Content != null && !Locked && !ReadOnly;
-      weightInput.Enabled = Content != null && !Locked && !ReadOnly;
-    }
-
-
-    #region helpers
-
-    private static double ParseDoubleValue(string input, Control control, ErrorProvider errorProvider) {
-      input = input.ToLower();
-      switch (input) {
-        case "inf.":
-        case "+inf.":
-        case "Infinity":
-          return double.PositiveInfinity;
-        case "-inf.":
-        case "-Infinity":
-          return double.NegativeInfinity;
-        default: {
-            if (double.TryParse(input, out var value)) {
-              return value;
-            }
-
-            errorProvider.SetError(control, "Invalid input: value must be a double.");
-            return double.NaN;
-          }
-      }
-    }
-
-    private void UpdateControls() {
-      if (Content == null) {
-        lowerboundInput.Text = string.Empty;
-        upperboundInput.Text = string.Empty;
-        weightInput.Text = string.Empty;
-        return;
-      }
-
-      lowerboundInput.Text = Content.Interval.LowerBound.ToString();
-      upperboundInput.Text = Content.Interval.UpperBound.ToString();
-      weightInput.Text = Content.Weight.ToString();
-
-      variableInput.Text = Content.Variable;
-      if (!Content.IsDerivative) {
-        numberderivationInput.Enabled = false;
-        numberderivationInput.SelectedItem = null;
-        numberderivationInput.Text = "0";
-      } else {
-        numberderivationLabel.Visible = true;
-        numberderivationInput.Visible = true;
-        numberderivationInput.Enabled = true;
-        numberderivationInput.SelectedItem = Content.NumberOfDerivations;
-      }
-
-      regionView.Content = Content.Regions;
-    }
-
-    #endregion
-
-    #region control event handlers
-
-    private void lowerboundInput_Validating(object sender, CancelEventArgs e) {
-      var value = ParseDoubleValue(lowerboundInput.Text, lowerboundInput, errorProvider);
-      if (double.IsNaN(value)) {
-        errorProvider.SetError(lowerboundInput, "Invalid input: lower bound must be a double value.");
-        e.Cancel = true;
-        return;
-      }
-
-      if (value > Content.Interval.UpperBound) {
-        errorProvider.SetError(lowerboundInput, "Invalid input: lower bound must be smaller than upper bound.");
-        e.Cancel = true;
-        return;
-      }
-
-      errorProvider.SetError(lowerboundInput, string.Empty);
-      e.Cancel = false;
-    }
-
-    private void lowerboundInput_Validated(object sender, EventArgs e) {
-      var value =
-        ParseDoubleValue(lowerboundInput.Text, lowerboundInput, errorProvider);
-      if (!double.IsNaN(value)) Content.Interval = new Interval(value, Content.Interval.UpperBound);
-    }
-
-    private void upperboundInput_Validating(object sender, CancelEventArgs e) {
-      var value = ParseDoubleValue(upperboundInput.Text, upperboundInput, errorProvider);
-      if (double.IsNaN(value)) {
-        errorProvider.SetError(upperboundInput, "Invalid Input: upper bound must be a double value.");
-        e.Cancel = true;
-        return;
-      }
-
-      if (value < Content.Interval.LowerBound) {
-        errorProvider.SetError(upperboundInput, "Invalid input: upper bound must be bigger than lower bound.");
-        e.Cancel = true;
-        return;
-      }
-
-      errorProvider.SetError(upperboundInput, string.Empty);
-      e.Cancel = false;
-    }
-
-    private void upperboundInput_Validated(object sender, EventArgs e) {
-      var value =
-        ParseDoubleValue(upperboundInput.Text, upperboundInput, errorProvider);
-      if (!double.IsNaN(value)) Content.Interval = new Interval(Content.Interval.LowerBound, value);
-    }
-
-    private void numberderivationInput_SelectedIndexChanged(object sender, EventArgs e) {
-      if (numberderivationInput.SelectedItem == null) {
-        Content.NumberOfDerivations = 0;
-        numberderivationInput.Enabled = false;
-        return;
-      }
-
-      if ((int)numberderivationInput.SelectedItem == 1)
-        Content.NumberOfDerivations = 1;
-      else if ((int)numberderivationInput.SelectedItem == 2)
-        Content.NumberOfDerivations = 2;
-      else if ((int)numberderivationInput.SelectedItem == 3)
-        Content.NumberOfDerivations = 3;
-    }
-
-    private void weightInput_TextChanged(object sender, EventArgs e) {
-      var value = ParseDoubleValue(weightInput.Text, weightInput, errorProvider);
-      if (!double.IsNaN(value)) Content.Weight = value;
-    }
-
-
-    #endregion
-
-    #region content event handlers
-
-    private void Content_Changed(object sender, EventArgs e) {
-      UpdateControls();
-    }
-
-   #endregion
-  }
-}
Index: anches/3073_IA_constraint_splitting_reintegration/HeuristicLab.Problems.DataAnalysis.Views/3.4/Regression/IntervalConstraintView.resx
===================================================================
--- /branches/3073_IA_constraint_splitting_reintegration/HeuristicLab.Problems.DataAnalysis.Views/3.4/Regression/IntervalConstraintView.resx	(revision 17894)
+++ 	(revision )
@@ -1,123 +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=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <resheader name="writer">
-    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <metadata name="errorProvider.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
-    <value>17, 17</value>
-  </metadata>
-</root>
Index: /branches/3073_IA_constraint_splitting_reintegration/HeuristicLab.Problems.DataAnalysis.Views/3.4/Regression/ShapeConstraintView.Designer.cs
===================================================================
--- /branches/3073_IA_constraint_splitting_reintegration/HeuristicLab.Problems.DataAnalysis.Views/3.4/Regression/ShapeConstraintView.Designer.cs	(revision 17895)
+++ /branches/3073_IA_constraint_splitting_reintegration/HeuristicLab.Problems.DataAnalysis.Views/3.4/Regression/ShapeConstraintView.Designer.cs	(revision 17895)
@@ -0,0 +1,231 @@
+﻿namespace HeuristicLab.Problems.DataAnalysis.Views {
+  partial class IntervalConstraintView {
+    /// <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() {
+            this.components = new System.ComponentModel.Container();
+            this.lowerboundLabel = new System.Windows.Forms.Label();
+            this.upperboundLabel = new System.Windows.Forms.Label();
+            this.variableLabel = new System.Windows.Forms.Label();
+            this.numberderivationLabel = new System.Windows.Forms.Label();
+            this.upperboundInput = new System.Windows.Forms.TextBox();
+            this.lowerboundInput = new System.Windows.Forms.TextBox();
+            this.variableInput = new System.Windows.Forms.TextBox();
+            this.groupBox1 = new System.Windows.Forms.GroupBox();
+            this.weightInput = new System.Windows.Forms.TextBox();
+            this.WeightLab = new System.Windows.Forms.Label();
+            this.regionLab = new System.Windows.Forms.Label();
+            this.regionView = new HeuristicLab.Problems.DataAnalysis.Views.IntervalCollectionView();
+            this.label1 = new System.Windows.Forms.Label();
+            this.numberderivationInput = new System.Windows.Forms.ComboBox();
+            this.errorProvider = new System.Windows.Forms.ErrorProvider(this.components);
+            this.groupBox1.SuspendLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.errorProvider)).BeginInit();
+            this.SuspendLayout();
+            // 
+            // lowerboundLabel
+            // 
+            this.lowerboundLabel.AutoSize = true;
+            this.lowerboundLabel.Location = new System.Drawing.Point(8, 101);
+            this.lowerboundLabel.Name = "lowerboundLabel";
+            this.lowerboundLabel.Size = new System.Drawing.Size(69, 13);
+            this.lowerboundLabel.TabIndex = 2;
+            this.lowerboundLabel.Text = "Lowerbound:";
+            // 
+            // upperboundLabel
+            // 
+            this.upperboundLabel.AutoSize = true;
+            this.upperboundLabel.Location = new System.Drawing.Point(8, 126);
+            this.upperboundLabel.Name = "upperboundLabel";
+            this.upperboundLabel.Size = new System.Drawing.Size(69, 13);
+            this.upperboundLabel.TabIndex = 3;
+            this.upperboundLabel.Text = "Upperbound:";
+            // 
+            // variableLabel
+            // 
+            this.variableLabel.AutoSize = true;
+            this.variableLabel.Location = new System.Drawing.Point(8, 47);
+            this.variableLabel.Name = "variableLabel";
+            this.variableLabel.Size = new System.Drawing.Size(48, 13);
+            this.variableLabel.TabIndex = 7;
+            this.variableLabel.Text = "Variable:";
+            // 
+            // numberderivationLabel
+            // 
+            this.numberderivationLabel.AutoSize = true;
+            this.numberderivationLabel.Location = new System.Drawing.Point(8, 74);
+            this.numberderivationLabel.Name = "numberderivationLabel";
+            this.numberderivationLabel.Size = new System.Drawing.Size(65, 13);
+            this.numberderivationLabel.TabIndex = 8;
+            this.numberderivationLabel.Text = "#Derivation:";
+            // 
+            // upperboundInput
+            // 
+            this.upperboundInput.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
+            | System.Windows.Forms.AnchorStyles.Right)));
+            this.upperboundInput.Location = new System.Drawing.Point(108, 123);
+            this.upperboundInput.Name = "upperboundInput";
+            this.upperboundInput.Size = new System.Drawing.Size(473, 20);
+            this.upperboundInput.TabIndex = 11;
+            this.upperboundInput.Validating += new System.ComponentModel.CancelEventHandler(this.upperboundInput_Validating);
+            this.upperboundInput.Validated += new System.EventHandler(this.upperboundInput_Validated);
+            // 
+            // lowerboundInput
+            // 
+            this.lowerboundInput.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
+            | System.Windows.Forms.AnchorStyles.Right)));
+            this.lowerboundInput.Location = new System.Drawing.Point(108, 98);
+            this.lowerboundInput.Name = "lowerboundInput";
+            this.lowerboundInput.Size = new System.Drawing.Size(473, 20);
+            this.lowerboundInput.TabIndex = 12;
+            this.lowerboundInput.Validating += new System.ComponentModel.CancelEventHandler(this.lowerboundInput_Validating);
+            this.lowerboundInput.Validated += new System.EventHandler(this.lowerboundInput_Validated);
+            // 
+            // variableInput
+            // 
+            this.variableInput.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
+            | System.Windows.Forms.AnchorStyles.Right)));
+            this.variableInput.Location = new System.Drawing.Point(108, 44);
+            this.variableInput.Name = "variableInput";
+            this.variableInput.Size = new System.Drawing.Size(473, 20);
+            this.variableInput.TabIndex = 15;
+            // 
+            // groupBox1
+            // 
+            this.groupBox1.Controls.Add(this.weightInput);
+            this.groupBox1.Controls.Add(this.WeightLab);
+            this.groupBox1.Controls.Add(this.regionLab);
+            this.groupBox1.Controls.Add(this.regionView);
+            this.groupBox1.Controls.Add(this.label1);
+            this.groupBox1.Controls.Add(this.numberderivationInput);
+            this.groupBox1.Controls.Add(this.variableInput);
+            this.groupBox1.Controls.Add(this.lowerboundInput);
+            this.groupBox1.Controls.Add(this.upperboundInput);
+            this.groupBox1.Controls.Add(this.numberderivationLabel);
+            this.groupBox1.Controls.Add(this.variableLabel);
+            this.groupBox1.Controls.Add(this.upperboundLabel);
+            this.groupBox1.Controls.Add(this.lowerboundLabel);
+            this.groupBox1.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.groupBox1.Location = new System.Drawing.Point(0, 0);
+            this.groupBox1.Name = "groupBox1";
+            this.groupBox1.Size = new System.Drawing.Size(587, 380);
+            this.groupBox1.TabIndex = 0;
+            this.groupBox1.TabStop = false;
+            this.groupBox1.Text = "Interval Constraints Detail";
+            // 
+            // weightInput
+            // 
+            this.weightInput.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
+            | System.Windows.Forms.AnchorStyles.Right)));
+            this.weightInput.Location = new System.Drawing.Point(108, 150);
+            this.weightInput.Name = "weightInput";
+            this.weightInput.Size = new System.Drawing.Size(473, 20);
+            this.weightInput.TabIndex = 33;
+            this.weightInput.TextChanged += new System.EventHandler(this.weightInput_TextChanged);
+            // 
+            // WeightLab
+            // 
+            this.WeightLab.AutoSize = true;
+            this.WeightLab.Location = new System.Drawing.Point(8, 153);
+            this.WeightLab.Name = "WeightLab";
+            this.WeightLab.Size = new System.Drawing.Size(44, 13);
+            this.WeightLab.TabIndex = 32;
+            this.WeightLab.Text = "Weight:";
+            // 
+            // regionLab
+            // 
+            this.regionLab.AutoSize = true;
+            this.regionLab.Location = new System.Drawing.Point(8, 188);
+            this.regionLab.Name = "regionLab";
+            this.regionLab.Size = new System.Drawing.Size(49, 13);
+            this.regionLab.TabIndex = 31;
+            this.regionLab.Text = "Regions:";
+            // 
+            // regionView
+            // 
+            this.regionView.Caption = "IntervalCollection View";
+            this.regionView.Content = null;
+            this.regionView.Location = new System.Drawing.Point(108, 188);
+            this.regionView.Name = "regionView";
+            this.regionView.ReadOnly = false;
+            this.regionView.Size = new System.Drawing.Size(473, 186);
+            this.regionView.TabIndex = 30;
+            this.regionView.TabStop = false;
+            // 
+            // label1
+            // 
+            this.label1.AutoSize = true;
+            this.label1.Location = new System.Drawing.Point(11, -105);
+            this.label1.Name = "label1";
+            this.label1.Size = new System.Drawing.Size(49, 13);
+            this.label1.TabIndex = 28;
+            this.label1.Text = "Enabled:";
+            // 
+            // numberderivationInput
+            // 
+            this.numberderivationInput.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
+            | System.Windows.Forms.AnchorStyles.Right)));
+            this.numberderivationInput.FormattingEnabled = true;
+            this.numberderivationInput.Location = new System.Drawing.Point(108, 71);
+            this.numberderivationInput.Name = "numberderivationInput";
+            this.numberderivationInput.Size = new System.Drawing.Size(473, 21);
+            this.numberderivationInput.TabIndex = 27;
+            this.numberderivationInput.SelectedIndexChanged += new System.EventHandler(this.numberderivationInput_SelectedIndexChanged);
+            // 
+            // errorProvider
+            // 
+            this.errorProvider.ContainerControl = this;
+            this.errorProvider.RightToLeft = true;
+            // 
+            // IntervalConstraintView
+            // 
+            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Inherit;
+            this.Controls.Add(this.groupBox1);
+            this.Name = "IntervalConstraintView";
+            this.Size = new System.Drawing.Size(587, 380);
+            this.groupBox1.ResumeLayout(false);
+            this.groupBox1.PerformLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.errorProvider)).EndInit();
+            this.ResumeLayout(false);
+
+    }
+
+    #endregion
+
+    private System.Windows.Forms.Label         lowerboundLabel;
+    private System.Windows.Forms.Label         upperboundLabel;
+    private System.Windows.Forms.Label         variableLabel;
+    private System.Windows.Forms.Label         numberderivationLabel;
+    private System.Windows.Forms.TextBox       upperboundInput;
+    private System.Windows.Forms.TextBox       lowerboundInput;
+    private System.Windows.Forms.TextBox       variableInput;
+    private System.Windows.Forms.GroupBox      groupBox1;
+    private System.Windows.Forms.ErrorProvider errorProvider;
+    private System.Windows.Forms.ComboBox      numberderivationInput;
+    private System.Windows.Forms.Label         label1;
+    private IntervalCollectionView regionView;
+    private System.Windows.Forms.Label regionLab;
+        private System.Windows.Forms.TextBox weightInput;
+        private System.Windows.Forms.Label WeightLab;
+    }
+}
Index: /branches/3073_IA_constraint_splitting_reintegration/HeuristicLab.Problems.DataAnalysis.Views/3.4/Regression/ShapeConstraintView.cs
===================================================================
--- /branches/3073_IA_constraint_splitting_reintegration/HeuristicLab.Problems.DataAnalysis.Views/3.4/Regression/ShapeConstraintView.cs	(revision 17895)
+++ /branches/3073_IA_constraint_splitting_reintegration/HeuristicLab.Problems.DataAnalysis.Views/3.4/Regression/ShapeConstraintView.cs	(revision 17895)
@@ -0,0 +1,204 @@
+﻿#region License Information
+
+/* HeuristicLab
+ * Copyright (C) 2002-2019 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.ComponentModel;
+using System.Windows.Forms;
+using HeuristicLab.Core.Views;
+using HeuristicLab.MainForm;
+
+namespace HeuristicLab.Problems.DataAnalysis.Views {
+  [View("Interval Constraint Detail View")]
+  [Content(typeof(ShapeConstraint), true)]
+  public sealed partial class IntervalConstraintView : ItemView {
+    public new ShapeConstraint Content {
+      get => (ShapeConstraint)base.Content;
+      set => base.Content = value;
+    }
+
+    public IntervalConstraintView() {
+      InitializeComponent();
+      int[] items = { 1, 2, 3 };
+      numberderivationInput.DataSource = items;
+    }
+
+    protected override void OnContentChanged() {
+      base.OnContentChanged();
+      this.regionView.Content = Content.Regions;
+      UpdateControls();
+    }
+
+    protected override void RegisterContentEvents() {
+      base.RegisterContentEvents();
+      Content.Changed += Content_Changed;
+    }
+
+    protected override void DeregisterContentEvents() {
+      Content.Changed -= Content_Changed;
+      base.DeregisterContentEvents();
+    }
+
+    protected override void SetEnabledStateOfControls() {
+      base.SetEnabledStateOfControls();
+      variableInput.Enabled = Content != null && !Locked && !ReadOnly;
+      numberderivationInput.Enabled = Content != null && !Locked && !ReadOnly;
+      lowerboundInput.Enabled = Content != null && !Locked && !ReadOnly;
+      upperboundInput.Enabled = Content != null && !Locked && !ReadOnly;
+      weightInput.Enabled = Content != null && !Locked && !ReadOnly;
+    }
+
+
+    #region helpers
+
+    private static double ParseDoubleValue(string input, Control control, ErrorProvider errorProvider) {
+      input = input.ToLower();
+      switch (input) {
+        case "inf.":
+        case "+inf.":
+        case "Infinity":
+          return double.PositiveInfinity;
+        case "-inf.":
+        case "-Infinity":
+          return double.NegativeInfinity;
+        default: {
+            if (double.TryParse(input, out var value)) {
+              return value;
+            }
+
+            errorProvider.SetError(control, "Invalid input: value must be a double.");
+            return double.NaN;
+          }
+      }
+    }
+
+    private void UpdateControls() {
+      if (Content == null) {
+        lowerboundInput.Text = string.Empty;
+        upperboundInput.Text = string.Empty;
+        weightInput.Text = string.Empty;
+        return;
+      }
+
+      lowerboundInput.Text = Content.Interval.LowerBound.ToString();
+      upperboundInput.Text = Content.Interval.UpperBound.ToString();
+      weightInput.Text = Content.Weight.ToString();
+
+      variableInput.Text = Content.Variable;
+      if (!Content.IsDerivative) {
+        numberderivationInput.Enabled = false;
+        numberderivationInput.SelectedItem = null;
+        numberderivationInput.Text = "0";
+      } else {
+        numberderivationLabel.Visible = true;
+        numberderivationInput.Visible = true;
+        numberderivationInput.Enabled = true;
+        numberderivationInput.SelectedItem = Content.NumberOfDerivations;
+      }
+
+      regionView.Content = Content.Regions;
+    }
+
+    #endregion
+
+    #region control event handlers
+
+    private void lowerboundInput_Validating(object sender, CancelEventArgs e) {
+      var value = ParseDoubleValue(lowerboundInput.Text, lowerboundInput, errorProvider);
+      if (double.IsNaN(value)) {
+        errorProvider.SetError(lowerboundInput, "Invalid input: lower bound must be a double value.");
+        e.Cancel = true;
+        return;
+      }
+
+      if (value > Content.Interval.UpperBound) {
+        errorProvider.SetError(lowerboundInput, "Invalid input: lower bound must be smaller than upper bound.");
+        e.Cancel = true;
+        return;
+      }
+
+      errorProvider.SetError(lowerboundInput, string.Empty);
+      e.Cancel = false;
+    }
+
+    private void lowerboundInput_Validated(object sender, EventArgs e) {
+      var value =
+        ParseDoubleValue(lowerboundInput.Text, lowerboundInput, errorProvider);
+      if (!double.IsNaN(value)) Content.Interval = new Interval(value, Content.Interval.UpperBound);
+    }
+
+    private void upperboundInput_Validating(object sender, CancelEventArgs e) {
+      var value = ParseDoubleValue(upperboundInput.Text, upperboundInput, errorProvider);
+      if (double.IsNaN(value)) {
+        errorProvider.SetError(upperboundInput, "Invalid Input: upper bound must be a double value.");
+        e.Cancel = true;
+        return;
+      }
+
+      if (value < Content.Interval.LowerBound) {
+        errorProvider.SetError(upperboundInput, "Invalid input: upper bound must be bigger than lower bound.");
+        e.Cancel = true;
+        return;
+      }
+
+      errorProvider.SetError(upperboundInput, string.Empty);
+      e.Cancel = false;
+    }
+
+    private void upperboundInput_Validated(object sender, EventArgs e) {
+      var value =
+        ParseDoubleValue(upperboundInput.Text, upperboundInput, errorProvider);
+      if (!double.IsNaN(value)) Content.Interval = new Interval(Content.Interval.LowerBound, value);
+    }
+
+    private void numberderivationInput_SelectedIndexChanged(object sender, EventArgs e) {
+      if (numberderivationInput.SelectedItem == null) {
+        Content.NumberOfDerivations = 0;
+        numberderivationInput.Enabled = false;
+        return;
+      }
+
+      if ((int)numberderivationInput.SelectedItem == 1)
+        Content.NumberOfDerivations = 1;
+      else if ((int)numberderivationInput.SelectedItem == 2)
+        Content.NumberOfDerivations = 2;
+      else if ((int)numberderivationInput.SelectedItem == 3)
+        Content.NumberOfDerivations = 3;
+    }
+
+    private void weightInput_TextChanged(object sender, EventArgs e) {
+      var value = ParseDoubleValue(weightInput.Text, weightInput, errorProvider);
+      if (!double.IsNaN(value)) Content.Weight = value;
+    }
+
+
+    #endregion
+
+    #region content event handlers
+
+    private void Content_Changed(object sender, EventArgs e) {
+      UpdateControls();
+    }
+
+   #endregion
+  }
+}
Index: /branches/3073_IA_constraint_splitting_reintegration/HeuristicLab.Problems.DataAnalysis.Views/3.4/Regression/ShapeConstraintView.resx
===================================================================
--- /branches/3073_IA_constraint_splitting_reintegration/HeuristicLab.Problems.DataAnalysis.Views/3.4/Regression/ShapeConstraintView.resx	(revision 17895)
+++ /branches/3073_IA_constraint_splitting_reintegration/HeuristicLab.Problems.DataAnalysis.Views/3.4/Regression/ShapeConstraintView.resx	(revision 17895)
@@ -0,0 +1,123 @@
+﻿<?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=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <metadata name="errorProvider.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>17, 17</value>
+  </metadata>
+</root>
