From 6ac7d85c823a8275bee611cff517fd4f57e303bb Mon Sep 17 00:00:00 2001
From: Raphael Luz <luz@ivt.tugraz.at>
Date: Thu, 5 Sep 2013 08:38:28 +0200
Subject: [PATCH] - removed PHEM ADVANCE code - restructured Demo / Default
 Data

---
 Default Data/VACC/Bus.vacc                    |   23 +
 Default Data/VACC/Coach.vacc                  |   27 +
 .../VACC/Truck.vacc                           |    4 +-
 .../VCDV/Truck.vcdv                           |    0
 .../{Cycles => VDRI}/Citybus_Heavy_Urban.vdri |    0
 .../{Cycles => VDRI}/Citybus_Suburban.vdri    |    0
 .../{Cycles => VDRI}/Citybus_Urban.vdri       |    0
 Default Data/{Cycles => VDRI}/Coach.vdri      |    0
 .../{Cycles => VDRI}/Construction_Cycle.vdri  |    0
 .../{Cycles => VDRI}/Interurban_Bus.vdri      |    0
 Default Data/{Cycles => VDRI}/Long_Haul.vdri  |    0
 .../{Cycles => VDRI}/Municipal_Utility.vdri   |    0
 .../{Cycles => VDRI}/Regional_Delivery.vdri   |    0
 .../{Cycles => VDRI}/Urban_Delivery.vdri      |    0
 .../ACEA_RegionalDelivery_AuxDemo.vdri        |    2 +-
 .../ACEA_UrbanDelivery_AuxDemo.vdri           |    2 +-
 Demo Data/12t Demo/Declaration/Demo.vacc      |   13 -
 .../Declaration/Demo_Declaration.vecto        |    8 +-
 .../Declaration/Demo_VehicleDeclaration.vveh  |    9 +-
 Demo Data/12t Demo/Demo_Engine.veng           |    9 +-
 Demo Data/12t Demo/Demo_Gearbox.vgbx          |   42 +-
 .../ProofOfConcept/Demo_ChassisDyno.vecto     |    6 +-
 .../ProofOfConcept/Demo_TestTrackCycle.vecto  |    6 +-
 Demo Data/12t Demo/ProofOfConcept/Dummy.vacc  |    4 +-
 .../40t Demo/Demo_CrosswindCorrection.vcdv    |   26 -
 Demo Data/40t Demo/VehClass5_40t.veng         |    9 +-
 Demo Data/40t Demo/VehClass5_40t.vgbx         |   42 +-
 Demo Data/40t Demo/VehClass5_40t.vveh         |    6 +-
 .../40t Demo/VehClass5_40t_LongHaul.vecto     |    8 +-
 .../20120815_acea_long_haul_1m_DemoAux.vdri   |    4 +-
 User Manual Source/Update Notes.pptx          |  Bin 1741054 -> 1742406 bytes
 VECTO/ADVANCE/cADV.vb                         |  216 --
 VECTO/ADVANCE/cADVANCE.vb                     | 2437 -----------------
 VECTO/File Browser/FB_Global.vb               |    1 -
 VECTO/GUI/F_ADV.Designer.vb                   |  415 ---
 VECTO/GUI/F_ADV.resx                          |  270 --
 VECTO/GUI/F_ADV.vb                            |  323 ---
 VECTO/GUI/F_ADVfzp.Designer.vb                |  164 --
 VECTO/GUI/F_ADVfzp.resx                       |  123 -
 VECTO/GUI/F_ADVfzp.vb                         |   68 -
 VECTO/GUI/F_GEN.vb                            |    2 +-
 VECTO/GUI/F_MAINForm.Designer.vb              |   36 +-
 VECTO/GUI/F_MAINForm.vb                       |  138 +-
 VECTO/GUI/F_ModSplit.Designer.vb              |  158 --
 VECTO/GUI/F_ModSplit.resx                     |  120 -
 VECTO/GUI/F_ModSplit.vb                       |  102 -
 VECTO/GUI/F_TEM_Creator.Designer.vb           |  169 --
 VECTO/GUI/F_TEM_Creator.resx                  |  120 -
 VECTO/GUI/F_TEM_Creator.vb                    |   48 -
 VECTO/MODcalc/Em Calc.vb                      |   97 +-
 VECTO/MODcalc/cMOD.vb                         |   53 +-
 VECTO/MODcalc/cPower.vb                       |   32 +-
 VECTO/MODcalc/cVh.vb                          |   19 -
 VECTO/M_MAIN.vb                               |  131 +-
 VECTO/My Project/AssemblyInfo.vb              |    4 +-
 VECTO/VECTO.vbproj                            |   42 -
 VECTO/VECTO_Global.vb                         |    1 -
 VECTO/VECTO_Types.vb                          |    1 -
 VECTO/cDEV.vb                                 |    5 -
 VECTO/cERG.vb                                 |  584 ++--
 60 files changed, 526 insertions(+), 5603 deletions(-)
 create mode 100644 Default Data/VACC/Bus.vacc
 create mode 100644 Default Data/VACC/Coach.vacc
 rename Demo Data/40t Demo/Truck_Default.vacc => Default Data/VACC/Truck.vacc (92%)
 rename Demo Data/12t Demo/Declaration/Demo_CrosswindCorrection.vcdv => Default Data/VCDV/Truck.vcdv (100%)
 rename Default Data/{Cycles => VDRI}/Citybus_Heavy_Urban.vdri (100%)
 rename Default Data/{Cycles => VDRI}/Citybus_Suburban.vdri (100%)
 rename Default Data/{Cycles => VDRI}/Citybus_Urban.vdri (100%)
 rename Default Data/{Cycles => VDRI}/Coach.vdri (100%)
 rename Default Data/{Cycles => VDRI}/Construction_Cycle.vdri (100%)
 rename Default Data/{Cycles => VDRI}/Interurban_Bus.vdri (100%)
 rename Default Data/{Cycles => VDRI}/Long_Haul.vdri (100%)
 rename Default Data/{Cycles => VDRI}/Municipal_Utility.vdri (100%)
 rename Default Data/{Cycles => VDRI}/Regional_Delivery.vdri (100%)
 rename Default Data/{Cycles => VDRI}/Urban_Delivery.vdri (100%)
 delete mode 100644 Demo Data/12t Demo/Declaration/Demo.vacc
 delete mode 100644 Demo Data/40t Demo/Demo_CrosswindCorrection.vcdv
 delete mode 100644 VECTO/ADVANCE/cADV.vb
 delete mode 100644 VECTO/ADVANCE/cADVANCE.vb
 delete mode 100644 VECTO/GUI/F_ADV.Designer.vb
 delete mode 100644 VECTO/GUI/F_ADV.resx
 delete mode 100644 VECTO/GUI/F_ADV.vb
 delete mode 100644 VECTO/GUI/F_ADVfzp.Designer.vb
 delete mode 100644 VECTO/GUI/F_ADVfzp.resx
 delete mode 100644 VECTO/GUI/F_ADVfzp.vb
 delete mode 100644 VECTO/GUI/F_ModSplit.Designer.vb
 delete mode 100644 VECTO/GUI/F_ModSplit.resx
 delete mode 100644 VECTO/GUI/F_ModSplit.vb
 delete mode 100644 VECTO/GUI/F_TEM_Creator.Designer.vb
 delete mode 100644 VECTO/GUI/F_TEM_Creator.resx
 delete mode 100644 VECTO/GUI/F_TEM_Creator.vb

diff --git a/Default Data/VACC/Bus.vacc b/Default Data/VACC/Bus.vacc
new file mode 100644
index 0000000000..7abf8eb10a
--- /dev/null
+++ b/Default Data/VACC/Bus.vacc	
@@ -0,0 +1,23 @@
+c v,acc,dec
+c [km/h],[m/s²],[m/s²]
+0,1.01570922360353,-0.243137391053393
+5,1.38546581120225,-0.660815080435473
+10,1.34993329755465,-0.697805375020862
+15,1.21026714002479,-0.703434814668512
+20,1.08369598822194,-0.677703399378421
+25,0.960244171563553,-0.63631961226452
+30,0.830278494884728,-0.548894523516266
+35,0.705875078338323,-0.453995336940216
+40,0.61560012996407,-0.385460695652016
+45,0.54934680060935,-0.349181329186105
+50,0.506759643818294,-0.309125096967231
+55,0.475339640114064,-0.296716093796643
+60,0.443179073790072,-0.270229542673924
+65,0.402073380967498,-0.256408113084341
+70,0.354058549774571,-0.217808535739946
+75,0.307424130491395,-0.18609307386602
+80,0.26769036830267,-0.142683384645006
+85,0.223947186420069,-0.117950211164234
+90,0.198040479041662,-0.102997621205622
+95,0.182725799001603,-0.102997621205622
+100,0.180785716979631,-0.102997621205622
diff --git a/Default Data/VACC/Coach.vacc b/Default Data/VACC/Coach.vacc
new file mode 100644
index 0000000000..f8c8e4b305
--- /dev/null
+++ b/Default Data/VACC/Coach.vacc	
@@ -0,0 +1,27 @@
+c v,acc,dec
+c [km/h],[m/s²],[m/s²]
+0,1.01570922360353,-0.231742702878269
+5,1.38546581120225,-0.45346198022574
+10,1.34993329755465,-0.565404125020508
+15,1.29026714002479,-0.703434814668512
+20,1.16369598822194,-0.677703399378421
+25,1.04024417156355,-0.63631961226452
+30,0.910278494884728,-0.548894523516266
+35,0.785875078338323,-0.453995336940216
+40,0.69560012996407,-0.385460695652016
+45,0.648984223443223,-0.349181329186105
+50,0.594249623931624,-0.309125096967231
+55,0.559156929181929,-0.296716093796643
+60,0.541508805860806,-0.270229542673924
+65,0.539582904761905,-0.256408113084341
+70,0.539103523809524,-0.217808535739946
+75,0.529581598997494,-0.18609307386602
+80,0.496418462064251,-0.142683384645006
+85,0.453932619248656,-0.117950211164234
+90,0.397824554210839,-0.102997621205622
+95,0.33969661577071,-0.102997621205622
+100,0.289428370365158,-0.102997621205622
+105,0.256471472751248,-0.102997621205622
+110,0.24,-0.102997621205622
+115,0.22,-0.102997621205622
+120,0.2,-0.102997621205622
diff --git a/Demo Data/40t Demo/Truck_Default.vacc b/Default Data/VACC/Truck.vacc
similarity index 92%
rename from Demo Data/40t Demo/Truck_Default.vacc
rename to Default Data/VACC/Truck.vacc
index ae4b968aa5..0790383861 100644
--- a/Demo Data/40t Demo/Truck_Default.vacc	
+++ b/Default Data/VACC/Truck.vacc	
@@ -1,5 +1,5 @@
-c v,a_desmax,a_brake
-c [km/h],[m/s²],[m/s²]
+c v,acc,dec
+c [km/h],[m/s²],[m/s²]
 0,1.01570922360353,-0.231742702878269
 5,1.38546581120225,-0.414230217967212
 10,1.34993329755465,-0.469050310026691
diff --git a/Demo Data/12t Demo/Declaration/Demo_CrosswindCorrection.vcdv b/Default Data/VCDV/Truck.vcdv
similarity index 100%
rename from Demo Data/12t Demo/Declaration/Demo_CrosswindCorrection.vcdv
rename to Default Data/VCDV/Truck.vcdv
diff --git a/Default Data/Cycles/Citybus_Heavy_Urban.vdri b/Default Data/VDRI/Citybus_Heavy_Urban.vdri
similarity index 100%
rename from Default Data/Cycles/Citybus_Heavy_Urban.vdri
rename to Default Data/VDRI/Citybus_Heavy_Urban.vdri
diff --git a/Default Data/Cycles/Citybus_Suburban.vdri b/Default Data/VDRI/Citybus_Suburban.vdri
similarity index 100%
rename from Default Data/Cycles/Citybus_Suburban.vdri
rename to Default Data/VDRI/Citybus_Suburban.vdri
diff --git a/Default Data/Cycles/Citybus_Urban.vdri b/Default Data/VDRI/Citybus_Urban.vdri
similarity index 100%
rename from Default Data/Cycles/Citybus_Urban.vdri
rename to Default Data/VDRI/Citybus_Urban.vdri
diff --git a/Default Data/Cycles/Coach.vdri b/Default Data/VDRI/Coach.vdri
similarity index 100%
rename from Default Data/Cycles/Coach.vdri
rename to Default Data/VDRI/Coach.vdri
diff --git a/Default Data/Cycles/Construction_Cycle.vdri b/Default Data/VDRI/Construction_Cycle.vdri
similarity index 100%
rename from Default Data/Cycles/Construction_Cycle.vdri
rename to Default Data/VDRI/Construction_Cycle.vdri
diff --git a/Default Data/Cycles/Interurban_Bus.vdri b/Default Data/VDRI/Interurban_Bus.vdri
similarity index 100%
rename from Default Data/Cycles/Interurban_Bus.vdri
rename to Default Data/VDRI/Interurban_Bus.vdri
diff --git a/Default Data/Cycles/Long_Haul.vdri b/Default Data/VDRI/Long_Haul.vdri
similarity index 100%
rename from Default Data/Cycles/Long_Haul.vdri
rename to Default Data/VDRI/Long_Haul.vdri
diff --git a/Default Data/Cycles/Municipal_Utility.vdri b/Default Data/VDRI/Municipal_Utility.vdri
similarity index 100%
rename from Default Data/Cycles/Municipal_Utility.vdri
rename to Default Data/VDRI/Municipal_Utility.vdri
diff --git a/Default Data/Cycles/Regional_Delivery.vdri b/Default Data/VDRI/Regional_Delivery.vdri
similarity index 100%
rename from Default Data/Cycles/Regional_Delivery.vdri
rename to Default Data/VDRI/Regional_Delivery.vdri
diff --git a/Default Data/Cycles/Urban_Delivery.vdri b/Default Data/VDRI/Urban_Delivery.vdri
similarity index 100%
rename from Default Data/Cycles/Urban_Delivery.vdri
rename to Default Data/VDRI/Urban_Delivery.vdri
diff --git a/Demo Data/12t Demo/Declaration/ACEA_RegionalDelivery_AuxDemo.vdri b/Demo Data/12t Demo/Declaration/ACEA_RegionalDelivery_AuxDemo.vdri
index 63eae8a539..e26f83d090 100644
--- a/Demo Data/12t Demo/Declaration/ACEA_RegionalDelivery_AuxDemo.vdri	
+++ b/Demo Data/12t Demo/Declaration/ACEA_RegionalDelivery_AuxDemo.vdri	
@@ -25835,4 +25835,4 @@ c [m],[km/h],[%],[s],[kW],[kW],[kW]
 25833,40,0.484438915,0,0.5,2.376,2.97
 25834,40,0.484438915,0,0.5,2.376,2.97
 25835,40,0.484438915,0,0.5,2.376,2.97
-25836,0,0.484438915,0,0.5,2.376,2.97
+25836,0,0.484438915,2,0.5,2.376,2.97
diff --git a/Demo Data/12t Demo/Declaration/ACEA_UrbanDelivery_AuxDemo.vdri b/Demo Data/12t Demo/Declaration/ACEA_UrbanDelivery_AuxDemo.vdri
index 6afc0cc1e5..df9f0f8ae0 100644
--- a/Demo Data/12t Demo/Declaration/ACEA_UrbanDelivery_AuxDemo.vdri	
+++ b/Demo Data/12t Demo/Declaration/ACEA_UrbanDelivery_AuxDemo.vdri	
@@ -27816,4 +27816,4 @@ c [m],[km/h],[%],[s],[kW],[kW],[kW]
 27813,51,0.450840618,0,0.5,2.376,2.97
 27814,51,0.450840618,0,0.5,2.376,2.97
 27815,51,0.450840618,0,0.5,2.376,2.97
-27816,0,0.450840618,0,0.5,2.376,2.97
+27816,0,0.450840618,2,0.5,2.376,2.97
diff --git a/Demo Data/12t Demo/Declaration/Demo.vacc b/Demo Data/12t Demo/Declaration/Demo.vacc
deleted file mode 100644
index 02699b0a38..0000000000
--- a/Demo Data/12t Demo/Declaration/Demo.vacc	
+++ /dev/null
@@ -1,13 +0,0 @@
-c v,a_desmax,a_brake
-c [km/h],[m/s²],[m/s²]
-0,4,-0.49
-10,3.625,-0.985299321
-20,3.25,-1.007016046
-30,2.875,-0.973245282
-40,2.5,-0.898828018
-50,2.4,-0.845186182
-60,2.3,-0.782065661
-70,2.2,-0.700634022
-80,2.1,-0.62182988
-90,2,-0.554912104
-100,2,-0.49
diff --git a/Demo Data/12t Demo/Declaration/Demo_Declaration.vecto b/Demo Data/12t Demo/Declaration/Demo_Declaration.vecto
index 775f7b3687..31705a4b5a 100644
--- a/Demo Data/12t Demo/Declaration/Demo_Declaration.vecto	
+++ b/Demo Data/12t Demo/Declaration/Demo_Declaration.vecto	
@@ -1,6 +1,6 @@
 c VECTO Input File
-c VECTO 1.3
-c 02.05.2013 09:11:10
+c VECTO 1.4 RC1
+c 04.09.2013 14:05:57
 c Vehicle (.vveh):
 Demo_VehicleDeclaration.vveh
 c Engine (.veng):
@@ -17,7 +17,7 @@ ALT,Alternator,..\Demo_AuxAlternator.vaux
 DEMO,Demo,..\Demo_AuxDevice.vaux
 <//>
 c Speed Dependent Desired Acceleration and Braking (.vacc)
-Demo.vacc
+..\..\..\Default Data\VACC\Truck.vacc
 c Engine Only Mode (1/0)
 0
 c ICE Auto-Start/Stop (1/0) - Non HEV only
@@ -42,3 +42,5 @@ c Allowed UnderSpeed [km/h]
 5
 c Minimum target speed for Look-Ahead with Coasting [km/h]
 50
+c Start/Stop activation delay time [s]
+0
diff --git a/Demo Data/12t Demo/Declaration/Demo_VehicleDeclaration.vveh b/Demo Data/12t Demo/Declaration/Demo_VehicleDeclaration.vveh
index 040f307f9c..0456dd030c 100644
--- a/Demo Data/12t Demo/Declaration/Demo_VehicleDeclaration.vveh	
+++ b/Demo Data/12t Demo/Declaration/Demo_VehicleDeclaration.vveh	
@@ -1,6 +1,6 @@
 c VECTO Vehicle Input File
-c VECTO 1.0 Beta 1
-c 23.10.2012 17:36:07
+c VECTO 1.4 RC1
+c 04.09.2013 14:05:37
 c Curb weight vehicle [kg]
 7750
 c Curb weight extra trailer/body [kg]
@@ -11,12 +11,12 @@ c Cd value [-]
 0.6
 c Cross sectional area [m^2]
 8.8
-c Wheels equivalent rotational inertia [kg] (= I_wheel/rdyn^2)
+c Wheels inertia [kgm^2]
 216
 c Wheel effective diameter [m]
 0.849
 c Cd Mode, Input File
-1,Demo_CrosswindCorrection.vcdv
+1,..\..\..\Default Data\VCDV\Truck.vcdv
 c Retarder Type (0=None, 1=Primary, 2=Secondary)
 0
 c Retarder Ratio
@@ -24,6 +24,7 @@ c Retarder Ratio
 c Retarder File
 <NOFILE>
 c Axle configurations
+c Max. axle weight [kg], RRC [N/N]
 6000,0.009
 6000,0.009
 <//>
diff --git a/Demo Data/12t Demo/Demo_Engine.veng b/Demo Data/12t Demo/Demo_Engine.veng
index d6baa5cd6c..3356ba7b12 100644
--- a/Demo Data/12t Demo/Demo_Engine.veng	
+++ b/Demo Data/12t Demo/Demo_Engine.veng	
@@ -1,6 +1,6 @@
 c VECTO Engine Input File
-c VECTO 1.0 Beta 1
-c 23.10.2012 18:02:37
+c VECTO 1.4 RC1
+c 04.09.2013 14:06:31
 c Make & Model
 Demo Engine
 c Rated power [kW]
@@ -13,8 +13,9 @@ c Idling speed [rpm]
 600
 c Inertia [kgm2]
 2.8
-c Full load curve
-Demo_EngineFullload.vfld
+c Full load curves
+Demo_EngineFullload.vfld,0 - 99
+<//>
 c Fuel map
 Demo_EngineFcmap.vmap
 c WHTC test results
diff --git a/Demo Data/12t Demo/Demo_Gearbox.vgbx b/Demo Data/12t Demo/Demo_Gearbox.vgbx
index 3a63ee4b5d..00a69d2078 100644
--- a/Demo Data/12t Demo/Demo_Gearbox.vgbx	
+++ b/Demo Data/12t Demo/Demo_Gearbox.vgbx	
@@ -1,47 +1,29 @@
 c VECTO Gearbox Input File
-c VECTO 1.1 beta 3
-c 21.03.2013 09:49:47
+c VECTO 1.4 RC1
+c 04.09.2013 14:06:29
 c Make & Model
 Demo
 c Gearbox rotational inertia [kgm2]
 0
 c Traction Interruption
 1
-c Ratio [-], Loss Map or Efficiency
+c Gears (0=axle)
+c Ratio [-], Loss Map or Efficiency, Is TC gear
 c Gear 0
-4.3,0.96
+4.3,0.96,0
 c Gear 1
-6.696,0.96
+6.696,0.96,0
 c Gear 2
-3.806,0.96
+3.806,0.96,0
 c Gear 3
-2.289,0.96
+2.289,0.96,0
 c Gear 4
-1.48,0.96
+1.48,0.96,0
 c Gear 5
-1,0.98
+1,0.98,0
 c Gear 6
-0.728,0.96
-c Gear 7
-0,<NOFILE>
-c Gear 8
-0,<NOFILE>
-c Gear 9
-0,<NOFILE>
-c Gear 10
-0,<NOFILE>
-c Gear 11
-0,<NOFILE>
-c Gear 12
-0,<NOFILE>
-c Gear 13
-0,<NOFILE>
-c Gear 14
-0,<NOFILE>
-c Gear 15
-0,<NOFILE>
-c Gear 16
-0,<NOFILE>
+0.728,0.96,0
+<//>
 c Gear shift polygons file
 ShiftPolygons.vgbs
 c Torque Reserve [%]
diff --git a/Demo Data/12t Demo/ProofOfConcept/Demo_ChassisDyno.vecto b/Demo Data/12t Demo/ProofOfConcept/Demo_ChassisDyno.vecto
index cf632cf7ce..7f049cd0d3 100644
--- a/Demo Data/12t Demo/ProofOfConcept/Demo_ChassisDyno.vecto	
+++ b/Demo Data/12t Demo/ProofOfConcept/Demo_ChassisDyno.vecto	
@@ -1,6 +1,6 @@
 c VECTO Input File
-c VECTO 1.3
-c 30.04.2013 16:49:03
+c VECTO 1.4 RC1
+c 04.09.2013 14:06:18
 c Vehicle (.vveh):
 Demo_Vehicle_ChassisDyno.vveh
 c Engine (.veng):
@@ -41,3 +41,5 @@ c Allowed UnderSpeed [km/h]
 0
 c Minimum target speed for Look-Ahead with Coasting [km/h]
 50
+c Start/Stop activation delay time [s]
+0
diff --git a/Demo Data/12t Demo/ProofOfConcept/Demo_TestTrackCycle.vecto b/Demo Data/12t Demo/ProofOfConcept/Demo_TestTrackCycle.vecto
index 2b0049b313..0b1feb5a39 100644
--- a/Demo Data/12t Demo/ProofOfConcept/Demo_TestTrackCycle.vecto	
+++ b/Demo Data/12t Demo/ProofOfConcept/Demo_TestTrackCycle.vecto	
@@ -1,6 +1,6 @@
 c VECTO Input File
-c VECTO 1.3
-c 30.04.2013 14:52:04
+c VECTO 1.4 RC1
+c 04.09.2013 14:06:33
 c Vehicle (.vveh):
 Demo_Vehicle_TestTrack.vveh
 c Engine (.veng):
@@ -39,3 +39,5 @@ c Allowed UnderSpeed [km/h]
 0
 c Minimum target speed for Look-Ahead with Coasting [km/h]
 50
+c Start/Stop activation delay time [s]
+0
diff --git a/Demo Data/12t Demo/ProofOfConcept/Dummy.vacc b/Demo Data/12t Demo/ProofOfConcept/Dummy.vacc
index 4d9642b8d0..cb8174bab8 100644
--- a/Demo Data/12t Demo/ProofOfConcept/Dummy.vacc	
+++ b/Demo Data/12t Demo/ProofOfConcept/Dummy.vacc	
@@ -1,4 +1,4 @@
 c v,a_desmax,a_brake
 c [km/h],[m/s²],[m/s²]
-0,10,-10
-1000,10,-10
\ No newline at end of file
+0,100,-100
+1000,100,-100
\ No newline at end of file
diff --git a/Demo Data/40t Demo/Demo_CrosswindCorrection.vcdv b/Demo Data/40t Demo/Demo_CrosswindCorrection.vcdv
deleted file mode 100644
index 22cb214f24..0000000000
--- a/Demo Data/40t Demo/Demo_CrosswindCorrection.vcdv	
+++ /dev/null
@@ -1,26 +0,0 @@
-c Demo data
-c Cross-wind sensitivity for rigid vehicle (Mitschke)
-c average cross wind: 3m/s
-c v_veh,cdx_rel
-c [km/h],[-]
-0,1.09879105165478
-5,1.09879105165478
-10,1.09879105165478
-15,1.09879105165478
-20,1.09879105165478
-25,1.09879105165478
-30,1.09879105165478
-35,1.09879105165478
-40,1.09879105165478
-45,1.09879105165478
-50,1.09879105165478
-55,1.09879105165478
-60,1.09879105165478
-65,1.08880328691127
-70,1.08053379303156
-75,1.07361197884146
-80,1.06774118921044
-85,1.0627044915251
-90,1.05833988168619
-95,1.05452412535638
-100,1.05116194011008
diff --git a/Demo Data/40t Demo/VehClass5_40t.veng b/Demo Data/40t Demo/VehClass5_40t.veng
index fd7b1a9828..c247e96dd7 100644
--- a/Demo Data/40t Demo/VehClass5_40t.veng	
+++ b/Demo Data/40t Demo/VehClass5_40t.veng	
@@ -1,6 +1,6 @@
 c VECTO Engine Input File
-c VECTO 1.2
-c 23.04.2013 14:06:21
+c VECTO 1.4 RC1
+c 04.09.2013 14:06:37
 c Make & Model
 Demo engine
 c Rated power [kW]
@@ -13,8 +13,9 @@ c Idling speed [rpm]
 620
 c Inertia [kgm2]
 3.8
-c Full load curve
-VehClass5_40t.vfld
+c Full load curves
+VehClass5_40t.vfld,0 - 99
+<//>
 c Fuel map
 VehClass5_40t.vmap
 c WHTC test results
diff --git a/Demo Data/40t Demo/VehClass5_40t.vgbx b/Demo Data/40t Demo/VehClass5_40t.vgbx
index 1a1d13dc85..097ff0a2b6 100644
--- a/Demo Data/40t Demo/VehClass5_40t.vgbx	
+++ b/Demo Data/40t Demo/VehClass5_40t.vgbx	
@@ -1,47 +1,41 @@
 c VECTO Gearbox Input File
-c VECTO 1.2
-c 23.04.2013 13:55:37
+c VECTO 1.4 RC1
+c 04.09.2013 14:06:39
 c Make & Model
 Demo Gearbox Long Haul
 c Gearbox rotational inertia [kgm2]
 0
 c Traction Interruption
 0.8
-c Ratio [-], Loss Map or Efficiency
+c Gears (0=axle)
+c Ratio [-], Loss Map or Efficiency, Is TC gear
 c Gear 0
-3.066,0.97
+3.066,0.97,0
 c Gear 1
-14.93,0.96
+14.93,0.96,0
 c Gear 2
-11.64,0.96
+11.64,0.96,0
 c Gear 3
-9.02,0.96
+9.02,0.96,0
 c Gear 4
-7.04,0.96
+7.04,0.96,0
 c Gear 5
-5.64,0.96
+5.64,0.96,0
 c Gear 6
-4.4,0.96
+4.4,0.96,0
 c Gear 7
-3.39,0.96
+3.39,0.96,0
 c Gear 8
-2.65,0.96
+2.65,0.96,0
 c Gear 9
-2.05,0.96
+2.05,0.96,0
 c Gear 10
-1.6,0.96
+1.6,0.96,0
 c Gear 11
-1.28,0.96
+1.28,0.96,0
 c Gear 12
-1,0.98
-c Gear 13
-0,<NOFILE>
-c Gear 14
-0,<NOFILE>
-c Gear 15
-0,<NOFILE>
-c Gear 16
-0,<NOFILE>
+1,0.98,0
+<//>
 c Gear shift polygons file
 VehClass5_40t.vgbs
 c Torque Reserve [%]
diff --git a/Demo Data/40t Demo/VehClass5_40t.vveh b/Demo Data/40t Demo/VehClass5_40t.vveh
index af6e268e91..f10e472cf9 100644
--- a/Demo Data/40t Demo/VehClass5_40t.vveh	
+++ b/Demo Data/40t Demo/VehClass5_40t.vveh	
@@ -1,6 +1,6 @@
 c VECTO Vehicle Input File
-c VECTO 1.2
-c 23.04.2013 14:06:11
+c VECTO 1.4 RC1
+c 04.09.2013 14:13:21
 c Curb weight vehicle [kg]
 14000
 c Curb weight extra trailer/body [kg]
@@ -16,7 +16,7 @@ c Wheels inertia [kgm^2]
 c Wheel effective diameter [m]
 0.975
 c Cd Mode, Input File
-1,Demo_CrosswindCorrection.vcdv
+1,..\..\Default Data\VCDV\Truck.vcdv
 c Retarder Type (0=None, 1=Primary, 2=Secondary)
 0
 c Retarder Ratio
diff --git a/Demo Data/40t Demo/VehClass5_40t_LongHaul.vecto b/Demo Data/40t Demo/VehClass5_40t_LongHaul.vecto
index a700f6d0c0..0ddead0a51 100644
--- a/Demo Data/40t Demo/VehClass5_40t_LongHaul.vecto	
+++ b/Demo Data/40t Demo/VehClass5_40t_LongHaul.vecto	
@@ -1,6 +1,6 @@
 c VECTO Input File
-c VECTO 1.3
-c 30.04.2013 16:49:20
+c VECTO 1.4 RC1
+c 04.09.2013 14:12:01
 c Vehicle (.vveh):
 VehClass5_40t.vveh
 c Engine (.veng):
@@ -14,7 +14,7 @@ c Auxiliaries (.vaux)
 ALT,Alternator,Demo_AuxAlternator.vaux
 <//>
 c Speed Dependent Desired Acceleration and Braking (.vacc)
-Truck_Default.vacc
+..\..\Default Data\VACC\Truck.vacc
 c Engine Only Mode (1/0)
 0
 c ICE Auto-Start/Stop (1/0) - Non HEV only
@@ -39,3 +39,5 @@ c Allowed UnderSpeed [km/h]
 0
 c Minimum target speed for Look-Ahead with Coasting [km/h]
 50
+c Start/Stop activation delay time [s]
+0
diff --git a/Demo Data/Cycles/20120815_acea_long_haul_1m_DemoAux.vdri b/Demo Data/Cycles/20120815_acea_long_haul_1m_DemoAux.vdri
index ec771025d4..9ae33518ed 100644
--- a/Demo Data/Cycles/20120815_acea_long_haul_1m_DemoAux.vdri	
+++ b/Demo Data/Cycles/20120815_acea_long_haul_1m_DemoAux.vdri	
@@ -1,6 +1,6 @@
 <s>,<v>,<grad>,<stop>,<Aux_Alt>,<Padd>
 c [m],[km/h],[%],[s],[kW],[kW]
-0,0,2.95016969,0,0.5,1.3
+0,0,2.95016969,2,0.5,1.3
 1,60,2.95016969,0,0.5,1.3
 2,60,2.95016969,0,0.5,1.3
 3,60,2.95016969,0,0.5,1.3
@@ -108191,4 +108191,4 @@ c [m],[km/h],[%],[s],[kW],[kW]
 108188,60,-2.982225506,0,0.5,1.3
 108189,60,-2.982225506,0,0.5,1.3
 108190,60,-2.982225506,0,0.5,1.3
