Changeset 16575 for addons


Ignore:
Timestamp:
01/28/19 18:24:59 (3 months ago)
Author:
gkronber
Message:

#2520: changed HeuristicLab.BioBoost addon to compile with new HL.Persistence

Location:
addons/HeuristicLab.Problems.BioBoost
Files:
71 edited

Legend:

Unmodified
Added
Removed
  • addons/HeuristicLab.Problems.BioBoost/HeuristicLab.Problems.BioBoost.Views/3.3/HeuristicLab.Problems.BioBoost.Views-3.3.csproj

    r15711 r16575  
    11<?xml version="1.0" encoding="utf-8"?>
    2 <Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
     2<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
    33  <PropertyGroup>
    44    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
     
    1111    <RootNamespace>HeuristicLab.Problems.BioBoost.Views</RootNamespace>
    1212    <AssemblyName>HeuristicLab.Problems.BioBoost.Views-3.3</AssemblyName>
    13     <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
     13    <TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
    1414    <FileAlignment>512</FileAlignment>
    1515    <TargetFrameworkProfile />
     
    133133      <HintPath>..\..\packages\GeoAPI.1.7.2\lib\net403-client\GeoAPI.dll</HintPath>
    134134    </Reference>
     135    <Reference Include="Google.Protobuf, Version=3.6.1.0, Culture=neutral, PublicKeyToken=a7d26565bac4d604, processorArchitecture=MSIL">
     136      <HintPath>..\..\packages\Google.Protobuf.3.6.1\lib\net45\Google.Protobuf.dll</HintPath>
     137    </Reference>
     138    <Reference Include="HEAL.Attic, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
     139      <HintPath>..\..\packages\HEAL.Attic.1.0.0-pre02\lib\net461\HEAL.Attic.dll</HintPath>
     140    </Reference>
    135141    <Reference Include="HeuristicLab.Collections-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=x86">
    136142      <SpecificVersion>False</SpecificVersion>
     
    234240    </Reference>
    235241    <Reference Include="System.Drawing" />
     242    <Reference Include="System.Drawing.Common, Version=4.0.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
     243      <HintPath>..\..\packages\System.Drawing.Common.4.5.1\lib\net461\System.Drawing.Common.dll</HintPath>
     244    </Reference>
    236245    <Reference Include="System.Windows.Forms" />
    237246    <Reference Include="System.Windows.Forms.DataVisualization" />
  • addons/HeuristicLab.Problems.BioBoost/HeuristicLab.Problems.BioBoost.Views/3.3/Properties/Resources.Designer.cs

    r13072 r16575  
    2020    // To add or remove a member, edit your .ResX file then rerun ResGen
    2121    // with the /str option, or rebuild your VS project.
    22     [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
     22    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.0.0.0")]
    2323    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
    2424    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
  • addons/HeuristicLab.Problems.BioBoost/HeuristicLab.Problems.BioBoost.Views/3.3/RegionDetailData.cs

    r13074 r16575  
    2525using HeuristicLab.Data;
    2626using HeuristicLab.Parameters;
    27 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    2827using System;
     28using HEAL.Attic;
    2929
    3030namespace HeuristicLab.BioBoost.Views {
    3131
    32   [StorableClass]
     32  [StorableType("47A30E9B-F71A-4469-80FE-20B0978F0119")]
    3333  public class RegionDetailData : ParameterizedNamedItem {
    3434
     
    5656
    5757    [StorableConstructor]
    58     protected RegionDetailData(bool isDeserializing) : base(isDeserializing) {}
     58    protected RegionDetailData(StorableConstructorFlag _) : base(_) { }
    5959    protected RegionDetailData(RegionDetailData orig, Cloner cloner) : base(orig, cloner) {}
    6060    public RegionDetailData() {
  • addons/HeuristicLab.Problems.BioBoost/HeuristicLab.Problems.BioBoost.Views/3.3/packages.config

    r13072 r16575  
    44  <package id="Common.Logging" version="2.0.0" targetFramework="net45" />
    55  <package id="GeoAPI" version="1.7.2" targetFramework="net45" />
     6  <package id="Google.Protobuf" version="3.6.1" targetFramework="net461" />
     7  <package id="HEAL.Attic" version="1.0.0-pre02" targetFramework="net461" />
    68  <package id="NetTopologySuite" version="1.13.2" targetFramework="net45" />
    79  <package id="NetTopologySuite.IO" version="1.13.2" targetFramework="net45" />
     
    1113  <package id="SharpMap.UI" version="1.1.0" targetFramework="net45" />
    1214  <package id="System.Data.SQLite.MSIL" version="1.0.86.0" targetFramework="net45" />
     15  <package id="System.Drawing.Common" version="4.5.1" targetFramework="net461" />
    1316</packages>
  • addons/HeuristicLab.Problems.BioBoost/HeuristicLab.Problems.BioBoost/3.3/Analysis/BestBioBoostSolutionAnalyzer.cs

    r13071 r16575  
    3131using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    3232using System.Linq;
     33using HEAL.Attic;
    3334
    3435namespace HeuristicLab.BioBoost.Analysis {
    3536
    3637  [Item("BestBioBoostSolutionAnalyzer", "An operator for analyzing the best bioboost solution.")]
    37   [StorableClass]
     38  [StorableType("B6E57285-A990-4675-9BD2-C3D61DF46E96")]
    3839  public class BestBioBoostSolutionAnalyzer : SingleSuccessorOperator, IAnalyzer {
    3940
     
    8990    #region Construction & Cloning
    9091    [StorableConstructor]
    91     protected BestBioBoostSolutionAnalyzer(bool isDeserializing) : base(isDeserializing) {}
     92    protected BestBioBoostSolutionAnalyzer(StorableConstructorFlag _) : base(_) { }
    9293    protected BestBioBoostSolutionAnalyzer(BestBioBoostSolutionAnalyzer orig, Cloner cloner) : base(orig, cloner) {}
    9394    public BestBioBoostSolutionAnalyzer() {
  • addons/HeuristicLab.Problems.BioBoost/HeuristicLab.Problems.BioBoost/3.3/Analysis/MultiObjejctiveBioBoostSolutionAnalyzer.cs

    r13071 r16575  
    3333using System.Linq;
    3434using HeuristicLab.BioBoost.Utils;
     35using HEAL.Attic;
    3536
    3637namespace HeuristicLab.BioBoost.Analysis {
    3738
    3839  [Item("MultiObjectiveBioBoostSolutionAnalyzer", "An operator for analyzing the set of best bioboost solutions (multi objective).")]
    39   [StorableClass]
     40  [StorableType("FC868394-A817-4835-845C-DD32562AE60C")]
    4041  public class MultiObjectiveBioBoostSolutionAnalyzer : SingleSuccessorOperator, IAnalyzer {
    4142
     
    8889    #region Construction & Cloning
    8990    [StorableConstructor]
    90     protected MultiObjectiveBioBoostSolutionAnalyzer(bool isDeserializing) : base(isDeserializing) {}
     91    protected MultiObjectiveBioBoostSolutionAnalyzer(StorableConstructorFlag _) : base(_) { }
    9192    protected MultiObjectiveBioBoostSolutionAnalyzer(MultiObjectiveBioBoostSolutionAnalyzer orig, Cloner cloner) : base(orig, cloner) {}
    9293    public MultiObjectiveBioBoostSolutionAnalyzer() {
  • addons/HeuristicLab.Problems.BioBoost/HeuristicLab.Problems.BioBoost/3.3/Analysis/MultiOperatorUsageAnalyzer.cs

    r13071 r16575  
    2929using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    3030using System.Linq;
     31using HEAL.Attic;
    3132
    3233namespace HeuristicLab.BioBoost.Analysis {
    3334
    3435  [Item("MultiOperatorUsageAnalyzer", "An operator for analyzing utilization of different choices of a multi manipulation operatoutilization of different choices of a multi manipulation operator.")]
    35   [StorableClass]
     36  [StorableType("4F293561-2390-4B6A-A6E0-8B55807D781C")]
    3637  public class MultiOperatorUsageAnalyzer : SingleSuccessorOperator, IAnalyzer {
    3738
     
    4950    #region Construction & Cloning
    5051    [StorableConstructor]
    51     protected MultiOperatorUsageAnalyzer(bool isDeserializing) : base(isDeserializing) {}
     52    protected MultiOperatorUsageAnalyzer(StorableConstructorFlag _) : base(_) { }
    5253    protected MultiOperatorUsageAnalyzer(MultiOperatorUsageAnalyzer orig, Cloner cloner) : base(orig, cloner) {}
    5354    public MultiOperatorUsageAnalyzer() {
  • addons/HeuristicLab.Problems.BioBoost/HeuristicLab.Problems.BioBoost/3.3/BioBoostProblem.cs

    r13071 r16575  
    3434using System;
    3535using HeuristicLab.BioBoost.Operators.Moves;
     36using HEAL.Attic;
    3637
    3738namespace HeuristicLab.BioBoost {
     
    4142  [Item("BioBoost Problem", "EU-wide aggregate biomass logistics simulation.")]
    4243  [Creatable("Problems")]
    43   [StorableClass]
     44  [StorableType("248ABB24-9C03-41FB-816F-C5C47018CB6B")]
    4445  public class BioBoostProblem : SingleObjectiveHeuristicOptimizationProblem<AggregateEvaluator, BioBoostSolutionCreator>, IStorableContent {
    4546
     
    8283    #region Construction & Cloning
    8384    [StorableConstructor]
    84     protected BioBoostProblem(bool isDeserializing) : base(isDeserializing) {}
     85    protected BioBoostProblem(StorableConstructorFlag _) : base(_) { }
    8586    protected BioBoostProblem(BioBoostProblem orig, Cloner cloner) : base(orig, cloner) {
    8687      RegisterEvents();
  • addons/HeuristicLab.Problems.BioBoost/HeuristicLab.Problems.BioBoost/3.3/Data/Conversion.cs

    r13071 r16575  
    2828using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    2929using YamlDotNet.RepresentationModel;
     30using HEAL.Attic;
    3031
    3132namespace HeuristicLab.BioBoost.Data {
    32   [StorableClass]
     33  [StorableType("AFFEC6E6-4373-41FD-B43E-139449409C98")]
    3334  [Item("Conversion", "Describes a conversion process including storage.")]
    3435  public class Conversion : DataItem {
     
    141142
    142143    [StorableConstructor]
    143     protected Conversion(bool isDeserializing) : base(isDeserializing) { }
     144    protected Conversion(StorableConstructorFlag _) : base(_) { }
    144145
    145146    [StorableHook(HookType.AfterDeserialization)]
  • addons/HeuristicLab.Problems.BioBoost/HeuristicLab.Problems.BioBoost/3.3/Data/CostFactors.cs

    r13071 r16575  
    2424using HeuristicLab.Parameters;
    2525using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
     26using HEAL.Attic;
    2627
    2728namespace HeuristicLab.BioBoost.Data {
    2829
    29   [StorableClass]
     30  [StorableType("137AF95F-D154-4EF3-B522-C50BF477A926")]
    3031  [Item("CostFactors", "Splits the cost into several differen areas which can are different for different regions.")]
    3132  public class CostFactors : DataItem {
     
    4950    #region Construction & Cloning
    5051    [StorableConstructor]
    51     protected CostFactors(bool isDeserializing) : base(isDeserializing) { }
     52    protected CostFactors(StorableConstructorFlag _) : base(_) { }
    5253
    5354    protected CostFactors(CostFactors orig, Cloner cloner) : base(orig, cloner) { }
  • addons/HeuristicLab.Problems.BioBoost/HeuristicLab.Problems.BioBoost/3.3/Data/DataItem.cs

    r13071 r16575  
    3333using System.Text.RegularExpressions;
    3434using YamlDotNet.RepresentationModel;
     35using HEAL.Attic;
    3536
    3637namespace HeuristicLab.BioBoost.Data {
    3738
    38   [StorableClass]
     39  [StorableType("ADCB9CD6-ECBD-4202-B945-0602E538D771")]
    3940  [Item("DataItem", "Generic Item for holding various pieces of information")]
    4041  public abstract class DataItem : ParameterizedNamedItem {
     
    4243    #region Construction & Cloning
    4344    [StorableConstructor]
    44     protected DataItem(bool isDeserializing) : base(isDeserializing) {}
     45    protected DataItem(StorableConstructorFlag _) : base(_) { }
    4546    protected DataItem(DataItem orig, Cloner cloner) : base(orig, cloner) {}
    4647    protected DataItem() {}
  • addons/HeuristicLab.Problems.BioBoost/HeuristicLab.Problems.BioBoost/3.3/Data/Logistic.cs

    r13071 r16575  
    2727using HeuristicLab.Parameters;
    2828using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
     29using HEAL.Attic;
    2930
    3031namespace HeuristicLab.BioBoost.Data {
    31   [StorableClass]
     32  [StorableType("5604E9F0-F4C5-4C07-BE46-7895ED33A63E")]
    3233  [Item("Logistic", "Describes a logistic modality for a certain product.")]
    3334  public class Logistic : DataItem {
     
    7374
    7475    [StorableConstructor]
    75     protected Logistic(bool isDeserializing) : base(isDeserializing) { }
     76    protected Logistic(StorableConstructorFlag _) : base(_) { }
    7677
    7778    [StorableHook(HookType.AfterDeserialization)]
  • addons/HeuristicLab.Problems.BioBoost/HeuristicLab.Problems.BioBoost/3.3/Data/LogisticAction.cs

    r13071 r16575  
    2525using HeuristicLab.Parameters;
    2626using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
     27using HEAL.Attic;
    2728
    2829namespace HeuristicLab.BioBoost.Data {
    29   [StorableClass]
     30  [StorableType("413F5F16-3342-46CF-93AF-38FDD4F40E92")]
    3031  [Item("LogisticAction", "Summarizes cost factors and emissions for a logistic action.")]
    3132  public class LogisticAction : DataItem {
     
    6465
    6566    [StorableConstructor]
    66     protected LogisticAction(bool isDeserializing) : base(isDeserializing) { }
     67    protected LogisticAction(StorableConstructorFlag _) : base(_) { }
    6768
    6869    protected LogisticAction(LogisticAction orig, Cloner cloner) : base(orig, cloner) { }
  • addons/HeuristicLab.Problems.BioBoost/HeuristicLab.Problems.BioBoost/3.3/Data/Product.cs

    r13071 r16575  
    2626using HeuristicLab.Parameters;
    2727using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
     28using HEAL.Attic;
    2829
    2930namespace HeuristicLab.BioBoost.Data {
    30   [StorableClass]
     31  [StorableType("EF528EDA-45D6-4DAB-862A-C05BCD4147CC")]
    3132  [Item("Product", "Summarizes product information.")]
    3233  public class Product : DataItem {
     
    7172
    7273    [StorableConstructor]
    73     protected Product(bool isDeserializing) : base(isDeserializing) { }
     74    protected Product(StorableConstructorFlag _) : base(_) { }
    7475
    7576    [StorableHook(HookType.AfterDeserialization)]
  • addons/HeuristicLab.Problems.BioBoost/HeuristicLab.Problems.BioBoost/3.3/Evaluators/AggregateEvaluator.cs

    r13071 r16575  
    3030using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    3131using System.Collections.Generic;
     32using HEAL.Attic;
    3233
    3334namespace HeuristicLab.BioBoost.Evaluators {
    34   [StorableClass]
     35  [StorableType("5882C8A6-F31E-4EF7-88A7-45D467038686")]
    3536  public class AggregateEvaluator : AlgorithmOperator, IBioBoostSimulationEvaluator {
    3637
     
    8081    #region Construction & Cloning
    8182    [StorableConstructor]
    82     protected AggregateEvaluator(bool isDeserializing) : base(isDeserializing) { }
     83    protected AggregateEvaluator(StorableConstructorFlag _) : base(_) { }
    8384    protected AggregateEvaluator(AggregateEvaluator orig, Cloner cloner) : base(orig, cloner) { }
    8485    public AggregateEvaluator() {
  • addons/HeuristicLab.Problems.BioBoost/HeuristicLab.Problems.BioBoost/3.3/Evaluators/BioBoostEvaluator.cs

    r13071 r16575  
    2828using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    2929using System;
     30using HEAL.Attic;
    3031
    3132namespace HeuristicLab.BioBoost.Evaluators {
    3233
    33   [StorableClass]
     34  [StorableType("836CF83B-0123-428F-B953-5B9411D6BB97")]
    3435  public abstract class BioBoostEvaluator : BioBoostOperator  {
    3536
     
    5455    #region Construction & Cloning
    5556    [StorableConstructor]
    56     protected BioBoostEvaluator(bool isDeserializing) : base(isDeserializing) {}
     57    protected BioBoostEvaluator(StorableConstructorFlag _) : base(_) { }
    5758    protected BioBoostEvaluator(BioBoostEvaluator original, Cloner cloner) : base(original, cloner) {}
    5859    protected BioBoostEvaluator() {
  • addons/HeuristicLab.Problems.BioBoost/HeuristicLab.Problems.BioBoost/3.3/Evaluators/ConcludingEvaluator.cs

    r13071 r16575  
    3131using HeuristicLab.BioBoost.Representation;
    3232using HeuristicLab.BioBoost.Utils;
     33using HEAL.Attic;
    3334
    3435namespace HeuristicLab.BioBoost.Evaluators {
    35   [StorableClass]
     36  [StorableType("C678549A-70FA-4A2F-AEC5-E53D9AC20BFB")]
    3637  public class ConcludingEvaluator : BioBoostEvaluator {
    3738
     
    6566    #region Construction & Cloning
    6667    [StorableConstructor]
    67     protected ConcludingEvaluator(bool isDeserializing) : base(isDeserializing) {}
     68    protected ConcludingEvaluator(StorableConstructorFlag _) : base(_) { }
    6869    public ConcludingEvaluator() {
    6970      Parameters.Add(new LookupParameter<BoolValue>("RemoveIntermediateResults", "Whether to remove intermediate results created during evaluation."));
  • addons/HeuristicLab.Problems.BioBoost/HeuristicLab.Problems.BioBoost/3.3/Evaluators/ConversionCostEvaluator.cs

    r13071 r16575  
    3030using System.Linq;
    3131using HeuristicLab.BioBoost.Representation;
     32using HEAL.Attic;
    3233
    3334namespace HeuristicLab.BioBoost.Evaluators {
    34   [StorableClass]
     35  [StorableType("3DA35F67-F021-475D-B614-FAEAAD66ACF8")]
    3536  [Item("ConversionCostEvaluator", "Simulates the conversion of all applicable conversion processes.")]
    3637  public class ConversionCostEvaluator : BioBoostEvaluator {
     
    4243    #region Construction & Cloning
    4344    [StorableConstructor]
    44     protected ConversionCostEvaluator(bool isDeserializing) : base(isDeserializing) {}
     45    protected ConversionCostEvaluator(StorableConstructorFlag _) : base(_) { }
    4546    protected ConversionCostEvaluator(ConversionCostEvaluator original, Cloner cloner) : base(original, cloner) { }
    4647    public ConversionCostEvaluator() { }
  • addons/HeuristicLab.Problems.BioBoost/HeuristicLab.Problems.BioBoost/3.3/Evaluators/FeedstockCostEvaluator.cs

    r13071 r16575  
    2828using HeuristicLab.BioBoost.Representation;
    2929using HeuristicLab.BioBoost.Utils;
     30using HEAL.Attic;
    3031
    3132namespace HeuristicLab.BioBoost.Evaluators {
    3233
    33   [StorableClass]
     34  [StorableType("A2DAA8F7-71AB-48F8-B019-CF14FB34A979")]
    3435  [Item("FeedstockCostEvaluator", @"Calculates all feedstock costs for known products,
    3536for which both <Product.Label>Potentials and <Product.Label>Utilizations are available.
     
    4041    #region Construction & Cloning
    4142    [StorableConstructor]
    42     protected FeedstockCostEvaluator(bool isDeserializing) : base(isDeserializing) { }
     43    protected FeedstockCostEvaluator(StorableConstructorFlag _) : base(_) { }
    4344    protected FeedstockCostEvaluator(FeedstockCostEvaluator original, Cloner cloner) : base(original, cloner) { }
    4445    public FeedstockCostEvaluator() { }
  • addons/HeuristicLab.Problems.BioBoost/HeuristicLab.Problems.BioBoost/3.3/Evaluators/InitializationEvaluator.cs

    r13071 r16575  
    2525using HeuristicLab.Core;
    2626using HeuristicLab.Common;
     27using HEAL.Attic;
    2728
    2829namespace HeuristicLab.BioBoost.Evaluators {
    29   [StorableClass]
     30  [StorableType("12B3CF5A-6084-4002-99E4-9B730819431C")]
    3031  [Item("InitializationEvaluator", "Cleans up scope.")]
    3132  public class InitializationEvaluator : BioBoostEvaluator {
     
    3334    #region Construction & Cloning
    3435    [StorableConstructor]
    35     protected InitializationEvaluator(bool isDeserializing) : base(isDeserializing) {}
     36    protected InitializationEvaluator(StorableConstructorFlag _) : base(_) { }
    3637    protected InitializationEvaluator(InitializationEvaluator original, Cloner cloner) : base(original, cloner) { }
    3738    public InitializationEvaluator() { }
  • addons/HeuristicLab.Problems.BioBoost/HeuristicLab.Problems.BioBoost/3.3/Evaluators/LogisticCostEvaluator.cs

    r13071 r16575  
    3131using HeuristicLab.BioBoost.Representation;
    3232using HeuristicLab.BioBoost.Utils;
     33using HEAL.Attic;
    3334
    3435namespace HeuristicLab.BioBoost.Evaluators {
    35   [StorableClass]
     36  [StorableType("C633F527-7C12-478D-AECA-00D3E54ED2D2")]
    3637  public class LogisticCostEvaluator : BioBoostEvaluator {
    3738
     
    5455    #region Construction & Cloning
    5556    [StorableConstructor]
    56     protected LogisticCostEvaluator(bool isDeserializing) : base(isDeserializing) {}
     57    protected LogisticCostEvaluator(StorableConstructorFlag _) : base(_) { }
    5758
    5859    protected LogisticCostEvaluator(LogisticCostEvaluator original, Cloner cloner) : base(original, cloner) {}
  • addons/HeuristicLab.Problems.BioBoost/HeuristicLab.Problems.BioBoost/3.3/Evaluators/MonolithicEvaluator.cs

    r13071 r16575  
    3636using HeuristicLab.Encodings.RealVectorEncoding;
    3737using HeuristicLab.PluginInfrastructure;
     38using HEAL.Attic;
    3839
    3940namespace HeuristicLab.BioBoost.Evaluators {
    40   [StorableClass]
     41  [StorableType("0C6D1BC1-3A29-4AA5-A7EB-724BFCA9FD55")]
    4142  public class MonolithicEvaluator : AggregateEvaluator {
    4243
     
    6768    #region Construction & Cloning
    6869    [StorableConstructor]
    69     protected MonolithicEvaluator(bool isDeserializing) : base(isDeserializing) { }
     70    protected MonolithicEvaluator(StorableConstructorFlag _) : base(_) { }
    7071    protected MonolithicEvaluator(MonolithicEvaluator orig, Cloner cloner) : base(orig, cloner) { }
    7172    public MonolithicEvaluator() {
     
    259260  }
    260261
    261   [StorableClass(StorableClassType.AllFieldsAndAllProperties)]
     262  [StorableType(StorableMemberSelection.AllFieldsAndAllProperties, "7BA4C277-AB0F-4A5F-A5B6-61E661104DCD")]
    262263  public sealed class SimpleProblemData : Item {
    263264
    264265    [StorableConstructor]
    265     private SimpleProblemData(bool isDeserializing) : base(isDeserializing) { }
     266    private SimpleProblemData(StorableConstructorFlag _) : base(_) { }
    266267
    267268    private SimpleProblemData(SimpleProblemData orig, Cloner cloner) : base(orig, cloner) {
     
    328329    }
    329330
    330     [StorableClass(StorableClassType.AllFieldsAndAllProperties)]
     331    [StorableType(StorableMemberSelection.AllFieldsAndAllProperties, "3AE651E8-E056-47A5-9ADA-AE8FD3F8063F")]
    331332    public sealed class Echelon : Item {
    332333
     
    338339
    339340      [StorableConstructor]
    340       private Echelon(bool isDeserializing) : base(isDeserializing) { }
     341      private Echelon(StorableConstructorFlag _) : base(_) { }
    341342
    342343      public Echelon() { }
  • addons/HeuristicLab.Problems.BioBoost/HeuristicLab.Problems.BioBoost/3.3/Evaluators/SinkEvaluator.cs

    r13071 r16575  
    2828using System.Linq;
    2929using HeuristicLab.BioBoost.Representation;
     30using HEAL.Attic;
    3031
    3132namespace HeuristicLab.BioBoost.Evaluators {
    32   [StorableClass]
     33  [StorableType("EB23EA04-FF16-43C0-902D-9DC974F5A246")]
    3334  public class SinkEvaluator : BioBoostEvaluator {
    3435
    3536    #region Construction & Cloning
    3637    [StorableConstructor]
    37     protected SinkEvaluator(bool isDeserializing) : base(isDeserializing) {}
     38    protected SinkEvaluator(StorableConstructorFlag _) : base(_) { }
    3839    protected SinkEvaluator(SinkEvaluator original, Cloner cloner) : base(original, cloner) { }
    3940    public SinkEvaluator() {
  • addons/HeuristicLab.Problems.BioBoost/HeuristicLab.Problems.BioBoost/3.3/HeuristicLab.Problems.BioBoost-3.3.csproj

    r15711 r16575  
    11<?xml version="1.0" encoding="utf-8"?>
    2 <Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
     2<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
    33  <PropertyGroup>
    44    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
     
    1111    <RootNamespace>HeuristicLab.Problems.BioBoost</RootNamespace>
    1212    <AssemblyName>HeuristicLab.Problems.BioBoost-3.3</AssemblyName>
    13     <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
     13    <TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
    1414    <FileAlignment>512</FileAlignment>
    1515    <TargetFrameworkProfile />
     
    122122      <HintPath>..\..\packages\GeoAPI.1.7.2\lib\net403-client\GeoAPI.dll</HintPath>
    123123    </Reference>
     124    <Reference Include="Google.Protobuf, Version=3.6.1.0, Culture=neutral, PublicKeyToken=a7d26565bac4d604, processorArchitecture=MSIL">
     125      <HintPath>..\..\packages\Google.Protobuf.3.6.1\lib\net45\Google.Protobuf.dll</HintPath>
     126    </Reference>
     127    <Reference Include="HEAL.Attic, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
     128      <HintPath>..\..\packages\HEAL.Attic.1.0.0-pre02\lib\net461\HEAL.Attic.dll</HintPath>
     129    </Reference>
    124130    <Reference Include="HeuristicLab.Analysis-3.3">
    125131      <HintPath>..\..\..\..\trunk\bin\HeuristicLab.Analysis-3.3.dll</HintPath>
     
    208214    </Reference>
    209215    <Reference Include="System.Drawing" />
     216    <Reference Include="System.Drawing.Common, Version=4.0.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
     217      <HintPath>..\..\packages\System.Drawing.Common.4.5.1\lib\net461\System.Drawing.Common.dll</HintPath>
     218    </Reference>
    210219    <Reference Include="System.Runtime.Serialization" />
    211220    <Reference Include="System.Xml.Linq" />
  • addons/HeuristicLab.Problems.BioBoost/HeuristicLab.Problems.BioBoost/3.3/MultiobjectiveBioBoostProblem.cs

    r13071 r16575  
    3333using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    3434using System;
     35using HEAL.Attic;
    3536
    3637namespace HeuristicLab.BioBoost {
     
    3839  [Item("Multiobjective BioBoost Problem", "EU-wide aggregate biomass logistics simulation (multiobjective).")]
    3940  [Creatable("Problems")]
    40   [StorableClass]
     41  [StorableType("1DEF0202-CD83-4310-80FB-751D06A68B7D")]
    4142  public class MultiobjectiveBioBoostProblem : MultiObjectiveHeuristicOptimizationProblem<AggregateEvaluator, BioBoostSolutionCreator>, IStorableContent {
    4243
     
    7980    #region Construction & Cloning
    8081    [StorableConstructor]
    81     protected MultiobjectiveBioBoostProblem(bool isDeserializing) : base(isDeserializing) {}
     82    protected MultiobjectiveBioBoostProblem(StorableConstructorFlag _) : base(_) { }
    8283    protected MultiobjectiveBioBoostProblem(MultiobjectiveBioBoostProblem orig, Cloner cloner) : base(orig, cloner) {
    8384      RegisterEvents();
  • addons/HeuristicLab.Problems.BioBoost/HeuristicLab.Problems.BioBoost/3.3/Operators/BioBoostOperator.cs

    r13071 r16575  
    2626using HeuristicLab.Operators;
    2727using HeuristicLab.Parameters;
    28 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
     28using HEAL.Attic;
    2929
    3030namespace HeuristicLab.BioBoost.Operators {
     31  [StorableType("9413703D-B45E-42AF-B2AE-82E6414E3924")]
    3132  public abstract class BioBoostOperator : SingleSuccessorOperator {
    3233
    3334    #region Parameters
    34     public ILookupParameter<BioBoostProblemData> ProblemDataParameter {
    35       get { return (ILookupParameter<BioBoostProblemData>) Parameters["ProblemData"]; }
     35    public ILookupParameter<BioBoostProblemData> ProblemDataParameter
     36    {
     37      get { return (ILookupParameter<BioBoostProblemData>)Parameters["ProblemData"]; }
    3638    }
    3739    #endregion
    3840
    3941    #region Parameter Values
    40     public BioBoostProblemData ProblemData {
     42    public BioBoostProblemData ProblemData
     43    {
    4144      get { return ProblemDataParameter.ActualValue; }
    4245    }
     
    4548    #region Construction & Cloning
    4649    [StorableConstructor]
    47     protected BioBoostOperator(bool isDeserializing) : base(isDeserializing) {}
     50    protected BioBoostOperator(StorableConstructorFlag _) : base(_) { }
    4851
    4952    protected BioBoostOperator(BioBoostOperator original, Cloner cloner) : base(original, cloner) { }
     
    5659    protected T GetFromProblemData<T>(string label) where T : class, IItem {
    5760      IParameter param;
    58       if(LayerDescriptor.PotentialsFromProblemData.IsSuffixOf(label)) {
     61      if (LayerDescriptor.PotentialsFromProblemData.IsSuffixOf(label)) {
    5962        ProblemData.FeedstockPotentials.TryGetValue(label, out param);
    6063      } else {
  • addons/HeuristicLab.Problems.BioBoost/HeuristicLab.Problems.BioBoost/3.3/Operators/Crossover/CompoundCrossover.cs

    r13071 r16575  
    3737using SinglePointRealVectorCrossover = HeuristicLab.Encodings.RealVectorEncoding.SinglePointCrossover;
    3838using SinglePointInteverVectorCrossover = HeuristicLab.Encodings.IntegerVectorEncoding.SinglePointCrossover;
     39using HEAL.Attic;
    3940
    4041namespace HeuristicLab.BioBoost.Operators.Crossover {
    41   [StorableClass]
     42  [StorableType("DA8F3E29-D4F2-47A9-87DC-051922A528F5")]
    4243  public class CompoundCrossover : SingleSuccessorOperator, ICrossover {
    4344
     
    6566    #region Construction & Cloning
    6667    [StorableConstructor]
    67     protected CompoundCrossover(bool isDeserializing) : base(isDeserializing) {}
     68    protected CompoundCrossover(StorableConstructorFlag _) : base(_) { }
    6869    protected CompoundCrossover(CompoundCrossover orig, Cloner cloner) : base(orig, cloner) { }
    6970    public CompoundCrossover() {
  • addons/HeuristicLab.Problems.BioBoost/HeuristicLab.Problems.BioBoost/3.3/Operators/Crossover/MultiCrossover.cs

    r13071 r16575  
    2828using HeuristicLab.PluginInfrastructure;
    2929using System;
     30using HEAL.Attic;
    3031
    3132namespace HeuristicLab.BioBoost.Operators.Mutation {
    32   [StorableClass]
     33  [StorableType("EB607FBE-6802-4915-A3D1-48848E329B5C")]
    3334  public class MultiCrossover : StochasticMultiBranch<ICrossover>, ICrossover, IStochasticOperator {
    3435
     
    4344    #region Construction & Cloning
    4445    [StorableConstructor]
    45     protected MultiCrossover(bool isDeserializing) : base(isDeserializing) {}
     46    protected MultiCrossover(StorableConstructorFlag _) : base(_) { }
    4647    protected MultiCrossover(MultiCrossover orig, Cloner cloner) : base(orig, cloner) {}
    4748    public MultiCrossover() {
  • addons/HeuristicLab.Problems.BioBoost/HeuristicLab.Problems.BioBoost/3.3/Operators/Crossover/PlantBasedCrossover.cs

    r13071 r16575  
    4242using DiscreteIntegerVectorCrossover = HeuristicLab.Encodings.IntegerVectorEncoding.DiscreteCrossover;
    4343using DiscreteRealVectorCrossover = HeuristicLab.Encodings.RealVectorEncoding.DiscreteCrossover;
     44using HEAL.Attic;
    4445
    4546namespace HeuristicLab.BioBoost.Operators.Crossover {
    46   [StorableClass]
     47  [StorableType("D9455201-49C6-4042-8021-CCFD5199B731")]
    4748  public class PlantBasedCrossover : SingleSuccessorOperator, ICrossover, IStochasticOperator {
    4849
     
    7071    #region Construction & Cloning
    7172    [StorableConstructor]
    72     protected PlantBasedCrossover(bool isDeserializing) : base(isDeserializing) { }
     73    protected PlantBasedCrossover(StorableConstructorFlag _) : base(_) { }
    7374    protected PlantBasedCrossover(PlantBasedCrossover orig, Cloner cloner) : base(orig, cloner) { }
    7475
  • addons/HeuristicLab.Problems.BioBoost/HeuristicLab.Problems.BioBoost/3.3/Operators/LimitedDistanceTransportTargetCreator.cs

    r13071 r16575  
    3030using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    3131using HeuristicLab.Random;
     32using HEAL.Attic;
    3233
    3334namespace HeuristicLab.BioBoost.Operators {
    3435
    35   [StorableClass]
     36  [StorableType("252FBBAC-C378-4378-B85D-6EB65863F4DF")]
    3637  public class LimitedDistanceTransportTargetCreator : BioBoostOperator, IIntegerVectorCreator {
    3738
     
    5960    #region Construction & Cloning
    6061    [StorableConstructor]
    61     protected LimitedDistanceTransportTargetCreator(bool isDeserializing) : base(isDeserializing) { }
     62    protected LimitedDistanceTransportTargetCreator(StorableConstructorFlag _) : base(_) { }
    6263
    6364    protected LimitedDistanceTransportTargetCreator(LimitedDistanceTransportTargetCreator orig, Cloner cloner) : base(orig, cloner) {}
  • addons/HeuristicLab.Problems.BioBoost/HeuristicLab.Problems.BioBoost/3.3/Operators/Moves/MoveEvaluatorAdapter.cs

    r13071 r16575  
    2929using HeuristicLab.Parameters;
    3030using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
     31using HEAL.Attic;
    3132
    3233namespace HeuristicLab.BioBoost.Operators.Moves {
    3334
    34   [StorableClass]
     35  [StorableType("01143196-726F-43C7-8F22-BB42D047E113")]
    3536  public class MoveEvaluatorAdapter : SingleSuccessorOperator, ISingleObjectiveMoveEvaluator {
    3637
     
    4445
    4546    [StorableConstructor]
    46     public MoveEvaluatorAdapter(bool isDeserializing) : base(isDeserializing) {}
     47    public MoveEvaluatorAdapter(StorableConstructorFlag _) : base(_) { }
    4748
    4849    public MoveEvaluatorAdapter(MoveEvaluatorAdapter orig, Cloner cloner) : base(orig, cloner) { }
  • addons/HeuristicLab.Problems.BioBoost/HeuristicLab.Problems.BioBoost/3.3/Operators/Moves/MoveGeneratorAdapter.cs

    r13071 r16575  
    3030using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    3131using HeuristicLab.PluginInfrastructure;
     32using HEAL.Attic;
    3233
    3334namespace HeuristicLab.BioBoost.Operators.Moves {
    3435
    35   [StorableClass]
     36  [StorableType("01CF5EC3-F344-4A73-9BCD-7CE329392552")]
    3637  public class MoveGeneratorAdapter : SingleSuccessorOperator, IMoveGenerator {
    3738
     
    4445    #region construction & cloning
    4546    [StorableConstructor]
    46     public MoveGeneratorAdapter(bool isDeserializing) : base(isDeserializing) { }
     47    public MoveGeneratorAdapter(StorableConstructorFlag _) : base(_) { }
    4748
    4849    public MoveGeneratorAdapter(MoveGeneratorAdapter orig, Cloner cloner) : base(orig, cloner) { }
  • addons/HeuristicLab.Problems.BioBoost/HeuristicLab.Problems.BioBoost/3.3/Operators/Moves/MoveMakerAdapter.cs

    r13071 r16575  
    3030using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    3131using HeuristicLab.PluginInfrastructure;
     32using HEAL.Attic;
    3233
    3334namespace HeuristicLab.BioBoost.Operators.Moves {
    3435
    35   [StorableClass]
     36  [StorableType("DDE891FB-AA05-4C76-A3AC-AEF8C6A5A2E3")]
    3637  public class MoveMakerAdapter : SingleSuccessorOperator, IMoveMaker {
    3738
     
    4142    #region construction & cloning
    4243    [StorableConstructor]
    43     public MoveMakerAdapter(bool isDeserializing) : base(isDeserializing) { }
     44    public MoveMakerAdapter(StorableConstructorFlag _) : base(_) { }
    4445
    4546    public MoveMakerAdapter(MoveMakerAdapter orig, Cloner cloner) : base(orig, cloner) { }
  • addons/HeuristicLab.Problems.BioBoost/HeuristicLab.Problems.BioBoost/3.3/Operators/Mutation/BoundaryToggleRealVectorMutator.cs

    r13071 r16575  
    2525using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    2626using System;
     27using HEAL.Attic;
    2728
    2829namespace HeuristicLab.BioBoost.Operators.Mutation {
    29   [StorableClass]
     30  [StorableType("CC8C60CC-E58C-4FD6-95CA-F310064221AD")]
    3031  public class BoundaryToggleRealVectorMutator : RealVectorManipulator {
    3132
    3233    #region Construction & Cloning
    3334    [StorableConstructor]
    34     protected BoundaryToggleRealVectorMutator(bool isDeserializing) : base(isDeserializing) { }
     35    protected BoundaryToggleRealVectorMutator(StorableConstructorFlag _) : base(_) { }
    3536    protected BoundaryToggleRealVectorMutator(BoundaryToggleRealVectorMutator orig, Cloner cloner) : base(orig, cloner) { }
    3637    public BoundaryToggleRealVectorMutator() { }
  • addons/HeuristicLab.Problems.BioBoost/HeuristicLab.Problems.BioBoost/3.3/Operators/Mutation/CommonTargetIntegerVectorMutator.cs

    r13071 r16575  
    3030using System;
    3131using System.Linq;
     32using HEAL.Attic;
    3233
    3334namespace HeuristicLab.BioBoost.Operators.Mutation {
    34   [StorableClass]
     35  [StorableType("10FB317B-D3BE-47EC-9BED-C7B211927C27")]
    3536  public class CommonTargetIntegerVectorMutator : BoundedIntegerVectorManipulator {
    3637
     
    5455    #region Construction & Cloning
    5556    [StorableConstructor]
    56     protected CommonTargetIntegerVectorMutator(bool isDeserializing) : base(isDeserializing) {}
     57    protected CommonTargetIntegerVectorMutator(StorableConstructorFlag _) : base(_) { }
    5758    protected CommonTargetIntegerVectorMutator(CommonTargetIntegerVectorMutator orig, Cloner cloner) : base(orig, cloner) {}
    5859    public CommonTargetIntegerVectorMutator() {
  • addons/HeuristicLab.Problems.BioBoost/HeuristicLab.Problems.BioBoost/3.3/Operators/Mutation/CommonTargetSwappingIntegerVectorMutator.cs

    r13071 r16575  
    3030using System;
    3131using System.Linq;
     32using HEAL.Attic;
    3233
    3334namespace HeuristicLab.BioBoost.Operators.Mutation {
    34   [StorableClass]
     35  [StorableType("1C259A07-A1BA-46F3-9EE8-DF5EC7EF2C51")]
    3536  public class CommonTargetSwappingIntegerVectorMutator : BoundedIntegerVectorManipulator {
    3637
     
    5455    #region Construction & Cloning
    5556    [StorableConstructor]
    56     protected CommonTargetSwappingIntegerVectorMutator(bool isDeserializing) : base(isDeserializing) {}
     57    protected CommonTargetSwappingIntegerVectorMutator(StorableConstructorFlag _) : base(_) { }
    5758    protected CommonTargetSwappingIntegerVectorMutator(CommonTargetSwappingIntegerVectorMutator orig, Cloner cloner) : base(orig, cloner) {}
    5859    public CommonTargetSwappingIntegerVectorMutator() {
  • addons/HeuristicLab.Problems.BioBoost/HeuristicLab.Problems.BioBoost/3.3/Operators/Mutation/CompoundMutator.cs

    r13071 r16575  
    3838using UniformOnePositionManipulator = HeuristicLab.Encodings.IntegerVectorEncoding.UniformOnePositionManipulator;
    3939using UniformOnePositionRealVectorManipulator = HeuristicLab.Encodings.RealVectorEncoding.UniformOnePositionManipulator;
     40using HEAL.Attic;
    4041
    4142namespace HeuristicLab.BioBoost.Operators.Mutation {
    42   [StorableClass]
     43  [StorableType("7B7699B9-4D4E-4D27-9DB5-F6F1FC5CBF52")]
    4344  public class CompoundMutator : SingleSuccessorOperator, IManipulator, IStochasticOperator {
    4445
     
    6970    #region Construction & Cloning
    7071    [StorableConstructor]
    71     protected CompoundMutator(bool isDeserializing) : base(isDeserializing) {}
     72    protected CompoundMutator(StorableConstructorFlag _) : base(_) { }
    7273    protected CompoundMutator(CompoundMutator orig, Cloner cloner) : base(orig, cloner) { }
    7374    public CompoundMutator() {
  • addons/HeuristicLab.Problems.BioBoost/HeuristicLab.Problems.BioBoost/3.3/Operators/Mutation/DistanceBasedIntegerVectorMutator.cs

    r13071 r16575  
    2929using System;
    3030using System.Linq;
     31using HEAL.Attic;
    3132
    3233namespace HeuristicLab.BioBoost.Operators.Mutation {
    33   [StorableClass]
     34  [StorableType("37633B84-8BEF-410F-891B-953AD45342AE")]
    3435  public class DistanceBasedIntegerVectorMutator : IntegerVectorManipulator {
    3536
     
    6465    #region Construction & Cloning
    6566    [StorableConstructor]
    66     protected DistanceBasedIntegerVectorMutator(bool isDeserializing) : base(isDeserializing) {}
     67    protected DistanceBasedIntegerVectorMutator(StorableConstructorFlag _) : base(_) { }
    6768    protected DistanceBasedIntegerVectorMutator(DistanceBasedIntegerVectorMutator orig, Cloner cloner) : base(orig, cloner) {}
    6869    public DistanceBasedIntegerVectorMutator() {
  • addons/HeuristicLab.Problems.BioBoost/HeuristicLab.Problems.BioBoost/3.3/Operators/Mutation/EmptyMutator.cs

    r13071 r16575  
    2424using HeuristicLab.Optimization;
    2525using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
     26using HEAL.Attic;
    2627
    2728namespace HeuristicLab.BioBoost.Operators.Mutation {
    2829
    29   [StorableClass]
     30  [StorableType("B9929153-331D-4457-9B6D-F0F9AD15BEEC")]
    3031  public class EmptyMutator : SingleSuccessorOperator, IManipulator {
    3132
    3233    #region Construction & Cloning
    3334    [StorableConstructor]
    34     protected EmptyMutator(bool isDeserializing) : base(isDeserializing) {}
     35    protected EmptyMutator(StorableConstructorFlag _) : base(_) { }
    3536    protected EmptyMutator(EmptyMutator orig, Cloner cloner) : base(orig, cloner) {}
    3637    public EmptyMutator() {}
  • addons/HeuristicLab.Problems.BioBoost/HeuristicLab.Problems.BioBoost/3.3/Operators/Mutation/MultiIntegerVectorMutator.cs

    r13071 r16575  
    3232using System;
    3333using System.Linq;
     34using HEAL.Attic;
    3435
    3536namespace HeuristicLab.BioBoost.Operators.Mutation {
    36   [StorableClass]
     37  [StorableType("3655B281-9061-470B-95B5-378D9490E814")]
    3738  public class MultiIntegerVectorManipulator : StochasticMultiBranch<IIntegerVectorManipulator>, IIntegerVectorManipulator, IStochasticOperator {
    3839
     
    5455    #region Construction & Cloning
    5556    [StorableConstructor]
    56     protected MultiIntegerVectorManipulator(bool isDeserializing) : base(isDeserializing) {}
     57    protected MultiIntegerVectorManipulator(StorableConstructorFlag _) : base(_) { }
    5758    protected MultiIntegerVectorManipulator(MultiIntegerVectorManipulator orig, Cloner cloner) : base(orig, cloner) {}
    5859    public MultiIntegerVectorManipulator() {
  • addons/HeuristicLab.Problems.BioBoost/HeuristicLab.Problems.BioBoost/3.3/Operators/Mutation/MultiMutator.cs

    r13071 r16575  
    3434using System.Collections.Generic;
    3535using System.Linq;
     36using HEAL.Attic;
    3637
    3738namespace HeuristicLab.BioBoost.Operators.Mutation {
    38   [StorableClass]
     39  [StorableType("4051852F-E6DA-45A6-A63B-E62FA18D9D3E")]
    3940  public class MultiMutator : StochasticMultiBranch<IManipulator>, IManipulator, IStochasticOperator {
    4041
     
    5657    #region Construction & Cloning
    5758    [StorableConstructor]
    58     protected MultiMutator(bool isDeserializing) : base(isDeserializing) { }
     59    protected MultiMutator(StorableConstructorFlag _) : base(_) { }
    5960    protected MultiMutator(MultiMutator orig, Cloner cloner) : base(orig, cloner) { }
    6061    public MultiMutator() {
  • addons/HeuristicLab.Problems.BioBoost/HeuristicLab.Problems.BioBoost/3.3/Operators/Mutation/NeighborBasedIntegerVectorMutator.cs

    r13071 r16575  
    2727using HeuristicLab.Parameters;
    2828using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
     29using HEAL.Attic;
    2930
    3031namespace HeuristicLab.BioBoost.Operators.Mutation {
    31   [StorableClass]
     32  [StorableType("CD4B0E31-C2A7-430D-B397-65ADCB75691A")]
    3233  public class NeighborBasedIntegerVectorMutator : BoundedIntegerVectorManipulator {
    3334
     
    4243    #region Construction & Cloning
    4344    [StorableConstructor]
    44     protected NeighborBasedIntegerVectorMutator(bool isDeserializing) : base(isDeserializing) {}
     45    protected NeighborBasedIntegerVectorMutator(StorableConstructorFlag _) : base(_) { }
    4546    protected NeighborBasedIntegerVectorMutator(NeighborBasedIntegerVectorMutator orig, Cloner cloner) : base(orig, cloner) {}
    4647    public NeighborBasedIntegerVectorMutator() {
  • addons/HeuristicLab.Problems.BioBoost/HeuristicLab.Problems.BioBoost/3.3/Operators/Mutation/PlantBasedUtilizationModifier.cs

    r13071 r16575  
    3434using HeuristicLab.Parameters;
    3535using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
     36using HEAL.Attic;
    3637
    3738namespace HeuristicLab.BioBoost.Operators.Mutation {
    38   [StorableClass]
     39  [StorableType("67144EAD-755F-4727-A7C9-8BB312E13DBA")]
    3940  public abstract class PlantBasedUtilizationModifier : SingleSuccessorOperator, IManipulator, IStochasticOperator {
    4041
     
    6667
    6768    [StorableConstructor]
    68     public PlantBasedUtilizationModifier(bool isDeserializing) {}
     69    public PlantBasedUtilizationModifier(StorableConstructorFlag _) { }
    6970    public PlantBasedUtilizationModifier(PlantBasedUtilizationModifier orig, Cloner cloner) : base(orig, cloner) {}
    7071    public PlantBasedUtilizationModifier() {
  • addons/HeuristicLab.Problems.BioBoost/HeuristicLab.Problems.BioBoost/3.3/Operators/Mutation/PlantKiller.cs

    r13071 r16575  
    2424using HeuristicLab.Encodings.RealVectorEncoding;
    2525using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
     26using HEAL.Attic;
    2627
    2728namespace HeuristicLab.BioBoost.Operators.Mutation {
    28 
     29  [StorableType("C6022D30-973A-44A9-ABDF-EE3D7B20B6E3")]
    2930  public class PlantKiller : PlantBasedUtilizationModifier {
    3031
    3132    #region Construction & Cloning
    3233    [StorableConstructor]
    33     public PlantKiller(bool isDeserializing) {}
    34     public PlantKiller(PlantKiller orig, Cloner cloner) : base(orig, cloner) {}
    35     public PlantKiller() {}
     34    public PlantKiller(StorableConstructorFlag _) : base(_) { }
     35    public PlantKiller(PlantKiller orig, Cloner cloner) : base(orig, cloner) { }
     36    public PlantKiller() { }
    3637    public override IDeepCloneable Clone(Cloner cloner) {
    3738      return new PlantKiller(this, cloner);
  • addons/HeuristicLab.Problems.BioBoost/HeuristicLab.Problems.BioBoost/3.3/Operators/Mutation/PlantMerger.cs

    r13071 r16575  
    3333using HeuristicLab.Parameters;
    3434using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
     35using HEAL.Attic;
    3536
    3637namespace HeuristicLab.BioBoost.Operators.Mutation {
    37 
     38  [StorableType("F3ADEDCA-B790-4892-896D-90AB5E833223")]
    3839  public class PlantMerger : SingleSuccessorOperator, IManipulator, IStochasticOperator {
    3940
    4041    #region Parameters
    41     public LookupParameter<BioBoostProblemData> ProblemDataParameter { get { return (LookupParameter<BioBoostProblemData>) Parameters["ProblemData"]; } }
    42     public LookupParameter<DistanceMatrix> DistanceMatrixParameter { get { return (LookupParameter<DistanceMatrix>) Parameters["DistanceMatrix"]; } }
    43     public ValueParameter<BoolValue> DistanceMatrixInProblemDataParameter { get { return (ValueParameter<BoolValue>) Parameters["DistanceMatrixInProblemData"]; } }
    44     public ValueLookupParameter<IntMatrix> RegionBoundsParameter { get { return (ValueLookupParameter<IntMatrix>) Parameters["RegionBounds"]; } }
    45     public ILookupParameter<IRandom> RandomParameter { get { return (ILookupParameter<IRandom>) Parameters["Random"]; } }
     42    public LookupParameter<BioBoostProblemData> ProblemDataParameter { get { return (LookupParameter<BioBoostProblemData>)Parameters["ProblemData"]; } }
     43    public LookupParameter<DistanceMatrix> DistanceMatrixParameter { get { return (LookupParameter<DistanceMatrix>)Parameters["DistanceMatrix"]; } }
     44    public ValueParameter<BoolValue> DistanceMatrixInProblemDataParameter { get { return (ValueParameter<BoolValue>)Parameters["DistanceMatrixInProblemData"]; } }
     45    public ValueLookupParameter<IntMatrix> RegionBoundsParameter { get { return (ValueLookupParameter<IntMatrix>)Parameters["RegionBounds"]; } }
     46    public ILookupParameter<IRandom> RandomParameter { get { return (ILookupParameter<IRandom>)Parameters["Random"]; } }
    4647    #endregion
    4748
     
    5152    public IRandom Random { get { return RandomParameter.ActualValue; } }
    5253    public bool DistanceMatrixInProblemData { get { return DistanceMatrixInProblemDataParameter.Value.Value; } }
    53     public DistanceMatrix DistanceMatrix {
     54    public DistanceMatrix DistanceMatrix
     55    {
    5456      get {
    5557        if (DistanceMatrixInProblemData) {
    56           return ((IValueParameter<DistanceMatrix>) ProblemData.Parameters[DistanceMatrixParameter.ActualName]).Value;
     58          return ((IValueParameter<DistanceMatrix>)ProblemData.Parameters[DistanceMatrixParameter.ActualName]).Value;
    5759        } else {
    5860          return DistanceMatrixParameter.ActualValue;
     
    6466    #region Construction & Cloning
    6567    [StorableConstructor]
    66     public PlantMerger(bool isDeserializing) {}
    67     public PlantMerger(PlantMerger orig, Cloner cloner) : base(orig, cloner) {}
     68    public PlantMerger(StorableConstructorFlag _) : base(_) { }
     69    public PlantMerger(PlantMerger orig, Cloner cloner) : base(orig, cloner) { }
    6870
    6971    public PlantMerger() {
     
    9799        : scope.Variables[productTransportName].Value as IntegerVector;
    98100      if (supplyTransports != null) {
    99         var plants = supplyTransports.Select((target, source) => new {target, source}).GroupBy(p => p.target).ToList();
     101        var plants = supplyTransports.Select((target, source) => new { target, source }).GroupBy(p => p.target).ToList();
    100102        var plant = plants.ElementAt(Random.Next(plants.Count));
    101103        var allowedRegions = new HashSet<int>(plants.Select(p => p.Key));
     
    114116
    115117    private int FindNewTarget(int oldTarget, IRandom random, DistanceMatrix distances, IEnumerable<int> allowedRegions) {
    116       var neighborDistances = new double[0].Select((d, idx) => new {index = idx, distance = d}).ToList();
     118      var neighborDistances = new double[0].Select((d, idx) => new { index = idx, distance = d }).ToList();
    117119      var maxDistance = 0d;
    118120      foreach (int j in allowedRegions) {
    119121        var dist = distances[oldTarget, j];
    120         neighborDistances.Add(new {index = j, distance = dist});
     122        neighborDistances.Add(new { index = j, distance = dist });
    121123        maxDistance = Math.Max(dist, maxDistance);
    122124      }
    123       neighborDistances = neighborDistances.Select(p => new {p.index, distance = maxDistance - p.distance}).ToList();
     125      neighborDistances = neighborDistances.Select(p => new { p.index, distance = maxDistance - p.distance }).ToList();
    124126      neighborDistances.Sort((a, b) => b.distance.CompareTo(a.distance));
    125127      var totalDistance = neighborDistances.Sum(p => p.distance);
    126       var threshold = random.NextDouble()*totalDistance;
     128      var threshold = random.NextDouble() * totalDistance;
    127129      var sum = 0d;
    128130      var index = 0;
  • addons/HeuristicLab.Problems.BioBoost/HeuristicLab.Problems.BioBoost/3.3/Operators/Mutation/PlantMover.cs

    r13071 r16575  
    3333using HeuristicLab.Parameters;
    3434using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
     35using HEAL.Attic;
    3536
    3637namespace HeuristicLab.BioBoost.Operators.Mutation {
    37 
     38  [StorableType("E7D81182-EFE9-4581-B26D-15FF2354B4C6")]
    3839  public class PlantMover : SingleSuccessorOperator, IManipulator, IStochasticOperator {
    3940
    4041    #region Parameters
    41     public LookupParameter<BioBoostProblemData> ProblemDataParameter { get { return (LookupParameter<BioBoostProblemData>) Parameters["ProblemData"]; } }
    42     public LookupParameter<DistanceMatrix> DistanceMatrixParameter { get { return (LookupParameter<DistanceMatrix>) Parameters["DistanceMatrix"]; } }
    43     public ValueParameter<BoolValue> DistanceMatrixInProblemDataParameter { get { return (ValueParameter<BoolValue>) Parameters["DistanceMatrixInProblemData"]; } }
    44     public ValueLookupParameter<IntMatrix> RegionBoundsParameter { get { return (ValueLookupParameter<IntMatrix>) Parameters["RegionBounds"]; } }
    45     public ILookupParameter<IRandom> RandomParameter { get { return (ILookupParameter<IRandom>) Parameters["Random"]; } }
    46     public IValueLookupParameter<PercentValue> MergeAvoidanceProbabilityParameter { get { return (IValueLookupParameter<PercentValue>) Parameters["MergeAvoidanceProbability"]; } }
    47     public IValueLookupParameter<PercentValue> SplitProbabilityParameter { get { return (IValueLookupParameter<PercentValue>) Parameters["SplitProbability"]; } }
    48     public IValueLookupParameter<PercentValue> MovePercentageParameter { get { return (IValueLookupParameter<PercentValue>) Parameters["MovePercentage"]; } }
     42    public LookupParameter<BioBoostProblemData> ProblemDataParameter { get { return (LookupParameter<BioBoostProblemData>)Parameters["ProblemData"]; } }
     43    public LookupParameter<DistanceMatrix> DistanceMatrixParameter { get { return (LookupParameter<DistanceMatrix>)Parameters["DistanceMatrix"]; } }
     44    public ValueParameter<BoolValue> DistanceMatrixInProblemDataParameter { get { return (ValueParameter<BoolValue>)Parameters["DistanceMatrixInProblemData"]; } }
     45    public ValueLookupParameter<IntMatrix> RegionBoundsParameter { get { return (ValueLookupParameter<IntMatrix>)Parameters["RegionBounds"]; } }
     46    public ILookupParameter<IRandom> RandomParameter { get { return (ILookupParameter<IRandom>)Parameters["Random"]; } }
     47    public IValueLookupParameter<PercentValue> MergeAvoidanceProbabilityParameter { get { return (IValueLookupParameter<PercentValue>)Parameters["MergeAvoidanceProbability"]; } }
     48    public IValueLookupParameter<PercentValue> SplitProbabilityParameter { get { return (IValueLookupParameter<PercentValue>)Parameters["SplitProbability"]; } }
     49    public IValueLookupParameter<PercentValue> MovePercentageParameter { get { return (IValueLookupParameter<PercentValue>)Parameters["MovePercentage"]; } }
    4950    #endregion
    5051
     
    5657    public IRandom Random { get { return RandomParameter.ActualValue; } }
    5758    public bool DistanceMatrixInProblemData { get { return DistanceMatrixInProblemDataParameter.Value.Value; } }
    58     public DistanceMatrix DistanceMatrix {
     59    public DistanceMatrix DistanceMatrix
     60    {
    5961      get {
    6062        if (DistanceMatrixInProblemData) {
    61           return ((IValueParameter<DistanceMatrix>) ProblemData.Parameters[DistanceMatrixParameter.ActualName]).Value;
     63          return ((IValueParameter<DistanceMatrix>)ProblemData.Parameters[DistanceMatrixParameter.ActualName]).Value;
    6264        } else {
    6365          return DistanceMatrixParameter.ActualValue;
     
    7274    #region Construction & Cloning
    7375    [StorableConstructor]
    74     public PlantMover(bool isDeserializing) {}
    75     public PlantMover(PlantMover orig, Cloner cloner) : base(orig, cloner) {}
     76    public PlantMover(StorableConstructorFlag _) : base(_) { }
     77    public PlantMover(PlantMover orig, Cloner cloner) : base(orig, cloner) { }
    7678
    7779    public PlantMover() {
     
    108110        : scope.Variables[productTransportName].Value as IntegerVector;
    109111      if (supplyTransports != null) {
    110         var plants = supplyTransports.Select((target, source) => new {target, source}).GroupBy(p => p.target).ToList();
     112        var plants = supplyTransports.Select((target, source) => new { target, source }).GroupBy(p => p.target).ToList();
    111113        var plant = plants.ElementAt(Random.Next(plants.Count));
    112114        var forbiddenRegions = new HashSet<int>();
     
    131133
    132134    private int FindNewTarget(int oldTarget, IRandom random, DistanceMatrix distances, HashSet<int> forbiddenRegions) {
    133       var neighborDistances = new double[0].Select((d, idx) => new {index = idx, distance = d}).ToList();
     135      var neighborDistances = new double[0].Select((d, idx) => new { index = idx, distance = d }).ToList();
    134136      var maxDistance = 0d;
    135137      for (int j = 0; j < distances.Columns; j++) {
    136138        if (forbiddenRegions.Contains(j)) continue;
    137139        var dist = distances[oldTarget, j];
    138         neighborDistances.Add(new {index = j, distance = dist});
     140        neighborDistances.Add(new { index = j, distance = dist });
    139141        maxDistance = Math.Max(dist, maxDistance);
    140142      }
    141       neighborDistances = neighborDistances.Select(p => new {p.index, distance = maxDistance - p.distance}).ToList();
     143      neighborDistances = neighborDistances.Select(p => new { p.index, distance = maxDistance - p.distance }).ToList();
    142144      neighborDistances.Sort((a, b) => b.distance.CompareTo(a.distance));
    143145      var totalDistance = neighborDistances.Sum(p => p.distance);
    144       var threshold = random.NextDouble()*totalDistance;
     146      var threshold = random.NextDouble() * totalDistance;
    145147      var sum = 0d;
    146148      var index = 0;
  • addons/HeuristicLab.Problems.BioBoost/HeuristicLab.Problems.BioBoost/3.3/Operators/Mutation/PlantScalingMutator.cs

    r13071 r16575  
    2525using HeuristicLab.Encodings.RealVectorEncoding;
    2626using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
     27using HEAL.Attic;
    2728
    2829namespace HeuristicLab.BioBoost.Operators.Mutation {
    2930
    30   [StorableClass]
     31  [StorableType("01EBA7E4-DBAE-47F9-8DE6-C3D3E697CD11")]
    3132  public class PlantScalingMutator : PlantBasedUtilizationModifier {
    3233
    3334    #region Construction & Cloning
    3435    [StorableConstructor]
    35     public PlantScalingMutator(bool isDeserializing) {}
     36    public PlantScalingMutator(StorableConstructorFlag _) { }
    3637    public PlantScalingMutator(PlantScalingMutator orig, Cloner cloner) : base(orig, cloner) {}
    3738    public PlantScalingMutator() {}
  • addons/HeuristicLab.Problems.BioBoost/HeuristicLab.Problems.BioBoost/3.3/Operators/Mutation/PlantSplitter.cs

    r13071 r16575  
    3333using HeuristicLab.Parameters;
    3434using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
     35using HEAL.Attic;
    3536
    3637namespace HeuristicLab.BioBoost.Operators.Mutation {
    37 
     38  [StorableType("FCC0115E-1465-4C76-A422-E9242B3AB8CA")]
    3839  public class PlantSplitter : SingleSuccessorOperator, IManipulator, IStochasticOperator {
    3940
    4041    #region Parameters
    41     public LookupParameter<BioBoostProblemData> ProblemDataParameter { get { return (LookupParameter<BioBoostProblemData>) Parameters["ProblemData"]; } }
    42     public LookupParameter<DistanceMatrix> DistanceMatrixParameter { get { return (LookupParameter<DistanceMatrix>) Parameters["DistanceMatrix"]; } }
    43     public ValueParameter<BoolValue> DistanceMatrixInProblemDataParameter { get { return (ValueParameter<BoolValue>) Parameters["DistanceMatrixInProblemData"]; } }
    44     public ValueLookupParameter<IntMatrix> RegionBoundsParameter { get { return (ValueLookupParameter<IntMatrix>) Parameters["RegionBounds"]; } }
    45     public ILookupParameter<IRandom> RandomParameter { get { return (ILookupParameter<IRandom>) Parameters["Random"]; } }
    46     public IValueLookupParameter<PercentValue> MergeAvoidanceProbabilityParameter { get { return (IValueLookupParameter<PercentValue>) Parameters["MergeAvoidanceProbability"]; } }
    47     public IValueLookupParameter<PercentValue> SplitProbabilityParameter { get { return (IValueLookupParameter<PercentValue>) Parameters["SplitProbability"]; } }
    48     public IValueLookupParameter<PercentValue> MovePercentageParameter { get { return (IValueLookupParameter<PercentValue>) Parameters["MovePercentage"]; } }
     42    public LookupParameter<BioBoostProblemData> ProblemDataParameter { get { return (LookupParameter<BioBoostProblemData>)Parameters["ProblemData"]; } }
     43    public LookupParameter<DistanceMatrix> DistanceMatrixParameter { get { return (LookupParameter<DistanceMatrix>)Parameters["DistanceMatrix"]; } }
     44    public ValueParameter<BoolValue> DistanceMatrixInProblemDataParameter { get { return (ValueParameter<BoolValue>)Parameters["DistanceMatrixInProblemData"]; } }
     45    public ValueLookupParameter<IntMatrix> RegionBoundsParameter { get { return (ValueLookupParameter<IntMatrix>)Parameters["RegionBounds"]; } }
     46    public ILookupParameter<IRandom> RandomParameter { get { return (ILookupParameter<IRandom>)Parameters["Random"]; } }
     47    public IValueLookupParameter<PercentValue> MergeAvoidanceProbabilityParameter { get { return (IValueLookupParameter<PercentValue>)Parameters["MergeAvoidanceProbability"]; } }
     48    public IValueLookupParameter<PercentValue> SplitProbabilityParameter { get { return (IValueLookupParameter<PercentValue>)Parameters["SplitProbability"]; } }
     49    public IValueLookupParameter<PercentValue> MovePercentageParameter { get { return (IValueLookupParameter<PercentValue>)Parameters["MovePercentage"]; } }
    4950    #endregion
    5051
     
    5455    public IRandom Random { get { return RandomParameter.ActualValue; } }
    5556    public bool DistanceMatrixInProblemData { get { return DistanceMatrixInProblemDataParameter.Value.Value; } }
    56     public DistanceMatrix DistanceMatrix {
     57    public DistanceMatrix DistanceMatrix
     58    {
    5759      get {
    5860        if (DistanceMatrixInProblemData) {
    59           return ((IValueParameter<DistanceMatrix>) ProblemData.Parameters[DistanceMatrixParameter.ActualName]).Value;
     61          return ((IValueParameter<DistanceMatrix>)ProblemData.Parameters[DistanceMatrixParameter.ActualName]).Value;
    6062        } else {
    6163          return DistanceMatrixParameter.ActualValue;
     
    7072    #region Construction & Cloning
    7173    [StorableConstructor]
    72     public PlantSplitter(bool isDeserializing) {}
    73     public PlantSplitter(PlantSplitter orig, Cloner cloner) : base(orig, cloner) {}
     74    public PlantSplitter(StorableConstructorFlag _) : base(_) { }
     75    public PlantSplitter(PlantSplitter orig, Cloner cloner) : base(orig, cloner) { }
    7476
    7577    public PlantSplitter() {
     
    106108        : scope.Variables[productTransportName].Value as IntegerVector;
    107109      if (supplyTransports != null) {
    108         var plants = supplyTransports.Select((target, source) => new {target, source}).GroupBy(p => p.target).ToList();
     110        var plants = supplyTransports.Select((target, source) => new { target, source }).GroupBy(p => p.target).ToList();
    109111        var plant = plants.ElementAt(Random.Next(plants.Count));
    110112        var forbiddenRegions = new HashSet<int>();
     
    129131
    130132    private int FindNewTarget(int oldTarget, IRandom random, DistanceMatrix distances, HashSet<int> forbiddenRegions) {
    131       var neighborDistances = new double[0].Select((d, idx) => new {index = idx, distance = d}).ToList();
     133      var neighborDistances = new double[0].Select((d, idx) => new { index = idx, distance = d }).ToList();
    132134      var maxDistance = 0d;
    133135      for (int j = 0; j < distances.Columns; j++) {
    134136        if (forbiddenRegions.Contains(j)) continue;
    135137        var dist = distances[oldTarget, j];
    136         neighborDistances.Add(new {index = j, distance = dist});
     138        neighborDistances.Add(new { index = j, distance = dist });
    137139        maxDistance = Math.Max(dist, maxDistance);
    138140      }
    139       neighborDistances = neighborDistances.Select(p => new {p.index, distance = maxDistance - p.distance}).ToList();
     141      neighborDistances = neighborDistances.Select(p => new { p.index, distance = maxDistance - p.distance }).ToList();
    140142      neighborDistances.Sort((a, b) => b.distance.CompareTo(a.distance));
    141143      var totalDistance = neighborDistances.Sum(p => p.distance);
    142       var threshold = random.NextDouble()*totalDistance;
     144      var threshold = random.NextDouble() * totalDistance;
    143145      var sum = 0d;
    144146      var index = 0;
  • addons/HeuristicLab.Problems.BioBoost/HeuristicLab.Problems.BioBoost/3.3/Operators/Mutation/PlantSupplierEqualizer.cs

    r13071 r16575  
    2525using HeuristicLab.Encodings.RealVectorEncoding;
    2626using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
     27using HEAL.Attic;
    2728
    2829namespace HeuristicLab.BioBoost.Operators.Mutation {
    2930
    30   [StorableClass]
     31  [StorableType("47E3AE56-1831-4FD4-8F6A-AAEED5AF0F5A")]
    3132  public class PlantSupplierEqualizer : PlantBasedUtilizationModifier {
    3233
    3334    #region Construction & Cloning
    3435    [StorableConstructor]
    35     public PlantSupplierEqualizer(bool isDeserializing) {}
     36    public PlantSupplierEqualizer(StorableConstructorFlag _) { }
    3637    public PlantSupplierEqualizer(PlantSupplierEqualizer orig, Cloner cloner) : base(orig, cloner) {}
    3738    public PlantSupplierEqualizer() {}
  • addons/HeuristicLab.Problems.BioBoost/HeuristicLab.Problems.BioBoost/3.3/Operators/Mutation/PlantSupplierRandomizer.cs

    r13071 r16575  
    2525using HeuristicLab.Encodings.RealVectorEncoding;
    2626using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
     27using HEAL.Attic;
    2728
    2829namespace HeuristicLab.BioBoost.Operators.Mutation {
    2930
    30   [StorableClass]
     31  [StorableType("234006BF-3E6B-4493-A318-95325A72CB5F")]
    3132  public class PlantSupplierRandomizer : PlantBasedUtilizationModifier {
    3233
    3334    #region Construction & Cloning
    3435    [StorableConstructor]
    35     public PlantSupplierRandomizer(bool isDeserializing) {}
     36    public PlantSupplierRandomizer(StorableConstructorFlag _) { }
    3637    public PlantSupplierRandomizer(PlantSupplierRandomizer orig, Cloner cloner) : base(orig, cloner) {}
    3738    public PlantSupplierRandomizer() {}
  • addons/HeuristicLab.Problems.BioBoost/HeuristicLab.Problems.BioBoost/3.3/Operators/Mutation/PlantSupplierToggler.cs

    r13071 r16575  
    2626using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    2727using HeuristicLab.Random;
     28using HEAL.Attic;
    2829
    2930namespace HeuristicLab.BioBoost.Operators.Mutation {
    3031
    31   [StorableClass]
     32  [StorableType("ED5F9402-0524-429E-BDD5-F6B1753B7B47")]
    3233  public class PlantSupplierToggler : PlantBasedUtilizationModifier {
    3334
    3435    #region Construction & Cloning
    3536    [StorableConstructor]
    36     public PlantSupplierToggler(bool isDeserializing) {}
     37    public PlantSupplierToggler(StorableConstructorFlag _) { }
    3738    public PlantSupplierToggler(PlantSupplierToggler orig, Cloner cloner) : base(orig, cloner) {}
    3839    public PlantSupplierToggler() {}
  • addons/HeuristicLab.Problems.BioBoost/HeuristicLab.Problems.BioBoost/3.3/Operators/Mutation/PlantSupplierUtilizationExchanger.cs

    r13071 r16575  
    2626using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    2727using HeuristicLab.Random;
     28using HEAL.Attic;
    2829
    2930namespace HeuristicLab.BioBoost.Operators.Mutation {
    3031
    31   [StorableClass]
     32  [StorableType("F68106A0-10E6-457B-9318-4A6AF242BC8E")]
    3233  public class PlantSupplierUtilizationExchanger : PlantBasedUtilizationModifier {
    3334
    3435    #region Construction & Cloning
    3536    [StorableConstructor]
    36     public PlantSupplierUtilizationExchanger(bool isDeserializing) {}
     37    public PlantSupplierUtilizationExchanger(StorableConstructorFlag _) { }
    3738    public PlantSupplierUtilizationExchanger(PlantSupplierUtilizationExchanger orig, Cloner cloner) : base(orig, cloner) {}
    3839    public PlantSupplierUtilizationExchanger() {}
  • addons/HeuristicLab.Problems.BioBoost/HeuristicLab.Problems.BioBoost/3.3/Operators/Mutation/TargetMergingIntegerVectorMutator.cs

    r13071 r16575  
    3030using System;
    3131using System.Linq;
     32using HEAL.Attic;
    3233
    3334namespace HeuristicLab.BioBoost.Operators.Mutation {
    34   [StorableClass]
     35  [StorableType("EE0CB71C-2631-445E-BFBF-55967F4D371E")]
    3536  public class TargetMergingIntegerVectorManipulator : BoundedIntegerVectorManipulator {
    3637
     
    6768    #region Construction & Cloning
    6869    [StorableConstructor]
    69     protected TargetMergingIntegerVectorManipulator(bool isDeserializing) : base(isDeserializing) {}
     70    protected TargetMergingIntegerVectorManipulator(StorableConstructorFlag _) : base(_) { }
    7071    protected TargetMergingIntegerVectorManipulator(TargetMergingIntegerVectorManipulator orig, Cloner cloner) : base(orig, cloner) {}
    7172    public TargetMergingIntegerVectorManipulator() {
  • addons/HeuristicLab.Problems.BioBoost/HeuristicLab.Problems.BioBoost/3.3/Operators/Transformation/FeedstockDeflater.cs

    r13071 r16575  
    3131using System.Collections.Generic;
    3232using HeuristicLab.BioBoost.Representation;
     33using HEAL.Attic;
    3334
    3435namespace HeuristicLab.BioBoost.Operators.Transformation {
    3536
    36   [StorableClass]
     37  [StorableType("9F8B4BC5-5814-45C2-8AEC-AC29CBA40A05")]
    3738  public class FeedstockDeflater : FeedstockTransformer {
    3839
     
    4546    #region Construction & Cloning
    4647    [StorableConstructor]
    47     protected FeedstockDeflater(bool isDeserializing) : base(isDeserializing) {}
     48    protected FeedstockDeflater(StorableConstructorFlag _) : base(_) { }
    4849    protected FeedstockDeflater(FeedstockDeflater orig, Cloner cloner) : base(orig, cloner) {}
    4950    public FeedstockDeflater() {
  • addons/HeuristicLab.Problems.BioBoost/HeuristicLab.Problems.BioBoost/3.3/Operators/Transformation/FeedstockInflater.cs

    r13071 r16575  
    2727using System.Collections.Generic;
    2828using HeuristicLab.BioBoost.Representation;
     29using HEAL.Attic;
    2930
    3031namespace HeuristicLab.BioBoost.Operators.Transformation {
    3132
    32   [StorableClass]
     33  [StorableType("6BC1D076-7DFC-4AC9-B5CF-35BE9DB903F6")]
    3334  public class FeedstockInflater : FeedstockTransformer {
    3435
    3536    #region Construction & Cloning
    3637    [StorableConstructor]
    37     protected FeedstockInflater(bool isDeserializing) : base(isDeserializing) {}
     38    protected FeedstockInflater(StorableConstructorFlag _) : base(_) { }
    3839    protected FeedstockInflater(FeedstockInflater orig, Cloner cloner) : base(orig, cloner) {}
    3940    public FeedstockInflater() {}
  • addons/HeuristicLab.Problems.BioBoost/HeuristicLab.Problems.BioBoost/3.3/Operators/Transformation/FeedstockTransformer.cs

    r13071 r16575  
    2525using HeuristicLab.Parameters;
    2626using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
     27using HEAL.Attic;
    2728
    2829namespace HeuristicLab.BioBoost.Operators.Transformation {
    2930
    30   [StorableClass]
     31  [StorableType("4899F5B6-FD69-4CAA-896C-20A51A4B0BCC")]
    3132  public class FeedstockTransformer : BioBoostOperator {
    3233
     
    4142    #region Construction & Cloning
    4243    [StorableConstructor]
    43     protected FeedstockTransformer(bool isDeserializing) : base(isDeserializing) {}
     44    protected FeedstockTransformer(StorableConstructorFlag _) : base(_) { }
    4445    protected FeedstockTransformer(FeedstockTransformer orig, Cloner cloner) : base(orig, cloner) {}
    4546    public FeedstockTransformer() {
  • addons/HeuristicLab.Problems.BioBoost/HeuristicLab.Problems.BioBoost/3.3/Persistence/GeometryFeatureProviderSerializer.cs

    r13071 r16575  
    2121
    2222using GeoAPI.Geometries;
     23using HEAL.Attic;
    2324using HeuristicLab.Persistence.Core;
    2425using HeuristicLab.Persistence.Interfaces;
  • addons/HeuristicLab.Problems.BioBoost/HeuristicLab.Problems.BioBoost/3.3/ProblemDescription/BioBoostProblemData.cs

    r13071 r16575  
    4141using GeoAPI.Geometries;
    4242using HeuristicLab.BioBoost.Representation;
     43using HEAL.Attic;
    4344
    4445namespace HeuristicLab.BioBoost.ProblemDescription {
    4546
    46   [StorableClass]
     47  [StorableType("1A6A5B9A-0E82-4873-9F8F-87ABA1D8F125")]
    4748  public class BioBoostProblemData : ParameterizedNamedItem {
    4849
     
    185186
    186187    [StorableConstructor]
    187     protected BioBoostProblemData(bool isDeserializing) : base(isDeserializing) { }
     188    protected BioBoostProblemData(StorableConstructorFlag _) : base(_) { }
    188189    protected BioBoostProblemData(BioBoostProblemData orig, Cloner cloner)
    189190      : base(orig, cloner) {
  • addons/HeuristicLab.Problems.BioBoost/HeuristicLab.Problems.BioBoost/3.3/ProblemDescription/DistanceMatrix.cs

    r13071 r16575  
    2929using System.Globalization;
    3030using System.Linq;
     31using HEAL.Attic;
    3132
    3233namespace HeuristicLab.BioBoost.ProblemDescription {
    3334
    3435  [Item("DistanceMatrix", "Represents a space-efficient, symmetric distance matrix of double values.")]
    35   [StorableClass]
     36  [StorableType("108ABFA4-9CA2-43B5-850A-3B3F13BC271A")]
    3637  public class DistanceMatrix : NamedItem, IStringConvertibleMatrix {
    3738
     
    5960    #region Construction & Cloning
    6061    [StorableConstructor]
    61     protected DistanceMatrix(bool isDeserializing) : base(isDeserializing) { }
     62    protected DistanceMatrix(StorableConstructorFlag _) : base(_) { }
    6263    protected DistanceMatrix(DistanceMatrix original, Cloner cloner)
    6364      : base(original, cloner) {
  • addons/HeuristicLab.Problems.BioBoost/HeuristicLab.Problems.BioBoost/3.3/ProblemDescription/NeighborhoodTable.cs

    r13071 r16575  
    2828using System.Globalization;
    2929using System.Linq;
     30using HEAL.Attic;
    3031
    3132namespace HeuristicLab.BioBoost.ProblemDescription {
    3233 
    33   [StorableClass]
     34  [StorableType("F7026CD3-DA57-4AEE-8AB7-F93BDFCE3CDE")]
    3435  public class NeighborhoodTable : Item, IStringConvertibleMatrix {
    3536
     
    6263    #region Construction & Cloning
    6364    [StorableConstructor]
    64     protected NeighborhoodTable(bool isDeserializing) : base(isDeserializing) {}
     65    protected NeighborhoodTable(StorableConstructorFlag _) : base(_) { }
    6566    protected NeighborhoodTable(NeighborhoodTable orig, Cloner cloner) : base(orig, cloner) {
    6667      table = orig.table.ToDictionary(p => p.Key, p => p.Value);
  • addons/HeuristicLab.Problems.BioBoost/HeuristicLab.Problems.BioBoost/3.3/Representation/BioBoostCompoundSolution.cs

    r13075 r16575  
    4141using SharpMap.Layers;
    4242using SharpMap.Utilities.Wfs;
     43using HEAL.Attic;
    4344// using YamlDotNet.RepresentationModel.Serialization.NodeTypeResolvers;
    4445
    4546namespace HeuristicLab.BioBoost.Representation {
    46   [StorableClass]
     47  [StorableType("644945D8-CC1B-4DE9-AF2E-4C6DE95A37FD")]
    4748  public sealed class BioBoostCompoundSolution : ParameterizedNamedItem, IStorableContent {
    4849    public class TransportInfo {
     
    135136    #region Construction & Cloning
    136137    [StorableConstructor]
    137     private BioBoostCompoundSolution(bool isDeserializing) : base(isDeserializing) { }
     138    private BioBoostCompoundSolution(StorableConstructorFlag _) : base(_) { }
    138139    private BioBoostCompoundSolution(BioBoostCompoundSolution orig, Cloner cloner, bool full = true)
    139140      : base(orig, cloner) {
  • addons/HeuristicLab.Problems.BioBoost/HeuristicLab.Problems.BioBoost/3.3/Representation/LayerDescriptor.cs

    r13071 r16575  
    2828using HeuristicLab.Data;
    2929using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
     30using HEAL.Attic;
    3031
    3132namespace HeuristicLab.BioBoost.Representation {
    32 
     33  [StorableType("9464112A-FE8E-43C0-A6F9-5626D63D2D30")]
    3334  public interface ILayerDescriptor : IItem {
    3435    string Name { get; }
     
    3940  }
    4041
     42  [StorableType("D6229284-9C48-4FE9-B37F-34FA96B9FC55")]
    4143  public interface IValueLayer {
    4244    LayerDescriptor LayerDescriptor { get; }
     
    4446  }
    4547
     48  [StorableType("507933FD-C6B8-44DB-BE23-0343CED49204")]
    4649  public interface IAggregator {
    4750    IEnumerable<IValueLayer> Aggregate(IEnumerable<IValueLayer> layers, ItemArray<ItemList<IntValue>> sources);
    4851  }
    4952
     53  [StorableType("6CD7E1DD-7862-49C7-8B2A-6F756D7A775F")]
    5054  public class SumAggregator : IAggregator {
    5155    public ILayerDescriptor TargetLayerDescriptor { get; private set; }
     56    [StorableConstructor]
     57    protected SumAggregator(StorableConstructorFlag _) { }
     58
    5259    public SumAggregator(ILayerDescriptor descriptor) { TargetLayerDescriptor = descriptor; }
    5360    public IEnumerable<IValueLayer> Aggregate(IEnumerable<IValueLayer> layers, ItemArray<ItemList<IntValue>> sources) {
     
    6168  }
    6269
    63   [StorableClass(StorableClassType.AllFieldsAndAllProperties)]
     70  [StorableType(StorableMemberSelection.AllFieldsAndAllProperties, "4C00E073-D186-49CD-A794-8A44B55779E8")]
    6471  public class LayerDescriptor : Item, ILayerDescriptor {
    6572
    66     public string Name  { get; private set; }
     73    public string Name { get; private set; }
    6774    public string Unit { get; private set; }
    6875    public string Description { get; private set; }
     
    7077    public string FullName { get; private set; }
    7178
    72     protected LayerDescriptor(bool isDeserializing) : base(isDeserializing) { }
     79    [StorableConstructor]
     80    protected LayerDescriptor(StorableConstructorFlag _) : base(_) { }
     81
    7382    protected LayerDescriptor(LayerDescriptor orig, Cloner cloner) : base(orig, cloner) { }
    7483
     
    175184
    176185    private static void DiscoverLayers() {
    177         if (LAYERS.Count == 0) {
    178           LAYERS.AddRange(
    179             typeof (LayerDescriptor)
    180               .GetFields(BindingFlags.Static | BindingFlags.Public)
    181               .Select(f => f.GetValue(null))
    182               .Where(v => v is LayerDescriptor)
    183               .Cast<LayerDescriptor>()
    184               .OrderByDescending(l => l.Name.Length));
    185           foreach (var l1 in LAYERS) {
    186             foreach (var l2 in LAYERS) {
    187               if (l1 != l2 && l1.IsSuffixOf(l2.FullName))
    188                 throw new InvalidOperationException(string.Format("Layer overlap detected \"{0}\" is suffix of \"{1}\"", l1.FullName, l2.FullName));
    189             }
     186      if (LAYERS.Count == 0) {
     187        LAYERS.AddRange(
     188          typeof(LayerDescriptor)
     189            .GetFields(BindingFlags.Static | BindingFlags.Public)
     190            .Select(f => f.GetValue(null))
     191            .Where(v => v is LayerDescriptor)
     192            .Cast<LayerDescriptor>()
     193            .OrderByDescending(l => l.Name.Length));
     194        foreach (var l1 in LAYERS) {
     195          foreach (var l2 in LAYERS) {
     196            if (l1 != l2 && l1.IsSuffixOf(l2.FullName))
     197              throw new InvalidOperationException(string.Format("Layer overlap detected \"{0}\" is suffix of \"{1}\"", l1.FullName, l2.FullName));
    190198          }
    191199        }
    192     }
    193 
    194     public static IEnumerable<LayerDescriptor> Layers {
    195       get {  DiscoverLayers(); return LAYERS; }
     200      }
     201    }
     202
     203    public static IEnumerable<LayerDescriptor> Layers
     204    {
     205      get { DiscoverLayers(); return LAYERS; }
    196206    }
    197207
  • addons/HeuristicLab.Problems.BioBoost/HeuristicLab.Problems.BioBoost/3.3/SolutionCreation/BioBoostSolutionCreator.cs

    r13071 r16575  
    3333using System.Linq;
    3434using HeuristicLab.BioBoost.Representation;
     35using HEAL.Attic;
    3536
    3637namespace HeuristicLab.BioBoost.SolutionCreation {
    3738
    38   [StorableClass]
     39  [StorableType("531890AB-4D1C-4CC2-B2C8-66809BD010D7")]
    3940  public class BioBoostSolutionCreator : SingleSuccessorOperator, ISolutionCreator {
    4041
     
    7778    #region Construction & Cloning
    7879    [StorableConstructor]
    79     protected BioBoostSolutionCreator(bool isDeserializing) : base(isDeserializing) {}
     80    protected BioBoostSolutionCreator(StorableConstructorFlag _) : base(_) { }
    8081    protected BioBoostSolutionCreator(BioBoostSolutionCreator orig, Cloner cloner) : base(orig, cloner) {}
    8182    public BioBoostSolutionCreator() {
  • addons/HeuristicLab.Problems.BioBoost/HeuristicLab.Problems.BioBoost/3.3/SolutionCreation/ConstantValueRealVectorCreator.cs

    r13071 r16575  
    2727using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    2828using System.Linq;
     29using HEAL.Attic;
    2930
    3031namespace HeuristicLab.BioBoost.SolutionCreation {
    3132
    32   [StorableClass]
     33  [StorableType("50661F1E-4A8A-40D4-983B-3D55E93E1465")]
    3334  public class ConstantValueRealVectorCreator : RealVectorCreator {
    3435
     
    4445      #region Construction & Cloning
    4546    [StorableConstructor]
    46     protected ConstantValueRealVectorCreator(bool isDeserializing) : base(isDeserializing) {}
     47    protected ConstantValueRealVectorCreator(StorableConstructorFlag _) : base(_) { }
    4748    protected ConstantValueRealVectorCreator(ConstantValueRealVectorCreator orig, Cloner cloner) : base(orig, cloner) {}
    4849    public ConstantValueRealVectorCreator() {
  • addons/HeuristicLab.Problems.BioBoost/HeuristicLab.Problems.BioBoost/3.3/SolutionCreation/IdentityIntegerVectorCreator.cs

    r13071 r16575  
    2626using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    2727using System.Linq;
     28using HEAL.Attic;
    2829
    2930namespace HeuristicLab.BioBoost.SolutionCreation {
    3031
    31   [StorableClass]
     32  [StorableType("EAFB8250-A9EB-43BA-B1B3-EF026493DCE7")]
    3233  public class IdentityIntegerVectorCreator : IntegerVectorCreator {
    3334
    3435    #region Construction & Cloning
    3536    [StorableConstructor]
    36     protected IdentityIntegerVectorCreator(bool isDeserializing) : base(isDeserializing) {}
     37    protected IdentityIntegerVectorCreator(StorableConstructorFlag _) : base(_) { }
    3738    protected IdentityIntegerVectorCreator(IdentityIntegerVectorCreator orig, Cloner cloner) : base(orig, cloner) {}
    3839    public IdentityIntegerVectorCreator() { }
  • addons/HeuristicLab.Problems.BioBoost/HeuristicLab.Problems.BioBoost/3.3/SolutionCreation/LimitedValuesIntegerVectorCreator.cs

    r13071 r16575  
    2727using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    2828using System.Linq;
     29using HEAL.Attic;
    2930
    3031namespace HeuristicLab.BioBoost.SolutionCreation {
    3132
    32   [StorableClass]
     33  [StorableType("83148271-792B-471B-99C0-740E8671940A")]
    3334  public class LimitedValuesIntegerVectorCreator : IntegerVectorCreator {
    3435
     
    4849    #region Construction & Cloning
    4950    [StorableConstructor]
    50     protected LimitedValuesIntegerVectorCreator(bool isDeserializing) : base(isDeserializing) {}
     51    protected LimitedValuesIntegerVectorCreator(StorableConstructorFlag _) : base(_) { }
    5152    protected LimitedValuesIntegerVectorCreator(LimitedValuesIntegerVectorCreator orig, Cloner cloner) : base(orig, cloner) {}
    5253    public LimitedValuesIntegerVectorCreator() {
  • addons/HeuristicLab.Problems.BioBoost/HeuristicLab.Problems.BioBoost/3.3/Utils/Closure.cs

    r13071 r16575  
    2323using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    2424using System;
     25using HEAL.Attic;
    2526
    2627namespace HeuristicLab.BioBoost.Utils {
     
    3233  /// </summary>
    3334  /// <typeparam name="T">The Type of the value to be wrapped.</typeparam>
    34   [StorableClass]
     35  [StorableType("75502002-CE4F-4B62-B37B-FEB93F899BA3")]
    3536  public class Closure<T> : IDeepCloneable {
    3637
     
    4748
    4849    [StorableConstructor]
    49     protected Closure(bool isDeserializing) {
     50    protected Closure(StorableConstructorFlag _) {
    5051      T value = default(T);
    5152      Getter = () => value;
  • addons/HeuristicLab.Problems.BioBoost/HeuristicLab.Problems.BioBoost/3.3/Utils/StepFunction.cs

    r13071 r16575  
    3030using System.Linq;
    3131using System.Text.RegularExpressions;
     32using HEAL.Attic;
    3233
    3334namespace HeuristicLab.BioBoost.Utils {
    3435
    35   [StorableClass]
     36  [StorableType("38ABD326-0F33-4B2F-A41C-547BADF7CA3A")]
    3637  [Item("StepFunction", "A simple step function specifying upper bounds and corresponding values.")]
    3738  public class StepFunction : ParameterizedNamedItem {
     
    5253    }
    5354    [StorableConstructor]
    54     protected StepFunction(bool isDeserializing) : base(isDeserializing) {}
     55    protected StepFunction(StorableConstructorFlag _) : base(_) { }
    5556    protected StepFunction(StepFunction orig, Cloner cloner) : base(orig, cloner) {}
    5657    public override IDeepCloneable Clone(Cloner cloner) {
  • addons/HeuristicLab.Problems.BioBoost/HeuristicLab.Problems.BioBoost/3.3/app.config

    r13069 r16575  
    1 <?xml version="1.0" encoding="utf-8"?>
     1<?xml version="1.0" encoding="utf-8"?>
    22<configuration>
    33  <runtime>
    44    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
    55      <dependentAssembly>
    6         <assemblyIdentity name="GeoAPI" publicKeyToken="a1a0da7def465678" culture="neutral" />
    7         <bindingRedirect oldVersion="0.0.0.0-1.7.3.0" newVersion="1.7.3.0" />
     6        <assemblyIdentity name="GeoAPI" publicKeyToken="a1a0da7def465678" culture="neutral"/>
     7        <bindingRedirect oldVersion="0.0.0.0-1.7.3.0" newVersion="1.7.3.0"/>
    88      </dependentAssembly>
    99      <dependentAssembly>
    10         <assemblyIdentity name="NetTopologySuite" publicKeyToken="f580a05016ebada1" culture="neutral" />
    11         <bindingRedirect oldVersion="0.0.0.0-1.13.3.0" newVersion="1.13.3.0" />
     10        <assemblyIdentity name="NetTopologySuite" publicKeyToken="f580a05016ebada1" culture="neutral"/>
     11        <bindingRedirect oldVersion="0.0.0.0-1.13.3.0" newVersion="1.13.3.0"/>
    1212      </dependentAssembly>
    1313    </assemblyBinding>
    1414  </runtime>
    15 </configuration>
     15<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1"/></startup></configuration>
  • addons/HeuristicLab.Problems.BioBoost/HeuristicLab.Problems.BioBoost/3.3/packages.config

    r13617 r16575  
    44  <package id="Common.Logging" version="2.0.0" targetFramework="net45" />
    55  <package id="GeoAPI" version="1.7.2" targetFramework="net45" />
     6  <package id="Google.Protobuf" version="3.6.1" targetFramework="net461" />
     7  <package id="HEAL.Attic" version="1.0.0-pre02" targetFramework="net461" />
    68  <package id="NetTopologySuite" version="1.13.2" targetFramework="net45" />
    79  <package id="NetTopologySuite.IO" version="1.13.2" targetFramework="net45" />
     
    1012  <package id="SharpMap" version="1.1.0" targetFramework="net45" />
    1113  <package id="System.Data.SQLite.MSIL" version="1.0.86.0" targetFramework="net45" />
     14  <package id="System.Drawing.Common" version="4.5.1" targetFramework="net461" />
    1215  <package id="YamlDotNet" version="3.8.0" targetFramework="net45" />
    1316</packages>
  • addons/HeuristicLab.Problems.BioBoost/packages

    • Property svn:ignore
      •  

        old new  
        1111YamlDotNet.3.7.0
        1212YamlDotNet.3.8.0
         13System.Drawing.Common.4.5.1
         14HEAL.Attic.1.0.0-pre02
         15Google.Protobuf.3.6.1
Note: See TracChangeset for help on using the changeset viewer.