-108191,0,-2.982225506,0,0.5,1.3
+108191,0,-2.982225506,2,0.5,1.3
diff --git a/User Manual Source/Update Notes.pptx b/User Manual Source/Update Notes.pptx
index c6e41166443fc97810a29e340df9235839273d9d..8ea1319541c6d8a9cbd9878db111f851453d9ff4 100644
GIT binary patch
delta 64122
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
YZ<P<EZIPZigTwbwiaUj`qF@>S3)h}RhX4Qo

delta 62994
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

diff --git a/VECTO/ADVANCE/cADV.vb b/VECTO/ADVANCE/cADV.vb
deleted file mode 100644
index 5098ac7718..0000000000
--- a/VECTO/ADVANCE/cADV.vb
+++ /dev/null
@@ -1,216 +0,0 @@
-Imports System.Collections.Generic
-
-Public Class cADV
-
-    Private sFilePath As String
-
-    Private MyPath As String
-
-    Private fFZPpath As cSubPath
-    Private fFLTpath As cSubPath
-    Private fTEMpath As cSubPath
-    Private fSTRpaths As List(Of cSubPath)
-    Public SD3out As Boolean
-    Public STRfilter As Boolean
-    Public STRSUMdistflt As Single
-    Public RndSeed As Short
-
-
-    Public Sub New()
-
-        sFilePath = ""
-        MyPath = ""
-
-        fFZPpath = New cSubPath
-        fFLTpath = New cSubPath
-        fTEMpath = New cSubPath
-        fSTRpaths = New List(Of cSubPath)
-
-    End Sub
-
-    Public Function ReadFile() As Boolean
-        Dim file As cFile_V3
-        Dim SubPath As cSubPath
-
-        If sFilePath = "" Then Return False
-        If Not IO.File.Exists(sFilePath) Then Return False
-
-        file = New cFile_V3
-
-        SetDefault()
-
-        If Not file.OpenRead(sFilePath) Then
-            file = Nothing
-            Return False
-        End If
-
-
-        fFZPpath.Init(MyPath, file.ReadLine(0))
-
-        fFLTpath.Init(MyPath, file.ReadLine(0))
-
-        fTEMpath.Init(MyPath, file.ReadLine(0))
-
-        RndSeed = CShort(file.ReadLine(0))
-
-        SD3out = CBool(file.ReadLine(0))
-
-        STRfilter = CBool(file.ReadLine(0))
-
-        STRSUMdistflt = CSng(file.ReadLine(0))
-
-        Do While Not file.EndOfFile
-            SubPath = New cSubPath
-            SubPath.Init(MyPath, file.ReadLine(0))
-            fSTRpaths.Add(SubPath)
-        Loop
-
-
-lbClose:
-
-        file.Close()
-        file = Nothing
-
-        Return True
-
-    End Function
-
-    Public Function SaveFile() As Boolean
-        Dim fADV As New cFile_V3
-        Dim SubPath As cSubPath
-
-        If Not fADV.OpenWrite(sFilePath) Then Return False
-
-        'Line 1: FZP file
-        fADV.WriteLine(fFZPpath.PathOrDummy)
-
-        'Line 2: FLT file
-        fADV.WriteLine(fFLTpath.PathOrDummy)
-
-        'Line 3: TEM file
-        fADV.WriteLine(fTEMpath.PathOrDummy)
-
-        'Line 4: RndSeed
-        fADV.WriteLine(RndSeed.ToString)
-
-        'Line 5: MISKAMout True/False|
-        fADV.WriteLine(Math.Abs(CInt(SD3out)))
-
-        'Line 6: STRfilter True/False
-        fADV.WriteLine(Math.Abs(CInt(STRfilter)))
-
-        'Line 7: Distance filters for SUM.STR
-        fADV.WriteLine(STRSUMdistflt.ToString)
-
-        'Line 8 +: STR files
-        For Each SubPath In fSTRpaths
-            fADV.WriteLine(SubPath.PathOrDummy)
-        Next
-
-        fADV.Close()
-        fADV = Nothing
-
-        Return True
-
-    End Function
-
-    Private Sub SetDefault()
-
-        SD3out = False
-        STRfilter = False
-        STRSUMdistflt = 85
-        RndSeed = 0
-
-        STRpathsClear()
-
-    End Sub
-
-    Public Property FilePath() As String
-        Get
-            Return sFilePath
-        End Get
-        Set(ByVal value As String)
-            sFilePath = value
-            MyPath = IO.Path.GetDirectoryName(sFilePath) & "\"
-        End Set
-    End Property
-
-    Public Property FZPpath(Optional ByVal Original As Boolean = False) As String
-        Get
-            If Original Then
-                Return fFZPpath.OriginalPath
-            Else
-                Return fFZPpath.FullPath
-            End If
-        End Get
-        Set(ByVal value As String)
-            fFZPpath.Init(MyPath, value)
-        End Set
-    End Property
-
-    Public Property FLTpath(Optional ByVal Original As Boolean = False) As String
-        Get
-            If Original Then
-                Return fFLTpath.OriginalPath
-            Else
-                Return fFLTpath.FullPath
-            End If
-        End Get
-        Set(ByVal value As String)
-            fFLTpath.Init(MyPath, value)
-        End Set
-    End Property
-
-    Public Property TEMpath(Optional ByVal Original As Boolean = False) As String
-        Get
-            If Original Then
-                Return fTEMpath.OriginalPath
-            Else
-                Return fTEMpath.FullPath
-            End If
-        End Get
-        Set(ByVal value As String)
-            fTEMpath.Init(MyPath, value)
-        End Set
-    End Property
-
-#Region "STR-Dateien"
-    Public ReadOnly Property STRpaths(ByVal index As Short, Optional ByVal Original As Boolean = False) As String
-        Get
-            If Original Then
-                Return fSTRpaths(index).OriginalPath
-            Else
-                Return fSTRpaths(index).FullPath
-            End If
-        End Get
-    End Property
-
-    Public Sub STRpathsAdd(ByVal path As String)
-        Dim SubPath As cSubPath
-
-        SubPath = New cSubPath
-
-        SubPath.Init(MyPath, path)
-
-        fSTRpaths.Add(SubPath)
-
-    End Sub
-
-    Public Sub STRpathsClear()
-        fSTRpaths.Clear()
-    End Sub
-
-    Public ReadOnly Property STRcount As Integer
-        Get
-            Return fSTRpaths.Count
-        End Get
-    End Property
-
-#End Region
-
-
-
-
-
-
-End Class
diff --git a/VECTO/ADVANCE/cADVANCE.vb b/VECTO/ADVANCE/cADVANCE.vb
deleted file mode 100644
index 7b03cbaf3b..0000000000
--- a/VECTO/ADVANCE/cADVANCE.vb
+++ /dev/null
@@ -1,2437 +0,0 @@
-Imports System.Collections.Generic
-
-Public Class cADVANCE_V3
-
-    Public FadvSUM As System.IO.StreamWriter
-    Public RndSeed As Int16
-    Public MISKAMout As Boolean
-
-    Public ADVANCEdone As Boolean
-
-    'TEM (TODO)
-    Public ADVkalt As Boolean
-    Public ADVtkw As Single
-    Public ADVtkat As Single
-    Public vtumg As Single
-
-    'ADV
-    Private FLTpath As String
-    Private TEMpath As String
-    Private STRfilter As Boolean
-    Private STRroute As Boolean
-
-    'FLT-Collection
-    Private FLTfleet As Dictionary(Of String, cFLTfleet)
-
-    Public iadvance As Integer
-    Public aVehNr As Int32
-    Public aVehType As String
-    Public aWorldX As List(Of Single)
-    Public aWorldY As List(Of Single)
-    Public aStrId As List(Of Int32)
-
-
-    Private EMlist As List(Of String)
-    Private EMdim As Integer
-
-    Private AusgVisInit As Boolean
-
-
-#Region "FZP Variablen"
-    Private FZPpath As String
-    Private FZPlen As Int32
-    Private FZPsortPath As String
-    Private vt() As Int32       '<< Bei Int16: musste Sim-Zeit unter 32767s (~9h) sein => Bei Kreisverkehr-Projekt zu wenig!
-    Private t0 As Int32
-    Private vX() As Single
-    Private vY() As Single
-    Private vNr() As Int32      '<< Int16 zu klein (EkoZara: vNr's bis ~ 48000). Möglich wäre allerdings Int16 von -32767 bis +32767 verwenden d.h. Max = 65534
-    Private vNrSub() As Int16   '<< Evtl. weghaun...?
-    Private vVm() As Single
-    Private vStg() As Single
-    Private vID() As Int16
-    Private vSID() As Int32     '<< Int16 zu klein. (Int16 mit negativem Bereich (2*32767) wahrscheinlich auch noch zu klein)
-    Private FZProwT As Int16 = 0
-    Private FZProwWeltX As Int16 = 1
-    Private FZProwWeltY As Int16 = 2
-    Private FZProwFzNr As Int16 = 3
-    Private FZProwV As Int16 = 4
-    Private FZProwSteig As Int16 = 5
-    Private FZProwTyp As Int16 = 6
-    Private FZProwStr As Int16 = 7
-#End Region
-
-#Region "STR Variablen"
-
-    Private sSIDdim As Int16
-    Private STRpaths As List(Of String)     'Liste der STR-Dateien
-    Private sSIDlist As List(Of Int32)      'Streckennummer-Liste, aufsteigend sortiert, keine Duplikate
-    Private sSIDfiles As List(Of Int32)     'Dateinummern, gleich sortiert wie sSIDlist
-
-    'Felder für Streckennummer, Spur und Koordinaten für alle STR-Dateien  |@@| Fields for Route-number, Track and Coordinates for all STR files
-    Private STRlen As Int32
-    Private sStr As List(Of Int32)
-    Private sSp As List(Of Int16)
-    Private sSegAnX As List(Of Single)
-    Private sSegEnX As List(Of Single)
-    Private sSegAnY As List(Of Single)
-    Private sSegEnY As List(Of Single)
-
-    'STR.SUM
-    Private STRerg As List(Of cSTRerg)
-    Private STRdistTol As Single
-
-
-#End Region
-
-#Region "SD3 Variablen"
-    Private SD3path As String
-    Private sFC() As Single
-    Private sNOx() As Single
-    Private sCO() As Single
-    Private sHC() As Single
-    Private sPM() As Single
-    Private sBe() As Single
-    Private sRu() As Single
-    Private sSO2() As Single
-    Private ala() As Single
-    Private vDTV() As Single
-    Private ALKW() As Single
-#End Region
-
-
-    'Calculation
-    Private zFZP As Int32           'Globale FZP-Zeile
-    Private LastGen As String       'Letzte .gen-Datei
-    Private VehStrAlt As String     'VehStr = Fahrzeug ID: bestehend aus Fahrzeugnummer (aus VISSIM) und SubNr um Zeitlücken zu korrigieren
-    Private vNrAlt As Int32
-    Private fzpL10 As Int32
-    Private fzpL As Int32
-
-    Private SUMpath As String
-
-    'ADVANCE initialization
-    Public Function ADVANCE_V2_Init() As Boolean
-
-        Dim msgtext As String
-        Dim FZPs As Boolean
-        Dim MsgSrc As String
-
-        MsgSrc = "ADV/Init"
-
-        AusgVisInit = False
-        ADVANCEdone = False
-        FZPs = Cfg.FZPsort
-
-        'Read ADV-File
-        If Not ADVread() Then Return False
-
-        'Check whether FLT is available
-        If Not IO.File.Exists(FLTpath) Then
-            WorkerMsg(tMsgID.Err, "Fleet composition file not found! (" & FLTpath & ")", MsgSrc)
-            Return False
-        End If
-
-        'Check whether FZP is sorted
-        If FZPs And Cfg.FZPsortExp Then
-            If STRfilter Then
-                FZPsortPath = IO.Path.GetDirectoryName(FZPpath) & "\" & IO.Path.GetFileNameWithoutExtension(FZPpath) & "_" & IO.Path.GetFileNameWithoutExtension(STRpaths(0)) & ".sfzp"
-            Else
-                FZPsortPath = IO.Path.GetDirectoryName(FZPpath) & "\" & IO.Path.GetFileNameWithoutExtension(FZPpath) & ".sorted" & fEXT(FZPpath)
-            End If
-            If IO.File.Exists(FZPsortPath) Then
-                msgtext = "File '" & IO.Path.GetFileName(FZPsortPath).ToString & "' already exists!"
-                Select Case F_ADVfzp.Answer(msgtext)
-                    Case 0
-                        WorkerMsg(tMsgID.Warn, "New Traffic Data path: " & FZPsortPath, MsgSrc)
-                        WorkerMsg(tMsgID.Warn, "Traffic Data Sort/Export temporarily disabled.", MsgSrc)
-                        FZPpath = FZPsortPath
-                        FZPs = False
-                    Case 1
-                        'GO!
-                    Case 2
-                        ADVANCEdone = True
-                        Return True
-                End Select
-            End If
-        End If
-
-        'FLT einlesen (muss vor STR sein wegen cSTRerg) |@@| Read FLT  (must be done before STR because of cSTRerg)
-        If Not FLTread() Then Return False
-
-        If Not FLTcheck() Then Return False
-
-        'Create EMlist
-        EMlist = New List(Of String)
-
-        If EVcheck() Then
-            EMlist.Add("\\EC")
-        Else
-            EMlist.Add(sKey.MAP.FC)
-            EMlist.Add(sKey.MAP.NOx)
-            EMlist.Add(sKey.MAP.CO)
-            EMlist.Add(sKey.MAP.HC)
-            EMlist.Add(sKey.MAP.PM)
-            EMlist.Add(sKey.MAP.PN)
-            EMlist.Add(sKey.MAP.NO)
-        End If
-
-        EMdim = EMlist.Count - 1
-
-
-
-        'STR read
-        If STRfilter Then
-
-            If Not STRread() Then Return False
-
-            SD3path = fFileWoExt(JobFile) & ".sd3"        'fPATH(JobFile) & fFILE(JobFile, False) & ".sd3"
-            If MISKAMout Then
-                ReDim sFC(STRlen)
-                ReDim sNOx(STRlen)
-                ReDim sCO(STRlen)
-                ReDim sHC(STRlen)
-                ReDim sPM(STRlen)
-                ReDim sBe(STRlen)
-                ReDim sRu(STRlen)
-                ReDim sSO2(STRlen)
-                ReDim ala(STRlen)
-                ReDim vDTV(STRlen)
-                ReDim ALKW(STRlen)
-            End If
-        End If
-
-        'Create Lists
-        aWorldX = New List(Of Single)
-        aWorldY = New List(Of Single)
-        aStrId = New List(Of Int32)
-
-        'Read FZP
-        If Not FZPread() Then Return False
-        If PHEMworker.CancellationPending Then Return True
-
-        'FZP sort (and export)
-        If FZPs Then
-            ProgBarCtrl.ProgJobInt = 0
-            FZPsortieren()
-            If Cfg.FZPsortExp Then
-                If Not FZPexport() Then Return False
-            End If
-            If PHEMworker.CancellationPending Then Return True
-        End If
-
-        'FZP Check
-        FZPcheck()
-
-        'TEM (TODO)
-        ADVkalt = False
-
-        'Random-Init
-        Rnd(-1)
-        Randomize(RndSeed)
-
-        'For Output-Vis
-        iadvance = FZPlen
-
-        'Dump-initialization
-
-        '   Filename
-        SUMpath = fFileWoExt(JobFile) & ".vehicle.sum"  'fPATH(JobFile) & fFILE(JobFile, False) & ".sum"
-
-        ' Dump Modal
-        If Cfg.ModOut Then
-            If Not AusgMOD_Init() Then Return False
-        End If
-
-        'Start-values
-        zFZP = 0
-        VehStrAlt = vNr(1) & "_" & vNrSub(1)
-        vNrAlt = -1
-        LastGen = ""
-        fzpL10 = Math.Max(FZPlen / 100, 1000)
-        fzpL = 0
-        ProgBarCtrl.ProgJobInt = 0
-        WorkerMsg(tMsgID.Normal, "Calculation running... ", MsgSrc)
-
-        Return True
-
-    End Function
-
-    'ADVANCE memory release
-    Public Sub ADVANCE_V2_Close()
-        Dim MsgSrc As String
-
-        MsgSrc = "ADV/Close"
-
-        ProgBarCtrl.ProgJobInt = 0
-
-        WorkerMsg(tMsgID.Normal, "Finalizing... ", MsgSrc)
-
-        'Dump
-        AusgVis_V3_Close()
-
-        'Free memory
-        vt = Nothing      'ReDim vt(-1)
-        vX = Nothing
-        vY = Nothing
-        vNr = Nothing
-        vNrSub = Nothing
-        vVm = Nothing
-        vStg = Nothing
-        vID = Nothing
-        vSID = Nothing
-        sStr = Nothing
-        sSIDlist = Nothing
-        sSIDfiles = Nothing
-        sSp = Nothing
-        sSegAnX = Nothing
-        sSegEnX = Nothing
-        sSegAnY = Nothing
-        sSegEnY = Nothing
-        'ReDim vX(-1)
-        'ReDim vY(-1)
-        'ReDim vNr(-1)
-        'ReDim vNrSub(-1)
-        'ReDim vVm(-1)
-        'ReDim vStg(-1)
-        'ReDim vID(-1)
-        'ReDim vSID(-1)
-        'ReDim sStr(-1)
-        'ReDim sSIDlist(-1)
-        'ReDim sSp(-1)
-        'ReDim sSegAnX(-1)
-        'ReDim sSegEnX(-1)
-        'ReDim sSegAnY(-1)
-        'ReDim sSegEnY(-1)
-        FLTfleet = Nothing 'ReDim FLTfleet(-1)
-        If MISKAMout Then
-            sFC = Nothing
-            sNOx = Nothing
-            sCO = Nothing
-            sHC = Nothing
-            sPM = Nothing
-            sBe = Nothing
-            sRu = Nothing
-            sSO2 = Nothing
-            ala = Nothing
-            vDTV = Nothing
-            ALKW = Nothing
-            'ReDim sFC(-1)
-            'ReDim sNOx(-1)
-            'ReDim sCO(-1)
-            'ReDim sHC(-1)
-            'ReDim sPM(-1)
-            'ReDim sBe(-1)
-            'ReDim sRu(-1)
-            'ReDim sSO2(-1)
-            'ReDim ala(-1)
-            'ReDim vDTV(-1)
-            'ReDim ALKW(-1)
-        End If
-        iadvance = 0
-
-        'Delete Lists
-        aWorldX = Nothing
-        aWorldY = Nothing
-        aStrId = Nothing
-
-        AusgVisInit = False
-
-        'Garbage Collection - Soll "System Out of Memory" Exception verhindern (tut's aber nicht!) |@@| Garbage Collection - If "System Out of Memory" Exception prevents it (but does not do it!)
-        GC.Collect()
-
-
-    End Sub
-
-    'ADVANCE Vehicle calculation
-    Public Function ADVANCE_V2_Next() As Boolean
-
-        Dim VehStr As String
-        Dim vNrAkt As Int32
-        Dim vIDi As Int16
-        Dim z As Int32
-        Dim vList As System.Collections.Generic.List(Of Double)
-        Dim stgList As System.Collections.Generic.List(Of Double)
-        Dim MsgSrc As String
-
-        MsgSrc = "ADV"
-
-lbStart:
-
-        'Check whether finished
-        If zFZP = FZPlen Then
-            ADVANCEdone = True
-            WorkerMsg(tMsgID.Normal, "Calculation done", MsgSrc)
-            Return True
-        End If
-
-        'Initialize Cycle-class
-        DRI = New cDRI
-        DRI.ADVinit()
-        vList = DRI.Values(tDriComp.V)
-        stgList = DRI.Values(tDriComp.Grad)
-
-        'Fahzeugnummer und Typ definieren (bleibt hier konstant) |@@| Vehicle-number and Type definition (here remains constant)
-        '   Old Vehicle is VehStrAlt, New is VehStr
-        vNrAkt = vNr(zFZP + 1)
-        vIDi = vID(zFZP + 1)
-        VehStr = vNr(zFZP + 1) & "_" & vNrSub(zFZP + 1)
-
-        'Create Lists
-        aWorldX.Clear()
-        aWorldY.Clear()
-        aStrId.Clear()
-
-        't0
-        DRI.t0 = vt(zFZP + 1)
-
-        'Define Fields for Vehicle-calculations
-        z = -1
-        Do
-            'Check whether it is a new Vehicle
-            If VehStr <> vNr(zFZP + 1) & "_" & vNrSub(zFZP + 1) Then Exit Do
-            z += 1
-            zFZP += 1
-
-            'General(Allgemeiner) Vehicle-Cycle
-            vList.Add(vVm(zFZP) / 3.6)
-            stgList.Add(vStg(zFZP))
-
-            'ADVANCE
-            '   Strecken-Auswertung (MISKAM) |@@| Road-Distance evaluation (MISKAM)
-            aWorldX.Add(vX(zFZP))
-            aWorldY.Add(vY(zFZP))
-            aStrId.Add(vSID(zFZP))
-
-            fzpL += 1
-            If fzpL = fzpL10 Then
-                ''StatusMSG(7, "Calculation running... " & CInt(zFZP / FZPlen * 100).ToString("00") & "%", False)
-                ProgBarCtrl.ProgJobInt = zFZP / FZPlen * 100
-                fzpL = 0
-            End If
-
-        Loop Until zFZP = FZPlen
-
-        '   Vehicle identification
-        aVehNr = vNrAkt
-        aVehType = CStr(vIDi)
-
-        'Check whether Cycle too short => skip
-        If z < 1 Then GoTo lbStart
-
-        'Increase number of Vehicles per each Type
-        FLTfleet(aVehType).VehCount += 1
-
-        DRI.tDim = z
-
-        'Check whethert last GEN-file to use is new, otherwise occupied(Belegung ) by FLT
-        If vNrAlt = vNrAkt Then
-            GenFile = LastGen
-        Else
-            Try
-                GenFile = FLTfleet(key:=CStr(vIDi)).GetGenFile
-                If GenFile = "" Then Return False
-            Catch ex As Exception
-                WorkerMsg(tMsgID.Err, vIDi & " is no valid vehicle type!", MsgSrc)
-                Return False
-            End Try
-        End If
-
-        'VehStr is now ALT
-        VehStrAlt = VehStr
-        vNrAlt = vNrAkt
-        LastGen = GenFile
-
-        Return True
-
-    End Function
-
-    'Section by section calculation
-    Public Sub STRcalc()
-        Dim t As Integer
-        Dim STR0 As Integer
-        Dim STR1 As Integer
-        Dim t0 As Integer
-        Dim dist0 As Double
-        Dim time0 As Single
-        Dim STRergRef As cSTRerg
-        Dim e As Integer
-        Dim EMsum() As Double
-
-        If Not STRfilter Then Exit Sub
-
-        STR0 = -1
-        t0 = -1
-        dist0 = 0
-        time0 = 0
-        ReDim EMsum(EMdim)
-
-        'Zyklus durchschleifen |@@| through Cycle-loop
-        For t = 0 To MODdata.tDim
-
-            'No. of STR-file
-            STR1 = getSTRfileNr(aStrId(t))
-
-            'If STR-No has changed:
-            '   Finish with Old STR-No.
-            If STR0 <> STR1 Then
-
-                If t0 > -1 Then ' STR0 > -1 Then
-
-                    STRergRef = STRerg(STR0)
-
-                    If dist0 >= STRdistTol * STRergRef.Distance Then
-
-                        'Distance (km driven)
-                        STRergRef.VehDist(aVehType) += dist0
-
-                        'Travel-Time in h
-                        STRergRef.VehTime(aVehType) += time0 / 3600
-
-                        'Vehicle(KFZ) No.
-                        STRergRef.VehCount(aVehType) += 1
-
-                        'Cumulative emissions
-                        For e = 0 To EMdim
-                            STRergRef.EMsum(aVehType)(e) += EMsum(e) / 3600
-                        Next
-
-                    End If
-
-                End If
-
-                t0 = t
-                STR0 = STR1
-                dist0 = 0
-                time0 = 0
-                For e = 0 To EMdim
-                    EMsum(e) = 0
-                Next
-
-            End If
-
-            'Add up
-            dist0 += MODdata.Vh.V(t) / 1000
-            time0 += 1
-            If GEN.VehMode = tVehMode.EV Then
-                EMsum(0) += MODdata.Px.PiBat(t)
-            Else
-                For e = 0 To EMdim
-                    EMsum(e) += Math.Max(MODdata.Em.EmComp(EMlist(e)).FinalVals(t), 0)
-                Next
-            End If
-
-
-        Next
-
-        'Last STR completed
-        If t0 > -1 Then
-
-            STRergRef = STRerg(STR0)
-
-            If dist0 >= STRdistTol * STRergRef.Distance Then
-
-                'Distance (km driven)
-                STRergRef.VehDist(aVehType) += dist0
-
-                'Time in h
-                STRergRef.VehTime(aVehType) += time0 / 3600
-
-                'Vehicle(KFZ) No.
-                STRergRef.VehCount(aVehType) += 1
-
-                'Cumulative emissions
-                For e = 0 To EMdim
-                    STRergRef.EMsum(aVehType)(e) += EMsum(e) / 3600
-                Next
-
-            End If
-
-        End If
-
-
-
-
-    End Sub
-
-    Private Function getSTRfileNr(ByVal SID As Integer) As Integer
-        Dim x As Integer
-        For x = 0 To sSIDdim
-            If sSIDlist(x) = SID Then Return sSIDfiles(x)
-        Next
-        Return -1
-    End Function
-
-    'Read FLT
-    Private Function FLTread() As Boolean
-
-        Dim fFLT As cFile_V3
-        Dim ArP() As Single
-        Dim ArGen() As String
-        Dim FLTdim As Int16
-        Dim IDstr As String
-        Dim lastIDstr As String
-        Dim ft As cFLTfleet
-        Dim lA As String()
-
-        Dim path0 As String
-        Dim MsgSrc As String
-
-        MsgSrc = "ADV/Init/FLTread"
-
-
-
-        WorkerMsg(tMsgID.Normal, "Reading FLT file...", MsgSrc)
-
-        fFLT = New cFile_V3
-        If Not fFLT.OpenRead(FLTpath) Then
-            WorkerMsg(tMsgID.Err, "Failed to open .flt file (" & FLTpath & ")", MsgSrc)
-            fFLT = Nothing
-            Return False
-        End If
-
-        ReDim ArP(999)
-        ReDim ArGen(999)
-        FLTfleet = New Dictionary(Of String, cFLTfleet)
-        lastIDstr = ""
-        path0 = fPATH(FLTpath)
-
-        Do While Not fFLT.EndOfFile
-            lA = fFLT.ReadLine
-            IDstr = Trim(lA(0))
-            If IDstr <> lastIDstr Then
-                If lastIDstr <> "" Then
-                    ft = New cFLTfleet(lastIDstr)
-                    If Not ft.Init(ArGen, ArP, FLTdim) Then Return False
-                    FLTfleet.Add(lastIDstr, ft)
-                End If
-                lastIDstr = IDstr
-                FLTdim = -1
-            End If
-            FLTdim += 1
-            ArGen(FLTdim) = fFileRepl(lA(1), path0)
-            ArP(FLTdim) = CSng(lA(2))
-        Loop
-        If lastIDstr <> "" Then
-            ft = New cFLTfleet(lastIDstr)
-            If Not ft.Init(ArGen, ArP, FLTdim) Then Return False
-            FLTfleet.Add(lastIDstr, ft)
-        End If
-        ft = Nothing
-
-        fFLT.Close()
-        fFLT = Nothing
-
-        ArP = Nothing
-        ArGen = Nothing
-        FLTdim = Nothing
-
-        Return True
-
-    End Function
-
-    Private Function FLTcheck() As Boolean
-        Dim FLTref As cFLTfleet
-        Dim check As Boolean
-
-        check = True
-
-        For Each FLTref In FLTfleet.Values
-            If Not FLTref.FileCheck() Then check = False
-        Next
-
-        Return check
-
-    End Function
-
-    Private Function EVcheck() As Boolean
-        Dim GEN0 As cGEN
-        Dim flt0 As cFLTfleet
-
-        GEN0 = New cGEN
-
-        For Each flt0 In FLTfleet.Values
-
-            GEN0.FilePath = flt0.GetGenFile
-
-            If Not GEN0.ReadFile Then Return False
-
-            Return (GEN0.VehMode = tVehMode.EV)
-
-        Next
-
-        Return False
-
-    End Function
-
-    'Read FZP
-    Private Function FZPread() As Boolean
-
-        Dim fReader As Microsoft.VisualBasic.FileIO.TextFieldParser
-        Dim f As System.IO.StreamReader
-        Dim l As Int32
-        Dim lc As Int32
-        Dim lc10 As Int32
-        Dim line() As String
-        Dim line0 As String
-        Dim ComDone As Boolean
-        Dim x As Int32
-        Dim LineSkip As Int16
-        Dim lastSID As Int32
-        Dim SIDisBad As Boolean
-        Dim s As Int32
-        Dim FZPlenOgl As Int32
-        Dim MsgSrc As String
-
-        MsgSrc = "ADV/Init/TFread"
-
-        If Not IO.File.Exists(FZPpath) Then
-            WorkerMsg(tMsgID.Err, "Traffic File not found (" & FZPpath & ")", MsgSrc)
-            Return False
-        End If
-
-        WorkerMsg(tMsgID.Normal, "Traffic File: Counting lines...", MsgSrc)
-
-
-        'Determine File-length
-        Try
-            f = New System.IO.StreamReader(FZPpath)
-        Catch ex As Exception
-            WorkerMsg(tMsgID.Err, "Cannot access Traffic File (" & FZPpath & ")", MsgSrc)
-            Return False
-        End Try
-
-        x = 0
-        LineSkip = 0
-        ComDone = False
-        Do While Not f.EndOfStream
-            line0 = f.ReadLine()
-            If Not ComDone Then
-                If LineSkip > 200 Then
-                    WorkerMsg(tMsgID.Err, "Error in Traffic File: Number of Columns < 8", MsgSrc)
-                    Return False
-                End If
-                If IsNumeric(line0.Split(";")(0)) And UBound(line0.Split(";")) > 6 Then
-                    ComDone = True
-                Else
-                    LineSkip += 1
-                    Continue Do
-                End If
-            End If
-            x += 1
-        Loop
-        FZPlen = x
-        f.Close()
-        f.Dispose()
-        f = Nothing
-
-        If PHEMworker.CancellationPending Then Return True
-
-        'Dimension arrays
-        ReDim vt(FZPlen)
-        ReDim vX(FZPlen)
-        ReDim vY(FZPlen)
-        ReDim vNr(FZPlen)
-        ReDim vNrSub(FZPlen)
-        ReDim vVm(FZPlen)
-        ReDim vStg(FZPlen)
-        ReDim vID(FZPlen)
-        ReDim vSID(FZPlen)
-
-        FZPlenOgl = FZPlen
-
-
-        If STRfilter Then
-            WorkerMsg(tMsgID.Normal, "Traffic File: Reading & Filtering...", MsgSrc)
-        Else
-            WorkerMsg(tMsgID.Normal, "Traffic File: Reading...", MsgSrc)
-        End If
-
-        'Import File
-        fReader = New Microsoft.VisualBasic.FileIO.TextFieldParser(FZPpath, FileFormat)
-        fReader.TextFieldType = Microsoft.VisualBasic.FileIO.FieldType.Delimited
-        fReader.Delimiters = New String() {";"}
-
-        'Skip Comments
-        For l = 1 To LineSkip
-            fReader.ReadLine()
-        Next
-        l = 0
-        lc = 0
-        lastSID = -1
-        lc10 = Math.Max(FZPlen / 100, 1000)
-        Do While Not fReader.EndOfData
-            line = fReader.ReadFields()
-            'Strecken die nicht in der STR Datei aufgeführt sind werden hier entfernt |@@| Routes that are not listed in the STR file, are ignoted(?) here
-            If STRfilter Then
-                If line(FZProwStr) <> lastSID Then
-                    lastSID = line(FZProwStr)
-                    SIDisBad = True
-                    For s = 0 To sSIDdim
-                        If sSIDlist(s) = lastSID Then
-                            SIDisBad = False
-                            Exit For
-                        End If
-                    Next
-                End If
-                If SIDisBad Then
-                    FZPlen -= 1
-                    lc10 = Math.Max(FZPlen / 100, 1000)
-                    GoTo lbProg1    'Continue Do
-                End If
-            End If
-            'Show Arrays
-            l += 1
-            vt(l) = line(FZProwT)
-            vX(l) = line(FZProwWeltX)
-            vY(l) = line(FZProwWeltY)
-            vNr(l) = line(FZProwFzNr)
-            vVm(l) = line(FZProwV)
-            vStg(l) = line(FZProwSteig)
-            vID(l) = CInt(line(FZProwTyp))
-            vSID(l) = line(FZProwStr)
-            vNrSub(l) = 0
-            'Display Progress
-lbProg1:
-            lc += 1
-            If lc >= lc10 Then
-                ProgBarCtrl.ProgJobInt = l / FZPlen * 100
-                lc = 0
-                If PHEMworker.CancellationPending Then Return True
-            End If
-        Loop
-
-        'Free memory
-        fReader.Close()
-        fReader.Dispose()
-        fReader = Nothing
-
-        If FZPlenOgl <> FZPlen Then
-            If FZPlen = 0 Then
-                WorkerMsg(tMsgID.Err, "Street ID's in traffic file not found in segment file.", MsgSrc)
-                Return False
-            End If
-            'Newly dimensioned arrays
-            ReDim Preserve vt(FZPlen)
-            ReDim Preserve vX(FZPlen)
-            ReDim Preserve vY(FZPlen)
-            ReDim Preserve vNr(FZPlen)
-            ReDim Preserve vNrSub(FZPlen)
-            ReDim Preserve vVm(FZPlen)
-            ReDim Preserve vStg(FZPlen)
-            ReDim Preserve vID(FZPlen)
-            ReDim Preserve vSID(FZPlen)
-        End If
-
-        Return True
-
-    End Function
-
-    'Sort FZP
-    Private Sub FZPsortieren()
-
-        'Dim x0 As Int32
-        Dim x1 As Int32
-        Dim x2 As Int32
-        Dim vNri As Int16
-        Dim vNrAnz As Int16
-        Dim vNr1 As Int32
-        Dim vNr2 As Int32
-        Dim vNrSort() As Int32
-        Dim vts As Int32
-        Dim vXs As Single
-        Dim vYs As Single
-        Dim vNrs As Int32
-        Dim vVms As Single
-        Dim vStgs As Single
-        Dim vIDs As Int16
-        Dim vSIDs As Int32
-        Dim lc As Int32
-        Dim lc10 As Int32
-
-        Dim x0 As Int32
-        Dim xx1 As Int32
-        Dim xx2 As Int32
-        Dim t1 As Int32
-        Dim t2 As Int32
-        Dim MsgSrc As String
-
-        MsgSrc = "ADV/Init/TFsort"
-
-        WorkerMsg(tMsgID.Normal, "Sorting traffic data...", MsgSrc)
-
-        ReDim Preserve vNr(FZPlen)
-        vNrSort = vNr.Clone
-        Array.Sort(vNrSort)
-
-        x1 = 1
-        lc10 = Math.Max(FZPlen / 100, 1000)
-        lc = 0
-        x0 = 1
-        Do
-            'Current Vehicle is vNr1
-            vNr1 = vNrSort(x1)
-            'Count vehicles with vNr = vNr1
-            x2 = x1
-            vNrAnz = 0
-            Do
-                x2 += 1
-                vNrAnz += 1
-                If x2 > FZPlen Then Exit Do
-                vNr2 = vNrSort(x2)
-            Loop Until vNr1 <> vNr2
-            'vNrAnz = Number of Vehicles with vNr = vNr1
-            'Sort all vehicles with vNr = vNr1 by Vehicle-number
-            x2 = x1 - 1
-            vNri = 0
-            Do
-                x2 += 1
-                vNr2 = vNr(x2)
-                If vNr2 = vNr1 Then
-                    If x1 <> x2 Then
-                        'Cache = line x1
-                        vts = vt(x1)
-                        vXs = vX(x1)
-                        vYs = vY(x1)
-                        vNrs = vNr(x1)
-                        vVms = vVm(x1)
-                        vStgs = vStg(x1)
-                        vIDs = vID(x1)
-                        vSIDs = vSID(x1)
-                        'Linex1 = line x2
-                        vt(x1) = vt(x2)
-                        vX(x1) = vX(x2)
-                        vY(x1) = vY(x2)
-                        vNr(x1) = vNr2
-                        vVm(x1) = vVm(x2)
-                        vStg(x1) = vStg(x2)
-                        vID(x1) = vID(x2)
-                        vSID(x1) = vSID(x2)
-                        'Line x2 = cache
-                        vt(x2) = vts
-                        vX(x2) = vXs
-                        vY(x2) = vYs
-                        vNr(x2) = vNrs
-                        vVm(x2) = vVms
-                        vStg(x2) = vStgs
-                        vID(x2) = vIDs
-                        vSID(x2) = vSIDs
-                    End If
-                    vNri += 1
-                    x1 += 1
-                End If
-            Loop Until vNri = vNrAnz
-            'vNr1 sorted by time
-            If x0 < FZPlen Then
-                For xx1 = x0 To x1 - 2
-                    t1 = vt(xx1)
-                    For xx2 = xx1 + 1 To x1 - 1
-                        t2 = vt(xx2)
-                        If t2 < t1 Then
-                            'Cache = line xx1
-                            vXs = vX(xx1)
-                            vYs = vY(xx1)
-                            vVms = vVm(xx1)
-                            vStgs = vStg(xx1)
-                            vIDs = vID(xx1)
-                            vSIDs = vSID(xx1)
-                            'Line xx1 = Line xx2
-                            vt(xx1) = t2
-                            vX(xx1) = vX(xx2)
-                            vY(xx1) = vY(xx2)
-                            vVm(xx1) = vVm(xx2)
-                            vStg(xx1) = vStg(xx2)
-                            vID(xx1) = vID(xx2)
-                            vSID(xx1) = vSID(xx2)
-                            'Line x2 = Cache
-                            vt(xx2) = t1
-                            vX(xx2) = vXs
-                            vY(xx2) = vYs
-                            vVm(xx2) = vVms
-                            vStg(xx2) = vStgs
-                            vID(xx2) = vIDs
-                            vSID(xx2) = vSIDs
-                            t1 = vt(xx1)
-                        End If
-                    Next
-                Next
-            End If
-            x0 = x1
-            'Display Status
-            lc += 1
-            If lc >= lc10 Then
-                '' StatusMSG(7, "Sorting FZP..." & CInt(x1 / FZPlen * 100).ToString("00") & "%", False)
-                ProgBarCtrl.ProgJobInt = x1 / FZPlen * 100
-                lc = 0
-                If PHEMworker.CancellationPending Then Exit Sub
-            End If
-        Loop Until x1 > FZPlen
-
-        vNrSort = Nothing
-
-    End Sub
-
-    'FZP export
-    Private Function FZPexport() As Boolean
-
-        Dim f As System.IO.StreamWriter
-        Dim x As Int32
-        Dim line() As String
-        Dim line0 As String
-        Dim s As Int16
-        Dim FZPsDim As Int16 = 7
-        Dim MsgSrc As String
-
-        MsgSrc = "ADV/Init/TFexport"
-
-
-        WorkerMsg(tMsgID.Normal, "Exporting sorted traffic data...", MsgSrc)
-
-        Try
-            f = My.Computer.FileSystem.OpenTextFileWriter(FZPsortPath, False, FileFormat)
-        Catch ex As Exception
-            WorkerMsg(tMsgID.Err, "Cannot write to " & FZPsortPath, MsgSrc)
-            Return False
-        End Try
-
-        ReDim line(FZPsDim)
-
-        line(FZProwT) = "t"
-        line(FZProwWeltX) = "WeltX"
-        line(FZProwWeltY) = "WeltY"
-        line(FZProwFzNr) = "FzNr"
-        line(FZProwV) = "v"
-        line(FZProwSteig) = "Steig"
-        line(FZProwTyp) = "Typ"
-        line(FZProwStr) = "Str"
-
-        line0 = line(0)
-        For s = 1 To FZPsDim
-            line0 &= ";" & line(s)
-        Next
-
-        'Header
-        f.WriteLine(line0)
-
-        'Data
-        For x = 1 To FZPlen
-            line(FZProwT) = vt(x)
-            line(FZProwWeltX) = vX(x)
-            line(FZProwWeltY) = vY(x)
-            line(FZProwFzNr) = vNr(x)
-            line(FZProwV) = vVm(x)
-            line(FZProwSteig) = vStg(x)
-            line(FZProwTyp) = vID(x)
-            line(FZProwStr) = vSID(x)
-            line0 = line(0)
-            For s = 1 To FZPsDim
-                line0 &= ";" & line(s)
-            Next
-            f.WriteLine(line0)
-            'f.WriteLine(vt(x) & ";" & vX(x) & ";" & vY(x) & ";" & vNr(x) & ";" & vVm(x) & ";" & vStg(x) & ";" & vID(x) & ";" & vSID(x))
-        Next
-
-        f.Close()
-        f.Dispose()
-        f = Nothing
-
-        Return True
-
-    End Function
-
-    'Read STR
-    Private Function STRread() As Boolean
-        Dim fReader As Microsoft.VisualBasic.FileIO.TextFieldParser
-        Dim line() As String
-        Dim ComDone As Boolean
-        Dim s As Int32
-        Dim x As Int32
-        Dim path As String
-        Dim path0 As String
-        Dim pathADV As String
-        Dim StrClone As Int32()
-        Dim StrFileClone As Int16()
-        Dim sSTRfile As List(Of Int16)
-
-        Dim STRerg0 As cSTRerg
-        Dim STRdist As Double
-        Dim MsgSrc As String
-
-        MsgSrc = "ADV/Init/SFread"
-
-        WorkerMsg(tMsgID.Normal, "Reading segment files...", MsgSrc)
-
-        pathADV = fPATH(JobFile)
-
-        sSTRfile = New List(Of Short)
-        sStr = New List(Of Integer)
-        sSp = New List(Of Short)
-        sSegAnX = New List(Of Single)
-        sSegEnX = New List(Of Single)
-        sSegAnY = New List(Of Single)
-        sSegEnY = New List(Of Single)
-        sSIDlist = New List(Of Integer)
-        sSIDfiles = New List(Of Integer)
-        STRlen = -1
-        x = -1
-
-        STRerg = New List(Of cSTRerg)
-
-        For Each path0 In STRpaths
-
-            path = fFileRepl(path0, pathADV)
-
-            If Not IO.File.Exists(path) Then
-                WorkerMsg(tMsgID.Err, "Segments File not found (" & path & ")", MsgSrc)
-                Return False
-            End If
-
-            x += 1
-            STRerg0 = New cSTRerg
-            STRerg0.Init()
-            STRerg0.MySTRpath = path
-
-            STRdist = 0
-
-            fReader = New Microsoft.VisualBasic.FileIO.TextFieldParser(path, FileFormat)
-            fReader.TextFieldType = Microsoft.VisualBasic.FileIO.FieldType.Delimited
-            fReader.Delimiters = New String() {";"}
-
-            ComDone = False
-            Do While Not fReader.EndOfData
-                line = fReader.ReadFields
-                If Not ComDone Then
-                    If IsNumeric(line(0)) Then
-                        ComDone = True
-                    Else
-                        Continue Do
-                    End If
-                End If
-                STRlen += 1
-                sStr.Add(line(0))
-                sSp.Add(line(1))
-                sSegAnX.Add(line(2))
-                sSegEnX.Add(line(3))
-                sSegAnY.Add(line(4))
-                sSegEnY.Add(line(5))
-                sSTRfile.Add(x)
-
-                STRdist += ((sSegEnY(STRlen) - sSegAnY(STRlen)) ^ 2 + (sSegEnX(STRlen) - sSegAnX(STRlen)) ^ 2) ^ 0.5
-
-            Loop
-
-            fReader.Close()
-            fReader.Dispose()
-
-            STRerg0.Distance = CSng(STRdist / 1000)
-            STRerg.Add(STRerg0)
-
-        Next
-
-        fReader = Nothing
-
-        'Create SID-List
-        ReDim StrClone(STRlen)
-        ReDim StrFileClone(STRlen)
-        sStr.CopyTo(StrClone)
-        sSTRfile.CopyTo(StrFileClone)
-
-        Array.Sort(StrClone, StrFileClone)
-
-        s = StrClone(0)
-        sSIDlist.Add(s)
-        sSIDfiles.Add(StrFileClone(0))
-        sSIDdim = 0
-        For x = 1 To STRlen
-            If s <> StrClone(x) Then
-                s = StrClone(x)
-                sSIDdim += 1
-                sSIDlist.Add(s)
-                sSIDfiles.Add(StrFileClone(x))
-            End If
-        Next
-
-        sSTRfile = Nothing
-
-        Return True
-
-    End Function
-
-
-    'FZP Check:
-    '   ...Fahrzeuge aufteilen, die Lücke im Zeitverlauf haben |@@| Vehicles divisions, have the bridge the gap over time
-    Private Sub FZPcheck()
-
-        Dim z As Int32
-        Dim t1 As Int32
-        Dim vnr1 As Int32
-        Dim SubNr As Int16
-        Dim MsgSrc As String
-
-        MsgSrc = "ADV/Init/TFcheck"
-
-        WorkerMsg(tMsgID.Normal, "Searching for time gaps > 1s...", MsgSrc)
-
-        t1 = vt(1)
-        vnr1 = vNr(1)
-        SubNr = 0
-        For z = 2 To FZPlen
-            If vNr(z) = vnr1 Then
-                If vt(z) - t1 > 1.1 Then
-                    WorkerMsg(tMsgID.Warn, "Time gap found! Vehicle " & vnr1 & " at t= " & vt(z), MsgSrc)
-                    SubNr += 1
-                End If
-                If SubNr > 0 Then vNrSub(z) = SubNr
-            Else
-                SubNr = 0
-            End If
-            vnr1 = vNr(z)
-            t1 = vt(z)
-        Next
-
-    End Sub
-
-    'Read ADV
-    Private Function ADVread() As Boolean
-
-        Dim fADV As cADV
-        Dim line As String = ""
-        Dim s As String = ""
-        Dim i As Integer
-        Dim MsgSrc As String
-
-        MsgSrc = "ADV/Init/ADVread"
-
-        fADV = New cADV
-        fADV.FilePath = JobFile
-
-        '********** .Read ADV-file ********
-        If Not fADV.ReadFile Then
-            WorkerMsg(tMsgID.Err, "Failed to open .adv file (" & JobFile & ")", MsgSrc)
-            fADV = Nothing
-            Return False
-        End If
-
-        STRpaths = New List(Of String)
-
-        'Line 1: FZP file
-        FZPpath = fADV.FZPpath
-
-        'Line 2: FLT file
-        FLTpath = fADV.FLTpath
-
-        'Line 3: TEM file
-        TEMpath = fADV.TEMpath
-
-        'Line 4: RndSeed
-        RndSeed = fADV.RndSeed
-
-        'Line 5: MISKAMout True/False
-        MISKAMout = fADV.SD3out
-
-        'Line 6: strFilter True/False
-        STRfilter = fADV.STRfilter
-
-        'Zeile 7: STR.SUM Streckenfilter |@@| Line 7: STR.SUM Route-filter
-        STRdistTol = fADV.STRSUMdistflt / 100
-
-        'Line 8+: STR files
-        For i = 1 To fADV.STRcount
-            STRpaths.Add(fADV.STRpaths(i - 1))
-        Next
-
-        '*****************************************
-
-        fADV = Nothing
-
-        Return True
-
-    End Function
-
-    Private Function AusgMOD_Init() As Boolean
-
-        Dim f As cFile_V3
-        Dim VehType As String
-
-        For Each VehType In FLTfleet.Keys
-
-            'Define Output-path
-            MODdata.ModOutpName = fFileWoExt(JobFile)
-
-            f = New cFile_V3
-
-            If Not f.OpenWrite(MODdata.ModOutpName & "_" & VehType & ".mod") Then Return False
-
-            'Header:
-            f.WriteLine("VECTO " & VECTOvers)
-            f.WriteLine(Now.ToString)
-            f.WriteLine("Input File: " & JobFile)
-            f.WriteLine("Modal Results For Type " & VehType)
-            f.WriteLine(" ")
-
-            f.Close()
-
-        Next
-
-        Return True
-
-    End Function
-
-    Private Function AusgSUM_Init() As Boolean
-        Dim MsgSrc As String
-
-        MsgSrc = "ADV/OutpInit/SumInit"
-
-        ' *********************************** .sum *************************************
-        'File results with sums over all Vehicles(KFZs):
-        Try
-            FadvSUM = My.Computer.FileSystem.OpenTextFileWriter(SUMpath, False, FileFormat)
-        Catch ex As Exception
-            WorkerMsg(tMsgID.Err, "Cannot access .sum file (" & SUMpath & ")", MsgSrc)
-            Return False
-        End Try
-        FadvSUM.AutoFlush = True
-
-        'Header
-        FadvSUM.WriteLine("VECTO ADVANCE Average results per vehicle")
-        FadvSUM.WriteLine("VECTO " & VECTOvers)
-        FadvSUM.WriteLine("Inputfile: " & JobFile)
-        FadvSUM.WriteLine(ERG.ERGinfo)
-        FadvSUM.WriteLine("VehNr,VehType,GEN," & ERG.ErgHead())
-        FadvSUM.WriteLine("[-],[-],[-]," & ERG.ErgUnits())
-        FadvSUM.Close()
-
-        Return True
-
-    End Function
-
-    'Close Output
-    Private Function AusgVis_V3_Close() As Boolean
-        Dim F611 As New cFile_V3
-        Dim secvis As Single
-        Dim j As Int32
-        Dim js As Int32, ivd As Int32
-        Dim axi As Single, ayi As Single
-        Dim amaz As Int32
-        Dim amiz As Int32
-
-        FadvSUM.Dispose()
-        FadvSUM = Nothing
-
-        If MISKAMout Then
-            amaz = vt(1)
-            amiz = vt(1)
-            For j = 2 To FZPlen
-                If vt(j) > amaz Then amaz = vt(j)
-                If vt(j) < amiz Then amiz = vt(j)
-            Next
-            secvis = amaz - amiz
-
-            'C
-            'C      Convert Emissions to g per second and Vehicle(KFZ)/day
-            For j = 1 To STRlen
-                sFC(j) = sFC(j) / secvis
-                sNOx(j) = sNOx(j) / secvis
-                sCO(j) = sCO(j) / secvis
-                sHC(j) = sHC(j) / secvis
-                sPM(j) = sPM(j) / secvis
-                sBe(j) = sBe(j) / secvis
-                sRu(j) = sRu(j) / secvis
-                sSO2(j) = sSO2(j) / secvis
-                vDTV(j) = vDTV(j) * 86400 / secvis
-                ALKW(j) = ALKW(j) * 86400 / secvis
-                'C
-            Next j
-            'C
-            'C      Convert Emissions to mg per Meter
-            'C     Streckenlaenge [m] wird aus Gerade zwischen Anfangs- und Endpunkt berechnet: |@@| Route-length [m] is calculated from straight line between start and end points:
-            'C
-            For j = 1 To STRlen
-                axi = (sSegEnX(j) - sSegAnX(j)) ^ 2
-                ayi = (sSegEnY(j) - sSegAnY(j)) ^ 2
-                ala(j) = (axi + ayi) ^ 0.5
-                sFC(j) = 1000 * sFC(j) / ala(j)
-                sNOx(j) = 1000 * sNOx(j) / ala(j)
-                sCO(j) = 1000 * sCO(j) / ala(j)
-                sHC(j) = 1000 * sHC(j) / ala(j)
-                sPM(j) = 1000 * sPM(j) / ala(j)
-                sBe(j) = 1000 * sBe(j) / ala(j)
-                sRu(j) = 1000 * sRu(j) / ala(j)
-                sSO2(j) = 1000 * sSO2(j) / ala(j)
-            Next j
-            'C
-            'C      Dump Results
-            'C
-            'C      Filename for ResultFile = Input-filename but with *.sd3:
-            'C
-
-            'C
-            'C       File mit Summen Ergebnissen ueber alle Streckenstuecke: |@@| File with sums over all results Route-sections:
-            Call F611.OpenWrite(SD3path, ";")
-            'C
-            Call F611.WriteLine("Results from VECTO ADVANCE")   ' Format 630
-            Call F611.WriteLine("VECTO " & VECTOvers)   ' Format '(a25)'
-            Call F611.WriteLine("Average results per line over total time interval [sec]:", secvis)   ' Format 640
-            Call F611.WriteLine("Cold start extra emissions are included")   ' Format *
-            Call F611.WriteLine("lfd.; x1; y1; x2; y2;Strassen;; mittl.Emiss. [mg/(m*s)];;; ; ; ; ; ; ; ;DTV;Lkw-An-; Fahr-; Qh/;Typ; S_z0;Str-;; lNfz; lBus; F; L; W;Abschn.-")   ' Format '(A150)'
-            Call F611.WriteLine("Nr.;[m];[m];[m];[m];Breite[m];Höhe[m];NOx;BENZOL;RUSS;PM10;KW;CO;CO2;SO2;Stoff 9; Stoff 10;[Kfz/d];teil[-];muster;SBr[m];[-];[m];Nr;Strassenkategorie;[-];[-]; S; N; O;Laenge[m]")   ' Format '(A180)'
-            'C
-            For js = 1 To STRlen
-                ivd = Math.Round(vDTV(js), 0, MidpointRounding.AwayFromZero)
-                Call F611.WriteLine(js, sSegAnX(js), sSegAnY(js), sSegEnX(js), sSegEnY(js), -99.9, -99.9, sNOx(js), sBe(js), sRu(js), sPM(js), sHC(js), sCO(js), sFC(js) * 3.14, sSO2(js), "-99", "-99", ivd, ALKW(js), " ", "-99", "-99", "-99", sStr(js), " ", " ", " ", " ", " ", " ", ala(js))   ' Format 620
-            Next js
-
-            Call F611.Close()
-            F611 = Nothing
-        End If
-
-        If STRfilter Then
-            If Not AusgSTRerg() Then Return False
-        End If
-
-        Return True
-
-    End Function
-
-    Public Function AusgVis_V3() As Boolean
-        Dim sumNr As Int32
-        Dim ie As Short
-        Dim MsgSrc As String
-
-        MsgSrc = "ADV/OutpInit"
-
-
-        If Not AusgVisInit Then
-            AusgVisInit = True
-            If Not AusgSUM_Init() Then Return False
-        End If
-
-        If MISKAMout Then Call AusMISK_V2()
-
-        sumNr = 0
-
-        For ie = 0 To 1
-            Try
-                FadvSUM = My.Computer.FileSystem.OpenTextFileWriter(SUMpath, True, FileFormat)
-                FadvSUM.AutoFlush = True
-                Exit For
-            Catch ex As Exception
-                If ie = 0 Then
-                    System.Threading.Thread.Sleep(2000)
-                Else
-                    WorkerMsg(tMsgID.Err, "Failed to access .sum file (" & SUMpath & ")", MsgSrc)
-                    Return False
-                End If
-            End Try
-        Next
-
-        FadvSUM.WriteLine(aVehNr & "," & aVehType & "," & fFILE(GenFile, True) & "," & ERG.ErgLine())   ' Format 661
-
-        FadvSUM.Close()
-        FadvSUM.Dispose()
-
-        Return True
-
-    End Function
-
-
-    Private Sub AusMISK_V2()
-        'C     Subroutine of PHEM/Advance for dumping the results of MISKAM Air-Quality-Model of Lohmeyer
-        'C     Dump Data separated by Semicolons
-        'C
-        'C
-        'C
-        ' include "com.inc"<<<<<<<<<<<<<<<<<<<<<<<<<<
-        Dim chari As String = ""
-        Dim ami As Single, ax As Single, ay As Single, akabst As Single, C1 As Single, C2 As Single
-        Dim jm1 As Long, jist As Long
-        Dim j As Int32
-        Dim jz As Int32
-        'C     -------------------------------------------------------------------------------------------------
-        'C
-        'C     Adding up the Emission-data for Route-segments, for every Vehicle over each second
-        'C     Caution: There are 2 possible Directions(Richtungen) for each section but only the StrId is given to *.fzp -> the "Closest" assigned Direction(Richtungen)
-        'C     Richtung zugewiesen |@@| Direction assigned
-        'C
-
-
-        For jz = 0 To MODdata.tDim
-            'C
-            ami = 1000000000000
-            For j = 0 To STRlen
-                'C
-                If (aStrId(jz) = sStr(j)) Then
-                    'C      Suche nach naechstgelegenem Strassenteilstueck |@@| Find nearest Road-section
-                    'C      Koordinaten Kfz: |@@| Coordinate vehicle(KFZ):
-                    ax = aWorldX(jz)
-                    ay = aWorldY(jz)
-                    'C      Koordinaten Strecke: sSegAnX(j), sSegEnX(j), sSegAnY(j), sSegEnY(j) aus Eingabe |@@| Route Coordinates: sSegAnX(j), sSegEnX(j), sSegAnY(j), sSegEnY(j) from Input
-                    'C      Abstandsumme zu Anfang- und Endpunkt des Streckenabschnittes j |@@| Total distance to the beginning and end of the Route-section j
-                    C1 = ((ax - sSegAnX(j)) ^ 2 + (ay - sSegAnY(j)) ^ 2) ^ 0.5
-                    C2 = ((ax - sSegEnX(j)) ^ 2 + (ay - sSegEnY(j)) ^ 2) ^ 0.5
-                    akabst = C1 + C2
-                    If (akabst <= ami) Then
-                        ami = akabst
-                        jist = j
-                    End If
-                End If
-            Next j
-            'C      Falls Streckennummer auf *.fzp File in *.str File nicht existiert, wird auf naechstgelegenes Stueck zugewiesen (gleiches System wie oben): |@@| If the Route number in *.fzp file not exist in *.str file, it is assigned the nearest section (same method as above):
-            If (ami = 1000000000000) Then
-                If (STRlen >= 1) Then
-                    For j = 1 To STRlen
-                        ax = aWorldX(jz)
-                        ay = aWorldY(jz)
-                        C1 = ((ax - sSegAnX(j)) ^ 2 + (ay - sSegAnY(j)) ^ 2) ^ 0.5
-                        C2 = ((ax - sSegEnX(j)) ^ 2 + (ay - sSegEnY(j)) ^ 2) ^ 0.5
-                        akabst = C1 + C2
-                        If (akabst <= ami) Then
-                            ami = akabst
-                            jist = j
-                        End If
-                    Next j
-                End If
-            End If
-            'C     Aufsummierung der Emissionen auf den jeweils zugehoerigen Streckenabschnitten: |@@| Summation of the emissions to the respective associated sections:
-            'C     berechnung sekuendlich in (g/h)/3600 -> g/Strecke ueber gesamte Zeit |@@| calculation in every second (g/h) / 3600 - by> g / haul all the time
-            sFC(jist) = sFC(jist) + (MODdata.Em.EmDefComp(tMapComp.FC).FinalVals(jz)) / 3600
-            sNOx(jist) = sNOx(jist) + (MODdata.Em.EmDefComp(tMapComp.NOx).FinalVals(jz)) / 3600
-            sCO(jist) = sCO(jist) + (MODdata.Em.EmDefComp(tMapComp.CO).FinalVals(jz)) / 3600
-            sHC(jist) = sHC(jist) + (MODdata.Em.EmDefComp(tMapComp.HC).FinalVals(jz)) / 3600
-            sPM(jist) = sPM(jist) + (MODdata.Em.EmDefComp(tMapComp.PM).FinalVals(jz)) / 3600
-
-            'C      Zaehlen der Kfz fuer DTV (nur wenn nicht in voriger Sekunde auch schon auf der Strecke |@@| Counting the Vehicle for DTV (only if not already in previous second on the track
-            If (jist <> jm1) Then
-                vDTV(jist) = vDTV(jist) + 1
-                If Not GEN.PKWja Then
-                    ALKW(jist) = ALKW(jist)
-                End If
-            End If
-            'C    ,
-            'C     Grobe Rechnung Benzol nach GLOBEMI (HBEFA): |@@| Rough calculation for benzene GLOBEMI (HBEFA):
-            'C      Distinguish as: Otto, Diesel, HDV(LKW), Car(PKW), before/after EURO 1
-            'C     Otto:
-            If GEN.ottoJa Then
-                If GEN.PKWja Then
-                    If (GEN.eklasse < 1) Then
-                        sBe(jist) = sBe(jist) + (MODdata.Em.EmDefComp(tMapComp.HC).FinalVals(jz) * 0.0438) / 3600
-                    Else
-                        sBe(jist) = sBe(jist) + (MODdata.Em.EmDefComp(tMapComp.HC).FinalVals(jz) * 0.1293) / 3600
-                        'Continue For
-                    End If
-                Else
-                    sBe(jist) = sBe(jist) + (MODdata.Em.EmDefComp(tMapComp.HC).FinalVals(jz) * 0.05) / 3600
-                End If
-                'C     Diesel
-            Else
-                If GEN.PKWja Then
-                    sBe(jist) = sBe(jist) + (MODdata.Em.EmDefComp(tMapComp.HC).FinalVals(jz) * 0.0167) / 3600
-                Else
-                    sBe(jist) = sBe(jist) + (MODdata.Em.EmDefComp(tMapComp.HC).FinalVals(jz) * 0.0167) / 3600
-                End If
-            End If
-            'C
-            'C     Grobe Rechnung Russ, Anteile Russ an PM derzeit nur Schaetzwerte!!!!: |@@| Rough calculation of Soot, Soot shares of PM currently only Schaetz-values!!:
-            'C      Distinguish as: Otto, Diesel, HDV(LKW), Car(PKW), before/after EURO 1
-            'C     Diesel:
-            If Not GEN.ottoJa Then
-                If GEN.PKWja Then
-                    If (GEN.eklasse < 2) Then
-                        sRu(jist) = sRu(jist) + (MODdata.Em.EmDefComp(tMapComp.PM).FinalVals(jz) * 0.5) / 3600
-                    ElseIf (GEN.eklasse > 4) Then
-                        sRu(jist) = sRu(jist) + (MODdata.Em.EmDefComp(tMapComp.PM).FinalVals(jz) * 0.1) / 3600
-                    Else
-                        sRu(jist) = sRu(jist) + (MODdata.Em.EmDefComp(tMapComp.PM).FinalVals(jz) * 0.75) / 3600
-                    End If
-                Else
-                    If (GEN.eklasse > 3) Then
-                        sRu(jist) = sRu(jist) + (MODdata.Em.EmDefComp(tMapComp.PM).FinalVals(jz) * 0.7) / 3600
-                    Else
-                        sRu(jist) = sRu(jist) + (MODdata.Em.EmDefComp(tMapComp.PM).FinalVals(jz) * 0.5) / 3600
-                    End If
-                End If
-                'C     Otto
-            Else
-                If GEN.PKWja Then
-                    sRu(jist) = sRu(jist) + (MODdata.Em.EmDefComp(tMapComp.PM).FinalVals(jz) * 0.1) / 3600
-                Else
-                    sRu(jist) = sRu(jist) + (MODdata.Em.EmDefComp(tMapComp.PM).FinalVals(jz) * 0.1) / 3600
-                End If
-            End If
-            'C
-            'C     SO2-Emissionen aus dem  im Kraftstoff enthaltenen |@@| SO2-Emissions as contained in the Fuel
-            'C     Schwefel gerechnet. Mit Masse SO2 = (Masse% S / 100) * 2 |@@| Sulfur expected. With SO2 mass = (mass% S / 100) * 2
-            'C     Diesel_
-            If Not GEN.ottoJa Then
-                sSO2(jist) = sSO2(jist) + (MODdata.Em.EmDefComp(tMapComp.FC).FinalVals(jz) * 0.001 / 50) / 3600
-                'C     Otto:
-            Else
-                sSO2(jist) = sSO2(jist) + (MODdata.Em.EmDefComp(tMapComp.FC).FinalVals(jz) * 0.0005 / 50) / 3600
-            End If
-            'C
-            jm1 = jist
-            'C
-        Next jz
-
-    End Sub
-
-    Private Function AusgSTRerg() As Boolean
-        Dim s As System.Text.StringBuilder
-        Dim Sepp As String = ","
-        Dim STRergRef As cSTRerg
-        Dim VehType As String
-        Dim km As Double
-        Dim sum As Double
-        Dim e As Integer
-        Dim fSSUM As cFile_V3
-        Dim Fleet0 As cFLTfleet
-        Dim STRSUMpath As String
-        Dim MsgSrc As String
-
-        MsgSrc = "ADV/Outp/SegSum"
-
-        fSSUM = New cFile_V3
-        s = New System.Text.StringBuilder
-
-        '******** Dump each STR results ' *********
-        For Each STRergRef In STRerg
-            If Not STRergRef.Ausg() Then Return False
-        Next
-
-        '********* Dump Totals of all STR's ' *********
-
-        STRSUMpath = fFileWoExt(JobFile) & ".segment.sum"
-
-        If Not fSSUM.OpenWrite(STRSUMpath) Then
-            WorkerMsg(tMsgID.Err, "Failed to write to '" & STRSUMpath & "'!", MsgSrc)
-            Return False
-        End If
-
-
-        '** File Header
-        fSSUM.WriteLine("VECTO ADVANCE Sum Results by Segments and Vehicle Types")
-        fSSUM.WriteLine("VECTO " & VECTOvers)
-        fSSUM.WriteLine(Now.ToString)
-        fSSUM.WriteLine("Inputfile: " & JobFile)
-
-        '****************************************************************
-        '*************************** Em per km ***************************
-
-        'Header            
-        s.Length = 0
-        s.Append("*** Results per km  ***,Vehicles,Travel Time,Travelled Distance, Average Speed")
-        If GEN.VehMode = tVehMode.EV Then
-            s.Append(Sepp & "EC")
-        Else
-            For e = 0 To EMdim
-                s.Append(Sepp & MODdata.Em.EmComp(EMlist(e)).Name)
-            Next
-        End If
-        fSSUM.WriteLine(s.ToString)
-
-        'Untits
-        s.Length = 0
-        s.Append("Segment / Vehicle Type,[-],[h],[km],[km/h]")
-        If GEN.VehMode = tVehMode.EV Then
-            s.Append(Sepp & "[kWh/km]")
-        Else
-            s.Append(Sepp & "[g/km]")
-            s.Append(Sepp & "[g/km]")
-            s.Append(Sepp & "[g/km]")
-            s.Append(Sepp & "[g/km]")
-            s.Append(Sepp & "[g/km]")
-            s.Append(Sepp & "[#/km]")
-            s.Append(Sepp & "[g/km]")
-        End If
-        fSSUM.WriteLine(s.ToString)
-
-        '** Em per segment
-        For Each STRergRef In STRerg
-
-            s.Length = 0
-
-            'Segment-Name
-            s.Append(fFILE(STRergRef.MySTRpath, True))
-
-            'Number of Vehicles
-            s.Append(Sepp & STRergRef.AllVehCount)
-
-            'Travel time
-            sum = STRergRef.AllVehTime
-            s.Append(Sepp & sum)
-
-            'km
-            km = STRergRef.AllVehDist
-            s.Append(Sepp & km)
-
-            'Speed
-            If sum = 0 Then
-                s.Append(Sepp & "-")
-            Else
-                s.Append(Sepp & km / sum)
-            End If
-
-            'Em per km
-            For e = 0 To EMdim
-                If km = 0 Then
-                    s.Append(Sepp & "-")
-                Else
-                    s.Append(Sepp & STRergRef.AllEm(e) / km)
-                End If
-            Next
-
-            'Writing
-            fSSUM.WriteLine(s.ToString)
-
-        Next
-
-        '** Em per Vehicle Type
-        For Each VehType In FLTfleet.Keys
-
-            s.Length = 0
-
-            'Type
-            s.Append("Veh " & VehType)
-
-            'Number of Vehicles
-            s.Append(Sepp & FLTfleet(VehType).VehCount)
-
-            'Reisezeit, Strecke, Avg.Speed |@@| Travel time, Route-Distance, Avg. Speed
-            sum = 0
-            km = 0
-            For Each STRergRef In STRerg
-                sum += STRergRef.VehTime(VehType)
-                km += STRergRef.VehDist(VehType)
-            Next
-            s.Append(Sepp & sum)
-            s.Append(Sepp & km)
-            If sum = 0 Then
-                s.Append(Sepp & "-")
-            Else
-                s.Append(Sepp & km / sum)
-            End If
-
-            'Em
-            For e = 0 To EMdim
-                If km = 0 Then
-                    s.Append(Sepp & "-")
-                Else
-                    sum = 0
-                    For Each STRergRef In STRerg
-                        sum += STRergRef.EMsum(VehType)(e)
-                    Next
-                    s.Append(Sepp & sum / km)
-                End If
-            Next
-
-            'Writing
-            fSSUM.WriteLine(s.ToString)
-
-        Next
-
-        '** Total
-        s.Length = 0
-
-        'Segment
-        s.Append("Sum")
-
-        'Number of Vehicles is not calculated from STRerg (makes no sense) but from cFLTfleet-recording
-        sum = 0
-        For Each Fleet0 In FLTfleet.Values
-            sum += Fleet0.VehCount
-        Next
-        s.Append(Sepp & sum)
-
-        'Travelling time
-        sum = 0
-        For Each STRergRef In STRerg
-            sum += STRergRef.AllVehTime
-        Next
-        s.Append(Sepp & sum)
-
-        'km
-        km = 0
-        For Each STRergRef In STRerg
-            km += STRergRef.AllVehDist
-        Next
-        s.Append(Sepp & km)
-
-        'Speed
-        If sum = 0 Then
-            s.Append(Sepp & "-")
-        Else
-            s.Append(Sepp & km / sum)
-        End If
-
-        'Em per km
-        For e = 0 To EMdim
-            If km = 0 Then
-                s.Append(Sepp & "-")
-            Else
-                sum = 0
-                For Each STRergRef In STRerg
-                    sum += STRergRef.AllEm(e)
-                Next
-                s.Append(Sepp & sum / km)
-            End If
-        Next
-
-        'Writing
-        fSSUM.WriteLine(s.ToString)
-
-        '****************************************************************
-        '**************************** Em abs ****************************
-
-        fSSUM.WriteLine(" ")
-
-        'Header            
-        s.Length = 0
-        s.Append("*** Absolute Values ***")
-        If GEN.VehMode = tVehMode.EV Then
-            s.Append(Sepp & "EC")
-        Else
-            For e = 0 To EMdim
-                s.Append(Sepp & MODdata.Em.EmComp(EMlist(e)).Name)
-            Next
-        End If
-        fSSUM.WriteLine(s.ToString)
-
-        'Untits
-        s.Length = 0
-        s.Append("Segment / Vehicle Type")
-        If GEN.VehMode = tVehMode.EV Then
-            s.Append(Sepp & "[kWh]")
-        Else
-            s.Append(Sepp & "[g]")
-            s.Append(Sepp & "[g]")
-            s.Append(Sepp & "[g]")
-            s.Append(Sepp & "[g]")
-            s.Append(Sepp & "[g]")
-            s.Append(Sepp & "[#]")
-            s.Append(Sepp & "[g]")
-        End If
-        fSSUM.WriteLine(s.ToString)
-
-        '** Em per segment
-        For Each STRergRef In STRerg
-
-            s.Length = 0
-
-            'Segment-Name
-            s.Append(fFILE(STRergRef.MySTRpath, True))
-
-            'Em abs
-            For e = 0 To EMdim
-                s.Append(Sepp & STRergRef.AllEm(e))
-            Next
-
-            'Writing
-            fSSUM.WriteLine(s.ToString)
-
-        Next
-
-        '** Em per Vehicle Type
-        For Each VehType In FLTfleet.Keys
-
-            s.Length = 0
-
-            'Type
-            s.Append("Veh " & VehType)
-
-            'Em
-            For e = 0 To EMdim
-                sum = 0
-                For Each STRergRef In STRerg
-                    sum += STRergRef.EMsum(VehType)(e)
-                Next
-                s.Append(Sepp & sum)
-            Next
-
-            'Writing
-            fSSUM.WriteLine(s.ToString)
-
-        Next
-
-        '** Total
-        s.Length = 0
-
-        'Segment
-        s.Append("Sum")
-
-        'Em abs
-        For e = 0 To EMdim
-            sum = 0
-            For Each STRergRef In STRerg
-                sum += STRergRef.AllEm(e)
-            Next
-            s.Append(Sepp & sum)
-        Next
-
-        'Writing
-        fSSUM.WriteLine(s.ToString)
-
-        fSSUM.Close()
-
-        Return True
-
-    End Function
-
-    '.Analyze Mod-file
-    Public Sub AusgModCut(ByVal InPath As String, ByVal VehList As Int32())
-        Dim f As System.IO.StreamReader
-        Dim VehNr As Int32
-        Dim x As Int16
-        Dim x1 As Int16
-        Dim fOut As cFile_V3
-        Dim laststring As String
-        Dim foundNr As Int32
-        Dim CheckLast As Boolean
-        Dim MsgSrc As String
-
-        MsgSrc = "ADV/ModCut"
-
-        WorkerMsg(tMsgID.Normal, "Starting .mod split.", MsgSrc)
-
-        'Open Infile
-        Try
-            f = New System.IO.StreamReader(InPath)
-        Catch ex As Exception
-            WorkerMsg(tMsgID.Err, "Cannot access .mod file (" & InPath & ")", MsgSrc)
-            WorkerMsg(tMsgID.Normal, "Aborted!", MsgSrc)
-            Exit Sub
-        End Try
-
-        WorkerMsg(tMsgID.Normal, "File " & InPath, MsgSrc)
-        WorkerStatus(".mod split running. File " & fFILE(InPath, True))
-
-        fOut = New cFile_V3
-        CheckLast = False
-
-        'Anzahl VehNummern |@@| Number of VehNummern
-        x1 = 1 + UBound(VehList) - x
-        x = 0
-        laststring = ""
-
-        'Loop through all VehNummern in list
-        For Each VehNr In VehList
-
-            'Abort when User-abort
-            If PHEMworker.CancellationPending Then
-                WorkerMsg(tMsgID.Normal, "Aborted by User.", MsgSrc)
-                GoTo lbDone
-            End If
-
-            'Abort when File finished
-            If f.EndOfStream Then
-                WorkerMsg(tMsgID.Err, "Reached end of file before last vehicle number was found.", MsgSrc)
-                WorkerMsg(tMsgID.Normal, "Aborted! (Reached end of file)", MsgSrc)
-                GoTo lbDone
-            End If
-
-            'Open Output-File / Abort if Error on Opening
-            If Not fOut.OpenWrite(fFileWoExt(InPath) & "_Veh" & VehNr & ".mod") Then
-                WorkerMsg(tMsgID.Err, "Cannot create output file. Veh.Nr. " & VehNr, MsgSrc)
-                GoTo lbDone
-            End If
-
-            'Loop through file
-            Do While Not f.EndOfStream
-
-                'If string already contains a VehNr do not read again Line (see below)
-                If CheckLast Then
-                    CheckLast = False
-                Else
-                    'Read Line
-                    laststring = f.ReadLine
-                End If
-
-                'If Line with VehNr found: extract VehNr
-                If InStr(laststring, "VehNr:", CompareMethod.Text) > 0 Then
-                    foundNr = GetVehNr(laststring)
-
-                    'If VehNr is the required one: write the Output-file
-                    If foundNr = VehNr Then
-
-                        'First line write ("VehNr: ...")
-                        fOut.WriteLine(laststring)
-
-                        'Read next Line (otherwise Do-While skipped)
-                        laststring = f.ReadLine
-
-                        'Loop until next VehNr / end_of_file
-                        Do While Not f.EndOfStream
-
-                            'If next Vehicle:
-                            If InStr(laststring, "VehNr:", CompareMethod.Text) > 0 Then
-                                If GetVehNr(laststring) = VehNr Then
-                                    'If Vehicle-number is the same: Continue writing File
-                                    'Skip header and Units
-                                    f.ReadLine()
-                                    f.ReadLine()
-                                    laststring = f.ReadLine
-                                Else
-                                    'Otherwise: Get out of loop
-                                    Exit Do
-                                End If
-                            End If
-
-                            'Write Line
-                            fOut.WriteLine(laststring)
-
-                            'Read line
-                            laststring = f.ReadLine
-
-                        Loop
-
-                        'If not EndOfStream Set flag so next VehNr is not skipped
-                        If Not f.EndOfStream Then CheckLast = True
-
-                        'Close Output-file
-                        fOut.Close()
-
-                        'Jump out of the VehNr-search-loop
-                        Exit Do
-
-                    End If
-
-                End If
-
-            Loop
-
-            'ProgBar
-            x += 1
-            ProgBarCtrl.ProgJobInt = CInt(100 * x / x1)
-
-        Next
-
-        WorkerMsg(tMsgID.Normal, "done", MsgSrc)
-
-lbDone:
-
-        f.Close()
-        f.Dispose()
-        f = Nothing
-        fOut.Close()
-        fOut = Nothing
-
-    End Sub
-
-    Private Function GetVehNr(ByVal Str As String) As Integer
-        Dim foundStr As String
-        foundStr = Str.Split(",")(0)
-        Return CInt(Right(foundStr, Len(foundStr) - 7))
-    End Function
-
-
-    'FLT-class
-    Private Class cFLTfleet
-
-        Private MyP() As Single             'Percentage
-        Private MyGen() As String           'GEN Datei
-        Private MyDim As Int16              'Dim
-        Private MyID As String              'Vehicle Type
-
-        Public VehCount As Integer             'Anzahl Fahrzeuge
-
-        'New
-        Public Sub New(ByVal ID As String)
-            MyID = ID
-            MyDim = -1
-        End Sub
-
-        'Initialize
-        Public Function Init(ByVal GenFiles As String(), ByVal Shares As Single(), ByVal ArDim As Int16) As Boolean
-            Dim x As Int16
-            Dim xsum As Single
-            Dim MsgSrc As String
-
-            MsgSrc = "ADV/FLT/Init"
-
-            MyDim = ArDim
-
-            If MyDim > -1 Then
-                ReDim MyGen(ArDim)
-                ReDim MyP(ArDim)
-                xsum = 0
-                For x = 0 To ArDim
-                    MyGen(x) = GenFiles(x)
-                    MyP(x) = Shares(x)
-                    xsum += Shares(x)
-                Next
-                If Math.Abs(1 - xsum) > 0.0001 Then
-                    WorkerMsg(tMsgID.Err, "Vehicle Type " & MyID & ": Share sum is not 100%!", MsgSrc)
-                    Return False
-                End If
-
-                For x = 1 To ArDim
-                    MyP(x) += MyP(x - 1)
-                Next
-            End If
-
-            Return True
-
-        End Function
-
-        'GenFile Random-generator
-        Public Function GetGenFile() As String
-            Dim r As Single
-            Dim x As Int16
-            Dim MsgSrc As String
-
-            MsgSrc = "ADV/FLT/GetGenFile"
-
-            Select Case MyDim
-                Case -1
-                    WorkerMsg(tMsgID.Err, "Vehicle type " & MyID & " is not specified in .FLT file. Cannot assign .GEN file.", MsgSrc)
-                    Return ""
-                Case 0
-                    Return MyGen(0)
-                Case Else
-                    r = 1 - Rnd()
-                    x = MyDim
-                    Do While r <= MyP(x - 1)
-                        x -= 1
-                        If x = 0 Then Exit Do
-                    Loop
-                    Return MyGen(x)
-            End Select
-        End Function
-
-        Public Function FileCheck() As Boolean
-            Dim str As String
-            Dim check As Boolean
-            Dim MsgSrc As String
-
-            MsgSrc = "ADV/FLT/" & MyID
-
-            check = True
-
-            For Each str In MyGen
-                If str = "" OrElse Not IO.File.Exists(str) Then
-                    WorkerMsg(tMsgID.Err, "File not found (" & str & ")!", MsgSrc)
-                    check = False
-                End If
-            Next
-
-            Return check
-
-        End Function
-
-
-
-
-    End Class
-
-    'Klasse für abschnittsweise Auswertung |@@| Class for sections evaluation
-    Private Class cSTRerg
-
-        Public MySTRpath As String
-
-        Public VehCount As Dictionary(Of String, Integer)           'Fahrzeuganzahl je Fahrzeugtyp
-        Public VehDist As Dictionary(Of String, Double)             'Verkehrsleistung je Fahrzeugtyp
-        Public VehTime As Dictionary(Of String, Double)             'Reisezeit je Fahrzeugtyp
-
-        Public EMsum As Dictionary(Of String, List(Of Double))      'Summen-Emissionen je Fahrzeugtyp und Em-Komponente Absolut [g]
-
-        Public Distance As Single                                   'STR-Länge für Filter in km
-
-        Public Sub Init()
-            Dim KV As KeyValuePair(Of String, cFLTfleet)
-            Dim dic0 As List(Of Double)
-            Dim x As Integer
-
-            VehCount = New Dictionary(Of String, Integer)
-            VehDist = New Dictionary(Of String, Double)
-            VehTime = New Dictionary(Of String, Double)
-
-            EMsum = New Dictionary(Of String, List(Of Double))
-
-            For Each KV In ADV.FLTfleet
-                VehCount.Add(KV.Key, 0)
-                VehDist.Add(KV.Key, 0)
-                VehTime.Add(KV.Key, 0)
-
-                dic0 = New List(Of Double)
-
-                For x = 0 To ADV.EMdim
-                    dic0.Add(0)
-                Next
-
-                EMsum.Add(KV.Key, dic0)
-
-            Next
-
-        End Sub
-
-        Public Function Ausg() As Boolean
-            Dim s As System.Text.StringBuilder
-            Dim Sepp As String = ","
-            Dim VehType As String
-            Dim km As Double
-            Dim KVl As KeyValuePair(Of String, List(Of Double))
-            Dim sum As Double
-            Dim e As Integer
-            Dim fSSUM As cFile_V3
-            Dim STRSUMpath As String
-            Dim MsgSrc As String
-
-            MsgSrc = "ADV/Outp/Seg"
-
-            fSSUM = New cFile_V3
-
-            STRSUMpath = fFileWoExt(JobFile) & "_" & fFILE(MySTRpath, False) & ".sum"
-
-            If Not fSSUM.OpenWrite(STRSUMpath) Then
-                WorkerMsg(tMsgID.Err, "Failed to write to '" & STRSUMpath & "'!", MsgSrc)
-                Return False
-            End If
-
-            s = New System.Text.StringBuilder
-
-            'File Header
-            fSSUM.WriteLine("VECTO ADVANCE Sum Results per Segment")
-            fSSUM.WriteLine("VECTO " & VECTOvers)
-            fSSUM.WriteLine("Inputfile: " & JobFile)
-            fSSUM.WriteLine("Segment File: " & MySTRpath)
-            fSSUM.WriteLine("Calculated Segment Length: " & Distance * 1000 & "m")
-            fSSUM.WriteLine("Minimum Travelled Distance: " & 1000 * ADV.STRdistTol * Distance & "m (" & ADV.STRdistTol * 100 & "%)")
-
-            fSSUM.WriteLine(" ")
-
-            '****************************************************************
-            '*************************** Em per km ***************************
-
-            'Header
-            s.Length = 0
-            s.Append("*** Results per km  ***,Vehicles,Travel Time,Travelled Distance, Average Speed")
-            If GEN.VehMode = tVehMode.EV Then
-                s.Append(Sepp & "EC")
-            Else
-                For e = 0 To ADV.EMdim
-                    s.Append(Sepp & MODdata.Em.EmComp(ADV.EMlist(e)).Name)
-                Next
-            End If
-            fSSUM.WriteLine(s.ToString)
-
-            'Untits
-            s.Length = 0
-            s.Append("Vehicle Type,[-],[h],[km],[km/h]")
-            If GEN.VehMode = tVehMode.EV Then
-                s.Append(Sepp & "[kWh/km]")
-            Else
-                s.Append(Sepp & "[g/km]")
-                s.Append(Sepp & "[g/km]")
-                s.Append(Sepp & "[g/km]")
-                s.Append(Sepp & "[g/km]")
-                s.Append(Sepp & "[g/km]")
-                s.Append(Sepp & "[#/km]")
-                s.Append(Sepp & "[g/km]")
-            End If
-            fSSUM.WriteLine(s.ToString)
-
-            '** Results per Veh-Type
-            For Each VehType In ADV.FLTfleet.Keys
-
-                s.Length = 0
-
-                'Type
-                s.Append(VehType)
-
-                'Number of Vehicles
-                s.Append(Sepp & VehCount(VehType))
-
-                'Travellingtime
-                sum = VehTime(VehType)
-                s.Append(Sepp & sum)
-
-                'km
-                km = VehDist(VehType)
-                s.Append(Sepp & km)
-
-                'Speed
-                If sum = 0 Then
-                    s.Append(Sepp & "-")
-                Else
-                    s.Append(Sepp & km / sum)
-                End If
-
-                'Em
-                For e = 0 To ADV.EMdim
-                    If km = 0 Then
-                        s.Append(Sepp & "-")
-                    Else
-                        s.Append(Sepp & EMsum(VehType)(e) / km)
-                    End If
-                Next
-
-                'Writing
-                fSSUM.WriteLine(s.ToString)
-
-            Next
-
-            '** Total
-            s.Length = 0
-
-            'Type
-            s.Append("Sum")
-
-            'Number of Vehicles
-            s.Append(Sepp & CStr(AllVehCount()))
-
-            'Travelling-time
-            sum = AllVehTime()
-            s.Append(Sepp & CStr(sum))
-
-            'km
-            km = AllVehDist()
-            s.Append(Sepp & km)
-
-            'Speed
-            If sum = 0 Then
-                s.Append(Sepp & "-")
-            Else
-                s.Append(Sepp & km / sum)
-            End If
-
-            'Em
-            For e = 0 To ADV.EMdim
-                If km = 0 Then
-                    s.Append(Sepp & "-")
-                Else
-                    sum = 0
-                    For Each KVl In EMsum
-                        sum += KVl.Value(e)
-                    Next
-                    s.Append(Sepp & sum / km)
-                End If
-            Next
-
-            'Writing
-            fSSUM.WriteLine(s.ToString)
-
-            fSSUM.WriteLine(" ")
-
-            '****************************************************************
-            '*************************** Em absolut *************************
-
-            'Header
-            s.Length = 0
-            s.Append("*** Absolute Values ***")
-            If GEN.VehMode = tVehMode.EV Then
-                s.Append(Sepp & "EC")
-            Else
-                For e = 0 To ADV.EMdim
-                    s.Append(Sepp & MODdata.Em.EmComp(ADV.EMlist(e)).Name)
-                Next
-            End If
-            fSSUM.WriteLine(s.ToString)
-
-            'Untits
-            s.Length = 0
-            s.Append("Vehicle Type")
-            If GEN.VehMode = tVehMode.EV Then
-                s.Append(Sepp & "[kWh]")
-            Else
-                s.Append(Sepp & "[g]")
-                s.Append(Sepp & "[g]")
-                s.Append(Sepp & "[g]")
-                s.Append(Sepp & "[g]")
-                s.Append(Sepp & "[g]")
-                s.Append(Sepp & "[#]")
-                s.Append(Sepp & "[g]")
-            End If
-            fSSUM.WriteLine(s.ToString)
-
-            '** Results per Veh-Type
-            For Each VehType In ADV.FLTfleet.Keys
-
-                s.Length = 0
-
-                'Type
-                s.Append(VehType)
-
-                'Em
-                For e = 0 To ADV.EMdim
-                    s.Append(Sepp & EMsum(VehType)(e))
-                Next
-
-                'Writing
-                fSSUM.WriteLine(s.ToString)
-
-            Next
-
-            '** Total
-            s.Length = 0
-
-            'Type
-            s.Append("Sum")
-
-            'Em
-            For e = 0 To ADV.EMdim
-                sum = 0
-                For Each KVl In EMsum
-                    sum += KVl.Value(e)
-                Next
-                s.Append(Sepp & sum)
-            Next
-
-            'Writing
-            fSSUM.WriteLine(s.ToString)
-
-            'Close file
-            fSSUM.Close()
-
-            Return True
-
-
-        End Function
-
-        Public Function AllVehCount() As Integer
-            Dim sum As Integer
-            Dim KV As KeyValuePair(Of String, Integer)
-            sum = 0
-            For Each KV In VehCount
-                sum += KV.Value
-            Next
-            Return sum
-        End Function
-
-        Public Function AllVehDist() As Double
-            Dim sum As Double
-            Dim KV As KeyValuePair(Of String, Double)
-            sum = 0
-            For Each KV In VehDist
-                sum += KV.Value
-            Next
-            Return sum
-        End Function
-
-        Public Function AllVehTime() As Double
-            Dim sum As Double
-            Dim KV As KeyValuePair(Of String, Double)
-            sum = 0
-            For Each KV In VehTime
-                sum += KV.Value
-            Next
-            Return sum
-        End Function
-
-        Public Function AllEm(ByVal EmKompNr As String) As Double
-            Dim sum As Double
-            Dim KV As KeyValuePair(Of String, List(Of Double))
-            sum = 0
-            For Each KV In EMsum
-                sum += KV.Value(EmKompNr)
-            Next
-            Return sum
-        End Function
-
-
-
-    End Class
-
-
-
-
-End Class
-
diff --git a/VECTO/File Browser/FB_Global.vb b/VECTO/File Browser/FB_Global.vb
index c16170b77c..adc85a3c02 100644
--- a/VECTO/File Browser/FB_Global.vb	
+++ b/VECTO/File Browser/FB_Global.vb	
@@ -7,7 +7,6 @@
     '-----------------------------
     Public fbWorkDir As cFileBrowser
     Public fbGEN As cFileBrowser
-    Public fbADV As cFileBrowser
     Public fbFileLists As cFileBrowser
     Public fbVEH As cFileBrowser
     Public fbDRI As cFileBrowser
diff --git a/VECTO/GUI/F_ADV.Designer.vb b/VECTO/GUI/F_ADV.Designer.vb
deleted file mode 100644
index 827b74ea3a..0000000000
--- a/VECTO/GUI/F_ADV.Designer.vb
+++ /dev/null
@@ -1,415 +0,0 @@
-<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
-Partial Class F_ADV
-    Inherits System.Windows.Forms.Form
-
-    'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen.
-    <System.Diagnostics.DebuggerNonUserCode()> _
-    Protected Overrides Sub Dispose(ByVal disposing As Boolean)
-        Try
-            If disposing AndAlso components IsNot Nothing Then
-                components.Dispose()
-            End If
-        Finally
-            MyBase.Dispose(disposing)
-        End Try
-    End Sub
-
-    'Wird vom Windows Form-Designer benötigt.
-    Private components As System.ComponentModel.IContainer
-
-    'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich.
-    'Das Bearbeiten ist mit dem Windows Form-Designer möglich.  
-    'Das Bearbeiten mit dem Code-Editor ist nicht möglich.
-    <System.Diagnostics.DebuggerStepThrough()> _
-    Private Sub InitializeComponent()
-        Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(F_ADV))
-        Me.TextBoxTEM = New System.Windows.Forms.TextBox()
-        Me.TextBoxFLT = New System.Windows.Forms.TextBox()
-        Me.ButtonTEM = New System.Windows.Forms.Button()
-        Me.ButtonFLT = New System.Windows.Forms.Button()
-        Me.TextBoxFZP = New System.Windows.Forms.TextBox()
-        Me.ButtonFZP = New System.Windows.Forms.Button()
-        Me.StatusStrip1 = New System.Windows.Forms.StatusStrip()
-        Me.ToolStripStatusLabelADV = New System.Windows.Forms.ToolStripStatusLabel()
-        Me.Label2 = New System.Windows.Forms.Label()
-        Me.TBseed = New System.Windows.Forms.TextBox()
-        Me.CheckBoxMISKAM = New System.Windows.Forms.CheckBox()
-        Me.Label1 = New System.Windows.Forms.Label()
-        Me.Label3 = New System.Windows.Forms.Label()
-        Me.Label4 = New System.Windows.Forms.Label()
-        Me.Label5 = New System.Windows.Forms.Label()
-        Me.CheckBoxSTRfilter = New System.Windows.Forms.CheckBox()
-        Me.ButOK = New System.Windows.Forms.Button()
-        Me.ButCancel = New System.Windows.Forms.Button()
-        Me.LbSTR = New System.Windows.Forms.ListBox()
-        Me.ButSTRadd = New System.Windows.Forms.Button()
-        Me.ButSTRrem = New System.Windows.Forms.Button()
-        Me.LbFilter0 = New System.Windows.Forms.Label()
-        Me.TbFilter = New System.Windows.Forms.TextBox()
-        Me.LbFilter1 = New System.Windows.Forms.Label()
-        Me.ToolStrip1 = New System.Windows.Forms.ToolStrip()
-        Me.ToolStripBtNew = New System.Windows.Forms.ToolStripButton()
-        Me.ToolStripBtOpen = New System.Windows.Forms.ToolStripButton()
-        Me.ToolStripBtSave = New System.Windows.Forms.ToolStripButton()
-        Me.ToolStripBtSaveAs = New System.Windows.Forms.ToolStripButton()
-        Me.ToolStripSeparator1 = New System.Windows.Forms.ToolStripSeparator()
-        Me.ToolStripBtSendTo = New System.Windows.Forms.ToolStripButton()
-        Me.StatusStrip1.SuspendLayout()
-        Me.ToolStrip1.SuspendLayout()
-        Me.SuspendLayout()
-        '
-        'TextBoxTEM
-        '
-        Me.TextBoxTEM.Enabled = False
-        Me.TextBoxTEM.Location = New System.Drawing.Point(15, 255)
-        Me.TextBoxTEM.Name = "TextBoxTEM"
-        Me.TextBoxTEM.Size = New System.Drawing.Size(402, 20)
-        Me.TextBoxTEM.TabIndex = 13
-        '
-        'TextBoxFLT
-        '
-        Me.TextBoxFLT.Location = New System.Drawing.Point(15, 211)
-        Me.TextBoxFLT.Name = "TextBoxFLT"
-        Me.TextBoxFLT.Size = New System.Drawing.Size(402, 20)
-        Me.TextBoxFLT.TabIndex = 13
-        '
-        'ButtonTEM
-        '
-        Me.ButtonTEM.Enabled = False
-        Me.ButtonTEM.Location = New System.Drawing.Point(423, 254)
-        Me.ButtonTEM.Name = "ButtonTEM"
-        Me.ButtonTEM.Size = New System.Drawing.Size(28, 21)
-        Me.ButtonTEM.TabIndex = 7
-        Me.ButtonTEM.Text = "..."
-        Me.ButtonTEM.UseVisualStyleBackColor = True
-        '
-        'ButtonFLT
-        '
-        Me.ButtonFLT.Location = New System.Drawing.Point(423, 211)
-        Me.ButtonFLT.Name = "ButtonFLT"
-        Me.ButtonFLT.Size = New System.Drawing.Size(28, 21)
-        Me.ButtonFLT.TabIndex = 6
-        Me.ButtonFLT.Text = "..."
-        Me.ButtonFLT.UseVisualStyleBackColor = True
-        '
-        'TextBoxFZP
-        '
-        Me.TextBoxFZP.Location = New System.Drawing.Point(15, 167)
-        Me.TextBoxFZP.Name = "TextBoxFZP"
-        Me.TextBoxFZP.Size = New System.Drawing.Size(402, 20)
-        Me.TextBoxFZP.TabIndex = 13
-        '
-        'ButtonFZP
-        '
-        Me.ButtonFZP.Location = New System.Drawing.Point(423, 166)
-        Me.ButtonFZP.Name = "ButtonFZP"
-        Me.ButtonFZP.Size = New System.Drawing.Size(28, 21)
-        Me.ButtonFZP.TabIndex = 5
-        Me.ButtonFZP.Text = "..."
-        Me.ButtonFZP.UseVisualStyleBackColor = True
-        '
-        'StatusStrip1
-        '
-        Me.StatusStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ToolStripStatusLabelADV})
-        Me.StatusStrip1.Location = New System.Drawing.Point(0, 500)
-        Me.StatusStrip1.Name = "StatusStrip1"
-        Me.StatusStrip1.Size = New System.Drawing.Size(466, 22)
-        Me.StatusStrip1.SizingGrip = False
-        Me.StatusStrip1.TabIndex = 2
-        Me.StatusStrip1.Text = "StatusStrip1"
-        '
-        'ToolStripStatusLabelADV
-        '
-        Me.ToolStripStatusLabelADV.Name = "ToolStripStatusLabelADV"
-        Me.ToolStripStatusLabelADV.Size = New System.Drawing.Size(138, 17)
-        Me.ToolStripStatusLabelADV.Text = "ToolStripStatusLabelADV"
-        '
-        'Label2
-        '
-        Me.Label2.AutoSize = True
-        Me.Label2.Location = New System.Drawing.Point(12, 38)
-        Me.Label2.Name = "Label2"
-        Me.Label2.Size = New System.Drawing.Size(123, 13)
-        Me.Label2.TabIndex = 4
-        Me.Label2.Text = "Seed for fleet distribution"
-        '
-        'TBseed
-        '
-        Me.TBseed.Location = New System.Drawing.Point(144, 35)
-        Me.TBseed.Name = "TBseed"
-        Me.TBseed.Size = New System.Drawing.Size(46, 20)
-        Me.TBseed.TabIndex = 5
-        '
-        'CheckBoxMISKAM
-        '
-        Me.CheckBoxMISKAM.AutoSize = True
-        Me.CheckBoxMISKAM.Checked = True
-        Me.CheckBoxMISKAM.CheckState = System.Windows.Forms.CheckState.Checked
-        Me.CheckBoxMISKAM.Location = New System.Drawing.Point(15, 68)
-        Me.CheckBoxMISKAM.Name = "CheckBoxMISKAM"
-        Me.CheckBoxMISKAM.Size = New System.Drawing.Size(136, 17)
-        Me.CheckBoxMISKAM.TabIndex = 6
-        Me.CheckBoxMISKAM.Text = "Segment-related output" & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10)
-        Me.CheckBoxMISKAM.UseVisualStyleBackColor = True
-        '
-        'Label1
-        '
-        Me.Label1.AutoSize = True
-        Me.Label1.Location = New System.Drawing.Point(12, 151)
-        Me.Label1.Name = "Label1"
-        Me.Label1.Size = New System.Drawing.Size(63, 13)
-        Me.Label1.TabIndex = 7
-        Me.Label1.Text = "Traffic Data"
-        '
-        'Label3
-        '
-        Me.Label3.AutoSize = True
-        Me.Label3.Location = New System.Drawing.Point(12, 195)
-        Me.Label3.Name = "Label3"
-        Me.Label3.Size = New System.Drawing.Size(121, 13)
-        Me.Label3.TabIndex = 8
-        Me.Label3.Text = "Fleet Composition (.FLT)"
-        '
-        'Label4
-        '
-        Me.Label4.AutoSize = True
-        Me.Label4.Location = New System.Drawing.Point(12, 239)
-        Me.Label4.Name = "Label4"
-        Me.Label4.Size = New System.Drawing.Size(258, 13)
-        Me.Label4.TabIndex = 9
-        Me.Label4.Text = "Temperature Ditribution (not supported in this version)"
-        '
-        'Label5
-        '
-        Me.Label5.AutoSize = True
-        Me.Label5.Location = New System.Drawing.Point(12, 283)
-        Me.Label5.Name = "Label5"
-        Me.Label5.Size = New System.Drawing.Size(75, 13)
-        Me.Label5.TabIndex = 10
-        Me.Label5.Text = "Segment Data"
-        '
-        'CheckBoxSTRfilter
-        '
-        Me.CheckBoxSTRfilter.AutoSize = True
-        Me.CheckBoxSTRfilter.Location = New System.Drawing.Point(15, 91)
-        Me.CheckBoxSTRfilter.Name = "CheckBoxSTRfilter"
-        Me.CheckBoxSTRfilter.Size = New System.Drawing.Size(161, 17)
-        Me.CheckBoxSTRfilter.TabIndex = 14
-        Me.CheckBoxSTRfilter.Text = "Filter vehicles by segment ID"
-        Me.CheckBoxSTRfilter.UseVisualStyleBackColor = True
-        '
-        'ButOK
-        '
-        Me.ButOK.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
-        Me.ButOK.Location = New System.Drawing.Point(298, 474)
-        Me.ButOK.Name = "ButOK"
-        Me.ButOK.Size = New System.Drawing.Size(75, 23)
-        Me.ButOK.TabIndex = 15
-        Me.ButOK.Text = "OK"
-        Me.ButOK.UseVisualStyleBackColor = True
-        '
-        'ButCancel
-        '
-        Me.ButCancel.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
-        Me.ButCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel
-        Me.ButCancel.Location = New System.Drawing.Point(379, 474)
-        Me.ButCancel.Name = "ButCancel"
-        Me.ButCancel.Size = New System.Drawing.Size(75, 23)
-        Me.ButCancel.TabIndex = 17
-        Me.ButCancel.Text = "Cancel"
-        Me.ButCancel.UseVisualStyleBackColor = True
-        '
-        'LbSTR
-        '
-        Me.LbSTR.FormattingEnabled = True
-        Me.LbSTR.HorizontalScrollbar = True
-        Me.LbSTR.Location = New System.Drawing.Point(15, 299)
-        Me.LbSTR.Name = "LbSTR"
-        Me.LbSTR.SelectionMode = System.Windows.Forms.SelectionMode.MultiExtended
-        Me.LbSTR.Size = New System.Drawing.Size(436, 121)
-        Me.LbSTR.TabIndex = 18
-        '
-        'ButSTRadd
-        '
-        Me.ButSTRadd.Location = New System.Drawing.Point(15, 426)
-        Me.ButSTRadd.Name = "ButSTRadd"
-        Me.ButSTRadd.Size = New System.Drawing.Size(137, 23)
-        Me.ButSTRadd.TabIndex = 19
-        Me.ButSTRadd.Text = "Add Files"
-        Me.ButSTRadd.UseVisualStyleBackColor = True
-        '
-        'ButSTRrem
-        '
-        Me.ButSTRrem.Location = New System.Drawing.Point(317, 426)
-        Me.ButSTRrem.Name = "ButSTRrem"
-        Me.ButSTRrem.Size = New System.Drawing.Size(137, 23)
-        Me.ButSTRrem.TabIndex = 19
-        Me.ButSTRrem.Text = "Remove Selected Files"
-        Me.ButSTRrem.UseVisualStyleBackColor = True
-        '
-        'LbFilter0
-        '
-        Me.LbFilter0.AutoSize = True
-        Me.LbFilter0.Location = New System.Drawing.Point(37, 117)
-        Me.LbFilter0.Name = "LbFilter0"
-        Me.LbFilter0.Size = New System.Drawing.Size(195, 13)
-        Me.LbFilter0.TabIndex = 20
-        Me.LbFilter0.Text = "Distance filter for segment results output"
-        '
-        'TbFilter
-        '
-        Me.TbFilter.Location = New System.Drawing.Point(238, 114)
-        Me.TbFilter.Name = "TbFilter"
-        Me.TbFilter.Size = New System.Drawing.Size(42, 20)
-        Me.TbFilter.TabIndex = 21
-        '
-        'LbFilter1
-        '
-        Me.LbFilter1.AutoSize = True
-        Me.LbFilter1.Location = New System.Drawing.Point(286, 117)
-        Me.LbFilter1.Name = "LbFilter1"
-        Me.LbFilter1.Size = New System.Drawing.Size(21, 13)
-        Me.LbFilter1.TabIndex = 22
-        Me.LbFilter1.Text = "[%]"
-        '
-        'ToolStrip1
-        '
-        Me.ToolStrip1.GripStyle = System.Windows.Forms.ToolStripGripStyle.Hidden
-        Me.ToolStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ToolStripBtNew, Me.ToolStripBtOpen, Me.ToolStripBtSave, Me.ToolStripBtSaveAs, Me.ToolStripSeparator1, Me.ToolStripBtSendTo})
-        Me.ToolStrip1.Location = New System.Drawing.Point(0, 0)
-        Me.ToolStrip1.Name = "ToolStrip1"
-        Me.ToolStrip1.Size = New System.Drawing.Size(466, 25)
-        Me.ToolStrip1.TabIndex = 23
-        Me.ToolStrip1.Text = "ToolStrip1"
-        '
-        'ToolStripBtNew
-        '
-        Me.ToolStripBtNew.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
-        Me.ToolStripBtNew.Image = Global.VECTO.My.Resources.Resources.blue_document_icon
-        Me.ToolStripBtNew.ImageTransparentColor = System.Drawing.Color.Magenta
-        Me.ToolStripBtNew.Name = "ToolStripBtNew"
-        Me.ToolStripBtNew.Size = New System.Drawing.Size(23, 22)
-        Me.ToolStripBtNew.Text = "New"
-        Me.ToolStripBtNew.ToolTipText = "New"
-        '
-        'ToolStripBtOpen
-        '
-        Me.ToolStripBtOpen.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
-        Me.ToolStripBtOpen.Image = Global.VECTO.My.Resources.Resources.Open_icon
-        Me.ToolStripBtOpen.ImageTransparentColor = System.Drawing.Color.Magenta
-        Me.ToolStripBtOpen.Name = "ToolStripBtOpen"
-        Me.ToolStripBtOpen.Size = New System.Drawing.Size(23, 22)
-        Me.ToolStripBtOpen.Text = "Open"
-        Me.ToolStripBtOpen.ToolTipText = "Open..."
-        '
-        'ToolStripBtSave
-        '
-        Me.ToolStripBtSave.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
-        Me.ToolStripBtSave.Image = Global.VECTO.My.Resources.Resources.Actions_document_save_icon
-        Me.ToolStripBtSave.ImageTransparentColor = System.Drawing.Color.Magenta
-        Me.ToolStripBtSave.Name = "ToolStripBtSave"
-        Me.ToolStripBtSave.Size = New System.Drawing.Size(23, 22)
-        Me.ToolStripBtSave.Text = "Save"
-        Me.ToolStripBtSave.ToolTipText = "Save"
-        '
-        'ToolStripBtSaveAs
-        '
-        Me.ToolStripBtSaveAs.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
-        Me.ToolStripBtSaveAs.Image = Global.VECTO.My.Resources.Resources.Actions_document_save_as_icon
-        Me.ToolStripBtSaveAs.ImageTransparentColor = System.Drawing.Color.Magenta
-        Me.ToolStripBtSaveAs.Name = "ToolStripBtSaveAs"
-        Me.ToolStripBtSaveAs.Size = New System.Drawing.Size(23, 22)
-        Me.ToolStripBtSaveAs.Text = "Save As"
-        Me.ToolStripBtSaveAs.ToolTipText = "Save As..."
-        '
-        'ToolStripSeparator1
-        '
-        Me.ToolStripSeparator1.Name = "ToolStripSeparator1"
-        Me.ToolStripSeparator1.Size = New System.Drawing.Size(6, 25)
-        '
-        'ToolStripBtSendTo
-        '
-        Me.ToolStripBtSendTo.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image
-        Me.ToolStripBtSendTo.Image = Global.VECTO.My.Resources.Resources.export_icon
-        Me.ToolStripBtSendTo.ImageTransparentColor = System.Drawing.Color.Magenta
-        Me.ToolStripBtSendTo.Name = "ToolStripBtSendTo"
-        Me.ToolStripBtSendTo.Size = New System.Drawing.Size(23, 22)
-        Me.ToolStripBtSendTo.Text = "Send to ADV List"
-        Me.ToolStripBtSendTo.ToolTipText = "Send to ADV List"
-        '
-        'F_ADV
-        '
-        Me.AcceptButton = Me.ButOK
-        Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
-        Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
-        Me.CancelButton = Me.ButCancel
-        Me.ClientSize = New System.Drawing.Size(466, 522)
-        Me.Controls.Add(Me.ToolStrip1)
-        Me.Controls.Add(Me.LbFilter1)
-        Me.Controls.Add(Me.TbFilter)
-        Me.Controls.Add(Me.LbFilter0)
-        Me.Controls.Add(Me.ButSTRrem)
-        Me.Controls.Add(Me.ButSTRadd)
-        Me.Controls.Add(Me.LbSTR)
-        Me.Controls.Add(Me.ButCancel)
-        Me.Controls.Add(Me.ButOK)
-        Me.Controls.Add(Me.CheckBoxSTRfilter)
-        Me.Controls.Add(Me.Label5)
-        Me.Controls.Add(Me.TextBoxTEM)
-        Me.Controls.Add(Me.Label4)
-        Me.Controls.Add(Me.ButtonTEM)
-        Me.Controls.Add(Me.TextBoxFLT)
-        Me.Controls.Add(Me.Label3)
-        Me.Controls.Add(Me.ButtonFLT)
-        Me.Controls.Add(Me.TextBoxFZP)
-        Me.Controls.Add(Me.Label1)
-        Me.Controls.Add(Me.CheckBoxMISKAM)
-        Me.Controls.Add(Me.TBseed)
-        Me.Controls.Add(Me.ButtonFZP)
-        Me.Controls.Add(Me.Label2)
-        Me.Controls.Add(Me.StatusStrip1)
-        Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle
-        Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon)
-        Me.MaximizeBox = False
-        Me.Name = "F_ADV"
-        Me.Text = "ADV Editor"
-        Me.StatusStrip1.ResumeLayout(False)
-        Me.StatusStrip1.PerformLayout()
-        Me.ToolStrip1.ResumeLayout(False)
-        Me.ToolStrip1.PerformLayout()
-        Me.ResumeLayout(False)
-        Me.PerformLayout()
-
-    End Sub
-    Friend WithEvents ButtonFZP As System.Windows.Forms.Button
-    Friend WithEvents ButtonFLT As System.Windows.Forms.Button
-    Friend WithEvents ButtonTEM As System.Windows.Forms.Button
-    Friend WithEvents StatusStrip1 As System.Windows.Forms.StatusStrip
-    Friend WithEvents ToolStripStatusLabelADV As System.Windows.Forms.ToolStripStatusLabel
-    Friend WithEvents Label2 As System.Windows.Forms.Label
-    Friend WithEvents TBseed As System.Windows.Forms.TextBox
-    Friend WithEvents CheckBoxMISKAM As System.Windows.Forms.CheckBox
-    Friend WithEvents TextBoxTEM As System.Windows.Forms.TextBox
-    Friend WithEvents TextBoxFLT As System.Windows.Forms.TextBox
-    Friend WithEvents TextBoxFZP As System.Windows.Forms.TextBox
-    Friend WithEvents Label1 As System.Windows.Forms.Label
-    Friend WithEvents Label3 As System.Windows.Forms.Label
-    Friend WithEvents Label4 As System.Windows.Forms.Label
-    Friend WithEvents Label5 As System.Windows.Forms.Label
-    Friend WithEvents CheckBoxSTRfilter As System.Windows.Forms.CheckBox
-    Friend WithEvents ButOK As System.Windows.Forms.Button
-    Friend WithEvents ButCancel As System.Windows.Forms.Button
-    Friend WithEvents LbSTR As System.Windows.Forms.ListBox
-    Friend WithEvents ButSTRadd As System.Windows.Forms.Button
-    Friend WithEvents ButSTRrem As System.Windows.Forms.Button
-    Friend WithEvents LbFilter0 As System.Windows.Forms.Label
-    Friend WithEvents TbFilter As System.Windows.Forms.TextBox
-    Friend WithEvents LbFilter1 As System.Windows.Forms.Label
-    Friend WithEvents ToolStrip1 As System.Windows.Forms.ToolStrip
-    Friend WithEvents ToolStripBtNew As System.Windows.Forms.ToolStripButton
-    Friend WithEvents ToolStripBtOpen As System.Windows.Forms.ToolStripButton
-    Friend WithEvents ToolStripBtSave As System.Windows.Forms.ToolStripButton
-    Friend WithEvents ToolStripBtSaveAs As System.Windows.Forms.ToolStripButton
-    Friend WithEvents ToolStripSeparator1 As System.Windows.Forms.ToolStripSeparator
-    Friend WithEvents ToolStripBtSendTo As System.Windows.Forms.ToolStripButton
-End Class
diff --git a/VECTO/GUI/F_ADV.resx b/VECTO/GUI/F_ADV.resx
deleted file mode 100644
index 89a39fff28..0000000000
--- a/VECTO/GUI/F_ADV.resx
+++ /dev/null
@@ -1,270 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<root>
-  <!-- 
-    Microsoft ResX Schema 
-    
-    Version 2.0
-    
-    The primary goals of this format is to allow a simple XML format 
-    that is mostly human readable. The generation and parsing of the 
-    various data types are done through the TypeConverter classes 
-    associated with the data types.
-    
-    Example:
-    
-    ... ado.net/XML headers & schema ...
-    <resheader name="resmimetype">text/microsoft-resx</resheader>
-    <resheader name="version">2.0</resheader>
-    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
-    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
-    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
-    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
-    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
-        <value>[base64 mime encoded serialized .NET Framework object]</value>
-    </data>
-    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
-        <comment>This is a comment</comment>
-    </data>
-                
-    There are any number of "resheader" rows that contain simple 
-    name/value pairs.
-    
-    Each data row contains a name, and value. The row also contains a 
-    type or mimetype. Type corresponds to a .NET class that support 
-    text/value conversion through the TypeConverter architecture. 
-    Classes that don't support this are serialized and stored with the 
-    mimetype set.
-    
-    The mimetype is used for serialized objects, and tells the 
-    ResXResourceReader how to depersist the object. This is currently not 
-    extensible. For a given mimetype the value must be set accordingly:
-    
-    Note - application/x-microsoft.net.object.binary.base64 is the format 
-    that the ResXResourceWriter will generate, however the reader can 
-    read any of the formats listed below.
-    
-    mimetype: application/x-microsoft.net.object.binary.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
-            : and then encoded with base64 encoding.
-    
-    mimetype: application/x-microsoft.net.object.soap.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
-            : and then encoded with base64 encoding.
-
-    mimetype: application/x-microsoft.net.object.bytearray.base64
-    value   : The object must be serialized into a byte array 
-            : using a System.ComponentModel.TypeConverter
-            : and then encoded with base64 encoding.
-    -->
-  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
-    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
-    <xsd:element name="root" msdata:IsDataSet="true">
-      <xsd:complexType>
-        <xsd:choice maxOccurs="unbounded">
-          <xsd:element name="metadata">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" />
-              </xsd:sequence>
-              <xsd:attribute name="name" use="required" type="xsd:string" />
-              <xsd:attribute name="type" type="xsd:string" />
-              <xsd:attribute name="mimetype" type="xsd:string" />
-              <xsd:attribute ref="xml:space" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="assembly">
-            <xsd:complexType>
-              <xsd:attribute name="alias" type="xsd:string" />
-              <xsd:attribute name="name" type="xsd:string" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="data">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
-              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
-              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
-              <xsd:attribute ref="xml:space" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="resheader">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" />
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:choice>
-      </xsd:complexType>
-    </xsd:element>
-  </xsd:schema>
-  <resheader name="resmimetype">
-    <value>text/microsoft-resx</value>
-  </resheader>
-  <resheader name="version">
-    <value>2.0</value>
-  </resheader>
-  <resheader name="reader">
-    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <resheader name="writer">
-    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <metadata name="StatusStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
-    <value>125, 17</value>
-  </metadata>
-  <metadata name="ToolStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
-    <value>349, 17</value>
-  </metadata>
-  <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
-  <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-    <value>
-        AAABAAMAICAQAAAAAADoAgAANgAAACAgAAABABgAqAwAAB4DAAAgIAAAAQAgAKgQAADGDwAAKAAAACAA
-        AABAAAAAAQAEAAAAAACAAgAAAAAAAAAAAAAAAAAAAAAAADAQmADw8PgAoJjQAIBwwABoULAA4ODwAEAo
-        oADY0OgAyMDgAJiIyACwqNgAUECoADAYmABwYLgA+Pj4AIh4wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAADu7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u
-        7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u0E7u5gnsAMbY7u7qAN7u7qDFEYAF7Aa8DC
-        7u7QDB7u7mAAAAvuwK4dDF7hwMCu7u4wbdAC7sCu4cCe6gwwTu7ugMGAxe7Aru6w3uQDgMXu7uYK8E7u
-        wK7uYD5cCuYC7u7pDWCu7sCu6AAuIMHjBO7u5wwMHu7AmCwGHrDe6Axe7u6wDe7uwAAAt+UAru5gnu7u
-        r/fu7v//mO7o/x7ury7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u
-        7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7u7gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAP///////////////////////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////
-        ////////////////////////KAAAACAAAABAAAAAAQAYAAAAAACADAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        /////////////////////////////////////////////////3ViujMXmW9bt/////////////z8/kMp
-        oTMXmZmLzP///zQYmjMXmTMXmTgcnEkwpHRhusrD5f///////////////////7qx3TMXmTMXmXZju///
-        /////////////////7613zMXmTgdnOnm9PPx+fPx+cK54TMXmTMXmeHd8P///zQYmjMXmUw0plY/qz0i
-        njMXmTQYmqaa0////////////////3NguTMXmTMXmTofnfTz+v////////////////r5/UAloDMXmTMX
-        mTMXmTMXmTMXmTMXmV1Hrv///////zQYmjMXmbKo2f////f2+3FeuDMXmTYam+Dc8P////////Lw+Tgd
-        nDMXmTQYmjMXmbOp2f///////////////////4NywTMXmUAloHNguXFduDMXmTMXmaaZ0////////zQY
-        mjMXmbKo2f////////f2+zgcnDMXmZaIy////////7Cl2DMXmT0inoFwwDMXmWxXtv//////////////
-        /////8vE5TMXmTkenPX0+szF5jMXmTUZmuzq9v///////zQYmjMXmbKo2f///////////1hBrDMXmXlm
-        vP///////2hTtDMXmXpovcvE5TMXmTYam+7r9/////////////////7+/0kwpDMXmbiu3Ih3xDMXmWpW
-        tf///////////zQYmjMXmbKo2f///////////0ctozMXmYBuwP///+vp9TUZmjMXmb613/39/kUsojMX
-        mamd1P///////////////////5CByDMXmXNguUctozMXmbOp2f///////////zQYmjMXmbKo2f//////
-        /87H5zMXmTMXma2h1v///6aZ0zMXmTwinvj3/P///4V1wjMXmWFMsP///////////////////9nU7DMX
-        mTQYmjMXmTofnfTz+v///////////zQYmjMXmZaIy8zF5qqf1T4jnzMXmUw0pvX0+v///11HrjMXmXlm
-        vP///////8rC5TMXmTQYmuXh8v///////////////////1Q9qjMXmTMXmXhlvP///////////////zQY
-        mjMXmTMXmTMXmTMXmTMXmVE5qN7Z7////+Le8TMXmTMXmbyz3v////////z8/kQqojMXmZ6Rz///////
-        /////////////76134l5xIl5xNPM6f///////////////4l5xIl5xIl5xI1+xqGU0Ma/4/39/v//////
-        /87H54l5xIl5xPf2+////////////7Cl2Il5xKaa0///////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        /////////////////////////////////////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAP///////////////////////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////
-        ////////////////////////KAAAACAAAABAAAAAAQAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////dWK6/zMXmf9vW7f//////////////////Pz+/0Mp
-        of8zF5n/mYvM//////80GJr/MxeZ/zMXmf84HJz/STCk/3Rhuv/Kw+X/////////////////////////
-        //+6sd3/MxeZ/zMXmf92Y7v///////////////////////////++td//MxeZ/zgdnP/p5vT/8/H5//Px
-        +f/CueH/MxeZ/zMXmf/h3fD//////zQYmv8zF5n/TDSm/1Y/q/89Ip7/MxeZ/zQYmv+mmtP/////////
-        /////////////3Nguf8zF5n/MxeZ/zofnf/08/r///////////////////////r5/f9AJaD/MxeZ/zMX
-        mf8zF5n/MxeZ/zMXmf8zF5n/XUeu////////////NBia/zMXmf+yqNn///////f2+/9xXrj/MxeZ/zYa
-        m//g3PD////////////y8Pn/OB2c/zMXmf80GJr/MxeZ/7Op2f///////////////////////////4Ny
-        wf8zF5n/QCWg/3Nguf9xXbj/MxeZ/zMXmf+mmdP///////////80GJr/MxeZ/7Ko2f////////////f2
-        +/84HJz/MxeZ/5aIy////////////7Cl2P8zF5n/PSKe/4FwwP8zF5n/bFe2////////////////////
-        ////////y8Tl/zMXmf85Hpz/9fT6/8zF5v8zF5n/NRma/+zq9v///////////zQYmv8zF5n/sqjZ////
-        /////////////1hBrP8zF5n/eWa8////////////aFO0/zMXmf96aL3/y8Tl/zMXmf82Gpv/7uv3////
-        ///////////////////+/v//STCk/zMXmf+4rtz/iHfE/zMXmf9qVrX/////////////////NBia/zMX
-        mf+yqNn/////////////////Ry2j/zMXmf+AbsD//////+vp9f81GZr/MxeZ/7613//9/f7/RSyi/zMX
-        mf+pndT///////////////////////////+Qgcj/MxeZ/3Nguf9HLaP/MxeZ/7Op2f//////////////
-        //80GJr/MxeZ/7Ko2f///////////87H5/8zF5n/MxeZ/62h1v//////ppnT/zMXmf88Ip7/+Pf8////
-        //+FdcL/MxeZ/2FMsP///////////////////////////9nU7P8zF5n/NBia/zMXmf86H53/9PP6////
-        /////////////zQYmv8zF5n/lojL/8zF5v+qn9X/PiOf/zMXmf9MNKb/9fT6//////9dR67/MxeZ/3lm
-        vP///////////8rC5f8zF5n/NBia/+Xh8v///////////////////////////1Q9qv8zF5n/MxeZ/3hl
-        vP//////////////////////NBia/zMXmf8zF5n/MxeZ/zMXmf8zF5n/UTmo/97Z7///////4t7x/zMX
-        mf8zF5n/vLPe/////////////Pz+/0Qqov8zF5n/npHP////////////////////////////vrXf/4l5
-        xP+JecT/08zp//////////////////////+JecT/iXnE/4l5xP+Nfsb/oZTQ/8a/4//9/f7/////////
-        ///Ox+f/iXnE/4l5xP/39vv/////////////////sKXY/4l5xP+mmtP/////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        ////////////////////////////////////////////////////////////////////////////////
-        //////////////////////////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAD///////////////////////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-        AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//
-        /////////////////////////////w==
-</value>
-  </data>
-</root>
\ No newline at end of file
diff --git a/VECTO/GUI/F_ADV.vb b/VECTO/GUI/F_ADV.vb
deleted file mode 100644
index 1232e5f2a5..0000000000
--- a/VECTO/GUI/F_ADV.vb
+++ /dev/null
@@ -1,323 +0,0 @@
-Public Class F_ADV
-
-    Private Const IFanz As Int16 = 4
-    Dim Advfile As String
-    Dim Changed As Boolean = False
-
-    'Initialize
-    Private Sub F05_ADV_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
-        Changed = False
-    End Sub
-
-    'Close
-    Private Sub F05_ADV_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
-        If e.CloseReason <> CloseReason.ApplicationExitCall And e.CloseReason <> CloseReason.WindowsShutDown Then
-            e.Cancel = ChangeCheckCancel()
-        End If
-    End Sub
-
-    'InputFile controls ------------------------------------------
-  
-    'Browse Button-Click Events
-    Private Sub ButtonFZP_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonFZP.Click
-        If fbFZP.OpenDialog(fFileRepl(Me.TextBoxFZP.Text, fPATH(Advfile))) Then Me.TextBoxFZP.Text = fbFZP.Files(0)
-    End Sub
-
-    Private Sub ButtonFLT_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonFLT.Click
-        If fbFLT.OpenDialog(fFileRepl(Me.TextBoxFLT.Text, fPATH(Advfile))) Then Me.TextBoxFLT.Text = fbFLT.Files(0)
-    End Sub
-
-    Private Sub ButtonTEM_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonTEM.Click
-        If fbTEM.OpenDialog(fFileRepl(Me.TextBoxTEM.Text, fPATH(Advfile))) Then Me.TextBoxTEM.Text = fbTEM.Files(0)
-    End Sub
-
-    Private Sub ButSTRadd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButSTRadd.Click
-        Dim file As String
-        If Me.LbSTR.Items.Count > 0 Then
-            file = Me.LbSTR.Items(Me.LbSTR.Items.Count - 1).ToString
-        Else
-            file = ""
-        End If
-        If fbSTR.OpenDialog(file, True) Then
-            For Each file In fbSTR.Files
-                Me.LbSTR.Items.Add(file)
-            Next
-            Change()
-        End If
-    End Sub
-
-    Private Sub ButSTRrem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButSTRrem.Click
-        If Me.LbSTR.SelectedItems.Count > 0 Then Change()
-        Do While Me.LbSTR.SelectedItems.Count > 0
-            Me.LbSTR.Items.Remove(Me.LbSTR.SelectedItems(0))
-        Loop
-    End Sub
-
-#Region "Toolbar"
-
-    'New
-    Private Sub ToolStripBtNew_Click(sender As System.Object, e As System.EventArgs) Handles ToolStripBtNew.Click
-        Call ADVnew()
-    End Sub
-
-    'Open
-    Private Sub ToolStripBtOpen_Click(sender As System.Object, e As System.EventArgs) Handles ToolStripBtOpen.Click
-        If fbADV.OpenDialog(Advfile) Then ADVload2Form(fbADV.Files(0))
-    End Sub
-
-    'Save
-    Private Sub ToolStripBtSave_Click(sender As System.Object, e As System.EventArgs) Handles ToolStripBtSave.Click
-        Save()
-    End Sub
-
-    'Save As
-    Private Sub ToolStripBtSaveAs_Click(sender As System.Object, e As System.EventArgs) Handles ToolStripBtSaveAs.Click
-        If fbADV.SaveDialog(Advfile) Then ADVsave(fbADV.Files(0))
-    End Sub
-
-    'Send to ADV List
-    Private Sub ToolStripBtSendTo_Click(sender As System.Object, e As System.EventArgs) Handles ToolStripBtSendTo.Click
-        If ChangeCheckCancel() Then Exit Sub
-        If Advfile = "" Then
-            MsgBox("File not found!" & ChrW(10) & ChrW(10) & "Save file and try again.")
-        Else
-            F_MAINForm.AddToListViewGEN(Advfile)
-            Me.ToolStripStatusLabelADV.Text = Advfile & " sent to ADV List."
-        End If
-    End Sub
-
-#End Region
-
-    'Save ADV
-    Private Function Save() As Boolean
-        If Advfile = "" Then
-            If fbADV.SaveDialog("") Then
-                Advfile = fbADV.Files(0)
-            Else
-                Return False
-            End If
-        End If
-        Return ADVsave(Advfile)
-    End Function
-
-
-
-    '-------------------------------------------------------------------
-
-
-    'New empty ADV
-    Public Sub ADVnew()
-        If ChangeCheckCancel() Then Exit Sub
-        Me.TBseed.Text = "1"
-        Me.TextBoxFZP.Text = ""
-        Me.TextBoxFLT.Text = ""
-        Me.TextBoxTEM.Text = ""
-        Me.TbFilter.Text = "85"
-        Me.LbSTR.Items.Clear()
-        Me.ToolStripStatusLabelADV.Text = ""
-        Me.CheckBoxMISKAM.Checked = False
-        Me.CheckBoxSTRfilter.Checked = False
-        Changed = False
-        Advfile = ""
-        Me.Text = "ADV Editor"
-        Me.ToolStripStatusLabelADV.Text = "New file"
-    End Sub
-
-    'Load ADV in Form
-    Public Sub ADVload2Form(ByVal file As String)
-        Dim ADV As cADV
-        Dim i As Integer
-
-        If Not IO.File.Exists(file) Then
-            MsgBox("File not found!")
-            Exit Sub
-        End If
-
-        If ChangeCheckCancel() Then Exit Sub
-
-        ADVnew()
-
-        ADV = New cADV
-
-        ADV.FilePath = file
-
-        If Not ADV.ReadFile() Then
-            MsgBox("Cannot read file!")
-            Exit Sub
-        End If
-
-        'Line 1: FZP file
-        Me.TextBoxFZP.Text = ADV.FZPpath(True)
-
-        'Line 2: FLT file
-        Me.TextBoxFLT.Text = ADV.FLTpath(True)
-
-        'Line 3: TEM file
-        Me.TextBoxTEM.Text = ADV.TEMpath(True)
-
-        'Line 4: RndSeed
-        Me.TBseed.Text = ADV.RndSeed
-
-        'Line 5: MISKAMout True/False
-        Me.CheckBoxMISKAM.Checked = ADV.SD3out
-
-        'Line 6: strFilter True/False
-        Me.CheckBoxSTRfilter.Checked = ADV.STRfilter
-
-        'Line 7: Distance filter for SUM.STR
-        Me.TbFilter.Text = ADV.STRSUMdistflt
-
-        'Line 8 +: STR files
-        For i = 1 To ADV.STRcount
-            Me.LbSTR.Items.Add(ADV.STRpaths(i - 1, True))
-        Next
-
-        Advfile = file
-        Me.Text = IO.Path.GetFileName(file) & " - ADV Editor"
-        Changed = False
-        Me.ToolStripStatusLabelADV.Text = "" 'file
-    End Sub
-
-    'Save ADV from Form
-    Private Function ADVsave(ByVal file As String) As Boolean
-        Dim ADV As cADV
-        Dim s As String
-
-        ADV = New cADV
-
-        ADV.FilePath = file
-
-        ADV.FZPpath = Me.TextBoxFZP.Text
-
-        ADV.FLTpath = Me.TextBoxFLT.Text
-
-        ADV.TEMpath = Me.TextBoxTEM.Text
-
-        ADV.RndSeed = Me.TBseed.Text
-
-        ADV.SD3out = Me.CheckBoxMISKAM.Checked
-
-        ADV.STRfilter = Me.CheckBoxSTRfilter.Checked
-
-        ADV.STRSUMdistflt = Me.TbFilter.Text
-
-        'ADV.STRpathsClear()    '<= Nicht notwendig da neues lokales cADV-Objekt |@@| ADV.STRpathsClear()     '<= Not necessary because new local cADV object
-        For Each s In Me.LbSTR.Items
-            ADV.STRpathsAdd(s)
-        Next
-
-        If Not ADV.SaveFile Then
-            MsgBox("Cannot safe to " & file, MsgBoxStyle.Critical)
-            Return False
-        End If
-
-        Advfile = file
-
-        Me.Text = fFILE(file, True) & " - ADV Editor"
-        Advfile = file
-
-        Me.ToolStripStatusLabelADV.Text = file & " saved."
-
-        F_MAINForm.AddToListViewGEN(Advfile)
-
-        Changed = False
-
-        Return True
-
-    End Function
-
-    'TEMformCreator
-    Sub TEMfromCreator(ByVal txt As String)
-        Me.TextBoxTEM.Text = txt
-    End Sub
-
-    'Form changes (control whether GEN saved) ---------------------------------
-    'Event handler for the Form changes
-
-    'Change Status ändern |@@| Change Status change
-    Private Sub Change()
-        Me.ToolStripStatusLabelADV.Text = "Unsaved changes in current file"
-        Changed = True
-    End Sub
-
-    ' "Save changes? "... Return True if user aborts
-    Private Function ChangeCheckCancel() As Boolean
-
-        If Changed Then
-
-            Select Case MsgBox("Save changes ?", MsgBoxStyle.YesNoCancel)
-                Case MsgBoxResult.Yes
-                    Return Not Save()
-                Case MsgBoxResult.Cancel
-                    Return True
-                Case Else ' MsgBoxResult.No
-                    Changed = False
-                    Return False
-            End Select
-
-        Else
-
-            Return False
-
-        End If
-
-    End Function
-    '-----------------------------------------------------------------------------------
-
-   
-
-#Region "Control-Enables und Change!"
-
-    Private Sub CBMISKAM_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBoxMISKAM.CheckedChanged
-        If Me.CheckBoxMISKAM.Checked Then
-            Me.CheckBoxSTRfilter.Checked = True
-            Me.CheckBoxSTRfilter.Enabled = False
-        Else
-            Me.CheckBoxSTRfilter.Enabled = True
-        End If
-        Change()
-    End Sub
-
-    Private Sub CheckBoxSTRfilter_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBoxSTRfilter.CheckedChanged
-        Me.LbSTR.Enabled = Me.CheckBoxSTRfilter.Checked
-        Me.ButSTRadd.Enabled = Me.CheckBoxSTRfilter.Checked
-        Me.ButSTRrem.Enabled = Me.CheckBoxSTRfilter.Checked
-        Me.TbFilter.Enabled = Me.CheckBoxSTRfilter.Checked
-        Me.LbFilter0.Enabled = Me.CheckBoxSTRfilter.Checked
-        Me.LbFilter1.Enabled = Me.CheckBoxSTRfilter.Checked
-        Change()
-    End Sub
-
-    Private Sub TextBoxFZP_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBoxFZP.TextChanged
-        Change()
-    End Sub
-
-    Private Sub TextBoxFLT_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBoxFLT.TextChanged
-        Change()
-    End Sub
-
-    Private Sub TextBoxTEM_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBoxTEM.TextChanged
-        Change()
-    End Sub
-
-    Private Sub TbFilter_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TbFilter.TextChanged
-        Change()
-    End Sub
-
-#End Region
-
-
-
-    'OK (Save & Close)
-    Private Sub ButSaveClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButOK.Click
-        If Not Save() Then Exit Sub
-        Me.Close()
-    End Sub
-
-    'Cancel
-    Private Sub ButCancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButCancel.Click
-        Me.Close()
-    End Sub
-
-
-End Class
diff --git a/VECTO/GUI/F_ADVfzp.Designer.vb b/VECTO/GUI/F_ADVfzp.Designer.vb
deleted file mode 100644
index 497a34216c..0000000000
--- a/VECTO/GUI/F_ADVfzp.Designer.vb
+++ /dev/null
@@ -1,164 +0,0 @@
-<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
-Partial Class F_ADVfzp
-    Inherits System.Windows.Forms.Form
-
-    'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen.
-    <System.Diagnostics.DebuggerNonUserCode()> _
-    Protected Overrides Sub Dispose(ByVal disposing As Boolean)
-        Try
-            If disposing AndAlso components IsNot Nothing Then
-                components.Dispose()
-            End If
-        Finally
-            MyBase.Dispose(disposing)
-        End Try
-    End Sub
-
-    'Wird vom Windows Form-Designer benötigt.
-    Private components As System.ComponentModel.IContainer
-
-    'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich.
-    'Das Bearbeiten ist mit dem Windows Form-Designer möglich.  
-    'Das Bearbeiten mit dem Code-Editor ist nicht möglich.
-    <System.Diagnostics.DebuggerStepThrough()> _
-    Private Sub InitializeComponent()
-        Me.components = New System.ComponentModel.Container
-        Me.TableLayoutPanel1 = New System.Windows.Forms.TableLayoutPanel
-        Me.OK_Button = New System.Windows.Forms.Button
-        Me.Cancel_Button = New System.Windows.Forms.Button
-        Me.RbUseSFZP = New System.Windows.Forms.RadioButton
-        Me.RbUseFZP = New System.Windows.Forms.RadioButton
-        Me.RBAbort = New System.Windows.Forms.RadioButton
-        Me.LbTimer = New System.Windows.Forms.Label
-        Me.LbMsg = New System.Windows.Forms.Label
-        Me.Timer1 = New System.Windows.Forms.Timer(Me.components)
-        Me.TableLayoutPanel1.SuspendLayout()
-        Me.SuspendLayout()
-        '
-        'TableLayoutPanel1
-        '
-        Me.TableLayoutPanel1.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
-        Me.TableLayoutPanel1.ColumnCount = 2
-        Me.TableLayoutPanel1.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50.0!))
-        Me.TableLayoutPanel1.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50.0!))
-        Me.TableLayoutPanel1.Controls.Add(Me.OK_Button, 0, 0)
-        Me.TableLayoutPanel1.Controls.Add(Me.Cancel_Button, 1, 0)
-        Me.TableLayoutPanel1.Location = New System.Drawing.Point(194, 134)
-        Me.TableLayoutPanel1.Name = "TableLayoutPanel1"
-        Me.TableLayoutPanel1.RowCount = 1
-        Me.TableLayoutPanel1.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50.0!))
-        Me.TableLayoutPanel1.Size = New System.Drawing.Size(146, 29)
-        Me.TableLayoutPanel1.TabIndex = 0
-        '
-        'OK_Button
-        '
-        Me.OK_Button.Anchor = System.Windows.Forms.AnchorStyles.None
-        Me.OK_Button.Location = New System.Drawing.Point(3, 3)
-        Me.OK_Button.Name = "OK_Button"
-        Me.OK_Button.Size = New System.Drawing.Size(67, 23)
-        Me.OK_Button.TabIndex = 0
-        Me.OK_Button.Text = "OK"
-        '
-        'Cancel_Button
-        '
-        Me.Cancel_Button.Anchor = System.Windows.Forms.AnchorStyles.None
-        Me.Cancel_Button.DialogResult = System.Windows.Forms.DialogResult.Cancel
-        Me.Cancel_Button.Location = New System.Drawing.Point(76, 3)
-        Me.Cancel_Button.Name = "Cancel_Button"
-        Me.Cancel_Button.Size = New System.Drawing.Size(67, 23)
-        Me.Cancel_Button.TabIndex = 1
-        Me.Cancel_Button.Text = "Cancel"
-        '
-        'RbUseSFZP
-        '
-        Me.RbUseSFZP.AutoSize = True
-        Me.RbUseSFZP.Checked = True
-        Me.RbUseSFZP.Location = New System.Drawing.Point(20, 48)
-        Me.RbUseSFZP.Name = "RbUseSFZP"
-        Me.RbUseSFZP.Size = New System.Drawing.Size(187, 17)
-        Me.RbUseSFZP.TabIndex = 1
-        Me.RbUseSFZP.TabStop = True
-        Me.RbUseSFZP.Text = "Use the .sfzp file. Sorting disabled."
-        Me.RbUseSFZP.UseVisualStyleBackColor = True
-        '
-        'RbUseFZP
-        '
-        Me.RbUseFZP.AutoSize = True
-        Me.RbUseFZP.Location = New System.Drawing.Point(20, 71)
-        Me.RbUseFZP.Name = "RbUseFZP"
-        Me.RbUseFZP.Size = New System.Drawing.Size(317, 17)
-        Me.RbUseFZP.TabIndex = 2
-        Me.RbUseFZP.Text = "Use the original .fzp file. The existing .sfzp file will be replaced."
-        Me.RbUseFZP.UseVisualStyleBackColor = True
-        '
-        'RBAbort
-        '
-        Me.RBAbort.AutoSize = True
-        Me.RBAbort.Location = New System.Drawing.Point(20, 94)
-        Me.RBAbort.Name = "RBAbort"
-        Me.RBAbort.Size = New System.Drawing.Size(53, 17)
-        Me.RBAbort.TabIndex = 3
-        Me.RBAbort.Text = "Abort."
-        Me.RBAbort.UseVisualStyleBackColor = True
-        '
-        'LbTimer
-        '
-        Me.LbTimer.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles)
-        Me.LbTimer.AutoSize = True
-        Me.LbTimer.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
-        Me.LbTimer.Location = New System.Drawing.Point(12, 142)
-        Me.LbTimer.Name = "LbTimer"
-        Me.LbTimer.Size = New System.Drawing.Size(74, 13)
-        Me.LbTimer.TabIndex = 4
-        Me.LbTimer.Text = "Closing Dialog"
-        '
-        'LbMsg
-        '
-        Me.LbMsg.AutoSize = True
-        Me.LbMsg.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
-        Me.LbMsg.Location = New System.Drawing.Point(12, 19)
-        Me.LbMsg.Name = "LbMsg"
-        Me.LbMsg.Size = New System.Drawing.Size(57, 13)
-        Me.LbMsg.TabIndex = 5
-        Me.LbMsg.Text = "Message"
-        '
-        'Timer1
-        '
-        Me.Timer1.Interval = 1000
-        '
-        'F_ADVfzp
-        '
-        Me.AcceptButton = Me.OK_Button
-        Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
-        Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
-        Me.CancelButton = Me.Cancel_Button
-        Me.ClientSize = New System.Drawing.Size(352, 175)
-        Me.Controls.Add(Me.LbMsg)
-        Me.Controls.Add(Me.LbTimer)
-        Me.Controls.Add(Me.RBAbort)
-        Me.Controls.Add(Me.RbUseFZP)
-        Me.Controls.Add(Me.RbUseSFZP)
-        Me.Controls.Add(Me.TableLayoutPanel1)
-        Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog
-        Me.MaximizeBox = False
-        Me.MinimizeBox = False
-        Me.Name = "F_ADVfzp"
-        Me.ShowInTaskbar = False
-        Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent
-        Me.Text = "PHEM ADVANCE"
-        Me.TableLayoutPanel1.ResumeLayout(False)
-        Me.ResumeLayout(False)
-        Me.PerformLayout()
-
-    End Sub
-    Friend WithEvents TableLayoutPanel1 As System.Windows.Forms.TableLayoutPanel
-    Friend WithEvents OK_Button As System.Windows.Forms.Button
-    Friend WithEvents Cancel_Button As System.Windows.Forms.Button
-    Friend WithEvents RbUseSFZP As System.Windows.Forms.RadioButton
-    Friend WithEvents RbUseFZP As System.Windows.Forms.RadioButton
-    Friend WithEvents RBAbort As System.Windows.Forms.RadioButton
-    Friend WithEvents LbTimer As System.Windows.Forms.Label
-    Friend WithEvents LbMsg As System.Windows.Forms.Label
-    Friend WithEvents Timer1 As System.Windows.Forms.Timer
-
-End Class
diff --git a/VECTO/GUI/F_ADVfzp.resx b/VECTO/GUI/F_ADVfzp.resx
deleted file mode 100644
index b6156eff6c..0000000000
--- a/VECTO/GUI/F_ADVfzp.resx
+++ /dev/null
@@ -1,123 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<root>
-  <!-- 
-    Microsoft ResX Schema 
-    
-    Version 2.0
-    
-    The primary goals of this format is to allow a simple XML format 
-    that is mostly human readable. The generation and parsing of the 
-    various data types are done through the TypeConverter classes 
-    associated with the data types.
-    
-    Example:
-    
-    ... ado.net/XML headers & schema ...
-    <resheader name="resmimetype">text/microsoft-resx</resheader>
-    <resheader name="version">2.0</resheader>
-    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
-    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
-    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
-    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
-    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
-        <value>[base64 mime encoded serialized .NET Framework object]</value>
-    </data>
-    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
-        <comment>This is a comment</comment>
-    </data>
-                
-    There are any number of "resheader" rows that contain simple 
-    name/value pairs.
-    
-    Each data row contains a name, and value. The row also contains a 
-    type or mimetype. Type corresponds to a .NET class that support 
-    text/value conversion through the TypeConverter architecture. 
-    Classes that don't support this are serialized and stored with the 
-    mimetype set.
-    
-    The mimetype is used for serialized objects, and tells the 
-    ResXResourceReader how to depersist the object. This is currently not 
-    extensible. For a given mimetype the value must be set accordingly:
-    
-    Note - application/x-microsoft.net.object.binary.base64 is the format 
-    that the ResXResourceWriter will generate, however the reader can 
-    read any of the formats listed below.
-    
-    mimetype: application/x-microsoft.net.object.binary.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
-            : and then encoded with base64 encoding.
-    
-    mimetype: application/x-microsoft.net.object.soap.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
-            : and then encoded with base64 encoding.
-
-    mimetype: application/x-microsoft.net.object.bytearray.base64
-    value   : The object must be serialized into a byte array 
-            : using a System.ComponentModel.TypeConverter
-            : and then encoded with base64 encoding.
-    -->
-  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
-    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
-    <xsd:element name="root" msdata:IsDataSet="true">
-      <xsd:complexType>
-        <xsd:choice maxOccurs="unbounded">
-          <xsd:element name="metadata">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" />
-              </xsd:sequence>
-              <xsd:attribute name="name" use="required" type="xsd:string" />
-              <xsd:attribute name="type" type="xsd:string" />
-              <xsd:attribute name="mimetype" type="xsd:string" />
-              <xsd:attribute ref="xml:space" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="assembly">
-            <xsd:complexType>
-              <xsd:attribute name="alias" type="xsd:string" />
-              <xsd:attribute name="name" type="xsd:string" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="data">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
-              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
-              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
-              <xsd:attribute ref="xml:space" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="resheader">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" />
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:choice>
-      </xsd:complexType>
-    </xsd:element>
-  </xsd:schema>
-  <resheader name="resmimetype">
-    <value>text/microsoft-resx</value>
-  </resheader>
-  <resheader name="version">
-    <value>2.0</value>
-  </resheader>
-  <resheader name="reader">
-    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <resheader name="writer">
-    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <metadata name="Timer1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
-    <value>17, 17</value>
-  </metadata>
-</root>
\ No newline at end of file
diff --git a/VECTO/GUI/F_ADVfzp.vb b/VECTO/GUI/F_ADVfzp.vb
deleted file mode 100644
index 2f8f4897db..0000000000
--- a/VECTO/GUI/F_ADVfzp.vb
+++ /dev/null
@@ -1,68 +0,0 @@
-Imports System.Windows.Forms
-
-Public Class F_ADVfzp
-
-    Private TimerTime As Int16
-
-    Private Sub OK_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK_Button.Click
-        Me.DialogResult = System.Windows.Forms.DialogResult.OK
-        Me.Close()
-    End Sub
-
-    Private Sub Cancel_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cancel_Button.Click
-        Me.DialogResult = System.Windows.Forms.DialogResult.Cancel
-        Me.Close()
-    End Sub
-
-    Private Sub F_ADVfzp_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Click
-        TimerAbort()
-    End Sub
-
-    Private Sub F_ADVfzp_Shown(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Shown
-        TimerTime = 10
-        Me.LbTimer.Text = "Closing Dialog in " & TimerTime & "s"
-        Me.Timer1.Start()
-    End Sub
-
-    Private Sub TimerAbort()
-        Me.Timer1.Stop()
-        Me.LbTimer.Text = " "
-    End Sub
-
-    Public Function Answer(ByVal MsgText As String) As Int16
-        Me.LbMsg.Text = MsgText
-        If Me.ShowDialog() = Windows.Forms.DialogResult.OK Then
-            If Me.RbUseSFZP.Checked Then
-                Return 0
-            ElseIf Me.RbUseFZP.Checked Then
-                Return 1
-            Else
-                Return 2
-            End If
-        Else
-            Return 2
-        End If
-    End Function
-
-    Private Sub Timer1_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles Timer1.Tick
-        TimerTime -= 1S
-        If TimerTime = 0 Then
-            Me.Timer1.Stop()
-            Me.DialogResult = Windows.Forms.DialogResult.OK
-            Me.Close()
-        End If
-        Me.LbTimer.Text = "Closing Dialog in " & TimerTime & "s"
-    End Sub
-
-    Private Sub RbUseSFZP_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RbUseSFZP.CheckedChanged
-        TimerAbort()
-    End Sub
-
-    Private Sub RbUseFZP_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RbUseFZP.CheckedChanged
-        TimerAbort()
-    End Sub
-
-    Private Sub LbTimer_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LbTimer.Click
-        TimerAbort()
-    End Sub
-End Class
diff --git a/VECTO/GUI/F_GEN.vb b/VECTO/GUI/F_GEN.vb
index f4b9377b5a..6af8cba3aa 100644
--- a/VECTO/GUI/F_GEN.vb
+++ b/VECTO/GUI/F_GEN.vb
@@ -858,7 +858,7 @@ Public Class F_GEN
 
         Me.ToolStripStatusLabelGEN.Text = ""
 
-        If PHEMmode <> tPHEMmode.ModeADVANCE Then F_MAINForm.AddToListViewGEN(Genfile)
+        F_MAINForm.AddToListViewGEN(Genfile)
 
         Changed = False
 
diff --git a/VECTO/GUI/F_MAINForm.Designer.vb b/VECTO/GUI/F_MAINForm.Designer.vb
index e2ace3deb6..dca853e94a 100644
--- a/VECTO/GUI/F_MAINForm.Designer.vb
+++ b/VECTO/GUI/F_MAINForm.Designer.vb
@@ -104,13 +104,9 @@ Partial Class F_MAINForm
         Me.VEHEditorToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
         Me.EngineEditorToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
         Me.GearboxEditorToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
-        Me.ADVEditorToolStripMenuItem1 = New System.Windows.Forms.ToolStripMenuItem()
         Me.GRAPHiToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
         Me.ToolStripSeparator6 = New System.Windows.Forms.ToolStripSeparator()
         Me.SignOrVerifyFilesToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
-        Me.ToolStripSeparator1 = New System.Windows.Forms.ToolStripSeparator()
-        Me.CreateTEMFileToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
-        Me.SplitMODFilesToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
         Me.ToolStripSeparator4 = New System.Windows.Forms.ToolStripSeparator()
         Me.OpenLogToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
         Me.ChangeWorkingDirectoryToolStripMenuItem1 = New System.Windows.Forms.ToolStripMenuItem()
@@ -889,7 +885,7 @@ Partial Class F_MAINForm
         '
         'ToolStripDrDnBtTools
         '
-        Me.ToolStripDrDnBtTools.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.GENEditorToolStripMenuItem1, Me.VEHEditorToolStripMenuItem, Me.EngineEditorToolStripMenuItem, Me.GearboxEditorToolStripMenuItem, Me.ADVEditorToolStripMenuItem1, Me.GRAPHiToolStripMenuItem, Me.ToolStripSeparator6, Me.SignOrVerifyFilesToolStripMenuItem, Me.ToolStripSeparator1, Me.CreateTEMFileToolStripMenuItem, Me.SplitMODFilesToolStripMenuItem, Me.ToolStripSeparator4, Me.OpenLogToolStripMenuItem, Me.ChangeWorkingDirectoryToolStripMenuItem1, Me.SettingsToolStripMenuItem})
+        Me.ToolStripDrDnBtTools.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.GENEditorToolStripMenuItem1, Me.VEHEditorToolStripMenuItem, Me.EngineEditorToolStripMenuItem, Me.GearboxEditorToolStripMenuItem, Me.GRAPHiToolStripMenuItem, Me.ToolStripSeparator6, Me.SignOrVerifyFilesToolStripMenuItem, Me.ToolStripSeparator4, Me.OpenLogToolStripMenuItem, Me.ChangeWorkingDirectoryToolStripMenuItem1, Me.SettingsToolStripMenuItem})
         Me.ToolStripDrDnBtTools.Image = Global.VECTO.My.Resources.Resources.Misc_Tools_icon
         Me.ToolStripDrDnBtTools.ImageTransparentColor = System.Drawing.Color.Magenta
         Me.ToolStripDrDnBtTools.Name = "ToolStripDrDnBtTools"
@@ -920,13 +916,6 @@ Partial Class F_MAINForm
         Me.GearboxEditorToolStripMenuItem.Size = New System.Drawing.Size(214, 22)
         Me.GearboxEditorToolStripMenuItem.Text = "Gearbox Editor"
         '
-        'ADVEditorToolStripMenuItem1
-        '
-        Me.ADVEditorToolStripMenuItem1.Name = "ADVEditorToolStripMenuItem1"
-        Me.ADVEditorToolStripMenuItem1.Size = New System.Drawing.Size(214, 22)
-        Me.ADVEditorToolStripMenuItem1.Text = "ADV Editor"
-        Me.ADVEditorToolStripMenuItem1.Visible = False
-        '
         'GRAPHiToolStripMenuItem
         '
         Me.GRAPHiToolStripMenuItem.Name = "GRAPHiToolStripMenuItem"
@@ -945,25 +934,6 @@ Partial Class F_MAINForm
         Me.SignOrVerifyFilesToolStripMenuItem.Size = New System.Drawing.Size(214, 22)
         Me.SignOrVerifyFilesToolStripMenuItem.Text = "Sign or Verify Files"
         '
-        'ToolStripSeparator1
-        '
-        Me.ToolStripSeparator1.Name = "ToolStripSeparator1"
-        Me.ToolStripSeparator1.Size = New System.Drawing.Size(211, 6)
-        '
-        'CreateTEMFileToolStripMenuItem
-        '
-        Me.CreateTEMFileToolStripMenuItem.Name = "CreateTEMFileToolStripMenuItem"
-        Me.CreateTEMFileToolStripMenuItem.Size = New System.Drawing.Size(214, 22)
-        Me.CreateTEMFileToolStripMenuItem.Text = "Create TEM File"
-        Me.CreateTEMFileToolStripMenuItem.Visible = False
-        '
-        'SplitMODFilesToolStripMenuItem
-        '
-        Me.SplitMODFilesToolStripMenuItem.Name = "SplitMODFilesToolStripMenuItem"
-        Me.SplitMODFilesToolStripMenuItem.Size = New System.Drawing.Size(214, 22)
-        Me.SplitMODFilesToolStripMenuItem.Text = "Split MOD Files"
-        Me.SplitMODFilesToolStripMenuItem.Visible = False
-        '
         'ToolStripSeparator4
         '
         Me.ToolStripSeparator4.Name = "ToolStripSeparator4"
@@ -1186,11 +1156,7 @@ Partial Class F_MAINForm
     Friend WithEvents ToolStripBtOpen As System.Windows.Forms.ToolStripButton
     Friend WithEvents ToolStripDrDnBtTools As System.Windows.Forms.ToolStripDropDownButton
     Friend WithEvents GENEditorToolStripMenuItem1 As System.Windows.Forms.ToolStripMenuItem
-    Friend WithEvents ADVEditorToolStripMenuItem1 As System.Windows.Forms.ToolStripMenuItem
     Friend WithEvents VEHEditorToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
-    Friend WithEvents ToolStripSeparator1 As System.Windows.Forms.ToolStripSeparator
-    Friend WithEvents CreateTEMFileToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
-    Friend WithEvents SplitMODFilesToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
     Friend WithEvents ToolStripSeparator4 As System.Windows.Forms.ToolStripSeparator
     Friend WithEvents OpenLogToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
     Friend WithEvents ChangeWorkingDirectoryToolStripMenuItem1 As System.Windows.Forms.ToolStripMenuItem
diff --git a/VECTO/GUI/F_MAINForm.vb b/VECTO/GUI/F_MAINForm.vb
index 69ce453b36..29dccb0e04 100644
--- a/VECTO/GUI/F_MAINForm.vb
+++ b/VECTO/GUI/F_MAINForm.vb
@@ -12,8 +12,6 @@ Public Class F_MAINForm
     Private ConMenTarget As ListView
     Private ConMenTarGEN As Boolean
 
-    Private BGjob As tBGjob
-
     Private MODpath As String
     Private MODVehList As Int32()
 
@@ -62,18 +60,12 @@ Public Class F_MAINForm
 
 #End Region
 
-    Private Enum tBGjob As Short
-        PHEM = 0
-        ModFilter = 1
-    End Enum
-
 #Region "FileBrowser Init/Close"
     Private Sub FB_Initialize()
         FB_Init = False
         fbWorkDir = New cFileBrowser("WorkDir", True)
         fbFileLists = New cFileBrowser("FileLists")
         fbGEN = New cFileBrowser("gen")
-        fbADV = New cFileBrowser("adv")
         fbVEH = New cFileBrowser("vveh")
         fbMAP = New cFileBrowser("vmap")
         fbDRI = New cFileBrowser("vdri")
@@ -107,7 +99,6 @@ Public Class F_MAINForm
         '-------------------------------------------------------
         fbFileLists.Extensions = New String() {"txt"}
         fbGEN.Extensions = New String() {"vecto"}
-        fbADV.Extensions = New String() {"adv"}
         fbVEH.Extensions = New String() {"vveh"}
         fbMAP.Extensions = New String() {"vmap"}
         fbDRI.Extensions = New String() {"vdri"}
@@ -142,7 +133,6 @@ Public Class F_MAINForm
         fbWorkDir.Close()
         fbFileLists.Close()
         fbGEN.Close()
-        fbADV.Close()
         fbVEH.Close()
         fbMAP.Close()
         fbDRI.Close()
@@ -180,6 +170,7 @@ Public Class F_MAINForm
     'PHEM-Launcher
     Public Sub PHEM_Launcher()
         Dim ProgOverall As Boolean
+        Dim GEN0 As cGEN
 
         'Called when PHEM already running
         If PHEMworker.IsBusy Then
@@ -196,8 +187,6 @@ Public Class F_MAINForm
                 PHEMmode = tPHEMmode.ModeSTANDARD
             Case 1
                 PHEMmode = tPHEMmode.ModeBATCH
-            Case 2
-                PHEMmode = tPHEMmode.ModeADVANCE
         End Select
 
         'Wenn mehr als 100 Kombinationen in Batch fragen ob sekündliche Ausgabe |@@| When Batch resulting in more than 100 combinations per second, ask whether to dump-output  per second
@@ -224,10 +213,19 @@ Public Class F_MAINForm
         SetCycleList()
 
         'Check whether Overall-progbar is needed
-        ProgOverall = PHEMmode <> tPHEMmode.ModeADVANCE  ' JobFileList.Count > 1 Or PHEMmode = tPHEMmode.ModeBATCH
+        If PHEMmode = tPHEMmode.ModeBATCH Or JobFileList.Count > 1 Then
+            ProgOverall = True
+        Else
+            GEN0 = New cGEN
+            GEN0.FilePath = JobFileList(0)
+            If Not GEN0.ReadFile Then
+                GUImsg(tMsgID.Err, "Failed to job file (" & fFILE(JobFileList(0), True) & ")!")
+                Exit Sub
+            End If
+            ProgOverall = (GEN0.CycleFiles.Count > 1)
+        End If
 
         'Launch through Job_Launcher
-        BGjob = tBGjob.PHEM
         Job_Launcher(ProgOverall)
 
     End Sub
@@ -354,14 +352,9 @@ Public Class F_MAINForm
             End Try
         End If
 
-        Select Case BGjob
-            Case tBGjob.PHEM
-                e.Result = VECTO()
-            Case tBGjob.ModFilter
-                ADV = New cADVANCE_V3
-                ADV.AusgModCut(MODpath, MODVehList)
-                ADV = Nothing
-        End Select
+        e.Result = VECTO()
+
+
     End Sub
 
     'Progress Report
@@ -421,21 +414,11 @@ Public Class F_MAINForm
 
         Result = e.Result
 
-        Select Case BGjob
-
-            Case tBGjob.PHEM
-
-                'Falls Optimierer aktiv werden hier die Zielfunktion ausgegeben und Signal an Interface |@@| If Optimizers(Optimierer ) are active here, then dump the Objective-function(Zielfunktion ) and Signal to interface
-                If bOptOn Then
-                    If Result = tCalcResult.Err Or Result = tCalcResult.Abort Then OptERstat = True
-                    OptEND()
-                End If
-
-            Case tBGjob.ModFilter
-
-                ReDim MODVehList(-1)
-
-        End Select
+        'Falls Optimierer aktiv werden hier die Zielfunktion ausgegeben und Signal an Interface |@@| If Optimizers(Optimierer ) are active here, then dump the Objective-function(Zielfunktion ) and Signal to interface
+        If bOptOn Then
+            If Result = tCalcResult.Err Or Result = tCalcResult.Abort Then OptERstat = True
+            OptEND()
+        End If
 
         'ShutDown when Unexpected Error
         If e.Error IsNot Nothing Then
@@ -877,20 +860,12 @@ Public Class F_MAINForm
 
         x = New String() {""}
 
-        If LastModeIndex = 2 Then
-            'ADVANCE
-            If fbADV.OpenDialog("", True) Then
-                Chck = True
-                x = fbADV.Files
-            End If
-        Else
-            'STANDARD/BATCH
-            If fbGEN.OpenDialog("", True, "vecto") Then
-                Chck = True
-                x = fbGEN.Files
-            End If
+        'STANDARD/BATCH
+        If fbGEN.OpenDialog("", True, "vecto") Then
+            Chck = True
+            x = fbGEN.Files
         End If
-
+   
         If Chck Then AddToListViewGEN(x)
 
     End Sub
@@ -912,11 +887,7 @@ Public Class F_MAINForm
         If Not IO.File.Exists(f) Then
             MsgBox(f & " not found!")
         Else
-            If UCase(Microsoft.VisualBasic.Right(f, 4)) = ".ADV" Then
-                OpenADVEditor(f)
-            Else
-                OpenGENEditor(f)
-            End If
+            OpenGENEditor(f)
         End If
     End Sub
 
@@ -1264,32 +1235,22 @@ lbFound:
 
     'New GEN/ADV
     Private Sub ToolStripBtNew_Click(sender As System.Object, e As System.EventArgs) Handles ToolStripBtNew.Click
-        If LastModeIndex = 2 Then
-            OpenADVEditor("<New>")
-        Else
-            OpenGENEditor("<New>")
-        End If
+        OpenGENEditor("<New>")
     End Sub
 
     'Open GEN/ADV
     Private Sub ToolStripBtOpen_Click(sender As System.Object, e As System.EventArgs) Handles ToolStripBtOpen.Click
-        If LastModeIndex = 2 Then
-            If fbADV.OpenDialog("") Then OpenADVEditor(fbADV.Files(0))
-        Else
-            If fbGEN.OpenDialog("", False, "vecto,vveh,vgbx,veng,vsig") Then
-                OpenVectoFile(fbGEN.Files(0))
-            End If
+     
+        If fbGEN.OpenDialog("", False, "vecto,vveh,vgbx,veng,vsig") Then
+            OpenVectoFile(fbGEN.Files(0))
         End If
+
     End Sub
 
     Private Sub GENEditorToolStripMenuItem1_Click(sender As System.Object, e As System.EventArgs) Handles GENEditorToolStripMenuItem1.Click
         OpenGENEditor("<New>")
     End Sub
 
-    Private Sub ADVEditorToolStripMenuItem1_Click(sender As System.Object, e As System.EventArgs) Handles ADVEditorToolStripMenuItem1.Click
-        OpenADVEditor("<New>")
-    End Sub
-
     Private Sub VEHEditorToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles VEHEditorToolStripMenuItem.Click
         If Not F_VEH.Visible Then
             F_VEH.Show()
@@ -1339,26 +1300,6 @@ lbFound:
     End Sub
 
 
-    Private Sub CreateTEMFileToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles CreateTEMFileToolStripMenuItem.Click
-        F_TEM_Creator.Show()
-        F_TEM_Creator.Focus()
-    End Sub
-
-    Private Sub SplitMODFilesToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles SplitMODFilesToolStripMenuItem.Click
-        If PHEMworker.IsBusy Then Exit Sub
-
-        If F_ModSplit.ShowDialog = Windows.Forms.DialogResult.OK Then
-            MODpath = F_ModSplit.ModPath
-            MODVehList = F_ModSplit.VehList
-        Else
-            Exit Sub
-        End If
-
-        'Worker start
-        BGjob = tBGjob.ModFilter
-        Job_Launcher(False)
-    End Sub
-
     Private Sub OpenLogToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles OpenLogToolStripMenuItem.Click
         System.Diagnostics.Process.Start(MyAppPath & "log.txt")
     End Sub
@@ -1618,8 +1559,6 @@ lbFound:
                 PHEMmode = tPHEMmode.ModeSTANDARD
             Case 1
                 PHEMmode = tPHEMmode.ModeBATCH
-            Case 2
-                PHEMmode = tPHEMmode.ModeADVANCE
         End Select
 
         'Load New List
@@ -1829,21 +1768,10 @@ lbFound:
 
     End Sub
 
-    'Open ADV-editor and load file
-    Friend Sub OpenADVEditor(ByVal x As String)
-        If Not F_ADV.Visible Then
-            F_ADV.Show()
-            If x = "<New>" Then F_ADV.ADVnew()
-        End If
-        F_ADV.WindowState = FormWindowState.Normal
-        If x <> "<New>" Then Call F_ADV.ADVload2Form(x)
-        F_ADV.Activate()
-    End Sub
-
     Friend Sub OpenSigFile(ByVal file As String)
         If Not F_FileSign.Visible Then
             F_FileSign.Show()
-     
+
         End If
         F_FileSign.WindowState = FormWindowState.Normal
         F_FileSign.TbSigFile.Text = file
@@ -1955,8 +1883,6 @@ lbFound:
                 PHEMmode = tPHEMmode.ModeSTANDARD
             Case 1
                 PHEMmode = tPHEMmode.ModeBATCH
-            Case 2
-                PHEMmode = tPHEMmode.ModeADVANCE
         End Select
 
     End Sub
diff --git a/VECTO/GUI/F_ModSplit.Designer.vb b/VECTO/GUI/F_ModSplit.Designer.vb
deleted file mode 100644
index 166526ba64..0000000000
--- a/VECTO/GUI/F_ModSplit.Designer.vb
+++ /dev/null
@@ -1,158 +0,0 @@
-<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
-Partial Class F_ModSplit
-    Inherits System.Windows.Forms.Form
-
-    'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen.
-    <System.Diagnostics.DebuggerNonUserCode()> _
-    Protected Overrides Sub Dispose(ByVal disposing As Boolean)
-        Try
-            If disposing AndAlso components IsNot Nothing Then
-                components.Dispose()
-            End If
-        Finally
-            MyBase.Dispose(disposing)
-        End Try
-    End Sub
-
-    'Wird vom Windows Form-Designer benötigt.
-    Private components As System.ComponentModel.IContainer
-
-    'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich.
-    'Das Bearbeiten ist mit dem Windows Form-Designer möglich.  
-    'Das Bearbeiten mit dem Code-Editor ist nicht möglich.
-    <System.Diagnostics.DebuggerStepThrough()> _
-    Private Sub InitializeComponent()
-        Me.TableLayoutPanel1 = New System.Windows.Forms.TableLayoutPanel()
-        Me.OK_Button = New System.Windows.Forms.Button()
-        Me.Cancel_Button = New System.Windows.Forms.Button()
-        Me.RichTextBox1 = New System.Windows.Forms.RichTextBox()
-        Me.TextBoxPath = New System.Windows.Forms.TextBox()
-        Me.ButBrowse = New System.Windows.Forms.Button()
-        Me.Label1 = New System.Windows.Forms.Label()
-        Me.Label2 = New System.Windows.Forms.Label()
-        Me.ButClear = New System.Windows.Forms.Button()
-        Me.TableLayoutPanel1.SuspendLayout()
-        Me.SuspendLayout()
-        '
-        'TableLayoutPanel1
-        '
-        Me.TableLayoutPanel1.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
-        Me.TableLayoutPanel1.ColumnCount = 2
-        Me.TableLayoutPanel1.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50.0!))
-        Me.TableLayoutPanel1.ColumnStyles.Add(New System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50.0!))
-        Me.TableLayoutPanel1.Controls.Add(Me.OK_Button, 0, 0)
-        Me.TableLayoutPanel1.Controls.Add(Me.Cancel_Button, 1, 0)
-        Me.TableLayoutPanel1.Location = New System.Drawing.Point(277, 274)
-        Me.TableLayoutPanel1.Name = "TableLayoutPanel1"
-        Me.TableLayoutPanel1.RowCount = 1
-        Me.TableLayoutPanel1.RowStyles.Add(New System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50.0!))
-        Me.TableLayoutPanel1.Size = New System.Drawing.Size(146, 29)
-        Me.TableLayoutPanel1.TabIndex = 0
-        '
-        'OK_Button
-        '
-        Me.OK_Button.Anchor = System.Windows.Forms.AnchorStyles.None
-        Me.OK_Button.Location = New System.Drawing.Point(3, 3)
-        Me.OK_Button.Name = "OK_Button"
-        Me.OK_Button.Size = New System.Drawing.Size(67, 23)
-        Me.OK_Button.TabIndex = 0
-        Me.OK_Button.Text = "OK"
-        '
-        'Cancel_Button
-        '
-        Me.Cancel_Button.Anchor = System.Windows.Forms.AnchorStyles.None
-        Me.Cancel_Button.DialogResult = System.Windows.Forms.DialogResult.Cancel
-        Me.Cancel_Button.Location = New System.Drawing.Point(76, 3)
-        Me.Cancel_Button.Name = "Cancel_Button"
-        Me.Cancel_Button.Size = New System.Drawing.Size(67, 23)
-        Me.Cancel_Button.TabIndex = 1
-        Me.Cancel_Button.Text = "Cancel"
-        '
-        'RichTextBox1
-        '
-        Me.RichTextBox1.Location = New System.Drawing.Point(15, 82)
-        Me.RichTextBox1.Name = "RichTextBox1"
-        Me.RichTextBox1.Size = New System.Drawing.Size(405, 186)
-        Me.RichTextBox1.TabIndex = 1
-        Me.RichTextBox1.Text = ""
-        Me.RichTextBox1.WordWrap = False
-        '
-        'TextBoxPath
-        '
-        Me.TextBoxPath.Location = New System.Drawing.Point(15, 25)
-        Me.TextBoxPath.Name = "TextBoxPath"
-        Me.TextBoxPath.Size = New System.Drawing.Size(376, 20)
-        Me.TextBoxPath.TabIndex = 2
-        '
-        'ButBrowse
-        '
-        Me.ButBrowse.Location = New System.Drawing.Point(397, 25)
-        Me.ButBrowse.Name = "ButBrowse"
-        Me.ButBrowse.Size = New System.Drawing.Size(26, 20)
-        Me.ButBrowse.TabIndex = 3
-        Me.ButBrowse.Text = "..."
-        Me.ButBrowse.UseVisualStyleBackColor = True
-        '
-        'Label1
-        '
-        Me.Label1.AutoSize = True
-        Me.Label1.Location = New System.Drawing.Point(12, 66)
-        Me.Label1.Name = "Label1"
-        Me.Label1.Size = New System.Drawing.Size(254, 13)
-        Me.Label1.TabIndex = 4
-        Me.Label1.Text = "Vehicle Numbers separated by Comma or Line-break"
-        '
-        'Label2
-        '
-        Me.Label2.AutoSize = True
-        Me.Label2.Location = New System.Drawing.Point(12, 9)
-        Me.Label2.Name = "Label2"
-        Me.Label2.Size = New System.Drawing.Size(44, 13)
-        Me.Label2.TabIndex = 4
-        Me.Label2.Text = "Filepath"
-        '
-        'ButClear
-        '
-        Me.ButClear.Location = New System.Drawing.Point(15, 274)
-        Me.ButClear.Name = "ButClear"
-        Me.ButClear.Size = New System.Drawing.Size(75, 23)
-        Me.ButClear.TabIndex = 5
-        Me.ButClear.Text = "Clear List"
-        Me.ButClear.UseVisualStyleBackColor = True
-        '
-        'F_ModSplit
-        '
-        Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
-        Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
-        Me.CancelButton = Me.Cancel_Button
-        Me.ClientSize = New System.Drawing.Size(435, 315)
-        Me.Controls.Add(Me.ButClear)
-        Me.Controls.Add(Me.Label2)
-        Me.Controls.Add(Me.Label1)
-        Me.Controls.Add(Me.ButBrowse)
-        Me.Controls.Add(Me.TextBoxPath)
-        Me.Controls.Add(Me.RichTextBox1)
-        Me.Controls.Add(Me.TableLayoutPanel1)
-        Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog
-        Me.MaximizeBox = False
-        Me.MinimizeBox = False
-        Me.Name = "F_ModSplit"
-        Me.ShowInTaskbar = False
-        Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent
-        Me.Text = "Split .mod file"
-        Me.TableLayoutPanel1.ResumeLayout(False)
-        Me.ResumeLayout(False)
-        Me.PerformLayout()
-
-    End Sub
-    Friend WithEvents TableLayoutPanel1 As System.Windows.Forms.TableLayoutPanel
-    Friend WithEvents OK_Button As System.Windows.Forms.Button
-    Friend WithEvents Cancel_Button As System.Windows.Forms.Button
-    Friend WithEvents RichTextBox1 As System.Windows.Forms.RichTextBox
-    Friend WithEvents TextBoxPath As System.Windows.Forms.TextBox
-    Friend WithEvents ButBrowse As System.Windows.Forms.Button
-    Friend WithEvents Label1 As System.Windows.Forms.Label
-    Friend WithEvents Label2 As System.Windows.Forms.Label
-    Friend WithEvents ButClear As System.Windows.Forms.Button
-
-End Class
diff --git a/VECTO/GUI/F_ModSplit.resx b/VECTO/GUI/F_ModSplit.resx
deleted file mode 100644
index ff31a6db56..0000000000
--- a/VECTO/GUI/F_ModSplit.resx
+++ /dev/null
@@ -1,120 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<root>
-  <!-- 
-    Microsoft ResX Schema 
-    
-    Version 2.0
-    
-    The primary goals of this format is to allow a simple XML format 
-    that is mostly human readable. The generation and parsing of the 
-    various data types are done through the TypeConverter classes 
-    associated with the data types.
-    
-    Example:
-    
-    ... ado.net/XML headers & schema ...
-    <resheader name="resmimetype">text/microsoft-resx</resheader>
-    <resheader name="version">2.0</resheader>
-    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
-    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
-    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
-    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
-    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
-        <value>[base64 mime encoded serialized .NET Framework object]</value>
-    </data>
-    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
-        <comment>This is a comment</comment>
-    </data>
-                
-    There are any number of "resheader" rows that contain simple 
-    name/value pairs.
-    
-    Each data row contains a name, and value. The row also contains a 
-    type or mimetype. Type corresponds to a .NET class that support 
-    text/value conversion through the TypeConverter architecture. 
-    Classes that don't support this are serialized and stored with the 
-    mimetype set.
-    
-    The mimetype is used for serialized objects, and tells the 
-    ResXResourceReader how to depersist the object. This is currently not 
-    extensible. For a given mimetype the value must be set accordingly:
-    
-    Note - application/x-microsoft.net.object.binary.base64 is the format 
-    that the ResXResourceWriter will generate, however the reader can 
-    read any of the formats listed below.
-    
-    mimetype: application/x-microsoft.net.object.binary.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
-            : and then encoded with base64 encoding.
-    
-    mimetype: application/x-microsoft.net.object.soap.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
-            : and then encoded with base64 encoding.
-
-    mimetype: application/x-microsoft.net.object.bytearray.base64
-    value   : The object must be serialized into a byte array 
-            : using a System.ComponentModel.TypeConverter
-            : and then encoded with base64 encoding.
-    -->
-  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
-    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
-    <xsd:element name="root" msdata:IsDataSet="true">
-      <xsd:complexType>
-        <xsd:choice maxOccurs="unbounded">
-          <xsd:element name="metadata">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" />
-              </xsd:sequence>
-              <xsd:attribute name="name" use="required" type="xsd:string" />
-              <xsd:attribute name="type" type="xsd:string" />
-              <xsd:attribute name="mimetype" type="xsd:string" />
-              <xsd:attribute ref="xml:space" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="assembly">
-            <xsd:complexType>
-              <xsd:attribute name="alias" type="xsd:string" />
-              <xsd:attribute name="name" type="xsd:string" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="data">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
-              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
-              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
-              <xsd:attribute ref="xml:space" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="resheader">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" />
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:choice>
-      </xsd:complexType>
-    </xsd:element>
-  </xsd:schema>
-  <resheader name="resmimetype">
-    <value>text/microsoft-resx</value>
-  </resheader>
-  <resheader name="version">
-    <value>2.0</value>
-  </resheader>
-  <resheader name="reader">
-    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <resheader name="writer">
-    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-</root>
\ No newline at end of file
diff --git a/VECTO/GUI/F_ModSplit.vb b/VECTO/GUI/F_ModSplit.vb
deleted file mode 100644
index 7015bee2f6..0000000000
--- a/VECTO/GUI/F_ModSplit.vb
+++ /dev/null
@@ -1,102 +0,0 @@
-Imports System.Windows.Forms
-
-Public Class F_ModSplit
-
-    Private LastFile As String = ""
-    Private sMODpath As String
-    Private iVehList As Int32()
-    Dim FBtemp As cFileBrowser
-
-    Public Sub New()
-        ' Dieser Aufruf ist für den Windows Form-Designer erforderlich. |@@| This call is required by the Windows Form Designer.
-        InitializeComponent()
-
-        ' Add any initialization after the InitializeComponent() invocation.
-        FBtemp = New cFileBrowser("temp", False, True)
-        FBtemp.Extensions = New String() {"mod"}
-    End Sub
-
-    'Load
-    Private Sub F_ModSplit_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
-        Me.TextBoxPath.Text = LastFile
-    End Sub
-
-    'Browse
-    Private Sub ButBrowse_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButBrowse.Click
-        If FBtemp.OpenDialog("", False, "mod") Then
-            Me.TextBoxPath.Text = FBtemp.Files(0)
-        Else
-            Exit Sub
-        End If
-    End Sub
-
-    Private Sub OK_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK_Button.Click
-
-        Dim VehStr As String
-        Dim VehStrList As String()
-        Dim x As Int16
-        Dim SplitArray As System.Collections.Generic.List(Of Char)
-
-        sMODpath = Me.TextBoxPath.Text
-        VehStr = Me.RichTextBox1.Text
-
-        If Not IO.File.Exists(sMODpath) Then
-            MsgBox("File not found!")
-            Exit Sub
-        End If
-
-        If VehStr = "" Then
-            MsgBox("No Vehicle Numbers defined!")
-            Exit Sub
-        End If
-
-        SplitArray = New System.Collections.Generic.List(Of Char)
-
-        SplitArray.AddRange(vbNewLine.ToCharArray)
-        SplitArray.Add(",")
-        SplitArray.Add(";")
-
-        '   Split
-        VehStrList = VehStr.Split(SplitArray.ToArray, StringSplitOptions.RemoveEmptyEntries)
-
-        '   Convert to Int32
-        ReDim iVehList(UBound(VehStrList))
-        For x = 0 To UBound(VehStrList)
-            If IsNumeric(VehStrList(x)) Then
-                iVehList(x) = CInt(VehStrList(x))
-            Else
-                iVehList(x) = 0
-            End If
-        Next
-        '   Sort
-        Array.Sort(iVehList)
-
-        LastFile = sMODpath
-
-        'End
-        Me.DialogResult = System.Windows.Forms.DialogResult.OK
-        Me.Close()
-    End Sub
-
-    Private Sub Cancel_Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cancel_Button.Click
-        Me.DialogResult = System.Windows.Forms.DialogResult.Cancel
-        Me.Close()
-    End Sub
-
-    Public ReadOnly Property ModPath() As String
-        Get
-            Return sMODpath
-        End Get
-    End Property
-
-    Public ReadOnly Property VehList() As Int32()
-        Get
-            Return iVehList
-        End Get
-    End Property
-
-    Private Sub ButClear_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButClear.Click
-        Me.RichTextBox1.Text = ""
-    End Sub
-
-End Class
diff --git a/VECTO/GUI/F_TEM_Creator.Designer.vb b/VECTO/GUI/F_TEM_Creator.Designer.vb
deleted file mode 100644
index 89fe29698b..0000000000
--- a/VECTO/GUI/F_TEM_Creator.Designer.vb
+++ /dev/null
@@ -1,169 +0,0 @@
-<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
-Partial Class F_TEM_Creator
-    Inherits System.Windows.Forms.Form
-
-    'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen.
-    <System.Diagnostics.DebuggerNonUserCode()> _
-    Protected Overrides Sub Dispose(ByVal disposing As Boolean)
-        Try
-            If disposing AndAlso components IsNot Nothing Then
-                components.Dispose()
-            End If
-        Finally
-            MyBase.Dispose(disposing)
-        End Try
-    End Sub
-
-    'Wird vom Windows Form-Designer benötigt.
-    Private components As System.ComponentModel.IContainer
-
-    'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich.
-    'Das Bearbeiten ist mit dem Windows Form-Designer möglich.  
-    'Das Bearbeiten mit dem Code-Editor ist nicht möglich.
-    <System.Diagnostics.DebuggerStepThrough()> _
-    Private Sub InitializeComponent()
-        Me.TextBoxTemp = New System.Windows.Forms.TextBox
-        Me.ComboBoxDrCyc = New System.Windows.Forms.ComboBox
-        Me.TextBoxPath = New System.Windows.Forms.TextBox
-        Me.ButtonBrowse = New System.Windows.Forms.Button
-        Me.ButtonOK = New System.Windows.Forms.Button
-        Me.ButtonCancel = New System.Windows.Forms.Button
-        Me.Label1 = New System.Windows.Forms.Label
-        Me.Label2 = New System.Windows.Forms.Label
-        Me.Label3 = New System.Windows.Forms.Label
-        Me.Label4 = New System.Windows.Forms.Label
-        Me.CheckBoxEXL = New System.Windows.Forms.CheckBox
-        Me.SuspendLayout()
-        '
-        'TextBoxTemp
-        '
-        Me.TextBoxTemp.Location = New System.Drawing.Point(94, 15)
-        Me.TextBoxTemp.Name = "TextBoxTemp"
-        Me.TextBoxTemp.Size = New System.Drawing.Size(39, 20)
-        Me.TextBoxTemp.TabIndex = 0
-        '
-        'ComboBoxDrCyc
-        '
-        Me.ComboBoxDrCyc.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList
-        Me.ComboBoxDrCyc.FormattingEnabled = True
-        Me.ComboBoxDrCyc.Location = New System.Drawing.Point(94, 48)
-        Me.ComboBoxDrCyc.Name = "ComboBoxDrCyc"
-        Me.ComboBoxDrCyc.Size = New System.Drawing.Size(133, 21)
-        Me.ComboBoxDrCyc.TabIndex = 1
-        '
-        'TextBoxPath
-        '
-        Me.TextBoxPath.Location = New System.Drawing.Point(41, 82)
-        Me.TextBoxPath.Name = "TextBoxPath"
-        Me.TextBoxPath.Size = New System.Drawing.Size(208, 20)
-        Me.TextBoxPath.TabIndex = 2
-        '
-        'ButtonBrowse
-        '
-        Me.ButtonBrowse.Location = New System.Drawing.Point(255, 82)
-        Me.ButtonBrowse.Name = "ButtonBrowse"
-        Me.ButtonBrowse.Size = New System.Drawing.Size(25, 20)
-        Me.ButtonBrowse.TabIndex = 3
-        Me.ButtonBrowse.Text = "..."
-        Me.ButtonBrowse.UseVisualStyleBackColor = True
-        '
-        'ButtonOK
-        '
-        Me.ButtonOK.Location = New System.Drawing.Point(124, 152)
-        Me.ButtonOK.Name = "ButtonOK"
-        Me.ButtonOK.Size = New System.Drawing.Size(75, 23)
-        Me.ButtonOK.TabIndex = 4
-        Me.ButtonOK.Text = "Create"
-        Me.ButtonOK.UseVisualStyleBackColor = True
-        '
-        'ButtonCancel
-        '
-        Me.ButtonCancel.Location = New System.Drawing.Point(205, 152)
-        Me.ButtonCancel.Name = "ButtonCancel"
-        Me.ButtonCancel.Size = New System.Drawing.Size(75, 23)
-        Me.ButtonCancel.TabIndex = 5
-        Me.ButtonCancel.Text = "Cancel"
-        Me.ButtonCancel.UseVisualStyleBackColor = True
-        '
-        'Label1
-        '
-        Me.Label1.AutoSize = True
-        Me.Label1.Location = New System.Drawing.Point(21, 18)
-        Me.Label1.Name = "Label1"
-        Me.Label1.Size = New System.Drawing.Size(67, 13)
-        Me.Label1.TabIndex = 6
-        Me.Label1.Text = "Temperature"
-        '
-        'Label2
-        '
-        Me.Label2.AutoSize = True
-        Me.Label2.Location = New System.Drawing.Point(139, 18)
-        Me.Label2.Name = "Label2"
-        Me.Label2.Size = New System.Drawing.Size(18, 13)
-        Me.Label2.TabIndex = 7
-        Me.Label2.Text = "°C"
-        '
-        'Label3
-        '
-        Me.Label3.AutoSize = True
-        Me.Label3.Location = New System.Drawing.Point(47, 51)
-        Me.Label3.Name = "Label3"
-        Me.Label3.Size = New System.Drawing.Size(41, 13)
-        Me.Label3.TabIndex = 8
-        Me.Label3.Text = "Region"
-        '
-        'Label4
-        '
-        Me.Label4.AutoSize = True
-        Me.Label4.Location = New System.Drawing.Point(12, 85)
-        Me.Label4.Name = "Label4"
-        Me.Label4.Size = New System.Drawing.Size(23, 13)
-        Me.Label4.TabIndex = 9
-        Me.Label4.Text = "File"
-        '
-        'CheckBoxEXL
-        '
-        Me.CheckBoxEXL.AutoSize = True
-        Me.CheckBoxEXL.Location = New System.Drawing.Point(15, 119)
-        Me.CheckBoxEXL.Name = "CheckBoxEXL"
-        Me.CheckBoxEXL.Size = New System.Drawing.Size(197, 17)
-        Me.CheckBoxEXL.TabIndex = 10
-        Me.CheckBoxEXL.Text = "Open with MS Excel when complete"
-        Me.CheckBoxEXL.UseVisualStyleBackColor = True
-        '
-        'F04_TEM_Creator
-        '
-        Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
-        Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
-        Me.ClientSize = New System.Drawing.Size(290, 185)
-        Me.Controls.Add(Me.CheckBoxEXL)
-        Me.Controls.Add(Me.Label4)
-        Me.Controls.Add(Me.Label3)
-        Me.Controls.Add(Me.Label2)
-        Me.Controls.Add(Me.Label1)
-        Me.Controls.Add(Me.ButtonCancel)
-        Me.Controls.Add(Me.ButtonOK)
-        Me.Controls.Add(Me.ButtonBrowse)
-        Me.Controls.Add(Me.TextBoxPath)
-        Me.Controls.Add(Me.ComboBoxDrCyc)
-        Me.Controls.Add(Me.TextBoxTemp)
-        Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow
-        Me.MaximizeBox = False
-        Me.Name = "F04_TEM_Creator"
-        Me.Text = "Create new TEM file"
-        Me.ResumeLayout(False)
-        Me.PerformLayout()
-
-    End Sub
-    Friend WithEvents TextBoxTemp As System.Windows.Forms.TextBox
-    Friend WithEvents ComboBoxDrCyc As System.Windows.Forms.ComboBox
-    Friend WithEvents TextBoxPath As System.Windows.Forms.TextBox
-    Friend WithEvents ButtonBrowse As System.Windows.Forms.Button
-    Friend WithEvents ButtonOK As System.Windows.Forms.Button
-    Friend WithEvents ButtonCancel As System.Windows.Forms.Button
-    Friend WithEvents Label1 As System.Windows.Forms.Label
-    Friend WithEvents Label2 As System.Windows.Forms.Label
-    Friend WithEvents Label3 As System.Windows.Forms.Label
-    Friend WithEvents Label4 As System.Windows.Forms.Label
-    Friend WithEvents CheckBoxEXL As System.Windows.Forms.CheckBox
-End Class
diff --git a/VECTO/GUI/F_TEM_Creator.resx b/VECTO/GUI/F_TEM_Creator.resx
deleted file mode 100644
index ff31a6db56..0000000000
--- a/VECTO/GUI/F_TEM_Creator.resx
+++ /dev/null
@@ -1,120 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<root>
-  <!-- 
-    Microsoft ResX Schema 
-    
-    Version 2.0
-    
-    The primary goals of this format is to allow a simple XML format 
-    that is mostly human readable. The generation and parsing of the 
-    various data types are done through the TypeConverter classes 
-    associated with the data types.
-    
-    Example:
-    
-    ... ado.net/XML headers & schema ...
-    <resheader name="resmimetype">text/microsoft-resx</resheader>
-    <resheader name="version">2.0</resheader>
-    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
-    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
-    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
-    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
-    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
-        <value>[base64 mime encoded serialized .NET Framework object]</value>
-    </data>
-    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
-        <comment>This is a comment</comment>
-    </data>
-                
-    There are any number of "resheader" rows that contain simple 
-    name/value pairs.
-    
-    Each data row contains a name, and value. The row also contains a 
-    type or mimetype. Type corresponds to a .NET class that support 
-    text/value conversion through the TypeConverter architecture. 
-    Classes that don't support this are serialized and stored with the 
-    mimetype set.
-    
-    The mimetype is used for serialized objects, and tells the 
-    ResXResourceReader how to depersist the object. This is currently not 
-    extensible. For a given mimetype the value must be set accordingly:
-    
-    Note - application/x-microsoft.net.object.binary.base64 is the format 
-    that the ResXResourceWriter will generate, however the reader can 
-    read any of the formats listed below.
-    
-    mimetype: application/x-microsoft.net.object.binary.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
-            : and then encoded with base64 encoding.
-    
-    mimetype: application/x-microsoft.net.object.soap.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
-            : and then encoded with base64 encoding.
-
-    mimetype: application/x-microsoft.net.object.bytearray.base64
-    value   : The object must be serialized into a byte array 
-            : using a System.ComponentModel.TypeConverter
-            : and then encoded with base64 encoding.
-    -->
-  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
-    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
-    <xsd:element name="root" msdata:IsDataSet="true">
-      <xsd:complexType>
-        <xsd:choice maxOccurs="unbounded">
-          <xsd:element name="metadata">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" />
-              </xsd:sequence>
-              <xsd:attribute name="name" use="required" type="xsd:string" />
-              <xsd:attribute name="type" type="xsd:string" />
-              <xsd:attribute name="mimetype" type="xsd:string" />
-              <xsd:attribute ref="xml:space" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="assembly">
-            <xsd:complexType>
-              <xsd:attribute name="alias" type="xsd:string" />
-              <xsd:attribute name="name" type="xsd:string" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="data">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
-              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
-              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
-              <xsd:attribute ref="xml:space" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="resheader">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" />
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:choice>
-      </xsd:complexType>
-    </xsd:element>
-  </xsd:schema>
-  <resheader name="resmimetype">
-    <value>text/microsoft-resx</value>
-  </resheader>
-  <resheader name="version">
-    <value>2.0</value>
-  </resheader>
-  <resheader name="reader">
-    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <resheader name="writer">
-    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-</root>
\ No newline at end of file
diff --git a/VECTO/GUI/F_TEM_Creator.vb b/VECTO/GUI/F_TEM_Creator.vb
deleted file mode 100644
index 9a4b27489f..0000000000
--- a/VECTO/GUI/F_TEM_Creator.vb
+++ /dev/null
@@ -1,48 +0,0 @@
-Public Class F_TEM_Creator
-
-    'Initialization
-    Private Sub F04_TEM_Creator_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
-        Me.TextBoxTemp.Text = "20"
-        Me.ComboBoxDrCyc.Items.Add("Average")
-        Me.ComboBoxDrCyc.Items.Add("Residential Street")
-        Me.ComboBoxDrCyc.Items.Add("Main Street")
-        Me.ComboBoxDrCyc.SelectedIndex = 0
-        Me.TextBoxPath.Text = Cfg.LastTEM
-        Me.CheckBoxEXL.Checked = Cfg.TEMexl
-    End Sub
-
-    'Cancel
-    Private Sub ButtonCancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonCancel.Click
-        Me.Close()
-    End Sub
-
-    'OK
-    Private Sub ButtonOK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonOK.Click
-        Dim f As String
-        If Me.TextBoxPath.Text = "" Then
-            MsgBox("No file specified!", MsgBoxStyle.Critical)
-            Exit Sub
-        End If
-        f = Me.TextBoxPath.Text
-        Cfg.TEMexl = Me.CheckBoxEXL.Checked
-        If UCase(Microsoft.VisualBasic.Right(f, 4)) <> ".TEM" Then f = f & ".TEM"
-        Cfg.LastTEM = f
-        f = fFileRepl(f)
-        If IO.File.Exists(f) Then
-            If MsgBox("Overwrite existing file?", MsgBoxStyle.YesNo) = MsgBoxResult.No Then Exit Sub
-        End If
-        Me.Close()
-        If F_ADV.Visible Then
-            F_ADV.WindowState = FormWindowState.Normal
-            F_ADV.TEMfromCreator(f)
-        End If
-        If Cfg.TEMexl Then FileOpenAlt(f)
-    End Sub
-
-    'Browse
-    Private Sub ButtonBrowse_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonBrowse.Click
-        If fbTEM.SaveDialog(Me.TextBoxPath.Text) Then
-            Me.TextBoxPath.Text = fbTEM.Files(0)
-        End If
-    End Sub
-End Class
diff --git a/VECTO/MODcalc/Em Calc.vb b/VECTO/MODcalc/Em Calc.vb
index fffc6091ca..8572bd32b8 100644
--- a/VECTO/MODcalc/Em Calc.vb	
+++ b/VECTO/MODcalc/Em Calc.vb	
@@ -1155,39 +1155,38 @@ lb100:  'Rücksprunglabel für iterativen Berechnungsmodus
         'Calculation loop: Per Time-step / per Module: 1. Temperatures, 2. Conversions
         While True
             'Display per-second Results on each iteration Results
-            If Not (PHEMmode = tPHEMmode.ModeADVANCE) Then
-                If Not (PHEMmode = tPHEMmode.ModeBATCH) Or Cfg.ModOut Then
-
-                    ' Write Header *.ter
-                    DatTer.OpenWrite(PathTer, ",")
-                    DatTer.WriteLine("result-file for temperatures in the exhaust system")
-                    DatTer.WriteLine("VECTO " & VECTOvers)
-                    line1 = "time,vehicle speed,nnorm,P_norm,rpm,fuel consumption,lambda,m_p exhaust,ta_41_qs"
-                    line2 = "[s],[km/h],[-],[-],[min-1],[g/h],[-],[kg/s],[°C]"
-                    For ii = 1 To ModAnz
-                        If TempMod(ii).TgasGegJa Then
-                            line1 = line1 & ",tm_" & ii & "_output" & ",ttc_" & ii & "_output" & ",tgas_" & ii & "_output"
-                        Else
-                            line1 = line1 & ",tm_" & ii & ",ttc_" & ii & ",tgas_" & ii
-                        End If
-                        line2 = line2 & ",[°C],[°C],[°C]"
-                    Next
-                    line1 = line1 & ",Q_p coolant"
-                    line2 = line2 & ",[W]"
+            If Not (PHEMmode = tPHEMmode.ModeBATCH) Or Cfg.ModOut Then
+
+                ' Write Header *.ter
+                DatTer.OpenWrite(PathTer, ",")
+                DatTer.WriteLine("result-file for temperatures in the exhaust system")
+                DatTer.WriteLine("VECTO " & VECTOvers)
+                line1 = "time,vehicle speed,nnorm,P_norm,rpm,fuel consumption,lambda,m_p exhaust,ta_41_qs"
+                line2 = "[s],[km/h],[-],[-],[min-1],[g/h],[-],[kg/s],[°C]"
+                For ii = 1 To ModAnz
+                    If TempMod(ii).TgasGegJa Then
+                        line1 = line1 & ",tm_" & ii & "_output" & ",ttc_" & ii & "_output" & ",tgas_" & ii & "_output"
+                    Else
+                        line1 = line1 & ",tm_" & ii & ",ttc_" & ii & ",tgas_" & ii
+                    End If
+                    line2 = line2 & ",[°C],[°C],[°C]"
+                Next
+                line1 = line1 & ",Q_p coolant"
+                line2 = line2 & ",[W]"
 
-                    DatTer.WriteLine(line1)
-                    DatTer.WriteLine(line2)
+                DatTer.WriteLine(line1)
+                DatTer.WriteLine(line2)
 
-                    ' Write the Header for KonvMods
-                    For ii = 1 To ModAnz
-                        If TempMod(ii).ModTyp = 1 Or TempMod(ii).ModTyp = 2 Then
-                            TempMod(ii).KonvMod.Header()
-                        End If
-                    Next
+                ' Write the Header for KonvMods
+                For ii = 1 To ModAnz
+                    If TempMod(ii).ModTyp = 1 Or TempMod(ii).ModTyp = 2 Then
+                        TempMod(ii).KonvMod.Header()
+                    End If
+                Next
 
-                End If
             End If
 
+
             'Start-values ​​for Cooling-system simulation:
             t_mass1(0) = t_start_m1_m2
             t_mass2(0) = t_start_m1_m2
@@ -1303,12 +1302,12 @@ lb100:  'Rücksprunglabel für iterativen Berechnungsmodus
                             TempMod(iMod).eEmKomp(7, jz) = TempMod(iMod - 1).eEmKomp(7, jz) * (1 - TempMod(iMod).KonvMod.KonvRate(tMapComp.NO)(jz))
                         End If
 
-                        If Not (PHEMmode = tPHEMmode.ModeADVANCE) Then
-                            If Not (PHEMmode = tPHEMmode.ModeBATCH) Or Cfg.ModOut Then
-                                TempMod(iMod).KonvMod.Write(jz) 'Sekündliche Ausgabe
-                            End If
+
+                        If Not (PHEMmode = tPHEMmode.ModeBATCH) Or Cfg.ModOut Then
+                            TempMod(iMod).KonvMod.Write(jz) 'Sekündliche Ausgabe
                         End If
 
+
                     Else
                         'Falls Modul kein Konv-Element hat ändert sich nix (Anmerkung: Modul 1 hat immer ModTyp0) |@@| If Module has no Conv-element changes nothing (Note: Module 1 has always ModTyp0)
                         If iMod > 1 Then
@@ -1324,17 +1323,15 @@ lb100:  'Rücksprunglabel für iterativen Berechnungsmodus
                 Next
 
                 'Write Line in *.ter.
-                If Not (PHEMmode = tPHEMmode.ModeADVANCE) Then
-                    If Not (PHEMmode = tPHEMmode.ModeBATCH) Or Cfg.ModOut Then
-                        line1 = jz & "," & vehspe(jz) & "," & nnorm(jz) & "," & p_norm(jz) & "," & rpm(jz) & "," & fc(jz) & "," & lambda(jz) & "," & mpexh(jz) & "," & tqs(jz)
-                        For ij = 1 To ModAnz
-                            line1 = line1 & "," & TempMod(ij).t_m(jz) & "," & TempMod(ij).t_tc(jz) & "," & TempMod(ij).t_gas(jz)
-                        Next
-                        If GEN.CoolantsimJa Then
-                            line1 = line1 & "," & qp_loss(jz)
-                        End If
-                        DatTer.WriteLine(line1)
+                If Not (PHEMmode = tPHEMmode.ModeBATCH) Or Cfg.ModOut Then
+                    line1 = jz & "," & vehspe(jz) & "," & nnorm(jz) & "," & p_norm(jz) & "," & rpm(jz) & "," & fc(jz) & "," & lambda(jz) & "," & mpexh(jz) & "," & tqs(jz)
+                    For ij = 1 To ModAnz
+                        line1 = line1 & "," & TempMod(ij).t_m(jz) & "," & TempMod(ij).t_tc(jz) & "," & TempMod(ij).t_gas(jz)
+                    Next
+                    If GEN.CoolantsimJa Then
+                        line1 = line1 & "," & qp_loss(jz)
                     End If
+                    DatTer.WriteLine(line1)
                 End If
 
                 '------------------------------------------------------------------------------------------
@@ -1346,15 +1343,13 @@ lb100:  'Rücksprunglabel für iterativen Berechnungsmodus
             '----------------------------------------------------------------------------------------------
 
             'Close all second-by-second Result-files
-            If Not (PHEMmode = tPHEMmode.ModeADVANCE) Then
-                If Not (PHEMmode = tPHEMmode.ModeBATCH) Or Cfg.ModOut Then
-                    DatTer.Close()
-                    For ii = 1 To ModAnz
-                        If TempMod(ii).ModTyp = 1 Or TempMod(ii).ModTyp = 2 Then
-                            TempMod(ii).KonvMod.Close()
-                        End If
-                    Next
-                End If
+            If Not (PHEMmode = tPHEMmode.ModeBATCH) Or Cfg.ModOut Then
+                DatTer.Close()
+                For ii = 1 To ModAnz
+                    If TempMod(ii).ModTyp = 1 Or TempMod(ii).ModTyp = 2 Then
+                        TempMod(ii).KonvMod.Close()
+                    End If
+                Next
             End If
 
             '---------- Abfrage Rücksprung im iterativen Berechnungsmodus für Starttemp ------------------- |@@| Query return in the iterative Calculation-mode for Starttemp -------------------
diff --git a/VECTO/MODcalc/cMOD.vb b/VECTO/MODcalc/cMOD.vb
index 96519d3329..683dd0e459 100644
--- a/VECTO/MODcalc/cMOD.vb
+++ b/VECTO/MODcalc/cMOD.vb
@@ -308,7 +308,6 @@ Public Class cMOD
         Dim t1 As Integer
 
         Dim Sepp As String
-        Dim ADVmode As Boolean
         Dim path As String
         Dim dist As Double
         Dim MsgSrc As String
@@ -336,19 +335,9 @@ Public Class cMOD
 
         f = New cFile_V3
 
-        ADVmode = (PHEMmode = tPHEMmode.ModeADVANCE)
+        path = ModOutpName & ".vmod"
 
-        If ADVmode Then
-            path = ModOutpName & "_" & ADV.aVehType & ".mod"
-        Else
-            If GEN.dynkorja Then
-                path = ModOutpName & ".vmod"
-            Else
-                path = ModOutpName & ".vmod"
-            End If
-        End If
-
-        If Not f.OpenWrite(path, ",", False, ADVmode) Then
+        If Not f.OpenWrite(path, ",", False) Then
             WorkerMsg(tMsgID.Err, "Can't write to " & path, MsgSrc)
             Return False
         End If
@@ -383,17 +372,12 @@ Public Class cMOD
 
 
 
-        '*** ID line (Only ADVANCE)
-        If ADVmode Then
-            s.Append("VehNr: " & ADV.aVehNr)
-            s.Append(",Input File: " & fFILE(GenFile, True))
-            f.WriteLine(s.ToString)
-        Else
-            f.WriteLine("VECTO modal results")
-            f.WriteLine("VECTO " & VECTOvers)
-            f.WriteLine(Now.ToString)
-            f.WriteLine("Input File: " & JobFile)
-        End If
+
+        f.WriteLine("VECTO modal results")
+        f.WriteLine("VECTO " & VECTOvers)
+        f.WriteLine(Now.ToString)
+        f.WriteLine("Input File: " & JobFile)
+
 
         '***********************************************************************************************
         '***********************************************************************************************
@@ -449,13 +433,6 @@ Public Class cMOD
 
         End If
 
-        'ADVANCE-specific
-        If ADVmode Then
-
-            s.Append(",WorldX,WorldY,StrId")
-            sU.Append(",[m],[m],[-]")
-
-        End If
 
         If Cfg.FinalEmOnly Then
 
@@ -697,20 +674,6 @@ Public Class cMOD
 
                 End If
 
-                'ADVANCE-specific
-                If ADVmode Then
-
-                    'X
-                    s.Append(Sepp & ADV.aWorldX(t))
-
-                    'Y
-                    s.Append(Sepp & ADV.aWorldY(t))
-
-                    'StrId
-                    s.Append(Sepp & ADV.aStrId(t))
-
-                End If
-
                 If Cfg.FinalEmOnly Then
 
                     'Final-emissions (tailpipe)
diff --git a/VECTO/MODcalc/cPower.vb b/VECTO/MODcalc/cPower.vb
index ff4bfbe351..981ad3064b 100644
--- a/VECTO/MODcalc/cPower.vb
+++ b/VECTO/MODcalc/cPower.vb
@@ -531,7 +531,7 @@ Public Class cPower
         Dim amax As Single
 
         Dim StdMode As Boolean
-        Dim NotAdvMode As Boolean
+
 
         Dim LastPmax As Single
 
@@ -540,7 +540,6 @@ Public Class cPower
         MsgSrc = "Power/Calc"
 
         StdMode = (PHEMmode = tPHEMmode.ModeSTANDARD)
-        NotAdvMode = Not (PHEMmode = tPHEMmode.ModeADVANCE)
 
         'Abort if no speed given
         If Not DRI.Vvorg Then
@@ -609,7 +608,7 @@ Public Class cPower
             FirstSecItar = True
 
             'Secondary Progressbar
-            If NotAdvMode Then ProgBarCtrl.ProgJobInt = CInt(100 * jz / MODdata.tDim)
+            ProgBarCtrl.ProgJobInt = CInt(100 * jz / MODdata.tDim)
 
 
             '   Determine State
@@ -1376,24 +1375,19 @@ lb_nOK:
         '***********************************    Time loop END ***********************************
         '***********************************************************************************************
 
-        'Notify (When not ADVANCE)
-        If NotAdvMode Then
-
-            If Cfg.WegKorJa Then
-                If MODdata.tDim > MODdata.tDimOgl Then WorkerMsg(tMsgID.Normal, "Cycle extended by " & MODdata.tDim - MODdata.tDimOgl & " seconds to meet target distance.", MsgSrc)
+        'Notify
+        If Cfg.WegKorJa Then
+            If MODdata.tDim > MODdata.tDimOgl Then WorkerMsg(tMsgID.Normal, "Cycle extended by " & MODdata.tDim - MODdata.tDimOgl & " seconds to meet target distance.", MsgSrc)
 
-                If Math.Abs(Vh.WegIst - Vh.WegSoll) > 80 Then
-                    WorkerMsg(tMsgID.Warn, "Target distance= " & (Vh.WegSoll / 1000).ToString("#.000") & "[km], Actual distance= " & (Vh.WegIst / 1000).ToString("#.000") & "[km], Error= " & Math.Abs(Vh.WegIst - Vh.WegSoll).ToString("#.0") & "[m]", MsgSrc)
-                Else
-                    WorkerMsg(tMsgID.Normal, "Target distance= " & (Vh.WegSoll / 1000).ToString("#.000") & "[km], Actual distance= " & (Vh.WegIst / 1000).ToString("#.000") & "[km], Error= " & Math.Abs(Vh.WegIst - Vh.WegSoll).ToString("#.0") & "[m]", MsgSrc)
-                End If
+            If Math.Abs(Vh.WegIst - Vh.WegSoll) > 80 Then
+                WorkerMsg(tMsgID.Warn, "Target distance= " & (Vh.WegSoll / 1000).ToString("#.000") & "[km], Actual distance= " & (Vh.WegIst / 1000).ToString("#.000") & "[km], Error= " & Math.Abs(Vh.WegIst - Vh.WegSoll).ToString("#.0") & "[m]", MsgSrc)
+            Else
+                WorkerMsg(tMsgID.Normal, "Target distance= " & (Vh.WegSoll / 1000).ToString("#.000") & "[km], Actual distance= " & (Vh.WegIst / 1000).ToString("#.000") & "[km], Error= " & Math.Abs(Vh.WegIst - Vh.WegSoll).ToString("#.0") & "[m]", MsgSrc)
             End If
+        End If
 
-            If SecSpeedRed > 0 Then WorkerMsg(tMsgID.Normal, "Speed reduction > 1.5 m/s in " & SecSpeedRed & " time steps.", MsgSrc)
-
-
+        If SecSpeedRed > 0 Then WorkerMsg(tMsgID.Normal, "Speed reduction > 1.5 m/s in " & SecSpeedRed & " time steps.", MsgSrc)
 
-        End If
 
         'CleanUp
         Vh = Nothing
@@ -1413,14 +1407,12 @@ lb_nOK:
         Dim PeDRI As List(Of Double)
         Dim PcorCount As Integer
         Dim StdMode As Boolean
-        Dim NotAdvMode As Boolean
         Dim MsgSrc As String
         Dim Padd As Single
 
         MsgSrc = "Power/Eng_Calc"
 
         StdMode = (PHEMmode = tPHEMmode.ModeSTANDARD)
-        NotAdvMode = Not (PHEMmode = tPHEMmode.ModeADVANCE)
 
         'Abort if Power/Revolutions not given
         If Not (DRI.Nvorg And DRI.Pvorg) Then
@@ -1443,7 +1435,7 @@ lb_nOK:
         For t = 0 To t1
 
             'Secondary Progressbar
-            If NotAdvMode Then ProgBarCtrl.ProgJobInt = CInt(100 * t / t1)
+            ProgBarCtrl.ProgJobInt = CInt(100 * t / t1)
 
             'Reset the second-by-second Errors
             MODdata.ModErrors.ResetAll()
diff --git a/VECTO/MODcalc/cVh.vb b/VECTO/MODcalc/cVh.vb
index dae7cd18d5..809c8c73ac 100644
--- a/VECTO/MODcalc/cVh.vb
+++ b/VECTO/MODcalc/cVh.vb
@@ -433,12 +433,6 @@ Public Class cVh
 
         MODdata.Duplicate(t)
 
-        If PHEMmode = tPHEMmode.ModeADVANCE Then
-            ADV.aWorldX.Insert(t, ADV.aWorldX(t))
-            ADV.aWorldY.Insert(t, ADV.aWorldY(t))
-            ADV.aStrId.Insert(t, ADV.aStrId(t))
-        End If
-
 
     End Sub
 
@@ -468,13 +462,6 @@ Public Class cVh
 
         MODdata.Duplicate(t)
 
-        If PHEMmode = tPHEMmode.ModeADVANCE Then
-            ADV.aWorldX.Insert(t, ADV.aWorldX(t))
-            ADV.aWorldY.Insert(t, ADV.aWorldY(t))
-            ADV.aStrId.Insert(t, ADV.aStrId(t))
-        End If
-
-
     End Sub
 
     Private Sub Cut(ByVal t As Integer)
@@ -511,12 +498,6 @@ Public Class cVh
 
         MODdata.Cut(t)
 
-        If PHEMmode = tPHEMmode.ModeADVANCE Then
-            ADV.aWorldX.RemoveAt(t)
-            ADV.aWorldY.RemoveAt(t)
-            ADV.aStrId.RemoveAt(t)
-        End If
-
     End Sub
 
     Public ReadOnly Property Vsoll(ByVal t As Integer) As Single
diff --git a/VECTO/M_MAIN.vb b/VECTO/M_MAIN.vb
index 1a7c8de07a..3690a26cde 100644
--- a/VECTO/M_MAIN.vb
+++ b/VECTO/M_MAIN.vb
@@ -63,9 +63,6 @@ Module M_MAIN
             Case tPHEMmode.ModeBATCH
                 WorkerMsg(tMsgID.Normal, "Starting VECTO BATCH...", MsgSrc)
                 CyclesDim = JobCycleList.Count - 1
-            Case tPHEMmode.ModeADVANCE
-                WorkerMsg(tMsgID.Normal, "Starting PHEM ADVANCE...", MsgSrc)
-                CyclesDim = 0
         End Select
         FilesDim = JobFileList.Count - 1
 
@@ -123,10 +120,6 @@ lbSkip0:
         VSUM = New cVSUM
         If Not ERG.Init(JobFileList(0)) Then GoTo lbErrBefore
 
-        If Not PHEMmode = tPHEMmode.ModeADVANCE Then
-            If Not ERG.ErgEntryInit() Then GoTo lbErrBefore
-        End If
-
         SigFile = Left(ERG.ErgFile, ERG.ErgFile.Length - 5) & ".vsig"
 
         'Warning on invalid/unrealistic settings
@@ -150,7 +143,7 @@ lbSkip0:
 
             JobFile = fFileRepl(JobFileList(jgen))
 
-            If Not PHEMmode = tPHEMmode.ModeADVANCE Then GenFile = JobFile
+            GenFile = JobFile
 
             WorkerJobStatus(jgen, "running...", tJobStatus.Running)
 
@@ -158,40 +151,6 @@ lbSkip0:
             MSGwarn = 0
             MSGerror = 0
 
-            If (PHEMmode = tPHEMmode.ModeADVANCE) Then
-
-                WorkerMsg(tMsgID.NewJob, "Job: " & NrOfRunStr() & " / " & ((FilesDim + 1) * (CyclesDim + 1)) & " | " & fFILE(JobFile, True), MsgSrc)
-                WorkerStatus("Current Job: " & NrOfRunStr() & " / " & ((FilesDim + 1) * (CyclesDim + 1)) & " | " & fFILE(JobFile, True))
-
-
-                If Not ERG.ErgEntryInit() Then GoTo lbNextJob
-
-                'Status
-                WorkerJobStatus(jgen, "processing input...", tJobStatus.Running)
-
-                ADV = New cADVANCE_V3
-                If Not ADV.ADVANCE_V2_Init() Then GoTo lbNextJob
-
-                If ADV.ADVANCEdone Or PHEMworker.CancellationPending Then GoTo lbAbort
-
-                'Status/ProgBar
-                WorkerJobStatus(jgen, "running...", tJobStatus.Running)
-                ProgBarCtrl.ProgOverallStartInt = 100 * (jgen) / (FilesDim + 1)
-                ProgBarCtrl.PgroOverallEndInt = 100 * (jgen + 1) / (FilesDim + 1)
-
-            End If
-lbADV:
-            If (PHEMmode = tPHEMmode.ModeADVANCE) Then
-                If Not ADV.ADVANCE_V2_Next() Then
-                    JobAbortedByErr = True
-                    GoTo lbNextJob
-                End If
-                If ADV.ADVANCEdone Then
-                    ADV.ADVANCE_V2_Close()
-                    GoTo lbNextJob
-                End If
-            End If
-
             'Check if Abort
             If PHEMworker.CancellationPending Then GoTo lbAbort
 
@@ -318,45 +277,41 @@ lbADV:
                     FCerror = False
 
                     'Read cycle
-                    If (Not (PHEMmode = tPHEMmode.ModeADVANCE)) Then
+                    DRI = New cDRI
+                    DRI.FilePath = CurrentCycleFile
 
-                        'Read in
-                        DRI = New cDRI
-                        DRI.FilePath = CurrentCycleFile
+                    If Not DRI.ReadFile Then
+                        CyclAbrtedByErr = True
+                        GoTo lbAusg
+                    End If
 
-                        If Not DRI.ReadFile Then
+                    'Convert v(s) into v(t) (optional)
+                    If DRI.Scycle Then
+                        If MsgOut Then WorkerMsg(tMsgID.Normal, "Converting cycle (v(s) => v(t))", MsgSrc)
+                        If Not DRI.ConvStoT() Then
                             CyclAbrtedByErr = True
                             GoTo lbAusg
                         End If
+                    End If
 
-                        'Convert v(s) into v(t) (optional)
-                        If DRI.Scycle Then
-                            If MsgOut Then WorkerMsg(tMsgID.Normal, "Converting cycle (v(s) => v(t))", MsgSrc)
-                            If Not DRI.ConvStoT() Then
-                                CyclAbrtedByErr = True
-                                GoTo lbAusg
-                            End If
-                        End If
-
-                        'If first time step is Zero then duplicate first values to start cycle with vehicle standing.
-                        If DRI.Vvorg AndAlso DRI.tDim > 1 AndAlso DRI.Values(tDriComp.V)(0) < 0.0001 AndAlso DRI.Values(tDriComp.V)(1) >= 0.0001 Then
-                            DRI.FirstZero()
-                        End If
+                    'If first time step is Zero then duplicate first values to start cycle with vehicle standing.
+                    If DRI.Vvorg AndAlso DRI.tDim > 1 AndAlso DRI.Values(tDriComp.V)(0) < 0.0001 AndAlso DRI.Values(tDriComp.V)(1) >= 0.0001 Then
+                        DRI.FirstZero()
+                    End If
 
-                        'Convert to 1Hz (optional) - does not apply to v(s) cycles because timestep is missing
-                        If DRI.Tvorg Then
-                            If MsgOut Then WorkerMsg(tMsgID.Normal, "Converting cycle to 1Hz", MsgSrc)
-                            If Not DRI.ConvTo1Hz() Then
-                                'Error-notification in DRI.Convert()
-                                CyclAbrtedByErr = True
-                                GoTo lbAusg
-                            End If
+                    'Convert to 1Hz (optional) - does not apply to v(s) cycles because timestep is missing
+                    If DRI.Tvorg Then
+                        If MsgOut Then WorkerMsg(tMsgID.Normal, "Converting cycle to 1Hz", MsgSrc)
+                        If Not DRI.ConvTo1Hz() Then
+                            'Error-notification in DRI.Convert()
+                            CyclAbrtedByErr = True
+                            GoTo lbAusg
                         End If
+                    End If
 
-                        'Unnormalised
-                        DRI.DeNorm()
+                    'De-normalize
+                    DRI.DeNorm()
 
-                    End If
 
                     '----------------------------------------------------------------------------
                     '----------------------------------------------------------------------------
@@ -534,30 +489,9 @@ lbADV:
 
                     'Output for BATCH and ADVANCE
 lbAusg:
-                    If (PHEMmode = tPHEMmode.ModeADVANCE) Then
-
-                        'In ADVANCE, Cycle-cancel = Job-cancel
-                        If CyclAbrtedByErr Then
-                            JobAbortedByErr = True
-                            GoTo lbNextJob
-                        End If
-
-                        ADV.STRcalc()
-                        If Not ADV.AusgVis_V3() Then
-                            JobAbortedByErr = True
-                            GoTo lbNextJob
-                        End If
-
-                        GoTo lbadv
-
-                    Else
-
-                        'Output in Erg (first Calculation - Initialization & Header)
-                        If Not ERG.AusgERG(NrOfRunStr, fFILE(GenFile, True), fFILE(CurrentCycleFile, True), CyclAbrtedByErr) Then GoTo lbErrInJobLoop
-
-
-
-                    End If
+             
+                    'Output in Erg (first Calculation - Initialization & Header)
+                    If Not ERG.AusgERG(NrOfRunStr, fFILE(GenFile, True), fFILE(CurrentCycleFile, True), CyclAbrtedByErr) Then GoTo lbErrInJobLoop
 
                     'Data Cleanup
                     MODdata.CleanUp()
@@ -593,12 +527,6 @@ lbAusg:
             '**********************************************************************************************
 lbNextJob:
 
-            If (PHEMmode = tPHEMmode.ModeADVANCE) Then
-                ProgBarCtrl.ProgOverallStartInt = -1
-                WorkerProg(100 * (jgen + 1) / (FilesDim + 1), 0)
-            End If
-
-
             If JobAbortedByErr Or (CyclAbrtedByErr And CyclesDim = 0) Then
 
                 If JobAbortedByErr Then
@@ -712,7 +640,6 @@ lbExit:
         MAP = Nothing
         TRS = Nothing
         DRI = Nothing
-        ADV = Nothing
         MODdata = Nothing
         ERG = Nothing
 
diff --git a/VECTO/My Project/AssemblyInfo.vb b/VECTO/My Project/AssemblyInfo.vb
index 435d327fdb..0b4a85966e 100644
--- a/VECTO/My Project/AssemblyInfo.vb	
+++ b/VECTO/My Project/AssemblyInfo.vb	
@@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices
 ' by entering "*" in them:
 ' <Assembly: AssemblyVersion("1.0.*")> 
 
-<Assembly: AssemblyVersion("1.3.1.1")> 
-<Assembly: AssemblyFileVersion("1.3.1.1")> 
+<Assembly: AssemblyVersion("1.4.0.0")> 
+<Assembly: AssemblyFileVersion("1.4.0.0")> 
diff --git a/VECTO/VECTO.vbproj b/VECTO/VECTO.vbproj
index 1376847efc..3b8b5be761 100644
--- a/VECTO/VECTO.vbproj
+++ b/VECTO/VECTO.vbproj
@@ -106,7 +106,6 @@
   </ItemGroup>
   <ItemGroup>
     <Compile Include="ApplicationEvents.vb" />
-    <Compile Include="ADVANCE\cADV.vb" />
     <Compile Include="cVECTO.vb" />
     <Compile Include="cVSUM.vb" />
     <Compile Include="GUI\F_FileSign.Designer.vb">
@@ -204,30 +203,17 @@
     <Compile Include="GUI\F_ShutDown.vb">
       <SubType>Form</SubType>
     </Compile>
-    <Compile Include="GUI\F_ADVfzp.Designer.vb">
-      <DependentUpon>F_ADVfzp.vb</DependentUpon>
-    </Compile>
-    <Compile Include="GUI\F_ADVfzp.vb">
-      <SubType>Form</SubType>
-    </Compile>
     <Compile Include="GUI\F_GEN.Designer.vb">
       <DependentUpon>F_GEN.vb</DependentUpon>
     </Compile>
     <Compile Include="GUI\F_GEN.vb">
       <SubType>Form</SubType>
     </Compile>
-    <Compile Include="GUI\F_ModSplit.Designer.vb">
-      <DependentUpon>F_ModSplit.vb</DependentUpon>
-    </Compile>
-    <Compile Include="GUI\F_ModSplit.vb">
-      <SubType>Form</SubType>
-    </Compile>
     <Compile Include="cFile V3.vb" />
     <Compile Include="VECTO_Global.vb" />
     <Compile Include="VECTO_Types.vb" />
     <Compile Include="M_SOC_Iter.vb" />
     <Compile Include="cRegression.vb" />
-    <Compile Include="ADVANCE\cADVANCE.vb" />
     <Compile Include="GUI\GUI_Subs.vb" />
     <Compile Include="GUI\F_VEH.Designer.vb">
       <DependentUpon>F_VEH.vb</DependentUpon>
@@ -241,18 +227,6 @@
     <Compile Include="GUI\F_Options.vb">
       <SubType>Form</SubType>
     </Compile>
-    <Compile Include="GUI\F_TEM_Creator.Designer.vb">
-      <DependentUpon>F_TEM_Creator.vb</DependentUpon>
-    </Compile>
-    <Compile Include="GUI\F_TEM_Creator.vb">
-      <SubType>Form</SubType>
-    </Compile>
-    <Compile Include="GUI\F_ADV.Designer.vb">
-      <DependentUpon>F_ADV.vb</DependentUpon>
-    </Compile>
-    <Compile Include="GUI\F_ADV.vb">
-      <SubType>Form</SubType>
-    </Compile>
     <Compile Include="GUI\F_AboutBox.Designer.vb">
       <DependentUpon>F_AboutBox.vb</DependentUpon>
     </Compile>
@@ -305,10 +279,6 @@
     <EmbeddedResource Include="GUI\F_Welcome.resx">
       <DependentUpon>F_Welcome.vb</DependentUpon>
     </EmbeddedResource>
-    <EmbeddedResource Include="GUI\F_ADVfzp.resx">
-      <SubType>Designer</SubType>
-      <DependentUpon>F_ADVfzp.vb</DependentUpon>
-    </EmbeddedResource>
     <EmbeddedResource Include="GUI\F_ENG.resx">
       <DependentUpon>F_ENG.vb</DependentUpon>
     </EmbeddedResource>
@@ -323,10 +293,6 @@
       <SubType>Designer</SubType>
       <DependentUpon>F_GEN.vb</DependentUpon>
     </EmbeddedResource>
-    <EmbeddedResource Include="GUI\F_ModSplit.resx">
-      <SubType>Designer</SubType>
-      <DependentUpon>F_ModSplit.vb</DependentUpon>
-    </EmbeddedResource>
     <EmbeddedResource Include="GUI\F_ShutDown.resx">
       <SubType>Designer</SubType>
       <DependentUpon>F_ShutDown.vb</DependentUpon>
@@ -342,14 +308,6 @@
       <SubType>Designer</SubType>
       <DependentUpon>F_Options.vb</DependentUpon>
     </EmbeddedResource>
-    <EmbeddedResource Include="GUI\F_TEM_Creator.resx">
-      <SubType>Designer</SubType>
-      <DependentUpon>F_TEM_Creator.vb</DependentUpon>
-    </EmbeddedResource>
-    <EmbeddedResource Include="GUI\F_ADV.resx">
-      <SubType>Designer</SubType>
-      <DependentUpon>F_ADV.vb</DependentUpon>
-    </EmbeddedResource>
     <EmbeddedResource Include="GUI\F_AboutBox.resx">
       <SubType>Designer</SubType>
       <DependentUpon>F_AboutBox.vb</DependentUpon>
diff --git a/VECTO/VECTO_Global.vb b/VECTO/VECTO_Global.vb
index 635c8c8c1e..1384392d94 100644
--- a/VECTO/VECTO_Global.vb
+++ b/VECTO/VECTO_Global.vb
@@ -38,7 +38,6 @@ Module VECTO_Global
     Public MODdata As cMOD
     Public TRS As cTRS
     Public EXS As cEXS
-    Public ADV As cADVANCE_V3
     Public Lic As vectolic.cLicense
     Public ERG As cERG
     Public DEV As cDEV
diff --git a/VECTO/VECTO_Types.vb b/VECTO/VECTO_Types.vb
index 84acf3a6c3..30770798ca 100644
--- a/VECTO/VECTO_Types.vb
+++ b/VECTO/VECTO_Types.vb
@@ -1,7 +1,6 @@
 Public Enum tPHEMmode As Short
     ModeSTANDARD = 0
     ModeBATCH = 1
-    ModeADVANCE = 2
 End Enum
 
 Public Enum tCalcMode As Short
diff --git a/VECTO/cDEV.vb b/VECTO/cDEV.vb
index 3614b4e28f..48bc7e403c 100644
--- a/VECTO/cDEV.vb
+++ b/VECTO/cDEV.vb
@@ -193,11 +193,6 @@ Public Class cDEV
 
     Public Function ShowAddOptions() As String
         F_MAINForm.GrbxTest.Visible = True
-        F_MAINForm.ADVEditorToolStripMenuItem1.Visible = True
-        F_MAINForm.CreateTEMFileToolStripMenuItem.Visible = True
-        F_MAINForm.SplitMODFilesToolStripMenuItem.Visible = True
-        F_MAINForm.ToolStripSeparator4.Visible = True
-
 
         Return ("done")
     End Function
diff --git a/VECTO/cERG.vb b/VECTO/cERG.vb
index 09d154b024..4c39eb0dae 100644
--- a/VECTO/cERG.vb
+++ b/VECTO/cERG.vb
@@ -14,316 +14,6 @@ Class cERG
         ERGpath = ""
     End Sub
 
-    Public Function ErgEntryInit() As Boolean
-        Dim GENs As New List(Of String)
-        Dim str As String
-        Dim str1 As String
-        Dim iGEN As Integer
-        Dim ADV0 As cADV
-        Dim file As New cFile_V3
-        Dim path0 As String
-        Dim GEN0 As cGEN
-        Dim MAP0 As cMAP
-        Dim ENG0 As cENG
-        Dim Em0 As cEmComp
-        Dim HEVorEVdone As Boolean
-        Dim EVdone As Boolean
-        Dim EngOnly As Boolean
-        Dim NonEngOnly As Boolean
-        Dim ErgEntry As cErgEntry
-        Dim CylceKin As cCycleKin
-        Dim i1 As Integer
-        Dim i2 As Integer
-        Dim iDim As Integer
-        Dim DRI0 As cDRI
-        Dim MsgSrc As String
-
-        MsgSrc = "SUMALL/Init"
-
-        ErgEntries = New Dictionary(Of String, cErgEntry)
-        ErgEntryList = New List(Of String)
-
-
-        '********************** GEN-Liste raussuchen. Bei ADVANCE aus Flotte sonst aus Jobliste '********************** |@@| Select GEN-list for ADVANCE either from Fleet or from Job-list '**********************
-        If PHEMmode = tPHEMmode.ModeADVANCE Then
-
-            ADV0 = New cADV
-            ADV0.FilePath = JobFile
-
-            If Not ADV0.ReadFile Then
-                WorkerMsg(tMsgID.Err, "Can't read .adv file '" & JobFile & "' !", MsgSrc)
-                Return False
-            End If
-
-            If Not file.OpenRead(ADV0.FLTpath) Then
-                WorkerMsg(tMsgID.Err, "Can't read .flt file '" & ADV0.FLTpath & "' !", MsgSrc)
-                Return False
-            End If
-
-            path0 = fPATH(ADV0.FLTpath)
-
-            Do While Not file.EndOfFile
-                str = file.ReadLine(1)
-                GENs.Add(fFileRepl(str, path0))
-            Loop
-
-            file.Close()
-
-            iGEN = GENs.Count - 1
-
-        Else
-
-            For Each str In JobFileList
-                GENs.Add(fFileRepl(str))
-            Next
-            iGEN = GENs.Count - 1
-
-        End If
-
-
-        '********************** Create Erg-entries '**********************
-        EVdone = False
-        HEVorEVdone = False
-        EngOnly = False
-        NonEngOnly = False
-
-        'Vehicle type-independent
-        AddToErg("\\T", "time", "[s]")
-        AddToErg("\\Prated", "Prated", "[kW]")
-
-        'For each GEN-file check Mode and Map
-        For Each str In GENs
-
-            GEN0 = New cGEN
-
-            GEN0.FilePath = str
-
-            Try
-                If Not GEN0.ReadFile Then
-                    WorkerMsg(tMsgID.Err, "Can't read .gen file '" & str & "' !", MsgSrc)
-                    Return False
-                End If
-            Catch ex As Exception
-                WorkerMsg(tMsgID.Err, "File read error! (" & str & ")", MsgSrc)
-                Return False
-            End Try
-
-            If GEN0.VehMode = tVehMode.EngineOnly Then
-
-                If Not EngOnly Then
-
-                    'nothing...
-
-                    EngOnly = True
-
-                End If
-
-            Else
-
-                If Not NonEngOnly Then
-
-                    AddToErg("\\S", "distance", "[km]")
-                    AddToErg("\\V", "speed", "[km/h]")
-                    AddToErg("\\G", "∆altitude", "[m]")
-
-                    NonEngOnly = True
-
-                End If
-
-                'Auxiliary energy consumption
-                If GEN0.AuxDef Then
-                    For Each str1 In GEN0.AuxPaths.Keys
-                        AddToErg("\\Eaux_" & UCase(str1), "Eaux_" & str1, "[kWh]")
-                    Next
-                End If
-
-            End If
-
-
-            'Electric-Vehicle / Hybrid
-            If GEN0.VehMode = tVehMode.EV Or GEN0.VehMode = tVehMode.HEV Then
-
-                'EV & HEV
-                If Not HEVorEVdone Then
-
-                    AddToErg("\\PeEM+", "PeEM+", "[kW]")
-                    AddToErg("\\PeBat+", "PeBat+", "[kW]")
-                    AddToErg("\\PiBat+", "PiBat+", "[kW]")
-                    AddToErg("\\PeEM-", "PeEM-", "[kW]")
-                    AddToErg("\\PeBat-", "PeBat-", "[kW]")
-                    AddToErg("\\PiBat-", "PiBat-", "[kW]")
-                    AddToErg("\\EiBat+", "EiBat+", "[kWh]")
-                    AddToErg("\\EiBat-", "EiBat-", "[kWh]")
-                    AddToErg("\\EtaEM", "EtaEM", "[%]")
-                    AddToErg("\\EtaBat", "EtaBat", "[%]")
-                    AddToErg("\\∆SOC", "∆SOC", "[%]")
-
-                    HEVorEVdone = True
-
-                End If
-
-                'Only EV:
-                If GEN0.VehMode = tVehMode.EV And Not EVdone Then
-
-                    AddToErg("\\EC", "EC", "[kWh/km]")
-
-                    EVdone = True
-
-                End If
-
-
-            End If
-
-
-            'Conventional / Hybrid (Everything except EV)
-            If GEN0.VehMode <> tVehMode.EV Then
-
-                'Conventional vehicles ...
-                'AddToErg("\\n_norm", "n_norm", "[-]")
-                'AddToErg("\\Pe_norm", "Pe_norm", "[-]")
-                AddToErg("\\Ppos", "Ppos", "[-]")
-                AddToErg("\\Pneg", "Pneg", "[-]")
-
-                If GEN0.CreateMap Then
-
-                    'From the measured data
-                    DRI0 = New cDRI
-                    DRI0.FilePath = GEN0.CycleFiles(0).FullPath
-
-                    Try
-                        If Not DRI0.ReadFile Then Return False
-                    Catch ex As Exception
-                        WorkerMsg(tMsgID.Err, "File read error! (" & GEN0.CycleFiles(0).FullPath & ")", MsgSrc)
-                        Return False
-                    End Try
-
-                    For Each Em0 In DRI0.EmComponents.Values
-
-                        If Em0.WriteOutput Then
-
-                            'Dump x/h if in ADVANCE mode -or- EngineOnly -or- Units not in x/h and therefore Conversion into  x/km is not possible
-                            If Em0.NormID = tEmNorm.x Or GEN0.VehMode = tVehMode.EngineOnly Or PHEMmode = tPHEMmode.ModeADVANCE Then
-                                AddToErg(Em0.IDstring, Em0.Name, Em0.Unit, False)
-                            Else
-                                AddToErg(Em0.IDstring, Em0.Name, "[" & Em0.RawUnit & "/km]", True)
-                            End If
-
-                        End If
-
-                    Next
-
-                    AddToErg(sKey.MAP.Extrapol, fMapCompName(tMapComp.Extrapol), "[-]")
-
-                Else
-
-                    'From the Engine-Map
-                    ENG0 = New cENG
-                    ENG0.FilePath = GEN0.PathENG
-
-                    Try
-                        If Not ENG0.ReadFile Then Return False
-                    Catch ex As Exception
-                        WorkerMsg(tMsgID.Err, "File read error! (" & GEN0.PathENG & ")", MsgSrc)
-                        Return False
-                    End Try
-
-                    MAP0 = New cMAP(GEN0.PKWja)
-                    MAP0.FilePath = ENG0.PathMAP
-
-                    Try
-                        If Not MAP0.ReadFile(False) Then Return False 'Fehlermeldungen werden auch bei "MsgOutput = False" ausgegeben
-                    Catch ex As Exception
-                        WorkerMsg(tMsgID.Err, "File read error! (" & ENG0.PathMAP & ")", MsgSrc)
-                        Return False
-                    End Try
-
-
-                    For Each str1 In MAP0.EmList
-
-                        Em0 = MAP0.EmComponents(str1)
-
-                        If Em0.WriteOutput Then
-
-                            'Dump x/h if ADVANCE mode -or- EngineOnly -or- Units not in x/h and therefore Conversion into x/km is not possible
-                            If Em0.NormID = tEmNorm.x Or GEN0.VehMode = tVehMode.EngineOnly Or PHEMmode = tPHEMmode.ModeADVANCE Then
-                                AddToErg(Em0.IDstring, Em0.Name, Em0.Unit, False)
-                            Else
-                                AddToErg(Em0.IDstring, Em0.Name, "[" & Em0.RawUnit & "/km]", True)
-                            End If
-
-                        End If
-
-                    Next
-
-                End If
-
-            End If
-
-        Next
-
-
-        If EngOnly Then
-
-            'currently nothing
-
-        End If
-
-        If NonEngOnly Then
-
-            'Vehicle-related fields
-            AddToErg("\\Pbrake", "Pbrake", "[-]")
-            AddToErg("\\EposICE", "EposICE", "[kWh]")
-            AddToErg("\\EnegICE", "EnegICE", "[kWh]")
-            AddToErg("\\Eair", "Eair", "[kWh]")
-            AddToErg("\\Eroll", "Eroll", "[kWh]")
-            AddToErg("\\Egrad", "Egrad", "[kWh]")
-            AddToErg("\\Eacc", "Eacc", "[kWh]")
-            AddToErg("\\Eaux", "Eaux", "[kWh]")
-            AddToErg("\\Ebrake", "Ebrake", "[kWh]")
-            AddToErg("\\Etransm", "Etransm", "[kWh]")
-            AddToErg("\\Mass", "Mass", "[kg]")
-            AddToErg("\\Loading", "Loading", "[kg]")
-
-            'CylceKin
-            CylceKin = New cCycleKin
-            For Each ErgEntry In CylceKin.ErgEntries
-                AddToErg("\\" & ErgEntry.Head, ErgEntry.Head, ErgEntry.Unit)
-            Next
-
-        End If
-
-        'ErgListe sortieren damit g/km und g/h nebeneinander liegen |@@| Sort ErgListe so that g/km and g/h are side-by-side
-        iDim = ErgEntryList.Count - 1
-
-        For i1 = 0 To iDim - 1
-            str = ErgEntries(ErgEntryList(i1)).Head
-            For i2 = i1 + 1 To iDim
-                If ErgEntries(ErgEntryList(i2)).Head = str Then
-                    ErgEntryList.Insert(i1 + 1, ErgEntryList(i2))
-                    ErgEntryList.RemoveAt(i2 + 1)
-                End If
-            Next
-        Next
-
-        'Sort Aux
-        For i1 = 0 To iDim - 1
-            str = ErgEntries(ErgEntryList(i1)).Head
-            If str.Length > 4 AndAlso Left(str, 4) = "Eaux" Then
-                For i2 = i1 + 1 To iDim
-                    If ErgEntries(ErgEntryList(i2)).Head.Length > 4 AndAlso Left(ErgEntries(ErgEntryList(i2)).Head, 4) = "Eaux" Then
-                        ErgEntryList.Insert(i1 + 1, ErgEntryList(i2))
-                        ErgEntryList.RemoveAt(i2 + 1)
-                    End If
-                Next
-            End If
-        Next
-
-
-
-        Return True
-
-    End Function
-
     Public Function ErgHead() As String
         Dim s As New System.Text.StringBuilder
         Dim key As String
@@ -546,13 +236,13 @@ Class cERG
                 If Em0.WriteOutput Then
 
                     If FCerror Then
-                        If Em0.NormID = tEmNorm.x Or GEN.VehMode = tVehMode.EngineOnly Or PHEMmode = tPHEMmode.ModeADVANCE Then
+                        If Em0.NormID = tEmNorm.x Or GEN.VehMode = tVehMode.EngineOnly Then
                             ErgEntries(Em0.IDstring).ValueString = "ERROR"
                         Else
                             ErgEntries(Em0.IDstring & "_km").ValueString = "ERROR"
                         End If
                     Else
-                        If Em0.NormID = tEmNorm.x Or GEN.VehMode = tVehMode.EngineOnly Or PHEMmode = tPHEMmode.ModeADVANCE Then
+                        If Em0.NormID = tEmNorm.x Or GEN.VehMode = tVehMode.EngineOnly Then
                             ErgEntries(Em0.IDstring).ValueString = Em0.FinalAvg.ToString
                         Else
                             ErgEntries(Em0.IDstring & "_km").ValueString = (Em0.FinalAvg / Vquer).ToString
@@ -775,7 +465,27 @@ Class cERG
 
     End Sub
 
-    Public Function Init(ByVal GenFile As String) As Boolean
+    Public Function Init(ByVal GenFile As String) As Boolean
+        Dim GENs As New List(Of String)
+        Dim str As String
+        Dim str1 As String
+        Dim iGEN As Integer
+        Dim file As New cFile_V3
+        Dim GEN0 As cGEN
+        Dim MAP0 As cMAP
+        Dim ENG0 As cENG
+        Dim Em0 As cEmComp
+        Dim HEVorEVdone As Boolean
+        Dim EVdone As Boolean
+        Dim EngOnly As Boolean
+        Dim NonEngOnly As Boolean
+        Dim ErgEntry As cErgEntry
+        Dim CylceKin As cCycleKin
+        Dim i1 As Integer
+        Dim i2 As Integer
+        Dim iDim As Integer
+        Dim DRI0 As cDRI
+
         Dim MsgSrc As String
 
         MsgSrc = "SUMALL/Init"
@@ -823,6 +533,254 @@ Class cERG
         Lic.FileSigning.AddFile(ERGpath)
 
 
+        ErgEntries = New Dictionary(Of String, cErgEntry)
+        ErgEntryList = New List(Of String)
+
+
+        '********************** GEN-Liste raussuchen. Bei ADVANCE aus Flotte sonst aus Jobliste '********************** |@@| Select GEN-list for ADVANCE either from Fleet or from Job-list '**********************
+        For Each str In JobFileList
+            GENs.Add(fFileRepl(str))
+        Next
+        iGEN = GENs.Count - 1
+
+
+        '********************** Create Erg-entries '**********************
+        EVdone = False
+        HEVorEVdone = False
+        EngOnly = False
+        NonEngOnly = False
+
+        'Vehicle type-independent
+        AddToErg("\\T", "time", "[s]")
+        AddToErg("\\Prated", "Prated", "[kW]")
+
+        'For each GEN-file check Mode and Map
+        For Each str In GENs
+
+            GEN0 = New cGEN
+
+            GEN0.FilePath = str
+
+            Try
+                If Not GEN0.ReadFile Then
+                    WorkerMsg(tMsgID.Err, "Can't read .gen file '" & str & "' !", MsgSrc)
+                    Return False
+                End If
+            Catch ex As Exception
+                WorkerMsg(tMsgID.Err, "File read error! (" & str & ")", MsgSrc)
+                Return False
+            End Try
+
+            If GEN0.VehMode = tVehMode.EngineOnly Then
+
+                If Not EngOnly Then
+
+                    'nothing...
+
+                    EngOnly = True
+
+                End If
+
+            Else
+
+                If Not NonEngOnly Then
+
+                    AddToErg("\\S", "distance", "[km]")
+                    AddToErg("\\V", "speed", "[km/h]")
+                    AddToErg("\\G", "∆altitude", "[m]")
+
+                    NonEngOnly = True
+
+                End If
+
+                'Auxiliary energy consumption
+                If GEN0.AuxDef Then
+                    For Each str1 In GEN0.AuxPaths.Keys
+                        AddToErg("\\Eaux_" & UCase(str1), "Eaux_" & str1, "[kWh]")
+                    Next
+                End If
+
+            End If
+
+
+            'Electric-Vehicle / Hybrid
+            If GEN0.VehMode = tVehMode.EV Or GEN0.VehMode = tVehMode.HEV Then
+
+                'EV & HEV
+                If Not HEVorEVdone Then
+
+                    AddToErg("\\PeEM+", "PeEM+", "[kW]")
+                    AddToErg("\\PeBat+", "PeBat+", "[kW]")
+                    AddToErg("\\PiBat+", "PiBat+", "[kW]")
+                    AddToErg("\\PeEM-", "PeEM-", "[kW]")
+                    AddToErg("\\PeBat-", "PeBat-", "[kW]")
+                    AddToErg("\\PiBat-", "PiBat-", "[kW]")
+                    AddToErg("\\EiBat+", "EiBat+", "[kWh]")
+                    AddToErg("\\EiBat-", "EiBat-", "[kWh]")
+                    AddToErg("\\EtaEM", "EtaEM", "[%]")
+                    AddToErg("\\EtaBat", "EtaBat", "[%]")
+                    AddToErg("\\∆SOC", "∆SOC", "[%]")
+
+                    HEVorEVdone = True
+
+                End If
+
+                'Only EV:
+                If GEN0.VehMode = tVehMode.EV And Not EVdone Then
+
+                    AddToErg("\\EC", "EC", "[kWh/km]")
+
+                    EVdone = True
+
+                End If
+
+
+            End If
+
+
+            'Conventional / Hybrid (Everything except EV)
+            If GEN0.VehMode <> tVehMode.EV Then
+
+                'Conventional vehicles ...
+                'AddToErg("\\n_norm", "n_norm", "[-]")
+                'AddToErg("\\Pe_norm", "Pe_norm", "[-]")
+                AddToErg("\\Ppos", "Ppos", "[-]")
+                AddToErg("\\Pneg", "Pneg", "[-]")
+
+                If GEN0.CreateMap Then
+
+                    'From the measured data
+                    DRI0 = New cDRI
+                    DRI0.FilePath = GEN0.CycleFiles(0).FullPath
+
+                    Try
+                        If Not DRI0.ReadFile Then Return False
+                    Catch ex As Exception
+                        WorkerMsg(tMsgID.Err, "File read error! (" & GEN0.CycleFiles(0).FullPath & ")", MsgSrc)
+                        Return False
+                    End Try
+
+                    For Each Em0 In DRI0.EmComponents.Values
+
+                        If Em0.WriteOutput Then
+
+                            'Dump x/h if in ADVANCE mode -or- EngineOnly -or- Units not in x/h and therefore Conversion into  x/km is not possible
+                            If Em0.NormID = tEmNorm.x Or GEN0.VehMode = tVehMode.EngineOnly Then
+                                AddToErg(Em0.IDstring, Em0.Name, Em0.Unit, False)
+                            Else
+                                AddToErg(Em0.IDstring, Em0.Name, "[" & Em0.RawUnit & "/km]", True)
+                            End If
+
+                        End If
+
+                    Next
+
+                    AddToErg(sKey.MAP.Extrapol, fMapCompName(tMapComp.Extrapol), "[-]")
+
+                Else
+
+                    'From the Engine-Map
+                    ENG0 = New cENG
+                    ENG0.FilePath = GEN0.PathENG
+
+                    Try
+                        If Not ENG0.ReadFile Then Return False
+                    Catch ex As Exception
+                        WorkerMsg(tMsgID.Err, "File read error! (" & GEN0.PathENG & ")", MsgSrc)
+                        Return False
+                    End Try
+
+                    MAP0 = New cMAP(GEN0.PKWja)
+                    MAP0.FilePath = ENG0.PathMAP
+
+                    Try
+                        If Not MAP0.ReadFile(False) Then Return False 'Fehlermeldungen werden auch bei "MsgOutput = False" ausgegeben
+                    Catch ex As Exception
+                        WorkerMsg(tMsgID.Err, "File read error! (" & ENG0.PathMAP & ")", MsgSrc)
+                        Return False
+                    End Try
+
+
+                    For Each str1 In MAP0.EmList
+
+                        Em0 = MAP0.EmComponents(str1)
+
+                        If Em0.WriteOutput Then
+
+                            'Dump x/h if ADVANCE mode -or- EngineOnly -or- Units not in x/h and therefore Conversion into x/km is not possible
+                            If Em0.NormID = tEmNorm.x Or GEN0.VehMode = tVehMode.EngineOnly Then
+                                AddToErg(Em0.IDstring, Em0.Name, Em0.Unit, False)
+                            Else
+                                AddToErg(Em0.IDstring, Em0.Name, "[" & Em0.RawUnit & "/km]", True)
+                            End If
+
+                        End If
+
+                    Next
+
+                End If
+
+            End If
+
+        Next
+
+
+        If EngOnly Then
+
+            'currently nothing
+
+        End If
+
+        If NonEngOnly Then
+
+            'Vehicle-related fields
+            AddToErg("\\Pbrake", "Pbrake", "[-]")
+            AddToErg("\\EposICE", "EposICE", "[kWh]")
+            AddToErg("\\EnegICE", "EnegICE", "[kWh]")
+            AddToErg("\\Eair", "Eair", "[kWh]")
+            AddToErg("\\Eroll", "Eroll", "[kWh]")
+            AddToErg("\\Egrad", "Egrad", "[kWh]")
+            AddToErg("\\Eacc", "Eacc", "[kWh]")
+            AddToErg("\\Eaux", "Eaux", "[kWh]")
+            AddToErg("\\Ebrake", "Ebrake", "[kWh]")
+            AddToErg("\\Etransm", "Etransm", "[kWh]")
+            AddToErg("\\Mass", "Mass", "[kg]")
+            AddToErg("\\Loading", "Loading", "[kg]")
+
+            'CylceKin
+            CylceKin = New cCycleKin
+            For Each ErgEntry In CylceKin.ErgEntries
+                AddToErg("\\" & ErgEntry.Head, ErgEntry.Head, ErgEntry.Unit)
+            Next
+
+        End If
+
+        'ErgListe sortieren damit g/km und g/h nebeneinander liegen |@@| Sort ErgListe so that g/km and g/h are side-by-side
+        iDim = ErgEntryList.Count - 1
+
+        For i1 = 0 To iDim - 1
+            str = ErgEntries(ErgEntryList(i1)).Head
+            For i2 = i1 + 1 To iDim
+                If ErgEntries(ErgEntryList(i2)).Head = str Then
+                    ErgEntryList.Insert(i1 + 1, ErgEntryList(i2))
+                    ErgEntryList.RemoveAt(i2 + 1)
+                End If
+            Next
+        Next
+
+        'Sort Aux
+        For i1 = 0 To iDim - 1
+            str = ErgEntries(ErgEntryList(i1)).Head
+            If str.Length > 4 AndAlso Left(str, 4) = "Eaux" Then
+                For i2 = i1 + 1 To iDim
+                    If ErgEntries(ErgEntryList(i2)).Head.Length > 4 AndAlso Left(ErgEntries(ErgEntryList(i2)).Head, 4) = "Eaux" Then
+                        ErgEntryList.Insert(i1 + 1, ErgEntryList(i2))
+                        ErgEntryList.RemoveAt(i2 + 1)
+                    End If
+                Next
+            End If
+        Next
+
         Return True
 
     End Function
-- 
GitLab