summaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
Diffstat (limited to 'examples')
-rw-r--r--examples/application/CMakeLists.txt140
-rwxr-xr-xexamples/application/clean.sh1
-rw-r--r--examples/application/compile.bat24
-rwxr-xr-xexamples/application/compile.sh25
-rw-r--r--examples/application/src/main.cpp16
-rw-r--r--examples/examples.R16
-rwxr-xr-xexamples/examples.matbin1062107 -> 0 bytes
-rw-r--r--examples/hybrid/ObstacleAvoidance.R86
-rw-r--r--examples/hybrid/ObstacleAvoidance.cpp75
-rw-r--r--examples/hybrid/ObstacleAvoidance.fcl49
-rw-r--r--examples/hybrid/ObstacleAvoidance.fis43
-rw-r--r--examples/hybrid/ObstacleAvoidance.fld1025
-rw-r--r--examples/hybrid/ObstacleAvoidance.fll43
-rw-r--r--examples/hybrid/ObstacleAvoidance.java86
-rw-r--r--examples/hybrid/ObstacleAvoidance.pdfbin0 -> 45584 bytes
-rw-r--r--examples/hybrid/tipper.R109
-rw-r--r--examples/hybrid/tipper.cpp92
-rw-r--r--examples/hybrid/tipper.fcl66
-rw-r--r--examples/hybrid/tipper.fis57
-rw-r--r--examples/hybrid/tipper.fld1025
-rw-r--r--examples/hybrid/tipper.fll63
-rw-r--r--examples/hybrid/tipper.java103
-rw-r--r--examples/hybrid/tipper.pdfbin0 -> 32309 bytes
-rw-r--r--examples/mamdani/AllTerms.R111
-rw-r--r--examples/mamdani/AllTerms.cpp164
-rw-r--r--examples/mamdani/AllTerms.fcl4
-rw-r--r--examples/mamdani/AllTerms.fis5
-rw-r--r--examples/mamdani/AllTerms.fld2051
-rw-r--r--examples/mamdani/AllTerms.fll10
-rw-r--r--examples/mamdani/AllTerms.java125
-rw-r--r--examples/mamdani/AllTerms.pdfbin0 -> 24280 bytes
-rw-r--r--examples/mamdani/Laundry.R91
-rw-r--r--examples/mamdani/Laundry.cpp105
-rw-r--r--examples/mamdani/Laundry.fcl20
-rw-r--r--examples/mamdani/Laundry.fis51
-rw-r--r--examples/mamdani/Laundry.fld2051
-rw-r--r--examples/mamdani/Laundry.fll31
-rw-r--r--examples/mamdani/Laundry.java106
-rw-r--r--examples/mamdani/Laundry.pdfbin0 -> 30166 bytes
-rw-r--r--examples/mamdani/ObstacleAvoidance.R57
-rw-r--r--examples/mamdani/ObstacleAvoidance.cpp49
-rw-r--r--examples/mamdani/ObstacleAvoidance.fcl34
-rw-r--r--examples/mamdani/ObstacleAvoidance.fis32
-rw-r--r--examples/mamdani/ObstacleAvoidance.fld1025
-rw-r--r--examples/mamdani/ObstacleAvoidance.fll25
-rw-r--r--examples/mamdani/ObstacleAvoidance.java60
-rw-r--r--examples/mamdani/ObstacleAvoidance.pdfbin0 -> 25210 bytes
-rw-r--r--examples/mamdani/SimpleDimmer.R60
-rw-r--r--examples/mamdani/SimpleDimmer.cpp66
-rw-r--r--examples/mamdani/SimpleDimmer.fcl4
-rw-r--r--examples/mamdani/SimpleDimmer.fis9
-rw-r--r--examples/mamdani/SimpleDimmer.fld2051
-rw-r--r--examples/mamdani/SimpleDimmer.fll10
-rw-r--r--examples/mamdani/SimpleDimmer.java57
-rw-r--r--examples/mamdani/SimpleDimmer.pdfbin0 -> 22872 bytes
-rw-r--r--examples/mamdani/SimpleDimmerChained.R85
-rw-r--r--examples/mamdani/SimpleDimmerChained.cpp70
-rw-r--r--examples/mamdani/SimpleDimmerChained.fcl51
-rw-r--r--examples/mamdani/SimpleDimmerChained.fis46
-rw-r--r--examples/mamdani/SimpleDimmerChained.fld1025
-rw-r--r--examples/mamdani/SimpleDimmerChained.fll14
-rw-r--r--examples/mamdani/SimpleDimmerChained.java81
-rw-r--r--examples/mamdani/SimpleDimmerChained.pdfbin0 -> 42431 bytes
-rw-r--r--examples/mamdani/SimpleDimmerInverse.R85
-rw-r--r--examples/mamdani/SimpleDimmerInverse.cpp105
-rw-r--r--examples/mamdani/SimpleDimmerInverse.fcl4
-rw-r--r--examples/mamdani/SimpleDimmerInverse.fis46
-rw-r--r--examples/mamdani/SimpleDimmerInverse.fld2051
-rw-r--r--examples/mamdani/SimpleDimmerInverse.fll14
-rw-r--r--examples/mamdani/SimpleDimmerInverse.java84
-rw-r--r--examples/mamdani/SimpleDimmerInverse.pdfbin0 -> 41795 bytes
-rw-r--r--examples/mamdani/octave/investment_portfolio.R67
-rw-r--r--examples/mamdani/octave/investment_portfolio.cpp84
-rw-r--r--examples/mamdani/octave/investment_portfolio.fcl4
-rw-r--r--examples/mamdani/octave/investment_portfolio.fis5
-rw-r--r--examples/mamdani/octave/investment_portfolio.fld2051
-rw-r--r--examples/mamdani/octave/investment_portfolio.fll11
-rw-r--r--examples/mamdani/octave/investment_portfolio.java77
-rw-r--r--examples/mamdani/octave/investment_portfolio.pdfbin0 -> 19163 bytes
-rw-r--r--examples/mamdani/octave/mamdani_tip_calculator.R90
-rw-r--r--examples/mamdani/octave/mamdani_tip_calculator.cpp105
-rw-r--r--examples/mamdani/octave/mamdani_tip_calculator.fcl4
-rw-r--r--examples/mamdani/octave/mamdani_tip_calculator.fis7
-rw-r--r--examples/mamdani/octave/mamdani_tip_calculator.fld2051
-rw-r--r--examples/mamdani/octave/mamdani_tip_calculator.fll15
-rw-r--r--examples/mamdani/octave/mamdani_tip_calculator.java98
-rw-r--r--examples/mamdani/octave/mamdani_tip_calculator.pdfbin0 -> 31675 bytes
-rw-r--r--examples/original/mamdani/AllTerms.fll9
-rw-r--r--examples/original/mamdani/Laundry.fll9
-rw-r--r--examples/original/mamdani/SimpleDimmer.fll9
-rw-r--r--examples/original/mamdani/SimpleDimmerInverse.fll11
-rw-r--r--examples/original/mamdani/octave/investment_portfolio.fll9
-rw-r--r--examples/original/mamdani/octave/mamdani_tip_calculator.fll11
-rw-r--r--examples/original/takagi-sugeno/SimpleDimmer.fll7
-rw-r--r--examples/original/takagi-sugeno/approximation.fll11
-rw-r--r--examples/original/takagi-sugeno/octave/cubic_approximator.fll7
-rw-r--r--examples/original/takagi-sugeno/octave/heart_disease_risk.fll7
-rw-r--r--examples/original/takagi-sugeno/octave/linear_tip_calculator.fll7
-rw-r--r--examples/original/takagi-sugeno/octave/sugeno_tip_calculator.fll11
-rw-r--r--examples/original/tsukamoto/tsukamoto.fll15
-rw-r--r--examples/takagi-sugeno/ObstacleAvoidance.R57
-rw-r--r--examples/takagi-sugeno/ObstacleAvoidance.cpp49
-rw-r--r--examples/takagi-sugeno/ObstacleAvoidance.fcl33
-rw-r--r--examples/takagi-sugeno/ObstacleAvoidance.fis32
-rw-r--r--examples/takagi-sugeno/ObstacleAvoidance.fld1025
-rw-r--r--examples/takagi-sugeno/ObstacleAvoidance.fll25
-rw-r--r--examples/takagi-sugeno/ObstacleAvoidance.java60
-rw-r--r--examples/takagi-sugeno/ObstacleAvoidance.pdfbin0 -> 25090 bytes
-rw-r--r--examples/takagi-sugeno/SimpleDimmer.R60
-rw-r--r--examples/takagi-sugeno/SimpleDimmer.cpp66
-rw-r--r--examples/takagi-sugeno/SimpleDimmer.fcl4
-rw-r--r--examples/takagi-sugeno/SimpleDimmer.fis13
-rw-r--r--examples/takagi-sugeno/SimpleDimmer.fld2051
-rw-r--r--examples/takagi-sugeno/SimpleDimmer.fll10
-rw-r--r--examples/takagi-sugeno/SimpleDimmer.java57
-rw-r--r--examples/takagi-sugeno/SimpleDimmer.pdfbin0 -> 22975 bytes
-rw-r--r--examples/takagi-sugeno/approximation.R119
-rw-r--r--examples/takagi-sugeno/approximation.cpp146
-rw-r--r--examples/takagi-sugeno/approximation.fcl4
-rw-r--r--examples/takagi-sugeno/approximation.fis15
-rw-r--r--examples/takagi-sugeno/approximation.fld2051
-rw-r--r--examples/takagi-sugeno/approximation.fll18
-rw-r--r--examples/takagi-sugeno/approximation.java127
-rw-r--r--examples/takagi-sugeno/approximation.pdfbin0 -> 65783 bytes
-rw-r--r--examples/takagi-sugeno/octave/cubic_approximator.R84
-rw-r--r--examples/takagi-sugeno/octave/cubic_approximator.cpp110
-rw-r--r--examples/takagi-sugeno/octave/cubic_approximator.fcl4
-rw-r--r--examples/takagi-sugeno/octave/cubic_approximator.fis13
-rw-r--r--examples/takagi-sugeno/octave/cubic_approximator.fld2051
-rw-r--r--examples/takagi-sugeno/octave/cubic_approximator.fll10
-rw-r--r--examples/takagi-sugeno/octave/cubic_approximator.java89
-rw-r--r--examples/takagi-sugeno/octave/cubic_approximator.pdfbin0 -> 24950 bytes
-rw-r--r--examples/takagi-sugeno/octave/heart_disease_risk.R84
-rw-r--r--examples/takagi-sugeno/octave/heart_disease_risk.cpp112
-rw-r--r--examples/takagi-sugeno/octave/heart_disease_risk.fcl4
-rw-r--r--examples/takagi-sugeno/octave/heart_disease_risk.fis11
-rw-r--r--examples/takagi-sugeno/octave/heart_disease_risk.fld2051
-rw-r--r--examples/takagi-sugeno/octave/heart_disease_risk.fll11
-rw-r--r--examples/takagi-sugeno/octave/heart_disease_risk.java83
-rw-r--r--examples/takagi-sugeno/octave/heart_disease_risk.pdfbin0 -> 16865 bytes
-rw-r--r--examples/takagi-sugeno/octave/linear_tip_calculator.R67
-rw-r--r--examples/takagi-sugeno/octave/linear_tip_calculator.cpp84
-rw-r--r--examples/takagi-sugeno/octave/linear_tip_calculator.fcl4
-rw-r--r--examples/takagi-sugeno/octave/linear_tip_calculator.fis11
-rw-r--r--examples/takagi-sugeno/octave/linear_tip_calculator.fld2051
-rw-r--r--examples/takagi-sugeno/octave/linear_tip_calculator.fll11
-rw-r--r--examples/takagi-sugeno/octave/linear_tip_calculator.java77
-rw-r--r--examples/takagi-sugeno/octave/linear_tip_calculator.pdfbin0 -> 18236 bytes
-rw-r--r--examples/takagi-sugeno/octave/sugeno_tip_calculator.R119
-rw-r--r--examples/takagi-sugeno/octave/sugeno_tip_calculator.cpp144
-rw-r--r--examples/takagi-sugeno/octave/sugeno_tip_calculator.fcl4
-rw-r--r--examples/takagi-sugeno/octave/sugeno_tip_calculator.fis11
-rw-r--r--examples/takagi-sugeno/octave/sugeno_tip_calculator.fld2051
-rw-r--r--examples/takagi-sugeno/octave/sugeno_tip_calculator.fll19
-rw-r--r--examples/takagi-sugeno/octave/sugeno_tip_calculator.java125
-rw-r--r--examples/takagi-sugeno/octave/sugeno_tip_calculator.pdfbin0 -> 41451 bytes
-rw-r--r--examples/tsukamoto/tsukamoto.R126
-rw-r--r--examples/tsukamoto/tsukamoto.cpp143
-rw-r--r--examples/tsukamoto/tsukamoto.fcl4
-rw-r--r--examples/tsukamoto/tsukamoto.fis13
-rw-r--r--examples/tsukamoto/tsukamoto.fld2051
-rw-r--r--examples/tsukamoto/tsukamoto.fll22
-rw-r--r--examples/tsukamoto/tsukamoto.java138
-rw-r--r--examples/tsukamoto/tsukamoto.pdfbin0 -> 85574 bytes
164 files changed, 23428 insertions, 14747 deletions
diff --git a/examples/application/CMakeLists.txt b/examples/application/CMakeLists.txt
new file mode 100644
index 0000000..3ec0869
--- /dev/null
+++ b/examples/application/CMakeLists.txt
@@ -0,0 +1,140 @@
+cmake_minimum_required(VERSION 2.8.8)
+
+project(FuzzyLiteDemo CXX)
+
+#Some default policies and variables
+if (APPLE)
+ cmake_policy(SET CMP0042 NEW)
+endif()
+if (MSVC)
+ cmake_policy(SET CMP0054 NEW)
+endif()
+
+if(NOT CMAKE_VERBOSE_MAKEFILE)
+ set(CMAKE_VERBOSE_MAKEFILE false)
+endif()
+
+if( NOT CMAKE_BUILD_TYPE )
+ set( CMAKE_BUILD_TYPE Release CACHE STRING "Choose the type of build, options are: None Debug Release RelWithDebInfo
+MinSizeRel." FORCE )
+endif()
+
+option(FL_BACKTRACE "Provide backtrace information in case of errors" ON)
+option(FL_STATIC "Statically link to fuzzylite libraries" ON)
+
+set(BacktraceLibrary)
+
+if (MSVC AND FL_BACKTRACE)
+ set(BacktraceLibrary dbghelp)
+endif()
+
+if (CMAKE_BUILD_TYPE MATCHES Debug)
+ set(FL_DEBUG ON)
+else()
+ set(FL_DEBUG OFF)
+endif()
+
+
+set(FL_SYSTEM_LIBRARY FALSE) #Finds the library installed in the system
+set(FL_LIBRARY_DIR)
+
+if (NOT FL_SYSTEM_LIBRARY)
+ #it is possible to find the FuzzyLiteLibrary locally as follows,
+ #assuming the submodule of fuzzylite is added to the ${PROJECT_SOURCE_DIR}:
+ set(FL_HOME ${PROJECT_SOURCE_DIR}/../../fuzzylite/)
+ set(FL_INCLUDE_DIR ${FL_HOME})
+ if (FL_DEBUG)
+ set(FL_LIBRARY_DIR ${FL_HOME}/debug/bin)
+ else()
+ set(FL_LIBRARY_DIR ${FL_HOME}/release/bin)
+ endif()
+ message("Finding FuzzyLiteLibrary locally at ${FL_LIBRARY_DIR}")
+
+ include_directories(${FL_INCLUDE_DIR})
+endif()
+
+set(FL_POSTFIX)
+if (FL_STATIC)
+ set(FL_POSTFIX "-static")
+endif()
+if (FL_DEBUG)
+ set(FL_POSTFIX "${FL_POSTFIX}-debug")
+endif()
+
+set(FL_LIBRARY_NAME fuzzylite${FL_POSTFIX})
+find_library (FuzzyLiteLibrary ${FL_LIBRARY_NAME} HINTS ${FL_LIBRARY_DIR})
+
+if (MSVC AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 19)
+#C++11 not available before Visual Studio 2015
+ if (NOT FL_CPP98)
+ set(FL_CPP98 ON)
+ endif()
+endif()
+
+
+#if building using C++98
+if(FL_CPP98)
+ add_definitions(-DFL_CPP98)
+ if(NOT MSVC)
+ #Set C++98 by default in Clang and others
+ add_definitions(-std=c++98)
+ endif()
+else()
+ if(NOT MSVC)
+ #Set C++11 by default in Clang and others
+ add_definitions(-std=c++11)
+ endif()
+endif(FL_CPP98)
+
+#we add the definition of the building path to remove it when using macro FL_LOG
+add_definitions(-DFL_BUILD_PATH="${CMAKE_SOURCE_DIR}") #used to determine
+#we add the sources
+set(sources src/main.cpp)
+
+
+
+if(MSVC)
+#Set compilation flags in Windows
+ set(CMAKE_CXX_FLAGS "/W4 /EHsc")
+ #Wx: Treat warnings as errors. W4: All warnings
+ #http://msdn.microsoft.com/en-us/library/thxezb7y.aspx
+ #EHsc: call destructors on __try __catch, and to ignore C4530: C++ exception handler used. Note, unwind semantics are not enabled
+endif()
+
+
+#we create the binary
+add_executable(binary ${sources})
+if (NOT FL_STATIC)
+ target_compile_definitions(binary PRIVATE FL_IMPORT_LIBRARY)
+endif()
+#linking the fuzzylite library
+target_link_libraries (binary ${FuzzyLiteLibrary} ${BacktraceLibrary})
+#setting the name of the product
+set_target_properties(binary PROPERTIES OUTPUT_NAME FuzzyLiteDemo)
+#specially for windows
+set_target_properties(binary PROPERTIES OUTPUT_NAME FuzzyLiteDemo IMPORT_PREFIX tmp-) #To prevent LNK1149 in Windows
+#in case of building on debug mode
+set_target_properties(binary PROPERTIES DEBUG_POSTFIX d)
+
+
+
+message("=====================================")
+message("FuzzyLite Demo v6.0\n")
+message("FL_HOME=${FL_HOME}")
+message("FL_LIBRARY_NAME=${FL_LIBRARY_NAME}")
+message("FuzzyLiteLibrary=${FuzzyLiteLibrary}")
+message("")
+message("FL_BACKTRACE=${FL_BACKTRACE}")
+message("FL_STATIC=${FL_STATIC}")
+message("FL_DEBUG=${FL_DEBUG}")
+message("CMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}")
+message("CMAKE_CXX_COMPILER_ID=${CMAKE_CXX_COMPILER_ID}")
+message("CMAKE_CXX_COMPILER_VERSION=${CMAKE_CXX_COMPILER_VERSION}")
+message("CMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS}")
+message("COMPILE_DEFINITIONS:")
+get_directory_property(fl-definitions DIRECTORY ${CMAKE_SOURCE_DIR} COMPILE_DEFINITIONS )
+foreach(d ${fl-definitions})
+ message( STATUS "Defined: " ${d} )
+endforeach()
+message("=====================================\n")
+
diff --git a/examples/application/clean.sh b/examples/application/clean.sh
new file mode 100755
index 0000000..4f4bc9c
--- /dev/null
+++ b/examples/application/clean.sh
@@ -0,0 +1 @@
+rm -rf CMakeCache.txt CMakeFiles Makefile cmake_install.cmake FuzzyLiteDemo \ No newline at end of file
diff --git a/examples/application/compile.bat b/examples/application/compile.bat
new file mode 100644
index 0000000..8baf5a3
--- /dev/null
+++ b/examples/application/compile.bat
@@ -0,0 +1,24 @@
+FL_HOME="../../fuzzylite/"
+
+rem Static Linking
+rem --------------
+rem For C++11
+cl.exe src/main.cpp %FL_HOME%/release/bin/fuzzylite-static.lib /I%FL_HOME% /EHsc /MD
+
+rem For C++98
+cl.exe src/main.cpp %FL_HOME%/release/bin/fuzzylite-static.lib /I%FL_HOME% /DFL_CPP98=ON /EHsc /MD
+
+
+rem Dynamic Linking
+rem ---------------
+rem For C++11
+rem For C++11
+cl.exe src/main.cpp %FL_HOME%/release/bin/fuzzylite-static.lib /I%FL_HOME% /DFL_IMPORT_LIBRARY /EHsc /MD
+
+rem For C++98
+cl.exe src/main.cpp %FL_HOME%/release/bin/fuzzylite-static.lib /I%FL_HOME% /DFL_CPP98=ON /DFL_IMPORT_LIBRARY /EHsc /MD
+
+rem Note: when using dynamic linking, the path to fuzzylite libraries must be specified. For example, run from console the following:
+
+set PATH="%FL_HOME%\release\bin;%PATH%"
+example-dynamic-11.exe
diff --git a/examples/application/compile.sh b/examples/application/compile.sh
new file mode 100755
index 0000000..1ea1aa4
--- /dev/null
+++ b/examples/application/compile.sh
@@ -0,0 +1,25 @@
+#!/bin/bash
+
+FL_HOME="../../fuzzylite/"
+
+#Static Linking
+#--------------
+#For C++11
+g++ src/main.cpp -oexample-static-11 -I$FL_HOME -L$FL_HOME/release/bin -lfuzzylite-static -std=c++11
+
+#For C++98
+g++ src/main.cpp -oexample-static-98 -I$FL_HOME -L$FL_HOME/release/bin -lfuzzylite-static -DFL_CPP98=ON -Wno-non-literal-null-conversion
+
+
+#Dynamic Linking
+#---------------
+#For C++11
+g++ src/main.cpp -oexample-dynamic-11 -I$FL_HOME -L$FL_HOME/release/bin -lfuzzylite -std=c++11
+
+#For C++98
+g++ src/main.cpp -oexample-dynamic-98 -I$FL_HOME -L$FL_HOME/release/bin -lfuzzylite -DFL_CPP98=ON -Wno-non-literal-null-conversion
+
+#Note: when using dynamic linking, the path to fuzzylite libraries must be specified. For example, run from console the following:
+
+LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$FL_HOME/release/bin;
+./example-dynamic-11
diff --git a/examples/application/src/main.cpp b/examples/application/src/main.cpp
new file mode 100644
index 0000000..d547b72
--- /dev/null
+++ b/examples/application/src/main.cpp
@@ -0,0 +1,16 @@
+
+#include "fl/Headers.h"
+
+int main(int argc, char** argv){
+ FL_IUNUSED(argc);
+ FL_IUNUSED(argv);
+
+ using namespace fl;
+
+ Engine* hybrid = Console::hybrid();
+ FL_LOG("Hybrid Demo: FuzzyLite Dataset");
+ FL_LOG("===============================");
+ FL_LOG(FldExporter().toString(hybrid));
+ delete hybrid;
+
+} \ No newline at end of file
diff --git a/examples/examples.R b/examples/examples.R
new file mode 100644
index 0000000..7b905bf
--- /dev/null
+++ b/examples/examples.R
@@ -0,0 +1,16 @@
+directories = c("mamdani/", "mamdani/matlab/", "mamdani/octave/", "takagi-sugeno/", "takagi-sugeno/matlab/", "takagi-sugeno/octave/", "tsukamoto/", "hybrid")
+baseDirectory = getwd()
+
+for (directory in directories){
+ message("Processing directory: ", directory)
+ setwd(directory)
+ rScripts = list.files(".", pattern = ".R$")
+ for (i in seq(1, length(rScripts))){
+ rScript = rScripts[i]
+ message(sprintf("\tProcessing file %i/%i: %s", i, length(rScripts), rScript))
+ scriptEnvironment = new.env()
+ sys.source(rScript, scriptEnvironment)
+ rm(scriptEnvironment)
+ }
+ setwd(baseDirectory)
+}
diff --git a/examples/examples.mat b/examples/examples.mat
deleted file mode 100755
index 5955fbd..0000000
--- a/examples/examples.mat
+++ /dev/null
Binary files differ
diff --git a/examples/hybrid/ObstacleAvoidance.R b/examples/hybrid/ObstacleAvoidance.R
new file mode 100644
index 0000000..5a94543
--- /dev/null
+++ b/examples/hybrid/ObstacleAvoidance.R
@@ -0,0 +1,86 @@
+#Code automatically generated with fuzzylite 6.0.
+
+library(ggplot2);
+
+engine.name = "ObstacleAvoidance"
+engine.fll = "Engine: ObstacleAvoidance
+InputVariable: obstacle
+ enabled: true
+ range: 0.000 1.000
+ lock-range: false
+ term: left Ramp 1.000 0.000
+ term: right Ramp 0.000 1.000
+OutputVariable: mSteer
+ enabled: true
+ range: 0.000 1.000
+ lock-range: false
+ aggregation: Maximum
+ defuzzifier: Centroid 100
+ default: nan
+ lock-previous: false
+ term: left Ramp 1.000 0.000
+ term: right Ramp 0.000 1.000
+OutputVariable: tsSteer
+ enabled: true
+ range: 0.000 1.000
+ lock-range: false
+ aggregation: Maximum
+ defuzzifier: WeightedAverage Automatic
+ default: nan
+ lock-previous: false
+ term: left Constant 0.333
+ term: right Constant 0.666
+RuleBlock: mamdani
+ enabled: true
+ conjunction: none
+ disjunction: none
+ implication: AlgebraicProduct
+ activation: General
+ rule: if obstacle is left then mSteer is right
+ rule: if obstacle is right then mSteer is left
+RuleBlock: takagiSugeno
+ enabled: true
+ conjunction: none
+ disjunction: none
+ implication: none
+ activation: General
+ rule: if obstacle is left then tsSteer is right
+ rule: if obstacle is right then tsSteer is left"
+
+engine.fldFile = "ObstacleAvoidance.fld"
+if (require(data.table)) {
+ engine.df = data.table::fread(engine.fldFile, sep="auto", header="auto")
+} else {
+ engine.df = read.table(engine.fldFile, header=TRUE)
+}
+
+engine.plot.i1_o1 = ggplot(engine.df, aes(obstacle, mSteer)) +
+ geom_line(aes(color=mSteer), size=3, lineend="round", linejoin="mitre") +
+ scale_color_gradient(low="yellow", high="red") +
+ ggtitle("obstacle vs mSteer")
+
+engine.plot.o1_i1 = ggplot(engine.df, aes(obstacle, mSteer)) +
+ geom_line(aes(color=mSteer), size=3, lineend="round", linejoin="mitre") +
+ scale_color_gradient(low="yellow", high="red") +
+ coord_flip() +
+ ggtitle("mSteer vs obstacle")
+
+engine.plot.i1_o2 = ggplot(engine.df, aes(obstacle, tsSteer)) +
+ geom_line(aes(color=tsSteer), size=3, lineend="round", linejoin="mitre") +
+ scale_color_gradient(low="yellow", high="red") +
+ ggtitle("obstacle vs tsSteer")
+
+engine.plot.o2_i1 = ggplot(engine.df, aes(obstacle, tsSteer)) +
+ geom_line(aes(color=tsSteer), size=3, lineend="round", linejoin="mitre") +
+ scale_color_gradient(low="yellow", high="red") +
+ coord_flip() +
+ ggtitle("tsSteer vs obstacle")
+
+if (require(gridExtra)) {
+ engine.plots = arrangeGrob(engine.plot.i1_o1, engine.plot.o1_i1, engine.plot.i1_o2, engine.plot.o2_i1, ncol=2, top=engine.name)
+ ggsave(paste0(engine.name, ".pdf"), engine.plots)
+ if (require(grid)) {
+ grid.newpage()
+ grid.draw(engine.plots)
+ }
+}
diff --git a/examples/hybrid/ObstacleAvoidance.cpp b/examples/hybrid/ObstacleAvoidance.cpp
new file mode 100644
index 0000000..a5e42e1
--- /dev/null
+++ b/examples/hybrid/ObstacleAvoidance.cpp
@@ -0,0 +1,75 @@
+#include <fl/Headers.h>
+
+int main(int argc, char** argv){
+//Code automatically generated with fuzzylite 6.0.
+
+using namespace fl;
+
+Engine* engine = new Engine;
+engine->setName("ObstacleAvoidance");
+engine->setDescription("");
+
+InputVariable* obstacle = new InputVariable;
+obstacle->setName("obstacle");
+obstacle->setDescription("");
+obstacle->setEnabled(true);
+obstacle->setRange(0.000, 1.000);
+obstacle->setLockValueInRange(false);
+obstacle->addTerm(new Ramp("left", 1.000, 0.000));
+obstacle->addTerm(new Ramp("right", 0.000, 1.000));
+engine->addInputVariable(obstacle);
+
+OutputVariable* mSteer = new OutputVariable;
+mSteer->setName("mSteer");
+mSteer->setDescription("");
+mSteer->setEnabled(true);
+mSteer->setRange(0.000, 1.000);
+mSteer->setLockValueInRange(false);
+mSteer->setAggregation(new Maximum);
+mSteer->setDefuzzifier(new Centroid(100));
+mSteer->setDefaultValue(fl::nan);
+mSteer->setLockPreviousValue(false);
+mSteer->addTerm(new Ramp("left", 1.000, 0.000));
+mSteer->addTerm(new Ramp("right", 0.000, 1.000));
+engine->addOutputVariable(mSteer);
+
+OutputVariable* tsSteer = new OutputVariable;
+tsSteer->setName("tsSteer");
+tsSteer->setDescription("");
+tsSteer->setEnabled(true);
+tsSteer->setRange(0.000, 1.000);
+tsSteer->setLockValueInRange(false);
+tsSteer->setAggregation(new Maximum);
+tsSteer->setDefuzzifier(new WeightedAverage("Automatic"));
+tsSteer->setDefaultValue(fl::nan);
+tsSteer->setLockPreviousValue(false);
+tsSteer->addTerm(new Constant("left", 0.333));
+tsSteer->addTerm(new Constant("right", 0.666));
+engine->addOutputVariable(tsSteer);
+
+RuleBlock* mamdani = new RuleBlock;
+mamdani->setName("mamdani");
+mamdani->setDescription("");
+mamdani->setEnabled(true);
+mamdani->setConjunction(fl::null);
+mamdani->setDisjunction(fl::null);
+mamdani->setImplication(new AlgebraicProduct);
+mamdani->setActivation(new General);
+mamdani->addRule(Rule::parse("if obstacle is left then mSteer is right", engine));
+mamdani->addRule(Rule::parse("if obstacle is right then mSteer is left", engine));
+engine->addRuleBlock(mamdani);
+
+RuleBlock* takagiSugeno = new RuleBlock;
+takagiSugeno->setName("takagiSugeno");
+takagiSugeno->setDescription("");
+takagiSugeno->setEnabled(true);
+takagiSugeno->setConjunction(fl::null);
+takagiSugeno->setDisjunction(fl::null);
+takagiSugeno->setImplication(fl::null);
+takagiSugeno->setActivation(new General);
+takagiSugeno->addRule(Rule::parse("if obstacle is left then tsSteer is right", engine));
+takagiSugeno->addRule(Rule::parse("if obstacle is right then tsSteer is left", engine));
+engine->addRuleBlock(takagiSugeno);
+
+
+}
diff --git a/examples/hybrid/ObstacleAvoidance.fcl b/examples/hybrid/ObstacleAvoidance.fcl
new file mode 100644
index 0000000..81a30a7
--- /dev/null
+++ b/examples/hybrid/ObstacleAvoidance.fcl
@@ -0,0 +1,49 @@
+//Code automatically generated with fuzzylite 6.0.
+
+FUNCTION_BLOCK ObstacleAvoidance
+
+VAR_INPUT
+ obstacle: REAL;
+END_VAR
+
+VAR_OUTPUT
+ mSteer: REAL;
+ tsSteer: REAL;
+END_VAR
+
+FUZZIFY obstacle
+ RANGE := (0.000 .. 1.000);
+ TERM left := Ramp 1.000 0.000;
+ TERM right := Ramp 0.000 1.000;
+END_FUZZIFY
+
+DEFUZZIFY mSteer
+ RANGE := (0.000 .. 1.000);
+ TERM left := Ramp 1.000 0.000;
+ TERM right := Ramp 0.000 1.000;
+ METHOD : COG;
+ ACCU : MAX;
+ DEFAULT := nan;
+END_DEFUZZIFY
+
+DEFUZZIFY tsSteer
+ RANGE := (0.000 .. 1.000);
+ TERM left := 0.333;
+ TERM right := 0.666;
+ METHOD : COGS;
+ ACCU : MAX;
+ DEFAULT := nan;
+END_DEFUZZIFY
+
+RULEBLOCK mamdani
+ ACT : PROD;
+ RULE 1 : if obstacle is left then mSteer is right
+ RULE 2 : if obstacle is right then mSteer is left
+END_RULEBLOCK
+
+RULEBLOCK takagiSugeno
+ RULE 1 : if obstacle is left then tsSteer is right
+ RULE 2 : if obstacle is right then tsSteer is left
+END_RULEBLOCK
+
+END_FUNCTION_BLOCK
diff --git a/examples/hybrid/ObstacleAvoidance.fis b/examples/hybrid/ObstacleAvoidance.fis
new file mode 100644
index 0000000..1bf0476
--- /dev/null
+++ b/examples/hybrid/ObstacleAvoidance.fis
@@ -0,0 +1,43 @@
+#Code automatically generated with fuzzylite 6.0.
+
+[System]
+Name='ObstacleAvoidance'
+Type='hybrid'
+Version=6.0
+NumInputs=1
+NumOutputs=2
+NumRules=4
+AndMethod='min'
+OrMethod='max'
+ImpMethod='prod'
+AggMethod='max'
+DefuzzMethod='centroid'
+
+[Input1]
+Name='obstacle'
+Range=[0.000 1.000]
+NumMFs=2
+MF1='left':'rampmf',[1.000 0.000]
+MF2='right':'rampmf',[0.000 1.000]
+
+[Output1]
+Name='mSteer'
+Range=[0.000 1.000]
+NumMFs=2
+MF1='left':'rampmf',[1.000 0.000]
+MF2='right':'rampmf',[0.000 1.000]
+
+[Output2]
+Name='tsSteer'
+Range=[0.000 1.000]
+NumMFs=2
+MF1='left':'constant',[0.333]
+MF2='right':'constant',[0.666]
+
+[Rules]
+# RuleBlock mamdani
+1.000 , 2.000 0.000 (1.000) : 1
+2.000 , 1.000 0.000 (1.000) : 1
+# RuleBlock takagiSugeno
+1.000 , 0.000 2.000 (1.000) : 1
+2.000 , 0.000 1.000 (1.000) : 1
diff --git a/examples/hybrid/ObstacleAvoidance.fld b/examples/hybrid/ObstacleAvoidance.fld
new file mode 100644
index 0000000..bd96696
--- /dev/null
+++ b/examples/hybrid/ObstacleAvoidance.fld
@@ -0,0 +1,1025 @@
+obstacle mSteer tsSteer
+0.000000000 0.666650000 0.666000000
+0.000977517 0.666650000 0.665674487
+0.001955034 0.666650000 0.665348974
+0.002932551 0.666650000 0.665023460
+0.003910068 0.666650000 0.664697947
+0.004887586 0.666650000 0.664372434
+0.005865103 0.666638485 0.664046921
+0.006842620 0.666625450 0.663721408
+0.007820137 0.666612389 0.663395894
+0.008797654 0.666599303 0.663070381
+0.009775171 0.666586193 0.662744868
+0.010752688 0.666573056 0.662419355
+0.011730205 0.666559894 0.662093842
+0.012707722 0.666546707 0.661768328
+0.013685239 0.666533494 0.661442815
+0.014662757 0.666520255 0.661117302
+0.015640274 0.666498518 0.660791789
+0.016617791 0.666472271 0.660466276
+0.017595308 0.666445974 0.660140762
+0.018572825 0.666419626 0.659815249
+0.019550342 0.666393229 0.659489736
+0.020527859 0.666366781 0.659164223
+0.021505376 0.666340282 0.658838710
+0.022482893 0.666313732 0.658513196
+0.023460411 0.666287131 0.658187683
+0.024437928 0.666260479 0.657862170
+0.025415445 0.666228313 0.657536657
+0.026392962 0.666188686 0.657211144
+0.027370479 0.666148986 0.656885630
+0.028347996 0.666109209 0.656560117
+0.029325513 0.666069358 0.656234604
+0.030303030 0.666029432 0.655909091
+0.031280547 0.665989429 0.655583578
+0.032258065 0.665949351 0.655258065
+0.033235582 0.665909196 0.654932551
+0.034213099 0.665868966 0.654607038
+0.035190616 0.665826169 0.654281525
+0.036168133 0.665773005 0.653956012
+0.037145650 0.665719742 0.653630499
+0.038123167 0.665666380 0.653304985
+0.039100684 0.665612917 0.652979472
+0.040078201 0.665559355 0.652653959
+0.041055718 0.665505693 0.652328446
+0.042033236 0.665451930 0.652002933
+0.043010753 0.665398066 0.651677419
+0.043988270 0.665344101 0.651351906
+0.044965787 0.665290034 0.651026393
+0.045943304 0.665223628 0.650700880
+0.046920821 0.665156655 0.650375367
+0.047898338 0.665089559 0.650049853
+0.048875855 0.665022339 0.649724340
+0.049853372 0.664954994 0.649398827
+0.050830890 0.664887525 0.649073314
+0.051808407 0.664819932 0.648747801
+0.052785924 0.664752213 0.648422287
+0.053763441 0.664684369 0.648096774
+0.054740958 0.664616398 0.647771261
+0.055718475 0.664539056 0.647445748
+0.056695992 0.664458237 0.647120235
+0.057673509 0.664377270 0.646794721
+0.058651026 0.664296156 0.646469208
+0.059628543 0.664214895 0.646143695
+0.060606061 0.664133485 0.645818182
+0.061583578 0.664051926 0.645492669
+0.062561095 0.663970218 0.645167155
+0.063538612 0.663888361 0.644841642
+0.064516129 0.663806354 0.644516129
+0.065493646 0.663717900 0.644190616
+0.066471163 0.663623109 0.643865103
+0.067448680 0.663528148 0.643539589
+0.068426197 0.663433016 0.643214076
+0.069403715 0.663337714 0.642888563
+0.070381232 0.663242240 0.642563050
+0.071358749 0.663146594 0.642237537
+0.072336266 0.663050776 0.641912023
+0.073313783 0.662954785 0.641586510
+0.074291300 0.662858620 0.641260997
+0.075268817 0.662758885 0.640935484
+0.076246334 0.662650011 0.640609971
+0.077223851 0.662540943 0.640284457
+0.078201369 0.662431683 0.639958944
+0.079178886 0.662322229 0.639633431
+0.080156403 0.662212581 0.639307918
+0.081133920 0.662102739 0.638982405
+0.082111437 0.661992701 0.638656891
+0.083088954 0.661882468 0.638331378
+0.084066471 0.661772039 0.638005865
+0.085043988 0.661660863 0.637680352
+0.086021505 0.661537806 0.637354839
+0.086999022 0.661414534 0.637029326
+0.087976540 0.661291048 0.636703812
+0.088954057 0.661167346 0.636378299
+0.089931574 0.661043428 0.636052786
+0.090909091 0.660919294 0.635727273
+0.091886608 0.660794942 0.635401760
+0.092864125 0.660670373 0.635076246
+0.093841642 0.660545585 0.634750733
+0.094819159 0.660420579 0.634425220
+0.095796676 0.660285492 0.634099707
+0.096774194 0.660147932 0.633774194
+0.097751711 0.660010136 0.633448680
+0.098729228 0.659872104 0.633123167
+0.099706745 0.659733835 0.632797654
+0.100684262 0.659595328 0.632472141
+0.101661779 0.659456582 0.632146628
+0.102639296 0.659317597 0.631821114
+0.103616813 0.659178373 0.631495601
+0.104594330 0.659038909 0.631170088
+0.105571848 0.658892208 0.630844575
+0.106549365 0.658740291 0.630519062
+0.107526882 0.658588119 0.630193548
+0.108504399 0.658435689 0.629868035
+0.109481916 0.658283002 0.629542522
+0.110459433 0.658130057 0.629217009
+0.111436950 0.657976852 0.628891496
+0.112414467 0.657823389 0.628565982
+0.113391984 0.657669665 0.628240469
+0.114369501 0.657515680 0.627914956
+0.115347019 0.657357242 0.627589443
+0.116324536 0.657190916 0.627263930
+0.117302053 0.657024315 0.626938416
+0.118279570 0.656857437 0.626612903
+0.119257087 0.656690282 0.626287390
+0.120234604 0.656522850 0.625961877
+0.121212121 0.656355139 0.625636364
+0.122189638 0.656187149 0.625310850
+0.123167155 0.656018879 0.624985337
+0.124144673 0.655850329 0.624659824
+0.125122190 0.655680041 0.624334311
+0.126099707 0.655499270 0.624008798
+0.127077224 0.655318205 0.623683284
+0.128054741 0.655136845 0.623357771
+0.129032258 0.654955190 0.623032258
+0.130009775 0.654773238 0.622706745
+0.130987292 0.654590990 0.622381232
+0.131964809 0.654408443 0.622055718
+0.132942326 0.654225598 0.621730205
+0.133919844 0.654042454 0.621404692
+0.134897361 0.653859010 0.621079179
+0.135874878 0.653664982 0.620753666
+0.136852395 0.653469436 0.620428152
+0.137829912 0.653273578 0.620102639
+0.138807429 0.653077407 0.619777126
+0.139784946 0.652880922 0.619451613
+0.140762463 0.652684123 0.619126100
+0.141739980 0.652487008 0.618800587
+0.142717498 0.652289577 0.618475073
+0.143695015 0.652091829 0.618149560
+0.144672532 0.651893763 0.617824047
+0.145650049 0.651687855 0.617498534
+0.146627566 0.651477831 0.617173021
+0.147605083 0.651267477 0.616847507
+0.148582600 0.651056794 0.616521994
+0.149560117 0.650845780 0.616196481
+0.150537634 0.650634436 0.615870968
+0.151515152 0.650422759 0.615545455
+0.152492669 0.650210750 0.615219941
+0.153470186 0.649998407 0.614894428
+0.154447703 0.649785731 0.614568915
+0.155425220 0.649567877 0.614243402
+0.156402737 0.649343393 0.613917889
+0.157380254 0.649118566 0.613592375
+0.158357771 0.648893393 0.613266862
+0.159335288 0.648667875 0.612941349
+0.160312805 0.648442011 0.612615836
+0.161290323 0.648215799 0.612290323
+0.162267840 0.647989239 0.611964809
+0.163245357 0.647762331 0.611639296
+0.164222874 0.647535073 0.611313783
+0.165200391 0.647305221 0.610988270
+0.166177908 0.647066320 0.610662757
+0.167155425 0.646827060 0.610337243
+0.168132942 0.646587441 0.610011730
+0.169110459 0.646347463 0.609686217
+0.170087977 0.646107124 0.609360704
+0.171065494 0.645866424 0.609035191
+0.172043011 0.645625361 0.608709677
+0.173020528 0.645383936 0.608384164
+0.173998045 0.645142147 0.608058651
+0.174975562 0.644899993 0.607733138
+0.175953079 0.644647002 0.607407625
+0.176930596 0.644393373 0.607082111
+0.177908113 0.644139372 0.606756598
+0.178885630 0.643884998 0.606431085
+0.179863148 0.643630251 0.606105572
+0.180840665 0.643375130 0.605780059
+0.181818182 0.643119633 0.605454545
+0.182795699 0.642863761 0.605129032
+0.183773216 0.642607513 0.604803519
+0.184750733 0.642350886 0.604478006
+0.185728250 0.642086038 0.604152493
+0.186705767 0.641818123 0.603826979
+0.187683284 0.641549824 0.603501466
+0.188660802 0.641281142 0.603175953
+0.189638319 0.641012074 0.602850440
+0.190615836 0.640742621 0.602524927
+0.191593353 0.640472782 0.602199413
+0.192570870 0.640202555 0.601873900
+0.193548387 0.639931940 0.601548387
+0.194525904 0.639660937 0.601222874
+0.195503421 0.639384233 0.600897361
+0.196480938 0.639102138 0.600571848
+0.197458456 0.638819650 0.600246334
+0.198435973 0.638536767 0.599920821
+0.199413490 0.638253490 0.599595308
+0.200391007 0.637969817 0.599269795
+0.201368524 0.637685747 0.598944282
+0.202346041 0.637401280 0.598618768
+0.203323558 0.637116415 0.598293255
+0.204301075 0.636831150 0.597967742
+0.205278592 0.636542613 0.597642229
+0.206256109 0.636246466 0.597316716
+0.207233627 0.635949918 0.596991202
+0.208211144 0.635652966 0.596665689
+0.209188661 0.635355612 0.596340176
+0.210166178 0.635057853 0.596014663
+0.211143695 0.634759688 0.595689150
+0.212121212 0.634461118 0.595363636
+0.213098729 0.634162142 0.595038123
+0.214076246 0.633862757 0.594712610
+0.215053763 0.633562423 0.594387097
+0.216031281 0.633252376 0.594061584
+0.217008798 0.632941920 0.593736070
+0.217986315 0.632631055 0.593410557
+0.218963832 0.632319779 0.593085044
+0.219941349 0.632008091 0.592759531
+0.220918866 0.631695992 0.592434018
+0.221896383 0.631383479 0.592108504
+0.222873900 0.631070553 0.591782991
+0.223851417 0.630757212 0.591457478
+0.224828935 0.630443455 0.591131965
+0.225806452 0.630121364 0.590806452
+0.226783969 0.629797178 0.590480938
+0.227761486 0.629472576 0.590155425
+0.228739003 0.629147559 0.589829912
+0.229716520 0.628822125 0.589504399
+0.230694037 0.628496272 0.589178886
+0.231671554 0.628170002 0.588853372
+0.232649071 0.627843312 0.588527859
+0.233626588 0.627516202 0.588202346
+0.234604106 0.627188671 0.587876833
+0.235581623 0.626855159 0.587551320
+0.236559140 0.626517443 0.587225806
+0.237536657 0.626179308 0.586900293
+0.238514174 0.625840753 0.586574780
+0.239491691 0.625501777 0.586249267
+0.240469208 0.625162379 0.585923754
+0.241446725 0.624822559 0.585598240
+0.242424242 0.624482316 0.585272727
+0.243401760 0.624141649 0.584947214
+0.244379277 0.623800557 0.584621701
+0.245356794 0.623455725 0.584296188
+0.246334311 0.623104704 0.583970674
+0.247311828 0.622753262 0.583645161
+0.248289345 0.622401397 0.583319648
+0.249266862 0.622049109 0.582994135
+0.250244379 0.621696398 0.582668622
+0.251221896 0.621343261 0.582343109
+0.252199413 0.620989700 0.582017595
+0.253176931 0.620635712 0.581692082
+0.254154448 0.620281297 0.581366569
+0.255131965 0.619925265 0.581041056
+0.256109482 0.619561189 0.580715543
+0.257086999 0.619196691 0.580390029
+0.258064516 0.618831769 0.580064516
+0.259042033 0.618466424 0.579739003
+0.260019550 0.618100655 0.579413490
+0.260997067 0.617734460 0.579087977
+0.261974585 0.617367839 0.578762463
+0.262952102 0.617000791 0.578436950
+0.263929619 0.616633316 0.578111437
+0.264907136 0.616265413 0.577785924
+0.265884653 0.615889366 0.577460411
+0.266862170 0.615512088 0.577134897
+0.267839687 0.615134387 0.576809384
+0.268817204 0.614756264 0.576483871
+0.269794721 0.614377718 0.576158358
+0.270772239 0.613998747 0.575832845
+0.271749756 0.613619351 0.575507331
+0.272727273 0.613239530 0.575181818
+0.273704790 0.612859282 0.574856305
+0.274682307 0.612478608 0.574530792
+0.275659824 0.612091947 0.574205279
+0.276637341 0.611702189 0.573879765
+0.277614858 0.611312012 0.573554252
+0.278592375 0.610921415 0.573228739
+0.279569892 0.610530398 0.572903226
+0.280547410 0.610138959 0.572577713
+0.281524927 0.609747097 0.572252199
+0.282502444 0.609354813 0.571926686
+0.283479961 0.608962106 0.571601173
+0.284457478 0.608568974 0.571275660
+0.285434995 0.608171886 0.570950147
+0.286412512 0.607769974 0.570624633
+0.287390029 0.607367648 0.570299120
+0.288367546 0.606964906 0.569973607
+0.289345064 0.606561748 0.569648094
+0.290322581 0.606158173 0.569322581
+0.291300098 0.605754180 0.568997067
+0.292277615 0.605349770 0.568671554
+0.293255132 0.604944940 0.568346041
+0.294232649 0.604539690 0.568020528
+0.295210166 0.604132380 0.567695015
+0.296187683 0.603718665 0.567369501
+0.297165200 0.603304542 0.567043988
+0.298142717 0.602890009 0.566718475
+0.299120235 0.602475066 0.566392962
+0.300097752 0.602059712 0.566067449
+0.301075269 0.601643947 0.565741935
+0.302052786 0.601227769 0.565416422
+0.303030303 0.600811179 0.565090909
+0.304007820 0.600394176 0.564765396
+0.304985337 0.599976759 0.564439883
+0.305962854 0.599551726 0.564114370
+0.306940371 0.599126182 0.563788856
+0.307917889 0.598700236 0.563463343
+0.308895406 0.598273888 0.563137830
+0.309872923 0.597847137 0.562812317
+0.310850440 0.597419982 0.562486804
+0.311827957 0.596992424 0.562161290
+0.312805474 0.596564460 0.561835777
+0.313782991 0.596136092 0.561510264
+0.314760508 0.595707318 0.561184751
+0.315738025 0.595272860 0.560859238
+0.316715543 0.594836296 0.560533724
+0.317693060 0.594399340 0.560208211
+0.318670577 0.593961991 0.559882698
+0.319648094 0.593524248 0.559557185
+0.320625611 0.593086112 0.559231672
+0.321603128 0.592647581 0.558906158
+0.322580645 0.592208655 0.558580645
+0.323558162 0.591769334 0.558255132
+0.324535679 0.591329617 0.557929619
+0.325513196 0.590886006 0.557604106
+0.326490714 0.590438847 0.557278592
+0.327468231 0.589991307 0.556953079
+0.328445748 0.589543385 0.556627566
+0.329423265 0.589095081 0.556302053
+0.330400782 0.588646394 0.555976540
+0.331378299 0.588197324 0.555651026
+0.332355816 0.587747870 0.555325513
+0.333333333 0.587298033 0.555000000
+0.334310850 0.586847811 0.554674487
+0.335288368 0.586395337 0.554348974
+0.336265885 0.585938031 0.554023460
+0.337243402 0.585480357 0.553697947
+0.338220919 0.585022313 0.553372434
+0.339198436 0.584563900 0.553046921
+0.340175953 0.584105117 0.552721408
+0.341153470 0.583645965 0.552395894
+0.342130987 0.583186441 0.552070381
+0.343108504 0.582726546 0.551744868
+0.344086022 0.582266280 0.551419355
+0.345063539 0.581805253 0.551093842
+0.346041056 0.581338270 0.550768328
+0.347018573 0.580870934 0.550442815
+0.347996090 0.580403243 0.550117302
+0.348973607 0.579935197 0.549791789
+0.349951124 0.579466795 0.549466276
+0.350928641 0.578998038 0.549140762
+0.351906158 0.578528925 0.548815249
+0.352883675 0.578059455 0.548489736
+0.353861193 0.577589628 0.548164223
+0.354838710 0.577119444 0.547838710
+0.355816227 0.576644207 0.547513196
+0.356793744 0.576167703 0.547187683
+0.357771261 0.575690860 0.546862170
+0.358748778 0.575213679 0.546536657
+0.359726295 0.574736158 0.546211144
+0.360703812 0.574258297 0.545885630
+0.361681329 0.573780096 0.545560117
+0.362658847 0.573301554 0.545234604
+0.363636364 0.572822672 0.544909091
+0.364613881 0.572343449 0.544583578
+0.365591398 0.571860698 0.544258065
+0.366568915 0.571375542 0.543932551
+0.367546432 0.570890065 0.543607038
+0.368523949 0.570404267 0.543281525
+0.369501466 0.569918146 0.542956012
+0.370478983 0.569431703 0.542630499
+0.371456500 0.568944938 0.542304985
+0.372434018 0.568457849 0.541979472
+0.373411535 0.567970438 0.541653959
+0.374389052 0.567482703 0.541328446
+0.375366569 0.566992805 0.541002933
+0.376344086 0.566499534 0.540677419
+0.377321603 0.566005960 0.540351906
+0.378299120 0.565512083 0.540026393
+0.379276637 0.565017903 0.539700880
+0.380254154 0.564523420 0.539375367
+0.381231672 0.564028633 0.539049853
+0.382209189 0.563533542 0.538724340
+0.383186706 0.563038147 0.538398827
+0.384164223 0.562542448 0.538073314
+0.385141740 0.562045786 0.537747801
+0.386119257 0.561544954 0.537422287
+0.387096774 0.561043840 0.537096774
+0.388074291 0.560542444 0.536771261
+0.389051808 0.560040764 0.536445748
+0.390029326 0.559538801 0.536120235
+0.391006843 0.559036555 0.535794721
+0.391984360 0.558534026 0.535469208
+0.392961877 0.558031212 0.535143695
+0.393939394 0.557528114 0.534818182
+0.394916911 0.557024732 0.534492669
+0.395894428 0.556517268 0.534167155
+0.396871945 0.556009189 0.533841642
+0.397849462 0.555500848 0.533516129
+0.398826979 0.554992247 0.533190616
+0.399804497 0.554483383 0.532865103
+0.400782014 0.553974258 0.532539589
+0.401759531 0.553464870 0.532214076
+0.402737048 0.552955221 0.531888563
+0.403714565 0.552445308 0.531563050
+0.404692082 0.551935134 0.531237537
+0.405669599 0.551422112 0.530912023
+0.406647116 0.550907660 0.530586510
+0.407624633 0.550392969 0.530260997
+0.408602151 0.549878039 0.529935484
+0.409579668 0.549362870 0.529609971
+0.410557185 0.548847462 0.529284457
+0.411534702 0.548331815 0.528958944
+0.412512219 0.547815928 0.528633431
+0.413489736 0.547299802 0.528307918
+0.414467253 0.546783436 0.527982405
+0.415444770 0.546265287 0.527656891
+0.416422287 0.545745069 0.527331378
+0.417399804 0.545224637 0.527005865
+0.418377322 0.544703989 0.526680352
+0.419354839 0.544183126 0.526354839
+0.420332356 0.543662048 0.526029326
+0.421309873 0.543140754 0.525703812
+0.422287390 0.542619244 0.525378299
+0.423264907 0.542097518 0.525052786
+0.424242424 0.541575577 0.524727273
+0.425219941 0.541052744 0.524401760
+0.426197458 0.540527383 0.524076246
+0.427174976 0.540001832 0.523750733
+0.428152493 0.539476090 0.523425220
+0.429130010 0.538950158 0.523099707
+0.430107527 0.538424035 0.522774194
+0.431085044 0.537897722 0.522448680
+0.432062561 0.537371217 0.522123167
+0.433040078 0.536844521 0.521797654
+0.434017595 0.536317635 0.521472141
+0.434995112 0.535790557 0.521146628
+0.435972630 0.535260701 0.520821114
+0.436950147 0.534730668 0.520495601
+0.437927664 0.534200469 0.520170088
+0.438905181 0.533670106 0.519844575
+0.439882698 0.533139577 0.519519062
+0.440860215 0.532608883 0.519193548
+0.441837732 0.532078024 0.518868035
+0.442815249 0.531546999 0.518542522
+0.443792766 0.531015810 0.518217009
+0.444770283 0.530484454 0.517891496
+0.445747801 0.529951246 0.517565982
+0.446725318 0.529417377 0.517240469
+0.447702835 0.528883370 0.516914956
+0.448680352 0.528349224 0.516589443
+0.449657869 0.527814939 0.516263930
+0.450635386 0.527280516 0.515938416
+0.451612903 0.526745953 0.515612903
+0.452590420 0.526211252 0.515287390
+0.453567937 0.525676412 0.514961877
+0.454545455 0.525141432 0.514636364
+0.455522972 0.524605346 0.514310850
+0.456500489 0.524068300 0.513985337
+0.457478006 0.523531142 0.513659824
+0.458455523 0.522993872 0.513334311
+0.459433040 0.522456490 0.513008798
+0.460410557 0.521918997 0.512683284
+0.461388074 0.521381392 0.512357771
+0.462365591 0.520843675 0.512032258
+0.463343109 0.520305846 0.511706745
+0.464320626 0.519767905 0.511381232
+0.465298143 0.519229421 0.511055718
+0.466275660 0.518689863 0.510730205
+0.467253177 0.518150220 0.510404692
+0.468230694 0.517610493 0.510079179
+0.469208211 0.517070682 0.509753666
+0.470185728 0.516530787 0.509428152
+0.471163245 0.515990807 0.509102639
+0.472140762 0.515450743 0.508777126
+0.473118280 0.514910594 0.508451613
+0.474095797 0.514370361 0.508126100
+0.475073314 0.513829968 0.507800587
+0.476050831 0.513288569 0.507475073
+0.477028348 0.512747115 0.507149560
+0.478005865 0.512205604 0.506824047
+0.478983382 0.511664036 0.506498534
+0.479960899 0.511122412 0.506173021
+0.480938416 0.510580732 0.505847507
+0.481915934 0.510038995 0.505521994
+0.482893451 0.509497202 0.505196481
+0.483870968 0.508955352 0.504870968
+0.484848485 0.508413446 0.504545455
+0.485826002 0.507870980 0.504219941
+0.486803519 0.507328390 0.503894428
+0.487781036 0.506785773 0.503568915
+0.488758553 0.506243127 0.503243402
+0.489736070 0.505700453 0.502917889
+0.490713587 0.505157751 0.502592375
+0.491691105 0.504615020 0.502266862
+0.492668622 0.504072261 0.501941349
+0.493646139 0.503529474 0.501615836
+0.494623656 0.502986658 0.501290323
+0.495601173 0.502443695 0.500964809
+0.496578690 0.501900652 0.500639296
+0.497556207 0.501357608 0.500313783
+0.498533724 0.500814565 0.499988270
+0.499511241 0.500271522 0.499662757
+0.500488759 0.499728478 0.499337243
+0.501466276 0.499185435 0.499011730
+0.502443793 0.498642392 0.498686217
+0.503421310 0.498099348 0.498360704
+0.504398827 0.497556305 0.498035191
+0.505376344 0.497013342 0.497709677
+0.506353861 0.496470526 0.497384164
+0.507331378 0.495927739 0.497058651
+0.508308895 0.495384980 0.496733138
+0.509286413 0.494842249 0.496407625
+0.510263930 0.494299547 0.496082111
+0.511241447 0.493756873 0.495756598
+0.512218964 0.493214227 0.495431085
+0.513196481 0.492671610 0.495105572
+0.514173998 0.492129020 0.494780059
+0.515151515 0.491586554 0.494454545
+0.516129032 0.491044648 0.494129032
+0.517106549 0.490502798 0.493803519
+0.518084066 0.489961005 0.493478006
+0.519061584 0.489419268 0.493152493
+0.520039101 0.488877588 0.492826979
+0.521016618 0.488335964 0.492501466
+0.521994135 0.487794396 0.492175953
+0.522971652 0.487252885 0.491850440
+0.523949169 0.486711431 0.491524927
+0.524926686 0.486170032 0.491199413
+0.525904203 0.485629639 0.490873900
+0.526881720 0.485089406 0.490548387
+0.527859238 0.484549257 0.490222874
+0.528836755 0.484009193 0.489897361
+0.529814272 0.483469213 0.489571848
+0.530791789 0.482929318 0.489246334
+0.531769306 0.482389507 0.488920821
+0.532746823 0.481849780 0.488595308
+0.533724340 0.481310137 0.488269795
+0.534701857 0.480770579 0.487944282
+0.535679374 0.480232095 0.487618768
+0.536656891 0.479694154 0.487293255
+0.537634409 0.479156325 0.486967742
+0.538611926 0.478618608 0.486642229
+0.539589443 0.478081003 0.486316716
+0.540566960 0.477543510 0.485991202
+0.541544477 0.477006128 0.485665689
+0.542521994 0.476468858 0.485340176
+0.543499511 0.475931700 0.485014663
+0.544477028 0.475394654 0.484689150
+0.545454545 0.474858568 0.484363636
+0.546432063 0.474323588 0.484038123
+0.547409580 0.473788748 0.483712610
+0.548387097 0.473254047 0.483387097
+0.549364614 0.472719484 0.483061584
+0.550342131 0.472185061 0.482736070
+0.551319648 0.471650776 0.482410557
+0.552297165 0.471116630 0.482085044
+0.553274682 0.470582623 0.481759531
+0.554252199 0.470048754 0.481434018
+0.555229717 0.469515546 0.481108504
+0.556207234 0.468984190 0.480782991
+0.557184751 0.468453001 0.480457478
+0.558162268 0.467921976 0.480131965
+0.559139785 0.467391117 0.479806452
+0.560117302 0.466860423 0.479480938
+0.561094819 0.466329894 0.479155425
+0.562072336 0.465799531 0.478829912
+0.563049853 0.465269332 0.478504399
+0.564027370 0.464739299 0.478178886
+0.565004888 0.464209443 0.477853372
+0.565982405 0.463682365 0.477527859
+0.566959922 0.463155479 0.477202346
+0.567937439 0.462628783 0.476876833
+0.568914956 0.462102278 0.476551320
+0.569892473 0.461575965 0.476225806
+0.570869990 0.461049842 0.475900293
+0.571847507 0.460523910 0.475574780
+0.572825024 0.459998168 0.475249267
+0.573802542 0.459472617 0.474923754
+0.574780059 0.458947256 0.474598240
+0.575757576 0.458424423 0.474272727
+0.576735093 0.457902482 0.473947214
+0.577712610 0.457380756 0.473621701
+0.578690127 0.456859246 0.473296188
+0.579667644 0.456337952 0.472970674
+0.580645161 0.455816874 0.472645161
+0.581622678 0.455296011 0.472319648
+0.582600196 0.454775363 0.471994135
+0.583577713 0.454254931 0.471668622
+0.584555230 0.453734713 0.471343109
+0.585532747 0.453216564 0.471017595
+0.586510264 0.452700198 0.470692082
+0.587487781 0.452184072 0.470366569
+0.588465298 0.451668185 0.470041056
+0.589442815 0.451152538 0.469715543
+0.590420332 0.450637130 0.469390029
+0.591397849 0.450121961 0.469064516
+0.592375367 0.449607031 0.468739003
+0.593352884 0.449092340 0.468413490
+0.594330401 0.448577888 0.468087977
+0.595307918 0.448064866 0.467762463
+0.596285435 0.447554692 0.467436950
+0.597262952 0.447044779 0.467111437
+0.598240469 0.446535130 0.466785924
+0.599217986 0.446025742 0.466460411
+0.600195503 0.445516617 0.466134897
+0.601173021 0.445007753 0.465809384
+0.602150538 0.444499152 0.465483871
+0.603128055 0.443990811 0.465158358
+0.604105572 0.443482732 0.464832845
+0.605083089 0.442975268 0.464507331
+0.606060606 0.442471886 0.464181818
+0.607038123 0.441968788 0.463856305
+0.608015640 0.441465974 0.463530792
+0.608993157 0.440963445 0.463205279
+0.609970674 0.440461199 0.462879765
+0.610948192 0.439959236 0.462554252
+0.611925709 0.439457556 0.462228739
+0.612903226 0.438956160 0.461903226
+0.613880743 0.438455046 0.461577713
+0.614858260 0.437954214 0.461252199
+0.615835777 0.437457552 0.460926686
+0.616813294 0.436961853 0.460601173
+0.617790811 0.436466458 0.460275660
+0.618768328 0.435971367 0.459950147
+0.619745846 0.435476580 0.459624633
+0.620723363 0.434982097 0.459299120
+0.621700880 0.434487917 0.458973607
+0.622678397 0.433994040 0.458648094
+0.623655914 0.433500466 0.458322581
+0.624633431 0.433007195 0.457997067
+0.625610948 0.432517297 0.457671554
+0.626588465 0.432029562 0.457346041
+0.627565982 0.431542151 0.457020528
+0.628543500 0.431055062 0.456695015
+0.629521017 0.430568297 0.456369501
+0.630498534 0.430081854 0.456043988
+0.631476051 0.429595733 0.455718475
+0.632453568 0.429109935 0.455392962
+0.633431085 0.428624458 0.455067449
+0.634408602 0.428139302 0.454741935
+0.635386119 0.427656551 0.454416422
+0.636363636 0.427177328 0.454090909
+0.637341153 0.426698446 0.453765396
+0.638318671 0.426219904 0.453439883
+0.639296188 0.425741703 0.453114370
+0.640273705 0.425263842 0.452788856
+0.641251222 0.424786321 0.452463343
+0.642228739 0.424309140 0.452137830
+0.643206256 0.423832297 0.451812317
+0.644183773 0.423355793 0.451486804
+0.645161290 0.422880556 0.451161290
+0.646138807 0.422410372 0.450835777
+0.647116325 0.421940545 0.450510264
+0.648093842 0.421471075 0.450184751
+0.649071359 0.421001962 0.449859238
+0.650048876 0.420533205 0.449533724
+0.651026393 0.420064803 0.449208211
+0.652003910 0.419596757 0.448882698
+0.652981427 0.419129066 0.448557185
+0.653958944 0.418661730 0.448231672
+0.654936461 0.418194747 0.447906158
+0.655913978 0.417733720 0.447580645
+0.656891496 0.417273454 0.447255132
+0.657869013 0.416813559 0.446929619
+0.658846530 0.416354035 0.446604106
+0.659824047 0.415894883 0.446278592
+0.660801564 0.415436100 0.445953079
+0.661779081 0.414977687 0.445627566
+0.662756598 0.414519643 0.445302053
+0.663734115 0.414061969 0.444976540
+0.664711632 0.413604663 0.444651026
+0.665689150 0.413152189 0.444325513
+0.666666667 0.412701967 0.444000000
+0.667644184 0.412252130 0.443674487
+0.668621701 0.411802676 0.443348974
+0.669599218 0.411353606 0.443023460
+0.670576735 0.410904919 0.442697947
+0.671554252 0.410456615 0.442372434
+0.672531769 0.410008693 0.442046921
+0.673509286 0.409561153 0.441721408
+0.674486804 0.409113994 0.441395894
+0.675464321 0.408670383 0.441070381
+0.676441838 0.408230666 0.440744868
+0.677419355 0.407791345 0.440419355
+0.678396872 0.407352419 0.440093842
+0.679374389 0.406913888 0.439768328
+0.680351906 0.406475752 0.439442815
+0.681329423 0.406038009 0.439117302
+0.682306940 0.405600660 0.438791789
+0.683284457 0.405163704 0.438466276
+0.684261975 0.404727140 0.438140762
+0.685239492 0.404292682 0.437815249
+0.686217009 0.403863908 0.437489736
+0.687194526 0.403435540 0.437164223
+0.688172043 0.403007576 0.436838710
+0.689149560 0.402580018 0.436513196
+0.690127077 0.402152863 0.436187683
+0.691104594 0.401726112 0.435862170
+0.692082111 0.401299764 0.435536657
+0.693059629 0.400873818 0.435211144
+0.694037146 0.400448274 0.434885630
+0.695014663 0.400023241 0.434560117
+0.695992180 0.399605824 0.434234604
+0.696969697 0.399188821 0.433909091
+0.697947214 0.398772231 0.433583578
+0.698924731 0.398356053 0.433258065
+0.699902248 0.397940288 0.432932551
+0.700879765 0.397524934 0.432607038
+0.701857283 0.397109991 0.432281525
+0.702834800 0.396695458 0.431956012
+0.703812317 0.396281335 0.431630499
+0.704789834 0.395867620 0.431304985
+0.705767351 0.395460310 0.430979472
+0.706744868 0.395055060 0.430653959
+0.707722385 0.394650230 0.430328446
+0.708699902 0.394245820 0.430002933
+0.709677419 0.393841827 0.429677419
+0.710654936 0.393438252 0.429351906
+0.711632454 0.393035094 0.429026393
+0.712609971 0.392632352 0.428700880
+0.713587488 0.392230026 0.428375367
+0.714565005 0.391828114 0.428049853
+0.715542522 0.391431026 0.427724340
+0.716520039 0.391037894 0.427398827
+0.717497556 0.390645187 0.427073314
+0.718475073 0.390252903 0.426747801
+0.719452590 0.389861041 0.426422287
+0.720430108 0.389469602 0.426096774
+0.721407625 0.389078585 0.425771261
+0.722385142 0.388687988 0.425445748
+0.723362659 0.388297811 0.425120235
+0.724340176 0.387908053 0.424794721
+0.725317693 0.387521392 0.424469208
+0.726295210 0.387140718 0.424143695
+0.727272727 0.386760470 0.423818182
+0.728250244 0.386380649 0.423492669
+0.729227761 0.386001253 0.423167155
+0.730205279 0.385622282 0.422841642
+0.731182796 0.385243736 0.422516129
+0.732160313 0.384865613 0.422190616
+0.733137830 0.384487912 0.421865103
+0.734115347 0.384110634 0.421539589
+0.735092864 0.383734587 0.421214076
+0.736070381 0.383366684 0.420888563
+0.737047898 0.382999209 0.420563050
+0.738025415 0.382632161 0.420237537
+0.739002933 0.382265540 0.419912023
+0.739980450 0.381899345 0.419586510
+0.740957967 0.381533576 0.419260997
+0.741935484 0.381168231 0.418935484
+0.742913001 0.380803309 0.418609971
+0.743890518 0.380438811 0.418284457
+0.744868035 0.380074735 0.417958944
+0.745845552 0.379718703 0.417633431
+0.746823069 0.379364288 0.417307918
+0.747800587 0.379010300 0.416982405
+0.748778104 0.378656739 0.416656891
+0.749755621 0.378303602 0.416331378
+0.750733138 0.377950891 0.416005865
+0.751710655 0.377598603 0.415680352
+0.752688172 0.377246738 0.415354839
+0.753665689 0.376895296 0.415029326
+0.754643206 0.376544275 0.414703812
+0.755620723 0.376199443 0.414378299
+0.756598240 0.375858351 0.414052786
+0.757575758 0.375517684 0.413727273
+0.758553275 0.375177441 0.413401760
+0.759530792 0.374837621 0.413076246
+0.760508309 0.374498223 0.412750733
+0.761485826 0.374159247 0.412425220
+0.762463343 0.373820692 0.412099707
+0.763440860 0.373482557 0.411774194
+0.764418377 0.373144841 0.411448680
+0.765395894 0.372811329 0.411123167
+0.766373412 0.372483798 0.410797654
+0.767350929 0.372156688 0.410472141
+0.768328446 0.371829998 0.410146628
+0.769305963 0.371503728 0.409821114
+0.770283480 0.371177875 0.409495601
+0.771260997 0.370852441 0.409170088
+0.772238514 0.370527424 0.408844575
+0.773216031 0.370202822 0.408519062
+0.774193548 0.369878636 0.408193548
+0.775171065 0.369556545 0.407868035
+0.776148583 0.369242788 0.407542522
+0.777126100 0.368929447 0.407217009
+0.778103617 0.368616521 0.406891496
+0.779081134 0.368304008 0.406565982
+0.780058651 0.367991909 0.406240469
+0.781036168 0.367680221 0.405914956
+0.782013685 0.367368945 0.405589443
+0.782991202 0.367058080 0.405263930
+0.783968719 0.366747624 0.404938416
+0.784946237 0.366437577 0.404612903
+0.785923754 0.366137243 0.404287390
+0.786901271 0.365837858 0.403961877
+0.787878788 0.365538882 0.403636364
+0.788856305 0.365240312 0.403310850
+0.789833822 0.364942147 0.402985337
+0.790811339 0.364644388 0.402659824
+0.791788856 0.364347034 0.402334311
+0.792766373 0.364050082 0.402008798
+0.793743891 0.363753534 0.401683284
+0.794721408 0.363457387 0.401357771
+0.795698925 0.363168850 0.401032258
+0.796676442 0.362883585 0.400706745
+0.797653959 0.362598720 0.400381232
+0.798631476 0.362314253 0.400055718
+0.799608993 0.362030183 0.399730205
+0.800586510 0.361746510 0.399404692
+0.801564027 0.361463233 0.399079179
+0.802541544 0.361180350 0.398753666
+0.803519062 0.360897862 0.398428152
+0.804496579 0.360615767 0.398102639
+0.805474096 0.360339063 0.397777126
+0.806451613 0.360068060 0.397451613
+0.807429130 0.359797445 0.397126100
+0.808406647 0.359527218 0.396800587
+0.809384164 0.359257379 0.396475073
+0.810361681 0.358987926 0.396149560
+0.811339198 0.358718858 0.395824047
+0.812316716 0.358450176 0.395498534
+0.813294233 0.358181877 0.395173021
+0.814271750 0.357913962 0.394847507
+0.815249267 0.357649114 0.394521994
+0.816226784 0.357392487 0.394196481
+0.817204301 0.357136239 0.393870968
+0.818181818 0.356880367 0.393545455
+0.819159335 0.356624870 0.393219941
+0.820136852 0.356369749 0.392894428
+0.821114370 0.356115002 0.392568915
+0.822091887 0.355860628 0.392243402
+0.823069404 0.355606627 0.391917889
+0.824046921 0.355352998 0.391592375
+0.825024438 0.355100007 0.391266862
+0.826001955 0.354857853 0.390941349
+0.826979472 0.354616064 0.390615836
+0.827956989 0.354374639 0.390290323
+0.828934506 0.354133576 0.389964809
+0.829912023 0.353892876 0.389639296
+0.830889541 0.353652537 0.389313783
+0.831867058 0.353412559 0.388988270
+0.832844575 0.353172940 0.388662757
+0.833822092 0.352933680 0.388337243
+0.834799609 0.352694779 0.388011730
+0.835777126 0.352464927 0.387686217
+0.836754643 0.352237669 0.387360704
+0.837732160 0.352010761 0.387035191
+0.838709677 0.351784201 0.386709677
+0.839687195 0.351557989 0.386384164
+0.840664712 0.351332125 0.386058651
+0.841642229 0.351106607 0.385733138
+0.842619746 0.350881434 0.385407625
+0.843597263 0.350656607 0.385082111
+0.844574780 0.350432123 0.384756598
+0.845552297 0.350214269 0.384431085
+0.846529814 0.350001593 0.384105572
+0.847507331 0.349789250 0.383780059
+0.848484848 0.349577241 0.383454545
+0.849462366 0.349365564 0.383129032
+0.850439883 0.349154220 0.382803519
+0.851417400 0.348943206 0.382478006
+0.852394917 0.348732523 0.382152493
+0.853372434 0.348522169 0.381826979
+0.854349951 0.348312145 0.381501466
+0.855327468 0.348106237 0.381175953
+0.856304985 0.347908171 0.380850440
+0.857282502 0.347710423 0.380524927
+0.858260020 0.347512992 0.380199413
+0.859237537 0.347315877 0.379873900
+0.860215054 0.347119078 0.379548387
+0.861192571 0.346922593 0.379222874
+0.862170088 0.346726422 0.378897361
+0.863147605 0.346530564 0.378571848
+0.864125122 0.346335018 0.378246334
+0.865102639 0.346140990 0.377920821
+0.866080156 0.345957546 0.377595308
+0.867057674 0.345774402 0.377269795
+0.868035191 0.345591557 0.376944282
+0.869012708 0.345409010 0.376618768
+0.869990225 0.345226762 0.376293255
+0.870967742 0.345044810 0.375967742
+0.871945259 0.344863155 0.375642229
+0.872922776 0.344681795 0.375316716
+0.873900293 0.344500730 0.374991202
+0.874877810 0.344319959 0.374665689
+0.875855327 0.344149671 0.374340176
+0.876832845 0.343981121 0.374014663
+0.877810362 0.343812851 0.373689150
+0.878787879 0.343644861 0.373363636
+0.879765396 0.343477150 0.373038123
+0.880742913 0.343309718 0.372712610
+0.881720430 0.343142563 0.372387097
+0.882697947 0.342975685 0.372061584
+0.883675464 0.342809084 0.371736070
+0.884652981 0.342642758 0.371410557
+0.885630499 0.342484320 0.371085044
+0.886608016 0.342330335 0.370759531
+0.887585533 0.342176611 0.370434018
+0.888563050 0.342023148 0.370108504
+0.889540567 0.341869943 0.369782991
+0.890518084 0.341716998 0.369457478
+0.891495601 0.341564311 0.369131965
+0.892473118 0.341411881 0.368806452
+0.893450635 0.341259709 0.368480938
+0.894428152 0.341107792 0.368155425
+0.895405670 0.340961091 0.367829912
+0.896383187 0.340821627 0.367504399
+0.897360704 0.340682403 0.367178886
+0.898338221 0.340543418 0.366853372
+0.899315738 0.340404672 0.366527859
+0.900293255 0.340266165 0.366202346
+0.901270772 0.340127896 0.365876833
+0.902248289 0.339989864 0.365551320
+0.903225806 0.339852068 0.365225806
+0.904203324 0.339714508 0.364900293
+0.905180841 0.339579421 0.364574780
+0.906158358 0.339454415 0.364249267
+0.907135875 0.339329627 0.363923754
+0.908113392 0.339205058 0.363598240
+0.909090909 0.339080706 0.363272727
+0.910068426 0.338956572 0.362947214
+0.911045943 0.338832654 0.362621701
+0.912023460 0.338708952 0.362296188
+0.913000978 0.338585466 0.361970674
+0.913978495 0.338462194 0.361645161
+0.914956012 0.338339137 0.361319648
+0.915933529 0.338227961 0.360994135
+0.916911046 0.338117532 0.360668622
+0.917888563 0.338007299 0.360343109
+0.918866080 0.337897261 0.360017595
+0.919843597 0.337787419 0.359692082
+0.920821114 0.337677771 0.359366569
+0.921798631 0.337568317 0.359041056
+0.922776149 0.337459057 0.358715543
+0.923753666 0.337349989 0.358390029
+0.924731183 0.337241115 0.358064516
+0.925708700 0.337141380 0.357739003
+0.926686217 0.337045215 0.357413490
+0.927663734 0.336949224 0.357087977
+0.928641251 0.336853406 0.356762463
+0.929618768 0.336757760 0.356436950
+0.930596285 0.336662286 0.356111437
+0.931573803 0.336566984 0.355785924
+0.932551320 0.336471852 0.355460411
+0.933528837 0.336376891 0.355134897
+0.934506354 0.336282100 0.354809384
+0.935483871 0.336193646 0.354483871
+0.936461388 0.336111639 0.354158358
+0.937438905 0.336029782 0.353832845
+0.938416422 0.335948074 0.353507331
+0.939393939 0.335866515 0.353181818
+0.940371457 0.335785105 0.352856305
+0.941348974 0.335703844 0.352530792
+0.942326491 0.335622730 0.352205279
+0.943304008 0.335541763 0.351879765
+0.944281525 0.335460944 0.351554252
+0.945259042 0.335383602 0.351228739
+0.946236559 0.335315631 0.350903226
+0.947214076 0.335247787 0.350577713
+0.948191593 0.335180068 0.350252199
+0.949169110 0.335112475 0.349926686
+0.950146628 0.335045006 0.349601173
+0.951124145 0.334977661 0.349275660
+0.952101662 0.334910441 0.348950147
+0.953079179 0.334843345 0.348624633
+0.954056696 0.334776372 0.348299120
+0.955034213 0.334709966 0.347973607
+0.956011730 0.334655899 0.347648094
+0.956989247 0.334601934 0.347322581
+0.957966764 0.334548070 0.346997067
+0.958944282 0.334494307 0.346671554
+0.959921799 0.334440645 0.346346041
+0.960899316 0.334387083 0.346020528
+0.961876833 0.334333620 0.345695015
+0.962854350 0.334280258 0.345369501
+0.963831867 0.334226995 0.345043988
+0.964809384 0.334173831 0.344718475
+0.965786901 0.334131034 0.344392962
+0.966764418 0.334090804 0.344067449
+0.967741935 0.334050649 0.343741935
+0.968719453 0.334010571 0.343416422
+0.969696970 0.333970568 0.343090909
+0.970674487 0.333930642 0.342765396
+0.971652004 0.333890791 0.342439883
+0.972629521 0.333851014 0.342114370
+0.973607038 0.333811314 0.341788856
+0.974584555 0.333771687 0.341463343
+0.975562072 0.333739521 0.341137830
+0.976539589 0.333712869 0.340812317
+0.977517107 0.333686268 0.340486804
+0.978494624 0.333659718 0.340161290
+0.979472141 0.333633219 0.339835777
+0.980449658 0.333606771 0.339510264
+0.981427175 0.333580374 0.339184751
+0.982404692 0.333554026 0.338859238
+0.983382209 0.333527729 0.338533724
+0.984359726 0.333501482 0.338208211
+0.985337243 0.333479745 0.337882698
+0.986314761 0.333466506 0.337557185
+0.987292278 0.333453293 0.337231672
+0.988269795 0.333440106 0.336906158
+0.989247312 0.333426944 0.336580645
+0.990224829 0.333413807 0.336255132
+0.991202346 0.333400697 0.335929619
+0.992179863 0.333387611 0.335604106
+0.993157380 0.333374550 0.335278592
+0.994134897 0.333361515 0.334953079
+0.995112414 0.333350000 0.334627566
+0.996089932 0.333350000 0.334302053
+0.997067449 0.333350000 0.333976540
+0.998044966 0.333350000 0.333651026
+0.999022483 0.333350000 0.333325513
+1.000000000 0.333350000 0.333000000
diff --git a/examples/hybrid/ObstacleAvoidance.fll b/examples/hybrid/ObstacleAvoidance.fll
new file mode 100644
index 0000000..970221b
--- /dev/null
+++ b/examples/hybrid/ObstacleAvoidance.fll
@@ -0,0 +1,43 @@
+Engine: ObstacleAvoidance
+InputVariable: obstacle
+ enabled: true
+ range: 0.000 1.000
+ lock-range: false
+ term: left Ramp 1.000 0.000
+ term: right Ramp 0.000 1.000
+OutputVariable: mSteer
+ enabled: true
+ range: 0.000 1.000
+ lock-range: false
+ aggregation: Maximum
+ defuzzifier: Centroid 100
+ default: nan
+ lock-previous: false
+ term: left Ramp 1.000 0.000
+ term: right Ramp 0.000 1.000
+OutputVariable: tsSteer
+ enabled: true
+ range: 0.000 1.000
+ lock-range: false
+ aggregation: Maximum
+ defuzzifier: WeightedAverage Automatic
+ default: nan
+ lock-previous: false
+ term: left Constant 0.333
+ term: right Constant 0.666
+RuleBlock: mamdani
+ enabled: true
+ conjunction: none
+ disjunction: none
+ implication: AlgebraicProduct
+ activation: General
+ rule: if obstacle is left then mSteer is right
+ rule: if obstacle is right then mSteer is left
+RuleBlock: takagiSugeno
+ enabled: true
+ conjunction: none
+ disjunction: none
+ implication: none
+ activation: General
+ rule: if obstacle is left then tsSteer is right
+ rule: if obstacle is right then tsSteer is left \ No newline at end of file
diff --git a/examples/hybrid/ObstacleAvoidance.java b/examples/hybrid/ObstacleAvoidance.java
new file mode 100644
index 0000000..8196670
--- /dev/null
+++ b/examples/hybrid/ObstacleAvoidance.java
@@ -0,0 +1,86 @@
+import com.fuzzylite.*;
+import com.fuzzylite.activation.*
+import com.fuzzylite.defuzzifier.*;
+import com.fuzzylite.factory.*;
+import com.fuzzylite.hedge.*;
+import com.fuzzylite.imex.*;
+import com.fuzzylite.norm.*;
+import com.fuzzylite.norm.s.*;
+import com.fuzzylite.norm.t.*;
+import com.fuzzylite.rule.*;
+import com.fuzzylite.term.*;
+import com.fuzzylite.variable.*;
+
+public class ObstacleAvoidance{
+public static void main(String[] args){
+//Code automatically generated with fuzzylite 6.0.
+
+Engine engine = new Engine();
+engine.setName("ObstacleAvoidance");
+engine.setDescription("");
+
+InputVariable obstacle = new InputVariable();
+obstacle.setName("obstacle");
+obstacle.setDescription("");
+obstacle.setEnabled(true);
+obstacle.setRange(0.000, 1.000);
+obstacle.setLockValueInRange(false);
+obstacle.addTerm(new Ramp("left", 1.000, 0.000));
+obstacle.addTerm(new Ramp("right", 0.000, 1.000));
+engine.addInputVariable(obstacle);
+
+OutputVariable mSteer = new OutputVariable();
+mSteer.setName("mSteer");
+mSteer.setDescription("");
+mSteer.setEnabled(true);
+mSteer.setRange(0.000, 1.000);
+mSteer.setLockValueInRange(false);
+mSteer.setAggregation(new Maximum());
+mSteer.setDefuzzifier(new Centroid(100));
+mSteer.setDefaultValue(Double.NaN);
+mSteer.setLockPreviousValue(false);
+mSteer.addTerm(new Ramp("left", 1.000, 0.000));
+mSteer.addTerm(new Ramp("right", 0.000, 1.000));
+engine.addOutputVariable(mSteer);
+
+OutputVariable tsSteer = new OutputVariable();
+tsSteer.setName("tsSteer");
+tsSteer.setDescription("");
+tsSteer.setEnabled(true);
+tsSteer.setRange(0.000, 1.000);
+tsSteer.setLockValueInRange(false);
+tsSteer.setAggregation(new Maximum());
+tsSteer.setDefuzzifier(new WeightedAverage("Automatic"));
+tsSteer.setDefaultValue(Double.NaN);
+tsSteer.setLockPreviousValue(false);
+tsSteer.addTerm(new Constant("left", 0.333));
+tsSteer.addTerm(new Constant("right", 0.666));
+engine.addOutputVariable(tsSteer);
+
+RuleBlock mamdani = new RuleBlock();
+mamdani.setName("mamdani");
+mamdani.setDescription("");
+mamdani.setEnabled(true);
+mamdani.setConjunction(null);
+mamdani.setDisjunction(null);
+mamdani.setImplication(new AlgebraicProduct());
+mamdani.setActivation(new General());
+mamdani.addRule(Rule.parse("if obstacle is left then mSteer is right", engine));
+mamdani.addRule(Rule.parse("if obstacle is right then mSteer is left", engine));
+engine.addRuleBlock(mamdani);
+
+RuleBlock takagiSugeno = new RuleBlock();
+takagiSugeno.setName("takagiSugeno");
+takagiSugeno.setDescription("");
+takagiSugeno.setEnabled(true);
+takagiSugeno.setConjunction(null);
+takagiSugeno.setDisjunction(null);
+takagiSugeno.setImplication(null);
+takagiSugeno.setActivation(new General());
+takagiSugeno.addRule(Rule.parse("if obstacle is left then tsSteer is right", engine));
+takagiSugeno.addRule(Rule.parse("if obstacle is right then tsSteer is left", engine));
+engine.addRuleBlock(takagiSugeno);
+
+
+}
+}
diff --git a/examples/hybrid/ObstacleAvoidance.pdf b/examples/hybrid/ObstacleAvoidance.pdf
new file mode 100644
index 0000000..ad74e68
--- /dev/null
+++ b/examples/hybrid/ObstacleAvoidance.pdf
Binary files differ
diff --git a/examples/hybrid/tipper.R b/examples/hybrid/tipper.R
new file mode 100644
index 0000000..ba11351
--- /dev/null
+++ b/examples/hybrid/tipper.R
@@ -0,0 +1,109 @@
+#Code automatically generated with fuzzylite 6.0.
+
+library(ggplot2);
+
+engine.name = "tipper"
+engine.description = "(service and food) -> (tip)"
+engine.fll = "Engine: tipper
+description: (service and food) -> (tip)
+InputVariable: service
+ description: quality of service
+ enabled: true
+ range: 0.000 10.000
+ lock-range: true
+ term: poor Trapezoid 0.000 0.000 2.500 5.000
+ term: good Triangle 2.500 5.000 7.500
+ term: excellent Trapezoid 5.000 7.500 10.000 10.000
+InputVariable: food
+ description: quality of food
+ enabled: true
+ range: 0.000 10.000
+ lock-range: true
+ term: rancid Trapezoid 0.000 0.000 2.500 7.500
+ term: delicious Trapezoid 2.500 7.500 10.000 10.000
+OutputVariable: mTip
+ description: tip based on Mamdani inference
+ enabled: true
+ range: 0.000 30.000
+ lock-range: false
+ aggregation: Maximum
+ defuzzifier: Centroid 100
+ default: nan
+ lock-previous: false
+ term: cheap Triangle 0.000 5.000 10.000
+ term: average Triangle 10.000 15.000 20.000
+ term: generous Triangle 20.000 25.000 30.000
+OutputVariable: tsTip
+ description: tip based on Takagi-Sugeno inference
+ enabled: true
+ range: 0.000 30.000
+ lock-range: false
+ aggregation: none
+ defuzzifier: WeightedAverage TakagiSugeno
+ default: nan
+ lock-previous: false
+ term: cheap Constant 5.000
+ term: average Constant 15.000
+ term: generous Constant 25.000
+RuleBlock: mamdani
+ description: Mamdani inference
+ enabled: true
+ conjunction: AlgebraicProduct
+ disjunction: AlgebraicSum
+ implication: Minimum
+ activation: General
+ rule: if service is poor or food is rancid then mTip is cheap
+ rule: if service is good then mTip is average
+ rule: if service is excellent or food is delicious then mTip is generous with 0.5
+ rule: if service is excellent and food is delicious then mTip is generous with 1.0
+RuleBlock: takagiSugeno
+ description: Takagi-Sugeno inference
+ enabled: true
+ conjunction: AlgebraicProduct
+ disjunction: AlgebraicSum
+ implication: none
+ activation: General
+ rule: if service is poor or food is rancid then tsTip is cheap
+ rule: if service is good then tsTip is average
+ rule: if service is excellent or food is delicious then tsTip is generous with 0.5
+ rule: if service is excellent and food is delicious then tsTip is generous with 1.0"
+
+engine.fldFile = "tipper.fld"
+if (require(data.table)) {
+ engine.df = data.table::fread(engine.fldFile, sep="auto", header="auto")
+} else {
+ engine.df = read.table(engine.fldFile, header=TRUE)
+}
+
+engine.plot.i1i2_o1 = ggplot(engine.df, aes(service, food)) +
+ geom_tile(aes(fill=mTip)) +
+ scale_fill_gradient(low="yellow", high="red") +
+ stat_contour(aes(x=service, y=food, z=mTip), color="black") +
+ ggtitle("(service, food) = mTip")
+
+engine.plot.i2i1_o1 = ggplot(engine.df, aes(food, service)) +
+ geom_tile(aes(fill=mTip)) +
+ scale_fill_gradient(low="yellow", high="red") +
+ stat_contour(aes(x=food, y=service, z=mTip), color="black") +
+ ggtitle("(food, service) = mTip")
+
+engine.plot.i1i2_o2 = ggplot(engine.df, aes(service, food)) +
+ geom_tile(aes(fill=tsTip)) +
+ scale_fill_gradient(low="yellow", high="red") +
+ stat_contour(aes(x=service, y=food, z=tsTip), color="black") +
+ ggtitle("(service, food) = tsTip")
+
+engine.plot.i2i1_o2 = ggplot(engine.df, aes(food, service)) +
+ geom_tile(aes(fill=tsTip)) +
+ scale_fill_gradient(low="yellow", high="red") +
+ stat_contour(aes(x=food, y=service, z=tsTip), color="black") +
+ ggtitle("(food, service) = tsTip")
+
+if (require(gridExtra)) {
+ engine.plots = arrangeGrob(engine.plot.i1i2_o1, engine.plot.i2i1_o1, engine.plot.i1i2_o2, engine.plot.i2i1_o2, ncol=2, top=engine.name)
+ ggsave(paste0(engine.name, ".pdf"), engine.plots)
+ if (require(grid)) {
+ grid.newpage()
+ grid.draw(engine.plots)
+ }
+}
diff --git a/examples/hybrid/tipper.cpp b/examples/hybrid/tipper.cpp
new file mode 100644
index 0000000..57bcc78
--- /dev/null
+++ b/examples/hybrid/tipper.cpp
@@ -0,0 +1,92 @@
+#include <fl/Headers.h>
+
+int main(int argc, char** argv){
+//Code automatically generated with fuzzylite 6.0.
+
+using namespace fl;
+
+Engine* engine = new Engine;
+engine->setName("tipper");
+engine->setDescription("(service and food) -> (tip)");
+
+InputVariable* service = new InputVariable;
+service->setName("service");
+service->setDescription("quality of service");
+service->setEnabled(true);
+service->setRange(0.000, 10.000);
+service->setLockValueInRange(true);
+service->addTerm(new Trapezoid("poor", 0.000, 0.000, 2.500, 5.000));
+service->addTerm(new Triangle("good", 2.500, 5.000, 7.500));
+service->addTerm(new Trapezoid("excellent", 5.000, 7.500, 10.000, 10.000));
+engine->addInputVariable(service);
+
+InputVariable* food = new InputVariable;
+food->setName("food");
+food->setDescription("quality of food");
+food->setEnabled(true);
+food->setRange(0.000, 10.000);
+food->setLockValueInRange(true);
+food->addTerm(new Trapezoid("rancid", 0.000, 0.000, 2.500, 7.500));
+food->addTerm(new Trapezoid("delicious", 2.500, 7.500, 10.000, 10.000));
+engine->addInputVariable(food);
+
+OutputVariable* mTip = new OutputVariable;
+mTip->setName("mTip");
+mTip->setDescription("tip based on Mamdani inference");
+mTip->setEnabled(true);
+mTip->setRange(0.000, 30.000);
+mTip->setLockValueInRange(false);
+mTip->setAggregation(new Maximum);
+mTip->setDefuzzifier(new Centroid(100));
+mTip->setDefaultValue(fl::nan);
+mTip->setLockPreviousValue(false);
+mTip->addTerm(new Triangle("cheap", 0.000, 5.000, 10.000));
+mTip->addTerm(new Triangle("average", 10.000, 15.000, 20.000));
+mTip->addTerm(new Triangle("generous", 20.000, 25.000, 30.000));
+engine->addOutputVariable(mTip);
+
+OutputVariable* tsTip = new OutputVariable;
+tsTip->setName("tsTip");
+tsTip->setDescription("tip based on Takagi-Sugeno inference");
+tsTip->setEnabled(true);
+tsTip->setRange(0.000, 30.000);
+tsTip->setLockValueInRange(false);
+tsTip->setAggregation(fl::null);
+tsTip->setDefuzzifier(new WeightedAverage("TakagiSugeno"));
+tsTip->setDefaultValue(fl::nan);
+tsTip->setLockPreviousValue(false);
+tsTip->addTerm(new Constant("cheap", 5.000));
+tsTip->addTerm(new Constant("average", 15.000));
+tsTip->addTerm(new Constant("generous", 25.000));
+engine->addOutputVariable(tsTip);
+
+RuleBlock* mamdani = new RuleBlock;
+mamdani->setName("mamdani");
+mamdani->setDescription("Mamdani inference");
+mamdani->setEnabled(true);
+mamdani->setConjunction(new AlgebraicProduct);
+mamdani->setDisjunction(new AlgebraicSum);
+mamdani->setImplication(new Minimum);
+mamdani->setActivation(new General);
+mamdani->addRule(Rule::parse("if service is poor or food is rancid then mTip is cheap", engine));
+mamdani->addRule(Rule::parse("if service is good then mTip is average", engine));
+mamdani->addRule(Rule::parse("if service is excellent or food is delicious then mTip is generous with 0.5", engine));
+mamdani->addRule(Rule::parse("if service is excellent and food is delicious then mTip is generous with 1.0", engine));
+engine->addRuleBlock(mamdani);
+
+RuleBlock* takagiSugeno = new RuleBlock;
+takagiSugeno->setName("takagiSugeno");
+takagiSugeno->setDescription("Takagi-Sugeno inference");
+takagiSugeno->setEnabled(true);
+takagiSugeno->setConjunction(new AlgebraicProduct);
+takagiSugeno->setDisjunction(new AlgebraicSum);
+takagiSugeno->setImplication(fl::null);
+takagiSugeno->setActivation(new General);
+takagiSugeno->addRule(Rule::parse("if service is poor or food is rancid then tsTip is cheap", engine));
+takagiSugeno->addRule(Rule::parse("if service is good then tsTip is average", engine));
+takagiSugeno->addRule(Rule::parse("if service is excellent or food is delicious then tsTip is generous with 0.5", engine));
+takagiSugeno->addRule(Rule::parse("if service is excellent and food is delicious then tsTip is generous with 1.0", engine));
+engine->addRuleBlock(takagiSugeno);
+
+
+}
diff --git a/examples/hybrid/tipper.fcl b/examples/hybrid/tipper.fcl
new file mode 100644
index 0000000..299dbb8
--- /dev/null
+++ b/examples/hybrid/tipper.fcl
@@ -0,0 +1,66 @@
+//Code automatically generated with fuzzylite 6.0.
+
+FUNCTION_BLOCK tipper
+
+VAR_INPUT
+ service: REAL;
+ food: REAL;
+END_VAR
+
+VAR_OUTPUT
+ mTip: REAL;
+ tsTip: REAL;
+END_VAR
+
+FUZZIFY service
+ RANGE := (0.000 .. 10.000);
+ TERM poor := Trapezoid 0.000 0.000 2.500 5.000;
+ TERM good := Triangle 2.500 5.000 7.500;
+ TERM excellent := Trapezoid 5.000 7.500 10.000 10.000;
+END_FUZZIFY
+
+FUZZIFY food
+ RANGE := (0.000 .. 10.000);
+ TERM rancid := Trapezoid 0.000 0.000 2.500 7.500;
+ TERM delicious := Trapezoid 2.500 7.500 10.000 10.000;
+END_FUZZIFY
+
+DEFUZZIFY mTip
+ RANGE := (0.000 .. 30.000);
+ TERM cheap := Triangle 0.000 5.000 10.000;
+ TERM average := Triangle 10.000 15.000 20.000;
+ TERM generous := Triangle 20.000 25.000 30.000;
+ METHOD : COG;
+ ACCU : MAX;
+ DEFAULT := nan;
+END_DEFUZZIFY
+
+DEFUZZIFY tsTip
+ RANGE := (0.000 .. 30.000);
+ TERM cheap := 5.000;
+ TERM average := 15.000;
+ TERM generous := 25.000;
+ METHOD : COGS;
+ DEFAULT := nan;
+END_DEFUZZIFY
+
+RULEBLOCK mamdani
+ AND : PROD;
+ OR : ASUM;
+ ACT : MIN;
+ RULE 1 : if service is poor or food is rancid then mTip is cheap
+ RULE 2 : if service is good then mTip is average
+ RULE 3 : if service is excellent or food is delicious then mTip is generous with 0.5
+ RULE 4 : if service is excellent and food is delicious then mTip is generous with 1.0
+END_RULEBLOCK
+
+RULEBLOCK takagiSugeno
+ AND : PROD;
+ OR : ASUM;
+ RULE 1 : if service is poor or food is rancid then tsTip is cheap
+ RULE 2 : if service is good then tsTip is average
+ RULE 3 : if service is excellent or food is delicious then tsTip is generous with 0.5
+ RULE 4 : if service is excellent and food is delicious then tsTip is generous with 1.0
+END_RULEBLOCK
+
+END_FUNCTION_BLOCK
diff --git a/examples/hybrid/tipper.fis b/examples/hybrid/tipper.fis
new file mode 100644
index 0000000..abd850a
--- /dev/null
+++ b/examples/hybrid/tipper.fis
@@ -0,0 +1,57 @@
+#Code automatically generated with fuzzylite 6.0.
+
+[System]
+Name='tipper'
+Type='hybrid'
+Version=6.0
+NumInputs=2
+NumOutputs=2
+NumRules=8
+AndMethod='prod'
+OrMethod='probor'
+ImpMethod='min'
+AggMethod='max'
+DefuzzMethod='centroid'
+
+[Input1]
+Name='service'
+Range=[0.000 10.000]
+NumMFs=3
+MF1='poor':'trapmf',[0.000 0.000 2.500 5.000]
+MF2='good':'trimf',[2.500 5.000 7.500]
+MF3='excellent':'trapmf',[5.000 7.500 10.000 10.000]
+
+[Input2]
+Name='food'
+Range=[0.000 10.000]
+NumMFs=2
+MF1='rancid':'trapmf',[0.000 0.000 2.500 7.500]
+MF2='delicious':'trapmf',[2.500 7.500 10.000 10.000]
+
+[Output1]
+Name='mTip'
+Range=[0.000 30.000]
+NumMFs=3
+MF1='cheap':'trimf',[0.000 5.000 10.000]
+MF2='average':'trimf',[10.000 15.000 20.000]
+MF3='generous':'trimf',[20.000 25.000 30.000]
+
+[Output2]
+Name='tsTip'
+Range=[0.000 30.000]
+NumMFs=3
+MF1='cheap':'constant',[5.000]
+MF2='average':'constant',[15.000]
+MF3='generous':'constant',[25.000]
+
+[Rules]
+# RuleBlock mamdani
+1.000 1.000 , 1.000 0.000 (1.000) : 2
+2.000 0.000 , 2.000 0.000 (1.000) : 1
+3.000 2.000 , 3.000 0.000 (0.500) : 2
+3.000 2.000 , 3.000 0.000 (1.000) : 1
+# RuleBlock takagiSugeno
+1.000 1.000 , 0.000 1.000 (1.000) : 2
+2.000 0.000 , 0.000 2.000 (1.000) : 1
+3.000 2.000 , 0.000 3.000 (0.500) : 2
+3.000 2.000 , 0.000 3.000 (1.000) : 1
diff --git a/examples/hybrid/tipper.fld b/examples/hybrid/tipper.fld
new file mode 100644
index 0000000..7a8e29d
--- /dev/null
+++ b/examples/hybrid/tipper.fld
@@ -0,0 +1,1025 @@
+service food mTip tsTip
+0.000000000 0.000000000 4.998950210 5.000000000
+0.000000000 0.322580645 4.998950210 5.000000000
+0.000000000 0.645161290 4.998950210 5.000000000
+0.000000000 0.967741935 4.998950210 5.000000000
+0.000000000 1.290322581 4.998950210 5.000000000
+0.000000000 1.612903226 4.998950210 5.000000000
+0.000000000 1.935483871 4.998950210 5.000000000
+0.000000000 2.258064516 4.998950210 5.000000000
+0.000000000 2.580645161 5.314026132 5.160000000
+0.000000000 2.903225806 6.467756859 5.775193798
+0.000000000 3.225806452 7.452789474 6.353383459
+0.000000000 3.548387097 8.316896407 6.897810219
+0.000000000 3.870967742 9.067963620 7.411347518
+0.000000000 4.193548387 9.734585733 7.896551724
+0.000000000 4.516129032 10.322182298 8.355704698
+0.000000000 4.838709677 10.846060307 8.790849673
+0.000000000 5.161290323 11.316227524 9.203821656
+0.000000000 5.483870968 11.733949841 9.596273292
+0.000000000 5.806451613 12.115369655 9.969696970
+0.000000000 6.129032258 12.452152483 10.325443787
+0.000000000 6.451612903 12.762450565 10.664739884
+0.000000000 6.774193548 13.037607639 10.988700565
+0.000000000 7.096774194 13.291172539 11.298342541
+0.000000000 7.419354839 13.516499633 11.594594595
+0.000000000 7.741935484 13.570706205 11.666666667
+0.000000000 8.064516129 13.570706205 11.666666667
+0.000000000 8.387096774 13.570706205 11.666666667
+0.000000000 8.709677419 13.570706205 11.666666667
+0.000000000 9.032258065 13.570706205 11.666666667
+0.000000000 9.354838710 13.570706205 11.666666667
+0.000000000 9.677419355 13.570706205 11.666666667
+0.000000000 10.000000000 13.570706205 11.666666667
+0.322580645 0.000000000 4.998950210 5.000000000
+0.322580645 0.322580645 4.998950210 5.000000000
+0.322580645 0.645161290 4.998950210 5.000000000
+0.322580645 0.967741935 4.998950210 5.000000000
+0.322580645 1.290322581 4.998950210 5.000000000
+0.322580645 1.612903226 4.998950210 5.000000000
+0.322580645 1.935483871 4.998950210 5.000000000
+0.322580645 2.258064516 4.998950210 5.000000000
+0.322580645 2.580645161 5.314026132 5.160000000
+0.322580645 2.903225806 6.467756859 5.775193798
+0.322580645 3.225806452 7.452789474 6.353383459
+0.322580645 3.548387097 8.316896407 6.897810219
+0.322580645 3.870967742 9.067963620 7.411347518
+0.322580645 4.193548387 9.734585733 7.896551724
+0.322580645 4.516129032 10.322182298 8.355704698
+0.322580645 4.838709677 10.846060307 8.790849673
+0.322580645 5.161290323 11.316227524 9.203821656
+0.322580645 5.483870968 11.733949841 9.596273292
+0.322580645 5.806451613 12.115369655 9.969696970
+0.322580645 6.129032258 12.452152483 10.325443787
+0.322580645 6.451612903 12.762450565 10.664739884
+0.322580645 6.774193548 13.037607639 10.988700565
+0.322580645 7.096774194 13.291172539 11.298342541
+0.322580645 7.419354839 13.516499633 11.594594595
+0.322580645 7.741935484 13.570706205 11.666666667
+0.322580645 8.064516129 13.570706205 11.666666667
+0.322580645 8.387096774 13.570706205 11.666666667
+0.322580645 8.709677419 13.570706205 11.666666667
+0.322580645 9.032258065 13.570706205 11.666666667
+0.322580645 9.354838710 13.570706205 11.666666667
+0.322580645 9.677419355 13.570706205 11.666666667
+0.322580645 10.000000000 13.570706205 11.666666667
+0.645161290 0.000000000 4.998950210 5.000000000
+0.645161290 0.322580645 4.998950210 5.000000000
+0.645161290 0.645161290 4.998950210 5.000000000
+0.645161290 0.967741935 4.998950210 5.000000000
+0.645161290 1.290322581 4.998950210 5.000000000
+0.645161290 1.612903226 4.998950210 5.000000000
+0.645161290 1.935483871 4.998950210 5.000000000
+0.645161290 2.258064516 4.998950210 5.000000000
+0.645161290 2.580645161 5.314026132 5.160000000
+0.645161290 2.903225806 6.467756859 5.775193798
+0.645161290 3.225806452 7.452789474 6.353383459
+0.645161290 3.548387097 8.316896407 6.897810219
+0.645161290 3.870967742 9.067963620 7.411347518
+0.645161290 4.193548387 9.734585733 7.896551724
+0.645161290 4.516129032 10.322182298 8.355704698
+0.645161290 4.838709677 10.846060307 8.790849673
+0.645161290 5.161290323 11.316227524 9.203821656
+0.645161290 5.483870968 11.733949841 9.596273292
+0.645161290 5.806451613 12.115369655 9.969696970
+0.645161290 6.129032258 12.452152483 10.325443787
+0.645161290 6.451612903 12.762450565 10.664739884
+0.645161290 6.774193548 13.037607639 10.988700565
+0.645161290 7.096774194 13.291172539 11.298342541
+0.645161290 7.419354839 13.516499633 11.594594595
+0.645161290 7.741935484 13.570706205 11.666666667
+0.645161290 8.064516129 13.570706205 11.666666667
+0.645161290 8.387096774 13.570706205 11.666666667
+0.645161290 8.709677419 13.570706205 11.666666667
+0.645161290 9.032258065 13.570706205 11.666666667
+0.645161290 9.354838710 13.570706205 11.666666667
+0.645161290 9.677419355 13.570706205 11.666666667
+0.645161290 10.000000000 13.570706205 11.666666667
+0.967741935 0.000000000 4.998950210 5.000000000
+0.967741935 0.322580645 4.998950210 5.000000000
+0.967741935 0.645161290 4.998950210 5.000000000
+0.967741935 0.967741935 4.998950210 5.000000000
+0.967741935 1.290322581 4.998950210 5.000000000
+0.967741935 1.612903226 4.998950210 5.000000000
+0.967741935 1.935483871 4.998950210 5.000000000
+0.967741935 2.258064516 4.998950210 5.000000000
+0.967741935 2.580645161 5.314026132 5.160000000
+0.967741935 2.903225806 6.467756859 5.775193798
+0.967741935 3.225806452 7.452789474 6.353383459
+0.967741935 3.548387097 8.316896407 6.897810219
+0.967741935 3.870967742 9.067963620 7.411347518
+0.967741935 4.193548387 9.734585733 7.896551724
+0.967741935 4.516129032 10.322182298 8.355704698
+0.967741935 4.838709677 10.846060307 8.790849673
+0.967741935 5.161290323 11.316227524 9.203821656
+0.967741935 5.483870968 11.733949841 9.596273292
+0.967741935 5.806451613 12.115369655 9.969696970
+0.967741935 6.129032258 12.452152483 10.325443787
+0.967741935 6.451612903 12.762450565 10.664739884
+0.967741935 6.774193548 13.037607639 10.988700565
+0.967741935 7.096774194 13.291172539 11.298342541
+0.967741935 7.419354839 13.516499633 11.594594595
+0.967741935 7.741935484 13.570706205 11.666666667
+0.967741935 8.064516129 13.570706205 11.666666667
+0.967741935 8.387096774 13.570706205 11.666666667
+0.967741935 8.709677419 13.570706205 11.666666667
+0.967741935 9.032258065 13.570706205 11.666666667
+0.967741935 9.354838710 13.570706205 11.666666667
+0.967741935 9.677419355 13.570706205 11.666666667
+0.967741935 10.000000000 13.570706205 11.666666667
+1.290322581 0.000000000 4.998950210 5.000000000
+1.290322581 0.322580645 4.998950210 5.000000000
+1.290322581 0.645161290 4.998950210 5.000000000
+1.290322581 0.967741935 4.998950210 5.000000000
+1.290322581 1.290322581 4.998950210 5.000000000
+1.290322581 1.612903226 4.998950210 5.000000000
+1.290322581 1.935483871 4.998950210 5.000000000
+1.290322581 2.258064516 4.998950210 5.000000000
+1.290322581 2.580645161 5.314026132 5.160000000
+1.290322581 2.903225806 6.467756859 5.775193798
+1.290322581 3.225806452 7.452789474 6.353383459
+1.290322581 3.548387097 8.316896407 6.897810219
+1.290322581 3.870967742 9.067963620 7.411347518
+1.290322581 4.193548387 9.734585733 7.896551724
+1.290322581 4.516129032 10.322182298 8.355704698
+1.290322581 4.838709677 10.846060307 8.790849673
+1.290322581 5.161290323 11.316227524 9.203821656
+1.290322581 5.483870968 11.733949841 9.596273292
+1.290322581 5.806451613 12.115369655 9.969696970
+1.290322581 6.129032258 12.452152483 10.325443787
+1.290322581 6.451612903 12.762450565 10.664739884
+1.290322581 6.774193548 13.037607639 10.988700565
+1.290322581 7.096774194 13.291172539 11.298342541
+1.290322581 7.419354839 13.516499633 11.594594595
+1.290322581 7.741935484 13.570706205 11.666666667
+1.290322581 8.064516129 13.570706205 11.666666667
+1.290322581 8.387096774 13.570706205 11.666666667
+1.290322581 8.709677419 13.570706205 11.666666667
+1.290322581 9.032258065 13.570706205 11.666666667
+1.290322581 9.354838710 13.570706205 11.666666667
+1.290322581 9.677419355 13.570706205 11.666666667
+1.290322581 10.000000000 13.570706205 11.666666667
+1.612903226 0.000000000 4.998950210 5.000000000
+1.612903226 0.322580645 4.998950210 5.000000000
+1.612903226 0.645161290 4.998950210 5.000000000
+1.612903226 0.967741935 4.998950210 5.000000000
+1.612903226 1.290322581 4.998950210 5.000000000
+1.612903226 1.612903226 4.998950210 5.000000000
+1.612903226 1.935483871 4.998950210 5.000000000
+1.612903226 2.258064516 4.998950210 5.000000000
+1.612903226 2.580645161 5.314026132 5.160000000
+1.612903226 2.903225806 6.467756859 5.775193798
+1.612903226 3.225806452 7.452789474 6.353383459
+1.612903226 3.548387097 8.316896407 6.897810219
+1.612903226 3.870967742 9.067963620 7.411347518
+1.612903226 4.193548387 9.734585733 7.896551724
+1.612903226 4.516129032 10.322182298 8.355704698
+1.612903226 4.838709677 10.846060307 8.790849673
+1.612903226 5.161290323 11.316227524 9.203821656
+1.612903226 5.483870968 11.733949841 9.596273292
+1.612903226 5.806451613 12.115369655 9.969696970
+1.612903226 6.129032258 12.452152483 10.325443787
+1.612903226 6.451612903 12.762450565 10.664739884
+1.612903226 6.774193548 13.037607639 10.988700565
+1.612903226 7.096774194 13.291172539 11.298342541
+1.612903226 7.419354839 13.516499633 11.594594595
+1.612903226 7.741935484 13.570706205 11.666666667
+1.612903226 8.064516129 13.570706205 11.666666667
+1.612903226 8.387096774 13.570706205 11.666666667
+1.612903226 8.709677419 13.570706205 11.666666667
+1.612903226 9.032258065 13.570706205 11.666666667
+1.612903226 9.354838710 13.570706205 11.666666667
+1.612903226 9.677419355 13.570706205 11.666666667
+1.612903226 10.000000000 13.570706205 11.666666667
+1.935483871 0.000000000 4.998950210 5.000000000
+1.935483871 0.322580645 4.998950210 5.000000000
+1.935483871 0.645161290 4.998950210 5.000000000
+1.935483871 0.967741935 4.998950210 5.000000000
+1.935483871 1.290322581 4.998950210 5.000000000
+1.935483871 1.612903226 4.998950210 5.000000000
+1.935483871 1.935483871 4.998950210 5.000000000
+1.935483871 2.258064516 4.998950210 5.000000000
+1.935483871 2.580645161 5.314026132 5.160000000
+1.935483871 2.903225806 6.467756859 5.775193798
+1.935483871 3.225806452 7.452789474 6.353383459
+1.935483871 3.548387097 8.316896407 6.897810219
+1.935483871 3.870967742 9.067963620 7.411347518
+1.935483871 4.193548387 9.734585733 7.896551724
+1.935483871 4.516129032 10.322182298 8.355704698
+1.935483871 4.838709677 10.846060307 8.790849673
+1.935483871 5.161290323 11.316227524 9.203821656
+1.935483871 5.483870968 11.733949841 9.596273292
+1.935483871 5.806451613 12.115369655 9.969696970
+1.935483871 6.129032258 12.452152483 10.325443787
+1.935483871 6.451612903 12.762450565 10.664739884
+1.935483871 6.774193548 13.037607639 10.988700565
+1.935483871 7.096774194 13.291172539 11.298342541
+1.935483871 7.419354839 13.516499633 11.594594595
+1.935483871 7.741935484 13.570706205 11.666666667
+1.935483871 8.064516129 13.570706205 11.666666667
+1.935483871 8.387096774 13.570706205 11.666666667
+1.935483871 8.709677419 13.570706205 11.666666667
+1.935483871 9.032258065 13.570706205 11.666666667
+1.935483871 9.354838710 13.570706205 11.666666667
+1.935483871 9.677419355 13.570706205 11.666666667
+1.935483871 10.000000000 13.570706205 11.666666667
+2.258064516 0.000000000 4.998950210 5.000000000
+2.258064516 0.322580645 4.998950210 5.000000000
+2.258064516 0.645161290 4.998950210 5.000000000
+2.258064516 0.967741935 4.998950210 5.000000000
+2.258064516 1.290322581 4.998950210 5.000000000
+2.258064516 1.612903226 4.998950210 5.000000000
+2.258064516 1.935483871 4.998950210 5.000000000
+2.258064516 2.258064516 4.998950210 5.000000000
+2.258064516 2.580645161 5.314026132 5.160000000
+2.258064516 2.903225806 6.467756859 5.775193798
+2.258064516 3.225806452 7.452789474 6.353383459
+2.258064516 3.548387097 8.316896407 6.897810219
+2.258064516 3.870967742 9.067963620 7.411347518
+2.258064516 4.193548387 9.734585733 7.896551724
+2.258064516 4.516129032 10.322182298 8.355704698
+2.258064516 4.838709677 10.846060307 8.790849673
+2.258064516 5.161290323 11.316227524 9.203821656
+2.258064516 5.483870968 11.733949841 9.596273292
+2.258064516 5.806451613 12.115369655 9.969696970
+2.258064516 6.129032258 12.452152483 10.325443787
+2.258064516 6.451612903 12.762450565 10.664739884
+2.258064516 6.774193548 13.037607639 10.988700565
+2.258064516 7.096774194 13.291172539 11.298342541
+2.258064516 7.419354839 13.516499633 11.594594595
+2.258064516 7.741935484 13.570706205 11.666666667
+2.258064516 8.064516129 13.570706205 11.666666667
+2.258064516 8.387096774 13.570706205 11.666666667
+2.258064516 8.709677419 13.570706205 11.666666667
+2.258064516 9.032258065 13.570706205 11.666666667
+2.258064516 9.354838710 13.570706205 11.666666667
+2.258064516 9.677419355 13.570706205 11.666666667
+2.258064516 10.000000000 13.570706205 11.666666667
+2.580645161 0.000000000 5.592761972 5.312500000
+2.580645161 0.322580645 5.592761972 5.312500000
+2.580645161 0.645161290 5.592761972 5.312500000
+2.580645161 0.967741935 5.592761972 5.312500000
+2.580645161 1.290322581 5.592761972 5.312500000
+2.580645161 1.612903226 5.592761972 5.312500000
+2.580645161 1.935483871 5.592761972 5.312500000
+2.580645161 2.258064516 5.592761972 5.312500000
+2.580645161 2.580645161 5.880621907 5.465349012
+2.580645161 2.903225806 6.939232958 6.055190858
+2.580645161 3.225806452 7.848835301 6.612674391
+2.580645161 3.548387097 8.651174558 7.140391254
+2.580645161 3.870967742 9.351975577 7.640663528
+2.580645161 4.193548387 9.976796931 8.115577889
+2.580645161 4.516129032 10.530004073 8.567014703
+2.580645161 4.838709677 11.024934815 8.996672905
+2.580645161 5.161290323 11.470583404 9.406091371
+2.580645161 5.483870968 11.867640871 9.796667328
+2.580645161 5.806451613 12.231162308 10.169672290
+2.580645161 6.129032258 12.552900008 10.526265883
+2.580645161 6.451612903 12.849986938 10.867507886
+2.580645161 6.774193548 13.113962484 11.194368756
+2.580645161 7.096774194 13.357668633 11.507738837
+2.580645161 7.419354839 13.574618159 11.808436465
+2.580645161 7.741935484 13.626860714 11.881720430
+2.580645161 8.064516129 13.626860714 11.881720430
+2.580645161 8.387096774 13.626860714 11.881720430
+2.580645161 8.709677419 13.626860714 11.881720430
+2.580645161 9.032258065 13.626860714 11.881720430
+2.580645161 9.354838710 13.626860714 11.881720430
+2.580645161 9.677419355 13.626860714 11.881720430
+2.580645161 10.000000000 13.626860714 11.881720430
+2.903225806 0.000000000 7.283786709 6.388888889
+2.903225806 0.322580645 7.283786709 6.388888889
+2.903225806 0.645161290 7.283786709 6.388888889
+2.903225806 0.967741935 7.283786709 6.388888889
+2.903225806 1.290322581 7.283786709 6.388888889
+2.903225806 1.612903226 7.283786709 6.388888889
+2.903225806 1.935483871 7.283786709 6.388888889
+2.903225806 2.258064516 7.283786709 6.388888889
+2.903225806 2.580645161 7.499955755 6.520624303
+2.903225806 2.903225806 8.305212731 7.035456336
+2.903225806 3.225806452 9.011457616 7.531699979
+2.903225806 3.548387097 9.645097856 8.010344100
+2.903225806 3.870967742 10.207136722 8.472308650
+2.903225806 4.193548387 10.715739625 8.918450561
+2.903225806 4.516129032 11.172892280 9.349569052
+2.903225806 4.838709677 11.587921940 9.766410408
+2.903225806 5.161290323 11.967183067 10.169672290
+2.903225806 5.483870968 12.308758298 10.560007632
+2.903225806 5.806451613 12.624644763 10.938028169
+2.903225806 6.129032258 12.908650399 11.304307635
+2.903225806 6.451612903 13.174140812 11.659384671
+2.903225806 6.774193548 13.414725347 12.003765465
+2.903225806 7.096774194 13.639701953 12.337926161
+2.903225806 7.419354839 13.842390029 12.662315057
+2.903225806 7.741935484 13.891460681 12.741935484
+2.903225806 8.064516129 13.891460681 12.741935484
+2.903225806 8.387096774 13.891460681 12.741935484
+2.903225806 8.709677419 13.891460681 12.741935484
+2.903225806 9.032258065 13.891460681 12.741935484
+2.903225806 9.354838710 13.891460681 12.741935484
+2.903225806 9.677419355 13.891460681 12.741935484
+2.903225806 10.000000000 13.891460681 12.741935484
+3.225806452 0.000000000 8.314651325 7.250000000
+3.225806452 0.322580645 8.314651325 7.250000000
+3.225806452 0.645161290 8.314651325 7.250000000
+3.225806452 0.967741935 8.314651325 7.250000000
+3.225806452 1.290322581 8.314651325 7.250000000
+3.225806452 1.612903226 8.314651325 7.250000000
+3.225806452 1.935483871 8.314651325 7.250000000
+3.225806452 2.258064516 8.314651325 7.250000000
+3.225806452 2.580645161 8.491360774 7.368791474
+3.225806452 2.903225806 9.156409155 7.837810945
+3.225806452 3.225806452 9.746803244 8.297222769
+3.225806452 3.548387097 10.284138020 8.747319166
+3.225806452 3.870967742 10.769427894 9.188380622
+3.225806452 4.193548387 11.214534071 9.620676476
+3.225806452 4.516129032 11.619323393 10.044465468
+3.225806452 4.838709677 11.993033266 10.459996253
+3.225806452 5.161290323 12.340224927 10.867507886
+3.225806452 5.483870968 12.657043434 11.267230289
+3.225806452 5.806451613 12.956823683 11.659384671
+3.225806452 6.129032258 13.232890780 12.044183950
+3.225806452 6.451612903 13.493168128 12.421833125
+3.225806452 6.774193548 13.734211054 12.792529651
+3.225806452 7.096774194 13.966630648 13.156463778
+3.225806452 7.419354839 14.180445683 13.513818877
+3.225806452 7.741935484 14.232664470 13.602150538
+3.225806452 8.064516129 14.232664470 13.602150538
+3.225806452 8.387096774 14.232664470 13.602150538
+3.225806452 8.709677419 14.232664470 13.602150538
+3.225806452 9.032258065 14.232664470 13.602150538
+3.225806452 9.354838710 14.232664470 13.602150538
+3.225806452 9.677419355 14.232664470 13.602150538
+3.225806452 10.000000000 14.232664470 13.602150538
+3.548387097 0.000000000 8.985030201 7.954545455
+3.548387097 0.322580645 8.985030201 7.954545455
+3.548387097 0.645161290 8.985030201 7.954545455
+3.548387097 0.967741935 8.985030201 7.954545455
+3.548387097 1.290322581 8.985030201 7.954545455
+3.548387097 1.612903226 8.985030201 7.954545455
+3.548387097 1.935483871 8.985030201 7.954545455
+3.548387097 2.258064516 8.985030201 7.954545455
+3.548387097 2.580645161 9.137812976 8.065372642
+3.548387097 2.903225806 9.717703976 8.506659369
+3.548387097 3.225806452 10.238351404 8.944737320
+3.548387097 3.548387097 10.720683414 9.379641369
+3.548387097 3.870967742 11.160003933 9.811405883
+3.548387097 4.193548387 11.571126024 10.240064737
+3.548387097 4.516129032 11.950914620 10.665651317
+3.548387097 4.838709677 12.307875007 11.088198536
+3.548387097 5.161290323 12.645356184 11.507738837
+3.548387097 5.483870968 12.960313946 11.924304201
+3.548387097 5.806451613 13.266478726 12.337926161
+3.548387097 6.129032258 13.551156560 12.748635804
+3.548387097 6.451612903 13.831439195 13.156463778
+3.548387097 6.774193548 14.095225315 13.561440308
+3.548387097 7.096774194 14.356367336 13.963595192
+3.548387097 7.419354839 14.605377743 14.362957820
+3.548387097 7.741935484 14.667921566 14.462365591
+3.548387097 8.064516129 14.667921566 14.462365591
+3.548387097 8.387096774 14.667921566 14.462365591
+3.548387097 8.709677419 14.667921566 14.462365591
+3.548387097 9.032258065 14.667921566 14.462365591
+3.548387097 9.354838710 14.667921566 14.462365591
+3.548387097 9.677419355 14.667921566 14.462365591
+3.548387097 10.000000000 14.667921566 14.462365591
+3.870967742 0.000000000 9.432393054 8.541666667
+3.870967742 0.322580645 9.432393054 8.541666667
+3.870967742 0.645161290 9.432393054 8.541666667
+3.870967742 0.967741935 9.432393054 8.541666667
+3.870967742 1.290322581 9.432393054 8.541666667
+3.870967742 1.612903226 9.432393054 8.541666667
+3.870967742 1.935483871 9.432393054 8.541666667
+3.870967742 2.258064516 9.432393054 8.541666667
+3.870967742 2.580645161 9.569971811 8.647671878
+3.870967742 2.903225806 10.095984031 9.072764022
+3.870967742 3.225806452 10.575695895 9.499578059
+3.870967742 3.548387097 11.024096907 9.928124472
+3.870967742 3.870967742 11.442347059 10.358413828
+3.870967742 4.193548387 11.836700132 10.790456784
+3.870967742 4.516129032 12.211639878 11.224264080
+3.870967742 4.838709677 12.568786873 11.659846547
+3.870967742 5.161290323 12.913995839 12.097215103
+3.870967742 5.483870968 13.247084242 12.536380757
+3.870967742 5.806451613 13.573370226 12.977354606
+3.870967742 6.129032258 13.891165979 13.420147843
+3.870967742 6.451612903 14.206686830 13.864771748
+3.870967742 6.774193548 14.518152082 14.311237701
+3.870967742 7.096774194 14.833264590 14.759557170
+3.870967742 7.419354839 15.145455566 15.209741723
+3.870967742 7.741935484 15.224455159 15.322580645
+3.870967742 8.064516129 15.224455159 15.322580645
+3.870967742 8.387096774 15.224455159 15.322580645
+3.870967742 8.709677419 15.224455159 15.322580645
+3.870967742 9.032258065 15.224455159 15.322580645
+3.870967742 9.354838710 15.224455159 15.322580645
+3.870967742 9.677419355 15.224455159 15.322580645
+3.870967742 10.000000000 15.224455159 15.322580645
+4.193548387 0.000000000 9.724829800 9.038461538
+4.193548387 0.322580645 9.724829800 9.038461538
+4.193548387 0.645161290 9.724829800 9.038461538
+4.193548387 0.967741935 9.724829800 9.038461538
+4.193548387 1.290322581 9.724829800 9.038461538
+4.193548387 1.612903226 9.724829800 9.038461538
+4.193548387 1.935483871 9.724829800 9.038461538
+4.193548387 2.258064516 9.724829800 9.038461538
+4.193548387 2.580645161 9.852943138 9.141680907
+4.193548387 2.903225806 10.345918352 9.558110433
+4.193548387 3.225806452 10.802543542 9.980311860
+4.193548387 3.548387097 11.235827387 10.408406027
+4.193548387 3.870967742 11.644759742 10.842517170
+4.193548387 4.193548387 12.040733478 11.282773042
+4.193548387 4.516129032 12.424030547 11.729305038
+4.193548387 4.838709677 12.796980884 12.182248328
+4.193548387 5.161290323 13.166426475 12.641741988
+4.193548387 5.483870968 13.531922324 13.107929151
+4.193548387 5.806451613 13.901663971 13.580957145
+4.193548387 6.129032258 14.268117073 14.060977658
+4.193548387 6.451612903 14.647562125 14.548146895
+4.193548387 6.774193548 15.033372347 15.042625746
+4.193548387 7.096774194 15.433721197 15.544579969
+4.193548387 7.419354839 15.846288602 16.054180370
+4.193548387 7.741935484 15.954652850 16.182795699
+4.193548387 8.064516129 15.954652850 16.182795699
+4.193548387 8.387096774 15.954652850 16.182795699
+4.193548387 8.709677419 15.954652850 16.182795699
+4.193548387 9.032258065 15.954652850 16.182795699
+4.193548387 9.354838710 15.954652850 16.182795699
+4.193548387 9.677419355 15.954652850 16.182795699
+4.193548387 10.000000000 15.954652850 16.182795699
+4.516129032 0.000000000 9.902963105 9.464285714
+4.516129032 0.322580645 9.902963105 9.464285714
+4.516129032 0.645161290 9.902963105 9.464285714
+4.516129032 0.967741935 9.902963105 9.464285714
+4.516129032 1.290322581 9.902963105 9.464285714
+4.516129032 1.612903226 9.902963105 9.464285714
+4.516129032 1.935483871 9.902963105 9.464285714
+4.516129032 2.258064516 9.902963105 9.464285714
+4.516129032 2.580645161 10.025672736 9.566064982
+4.516129032 2.903225806 10.500507438 9.978829026
+4.516129032 3.225806452 10.946239871 10.400856341
+4.516129032 3.548387097 11.376703200 10.832462297
+4.516129032 3.870967742 11.792259146 11.273976741
+4.516129032 4.193548387 12.201356693 11.725744843
+4.516129032 4.516129032 12.604952096 12.188127995
+4.516129032 4.838709677 13.008602620 12.661504771
+4.516129032 5.161290323 13.417792712 13.146271965
+4.516129032 5.483870968 13.834555987 13.642845698
+4.516129032 5.806451613 14.267444692 14.151662612
+4.516129032 6.129032258 14.713512788 14.673181146
+4.516129032 6.451612903 15.186143246 15.207882920
+4.516129032 6.774193548 15.682677037 15.756274213
+4.516129032 7.096774194 16.216113014 16.318887562
+4.516129032 7.419354839 16.788339244 16.896283492
+4.516129032 7.741935484 16.942283864 17.043010753
+4.516129032 8.064516129 16.942283864 17.043010753
+4.516129032 8.387096774 16.942283864 17.043010753
+4.516129032 8.709677419 16.942283864 17.043010753
+4.516129032 9.032258065 16.942283864 17.043010753
+4.516129032 9.354838710 16.942283864 17.043010753
+4.516129032 9.677419355 16.942283864 17.043010753
+4.516129032 10.000000000 16.942283864 17.043010753
+4.838709677 0.000000000 9.987593227 9.833333333
+4.838709677 0.322580645 9.987593227 9.833333333
+4.838709677 0.645161290 9.987593227 9.833333333
+4.838709677 0.967741935 9.987593227 9.833333333
+4.838709677 1.290322581 9.987593227 9.833333333
+4.838709677 1.612903226 9.987593227 9.833333333
+4.838709677 1.935483871 9.987593227 9.833333333
+4.838709677 2.258064516 9.987593227 9.833333333
+4.838709677 2.580645161 10.107937367 9.934574396
+4.838709677 2.903225806 10.576746882 10.347022587
+4.838709677 3.225806452 11.023190342 10.771849382
+4.838709677 3.548387097 11.461860178 11.209620539
+4.838709677 3.870967742 11.892974885 11.660936829
+4.838709677 4.193548387 12.326836015 12.126436782
+4.838709677 4.516129032 12.765557275 12.606799704
+4.838709677 4.838709677 13.215984335 13.102748986
+4.838709677 5.161290323 13.685165434 13.615055734
+4.838709677 5.483870968 14.175297225 14.144542773
+4.838709677 5.806451613 14.699676483 14.692089057
+4.838709677 6.129032258 15.258066385 15.258634538
+4.838709677 6.451612903 15.868732072 15.845185548
+4.838709677 6.774193548 16.535753191 16.452820769
+4.838709677 7.096774194 17.280236196 17.082697848
+4.838709677 7.419354839 18.115344324 17.736060763
+4.838709677 7.741935484 18.343399565 17.903225806
+4.838709677 8.064516129 18.343399565 17.903225806
+4.838709677 8.387096774 18.343399565 17.903225806
+4.838709677 8.709677419 18.343399565 17.903225806
+4.838709677 9.032258065 18.343399565 17.903225806
+4.838709677 9.354838710 18.343399565 17.903225806
+4.838709677 9.677419355 18.343399565 17.903225806
+4.838709677 10.000000000 18.343399565 17.903225806
+5.161290323 0.000000000 10.453438845 10.081967213
+5.161290323 0.322580645 10.453438845 10.081967213
+5.161290323 0.645161290 10.453438845 10.081967213
+5.161290323 0.967741935 10.453438845 10.081967213
+5.161290323 1.290322581 10.453438845 10.081967213
+5.161290323 1.612903226 10.453438845 10.081967213
+5.161290323 1.935483871 10.453438845 10.081967213
+5.161290323 2.258064516 10.453438845 10.081967213
+5.161290323 2.580645161 10.555334150 10.189117452
+5.161290323 2.903225806 10.957766893 10.626095161
+5.161290323 3.225806452 11.358194134 11.076954676
+5.161290323 3.548387097 11.754612081 11.542368165
+5.161290323 3.870967742 12.159885021 12.023051902
+5.161290323 4.193548387 12.572343139 12.519769950
+5.161290323 4.516129032 13.004157242 13.033338207
+5.161290323 4.838709677 13.454843261 13.564628886
+5.161290323 5.161290323 13.937409133 14.114575450
+5.161290323 5.483870968 14.453623313 14.684178093
+5.161290323 5.806451613 15.017597606 15.274509804
+5.161290323 6.129032258 15.634903956 15.886723119
+5.161290323 6.451612903 16.324245881 16.522057627
+5.161290323 6.774193548 17.100135640 17.181848349
+5.161290323 7.096774194 17.987899976 17.867535104
+5.161290323 7.419354839 19.013798273 18.580672994
+5.161290323 7.741935484 19.297725710 18.763440860
+5.161290323 8.064516129 19.297725710 18.763440860
+5.161290323 8.387096774 19.297725710 18.763440860
+5.161290323 8.709677419 19.297725710 18.763440860
+5.161290323 9.032258065 19.297725710 18.763440860
+5.161290323 9.354838710 19.297725710 18.763440860
+5.161290323 9.677419355 19.297725710 18.763440860
+5.161290323 10.000000000 19.297725710 18.763440860
+5.483870968 0.000000000 11.200371425 10.254237288
+5.483870968 0.322580645 11.200371425 10.254237288
+5.483870968 0.645161290 11.200371425 10.254237288
+5.483870968 0.967741935 11.200371425 10.254237288
+5.483870968 1.290322581 11.200371425 10.254237288
+5.483870968 1.612903226 11.200371425 10.254237288
+5.483870968 1.935483871 11.200371425 10.254237288
+5.483870968 2.258064516 11.200371425 10.254237288
+5.483870968 2.580645161 11.275744351 10.373748457
+5.483870968 2.903225806 11.579276776 10.860102906
+5.483870968 3.225806452 11.893660170 11.360174870
+5.483870968 3.548387097 12.214119876 11.874552997
+5.483870968 3.870967742 12.553283322 12.403860107
+5.483870968 4.193548387 12.907426182 12.948755706
+5.483870968 4.516129032 13.285781482 13.509938724
+5.483870968 4.838709677 13.693069775 14.088150508
+5.483870968 5.161290323 14.133110626 14.684178093
+5.483870968 5.483870968 14.617921843 15.298857769
+5.483870968 5.806451613 15.149780175 15.933079002
+5.483870968 6.129032258 15.746811487 16.587788726
+5.483870968 6.451612903 16.415017186 17.263996060
+5.483870968 6.774193548 17.180595436 17.962777500
+5.483870968 7.096774194 18.063069240 18.685282635
+5.483870968 7.419354839 19.094026165 19.432740459
+5.483870968 7.741935484 19.380891828 19.623655914
+5.483870968 8.064516129 19.380891828 19.623655914
+5.483870968 8.387096774 19.380891828 19.623655914
+5.483870968 8.709677419 19.380891828 19.623655914
+5.483870968 9.032258065 19.380891828 19.623655914
+5.483870968 9.354838710 19.380891828 19.623655914
+5.483870968 9.677419355 19.380891828 19.623655914
+5.483870968 10.000000000 19.380891828 19.623655914
+5.806451613 0.000000000 11.792304026 10.438596491
+5.806451613 0.322580645 11.792304026 10.438596491
+5.806451613 0.645161290 11.792304026 10.438596491
+5.806451613 0.967741935 11.792304026 10.438596491
+5.806451613 1.290322581 11.792304026 10.438596491
+5.806451613 1.612903226 11.792304026 10.438596491
+5.806451613 1.935483871 11.792304026 10.438596491
+5.806451613 2.258064516 11.792304026 10.438596491
+5.806451613 2.580645161 11.848083932 10.571165035
+5.806451613 2.903225806 12.077812184 11.109435588
+5.806451613 3.225806452 12.327537589 11.660851868
+5.806451613 3.548387097 12.590635013 12.225901398
+5.806451613 3.870967742 12.875627326 12.805096111
+5.806451613 4.193548387 13.187716001 13.398973895
+5.806451613 4.516129032 13.525122531 14.008100260
+5.806451613 4.838709677 13.897938757 14.633070135
+5.806451613 5.161290323 14.310798618 15.274509804
+5.806451613 5.483870968 14.768759505 15.933079002
+5.806451613 5.806451613 15.285527581 16.609473175
+5.806451613 6.129032258 15.867812510 17.304425935
+5.806451613 6.451612903 16.531661050 18.018711707
+5.806451613 6.774193548 17.302903875 18.753148615
+5.806451613 7.096774194 18.198839735 19.508601601
+5.806451613 7.419354839 19.260035649 20.285985830
+5.806451613 7.741935484 19.557269007 20.483870968
+5.806451613 8.064516129 19.557269007 20.483870968
+5.806451613 8.387096774 19.557269007 20.483870968
+5.806451613 8.709677419 19.557269007 20.483870968
+5.806451613 9.032258065 19.557269007 20.483870968
+5.806451613 9.354838710 19.557269007 20.483870968
+5.806451613 9.677419355 19.557269007 20.483870968
+5.806451613 10.000000000 19.557269007 20.483870968
+6.129032258 0.000000000 12.272218993 10.636363636
+6.129032258 0.322580645 12.272218993 10.636363636
+6.129032258 0.645161290 12.272218993 10.636363636
+6.129032258 0.967741935 12.272218993 10.636363636
+6.129032258 1.290322581 12.272218993 10.636363636
+6.129032258 1.612903226 12.272218993 10.636363636
+6.129032258 1.935483871 12.272218993 10.636363636
+6.129032258 2.258064516 12.272218993 10.636363636
+6.129032258 2.580645161 12.312912957 10.782742908
+6.129032258 2.903225806 12.485719838 11.375649592
+6.129032258 3.225806452 12.683802558 11.980650967
+6.129032258 3.548387097 12.903346192 12.598120927
+6.129032258 3.870967742 13.148207675 13.228448936
+6.129032258 4.193548387 13.424397092 13.872040848
+6.129032258 4.516129032 13.734709260 14.529319781
+6.129032258 4.838709677 14.081175133 15.200727043
+6.129032258 5.161290323 14.472910716 15.886723119
+6.129032258 5.483870968 14.920581746 16.587788726
+6.129032258 5.806451613 15.427041299 17.304425935
+6.129032258 6.129032258 16.008438809 18.037159372
+6.129032258 6.451612903 16.684191565 18.786537498
+6.129032258 6.774193548 17.475450862 19.553133975
+6.129032258 7.096774194 18.410291448 20.337549137
+6.129032258 7.419354839 19.533529202 21.140411551
+6.129032258 7.741935484 19.850782228 21.344086022
+6.129032258 8.064516129 19.850782228 21.344086022
+6.129032258 8.387096774 19.850782228 21.344086022
+6.129032258 8.709677419 19.850782228 21.344086022
+6.129032258 9.032258065 19.850782228 21.344086022
+6.129032258 9.354838710 19.850782228 21.344086022
+6.129032258 9.677419355 19.850782228 21.344086022
+6.129032258 10.000000000 19.850782228 21.344086022
+6.451612903 0.000000000 12.667715960 10.849056604
+6.451612903 0.322580645 12.667715960 10.849056604
+6.451612903 0.645161290 12.667715960 10.849056604
+6.451612903 0.967741935 12.667715960 10.849056604
+6.451612903 1.290322581 12.667715960 10.849056604
+6.451612903 1.612903226 12.667715960 10.849056604
+6.451612903 1.935483871 12.667715960 10.849056604
+6.451612903 2.258064516 12.667715960 10.849056604
+6.451612903 2.580645161 12.695732249 11.010062510
+6.451612903 2.903225806 12.824135659 11.660519441
+6.451612903 3.225806452 12.981327533 12.321456235
+6.451612903 3.548387097 13.167148134 12.993128221
+6.451612903 3.870967742 13.381921080 13.675799087
+6.451612903 4.193548387 13.630079770 14.369741229
+6.451612903 4.516129032 13.917888750 15.075236113
+6.451612903 4.838709677 14.251097627 15.792574657
+6.451612903 5.161290323 14.632147614 16.522057627
+6.451612903 5.483870968 15.072735735 17.263996060
+6.451612903 5.806451613 15.583881738 18.018711707
+6.451612903 6.129032258 16.182136955 18.786537498
+6.451612903 6.451612903 16.899235777 19.567818029
+6.451612903 6.774193548 17.840675551 20.362910080
+6.451612903 7.096774194 18.923022827 21.172183159
+6.451612903 7.419354839 20.191498874 21.996020073
+6.451612903 7.741935484 20.543702253 22.204301075
+6.451612903 8.064516129 20.543702253 22.204301075
+6.451612903 8.387096774 20.543702253 22.204301075
+6.451612903 8.709677419 20.543702253 22.204301075
+6.451612903 9.032258065 20.543702253 22.204301075
+6.451612903 9.354838710 20.543702253 22.204301075
+6.451612903 9.677419355 20.543702253 22.204301075
+6.451612903 10.000000000 20.543702253 22.204301075
+6.774193548 0.000000000 12.998209351 11.078431373
+6.774193548 0.322580645 12.998209351 11.078431373
+6.774193548 0.645161290 12.998209351 11.078431373
+6.774193548 0.967741935 12.998209351 11.078431373
+6.774193548 1.290322581 12.998209351 11.078431373
+6.774193548 1.612903226 12.998209351 11.078431373
+6.774193548 1.935483871 12.998209351 11.078431373
+6.774193548 2.258064516 12.998209351 11.078431373
+6.774193548 2.580645161 13.016700861 11.254948535
+6.774193548 2.903225806 13.109051400 11.966077401
+6.774193548 3.225806452 13.233524203 12.685407657
+6.774193548 3.548387097 13.391742155 13.413082004
+6.774193548 3.870967742 13.584206097 14.149246475
+6.774193548 4.193548387 13.814318448 14.894050530
+6.774193548 4.516129032 14.087835159 15.647647155
+6.774193548 4.838709677 14.410179185 16.410192974
+6.774193548 5.161290323 14.791181858 17.181848349
+6.774193548 5.483870968 15.241218368 17.962777500
+6.774193548 5.806451613 15.875517713 18.753148615
+6.774193548 6.129032258 16.681146859 19.553133975
+6.774193548 6.451612903 17.569488681 20.362910080
+6.774193548 6.774193548 18.574163704 21.182657773
+6.774193548 7.096774194 19.734151545 22.012562382
+6.774193548 7.419354839 21.103510509 22.852813853
+6.774193548 7.741935484 21.487304165 23.064516129
+6.774193548 8.064516129 21.487304165 23.064516129
+6.774193548 8.387096774 21.487304165 23.064516129
+6.774193548 8.709677419 21.487304165 23.064516129
+6.774193548 9.032258065 21.487304165 23.064516129
+6.774193548 9.354838710 21.487304165 23.064516129
+6.774193548 9.677419355 21.487304165 23.064516129
+6.774193548 10.000000000 21.487304165 23.064516129
+7.096774194 0.000000000 13.277885841 11.326530612
+7.096774194 0.322580645 13.277885841 11.326530612
+7.096774194 0.645161290 13.277885841 11.326530612
+7.096774194 0.967741935 13.277885841 11.326530612
+7.096774194 1.290322581 13.277885841 11.326530612
+7.096774194 1.612903226 13.277885841 11.326530612
+7.096774194 1.935483871 13.277885841 11.326530612
+7.096774194 2.258064516 13.277885841 11.326530612
+7.096774194 2.580645161 13.288352640 11.519519025
+7.096774194 2.903225806 13.350771800 12.294662039
+7.096774194 3.225806452 13.448963305 13.074946112
+7.096774194 3.548387097 13.584671491 13.860422559
+7.096774194 3.870967742 13.760664445 14.651143382
+7.096774194 4.193548387 13.980902626 15.447161280
+7.096774194 4.516129032 14.249972519 16.248529659
+7.096774194 4.838709677 14.574475539 17.055302647
+7.096774194 5.161290323 14.966122630 17.867535104
+7.096774194 5.483870968 15.630163357 18.685282635
+7.096774194 5.806451613 16.437215216 19.508601601
+7.096774194 6.129032258 17.309323446 20.337549137
+7.096774194 6.451612903 18.275865243 21.172183159
+7.096774194 6.774193548 19.378378532 22.012562382
+7.096774194 7.096774194 20.668439101 22.858746331
+7.096774194 7.419354839 22.225144822 23.710795356
+7.096774194 7.741935484 22.668948283 23.924731183
+7.096774194 8.064516129 22.668948283 23.924731183
+7.096774194 8.387096774 22.668948283 23.924731183
+7.096774194 8.709677419 22.668948283 23.924731183
+7.096774194 9.032258065 22.668948283 23.924731183
+7.096774194 9.354838710 22.668948283 23.924731183
+7.096774194 9.677419355 22.668948283 23.924731183
+7.096774194 10.000000000 22.668948283 23.924731183
+7.419354839 0.000000000 13.515825784 11.595744681
+7.419354839 0.322580645 13.515825784 11.595744681
+7.419354839 0.645161290 13.515825784 11.595744681
+7.419354839 0.967741935 13.515825784 11.595744681
+7.419354839 1.290322581 13.515825784 11.595744681
+7.419354839 1.612903226 13.515825784 11.595744681
+7.419354839 1.935483871 13.515825784 11.595744681
+7.419354839 2.258064516 13.515825784 11.595744681
+7.419354839 2.580645161 13.519282293 11.806246782
+7.419354839 2.903225806 13.556279203 12.648978190
+7.419354839 3.225806452 13.633565239 13.492868190
+7.419354839 3.548387097 13.753168201 14.337919175
+7.419354839 3.870967742 13.918417774 15.184133540
+7.419354839 4.193548387 14.134193279 16.031513690
+7.419354839 4.516129032 14.407312339 16.880062037
+7.419354839 4.838709677 14.747121823 17.729780997
+7.419354839 5.161290323 15.312289393 18.580672994
+7.419354839 5.483870968 16.162307388 19.432740459
+7.419354839 5.806451613 17.055699946 20.285985830
+7.419354839 6.129032258 18.025108663 21.140411551
+7.419354839 6.451612903 19.112532086 21.996020073
+7.419354839 6.774193548 20.379272817 22.852813853
+7.419354839 7.096774194 21.908521849 23.710795356
+7.419354839 7.419354839 23.837396065 24.569967054
+7.419354839 7.741935484 24.406429743 24.784946237
+7.419354839 8.064516129 24.406429743 24.784946237
+7.419354839 8.387096774 24.406429743 24.784946237
+7.419354839 8.709677419 24.406429743 24.784946237
+7.419354839 9.032258065 24.406429743 24.784946237
+7.419354839 9.354838710 24.406429743 24.784946237
+7.419354839 9.677419355 24.406429743 24.784946237
+7.419354839 10.000000000 24.406429743 24.784946237
+7.741935484 0.000000000 13.570706205 11.666666667
+7.741935484 0.322580645 13.570706205 11.666666667
+7.741935484 0.645161290 13.570706205 11.666666667
+7.741935484 0.967741935 13.570706205 11.666666667
+7.741935484 1.290322581 13.570706205 11.666666667
+7.741935484 1.612903226 13.570706205 11.666666667
+7.741935484 1.935483871 13.570706205 11.666666667
+7.741935484 2.258064516 13.570706205 11.666666667
+7.741935484 2.580645161 13.572517919 11.881720430
+7.741935484 2.903225806 13.603707815 12.741935484
+7.741935484 3.225806452 13.676532623 13.602150538
+7.741935484 3.548387097 13.793124575 14.462365591
+7.741935484 3.870967742 13.957010447 15.322580645
+7.741935484 4.193548387 14.173387937 16.182795699
+7.741935484 4.516129032 14.449561083 17.043010753
+7.741935484 4.838709677 14.795606896 17.903225806
+7.741935484 5.161290323 15.430252399 18.763440860
+7.741935484 5.483870968 16.305345082 19.623655914
+7.741935484 5.806451613 17.225621817 20.483870968
+7.741935484 6.129032258 18.227035950 21.344086022
+7.741935484 6.451612903 19.356366279 22.204301075
+7.741935484 6.774193548 20.682807170 23.064516129
+7.741935484 7.096774194 22.303013754 23.924731183
+7.741935484 7.419354839 24.380408194 24.784946237
+7.741935484 7.741935484 25.001049790 25.000000000
+7.741935484 8.064516129 25.001049790 25.000000000
+7.741935484 8.387096774 25.001049790 25.000000000
+7.741935484 8.709677419 25.001049790 25.000000000
+7.741935484 9.032258065 25.001049790 25.000000000
+7.741935484 9.354838710 25.001049790 25.000000000
+7.741935484 9.677419355 25.001049790 25.000000000
+7.741935484 10.000000000 25.001049790 25.000000000
+8.064516129 0.000000000 13.570706205 11.666666667
+8.064516129 0.322580645 13.570706205 11.666666667
+8.064516129 0.645161290 13.570706205 11.666666667
+8.064516129 0.967741935 13.570706205 11.666666667
+8.064516129 1.290322581 13.570706205 11.666666667
+8.064516129 1.612903226 13.570706205 11.666666667
+8.064516129 1.935483871 13.570706205 11.666666667
+8.064516129 2.258064516 13.570706205 11.666666667
+8.064516129 2.580645161 13.572517919 11.881720430
+8.064516129 2.903225806 13.603707815 12.741935484
+8.064516129 3.225806452 13.676532623 13.602150538
+8.064516129 3.548387097 13.793124575 14.462365591
+8.064516129 3.870967742 13.957010447 15.322580645
+8.064516129 4.193548387 14.173387937 16.182795699
+8.064516129 4.516129032 14.449561083 17.043010753
+8.064516129 4.838709677 14.795606896 17.903225806
+8.064516129 5.161290323 15.430252399 18.763440860
+8.064516129 5.483870968 16.305345082 19.623655914
+8.064516129 5.806451613 17.225621817 20.483870968
+8.064516129 6.129032258 18.227035950 21.344086022
+8.064516129 6.451612903 19.356366279 22.204301075
+8.064516129 6.774193548 20.682807170 23.064516129
+8.064516129 7.096774194 22.303013754 23.924731183
+8.064516129 7.419354839 24.380408194 24.784946237
+8.064516129 7.741935484 25.001049790 25.000000000
+8.064516129 8.064516129 25.001049790 25.000000000
+8.064516129 8.387096774 25.001049790 25.000000000
+8.064516129 8.709677419 25.001049790 25.000000000
+8.064516129 9.032258065 25.001049790 25.000000000
+8.064516129 9.354838710 25.001049790 25.000000000
+8.064516129 9.677419355 25.001049790 25.000000000
+8.064516129 10.000000000 25.001049790 25.000000000
+8.387096774 0.000000000 13.570706205 11.666666667
+8.387096774 0.322580645 13.570706205 11.666666667
+8.387096774 0.645161290 13.570706205 11.666666667
+8.387096774 0.967741935 13.570706205 11.666666667
+8.387096774 1.290322581 13.570706205 11.666666667
+8.387096774 1.612903226 13.570706205 11.666666667
+8.387096774 1.935483871 13.570706205 11.666666667
+8.387096774 2.258064516 13.570706205 11.666666667
+8.387096774 2.580645161 13.572517919 11.881720430
+8.387096774 2.903225806 13.603707815 12.741935484
+8.387096774 3.225806452 13.676532623 13.602150538
+8.387096774 3.548387097 13.793124575 14.462365591
+8.387096774 3.870967742 13.957010447 15.322580645
+8.387096774 4.193548387 14.173387937 16.182795699
+8.387096774 4.516129032 14.449561083 17.043010753
+8.387096774 4.838709677 14.795606896 17.903225806
+8.387096774 5.161290323 15.430252399 18.763440860
+8.387096774 5.483870968 16.305345082 19.623655914
+8.387096774 5.806451613 17.225621817 20.483870968
+8.387096774 6.129032258 18.227035950 21.344086022
+8.387096774 6.451612903 19.356366279 22.204301075
+8.387096774 6.774193548 20.682807170 23.064516129
+8.387096774 7.096774194 22.303013754 23.924731183
+8.387096774 7.419354839 24.380408194 24.784946237
+8.387096774 7.741935484 25.001049790 25.000000000
+8.387096774 8.064516129 25.001049790 25.000000000
+8.387096774 8.387096774 25.001049790 25.000000000
+8.387096774 8.709677419 25.001049790 25.000000000
+8.387096774 9.032258065 25.001049790 25.000000000
+8.387096774 9.354838710 25.001049790 25.000000000
+8.387096774 9.677419355 25.001049790 25.000000000
+8.387096774 10.000000000 25.001049790 25.000000000
+8.709677419 0.000000000 13.570706205 11.666666667
+8.709677419 0.322580645 13.570706205 11.666666667
+8.709677419 0.645161290 13.570706205 11.666666667
+8.709677419 0.967741935 13.570706205 11.666666667
+8.709677419 1.290322581 13.570706205 11.666666667
+8.709677419 1.612903226 13.570706205 11.666666667
+8.709677419 1.935483871 13.570706205 11.666666667
+8.709677419 2.258064516 13.570706205 11.666666667
+8.709677419 2.580645161 13.572517919 11.881720430
+8.709677419 2.903225806 13.603707815 12.741935484
+8.709677419 3.225806452 13.676532623 13.602150538
+8.709677419 3.548387097 13.793124575 14.462365591
+8.709677419 3.870967742 13.957010447 15.322580645
+8.709677419 4.193548387 14.173387937 16.182795699
+8.709677419 4.516129032 14.449561083 17.043010753
+8.709677419 4.838709677 14.795606896 17.903225806
+8.709677419 5.161290323 15.430252399 18.763440860
+8.709677419 5.483870968 16.305345082 19.623655914
+8.709677419 5.806451613 17.225621817 20.483870968
+8.709677419 6.129032258 18.227035950 21.344086022
+8.709677419 6.451612903 19.356366279 22.204301075
+8.709677419 6.774193548 20.682807170 23.064516129
+8.709677419 7.096774194 22.303013754 23.924731183
+8.709677419 7.419354839 24.380408194 24.784946237
+8.709677419 7.741935484 25.001049790 25.000000000
+8.709677419 8.064516129 25.001049790 25.000000000
+8.709677419 8.387096774 25.001049790 25.000000000
+8.709677419 8.709677419 25.001049790 25.000000000
+8.709677419 9.032258065 25.001049790 25.000000000
+8.709677419 9.354838710 25.001049790 25.000000000
+8.709677419 9.677419355 25.001049790 25.000000000
+8.709677419 10.000000000 25.001049790 25.000000000
+9.032258065 0.000000000 13.570706205 11.666666667
+9.032258065 0.322580645 13.570706205 11.666666667
+9.032258065 0.645161290 13.570706205 11.666666667
+9.032258065 0.967741935 13.570706205 11.666666667
+9.032258065 1.290322581 13.570706205 11.666666667
+9.032258065 1.612903226 13.570706205 11.666666667
+9.032258065 1.935483871 13.570706205 11.666666667
+9.032258065 2.258064516 13.570706205 11.666666667
+9.032258065 2.580645161 13.572517919 11.881720430
+9.032258065 2.903225806 13.603707815 12.741935484
+9.032258065 3.225806452 13.676532623 13.602150538
+9.032258065 3.548387097 13.793124575 14.462365591
+9.032258065 3.870967742 13.957010447 15.322580645
+9.032258065 4.193548387 14.173387937 16.182795699
+9.032258065 4.516129032 14.449561083 17.043010753
+9.032258065 4.838709677 14.795606896 17.903225806
+9.032258065 5.161290323 15.430252399 18.763440860
+9.032258065 5.483870968 16.305345082 19.623655914
+9.032258065 5.806451613 17.225621817 20.483870968
+9.032258065 6.129032258 18.227035950 21.344086022
+9.032258065 6.451612903 19.356366279 22.204301075
+9.032258065 6.774193548 20.682807170 23.064516129
+9.032258065 7.096774194 22.303013754 23.924731183
+9.032258065 7.419354839 24.380408194 24.784946237
+9.032258065 7.741935484 25.001049790 25.000000000
+9.032258065 8.064516129 25.001049790 25.000000000
+9.032258065 8.387096774 25.001049790 25.000000000
+9.032258065 8.709677419 25.001049790 25.000000000
+9.032258065 9.032258065 25.001049790 25.000000000
+9.032258065 9.354838710 25.001049790 25.000000000
+9.032258065 9.677419355 25.001049790 25.000000000
+9.032258065 10.000000000 25.001049790 25.000000000
+9.354838710 0.000000000 13.570706205 11.666666667
+9.354838710 0.322580645 13.570706205 11.666666667
+9.354838710 0.645161290 13.570706205 11.666666667
+9.354838710 0.967741935 13.570706205 11.666666667
+9.354838710 1.290322581 13.570706205 11.666666667
+9.354838710 1.612903226 13.570706205 11.666666667
+9.354838710 1.935483871 13.570706205 11.666666667
+9.354838710 2.258064516 13.570706205 11.666666667
+9.354838710 2.580645161 13.572517919 11.881720430
+9.354838710 2.903225806 13.603707815 12.741935484
+9.354838710 3.225806452 13.676532623 13.602150538
+9.354838710 3.548387097 13.793124575 14.462365591
+9.354838710 3.870967742 13.957010447 15.322580645
+9.354838710 4.193548387 14.173387937 16.182795699
+9.354838710 4.516129032 14.449561083 17.043010753
+9.354838710 4.838709677 14.795606896 17.903225806
+9.354838710 5.161290323 15.430252399 18.763440860
+9.354838710 5.483870968 16.305345082 19.623655914
+9.354838710 5.806451613 17.225621817 20.483870968
+9.354838710 6.129032258 18.227035950 21.344086022
+9.354838710 6.451612903 19.356366279 22.204301075
+9.354838710 6.774193548 20.682807170 23.064516129
+9.354838710 7.096774194 22.303013754 23.924731183
+9.354838710 7.419354839 24.380408194 24.784946237
+9.354838710 7.741935484 25.001049790 25.000000000
+9.354838710 8.064516129 25.001049790 25.000000000
+9.354838710 8.387096774 25.001049790 25.000000000
+9.354838710 8.709677419 25.001049790 25.000000000
+9.354838710 9.032258065 25.001049790 25.000000000
+9.354838710 9.354838710 25.001049790 25.000000000
+9.354838710 9.677419355 25.001049790 25.000000000
+9.354838710 10.000000000 25.001049790 25.000000000
+9.677419355 0.000000000 13.570706205 11.666666667
+9.677419355 0.322580645 13.570706205 11.666666667
+9.677419355 0.645161290 13.570706205 11.666666667
+9.677419355 0.967741935 13.570706205 11.666666667
+9.677419355 1.290322581 13.570706205 11.666666667
+9.677419355 1.612903226 13.570706205 11.666666667
+9.677419355 1.935483871 13.570706205 11.666666667
+9.677419355 2.258064516 13.570706205 11.666666667
+9.677419355 2.580645161 13.572517919 11.881720430
+9.677419355 2.903225806 13.603707815 12.741935484
+9.677419355 3.225806452 13.676532623 13.602150538
+9.677419355 3.548387097 13.793124575 14.462365591
+9.677419355 3.870967742 13.957010447 15.322580645
+9.677419355 4.193548387 14.173387937 16.182795699
+9.677419355 4.516129032 14.449561083 17.043010753
+9.677419355 4.838709677 14.795606896 17.903225806
+9.677419355 5.161290323 15.430252399 18.763440860
+9.677419355 5.483870968 16.305345082 19.623655914
+9.677419355 5.806451613 17.225621817 20.483870968
+9.677419355 6.129032258 18.227035950 21.344086022
+9.677419355 6.451612903 19.356366279 22.204301075
+9.677419355 6.774193548 20.682807170 23.064516129
+9.677419355 7.096774194 22.303013754 23.924731183
+9.677419355 7.419354839 24.380408194 24.784946237
+9.677419355 7.741935484 25.001049790 25.000000000
+9.677419355 8.064516129 25.001049790 25.000000000
+9.677419355 8.387096774 25.001049790 25.000000000
+9.677419355 8.709677419 25.001049790 25.000000000
+9.677419355 9.032258065 25.001049790 25.000000000
+9.677419355 9.354838710 25.001049790 25.000000000
+9.677419355 9.677419355 25.001049790 25.000000000
+9.677419355 10.000000000 25.001049790 25.000000000
+10.000000000 0.000000000 13.570706205 11.666666667
+10.000000000 0.322580645 13.570706205 11.666666667
+10.000000000 0.645161290 13.570706205 11.666666667
+10.000000000 0.967741935 13.570706205 11.666666667
+10.000000000 1.290322581 13.570706205 11.666666667
+10.000000000 1.612903226 13.570706205 11.666666667
+10.000000000 1.935483871 13.570706205 11.666666667
+10.000000000 2.258064516 13.570706205 11.666666667
+10.000000000 2.580645161 13.572517919 11.881720430
+10.000000000 2.903225806 13.603707815 12.741935484
+10.000000000 3.225806452 13.676532623 13.602150538
+10.000000000 3.548387097 13.793124575 14.462365591
+10.000000000 3.870967742 13.957010447 15.322580645
+10.000000000 4.193548387 14.173387937 16.182795699
+10.000000000 4.516129032 14.449561083 17.043010753
+10.000000000 4.838709677 14.795606896 17.903225806
+10.000000000 5.161290323 15.430252399 18.763440860
+10.000000000 5.483870968 16.305345082 19.623655914
+10.000000000 5.806451613 17.225621817 20.483870968
+10.000000000 6.129032258 18.227035950 21.344086022
+10.000000000 6.451612903 19.356366279 22.204301075
+10.000000000 6.774193548 20.682807170 23.064516129
+10.000000000 7.096774194 22.303013754 23.924731183
+10.000000000 7.419354839 24.380408194 24.784946237
+10.000000000 7.741935484 25.001049790 25.000000000
+10.000000000 8.064516129 25.001049790 25.000000000
+10.000000000 8.387096774 25.001049790 25.000000000
+10.000000000 8.709677419 25.001049790 25.000000000
+10.000000000 9.032258065 25.001049790 25.000000000
+10.000000000 9.354838710 25.001049790 25.000000000
+10.000000000 9.677419355 25.001049790 25.000000000
+10.000000000 10.000000000 25.001049790 25.000000000
diff --git a/examples/hybrid/tipper.fll b/examples/hybrid/tipper.fll
new file mode 100644
index 0000000..cb8803f
--- /dev/null
+++ b/examples/hybrid/tipper.fll
@@ -0,0 +1,63 @@
+Engine: tipper
+description: (service and food) -> (tip)
+InputVariable: service
+ description: quality of service
+ enabled: true
+ range: 0.000 10.000
+ lock-range: true
+ term: poor Trapezoid 0.000 0.000 2.500 5.000
+ term: good Triangle 2.500 5.000 7.500
+ term: excellent Trapezoid 5.000 7.500 10.000 10.000
+InputVariable: food
+ description: quality of food
+ enabled: true
+ range: 0.000 10.000
+ lock-range: true
+ term: rancid Trapezoid 0.000 0.000 2.500 7.500
+ term: delicious Trapezoid 2.500 7.500 10.000 10.000
+OutputVariable: mTip
+ description: tip based on Mamdani inference
+ enabled: true
+ range: 0.000 30.000
+ lock-range: false
+ aggregation: Maximum
+ defuzzifier: Centroid 100
+ default: nan
+ lock-previous: false
+ term: cheap Triangle 0.000 5.000 10.000
+ term: average Triangle 10.000 15.000 20.000
+ term: generous Triangle 20.000 25.000 30.000
+OutputVariable: tsTip
+ description: tip based on Takagi-Sugeno inference
+ enabled: true
+ range: 0.000 30.000
+ lock-range: false
+ aggregation: none
+ defuzzifier: WeightedAverage TakagiSugeno
+ default: nan
+ lock-previous: false
+ term: cheap Constant 5.000
+ term: average Constant 15.000
+ term: generous Constant 25.000
+RuleBlock: mamdani
+ description: Mamdani inference
+ enabled: true
+ conjunction: AlgebraicProduct
+ disjunction: AlgebraicSum
+ implication: Minimum
+ activation: General
+ rule: if service is poor or food is rancid then mTip is cheap
+ rule: if service is good then mTip is average
+ rule: if service is excellent or food is delicious then mTip is generous with 0.5
+ rule: if service is excellent and food is delicious then mTip is generous with 1.0
+RuleBlock: takagiSugeno
+ description: Takagi-Sugeno inference
+ enabled: true
+ conjunction: AlgebraicProduct
+ disjunction: AlgebraicSum
+ implication: none
+ activation: General
+ rule: if service is poor or food is rancid then tsTip is cheap
+ rule: if service is good then tsTip is average
+ rule: if service is excellent or food is delicious then tsTip is generous with 0.5
+ rule: if service is excellent and food is delicious then tsTip is generous with 1.0 \ No newline at end of file
diff --git a/examples/hybrid/tipper.java b/examples/hybrid/tipper.java
new file mode 100644
index 0000000..e0578ca
--- /dev/null
+++ b/examples/hybrid/tipper.java
@@ -0,0 +1,103 @@
+import com.fuzzylite.*;
+import com.fuzzylite.activation.*
+import com.fuzzylite.defuzzifier.*;
+import com.fuzzylite.factory.*;
+import com.fuzzylite.hedge.*;
+import com.fuzzylite.imex.*;
+import com.fuzzylite.norm.*;
+import com.fuzzylite.norm.s.*;
+import com.fuzzylite.norm.t.*;
+import com.fuzzylite.rule.*;
+import com.fuzzylite.term.*;
+import com.fuzzylite.variable.*;
+
+public class tipper{
+public static void main(String[] args){
+//Code automatically generated with fuzzylite 6.0.
+
+Engine engine = new Engine();
+engine.setName("tipper");
+engine.setDescription("(service and food) -> (tip)");
+
+InputVariable service = new InputVariable();
+service.setName("service");
+service.setDescription("quality of service");
+service.setEnabled(true);
+service.setRange(0.000, 10.000);
+service.setLockValueInRange(true);
+service.addTerm(new Trapezoid("poor", 0.000, 0.000, 2.500, 5.000));
+service.addTerm(new Triangle("good", 2.500, 5.000, 7.500));
+service.addTerm(new Trapezoid("excellent", 5.000, 7.500, 10.000, 10.000));
+engine.addInputVariable(service);
+
+InputVariable food = new InputVariable();
+food.setName("food");
+food.setDescription("quality of food");
+food.setEnabled(true);
+food.setRange(0.000, 10.000);
+food.setLockValueInRange(true);
+food.addTerm(new Trapezoid("rancid", 0.000, 0.000, 2.500, 7.500));
+food.addTerm(new Trapezoid("delicious", 2.500, 7.500, 10.000, 10.000));
+engine.addInputVariable(food);
+
+OutputVariable mTip = new OutputVariable();
+mTip.setName("mTip");
+mTip.setDescription("tip based on Mamdani inference");
+mTip.setEnabled(true);
+mTip.setRange(0.000, 30.000);
+mTip.setLockValueInRange(false);
+mTip.setAggregation(new Maximum());
+mTip.setDefuzzifier(new Centroid(100));
+mTip.setDefaultValue(Double.NaN);
+mTip.setLockPreviousValue(false);
+mTip.addTerm(new Triangle("cheap", 0.000, 5.000, 10.000));
+mTip.addTerm(new Triangle("average", 10.000, 15.000, 20.000));
+mTip.addTerm(new Triangle("generous", 20.000, 25.000, 30.000));
+engine.addOutputVariable(mTip);
+
+OutputVariable tsTip = new OutputVariable();
+tsTip.setName("tsTip");
+tsTip.setDescription("tip based on Takagi-Sugeno inference");
+tsTip.setEnabled(true);
+tsTip.setRange(0.000, 30.000);
+tsTip.setLockValueInRange(false);
+tsTip.setAggregation(null);
+tsTip.setDefuzzifier(new WeightedAverage("TakagiSugeno"));
+tsTip.setDefaultValue(Double.NaN);
+tsTip.setLockPreviousValue(false);
+tsTip.addTerm(new Constant("cheap", 5.000));
+tsTip.addTerm(new Constant("average", 15.000));
+tsTip.addTerm(new Constant("generous", 25.000));
+engine.addOutputVariable(tsTip);
+
+RuleBlock mamdani = new RuleBlock();
+mamdani.setName("mamdani");
+mamdani.setDescription("Mamdani inference");
+mamdani.setEnabled(true);
+mamdani.setConjunction(new AlgebraicProduct());
+mamdani.setDisjunction(new AlgebraicSum());
+mamdani.setImplication(new Minimum());
+mamdani.setActivation(new General());
+mamdani.addRule(Rule.parse("if service is poor or food is rancid then mTip is cheap", engine));
+mamdani.addRule(Rule.parse("if service is good then mTip is average", engine));
+mamdani.addRule(Rule.parse("if service is excellent or food is delicious then mTip is generous with 0.5", engine));
+mamdani.addRule(Rule.parse("if service is excellent and food is delicious then mTip is generous with 1.0", engine));
+engine.addRuleBlock(mamdani);
+
+RuleBlock takagiSugeno = new RuleBlock();
+takagiSugeno.setName("takagiSugeno");
+takagiSugeno.setDescription("Takagi-Sugeno inference");
+takagiSugeno.setEnabled(true);
+takagiSugeno.setConjunction(new AlgebraicProduct());
+takagiSugeno.setDisjunction(new AlgebraicSum());
+takagiSugeno.setImplication(null);
+takagiSugeno.setActivation(new General());
+takagiSugeno.addRule(Rule.parse("if service is poor or food is rancid then tsTip is cheap", engine));
+takagiSugeno.addRule(Rule.parse("if service is good then tsTip is average", engine));
+takagiSugeno.addRule(Rule.parse("if service is excellent or food is delicious then tsTip is generous with 0.5", engine));
+takagiSugeno.addRule(Rule.parse("if service is excellent and food is delicious then tsTip is generous with 1.0", engine));
+engine.addRuleBlock(takagiSugeno);
+
+
+}
+}
diff --git a/examples/hybrid/tipper.pdf b/examples/hybrid/tipper.pdf
new file mode 100644
index 0000000..482e9cc
--- /dev/null
+++ b/examples/hybrid/tipper.pdf
Binary files differ
diff --git a/examples/mamdani/AllTerms.R b/examples/mamdani/AllTerms.R
new file mode 100644
index 0000000..1b17463
--- /dev/null
+++ b/examples/mamdani/AllTerms.R
@@ -0,0 +1,111 @@
+#Code automatically generated with fuzzylite 6.0.
+
+library(ggplot2);
+
+engine.name = "AllTerms"
+engine.fll = "Engine: AllTerms
+InputVariable: AllInputTerms
+ enabled: true
+ range: 0.000 6.500
+ lock-range: false
+ term: A Sigmoid 0.500 -20.000
+ term: B ZShape 0.000 1.000
+ term: C Ramp 1.000 0.000
+ term: D Triangle 0.500 1.000 1.500
+ term: E Trapezoid 1.000 1.250 1.750 2.000
+ term: F Concave 0.850 0.250
+ term: G Rectangle 1.750 2.250
+ term: H Discrete 2.000 0.000 2.250 1.000 2.500 0.500 2.750 1.000 3.000 0.000
+ term: I Gaussian 3.000 0.200
+ term: J Cosine 3.250 0.650
+ term: K GaussianProduct 3.500 0.100 3.300 0.300
+ term: L Spike 3.640 1.040
+ term: M Bell 4.000 0.250 3.000
+ term: N PiShape 4.000 4.500 4.500 5.000
+ term: O Concave 5.650 6.250
+ term: P SigmoidDifference 4.750 10.000 30.000 5.250
+ term: Q SigmoidProduct 5.250 20.000 -10.000 5.750
+ term: R Ramp 5.500 6.500
+ term: S SShape 5.500 6.500
+ term: T Sigmoid 6.000 20.000
+OutputVariable: AllOutputTerms
+ enabled: true
+ range: 0.000 6.500
+ lock-range: false
+ aggregation: Maximum
+ defuzzifier: Centroid 200
+ default: nan
+ lock-previous: false
+ term: A Sigmoid 0.500 -20.000
+ term: B ZShape 0.000 1.000
+ term: C Ramp 1.000 0.000
+ term: D Triangle 0.500 1.000 1.500
+ term: E Trapezoid 1.000 1.250 1.750 2.000
+ term: F Concave 0.850 0.250
+ term: G Rectangle 1.750 2.250
+ term: H Discrete 2.000 0.000 2.250 1.000 2.500 0.500 2.750 1.000 3.000 0.000
+ term: I Gaussian 3.000 0.200
+ term: J Cosine 3.250 0.650
+ term: K GaussianProduct 3.500 0.100 3.300 0.300
+ term: L Spike 3.640 1.040
+ term: M Bell 4.000 0.250 3.000
+ term: N PiShape 4.000 4.500 4.500 5.000
+ term: O Concave 5.650 6.250
+ term: P SigmoidDifference 4.750 10.000 30.000 5.250
+ term: Q SigmoidProduct 5.250 20.000 -10.000 5.750
+ term: R Ramp 5.500 6.500
+ term: S SShape 5.500 6.500
+ term: T Sigmoid 6.000 20.000
+RuleBlock:
+ enabled: true
+ conjunction: Minimum
+ disjunction: Maximum
+ implication: Minimum
+ activation: General
+ rule: if AllInputTerms is A then AllOutputTerms is T
+ rule: if AllInputTerms is B then AllOutputTerms is S
+ rule: if AllInputTerms is C then AllOutputTerms is R
+ rule: if AllInputTerms is D then AllOutputTerms is Q
+ rule: if AllInputTerms is E then AllOutputTerms is P
+ rule: if AllInputTerms is F then AllOutputTerms is O
+ rule: if AllInputTerms is G then AllOutputTerms is N
+ rule: if AllInputTerms is H then AllOutputTerms is M
+ rule: if AllInputTerms is I then AllOutputTerms is L
+ rule: if AllInputTerms is J then AllOutputTerms is K
+ rule: if AllInputTerms is K then AllOutputTerms is J
+ rule: if AllInputTerms is L then AllOutputTerms is I
+ rule: if AllInputTerms is M then AllOutputTerms is H
+ rule: if AllInputTerms is N then AllOutputTerms is G
+ rule: if AllInputTerms is O then AllOutputTerms is F
+ rule: if AllInputTerms is P then AllOutputTerms is E
+ rule: if AllInputTerms is Q then AllOutputTerms is D
+ rule: if AllInputTerms is R then AllOutputTerms is C
+ rule: if AllInputTerms is S then AllOutputTerms is B
+ rule: if AllInputTerms is T then AllOutputTerms is A"
+
+engine.fldFile = "AllTerms.fld"
+if (require(data.table)) {
+ engine.df = data.table::fread(engine.fldFile, sep="auto", header="auto")
+} else {
+ engine.df = read.table(engine.fldFile, header=TRUE)
+}
+
+engine.plot.i1_o1 = ggplot(engine.df, aes(AllInputTerms, AllOutputTerms)) +
+ geom_line(aes(color=AllOutputTerms), size=3, lineend="round", linejoin="mitre") +
+ scale_color_gradient(low="yellow", high="red") +
+ ggtitle("AllInputTerms vs AllOutputTerms")
+
+engine.plot.o1_i1 = ggplot(engine.df, aes(AllInputTerms, AllOutputTerms)) +
+ geom_line(aes(color=AllOutputTerms), size=3, lineend="round", linejoin="mitre") +
+ scale_color_gradient(low="yellow", high="red") +
+ coord_flip() +
+ ggtitle("AllOutputTerms vs AllInputTerms")
+
+if (require(gridExtra)) {
+ engine.plots = arrangeGrob(engine.plot.i1_o1, engine.plot.o1_i1, ncol=2, top=engine.name)
+ ggsave(paste0(engine.name, ".pdf"), engine.plots)
+ if (require(grid)) {
+ grid.newpage()
+ grid.draw(engine.plots)
+ }
+}
diff --git a/examples/mamdani/AllTerms.cpp b/examples/mamdani/AllTerms.cpp
index 7bb1f31..3d96ef5 100644
--- a/examples/mamdani/AllTerms.cpp
+++ b/examples/mamdani/AllTerms.cpp
@@ -1,94 +1,102 @@
#include <fl/Headers.h>
int main(int argc, char** argv){
+//Code automatically generated with fuzzylite 6.0.
+
using namespace fl;
Engine* engine = new Engine;
-engine->setName("qtfuzzylite");
+engine->setName("AllTerms");
+engine->setDescription("");
-InputVariable* inputVariable = new InputVariable;
-inputVariable->setEnabled(true);
-inputVariable->setName("AllInputTerms");
-inputVariable->setRange(0.000, 6.500);
-inputVariable->addTerm(new Sigmoid("A", 0.500, -20.000));
-inputVariable->addTerm(new ZShape("B", 0.000, 1.000));
-inputVariable->addTerm(new Ramp("C", 1.000, 0.000));
-inputVariable->addTerm(new Triangle("D", 0.500, 1.000, 1.500));
-inputVariable->addTerm(new Trapezoid("E", 1.000, 1.250, 1.750, 2.000));
-inputVariable->addTerm(new Concave("F", 0.850, 0.250));
-inputVariable->addTerm(new Rectangle("G", 1.750, 2.250));
-inputVariable->addTerm(Discrete::create("H", 10, 2.000, 0.000, 2.250, 1.000, 2.500, 0.500, 2.750, 1.000, 3.000, 0.000));
-inputVariable->addTerm(new Gaussian("I", 3.000, 0.200));
-inputVariable->addTerm(new Cosine("J", 3.250, 0.650));
-inputVariable->addTerm(new GaussianProduct("K", 3.500, 0.100, 3.300, 0.300));
-inputVariable->addTerm(new Spike("L", 3.640, 1.040));
-inputVariable->addTerm(new Bell("M", 4.000, 0.250, 3.000));
-inputVariable->addTerm(new PiShape("N", 4.000, 4.500, 4.500, 5.000));
-inputVariable->addTerm(new Concave("O", 5.650, 6.250));
-inputVariable->addTerm(new SigmoidDifference("P", 4.750, 10.000, 30.000, 5.250));
-inputVariable->addTerm(new SigmoidProduct("Q", 5.250, 20.000, -10.000, 5.750));
-inputVariable->addTerm(new Ramp("R", 5.500, 6.500));
-inputVariable->addTerm(new SShape("S", 5.500, 6.500));
-inputVariable->addTerm(new Sigmoid("T", 6.000, 20.000));
-engine->addInputVariable(inputVariable);
+InputVariable* AllInputTerms = new InputVariable;
+AllInputTerms->setName("AllInputTerms");
+AllInputTerms->setDescription("");
+AllInputTerms->setEnabled(true);
+AllInputTerms->setRange(0.000, 6.500);
+AllInputTerms->setLockValueInRange(false);
+AllInputTerms->addTerm(new Sigmoid("A", 0.500, -20.000));
+AllInputTerms->addTerm(new ZShape("B", 0.000, 1.000));
+AllInputTerms->addTerm(new Ramp("C", 1.000, 0.000));
+AllInputTerms->addTerm(new Triangle("D", 0.500, 1.000, 1.500));
+AllInputTerms->addTerm(new Trapezoid("E", 1.000, 1.250, 1.750, 2.000));
+AllInputTerms->addTerm(new Concave("F", 0.850, 0.250));
+AllInputTerms->addTerm(new Rectangle("G", 1.750, 2.250));
+AllInputTerms->addTerm(Discrete::create("H", 10, 2.000, 0.000, 2.250, 1.000, 2.500, 0.500, 2.750, 1.000, 3.000, 0.000));
+AllInputTerms->addTerm(new Gaussian("I", 3.000, 0.200));
+AllInputTerms->addTerm(new Cosine("J", 3.250, 0.650));
+AllInputTerms->addTerm(new GaussianProduct("K", 3.500, 0.100, 3.300, 0.300));
+AllInputTerms->addTerm(new Spike("L", 3.640, 1.040));
+AllInputTerms->addTerm(new Bell("M", 4.000, 0.250, 3.000));
+AllInputTerms->addTerm(new PiShape("N", 4.000, 4.500, 4.500, 5.000));
+AllInputTerms->addTerm(new Concave("O", 5.650, 6.250));
+AllInputTerms->addTerm(new SigmoidDifference("P", 4.750, 10.000, 30.000, 5.250));
+AllInputTerms->addTerm(new SigmoidProduct("Q", 5.250, 20.000, -10.000, 5.750));
+AllInputTerms->addTerm(new Ramp("R", 5.500, 6.500));
+AllInputTerms->addTerm(new SShape("S", 5.500, 6.500));
+AllInputTerms->addTerm(new Sigmoid("T", 6.000, 20.000));
+engine->addInputVariable(AllInputTerms);
-OutputVariable* outputVariable = new OutputVariable;
-outputVariable->setEnabled(true);
-outputVariable->setName("AllOutputTerms");
-outputVariable->setRange(0.000, 6.500);
-outputVariable->fuzzyOutput()->setAccumulation(new Maximum);
-outputVariable->setDefuzzifier(new Centroid(200));
-outputVariable->setDefaultValue(fl::nan);
-outputVariable->setLockPreviousOutputValue(false);
-outputVariable->setLockOutputValueInRange(false);
-outputVariable->addTerm(new Sigmoid("A", 0.500, -20.000));
-outputVariable->addTerm(new ZShape("B", 0.000, 1.000));
-outputVariable->addTerm(new Ramp("C", 1.000, 0.000));
-outputVariable->addTerm(new Triangle("D", 0.500, 1.000, 1.500));
-outputVariable->addTerm(new Trapezoid("E", 1.000, 1.250, 1.750, 2.000));
-outputVariable->addTerm(new Concave("F", 0.850, 0.250));
-outputVariable->addTerm(new Rectangle("G", 1.750, 2.250));
-outputVariable->addTerm(Discrete::create("H", 10, 2.000, 0.000, 2.250, 1.000, 2.500, 0.500, 2.750, 1.000, 3.000, 0.000));
-outputVariable->addTerm(new Gaussian("I", 3.000, 0.200));
-outputVariable->addTerm(new Cosine("J", 3.250, 0.650));
-outputVariable->addTerm(new GaussianProduct("K", 3.500, 0.100, 3.300, 0.300));
-outputVariable->addTerm(new Spike("L", 3.640, 1.040));
-outputVariable->addTerm(new Bell("M", 4.000, 0.250, 3.000));
-outputVariable->addTerm(new PiShape("N", 4.000, 4.500, 4.500, 5.000));
-outputVariable->addTerm(new Concave("O", 5.650, 6.250));
-outputVariable->addTerm(new SigmoidDifference("P", 4.750, 10.000, 30.000, 5.250));
-outputVariable->addTerm(new SigmoidProduct("Q", 5.250, 20.000, -10.000, 5.750));
-outputVariable->addTerm(new Ramp("R", 5.500, 6.500));
-outputVariable->addTerm(new SShape("S", 5.500, 6.500));
-outputVariable->addTerm(new Sigmoid("T", 6.000, 20.000));
-engine->addOutputVariable(outputVariable);
+OutputVariable* AllOutputTerms = new OutputVariable;
+AllOutputTerms->setName("AllOutputTerms");
+AllOutputTerms->setDescription("");
+AllOutputTerms->setEnabled(true);
+AllOutputTerms->setRange(0.000, 6.500);
+AllOutputTerms->setLockValueInRange(false);
+AllOutputTerms->setAggregation(new Maximum);
+AllOutputTerms->setDefuzzifier(new Centroid(200));
+AllOutputTerms->setDefaultValue(fl::nan);
+AllOutputTerms->setLockPreviousValue(false);
+AllOutputTerms->addTerm(new Sigmoid("A", 0.500, -20.000));
+AllOutputTerms->addTerm(new ZShape("B", 0.000, 1.000));
+AllOutputTerms->addTerm(new Ramp("C", 1.000, 0.000));
+AllOutputTerms->addTerm(new Triangle("D", 0.500, 1.000, 1.500));
+AllOutputTerms->addTerm(new Trapezoid("E", 1.000, 1.250, 1.750, 2.000));
+AllOutputTerms->addTerm(new Concave("F", 0.850, 0.250));
+AllOutputTerms->addTerm(new Rectangle("G", 1.750, 2.250));
+AllOutputTerms->addTerm(Discrete::create("H", 10, 2.000, 0.000, 2.250, 1.000, 2.500, 0.500, 2.750, 1.000, 3.000, 0.000));
+AllOutputTerms->addTerm(new Gaussian("I", 3.000, 0.200));
+AllOutputTerms->addTerm(new Cosine("J", 3.250, 0.650));
+AllOutputTerms->addTerm(new GaussianProduct("K", 3.500, 0.100, 3.300, 0.300));
+AllOutputTerms->addTerm(new Spike("L", 3.640, 1.040));
+AllOutputTerms->addTerm(new Bell("M", 4.000, 0.250, 3.000));
+AllOutputTerms->addTerm(new PiShape("N", 4.000, 4.500, 4.500, 5.000));
+AllOutputTerms->addTerm(new Concave("O", 5.650, 6.250));
+AllOutputTerms->addTerm(new SigmoidDifference("P", 4.750, 10.000, 30.000, 5.250));
+AllOutputTerms->addTerm(new SigmoidProduct("Q", 5.250, 20.000, -10.000, 5.750));
+AllOutputTerms->addTerm(new Ramp("R", 5.500, 6.500));
+AllOutputTerms->addTerm(new SShape("S", 5.500, 6.500));
+AllOutputTerms->addTerm(new Sigmoid("T", 6.000, 20.000));
+engine->addOutputVariable(AllOutputTerms);
RuleBlock* ruleBlock = new RuleBlock;
-ruleBlock->setEnabled(true);
ruleBlock->setName("");
+ruleBlock->setDescription("");
+ruleBlock->setEnabled(true);
ruleBlock->setConjunction(new Minimum);
ruleBlock->setDisjunction(new Maximum);
-ruleBlock->setActivation(new Minimum);
-ruleBlock->addRule(fl::Rule::parse("if AllInputTerms is A then AllOutputTerms is T", engine));
-ruleBlock->addRule(fl::Rule::parse("if AllInputTerms is B then AllOutputTerms is S", engine));
-ruleBlock->addRule(fl::Rule::parse("if AllInputTerms is C then AllOutputTerms is R", engine));
-ruleBlock->addRule(fl::Rule::parse("if AllInputTerms is D then AllOutputTerms is Q", engine));
-ruleBlock->addRule(fl::Rule::parse("if AllInputTerms is E then AllOutputTerms is P", engine));
-ruleBlock->addRule(fl::Rule::parse("if AllInputTerms is F then AllOutputTerms is O", engine));
-ruleBlock->addRule(fl::Rule::parse("if AllInputTerms is G then AllOutputTerms is N", engine));
-ruleBlock->addRule(fl::Rule::parse("if AllInputTerms is H then AllOutputTerms is M", engine));
-ruleBlock->addRule(fl::Rule::parse("if AllInputTerms is I then AllOutputTerms is L", engine));
-ruleBlock->addRule(fl::Rule::parse("if AllInputTerms is J then AllOutputTerms is K", engine));
-ruleBlock->addRule(fl::Rule::parse("if AllInputTerms is K then AllOutputTerms is J", engine));
-ruleBlock->addRule(fl::Rule::parse("if AllInputTerms is L then AllOutputTerms is I", engine));
-ruleBlock->addRule(fl::Rule::parse("if AllInputTerms is M then AllOutputTerms is H", engine));
-ruleBlock->addRule(fl::Rule::parse("if AllInputTerms is N then AllOutputTerms is G", engine));
-ruleBlock->addRule(fl::Rule::parse("if AllInputTerms is O then AllOutputTerms is F", engine));
-ruleBlock->addRule(fl::Rule::parse("if AllInputTerms is P then AllOutputTerms is E", engine));
-ruleBlock->addRule(fl::Rule::parse("if AllInputTerms is Q then AllOutputTerms is D", engine));
-ruleBlock->addRule(fl::Rule::parse("if AllInputTerms is R then AllOutputTerms is C", engine));
-ruleBlock->addRule(fl::Rule::parse("if AllInputTerms is S then AllOutputTerms is B", engine));
-ruleBlock->addRule(fl::Rule::parse("if AllInputTerms is T then AllOutputTerms is A", engine));
+ruleBlock->setImplication(new Minimum);
+ruleBlock->setActivation(new General);
+ruleBlock->addRule(Rule::parse("if AllInputTerms is A then AllOutputTerms is T", engine));
+ruleBlock->addRule(Rule::parse("if AllInputTerms is B then AllOutputTerms is S", engine));
+ruleBlock->addRule(Rule::parse("if AllInputTerms is C then AllOutputTerms is R", engine));
+ruleBlock->addRule(Rule::parse("if AllInputTerms is D then AllOutputTerms is Q", engine));
+ruleBlock->addRule(Rule::parse("if AllInputTerms is E then AllOutputTerms is P", engine));
+ruleBlock->addRule(Rule::parse("if AllInputTerms is F then AllOutputTerms is O", engine));
+ruleBlock->addRule(Rule::parse("if AllInputTerms is G then AllOutputTerms is N", engine));
+ruleBlock->addRule(Rule::parse("if AllInputTerms is H then AllOutputTerms is M", engine));
+ruleBlock->addRule(Rule::parse("if AllInputTerms is I then AllOutputTerms is L", engine));
+ruleBlock->addRule(Rule::parse("if AllInputTerms is J then AllOutputTerms is K", engine));
+ruleBlock->addRule(Rule::parse("if AllInputTerms is K then AllOutputTerms is J", engine));
+ruleBlock->addRule(Rule::parse("if AllInputTerms is L then AllOutputTerms is I", engine));
+ruleBlock->addRule(Rule::parse("if AllInputTerms is M then AllOutputTerms is H", engine));
+ruleBlock->addRule(Rule::parse("if AllInputTerms is N then AllOutputTerms is G", engine));
+ruleBlock->addRule(Rule::parse("if AllInputTerms is O then AllOutputTerms is F", engine));
+ruleBlock->addRule(Rule::parse("if AllInputTerms is P then AllOutputTerms is E", engine));
+ruleBlock->addRule(Rule::parse("if AllInputTerms is Q then AllOutputTerms is D", engine));
+ruleBlock->addRule(Rule::parse("if AllInputTerms is R then AllOutputTerms is C", engine));
+ruleBlock->addRule(Rule::parse("if AllInputTerms is S then AllOutputTerms is B", engine));
+ruleBlock->addRule(Rule::parse("if AllInputTerms is T then AllOutputTerms is A", engine));
engine->addRuleBlock(ruleBlock);
diff --git a/examples/mamdani/AllTerms.fcl b/examples/mamdani/AllTerms.fcl
index ef08722..0c56fd6 100644
--- a/examples/mamdani/AllTerms.fcl
+++ b/examples/mamdani/AllTerms.fcl
@@ -1,4 +1,6 @@
-FUNCTION_BLOCK qtfuzzylite
+//Code automatically generated with fuzzylite 6.0.
+
+FUNCTION_BLOCK AllTerms
VAR_INPUT
AllInputTerms: REAL;
diff --git a/examples/mamdani/AllTerms.fis b/examples/mamdani/AllTerms.fis
index 61a6d18..d34e487 100644
--- a/examples/mamdani/AllTerms.fis
+++ b/examples/mamdani/AllTerms.fis
@@ -1,6 +1,9 @@
+#Code automatically generated with fuzzylite 6.0.
+
[System]
-Name='qtfuzzylite'
+Name='AllTerms'
Type='mamdani'
+Version=6.0
NumInputs=1
NumOutputs=1
NumRules=20
diff --git a/examples/mamdani/AllTerms.fld b/examples/mamdani/AllTerms.fld
index 95116fa..b765a5b 100644
--- a/examples/mamdani/AllTerms.fld
+++ b/examples/mamdani/AllTerms.fld
@@ -1,1026 +1,1025 @@
-#@Engine: qtfuzzylite;
-#@InputVariable: AllInputTerms; @OutputVariable: AllOutputTerms;
-0.00000000 4.59989528
-0.00635386 4.59989528
-0.01270772 4.59989528
-0.01906158 4.59989215
-0.02541544 4.59988508
-0.03176931 4.59987800
-0.03812317 4.59987091
-0.04447703 4.59986380
-0.05083089 4.59985436
-0.05718475 4.59984014
-0.06353861 4.59982589
-0.06989247 4.59981161
-0.07624633 4.59979731
-0.08260020 4.59978148
-0.08895406 4.59976002
-0.09530792 4.59973853
-0.10166178 4.59971699
-0.10801564 4.59969542
-0.11436950 4.59967311
-0.12072336 4.59964434
-0.12707722 4.59961551
-0.13343109 4.59958663
-0.13978495 4.59955769
-0.14613881 4.59952871
-0.15249267 4.59949265
-0.15884653 4.59945641
-0.16520039 4.59942010
-0.17155425 4.59938372
-0.17790811 4.59934727
-0.18426197 4.59930456
-0.19061584 4.59926081
-0.19696970 4.59921698
-0.20332356 4.59917307
-0.20967742 4.59912907
-0.21603128 4.59907961
-0.22238514 4.59902827
-0.22873900 4.59897684
-0.23509286 4.59892531
-0.24144673 4.59887368
-0.24780059 4.59881738
-0.25415445 4.59691917
-0.26050831 4.59649344
-0.26686217 4.59613763
-0.27321603 4.59574220
-0.27956989 4.59527472
-0.28592375 4.59472722
-0.29227761 4.59411601
-0.29863148 4.59343292
-0.30498534 4.59266881
-0.31133920 4.59177691
-0.31769306 4.59072170
-0.32404692 4.58953931
-0.33040078 4.58821415
-0.33675464 4.58672898
-0.34310850 4.58501913
-0.34946237 4.58298678
-0.35581623 4.58071110
-0.36217009 4.57816482
-0.36852395 4.57531844
-0.37487781 4.57209253
-0.38123167 4.56826124
-0.38758553 4.56399478
-0.39393939 4.55925255
-0.40029326 4.55399273
-0.40664712 4.54814499
-0.41300098 4.54124963
-0.41935484 4.53365966
-0.42570870 4.52533306
-0.43206256 4.51623220
-0.43841642 4.50632570
-0.44477028 4.49679479
-0.45112414 4.49371013
-0.45747801 4.49066211
-0.46383187 4.48765002
-0.47018573 4.48467321
-0.47653959 4.48157929
-0.48289345 4.47849013
-0.48924731 4.47543574
-0.49560117 4.47241549
-0.50195503 4.46942878
-0.50830890 4.46635382
-0.51466276 4.46326454
-0.52101662 4.46020827
-0.52737048 4.45718444
-0.53372434 4.45419251
-0.54007820 4.45113732
-0.54643206 4.44805138
-0.55278592 4.44499678
-0.55913978 4.44197300
-0.56549365 4.43897956
-0.57184751 4.43594462
-0.57820137 4.43286470
-0.58455523 4.42981456
-0.59090909 4.42679371
-0.59726295 4.42380172
-0.60361681 4.42078721
-0.60997067 4.41771542
-0.61632454 4.41467191
-0.62267840 4.41165627
-0.62903226 4.40866808
-0.63538612 4.40567398
-0.64173998 4.40261191
-0.64809384 4.39957674
-0.65444770 4.39656808
-0.66080156 4.39358555
-0.66715543 4.39061167
-0.67350929 4.38756054
-0.67986315 4.38453499
-0.68621701 4.38153468
-0.69257087 4.37880303
-0.69892473 4.37647513
-0.70527859 4.37447251
-0.71163245 4.37287629
-0.71798631 4.37166784
-0.72434018 4.37088208
-0.73069404 4.37049511
-0.73704790 4.37038886
-0.74340176 4.37064262
-0.74975562 4.37108759
-0.75610948 4.37180971
-0.76246334 4.37286007
-0.76881720 4.37417270
-0.77517107 4.37551934
-0.78152493 4.37694454
-0.78787879 4.37839069
-0.79423265 4.37985711
-0.80058651 4.38133785
-0.80694037 4.38282570
-0.81329423 4.38399523
-0.81964809 4.38518475
-0.82600196 4.38627238
-0.83235582 4.38726315
-0.83870968 4.38827040
-0.84506354 4.38921872
-0.85141740 4.38993199
-0.85777126 4.39066514
-0.86412512 4.39141423
-0.87047898 4.39217807
-0.87683284 4.39292534
-0.88318671 4.39340549
-0.88954057 4.39376844
-0.89589443 4.39404783
-0.90224829 4.39434112
-0.90860215 4.39441413
-0.91495601 4.39443473
-0.92130987 4.39447393
-0.92766373 4.39445587
-0.93401760 4.39402302
-0.94037146 4.39356564
-0.94672532 4.39297918
-0.95307918 4.39226487
-0.95943304 4.39119401
-0.96578690 4.38989115
-0.97214076 4.38796712
-0.97849462 4.38600893
-0.98484848 4.38407835
-0.99120235 4.38215966
-0.99755621 4.38024519
-1.00391007 4.37834225
-1.01026393 4.37645076
-1.01661779 4.37457058
-1.02297165 4.37270159
-1.02932551 4.37083696
-1.03567937 4.36877780
-1.04203324 4.36610094
-1.04838710 4.36313118
-1.05474096 4.35990289
-1.06109482 4.35644500
-1.06744868 4.35289881
-1.07380254 4.34968954
-1.08015640 4.34716128
-1.08651026 4.34611783
-1.09286413 4.34663860
-1.09921799 4.34758866
-1.10557185 4.34836750
-1.11192571 4.34914531
-1.11827957 4.34958039
-1.12463343 4.35003899
-1.13098729 4.35014697
-1.13734115 4.35002141
-1.14369501 4.34987408
-1.15004888 4.34973832
-1.15640274 4.34945577
-1.16275660 4.34879209
-1.16911046 4.34814083
-1.17546432 4.34731869
-1.18181818 4.34624489
-1.18817204 4.34469651
-1.19452590 4.34288533
-1.20087977 4.34082275
-1.20723363 4.33851027
-1.21358749 4.33615665
-1.21994135 4.33335536
-1.22629521 4.33013730
-1.23264907 4.32664160
-1.23900293 4.32198901
-1.24535679 4.31616989
-1.25171065 4.31025501
-1.25806452 4.30433460
-1.26441838 4.29837199
-1.27077224 4.29236663
-1.27712610 4.28609815
-1.28347996 4.27962801
-1.28983382 4.27309980
-1.29618768 4.26651947
-1.30254154 4.25988662
-1.30889541 4.25320051
-1.31524927 4.24629927
-1.32160313 4.24005945
-1.32795699 4.23795316
-1.33431085 4.23585513
-1.34066471 4.23376527
-1.34701857 4.23168350
-1.35337243 4.22960435
-1.35972630 4.22753110
-1.36608016 4.22546570
-1.37243402 4.22340809
-1.37878788 4.22135819
-1.38514174 4.21931137
-1.39149560 4.21726922
-1.39784946 4.21523454
-1.40420332 4.21320729
-1.41055718 4.21118737
-1.41691105 4.20917103
-1.42326491 4.20715813
-1.42961877 4.20515236
-1.43597263 4.20315365
-1.44232649 4.20116193
-1.44868035 4.19917429
-1.45503421 4.19718890
-1.46138807 4.19521029
-1.46774194 4.19323841
-1.47409580 4.19127319
-1.48044966 4.18931257
-1.48680352 4.18735301
-1.49315738 4.18539991
-1.49951124 4.18345322
-1.50586510 4.18151287
-1.51221896 4.17957767
-1.51857283 4.17764235
-1.52492669 4.17571319
-1.53128055 4.17379013
-1.53763441 4.17187310
-1.54398827 4.16996178
-1.55034213 4.16804919
-1.55669599 4.16614246
-1.56304985 4.16424153
-1.56940371 4.16234634
-1.57575758 4.16045686
-1.58211144 4.15856612
-1.58846530 4.15668038
-1.59481916 4.15480017
-1.60117302 4.15292542
-1.60752688 4.15105609
-1.61388074 4.14918610
-1.62023460 4.14731998
-1.62658847 4.14545912
-1.63294233 4.14360345
-1.63929619 4.14175295
-1.64565005 4.13990238
-1.65200391 4.13805457
-1.65835777 4.13621175
-1.66471163 4.13437388
-1.67106549 4.13254091
-1.67741935 4.13070850
-1.68377322 4.12887773
-1.69012708 4.12705172
-1.69648094 4.12523040
-1.70283480 4.12341375
-1.70918866 4.12159827
-1.71554252 4.11978336
-1.72189638 4.11797295
-1.72825024 4.11616701
-1.73460411 4.11436550
-1.74095797 4.11256579
-1.74731183 4.11076557
-1.75366569 4.16815388
-1.76001955 4.16667554
-1.76637341 4.16410645
-1.77272727 4.16043775
-1.77908113 4.15638598
-1.78543500 4.15183330
-1.79178886 4.14667777
-1.79814272 4.14136638
-1.80449658 4.13570068
-1.81085044 4.12992982
-1.81720430 4.12387456
-1.82355816 4.11726659
-1.82991202 4.11042338
-1.83626588 4.10317095
-1.84261975 4.09581886
-1.84897361 4.08832336
-1.85532747 4.08042629
-1.86168133 4.07241751
-1.86803519 4.06429132
-1.87438905 4.05568572
-1.88074291 4.04633694
-1.88709677 4.03689612
-1.89345064 4.02761208
-1.89980450 4.01817993
-1.90615836 4.00859076
-1.91251222 3.99884449
-1.91886608 3.98920625
-1.92521994 3.97958231
-1.93157380 3.96973063
-1.93792766 3.96399899
-1.94428152 3.96201550
-1.95063539 3.96003562
-1.95698925 3.95805933
-1.96334311 3.95608658
-1.96969697 3.95411363
-1.97605083 3.95214101
-1.98240469 3.95017184
-1.98875855 3.94820607
-1.99511241 3.94624368
-2.00146628 3.94428172
-2.00782014 3.94231916
-2.01417400 3.94035987
-2.02052786 3.93840382
-2.02688172 3.93645098
-2.03323558 3.93449920
-2.03958944 3.93254591
-2.04594330 3.93059572
-2.05229717 3.92832105
-2.05865103 3.92627635
-2.06500489 3.92447527
-2.07135875 3.92277481
-2.07771261 3.92110473
-2.08406647 3.91946430
-2.09042033 3.91801074
-2.09677419 3.91668068
-2.10312805 3.91536878
-2.10948192 3.91408031
-2.11583578 3.91281472
-2.12218964 3.91172397
-2.12854350 3.91066873
-2.13489736 3.90968063
-2.14125122 3.90866978
-2.14760508 3.90758799
-2.15395894 3.90652395
-2.16031281 3.90547728
-2.16666667 3.90444268
-2.17302053 3.90342393
-2.17937439 3.90242153
-2.18572825 3.90148645
-2.19208211 3.90044592
-2.19843597 3.89939315
-2.20478983 3.89835323
-2.21114370 3.89732738
-2.21749756 3.89631533
-2.22385142 3.89532342
-2.23020528 3.89423978
-2.23655914 3.89316626
-2.24291300 3.89208563
-2.24926686 3.89092119
-2.25562072 3.76337314
-2.26197458 3.76081058
-2.26832845 3.75822085
-2.27468231 3.75551510
-2.28103617 3.75278784
-2.28739003 3.75004999
-2.29374389 3.74729617
-2.30009775 3.74452493
-2.30645161 3.74170572
-2.31280547 3.73878316
-2.31915934 3.73582261
-2.32551320 3.73283947
-2.33186706 3.72983299
-2.33822092 3.72680713
-2.34457478 3.72376166
-2.35092864 3.72069632
-2.35728250 3.71760993
-2.36363636 3.71449828
-2.36999022 3.71136598
-2.37634409 3.70821278
-2.38269795 3.70489596
-2.38905181 3.70154910
-2.39540567 3.69815149
-2.40175953 3.69472082
-2.40811339 3.69126224
-2.41446725 3.68777534
-2.42082111 3.68425972
-2.42717498 3.68070953
-2.43352884 3.67712936
-2.43988270 3.67351920
-2.44623656 3.66987859
-2.45259042 3.66620712
-2.45894428 3.66249957
-2.46529814 3.65875916
-2.47165200 3.65498647
-2.47800587 3.65104597
-2.48435973 3.64701800
-2.49071359 3.64293652
-2.49706745 3.63878867
-2.50342131 3.63659673
-2.50977517 3.63611399
-2.51612903 3.63561093
-2.52248289 3.63510324
-2.52883675 3.63453444
-2.53519062 3.63385004
-2.54154448 3.63317427
-2.54789834 3.63250700
-2.55425220 3.63184550
-2.56060606 3.63118938
-2.56695992 3.63054136
-2.57331378 3.62990130
-2.57966764 3.62926907
-2.58602151 3.62864268
-2.59237537 3.62802052
-2.59872923 3.62740583
-2.60508309 3.62679849
-2.61143695 3.62618413
-2.61779081 3.62554215
-2.62414467 3.62488392
-2.63049853 3.62406075
-2.63685239 3.62318956
-2.64320626 3.62232742
-2.64956012 3.62147802
-2.65591398 3.62064524
-2.66226784 3.61982108
-2.66862170 3.61902917
-2.67497556 3.61825984
-2.68132942 3.61749945
-2.68768328 3.61673378
-2.69403715 3.61592994
-2.70039101 3.61501009
-2.70674487 3.61408072
-2.71309873 3.61321512
-2.71945259 3.61235895
-2.72580645 3.61151329
-2.73216031 3.61064326
-2.73851417 3.60961746
-2.74486804 3.60859393
-2.75122190 3.60702762
-2.75757576 3.60351398
-2.76392962 3.59960789
-2.77028348 3.59555467
-2.77663734 3.59147098
-2.78299120 3.58703970
-2.78934506 3.58242764
-2.79569892 3.57776988
-2.80205279 3.57306558
-2.80840665 3.56829409
-2.81476051 3.56334023
-2.82111437 3.55802164
-2.82746823 3.55251633
-2.83382209 3.54693068
-2.84017595 3.54126260
-2.84652981 3.53550824
-2.85288368 3.52966479
-2.85923754 3.52373194
-2.86559140 3.51744075
-2.87194526 3.51081525
-2.87829912 3.50398168
-2.88465298 3.49701812
-2.89100684 3.48987377
-2.89736070 3.48252541
-2.90371457 3.47502794
-2.91006843 3.46722539
-2.91642229 3.45888634
-2.92277615 3.45055564
-2.92913001 3.44204877
-2.93548387 3.43336011
-2.94183773 3.42460297
-2.94819159 3.41528161
-2.95454545 3.40565175
-2.96089932 3.40300714
-2.96725318 3.40043451
-2.97360704 3.39786239
-2.97996090 3.39528792
-2.98631476 3.39271389
-2.99266862 3.39014036
-2.99902248 3.38756888
-3.00537634 3.38500034
-3.01173021 3.38243001
-3.01808407 3.38007765
-3.02443793 3.37787501
-3.03079179 3.37552494
-3.03714565 3.37340204
-3.04349951 3.37111671
-3.04985337 3.36882418
-3.05620723 3.36662318
-3.06256109 3.36450384
-3.06891496 3.36240980
-3.07526882 3.36033602
-3.08162268 3.35835345
-3.08797654 3.35647890
-3.09433040 3.35462247
-3.10068426 3.35277157
-3.10703812 3.35090734
-3.11339198 3.34899388
-3.11974585 3.34690989
-3.12609971 3.34481953
-3.13245357 3.34259889
-3.13880743 3.34027538
-3.14516129 3.33788302
-3.15151515 3.33541209
-3.15786901 3.33287539
-3.16422287 3.33020839
-3.17057674 3.32753274
-3.17693060 3.32484854
-3.18328446 3.32215720
-3.18963832 3.31945931
-3.19599218 3.31667743
-3.20234604 3.31378377
-3.20869990 3.31088178
-3.21505376 3.30797303
-3.22140762 3.30519492
-3.22776149 3.30243306
-3.23411535 3.29966916
-3.24046921 3.29698360
-3.24682307 3.29438892
-3.25317693 3.29169494
-3.25953079 3.28891268
-3.26588465 3.28630351
-3.27223851 3.28369610
-3.27859238 3.28109052
-3.28494624 3.27860857
-3.29130010 3.27619341
-3.29765396 3.27372222
-3.30400782 3.27116176
-3.31036168 3.26874774
-3.31671554 3.26596679
-3.32306940 3.26308532
-3.32942326 3.26019945
-3.33577713 3.25734721
-3.34213099 3.25458122
-3.34848485 3.25172732
-3.35483871 3.24879215
-3.36119257 3.24576566
-3.36754643 3.24271852
-3.37390029 3.23961927
-3.38025415 3.23641405
-3.38660802 3.23321121
-3.39296188 3.22976019
-3.39931574 3.22637810
-3.40566960 3.22279662
-3.41202346 3.21915441
-3.41837732 3.21527248
-3.42473118 3.21129762
-3.43108504 3.20713137
-3.43743891 3.20292699
-3.44379277 3.19841827
-3.45014663 3.19381075
-3.45650049 3.18886054
-3.46285435 3.18335924
-3.46920821 3.17702423
-3.47556207 3.17049682
-3.48191593 3.16377804
-3.48826979 3.15683580
-3.49462366 3.15177725
-3.50097752 3.14803572
-3.50733138 3.14419775
-3.51368524 3.14044671
-3.52003910 3.13665574
-3.52639296 3.13280620
-3.53274682 3.12889965
-3.53910068 3.12512947
-3.54545455 3.12126138
-3.55180841 3.11732325
-3.55816227 3.11337877
-3.56451613 3.10955691
-3.57086999 3.10568995
-3.57722385 3.10181269
-3.58357771 3.09811330
-3.58993157 3.09438699
-3.59628543 3.09086132
-3.60263930 3.08751561
-3.60899316 3.08415516
-3.61534702 3.08099062
-3.62170088 3.07776100
-3.62805474 3.07468958
-3.63440860 3.07176252
-3.64076246 3.06907851
-3.64711632 3.06688891
-3.65347019 3.06484834
-3.65982405 3.06284108
-3.66617791 3.06094316
-3.67253177 3.05894665
-3.67888563 3.05703324
-3.68523949 3.05164677
-3.69159335 3.04363857
-3.69794721 3.03471641
-3.70430108 3.02543208
-3.71065494 3.01589929
-3.71700880 3.00553223
-3.72336266 2.99463175
-3.72971652 2.98325797
-3.73607038 2.97164536
-3.74242424 2.95913845
-3.74877810 2.94665618
-3.75513196 2.93476834
-3.76148583 2.92401169
-3.76783969 2.91397295
-3.77419355 2.90500583
-3.78054741 2.89739564
-3.78690127 2.89023994
-3.79325513 2.88386471
-3.79960899 2.87814643
-3.80596285 2.87333892
-3.81231672 2.86877440
-3.81867058 2.86469132
-3.82502444 2.86094168
-3.83137830 2.85747363
-3.83773216 2.85439583
-3.84408602 2.85144970
-3.85043988 2.84854948
-3.85679374 2.84569551
-3.86314761 2.84293338
-3.86950147 2.84039038
-3.87585533 2.83818725
-3.88220919 2.83628229
-3.88856305 2.83439521
-3.89491691 2.83251336
-3.90127077 2.83063091
-3.90762463 2.82874730
-3.91397849 2.82686252
-3.92033236 2.82497962
-3.92668622 2.82309721
-3.93304008 2.82121357
-3.93939394 2.81932867
-3.94574780 2.81744251
-3.95210166 2.81555763
-3.95845552 2.81367374
-3.96480938 2.81178852
-3.97116325 2.80990194
-3.97751711 2.80801400
-3.98387097 2.80612671
-3.99022483 2.80424094
-3.99657869 2.80235372
-4.00293255 2.80046506
-4.00928641 2.79857491
-4.01564027 2.79668478
-4.02199413 2.79479670
-4.02834800 2.79290707
-4.03470186 2.79101588
-4.04105572 2.78912311
-4.04740958 2.78722967
-4.05376344 2.78533883
-4.06011730 2.78344635
-4.06647116 2.78155219
-4.07282502 2.77965634
-4.07917889 2.77775913
-4.08553275 2.77586508
-4.09188661 2.77396927
-4.09824047 2.77207168
-4.10459433 2.77017228
-4.11094819 2.76827109
-4.11730205 2.76637434
-4.12365591 2.76447607
-4.13000978 2.76259577
-4.13636364 2.76075882
-4.14271750 2.75893517
-4.14907136 2.75713151
-4.15542522 2.75534631
-4.16177908 2.75358066
-4.16813294 2.75148207
-4.17448680 2.74737957
-4.18084066 2.74328575
-4.18719453 2.73904082
-4.19354839 2.73500045
-4.19990225 2.73095663
-4.20625611 2.72730610
-4.21260997 2.72385368
-4.21896383 2.72065040
-4.22531769 2.71721572
-4.23167155 2.71426493
-4.23802542 2.71137767
-4.24437928 2.70845631
-4.25073314 2.70550205
-4.25708700 2.69996380
-4.26344086 2.69440475
-4.26979472 2.68881807
-4.27614858 2.68315293
-4.28250244 2.67735284
-4.28885630 2.67153447
-4.29521017 2.66571019
-4.30156403 2.65989453
-4.30791789 2.65390481
-4.31427175 2.64708228
-4.32062561 2.64037670
-4.32697947 2.63438347
-4.33333333 2.62861133
-4.33968719 2.62304526
-4.34604106 2.61768259
-4.35239492 2.61251066
-4.35874878 2.60752294
-4.36510264 2.60271328
-4.37145650 2.59807611
-4.37781036 2.59361216
-4.38416422 2.58930980
-4.39051808 2.58516418
-4.39687195 2.58117070
-4.40322581 2.57732505
-4.40957967 2.57362922
-4.41593353 2.57007381
-4.42228739 2.56665466
-4.42864125 2.56336836
-4.43499511 2.56021170
-4.44134897 2.55718697
-4.44770283 2.55428733
-4.45405670 2.55150882
-4.46041056 2.54884895
-4.46676442 2.54630540
-4.47311828 2.54388055
-4.47947214 2.54156989
-4.48582600 2.53936947
-4.49217986 2.53727757
-4.49853372 2.53529258
-4.50488759 2.53341685
-4.51124145 2.53164806
-4.51759531 2.52998217
-4.52394917 2.52841809
-4.53030303 2.52695485
-4.53665689 2.52559467
-4.54301075 2.52433737
-4.54936461 2.52317872
-4.55571848 2.52211823
-4.56207234 2.52115550
-4.56842620 2.52029257
-4.57478006 2.51953144
-4.58113392 2.51886761
-4.58748778 2.51830117
-4.59384164 2.51783230
-4.60019550 2.51746288
-4.60654936 2.51719708
-4.61290323 2.51703018
-4.61925709 2.51696285
-4.62561095 2.51699591
-4.63196481 2.51713108
-4.63831867 2.51737487
-4.64467253 2.51772231
-4.65102639 2.51817478
-4.65738025 2.51365912
-4.66373412 2.50812539
-4.67008798 2.50254117
-4.67644184 2.49690585
-4.68279570 2.49122666
-4.68914956 2.48551165
-4.69550342 2.48013193
-4.70185728 2.47482314
-4.70821114 2.46951049
-4.71456500 2.46420298
-4.72091887 2.45891090
-4.72727273 2.45364485
-4.73362659 2.44842132
-4.73998045 2.44324745
-4.74633431 2.43829931
-4.75268817 2.43276374
-4.75904203 2.42594901
-4.76539589 2.41929175
-4.77174976 2.41266990
-4.77810362 2.40605558
-4.78445748 2.39925032
-4.79081134 2.39250730
-4.79716520 2.38586294
-4.80351906 2.37967484
-4.80987292 2.37356953
-4.81622678 2.36760890
-4.82258065 2.36164133
-4.82893451 2.35521881
-4.83528837 2.34873027
-4.84164223 2.34243033
-4.84799609 2.33632066
-4.85434995 2.33039904
-4.86070381 2.32481692
-4.86705767 2.31953567
-4.87341153 2.31441875
-4.87976540 2.30946679
-4.88611926 2.30477217
-4.89247312 2.30022466
-4.89882698 2.29582445
-4.90518084 2.29156138
-4.91153470 2.28743097
-4.91788856 2.28342860
-4.92424242 2.27955015
-4.93059629 2.27579688
-4.93695015 2.27215754
-4.94330401 2.26862746
-4.94965787 2.26530921
-4.95601173 2.26211366
-4.96236559 2.25901275
-4.96871945 2.25599608
-4.97507331 2.25305960
-4.98142717 2.25019972
-4.98778104 2.24741298
-4.99413490 2.24474210
-5.00048876 2.24213855
-5.00684262 2.23959626
-5.01319648 2.23711290
-5.01955034 2.23468644
-5.02590420 2.23232023
-5.03225806 2.23000972
-5.03861193 2.22775220
-5.04496579 2.22554726
-5.05131965 2.22339513
-5.05767351 2.22130091
-5.06402737 2.21926461
-5.07038123 2.21728613
-5.07673509 2.21536907
-5.08308895 2.21351825
-5.08944282 2.21174342
-5.09579668 2.21005250
-5.10215054 2.20845203
-5.10850440 2.20695434
-5.11485826 2.20557445
-5.12121212 2.20433321
-5.12756598 2.20325400
-5.13391984 2.20235861
-5.14027370 2.20167781
-5.14662757 2.20124760
-5.15298143 2.20111168
-5.15933529 2.20132119
-5.16568915 2.20193404
-5.17204301 2.20307241
-5.17839687 2.20475357
-5.18475073 2.20726794
-5.19110459 2.21067269
-5.19745846 2.21491846
-5.20381232 2.22008426
-5.21016618 2.22646298
-5.21652004 2.23442174
-5.22287390 2.24385294
-5.22922776 2.24551921
-5.23558162 2.24815352
-5.24193548 2.25200556
-5.24828935 2.25714357
-5.25464321 2.25724236
-5.26099707 2.25616649
-5.26735093 2.25520784
-5.27370479 2.25248810
-5.28005865 2.24548917
-5.28641251 2.23618077
-5.29276637 2.22750996
-5.29912023 2.21983090
-5.30547410 2.21317646
-5.31182796 2.20715601
-5.31818182 2.20179151
-5.32453568 2.19721742
-5.33088954 2.19294220
-5.33724340 2.18926362
-5.34359726 2.18576371
-5.34995112 2.18274758
-5.35630499 2.17987881
-5.36265885 2.17713283
-5.36901271 2.17468567
-5.37536657 2.17233874
-5.38172043 2.17006553
-5.38807429 2.16786008
-5.39442815 2.16579907
-5.40078201 2.16380630
-5.40713587 2.16184094
-5.41348974 2.15990253
-5.41984360 2.15799046
-5.42619746 2.15609712
-5.43255132 2.15422018
-5.43890518 2.15235753
-5.44525904 2.15050915
-5.45161290 2.14867742
-5.45796676 2.14685502
-5.46432063 2.14504070
-5.47067449 2.14323338
-5.47702835 2.14143305
-5.48338221 2.13964470
-5.48973607 2.13786091
-5.49608993 2.13608110
-5.50244379 2.13432811
-5.50879765 2.13264953
-5.51515152 2.13098914
-5.52150538 2.12933904
-5.52785924 2.12769901
-5.53421310 2.12606893
-5.54056696 2.12444872
-5.54692082 2.12297169
-5.55327468 2.12151101
-5.55962854 2.12000896
-5.56598240 2.11852374
-5.57233627 2.11705545
-5.57869013 2.11576567
-5.58504399 2.11453786
-5.59139785 2.11333588
-5.59775171 2.11220915
-5.60410557 2.11125442
-5.61045943 2.11033818
-5.61681329 2.10945768
-5.62316716 2.10879468
-5.62952102 2.10825077
-5.63587488 2.10774775
-5.64222874 2.10752398
-5.64858260 2.10735134
-5.65493646 2.10726066
-5.66129032 2.10750332
-5.66764418 2.10779560
-5.67399804 2.10835799
-5.68035191 2.10902043
-5.68670577 2.10984600
-5.69305963 2.11097904
-5.69941349 2.11222876
-5.70576735 2.11373651
-5.71212121 2.11528838
-5.71847507 2.11718851
-5.72482893 2.11914029
-5.73118280 2.12140684
-5.73753666 2.12370922
-5.74389052 2.12586442
-5.75024438 2.12753370
-5.75659824 2.12895198
-5.76295210 2.12981477
-5.76930596 2.13011125
-5.77565982 2.12994191
-5.78201369 2.12933282
-5.78836755 2.12820110
-5.79472141 2.12646697
-5.80107527 2.12412333
-5.80742913 2.12143814
-5.81378299 2.11846532
-5.82013685 2.11546501
-5.82649071 2.11243946
-5.83284457 2.10938833
-5.83919844 2.10641445
-5.84555230 2.10343192
-5.85190616 2.10042326
-5.85826002 2.09738809
-5.86461388 2.09432602
-5.87096774 2.09133192
-5.87732160 2.08834373
-5.88367546 2.08532809
-5.89002933 2.08228458
-5.89638319 2.07921279
-5.90273705 2.07619828
-5.90909091 2.07320629
-5.91544477 2.07018544
-5.92179863 2.06713530
-5.92815249 2.06405538
-5.93450635 2.06102044
-5.94086022 2.05802700
-5.94721408 2.05500322
-5.95356794 2.05194862
-5.95992180 2.04886268
-5.96627566 2.04580749
-5.97262952 2.04281556
-5.97898338 2.03979173
-5.98533724 2.03673546
-5.99169110 2.03364618
-5.99804497 2.03057122
-6.00439883 2.02758451
-6.01075269 2.02456426
-6.01710655 2.02150987
-6.02346041 2.01842071
-6.02981427 2.01532679
-6.03616813 2.01234998
-6.04252199 2.00933789
-6.04887586 2.00628987
-6.05522972 2.00320521
-6.06158358 1.99367430
-6.06793744 1.98376780
-6.07429130 1.97466694
-6.08064516 1.96634034
-6.08699902 1.95875037
-6.09335288 1.95185501
-6.09970674 1.94600727
-6.10606061 1.94074745
-6.11241447 1.93600522
-6.11876833 1.93173876
-6.12512219 1.92790747
-6.13147605 1.92468156
-6.13782991 1.92183518
-6.14418377 1.91928890
-6.15053763 1.91701322
-6.15689150 1.91498087
-6.16324536 1.91327102
-6.16959922 1.91178585
-6.17595308 1.91046069
-6.18230694 1.90927830
-6.18866080 1.90822309
-6.19501466 1.90733119
-6.20136852 1.90656708
-6.20772239 1.90588399
-6.21407625 1.90527278
-6.22043011 1.90472528
-6.22678397 1.90425780
-6.23313783 1.90386237
-6.23949169 1.90350656
-6.24584555 1.90308083
-6.25219941 1.90118262
-6.25855327 1.90112632
-6.26490714 1.90107469
-6.27126100 1.90102316
-6.27761486 1.90097173
-6.28396872 1.90092039
-6.29032258 1.90087093
-6.29667644 1.90082693
-6.30303030 1.90078302
-6.30938416 1.90073919
-6.31573803 1.90069544
-6.32209189 1.90065273
-6.32844575 1.90061628
-6.33479961 1.90057990
-6.34115347 1.90054359
-6.34750733 1.90050735
-6.35386119 1.90047129
-6.36021505 1.90044231
-6.36656891 1.90041337
-6.37292278 1.90038449
-6.37927664 1.90035566
-6.38563050 1.90032689
-6.39198436 1.90030458
-6.39833822 1.90028301
-6.40469208 1.90026147
-6.41104594 1.90023998
-6.41739980 1.90021852
-6.42375367 1.90020269
-6.43010753 1.90018839
-6.43646139 1.90017411
-6.44281525 1.90015986
-6.44916911 1.90014564
-6.45552297 1.90013620
-6.46187683 1.90012909
-6.46823069 1.90012200
-6.47458456 1.90011492
-6.48093842 1.90010785
-6.48729228 1.90010472
-6.49364614 1.90010472
-6.50000000 1.90010472
+AllInputTerms AllOutputTerms
+0.000000000 4.599895277
+0.006353861 4.599895277
+0.012707722 4.599895277
+0.019061584 4.599892153
+0.025415445 4.599885084
+0.031769306 4.599878001
+0.038123167 4.599870905
+0.044477028 4.599863796
+0.050830890 4.599854356
+0.057184751 4.599840135
+0.063538612 4.599825888
+0.069892473 4.599811614
+0.076246334 4.599797313
+0.082600196 4.599781479
+0.088954057 4.599760024
+0.095307918 4.599738529
+0.101661779 4.599716994
+0.108015640 4.599695418
+0.114369501 4.599673109
+0.120723363 4.599644337
+0.127077224 4.599615510
+0.133431085 4.599586630
+0.139784946 4.599557695
+0.146138807 4.599528705
+0.152492669 4.599492655
+0.158846530 4.599456412
+0.165200391 4.599420101
+0.171554252 4.599383721
+0.177908113 4.599347272
+0.184261975 4.599304555
+0.190615836 4.599260809
+0.196969697 4.599216981
+0.203323558 4.599173070
+0.209677419 4.599129075
+0.216031281 4.599079607
+0.222385142 4.599028272
+0.228739003 4.598976839
+0.235092864 4.598925308
+0.241446725 4.598873679
+0.247800587 4.598817377
+0.254154448 4.596919174
+0.260508309 4.596493440
+0.266862170 4.596137632
+0.273216031 4.595742200
+0.279569892 4.595274723
+0.285923754 4.594727219
+0.292277615 4.594116008
+0.298631476 4.593432922
+0.304985337 4.592668807
+0.311339198 4.591776911
+0.317693060 4.590721701
+0.324046921 4.589539310
+0.330400782 4.588214154
+0.336754643 4.586728981
+0.343108504 4.585019129
+0.349462366 4.582986784
+0.355816227 4.580711102
+0.362170088 4.578164818
+0.368523949 4.575318436
+0.374877810 4.572092534
+0.381231672 4.568261237
+0.387585533 4.563994780
+0.393939394 4.559252552
+0.400293255 4.553992732
+0.406647116 4.548144994
+0.413000978 4.541249632
+0.419354839 4.533659657
+0.425708700 4.525333057
+0.432062561 4.516232199
+0.438416422 4.506325696
+0.444770283 4.496794792
+0.451124145 4.493710135
+0.457478006 4.490662106
+0.463831867 4.487650020
+0.470185728 4.484673209
+0.476539589 4.481579293
+0.482893451 4.478490131
+0.489247312 4.475435736
+0.495601173 4.472415487
+0.501955034 4.469428781
+0.508308895 4.466353820
+0.514662757 4.463264545
+0.521016618 4.460208273
+0.527370479 4.457184444
+0.533724340 4.454192506
+0.540078201 4.451137323
+0.546432063 4.448051381
+0.552785924 4.444996778
+0.559139785 4.441973003
+0.565493646 4.438979556
+0.571847507 4.435944616
+0.578201369 4.432864702
+0.584555230 4.429814557
+0.590909091 4.426793715
+0.597262952 4.423801721
+0.603616813 4.420787213
+0.609970674 4.417715418
+0.616324536 4.414671913
+0.622678397 4.411656273
+0.629032258 4.408668084
+0.635386119 4.405673984
+0.641739980 4.402611914
+0.648093842 4.399576742
+0.654447703 4.396568080
+0.660801564 4.393585550
+0.667155425 4.390611667
+0.673509286 4.387560536
+0.679863148 4.384534993
+0.686217009 4.381534685
+0.692570870 4.378803034
+0.698924731 4.376475128
+0.705278592 4.374472509
+0.711632454 4.372876293
+0.717986315 4.371667843
+0.724340176 4.370882078
+0.730694037 4.370495109
+0.737047898 4.370388857
+0.743401760 4.370642624
+0.749755621 4.371087594
+0.756109482 4.371809708
+0.762463343 4.372860066
+0.768817204 4.374172697
+0.775171065 4.375519338
+0.781524927 4.376944539
+0.787878788 4.378390691
+0.794232649 4.379857111
+0.800586510 4.381337853
+0.806940371 4.382825703
+0.813294233 4.383995232
+0.819648094 4.385184747
+0.826001955 4.386272381
+0.832355816 4.387263153
+0.838709677 4.388270397
+0.845063539 4.389218723
+0.851417400 4.389931993
+0.857771261 4.390665144
+0.864125122 4.391414233
+0.870478983 4.392178065
+0.876832845 4.392925336
+0.883186706 4.393405489
+0.889540567 4.393768439
+0.895894428 4.394047827
+0.902248289 4.394341121
+0.908602151 4.394414128
+0.914956012 4.394434726
+0.921309873 4.394473933
+0.927663734 4.394455866
+0.934017595 4.394023022
+0.940371457 4.393565645
+0.946725318 4.392979180
+0.953079179 4.392264873
+0.959433040 4.391194008
+0.965786901 4.389891155
+0.972140762 4.387967116
+0.978494624 4.386008929
+0.984848485 4.384078347
+0.991202346 4.382159658
+0.997556207 4.380245187
+1.003910068 4.378342248
+1.010263930 4.376450758
+1.016617791 4.374570582
+1.022971652 4.372701585
+1.029325513 4.370836957
+1.035679374 4.368777798
+1.042033236 4.366100940
+1.048387097 4.363131178
+1.054740958 4.359902890
+1.061094819 4.356444999
+1.067448680 4.352898808
+1.073802542 4.349689538
+1.080156403 4.347161282
+1.086510264 4.346117831
+1.092864125 4.346638603
+1.099217986 4.347588660
+1.105571848 4.348367496
+1.111925709 4.349145305
+1.118279570 4.349580392
+1.124633431 4.350038990
+1.130987292 4.350146966
+1.137341153 4.350021415
+1.143695015 4.349874085
+1.150048876 4.349738316
+1.156402737 4.349455770
+1.162756598 4.348792090
+1.169110459 4.348140830
+1.175464321 4.347318692
+1.181818182 4.346244887
+1.188172043 4.344696513
+1.194525904 4.342885325
+1.200879765 4.340822753
+1.207233627 4.338510265
+1.213587488 4.336156649
+1.219941349 4.333355362
+1.226295210 4.330137299
+1.232649071 4.326641602
+1.239002933 4.321989008
+1.245356794 4.316169893
+1.251710655 4.310255005
+1.258064516 4.304334601
+1.264418377 4.298371995
+1.270772239 4.292366629
+1.277126100 4.286098146
+1.283479961 4.279628008
+1.289833822 4.273099795
+1.296187683 4.266519469
+1.302541544 4.259886618
+1.308895406 4.253200509
+1.315249267 4.246299266
+1.321603128 4.240059447
+1.327956989 4.237953162
+1.334310850 4.235855128
+1.340664712 4.233765267
+1.347018573 4.231683504
+1.353372434 4.229604349
+1.359726295 4.227531097
+1.366080156 4.225465702
+1.372434018 4.223408091
+1.378787879 4.221358193
+1.385141740 4.219311371
+1.391495601 4.217269217
+1.397849462 4.215234545
+1.404203324 4.213207286
+1.410557185 4.211187374
+1.416911046 4.209171028
+1.423264907 4.207158130
+1.429618768 4.205152358
+1.435972630 4.203153647
+1.442326491 4.201161932
+1.448680352 4.199174293
+1.455034213 4.197188899
+1.461388074 4.195210291
+1.467741935 4.193238408
+1.474095797 4.191273188
+1.480449658 4.189312571
+1.486803519 4.187353011
+1.493157380 4.185399915
+1.499511241 4.183453221
+1.505865103 4.181512872
+1.512218964 4.179577670
+1.518572825 4.177642355
+1.524926686 4.175713192
+1.531280547 4.173790126
+1.537634409 4.171873100
+1.543988270 4.169961779
+1.550342131 4.168049188
+1.556695992 4.166142455
+1.563049853 4.164241525
+1.569403715 4.162346345
+1.575757576 4.160456860
+1.582111437 4.158566124
+1.588465298 4.156680384
+1.594819159 4.154800166
+1.601173021 4.152925419
+1.607526882 4.151056092
+1.613880743 4.149186104
+1.620234604 4.147319983
+1.626588465 4.145459116
+1.632942326 4.143603453
+1.639296188 4.141752946
+1.645650049 4.139902380
+1.652003910 4.138054566
+1.658357771 4.136211747
+1.664711632 4.134373878
+1.671065494 4.132540910
+1.677419355 4.130708496
+1.683773216 4.128877732
+1.690127077 4.127051717
+1.696480938 4.125230405
+1.702834800 4.123413751
+1.709188661 4.121598273
+1.715542522 4.119783356
+1.721896383 4.117972950
+1.728250244 4.116167012
+1.734604106 4.114365499
+1.740957967 4.112565790
+1.747311828 4.110765567
+1.753665689 4.168153884
+1.760019550 4.166675537
+1.766373412 4.164106453
+1.772727273 4.160437753
+1.779081134 4.156385975
+1.785434995 4.151833303
+1.791788856 4.146677771
+1.798142717 4.141366376
+1.804496579 4.135700681
+1.810850440 4.129929818
+1.817204301 4.123874560
+1.823558162 4.117266592
+1.829912023 4.110423379
+1.836265885 4.103170947
+1.842619746 4.095818864
+1.848973607 4.088323358
+1.855327468 4.080426295
+1.861681329 4.072417514
+1.868035191 4.064291322
+1.874389052 4.055685721
+1.880742913 4.046336936
+1.887096774 4.036896117
+1.893450635 4.027612078
+1.899804497 4.018179925
+1.906158358 4.008590765
+1.912512219 3.998844491
+1.918866080 3.989206249
+1.925219941 3.979582314
+1.931573803 3.969730626
+1.937927664 3.963998992
+1.944281525 3.962015501
+1.950635386 3.960035623
+1.956989247 3.958059326
+1.963343109 3.956086577
+1.969696970 3.954113625
+1.976050831 3.952141011
+1.982404692 3.950171837
+1.988758553 3.948206070
+1.995112414 3.946243679
+2.001466276 3.944281718
+2.007820137 3.942319159
+2.014173998 3.940359871
+2.020527859 3.938403822
+2.026881720 3.936450982
+2.033235582 3.934499204
+2.039589443 3.932545907
+2.045943304 3.930595717
+2.052297165 3.928321055
+2.058651026 3.926276349
+2.065004888 3.924475266
+2.071358749 3.922774809
+2.077712610 3.921104727
+2.084066471 3.919464304
+2.090420332 3.918010740
+2.096774194 3.916680680
+2.103128055 3.915368777
+2.109481916 3.914080307
+2.115835777 3.912814724
+2.122189638 3.911723968
+2.128543500 3.910668734
+2.134897361 3.909680634
+2.141251222 3.908669775
+2.147605083 3.907587992
+2.153958944 3.906523952
+2.160312805 3.905477277
+2.166666667 3.904442682
+2.173020528 3.903423931
+2.179374389 3.902421528
+2.185728250 3.901486449
+2.192082111 3.900445921
+2.198435973 3.899393150
+2.204789834 3.898353233
+2.211143695 3.897327377
+2.217497556 3.896315330
+2.223851417 3.895323424
+2.230205279 3.894239779
+2.236559140 3.893166259
+2.242913001 3.892085629
+2.249266862 3.890921186
+2.255620723 3.763373136
+2.261974585 3.760810581
+2.268328446 3.758220845
+2.274682307 3.755515096
+2.281036168 3.752787836
+2.287390029 3.750049993
+2.293743891 3.747296167
+2.300097752 3.744524926
+2.306451613 3.741705721
+2.312805474 3.738783159
+2.319159335 3.735822614
+2.325513196 3.732839473
+2.331867058 3.729832989
+2.338220919 3.726807130
+2.344574780 3.723761656
+2.350928641 3.720696322
+2.357282502 3.717609935
+2.363636364 3.714498281
+2.369990225 3.711365982
+2.376344086 3.708212779
+2.382697947 3.704895960
+2.389051808 3.701549104
+2.395405670 3.698151488
+2.401759531 3.694720822
+2.408113392 3.691262237
+2.414467253 3.687775337
+2.420821114 3.684259719
+2.427174976 3.680709529
+2.433528837 3.677129365
+2.439882698 3.673519197
+2.446236559 3.669878595
+2.452590420 3.666207121
+2.458944282 3.662499570
+2.465298143 3.658759155
+2.471652004 3.654986475
+2.478005865 3.651045967
+2.484359726 3.647017997
+2.490713587 3.642936519
+2.497067449 3.638788673
+2.503421310 3.636596731
+2.509775171 3.636113994
+2.516129032 3.635610934
+2.522482893 3.635103238
+2.528836755 3.634534439
+2.535190616 3.633850040
+2.541544477 3.633174274
+2.547898338 3.632506997
+2.554252199 3.631845503
+2.560606061 3.631189380
+2.566959922 3.630541357
+2.573313783 3.629901299
+2.579667644 3.629269072
+2.586021505 3.628642677
+2.592375367 3.628020518
+2.598729228 3.627405830
+2.605083089 3.626798488
+2.611436950 3.626184131
+2.617790811 3.625542149
+2.624144673 3.624883923
+2.630498534 3.624060753
+2.636852395 3.623189558
+2.643206256 3.622327417
+2.649560117 3.621478017
+2.655913978 3.620645245
+2.662267840 3.619821076
+2.668621701 3.619029171
+2.674975562 3.618259835
+2.681329423 3.617499446
+2.687683284 3.616733785
+2.694037146 3.615929936
+2.700391007 3.615010095
+2.706744868 3.614080723
+2.713098729 3.613215121
+2.719452590 3.612358954
+2.725806452 3.611513289
+2.732160313 3.610643258
+2.738514174 3.609617457
+2.744868035 3.608593932
+2.751221896 3.607027619
+2.757575758 3.603513978
+2.763929619 3.599607885
+2.770283480 3.595554668
+2.776637341 3.591470975
+2.782991202 3.587039699
+2.789345064 3.582427638
+2.795698925 3.577769876
+2.802052786 3.573065578
+2.808406647 3.568294094
+2.814760508 3.563340228
+2.821114370 3.558021643
+2.827468231 3.552516327
+2.833822092 3.546930677
+2.840175953 3.541262601
+2.846529814 3.535508239
+2.852883675 3.529664792
+2.859237537 3.523731944
+2.865591398 3.517440754
+2.871945259 3.510815250
+2.878299120 3.503981681
+2.884652981 3.497018115
+2.891006843 3.489873772
+2.897360704 3.482525406
+2.903714565 3.475027943
+2.910068426 3.467225386
+2.916422287 3.458886336
+2.922776149 3.450555637
+2.929130010 3.442048766
+2.935483871 3.433360109
+2.941837732 3.424602968
+2.948191593 3.415281614
+2.954545455 3.405651752
+2.960899316 3.403007137
+2.967253177 3.400434512
+2.973607038 3.397862391
+2.979960899 3.395287917
+2.986314761 3.392713887
+2.992668622 3.390140357
+2.999022483 3.387568883
+3.005376344 3.385000338
+3.011730205 3.382430013
+3.018084066 3.380077653
+3.024437928 3.377875015
+3.030791789 3.375524943
+3.037145650 3.373402036
+3.043499511 3.371116711
+3.049853372 3.368824184
+3.056207234 3.366623179
+3.062561095 3.364503845
+3.068914956 3.362409804
+3.075268817 3.360336018
+3.081622678 3.358353454
+3.087976540 3.356478896
+3.094330401 3.354622474
+3.100684262 3.352771569
+3.107038123 3.350907341
+3.113391984 3.348993885
+3.119745846 3.346909885
+3.126099707 3.344819531
+3.132453568 3.342598890
+3.138807429 3.340275375
+3.145161290 3.337883015
+3.151515152 3.335412086
+3.157869013 3.332875386
+3.164222874 3.330208393
+3.170576735 3.327532743
+3.176930596 3.324848544
+3.183284457 3.322157198
+3.189638319 3.319459305
+3.195992180 3.316677427
+3.202346041 3.313783765
+3.208699902 3.310881781
+3.215053763 3.307973034
+3.221407625 3.305194923
+3.227761486 3.302433058
+3.234115347 3.299669163
+3.240469208 3.296983598
+3.246823069 3.294388917
+3.253176931 3.291694941
+3.259530792 3.288912681
+3.265884653 3.286303511
+3.272238514 3.283696099
+3.278592375 3.281090518
+3.284946237 3.278608571
+3.291300098 3.276193408
+3.297653959 3.273722220
+3.304007820 3.271161759
+3.310361681 3.268747744
+3.316715543 3.265966787
+3.323069404 3.263085323
+3.329423265 3.260199447
+3.335777126 3.257347210
+3.342130987 3.254581221
+3.348484848 3.251727316
+3.354838710 3.248792146
+3.361192571 3.245765662
+3.367546432 3.242718518
+3.373900293 3.239619271
+3.380254154 3.236414055
+3.386608016 3.233211207
+3.392961877 3.229760188
+3.399315738 3.226378097
+3.405669599 3.222796617
+3.412023460 3.219154408
+3.418377322 3.215272481
+3.424731183 3.211297617
+3.431085044 3.207131367
+3.437438905 3.202926988
+3.443792766 3.198418272
+3.450146628 3.193810749
+3.456500489 3.188860538
+3.462854350 3.183359238
+3.469208211 3.177024226
+3.475562072 3.170496818
+3.481915934 3.163778038
+3.488269795 3.156835795
+3.494623656 3.151777246
+3.500977517 3.148035721
+3.507331378 3.144197746
+3.513685239 3.140446705
+3.520039101 3.136655740
+3.526392962 3.132806200
+3.532746823 3.128899648
+3.539100684 3.125129471
+3.545454545 3.121261384
+3.551808407 3.117323246
+3.558162268 3.113378774
+3.564516129 3.109556905
+3.570869990 3.105689954
+3.577223851 3.101812687
+3.583577713 3.098113304
+3.589931574 3.094386990
+3.596285435 3.090861319
+3.602639296 3.087515615
+3.608993157 3.084155158
+3.615347019 3.080990618
+3.621700880 3.077760997
+3.628054741 3.074689575
+3.634408602 3.071762524
+3.640762463 3.069078509
+3.647116325 3.066888906
+3.653470186 3.064848343
+3.659824047 3.062841076
+3.666177908 3.060943162
+3.672531769 3.058946649
+3.678885630 3.057033237
+3.685239492 3.051646773
+3.691593353 3.043638574
+3.697947214 3.034716407
+3.704301075 3.025432082
+3.710654936 3.015899291
+3.717008798 3.005532233
+3.723362659 2.994631745
+3.729716520 2.983257966
+3.736070381 2.971645362
+3.742424242 2.959138446
+3.748778104 2.946656184
+3.755131965 2.934768336
+3.761485826 2.924011690
+3.767839687 2.913972946
+3.774193548 2.905005829
+3.780547410 2.897395635
+3.786901271 2.890239940
+3.793255132 2.883864707
+3.799608993 2.878146427
+3.805962854 2.873338916
+3.812316716 2.868774397
+3.818670577 2.864691316
+3.825024438 2.860941683
+3.831378299 2.857473629
+3.837732160 2.854395833
+3.844086022 2.851449698
+3.850439883 2.848549478
+3.856793744 2.845695513
+3.863147605 2.842933383
+3.869501466 2.840390382
+3.875855327 2.838187245
+3.882209189 2.836282288
+3.888563050 2.834395205
+3.894916911 2.832513363
+3.901270772 2.830630910
+3.907624633 2.828747302
+3.913978495 2.826862520
+3.920332356 2.824979616
+3.926686217 2.823097208
+3.933040078 2.821213567
+3.939393939 2.819328674
+3.945747801 2.817442508
+3.952101662 2.815557626
+3.958455523 2.813673739
+3.964809384 2.811788518
+3.971163245 2.809901944
+3.977517107 2.808013996
+3.983870968 2.806126709
+3.990224829 2.804240935
+3.996578690 2.802353725
+4.002932551 2.800465058
+4.009286413 2.798574913
+4.015640274 2.796684781
+4.021994135 2.794796696
+4.028347996 2.792907069
+4.034701857 2.791015880
+4.041055718 2.789123106
+4.047409580 2.787229672
+4.053763441 2.785338834
+4.060117302 2.783446347
+4.066471163 2.781552188
+4.072825024 2.779656337
+4.079178886 2.777759126
+4.085532747 2.775865077
+4.091886608 2.773969268
+4.098240469 2.772071676
+4.104594330 2.770172279
+4.110948192 2.768271094
+4.117302053 2.766374342
+4.123655914 2.764476074
+4.130009775 2.762595767
+4.136363636 2.760758819
+4.142717498 2.758935172
+4.149071359 2.757131514
+4.155425220 2.755346309
+4.161779081 2.753580657
+4.168132942 2.751482072
+4.174486804 2.747379566
+4.180840665 2.743285748
+4.187194526 2.739040821
+4.193548387 2.735000453
+4.199902248 2.730956631
+4.206256109 2.727306104
+4.212609971 2.723853682
+4.218963832 2.720650398
+4.225317693 2.717215725
+4.231671554 2.714264925
+4.238025415 2.711377668
+4.244379277 2.708456312
+4.250733138 2.705502047
+4.257086999 2.699963796
+4.263440860 2.694404754
+4.269794721 2.688818075
+4.276148583 2.683152932
+4.282502444 2.677352841
+4.288856305 2.671534472
+4.295210166 2.665710188
+4.301564027 2.659894532
+4.307917889 2.653904808
+4.314271750 2.647082281
+4.320625611 2.640376703
+4.326979472 2.634383466
+4.333333333 2.628611333
+4.339687195 2.623045257
+4.346041056 2.617682590
+4.352394917 2.612510659
+4.358748778 2.607522940
+4.365102639 2.602713283
+4.371456500 2.598076108
+4.377810362 2.593612156
+4.384164223 2.589309799
+4.390518084 2.585164176
+4.396871945 2.581170702
+4.403225806 2.577325054
+4.409579668 2.573629224
+4.415933529 2.570073814
+4.422287390 2.566654660
+4.428641251 2.563368355
+4.434995112 2.560211698
+4.441348974 2.557186973
+4.447702835 2.554287333
+4.454056696 2.551508820
+4.460410557 2.548848951
+4.466764418 2.546305402
+4.473118280 2.543880553
+4.479472141 2.541569889
+4.485826002 2.539369471
+4.492179863 2.537277567
+4.498533724 2.535292581
+4.504887586 2.533416848
+4.511241447 2.531648061
+4.517595308 2.529982170
+4.523949169 2.528418089
+4.530303030 2.526954850
+4.536656891 2.525594665
+4.543010753 2.524337371
+4.549364614 2.523178724
+4.555718475 2.522118228
+4.562072336 2.521155495
+4.568426197 2.520292572
+4.574780059 2.519531438
+4.581133920 2.518867611
+4.587487781 2.518301166
+4.593841642 2.517832298
+4.600195503 2.517462875
+4.606549365 2.517197081
+4.612903226 2.517030180
+4.619257087 2.516962853
+4.625610948 2.516995911
+4.631964809 2.517131080
+4.638318671 2.517374868
+4.644672532 2.517722312
+4.651026393 2.518174779
+4.657380254 2.513659123
+4.663734115 2.508125388
+4.670087977 2.502541173
+4.676441838 2.496905848
+4.682795699 2.491226658
+4.689149560 2.485511648
+4.695503421 2.480131931
+4.701857283 2.474823139
+4.708211144 2.469510489
+4.714565005 2.464202984
+4.720918866 2.458910899
+4.727272727 2.453644854
+4.733626588 2.448421318
+4.739980450 2.443247453
+4.746334311 2.438299314
+4.752688172 2.432763745
+4.759042033 2.425949005
+4.765395894 2.419291750
+4.771749756 2.412669897
+4.778103617 2.406055580
+4.784457478 2.399250324
+4.790811339 2.392507300
+4.797165200 2.385862943
+4.803519062 2.379674845
+4.809872923 2.373569532
+4.816226784 2.367608901
+4.822580645 2.361641330
+4.828934506 2.355218813
+4.835288368 2.348730271
+4.841642229 2.342430330
+4.847996090 2.336320662
+4.854349951 2.330399039
+4.860703812 2.324816922
+4.867057674 2.319535672
+4.873411535 2.314418752
+4.879765396 2.309466791
+4.886119257 2.304772174
+4.892473118 2.300224661
+4.898826979 2.295824445
+4.905180841 2.291561381
+4.911534702 2.287430967
+4.917888563 2.283428598
+4.924242424 2.279550153
+4.930596285 2.275796879
+4.936950147 2.272157536
+4.943304008 2.268627457
+4.949657869 2.265309212
+4.956011730 2.262113657
+4.962365591 2.259012750
+4.968719453 2.255996077
+4.975073314 2.253059604
+4.981427175 2.250199716
+4.987781036 2.247412981
+4.994134897 2.244742103
+5.000488759 2.242138547
+5.006842620 2.239596260
+5.013196481 2.237112902
+5.019550342 2.234686436
+5.025904203 2.232320228
+5.032258065 2.230009725
+5.038611926 2.227752196
+5.044965787 2.225547264
+5.051319648 2.223395128
+5.057673509 2.221300911
+5.064027370 2.219264613
+5.070381232 2.217286135
+5.076735093 2.215369071
+5.083088954 2.213518254
+5.089442815 2.211743418
+5.095796676 2.210052495
+5.102150538 2.208452035
+5.108504399 2.206954343
+5.114858260 2.205574451
+5.121212121 2.204333209
+5.127565982 2.203253997
+5.133919844 2.202358615
+5.140273705 2.201677808
+5.146627566 2.201247601
+5.152981427 2.201111684
+5.159335288 2.201321192
+5.165689150 2.201934041
+5.172043011 2.203072413
+5.178396872 2.204753575
+5.184750733 2.207267944
+5.191104594 2.210672693
+5.197458456 2.214918459
+5.203812317 2.220084262
+5.210166178 2.226462979
+5.216520039 2.234421744
+5.222873900 2.243852944
+5.229227761 2.245519207
+5.235581623 2.248153515
+5.241935484 2.252005561
+5.248289345 2.257143573
+5.254643206 2.257242365
+5.260997067 2.256166494
+5.267350929 2.255207844
+5.273704790 2.252488099
+5.280058651 2.245489169
+5.286412512 2.236180770
+5.292766373 2.227509962
+5.299120235 2.219830899
+5.305474096 2.213176464
+5.311827957 2.207156013
+5.318181818 2.201791510
+5.324535679 2.197217425
+5.330889541 2.192942201
+5.337243402 2.189263625
+5.343597263 2.185763709
+5.349951124 2.182747581
+5.356304985 2.179878809
+5.362658847 2.177132825
+5.369012708 2.174685668
+5.375366569 2.172338745
+5.381720430 2.170065527
+5.388074291 2.167860085
+5.394428152 2.165799070
+5.400782014 2.163806303
+5.407135875 2.161840938
+5.413489736 2.159902531
+5.419843597 2.157990461
+5.426197458 2.156097125
+5.432551320 2.154220179
+5.438905181 2.152357531
+5.445259042 2.150509149
+5.451612903 2.148677415
+5.457966764 2.146855019
+5.464320626 2.145040704
+5.470674487 2.143233382
+5.477028348 2.141433054
+5.483382209 2.139644701
+5.489736070 2.137860906
+5.496089932 2.136081099
+5.502443793 2.134328107
+5.508797654 2.132649534
+5.515151515 2.130989142
+5.521505376 2.129339036
+5.527859238 2.127699011
+5.534213099 2.126068931
+5.540566960 2.124448719
+5.546920821 2.122971692
+5.553274682 2.121511010
+5.559628543 2.120008961
+5.565982405 2.118523744
+5.572336266 2.117055449
+5.578690127 2.115765674
+5.585043988 2.114537858
+5.591397849 2.113335881
+5.597751711 2.112209154
+5.604105572 2.111254423
+5.610459433 2.110338185
+5.616813294 2.109457677
+5.623167155 2.108794683
+5.629521017 2.108250774
+5.635874878 2.107747754
+5.642228739 2.107523978
+5.648582600 2.107351345
+5.654936461 2.107260660
+5.661290323 2.107503323
+5.667644184 2.107795601
+5.673998045 2.108357990
+5.680351906 2.109020431
+5.686705767 2.109846004
+5.693059629 2.110979040
+5.699413490 2.112228755
+5.705767351 2.113736512
+5.712121212 2.115288377
+5.718475073 2.117188508
+5.724828935 2.119140287
+5.731182796 2.121406844
+5.737536657 2.123709219
+5.743890518 2.125864421
+5.750244379 2.127533697
+5.756598240 2.128951976
+5.762952102 2.129814768
+5.769305963 2.130111253
+5.775659824 2.129941914
+5.782013685 2.129332824
+5.788367546 2.128201102
+5.794721408 2.126466974
+5.801075269 2.124123331
+5.807429130 2.121438142
+5.813782991 2.118465315
+5.820136852 2.115465007
+5.826490714 2.112439464
+5.832844575 2.109388333
+5.839198436 2.106414450
+5.845552297 2.103431920
+5.851906158 2.100423258
+5.858260020 2.097388086
+5.864613881 2.094326016
+5.870967742 2.091331916
+5.877321603 2.088343727
+5.883675464 2.085328087
+5.890029326 2.082284582
+5.896383187 2.079212787
+5.902737048 2.076198279
+5.909090909 2.073206285
+5.915444770 2.070185443
+5.921798631 2.067135298
+5.928152493 2.064055384
+5.934506354 2.061020444
+5.940860215 2.058026997
+5.947214076 2.055003222
+5.953567937 2.051948619
+5.959921799 2.048862677
+5.966275660 2.045807494
+5.972629521 2.042815556
+5.978983382 2.039791727
+5.985337243 2.036735455
+5.991691105 2.033646180
+5.998044966 2.030571219
+6.004398827 2.027584513
+6.010752688 2.024564264
+6.017106549 2.021509869
+6.023460411 2.018420707
+6.029814272 2.015326791
+6.036168133 2.012349980
+6.042521994 2.009337894
+6.048875855 2.006289865
+6.055229717 2.003205208
+6.061583578 1.993674304
+6.067937439 1.983767801
+6.074291300 1.974666943
+6.080645161 1.966340343
+6.086999022 1.958750368
+6.093352884 1.951855006
+6.099706745 1.946007268
+6.106060606 1.940747448
+6.112414467 1.936005220
+6.118768328 1.931738763
+6.125122190 1.927907466
+6.131476051 1.924681564
+6.137829912 1.921835182
+6.144183773 1.919288898
+6.150537634 1.917013216
+6.156891496 1.914980871
+6.163245357 1.913271019
+6.169599218 1.911785846
+6.175953079 1.910460690
+6.182306940 1.909278299
+6.188660802 1.908223089
+6.195014663 1.907331193
+6.201368524 1.906567078
+6.207722385 1.905883992
+6.214076246 1.905272781
+6.220430108 1.904725277
+6.226783969 1.904257800
+6.233137830 1.903862368
+6.239491691 1.903506560
+6.245845552 1.903080826
+6.252199413 1.901182623
+6.258553275 1.901126321
+6.264907136 1.901074692
+6.271260997 1.901023161
+6.277614858 1.900971728
+6.283968719 1.900920393
+6.290322581 1.900870925
+6.296676442 1.900826930
+6.303030303 1.900783019
+6.309384164 1.900739191
+6.315738025 1.900695445
+6.322091887 1.900652728
+6.328445748 1.900616279
+6.334799609 1.900579899
+6.341153470 1.900543588
+6.347507331 1.900507345
+6.353861193 1.900471295
+6.360215054 1.900442305
+6.366568915 1.900413370
+6.372922776 1.900384490
+6.379276637 1.900355663
+6.385630499 1.900326891
+6.391984360 1.900304582
+6.398338221 1.900283006
+6.404692082 1.900261471
+6.411045943 1.900239976
+6.417399804 1.900218521
+6.423753666 1.900202687
+6.430107527 1.900188386
+6.436461388 1.900174112
+6.442815249 1.900159865
+6.449169110 1.900145644
+6.455522972 1.900136204
+6.461876833 1.900129095
+6.468230694 1.900121999
+6.474584555 1.900114916
+6.480938416 1.900107847
+6.487292278 1.900104723
+6.493646139 1.900104723
+6.500000000 1.900104723
diff --git a/examples/mamdani/AllTerms.fll b/examples/mamdani/AllTerms.fll
index 58d5705..4db1b32 100644
--- a/examples/mamdani/AllTerms.fll
+++ b/examples/mamdani/AllTerms.fll
@@ -1,7 +1,8 @@
-Engine: qtfuzzylite
+Engine: AllTerms
InputVariable: AllInputTerms
enabled: true
range: 0.000 6.500
+ lock-range: false
term: A Sigmoid 0.500 -20.000
term: B ZShape 0.000 1.000
term: C Ramp 1.000 0.000
@@ -25,11 +26,11 @@ InputVariable: AllInputTerms
OutputVariable: AllOutputTerms
enabled: true
range: 0.000 6.500
- accumulation: Maximum
+ lock-range: false
+ aggregation: Maximum
defuzzifier: Centroid 200
default: nan
lock-previous: false
- lock-range: false
term: A Sigmoid 0.500 -20.000
term: B ZShape 0.000 1.000
term: C Ramp 1.000 0.000
@@ -54,7 +55,8 @@ RuleBlock:
enabled: true
conjunction: Minimum
disjunction: Maximum
- activation: Minimum
+ implication: Minimum
+ activation: General
rule: if AllInputTerms is A then AllOutputTerms is T
rule: if AllInputTerms is B then AllOutputTerms is S
rule: if AllInputTerms is C then AllOutputTerms is R
diff --git a/examples/mamdani/AllTerms.java b/examples/mamdani/AllTerms.java
index c59f9a1..6d4651d 100644
--- a/examples/mamdani/AllTerms.java
+++ b/examples/mamdani/AllTerms.java
@@ -1,4 +1,5 @@
import com.fuzzylite.*;
+import com.fuzzylite.activation.*
import com.fuzzylite.defuzzifier.*;
import com.fuzzylite.factory.*;
import com.fuzzylite.hedge.*;
@@ -12,72 +13,80 @@ import com.fuzzylite.variable.*;
public class AllTerms{
public static void main(String[] args){
+//Code automatically generated with fuzzylite 6.0.
+
Engine engine = new Engine();
-engine.setName("qtfuzzylite");
+engine.setName("AllTerms");
+engine.setDescription("");
-InputVariable inputVariable = new InputVariable();
-inputVariable.setEnabled(true);
-inputVariable.setName("AllInputTerms");
-inputVariable.setRange(0.000, 6.500);
-inputVariable.addTerm(new Sigmoid("A", 0.500, -20.000));
-inputVariable.addTerm(new ZShape("B", 0.000, 1.000));
-inputVariable.addTerm(new Ramp("C", 1.000, 0.000));
-inputVariable.addTerm(new Triangle("D", 0.500, 1.000, 1.500));
-inputVariable.addTerm(new Trapezoid("E", 1.000, 1.250, 1.750, 2.000));
-inputVariable.addTerm(new Concave("F", 0.850, 0.250));
-inputVariable.addTerm(new Rectangle("G", 1.750, 2.250));
-inputVariable.addTerm(Discrete.create("H", 2.000, 0.000, 2.250, 1.000, 2.500, 0.500, 2.750, 1.000, 3.000, 0.000));
-inputVariable.addTerm(new Gaussian("I", 3.000, 0.200));
-inputVariable.addTerm(new Cosine("J", 3.250, 0.650));
-inputVariable.addTerm(new GaussianProduct("K", 3.500, 0.100, 3.300, 0.300));
-inputVariable.addTerm(new Spike("L", 3.640, 1.040));
-inputVariable.addTerm(new Bell("M", 4.000, 0.250, 3.000));
-inputVariable.addTerm(new PiShape("N", 4.000, 4.500, 4.500, 5.000));
-inputVariable.addTerm(new Concave("O", 5.650, 6.250));
-inputVariable.addTerm(new SigmoidDifference("P", 4.750, 10.000, 30.000, 5.250));
-inputVariable.addTerm(new SigmoidProduct("Q", 5.250, 20.000, -10.000, 5.750));
-inputVariable.addTerm(new Ramp("R", 5.500, 6.500));
-inputVariable.addTerm(new SShape("S", 5.500, 6.500));
-inputVariable.addTerm(new Sigmoid("T", 6.000, 20.000));
-engine.addInputVariable(inputVariable);
+InputVariable AllInputTerms = new InputVariable();
+AllInputTerms.setName("AllInputTerms");
+AllInputTerms.setDescription("");
+AllInputTerms.setEnabled(true);
+AllInputTerms.setRange(0.000, 6.500);
+AllInputTerms.setLockValueInRange(false);
+AllInputTerms.addTerm(new Sigmoid("A", 0.500, -20.000));
+AllInputTerms.addTerm(new ZShape("B", 0.000, 1.000));
+AllInputTerms.addTerm(new Ramp("C", 1.000, 0.000));
+AllInputTerms.addTerm(new Triangle("D", 0.500, 1.000, 1.500));
+AllInputTerms.addTerm(new Trapezoid("E", 1.000, 1.250, 1.750, 2.000));
+AllInputTerms.addTerm(new Concave("F", 0.850, 0.250));
+AllInputTerms.addTerm(new Rectangle("G", 1.750, 2.250));
+AllInputTerms.addTerm(Discrete.create("H", 2.000, 0.000, 2.250, 1.000, 2.500, 0.500, 2.750, 1.000, 3.000, 0.000));
+AllInputTerms.addTerm(new Gaussian("I", 3.000, 0.200));
+AllInputTerms.addTerm(new Cosine("J", 3.250, 0.650));
+AllInputTerms.addTerm(new GaussianProduct("K", 3.500, 0.100, 3.300, 0.300));
+AllInputTerms.addTerm(new Spike("L", 3.640, 1.040));
+AllInputTerms.addTerm(new Bell("M", 4.000, 0.250, 3.000));
+AllInputTerms.addTerm(new PiShape("N", 4.000, 4.500, 4.500, 5.000));
+AllInputTerms.addTerm(new Concave("O", 5.650, 6.250));
+AllInputTerms.addTerm(new SigmoidDifference("P", 4.750, 10.000, 30.000, 5.250));
+AllInputTerms.addTerm(new SigmoidProduct("Q", 5.250, 20.000, -10.000, 5.750));
+AllInputTerms.addTerm(new Ramp("R", 5.500, 6.500));
+AllInputTerms.addTerm(new SShape("S", 5.500, 6.500));
+AllInputTerms.addTerm(new Sigmoid("T", 6.000, 20.000));
+engine.addInputVariable(AllInputTerms);
-OutputVariable outputVariable = new OutputVariable();
-outputVariable.setEnabled(true);
-outputVariable.setName("AllOutputTerms");
-outputVariable.setRange(0.000, 6.500);
-outputVariable.fuzzyOutput().setAccumulation(new Maximum());
-outputVariable.setDefuzzifier(new Centroid(200));
-outputVariable.setDefaultValue(Double.NaN);
-outputVariable.setLockPreviousOutputValue(false);
-outputVariable.setLockOutputValueInRange(false);
-outputVariable.addTerm(new Sigmoid("A", 0.500, -20.000));
-outputVariable.addTerm(new ZShape("B", 0.000, 1.000));
-outputVariable.addTerm(new Ramp("C", 1.000, 0.000));
-outputVariable.addTerm(new Triangle("D", 0.500, 1.000, 1.500));
-outputVariable.addTerm(new Trapezoid("E", 1.000, 1.250, 1.750, 2.000));
-outputVariable.addTerm(new Concave("F", 0.850, 0.250));
-outputVariable.addTerm(new Rectangle("G", 1.750, 2.250));
-outputVariable.addTerm(Discrete.create("H", 2.000, 0.000, 2.250, 1.000, 2.500, 0.500, 2.750, 1.000, 3.000, 0.000));
-outputVariable.addTerm(new Gaussian("I", 3.000, 0.200));
-outputVariable.addTerm(new Cosine("J", 3.250, 0.650));
-outputVariable.addTerm(new GaussianProduct("K", 3.500, 0.100, 3.300, 0.300));
-outputVariable.addTerm(new Spike("L", 3.640, 1.040));
-outputVariable.addTerm(new Bell("M", 4.000, 0.250, 3.000));
-outputVariable.addTerm(new PiShape("N", 4.000, 4.500, 4.500, 5.000));
-outputVariable.addTerm(new Concave("O", 5.650, 6.250));
-outputVariable.addTerm(new SigmoidDifference("P", 4.750, 10.000, 30.000, 5.250));
-outputVariable.addTerm(new SigmoidProduct("Q", 5.250, 20.000, -10.000, 5.750));
-outputVariable.addTerm(new Ramp("R", 5.500, 6.500));
-outputVariable.addTerm(new SShape("S", 5.500, 6.500));
-outputVariable.addTerm(new Sigmoid("T", 6.000, 20.000));
-engine.addOutputVariable(outputVariable);
+OutputVariable AllOutputTerms = new OutputVariable();
+AllOutputTerms.setName("AllOutputTerms");
+AllOutputTerms.setDescription("");
+AllOutputTerms.setEnabled(true);
+AllOutputTerms.setRange(0.000, 6.500);
+AllOutputTerms.setLockValueInRange(false);
+AllOutputTerms.setAggregation(new Maximum());
+AllOutputTerms.setDefuzzifier(new Centroid(200));
+AllOutputTerms.setDefaultValue(Double.NaN);
+AllOutputTerms.setLockPreviousValue(false);
+AllOutputTerms.addTerm(new Sigmoid("A", 0.500, -20.000));
+AllOutputTerms.addTerm(new ZShape("B", 0.000, 1.000));
+AllOutputTerms.addTerm(new Ramp("C", 1.000, 0.000));
+AllOutputTerms.addTerm(new Triangle("D", 0.500, 1.000, 1.500));
+AllOutputTerms.addTerm(new Trapezoid("E", 1.000, 1.250, 1.750, 2.000));
+AllOutputTerms.addTerm(new Concave("F", 0.850, 0.250));
+AllOutputTerms.addTerm(new Rectangle("G", 1.750, 2.250));
+AllOutputTerms.addTerm(Discrete.create("H", 2.000, 0.000, 2.250, 1.000, 2.500, 0.500, 2.750, 1.000, 3.000, 0.000));
+AllOutputTerms.addTerm(new Gaussian("I", 3.000, 0.200));
+AllOutputTerms.addTerm(new Cosine("J", 3.250, 0.650));
+AllOutputTerms.addTerm(new GaussianProduct("K", 3.500, 0.100, 3.300, 0.300));
+AllOutputTerms.addTerm(new Spike("L", 3.640, 1.040));
+AllOutputTerms.addTerm(new Bell("M", 4.000, 0.250, 3.000));
+AllOutputTerms.addTerm(new PiShape("N", 4.000, 4.500, 4.500, 5.000));
+AllOutputTerms.addTerm(new Concave("O", 5.650, 6.250));
+AllOutputTerms.addTerm(new SigmoidDifference("P", 4.750, 10.000, 30.000, 5.250));
+AllOutputTerms.addTerm(new SigmoidProduct("Q", 5.250, 20.000, -10.000, 5.750));
+AllOutputTerms.addTerm(new Ramp("R", 5.500, 6.500));
+AllOutputTerms.addTerm(new SShape("S", 5.500, 6.500));
+AllOutputTerms.addTerm(new Sigmoid("T", 6.000, 20.000));
+engine.addOutputVariable(AllOutputTerms);
RuleBlock ruleBlock = new RuleBlock();
-ruleBlock.setEnabled(true);
ruleBlock.setName("");
+ruleBlock.setDescription("");
+ruleBlock.setEnabled(true);
ruleBlock.setConjunction(new Minimum());
ruleBlock.setDisjunction(new Maximum());
-ruleBlock.setActivation(new Minimum());
+ruleBlock.setImplication(new Minimum());
+ruleBlock.setActivation(new General());
ruleBlock.addRule(Rule.parse("if AllInputTerms is A then AllOutputTerms is T", engine));
ruleBlock.addRule(Rule.parse("if AllInputTerms is B then AllOutputTerms is S", engine));
ruleBlock.addRule(Rule.parse("if AllInputTerms is C then AllOutputTerms is R", engine));
diff --git a/examples/mamdani/AllTerms.pdf b/examples/mamdani/AllTerms.pdf
new file mode 100644
index 0000000..ed71111
--- /dev/null
+++ b/examples/mamdani/AllTerms.pdf
Binary files differ
diff --git a/examples/mamdani/Laundry.R b/examples/mamdani/Laundry.R
new file mode 100644
index 0000000..ca7d73d
--- /dev/null
+++ b/examples/mamdani/Laundry.R
@@ -0,0 +1,91 @@
+#Code automatically generated with fuzzylite 6.0.
+
+library(ggplot2);
+
+engine.name = "Laundry"
+engine.fll = "Engine: Laundry
+InputVariable: Load
+ enabled: true
+ range: 0.000 6.000
+ lock-range: false
+ term: small Discrete 0.000 1.000 1.000 1.000 2.000 0.800 5.000 0.000
+ term: normal Discrete 3.000 0.000 4.000 1.000 6.000 0.000
+InputVariable: Dirt
+ enabled: true
+ range: 0.000 6.000
+ lock-range: false
+ term: low Discrete 0.000 1.000 2.000 0.800 5.000 0.000
+ term: high Discrete 1.000 0.000 2.000 0.200 4.000 0.800 6.000 1.000
+OutputVariable: Detergent
+ enabled: true
+ range: 0.000 80.000
+ lock-range: false
+ aggregation: Maximum
+ defuzzifier: MeanOfMaximum 500
+ default: nan
+ lock-previous: false
+ term: less_than_usual Discrete 10.000 0.000 40.000 1.000 50.000 0.000
+ term: usual Discrete 40.000 0.000 50.000 1.000 60.000 1.000 80.000 0.000
+ term: more_than_usual Discrete 50.000 0.000 80.000 1.000
+OutputVariable: Cycle
+ enabled: true
+ range: 0.000 20.000
+ lock-range: false
+ aggregation: Maximum
+ defuzzifier: MeanOfMaximum 500
+ default: nan
+ lock-previous: false
+ term: short Discrete 0.000 1.000 10.000 1.000 20.000 0.000
+ term: long Discrete 10.000 0.000 20.000 1.000
+RuleBlock:
+ enabled: true
+ conjunction: Minimum
+ disjunction: Maximum
+ implication: Minimum
+ activation: General
+ rule: if Load is small and Dirt is not high then Detergent is less_than_usual
+ rule: if Load is small and Dirt is high then Detergent is usual
+ rule: if Load is normal and Dirt is low then Detergent is less_than_usual
+ rule: if Load is normal and Dirt is high then Detergent is more_than_usual
+ rule: if Detergent is usual or Detergent is less_than_usual then Cycle is short
+ rule: if Detergent is more_than_usual then Cycle is long"
+
+engine.fldFile = "Laundry.fld"
+if (require(data.table)) {
+ engine.df = data.table::fread(engine.fldFile, sep="auto", header="auto")
+} else {
+ engine.df = read.table(engine.fldFile, header=TRUE)
+}
+
+engine.plot.i1i2_o1 = ggplot(engine.df, aes(Load, Dirt)) +
+ geom_tile(aes(fill=Detergent)) +
+ scale_fill_gradient(low="yellow", high="red") +
+ stat_contour(aes(x=Load, y=Dirt, z=Detergent), color="black") +
+ ggtitle("(Load, Dirt) = Detergent")
+
+engine.plot.i2i1_o1 = ggplot(engine.df, aes(Dirt, Load)) +
+ geom_tile(aes(fill=Detergent)) +
+ scale_fill_gradient(low="yellow", high="red") +
+ stat_contour(aes(x=Dirt, y=Load, z=Detergent), color="black") +
+ ggtitle("(Dirt, Load) = Detergent")
+
+engine.plot.i1i2_o2 = ggplot(engine.df, aes(Load, Dirt)) +
+ geom_tile(aes(fill=Cycle)) +
+ scale_fill_gradient(low="yellow", high="red") +
+ stat_contour(aes(x=Load, y=Dirt, z=Cycle), color="black") +
+ ggtitle("(Load, Dirt) = Cycle")
+
+engine.plot.i2i1_o2 = ggplot(engine.df, aes(Dirt, Load)) +
+ geom_tile(aes(fill=Cycle)) +
+ scale_fill_gradient(low="yellow", high="red") +
+ stat_contour(aes(x=Dirt, y=Load, z=Cycle), color="black") +
+ ggtitle("(Dirt, Load) = Cycle")
+
+if (require(gridExtra)) {
+ engine.plots = arrangeGrob(engine.plot.i1i2_o1, engine.plot.i2i1_o1, engine.plot.i1i2_o2, engine.plot.i2i1_o2, ncol=2, top=engine.name)
+ ggsave(paste0(engine.name, ".pdf"), engine.plots)
+ if (require(grid)) {
+ grid.newpage()
+ grid.draw(engine.plots)
+ }
+}
diff --git a/examples/mamdani/Laundry.cpp b/examples/mamdani/Laundry.cpp
index 7fbcb11..cc7492c 100644
--- a/examples/mamdani/Laundry.cpp
+++ b/examples/mamdani/Laundry.cpp
@@ -1,66 +1,77 @@
#include <fl/Headers.h>
int main(int argc, char** argv){
+//Code automatically generated with fuzzylite 6.0.
+
using namespace fl;
Engine* engine = new Engine;
engine->setName("Laundry");
+engine->setDescription("");
-InputVariable* inputVariable1 = new InputVariable;
-inputVariable1->setEnabled(true);
-inputVariable1->setName("Load");
-inputVariable1->setRange(0.000, 6.000);
-inputVariable1->addTerm(Discrete::create("small", 8, 0.000, 1.000, 1.000, 1.000, 2.000, 0.800, 5.000, 0.000));
-inputVariable1->addTerm(Discrete::create("normal", 6, 3.000, 0.000, 4.000, 1.000, 6.000, 0.000));
-engine->addInputVariable(inputVariable1);
+InputVariable* Load = new InputVariable;
+Load->setName("Load");
+Load->setDescription("");
+Load->setEnabled(true);
+Load->setRange(0.000, 6.000);
+Load->setLockValueInRange(false);
+Load->addTerm(Discrete::create("small", 8, 0.000, 1.000, 1.000, 1.000, 2.000, 0.800, 5.000, 0.000));
+Load->addTerm(Discrete::create("normal", 6, 3.000, 0.000, 4.000, 1.000, 6.000, 0.000));
+engine->addInputVariable(Load);
-InputVariable* inputVariable2 = new InputVariable;
-inputVariable2->setEnabled(true);
-inputVariable2->setName("Dirt");
-inputVariable2->setRange(0.000, 6.000);
-inputVariable2->addTerm(Discrete::create("low", 6, 0.000, 1.000, 2.000, 0.800, 5.000, 0.000));
-inputVariable2->addTerm(Discrete::create("high", 8, 1.000, 0.000, 2.000, 0.200, 4.000, 0.800, 6.000, 1.000));
-engine->addInputVariable(inputVariable2);
+InputVariable* Dirt = new InputVariable;
+Dirt->setName("Dirt");
+Dirt->setDescription("");
+Dirt->setEnabled(true);
+Dirt->setRange(0.000, 6.000);
+Dirt->setLockValueInRange(false);
+Dirt->addTerm(Discrete::create("low", 6, 0.000, 1.000, 2.000, 0.800, 5.000, 0.000));
+Dirt->addTerm(Discrete::create("high", 8, 1.000, 0.000, 2.000, 0.200, 4.000, 0.800, 6.000, 1.000));
+engine->addInputVariable(Dirt);
-OutputVariable* outputVariable1 = new OutputVariable;
-outputVariable1->setEnabled(true);
-outputVariable1->setName("Detergent");
-outputVariable1->setRange(0.000, 80.000);
-outputVariable1->fuzzyOutput()->setAccumulation(new Maximum);
-outputVariable1->setDefuzzifier(new MeanOfMaximum(500));
-outputVariable1->setDefaultValue(fl::nan);
-outputVariable1->setLockPreviousOutputValue(false);
-outputVariable1->setLockOutputValueInRange(false);
-outputVariable1->addTerm(Discrete::create("less", 6, 10.000, 0.000, 40.000, 1.000, 50.000, 0.000));
-outputVariable1->addTerm(Discrete::create("normal", 8, 40.000, 0.000, 50.000, 1.000, 60.000, 1.000, 80.000, 0.000));
-outputVariable1->addTerm(Discrete::create("more", 4, 50.000, 0.000, 80.000, 1.000));
-engine->addOutputVariable(outputVariable1);
+OutputVariable* Detergent = new OutputVariable;
+Detergent->setName("Detergent");
+Detergent->setDescription("");
+Detergent->setEnabled(true);
+Detergent->setRange(0.000, 80.000);
+Detergent->setLockValueInRange(false);
+Detergent->setAggregation(new Maximum);
+Detergent->setDefuzzifier(new MeanOfMaximum(500));
+Detergent->setDefaultValue(fl::nan);
+Detergent->setLockPreviousValue(false);
+Detergent->addTerm(Discrete::create("less_than_usual", 6, 10.000, 0.000, 40.000, 1.000, 50.000, 0.000));
+Detergent->addTerm(Discrete::create("usual", 8, 40.000, 0.000, 50.000, 1.000, 60.000, 1.000, 80.000, 0.000));
+Detergent->addTerm(Discrete::create("more_than_usual", 4, 50.000, 0.000, 80.000, 1.000));
+engine->addOutputVariable(Detergent);
-OutputVariable* outputVariable2 = new OutputVariable;
-outputVariable2->setEnabled(true);
-outputVariable2->setName("Cycle");
-outputVariable2->setRange(0.000, 20.000);
-outputVariable2->fuzzyOutput()->setAccumulation(new Maximum);
-outputVariable2->setDefuzzifier(new MeanOfMaximum(500));
-outputVariable2->setDefaultValue(fl::nan);
-outputVariable2->setLockPreviousOutputValue(false);
-outputVariable2->setLockOutputValueInRange(false);
-outputVariable2->addTerm(Discrete::create("short", 6, 0.000, 1.000, 10.000, 1.000, 20.000, 0.000));
-outputVariable2->addTerm(Discrete::create("long", 4, 10.000, 0.000, 20.000, 1.000));
-engine->addOutputVariable(outputVariable2);
+OutputVariable* Cycle = new OutputVariable;
+Cycle->setName("Cycle");
+Cycle->setDescription("");
+Cycle->setEnabled(true);
+Cycle->setRange(0.000, 20.000);
+Cycle->setLockValueInRange(false);
+Cycle->setAggregation(new Maximum);
+Cycle->setDefuzzifier(new MeanOfMaximum(500));
+Cycle->setDefaultValue(fl::nan);
+Cycle->setLockPreviousValue(false);
+Cycle->addTerm(Discrete::create("short", 6, 0.000, 1.000, 10.000, 1.000, 20.000, 0.000));
+Cycle->addTerm(Discrete::create("long", 4, 10.000, 0.000, 20.000, 1.000));
+engine->addOutputVariable(Cycle);
RuleBlock* ruleBlock = new RuleBlock;
-ruleBlock->setEnabled(true);
ruleBlock->setName("");
+ruleBlock->setDescription("");
+ruleBlock->setEnabled(true);
ruleBlock->setConjunction(new Minimum);
ruleBlock->setDisjunction(new Maximum);
-ruleBlock->setActivation(new Minimum);
-ruleBlock->addRule(fl::Rule::parse("if Load is small and Dirt is not high then Detergent is less", engine));
-ruleBlock->addRule(fl::Rule::parse("if Load is small and Dirt is high then Detergent is normal", engine));
-ruleBlock->addRule(fl::Rule::parse("if Load is normal and Dirt is low then Detergent is less", engine));
-ruleBlock->addRule(fl::Rule::parse("if Load is normal and Dirt is high then Detergent is more", engine));
-ruleBlock->addRule(fl::Rule::parse("if Detergent is normal or Detergent is less then Cycle is short", engine));
-ruleBlock->addRule(fl::Rule::parse("if Detergent is more then Cycle is long", engine));
+ruleBlock->setImplication(new Minimum);
+ruleBlock->setActivation(new General);
+ruleBlock->addRule(Rule::parse("if Load is small and Dirt is not high then Detergent is less_than_usual", engine));
+ruleBlock->addRule(Rule::parse("if Load is small and Dirt is high then Detergent is usual", engine));
+ruleBlock->addRule(Rule::parse("if Load is normal and Dirt is low then Detergent is less_than_usual", engine));
+ruleBlock->addRule(Rule::parse("if Load is normal and Dirt is high then Detergent is more_than_usual", engine));
+ruleBlock->addRule(Rule::parse("if Detergent is usual or Detergent is less_than_usual then Cycle is short", engine));
+ruleBlock->addRule(Rule::parse("if Detergent is more_than_usual then Cycle is long", engine));
engine->addRuleBlock(ruleBlock);
diff --git a/examples/mamdani/Laundry.fcl b/examples/mamdani/Laundry.fcl
index a5d5380..9a34532 100644
--- a/examples/mamdani/Laundry.fcl
+++ b/examples/mamdani/Laundry.fcl
@@ -1,3 +1,5 @@
+//Code automatically generated with fuzzylite 6.0.
+
FUNCTION_BLOCK Laundry
VAR_INPUT
@@ -24,9 +26,9 @@ END_FUZZIFY
DEFUZZIFY Detergent
RANGE := (0.000 .. 80.000);
- TERM less := (10.000, 0.000) (40.000, 1.000) (50.000, 0.000);
- TERM normal := (40.000, 0.000) (50.000, 1.000) (60.000, 1.000) (80.000, 0.000);
- TERM more := (50.000, 0.000) (80.000, 1.000);
+ TERM less_than_usual := (10.000, 0.000) (40.000, 1.000) (50.000, 0.000);
+ TERM usual := (40.000, 0.000) (50.000, 1.000) (60.000, 1.000) (80.000, 0.000);
+ TERM more_than_usual := (50.000, 0.000) (80.000, 1.000);
METHOD : MM;
ACCU : MAX;
DEFAULT := nan;
@@ -45,12 +47,12 @@ RULEBLOCK
AND : MIN;
OR : MAX;
ACT : MIN;
- RULE 1 : if Load is small and Dirt is not high then Detergent is less
- RULE 2 : if Load is small and Dirt is high then Detergent is normal
- RULE 3 : if Load is normal and Dirt is low then Detergent is less
- RULE 4 : if Load is normal and Dirt is high then Detergent is more
- RULE 5 : if Detergent is normal or Detergent is less then Cycle is short
- RULE 6 : if Detergent is more then Cycle is long
+ RULE 1 : if Load is small and Dirt is not high then Detergent is less_than_usual
+ RULE 2 : if Load is small and Dirt is high then Detergent is usual
+ RULE 3 : if Load is normal and Dirt is low then Detergent is less_than_usual
+ RULE 4 : if Load is normal and Dirt is high then Detergent is more_than_usual
+ RULE 5 : if Detergent is usual or Detergent is less_than_usual then Cycle is short
+ RULE 6 : if Detergent is more_than_usual then Cycle is long
END_RULEBLOCK
END_FUNCTION_BLOCK
diff --git a/examples/mamdani/Laundry.fis b/examples/mamdani/Laundry.fis
new file mode 100644
index 0000000..7f1c31d
--- /dev/null
+++ b/examples/mamdani/Laundry.fis
@@ -0,0 +1,51 @@
+#Code automatically generated with fuzzylite 6.0.
+
+[System]
+Name='Laundry'
+Type='mamdani'
+Version=6.0
+NumInputs=2
+NumOutputs=2
+NumRules=6
+AndMethod='min'
+OrMethod='max'
+ImpMethod='min'
+AggMethod='max'
+DefuzzMethod='mom'
+
+[Input1]
+Name='Load'
+Range=[0.000 6.000]
+NumMFs=2
+MF1='small':'discretemf',[0.000 1.000 1.000 1.000 2.000 0.800 5.000 0.000]
+MF2='normal':'discretemf',[3.000 0.000 4.000 1.000 6.000 0.000]
+
+[Input2]
+Name='Dirt'
+Range=[0.000 6.000]
+NumMFs=2
+MF1='low':'discretemf',[0.000 1.000 2.000 0.800 5.000 0.000]
+MF2='high':'discretemf',[1.000 0.000 2.000 0.200 4.000 0.800 6.000 1.000]
+
+[Output1]
+Name='Detergent'
+Range=[0.000 80.000]
+NumMFs=3
+MF1='less_than_usual':'discretemf',[10.000 0.000 40.000 1.000 50.000 0.000]
+MF2='usual':'discretemf',[40.000 0.000 50.000 1.000 60.000 1.000 80.000 0.000]
+MF3='more_than_usual':'discretemf',[50.000 0.000 80.000 1.000]
+
+[Output2]
+Name='Cycle'
+Range=[0.000 20.000]
+NumMFs=2
+MF1='short':'discretemf',[0.000 1.000 10.000 1.000 20.000 0.000]
+MF2='long':'discretemf',[10.000 0.000 20.000 1.000]
+
+[Rules]
+1.000 -2.000 , 1.000 0.000 (1.000) : 1
+1.000 2.000 , 2.000 0.000 (1.000) : 1
+2.000 1.000 , 1.000 0.000 (1.000) : 1
+2.000 2.000 , 3.000 0.000 (1.000) : 1
+0.000 0.000 , 0.000 1.000 (1.000) : 2
+0.000 0.000 , 0.000 2.000 (1.000) : 1
diff --git a/examples/mamdani/Laundry.fld b/examples/mamdani/Laundry.fld
index f72dfb6..a8f27dd 100644
--- a/examples/mamdani/Laundry.fld
+++ b/examples/mamdani/Laundry.fld
@@ -1,1026 +1,1025 @@
-#@Engine: Laundry;
-#@InputVariable: Load; @InputVariable: Dirt; @OutputVariable: Detergent; @OutputVariable: Cycle;
-0.00000000 0.00000000 39.92000000 5.00000000
-0.00000000 0.19354839 39.92000000 5.00000000
-0.00000000 0.38709677 39.92000000 5.00000000
-0.00000000 0.58064516 39.92000000 5.00000000
-0.00000000 0.77419355 39.92000000 5.00000000
-0.00000000 0.96774194 39.92000000 5.00000000
-0.00000000 1.16129032 39.68000000 5.16000000
-0.00000000 1.35483871 39.28000000 5.36000000
-0.00000000 1.54838710 38.88000000 5.54000000
-0.00000000 1.74193548 38.48000000 5.74000000
-0.00000000 1.93548387 38.16000000 5.94000000
-0.00000000 2.12903226 37.60000000 6.20000000
-0.00000000 2.32258065 37.04000000 6.48000000
-0.00000000 2.51612903 36.40000000 6.78000000
-0.00000000 2.70967742 35.92000000 7.06000000
-0.00000000 2.90322581 35.28000000 7.36000000
-0.00000000 3.09677419 57.36000000 7.36000000
-0.00000000 3.29032258 57.12000000 7.06000000
-0.00000000 3.48387097 56.72000000 6.78000000
-0.00000000 3.67741935 56.48000000 6.48000000
-0.00000000 3.87096774 56.24000000 6.20000000
-0.00000000 4.06451613 55.92000000 5.96000000
-0.00000000 4.25806452 55.92000000 5.88000000
-0.00000000 4.45161290 55.76000000 5.78000000
-0.00000000 4.64516129 55.68000000 5.68000000
-0.00000000 4.83870968 55.60000000 5.58000000
-0.00000000 5.03225806 55.44000000 5.48000000
-0.00000000 5.22580645 55.44000000 5.38000000
-0.00000000 5.41935484 55.28000000 5.30000000
-0.00000000 5.61290323 55.20000000 5.20000000
-0.00000000 5.80645161 55.04000000 5.10000000
-0.00000000 6.00000000 54.96000000 5.00000000
-0.19354839 0.00000000 39.92000000 5.00000000
-0.19354839 0.19354839 39.92000000 5.00000000
-0.19354839 0.38709677 39.92000000 5.00000000
-0.19354839 0.58064516 39.92000000 5.00000000
-0.19354839 0.77419355 39.92000000 5.00000000
-0.19354839 0.96774194 39.92000000 5.00000000
-0.19354839 1.16129032 39.68000000 5.16000000
-0.19354839 1.35483871 39.28000000 5.36000000
-0.19354839 1.54838710 38.88000000 5.54000000
-0.19354839 1.74193548 38.48000000 5.74000000
-0.19354839 1.93548387 38.16000000 5.94000000
-0.19354839 2.12903226 37.60000000 6.20000000
-0.19354839 2.32258065 37.04000000 6.48000000
-0.19354839 2.51612903 36.40000000 6.78000000
-0.19354839 2.70967742 35.92000000 7.06000000
-0.19354839 2.90322581 35.28000000 7.36000000
-0.19354839 3.09677419 57.36000000 7.36000000
-0.19354839 3.29032258 57.12000000 7.06000000
-0.19354839 3.48387097 56.72000000 6.78000000
-0.19354839 3.67741935 56.48000000 6.48000000
-0.19354839 3.87096774 56.24000000 6.20000000
-0.19354839 4.06451613 55.92000000 5.96000000
-0.19354839 4.25806452 55.92000000 5.88000000
-0.19354839 4.45161290 55.76000000 5.78000000
-0.19354839 4.64516129 55.68000000 5.68000000
-0.19354839 4.83870968 55.60000000 5.58000000
-0.19354839 5.03225806 55.44000000 5.48000000
-0.19354839 5.22580645 55.44000000 5.38000000
-0.19354839 5.41935484 55.28000000 5.30000000
-0.19354839 5.61290323 55.20000000 5.20000000
-0.19354839 5.80645161 55.04000000 5.10000000
-0.19354839 6.00000000 54.96000000 5.00000000
-0.38709677 0.00000000 39.92000000 5.00000000
-0.38709677 0.19354839 39.92000000 5.00000000
-0.38709677 0.38709677 39.92000000 5.00000000
-0.38709677 0.58064516 39.92000000 5.00000000
-0.38709677 0.77419355 39.92000000 5.00000000
-0.38709677 0.96774194 39.92000000 5.00000000
-0.38709677 1.16129032 39.68000000 5.16000000
-0.38709677 1.35483871 39.28000000 5.36000000
-0.38709677 1.54838710 38.88000000 5.54000000
-0.38709677 1.74193548 38.48000000 5.74000000
-0.38709677 1.93548387 38.16000000 5.94000000
-0.38709677 2.12903226 37.60000000 6.20000000
-0.38709677 2.32258065 37.04000000 6.48000000
-0.38709677 2.51612903 36.40000000 6.78000000
-0.38709677 2.70967742 35.92000000 7.06000000
-0.38709677 2.90322581 35.28000000 7.36000000
-0.38709677 3.09677419 57.36000000 7.36000000
-0.38709677 3.29032258 57.12000000 7.06000000
-0.38709677 3.48387097 56.72000000 6.78000000
-0.38709677 3.67741935 56.48000000 6.48000000
-0.38709677 3.87096774 56.24000000 6.20000000
-0.38709677 4.06451613 55.92000000 5.96000000
-0.38709677 4.25806452 55.92000000 5.88000000
-0.38709677 4.45161290 55.76000000 5.78000000
-0.38709677 4.64516129 55.68000000 5.68000000
-0.38709677 4.83870968 55.60000000 5.58000000
-0.38709677 5.03225806 55.44000000 5.48000000
-0.38709677 5.22580645 55.44000000 5.38000000
-0.38709677 5.41935484 55.28000000 5.30000000
-0.38709677 5.61290323 55.20000000 5.20000000
-0.38709677 5.80645161 55.04000000 5.10000000
-0.38709677 6.00000000 54.96000000 5.00000000
-0.58064516 0.00000000 39.92000000 5.00000000
-0.58064516 0.19354839 39.92000000 5.00000000
-0.58064516 0.38709677 39.92000000 5.00000000
-0.58064516 0.58064516 39.92000000 5.00000000
-0.58064516 0.77419355 39.92000000 5.00000000
-0.58064516 0.96774194 39.92000000 5.00000000
-0.58064516 1.16129032 39.68000000 5.16000000
-0.58064516 1.35483871 39.28000000 5.36000000
-0.58064516 1.54838710 38.88000000 5.54000000
-0.58064516 1.74193548 38.48000000 5.74000000
-0.58064516 1.93548387 38.16000000 5.94000000
-0.58064516 2.12903226 37.60000000 6.20000000
-0.58064516 2.32258065 37.04000000 6.48000000
-0.58064516 2.51612903 36.40000000 6.78000000
-0.58064516 2.70967742 35.92000000 7.06000000
-0.58064516 2.90322581 35.28000000 7.36000000
-0.58064516 3.09677419 57.36000000 7.36000000
-0.58064516 3.29032258 57.12000000 7.06000000
-0.58064516 3.48387097 56.72000000 6.78000000
-0.58064516 3.67741935 56.48000000 6.48000000
-0.58064516 3.87096774 56.24000000 6.20000000
-0.58064516 4.06451613 55.92000000 5.96000000
-0.58064516 4.25806452 55.92000000 5.88000000
-0.58064516 4.45161290 55.76000000 5.78000000
-0.58064516 4.64516129 55.68000000 5.68000000
-0.58064516 4.83870968 55.60000000 5.58000000
-0.58064516 5.03225806 55.44000000 5.48000000
-0.58064516 5.22580645 55.44000000 5.38000000
-0.58064516 5.41935484 55.28000000 5.30000000
-0.58064516 5.61290323 55.20000000 5.20000000
-0.58064516 5.80645161 55.04000000 5.10000000
-0.58064516 6.00000000 54.96000000 5.00000000
-0.77419355 0.00000000 39.92000000 5.00000000
-0.77419355 0.19354839 39.92000000 5.00000000
-0.77419355 0.38709677 39.92000000 5.00000000
-0.77419355 0.58064516 39.92000000 5.00000000
-0.77419355 0.77419355 39.92000000 5.00000000
-0.77419355 0.96774194 39.92000000 5.00000000
-0.77419355 1.16129032 39.68000000 5.16000000
-0.77419355 1.35483871 39.28000000 5.36000000
-0.77419355 1.54838710 38.88000000 5.54000000
-0.77419355 1.74193548 38.48000000 5.74000000
-0.77419355 1.93548387 38.16000000 5.94000000
-0.77419355 2.12903226 37.60000000 6.20000000
-0.77419355 2.32258065 37.04000000 6.48000000
-0.77419355 2.51612903 36.40000000 6.78000000
-0.77419355 2.70967742 35.92000000 7.06000000
-0.77419355 2.90322581 35.28000000 7.36000000
-0.77419355 3.09677419 57.36000000 7.36000000
-0.77419355 3.29032258 57.12000000 7.06000000
-0.77419355 3.48387097 56.72000000 6.78000000
-0.77419355 3.67741935 56.48000000 6.48000000
-0.77419355 3.87096774 56.24000000 6.20000000
-0.77419355 4.06451613 55.92000000 5.96000000
-0.77419355 4.25806452 55.92000000 5.88000000
-0.77419355 4.45161290 55.76000000 5.78000000
-0.77419355 4.64516129 55.68000000 5.68000000
-0.77419355 4.83870968 55.60000000 5.58000000
-0.77419355 5.03225806 55.44000000 5.48000000
-0.77419355 5.22580645 55.44000000 5.38000000
-0.77419355 5.41935484 55.28000000 5.30000000
-0.77419355 5.61290323 55.20000000 5.20000000
-0.77419355 5.80645161 55.04000000 5.10000000
-0.77419355 6.00000000 54.96000000 5.00000000
-0.96774194 0.00000000 39.92000000 5.00000000
-0.96774194 0.19354839 39.92000000 5.00000000
-0.96774194 0.38709677 39.92000000 5.00000000
-0.96774194 0.58064516 39.92000000 5.00000000
-0.96774194 0.77419355 39.92000000 5.00000000
-0.96774194 0.96774194 39.92000000 5.00000000
-0.96774194 1.16129032 39.68000000 5.16000000
-0.96774194 1.35483871 39.28000000 5.36000000
-0.96774194 1.54838710 38.88000000 5.54000000
-0.96774194 1.74193548 38.48000000 5.74000000
-0.96774194 1.93548387 38.16000000 5.94000000
-0.96774194 2.12903226 37.60000000 6.20000000
-0.96774194 2.32258065 37.04000000 6.48000000
-0.96774194 2.51612903 36.40000000 6.78000000
-0.96774194 2.70967742 35.92000000 7.06000000
-0.96774194 2.90322581 35.28000000 7.36000000
-0.96774194 3.09677419 57.36000000 7.36000000
-0.96774194 3.29032258 57.12000000 7.06000000
-0.96774194 3.48387097 56.72000000 6.78000000
-0.96774194 3.67741935 56.48000000 6.48000000
-0.96774194 3.87096774 56.24000000 6.20000000
-0.96774194 4.06451613 55.92000000 5.96000000
-0.96774194 4.25806452 55.92000000 5.88000000
-0.96774194 4.45161290 55.76000000 5.78000000
-0.96774194 4.64516129 55.68000000 5.68000000
-0.96774194 4.83870968 55.60000000 5.58000000
-0.96774194 5.03225806 55.44000000 5.48000000
-0.96774194 5.22580645 55.44000000 5.38000000
-0.96774194 5.41935484 55.28000000 5.30000000
-0.96774194 5.61290323 55.20000000 5.20000000
-0.96774194 5.80645161 55.04000000 5.10000000
-0.96774194 6.00000000 54.96000000 5.00000000
-1.16129032 0.00000000 39.68000000 5.16000000
-1.16129032 0.19354839 39.68000000 5.16000000
-1.16129032 0.38709677 39.68000000 5.16000000
-1.16129032 0.58064516 39.68000000 5.16000000
-1.16129032 0.77419355 39.68000000 5.16000000
-1.16129032 0.96774194 39.68000000 5.16000000
-1.16129032 1.16129032 39.68000000 5.16000000
-1.16129032 1.35483871 39.28000000 5.36000000
-1.16129032 1.54838710 38.88000000 5.54000000
-1.16129032 1.74193548 38.48000000 5.74000000
-1.16129032 1.93548387 38.16000000 5.94000000
-1.16129032 2.12903226 37.60000000 6.20000000
-1.16129032 2.32258065 37.04000000 6.48000000
-1.16129032 2.51612903 36.40000000 6.78000000
-1.16129032 2.70967742 35.92000000 7.06000000
-1.16129032 2.90322581 35.28000000 7.36000000
-1.16129032 3.09677419 57.36000000 7.36000000
-1.16129032 3.29032258 57.12000000 7.06000000
-1.16129032 3.48387097 56.72000000 6.78000000
-1.16129032 3.67741935 56.48000000 6.48000000
-1.16129032 3.87096774 56.24000000 6.20000000
-1.16129032 4.06451613 55.92000000 5.96000000
-1.16129032 4.25806452 55.92000000 5.88000000
-1.16129032 4.45161290 55.76000000 5.78000000
-1.16129032 4.64516129 55.68000000 5.68000000
-1.16129032 4.83870968 55.60000000 5.58000000
-1.16129032 5.03225806 55.44000000 5.48000000
-1.16129032 5.22580645 55.44000000 5.38000000
-1.16129032 5.41935484 55.28000000 5.30000000
-1.16129032 5.61290323 55.20000000 5.20000000
-1.16129032 5.80645161 55.12000000 5.16000000
-1.16129032 6.00000000 55.12000000 5.16000000
-1.35483871 0.00000000 39.28000000 5.36000000
-1.35483871 0.19354839 39.28000000 5.36000000
-1.35483871 0.38709677 39.28000000 5.36000000
-1.35483871 0.58064516 39.28000000 5.36000000
-1.35483871 0.77419355 39.28000000 5.36000000
-1.35483871 0.96774194 39.28000000 5.36000000
-1.35483871 1.16129032 39.28000000 5.36000000
-1.35483871 1.35483871 39.28000000 5.36000000
-1.35483871 1.54838710 38.88000000 5.54000000
-1.35483871 1.74193548 38.48000000 5.74000000
-1.35483871 1.93548387 38.16000000 5.94000000
-1.35483871 2.12903226 37.60000000 6.20000000
-1.35483871 2.32258065 37.04000000 6.48000000
-1.35483871 2.51612903 36.40000000 6.78000000
-1.35483871 2.70967742 35.92000000 7.06000000
-1.35483871 2.90322581 35.28000000 7.36000000
-1.35483871 3.09677419 57.36000000 7.36000000
-1.35483871 3.29032258 57.12000000 7.06000000
-1.35483871 3.48387097 56.72000000 6.78000000
-1.35483871 3.67741935 56.48000000 6.48000000
-1.35483871 3.87096774 56.24000000 6.20000000
-1.35483871 4.06451613 55.92000000 5.96000000
-1.35483871 4.25806452 55.92000000 5.88000000
-1.35483871 4.45161290 55.76000000 5.78000000
-1.35483871 4.64516129 55.68000000 5.68000000
-1.35483871 4.83870968 55.60000000 5.58000000
-1.35483871 5.03225806 55.44000000 5.48000000
-1.35483871 5.22580645 55.44000000 5.38000000
-1.35483871 5.41935484 55.36000000 5.36000000
-1.35483871 5.61290323 55.36000000 5.36000000
-1.35483871 5.80645161 55.36000000 5.36000000
-1.35483871 6.00000000 55.36000000 5.36000000
-1.54838710 0.00000000 38.88000000 5.54000000
-1.54838710 0.19354839 38.88000000 5.54000000
-1.54838710 0.38709677 38.88000000 5.54000000
-1.54838710 0.58064516 38.88000000 5.54000000
-1.54838710 0.77419355 38.88000000 5.54000000
-1.54838710 0.96774194 38.88000000 5.54000000
-1.54838710 1.16129032 38.88000000 5.54000000
-1.54838710 1.35483871 38.88000000 5.54000000
-1.54838710 1.54838710 38.88000000 5.54000000
-1.54838710 1.74193548 38.48000000 5.74000000
-1.54838710 1.93548387 38.16000000 5.94000000
-1.54838710 2.12903226 37.60000000 6.20000000
-1.54838710 2.32258065 37.04000000 6.48000000
-1.54838710 2.51612903 36.40000000 6.78000000
-1.54838710 2.70967742 35.92000000 7.06000000
-1.54838710 2.90322581 35.28000000 7.36000000
-1.54838710 3.09677419 57.36000000 7.36000000
-1.54838710 3.29032258 57.12000000 7.06000000
-1.54838710 3.48387097 56.72000000 6.78000000
-1.54838710 3.67741935 56.48000000 6.48000000
-1.54838710 3.87096774 56.24000000 6.20000000
-1.54838710 4.06451613 55.92000000 5.96000000
-1.54838710 4.25806452 55.92000000 5.88000000
-1.54838710 4.45161290 55.76000000 5.78000000
-1.54838710 4.64516129 55.68000000 5.68000000
-1.54838710 4.83870968 55.60000000 5.58000000
-1.54838710 5.03225806 55.60000000 5.54000000
-1.54838710 5.22580645 55.60000000 5.54000000
-1.54838710 5.41935484 55.60000000 5.54000000
-1.54838710 5.61290323 55.60000000 5.54000000
-1.54838710 5.80645161 55.60000000 5.54000000
-1.54838710 6.00000000 55.60000000 5.54000000
-1.74193548 0.00000000 38.48000000 5.74000000
-1.74193548 0.19354839 38.48000000 5.74000000
-1.74193548 0.38709677 38.48000000 5.74000000
-1.74193548 0.58064516 38.48000000 5.74000000
-1.74193548 0.77419355 38.48000000 5.74000000
-1.74193548 0.96774194 38.48000000 5.74000000
-1.74193548 1.16129032 38.48000000 5.74000000
-1.74193548 1.35483871 38.48000000 5.74000000
-1.74193548 1.54838710 38.48000000 5.74000000
-1.74193548 1.74193548 38.48000000 5.74000000
-1.74193548 1.93548387 38.16000000 5.94000000
-1.74193548 2.12903226 37.60000000 6.20000000
-1.74193548 2.32258065 37.04000000 6.48000000
-1.74193548 2.51612903 36.40000000 6.78000000
-1.74193548 2.70967742 35.92000000 7.06000000
-1.74193548 2.90322581 35.28000000 7.36000000
-1.74193548 3.09677419 57.36000000 7.36000000
-1.74193548 3.29032258 57.12000000 7.06000000
-1.74193548 3.48387097 56.72000000 6.78000000
-1.74193548 3.67741935 56.48000000 6.48000000
-1.74193548 3.87096774 56.24000000 6.20000000
-1.74193548 4.06451613 55.92000000 5.96000000
-1.74193548 4.25806452 55.92000000 5.88000000
-1.74193548 4.45161290 55.76000000 5.78000000
-1.74193548 4.64516129 55.76000000 5.74000000
-1.74193548 4.83870968 55.76000000 5.74000000
-1.74193548 5.03225806 55.76000000 5.74000000
-1.74193548 5.22580645 55.76000000 5.74000000
-1.74193548 5.41935484 55.76000000 5.74000000
-1.74193548 5.61290323 55.76000000 5.74000000
-1.74193548 5.80645161 55.76000000 5.74000000
-1.74193548 6.00000000 55.76000000 5.74000000
-1.93548387 0.00000000 38.16000000 5.94000000
-1.93548387 0.19354839 38.16000000 5.94000000
-1.93548387 0.38709677 38.16000000 5.94000000
-1.93548387 0.58064516 38.16000000 5.94000000
-1.93548387 0.77419355 38.16000000 5.94000000
-1.93548387 0.96774194 38.16000000 5.94000000
-1.93548387 1.16129032 38.16000000 5.94000000
-1.93548387 1.35483871 38.16000000 5.94000000
-1.93548387 1.54838710 38.16000000 5.94000000
-1.93548387 1.74193548 38.16000000 5.94000000
-1.93548387 1.93548387 38.16000000 5.94000000
-1.93548387 2.12903226 37.60000000 6.20000000
-1.93548387 2.32258065 37.04000000 6.48000000
-1.93548387 2.51612903 36.40000000 6.78000000
-1.93548387 2.70967742 35.92000000 7.06000000
-1.93548387 2.90322581 35.28000000 7.36000000
-1.93548387 3.09677419 57.36000000 7.36000000
-1.93548387 3.29032258 57.12000000 7.06000000
-1.93548387 3.48387097 56.72000000 6.78000000
-1.93548387 3.67741935 56.48000000 6.48000000
-1.93548387 3.87096774 56.24000000 6.20000000
-1.93548387 4.06451613 55.92000000 5.96000000
-1.93548387 4.25806452 55.92000000 5.94000000
-1.93548387 4.45161290 55.92000000 5.94000000
-1.93548387 4.64516129 55.92000000 5.94000000
-1.93548387 4.83870968 55.92000000 5.94000000
-1.93548387 5.03225806 55.92000000 5.94000000
-1.93548387 5.22580645 55.92000000 5.94000000
-1.93548387 5.41935484 55.92000000 5.94000000
-1.93548387 5.61290323 55.92000000 5.94000000
-1.93548387 5.80645161 55.92000000 5.94000000
-1.93548387 6.00000000 55.92000000 5.94000000
-2.12903226 0.00000000 37.68000000 6.18000000
-2.12903226 0.19354839 37.68000000 6.18000000
-2.12903226 0.38709677 37.68000000 6.18000000
-2.12903226 0.58064516 37.68000000 6.18000000
-2.12903226 0.77419355 37.68000000 6.18000000
-2.12903226 0.96774194 37.68000000 6.18000000
-2.12903226 1.16129032 37.68000000 6.18000000
-2.12903226 1.35483871 37.68000000 6.18000000
-2.12903226 1.54838710 37.68000000 6.18000000
-2.12903226 1.74193548 37.68000000 6.18000000
-2.12903226 1.93548387 37.68000000 6.18000000
-2.12903226 2.12903226 37.60000000 6.20000000
-2.12903226 2.32258065 37.04000000 6.48000000
-2.12903226 2.51612903 36.40000000 6.78000000
-2.12903226 2.70967742 35.92000000 7.06000000
-2.12903226 2.90322581 35.28000000 7.36000000
-2.12903226 3.09677419 57.36000000 7.36000000
-2.12903226 3.29032258 57.12000000 7.06000000
-2.12903226 3.48387097 56.72000000 6.78000000
-2.12903226 3.67741935 56.48000000 6.48000000
-2.12903226 3.87096774 56.24000000 6.20000000
-2.12903226 4.06451613 56.16000000 6.18000000
-2.12903226 4.25806452 56.16000000 6.18000000
-2.12903226 4.45161290 56.16000000 6.18000000
-2.12903226 4.64516129 56.16000000 6.18000000
-2.12903226 4.83870968 56.16000000 6.18000000
-2.12903226 5.03225806 56.16000000 6.18000000
-2.12903226 5.22580645 56.16000000 6.18000000
-2.12903226 5.41935484 56.16000000 6.18000000
-2.12903226 5.61290323 56.16000000 6.18000000
-2.12903226 5.80645161 56.16000000 6.18000000
-2.12903226 6.00000000 56.16000000 6.18000000
-2.32258065 0.00000000 37.12000000 6.44000000
-2.32258065 0.19354839 37.12000000 6.44000000
-2.32258065 0.38709677 37.12000000 6.44000000
-2.32258065 0.58064516 37.12000000 6.44000000
-2.32258065 0.77419355 37.12000000 6.44000000
-2.32258065 0.96774194 37.12000000 6.44000000
-2.32258065 1.16129032 37.12000000 6.44000000
-2.32258065 1.35483871 37.12000000 6.44000000
-2.32258065 1.54838710 37.12000000 6.44000000
-2.32258065 1.74193548 37.12000000 6.44000000
-2.32258065 1.93548387 37.12000000 6.44000000
-2.32258065 2.12903226 37.12000000 6.44000000
-2.32258065 2.32258065 37.04000000 6.48000000
-2.32258065 2.51612903 36.40000000 6.78000000
-2.32258065 2.70967742 35.92000000 7.06000000
-2.32258065 2.90322581 35.28000000 7.36000000
-2.32258065 3.09677419 57.36000000 7.36000000
-2.32258065 3.29032258 57.12000000 7.06000000
-2.32258065 3.48387097 56.72000000 6.78000000
-2.32258065 3.67741935 56.48000000 6.48000000
-2.32258065 3.87096774 56.48000000 6.44000000
-2.32258065 4.06451613 56.48000000 6.44000000
-2.32258065 4.25806452 56.48000000 6.44000000
-2.32258065 4.45161290 56.48000000 6.44000000
-2.32258065 4.64516129 56.48000000 6.44000000
-2.32258065 4.83870968 56.48000000 6.44000000
-2.32258065 5.03225806 56.48000000 6.44000000
-2.32258065 5.22580645 56.48000000 6.44000000
-2.32258065 5.41935484 56.48000000 6.44000000
-2.32258065 5.61290323 56.48000000 6.44000000
-2.32258065 5.80645161 56.48000000 6.44000000
-2.32258065 6.00000000 56.48000000 6.44000000
-2.51612903 0.00000000 36.64000000 6.68000000
-2.51612903 0.19354839 36.64000000 6.68000000
-2.51612903 0.38709677 36.64000000 6.68000000
-2.51612903 0.58064516 36.64000000 6.68000000
-2.51612903 0.77419355 36.64000000 6.68000000
-2.51612903 0.96774194 36.64000000 6.68000000
-2.51612903 1.16129032 36.64000000 6.68000000
-2.51612903 1.35483871 36.64000000 6.68000000
-2.51612903 1.54838710 36.64000000 6.68000000
-2.51612903 1.74193548 36.64000000 6.68000000
-2.51612903 1.93548387 36.64000000 6.68000000
-2.51612903 2.12903226 36.64000000 6.68000000
-2.51612903 2.32258065 36.64000000 6.68000000
-2.51612903 2.51612903 36.40000000 6.78000000
-2.51612903 2.70967742 35.92000000 7.06000000
-2.51612903 2.90322581 35.28000000 7.36000000
-2.51612903 3.09677419 57.36000000 7.36000000
-2.51612903 3.29032258 57.12000000 7.06000000
-2.51612903 3.48387097 56.72000000 6.78000000
-2.51612903 3.67741935 56.64000000 6.68000000
-2.51612903 3.87096774 56.64000000 6.68000000
-2.51612903 4.06451613 56.64000000 6.68000000
-2.51612903 4.25806452 56.64000000 6.68000000
-2.51612903 4.45161290 56.64000000 6.68000000
-2.51612903 4.64516129 56.64000000 6.68000000
-2.51612903 4.83870968 56.64000000 6.68000000
-2.51612903 5.03225806 56.64000000 6.68000000
-2.51612903 5.22580645 56.64000000 6.68000000
-2.51612903 5.41935484 56.64000000 6.68000000
-2.51612903 5.61290323 56.64000000 6.68000000
-2.51612903 5.80645161 56.64000000 6.68000000
-2.51612903 6.00000000 56.64000000 6.68000000
-2.70967742 0.00000000 36.08000000 6.94000000
-2.70967742 0.19354839 36.08000000 6.94000000
-2.70967742 0.38709677 36.08000000 6.94000000
-2.70967742 0.58064516 36.08000000 6.94000000
-2.70967742 0.77419355 36.08000000 6.94000000
-2.70967742 0.96774194 36.08000000 6.94000000
-2.70967742 1.16129032 36.08000000 6.94000000
-2.70967742 1.35483871 36.08000000 6.94000000
-2.70967742 1.54838710 36.08000000 6.94000000
-2.70967742 1.74193548 36.08000000 6.94000000
-2.70967742 1.93548387 36.08000000 6.94000000
-2.70967742 2.12903226 36.08000000 6.94000000
-2.70967742 2.32258065 36.08000000 6.94000000
-2.70967742 2.51612903 36.08000000 6.94000000
-2.70967742 2.70967742 35.92000000 7.06000000
-2.70967742 2.90322581 35.28000000 7.36000000
-2.70967742 3.09677419 57.36000000 7.36000000
-2.70967742 3.29032258 57.12000000 7.06000000
-2.70967742 3.48387097 56.96000000 6.94000000
-2.70967742 3.67741935 56.96000000 6.94000000
-2.70967742 3.87096774 56.96000000 6.94000000
-2.70967742 4.06451613 56.96000000 6.94000000
-2.70967742 4.25806452 56.96000000 6.94000000
-2.70967742 4.45161290 56.96000000 6.94000000
-2.70967742 4.64516129 56.96000000 6.94000000
-2.70967742 4.83870968 56.96000000 6.94000000
-2.70967742 5.03225806 56.96000000 6.94000000
-2.70967742 5.22580645 56.96000000 6.94000000
-2.70967742 5.41935484 56.96000000 6.94000000
-2.70967742 5.61290323 56.96000000 6.94000000
-2.70967742 5.80645161 56.96000000 6.94000000
-2.70967742 6.00000000 56.96000000 6.94000000
-2.90322581 0.00000000 35.60000000 7.20000000
-2.90322581 0.19354839 35.60000000 7.20000000
-2.90322581 0.38709677 35.60000000 7.20000000
-2.90322581 0.58064516 35.60000000 7.20000000
-2.90322581 0.77419355 35.60000000 7.20000000
-2.90322581 0.96774194 35.60000000 7.20000000
-2.90322581 1.16129032 35.60000000 7.20000000
-2.90322581 1.35483871 35.60000000 7.20000000
-2.90322581 1.54838710 35.60000000 7.20000000
-2.90322581 1.74193548 35.60000000 7.20000000
-2.90322581 1.93548387 35.60000000 7.20000000
-2.90322581 2.12903226 35.60000000 7.20000000
-2.90322581 2.32258065 35.60000000 7.20000000
-2.90322581 2.51612903 35.60000000 7.20000000
-2.90322581 2.70967742 35.60000000 7.20000000
-2.90322581 2.90322581 35.28000000 7.36000000
-2.90322581 3.09677419 57.36000000 7.36000000
-2.90322581 3.29032258 57.20000000 7.20000000
-2.90322581 3.48387097 57.20000000 7.20000000
-2.90322581 3.67741935 57.20000000 7.20000000
-2.90322581 3.87096774 57.20000000 7.20000000
-2.90322581 4.06451613 57.20000000 7.20000000
-2.90322581 4.25806452 57.20000000 7.20000000
-2.90322581 4.45161290 57.20000000 7.20000000
-2.90322581 4.64516129 57.20000000 7.20000000
-2.90322581 4.83870968 57.20000000 7.20000000
-2.90322581 5.03225806 57.20000000 7.20000000
-2.90322581 5.22580645 57.20000000 7.20000000
-2.90322581 5.41935484 57.20000000 7.20000000
-2.90322581 5.61290323 57.20000000 7.20000000
-2.90322581 5.80645161 57.20000000 7.20000000
-2.90322581 6.00000000 57.20000000 7.20000000
-3.09677419 0.00000000 35.12000000 7.46000000
-3.09677419 0.19354839 35.12000000 7.46000000
-3.09677419 0.38709677 35.12000000 7.46000000
-3.09677419 0.58064516 35.12000000 7.46000000
-3.09677419 0.77419355 35.12000000 7.46000000
-3.09677419 0.96774194 35.12000000 7.46000000
-3.09677419 1.16129032 35.12000000 7.46000000
-3.09677419 1.35483871 35.12000000 7.46000000
-3.09677419 1.54838710 35.12000000 7.46000000
-3.09677419 1.74193548 35.12000000 7.46000000
-3.09677419 1.93548387 35.12000000 7.46000000
-3.09677419 2.12903226 35.12000000 7.46000000
-3.09677419 2.32258065 35.12000000 7.46000000
-3.09677419 2.51612903 35.12000000 7.46000000
-3.09677419 2.70967742 35.12000000 7.46000000
-3.09677419 2.90322581 35.12000000 7.46000000
-3.09677419 3.09677419 57.52000000 7.46000000
-3.09677419 3.29032258 57.52000000 7.46000000
-3.09677419 3.48387097 57.52000000 7.46000000
-3.09677419 3.67741935 57.52000000 7.46000000
-3.09677419 3.87096774 57.52000000 7.46000000
-3.09677419 4.06451613 57.52000000 7.46000000
-3.09677419 4.25806452 57.52000000 7.46000000
-3.09677419 4.45161290 57.52000000 7.46000000
-3.09677419 4.64516129 57.52000000 7.46000000
-3.09677419 4.83870968 57.52000000 7.46000000
-3.09677419 5.03225806 57.52000000 7.46000000
-3.09677419 5.22580645 57.52000000 7.46000000
-3.09677419 5.41935484 57.52000000 7.46000000
-3.09677419 5.61290323 57.52000000 7.46000000
-3.09677419 5.80645161 57.52000000 7.46000000
-3.09677419 6.00000000 57.52000000 7.46000000
-3.29032258 0.00000000 34.56000000 7.72000000
-3.29032258 0.19354839 34.56000000 7.72000000
-3.29032258 0.38709677 34.56000000 7.72000000
-3.29032258 0.58064516 34.56000000 7.72000000
-3.29032258 0.77419355 34.56000000 7.72000000
-3.29032258 0.96774194 34.56000000 7.72000000
-3.29032258 1.16129032 34.56000000 7.72000000
-3.29032258 1.35483871 34.56000000 7.72000000
-3.29032258 1.54838710 34.56000000 7.72000000
-3.29032258 1.74193548 34.56000000 7.72000000
-3.29032258 1.93548387 34.56000000 7.72000000
-3.29032258 2.12903226 34.56000000 7.72000000
-3.29032258 2.32258065 34.56000000 7.72000000
-3.29032258 2.51612903 34.56000000 7.72000000
-3.29032258 2.70967742 34.56000000 7.72000000
-3.29032258 2.90322581 47.28000000 7.72000000
-3.29032258 3.09677419 47.28000000 7.72000000
-3.29032258 3.29032258 57.68000000 7.72000000
-3.29032258 3.48387097 57.68000000 7.72000000
-3.29032258 3.67741935 57.68000000 7.72000000
-3.29032258 3.87096774 57.68000000 7.72000000
-3.29032258 4.06451613 57.68000000 7.72000000
-3.29032258 4.25806452 57.68000000 7.72000000
-3.29032258 4.45161290 57.68000000 7.72000000
-3.29032258 4.64516129 57.68000000 7.72000000
-3.29032258 4.83870968 57.68000000 7.72000000
-3.29032258 5.03225806 57.68000000 7.72000000
-3.29032258 5.22580645 57.68000000 7.72000000
-3.29032258 5.41935484 57.68000000 7.72000000
-3.29032258 5.61290323 57.68000000 7.72000000
-3.29032258 5.80645161 57.68000000 7.72000000
-3.29032258 6.00000000 57.68000000 7.72000000
-3.48387097 0.00000000 34.80000000 7.58000000
-3.48387097 0.19354839 34.80000000 7.58000000
-3.48387097 0.38709677 34.80000000 7.58000000
-3.48387097 0.58064516 34.80000000 7.58000000
-3.48387097 0.77419355 34.80000000 7.58000000
-3.48387097 0.96774194 34.80000000 7.58000000
-3.48387097 1.16129032 34.80000000 7.58000000
-3.48387097 1.35483871 34.80000000 7.58000000
-3.48387097 1.54838710 34.80000000 7.58000000
-3.48387097 1.74193548 34.80000000 7.58000000
-3.48387097 1.93548387 34.80000000 7.58000000
-3.48387097 2.12903226 34.80000000 7.58000000
-3.48387097 2.32258065 34.80000000 7.58000000
-3.48387097 2.51612903 34.80000000 7.58000000
-3.48387097 2.70967742 34.80000000 7.58000000
-3.48387097 2.90322581 34.80000000 7.58000000
-3.48387097 3.09677419 34.80000000 10.00000000
-3.48387097 3.29032258 72.24000000 17.42000000
-3.48387097 3.48387097 72.24000000 17.42000000
-3.48387097 3.67741935 72.24000000 17.42000000
-3.48387097 3.87096774 72.24000000 17.42000000
-3.48387097 4.06451613 72.24000000 17.42000000
-3.48387097 4.25806452 72.24000000 17.42000000
-3.48387097 4.45161290 72.24000000 17.42000000
-3.48387097 4.64516129 72.24000000 17.42000000
-3.48387097 4.83870968 72.24000000 17.42000000
-3.48387097 5.03225806 72.24000000 17.42000000
-3.48387097 5.22580645 72.24000000 17.42000000
-3.48387097 5.41935484 72.24000000 17.42000000
-3.48387097 5.61290323 72.24000000 17.42000000
-3.48387097 5.80645161 72.24000000 17.42000000
-3.48387097 6.00000000 72.24000000 17.42000000
-3.67741935 0.00000000 36.80000000 6.62000000
-3.67741935 0.19354839 36.80000000 6.62000000
-3.67741935 0.38709677 36.80000000 6.62000000
-3.67741935 0.58064516 36.80000000 6.62000000
-3.67741935 0.77419355 36.80000000 6.62000000
-3.67741935 0.96774194 36.80000000 6.62000000
-3.67741935 1.16129032 36.80000000 6.62000000
-3.67741935 1.35483871 36.80000000 6.62000000
-3.67741935 1.54838710 36.80000000 6.62000000
-3.67741935 1.74193548 36.80000000 6.62000000
-3.67741935 1.93548387 36.80000000 6.62000000
-3.67741935 2.12903226 36.80000000 6.62000000
-3.67741935 2.32258065 36.80000000 6.62000000
-3.67741935 2.51612903 36.64000000 6.68000000
-3.67741935 2.70967742 36.08000000 6.94000000
-3.67741935 2.90322581 35.60000000 7.20000000
-3.67741935 3.09677419 72.96000000 17.64000000
-3.67741935 3.29032258 73.84000000 17.94000000
-3.67741935 3.48387097 74.64000000 18.22000000
-3.67741935 3.67741935 75.20000000 18.38000000
-3.67741935 3.87096774 75.20000000 18.38000000
-3.67741935 4.06451613 75.20000000 18.38000000
-3.67741935 4.25806452 75.20000000 18.38000000
-3.67741935 4.45161290 75.20000000 18.38000000
-3.67741935 4.64516129 75.20000000 18.38000000
-3.67741935 4.83870968 75.20000000 18.38000000
-3.67741935 5.03225806 75.20000000 18.38000000
-3.67741935 5.22580645 75.20000000 18.38000000
-3.67741935 5.41935484 75.20000000 18.38000000
-3.67741935 5.61290323 75.20000000 18.38000000
-3.67741935 5.80645161 75.20000000 18.38000000
-3.67741935 6.00000000 75.20000000 18.38000000
-3.87096774 0.00000000 38.72000000 5.64000000
-3.87096774 0.19354839 38.72000000 5.64000000
-3.87096774 0.38709677 38.72000000 5.64000000
-3.87096774 0.58064516 38.72000000 5.64000000
-3.87096774 0.77419355 38.72000000 5.64000000
-3.87096774 0.96774194 38.72000000 5.64000000
-3.87096774 1.16129032 38.72000000 5.64000000
-3.87096774 1.35483871 38.64000000 5.68000000
-3.87096774 1.54838710 38.48000000 5.78000000
-3.87096774 1.74193548 38.24000000 5.88000000
-3.87096774 1.93548387 38.08000000 5.96000000
-3.87096774 2.12903226 37.68000000 6.18000000
-3.87096774 2.32258065 37.12000000 6.44000000
-3.87096774 2.51612903 36.64000000 6.68000000
-3.87096774 2.70967742 36.08000000 6.94000000
-3.87096774 2.90322581 35.60000000 7.20000000
-3.87096774 3.09677419 72.96000000 17.64000000
-3.87096774 3.29032258 73.84000000 17.94000000
-3.87096774 3.48387097 74.64000000 18.22000000
-3.87096774 3.67741935 75.52000000 18.52000000
-3.87096774 3.87096774 76.40000000 18.80000000
-3.87096774 4.06451613 77.12000000 19.04000000
-3.87096774 4.25806452 77.36000000 19.12000000
-3.87096774 4.45161290 77.68000000 19.22000000
-3.87096774 4.64516129 78.00000000 19.32000000
-3.87096774 4.83870968 78.08000000 19.36000000
-3.87096774 5.03225806 78.08000000 19.36000000
-3.87096774 5.22580645 78.08000000 19.36000000
-3.87096774 5.41935484 78.08000000 19.36000000
-3.87096774 5.61290323 78.08000000 19.36000000
-3.87096774 5.80645161 78.08000000 19.36000000
-3.87096774 6.00000000 78.08000000 19.36000000
-4.06451613 0.00000000 39.68000000 5.16000000
-4.06451613 0.19354839 39.68000000 5.16000000
-4.06451613 0.38709677 39.60000000 5.20000000
-4.06451613 0.58064516 39.44000000 5.30000000
-4.06451613 0.77419355 39.20000000 5.38000000
-4.06451613 0.96774194 39.04000000 5.48000000
-4.06451613 1.16129032 38.80000000 5.58000000
-4.06451613 1.35483871 38.64000000 5.68000000
-4.06451613 1.54838710 38.48000000 5.78000000
-4.06451613 1.74193548 38.24000000 5.88000000
-4.06451613 1.93548387 38.08000000 5.96000000
-4.06451613 2.12903226 37.68000000 6.18000000
-4.06451613 2.32258065 37.12000000 6.44000000
-4.06451613 2.51612903 36.64000000 6.68000000
-4.06451613 2.70967742 36.08000000 6.94000000
-4.06451613 2.90322581 35.60000000 7.20000000
-4.06451613 3.09677419 72.96000000 17.64000000
-4.06451613 3.29032258 73.84000000 17.94000000
-4.06451613 3.48387097 74.64000000 18.22000000
-4.06451613 3.67741935 75.52000000 18.52000000
-4.06451613 3.87096774 76.40000000 18.80000000
-4.06451613 4.06451613 77.12000000 19.04000000
-4.06451613 4.25806452 77.36000000 19.12000000
-4.06451613 4.45161290 77.68000000 19.22000000
-4.06451613 4.64516129 78.00000000 19.32000000
-4.06451613 4.83870968 78.24000000 19.42000000
-4.06451613 5.03225806 78.56000000 19.52000000
-4.06451613 5.22580645 78.80000000 19.62000000
-4.06451613 5.41935484 79.12000000 19.70000000
-4.06451613 5.61290323 79.44000000 19.80000000
-4.06451613 5.80645161 79.52000000 19.84000000
-4.06451613 6.00000000 79.52000000 19.84000000
-4.25806452 0.00000000 38.72000000 5.64000000
-4.25806452 0.19354839 38.72000000 5.64000000
-4.25806452 0.38709677 38.72000000 5.64000000
-4.25806452 0.58064516 38.72000000 5.64000000
-4.25806452 0.77419355 38.72000000 5.64000000
-4.25806452 0.96774194 38.72000000 5.64000000
-4.25806452 1.16129032 38.72000000 5.64000000
-4.25806452 1.35483871 38.64000000 5.68000000
-4.25806452 1.54838710 38.48000000 5.78000000
-4.25806452 1.74193548 38.24000000 5.88000000
-4.25806452 1.93548387 38.08000000 5.96000000
-4.25806452 2.12903226 37.68000000 6.18000000
-4.25806452 2.32258065 37.12000000 6.44000000
-4.25806452 2.51612903 36.64000000 6.68000000
-4.25806452 2.70967742 36.08000000 6.94000000
-4.25806452 2.90322581 35.60000000 7.20000000
-4.25806452 3.09677419 72.96000000 17.64000000
-4.25806452 3.29032258 73.84000000 17.94000000
-4.25806452 3.48387097 74.64000000 18.22000000
-4.25806452 3.67741935 75.52000000 18.52000000
-4.25806452 3.87096774 76.40000000 18.80000000
-4.25806452 4.06451613 77.12000000 19.04000000
-4.25806452 4.25806452 77.36000000 19.12000000
-4.25806452 4.45161290 77.68000000 19.22000000
-4.25806452 4.64516129 78.00000000 19.32000000
-4.25806452 4.83870968 78.08000000 19.36000000
-4.25806452 5.03225806 78.08000000 19.36000000
-4.25806452 5.22580645 78.08000000 19.36000000
-4.25806452 5.41935484 78.08000000 19.36000000
-4.25806452 5.61290323 78.08000000 19.36000000
-4.25806452 5.80645161 78.08000000 19.36000000
-4.25806452 6.00000000 78.08000000 19.36000000
-4.45161290 0.00000000 37.76000000 6.12000000
-4.45161290 0.19354839 37.76000000 6.12000000
-4.45161290 0.38709677 37.76000000 6.12000000
-4.45161290 0.58064516 37.76000000 6.12000000
-4.45161290 0.77419355 37.76000000 6.12000000
-4.45161290 0.96774194 37.76000000 6.12000000
-4.45161290 1.16129032 37.76000000 6.12000000
-4.45161290 1.35483871 37.76000000 6.12000000
-4.45161290 1.54838710 37.76000000 6.12000000
-4.45161290 1.74193548 37.76000000 6.12000000
-4.45161290 1.93548387 37.76000000 6.12000000
-4.45161290 2.12903226 37.68000000 6.18000000
-4.45161290 2.32258065 37.12000000 6.44000000
-4.45161290 2.51612903 36.64000000 6.68000000
-4.45161290 2.70967742 36.08000000 6.94000000
-4.45161290 2.90322581 35.60000000 7.20000000
-4.45161290 3.09677419 72.96000000 17.64000000
-4.45161290 3.29032258 73.84000000 17.94000000
-4.45161290 3.48387097 74.64000000 18.22000000
-4.45161290 3.67741935 75.52000000 18.52000000
-4.45161290 3.87096774 76.40000000 18.80000000
-4.45161290 4.06451613 76.64000000 18.88000000
-4.45161290 4.25806452 76.64000000 18.88000000
-4.45161290 4.45161290 76.64000000 18.88000000
-4.45161290 4.64516129 76.64000000 18.88000000
-4.45161290 4.83870968 76.64000000 18.88000000
-4.45161290 5.03225806 76.64000000 18.88000000
-4.45161290 5.22580645 76.64000000 18.88000000
-4.45161290 5.41935484 76.64000000 18.88000000
-4.45161290 5.61290323 76.64000000 18.88000000
-4.45161290 5.80645161 76.64000000 18.88000000
-4.45161290 6.00000000 76.64000000 18.88000000
-4.64516129 0.00000000 36.80000000 6.62000000
-4.64516129 0.19354839 36.80000000 6.62000000
-4.64516129 0.38709677 36.80000000 6.62000000
-4.64516129 0.58064516 36.80000000 6.62000000
-4.64516129 0.77419355 36.80000000 6.62000000
-4.64516129 0.96774194 36.80000000 6.62000000
-4.64516129 1.16129032 36.80000000 6.62000000
-4.64516129 1.35483871 36.80000000 6.62000000
-4.64516129 1.54838710 36.80000000 6.62000000
-4.64516129 1.74193548 36.80000000 6.62000000
-4.64516129 1.93548387 36.80000000 6.62000000
-4.64516129 2.12903226 36.80000000 6.62000000
-4.64516129 2.32258065 36.80000000 6.62000000
-4.64516129 2.51612903 36.64000000 6.68000000
-4.64516129 2.70967742 36.08000000 6.94000000
-4.64516129 2.90322581 35.60000000 7.20000000
-4.64516129 3.09677419 72.96000000 17.64000000
-4.64516129 3.29032258 73.84000000 17.94000000
-4.64516129 3.48387097 74.64000000 18.22000000
-4.64516129 3.67741935 75.20000000 18.38000000
-4.64516129 3.87096774 75.20000000 18.38000000
-4.64516129 4.06451613 75.20000000 18.38000000
-4.64516129 4.25806452 75.20000000 18.38000000
-4.64516129 4.45161290 75.20000000 18.38000000
-4.64516129 4.64516129 75.20000000 18.38000000
-4.64516129 4.83870968 75.20000000 18.38000000
-4.64516129 5.03225806 75.20000000 18.38000000
-4.64516129 5.22580645 75.20000000 18.38000000
-4.64516129 5.41935484 75.20000000 18.38000000
-4.64516129 5.61290323 75.20000000 18.38000000
-4.64516129 5.80645161 75.20000000 18.38000000
-4.64516129 6.00000000 75.20000000 18.38000000
-4.83870968 0.00000000 35.76000000 7.10000000
-4.83870968 0.19354839 35.76000000 7.10000000
-4.83870968 0.38709677 35.76000000 7.10000000
-4.83870968 0.58064516 35.76000000 7.10000000
-4.83870968 0.77419355 35.76000000 7.10000000
-4.83870968 0.96774194 35.76000000 7.10000000
-4.83870968 1.16129032 35.76000000 7.10000000
-4.83870968 1.35483871 35.76000000 7.10000000
-4.83870968 1.54838710 35.76000000 7.10000000
-4.83870968 1.74193548 35.76000000 7.10000000
-4.83870968 1.93548387 35.76000000 7.10000000
-4.83870968 2.12903226 35.76000000 7.10000000
-4.83870968 2.32258065 35.76000000 7.10000000
-4.83870968 2.51612903 35.76000000 7.10000000
-4.83870968 2.70967742 35.76000000 7.10000000
-4.83870968 2.90322581 35.60000000 7.20000000
-4.83870968 3.09677419 72.96000000 17.64000000
-4.83870968 3.29032258 73.68000000 17.90000000
-4.83870968 3.48387097 73.68000000 17.90000000
-4.83870968 3.67741935 73.68000000 17.90000000
-4.83870968 3.87096774 73.68000000 17.90000000
-4.83870968 4.06451613 73.68000000 17.90000000
-4.83870968 4.25806452 73.68000000 17.90000000
-4.83870968 4.45161290 73.68000000 17.90000000
-4.83870968 4.64516129 73.68000000 17.90000000
-4.83870968 4.83870968 73.68000000 17.90000000
-4.83870968 5.03225806 73.68000000 17.90000000
-4.83870968 5.22580645 73.68000000 17.90000000
-4.83870968 5.41935484 73.68000000 17.90000000
-4.83870968 5.61290323 73.68000000 17.90000000
-4.83870968 5.80645161 73.68000000 17.90000000
-4.83870968 6.00000000 73.68000000 17.90000000
-5.03225806 0.00000000 34.80000000 7.58000000
-5.03225806 0.19354839 34.80000000 7.58000000
-5.03225806 0.38709677 34.80000000 7.58000000
-5.03225806 0.58064516 34.80000000 7.58000000
-5.03225806 0.77419355 34.80000000 7.58000000
-5.03225806 0.96774194 34.80000000 7.58000000
-5.03225806 1.16129032 34.80000000 7.58000000
-5.03225806 1.35483871 34.80000000 7.58000000
-5.03225806 1.54838710 34.80000000 7.58000000
-5.03225806 1.74193548 34.80000000 7.58000000
-5.03225806 1.93548387 34.80000000 7.58000000
-5.03225806 2.12903226 34.80000000 7.58000000
-5.03225806 2.32258065 34.80000000 7.58000000
-5.03225806 2.51612903 34.80000000 7.58000000
-5.03225806 2.70967742 34.80000000 7.58000000
-5.03225806 2.90322581 34.80000000 7.58000000
-5.03225806 3.09677419 34.80000000 10.00000000
-5.03225806 3.29032258 72.24000000 17.42000000
-5.03225806 3.48387097 72.24000000 17.42000000
-5.03225806 3.67741935 72.24000000 17.42000000
-5.03225806 3.87096774 72.24000000 17.42000000
-5.03225806 4.06451613 72.24000000 17.42000000
-5.03225806 4.25806452 72.24000000 17.42000000
-5.03225806 4.45161290 72.24000000 17.42000000
-5.03225806 4.64516129 72.24000000 17.42000000
-5.03225806 4.83870968 72.24000000 17.42000000
-5.03225806 5.03225806 72.24000000 17.42000000
-5.03225806 5.22580645 72.24000000 17.42000000
-5.03225806 5.41935484 72.24000000 17.42000000
-5.03225806 5.61290323 72.24000000 17.42000000
-5.03225806 5.80645161 72.24000000 17.42000000
-5.03225806 6.00000000 72.24000000 17.42000000
-5.22580645 0.00000000 33.84000000 8.06000000
-5.22580645 0.19354839 33.84000000 8.06000000
-5.22580645 0.38709677 33.84000000 8.06000000
-5.22580645 0.58064516 33.84000000 8.06000000
-5.22580645 0.77419355 33.84000000 8.06000000
-5.22580645 0.96774194 33.84000000 8.06000000
-5.22580645 1.16129032 33.84000000 8.06000000
-5.22580645 1.35483871 33.84000000 8.06000000
-5.22580645 1.54838710 33.84000000 8.06000000
-5.22580645 1.74193548 33.84000000 8.06000000
-5.22580645 1.93548387 33.84000000 8.06000000
-5.22580645 2.12903226 33.84000000 8.06000000
-5.22580645 2.32258065 33.84000000 8.06000000
-5.22580645 2.51612903 33.84000000 8.06000000
-5.22580645 2.70967742 33.84000000 10.00000000
-5.22580645 2.90322581 33.84000000 10.00000000
-5.22580645 3.09677419 33.84000000 10.00000000
-5.22580645 3.29032258 33.84000000 10.00000000
-5.22580645 3.48387097 33.84000000 10.00000000
-5.22580645 3.67741935 70.80000000 16.94000000
-5.22580645 3.87096774 70.80000000 16.94000000
-5.22580645 4.06451613 70.80000000 16.94000000
-5.22580645 4.25806452 70.80000000 16.94000000
-5.22580645 4.45161290 70.80000000 16.94000000
-5.22580645 4.64516129 70.80000000 16.94000000
-5.22580645 4.83870968 70.80000000 16.94000000
-5.22580645 5.03225806 70.80000000 16.94000000
-5.22580645 5.22580645 70.80000000 16.94000000
-5.22580645 5.41935484 70.80000000 16.94000000
-5.22580645 5.61290323 70.80000000 16.94000000
-5.22580645 5.80645161 70.80000000 16.94000000
-5.22580645 6.00000000 70.80000000 16.94000000
-5.41935484 0.00000000 32.88000000 8.54000000
-5.41935484 0.19354839 32.88000000 8.54000000
-5.41935484 0.38709677 32.88000000 8.54000000
-5.41935484 0.58064516 32.88000000 8.54000000
-5.41935484 0.77419355 32.88000000 8.54000000
-5.41935484 0.96774194 32.88000000 8.54000000
-5.41935484 1.16129032 32.88000000 8.54000000
-5.41935484 1.35483871 32.88000000 8.54000000
-5.41935484 1.54838710 32.88000000 8.54000000
-5.41935484 1.74193548 32.88000000 8.54000000
-5.41935484 1.93548387 32.88000000 8.54000000
-5.41935484 2.12903226 32.88000000 8.54000000
-5.41935484 2.32258065 32.88000000 10.00000000
-5.41935484 2.51612903 32.88000000 10.00000000
-5.41935484 2.70967742 32.88000000 10.00000000
-5.41935484 2.90322581 32.88000000 10.00000000
-5.41935484 3.09677419 32.88000000 10.00000000
-5.41935484 3.29032258 32.88000000 10.00000000
-5.41935484 3.48387097 32.88000000 10.00000000
-5.41935484 3.67741935 32.88000000 10.00000000
-5.41935484 3.87096774 32.88000000 10.00000000
-5.41935484 4.06451613 69.36000000 16.46000000
-5.41935484 4.25806452 69.36000000 16.46000000
-5.41935484 4.45161290 69.36000000 16.46000000
-5.41935484 4.64516129 69.36000000 16.46000000
-5.41935484 4.83870968 69.36000000 16.46000000
-5.41935484 5.03225806 69.36000000 16.46000000
-5.41935484 5.22580645 69.36000000 16.46000000
-5.41935484 5.41935484 69.36000000 16.46000000
-5.41935484 5.61290323 69.36000000 16.46000000
-5.41935484 5.80645161 69.36000000 16.46000000
-5.41935484 6.00000000 69.36000000 16.46000000
-5.61290323 0.00000000 31.92000000 9.04000000
-5.61290323 0.19354839 31.92000000 9.04000000
-5.61290323 0.38709677 31.92000000 9.04000000
-5.61290323 0.58064516 31.92000000 9.04000000
-5.61290323 0.77419355 31.92000000 9.04000000
-5.61290323 0.96774194 31.92000000 9.04000000
-5.61290323 1.16129032 31.92000000 9.04000000
-5.61290323 1.35483871 31.92000000 9.04000000
-5.61290323 1.54838710 31.92000000 9.04000000
-5.61290323 1.74193548 31.92000000 9.04000000
-5.61290323 1.93548387 31.92000000 9.04000000
-5.61290323 2.12903226 31.92000000 10.00000000
-5.61290323 2.32258065 31.92000000 10.00000000
-5.61290323 2.51612903 31.92000000 10.00000000
-5.61290323 2.70967742 31.92000000 10.00000000
-5.61290323 2.90322581 31.92000000 10.00000000
-5.61290323 3.09677419 31.92000000 10.00000000
-5.61290323 3.29032258 31.92000000 10.00000000
-5.61290323 3.48387097 31.92000000 10.00000000
-5.61290323 3.67741935 31.92000000 10.00000000
-5.61290323 3.87096774 31.92000000 10.00000000
-5.61290323 4.06451613 31.92000000 10.00000000
-5.61290323 4.25806452 31.92000000 10.00000000
-5.61290323 4.45161290 67.92000000 15.96000000
-5.61290323 4.64516129 67.92000000 15.96000000
-5.61290323 4.83870968 67.92000000 15.96000000
-5.61290323 5.03225806 67.92000000 15.96000000
-5.61290323 5.22580645 67.92000000 15.96000000
-5.61290323 5.41935484 67.92000000 15.96000000
-5.61290323 5.61290323 67.92000000 15.96000000
-5.61290323 5.80645161 67.92000000 15.96000000
-5.61290323 6.00000000 67.92000000 15.96000000
-5.80645161 0.00000000 30.96000000 9.52000000
-5.80645161 0.19354839 30.96000000 9.52000000
-5.80645161 0.38709677 30.96000000 9.52000000
-5.80645161 0.58064516 30.96000000 9.52000000
-5.80645161 0.77419355 30.96000000 9.52000000
-5.80645161 0.96774194 30.96000000 9.52000000
-5.80645161 1.16129032 30.96000000 9.52000000
-5.80645161 1.35483871 30.96000000 9.52000000
-5.80645161 1.54838710 30.96000000 10.00000000
-5.80645161 1.74193548 30.96000000 10.00000000
-5.80645161 1.93548387 30.96000000 10.00000000
-5.80645161 2.12903226 30.96000000 10.00000000
-5.80645161 2.32258065 30.96000000 10.00000000
-5.80645161 2.51612903 30.96000000 10.00000000
-5.80645161 2.70967742 30.96000000 10.00000000
-5.80645161 2.90322581 30.96000000 10.00000000
-5.80645161 3.09677419 30.96000000 10.00000000
-5.80645161 3.29032258 30.96000000 10.00000000
-5.80645161 3.48387097 30.96000000 10.00000000
-5.80645161 3.67741935 30.96000000 10.00000000
-5.80645161 3.87096774 30.96000000 10.00000000
-5.80645161 4.06451613 30.96000000 10.00000000
-5.80645161 4.25806452 30.96000000 10.00000000
-5.80645161 4.45161290 30.96000000 10.00000000
-5.80645161 4.64516129 66.48000000 15.48000000
-5.80645161 4.83870968 66.48000000 15.48000000
-5.80645161 5.03225806 66.48000000 15.48000000
-5.80645161 5.22580645 66.48000000 15.48000000
-5.80645161 5.41935484 66.48000000 15.48000000
-5.80645161 5.61290323 66.48000000 15.48000000
-5.80645161 5.80645161 66.48000000 15.48000000
-5.80645161 6.00000000 66.48000000 15.48000000
-6.00000000 0.00000000 nan nan
-6.00000000 0.19354839 nan nan
-6.00000000 0.38709677 nan nan
-6.00000000 0.58064516 nan nan
-6.00000000 0.77419355 nan nan
-6.00000000 0.96774194 nan nan
-6.00000000 1.16129032 nan nan
-6.00000000 1.35483871 nan nan
-6.00000000 1.54838710 nan nan
-6.00000000 1.74193548 nan nan
-6.00000000 1.93548387 nan nan
-6.00000000 2.12903226 nan nan
-6.00000000 2.32258065 nan nan
-6.00000000 2.51612903 nan nan
-6.00000000 2.70967742 nan nan
-6.00000000 2.90322581 nan nan
-6.00000000 3.09677419 nan nan
-6.00000000 3.29032258 nan nan
-6.00000000 3.48387097 nan nan
-6.00000000 3.67741935 nan nan
-6.00000000 3.87096774 nan nan
-6.00000000 4.06451613 nan nan
-6.00000000 4.25806452 nan nan
-6.00000000 4.45161290 nan nan
-6.00000000 4.64516129 nan nan
-6.00000000 4.83870968 nan nan
-6.00000000 5.03225806 nan nan
-6.00000000 5.22580645 nan nan
-6.00000000 5.41935484 nan nan
-6.00000000 5.61290323 nan nan
-6.00000000 5.80645161 nan nan
-6.00000000 6.00000000 nan nan
+Load Dirt Detergent Cycle
+0.000000000 0.000000000 39.920000000 5.000000000
+0.000000000 0.193548387 39.920000000 5.000000000
+0.000000000 0.387096774 39.920000000 5.000000000
+0.000000000 0.580645161 39.920000000 5.000000000
+0.000000000 0.774193548 39.920000000 5.000000000
+0.000000000 0.967741935 39.920000000 5.000000000
+0.000000000 1.161290323 39.680000000 5.160000000
+0.000000000 1.354838710 39.280000000 5.360000000
+0.000000000 1.548387097 38.880000000 5.540000000
+0.000000000 1.741935484 38.480000000 5.740000000
+0.000000000 1.935483871 38.160000000 5.940000000
+0.000000000 2.129032258 37.600000000 6.200000000
+0.000000000 2.322580645 37.040000000 6.480000000
+0.000000000 2.516129032 36.400000000 6.780000000
+0.000000000 2.709677419 35.920000000 7.060000000
+0.000000000 2.903225806 35.280000000 7.360000000
+0.000000000 3.096774194 57.360000000 7.360000000
+0.000000000 3.290322581 57.120000000 7.060000000
+0.000000000 3.483870968 56.720000000 6.780000000
+0.000000000 3.677419355 56.480000000 6.480000000
+0.000000000 3.870967742 56.240000000 6.200000000
+0.000000000 4.064516129 55.920000000 5.960000000
+0.000000000 4.258064516 55.920000000 5.880000000
+0.000000000 4.451612903 55.760000000 5.780000000
+0.000000000 4.645161290 55.680000000 5.680000000
+0.000000000 4.838709677 55.600000000 5.580000000
+0.000000000 5.032258065 55.440000000 5.480000000
+0.000000000 5.225806452 55.440000000 5.380000000
+0.000000000 5.419354839 55.280000000 5.300000000
+0.000000000 5.612903226 55.200000000 5.200000000
+0.000000000 5.806451613 55.040000000 5.100000000
+0.000000000 6.000000000 54.960000000 5.000000000
+0.193548387 0.000000000 39.920000000 5.000000000
+0.193548387 0.193548387 39.920000000 5.000000000
+0.193548387 0.387096774 39.920000000 5.000000000
+0.193548387 0.580645161 39.920000000 5.000000000
+0.193548387 0.774193548 39.920000000 5.000000000
+0.193548387 0.967741935 39.920000000 5.000000000
+0.193548387 1.161290323 39.680000000 5.160000000
+0.193548387 1.354838710 39.280000000 5.360000000
+0.193548387 1.548387097 38.880000000 5.540000000
+0.193548387 1.741935484 38.480000000 5.740000000
+0.193548387 1.935483871 38.160000000 5.940000000
+0.193548387 2.129032258 37.600000000 6.200000000
+0.193548387 2.322580645 37.040000000 6.480000000
+0.193548387 2.516129032 36.400000000 6.780000000
+0.193548387 2.709677419 35.920000000 7.060000000
+0.193548387 2.903225806 35.280000000 7.360000000
+0.193548387 3.096774194 57.360000000 7.360000000
+0.193548387 3.290322581 57.120000000 7.060000000
+0.193548387 3.483870968 56.720000000 6.780000000
+0.193548387 3.677419355 56.480000000 6.480000000
+0.193548387 3.870967742 56.240000000 6.200000000
+0.193548387 4.064516129 55.920000000 5.960000000
+0.193548387 4.258064516 55.920000000 5.880000000
+0.193548387 4.451612903 55.760000000 5.780000000
+0.193548387 4.645161290 55.680000000 5.680000000
+0.193548387 4.838709677 55.600000000 5.580000000
+0.193548387 5.032258065 55.440000000 5.480000000
+0.193548387 5.225806452 55.440000000 5.380000000
+0.193548387 5.419354839 55.280000000 5.300000000
+0.193548387 5.612903226 55.200000000 5.200000000
+0.193548387 5.806451613 55.040000000 5.100000000
+0.193548387 6.000000000 54.960000000 5.000000000
+0.387096774 0.000000000 39.920000000 5.000000000
+0.387096774 0.193548387 39.920000000 5.000000000
+0.387096774 0.387096774 39.920000000 5.000000000
+0.387096774 0.580645161 39.920000000 5.000000000
+0.387096774 0.774193548 39.920000000 5.000000000
+0.387096774 0.967741935 39.920000000 5.000000000
+0.387096774 1.161290323 39.680000000 5.160000000
+0.387096774 1.354838710 39.280000000 5.360000000
+0.387096774 1.548387097 38.880000000 5.540000000
+0.387096774 1.741935484 38.480000000 5.740000000
+0.387096774 1.935483871 38.160000000 5.940000000
+0.387096774 2.129032258 37.600000000 6.200000000
+0.387096774 2.322580645 37.040000000 6.480000000
+0.387096774 2.516129032 36.400000000 6.780000000
+0.387096774 2.709677419 35.920000000 7.060000000
+0.387096774 2.903225806 35.280000000 7.360000000
+0.387096774 3.096774194 57.360000000 7.360000000
+0.387096774 3.290322581 57.120000000 7.060000000
+0.387096774 3.483870968 56.720000000 6.780000000
+0.387096774 3.677419355 56.480000000 6.480000000
+0.387096774 3.870967742 56.240000000 6.200000000
+0.387096774 4.064516129 55.920000000 5.960000000
+0.387096774 4.258064516 55.920000000 5.880000000
+0.387096774 4.451612903 55.760000000 5.780000000
+0.387096774 4.645161290 55.680000000 5.680000000
+0.387096774 4.838709677 55.600000000 5.580000000
+0.387096774 5.032258065 55.440000000 5.480000000
+0.387096774 5.225806452 55.440000000 5.380000000
+0.387096774 5.419354839 55.280000000 5.300000000
+0.387096774 5.612903226 55.200000000 5.200000000
+0.387096774 5.806451613 55.040000000 5.100000000
+0.387096774 6.000000000 54.960000000 5.000000000
+0.580645161 0.000000000 39.920000000 5.000000000
+0.580645161 0.193548387 39.920000000 5.000000000
+0.580645161 0.387096774 39.920000000 5.000000000
+0.580645161 0.580645161 39.920000000 5.000000000
+0.580645161 0.774193548 39.920000000 5.000000000
+0.580645161 0.967741935 39.920000000 5.000000000
+0.580645161 1.161290323 39.680000000 5.160000000
+0.580645161 1.354838710 39.280000000 5.360000000
+0.580645161 1.548387097 38.880000000 5.540000000
+0.580645161 1.741935484 38.480000000 5.740000000
+0.580645161 1.935483871 38.160000000 5.940000000
+0.580645161 2.129032258 37.600000000 6.200000000
+0.580645161 2.322580645 37.040000000 6.480000000
+0.580645161 2.516129032 36.400000000 6.780000000
+0.580645161 2.709677419 35.920000000 7.060000000
+0.580645161 2.903225806 35.280000000 7.360000000
+0.580645161 3.096774194 57.360000000 7.360000000
+0.580645161 3.290322581 57.120000000 7.060000000
+0.580645161 3.483870968 56.720000000 6.780000000
+0.580645161 3.677419355 56.480000000 6.480000000
+0.580645161 3.870967742 56.240000000 6.200000000
+0.580645161 4.064516129 55.920000000 5.960000000
+0.580645161 4.258064516 55.920000000 5.880000000
+0.580645161 4.451612903 55.760000000 5.780000000
+0.580645161 4.645161290 55.680000000 5.680000000
+0.580645161 4.838709677 55.600000000 5.580000000
+0.580645161 5.032258065 55.440000000 5.480000000
+0.580645161 5.225806452 55.440000000 5.380000000
+0.580645161 5.419354839 55.280000000 5.300000000
+0.580645161 5.612903226 55.200000000 5.200000000
+0.580645161 5.806451613 55.040000000 5.100000000
+0.580645161 6.000000000 54.960000000 5.000000000
+0.774193548 0.000000000 39.920000000 5.000000000
+0.774193548 0.193548387 39.920000000 5.000000000
+0.774193548 0.387096774 39.920000000 5.000000000
+0.774193548 0.580645161 39.920000000 5.000000000
+0.774193548 0.774193548 39.920000000 5.000000000
+0.774193548 0.967741935 39.920000000 5.000000000
+0.774193548 1.161290323 39.680000000 5.160000000
+0.774193548 1.354838710 39.280000000 5.360000000
+0.774193548 1.548387097 38.880000000 5.540000000
+0.774193548 1.741935484 38.480000000 5.740000000
+0.774193548 1.935483871 38.160000000 5.940000000
+0.774193548 2.129032258 37.600000000 6.200000000
+0.774193548 2.322580645 37.040000000 6.480000000
+0.774193548 2.516129032 36.400000000 6.780000000
+0.774193548 2.709677419 35.920000000 7.060000000
+0.774193548 2.903225806 35.280000000 7.360000000
+0.774193548 3.096774194 57.360000000 7.360000000
+0.774193548 3.290322581 57.120000000 7.060000000
+0.774193548 3.483870968 56.720000000 6.780000000
+0.774193548 3.677419355 56.480000000 6.480000000
+0.774193548 3.870967742 56.240000000 6.200000000
+0.774193548 4.064516129 55.920000000 5.960000000
+0.774193548 4.258064516 55.920000000 5.880000000
+0.774193548 4.451612903 55.760000000 5.780000000
+0.774193548 4.645161290 55.680000000 5.680000000
+0.774193548 4.838709677 55.600000000 5.580000000
+0.774193548 5.032258065 55.440000000 5.480000000
+0.774193548 5.225806452 55.440000000 5.380000000
+0.774193548 5.419354839 55.280000000 5.300000000
+0.774193548 5.612903226 55.200000000 5.200000000
+0.774193548 5.806451613 55.040000000 5.100000000
+0.774193548 6.000000000 54.960000000 5.000000000
+0.967741935 0.000000000 39.920000000 5.000000000
+0.967741935 0.193548387 39.920000000 5.000000000
+0.967741935 0.387096774 39.920000000 5.000000000
+0.967741935 0.580645161 39.920000000 5.000000000
+0.967741935 0.774193548 39.920000000 5.000000000
+0.967741935 0.967741935 39.920000000 5.000000000
+0.967741935 1.161290323 39.680000000 5.160000000
+0.967741935 1.354838710 39.280000000 5.360000000
+0.967741935 1.548387097 38.880000000 5.540000000
+0.967741935 1.741935484 38.480000000 5.740000000
+0.967741935 1.935483871 38.160000000 5.940000000
+0.967741935 2.129032258 37.600000000 6.200000000
+0.967741935 2.322580645 37.040000000 6.480000000
+0.967741935 2.516129032 36.400000000 6.780000000
+0.967741935 2.709677419 35.920000000 7.060000000
+0.967741935 2.903225806 35.280000000 7.360000000
+0.967741935 3.096774194 57.360000000 7.360000000
+0.967741935 3.290322581 57.120000000 7.060000000
+0.967741935 3.483870968 56.720000000 6.780000000
+0.967741935 3.677419355 56.480000000 6.480000000
+0.967741935 3.870967742 56.240000000 6.200000000
+0.967741935 4.064516129 55.920000000 5.960000000
+0.967741935 4.258064516 55.920000000 5.880000000
+0.967741935 4.451612903 55.760000000 5.780000000
+0.967741935 4.645161290 55.680000000 5.680000000
+0.967741935 4.838709677 55.600000000 5.580000000
+0.967741935 5.032258065 55.440000000 5.480000000
+0.967741935 5.225806452 55.440000000 5.380000000
+0.967741935 5.419354839 55.280000000 5.300000000
+0.967741935 5.612903226 55.200000000 5.200000000
+0.967741935 5.806451613 55.040000000 5.100000000
+0.967741935 6.000000000 54.960000000 5.000000000
+1.161290323 0.000000000 39.680000000 5.160000000
+1.161290323 0.193548387 39.680000000 5.160000000
+1.161290323 0.387096774 39.680000000 5.160000000
+1.161290323 0.580645161 39.680000000 5.160000000
+1.161290323 0.774193548 39.680000000 5.160000000
+1.161290323 0.967741935 39.680000000 5.160000000
+1.161290323 1.161290323 39.680000000 5.160000000
+1.161290323 1.354838710 39.280000000 5.360000000
+1.161290323 1.548387097 38.880000000 5.540000000
+1.161290323 1.741935484 38.480000000 5.740000000
+1.161290323 1.935483871 38.160000000 5.940000000
+1.161290323 2.129032258 37.600000000 6.200000000
+1.161290323 2.322580645 37.040000000 6.480000000
+1.161290323 2.516129032 36.400000000 6.780000000
+1.161290323 2.709677419 35.920000000 7.060000000
+1.161290323 2.903225806 35.280000000 7.360000000
+1.161290323 3.096774194 57.360000000 7.360000000
+1.161290323 3.290322581 57.120000000 7.060000000
+1.161290323 3.483870968 56.720000000 6.780000000
+1.161290323 3.677419355 56.480000000 6.480000000
+1.161290323 3.870967742 56.240000000 6.200000000
+1.161290323 4.064516129 55.920000000 5.960000000
+1.161290323 4.258064516 55.920000000 5.880000000
+1.161290323 4.451612903 55.760000000 5.780000000
+1.161290323 4.645161290 55.680000000 5.680000000
+1.161290323 4.838709677 55.600000000 5.580000000
+1.161290323 5.032258065 55.440000000 5.480000000
+1.161290323 5.225806452 55.440000000 5.380000000
+1.161290323 5.419354839 55.280000000 5.300000000
+1.161290323 5.612903226 55.200000000 5.200000000
+1.161290323 5.806451613 55.120000000 5.160000000
+1.161290323 6.000000000 55.120000000 5.160000000
+1.354838710 0.000000000 39.280000000 5.360000000
+1.354838710 0.193548387 39.280000000 5.360000000
+1.354838710 0.387096774 39.280000000 5.360000000
+1.354838710 0.580645161 39.280000000 5.360000000
+1.354838710 0.774193548 39.280000000 5.360000000
+1.354838710 0.967741935 39.280000000 5.360000000
+1.354838710 1.161290323 39.280000000 5.360000000
+1.354838710 1.354838710 39.280000000 5.360000000
+1.354838710 1.548387097 38.880000000 5.540000000
+1.354838710 1.741935484 38.480000000 5.740000000
+1.354838710 1.935483871 38.160000000 5.940000000
+1.354838710 2.129032258 37.600000000 6.200000000
+1.354838710 2.322580645 37.040000000 6.480000000
+1.354838710 2.516129032 36.400000000 6.780000000
+1.354838710 2.709677419 35.920000000 7.060000000
+1.354838710 2.903225806 35.280000000 7.360000000
+1.354838710 3.096774194 57.360000000 7.360000000
+1.354838710 3.290322581 57.120000000 7.060000000
+1.354838710 3.483870968 56.720000000 6.780000000
+1.354838710 3.677419355 56.480000000 6.480000000
+1.354838710 3.870967742 56.240000000 6.200000000
+1.354838710 4.064516129 55.920000000 5.960000000
+1.354838710 4.258064516 55.920000000 5.880000000
+1.354838710 4.451612903 55.760000000 5.780000000
+1.354838710 4.645161290 55.680000000 5.680000000
+1.354838710 4.838709677 55.600000000 5.580000000
+1.354838710 5.032258065 55.440000000 5.480000000
+1.354838710 5.225806452 55.440000000 5.380000000
+1.354838710 5.419354839 55.360000000 5.360000000
+1.354838710 5.612903226 55.360000000 5.360000000
+1.354838710 5.806451613 55.360000000 5.360000000
+1.354838710 6.000000000 55.360000000 5.360000000
+1.548387097 0.000000000 38.880000000 5.540000000
+1.548387097 0.193548387 38.880000000 5.540000000
+1.548387097 0.387096774 38.880000000 5.540000000
+1.548387097 0.580645161 38.880000000 5.540000000
+1.548387097 0.774193548 38.880000000 5.540000000
+1.548387097 0.967741935 38.880000000 5.540000000
+1.548387097 1.161290323 38.880000000 5.540000000
+1.548387097 1.354838710 38.880000000 5.540000000
+1.548387097 1.548387097 38.880000000 5.540000000
+1.548387097 1.741935484 38.480000000 5.740000000
+1.548387097 1.935483871 38.160000000 5.940000000
+1.548387097 2.129032258 37.600000000 6.200000000
+1.548387097 2.322580645 37.040000000 6.480000000
+1.548387097 2.516129032 36.400000000 6.780000000
+1.548387097 2.709677419 35.920000000 7.060000000
+1.548387097 2.903225806 35.280000000 7.360000000
+1.548387097 3.096774194 57.360000000 7.360000000
+1.548387097 3.290322581 57.120000000 7.060000000
+1.548387097 3.483870968 56.720000000 6.780000000
+1.548387097 3.677419355 56.480000000 6.480000000
+1.548387097 3.870967742 56.240000000 6.200000000
+1.548387097 4.064516129 55.920000000 5.960000000
+1.548387097 4.258064516 55.920000000 5.880000000
+1.548387097 4.451612903 55.760000000 5.780000000
+1.548387097 4.645161290 55.680000000 5.680000000
+1.548387097 4.838709677 55.600000000 5.580000000
+1.548387097 5.032258065 55.600000000 5.540000000
+1.548387097 5.225806452 55.600000000 5.540000000
+1.548387097 5.419354839 55.600000000 5.540000000
+1.548387097 5.612903226 55.600000000 5.540000000
+1.548387097 5.806451613 55.600000000 5.540000000
+1.548387097 6.000000000 55.600000000 5.540000000
+1.741935484 0.000000000 38.480000000 5.740000000
+1.741935484 0.193548387 38.480000000 5.740000000
+1.741935484 0.387096774 38.480000000 5.740000000
+1.741935484 0.580645161 38.480000000 5.740000000
+1.741935484 0.774193548 38.480000000 5.740000000
+1.741935484 0.967741935 38.480000000 5.740000000
+1.741935484 1.161290323 38.480000000 5.740000000
+1.741935484 1.354838710 38.480000000 5.740000000
+1.741935484 1.548387097 38.480000000 5.740000000
+1.741935484 1.741935484 38.480000000 5.740000000
+1.741935484 1.935483871 38.160000000 5.940000000
+1.741935484 2.129032258 37.600000000 6.200000000
+1.741935484 2.322580645 37.040000000 6.480000000
+1.741935484 2.516129032 36.400000000 6.780000000
+1.741935484 2.709677419 35.920000000 7.060000000
+1.741935484 2.903225806 35.280000000 7.360000000
+1.741935484 3.096774194 57.360000000 7.360000000
+1.741935484 3.290322581 57.120000000 7.060000000
+1.741935484 3.483870968 56.720000000 6.780000000
+1.741935484 3.677419355 56.480000000 6.480000000
+1.741935484 3.870967742 56.240000000 6.200000000
+1.741935484 4.064516129 55.920000000 5.960000000
+1.741935484 4.258064516 55.920000000 5.880000000
+1.741935484 4.451612903 55.760000000 5.780000000
+1.741935484 4.645161290 55.760000000 5.740000000
+1.741935484 4.838709677 55.760000000 5.740000000
+1.741935484 5.032258065 55.760000000 5.740000000
+1.741935484 5.225806452 55.760000000 5.740000000
+1.741935484 5.419354839 55.760000000 5.740000000
+1.741935484 5.612903226 55.760000000 5.740000000
+1.741935484 5.806451613 55.760000000 5.740000000
+1.741935484 6.000000000 55.760000000 5.740000000
+1.935483871 0.000000000 38.160000000 5.940000000
+1.935483871 0.193548387 38.160000000 5.940000000
+1.935483871 0.387096774 38.160000000 5.940000000
+1.935483871 0.580645161 38.160000000 5.940000000
+1.935483871 0.774193548 38.160000000 5.940000000
+1.935483871 0.967741935 38.160000000 5.940000000
+1.935483871 1.161290323 38.160000000 5.940000000
+1.935483871 1.354838710 38.160000000 5.940000000
+1.935483871 1.548387097 38.160000000 5.940000000
+1.935483871 1.741935484 38.160000000 5.940000000
+1.935483871 1.935483871 38.160000000 5.940000000
+1.935483871 2.129032258 37.600000000 6.200000000
+1.935483871 2.322580645 37.040000000 6.480000000
+1.935483871 2.516129032 36.400000000 6.780000000
+1.935483871 2.709677419 35.920000000 7.060000000
+1.935483871 2.903225806 35.280000000 7.360000000
+1.935483871 3.096774194 57.360000000 7.360000000
+1.935483871 3.290322581 57.120000000 7.060000000
+1.935483871 3.483870968 56.720000000 6.780000000
+1.935483871 3.677419355 56.480000000 6.480000000
+1.935483871 3.870967742 56.240000000 6.200000000
+1.935483871 4.064516129 55.920000000 5.960000000
+1.935483871 4.258064516 55.920000000 5.940000000
+1.935483871 4.451612903 55.920000000 5.940000000
+1.935483871 4.645161290 55.920000000 5.940000000
+1.935483871 4.838709677 55.920000000 5.940000000
+1.935483871 5.032258065 55.920000000 5.940000000
+1.935483871 5.225806452 55.920000000 5.940000000
+1.935483871 5.419354839 55.920000000 5.940000000
+1.935483871 5.612903226 55.920000000 5.940000000
+1.935483871 5.806451613 55.920000000 5.940000000
+1.935483871 6.000000000 55.920000000 5.940000000
+2.129032258 0.000000000 37.680000000 6.180000000
+2.129032258 0.193548387 37.680000000 6.180000000
+2.129032258 0.387096774 37.680000000 6.180000000
+2.129032258 0.580645161 37.680000000 6.180000000
+2.129032258 0.774193548 37.680000000 6.180000000
+2.129032258 0.967741935 37.680000000 6.180000000
+2.129032258 1.161290323 37.680000000 6.180000000
+2.129032258 1.354838710 37.680000000 6.180000000
+2.129032258 1.548387097 37.680000000 6.180000000
+2.129032258 1.741935484 37.680000000 6.180000000
+2.129032258 1.935483871 37.680000000 6.180000000
+2.129032258 2.129032258 37.600000000 6.200000000
+2.129032258 2.322580645 37.040000000 6.480000000
+2.129032258 2.516129032 36.400000000 6.780000000
+2.129032258 2.709677419 35.920000000 7.060000000
+2.129032258 2.903225806 35.280000000 7.360000000
+2.129032258 3.096774194 57.360000000 7.360000000
+2.129032258 3.290322581 57.120000000 7.060000000
+2.129032258 3.483870968 56.720000000 6.780000000
+2.129032258 3.677419355 56.480000000 6.480000000
+2.129032258 3.870967742 56.240000000 6.200000000
+2.129032258 4.064516129 56.160000000 6.180000000
+2.129032258 4.258064516 56.160000000 6.180000000
+2.129032258 4.451612903 56.160000000 6.180000000
+2.129032258 4.645161290 56.160000000 6.180000000
+2.129032258 4.838709677 56.160000000 6.180000000
+2.129032258 5.032258065 56.160000000 6.180000000
+2.129032258 5.225806452 56.160000000 6.180000000
+2.129032258 5.419354839 56.160000000 6.180000000
+2.129032258 5.612903226 56.160000000 6.180000000
+2.129032258 5.806451613 56.160000000 6.180000000
+2.129032258 6.000000000 56.160000000 6.180000000
+2.322580645 0.000000000 37.120000000 6.440000000
+2.322580645 0.193548387 37.120000000 6.440000000
+2.322580645 0.387096774 37.120000000 6.440000000
+2.322580645 0.580645161 37.120000000 6.440000000
+2.322580645 0.774193548 37.120000000 6.440000000
+2.322580645 0.967741935 37.120000000 6.440000000
+2.322580645 1.161290323 37.120000000 6.440000000
+2.322580645 1.354838710 37.120000000 6.440000000
+2.322580645 1.548387097 37.120000000 6.440000000
+2.322580645 1.741935484 37.120000000 6.440000000
+2.322580645 1.935483871 37.120000000 6.440000000
+2.322580645 2.129032258 37.120000000 6.440000000
+2.322580645 2.322580645 37.040000000 6.480000000
+2.322580645 2.516129032 36.400000000 6.780000000
+2.322580645 2.709677419 35.920000000 7.060000000
+2.322580645 2.903225806 35.280000000 7.360000000
+2.322580645 3.096774194 57.360000000 7.360000000
+2.322580645 3.290322581 57.120000000 7.060000000
+2.322580645 3.483870968 56.720000000 6.780000000
+2.322580645 3.677419355 56.480000000 6.480000000
+2.322580645 3.870967742 56.480000000 6.440000000
+2.322580645 4.064516129 56.480000000 6.440000000
+2.322580645 4.258064516 56.480000000 6.440000000
+2.322580645 4.451612903 56.480000000 6.440000000
+2.322580645 4.645161290 56.480000000 6.440000000
+2.322580645 4.838709677 56.480000000 6.440000000
+2.322580645 5.032258065 56.480000000 6.440000000
+2.322580645 5.225806452 56.480000000 6.440000000
+2.322580645 5.419354839 56.480000000 6.440000000
+2.322580645 5.612903226 56.480000000 6.440000000
+2.322580645 5.806451613 56.480000000 6.440000000
+2.322580645 6.000000000 56.480000000 6.440000000
+2.516129032 0.000000000 36.640000000 6.680000000
+2.516129032 0.193548387 36.640000000 6.680000000
+2.516129032 0.387096774 36.640000000 6.680000000
+2.516129032 0.580645161 36.640000000 6.680000000
+2.516129032 0.774193548 36.640000000 6.680000000
+2.516129032 0.967741935 36.640000000 6.680000000
+2.516129032 1.161290323 36.640000000 6.680000000
+2.516129032 1.354838710 36.640000000 6.680000000
+2.516129032 1.548387097 36.640000000 6.680000000
+2.516129032 1.741935484 36.640000000 6.680000000
+2.516129032 1.935483871 36.640000000 6.680000000
+2.516129032 2.129032258 36.640000000 6.680000000
+2.516129032 2.322580645 36.640000000 6.680000000
+2.516129032 2.516129032 36.400000000 6.780000000
+2.516129032 2.709677419 35.920000000 7.060000000
+2.516129032 2.903225806 35.280000000 7.360000000
+2.516129032 3.096774194 57.360000000 7.360000000
+2.516129032 3.290322581 57.120000000 7.060000000
+2.516129032 3.483870968 56.720000000 6.780000000
+2.516129032 3.677419355 56.640000000 6.680000000
+2.516129032 3.870967742 56.640000000 6.680000000
+2.516129032 4.064516129 56.640000000 6.680000000
+2.516129032 4.258064516 56.640000000 6.680000000
+2.516129032 4.451612903 56.640000000 6.680000000
+2.516129032 4.645161290 56.640000000 6.680000000
+2.516129032 4.838709677 56.640000000 6.680000000
+2.516129032 5.032258065 56.640000000 6.680000000
+2.516129032 5.225806452 56.640000000 6.680000000
+2.516129032 5.419354839 56.640000000 6.680000000
+2.516129032 5.612903226 56.640000000 6.680000000
+2.516129032 5.806451613 56.640000000 6.680000000
+2.516129032 6.000000000 56.640000000 6.680000000
+2.709677419 0.000000000 36.080000000 6.940000000
+2.709677419 0.193548387 36.080000000 6.940000000
+2.709677419 0.387096774 36.080000000 6.940000000
+2.709677419 0.580645161 36.080000000 6.940000000
+2.709677419 0.774193548 36.080000000 6.940000000
+2.709677419 0.967741935 36.080000000 6.940000000
+2.709677419 1.161290323 36.080000000 6.940000000
+2.709677419 1.354838710 36.080000000 6.940000000
+2.709677419 1.548387097 36.080000000 6.940000000
+2.709677419 1.741935484 36.080000000 6.940000000
+2.709677419 1.935483871 36.080000000 6.940000000
+2.709677419 2.129032258 36.080000000 6.940000000
+2.709677419 2.322580645 36.080000000 6.940000000
+2.709677419 2.516129032 36.080000000 6.940000000
+2.709677419 2.709677419 35.920000000 7.060000000
+2.709677419 2.903225806 35.280000000 7.360000000
+2.709677419 3.096774194 57.360000000 7.360000000
+2.709677419 3.290322581 57.120000000 7.060000000
+2.709677419 3.483870968 56.960000000 6.940000000
+2.709677419 3.677419355 56.960000000 6.940000000
+2.709677419 3.870967742 56.960000000 6.940000000
+2.709677419 4.064516129 56.960000000 6.940000000
+2.709677419 4.258064516 56.960000000 6.940000000
+2.709677419 4.451612903 56.960000000 6.940000000
+2.709677419 4.645161290 56.960000000 6.940000000
+2.709677419 4.838709677 56.960000000 6.940000000
+2.709677419 5.032258065 56.960000000 6.940000000
+2.709677419 5.225806452 56.960000000 6.940000000
+2.709677419 5.419354839 56.960000000 6.940000000
+2.709677419 5.612903226 56.960000000 6.940000000
+2.709677419 5.806451613 56.960000000 6.940000000
+2.709677419 6.000000000 56.960000000 6.940000000
+2.903225806 0.000000000 35.600000000 7.200000000
+2.903225806 0.193548387 35.600000000 7.200000000
+2.903225806 0.387096774 35.600000000 7.200000000
+2.903225806 0.580645161 35.600000000 7.200000000
+2.903225806 0.774193548 35.600000000 7.200000000
+2.903225806 0.967741935 35.600000000 7.200000000
+2.903225806 1.161290323 35.600000000 7.200000000
+2.903225806 1.354838710 35.600000000 7.200000000
+2.903225806 1.548387097 35.600000000 7.200000000
+2.903225806 1.741935484 35.600000000 7.200000000
+2.903225806 1.935483871 35.600000000 7.200000000
+2.903225806 2.129032258 35.600000000 7.200000000
+2.903225806 2.322580645 35.600000000 7.200000000
+2.903225806 2.516129032 35.600000000 7.200000000
+2.903225806 2.709677419 35.600000000 7.200000000
+2.903225806 2.903225806 35.280000000 7.360000000
+2.903225806 3.096774194 57.360000000 7.360000000
+2.903225806 3.290322581 57.200000000 7.200000000
+2.903225806 3.483870968 57.200000000 7.200000000
+2.903225806 3.677419355 57.200000000 7.200000000
+2.903225806 3.870967742 57.200000000 7.200000000
+2.903225806 4.064516129 57.200000000 7.200000000
+2.903225806 4.258064516 57.200000000 7.200000000
+2.903225806 4.451612903 57.200000000 7.200000000
+2.903225806 4.645161290 57.200000000 7.200000000
+2.903225806 4.838709677 57.200000000 7.200000000
+2.903225806 5.032258065 57.200000000 7.200000000
+2.903225806 5.225806452 57.200000000 7.200000000
+2.903225806 5.419354839 57.200000000 7.200000000
+2.903225806 5.612903226 57.200000000 7.200000000
+2.903225806 5.806451613 57.200000000 7.200000000
+2.903225806 6.000000000 57.200000000 7.200000000
+3.096774194 0.000000000 35.120000000 7.460000000
+3.096774194 0.193548387 35.120000000 7.460000000
+3.096774194 0.387096774 35.120000000 7.460000000
+3.096774194 0.580645161 35.120000000 7.460000000
+3.096774194 0.774193548 35.120000000 7.460000000
+3.096774194 0.967741935 35.120000000 7.460000000
+3.096774194 1.161290323 35.120000000 7.460000000
+3.096774194 1.354838710 35.120000000 7.460000000
+3.096774194 1.548387097 35.120000000 7.460000000
+3.096774194 1.741935484 35.120000000 7.460000000
+3.096774194 1.935483871 35.120000000 7.460000000
+3.096774194 2.129032258 35.120000000 7.460000000
+3.096774194 2.322580645 35.120000000 7.460000000
+3.096774194 2.516129032 35.120000000 7.460000000
+3.096774194 2.709677419 35.120000000 7.460000000
+3.096774194 2.903225806 35.120000000 7.460000000
+3.096774194 3.096774194 57.520000000 7.460000000
+3.096774194 3.290322581 57.520000000 7.460000000
+3.096774194 3.483870968 57.520000000 7.460000000
+3.096774194 3.677419355 57.520000000 7.460000000
+3.096774194 3.870967742 57.520000000 7.460000000
+3.096774194 4.064516129 57.520000000 7.460000000
+3.096774194 4.258064516 57.520000000 7.460000000
+3.096774194 4.451612903 57.520000000 7.460000000
+3.096774194 4.645161290 57.520000000 7.460000000
+3.096774194 4.838709677 57.520000000 7.460000000
+3.096774194 5.032258065 57.520000000 7.460000000
+3.096774194 5.225806452 57.520000000 7.460000000
+3.096774194 5.419354839 57.520000000 7.460000000
+3.096774194 5.612903226 57.520000000 7.460000000
+3.096774194 5.806451613 57.520000000 7.460000000
+3.096774194 6.000000000 57.520000000 7.460000000
+3.290322581 0.000000000 34.560000000 7.720000000
+3.290322581 0.193548387 34.560000000 7.720000000
+3.290322581 0.387096774 34.560000000 7.720000000
+3.290322581 0.580645161 34.560000000 7.720000000
+3.290322581 0.774193548 34.560000000 7.720000000
+3.290322581 0.967741935 34.560000000 7.720000000
+3.290322581 1.161290323 34.560000000 7.720000000
+3.290322581 1.354838710 34.560000000 7.720000000
+3.290322581 1.548387097 34.560000000 7.720000000
+3.290322581 1.741935484 34.560000000 7.720000000
+3.290322581 1.935483871 34.560000000 7.720000000
+3.290322581 2.129032258 34.560000000 7.720000000
+3.290322581 2.322580645 34.560000000 7.720000000
+3.290322581 2.516129032 34.560000000 7.720000000
+3.290322581 2.709677419 34.560000000 7.720000000
+3.290322581 2.903225806 47.280000000 7.720000000
+3.290322581 3.096774194 47.280000000 7.720000000
+3.290322581 3.290322581 57.680000000 7.720000000
+3.290322581 3.483870968 57.680000000 7.720000000
+3.290322581 3.677419355 57.680000000 7.720000000
+3.290322581 3.870967742 57.680000000 7.720000000
+3.290322581 4.064516129 57.680000000 7.720000000
+3.290322581 4.258064516 57.680000000 7.720000000
+3.290322581 4.451612903 57.680000000 7.720000000
+3.290322581 4.645161290 57.680000000 7.720000000
+3.290322581 4.838709677 57.680000000 7.720000000
+3.290322581 5.032258065 57.680000000 7.720000000
+3.290322581 5.225806452 57.680000000 7.720000000
+3.290322581 5.419354839 57.680000000 7.720000000
+3.290322581 5.612903226 57.680000000 7.720000000
+3.290322581 5.806451613 57.680000000 7.720000000
+3.290322581 6.000000000 57.680000000 7.720000000
+3.483870968 0.000000000 34.800000000 7.580000000
+3.483870968 0.193548387 34.800000000 7.580000000
+3.483870968 0.387096774 34.800000000 7.580000000
+3.483870968 0.580645161 34.800000000 7.580000000
+3.483870968 0.774193548 34.800000000 7.580000000
+3.483870968 0.967741935 34.800000000 7.580000000
+3.483870968 1.161290323 34.800000000 7.580000000
+3.483870968 1.354838710 34.800000000 7.580000000
+3.483870968 1.548387097 34.800000000 7.580000000
+3.483870968 1.741935484 34.800000000 7.580000000
+3.483870968 1.935483871 34.800000000 7.580000000
+3.483870968 2.129032258 34.800000000 7.580000000
+3.483870968 2.322580645 34.800000000 7.580000000
+3.483870968 2.516129032 34.800000000 7.580000000
+3.483870968 2.709677419 34.800000000 7.580000000
+3.483870968 2.903225806 34.800000000 7.580000000
+3.483870968 3.096774194 34.800000000 10.000000000
+3.483870968 3.290322581 72.240000000 17.420000000
+3.483870968 3.483870968 72.240000000 17.420000000
+3.483870968 3.677419355 72.240000000 17.420000000
+3.483870968 3.870967742 72.240000000 17.420000000
+3.483870968 4.064516129 72.240000000 17.420000000
+3.483870968 4.258064516 72.240000000 17.420000000
+3.483870968 4.451612903 72.240000000 17.420000000
+3.483870968 4.645161290 72.240000000 17.420000000
+3.483870968 4.838709677 72.240000000 17.420000000
+3.483870968 5.032258065 72.240000000 17.420000000
+3.483870968 5.225806452 72.240000000 17.420000000
+3.483870968 5.419354839 72.240000000 17.420000000
+3.483870968 5.612903226 72.240000000 17.420000000
+3.483870968 5.806451613 72.240000000 17.420000000
+3.483870968 6.000000000 72.240000000 17.420000000
+3.677419355 0.000000000 36.800000000 6.620000000
+3.677419355 0.193548387 36.800000000 6.620000000
+3.677419355 0.387096774 36.800000000 6.620000000
+3.677419355 0.580645161 36.800000000 6.620000000
+3.677419355 0.774193548 36.800000000 6.620000000
+3.677419355 0.967741935 36.800000000 6.620000000
+3.677419355 1.161290323 36.800000000 6.620000000
+3.677419355 1.354838710 36.800000000 6.620000000
+3.677419355 1.548387097 36.800000000 6.620000000
+3.677419355 1.741935484 36.800000000 6.620000000
+3.677419355 1.935483871 36.800000000 6.620000000
+3.677419355 2.129032258 36.800000000 6.620000000
+3.677419355 2.322580645 36.800000000 6.620000000
+3.677419355 2.516129032 36.640000000 6.680000000
+3.677419355 2.709677419 36.080000000 6.940000000
+3.677419355 2.903225806 35.600000000 7.200000000
+3.677419355 3.096774194 72.960000000 17.640000000
+3.677419355 3.290322581 73.840000000 17.940000000
+3.677419355 3.483870968 74.640000000 18.220000000
+3.677419355 3.677419355 75.200000000 18.380000000
+3.677419355 3.870967742 75.200000000 18.380000000
+3.677419355 4.064516129 75.200000000 18.380000000
+3.677419355 4.258064516 75.200000000 18.380000000
+3.677419355 4.451612903 75.200000000 18.380000000
+3.677419355 4.645161290 75.200000000 18.380000000
+3.677419355 4.838709677 75.200000000 18.380000000
+3.677419355 5.032258065 75.200000000 18.380000000
+3.677419355 5.225806452 75.200000000 18.380000000
+3.677419355 5.419354839 75.200000000 18.380000000
+3.677419355 5.612903226 75.200000000 18.380000000
+3.677419355 5.806451613 75.200000000 18.380000000
+3.677419355 6.000000000 75.200000000 18.380000000
+3.870967742 0.000000000 38.720000000 5.640000000
+3.870967742 0.193548387 38.720000000 5.640000000
+3.870967742 0.387096774 38.720000000 5.640000000
+3.870967742 0.580645161 38.720000000 5.640000000
+3.870967742 0.774193548 38.720000000 5.640000000
+3.870967742 0.967741935 38.720000000 5.640000000
+3.870967742 1.161290323 38.720000000 5.640000000
+3.870967742 1.354838710 38.640000000 5.680000000
+3.870967742 1.548387097 38.480000000 5.780000000
+3.870967742 1.741935484 38.240000000 5.880000000
+3.870967742 1.935483871 38.080000000 5.960000000
+3.870967742 2.129032258 37.680000000 6.180000000
+3.870967742 2.322580645 37.120000000 6.440000000
+3.870967742 2.516129032 36.640000000 6.680000000
+3.870967742 2.709677419 36.080000000 6.940000000
+3.870967742 2.903225806 35.600000000 7.200000000
+3.870967742 3.096774194 72.960000000 17.640000000
+3.870967742 3.290322581 73.840000000 17.940000000
+3.870967742 3.483870968 74.640000000 18.220000000
+3.870967742 3.677419355 75.520000000 18.520000000
+3.870967742 3.870967742 76.400000000 18.800000000
+3.870967742 4.064516129 77.120000000 19.040000000
+3.870967742 4.258064516 77.360000000 19.120000000
+3.870967742 4.451612903 77.680000000 19.220000000
+3.870967742 4.645161290 78.000000000 19.320000000
+3.870967742 4.838709677 78.080000000 19.360000000
+3.870967742 5.032258065 78.080000000 19.360000000
+3.870967742 5.225806452 78.080000000 19.360000000
+3.870967742 5.419354839 78.080000000 19.360000000
+3.870967742 5.612903226 78.080000000 19.360000000
+3.870967742 5.806451613 78.080000000 19.360000000
+3.870967742 6.000000000 78.080000000 19.360000000
+4.064516129 0.000000000 39.680000000 5.160000000
+4.064516129 0.193548387 39.680000000 5.160000000
+4.064516129 0.387096774 39.600000000 5.200000000
+4.064516129 0.580645161 39.440000000 5.300000000
+4.064516129 0.774193548 39.200000000 5.380000000
+4.064516129 0.967741935 39.040000000 5.480000000
+4.064516129 1.161290323 38.800000000 5.580000000
+4.064516129 1.354838710 38.640000000 5.680000000
+4.064516129 1.548387097 38.480000000 5.780000000
+4.064516129 1.741935484 38.240000000 5.880000000
+4.064516129 1.935483871 38.080000000 5.960000000
+4.064516129 2.129032258 37.680000000 6.180000000
+4.064516129 2.322580645 37.120000000 6.440000000
+4.064516129 2.516129032 36.640000000 6.680000000
+4.064516129 2.709677419 36.080000000 6.940000000
+4.064516129 2.903225806 35.600000000 7.200000000
+4.064516129 3.096774194 72.960000000 17.640000000
+4.064516129 3.290322581 73.840000000 17.940000000
+4.064516129 3.483870968 74.640000000 18.220000000
+4.064516129 3.677419355 75.520000000 18.520000000
+4.064516129 3.870967742 76.400000000 18.800000000
+4.064516129 4.064516129 77.120000000 19.040000000
+4.064516129 4.258064516 77.360000000 19.120000000
+4.064516129 4.451612903 77.680000000 19.220000000
+4.064516129 4.645161290 78.000000000 19.320000000
+4.064516129 4.838709677 78.240000000 19.420000000
+4.064516129 5.032258065 78.560000000 19.520000000
+4.064516129 5.225806452 78.800000000 19.620000000
+4.064516129 5.419354839 79.120000000 19.700000000
+4.064516129 5.612903226 79.440000000 19.800000000
+4.064516129 5.806451613 79.520000000 19.840000000
+4.064516129 6.000000000 79.520000000 19.840000000
+4.258064516 0.000000000 38.720000000 5.640000000
+4.258064516 0.193548387 38.720000000 5.640000000
+4.258064516 0.387096774 38.720000000 5.640000000
+4.258064516 0.580645161 38.720000000 5.640000000
+4.258064516 0.774193548 38.720000000 5.640000000
+4.258064516 0.967741935 38.720000000 5.640000000
+4.258064516 1.161290323 38.720000000 5.640000000
+4.258064516 1.354838710 38.640000000 5.680000000
+4.258064516 1.548387097 38.480000000 5.780000000
+4.258064516 1.741935484 38.240000000 5.880000000
+4.258064516 1.935483871 38.080000000 5.960000000
+4.258064516 2.129032258 37.680000000 6.180000000
+4.258064516 2.322580645 37.120000000 6.440000000
+4.258064516 2.516129032 36.640000000 6.680000000
+4.258064516 2.709677419 36.080000000 6.940000000
+4.258064516 2.903225806 35.600000000 7.200000000
+4.258064516 3.096774194 72.960000000 17.640000000
+4.258064516 3.290322581 73.840000000 17.940000000
+4.258064516 3.483870968 74.640000000 18.220000000
+4.258064516 3.677419355 75.520000000 18.520000000
+4.258064516 3.870967742 76.400000000 18.800000000
+4.258064516 4.064516129 77.120000000 19.040000000
+4.258064516 4.258064516 77.360000000 19.120000000
+4.258064516 4.451612903 77.680000000 19.220000000
+4.258064516 4.645161290 78.000000000 19.320000000
+4.258064516 4.838709677 78.080000000 19.360000000
+4.258064516 5.032258065 78.080000000 19.360000000
+4.258064516 5.225806452 78.080000000 19.360000000
+4.258064516 5.419354839 78.080000000 19.360000000
+4.258064516 5.612903226 78.080000000 19.360000000
+4.258064516 5.806451613 78.080000000 19.360000000
+4.258064516 6.000000000 78.080000000 19.360000000
+4.451612903 0.000000000 37.760000000 6.120000000
+4.451612903 0.193548387 37.760000000 6.120000000
+4.451612903 0.387096774 37.760000000 6.120000000
+4.451612903 0.580645161 37.760000000 6.120000000
+4.451612903 0.774193548 37.760000000 6.120000000
+4.451612903 0.967741935 37.760000000 6.120000000
+4.451612903 1.161290323 37.760000000 6.120000000
+4.451612903 1.354838710 37.760000000 6.120000000
+4.451612903 1.548387097 37.760000000 6.120000000
+4.451612903 1.741935484 37.760000000 6.120000000
+4.451612903 1.935483871 37.760000000 6.120000000
+4.451612903 2.129032258 37.680000000 6.180000000
+4.451612903 2.322580645 37.120000000 6.440000000
+4.451612903 2.516129032 36.640000000 6.680000000
+4.451612903 2.709677419 36.080000000 6.940000000
+4.451612903 2.903225806 35.600000000 7.200000000
+4.451612903 3.096774194 72.960000000 17.640000000
+4.451612903 3.290322581 73.840000000 17.940000000
+4.451612903 3.483870968 74.640000000 18.220000000
+4.451612903 3.677419355 75.520000000 18.520000000
+4.451612903 3.870967742 76.400000000 18.800000000
+4.451612903 4.064516129 76.640000000 18.880000000
+4.451612903 4.258064516 76.640000000 18.880000000
+4.451612903 4.451612903 76.640000000 18.880000000
+4.451612903 4.645161290 76.640000000 18.880000000
+4.451612903 4.838709677 76.640000000 18.880000000
+4.451612903 5.032258065 76.640000000 18.880000000
+4.451612903 5.225806452 76.640000000 18.880000000
+4.451612903 5.419354839 76.640000000 18.880000000
+4.451612903 5.612903226 76.640000000 18.880000000
+4.451612903 5.806451613 76.640000000 18.880000000
+4.451612903 6.000000000 76.640000000 18.880000000
+4.645161290 0.000000000 36.800000000 6.620000000
+4.645161290 0.193548387 36.800000000 6.620000000
+4.645161290 0.387096774 36.800000000 6.620000000
+4.645161290 0.580645161 36.800000000 6.620000000
+4.645161290 0.774193548 36.800000000 6.620000000
+4.645161290 0.967741935 36.800000000 6.620000000
+4.645161290 1.161290323 36.800000000 6.620000000
+4.645161290 1.354838710 36.800000000 6.620000000
+4.645161290 1.548387097 36.800000000 6.620000000
+4.645161290 1.741935484 36.800000000 6.620000000
+4.645161290 1.935483871 36.800000000 6.620000000
+4.645161290 2.129032258 36.800000000 6.620000000
+4.645161290 2.322580645 36.800000000 6.620000000
+4.645161290 2.516129032 36.640000000 6.680000000
+4.645161290 2.709677419 36.080000000 6.940000000
+4.645161290 2.903225806 35.600000000 7.200000000
+4.645161290 3.096774194 72.960000000 17.640000000
+4.645161290 3.290322581 73.840000000 17.940000000
+4.645161290 3.483870968 74.640000000 18.220000000
+4.645161290 3.677419355 75.200000000 18.380000000
+4.645161290 3.870967742 75.200000000 18.380000000
+4.645161290 4.064516129 75.200000000 18.380000000
+4.645161290 4.258064516 75.200000000 18.380000000
+4.645161290 4.451612903 75.200000000 18.380000000
+4.645161290 4.645161290 75.200000000 18.380000000
+4.645161290 4.838709677 75.200000000 18.380000000
+4.645161290 5.032258065 75.200000000 18.380000000
+4.645161290 5.225806452 75.200000000 18.380000000
+4.645161290 5.419354839 75.200000000 18.380000000
+4.645161290 5.612903226 75.200000000 18.380000000
+4.645161290 5.806451613 75.200000000 18.380000000
+4.645161290 6.000000000 75.200000000 18.380000000
+4.838709677 0.000000000 35.760000000 7.100000000
+4.838709677 0.193548387 35.760000000 7.100000000
+4.838709677 0.387096774 35.760000000 7.100000000
+4.838709677 0.580645161 35.760000000 7.100000000
+4.838709677 0.774193548 35.760000000 7.100000000
+4.838709677 0.967741935 35.760000000 7.100000000
+4.838709677 1.161290323 35.760000000 7.100000000
+4.838709677 1.354838710 35.760000000 7.100000000
+4.838709677 1.548387097 35.760000000 7.100000000
+4.838709677 1.741935484 35.760000000 7.100000000
+4.838709677 1.935483871 35.760000000 7.100000000
+4.838709677 2.129032258 35.760000000 7.100000000
+4.838709677 2.322580645 35.760000000 7.100000000
+4.838709677 2.516129032 35.760000000 7.100000000
+4.838709677 2.709677419 35.760000000 7.100000000
+4.838709677 2.903225806 35.600000000 7.200000000
+4.838709677 3.096774194 72.960000000 17.640000000
+4.838709677 3.290322581 73.680000000 17.900000000
+4.838709677 3.483870968 73.680000000 17.900000000
+4.838709677 3.677419355 73.680000000 17.900000000
+4.838709677 3.870967742 73.680000000 17.900000000
+4.838709677 4.064516129 73.680000000 17.900000000
+4.838709677 4.258064516 73.680000000 17.900000000
+4.838709677 4.451612903 73.680000000 17.900000000
+4.838709677 4.645161290 73.680000000 17.900000000
+4.838709677 4.838709677 73.680000000 17.900000000
+4.838709677 5.032258065 73.680000000 17.900000000
+4.838709677 5.225806452 73.680000000 17.900000000
+4.838709677 5.419354839 73.680000000 17.900000000
+4.838709677 5.612903226 73.680000000 17.900000000
+4.838709677 5.806451613 73.680000000 17.900000000
+4.838709677 6.000000000 73.680000000 17.900000000
+5.032258065 0.000000000 34.800000000 7.580000000
+5.032258065 0.193548387 34.800000000 7.580000000
+5.032258065 0.387096774 34.800000000 7.580000000
+5.032258065 0.580645161 34.800000000 7.580000000
+5.032258065 0.774193548 34.800000000 7.580000000
+5.032258065 0.967741935 34.800000000 7.580000000
+5.032258065 1.161290323 34.800000000 7.580000000
+5.032258065 1.354838710 34.800000000 7.580000000
+5.032258065 1.548387097 34.800000000 7.580000000
+5.032258065 1.741935484 34.800000000 7.580000000
+5.032258065 1.935483871 34.800000000 7.580000000
+5.032258065 2.129032258 34.800000000 7.580000000
+5.032258065 2.322580645 34.800000000 7.580000000
+5.032258065 2.516129032 34.800000000 7.580000000
+5.032258065 2.709677419 34.800000000 7.580000000
+5.032258065 2.903225806 34.800000000 7.580000000
+5.032258065 3.096774194 34.800000000 10.000000000
+5.032258065 3.290322581 72.240000000 17.420000000
+5.032258065 3.483870968 72.240000000 17.420000000
+5.032258065 3.677419355 72.240000000 17.420000000
+5.032258065 3.870967742 72.240000000 17.420000000
+5.032258065 4.064516129 72.240000000 17.420000000
+5.032258065 4.258064516 72.240000000 17.420000000
+5.032258065 4.451612903 72.240000000 17.420000000
+5.032258065 4.645161290 72.240000000 17.420000000
+5.032258065 4.838709677 72.240000000 17.420000000
+5.032258065 5.032258065 72.240000000 17.420000000
+5.032258065 5.225806452 72.240000000 17.420000000
+5.032258065 5.419354839 72.240000000 17.420000000
+5.032258065 5.612903226 72.240000000 17.420000000
+5.032258065 5.806451613 72.240000000 17.420000000
+5.032258065 6.000000000 72.240000000 17.420000000
+5.225806452 0.000000000 33.840000000 8.060000000
+5.225806452 0.193548387 33.840000000 8.060000000
+5.225806452 0.387096774 33.840000000 8.060000000
+5.225806452 0.580645161 33.840000000 8.060000000
+5.225806452 0.774193548 33.840000000 8.060000000
+5.225806452 0.967741935 33.840000000 8.060000000
+5.225806452 1.161290323 33.840000000 8.060000000
+5.225806452 1.354838710 33.840000000 8.060000000
+5.225806452 1.548387097 33.840000000 8.060000000
+5.225806452 1.741935484 33.840000000 8.060000000
+5.225806452 1.935483871 33.840000000 8.060000000
+5.225806452 2.129032258 33.840000000 8.060000000
+5.225806452 2.322580645 33.840000000 8.060000000
+5.225806452 2.516129032 33.840000000 8.060000000
+5.225806452 2.709677419 33.840000000 10.000000000
+5.225806452 2.903225806 33.840000000 10.000000000
+5.225806452 3.096774194 33.840000000 10.000000000
+5.225806452 3.290322581 33.840000000 10.000000000
+5.225806452 3.483870968 33.840000000 10.000000000
+5.225806452 3.677419355 70.800000000 16.940000000
+5.225806452 3.870967742 70.800000000 16.940000000
+5.225806452 4.064516129 70.800000000 16.940000000
+5.225806452 4.258064516 70.800000000 16.940000000
+5.225806452 4.451612903 70.800000000 16.940000000
+5.225806452 4.645161290 70.800000000 16.940000000
+5.225806452 4.838709677 70.800000000 16.940000000
+5.225806452 5.032258065 70.800000000 16.940000000
+5.225806452 5.225806452 70.800000000 16.940000000
+5.225806452 5.419354839 70.800000000 16.940000000
+5.225806452 5.612903226 70.800000000 16.940000000
+5.225806452 5.806451613 70.800000000 16.940000000
+5.225806452 6.000000000 70.800000000 16.940000000
+5.419354839 0.000000000 32.880000000 8.540000000
+5.419354839 0.193548387 32.880000000 8.540000000
+5.419354839 0.387096774 32.880000000 8.540000000
+5.419354839 0.580645161 32.880000000 8.540000000
+5.419354839 0.774193548 32.880000000 8.540000000
+5.419354839 0.967741935 32.880000000 8.540000000
+5.419354839 1.161290323 32.880000000 8.540000000
+5.419354839 1.354838710 32.880000000 8.540000000
+5.419354839 1.548387097 32.880000000 8.540000000
+5.419354839 1.741935484 32.880000000 8.540000000
+5.419354839 1.935483871 32.880000000 8.540000000
+5.419354839 2.129032258 32.880000000 8.540000000
+5.419354839 2.322580645 32.880000000 10.000000000
+5.419354839 2.516129032 32.880000000 10.000000000
+5.419354839 2.709677419 32.880000000 10.000000000
+5.419354839 2.903225806 32.880000000 10.000000000
+5.419354839 3.096774194 32.880000000 10.000000000
+5.419354839 3.290322581 32.880000000 10.000000000
+5.419354839 3.483870968 32.880000000 10.000000000
+5.419354839 3.677419355 32.880000000 10.000000000
+5.419354839 3.870967742 32.880000000 10.000000000
+5.419354839 4.064516129 69.360000000 16.460000000
+5.419354839 4.258064516 69.360000000 16.460000000
+5.419354839 4.451612903 69.360000000 16.460000000
+5.419354839 4.645161290 69.360000000 16.460000000
+5.419354839 4.838709677 69.360000000 16.460000000
+5.419354839 5.032258065 69.360000000 16.460000000
+5.419354839 5.225806452 69.360000000 16.460000000
+5.419354839 5.419354839 69.360000000 16.460000000
+5.419354839 5.612903226 69.360000000 16.460000000
+5.419354839 5.806451613 69.360000000 16.460000000
+5.419354839 6.000000000 69.360000000 16.460000000
+5.612903226 0.000000000 31.920000000 9.040000000
+5.612903226 0.193548387 31.920000000 9.040000000
+5.612903226 0.387096774 31.920000000 9.040000000
+5.612903226 0.580645161 31.920000000 9.040000000
+5.612903226 0.774193548 31.920000000 9.040000000
+5.612903226 0.967741935 31.920000000 9.040000000
+5.612903226 1.161290323 31.920000000 9.040000000
+5.612903226 1.354838710 31.920000000 9.040000000
+5.612903226 1.548387097 31.920000000 9.040000000
+5.612903226 1.741935484 31.920000000 9.040000000
+5.612903226 1.935483871 31.920000000 9.040000000
+5.612903226 2.129032258 31.920000000 10.000000000
+5.612903226 2.322580645 31.920000000 10.000000000
+5.612903226 2.516129032 31.920000000 10.000000000
+5.612903226 2.709677419 31.920000000 10.000000000
+5.612903226 2.903225806 31.920000000 10.000000000
+5.612903226 3.096774194 31.920000000 10.000000000
+5.612903226 3.290322581 31.920000000 10.000000000
+5.612903226 3.483870968 31.920000000 10.000000000
+5.612903226 3.677419355 31.920000000 10.000000000
+5.612903226 3.870967742 31.920000000 10.000000000
+5.612903226 4.064516129 31.920000000 10.000000000
+5.612903226 4.258064516 31.920000000 10.000000000
+5.612903226 4.451612903 67.920000000 15.960000000
+5.612903226 4.645161290 67.920000000 15.960000000
+5.612903226 4.838709677 67.920000000 15.960000000
+5.612903226 5.032258065 67.920000000 15.960000000
+5.612903226 5.225806452 67.920000000 15.960000000
+5.612903226 5.419354839 67.920000000 15.960000000
+5.612903226 5.612903226 67.920000000 15.960000000
+5.612903226 5.806451613 67.920000000 15.960000000
+5.612903226 6.000000000 67.920000000 15.960000000
+5.806451613 0.000000000 30.960000000 9.520000000
+5.806451613 0.193548387 30.960000000 9.520000000
+5.806451613 0.387096774 30.960000000 9.520000000
+5.806451613 0.580645161 30.960000000 9.520000000
+5.806451613 0.774193548 30.960000000 9.520000000
+5.806451613 0.967741935 30.960000000 9.520000000
+5.806451613 1.161290323 30.960000000 9.520000000
+5.806451613 1.354838710 30.960000000 9.520000000
+5.806451613 1.548387097 30.960000000 10.000000000
+5.806451613 1.741935484 30.960000000 10.000000000
+5.806451613 1.935483871 30.960000000 10.000000000
+5.806451613 2.129032258 30.960000000 10.000000000
+5.806451613 2.322580645 30.960000000 10.000000000
+5.806451613 2.516129032 30.960000000 10.000000000
+5.806451613 2.709677419 30.960000000 10.000000000
+5.806451613 2.903225806 30.960000000 10.000000000
+5.806451613 3.096774194 30.960000000 10.000000000
+5.806451613 3.290322581 30.960000000 10.000000000
+5.806451613 3.483870968 30.960000000 10.000000000
+5.806451613 3.677419355 30.960000000 10.000000000
+5.806451613 3.870967742 30.960000000 10.000000000
+5.806451613 4.064516129 30.960000000 10.000000000
+5.806451613 4.258064516 30.960000000 10.000000000
+5.806451613 4.451612903 30.960000000 10.000000000
+5.806451613 4.645161290 66.480000000 15.480000000
+5.806451613 4.838709677 66.480000000 15.480000000
+5.806451613 5.032258065 66.480000000 15.480000000
+5.806451613 5.225806452 66.480000000 15.480000000
+5.806451613 5.419354839 66.480000000 15.480000000
+5.806451613 5.612903226 66.480000000 15.480000000
+5.806451613 5.806451613 66.480000000 15.480000000
+5.806451613 6.000000000 66.480000000 15.480000000
+6.000000000 0.000000000 nan nan
+6.000000000 0.193548387 nan nan
+6.000000000 0.387096774 nan nan
+6.000000000 0.580645161 nan nan
+6.000000000 0.774193548 nan nan
+6.000000000 0.967741935 nan nan
+6.000000000 1.161290323 nan nan
+6.000000000 1.354838710 nan nan
+6.000000000 1.548387097 nan nan
+6.000000000 1.741935484 nan nan
+6.000000000 1.935483871 nan nan
+6.000000000 2.129032258 nan nan
+6.000000000 2.322580645 nan nan
+6.000000000 2.516129032 nan nan
+6.000000000 2.709677419 nan nan
+6.000000000 2.903225806 nan nan
+6.000000000 3.096774194 nan nan
+6.000000000 3.290322581 nan nan
+6.000000000 3.483870968 nan nan
+6.000000000 3.677419355 nan nan
+6.000000000 3.870967742 nan nan
+6.000000000 4.064516129 nan nan
+6.000000000 4.258064516 nan nan
+6.000000000 4.451612903 nan nan
+6.000000000 4.645161290 nan nan
+6.000000000 4.838709677 nan nan
+6.000000000 5.032258065 nan nan
+6.000000000 5.225806452 nan nan
+6.000000000 5.419354839 nan nan
+6.000000000 5.612903226 nan nan
+6.000000000 5.806451613 nan nan
+6.000000000 6.000000000 nan nan
diff --git a/examples/mamdani/Laundry.fll b/examples/mamdani/Laundry.fll
index ef6fd44..6abf2df 100644
--- a/examples/mamdani/Laundry.fll
+++ b/examples/mamdani/Laundry.fll
@@ -2,42 +2,45 @@ Engine: Laundry
InputVariable: Load
enabled: true
range: 0.000 6.000
+ lock-range: false
term: small Discrete 0.000 1.000 1.000 1.000 2.000 0.800 5.000 0.000
term: normal Discrete 3.000 0.000 4.000 1.000 6.000 0.000
InputVariable: Dirt
enabled: true
range: 0.000 6.000
+ lock-range: false
term: low Discrete 0.000 1.000 2.000 0.800 5.000 0.000
term: high Discrete 1.000 0.000 2.000 0.200 4.000 0.800 6.000 1.000
OutputVariable: Detergent
enabled: true
range: 0.000 80.000
- accumulation: Maximum
+ lock-range: false
+ aggregation: Maximum
defuzzifier: MeanOfMaximum 500
default: nan
lock-previous: false
- lock-range: false
- term: less Discrete 10.000 0.000 40.000 1.000 50.000 0.000
- term: normal Discrete 40.000 0.000 50.000 1.000 60.000 1.000 80.000 0.000
- term: more Discrete 50.000 0.000 80.000 1.000
+ term: less_than_usual Discrete 10.000 0.000 40.000 1.000 50.000 0.000
+ term: usual Discrete 40.000 0.000 50.000 1.000 60.000 1.000 80.000 0.000
+ term: more_than_usual Discrete 50.000 0.000 80.000 1.000
OutputVariable: Cycle
enabled: true
range: 0.000 20.000
- accumulation: Maximum
+ lock-range: false
+ aggregation: Maximum
defuzzifier: MeanOfMaximum 500
default: nan
lock-previous: false
- lock-range: false
term: short Discrete 0.000 1.000 10.000 1.000 20.000 0.000
term: long Discrete 10.000 0.000 20.000 1.000
RuleBlock:
enabled: true
conjunction: Minimum
disjunction: Maximum
- activation: Minimum
- rule: if Load is small and Dirt is not high then Detergent is less
- rule: if Load is small and Dirt is high then Detergent is normal
- rule: if Load is normal and Dirt is low then Detergent is less
- rule: if Load is normal and Dirt is high then Detergent is more
- rule: if Detergent is normal or Detergent is less then Cycle is short
- rule: if Detergent is more then Cycle is long \ No newline at end of file
+ implication: Minimum
+ activation: General
+ rule: if Load is small and Dirt is not high then Detergent is less_than_usual
+ rule: if Load is small and Dirt is high then Detergent is usual
+ rule: if Load is normal and Dirt is low then Detergent is less_than_usual
+ rule: if Load is normal and Dirt is high then Detergent is more_than_usual
+ rule: if Detergent is usual or Detergent is less_than_usual then Cycle is short
+ rule: if Detergent is more_than_usual then Cycle is long \ No newline at end of file
diff --git a/examples/mamdani/Laundry.java b/examples/mamdani/Laundry.java
index d45e77e..95cbe7c 100644
--- a/examples/mamdani/Laundry.java
+++ b/examples/mamdani/Laundry.java
@@ -1,4 +1,5 @@
import com.fuzzylite.*;
+import com.fuzzylite.activation.*
import com.fuzzylite.defuzzifier.*;
import com.fuzzylite.factory.*;
import com.fuzzylite.hedge.*;
@@ -12,64 +13,75 @@ import com.fuzzylite.variable.*;
public class Laundry{
public static void main(String[] args){
+//Code automatically generated with fuzzylite 6.0.
+
Engine engine = new Engine();
engine.setName("Laundry");
+engine.setDescription("");
-InputVariable inputVariable1 = new InputVariable();
-inputVariable1.setEnabled(true);
-inputVariable1.setName("Load");
-inputVariable1.setRange(0.000, 6.000);
-inputVariable1.addTerm(Discrete.create("small", 0.000, 1.000, 1.000, 1.000, 2.000, 0.800, 5.000, 0.000));
-inputVariable1.addTerm(Discrete.create("normal", 3.000, 0.000, 4.000, 1.000, 6.000, 0.000));
-engine.addInputVariable(inputVariable1);
+InputVariable Load = new InputVariable();
+Load.setName("Load");
+Load.setDescription("");
+Load.setEnabled(true);
+Load.setRange(0.000, 6.000);
+Load.setLockValueInRange(false);
+Load.addTerm(Discrete.create("small", 0.000, 1.000, 1.000, 1.000, 2.000, 0.800, 5.000, 0.000));
+Load.addTerm(Discrete.create("normal", 3.000, 0.000, 4.000, 1.000, 6.000, 0.000));
+engine.addInputVariable(Load);
-InputVariable inputVariable2 = new InputVariable();
-inputVariable2.setEnabled(true);
-inputVariable2.setName("Dirt");
-inputVariable2.setRange(0.000, 6.000);
-inputVariable2.addTerm(Discrete.create("low", 0.000, 1.000, 2.000, 0.800, 5.000, 0.000));
-inputVariable2.addTerm(Discrete.create("high", 1.000, 0.000, 2.000, 0.200, 4.000, 0.800, 6.000, 1.000));
-engine.addInputVariable(inputVariable2);
+InputVariable Dirt = new InputVariable();
+Dirt.setName("Dirt");
+Dirt.setDescription("");
+Dirt.setEnabled(true);
+Dirt.setRange(0.000, 6.000);
+Dirt.setLockValueInRange(false);
+Dirt.addTerm(Discrete.create("low", 0.000, 1.000, 2.000, 0.800, 5.000, 0.000));
+Dirt.addTerm(Discrete.create("high", 1.000, 0.000, 2.000, 0.200, 4.000, 0.800, 6.000, 1.000));
+engine.addInputVariable(Dirt);
-OutputVariable outputVariable1 = new OutputVariable();
-outputVariable1.setEnabled(true);
-outputVariable1.setName("Detergent");
-outputVariable1.setRange(0.000, 80.000);
-outputVariable1.fuzzyOutput().setAccumulation(new Maximum());
-outputVariable1.setDefuzzifier(new MeanOfMaximum(500));
-outputVariable1.setDefaultValue(Double.NaN);
-outputVariable1.setLockPreviousOutputValue(false);
-outputVariable1.setLockOutputValueInRange(false);
-outputVariable1.addTerm(Discrete.create("less", 10.000, 0.000, 40.000, 1.000, 50.000, 0.000));
-outputVariable1.addTerm(Discrete.create("normal", 40.000, 0.000, 50.000, 1.000, 60.000, 1.000, 80.000, 0.000));
-outputVariable1.addTerm(Discrete.create("more", 50.000, 0.000, 80.000, 1.000));
-engine.addOutputVariable(outputVariable1);
+OutputVariable Detergent = new OutputVariable();
+Detergent.setName("Detergent");
+Detergent.setDescription("");
+Detergent.setEnabled(true);
+Detergent.setRange(0.000, 80.000);
+Detergent.setLockValueInRange(false);
+Detergent.setAggregation(new Maximum());
+Detergent.setDefuzzifier(new MeanOfMaximum(500));
+Detergent.setDefaultValue(Double.NaN);
+Detergent.setLockPreviousValue(false);
+Detergent.addTerm(Discrete.create("less_than_usual", 10.000, 0.000, 40.000, 1.000, 50.000, 0.000));
+Detergent.addTerm(Discrete.create("usual", 40.000, 0.000, 50.000, 1.000, 60.000, 1.000, 80.000, 0.000));
+Detergent.addTerm(Discrete.create("more_than_usual", 50.000, 0.000, 80.000, 1.000));
+engine.addOutputVariable(Detergent);
-OutputVariable outputVariable2 = new OutputVariable();
-outputVariable2.setEnabled(true);
-outputVariable2.setName("Cycle");
-outputVariable2.setRange(0.000, 20.000);
-outputVariable2.fuzzyOutput().setAccumulation(new Maximum());
-outputVariable2.setDefuzzifier(new MeanOfMaximum(500));
-outputVariable2.setDefaultValue(Double.NaN);
-outputVariable2.setLockPreviousOutputValue(false);
-outputVariable2.setLockOutputValueInRange(false);
-outputVariable2.addTerm(Discrete.create("short", 0.000, 1.000, 10.000, 1.000, 20.000, 0.000));
-outputVariable2.addTerm(Discrete.create("long", 10.000, 0.000, 20.000, 1.000));
-engine.addOutputVariable(outputVariable2);
+OutputVariable Cycle = new OutputVariable();
+Cycle.setName("Cycle");
+Cycle.setDescription("");
+Cycle.setEnabled(true);
+Cycle.setRange(0.000, 20.000);
+Cycle.setLockValueInRange(false);
+Cycle.setAggregation(new Maximum());
+Cycle.setDefuzzifier(new MeanOfMaximum(500));
+Cycle.setDefaultValue(Double.NaN);
+Cycle.setLockPreviousValue(false);
+Cycle.addTerm(Discrete.create("short", 0.000, 1.000, 10.000, 1.000, 20.000, 0.000));
+Cycle.addTerm(Discrete.create("long", 10.000, 0.000, 20.000, 1.000));
+engine.addOutputVariable(Cycle);
RuleBlock ruleBlock = new RuleBlock();
-ruleBlock.setEnabled(true);
ruleBlock.setName("");
+ruleBlock.setDescription("");
+ruleBlock.setEnabled(true);
ruleBlock.setConjunction(new Minimum());
ruleBlock.setDisjunction(new Maximum());
-ruleBlock.setActivation(new Minimum());
-ruleBlock.addRule(Rule.parse("if Load is small and Dirt is not high then Detergent is less", engine));
-ruleBlock.addRule(Rule.parse("if Load is small and Dirt is high then Detergent is normal", engine));
-ruleBlock.addRule(Rule.parse("if Load is normal and Dirt is low then Detergent is less", engine));
-ruleBlock.addRule(Rule.parse("if Load is normal and Dirt is high then Detergent is more", engine));
-ruleBlock.addRule(Rule.parse("if Detergent is normal or Detergent is less then Cycle is short", engine));
-ruleBlock.addRule(Rule.parse("if Detergent is more then Cycle is long", engine));
+ruleBlock.setImplication(new Minimum());
+ruleBlock.setActivation(new General());
+ruleBlock.addRule(Rule.parse("if Load is small and Dirt is not high then Detergent is less_than_usual", engine));
+ruleBlock.addRule(Rule.parse("if Load is small and Dirt is high then Detergent is usual", engine));
+ruleBlock.addRule(Rule.parse("if Load is normal and Dirt is low then Detergent is less_than_usual", engine));
+ruleBlock.addRule(Rule.parse("if Load is normal and Dirt is high then Detergent is more_than_usual", engine));
+ruleBlock.addRule(Rule.parse("if Detergent is usual or Detergent is less_than_usual then Cycle is short", engine));
+ruleBlock.addRule(Rule.parse("if Detergent is more_than_usual then Cycle is long", engine));
engine.addRuleBlock(ruleBlock);
diff --git a/examples/mamdani/Laundry.pdf b/examples/mamdani/Laundry.pdf
new file mode 100644
index 0000000..42df3cf
--- /dev/null
+++ b/examples/mamdani/Laundry.pdf
Binary files differ
diff --git a/examples/mamdani/ObstacleAvoidance.R b/examples/mamdani/ObstacleAvoidance.R
new file mode 100644
index 0000000..5533d26
--- /dev/null
+++ b/examples/mamdani/ObstacleAvoidance.R
@@ -0,0 +1,57 @@
+#Code automatically generated with fuzzylite 6.0.
+
+library(ggplot2);
+
+engine.name = "ObstacleAvoidance"
+engine.fll = "Engine: ObstacleAvoidance
+InputVariable: obstacle
+ enabled: true
+ range: 0.000 1.000
+ lock-range: false
+ term: left Ramp 1.000 0.000
+ term: right Ramp 0.000 1.000
+OutputVariable: mSteer
+ enabled: true
+ range: 0.000 1.000
+ lock-range: false
+ aggregation: Maximum
+ defuzzifier: Centroid 100
+ default: nan
+ lock-previous: false
+ term: left Ramp 1.000 0.000
+ term: right Ramp 0.000 1.000
+RuleBlock: mamdani
+ enabled: true
+ conjunction: none
+ disjunction: none
+ implication: AlgebraicProduct
+ activation: General
+ rule: if obstacle is left then mSteer is right
+ rule: if obstacle is right then mSteer is left"
+
+engine.fldFile = "ObstacleAvoidance.fld"
+if (require(data.table)) {
+ engine.df = data.table::fread(engine.fldFile, sep="auto", header="auto")
+} else {
+ engine.df = read.table(engine.fldFile, header=TRUE)
+}
+
+engine.plot.i1_o1 = ggplot(engine.df, aes(obstacle, mSteer)) +
+ geom_line(aes(color=mSteer), size=3, lineend="round", linejoin="mitre") +
+ scale_color_gradient(low="yellow", high="red") +
+ ggtitle("obstacle vs mSteer")
+
+engine.plot.o1_i1 = ggplot(engine.df, aes(obstacle, mSteer)) +
+ geom_line(aes(color=mSteer), size=3, lineend="round", linejoin="mitre") +
+ scale_color_gradient(low="yellow", high="red") +
+ coord_flip() +
+ ggtitle("mSteer vs obstacle")
+
+if (require(gridExtra)) {
+ engine.plots = arrangeGrob(engine.plot.i1_o1, engine.plot.o1_i1, ncol=2, top=engine.name)
+ ggsave(paste0(engine.name, ".pdf"), engine.plots)
+ if (require(grid)) {
+ grid.newpage()
+ grid.draw(engine.plots)
+ }
+}
diff --git a/examples/mamdani/ObstacleAvoidance.cpp b/examples/mamdani/ObstacleAvoidance.cpp
new file mode 100644
index 0000000..341ffe5
--- /dev/null
+++ b/examples/mamdani/ObstacleAvoidance.cpp
@@ -0,0 +1,49 @@
+#include <fl/Headers.h>
+
+int main(int argc, char** argv){
+//Code automatically generated with fuzzylite 6.0.
+
+using namespace fl;
+
+Engine* engine = new Engine;
+engine->setName("ObstacleAvoidance");
+engine->setDescription("");
+
+InputVariable* obstacle = new InputVariable;
+obstacle->setName("obstacle");
+obstacle->setDescription("");
+obstacle->setEnabled(true);
+obstacle->setRange(0.000, 1.000);
+obstacle->setLockValueInRange(false);
+obstacle->addTerm(new Ramp("left", 1.000, 0.000));
+obstacle->addTerm(new Ramp("right", 0.000, 1.000));
+engine->addInputVariable(obstacle);
+
+OutputVariable* mSteer = new OutputVariable;
+mSteer->setName("mSteer");
+mSteer->setDescription("");
+mSteer->setEnabled(true);
+mSteer->setRange(0.000, 1.000);
+mSteer->setLockValueInRange(false);
+mSteer->setAggregation(new Maximum);
+mSteer->setDefuzzifier(new Centroid(100));
+mSteer->setDefaultValue(fl::nan);
+mSteer->setLockPreviousValue(false);
+mSteer->addTerm(new Ramp("left", 1.000, 0.000));
+mSteer->addTerm(new Ramp("right", 0.000, 1.000));
+engine->addOutputVariable(mSteer);
+
+RuleBlock* mamdani = new RuleBlock;
+mamdani->setName("mamdani");
+mamdani->setDescription("");
+mamdani->setEnabled(true);
+mamdani->setConjunction(fl::null);
+mamdani->setDisjunction(fl::null);
+mamdani->setImplication(new AlgebraicProduct);
+mamdani->setActivation(new General);
+mamdani->addRule(Rule::parse("if obstacle is left then mSteer is right", engine));
+mamdani->addRule(Rule::parse("if obstacle is right then mSteer is left", engine));
+engine->addRuleBlock(mamdani);
+
+
+}
diff --git a/examples/mamdani/ObstacleAvoidance.fcl b/examples/mamdani/ObstacleAvoidance.fcl
new file mode 100644
index 0000000..1f2bac0
--- /dev/null
+++ b/examples/mamdani/ObstacleAvoidance.fcl
@@ -0,0 +1,34 @@
+//Code automatically generated with fuzzylite 6.0.
+
+FUNCTION_BLOCK ObstacleAvoidance
+
+VAR_INPUT
+ obstacle: REAL;
+END_VAR
+
+VAR_OUTPUT
+ mSteer: REAL;
+END_VAR
+
+FUZZIFY obstacle
+ RANGE := (0.000 .. 1.000);
+ TERM left := Ramp 1.000 0.000;
+ TERM right := Ramp 0.000 1.000;
+END_FUZZIFY
+
+DEFUZZIFY mSteer
+ RANGE := (0.000 .. 1.000);
+ TERM left := Ramp 1.000 0.000;
+ TERM right := Ramp 0.000 1.000;
+ METHOD : COG;
+ ACCU : MAX;
+ DEFAULT := nan;
+END_DEFUZZIFY
+
+RULEBLOCK mamdani
+ ACT : PROD;
+ RULE 1 : if obstacle is left then mSteer is right
+ RULE 2 : if obstacle is right then mSteer is left
+END_RULEBLOCK
+
+END_FUNCTION_BLOCK
diff --git a/examples/mamdani/ObstacleAvoidance.fis b/examples/mamdani/ObstacleAvoidance.fis
new file mode 100644
index 0000000..f938ec0
--- /dev/null
+++ b/examples/mamdani/ObstacleAvoidance.fis
@@ -0,0 +1,32 @@
+#Code automatically generated with fuzzylite 6.0.
+
+[System]
+Name='ObstacleAvoidance'
+Type='mamdani'
+Version=6.0
+NumInputs=1
+NumOutputs=1
+NumRules=2
+AndMethod='min'
+OrMethod='max'
+ImpMethod='prod'
+AggMethod='max'
+DefuzzMethod='centroid'
+
+[Input1]
+Name='obstacle'
+Range=[0.000 1.000]
+NumMFs=2
+MF1='left':'rampmf',[1.000 0.000]
+MF2='right':'rampmf',[0.000 1.000]
+
+[Output1]
+Name='mSteer'
+Range=[0.000 1.000]
+NumMFs=2
+MF1='left':'rampmf',[1.000 0.000]
+MF2='right':'rampmf',[0.000 1.000]
+
+[Rules]
+1.000 , 2.000 (1.000) : 1
+2.000 , 1.000 (1.000) : 1
diff --git a/examples/mamdani/ObstacleAvoidance.fld b/examples/mamdani/ObstacleAvoidance.fld
new file mode 100644
index 0000000..ec259dd
--- /dev/null
+++ b/examples/mamdani/ObstacleAvoidance.fld
@@ -0,0 +1,1025 @@
+obstacle mSteer
+0.000000000 0.666650000
+0.000977517 0.666650000
+0.001955034 0.666650000
+0.002932551 0.666650000
+0.003910068 0.666650000
+0.004887586 0.666650000
+0.005865103 0.666638485
+0.006842620 0.666625450
+0.007820137 0.666612389
+0.008797654 0.666599303
+0.009775171 0.666586193
+0.010752688 0.666573056
+0.011730205 0.666559894
+0.012707722 0.666546707
+0.013685239 0.666533494
+0.014662757 0.666520255
+0.015640274 0.666498518
+0.016617791 0.666472271
+0.017595308 0.666445974
+0.018572825 0.666419626
+0.019550342 0.666393229
+0.020527859 0.666366781
+0.021505376 0.666340282
+0.022482893 0.666313732
+0.023460411 0.666287131
+0.024437928 0.666260479
+0.025415445 0.666228313
+0.026392962 0.666188686
+0.027370479 0.666148986
+0.028347996 0.666109209
+0.029325513 0.666069358
+0.030303030 0.666029432
+0.031280547 0.665989429
+0.032258065 0.665949351
+0.033235582 0.665909196
+0.034213099 0.665868966
+0.035190616 0.665826169
+0.036168133 0.665773005
+0.037145650 0.665719742
+0.038123167 0.665666380
+0.039100684 0.665612917
+0.040078201 0.665559355
+0.041055718 0.665505693
+0.042033236 0.665451930
+0.043010753 0.665398066
+0.043988270 0.665344101
+0.044965787 0.665290034
+0.045943304 0.665223628
+0.046920821 0.665156655
+0.047898338 0.665089559
+0.048875855 0.665022339
+0.049853372 0.664954994
+0.050830890 0.664887525
+0.051808407 0.664819932
+0.052785924 0.664752213
+0.053763441 0.664684369
+0.054740958 0.664616398
+0.055718475 0.664539056
+0.056695992 0.664458237
+0.057673509 0.664377270
+0.058651026 0.664296156
+0.059628543 0.664214895
+0.060606061 0.664133485
+0.061583578 0.664051926
+0.062561095 0.663970218
+0.063538612 0.663888361
+0.064516129 0.663806354
+0.065493646 0.663717900
+0.066471163 0.663623109
+0.067448680 0.663528148
+0.068426197 0.663433016
+0.069403715 0.663337714
+0.070381232 0.663242240
+0.071358749 0.663146594
+0.072336266 0.663050776
+0.073313783 0.662954785
+0.074291300 0.662858620
+0.075268817 0.662758885
+0.076246334 0.662650011
+0.077223851 0.662540943
+0.078201369 0.662431683
+0.079178886 0.662322229
+0.080156403 0.662212581
+0.081133920 0.662102739
+0.082111437 0.661992701
+0.083088954 0.661882468
+0.084066471 0.661772039
+0.085043988 0.661660863
+0.086021505 0.661537806
+0.086999022 0.661414534
+0.087976540 0.661291048
+0.088954057 0.661167346
+0.089931574 0.661043428
+0.090909091 0.660919294
+0.091886608 0.660794942
+0.092864125 0.660670373
+0.093841642 0.660545585
+0.094819159 0.660420579
+0.095796676 0.660285492
+0.096774194 0.660147932
+0.097751711 0.660010136
+0.098729228 0.659872104
+0.099706745 0.659733835
+0.100684262 0.659595328
+0.101661779 0.659456582
+0.102639296 0.659317597
+0.103616813 0.659178373
+0.104594330 0.659038909
+0.105571848 0.658892208
+0.106549365 0.658740291
+0.107526882 0.658588119
+0.108504399 0.658435689
+0.109481916 0.658283002
+0.110459433 0.658130057
+0.111436950 0.657976852
+0.112414467 0.657823389
+0.113391984 0.657669665
+0.114369501 0.657515680
+0.115347019 0.657357242
+0.116324536 0.657190916
+0.117302053 0.657024315
+0.118279570 0.656857437
+0.119257087 0.656690282
+0.120234604 0.656522850
+0.121212121 0.656355139
+0.122189638 0.656187149
+0.123167155 0.656018879
+0.124144673 0.655850329
+0.125122190 0.655680041
+0.126099707 0.655499270
+0.127077224 0.655318205
+0.128054741 0.655136845
+0.129032258 0.654955190
+0.130009775 0.654773238
+0.130987292 0.654590990
+0.131964809 0.654408443
+0.132942326 0.654225598
+0.133919844 0.654042454
+0.134897361 0.653859010
+0.135874878 0.653664982
+0.136852395 0.653469436
+0.137829912 0.653273578
+0.138807429 0.653077407
+0.139784946 0.652880922
+0.140762463 0.652684123
+0.141739980 0.652487008
+0.142717498 0.652289577
+0.143695015 0.652091829
+0.144672532 0.651893763
+0.145650049 0.651687855
+0.146627566 0.651477831
+0.147605083 0.651267477
+0.148582600 0.651056794
+0.149560117 0.650845780
+0.150537634 0.650634436
+0.151515152 0.650422759
+0.152492669 0.650210750
+0.153470186 0.649998407
+0.154447703 0.649785731
+0.155425220 0.649567877
+0.156402737 0.649343393
+0.157380254 0.649118566
+0.158357771 0.648893393
+0.159335288 0.648667875
+0.160312805 0.648442011
+0.161290323 0.648215799
+0.162267840 0.647989239
+0.163245357 0.647762331
+0.164222874 0.647535073
+0.165200391 0.647305221
+0.166177908 0.647066320
+0.167155425 0.646827060
+0.168132942 0.646587441
+0.169110459 0.646347463
+0.170087977 0.646107124
+0.171065494 0.645866424
+0.172043011 0.645625361
+0.173020528 0.645383936
+0.173998045 0.645142147
+0.174975562 0.644899993
+0.175953079 0.644647002
+0.176930596 0.644393373
+0.177908113 0.644139372
+0.178885630 0.643884998
+0.179863148 0.643630251
+0.180840665 0.643375130
+0.181818182 0.643119633
+0.182795699 0.642863761
+0.183773216 0.642607513
+0.184750733 0.642350886
+0.185728250 0.642086038
+0.186705767 0.641818123
+0.187683284 0.641549824
+0.188660802 0.641281142
+0.189638319 0.641012074
+0.190615836 0.640742621
+0.191593353 0.640472782
+0.192570870 0.640202555
+0.193548387 0.639931940
+0.194525904 0.639660937
+0.195503421 0.639384233
+0.196480938 0.639102138
+0.197458456 0.638819650
+0.198435973 0.638536767
+0.199413490 0.638253490
+0.200391007 0.637969817
+0.201368524 0.637685747
+0.202346041 0.637401280
+0.203323558 0.637116415
+0.204301075 0.636831150
+0.205278592 0.636542613
+0.206256109 0.636246466
+0.207233627 0.635949918
+0.208211144 0.635652966
+0.209188661 0.635355612
+0.210166178 0.635057853
+0.211143695 0.634759688
+0.212121212 0.634461118
+0.213098729 0.634162142
+0.214076246 0.633862757
+0.215053763 0.633562423
+0.216031281 0.633252376
+0.217008798 0.632941920
+0.217986315 0.632631055
+0.218963832 0.632319779
+0.219941349 0.632008091
+0.220918866 0.631695992
+0.221896383 0.631383479
+0.222873900 0.631070553
+0.223851417 0.630757212
+0.224828935 0.630443455
+0.225806452 0.630121364
+0.226783969 0.629797178
+0.227761486 0.629472576
+0.228739003 0.629147559
+0.229716520 0.628822125
+0.230694037 0.628496272
+0.231671554 0.628170002
+0.232649071 0.627843312
+0.233626588 0.627516202
+0.234604106 0.627188671
+0.235581623 0.626855159
+0.236559140 0.626517443
+0.237536657 0.626179308
+0.238514174 0.625840753
+0.239491691 0.625501777
+0.240469208 0.625162379
+0.241446725 0.624822559
+0.242424242 0.624482316
+0.243401760 0.624141649
+0.244379277 0.623800557
+0.245356794 0.623455725
+0.246334311 0.623104704
+0.247311828 0.622753262
+0.248289345 0.622401397
+0.249266862 0.622049109
+0.250244379 0.621696398
+0.251221896 0.621343261
+0.252199413 0.620989700
+0.253176931 0.620635712
+0.254154448 0.620281297
+0.255131965 0.619925265
+0.256109482 0.619561189
+0.257086999 0.619196691
+0.258064516 0.618831769
+0.259042033 0.618466424
+0.260019550 0.618100655
+0.260997067 0.617734460
+0.261974585 0.617367839
+0.262952102 0.617000791
+0.263929619 0.616633316
+0.264907136 0.616265413
+0.265884653 0.615889366
+0.266862170 0.615512088
+0.267839687 0.615134387
+0.268817204 0.614756264
+0.269794721 0.614377718
+0.270772239 0.613998747
+0.271749756 0.613619351
+0.272727273 0.613239530
+0.273704790 0.612859282
+0.274682307 0.612478608
+0.275659824 0.612091947
+0.276637341 0.611702189
+0.277614858 0.611312012
+0.278592375 0.610921415
+0.279569892 0.610530398
+0.280547410 0.610138959
+0.281524927 0.609747097
+0.282502444 0.609354813
+0.283479961 0.608962106
+0.284457478 0.608568974
+0.285434995 0.608171886
+0.286412512 0.607769974
+0.287390029 0.607367648
+0.288367546 0.606964906
+0.289345064 0.606561748
+0.290322581 0.606158173
+0.291300098 0.605754180
+0.292277615 0.605349770
+0.293255132 0.604944940
+0.294232649 0.604539690
+0.295210166 0.604132380
+0.296187683 0.603718665
+0.297165200 0.603304542
+0.298142717 0.602890009
+0.299120235 0.602475066
+0.300097752 0.602059712
+0.301075269 0.601643947
+0.302052786 0.601227769
+0.303030303 0.600811179
+0.304007820 0.600394176
+0.304985337 0.599976759
+0.305962854 0.599551726
+0.306940371 0.599126182
+0.307917889 0.598700236
+0.308895406 0.598273888
+0.309872923 0.597847137
+0.310850440 0.597419982
+0.311827957 0.596992424
+0.312805474 0.596564460
+0.313782991 0.596136092
+0.314760508 0.595707318
+0.315738025 0.595272860
+0.316715543 0.594836296
+0.317693060 0.594399340
+0.318670577 0.593961991
+0.319648094 0.593524248
+0.320625611 0.593086112
+0.321603128 0.592647581
+0.322580645 0.592208655
+0.323558162 0.591769334
+0.324535679 0.591329617
+0.325513196 0.590886006
+0.326490714 0.590438847
+0.327468231 0.589991307
+0.328445748 0.589543385
+0.329423265 0.589095081
+0.330400782 0.588646394
+0.331378299 0.588197324
+0.332355816 0.587747870
+0.333333333 0.587298033
+0.334310850 0.586847811
+0.335288368 0.586395337
+0.336265885 0.585938031
+0.337243402 0.585480357
+0.338220919 0.585022313
+0.339198436 0.584563900
+0.340175953 0.584105117
+0.341153470 0.583645965
+0.342130987 0.583186441
+0.343108504 0.582726546
+0.344086022 0.582266280
+0.345063539 0.581805253
+0.346041056 0.581338270
+0.347018573 0.580870934
+0.347996090 0.580403243
+0.348973607 0.579935197
+0.349951124 0.579466795
+0.350928641 0.578998038
+0.351906158 0.578528925
+0.352883675 0.578059455
+0.353861193 0.577589628
+0.354838710 0.577119444
+0.355816227 0.576644207
+0.356793744 0.576167703
+0.357771261 0.575690860
+0.358748778 0.575213679
+0.359726295 0.574736158
+0.360703812 0.574258297
+0.361681329 0.573780096
+0.362658847 0.573301554
+0.363636364 0.572822672
+0.364613881 0.572343449
+0.365591398 0.571860698
+0.366568915 0.571375542
+0.367546432 0.570890065
+0.368523949 0.570404267
+0.369501466 0.569918146
+0.370478983 0.569431703
+0.371456500 0.568944938
+0.372434018 0.568457849
+0.373411535 0.567970438
+0.374389052 0.567482703
+0.375366569 0.566992805
+0.376344086 0.566499534
+0.377321603 0.566005960
+0.378299120 0.565512083
+0.379276637 0.565017903
+0.380254154 0.564523420
+0.381231672 0.564028633
+0.382209189 0.563533542
+0.383186706 0.563038147
+0.384164223 0.562542448
+0.385141740 0.562045786
+0.386119257 0.561544954
+0.387096774 0.561043840
+0.388074291 0.560542444
+0.389051808 0.560040764
+0.390029326 0.559538801
+0.391006843 0.559036555
+0.391984360 0.558534026
+0.392961877 0.558031212
+0.393939394 0.557528114
+0.394916911 0.557024732
+0.395894428 0.556517268
+0.396871945 0.556009189
+0.397849462 0.555500848
+0.398826979 0.554992247
+0.399804497 0.554483383
+0.400782014 0.553974258
+0.401759531 0.553464870
+0.402737048 0.552955221
+0.403714565 0.552445308
+0.404692082 0.551935134
+0.405669599 0.551422112
+0.406647116 0.550907660
+0.407624633 0.550392969
+0.408602151 0.549878039
+0.409579668 0.549362870
+0.410557185 0.548847462
+0.411534702 0.548331815
+0.412512219 0.547815928
+0.413489736 0.547299802
+0.414467253 0.546783436
+0.415444770 0.546265287
+0.416422287 0.545745069
+0.417399804 0.545224637
+0.418377322 0.544703989
+0.419354839 0.544183126
+0.420332356 0.543662048
+0.421309873 0.543140754
+0.422287390 0.542619244
+0.423264907 0.542097518
+0.424242424 0.541575577
+0.425219941 0.541052744
+0.426197458 0.540527383
+0.427174976 0.540001832
+0.428152493 0.539476090
+0.429130010 0.538950158
+0.430107527 0.538424035
+0.431085044 0.537897722
+0.432062561 0.537371217
+0.433040078 0.536844521
+0.434017595 0.536317635
+0.434995112 0.535790557
+0.435972630 0.535260701
+0.436950147 0.534730668
+0.437927664 0.534200469
+0.438905181 0.533670106
+0.439882698 0.533139577
+0.440860215 0.532608883
+0.441837732 0.532078024
+0.442815249 0.531546999
+0.443792766 0.531015810
+0.444770283 0.530484454
+0.445747801 0.529951246
+0.446725318 0.529417377
+0.447702835 0.528883370
+0.448680352 0.528349224
+0.449657869 0.527814939
+0.450635386 0.527280516
+0.451612903 0.526745953
+0.452590420 0.526211252
+0.453567937 0.525676412
+0.454545455 0.525141432
+0.455522972 0.524605346
+0.456500489 0.524068300
+0.457478006 0.523531142
+0.458455523 0.522993872
+0.459433040 0.522456490
+0.460410557 0.521918997
+0.461388074 0.521381392
+0.462365591 0.520843675
+0.463343109 0.520305846
+0.464320626 0.519767905
+0.465298143 0.519229421
+0.466275660 0.518689863
+0.467253177 0.518150220
+0.468230694 0.517610493
+0.469208211 0.517070682
+0.470185728 0.516530787
+0.471163245 0.515990807
+0.472140762 0.515450743
+0.473118280 0.514910594
+0.474095797 0.514370361
+0.475073314 0.513829968
+0.476050831 0.513288569
+0.477028348 0.512747115
+0.478005865 0.512205604
+0.478983382 0.511664036
+0.479960899 0.511122412
+0.480938416 0.510580732
+0.481915934 0.510038995
+0.482893451 0.509497202
+0.483870968 0.508955352
+0.484848485 0.508413446
+0.485826002 0.507870980
+0.486803519 0.507328390
+0.487781036 0.506785773
+0.488758553 0.506243127
+0.489736070 0.505700453
+0.490713587 0.505157751
+0.491691105 0.504615020
+0.492668622 0.504072261
+0.493646139 0.503529474
+0.494623656 0.502986658
+0.495601173 0.502443695
+0.496578690 0.501900652
+0.497556207 0.501357608
+0.498533724 0.500814565
+0.499511241 0.500271522
+0.500488759 0.499728478
+0.501466276 0.499185435
+0.502443793 0.498642392
+0.503421310 0.498099348
+0.504398827 0.497556305
+0.505376344 0.497013342
+0.506353861 0.496470526
+0.507331378 0.495927739
+0.508308895 0.495384980
+0.509286413 0.494842249
+0.510263930 0.494299547
+0.511241447 0.493756873
+0.512218964 0.493214227
+0.513196481 0.492671610
+0.514173998 0.492129020
+0.515151515 0.491586554
+0.516129032 0.491044648
+0.517106549 0.490502798
+0.518084066 0.489961005
+0.519061584 0.489419268
+0.520039101 0.488877588
+0.521016618 0.488335964
+0.521994135 0.487794396
+0.522971652 0.487252885
+0.523949169 0.486711431
+0.524926686 0.486170032
+0.525904203 0.485629639
+0.526881720 0.485089406
+0.527859238 0.484549257
+0.528836755 0.484009193
+0.529814272 0.483469213
+0.530791789 0.482929318
+0.531769306 0.482389507
+0.532746823 0.481849780
+0.533724340 0.481310137
+0.534701857 0.480770579
+0.535679374 0.480232095
+0.536656891 0.479694154
+0.537634409 0.479156325
+0.538611926 0.478618608
+0.539589443 0.478081003
+0.540566960 0.477543510
+0.541544477 0.477006128
+0.542521994 0.476468858
+0.543499511 0.475931700
+0.544477028 0.475394654
+0.545454545 0.474858568
+0.546432063 0.474323588
+0.547409580 0.473788748
+0.548387097 0.473254047
+0.549364614 0.472719484
+0.550342131 0.472185061
+0.551319648 0.471650776
+0.552297165 0.471116630
+0.553274682 0.470582623
+0.554252199 0.470048754
+0.555229717 0.469515546
+0.556207234 0.468984190
+0.557184751 0.468453001
+0.558162268 0.467921976
+0.559139785 0.467391117
+0.560117302 0.466860423
+0.561094819 0.466329894
+0.562072336 0.465799531
+0.563049853 0.465269332
+0.564027370 0.464739299
+0.565004888 0.464209443
+0.565982405 0.463682365
+0.566959922 0.463155479
+0.567937439 0.462628783
+0.568914956 0.462102278
+0.569892473 0.461575965
+0.570869990 0.461049842
+0.571847507 0.460523910
+0.572825024 0.459998168
+0.573802542 0.459472617
+0.574780059 0.458947256
+0.575757576 0.458424423
+0.576735093 0.457902482
+0.577712610 0.457380756
+0.578690127 0.456859246
+0.579667644 0.456337952
+0.580645161 0.455816874
+0.581622678 0.455296011
+0.582600196 0.454775363
+0.583577713 0.454254931
+0.584555230 0.453734713
+0.585532747 0.453216564
+0.586510264 0.452700198
+0.587487781 0.452184072
+0.588465298 0.451668185
+0.589442815 0.451152538
+0.590420332 0.450637130
+0.591397849 0.450121961
+0.592375367 0.449607031
+0.593352884 0.449092340
+0.594330401 0.448577888
+0.595307918 0.448064866
+0.596285435 0.447554692
+0.597262952 0.447044779
+0.598240469 0.446535130
+0.599217986 0.446025742
+0.600195503 0.445516617
+0.601173021 0.445007753
+0.602150538 0.444499152
+0.603128055 0.443990811
+0.604105572 0.443482732
+0.605083089 0.442975268
+0.606060606 0.442471886
+0.607038123 0.441968788
+0.608015640 0.441465974
+0.608993157 0.440963445
+0.609970674 0.440461199
+0.610948192 0.439959236
+0.611925709 0.439457556
+0.612903226 0.438956160
+0.613880743 0.438455046
+0.614858260 0.437954214
+0.615835777 0.437457552
+0.616813294 0.436961853
+0.617790811 0.436466458
+0.618768328 0.435971367
+0.619745846 0.435476580
+0.620723363 0.434982097
+0.621700880 0.434487917
+0.622678397 0.433994040
+0.623655914 0.433500466
+0.624633431 0.433007195
+0.625610948 0.432517297
+0.626588465 0.432029562
+0.627565982 0.431542151
+0.628543500 0.431055062
+0.629521017 0.430568297
+0.630498534 0.430081854
+0.631476051 0.429595733
+0.632453568 0.429109935
+0.633431085 0.428624458
+0.634408602 0.428139302
+0.635386119 0.427656551
+0.636363636 0.427177328
+0.637341153 0.426698446
+0.638318671 0.426219904
+0.639296188 0.425741703
+0.640273705 0.425263842
+0.641251222 0.424786321
+0.642228739 0.424309140
+0.643206256 0.423832297
+0.644183773 0.423355793
+0.645161290 0.422880556
+0.646138807 0.422410372
+0.647116325 0.421940545
+0.648093842 0.421471075
+0.649071359 0.421001962
+0.650048876 0.420533205
+0.651026393 0.420064803
+0.652003910 0.419596757
+0.652981427 0.419129066
+0.653958944 0.418661730
+0.654936461 0.418194747
+0.655913978 0.417733720
+0.656891496 0.417273454
+0.657869013 0.416813559
+0.658846530 0.416354035
+0.659824047 0.415894883
+0.660801564 0.415436100
+0.661779081 0.414977687
+0.662756598 0.414519643
+0.663734115 0.414061969
+0.664711632 0.413604663
+0.665689150 0.413152189
+0.666666667 0.412701967
+0.667644184 0.412252130
+0.668621701 0.411802676
+0.669599218 0.411353606
+0.670576735 0.410904919
+0.671554252 0.410456615
+0.672531769 0.410008693
+0.673509286 0.409561153
+0.674486804 0.409113994
+0.675464321 0.408670383
+0.676441838 0.408230666
+0.677419355 0.407791345
+0.678396872 0.407352419
+0.679374389 0.406913888
+0.680351906 0.406475752
+0.681329423 0.406038009
+0.682306940 0.405600660
+0.683284457 0.405163704
+0.684261975 0.404727140
+0.685239492 0.404292682
+0.686217009 0.403863908
+0.687194526 0.403435540
+0.688172043 0.403007576
+0.689149560 0.402580018
+0.690127077 0.402152863
+0.691104594 0.401726112
+0.692082111 0.401299764
+0.693059629 0.400873818
+0.694037146 0.400448274
+0.695014663 0.400023241
+0.695992180 0.399605824
+0.696969697 0.399188821
+0.697947214 0.398772231
+0.698924731 0.398356053
+0.699902248 0.397940288
+0.700879765 0.397524934
+0.701857283 0.397109991
+0.702834800 0.396695458
+0.703812317 0.396281335
+0.704789834 0.395867620
+0.705767351 0.395460310
+0.706744868 0.395055060
+0.707722385 0.394650230
+0.708699902 0.394245820
+0.709677419 0.393841827
+0.710654936 0.393438252
+0.711632454 0.393035094
+0.712609971 0.392632352
+0.713587488 0.392230026
+0.714565005 0.391828114
+0.715542522 0.391431026
+0.716520039 0.391037894
+0.717497556 0.390645187
+0.718475073 0.390252903
+0.719452590 0.389861041
+0.720430108 0.389469602
+0.721407625 0.389078585
+0.722385142 0.388687988
+0.723362659 0.388297811
+0.724340176 0.387908053
+0.725317693 0.387521392
+0.726295210 0.387140718
+0.727272727 0.386760470
+0.728250244 0.386380649
+0.729227761 0.386001253
+0.730205279 0.385622282
+0.731182796 0.385243736
+0.732160313 0.384865613
+0.733137830 0.384487912
+0.734115347 0.384110634
+0.735092864 0.383734587
+0.736070381 0.383366684
+0.737047898 0.382999209
+0.738025415 0.382632161
+0.739002933 0.382265540
+0.739980450 0.381899345
+0.740957967 0.381533576
+0.741935484 0.381168231
+0.742913001 0.380803309
+0.743890518 0.380438811
+0.744868035 0.380074735
+0.745845552 0.379718703
+0.746823069 0.379364288
+0.747800587 0.379010300
+0.748778104 0.378656739
+0.749755621 0.378303602
+0.750733138 0.377950891
+0.751710655 0.377598603
+0.752688172 0.377246738
+0.753665689 0.376895296
+0.754643206 0.376544275
+0.755620723 0.376199443
+0.756598240 0.375858351
+0.757575758 0.375517684
+0.758553275 0.375177441
+0.759530792 0.374837621
+0.760508309 0.374498223
+0.761485826 0.374159247
+0.762463343 0.373820692
+0.763440860 0.373482557
+0.764418377 0.373144841
+0.765395894 0.372811329
+0.766373412 0.372483798
+0.767350929 0.372156688
+0.768328446 0.371829998
+0.769305963 0.371503728
+0.770283480 0.371177875
+0.771260997 0.370852441
+0.772238514 0.370527424
+0.773216031 0.370202822
+0.774193548 0.369878636
+0.775171065 0.369556545
+0.776148583 0.369242788
+0.777126100 0.368929447
+0.778103617 0.368616521
+0.779081134 0.368304008
+0.780058651 0.367991909
+0.781036168 0.367680221
+0.782013685 0.367368945
+0.782991202 0.367058080
+0.783968719 0.366747624
+0.784946237 0.366437577
+0.785923754 0.366137243
+0.786901271 0.365837858
+0.787878788 0.365538882
+0.788856305 0.365240312
+0.789833822 0.364942147
+0.790811339 0.364644388
+0.791788856 0.364347034
+0.792766373 0.364050082
+0.793743891 0.363753534
+0.794721408 0.363457387
+0.795698925 0.363168850
+0.796676442 0.362883585
+0.797653959 0.362598720
+0.798631476 0.362314253
+0.799608993 0.362030183
+0.800586510 0.361746510
+0.801564027 0.361463233
+0.802541544 0.361180350
+0.803519062 0.360897862
+0.804496579 0.360615767
+0.805474096 0.360339063
+0.806451613 0.360068060
+0.807429130 0.359797445
+0.808406647 0.359527218
+0.809384164 0.359257379
+0.810361681 0.358987926
+0.811339198 0.358718858
+0.812316716 0.358450176
+0.813294233 0.358181877
+0.814271750 0.357913962
+0.815249267 0.357649114
+0.816226784 0.357392487
+0.817204301 0.357136239
+0.818181818 0.356880367
+0.819159335 0.356624870
+0.820136852 0.356369749
+0.821114370 0.356115002
+0.822091887 0.355860628
+0.823069404 0.355606627
+0.824046921 0.355352998
+0.825024438 0.355100007
+0.826001955 0.354857853
+0.826979472 0.354616064
+0.827956989 0.354374639
+0.828934506 0.354133576
+0.829912023 0.353892876
+0.830889541 0.353652537
+0.831867058 0.353412559
+0.832844575 0.353172940
+0.833822092 0.352933680
+0.834799609 0.352694779
+0.835777126 0.352464927
+0.836754643 0.352237669
+0.837732160 0.352010761
+0.838709677 0.351784201
+0.839687195 0.351557989
+0.840664712 0.351332125
+0.841642229 0.351106607
+0.842619746 0.350881434
+0.843597263 0.350656607
+0.844574780 0.350432123
+0.845552297 0.350214269
+0.846529814 0.350001593
+0.847507331 0.349789250
+0.848484848 0.349577241
+0.849462366 0.349365564
+0.850439883 0.349154220
+0.851417400 0.348943206
+0.852394917 0.348732523
+0.853372434 0.348522169
+0.854349951 0.348312145
+0.855327468 0.348106237
+0.856304985 0.347908171
+0.857282502 0.347710423
+0.858260020 0.347512992
+0.859237537 0.347315877
+0.860215054 0.347119078
+0.861192571 0.346922593
+0.862170088 0.346726422
+0.863147605 0.346530564
+0.864125122 0.346335018
+0.865102639 0.346140990
+0.866080156 0.345957546
+0.867057674 0.345774402
+0.868035191 0.345591557
+0.869012708 0.345409010
+0.869990225 0.345226762
+0.870967742 0.345044810
+0.871945259 0.344863155
+0.872922776 0.344681795
+0.873900293 0.344500730
+0.874877810 0.344319959
+0.875855327 0.344149671
+0.876832845 0.343981121
+0.877810362 0.343812851
+0.878787879 0.343644861
+0.879765396 0.343477150
+0.880742913 0.343309718
+0.881720430 0.343142563
+0.882697947 0.342975685
+0.883675464 0.342809084
+0.884652981 0.342642758
+0.885630499 0.342484320
+0.886608016 0.342330335
+0.887585533 0.342176611
+0.888563050 0.342023148
+0.889540567 0.341869943
+0.890518084 0.341716998
+0.891495601 0.341564311
+0.892473118 0.341411881
+0.893450635 0.341259709
+0.894428152 0.341107792
+0.895405670 0.340961091
+0.896383187 0.340821627
+0.897360704 0.340682403
+0.898338221 0.340543418
+0.899315738 0.340404672
+0.900293255 0.340266165
+0.901270772 0.340127896
+0.902248289 0.339989864
+0.903225806 0.339852068
+0.904203324 0.339714508
+0.905180841 0.339579421
+0.906158358 0.339454415
+0.907135875 0.339329627
+0.908113392 0.339205058
+0.909090909 0.339080706
+0.910068426 0.338956572
+0.911045943 0.338832654
+0.912023460 0.338708952
+0.913000978 0.338585466
+0.913978495 0.338462194
+0.914956012 0.338339137
+0.915933529 0.338227961
+0.916911046 0.338117532
+0.917888563 0.338007299
+0.918866080 0.337897261
+0.919843597 0.337787419
+0.920821114 0.337677771
+0.921798631 0.337568317
+0.922776149 0.337459057
+0.923753666 0.337349989
+0.924731183 0.337241115
+0.925708700 0.337141380
+0.926686217 0.337045215
+0.927663734 0.336949224
+0.928641251 0.336853406
+0.929618768 0.336757760
+0.930596285 0.336662286
+0.931573803 0.336566984
+0.932551320 0.336471852
+0.933528837 0.336376891
+0.934506354 0.336282100
+0.935483871 0.336193646
+0.936461388 0.336111639
+0.937438905 0.336029782
+0.938416422 0.335948074
+0.939393939 0.335866515
+0.940371457 0.335785105
+0.941348974 0.335703844
+0.942326491 0.335622730
+0.943304008 0.335541763
+0.944281525 0.335460944
+0.945259042 0.335383602
+0.946236559 0.335315631
+0.947214076 0.335247787
+0.948191593 0.335180068
+0.949169110 0.335112475
+0.950146628 0.335045006
+0.951124145 0.334977661
+0.952101662 0.334910441
+0.953079179 0.334843345
+0.954056696 0.334776372
+0.955034213 0.334709966
+0.956011730 0.334655899
+0.956989247 0.334601934
+0.957966764 0.334548070
+0.958944282 0.334494307
+0.959921799 0.334440645
+0.960899316 0.334387083
+0.961876833 0.334333620
+0.962854350 0.334280258
+0.963831867 0.334226995
+0.964809384 0.334173831
+0.965786901 0.334131034
+0.966764418 0.334090804
+0.967741935 0.334050649
+0.968719453 0.334010571
+0.969696970 0.333970568
+0.970674487 0.333930642
+0.971652004 0.333890791
+0.972629521 0.333851014
+0.973607038 0.333811314
+0.974584555 0.333771687
+0.975562072 0.333739521
+0.976539589 0.333712869
+0.977517107 0.333686268
+0.978494624 0.333659718
+0.979472141 0.333633219
+0.980449658 0.333606771
+0.981427175 0.333580374
+0.982404692 0.333554026
+0.983382209 0.333527729
+0.984359726 0.333501482
+0.985337243 0.333479745
+0.986314761 0.333466506
+0.987292278 0.333453293
+0.988269795 0.333440106
+0.989247312 0.333426944
+0.990224829 0.333413807
+0.991202346 0.333400697
+0.992179863 0.333387611
+0.993157380 0.333374550
+0.994134897 0.333361515
+0.995112414 0.333350000
+0.996089932 0.333350000
+0.997067449 0.333350000
+0.998044966 0.333350000
+0.999022483 0.333350000
+1.000000000 0.333350000
diff --git a/examples/mamdani/ObstacleAvoidance.fll b/examples/mamdani/ObstacleAvoidance.fll
new file mode 100644
index 0000000..a47f1b4
--- /dev/null
+++ b/examples/mamdani/ObstacleAvoidance.fll
@@ -0,0 +1,25 @@
+Engine: ObstacleAvoidance
+InputVariable: obstacle
+ enabled: true
+ range: 0.000 1.000
+ lock-range: false
+ term: left Ramp 1.000 0.000
+ term: right Ramp 0.000 1.000
+OutputVariable: mSteer
+ enabled: true
+ range: 0.000 1.000
+ lock-range: false
+ aggregation: Maximum
+ defuzzifier: Centroid 100
+ default: nan
+ lock-previous: false
+ term: left Ramp 1.000 0.000
+ term: right Ramp 0.000 1.000
+RuleBlock: mamdani
+ enabled: true
+ conjunction: none
+ disjunction: none
+ implication: AlgebraicProduct
+ activation: General
+ rule: if obstacle is left then mSteer is right
+ rule: if obstacle is right then mSteer is left \ No newline at end of file
diff --git a/examples/mamdani/ObstacleAvoidance.java b/examples/mamdani/ObstacleAvoidance.java
new file mode 100644
index 0000000..8efef3b
--- /dev/null
+++ b/examples/mamdani/ObstacleAvoidance.java
@@ -0,0 +1,60 @@
+import com.fuzzylite.*;
+import com.fuzzylite.activation.*
+import com.fuzzylite.defuzzifier.*;
+import com.fuzzylite.factory.*;
+import com.fuzzylite.hedge.*;
+import com.fuzzylite.imex.*;
+import com.fuzzylite.norm.*;
+import com.fuzzylite.norm.s.*;
+import com.fuzzylite.norm.t.*;
+import com.fuzzylite.rule.*;
+import com.fuzzylite.term.*;
+import com.fuzzylite.variable.*;
+
+public class ObstacleAvoidance{
+public static void main(String[] args){
+//Code automatically generated with fuzzylite 6.0.
+
+Engine engine = new Engine();
+engine.setName("ObstacleAvoidance");
+engine.setDescription("");
+
+InputVariable obstacle = new InputVariable();
+obstacle.setName("obstacle");
+obstacle.setDescription("");
+obstacle.setEnabled(true);
+obstacle.setRange(0.000, 1.000);
+obstacle.setLockValueInRange(false);
+obstacle.addTerm(new Ramp("left", 1.000, 0.000));
+obstacle.addTerm(new Ramp("right", 0.000, 1.000));
+engine.addInputVariable(obstacle);
+
+OutputVariable mSteer = new OutputVariable();
+mSteer.setName("mSteer");
+mSteer.setDescription("");
+mSteer.setEnabled(true);
+mSteer.setRange(0.000, 1.000);
+mSteer.setLockValueInRange(false);
+mSteer.setAggregation(new Maximum());
+mSteer.setDefuzzifier(new Centroid(100));
+mSteer.setDefaultValue(Double.NaN);
+mSteer.setLockPreviousValue(false);
+mSteer.addTerm(new Ramp("left", 1.000, 0.000));
+mSteer.addTerm(new Ramp("right", 0.000, 1.000));
+engine.addOutputVariable(mSteer);
+
+RuleBlock mamdani = new RuleBlock();
+mamdani.setName("mamdani");
+mamdani.setDescription("");
+mamdani.setEnabled(true);
+mamdani.setConjunction(null);
+mamdani.setDisjunction(null);
+mamdani.setImplication(new AlgebraicProduct());
+mamdani.setActivation(new General());
+mamdani.addRule(Rule.parse("if obstacle is left then mSteer is right", engine));
+mamdani.addRule(Rule.parse("if obstacle is right then mSteer is left", engine));
+engine.addRuleBlock(mamdani);
+
+
+}
+}
diff --git a/examples/mamdani/ObstacleAvoidance.pdf b/examples/mamdani/ObstacleAvoidance.pdf
new file mode 100644
index 0000000..63e1fe9
--- /dev/null
+++ b/examples/mamdani/ObstacleAvoidance.pdf
Binary files differ
diff --git a/examples/mamdani/SimpleDimmer.R b/examples/mamdani/SimpleDimmer.R
new file mode 100644
index 0000000..77a60f3
--- /dev/null
+++ b/examples/mamdani/SimpleDimmer.R
@@ -0,0 +1,60 @@
+#Code automatically generated with fuzzylite 6.0.
+
+library(ggplot2);
+
+engine.name = "SimpleDimmer"
+engine.fll = "Engine: SimpleDimmer
+InputVariable: Ambient
+ enabled: true
+ range: 0.000 1.000
+ lock-range: false
+ term: DARK Triangle 0.000 0.250 0.500
+ term: MEDIUM Triangle 0.250 0.500 0.750
+ term: BRIGHT Triangle 0.500 0.750 1.000
+OutputVariable: Power
+ enabled: true
+ range: 0.000 1.000
+ lock-range: false
+ aggregation: Maximum
+ defuzzifier: Centroid 200
+ default: nan
+ lock-previous: false
+ term: LOW Triangle 0.000 0.250 0.500
+ term: MEDIUM Triangle 0.250 0.500 0.750
+ term: HIGH Triangle 0.500 0.750 1.000
+RuleBlock:
+ enabled: true
+ conjunction: none
+ disjunction: none
+ implication: Minimum
+ activation: General
+ rule: if Ambient is DARK then Power is HIGH
+ rule: if Ambient is MEDIUM then Power is MEDIUM
+ rule: if Ambient is BRIGHT then Power is LOW"
+
+engine.fldFile = "SimpleDimmer.fld"
+if (require(data.table)) {
+ engine.df = data.table::fread(engine.fldFile, sep="auto", header="auto")
+} else {
+ engine.df = read.table(engine.fldFile, header=TRUE)
+}
+
+engine.plot.i1_o1 = ggplot(engine.df, aes(Ambient, Power)) +
+ geom_line(aes(color=Power), size=3, lineend="round", linejoin="mitre") +
+ scale_color_gradient(low="yellow", high="red") +
+ ggtitle("Ambient vs Power")
+
+engine.plot.o1_i1 = ggplot(engine.df, aes(Ambient, Power)) +
+ geom_line(aes(color=Power), size=3, lineend="round", linejoin="mitre") +
+ scale_color_gradient(low="yellow", high="red") +
+ coord_flip() +
+ ggtitle("Power vs Ambient")
+
+if (require(gridExtra)) {
+ engine.plots = arrangeGrob(engine.plot.i1_o1, engine.plot.o1_i1, ncol=2, top=engine.name)
+ ggsave(paste0(engine.name, ".pdf"), engine.plots)
+ if (require(grid)) {
+ grid.newpage()
+ grid.draw(engine.plots)
+ }
+}
diff --git a/examples/mamdani/SimpleDimmer.cpp b/examples/mamdani/SimpleDimmer.cpp
index b4c6897..7cd5e73 100644
--- a/examples/mamdani/SimpleDimmer.cpp
+++ b/examples/mamdani/SimpleDimmer.cpp
@@ -1,43 +1,51 @@
#include <fl/Headers.h>
int main(int argc, char** argv){
+//Code automatically generated with fuzzylite 6.0.
+
using namespace fl;
Engine* engine = new Engine;
-engine->setName("simple-dimmer");
-
-InputVariable* inputVariable = new InputVariable;
-inputVariable->setEnabled(true);
-inputVariable->setName("Ambient");
-inputVariable->setRange(0.000, 1.000);
-inputVariable->addTerm(new Triangle("DARK", 0.000, 0.250, 0.500));
-inputVariable->addTerm(new Triangle("MEDIUM", 0.250, 0.500, 0.750));
-inputVariable->addTerm(new Triangle("BRIGHT", 0.500, 0.750, 1.000));
-engine->addInputVariable(inputVariable);
-
-OutputVariable* outputVariable = new OutputVariable;
-outputVariable->setEnabled(true);
-outputVariable->setName("Power");
-outputVariable->setRange(0.000, 1.000);
-outputVariable->fuzzyOutput()->setAccumulation(new Maximum);
-outputVariable->setDefuzzifier(new Centroid(200));
-outputVariable->setDefaultValue(fl::nan);
-outputVariable->setLockPreviousOutputValue(false);
-outputVariable->setLockOutputValueInRange(false);
-outputVariable->addTerm(new Triangle("LOW", 0.000, 0.250, 0.500));
-outputVariable->addTerm(new Triangle("MEDIUM", 0.250, 0.500, 0.750));
-outputVariable->addTerm(new Triangle("HIGH", 0.500, 0.750, 1.000));
-engine->addOutputVariable(outputVariable);
+engine->setName("SimpleDimmer");
+engine->setDescription("");
+
+InputVariable* Ambient = new InputVariable;
+Ambient->setName("Ambient");
+Ambient->setDescription("");
+Ambient->setEnabled(true);
+Ambient->setRange(0.000, 1.000);
+Ambient->setLockValueInRange(false);
+Ambient->addTerm(new Triangle("DARK", 0.000, 0.250, 0.500));
+Ambient->addTerm(new Triangle("MEDIUM", 0.250, 0.500, 0.750));
+Ambient->addTerm(new Triangle("BRIGHT", 0.500, 0.750, 1.000));
+engine->addInputVariable(Ambient);
+
+OutputVariable* Power = new OutputVariable;
+Power->setName("Power");
+Power->setDescription("");
+Power->setEnabled(true);
+Power->setRange(0.000, 1.000);
+Power->setLockValueInRange(false);
+Power->setAggregation(new Maximum);
+Power->setDefuzzifier(new Centroid(200));
+Power->setDefaultValue(fl::nan);
+Power->setLockPreviousValue(false);
+Power->addTerm(new Triangle("LOW", 0.000, 0.250, 0.500));
+Power->addTerm(new Triangle("MEDIUM", 0.250, 0.500, 0.750));
+Power->addTerm(new Triangle("HIGH", 0.500, 0.750, 1.000));
+engine->addOutputVariable(Power);
RuleBlock* ruleBlock = new RuleBlock;
-ruleBlock->setEnabled(true);
ruleBlock->setName("");
+ruleBlock->setDescription("");
+ruleBlock->setEnabled(true);
ruleBlock->setConjunction(fl::null);
ruleBlock->setDisjunction(fl::null);
-ruleBlock->setActivation(new Minimum);
-ruleBlock->addRule(fl::Rule::parse("if Ambient is DARK then Power is HIGH", engine));
-ruleBlock->addRule(fl::Rule::parse("if Ambient is MEDIUM then Power is MEDIUM", engine));
-ruleBlock->addRule(fl::Rule::parse("if Ambient is BRIGHT then Power is LOW", engine));
+ruleBlock->setImplication(new Minimum);
+ruleBlock->setActivation(new General);
+ruleBlock->addRule(Rule::parse("if Ambient is DARK then Power is HIGH", engine));
+ruleBlock->addRule(Rule::parse("if Ambient is MEDIUM then Power is MEDIUM", engine));
+ruleBlock->addRule(Rule::parse("if Ambient is BRIGHT then Power is LOW", engine));
engine->addRuleBlock(ruleBlock);
diff --git a/examples/mamdani/SimpleDimmer.fcl b/examples/mamdani/SimpleDimmer.fcl
index a9b9552..104990a 100644
--- a/examples/mamdani/SimpleDimmer.fcl
+++ b/examples/mamdani/SimpleDimmer.fcl
@@ -1,4 +1,6 @@
-FUNCTION_BLOCK simple-dimmer
+//Code automatically generated with fuzzylite 6.0.
+
+FUNCTION_BLOCK SimpleDimmer
VAR_INPUT
Ambient: REAL;
diff --git a/examples/mamdani/SimpleDimmer.fis b/examples/mamdani/SimpleDimmer.fis
index 40ac849..3435060 100644
--- a/examples/mamdani/SimpleDimmer.fis
+++ b/examples/mamdani/SimpleDimmer.fis
@@ -1,11 +1,14 @@
+#Code automatically generated with fuzzylite 6.0.
+
[System]
-Name='simple-dimmer'
+Name='SimpleDimmer'
Type='mamdani'
+Version=6.0
NumInputs=1
NumOutputs=1
NumRules=3
-AndMethod=''
-OrMethod=''
+AndMethod='min'
+OrMethod='max'
ImpMethod='min'
AggMethod='max'
DefuzzMethod='centroid'
diff --git a/examples/mamdani/SimpleDimmer.fld b/examples/mamdani/SimpleDimmer.fld
index 4d9a671..bd4dc51 100644
--- a/examples/mamdani/SimpleDimmer.fld
+++ b/examples/mamdani/SimpleDimmer.fld
@@ -1,1026 +1,1025 @@
-#@Engine: simple-dimmer;
-#@InputVariable: Ambient; @OutputVariable: Power;
-0.00000000 nan
-0.00097752 0.75000000
-0.00195503 0.75000000
-0.00293255 0.75000000
-0.00391007 0.75000000
-0.00488759 0.75000000
-0.00586510 0.75000000
-0.00684262 0.75000000
-0.00782014 0.75000000
-0.00879765 0.75000000
-0.00977517 0.75000000
-0.01075269 0.75000000
-0.01173021 0.75000000
-0.01270772 0.75000000
-0.01368524 0.75000000
-0.01466276 0.75000000
-0.01564027 0.75000000
-0.01661779 0.75000000
-0.01759531 0.75000000
-0.01857283 0.75000000
-0.01955034 0.75000000
-0.02052786 0.75000000
-0.02150538 0.75000000
-0.02248289 0.75000000
-0.02346041 0.75000000
-0.02443793 0.75000000
-0.02541544 0.75000000
-0.02639296 0.75000000
-0.02737048 0.75000000
-0.02834800 0.75000000
-0.02932551 0.75000000
-0.03030303 0.75000000
-0.03128055 0.75000000
-0.03225806 0.75000000
-0.03323558 0.75000000
-0.03421310 0.75000000
-0.03519062 0.75000000
-0.03616813 0.75000000
-0.03714565 0.75000000
-0.03812317 0.75000000
-0.03910068 0.75000000
-0.04007820 0.75000000
-0.04105572 0.75000000
-0.04203324 0.75000000
-0.04301075 0.75000000
-0.04398827 0.75000000
-0.04496579 0.75000000
-0.04594330 0.75000000
-0.04692082 0.75000000
-0.04789834 0.75000000
-0.04887586 0.75000000
-0.04985337 0.75000000
-0.05083089 0.75000000
-0.05180841 0.75000000
-0.05278592 0.75000000
-0.05376344 0.75000000
-0.05474096 0.75000000
-0.05571848 0.75000000
-0.05669599 0.75000000
-0.05767351 0.75000000
-0.05865103 0.75000000
-0.05962854 0.75000000
-0.06060606 0.75000000
-0.06158358 0.75000000
-0.06256109 0.75000000
-0.06353861 0.75000000
-0.06451613 0.75000000
-0.06549365 0.75000000
-0.06647116 0.75000000
-0.06744868 0.75000000
-0.06842620 0.75000000
-0.06940371 0.75000000
-0.07038123 0.75000000
-0.07135875 0.75000000
-0.07233627 0.75000000
-0.07331378 0.75000000
-0.07429130 0.75000000
-0.07526882 0.75000000
-0.07624633 0.75000000
-0.07722385 0.75000000
-0.07820137 0.75000000
-0.07917889 0.75000000
-0.08015640 0.75000000
-0.08113392 0.75000000
-0.08211144 0.75000000
-0.08308895 0.75000000
-0.08406647 0.75000000
-0.08504399 0.75000000
-0.08602151 0.75000000
-0.08699902 0.75000000
-0.08797654 0.75000000
-0.08895406 0.75000000
-0.08993157 0.75000000
-0.09090909 0.75000000
-0.09188661 0.75000000
-0.09286413 0.75000000
-0.09384164 0.75000000
-0.09481916 0.75000000
-0.09579668 0.75000000
-0.09677419 0.75000000
-0.09775171 0.75000000
-0.09872923 0.75000000
-0.09970674 0.75000000
-0.10068426 0.75000000
-0.10166178 0.75000000
-0.10263930 0.75000000
-0.10361681 0.75000000
-0.10459433 0.75000000
-0.10557185 0.75000000
-0.10654936 0.75000000
-0.10752688 0.75000000
-0.10850440 0.75000000
-0.10948192 0.75000000
-0.11045943 0.75000000
-0.11143695 0.75000000
-0.11241447 0.75000000
-0.11339198 0.75000000
-0.11436950 0.75000000
-0.11534702 0.75000000
-0.11632454 0.75000000
-0.11730205 0.75000000
-0.11827957 0.75000000
-0.11925709 0.75000000
-0.12023460 0.75000000
-0.12121212 0.75000000
-0.12218964 0.75000000
-0.12316716 0.75000000
-0.12414467 0.75000000
-0.12512219 0.75000000
-0.12609971 0.75000000
-0.12707722 0.75000000
-0.12805474 0.75000000
-0.12903226 0.75000000
-0.13000978 0.75000000
-0.13098729 0.75000000
-0.13196481 0.75000000
-0.13294233 0.75000000
-0.13391984 0.75000000
-0.13489736 0.75000000
-0.13587488 0.75000000
-0.13685239 0.75000000
-0.13782991 0.75000000
-0.13880743 0.75000000
-0.13978495 0.75000000
-0.14076246 0.75000000
-0.14173998 0.75000000
-0.14271750 0.75000000
-0.14369501 0.75000000
-0.14467253 0.75000000
-0.14565005 0.75000000
-0.14662757 0.75000000
-0.14760508 0.75000000
-0.14858260 0.75000000
-0.14956012 0.75000000
-0.15053763 0.75000000
-0.15151515 0.75000000
-0.15249267 0.75000000
-0.15347019 0.75000000
-0.15444770 0.75000000
-0.15542522 0.75000000
-0.15640274 0.75000000
-0.15738025 0.75000000
-0.15835777 0.75000000
-0.15933529 0.75000000
-0.16031281 0.75000000
-0.16129032 0.75000000
-0.16226784 0.75000000
-0.16324536 0.75000000
-0.16422287 0.75000000
-0.16520039 0.75000000
-0.16617791 0.75000000
-0.16715543 0.75000000
-0.16813294 0.75000000
-0.16911046 0.75000000
-0.17008798 0.75000000
-0.17106549 0.75000000
-0.17204301 0.75000000
-0.17302053 0.75000000
-0.17399804 0.75000000
-0.17497556 0.75000000
-0.17595308 0.75000000
-0.17693060 0.75000000
-0.17790811 0.75000000
-0.17888563 0.75000000
-0.17986315 0.75000000
-0.18084066 0.75000000
-0.18181818 0.75000000
-0.18279570 0.75000000
-0.18377322 0.75000000
-0.18475073 0.75000000
-0.18572825 0.75000000
-0.18670577 0.75000000
-0.18768328 0.75000000
-0.18866080 0.75000000
-0.18963832 0.75000000
-0.19061584 0.75000000
-0.19159335 0.75000000
-0.19257087 0.75000000
-0.19354839 0.75000000
-0.19452590 0.75000000
-0.19550342 0.75000000
-0.19648094 0.75000000
-0.19745846 0.75000000
-0.19843597 0.75000000
-0.19941349 0.75000000
-0.20039101 0.75000000
-0.20136852 0.75000000
-0.20234604 0.75000000
-0.20332356 0.75000000
-0.20430108 0.75000000
-0.20527859 0.75000000
-0.20625611 0.75000000
-0.20723363 0.75000000
-0.20821114 0.75000000
-0.20918866 0.75000000
-0.21016618 0.75000000
-0.21114370 0.75000000
-0.21212121 0.75000000
-0.21309873 0.75000000
-0.21407625 0.75000000
-0.21505376 0.75000000
-0.21603128 0.75000000
-0.21700880 0.75000000
-0.21798631 0.75000000
-0.21896383 0.75000000
-0.21994135 0.75000000
-0.22091887 0.75000000
-0.22189638 0.75000000
-0.22287390 0.75000000
-0.22385142 0.75000000
-0.22482893 0.75000000
-0.22580645 0.75000000
-0.22678397 0.75000000
-0.22776149 0.75000000
-0.22873900 0.75000000
-0.22971652 0.75000000
-0.23069404 0.75000000
-0.23167155 0.75000000
-0.23264907 0.75000000
-0.23362659 0.75000000
-0.23460411 0.75000000
-0.23558162 0.75000000
-0.23655914 0.75000000
-0.23753666 0.75000000
-0.23851417 0.75000000
-0.23949169 0.75000000
-0.24046921 0.75000000
-0.24144673 0.75000000
-0.24242424 0.75000000
-0.24340176 0.75000000
-0.24437928 0.75000000
-0.24535679 0.75000000
-0.24633431 0.75000000
-0.24731183 0.75000000
-0.24828935 0.75000000
-0.24926686 0.75000000
-0.25024438 0.74963379
-0.25122190 0.74817607
-0.25219941 0.74672965
-0.25317693 0.74530727
-0.25415445 0.74390115
-0.25513196 0.74250538
-0.25610948 0.74111985
-0.25708700 0.73974444
-0.25806452 0.73838897
-0.25904203 0.73705025
-0.26001955 0.73572080
-0.26099707 0.73440054
-0.26197458 0.73308936
-0.26295210 0.73179453
-0.26392962 0.73051679
-0.26490714 0.72924739
-0.26588465 0.72798623
-0.26686217 0.72673323
-0.26783969 0.72549344
-0.26881720 0.72427097
-0.26979472 0.72305599
-0.27077224 0.72184842
-0.27174976 0.72064820
-0.27272727 0.71945844
-0.27370479 0.71828610
-0.27468231 0.71712050
-0.27565982 0.71596157
-0.27663734 0.71480927
-0.27761486 0.71366501
-0.27859238 0.71253818
-0.27956989 0.71141742
-0.28054741 0.71030267
-0.28152493 0.70919389
-0.28250244 0.70809106
-0.28347996 0.70700557
-0.28445748 0.70592553
-0.28543500 0.70485092
-0.28641251 0.70378169
-0.28739003 0.70271779
-0.28836755 0.70166862
-0.28934506 0.70062558
-0.29032258 0.69958742
-0.29130010 0.69855412
-0.29227761 0.69752564
-0.29325513 0.69650949
-0.29423265 0.69550004
-0.29521017 0.69449498
-0.29618768 0.69349430
-0.29716520 0.69249796
-0.29814272 0.69151186
-0.29912023 0.69053287
-0.30009775 0.68955785
-0.30107527 0.68858676
-0.30205279 0.68761958
-0.30303030 0.68666076
-0.30400782 0.68570938
-0.30498534 0.68476154
-0.30596285 0.68381725
-0.30694037 0.68287647
-0.30791789 0.68194242
-0.30889541 0.68101598
-0.30987292 0.68009273
-0.31085044 0.67917264
-0.31182796 0.67825571
-0.31280547 0.67734408
-0.31378299 0.67644013
-0.31476051 0.67553902
-0.31573803 0.67464075
-0.31671554 0.67374530
-0.31769306 0.67285389
-0.31867058 0.67197014
-0.31964809 0.67108892
-0.32062561 0.67021023
-0.32160313 0.66933404
-0.32258065 0.66846082
-0.32355816 0.66759513
-0.32453568 0.66673167
-0.32551320 0.66587045
-0.32649071 0.66501145
-0.32746823 0.66415466
-0.32844575 0.66330485
-0.32942326 0.66245716
-0.33040078 0.66161144
-0.33137830 0.66076767
-0.33235582 0.65992584
-0.33333333 0.65908967
-0.33431085 0.65825587
-0.33528837 0.65742377
-0.33626588 0.65659337
-0.33724340 0.65576467
-0.33822092 0.65494046
-0.33919844 0.65411875
-0.34017595 0.65329850
-0.34115347 0.65247971
-0.34213099 0.65166237
-0.34310850 0.65084852
-0.34408602 0.65003719
-0.34506354 0.64922708
-0.34604106 0.64841821
-0.34701857 0.64761056
-0.34799609 0.64680554
-0.34897361 0.64600293
-0.34995112 0.64520134
-0.35092864 0.64440076
-0.35190616 0.64360119
-0.35288368 0.64280350
-0.35386119 0.64200804
-0.35483871 0.64121338
-0.35581623 0.64041952
-0.35679374 0.63962646
-0.35777126 0.63883468
-0.35874878 0.63804481
-0.35972630 0.63725555
-0.36070381 0.63646688
-0.36168133 0.63567880
-0.36265885 0.63489151
-0.36363636 0.63410574
-0.36461388 0.63332037
-0.36559140 0.63253539
-0.36656891 0.63175080
-0.36754643 0.63096664
-0.36852395 0.63018348
-0.36950147 0.62940052
-0.37047898 0.62861775
-0.37145650 0.62783518
-0.37243402 0.62705280
-0.37341153 0.62627077
-0.37438905 0.62548876
-0.37536657 0.62470674
-0.37634409 0.62392473
-0.37732160 0.62314272
-0.37829912 0.62236043
-0.37927664 0.62157791
-0.38025415 0.62079519
-0.38123167 0.62001228
-0.38220919 0.61922917
-0.38318671 0.61844529
-0.38416422 0.61766080
-0.38514174 0.61687591
-0.38611926 0.61609064
-0.38709677 0.61530497
-0.38807429 0.61451813
-0.38905181 0.61373020
-0.39002933 0.61294168
-0.39100684 0.61215256
-0.39198436 0.61136285
-0.39296188 0.61057168
-0.39393939 0.60977882
-0.39491691 0.60898516
-0.39589443 0.60819070
-0.39687195 0.60739544
-0.39784946 0.60659855
-0.39882698 0.60579922
-0.39980450 0.60499890
-0.40078201 0.60419756
-0.40175953 0.60339521
-0.40273705 0.60259116
-0.40371457 0.60178382
-0.40469208 0.60097525
-0.40566960 0.60016546
-0.40664712 0.59935443
-0.40762463 0.59854174
-0.40860215 0.59772477
-0.40957967 0.59690634
-0.41055718 0.59608645
-0.41153470 0.59526511
-0.41251222 0.59444225
-0.41348974 0.59361396
-0.41446725 0.59278399
-0.41544477 0.59195232
-0.41642229 0.59111894
-0.41739980 0.59028386
-0.41837732 0.58944297
-0.41935484 0.58859969
-0.42033236 0.58775445
-0.42130987 0.58690726
-0.42228739 0.58605810
-0.42326491 0.58520295
-0.42424242 0.58434451
-0.42521994 0.58348384
-0.42619746 0.58262095
-0.42717498 0.58175582
-0.42815249 0.58088462
-0.42913001 0.58000905
-0.43010753 0.57913099
-0.43108504 0.57825040
-0.43206256 0.57736728
-0.43304008 0.57647812
-0.43401760 0.57558337
-0.43499511 0.57468581
-0.43597263 0.57378542
-0.43695015 0.57288218
-0.43792766 0.57197303
-0.43890518 0.57105688
-0.43988270 0.57013759
-0.44086022 0.56921513
-0.44183773 0.56828949
-0.44281525 0.56735818
-0.44379277 0.56641827
-0.44477028 0.56547486
-0.44574780 0.56452791
-0.44672532 0.56357742
-0.44770283 0.56262161
-0.44868035 0.56165541
-0.44965787 0.56068529
-0.45063539 0.55971125
-0.45161290 0.55873326
-0.45259042 0.55775044
-0.45356794 0.55675519
-0.45454545 0.55575559
-0.45552297 0.55475164
-0.45650049 0.55374329
-0.45747801 0.55273051
-0.45845552 0.55170345
-0.45943304 0.55067135
-0.46041056 0.54963442
-0.46138807 0.54859260
-0.46236559 0.54754587
-0.46334311 0.54648479
-0.46432063 0.54541689
-0.46529814 0.54434363
-0.46627566 0.54326495
-0.46725318 0.54218083
-0.46823069 0.54108237
-0.46920821 0.53997508
-0.47018573 0.53886183
-0.47116325 0.53774257
-0.47214076 0.53661727
-0.47311828 0.53547778
-0.47409580 0.53432712
-0.47507331 0.53316986
-0.47605083 0.53200593
-0.47702835 0.53083528
-0.47800587 0.52965071
-0.47898338 0.52845232
-0.47996090 0.52724659
-0.48093842 0.52603347
-0.48191593 0.52481288
-0.48289345 0.52357875
-0.48387097 0.52232778
-0.48484848 0.52106867
-0.48582600 0.51980133
-0.48680352 0.51852569
-0.48778104 0.51723703
-0.48875855 0.51592811
-0.48973607 0.51461012
-0.49071359 0.51328298
-0.49169110 0.51194659
-0.49266862 0.51059784
-0.49364614 0.50922495
-0.49462366 0.50784195
-0.49560117 0.50644876
-0.49657869 0.50504524
-0.49755621 0.50363020
-0.49853372 0.50218659
-0.49951124 0.50073171
-0.50048876 0.49926829
-0.50146628 0.49781341
-0.50244379 0.49636980
-0.50342131 0.49495476
-0.50439883 0.49355124
-0.50537634 0.49215805
-0.50635386 0.49077505
-0.50733138 0.48940216
-0.50830890 0.48805341
-0.50928641 0.48671702
-0.51026393 0.48538988
-0.51124145 0.48407189
-0.51221896 0.48276297
-0.51319648 0.48147431
-0.51417400 0.48019867
-0.51515152 0.47893133
-0.51612903 0.47767222
-0.51710655 0.47642125
-0.51808407 0.47518712
-0.51906158 0.47396653
-0.52003910 0.47275341
-0.52101662 0.47154768
-0.52199413 0.47034929
-0.52297165 0.46916472
-0.52394917 0.46799407
-0.52492669 0.46683014
-0.52590420 0.46567288
-0.52688172 0.46452222
-0.52785924 0.46338273
-0.52883675 0.46225743
-0.52981427 0.46113817
-0.53079179 0.46002492
-0.53176931 0.45891763
-0.53274682 0.45781917
-0.53372434 0.45673505
-0.53470186 0.45565637
-0.53567937 0.45458311
-0.53665689 0.45351521
-0.53763441 0.45245413
-0.53861193 0.45140740
-0.53958944 0.45036558
-0.54056696 0.44932865
-0.54154448 0.44829655
-0.54252199 0.44726949
-0.54349951 0.44625671
-0.54447703 0.44524836
-0.54545455 0.44424441
-0.54643206 0.44324481
-0.54740958 0.44224956
-0.54838710 0.44126674
-0.54936461 0.44028875
-0.55034213 0.43931471
-0.55131965 0.43834459
-0.55229717 0.43737839
-0.55327468 0.43642258
-0.55425220 0.43547209
-0.55522972 0.43452514
-0.55620723 0.43358173
-0.55718475 0.43264182
-0.55816227 0.43171051
-0.55913978 0.43078487
-0.56011730 0.42986241
-0.56109482 0.42894312
-0.56207234 0.42802697
-0.56304985 0.42711782
-0.56402737 0.42621458
-0.56500489 0.42531419
-0.56598240 0.42441663
-0.56695992 0.42352188
-0.56793744 0.42263272
-0.56891496 0.42174960
-0.56989247 0.42086901
-0.57086999 0.41999095
-0.57184751 0.41911538
-0.57282502 0.41824418
-0.57380254 0.41737905
-0.57478006 0.41651616
-0.57575758 0.41565549
-0.57673509 0.41479705
-0.57771261 0.41394190
-0.57869013 0.41309274
-0.57966764 0.41224555
-0.58064516 0.41140031
-0.58162268 0.41055703
-0.58260020 0.40971614
-0.58357771 0.40888106
-0.58455523 0.40804768
-0.58553275 0.40721601
-0.58651026 0.40638604
-0.58748778 0.40555775
-0.58846530 0.40473489
-0.58944282 0.40391355
-0.59042033 0.40309366
-0.59139785 0.40227523
-0.59237537 0.40145826
-0.59335288 0.40064557
-0.59433040 0.39983454
-0.59530792 0.39902475
-0.59628543 0.39821618
-0.59726295 0.39740884
-0.59824047 0.39660479
-0.59921799 0.39580244
-0.60019550 0.39500110
-0.60117302 0.39420078
-0.60215054 0.39340145
-0.60312805 0.39260456
-0.60410557 0.39180930
-0.60508309 0.39101484
-0.60606061 0.39022118
-0.60703812 0.38942832
-0.60801564 0.38863715
-0.60899316 0.38784744
-0.60997067 0.38705832
-0.61094819 0.38626980
-0.61192571 0.38548187
-0.61290323 0.38469503
-0.61388074 0.38390936
-0.61485826 0.38312409
-0.61583578 0.38233920
-0.61681329 0.38155471
-0.61779081 0.38077083
-0.61876833 0.37998772
-0.61974585 0.37920481
-0.62072336 0.37842209
-0.62170088 0.37763957
-0.62267840 0.37685728
-0.62365591 0.37607527
-0.62463343 0.37529326
-0.62561095 0.37451124
-0.62658847 0.37372923
-0.62756598 0.37294720
-0.62854350 0.37216482
-0.62952102 0.37138225
-0.63049853 0.37059948
-0.63147605 0.36981652
-0.63245357 0.36903336
-0.63343109 0.36824920
-0.63440860 0.36746461
-0.63538612 0.36667963
-0.63636364 0.36589426
-0.63734115 0.36510849
-0.63831867 0.36432120
-0.63929619 0.36353312
-0.64027370 0.36274445
-0.64125122 0.36195519
-0.64222874 0.36116532
-0.64320626 0.36037354
-0.64418377 0.35958048
-0.64516129 0.35878662
-0.64613881 0.35799196
-0.64711632 0.35719650
-0.64809384 0.35639881
-0.64907136 0.35559924
-0.65004888 0.35479866
-0.65102639 0.35399707
-0.65200391 0.35319446
-0.65298143 0.35238944
-0.65395894 0.35158179
-0.65493646 0.35077292
-0.65591398 0.34996281
-0.65689150 0.34915148
-0.65786901 0.34833763
-0.65884653 0.34752029
-0.65982405 0.34670150
-0.66080156 0.34588125
-0.66177908 0.34505954
-0.66275660 0.34423533
-0.66373412 0.34340663
-0.66471163 0.34257623
-0.66568915 0.34174413
-0.66666667 0.34091033
-0.66764418 0.34007416
-0.66862170 0.33923233
-0.66959922 0.33838856
-0.67057674 0.33754284
-0.67155425 0.33669515
-0.67253177 0.33584534
-0.67350929 0.33498855
-0.67448680 0.33412955
-0.67546432 0.33326833
-0.67644184 0.33240487
-0.67741935 0.33153918
-0.67839687 0.33066596
-0.67937439 0.32978977
-0.68035191 0.32891108
-0.68132942 0.32802986
-0.68230694 0.32714611
-0.68328446 0.32625470
-0.68426197 0.32535925
-0.68523949 0.32446098
-0.68621701 0.32355987
-0.68719453 0.32265592
-0.68817204 0.32174429
-0.68914956 0.32082736
-0.69012708 0.31990727
-0.69110459 0.31898402
-0.69208211 0.31805758
-0.69305963 0.31712353
-0.69403715 0.31618275
-0.69501466 0.31523846
-0.69599218 0.31429062
-0.69696970 0.31333924
-0.69794721 0.31238042
-0.69892473 0.31141324
-0.69990225 0.31044215
-0.70087977 0.30946713
-0.70185728 0.30848814
-0.70283480 0.30750204
-0.70381232 0.30650570
-0.70478983 0.30550502
-0.70576735 0.30449996
-0.70674487 0.30349051
-0.70772239 0.30247436
-0.70869990 0.30144588
-0.70967742 0.30041258
-0.71065494 0.29937442
-0.71163245 0.29833138
-0.71260997 0.29728221
-0.71358749 0.29621831
-0.71456500 0.29514908
-0.71554252 0.29407447
-0.71652004 0.29299443
-0.71749756 0.29190894
-0.71847507 0.29080611
-0.71945259 0.28969733
-0.72043011 0.28858258
-0.72140762 0.28746182
-0.72238514 0.28633499
-0.72336266 0.28519073
-0.72434018 0.28403843
-0.72531769 0.28287950
-0.72629521 0.28171390
-0.72727273 0.28054156
-0.72825024 0.27935180
-0.72922776 0.27815158
-0.73020528 0.27694401
-0.73118280 0.27572903
-0.73216031 0.27450656
-0.73313783 0.27326677
-0.73411535 0.27201377
-0.73509286 0.27075261
-0.73607038 0.26948321
-0.73704790 0.26820547
-0.73802542 0.26691064
-0.73900293 0.26559946
-0.73998045 0.26427920
-0.74095797 0.26294975
-0.74193548 0.26161103
-0.74291300 0.26025556
-0.74389052 0.25888015
-0.74486804 0.25749462
-0.74584555 0.25609885
-0.74682307 0.25469273
-0.74780059 0.25327035
-0.74877810 0.25182393
-0.74975562 0.25036621
-0.75073314 0.25000000
-0.75171065 0.25000000
-0.75268817 0.25000000
-0.75366569 0.25000000
-0.75464321 0.25000000
-0.75562072 0.25000000
-0.75659824 0.25000000
-0.75757576 0.25000000
-0.75855327 0.25000000
-0.75953079 0.25000000
-0.76050831 0.25000000
-0.76148583 0.25000000
-0.76246334 0.25000000
-0.76344086 0.25000000
-0.76441838 0.25000000
-0.76539589 0.25000000
-0.76637341 0.25000000
-0.76735093 0.25000000
-0.76832845 0.25000000
-0.76930596 0.25000000
-0.77028348 0.25000000
-0.77126100 0.25000000
-0.77223851 0.25000000
-0.77321603 0.25000000
-0.77419355 0.25000000
-0.77517107 0.25000000
-0.77614858 0.25000000
-0.77712610 0.25000000
-0.77810362 0.25000000
-0.77908113 0.25000000
-0.78005865 0.25000000
-0.78103617 0.25000000
-0.78201369 0.25000000
-0.78299120 0.25000000
-0.78396872 0.25000000
-0.78494624 0.25000000
-0.78592375 0.25000000
-0.78690127 0.25000000
-0.78787879 0.25000000
-0.78885630 0.25000000
-0.78983382 0.25000000
-0.79081134 0.25000000
-0.79178886 0.25000000
-0.79276637 0.25000000
-0.79374389 0.25000000
-0.79472141 0.25000000
-0.79569892 0.25000000
-0.79667644 0.25000000
-0.79765396 0.25000000
-0.79863148 0.25000000
-0.79960899 0.25000000
-0.80058651 0.25000000
-0.80156403 0.25000000
-0.80254154 0.25000000
-0.80351906 0.25000000
-0.80449658 0.25000000
-0.80547410 0.25000000
-0.80645161 0.25000000
-0.80742913 0.25000000
-0.80840665 0.25000000
-0.80938416 0.25000000
-0.81036168 0.25000000
-0.81133920 0.25000000
-0.81231672 0.25000000
-0.81329423 0.25000000
-0.81427175 0.25000000
-0.81524927 0.25000000
-0.81622678 0.25000000
-0.81720430 0.25000000
-0.81818182 0.25000000
-0.81915934 0.25000000
-0.82013685 0.25000000
-0.82111437 0.25000000
-0.82209189 0.25000000
-0.82306940 0.25000000
-0.82404692 0.25000000
-0.82502444 0.25000000
-0.82600196 0.25000000
-0.82697947 0.25000000
-0.82795699 0.25000000
-0.82893451 0.25000000
-0.82991202 0.25000000
-0.83088954 0.25000000
-0.83186706 0.25000000
-0.83284457 0.25000000
-0.83382209 0.25000000
-0.83479961 0.25000000
-0.83577713 0.25000000
-0.83675464 0.25000000
-0.83773216 0.25000000
-0.83870968 0.25000000
-0.83968719 0.25000000
-0.84066471 0.25000000
-0.84164223 0.25000000
-0.84261975 0.25000000
-0.84359726 0.25000000
-0.84457478 0.25000000
-0.84555230 0.25000000
-0.84652981 0.25000000
-0.84750733 0.25000000
-0.84848485 0.25000000
-0.84946237 0.25000000
-0.85043988 0.25000000
-0.85141740 0.25000000
-0.85239492 0.25000000
-0.85337243 0.25000000
-0.85434995 0.25000000
-0.85532747 0.25000000
-0.85630499 0.25000000
-0.85728250 0.25000000
-0.85826002 0.25000000
-0.85923754 0.25000000
-0.86021505 0.25000000
-0.86119257 0.25000000
-0.86217009 0.25000000
-0.86314761 0.25000000
-0.86412512 0.25000000
-0.86510264 0.25000000
-0.86608016 0.25000000
-0.86705767 0.25000000
-0.86803519 0.25000000
-0.86901271 0.25000000
-0.86999022 0.25000000
-0.87096774 0.25000000
-0.87194526 0.25000000
-0.87292278 0.25000000
-0.87390029 0.25000000
-0.87487781 0.25000000
-0.87585533 0.25000000
-0.87683284 0.25000000
-0.87781036 0.25000000
-0.87878788 0.25000000
-0.87976540 0.25000000
-0.88074291 0.25000000
-0.88172043 0.25000000
-0.88269795 0.25000000
-0.88367546 0.25000000
-0.88465298 0.25000000
-0.88563050 0.25000000
-0.88660802 0.25000000
-0.88758553 0.25000000
-0.88856305 0.25000000
-0.88954057 0.25000000
-0.89051808 0.25000000
-0.89149560 0.25000000
-0.89247312 0.25000000
-0.89345064 0.25000000
-0.89442815 0.25000000
-0.89540567 0.25000000
-0.89638319 0.25000000
-0.89736070 0.25000000
-0.89833822 0.25000000
-0.89931574 0.25000000
-0.90029326 0.25000000
-0.90127077 0.25000000
-0.90224829 0.25000000
-0.90322581 0.25000000
-0.90420332 0.25000000
-0.90518084 0.25000000
-0.90615836 0.25000000
-0.90713587 0.25000000
-0.90811339 0.25000000
-0.90909091 0.25000000
-0.91006843 0.25000000
-0.91104594 0.25000000
-0.91202346 0.25000000
-0.91300098 0.25000000
-0.91397849 0.25000000
-0.91495601 0.25000000
-0.91593353 0.25000000
-0.91691105 0.25000000
-0.91788856 0.25000000
-0.91886608 0.25000000
-0.91984360 0.25000000
-0.92082111 0.25000000
-0.92179863 0.25000000
-0.92277615 0.25000000
-0.92375367 0.25000000
-0.92473118 0.25000000
-0.92570870 0.25000000
-0.92668622 0.25000000
-0.92766373 0.25000000
-0.92864125 0.25000000
-0.92961877 0.25000000
-0.93059629 0.25000000
-0.93157380 0.25000000
-0.93255132 0.25000000
-0.93352884 0.25000000
-0.93450635 0.25000000
-0.93548387 0.25000000
-0.93646139 0.25000000
-0.93743891 0.25000000
-0.93841642 0.25000000
-0.93939394 0.25000000
-0.94037146 0.25000000
-0.94134897 0.25000000
-0.94232649 0.25000000
-0.94330401 0.25000000
-0.94428152 0.25000000
-0.94525904 0.25000000
-0.94623656 0.25000000
-0.94721408 0.25000000
-0.94819159 0.25000000
-0.94916911 0.25000000
-0.95014663 0.25000000
-0.95112414 0.25000000
-0.95210166 0.25000000
-0.95307918 0.25000000
-0.95405670 0.25000000
-0.95503421 0.25000000
-0.95601173 0.25000000
-0.95698925 0.25000000
-0.95796676 0.25000000
-0.95894428 0.25000000
-0.95992180 0.25000000
-0.96089932 0.25000000
-0.96187683 0.25000000
-0.96285435 0.25000000
-0.96383187 0.25000000
-0.96480938 0.25000000
-0.96578690 0.25000000
-0.96676442 0.25000000
-0.96774194 0.25000000
-0.96871945 0.25000000
-0.96969697 0.25000000
-0.97067449 0.25000000
-0.97165200 0.25000000
-0.97262952 0.25000000
-0.97360704 0.25000000
-0.97458456 0.25000000
-0.97556207 0.25000000
-0.97653959 0.25000000
-0.97751711 0.25000000
-0.97849462 0.25000000
-0.97947214 0.25000000
-0.98044966 0.25000000
-0.98142717 0.25000000
-0.98240469 0.25000000
-0.98338221 0.25000000
-0.98435973 0.25000000
-0.98533724 0.25000000
-0.98631476 0.25000000
-0.98729228 0.25000000
-0.98826979 0.25000000
-0.98924731 0.25000000
-0.99022483 0.25000000
-0.99120235 0.25000000
-0.99217986 0.25000000
-0.99315738 0.25000000
-0.99413490 0.25000000
-0.99511241 0.25000000
-0.99608993 0.25000000
-0.99706745 0.25000000
-0.99804497 0.25000000
-0.99902248 0.25000000
-1.00000000 nan
+Ambient Power
+0.000000000 nan
+0.000977517 0.750000000
+0.001955034 0.750000000
+0.002932551 0.750000000
+0.003910068 0.750000000
+0.004887586 0.750000000
+0.005865103 0.750000000
+0.006842620 0.750000000
+0.007820137 0.750000000
+0.008797654 0.750000000
+0.009775171 0.750000000
+0.010752688 0.750000000
+0.011730205 0.750000000
+0.012707722 0.750000000
+0.013685239 0.750000000
+0.014662757 0.750000000
+0.015640274 0.750000000
+0.016617791 0.750000000
+0.017595308 0.750000000
+0.018572825 0.750000000
+0.019550342 0.750000000
+0.020527859 0.750000000
+0.021505376 0.750000000
+0.022482893 0.750000000
+0.023460411 0.750000000
+0.024437928 0.750000000
+0.025415445 0.750000000
+0.026392962 0.750000000
+0.027370479 0.750000000
+0.028347996 0.750000000
+0.029325513 0.750000000
+0.030303030 0.750000000
+0.031280547 0.750000000
+0.032258065 0.750000000
+0.033235582 0.750000000
+0.034213099 0.750000000
+0.035190616 0.750000000
+0.036168133 0.750000000
+0.037145650 0.750000000
+0.038123167 0.750000000
+0.039100684 0.750000000
+0.040078201 0.750000000
+0.041055718 0.750000000
+0.042033236 0.750000000
+0.043010753 0.750000000
+0.043988270 0.750000000
+0.044965787 0.750000000
+0.045943304 0.750000000
+0.046920821 0.750000000
+0.047898338 0.750000000
+0.048875855 0.750000000
+0.049853372 0.750000000
+0.050830890 0.750000000
+0.051808407 0.750000000
+0.052785924 0.750000000
+0.053763441 0.750000000
+0.054740958 0.750000000
+0.055718475 0.750000000
+0.056695992 0.750000000
+0.057673509 0.750000000
+0.058651026 0.750000000
+0.059628543 0.750000000
+0.060606061 0.750000000
+0.061583578 0.750000000
+0.062561095 0.750000000
+0.063538612 0.750000000
+0.064516129 0.750000000
+0.065493646 0.750000000
+0.066471163 0.750000000
+0.067448680 0.750000000
+0.068426197 0.750000000
+0.069403715 0.750000000
+0.070381232 0.750000000
+0.071358749 0.750000000
+0.072336266 0.750000000
+0.073313783 0.750000000
+0.074291300 0.750000000
+0.075268817 0.750000000
+0.076246334 0.750000000
+0.077223851 0.750000000
+0.078201369 0.750000000
+0.079178886 0.750000000
+0.080156403 0.750000000
+0.081133920 0.750000000
+0.082111437 0.750000000
+0.083088954 0.750000000
+0.084066471 0.750000000
+0.085043988 0.750000000
+0.086021505 0.750000000
+0.086999022 0.750000000
+0.087976540 0.750000000
+0.088954057 0.750000000
+0.089931574 0.750000000
+0.090909091 0.750000000
+0.091886608 0.750000000
+0.092864125 0.750000000
+0.093841642 0.750000000
+0.094819159 0.750000000
+0.095796676 0.750000000
+0.096774194 0.750000000
+0.097751711 0.750000000
+0.098729228 0.750000000
+0.099706745 0.750000000
+0.100684262 0.750000000
+0.101661779 0.750000000
+0.102639296 0.750000000
+0.103616813 0.750000000
+0.104594330 0.750000000
+0.105571848 0.750000000
+0.106549365 0.750000000
+0.107526882 0.750000000
+0.108504399 0.750000000
+0.109481916 0.750000000
+0.110459433 0.750000000
+0.111436950 0.750000000
+0.112414467 0.750000000
+0.113391984 0.750000000
+0.114369501 0.750000000
+0.115347019 0.750000000
+0.116324536 0.750000000
+0.117302053 0.750000000
+0.118279570 0.750000000
+0.119257087 0.750000000
+0.120234604 0.750000000
+0.121212121 0.750000000
+0.122189638 0.750000000
+0.123167155 0.750000000
+0.124144673 0.750000000
+0.125122190 0.750000000
+0.126099707 0.750000000
+0.127077224 0.750000000
+0.128054741 0.750000000
+0.129032258 0.750000000
+0.130009775 0.750000000
+0.130987292 0.750000000
+0.131964809 0.750000000
+0.132942326 0.750000000
+0.133919844 0.750000000
+0.134897361 0.750000000
+0.135874878 0.750000000
+0.136852395 0.750000000
+0.137829912 0.750000000
+0.138807429 0.750000000
+0.139784946 0.750000000
+0.140762463 0.750000000
+0.141739980 0.750000000
+0.142717498 0.750000000
+0.143695015 0.750000000
+0.144672532 0.750000000
+0.145650049 0.750000000
+0.146627566 0.750000000
+0.147605083 0.750000000
+0.148582600 0.750000000
+0.149560117 0.750000000
+0.150537634 0.750000000
+0.151515152 0.750000000
+0.152492669 0.750000000
+0.153470186 0.750000000
+0.154447703 0.750000000
+0.155425220 0.750000000
+0.156402737 0.750000000
+0.157380254 0.750000000
+0.158357771 0.750000000
+0.159335288 0.750000000
+0.160312805 0.750000000
+0.161290323 0.750000000
+0.162267840 0.750000000
+0.163245357 0.750000000
+0.164222874 0.750000000
+0.165200391 0.750000000
+0.166177908 0.750000000
+0.167155425 0.750000000
+0.168132942 0.750000000
+0.169110459 0.750000000
+0.170087977 0.750000000
+0.171065494 0.750000000
+0.172043011 0.750000000
+0.173020528 0.750000000
+0.173998045 0.750000000
+0.174975562 0.750000000
+0.175953079 0.750000000
+0.176930596 0.750000000
+0.177908113 0.750000000
+0.178885630 0.750000000
+0.179863148 0.750000000
+0.180840665 0.750000000
+0.181818182 0.750000000
+0.182795699 0.750000000
+0.183773216 0.750000000
+0.184750733 0.750000000
+0.185728250 0.750000000
+0.186705767 0.750000000
+0.187683284 0.750000000
+0.188660802 0.750000000
+0.189638319 0.750000000
+0.190615836 0.750000000
+0.191593353 0.750000000
+0.192570870 0.750000000
+0.193548387 0.750000000
+0.194525904 0.750000000
+0.195503421 0.750000000
+0.196480938 0.750000000
+0.197458456 0.750000000
+0.198435973 0.750000000
+0.199413490 0.750000000
+0.200391007 0.750000000
+0.201368524 0.750000000
+0.202346041 0.750000000
+0.203323558 0.750000000
+0.204301075 0.750000000
+0.205278592 0.750000000
+0.206256109 0.750000000
+0.207233627 0.750000000
+0.208211144 0.750000000
+0.209188661 0.750000000
+0.210166178 0.750000000
+0.211143695 0.750000000
+0.212121212 0.750000000
+0.213098729 0.750000000
+0.214076246 0.750000000
+0.215053763 0.750000000
+0.216031281 0.750000000
+0.217008798 0.750000000
+0.217986315 0.750000000
+0.218963832 0.750000000
+0.219941349 0.750000000
+0.220918866 0.750000000
+0.221896383 0.750000000
+0.222873900 0.750000000
+0.223851417 0.750000000
+0.224828935 0.750000000
+0.225806452 0.750000000
+0.226783969 0.750000000
+0.227761486 0.750000000
+0.228739003 0.750000000
+0.229716520 0.750000000
+0.230694037 0.750000000
+0.231671554 0.750000000
+0.232649071 0.750000000
+0.233626588 0.750000000
+0.234604106 0.750000000
+0.235581623 0.750000000
+0.236559140 0.750000000
+0.237536657 0.750000000
+0.238514174 0.750000000
+0.239491691 0.750000000
+0.240469208 0.750000000
+0.241446725 0.750000000
+0.242424242 0.750000000
+0.243401760 0.750000000
+0.244379277 0.750000000
+0.245356794 0.750000000
+0.246334311 0.750000000
+0.247311828 0.750000000
+0.248289345 0.750000000
+0.249266862 0.750000000
+0.250244379 0.749633789
+0.251221896 0.748176070
+0.252199413 0.746729651
+0.253176931 0.745307268
+0.254154448 0.743901152
+0.255131965 0.742505384
+0.256109482 0.741119851
+0.257086999 0.739744439
+0.258064516 0.738388970
+0.259042033 0.737050250
+0.260019550 0.735720805
+0.260997067 0.734400539
+0.261974585 0.733089356
+0.262952102 0.731794526
+0.263929619 0.730516794
+0.264907136 0.729247388
+0.265884653 0.727986227
+0.266862170 0.726733231
+0.267839687 0.725493442
+0.268817204 0.724270974
+0.269794721 0.723055990
+0.270772239 0.721848423
+0.271749756 0.720648204
+0.272727273 0.719458438
+0.273704790 0.718286101
+0.274682307 0.717120499
+0.275659824 0.715961575
+0.276637341 0.714809270
+0.277614858 0.713665012
+0.278592375 0.712538184
+0.279569892 0.711417421
+0.280547410 0.710302674
+0.281524927 0.709193894
+0.282502444 0.708091063
+0.283479961 0.707005566
+0.284457478 0.705925531
+0.285434995 0.704850918
+0.286412512 0.703781686
+0.287390029 0.702717795
+0.288367546 0.701668621
+0.289345064 0.700625580
+0.290322581 0.699587425
+0.291300098 0.698554121
+0.292277615 0.697525635
+0.293255132 0.696509490
+0.294232649 0.695500037
+0.295210166 0.694494984
+0.296187683 0.693494303
+0.297165200 0.692497965
+0.298142717 0.691511860
+0.299120235 0.690532874
+0.300097752 0.689557847
+0.301075269 0.688586755
+0.302052786 0.687619575
+0.303030303 0.686660765
+0.304007820 0.685709376
+0.304985337 0.684761545
+0.305962854 0.683817249
+0.306940371 0.682876470
+0.307917889 0.681942420
+0.308895406 0.681015980
+0.309872923 0.680092726
+0.310850440 0.679172643
+0.311827957 0.678255714
+0.312805474 0.677344077
+0.313782991 0.676440126
+0.314760508 0.675539023
+0.315738025 0.674640752
+0.316715543 0.673745302
+0.317693060 0.672853893
+0.318670577 0.671970143
+0.319648094 0.671088924
+0.320625611 0.670210227
+0.321603128 0.669334041
+0.322580645 0.668460818
+0.323558162 0.667595126
+0.324535679 0.666731672
+0.325513196 0.665870450
+0.326490714 0.665011449
+0.327468231 0.664154662
+0.328445748 0.663304848
+0.329423265 0.662457164
+0.330400782 0.661611439
+0.331378299 0.660767667
+0.332355816 0.659925840
+0.333333333 0.659089669
+0.334310850 0.658255868
+0.335288368 0.657423770
+0.336265885 0.656593371
+0.337243402 0.655764665
+0.338220919 0.654940458
+0.339198436 0.654118746
+0.340175953 0.653298497
+0.341153470 0.652479705
+0.342130987 0.651662368
+0.343108504 0.650848521
+0.344086022 0.650037186
+0.345063539 0.649227083
+0.346041056 0.648418210
+0.347018573 0.647610563
+0.347996090 0.646805538
+0.348973607 0.646002934
+0.349951124 0.645201343
+0.350928641 0.644400763
+0.351906158 0.643601190
+0.352883675 0.642803505
+0.353861193 0.642008044
+0.354838710 0.641213384
+0.355816227 0.640419523
+0.356793744 0.639626459
+0.357771261 0.638834675
+0.358748778 0.638044814
+0.359726295 0.637255548
+0.360703812 0.636466876
+0.361681329 0.635678797
+0.362658847 0.634891512
+0.363636364 0.634105743
+0.364613881 0.633320368
+0.365591398 0.632535386
+0.366568915 0.631750798
+0.367546432 0.630966638
+0.368523949 0.630183479
+0.369501466 0.629400516
+0.370478983 0.628617749
+0.371456500 0.627835178
+0.372434018 0.627052803
+0.373411535 0.626270772
+0.374389052 0.625488759
+0.375366569 0.624706745
+0.376344086 0.623924731
+0.377321603 0.623142717
+0.378299120 0.622360434
+0.379276637 0.621577912
+0.380254154 0.620795194
+0.381231672 0.620012280
+0.382209189 0.619229171
+0.383186706 0.618445288
+0.384164223 0.617660798
+0.385141740 0.616875914
+0.386119257 0.616090638
+0.387096774 0.615304967
+0.388074291 0.614518130
+0.389051808 0.613730200
+0.390029326 0.612941676
+0.391006843 0.612152558
+0.391984360 0.611362846
+0.392961877 0.610571682
+0.393939394 0.609778818
+0.394916911 0.608985156
+0.395894428 0.608190696
+0.396871945 0.607395436
+0.397849462 0.606598545
+0.398826979 0.605799225
+0.399804497 0.604998896
+0.400782014 0.604197558
+0.401759531 0.603395208
+0.402737048 0.602591157
+0.403714565 0.601783817
+0.404692082 0.600975251
+0.405669599 0.600165455
+0.406647116 0.599354429
+0.407624633 0.598541740
+0.408602151 0.597724765
+0.409579668 0.596906338
+0.410557185 0.596086453
+0.411534702 0.595265107
+0.412512219 0.594442248
+0.413489736 0.593613964
+0.414467253 0.592783988
+0.415444770 0.591952316
+0.416422287 0.591118941
+0.417399804 0.590283858
+0.418377322 0.589442972
+0.419354839 0.588599687
+0.420332356 0.587754450
+0.421309873 0.586907257
+0.422287390 0.586058099
+0.423264907 0.585202955
+0.424242424 0.584344508
+0.425219941 0.583483842
+0.426197458 0.582620947
+0.427174976 0.581755815
+0.428152493 0.580884615
+0.429130010 0.580009054
+0.430107527 0.579130986
+0.431085044 0.578250399
+0.432062561 0.577367283
+0.433040078 0.576478121
+0.434017595 0.575583374
+0.434995112 0.574685810
+0.435972630 0.573785416
+0.436950147 0.572882178
+0.437927664 0.571973027
+0.438905181 0.571056884
+0.439882698 0.570137591
+0.440860215 0.569215132
+0.441837732 0.568289490
+0.442815249 0.567358177
+0.443792766 0.566418275
+0.444770283 0.565474860
+0.445747801 0.564527914
+0.446725318 0.563577417
+0.447702835 0.562621612
+0.448680352 0.561655405
+0.449657869 0.560685294
+0.450635386 0.559711253
+0.451612903 0.558733259
+0.452590420 0.557750445
+0.453567937 0.556755188
+0.454545455 0.555755595
+0.455522972 0.554751638
+0.456500489 0.553743287
+0.457478006 0.552730515
+0.458455523 0.551703450
+0.459433040 0.550671354
+0.460410557 0.549634415
+0.461388074 0.548592599
+0.462365591 0.547545872
+0.463343109 0.546484786
+0.464320626 0.545416893
+0.465298143 0.544343629
+0.466275660 0.543264953
+0.467253177 0.542180826
+0.468230694 0.541082374
+0.469208211 0.539975079
+0.470185728 0.538861828
+0.471163245 0.537742573
+0.472140762 0.536617267
+0.473118280 0.535477779
+0.474095797 0.534327120
+0.475073314 0.533169855
+0.476050831 0.532005928
+0.477028348 0.530835281
+0.478005865 0.529650711
+0.478983382 0.528452318
+0.479960899 0.527246594
+0.480938416 0.526033471
+0.481915934 0.524812880
+0.482893451 0.523578752
+0.483870968 0.522327784
+0.484848485 0.521068672
+0.485826002 0.519801335
+0.486803519 0.518525692
+0.487781036 0.517237031
+0.488758553 0.515928105
+0.489736070 0.514610118
+0.490713587 0.513282977
+0.491691105 0.511946585
+0.492668622 0.510597845
+0.493646139 0.509224947
+0.494623656 0.507841954
+0.495601173 0.506448755
+0.496578690 0.505045237
+0.497556207 0.503630203
+0.498533724 0.502186589
+0.499511241 0.500731707
+0.500488759 0.499268293
+0.501466276 0.497813411
+0.502443793 0.496369797
+0.503421310 0.494954763
+0.504398827 0.493551245
+0.505376344 0.492158046
+0.506353861 0.490775053
+0.507331378 0.489402155
+0.508308895 0.488053415
+0.509286413 0.486717023
+0.510263930 0.485389882
+0.511241447 0.484071895
+0.512218964 0.482762969
+0.513196481 0.481474308
+0.514173998 0.480198665
+0.515151515 0.478931328
+0.516129032 0.477672216
+0.517106549 0.476421248
+0.518084066 0.475187120
+0.519061584 0.473966529
+0.520039101 0.472753406
+0.521016618 0.471547682
+0.521994135 0.470349289
+0.522971652 0.469164719
+0.523949169 0.467994072
+0.524926686 0.466830145
+0.525904203 0.465672880
+0.526881720 0.464522221
+0.527859238 0.463382733
+0.528836755 0.462257427
+0.529814272 0.461138172
+0.530791789 0.460024921
+0.531769306 0.458917626
+0.532746823 0.457819174
+0.533724340 0.456735047
+0.534701857 0.455656371
+0.535679374 0.454583107
+0.536656891 0.453515214
+0.537634409 0.452454128
+0.538611926 0.451407401
+0.539589443 0.450365585
+0.540566960 0.449328646
+0.541544477 0.448296550
+0.542521994 0.447269485
+0.543499511 0.446256713
+0.544477028 0.445248362
+0.545454545 0.444244405
+0.546432063 0.443244812
+0.547409580 0.442249555
+0.548387097 0.441266741
+0.549364614 0.440288747
+0.550342131 0.439314706
+0.551319648 0.438344595
+0.552297165 0.437378388
+0.553274682 0.436422583
+0.554252199 0.435472086
+0.555229717 0.434525140
+0.556207234 0.433581725
+0.557184751 0.432641823
+0.558162268 0.431710510
+0.559139785 0.430784868
+0.560117302 0.429862409
+0.561094819 0.428943116
+0.562072336 0.428026973
+0.563049853 0.427117822
+0.564027370 0.426214584
+0.565004888 0.425314190
+0.565982405 0.424416626
+0.566959922 0.423521879
+0.567937439 0.422632717
+0.568914956 0.421749601
+0.569892473 0.420869014
+0.570869990 0.419990946
+0.571847507 0.419115385
+0.572825024 0.418244185
+0.573802542 0.417379053
+0.574780059 0.416516158
+0.575757576 0.415655492
+0.576735093 0.414797045
+0.577712610 0.413941901
+0.578690127 0.413092743
+0.579667644 0.412245550
+0.580645161 0.411400313
+0.581622678 0.410557028
+0.582600196 0.409716142
+0.583577713 0.408881059
+0.584555230 0.408047684
+0.585532747 0.407216012
+0.586510264 0.406386036
+0.587487781 0.405557752
+0.588465298 0.404734893
+0.589442815 0.403913547
+0.590420332 0.403093662
+0.591397849 0.402275235
+0.592375367 0.401458260
+0.593352884 0.400645571
+0.594330401 0.399834545
+0.595307918 0.399024749
+0.596285435 0.398216183
+0.597262952 0.397408843
+0.598240469 0.396604792
+0.599217986 0.395802442
+0.600195503 0.395001104
+0.601173021 0.394200775
+0.602150538 0.393401455
+0.603128055 0.392604564
+0.604105572 0.391809304
+0.605083089 0.391014844
+0.606060606 0.390221182
+0.607038123 0.389428318
+0.608015640 0.388637154
+0.608993157 0.387847442
+0.609970674 0.387058324
+0.610948192 0.386269800
+0.611925709 0.385481870
+0.612903226 0.384695033
+0.613880743 0.383909362
+0.614858260 0.383124086
+0.615835777 0.382339202
+0.616813294 0.381554712
+0.617790811 0.380770829
+0.618768328 0.379987720
+0.619745846 0.379204806
+0.620723363 0.378422088
+0.621700880 0.377639566
+0.622678397 0.376857283
+0.623655914 0.376075269
+0.624633431 0.375293255
+0.625610948 0.374511241
+0.626588465 0.373729228
+0.627565982 0.372947197
+0.628543500 0.372164822
+0.629521017 0.371382251
+0.630498534 0.370599484
+0.631476051 0.369816521
+0.632453568 0.369033362
+0.633431085 0.368249202
+0.634408602 0.367464614
+0.635386119 0.366679632
+0.636363636 0.365894257
+0.637341153 0.365108488
+0.638318671 0.364321203
+0.639296188 0.363533124
+0.640273705 0.362744452
+0.641251222 0.361955186
+0.642228739 0.361165325
+0.643206256 0.360373541
+0.644183773 0.359580477
+0.645161290 0.358786616
+0.646138807 0.357991956
+0.647116325 0.357196495
+0.648093842 0.356398810
+0.649071359 0.355599237
+0.650048876 0.354798657
+0.651026393 0.353997066
+0.652003910 0.353194462
+0.652981427 0.352389437
+0.653958944 0.351581790
+0.654936461 0.350772917
+0.655913978 0.349962814
+0.656891496 0.349151479
+0.657869013 0.348337632
+0.658846530 0.347520295
+0.659824047 0.346701503
+0.660801564 0.345881254
+0.661779081 0.345059542
+0.662756598 0.344235335
+0.663734115 0.343406629
+0.664711632 0.342576230
+0.665689150 0.341744132
+0.666666667 0.340910331
+0.667644184 0.340074160
+0.668621701 0.339232333
+0.669599218 0.338388561
+0.670576735 0.337542836
+0.671554252 0.336695152
+0.672531769 0.335845338
+0.673509286 0.334988551
+0.674486804 0.334129550
+0.675464321 0.333268328
+0.676441838 0.332404874
+0.677419355 0.331539182
+0.678396872 0.330665959
+0.679374389 0.329789773
+0.680351906 0.328911076
+0.681329423 0.328029857
+0.682306940 0.327146107
+0.683284457 0.326254698
+0.684261975 0.325359248
+0.685239492 0.324460977
+0.686217009 0.323559874
+0.687194526 0.322655923
+0.688172043 0.321744286
+0.689149560 0.320827357
+0.690127077 0.319907274
+0.691104594 0.318984020
+0.692082111 0.318057580
+0.693059629 0.317123530
+0.694037146 0.316182751
+0.695014663 0.315238455
+0.695992180 0.314290624
+0.696969697 0.313339235
+0.697947214 0.312380425
+0.698924731 0.311413245
+0.699902248 0.310442153
+0.700879765 0.309467126
+0.701857283 0.308488140
+0.702834800 0.307502035
+0.703812317 0.306505697
+0.704789834 0.305505016
+0.705767351 0.304499963
+0.706744868 0.303490510
+0.707722385 0.302474365
+0.708699902 0.301445879
+0.709677419 0.300412575
+0.710654936 0.299374420
+0.711632454 0.298331379
+0.712609971 0.297282205
+0.713587488 0.296218314
+0.714565005 0.295149082
+0.715542522 0.294074469
+0.716520039 0.292994434
+0.717497556 0.291908937
+0.718475073 0.290806106
+0.719452590 0.289697326
+0.720430108 0.288582579
+0.721407625 0.287461816
+0.722385142 0.286334988
+0.723362659 0.285190730
+0.724340176 0.284038425
+0.725317693 0.282879501
+0.726295210 0.281713899
+0.727272727 0.280541562
+0.728250244 0.279351796
+0.729227761 0.278151577
+0.730205279 0.276944010
+0.731182796 0.275729026
+0.732160313 0.274506558
+0.733137830 0.273266769
+0.734115347 0.272013773
+0.735092864 0.270752612
+0.736070381 0.269483206
+0.737047898 0.268205474
+0.738025415 0.266910644
+0.739002933 0.265599461
+0.739980450 0.264279195
+0.740957967 0.262949750
+0.741935484 0.261611030
+0.742913001 0.260255561
+0.743890518 0.258880149
+0.744868035 0.257494616
+0.745845552 0.256098848
+0.746823069 0.254692732
+0.747800587 0.253270349
+0.748778104 0.251823930
+0.749755621 0.250366211
+0.750733138 0.250000000
+0.751710655 0.250000000
+0.752688172 0.250000000
+0.753665689 0.250000000
+0.754643206 0.250000000
+0.755620723 0.250000000
+0.756598240 0.250000000
+0.757575758 0.250000000
+0.758553275 0.250000000
+0.759530792 0.250000000
+0.760508309 0.250000000
+0.761485826 0.250000000
+0.762463343 0.250000000
+0.763440860 0.250000000
+0.764418377 0.250000000
+0.765395894 0.250000000
+0.766373412 0.250000000
+0.767350929 0.250000000
+0.768328446 0.250000000
+0.769305963 0.250000000
+0.770283480 0.250000000
+0.771260997 0.250000000
+0.772238514 0.250000000
+0.773216031 0.250000000
+0.774193548 0.250000000
+0.775171065 0.250000000
+0.776148583 0.250000000
+0.777126100 0.250000000
+0.778103617 0.250000000
+0.779081134 0.250000000
+0.780058651 0.250000000
+0.781036168 0.250000000
+0.782013685 0.250000000
+0.782991202 0.250000000
+0.783968719 0.250000000
+0.784946237 0.250000000
+0.785923754 0.250000000
+0.786901271 0.250000000
+0.787878788 0.250000000
+0.788856305 0.250000000
+0.789833822 0.250000000
+0.790811339 0.250000000
+0.791788856 0.250000000
+0.792766373 0.250000000
+0.793743891 0.250000000
+0.794721408 0.250000000
+0.795698925 0.250000000
+0.796676442 0.250000000
+0.797653959 0.250000000
+0.798631476 0.250000000
+0.799608993 0.250000000
+0.800586510 0.250000000
+0.801564027 0.250000000
+0.802541544 0.250000000
+0.803519062 0.250000000
+0.804496579 0.250000000
+0.805474096 0.250000000
+0.806451613 0.250000000
+0.807429130 0.250000000
+0.808406647 0.250000000
+0.809384164 0.250000000
+0.810361681 0.250000000
+0.811339198 0.250000000
+0.812316716 0.250000000
+0.813294233 0.250000000
+0.814271750 0.250000000
+0.815249267 0.250000000
+0.816226784 0.250000000
+0.817204301 0.250000000
+0.818181818 0.250000000
+0.819159335 0.250000000
+0.820136852 0.250000000
+0.821114370 0.250000000
+0.822091887 0.250000000
+0.823069404 0.250000000
+0.824046921 0.250000000
+0.825024438 0.250000000
+0.826001955 0.250000000
+0.826979472 0.250000000
+0.827956989 0.250000000
+0.828934506 0.250000000
+0.829912023 0.250000000
+0.830889541 0.250000000
+0.831867058 0.250000000
+0.832844575 0.250000000
+0.833822092 0.250000000
+0.834799609 0.250000000
+0.835777126 0.250000000
+0.836754643 0.250000000
+0.837732160 0.250000000
+0.838709677 0.250000000
+0.839687195 0.250000000
+0.840664712 0.250000000
+0.841642229 0.250000000
+0.842619746 0.250000000
+0.843597263 0.250000000
+0.844574780 0.250000000
+0.845552297 0.250000000
+0.846529814 0.250000000
+0.847507331 0.250000000
+0.848484848 0.250000000
+0.849462366 0.250000000
+0.850439883 0.250000000
+0.851417400 0.250000000
+0.852394917 0.250000000
+0.853372434 0.250000000
+0.854349951 0.250000000
+0.855327468 0.250000000
+0.856304985 0.250000000
+0.857282502 0.250000000
+0.858260020 0.250000000
+0.859237537 0.250000000
+0.860215054 0.250000000
+0.861192571 0.250000000
+0.862170088 0.250000000
+0.863147605 0.250000000
+0.864125122 0.250000000
+0.865102639 0.250000000
+0.866080156 0.250000000
+0.867057674 0.250000000
+0.868035191 0.250000000
+0.869012708 0.250000000
+0.869990225 0.250000000
+0.870967742 0.250000000
+0.871945259 0.250000000
+0.872922776 0.250000000
+0.873900293 0.250000000
+0.874877810 0.250000000
+0.875855327 0.250000000
+0.876832845 0.250000000
+0.877810362 0.250000000
+0.878787879 0.250000000
+0.879765396 0.250000000
+0.880742913 0.250000000
+0.881720430 0.250000000
+0.882697947 0.250000000
+0.883675464 0.250000000
+0.884652981 0.250000000
+0.885630499 0.250000000
+0.886608016 0.250000000
+0.887585533 0.250000000
+0.888563050 0.250000000
+0.889540567 0.250000000
+0.890518084 0.250000000
+0.891495601 0.250000000
+0.892473118 0.250000000
+0.893450635 0.250000000
+0.894428152 0.250000000
+0.895405670 0.250000000
+0.896383187 0.250000000
+0.897360704 0.250000000
+0.898338221 0.250000000
+0.899315738 0.250000000
+0.900293255 0.250000000
+0.901270772 0.250000000
+0.902248289 0.250000000
+0.903225806 0.250000000
+0.904203324 0.250000000
+0.905180841 0.250000000
+0.906158358 0.250000000
+0.907135875 0.250000000
+0.908113392 0.250000000
+0.909090909 0.250000000
+0.910068426 0.250000000
+0.911045943 0.250000000
+0.912023460 0.250000000
+0.913000978 0.250000000
+0.913978495 0.250000000
+0.914956012 0.250000000
+0.915933529 0.250000000
+0.916911046 0.250000000
+0.917888563 0.250000000
+0.918866080 0.250000000
+0.919843597 0.250000000
+0.920821114 0.250000000
+0.921798631 0.250000000
+0.922776149 0.250000000
+0.923753666 0.250000000
+0.924731183 0.250000000
+0.925708700 0.250000000
+0.926686217 0.250000000
+0.927663734 0.250000000
+0.928641251 0.250000000
+0.929618768 0.250000000
+0.930596285 0.250000000
+0.931573803 0.250000000
+0.932551320 0.250000000
+0.933528837 0.250000000
+0.934506354 0.250000000
+0.935483871 0.250000000
+0.936461388 0.250000000
+0.937438905 0.250000000
+0.938416422 0.250000000
+0.939393939 0.250000000
+0.940371457 0.250000000
+0.941348974 0.250000000
+0.942326491 0.250000000
+0.943304008 0.250000000
+0.944281525 0.250000000
+0.945259042 0.250000000
+0.946236559 0.250000000
+0.947214076 0.250000000
+0.948191593 0.250000000
+0.949169110 0.250000000
+0.950146628 0.250000000
+0.951124145 0.250000000
+0.952101662 0.250000000
+0.953079179 0.250000000
+0.954056696 0.250000000
+0.955034213 0.250000000
+0.956011730 0.250000000
+0.956989247 0.250000000
+0.957966764 0.250000000
+0.958944282 0.250000000
+0.959921799 0.250000000
+0.960899316 0.250000000
+0.961876833 0.250000000
+0.962854350 0.250000000
+0.963831867 0.250000000
+0.964809384 0.250000000
+0.965786901 0.250000000
+0.966764418 0.250000000
+0.967741935 0.250000000
+0.968719453 0.250000000
+0.969696970 0.250000000
+0.970674487 0.250000000
+0.971652004 0.250000000
+0.972629521 0.250000000
+0.973607038 0.250000000
+0.974584555 0.250000000
+0.975562072 0.250000000
+0.976539589 0.250000000
+0.977517107 0.250000000
+0.978494624 0.250000000
+0.979472141 0.250000000
+0.980449658 0.250000000
+0.981427175 0.250000000
+0.982404692 0.250000000
+0.983382209 0.250000000
+0.984359726 0.250000000
+0.985337243 0.250000000
+0.986314761 0.250000000
+0.987292278 0.250000000
+0.988269795 0.250000000
+0.989247312 0.250000000
+0.990224829 0.250000000
+0.991202346 0.250000000
+0.992179863 0.250000000
+0.993157380 0.250000000
+0.994134897 0.250000000
+0.995112414 0.250000000
+0.996089932 0.250000000
+0.997067449 0.250000000
+0.998044966 0.250000000
+0.999022483 0.250000000
+1.000000000 nan
diff --git a/examples/mamdani/SimpleDimmer.fll b/examples/mamdani/SimpleDimmer.fll
index 3a4f8f9..896bebf 100644
--- a/examples/mamdani/SimpleDimmer.fll
+++ b/examples/mamdani/SimpleDimmer.fll
@@ -1,18 +1,19 @@
-Engine: simple-dimmer
+Engine: SimpleDimmer
InputVariable: Ambient
enabled: true
range: 0.000 1.000
+ lock-range: false
term: DARK Triangle 0.000 0.250 0.500
term: MEDIUM Triangle 0.250 0.500 0.750
term: BRIGHT Triangle 0.500 0.750 1.000
OutputVariable: Power
enabled: true
range: 0.000 1.000
- accumulation: Maximum
+ lock-range: false
+ aggregation: Maximum
defuzzifier: Centroid 200
default: nan
lock-previous: false
- lock-range: false
term: LOW Triangle 0.000 0.250 0.500
term: MEDIUM Triangle 0.250 0.500 0.750
term: HIGH Triangle 0.500 0.750 1.000
@@ -20,7 +21,8 @@ RuleBlock:
enabled: true
conjunction: none
disjunction: none
- activation: Minimum
+ implication: Minimum
+ activation: General
rule: if Ambient is DARK then Power is HIGH
rule: if Ambient is MEDIUM then Power is MEDIUM
rule: if Ambient is BRIGHT then Power is LOW \ No newline at end of file
diff --git a/examples/mamdani/SimpleDimmer.java b/examples/mamdani/SimpleDimmer.java
index 1846722..d7b127d 100644
--- a/examples/mamdani/SimpleDimmer.java
+++ b/examples/mamdani/SimpleDimmer.java
@@ -1,4 +1,5 @@
import com.fuzzylite.*;
+import com.fuzzylite.activation.*
import com.fuzzylite.defuzzifier.*;
import com.fuzzylite.factory.*;
import com.fuzzylite.hedge.*;
@@ -12,38 +13,46 @@ import com.fuzzylite.variable.*;
public class SimpleDimmer{
public static void main(String[] args){
+//Code automatically generated with fuzzylite 6.0.
+
Engine engine = new Engine();
-engine.setName("simple-dimmer");
+engine.setName("SimpleDimmer");
+engine.setDescription("");
-InputVariable inputVariable = new InputVariable();
-inputVariable.setEnabled(true);
-inputVariable.setName("Ambient");
-inputVariable.setRange(0.000, 1.000);
-inputVariable.addTerm(new Triangle("DARK", 0.000, 0.250, 0.500));
-inputVariable.addTerm(new Triangle("MEDIUM", 0.250, 0.500, 0.750));
-inputVariable.addTerm(new Triangle("BRIGHT", 0.500, 0.750, 1.000));
-engine.addInputVariable(inputVariable);
+InputVariable Ambient = new InputVariable();
+Ambient.setName("Ambient");
+Ambient.setDescription("");
+Ambient.setEnabled(true);
+Ambient.setRange(0.000, 1.000);
+Ambient.setLockValueInRange(false);
+Ambient.addTerm(new Triangle("DARK", 0.000, 0.250, 0.500));
+Ambient.addTerm(new Triangle("MEDIUM", 0.250, 0.500, 0.750));
+Ambient.addTerm(new Triangle("BRIGHT", 0.500, 0.750, 1.000));
+engine.addInputVariable(Ambient);
-OutputVariable outputVariable = new OutputVariable();
-outputVariable.setEnabled(true);
-outputVariable.setName("Power");
-outputVariable.setRange(0.000, 1.000);
-outputVariable.fuzzyOutput().setAccumulation(new Maximum());
-outputVariable.setDefuzzifier(new Centroid(200));
-outputVariable.setDefaultValue(Double.NaN);
-outputVariable.setLockPreviousOutputValue(false);
-outputVariable.setLockOutputValueInRange(false);
-outputVariable.addTerm(new Triangle("LOW", 0.000, 0.250, 0.500));
-outputVariable.addTerm(new Triangle("MEDIUM", 0.250, 0.500, 0.750));
-outputVariable.addTerm(new Triangle("HIGH", 0.500, 0.750, 1.000));
-engine.addOutputVariable(outputVariable);
+OutputVariable Power = new OutputVariable();
+Power.setName("Power");
+Power.setDescription("");
+Power.setEnabled(true);
+Power.setRange(0.000, 1.000);
+Power.setLockValueInRange(false);
+Power.setAggregation(new Maximum());
+Power.setDefuzzifier(new Centroid(200));
+Power.setDefaultValue(Double.NaN);
+Power.setLockPreviousValue(false);
+Power.addTerm(new Triangle("LOW", 0.000, 0.250, 0.500));
+Power.addTerm(new Triangle("MEDIUM", 0.250, 0.500, 0.750));
+Power.addTerm(new Triangle("HIGH", 0.500, 0.750, 1.000));
+engine.addOutputVariable(Power);
RuleBlock ruleBlock = new RuleBlock();
-ruleBlock.setEnabled(true);
ruleBlock.setName("");
+ruleBlock.setDescription("");
+ruleBlock.setEnabled(true);
ruleBlock.setConjunction(null);
ruleBlock.setDisjunction(null);
-ruleBlock.setActivation(new Minimum());
+ruleBlock.setImplication(new Minimum());
+ruleBlock.setActivation(new General());
ruleBlock.addRule(Rule.parse("if Ambient is DARK then Power is HIGH", engine));
ruleBlock.addRule(Rule.parse("if Ambient is MEDIUM then Power is MEDIUM", engine));
ruleBlock.addRule(Rule.parse("if Ambient is BRIGHT then Power is LOW", engine));
diff --git a/examples/mamdani/SimpleDimmer.pdf b/examples/mamdani/SimpleDimmer.pdf
new file mode 100644
index 0000000..82ef82f
--- /dev/null
+++ b/examples/mamdani/SimpleDimmer.pdf
Binary files differ
diff --git a/examples/mamdani/SimpleDimmerChained.R b/examples/mamdani/SimpleDimmerChained.R
new file mode 100644
index 0000000..323aa7d
--- /dev/null
+++ b/examples/mamdani/SimpleDimmerChained.R
@@ -0,0 +1,85 @@
+#Code automatically generated with fuzzylite 6.0.
+
+library(ggplot2);
+
+engine.name = "SimpleDimmerChained"
+engine.fll = "Engine: SimpleDimmerChained
+InputVariable: Ambient
+ enabled: true
+ range: 0.000 1.000
+ lock-range: false
+ term: DARK Triangle 0.000 0.250 0.500
+ term: MEDIUM Triangle 0.250 0.500 0.750
+ term: BRIGHT Triangle 0.500 0.750 1.000
+OutputVariable: Power
+ enabled: true
+ range: 0.000 1.000
+ lock-range: false
+ aggregation: Maximum
+ defuzzifier: Centroid 200
+ default: nan
+ lock-previous: false
+ term: LOW Triangle 0.000 0.250 0.500
+ term: MEDIUM Triangle 0.250 0.500 0.750
+ term: HIGH Triangle 0.500 0.750 1.000
+OutputVariable: InversePower
+ enabled: true
+ range: 0.000 1.000
+ lock-range: false
+ aggregation: Maximum
+ defuzzifier: Centroid 500
+ default: nan
+ lock-previous: false
+ term: LOW Cosine 0.200 0.500
+ term: MEDIUM Cosine 0.500 0.500
+ term: HIGH Cosine 0.800 0.500
+RuleBlock:
+ enabled: true
+ conjunction: none
+ disjunction: none
+ implication: Minimum
+ activation: General
+ rule: if Ambient is DARK then Power is HIGH
+ rule: if Ambient is MEDIUM then Power is MEDIUM
+ rule: if Ambient is BRIGHT then Power is LOW
+ rule: if Power is LOW then InversePower is HIGH
+ rule: if Power is MEDIUM then InversePower is MEDIUM
+ rule: if Power is HIGH then InversePower is LOW"
+
+engine.fldFile = "SimpleDimmerChained.fld"
+if (require(data.table)) {
+ engine.df = data.table::fread(engine.fldFile, sep="auto", header="auto")
+} else {
+ engine.df = read.table(engine.fldFile, header=TRUE)
+}
+
+engine.plot.i1_o1 = ggplot(engine.df, aes(Ambient, Power)) +
+ geom_line(aes(color=Power), size=3, lineend="round", linejoin="mitre") +
+ scale_color_gradient(low="yellow", high="red") +
+ ggtitle("Ambient vs Power")
+
+engine.plot.o1_i1 = ggplot(engine.df, aes(Ambient, Power)) +
+ geom_line(aes(color=Power), size=3, lineend="round", linejoin="mitre") +
+ scale_color_gradient(low="yellow", high="red") +
+ coord_flip() +
+ ggtitle("Power vs Ambient")
+
+engine.plot.i1_o2 = ggplot(engine.df, aes(Ambient, InversePower)) +
+ geom_line(aes(color=InversePower), size=3, lineend="round", linejoin="mitre") +
+ scale_color_gradient(low="yellow", high="red") +
+ ggtitle("Ambient vs InversePower")
+
+engine.plot.o2_i1 = ggplot(engine.df, aes(Ambient, InversePower)) +
+ geom_line(aes(color=InversePower), size=3, lineend="round", linejoin="mitre") +
+ scale_color_gradient(low="yellow", high="red") +
+ coord_flip() +
+ ggtitle("InversePower vs Ambient")
+
+if (require(gridExtra)) {
+ engine.plots = arrangeGrob(engine.plot.i1_o1, engine.plot.o1_i1, engine.plot.i1_o2, engine.plot.o2_i1, ncol=2, top=engine.name)
+ ggsave(paste0(engine.name, ".pdf"), engine.plots)
+ if (require(grid)) {
+ grid.newpage()
+ grid.draw(engine.plots)
+ }
+}
diff --git a/examples/mamdani/SimpleDimmerChained.cpp b/examples/mamdani/SimpleDimmerChained.cpp
new file mode 100644
index 0000000..bc59c8e
--- /dev/null
+++ b/examples/mamdani/SimpleDimmerChained.cpp
@@ -0,0 +1,70 @@
+#include <fl/Headers.h>
+
+int main(int argc, char** argv){
+//Code automatically generated with fuzzylite 6.0.
+
+using namespace fl;
+
+Engine* engine = new Engine;
+engine->setName("SimpleDimmerChained");
+engine->setDescription("");
+
+InputVariable* Ambient = new InputVariable;
+Ambient->setName("Ambient");
+Ambient->setDescription("");
+Ambient->setEnabled(true);
+Ambient->setRange(0.000, 1.000);
+Ambient->setLockValueInRange(false);
+Ambient->addTerm(new Triangle("DARK", 0.000, 0.250, 0.500));
+Ambient->addTerm(new Triangle("MEDIUM", 0.250, 0.500, 0.750));
+Ambient->addTerm(new Triangle("BRIGHT", 0.500, 0.750, 1.000));
+engine->addInputVariable(Ambient);
+
+OutputVariable* Power = new OutputVariable;
+Power->setName("Power");
+Power->setDescription("");
+Power->setEnabled(true);
+Power->setRange(0.000, 1.000);
+Power->setLockValueInRange(false);
+Power->setAggregation(new Maximum);
+Power->setDefuzzifier(new Centroid(200));
+Power->setDefaultValue(fl::nan);
+Power->setLockPreviousValue(false);
+Power->addTerm(new Triangle("LOW", 0.000, 0.250, 0.500));
+Power->addTerm(new Triangle("MEDIUM", 0.250, 0.500, 0.750));
+Power->addTerm(new Triangle("HIGH", 0.500, 0.750, 1.000));
+engine->addOutputVariable(Power);
+
+OutputVariable* InversePower = new OutputVariable;
+InversePower->setName("InversePower");
+InversePower->setDescription("");
+InversePower->setEnabled(true);
+InversePower->setRange(0.000, 1.000);
+InversePower->setLockValueInRange(false);
+InversePower->setAggregation(new Maximum);
+InversePower->setDefuzzifier(new Centroid(500));
+InversePower->setDefaultValue(fl::nan);
+InversePower->setLockPreviousValue(false);
+InversePower->addTerm(new Cosine("LOW", 0.200, 0.500));
+InversePower->addTerm(new Cosine("MEDIUM", 0.500, 0.500));
+InversePower->addTerm(new Cosine("HIGH", 0.800, 0.500));
+engine->addOutputVariable(InversePower);
+
+RuleBlock* ruleBlock = new RuleBlock;
+ruleBlock->setName("");
+ruleBlock->setDescription("");
+ruleBlock->setEnabled(true);
+ruleBlock->setConjunction(fl::null);
+ruleBlock->setDisjunction(fl::null);
+ruleBlock->setImplication(new Minimum);
+ruleBlock->setActivation(new General);
+ruleBlock->addRule(Rule::parse("if Ambient is DARK then Power is HIGH", engine));
+ruleBlock->addRule(Rule::parse("if Ambient is MEDIUM then Power is MEDIUM", engine));
+ruleBlock->addRule(Rule::parse("if Ambient is BRIGHT then Power is LOW", engine));
+ruleBlock->addRule(Rule::parse("if Power is LOW then InversePower is HIGH", engine));
+ruleBlock->addRule(Rule::parse("if Power is MEDIUM then InversePower is MEDIUM", engine));
+ruleBlock->addRule(Rule::parse("if Power is HIGH then InversePower is LOW", engine));
+engine->addRuleBlock(ruleBlock);
+
+
+}
diff --git a/examples/mamdani/SimpleDimmerChained.fcl b/examples/mamdani/SimpleDimmerChained.fcl
new file mode 100644
index 0000000..29bb4ea
--- /dev/null
+++ b/examples/mamdani/SimpleDimmerChained.fcl
@@ -0,0 +1,51 @@
+//Code automatically generated with fuzzylite 6.0.
+
+FUNCTION_BLOCK SimpleDimmerChained
+
+VAR_INPUT
+ Ambient: REAL;
+END_VAR
+
+VAR_OUTPUT
+ Power: REAL;
+ InversePower: REAL;
+END_VAR
+
+FUZZIFY Ambient
+ RANGE := (0.000 .. 1.000);
+ TERM DARK := Triangle 0.000 0.250 0.500;
+ TERM MEDIUM := Triangle 0.250 0.500 0.750;
+ TERM BRIGHT := Triangle 0.500 0.750 1.000;
+END_FUZZIFY
+
+DEFUZZIFY Power
+ RANGE := (0.000 .. 1.000);
+ TERM LOW := Triangle 0.000 0.250 0.500;
+ TERM MEDIUM := Triangle 0.250 0.500 0.750;
+ TERM HIGH := Triangle 0.500 0.750 1.000;
+ METHOD : COG;
+ ACCU : MAX;
+ DEFAULT := nan;
+END_DEFUZZIFY
+
+DEFUZZIFY InversePower
+ RANGE := (0.000 .. 1.000);
+ TERM LOW := Cosine 0.200 0.500;
+ TERM MEDIUM := Cosine 0.500 0.500;
+ TERM HIGH := Cosine 0.800 0.500;
+ METHOD : COG;
+ ACCU : MAX;
+ DEFAULT := nan;
+END_DEFUZZIFY
+
+RULEBLOCK
+ ACT : MIN;
+ RULE 1 : if Ambient is DARK then Power is HIGH
+ RULE 2 : if Ambient is MEDIUM then Power is MEDIUM
+ RULE 3 : if Ambient is BRIGHT then Power is LOW
+ RULE 4 : if Power is LOW then InversePower is HIGH
+ RULE 5 : if Power is MEDIUM then InversePower is MEDIUM
+ RULE 6 : if Power is HIGH then InversePower is LOW
+END_RULEBLOCK
+
+END_FUNCTION_BLOCK
diff --git a/examples/mamdani/SimpleDimmerChained.fis b/examples/mamdani/SimpleDimmerChained.fis
new file mode 100644
index 0000000..c2fc642
--- /dev/null
+++ b/examples/mamdani/SimpleDimmerChained.fis
@@ -0,0 +1,46 @@
+#Code automatically generated with fuzzylite 6.0.
+
+[System]
+Name='SimpleDimmerChained'
+Type='mamdani'
+Version=6.0
+NumInputs=1
+NumOutputs=2
+NumRules=6
+AndMethod='min'
+OrMethod='max'
+ImpMethod='min'
+AggMethod='max'
+DefuzzMethod='centroid'
+
+[Input1]
+Name='Ambient'
+Range=[0.000 1.000]
+NumMFs=3
+MF1='DARK':'trimf',[0.000 0.250 0.500]
+MF2='MEDIUM':'trimf',[0.250 0.500 0.750]
+MF3='BRIGHT':'trimf',[0.500 0.750 1.000]
+
+[Output1]
+Name='Power'
+Range=[0.000 1.000]
+NumMFs=3
+MF1='LOW':'trimf',[0.000 0.250 0.500]
+MF2='MEDIUM':'trimf',[0.250 0.500 0.750]
+MF3='HIGH':'trimf',[0.500 0.750 1.000]
+
+[Output2]
+Name='InversePower'
+Range=[0.000 1.000]
+NumMFs=3
+MF1='LOW':'cosinemf',[0.200 0.500]
+MF2='MEDIUM':'cosinemf',[0.500 0.500]
+MF3='HIGH':'cosinemf',[0.800 0.500]
+
+[Rules]
+1.000 , 3.000 0.000 (1.000) : 1
+2.000 , 2.000 0.000 (1.000) : 1
+3.000 , 1.000 0.000 (1.000) : 1
+0.000 , 0.000 3.000 (1.000) : 1
+0.000 , 0.000 2.000 (1.000) : 1
+0.000 , 0.000 1.000 (1.000) : 1
diff --git a/examples/mamdani/SimpleDimmerChained.fld b/examples/mamdani/SimpleDimmerChained.fld
new file mode 100644
index 0000000..843c017
--- /dev/null
+++ b/examples/mamdani/SimpleDimmerChained.fld
@@ -0,0 +1,1025 @@
+Ambient Power InversePower
+0.000000000 nan nan
+0.000977517 0.750000000 0.221671502
+0.001955034 0.750000000 0.220306607
+0.002932551 0.750000000 0.219272108
+0.003910068 0.750000000 0.218372593
+0.004887586 0.750000000 0.217595038
+0.005865103 0.750000000 0.216891736
+0.006842620 0.750000000 0.216242049
+0.007820137 0.750000000 0.215635499
+0.008797654 0.750000000 0.215066121
+0.009775171 0.750000000 0.214530188
+0.010752688 0.750000000 0.214025192
+0.011730205 0.750000000 0.213535928
+0.012707722 0.750000000 0.213059653
+0.013685239 0.750000000 0.212609497
+0.014662757 0.750000000 0.212181500
+0.015640274 0.750000000 0.211749797
+0.016617791 0.750000000 0.211342499
+0.017595308 0.750000000 0.210947791
+0.018572825 0.750000000 0.210554977
+0.019550342 0.750000000 0.210185583
+0.020527859 0.750000000 0.209810047
+0.021505376 0.750000000 0.209453273
+0.022482893 0.750000000 0.209099710
+0.023460411 0.750000000 0.208754784
+0.024437928 0.750000000 0.208418460
+0.025415445 0.750000000 0.208108896
+0.026392962 0.750000000 0.207822337
+0.027370479 0.750000000 0.207557090
+0.028347996 0.750000000 0.207310043
+0.029325513 0.750000000 0.207080132
+0.030303030 0.750000000 0.206864987
+0.031280547 0.750000000 0.206663695
+0.032258065 0.750000000 0.206474685
+0.033235582 0.750000000 0.206296887
+0.034213099 0.750000000 0.206129563
+0.035190616 0.750000000 0.205971282
+0.036168133 0.750000000 0.205822154
+0.037145650 0.750000000 0.205680293
+0.038123167 0.750000000 0.205546551
+0.039100684 0.750000000 0.205418994
+0.040078201 0.750000000 0.205298019
+0.041055718 0.750000000 0.205182743
+0.042033236 0.750000000 0.205072718
+0.043010753 0.750000000 0.204968065
+0.043988270 0.750000000 0.204867643
+0.044965787 0.750000000 0.204772102
+0.045943304 0.750000000 0.204680372
+0.046920821 0.750000000 0.204592478
+0.047898338 0.750000000 0.204508389
+0.048875855 0.750000000 0.204427324
+0.049853372 0.750000000 0.204349869
+0.050830890 0.750000000 0.204275190
+0.051808407 0.750000000 0.204203265
+0.052785924 0.750000000 0.204134275
+0.053763441 0.750000000 0.204067513
+0.054740958 0.750000000 0.204003359
+0.055718475 0.750000000 0.203941436
+0.056695992 0.750000000 0.203881398
+0.057673509 0.750000000 0.203823826
+0.058651026 0.750000000 0.203767941
+0.059628543 0.750000000 0.203713842
+0.060606061 0.750000000 0.203661714
+0.061583578 0.750000000 0.203611030
+0.062561095 0.750000000 0.203562034
+0.063538612 0.750000000 0.203514617
+0.064516129 0.750000000 0.203468446
+0.065493646 0.750000000 0.203423862
+0.066471163 0.750000000 0.203380551
+0.067448680 0.750000000 0.203338322
+0.068426197 0.750000000 0.203297578
+0.069403715 0.750000000 0.203257869
+0.070381232 0.750000000 0.203219115
+0.071358749 0.750000000 0.203181723
+0.072336266 0.750000000 0.203145191
+0.073313783 0.750000000 0.203109538
+0.074291300 0.750000000 0.203075066
+0.075268817 0.750000000 0.203041351
+0.076246334 0.750000000 0.203008438
+0.077223851 0.750000000 0.202976564
+0.078201369 0.750000000 0.202945359
+0.079178886 0.750000000 0.202914878
+0.080156403 0.750000000 0.202885326
+0.081133920 0.750000000 0.202856368
+0.082111437 0.750000000 0.202828056
+0.083088954 0.750000000 0.202800588
+0.084066471 0.750000000 0.202773648
+0.085043988 0.750000000 0.202747278
+0.086021505 0.750000000 0.202721688
+0.086999022 0.750000000 0.202696569
+0.087976540 0.750000000 0.202671946
+0.088954057 0.750000000 0.202648053
+0.089931574 0.750000000 0.202624584
+0.090909091 0.750000000 0.202601536
+0.091886608 0.750000000 0.202579184
+0.092864125 0.750000000 0.202557213
+0.093841642 0.750000000 0.202535613
+0.094819159 0.750000000 0.202514642
+0.095796676 0.750000000 0.202494036
+0.096774194 0.750000000 0.202473765
+0.097751711 0.750000000 0.202454042
+0.098729228 0.750000000 0.202434684
+0.099706745 0.750000000 0.202415629
+0.100684262 0.750000000 0.202397043
+0.101661779 0.750000000 0.202378829
+0.102639296 0.750000000 0.202360889
+0.103616813 0.750000000 0.202343345
+0.104594330 0.750000000 0.202326181
+0.105571848 0.750000000 0.202309267
+0.106549365 0.750000000 0.202292677
+0.107526882 0.750000000 0.202276482
+0.108504399 0.750000000 0.202260514
+0.109481916 0.750000000 0.202244803
+0.110459433 0.750000000 0.202229501
+0.111436950 0.750000000 0.202214406
+0.112414467 0.750000000 0.202199515
+0.113391984 0.750000000 0.202185031
+0.114369501 0.750000000 0.202170746
+0.115347019 0.750000000 0.202156646
+0.116324536 0.750000000 0.202142887
+0.117302053 0.750000000 0.202129352
+0.118279570 0.750000000 0.202115988
+0.119257087 0.750000000 0.202102901
+0.120234604 0.750000000 0.202090065
+0.121212121 0.750000000 0.202077384
+0.122189638 0.750000000 0.202064922
+0.123167155 0.750000000 0.202052737
+0.124144673 0.750000000 0.202040694
+0.125122190 0.750000000 0.202028815
+0.126099707 0.750000000 0.202017236
+0.127077224 0.750000000 0.202005788
+0.128054741 0.750000000 0.201994470
+0.129032258 0.750000000 0.201983442
+0.130009775 0.750000000 0.201972551
+0.130987292 0.750000000 0.201961779
+0.131964809 0.750000000 0.201951246
+0.132942326 0.750000000 0.201940877
+0.133919844 0.750000000 0.201930618
+0.134897361 0.750000000 0.201920549
+0.135874878 0.750000000 0.201910669
+0.136852395 0.750000000 0.201900891
+0.137829912 0.750000000 0.201891259
+0.138807429 0.750000000 0.201881839
+0.139784946 0.750000000 0.201872513
+0.140762463 0.750000000 0.201863294
+0.141739980 0.750000000 0.201854307
+0.142717498 0.750000000 0.201845406
+0.143695015 0.750000000 0.201836590
+0.144672532 0.750000000 0.201827998
+0.145650049 0.750000000 0.201819498
+0.146627566 0.750000000 0.201811078
+0.147605083 0.750000000 0.201802845
+0.148582600 0.750000000 0.201794724
+0.149560117 0.750000000 0.201786676
+0.150537634 0.750000000 0.201778785
+0.151515152 0.750000000 0.201771022
+0.152492669 0.750000000 0.201763326
+0.153470186 0.750000000 0.201755760
+0.154447703 0.750000000 0.201748336
+0.155425220 0.750000000 0.201740974
+0.156402737 0.750000000 0.201733719
+0.157380254 0.750000000 0.201726616
+0.158357771 0.750000000 0.201719570
+0.159335288 0.750000000 0.201712612
+0.160312805 0.750000000 0.201705813
+0.161290323 0.750000000 0.201699068
+0.162267840 0.750000000 0.201692394
+0.163245357 0.750000000 0.201685884
+0.164222874 0.750000000 0.201679424
+0.165200391 0.750000000 0.201673024
+0.166177908 0.750000000 0.201666789
+0.167155425 0.750000000 0.201660600
+0.168132942 0.750000000 0.201654463
+0.169110459 0.750000000 0.201648489
+0.170087977 0.750000000 0.201642558
+0.171065494 0.750000000 0.201636676
+0.172043011 0.750000000 0.201630951
+0.173020528 0.750000000 0.201625266
+0.173998045 0.750000000 0.201619630
+0.174975562 0.750000000 0.201614142
+0.175953079 0.750000000 0.201608691
+0.176930596 0.750000000 0.201603293
+0.177908113 0.750000000 0.201598032
+0.178885630 0.750000000 0.201592805
+0.179863148 0.750000000 0.201587638
+0.180840665 0.750000000 0.201582594
+0.181818182 0.750000000 0.201577581
+0.182795699 0.750000000 0.201572640
+0.183773216 0.750000000 0.201567801
+0.184750733 0.750000000 0.201562993
+0.185728250 0.750000000 0.201558272
+0.186705767 0.750000000 0.201553632
+0.187683284 0.750000000 0.201549019
+0.188660802 0.750000000 0.201544513
+0.189638319 0.750000000 0.201540063
+0.190615836 0.750000000 0.201535638
+0.191593353 0.750000000 0.201531342
+0.192570870 0.750000000 0.201527074
+0.193548387 0.750000000 0.201522856
+0.194525904 0.750000000 0.201518740
+0.195503421 0.750000000 0.201514646
+0.196480938 0.750000000 0.201510635
+0.197458456 0.750000000 0.201506688
+0.198435973 0.750000000 0.201502762
+0.199413490 0.750000000 0.201498955
+0.200391007 0.750000000 0.201495170
+0.201368524 0.750000000 0.201491445
+0.202346041 0.750000000 0.201487799
+0.203323558 0.750000000 0.201484172
+0.204301075 0.750000000 0.201480648
+0.205278592 0.750000000 0.201477155
+0.206256109 0.750000000 0.201473716
+0.207233627 0.750000000 0.201470354
+0.208211144 0.750000000 0.201467007
+0.209188661 0.750000000 0.201463769
+0.210166178 0.750000000 0.201460550
+0.211143695 0.750000000 0.201457402
+0.212121212 0.750000000 0.201454307
+0.213098729 0.750000000 0.201451251
+0.214076246 0.750000000 0.201448278
+0.215053763 0.750000000 0.201445318
+0.216031281 0.750000000 0.201442464
+0.217008798 0.750000000 0.201439621
+0.217986315 0.750000000 0.201436866
+0.218963832 0.750000000 0.201434139
+0.219941349 0.750000000 0.201431486
+0.220918866 0.750000000 0.201428872
+0.221896383 0.750000000 0.201426324
+0.222873900 0.750000000 0.201423821
+0.223851417 0.750000000 0.201421381
+0.224828935 0.750000000 0.201418988
+0.225806452 0.750000000 0.201416661
+0.226783969 0.750000000 0.201414375
+0.227761486 0.750000000 0.201412163
+0.228739003 0.750000000 0.201409982
+0.229716520 0.750000000 0.201407891
+0.230694037 0.750000000 0.201405828
+0.231671554 0.750000000 0.201403846
+0.232649071 0.750000000 0.201401913
+0.233626588 0.750000000 0.201400032
+0.234604106 0.750000000 0.201398232
+0.235581623 0.750000000 0.201396477
+0.236559140 0.750000000 0.201394788
+0.237536657 0.750000000 0.201393176
+0.238514174 0.750000000 0.201391621
+0.239491691 0.750000000 0.201390128
+0.240469208 0.750000000 0.201388719
+0.241446725 0.750000000 0.201387385
+0.242424242 0.750000000 0.201386125
+0.243401760 0.750000000 0.201384946
+0.244379277 0.750000000 0.201383854
+0.245356794 0.750000000 0.201382854
+0.246334311 0.750000000 0.201381954
+0.247311828 0.750000000 0.201381173
+0.248289345 0.750000000 0.201380522
+0.249266862 0.750000000 0.201380043
+0.250244379 0.749633789 0.201846207
+0.251221896 0.748176070 0.203676892
+0.252199413 0.746729651 0.205470420
+0.253176931 0.745307268 0.207232921
+0.254154448 0.743901152 0.208969603
+0.255131965 0.742505384 0.210681995
+0.256109482 0.741119851 0.212371422
+0.257086999 0.739744439 0.214039141
+0.258064516 0.738388970 0.215686343
+0.259042033 0.737050250 0.217314161
+0.260019550 0.735720805 0.218923667
+0.260997067 0.734400539 0.220515879
+0.261974585 0.733089356 0.222091759
+0.262952102 0.731794526 0.223649762
+0.263929619 0.730516794 0.225192151
+0.264907136 0.729247388 0.226720383
+0.265884653 0.727986227 0.228232727
+0.266862170 0.726733231 0.229730635
+0.267839687 0.725493442 0.231216292
+0.268817204 0.724270974 0.232685872
+0.269794721 0.723055990 0.234144013
+0.270772239 0.721848423 0.235588818
+0.271749756 0.720648204 0.237021028
+0.272727273 0.719458438 0.238442032
+0.273704790 0.718286101 0.239849792
+0.274682307 0.717120499 0.241247924
+0.275659824 0.715961575 0.242632618
+0.276637341 0.714809270 0.244008759
+0.277614858 0.713665012 0.245371680
+0.278592375 0.712538184 0.246726670
+0.279569892 0.711417421 0.248069026
+0.280547410 0.710302674 0.249403669
+0.281524927 0.709193894 0.250726587
+0.282502444 0.708091063 0.252041647
+0.283479961 0.707005566 0.253346179
+0.284457478 0.705925531 0.254642389
+0.285434995 0.704850918 0.255929518
+0.286412512 0.703781686 0.257207578
+0.287390029 0.702717795 0.258478219
+0.288367546 0.701668621 0.259738800
+0.289345064 0.700625580 0.260993370
+0.290322581 0.699587425 0.262237549
+0.291300098 0.698554121 0.263475527
+0.292277615 0.697525635 0.264705239
+0.293255132 0.696509490 0.265927232
+0.294232649 0.695500037 0.267143201
+0.295210166 0.694494984 0.268349791
+0.296187683 0.693494303 0.269551115
+0.297165200 0.692497965 0.270744440
+0.298142717 0.691511860 0.271931138
+0.299120235 0.690532874 0.273112342
+0.300097752 0.689557847 0.274284946
+0.301075269 0.688586755 0.275452739
+0.302052786 0.687619575 0.276613621
+0.303030303 0.686660765 0.277768031
+0.304007820 0.685709376 0.278917856
+0.304985337 0.684761545 0.280059697
+0.305962854 0.683817249 0.281196818
+0.306940371 0.682876470 0.282328684
+0.307917889 0.681942420 0.283453563
+0.308895406 0.681015980 0.284574256
+0.309872923 0.680092726 0.285688972
+0.310850440 0.679172643 0.286798049
+0.311827957 0.678255714 0.287903138
+0.312805474 0.677344077 0.289001763
+0.313782991 0.676440126 0.290095833
+0.314760508 0.675539023 0.291186105
+0.315738025 0.674640752 0.292269631
+0.316715543 0.673745302 0.293349456
+0.317693060 0.672853893 0.294425247
+0.318670577 0.671970143 0.295495017
+0.319648094 0.671088924 0.296561328
+0.320625611 0.670210227 0.297623455
+0.321603128 0.669334041 0.298680243
+0.322580645 0.668460818 0.299733738
+0.323558162 0.667595126 0.300783030
+0.324535679 0.666731672 0.301827515
+0.325513196 0.665870450 0.302868868
+0.326490714 0.665011449 0.303906100
+0.327468231 0.664154662 0.304938935
+0.328445748 0.663304848 0.305968793
+0.329423265 0.662457164 0.306994695
+0.330400782 0.661611439 0.308016510
+0.331378299 0.660767667 0.309035496
+0.332355816 0.659925840 0.310050754
+0.333333333 0.659089669 0.311062154
+0.334310850 0.658255868 0.312070870
+0.335288368 0.657423770 0.313076130
+0.336265885 0.656593371 0.314077703
+0.337243402 0.655764665 0.315076729
+0.338220919 0.654940458 0.316071981
+0.339198436 0.654118746 0.317062640
+0.340175953 0.653298497 0.318050990
+0.341153470 0.652479705 0.319036167
+0.342130987 0.651662368 0.320016921
+0.343108504 0.650848521 0.320995595
+0.344086022 0.650037186 0.321971698
+0.345063539 0.649227083 0.322943523
+0.346041056 0.648418210 0.323913488
+0.347018573 0.647610563 0.324881463
+0.347996090 0.646805538 0.325845303
+0.348973607 0.646002934 0.326807497
+0.349951124 0.645201343 0.327768050
+0.350928641 0.644400763 0.328725018
+0.351906158 0.643601190 0.329680354
+0.352883675 0.642803505 0.330634256
+0.353861193 0.642008044 0.331585332
+0.354838710 0.641213384 0.332534700
+0.355816227 0.640419523 0.333482835
+0.356793744 0.639626459 0.334428830
+0.357771261 0.638834675 0.335373101
+0.358748778 0.638044814 0.336316337
+0.359726295 0.637255548 0.337258027
+0.360703812 0.636466876 0.338198057
+0.361681329 0.635678797 0.339137245
+0.362658847 0.634891512 0.340075384
+0.363636364 0.634105743 0.341012014
+0.364613881 0.633320368 0.341947992
+0.365591398 0.632535386 0.342883313
+0.366568915 0.631750798 0.343817374
+0.367546432 0.630966638 0.344750971
+0.368523949 0.630183479 0.345684104
+0.369501466 0.629400516 0.346616504
+0.370478983 0.628617749 0.347548540
+0.371456500 0.627835178 0.348480299
+0.372434018 0.627052803 0.349411745
+0.373411535 0.626270772 0.350343037
+0.374389052 0.625488759 0.351274237
+0.375366569 0.624706745 0.352205426
+0.376344086 0.623924731 0.353136787
+0.377321603 0.623142717 0.354068240
+0.378299120 0.622360434 0.354999866
+0.379276637 0.621577912 0.355932108
+0.380254154 0.620795194 0.356864629
+0.381231672 0.620012280 0.357797428
+0.382209189 0.619229171 0.358731329
+0.383186706 0.618445288 0.359665733
+0.384164223 0.617660798 0.360600602
+0.385141740 0.616875914 0.361536789
+0.386119257 0.616090638 0.362473899
+0.387096774 0.615304967 0.363411663
+0.388074291 0.614518130 0.364350853
+0.389051808 0.613730200 0.365291500
+0.390029326 0.612941676 0.366232990
+0.391006843 0.612152558 0.367175921
+0.391984360 0.611362846 0.368120944
+0.392961877 0.610571682 0.369067005
+0.393939394 0.609778818 0.370014435
+0.394916911 0.608985156 0.370964689
+0.395894428 0.608190696 0.371916178
+0.396871945 0.607395436 0.372868906
+0.397849462 0.606598545 0.373825246
+0.398826979 0.605799225 0.374783038
+0.399804497 0.604998896 0.375742272
+0.400782014 0.604197558 0.376705194
+0.401759531 0.603395208 0.377670184
+0.402737048 0.602591157 0.378636823
+0.403714565 0.601783817 0.379607193
+0.404692082 0.600975251 0.380580296
+0.405669599 0.600165455 0.381555265
+0.406647116 0.599354429 0.382533989
+0.407624633 0.598541740 0.383516150
+0.408602151 0.597724765 0.384500397
+0.409579668 0.596906338 0.385488433
+0.410557185 0.596086453 0.386480623
+0.411534702 0.595265107 0.387475131
+0.412512219 0.594442248 0.388473492
+0.413489736 0.593613964 0.389476718
+0.414467253 0.592783988 0.390482499
+0.415444770 0.591952316 0.391491555
+0.416422287 0.591118941 0.392504668
+0.417399804 0.590283858 0.393520477
+0.418377322 0.589442972 0.394539685
+0.419354839 0.588599687 0.395563270
+0.420332356 0.587754450 0.396589695
+0.421309873 0.586907257 0.397619709
+0.422287390 0.586058099 0.398654373
+0.423264907 0.585202955 0.399692025
+0.424242424 0.584344508 0.400733540
+0.425219941 0.583483842 0.401779909
+0.426197458 0.582620947 0.402829422
+0.427174976 0.581755815 0.403883177
+0.428152493 0.580884615 0.404941902
+0.429130010 0.580009054 0.406003935
+0.430107527 0.579130986 0.407070716
+0.431085044 0.578250399 0.408142475
+0.432062561 0.577367283 0.409217712
+0.433040078 0.576478121 0.410298357
+0.434017595 0.575583374 0.411383856
+0.434995112 0.574685810 0.412473008
+0.435972630 0.573785416 0.413568413
+0.436950147 0.572882178 0.414668387
+0.437927664 0.571973027 0.415772198
+0.438905181 0.571056884 0.416883317
+0.439882698 0.570137591 0.417998533
+0.440860215 0.569215132 0.419118581
+0.441837732 0.568289490 0.420245634
+0.442815249 0.567358177 0.421376894
+0.443792766 0.566418275 0.422514343
+0.444770283 0.565474860 0.423658069
+0.445747801 0.564527914 0.424806212
+0.446725318 0.563577417 0.425962211
+0.447702835 0.562621612 0.427123480
+0.448680352 0.561655405 0.428290282
+0.449657869 0.560685294 0.429465166
+0.450635386 0.559711253 0.430644890
+0.451612903 0.558733259 0.431832308
+0.452590420 0.557750445 0.433026364
+0.453567937 0.556755188 0.434226000
+0.454545455 0.555755595 0.435434924
+0.455522972 0.554751638 0.436649146
+0.456500489 0.553743287 0.437871753
+0.457478006 0.552730515 0.439101626
+0.458455523 0.551703450 0.440338101
+0.459433040 0.550671354 0.441584214
+0.460410557 0.549634415 0.442836126
+0.461388074 0.548592599 0.444098260
+0.462365591 0.547545872 0.445367270
+0.463343109 0.546484786 0.446645195
+0.464320626 0.545416893 0.447931951
+0.465298143 0.544343629 0.449226535
+0.466275660 0.543264953 0.450531713
+0.467253177 0.542180826 0.451843888
+0.468230694 0.541082374 0.453168194
+0.469208211 0.539975079 0.454499403
+0.470185728 0.538861828 0.455843131
+0.471163245 0.537742573 0.457194500
+0.472140762 0.536617267 0.458558366
+0.473118280 0.535477779 0.459930679
+0.474095797 0.534327120 0.461315854
+0.475073314 0.533169855 0.462709935
+0.476050831 0.532005928 0.464117671
+0.477028348 0.530835281 0.465534381
+0.478005865 0.529650711 0.466952620
+0.478983382 0.528452318 0.468377996
+0.479960899 0.527246594 0.469806093
+0.480938416 0.526033471 0.471239943
+0.481915934 0.524812880 0.472678374
+0.482893451 0.523578752 0.474120606
+0.483870968 0.522327784 0.475569070
+0.484848485 0.521068672 0.477020289
+0.485826002 0.519801335 0.478476759
+0.486803519 0.518525692 0.479938796
+0.487781036 0.517237031 0.481403707
+0.488758553 0.515928105 0.482873363
+0.489736070 0.514610118 0.484347894
+0.490713587 0.513282977 0.485826893
+0.491691105 0.511946585 0.487309221
+0.492668622 0.510597845 0.488795133
+0.493646139 0.509224947 0.490284775
+0.494623656 0.507841954 0.491777716
+0.495601173 0.506448755 0.493273513
+0.496578690 0.505045237 0.494770784
+0.497556207 0.503630203 0.496268873
+0.498533724 0.502186589 0.497766318
+0.499511241 0.500731707 0.499259366
+0.500488759 0.499268293 0.500740634
+0.501466276 0.497813411 0.502233682
+0.502443793 0.496369797 0.503731127
+0.503421310 0.494954763 0.505229216
+0.504398827 0.493551245 0.506726487
+0.505376344 0.492158046 0.508222284
+0.506353861 0.490775053 0.509715225
+0.507331378 0.489402155 0.511204867
+0.508308895 0.488053415 0.512690779
+0.509286413 0.486717023 0.514173107
+0.510263930 0.485389882 0.515652106
+0.511241447 0.484071895 0.517126637
+0.512218964 0.482762969 0.518596293
+0.513196481 0.481474308 0.520061204
+0.514173998 0.480198665 0.521523241
+0.515151515 0.478931328 0.522979711
+0.516129032 0.477672216 0.524430930
+0.517106549 0.476421248 0.525879394
+0.518084066 0.475187120 0.527321626
+0.519061584 0.473966529 0.528760057
+0.520039101 0.472753406 0.530193907
+0.521016618 0.471547682 0.531622004
+0.521994135 0.470349289 0.533047380
+0.522971652 0.469164719 0.534465619
+0.523949169 0.467994072 0.535882329
+0.524926686 0.466830145 0.537290065
+0.525904203 0.465672880 0.538684146
+0.526881720 0.464522221 0.540069321
+0.527859238 0.463382733 0.541441634
+0.528836755 0.462257427 0.542805500
+0.529814272 0.461138172 0.544156869
+0.530791789 0.460024921 0.545500597
+0.531769306 0.458917626 0.546831806
+0.532746823 0.457819174 0.548156112
+0.533724340 0.456735047 0.549468287
+0.534701857 0.455656371 0.550773465
+0.535679374 0.454583107 0.552068049
+0.536656891 0.453515214 0.553354805
+0.537634409 0.452454128 0.554632730
+0.538611926 0.451407401 0.555901740
+0.539589443 0.450365585 0.557163874
+0.540566960 0.449328646 0.558415786
+0.541544477 0.448296550 0.559661899
+0.542521994 0.447269485 0.560898374
+0.543499511 0.446256713 0.562128247
+0.544477028 0.445248362 0.563350854
+0.545454545 0.444244405 0.564565076
+0.546432063 0.443244812 0.565774000
+0.547409580 0.442249555 0.566973636
+0.548387097 0.441266741 0.568167692
+0.549364614 0.440288747 0.569355110
+0.550342131 0.439314706 0.570534834
+0.551319648 0.438344595 0.571709718
+0.552297165 0.437378388 0.572876520
+0.553274682 0.436422583 0.574037789
+0.554252199 0.435472086 0.575193788
+0.555229717 0.434525140 0.576341931
+0.556207234 0.433581725 0.577485657
+0.557184751 0.432641823 0.578623106
+0.558162268 0.431710510 0.579754366
+0.559139785 0.430784868 0.580881419
+0.560117302 0.429862409 0.582001467
+0.561094819 0.428943116 0.583116683
+0.562072336 0.428026973 0.584227802
+0.563049853 0.427117822 0.585331613
+0.564027370 0.426214584 0.586431587
+0.565004888 0.425314190 0.587526992
+0.565982405 0.424416626 0.588616144
+0.566959922 0.423521879 0.589701643
+0.567937439 0.422632717 0.590782288
+0.568914956 0.421749601 0.591857525
+0.569892473 0.420869014 0.592929284
+0.570869990 0.419990946 0.593996065
+0.571847507 0.419115385 0.595058098
+0.572825024 0.418244185 0.596116823
+0.573802542 0.417379053 0.597170578
+0.574780059 0.416516158 0.598220091
+0.575757576 0.415655492 0.599266460
+0.576735093 0.414797045 0.600307975
+0.577712610 0.413941901 0.601345627
+0.578690127 0.413092743 0.602380291
+0.579667644 0.412245550 0.603410305
+0.580645161 0.411400313 0.604436730
+0.581622678 0.410557028 0.605460315
+0.582600196 0.409716142 0.606479523
+0.583577713 0.408881059 0.607495332
+0.584555230 0.408047684 0.608508445
+0.585532747 0.407216012 0.609517501
+0.586510264 0.406386036 0.610523282
+0.587487781 0.405557752 0.611526508
+0.588465298 0.404734893 0.612524869
+0.589442815 0.403913547 0.613519377
+0.590420332 0.403093662 0.614511567
+0.591397849 0.402275235 0.615499603
+0.592375367 0.401458260 0.616483850
+0.593352884 0.400645571 0.617466011
+0.594330401 0.399834545 0.618444735
+0.595307918 0.399024749 0.619419704
+0.596285435 0.398216183 0.620392807
+0.597262952 0.397408843 0.621363177
+0.598240469 0.396604792 0.622329816
+0.599217986 0.395802442 0.623294806
+0.600195503 0.395001104 0.624257728
+0.601173021 0.394200775 0.625216962
+0.602150538 0.393401455 0.626174754
+0.603128055 0.392604564 0.627131094
+0.604105572 0.391809304 0.628083822
+0.605083089 0.391014844 0.629035311
+0.606060606 0.390221182 0.629985565
+0.607038123 0.389428318 0.630932995
+0.608015640 0.388637154 0.631879056
+0.608993157 0.387847442 0.632824079
+0.609970674 0.387058324 0.633767010
+0.610948192 0.386269800 0.634708500
+0.611925709 0.385481870 0.635649147
+0.612903226 0.384695033 0.636588337
+0.613880743 0.383909362 0.637526101
+0.614858260 0.383124086 0.638463211
+0.615835777 0.382339202 0.639399398
+0.616813294 0.381554712 0.640334267
+0.617790811 0.380770829 0.641268671
+0.618768328 0.379987720 0.642202572
+0.619745846 0.379204806 0.643135371
+0.620723363 0.378422088 0.644067892
+0.621700880 0.377639566 0.645000134
+0.622678397 0.376857283 0.645931760
+0.623655914 0.376075269 0.646863213
+0.624633431 0.375293255 0.647794574
+0.625610948 0.374511241 0.648725763
+0.626588465 0.373729228 0.649656963
+0.627565982 0.372947197 0.650588255
+0.628543500 0.372164822 0.651519701
+0.629521017 0.371382251 0.652451460
+0.630498534 0.370599484 0.653383496
+0.631476051 0.369816521 0.654315896
+0.632453568 0.369033362 0.655249029
+0.633431085 0.368249202 0.656182626
+0.634408602 0.367464614 0.657116687
+0.635386119 0.366679632 0.658052008
+0.636363636 0.365894257 0.658987986
+0.637341153 0.365108488 0.659924616
+0.638318671 0.364321203 0.660862755
+0.639296188 0.363533124 0.661801943
+0.640273705 0.362744452 0.662741973
+0.641251222 0.361955186 0.663683663
+0.642228739 0.361165325 0.664626899
+0.643206256 0.360373541 0.665571170
+0.644183773 0.359580477 0.666517165
+0.645161290 0.358786616 0.667465300
+0.646138807 0.357991956 0.668414668
+0.647116325 0.357196495 0.669365744
+0.648093842 0.356398810 0.670319646
+0.649071359 0.355599237 0.671274982
+0.650048876 0.354798657 0.672231950
+0.651026393 0.353997066 0.673192503
+0.652003910 0.353194462 0.674154697
+0.652981427 0.352389437 0.675118537
+0.653958944 0.351581790 0.676086512
+0.654936461 0.350772917 0.677056477
+0.655913978 0.349962814 0.678028302
+0.656891496 0.349151479 0.679004405
+0.657869013 0.348337632 0.679983079
+0.658846530 0.347520295 0.680963833
+0.659824047 0.346701503 0.681949010
+0.660801564 0.345881254 0.682937360
+0.661779081 0.345059542 0.683928019
+0.662756598 0.344235335 0.684923271
+0.663734115 0.343406629 0.685922297
+0.664711632 0.342576230 0.686923870
+0.665689150 0.341744132 0.687929130
+0.666666667 0.340910331 0.688937846
+0.667644184 0.340074160 0.689949246
+0.668621701 0.339232333 0.690964504
+0.669599218 0.338388561 0.691983490
+0.670576735 0.337542836 0.693005305
+0.671554252 0.336695152 0.694031207
+0.672531769 0.335845338 0.695061065
+0.673509286 0.334988551 0.696093900
+0.674486804 0.334129550 0.697131132
+0.675464321 0.333268328 0.698172485
+0.676441838 0.332404874 0.699216970
+0.677419355 0.331539182 0.700266262
+0.678396872 0.330665959 0.701319757
+0.679374389 0.329789773 0.702376545
+0.680351906 0.328911076 0.703438672
+0.681329423 0.328029857 0.704504983
+0.682306940 0.327146107 0.705574753
+0.683284457 0.326254698 0.706650544
+0.684261975 0.325359248 0.707730369
+0.685239492 0.324460977 0.708813895
+0.686217009 0.323559874 0.709904167
+0.687194526 0.322655923 0.710998237
+0.688172043 0.321744286 0.712096862
+0.689149560 0.320827357 0.713201951
+0.690127077 0.319907274 0.714311028
+0.691104594 0.318984020 0.715425744
+0.692082111 0.318057580 0.716546437
+0.693059629 0.317123530 0.717671316
+0.694037146 0.316182751 0.718803182
+0.695014663 0.315238455 0.719940303
+0.695992180 0.314290624 0.721082144
+0.696969697 0.313339235 0.722231969
+0.697947214 0.312380425 0.723386379
+0.698924731 0.311413245 0.724547261
+0.699902248 0.310442153 0.725715054
+0.700879765 0.309467126 0.726887658
+0.701857283 0.308488140 0.728068862
+0.702834800 0.307502035 0.729255560
+0.703812317 0.306505697 0.730448885
+0.704789834 0.305505016 0.731650209
+0.705767351 0.304499963 0.732856799
+0.706744868 0.303490510 0.734072768
+0.707722385 0.302474365 0.735294761
+0.708699902 0.301445879 0.736524473
+0.709677419 0.300412575 0.737762451
+0.710654936 0.299374420 0.739006630
+0.711632454 0.298331379 0.740261200
+0.712609971 0.297282205 0.741521781
+0.713587488 0.296218314 0.742792422
+0.714565005 0.295149082 0.744070482
+0.715542522 0.294074469 0.745357611
+0.716520039 0.292994434 0.746653821
+0.717497556 0.291908937 0.747958353
+0.718475073 0.290806106 0.749273413
+0.719452590 0.289697326 0.750596331
+0.720430108 0.288582579 0.751930974
+0.721407625 0.287461816 0.753273330
+0.722385142 0.286334988 0.754628320
+0.723362659 0.285190730 0.755991241
+0.724340176 0.284038425 0.757367382
+0.725317693 0.282879501 0.758752076
+0.726295210 0.281713899 0.760150208
+0.727272727 0.280541562 0.761557968
+0.728250244 0.279351796 0.762978972
+0.729227761 0.278151577 0.764411182
+0.730205279 0.276944010 0.765855987
+0.731182796 0.275729026 0.767314128
+0.732160313 0.274506558 0.768783708
+0.733137830 0.273266769 0.770269365
+0.734115347 0.272013773 0.771767273
+0.735092864 0.270752612 0.773279617
+0.736070381 0.269483206 0.774807849
+0.737047898 0.268205474 0.776350238
+0.738025415 0.266910644 0.777908241
+0.739002933 0.265599461 0.779484121
+0.739980450 0.264279195 0.781076333
+0.740957967 0.262949750 0.782685839
+0.741935484 0.261611030 0.784313657
+0.742913001 0.260255561 0.785960859
+0.743890518 0.258880149 0.787628578
+0.744868035 0.257494616 0.789318005
+0.745845552 0.256098848 0.791030397
+0.746823069 0.254692732 0.792767079
+0.747800587 0.253270349 0.794529580
+0.748778104 0.251823930 0.796323108
+0.749755621 0.250366211 0.798153793
+0.750733138 0.250000000 0.798619957
+0.751710655 0.250000000 0.798619478
+0.752688172 0.250000000 0.798618827
+0.753665689 0.250000000 0.798618046
+0.754643206 0.250000000 0.798617146
+0.755620723 0.250000000 0.798616146
+0.756598240 0.250000000 0.798615054
+0.757575758 0.250000000 0.798613875
+0.758553275 0.250000000 0.798612615
+0.759530792 0.250000000 0.798611281
+0.760508309 0.250000000 0.798609872
+0.761485826 0.250000000 0.798608379
+0.762463343 0.250000000 0.798606824
+0.763440860 0.250000000 0.798605212
+0.764418377 0.250000000 0.798603523
+0.765395894 0.250000000 0.798601768
+0.766373412 0.250000000 0.798599968
+0.767350929 0.250000000 0.798598087
+0.768328446 0.250000000 0.798596154
+0.769305963 0.250000000 0.798594172
+0.770283480 0.250000000 0.798592109
+0.771260997 0.250000000 0.798590018
+0.772238514 0.250000000 0.798587837
+0.773216031 0.250000000 0.798585625
+0.774193548 0.250000000 0.798583339
+0.775171065 0.250000000 0.798581012
+0.776148583 0.250000000 0.798578619
+0.777126100 0.250000000 0.798576179
+0.778103617 0.250000000 0.798573676
+0.779081134 0.250000000 0.798571128
+0.780058651 0.250000000 0.798568514
+0.781036168 0.250000000 0.798565861
+0.782013685 0.250000000 0.798563134
+0.782991202 0.250000000 0.798560379
+0.783968719 0.250000000 0.798557536
+0.784946237 0.250000000 0.798554682
+0.785923754 0.250000000 0.798551722
+0.786901271 0.250000000 0.798548749
+0.787878788 0.250000000 0.798545693
+0.788856305 0.250000000 0.798542598
+0.789833822 0.250000000 0.798539450
+0.790811339 0.250000000 0.798536231
+0.791788856 0.250000000 0.798532993
+0.792766373 0.250000000 0.798529646
+0.793743891 0.250000000 0.798526284
+0.794721408 0.250000000 0.798522845
+0.795698925 0.250000000 0.798519352
+0.796676442 0.250000000 0.798515828
+0.797653959 0.250000000 0.798512201
+0.798631476 0.250000000 0.798508555
+0.799608993 0.250000000 0.798504830
+0.800586510 0.250000000 0.798501045
+0.801564027 0.250000000 0.798497238
+0.802541544 0.250000000 0.798493312
+0.803519062 0.250000000 0.798489365
+0.804496579 0.250000000 0.798485354
+0.805474096 0.250000000 0.798481260
+0.806451613 0.250000000 0.798477144
+0.807429130 0.250000000 0.798472926
+0.808406647 0.250000000 0.798468658
+0.809384164 0.250000000 0.798464362
+0.810361681 0.250000000 0.798459937
+0.811339198 0.250000000 0.798455487
+0.812316716 0.250000000 0.798450981
+0.813294233 0.250000000 0.798446368
+0.814271750 0.250000000 0.798441728
+0.815249267 0.250000000 0.798437007
+0.816226784 0.250000000 0.798432199
+0.817204301 0.250000000 0.798427360
+0.818181818 0.250000000 0.798422419
+0.819159335 0.250000000 0.798417406
+0.820136852 0.250000000 0.798412362
+0.821114370 0.250000000 0.798407195
+0.822091887 0.250000000 0.798401968
+0.823069404 0.250000000 0.798396707
+0.824046921 0.250000000 0.798391309
+0.825024438 0.250000000 0.798385858
+0.826001955 0.250000000 0.798380370
+0.826979472 0.250000000 0.798374734
+0.827956989 0.250000000 0.798369049
+0.828934506 0.250000000 0.798363324
+0.829912023 0.250000000 0.798357442
+0.830889541 0.250000000 0.798351511
+0.831867058 0.250000000 0.798345537
+0.832844575 0.250000000 0.798339400
+0.833822092 0.250000000 0.798333211
+0.834799609 0.250000000 0.798326976
+0.835777126 0.250000000 0.798320576
+0.836754643 0.250000000 0.798314116
+0.837732160 0.250000000 0.798307606
+0.838709677 0.250000000 0.798300932
+0.839687195 0.250000000 0.798294187
+0.840664712 0.250000000 0.798287388
+0.841642229 0.250000000 0.798280430
+0.842619746 0.250000000 0.798273384
+0.843597263 0.250000000 0.798266281
+0.844574780 0.250000000 0.798259026
+0.845552297 0.250000000 0.798251664
+0.846529814 0.250000000 0.798244240
+0.847507331 0.250000000 0.798236674
+0.848484848 0.250000000 0.798228978
+0.849462366 0.250000000 0.798221215
+0.850439883 0.250000000 0.798213324
+0.851417400 0.250000000 0.798205276
+0.852394917 0.250000000 0.798197155
+0.853372434 0.250000000 0.798188922
+0.854349951 0.250000000 0.798180502
+0.855327468 0.250000000 0.798172002
+0.856304985 0.250000000 0.798163410
+0.857282502 0.250000000 0.798154594
+0.858260020 0.250000000 0.798145693
+0.859237537 0.250000000 0.798136706
+0.860215054 0.250000000 0.798127487
+0.861192571 0.250000000 0.798118161
+0.862170088 0.250000000 0.798108741
+0.863147605 0.250000000 0.798099109
+0.864125122 0.250000000 0.798089331
+0.865102639 0.250000000 0.798079451
+0.866080156 0.250000000 0.798069382
+0.867057674 0.250000000 0.798059123
+0.868035191 0.250000000 0.798048754
+0.869012708 0.250000000 0.798038221
+0.869990225 0.250000000 0.798027449
+0.870967742 0.250000000 0.798016558
+0.871945259 0.250000000 0.798005530
+0.872922776 0.250000000 0.797994212
+0.873900293 0.250000000 0.797982764
+0.874877810 0.250000000 0.797971185
+0.875855327 0.250000000 0.797959306
+0.876832845 0.250000000 0.797947263
+0.877810362 0.250000000 0.797935078
+0.878787879 0.250000000 0.797922616
+0.879765396 0.250000000 0.797909935
+0.880742913 0.250000000 0.797897099
+0.881720430 0.250000000 0.797884012
+0.882697947 0.250000000 0.797870648
+0.883675464 0.250000000 0.797857113
+0.884652981 0.250000000 0.797843354
+0.885630499 0.250000000 0.797829254
+0.886608016 0.250000000 0.797814969
+0.887585533 0.250000000 0.797800485
+0.888563050 0.250000000 0.797785594
+0.889540567 0.250000000 0.797770499
+0.890518084 0.250000000 0.797755197
+0.891495601 0.250000000 0.797739486
+0.892473118 0.250000000 0.797723518
+0.893450635 0.250000000 0.797707323
+0.894428152 0.250000000 0.797690733
+0.895405670 0.250000000 0.797673819
+0.896383187 0.250000000 0.797656655
+0.897360704 0.250000000 0.797639111
+0.898338221 0.250000000 0.797621171
+0.899315738 0.250000000 0.797602957
+0.900293255 0.250000000 0.797584371
+0.901270772 0.250000000 0.797565316
+0.902248289 0.250000000 0.797545958
+0.903225806 0.250000000 0.797526235
+0.904203324 0.250000000 0.797505964
+0.905180841 0.250000000 0.797485358
+0.906158358 0.250000000 0.797464387
+0.907135875 0.250000000 0.797442787
+0.908113392 0.250000000 0.797420816
+0.909090909 0.250000000 0.797398464
+0.910068426 0.250000000 0.797375416
+0.911045943 0.250000000 0.797351947
+0.912023460 0.250000000 0.797328054
+0.913000978 0.250000000 0.797303431
+0.913978495 0.250000000 0.797278312
+0.914956012 0.250000000 0.797252722
+0.915933529 0.250000000 0.797226352
+0.916911046 0.250000000 0.797199412
+0.917888563 0.250000000 0.797171944
+0.918866080 0.250000000 0.797143632
+0.919843597 0.250000000 0.797114674
+0.920821114 0.250000000 0.797085122
+0.921798631 0.250000000 0.797054641
+0.922776149 0.250000000 0.797023436
+0.923753666 0.250000000 0.796991562
+0.924731183 0.250000000 0.796958649
+0.925708700 0.250000000 0.796924934
+0.926686217 0.250000000 0.796890462
+0.927663734 0.250000000 0.796854809
+0.928641251 0.250000000 0.796818277
+0.929618768 0.250000000 0.796780885
+0.930596285 0.250000000 0.796742131
+0.931573803 0.250000000 0.796702422
+0.932551320 0.250000000 0.796661678
+0.933528837 0.250000000 0.796619449
+0.934506354 0.250000000 0.796576138
+0.935483871 0.250000000 0.796531554
+0.936461388 0.250000000 0.796485383
+0.937438905 0.250000000 0.796437966
+0.938416422 0.250000000 0.796388970
+0.939393939 0.250000000 0.796338286
+0.940371457 0.250000000 0.796286158
+0.941348974 0.250000000 0.796232059
+0.942326491 0.250000000 0.796176174
+0.943304008 0.250000000 0.796118602
+0.944281525 0.250000000 0.796058564
+0.945259042 0.250000000 0.795996641
+0.946236559 0.250000000 0.795932487
+0.947214076 0.250000000 0.795865725
+0.948191593 0.250000000 0.795796735
+0.949169110 0.250000000 0.795724810
+0.950146628 0.250000000 0.795650131
+0.951124145 0.250000000 0.795572676
+0.952101662 0.250000000 0.795491611
+0.953079179 0.250000000 0.795407522
+0.954056696 0.250000000 0.795319628
+0.955034213 0.250000000 0.795227898
+0.956011730 0.250000000 0.795132357
+0.956989247 0.250000000 0.795031935
+0.957966764 0.250000000 0.794927282
+0.958944282 0.250000000 0.794817257
+0.959921799 0.250000000 0.794701981
+0.960899316 0.250000000 0.794581006
+0.961876833 0.250000000 0.794453449
+0.962854350 0.250000000 0.794319707
+0.963831867 0.250000000 0.794177846
+0.964809384 0.250000000 0.794028718
+0.965786901 0.250000000 0.793870437
+0.966764418 0.250000000 0.793703113
+0.967741935 0.250000000 0.793525315
+0.968719453 0.250000000 0.793336305
+0.969696970 0.250000000 0.793135013
+0.970674487 0.250000000 0.792919868
+0.971652004 0.250000000 0.792689957
+0.972629521 0.250000000 0.792442910
+0.973607038 0.250000000 0.792177663
+0.974584555 0.250000000 0.791891104
+0.975562072 0.250000000 0.791581540
+0.976539589 0.250000000 0.791245216
+0.977517107 0.250000000 0.790900290
+0.978494624 0.250000000 0.790546727
+0.979472141 0.250000000 0.790189953
+0.980449658 0.250000000 0.789814417
+0.981427175 0.250000000 0.789445023
+0.982404692 0.250000000 0.789052209
+0.983382209 0.250000000 0.788657501
+0.984359726 0.250000000 0.788250203
+0.985337243 0.250000000 0.787818500
+0.986314761 0.250000000 0.787390503
+0.987292278 0.250000000 0.786940347
+0.988269795 0.250000000 0.786464072
+0.989247312 0.250000000 0.785974808
+0.990224829 0.250000000 0.785469812
+0.991202346 0.250000000 0.784933879
+0.992179863 0.250000000 0.784364501
+0.993157380 0.250000000 0.783757951
+0.994134897 0.250000000 0.783108264
+0.995112414 0.250000000 0.782404962
+0.996089932 0.250000000 0.781627407
+0.997067449 0.250000000 0.780727892
+0.998044966 0.250000000 0.779693393
+0.999022483 0.250000000 0.778328498
+1.000000000 nan nan
diff --git a/examples/mamdani/SimpleDimmerChained.fll b/examples/mamdani/SimpleDimmerChained.fll
index fd6b945..02b35cc 100644
--- a/examples/mamdani/SimpleDimmerChained.fll
+++ b/examples/mamdani/SimpleDimmerChained.fll
@@ -1,29 +1,30 @@
-Engine: simple-dimmer
+Engine: SimpleDimmerChained
InputVariable: Ambient
enabled: true
range: 0.000 1.000
+ lock-range: false
term: DARK Triangle 0.000 0.250 0.500
term: MEDIUM Triangle 0.250 0.500 0.750
term: BRIGHT Triangle 0.500 0.750 1.000
OutputVariable: Power
enabled: true
range: 0.000 1.000
- accumulation: Maximum
+ lock-range: false
+ aggregation: Maximum
defuzzifier: Centroid 200
default: nan
lock-previous: false
- lock-range: false
term: LOW Triangle 0.000 0.250 0.500
term: MEDIUM Triangle 0.250 0.500 0.750
term: HIGH Triangle 0.500 0.750 1.000
OutputVariable: InversePower
enabled: true
range: 0.000 1.000
- accumulation: Maximum
+ lock-range: false
+ aggregation: Maximum
defuzzifier: Centroid 500
default: nan
lock-previous: false
- lock-range: false
term: LOW Cosine 0.200 0.500
term: MEDIUM Cosine 0.500 0.500
term: HIGH Cosine 0.800 0.500
@@ -31,7 +32,8 @@ RuleBlock:
enabled: true
conjunction: none
disjunction: none
- activation: Minimum
+ implication: Minimum
+ activation: General
rule: if Ambient is DARK then Power is HIGH
rule: if Ambient is MEDIUM then Power is MEDIUM
rule: if Ambient is BRIGHT then Power is LOW
diff --git a/examples/mamdani/SimpleDimmerChained.java b/examples/mamdani/SimpleDimmerChained.java
new file mode 100644
index 0000000..a7c28c6
--- /dev/null
+++ b/examples/mamdani/SimpleDimmerChained.java
@@ -0,0 +1,81 @@
+import com.fuzzylite.*;
+import com.fuzzylite.activation.*
+import com.fuzzylite.defuzzifier.*;
+import com.fuzzylite.factory.*;
+import com.fuzzylite.hedge.*;
+import com.fuzzylite.imex.*;
+import com.fuzzylite.norm.*;
+import com.fuzzylite.norm.s.*;
+import com.fuzzylite.norm.t.*;
+import com.fuzzylite.rule.*;
+import com.fuzzylite.term.*;
+import com.fuzzylite.variable.*;
+
+public class SimpleDimmerChained{
+public static void main(String[] args){
+//Code automatically generated with fuzzylite 6.0.
+
+Engine engine = new Engine();
+engine.setName("SimpleDimmerChained");
+engine.setDescription("");
+
+InputVariable Ambient = new InputVariable();
+Ambient.setName("Ambient");
+Ambient.setDescription("");
+Ambient.setEnabled(true);
+Ambient.setRange(0.000, 1.000);
+Ambient.setLockValueInRange(false);
+Ambient.addTerm(new Triangle("DARK", 0.000, 0.250, 0.500));
+Ambient.addTerm(new Triangle("MEDIUM", 0.250, 0.500, 0.750));
+Ambient.addTerm(new Triangle("BRIGHT", 0.500, 0.750, 1.000));
+engine.addInputVariable(Ambient);
+
+OutputVariable Power = new OutputVariable();
+Power.setName("Power");
+Power.setDescription("");
+Power.setEnabled(true);
+Power.setRange(0.000, 1.000);
+Power.setLockValueInRange(false);
+Power.setAggregation(new Maximum());
+Power.setDefuzzifier(new Centroid(200));
+Power.setDefaultValue(Double.NaN);
+Power.setLockPreviousValue(false);
+Power.addTerm(new Triangle("LOW", 0.000, 0.250, 0.500));
+Power.addTerm(new Triangle("MEDIUM", 0.250, 0.500, 0.750));
+Power.addTerm(new Triangle("HIGH", 0.500, 0.750, 1.000));
+engine.addOutputVariable(Power);
+
+OutputVariable InversePower = new OutputVariable();
+InversePower.setName("InversePower");
+InversePower.setDescription("");
+InversePower.setEnabled(true);
+InversePower.setRange(0.000, 1.000);
+InversePower.setLockValueInRange(false);
+InversePower.setAggregation(new Maximum());
+InversePower.setDefuzzifier(new Centroid(500));
+InversePower.setDefaultValue(Double.NaN);
+InversePower.setLockPreviousValue(false);
+InversePower.addTerm(new Cosine("LOW", 0.200, 0.500));
+InversePower.addTerm(new Cosine("MEDIUM", 0.500, 0.500));
+InversePower.addTerm(new Cosine("HIGH", 0.800, 0.500));
+engine.addOutputVariable(InversePower);
+
+RuleBlock ruleBlock = new RuleBlock();
+ruleBlock.setName("");
+ruleBlock.setDescription("");
+ruleBlock.setEnabled(true);
+ruleBlock.setConjunction(null);
+ruleBlock.setDisjunction(null);
+ruleBlock.setImplication(new Minimum());
+ruleBlock.setActivation(new General());
+ruleBlock.addRule(Rule.parse("if Ambient is DARK then Power is HIGH", engine));
+ruleBlock.addRule(Rule.parse("if Ambient is MEDIUM then Power is MEDIUM", engine));
+ruleBlock.addRule(Rule.parse("if Ambient is BRIGHT then Power is LOW", engine));
+ruleBlock.addRule(Rule.parse("if Power is LOW then InversePower is HIGH", engine));
+ruleBlock.addRule(Rule.parse("if Power is MEDIUM then InversePower is MEDIUM", engine));
+ruleBlock.addRule(Rule.parse("if Power is HIGH then InversePower is LOW", engine));
+engine.addRuleBlock(ruleBlock);
+
+
+}
+}
diff --git a/examples/mamdani/SimpleDimmerChained.pdf b/examples/mamdani/SimpleDimmerChained.pdf
new file mode 100644
index 0000000..bc22cfa
--- /dev/null
+++ b/examples/mamdani/SimpleDimmerChained.pdf
Binary files differ
diff --git a/examples/mamdani/SimpleDimmerInverse.R b/examples/mamdani/SimpleDimmerInverse.R
new file mode 100644
index 0000000..358916d
--- /dev/null
+++ b/examples/mamdani/SimpleDimmerInverse.R
@@ -0,0 +1,85 @@
+#Code automatically generated with fuzzylite 6.0.
+
+library(ggplot2);
+
+engine.name = "SimpleDimmerInverse"
+engine.fll = "Engine: SimpleDimmerInverse
+InputVariable: Ambient
+ enabled: true
+ range: 0.000 1.000
+ lock-range: false
+ term: DARK Triangle 0.000 0.250 0.500
+ term: MEDIUM Triangle 0.250 0.500 0.750
+ term: BRIGHT Triangle 0.500 0.750 1.000
+OutputVariable: Power
+ enabled: true
+ range: 0.000 1.000
+ lock-range: false
+ aggregation: Maximum
+ defuzzifier: Centroid 200
+ default: nan
+ lock-previous: false
+ term: LOW Triangle 0.000 0.250 0.500
+ term: MEDIUM Triangle 0.250 0.500 0.750
+ term: HIGH Triangle 0.500 0.750 1.000
+OutputVariable: InversePower
+ enabled: true
+ range: 0.000 1.000
+ lock-range: false
+ aggregation: Maximum
+ defuzzifier: Centroid 500
+ default: nan
+ lock-previous: false
+ term: LOW Cosine 0.200 0.500
+ term: MEDIUM Cosine 0.500 0.500
+ term: HIGH Cosine 0.800 0.500
+RuleBlock:
+ enabled: true
+ conjunction: none
+ disjunction: none
+ implication: Minimum
+ activation: General
+ rule: if Ambient is DARK then Power is HIGH
+ rule: if Ambient is MEDIUM then Power is MEDIUM
+ rule: if Ambient is BRIGHT then Power is LOW
+ rule: if Power is LOW then InversePower is HIGH
+ rule: if Power is MEDIUM then InversePower is MEDIUM
+ rule: if Power is HIGH then InversePower is LOW"
+
+engine.fldFile = "SimpleDimmerInverse.fld"
+if (require(data.table)) {
+ engine.df = data.table::fread(engine.fldFile, sep="auto", header="auto")
+} else {
+ engine.df = read.table(engine.fldFile, header=TRUE)
+}
+
+engine.plot.i1_o1 = ggplot(engine.df, aes(Ambient, Power)) +
+ geom_line(aes(color=Power), size=3, lineend="round", linejoin="mitre") +
+ scale_color_gradient(low="yellow", high="red") +
+ ggtitle("Ambient vs Power")
+
+engine.plot.o1_i1 = ggplot(engine.df, aes(Ambient, Power)) +
+ geom_line(aes(color=Power), size=3, lineend="round", linejoin="mitre") +
+ scale_color_gradient(low="yellow", high="red") +
+ coord_flip() +
+ ggtitle("Power vs Ambient")
+
+engine.plot.i1_o2 = ggplot(engine.df, aes(Ambient, InversePower)) +
+ geom_line(aes(color=InversePower), size=3, lineend="round", linejoin="mitre") +
+ scale_color_gradient(low="yellow", high="red") +
+ ggtitle("Ambient vs InversePower")
+
+engine.plot.o2_i1 = ggplot(engine.df, aes(Ambient, InversePower)) +
+ geom_line(aes(color=InversePower), size=3, lineend="round", linejoin="mitre") +
+ scale_color_gradient(low="yellow", high="red") +
+ coord_flip() +
+ ggtitle("InversePower vs Ambient")
+
+if (require(gridExtra)) {
+ engine.plots = arrangeGrob(engine.plot.i1_o1, engine.plot.o1_i1, engine.plot.i1_o2, engine.plot.o2_i1, ncol=2, top=engine.name)
+ ggsave(paste0(engine.name, ".pdf"), engine.plots)
+ if (require(grid)) {
+ grid.newpage()
+ grid.draw(engine.plots)
+ }
+}
diff --git a/examples/mamdani/SimpleDimmerInverse.cpp b/examples/mamdani/SimpleDimmerInverse.cpp
index cad1100..1c22275 100644
--- a/examples/mamdani/SimpleDimmerInverse.cpp
+++ b/examples/mamdani/SimpleDimmerInverse.cpp
@@ -1,60 +1,69 @@
#include <fl/Headers.h>
int main(int argc, char** argv){
+//Code automatically generated with fuzzylite 6.0.
+
using namespace fl;
Engine* engine = new Engine;
-engine->setName("simple-dimmer");
-
-InputVariable* inputVariable = new InputVariable;
-inputVariable->setEnabled(true);
-inputVariable->setName("Ambient");
-inputVariable->setRange(0.000, 1.000);
-inputVariable->addTerm(new Triangle("DARK", 0.000, 0.250, 0.500));
-inputVariable->addTerm(new Triangle("MEDIUM", 0.250, 0.500, 0.750));
-inputVariable->addTerm(new Triangle("BRIGHT", 0.500, 0.750, 1.000));
-engine->addInputVariable(inputVariable);
-
-OutputVariable* outputVariable1 = new OutputVariable;
-outputVariable1->setEnabled(true);
-outputVariable1->setName("Power");
-outputVariable1->setRange(0.000, 1.000);
-outputVariable1->fuzzyOutput()->setAccumulation(new Maximum);
-outputVariable1->setDefuzzifier(new Centroid(200));
-outputVariable1->setDefaultValue(fl::nan);
-outputVariable1->setLockPreviousOutputValue(false);
-outputVariable1->setLockOutputValueInRange(false);
-outputVariable1->addTerm(new Triangle("LOW", 0.000, 0.250, 0.500));
-outputVariable1->addTerm(new Triangle("MEDIUM", 0.250, 0.500, 0.750));
-outputVariable1->addTerm(new Triangle("HIGH", 0.500, 0.750, 1.000));
-engine->addOutputVariable(outputVariable1);
-
-OutputVariable* outputVariable2 = new OutputVariable;
-outputVariable2->setEnabled(true);
-outputVariable2->setName("InversePower");
-outputVariable2->setRange(0.000, 1.000);
-outputVariable2->fuzzyOutput()->setAccumulation(new Maximum);
-outputVariable2->setDefuzzifier(new Centroid(500));
-outputVariable2->setDefaultValue(fl::nan);
-outputVariable2->setLockPreviousOutputValue(false);
-outputVariable2->setLockOutputValueInRange(false);
-outputVariable2->addTerm(new Cosine("LOW", 0.200, 0.500));
-outputVariable2->addTerm(new Cosine("MEDIUM", 0.500, 0.500));
-outputVariable2->addTerm(new Cosine("HIGH", 0.800, 0.500));
-engine->addOutputVariable(outputVariable2);
+engine->setName("SimpleDimmerInverse");
+engine->setDescription("");
+
+InputVariable* Ambient = new InputVariable;
+Ambient->setName("Ambient");
+Ambient->setDescription("");
+Ambient->setEnabled(true);
+Ambient->setRange(0.000, 1.000);
+Ambient->setLockValueInRange(false);
+Ambient->addTerm(new Triangle("DARK", 0.000, 0.250, 0.500));
+Ambient->addTerm(new Triangle("MEDIUM", 0.250, 0.500, 0.750));
+Ambient->addTerm(new Triangle("BRIGHT", 0.500, 0.750, 1.000));
+engine->addInputVariable(Ambient);
+
+OutputVariable* Power = new OutputVariable;
+Power->setName("Power");
+Power->setDescription("");
+Power->setEnabled(true);
+Power->setRange(0.000, 1.000);
+Power->setLockValueInRange(false);
+Power->setAggregation(new Maximum);
+Power->setDefuzzifier(new Centroid(200));
+Power->setDefaultValue(fl::nan);
+Power->setLockPreviousValue(false);
+Power->addTerm(new Triangle("LOW", 0.000, 0.250, 0.500));
+Power->addTerm(new Triangle("MEDIUM", 0.250, 0.500, 0.750));
+Power->addTerm(new Triangle("HIGH", 0.500, 0.750, 1.000));
+engine->addOutputVariable(Power);
+
+OutputVariable* InversePower = new OutputVariable;
+InversePower->setName("InversePower");
+InversePower->setDescription("");
+InversePower->setEnabled(true);
+InversePower->setRange(0.000, 1.000);
+InversePower->setLockValueInRange(false);
+InversePower->setAggregation(new Maximum);
+InversePower->setDefuzzifier(new Centroid(500));
+InversePower->setDefaultValue(fl::nan);
+InversePower->setLockPreviousValue(false);
+InversePower->addTerm(new Cosine("LOW", 0.200, 0.500));
+InversePower->addTerm(new Cosine("MEDIUM", 0.500, 0.500));
+InversePower->addTerm(new Cosine("HIGH", 0.800, 0.500));
+engine->addOutputVariable(InversePower);
RuleBlock* ruleBlock = new RuleBlock;
-ruleBlock->setEnabled(true);
ruleBlock->setName("");
-ruleBlock->setConjunction(NULL);
-ruleBlock->setDisjunction(NULL);
-ruleBlock->setActivation(new Minimum);
-ruleBlock->addRule(fl::Rule::parse("if Ambient is DARK then Power is HIGH", engine));
-ruleBlock->addRule(fl::Rule::parse("if Ambient is MEDIUM then Power is MEDIUM", engine));
-ruleBlock->addRule(fl::Rule::parse("if Ambient is BRIGHT then Power is LOW", engine));
-ruleBlock->addRule(fl::Rule::parse("if Power is LOW then InversePower is HIGH", engine));
-ruleBlock->addRule(fl::Rule::parse("if Power is MEDIUM then InversePower is MEDIUM", engine));
-ruleBlock->addRule(fl::Rule::parse("if Power is HIGH then InversePower is LOW", engine));
+ruleBlock->setDescription("");
+ruleBlock->setEnabled(true);
+ruleBlock->setConjunction(fl::null);
+ruleBlock->setDisjunction(fl::null);
+ruleBlock->setImplication(new Minimum);
+ruleBlock->setActivation(new General);
+ruleBlock->addRule(Rule::parse("if Ambient is DARK then Power is HIGH", engine));
+ruleBlock->addRule(Rule::parse("if Ambient is MEDIUM then Power is MEDIUM", engine));
+ruleBlock->addRule(Rule::parse("if Ambient is BRIGHT then Power is LOW", engine));
+ruleBlock->addRule(Rule::parse("if Power is LOW then InversePower is HIGH", engine));
+ruleBlock->addRule(Rule::parse("if Power is MEDIUM then InversePower is MEDIUM", engine));
+ruleBlock->addRule(Rule::parse("if Power is HIGH then InversePower is LOW", engine));
engine->addRuleBlock(ruleBlock);
diff --git a/examples/mamdani/SimpleDimmerInverse.fcl b/examples/mamdani/SimpleDimmerInverse.fcl
index 337bc2b..d8043d3 100644
--- a/examples/mamdani/SimpleDimmerInverse.fcl
+++ b/examples/mamdani/SimpleDimmerInverse.fcl
@@ -1,4 +1,6 @@
-FUNCTION_BLOCK simple-dimmer
+//Code automatically generated with fuzzylite 6.0.
+
+FUNCTION_BLOCK SimpleDimmerInverse
VAR_INPUT
Ambient: REAL;
diff --git a/examples/mamdani/SimpleDimmerInverse.fis b/examples/mamdani/SimpleDimmerInverse.fis
new file mode 100644
index 0000000..b044014
--- /dev/null
+++ b/examples/mamdani/SimpleDimmerInverse.fis
@@ -0,0 +1,46 @@
+#Code automatically generated with fuzzylite 6.0.
+
+[System]
+Name='SimpleDimmerInverse'
+Type='mamdani'
+Version=6.0
+NumInputs=1
+NumOutputs=2
+NumRules=6
+AndMethod='min'
+OrMethod='max'
+ImpMethod='min'
+AggMethod='max'
+DefuzzMethod='centroid'
+
+[Input1]
+Name='Ambient'
+Range=[0.000 1.000]
+NumMFs=3
+MF1='DARK':'trimf',[0.000 0.250 0.500]
+MF2='MEDIUM':'trimf',[0.250 0.500 0.750]
+MF3='BRIGHT':'trimf',[0.500 0.750 1.000]
+
+[Output1]
+Name='Power'
+Range=[0.000 1.000]
+NumMFs=3
+MF1='LOW':'trimf',[0.000 0.250 0.500]
+MF2='MEDIUM':'trimf',[0.250 0.500 0.750]
+MF3='HIGH':'trimf',[0.500 0.750 1.000]
+
+[Output2]
+Name='InversePower'
+Range=[0.000 1.000]
+NumMFs=3
+MF1='LOW':'cosinemf',[0.200 0.500]
+MF2='MEDIUM':'cosinemf',[0.500 0.500]
+MF3='HIGH':'cosinemf',[0.800 0.500]
+
+[Rules]
+1.000 , 3.000 0.000 (1.000) : 1
+2.000 , 2.000 0.000 (1.000) : 1
+3.000 , 1.000 0.000 (1.000) : 1
+0.000 , 0.000 3.000 (1.000) : 1
+0.000 , 0.000 2.000 (1.000) : 1
+0.000 , 0.000 1.000 (1.000) : 1
diff --git a/examples/mamdani/SimpleDimmerInverse.fld b/examples/mamdani/SimpleDimmerInverse.fld
index 45373fa..843c017 100644
--- a/examples/mamdani/SimpleDimmerInverse.fld
+++ b/examples/mamdani/SimpleDimmerInverse.fld
@@ -1,1026 +1,1025 @@
-#@Engine: simple-dimmer;
-#@InputVariable: Ambient; @OutputVariable: Power; @OutputVariable: InversePower;
-0.00000000 nan nan
-0.00097752 0.75000000 0.22167150
-0.00195503 0.75000000 0.22030661
-0.00293255 0.75000000 0.21927211
-0.00391007 0.75000000 0.21837259
-0.00488759 0.75000000 0.21759504
-0.00586510 0.75000000 0.21689174
-0.00684262 0.75000000 0.21624205
-0.00782014 0.75000000 0.21563550
-0.00879765 0.75000000 0.21506612
-0.00977517 0.75000000 0.21453019
-0.01075269 0.75000000 0.21402519
-0.01173021 0.75000000 0.21353593
-0.01270772 0.75000000 0.21305965
-0.01368524 0.75000000 0.21260950
-0.01466276 0.75000000 0.21218150
-0.01564027 0.75000000 0.21174980
-0.01661779 0.75000000 0.21134250
-0.01759531 0.75000000 0.21094779
-0.01857283 0.75000000 0.21055498
-0.01955034 0.75000000 0.21018558
-0.02052786 0.75000000 0.20981005
-0.02150538 0.75000000 0.20945327
-0.02248289 0.75000000 0.20909971
-0.02346041 0.75000000 0.20875478
-0.02443793 0.75000000 0.20841846
-0.02541544 0.75000000 0.20810890
-0.02639296 0.75000000 0.20782234
-0.02737048 0.75000000 0.20755709
-0.02834800 0.75000000 0.20731004
-0.02932551 0.75000000 0.20708013
-0.03030303 0.75000000 0.20686499
-0.03128055 0.75000000 0.20666370
-0.03225806 0.75000000 0.20647468
-0.03323558 0.75000000 0.20629689
-0.03421310 0.75000000 0.20612956
-0.03519062 0.75000000 0.20597128
-0.03616813 0.75000000 0.20582215
-0.03714565 0.75000000 0.20568029
-0.03812317 0.75000000 0.20554655
-0.03910068 0.75000000 0.20541899
-0.04007820 0.75000000 0.20529802
-0.04105572 0.75000000 0.20518274
-0.04203324 0.75000000 0.20507272
-0.04301075 0.75000000 0.20496807
-0.04398827 0.75000000 0.20486764
-0.04496579 0.75000000 0.20477210
-0.04594330 0.75000000 0.20468037
-0.04692082 0.75000000 0.20459248
-0.04789834 0.75000000 0.20450839
-0.04887586 0.75000000 0.20442732
-0.04985337 0.75000000 0.20434987
-0.05083089 0.75000000 0.20427519
-0.05180841 0.75000000 0.20420327
-0.05278592 0.75000000 0.20413428
-0.05376344 0.75000000 0.20406751
-0.05474096 0.75000000 0.20400336
-0.05571848 0.75000000 0.20394144
-0.05669599 0.75000000 0.20388140
-0.05767351 0.75000000 0.20382383
-0.05865103 0.75000000 0.20376794
-0.05962854 0.75000000 0.20371384
-0.06060606 0.75000000 0.20366171
-0.06158358 0.75000000 0.20361103
-0.06256109 0.75000000 0.20356203
-0.06353861 0.75000000 0.20351462
-0.06451613 0.75000000 0.20346845
-0.06549365 0.75000000 0.20342386
-0.06647116 0.75000000 0.20338055
-0.06744868 0.75000000 0.20333832
-0.06842620 0.75000000 0.20329758
-0.06940371 0.75000000 0.20325787
-0.07038123 0.75000000 0.20321911
-0.07135875 0.75000000 0.20318172
-0.07233627 0.75000000 0.20314519
-0.07331378 0.75000000 0.20310954
-0.07429130 0.75000000 0.20307507
-0.07526882 0.75000000 0.20304135
-0.07624633 0.75000000 0.20300844
-0.07722385 0.75000000 0.20297656
-0.07820137 0.75000000 0.20294536
-0.07917889 0.75000000 0.20291488
-0.08015640 0.75000000 0.20288533
-0.08113392 0.75000000 0.20285637
-0.08211144 0.75000000 0.20282806
-0.08308895 0.75000000 0.20280059
-0.08406647 0.75000000 0.20277365
-0.08504399 0.75000000 0.20274728
-0.08602151 0.75000000 0.20272169
-0.08699902 0.75000000 0.20269657
-0.08797654 0.75000000 0.20267195
-0.08895406 0.75000000 0.20264805
-0.08993157 0.75000000 0.20262458
-0.09090909 0.75000000 0.20260154
-0.09188661 0.75000000 0.20257918
-0.09286413 0.75000000 0.20255721
-0.09384164 0.75000000 0.20253561
-0.09481916 0.75000000 0.20251464
-0.09579668 0.75000000 0.20249404
-0.09677419 0.75000000 0.20247377
-0.09775171 0.75000000 0.20245404
-0.09872923 0.75000000 0.20243468
-0.09970674 0.75000000 0.20241563
-0.10068426 0.75000000 0.20239704
-0.10166178 0.75000000 0.20237883
-0.10263930 0.75000000 0.20236089
-0.10361681 0.75000000 0.20234334
-0.10459433 0.75000000 0.20232618
-0.10557185 0.75000000 0.20230927
-0.10654936 0.75000000 0.20229268
-0.10752688 0.75000000 0.20227648
-0.10850440 0.75000000 0.20226051
-0.10948192 0.75000000 0.20224480
-0.11045943 0.75000000 0.20222950
-0.11143695 0.75000000 0.20221441
-0.11241447 0.75000000 0.20219951
-0.11339198 0.75000000 0.20218503
-0.11436950 0.75000000 0.20217075
-0.11534702 0.75000000 0.20215665
-0.11632454 0.75000000 0.20214289
-0.11730205 0.75000000 0.20212935
-0.11827957 0.75000000 0.20211599
-0.11925709 0.75000000 0.20210290
-0.12023460 0.75000000 0.20209006
-0.12121212 0.75000000 0.20207738
-0.12218964 0.75000000 0.20206492
-0.12316716 0.75000000 0.20205274
-0.12414467 0.75000000 0.20204069
-0.12512219 0.75000000 0.20202881
-0.12609971 0.75000000 0.20201724
-0.12707722 0.75000000 0.20200579
-0.12805474 0.75000000 0.20199447
-0.12903226 0.75000000 0.20198344
-0.13000978 0.75000000 0.20197255
-0.13098729 0.75000000 0.20196178
-0.13196481 0.75000000 0.20195125
-0.13294233 0.75000000 0.20194088
-0.13391984 0.75000000 0.20193062
-0.13489736 0.75000000 0.20192055
-0.13587488 0.75000000 0.20191067
-0.13685239 0.75000000 0.20190089
-0.13782991 0.75000000 0.20189126
-0.13880743 0.75000000 0.20188184
-0.13978495 0.75000000 0.20187251
-0.14076246 0.75000000 0.20186329
-0.14173998 0.75000000 0.20185431
-0.14271750 0.75000000 0.20184541
-0.14369501 0.75000000 0.20183659
-0.14467253 0.75000000 0.20182800
-0.14565005 0.75000000 0.20181950
-0.14662757 0.75000000 0.20181108
-0.14760508 0.75000000 0.20180284
-0.14858260 0.75000000 0.20179472
-0.14956012 0.75000000 0.20178668
-0.15053763 0.75000000 0.20177878
-0.15151515 0.75000000 0.20177102
-0.15249267 0.75000000 0.20176333
-0.15347019 0.75000000 0.20175576
-0.15444770 0.75000000 0.20174834
-0.15542522 0.75000000 0.20174097
-0.15640274 0.75000000 0.20173372
-0.15738025 0.75000000 0.20172662
-0.15835777 0.75000000 0.20171957
-0.15933529 0.75000000 0.20171261
-0.16031281 0.75000000 0.20170581
-0.16129032 0.75000000 0.20169907
-0.16226784 0.75000000 0.20169239
-0.16324536 0.75000000 0.20168588
-0.16422287 0.75000000 0.20167942
-0.16520039 0.75000000 0.20167302
-0.16617791 0.75000000 0.20166679
-0.16715543 0.75000000 0.20166060
-0.16813294 0.75000000 0.20165446
-0.16911046 0.75000000 0.20164849
-0.17008798 0.75000000 0.20164256
-0.17106549 0.75000000 0.20163668
-0.17204301 0.75000000 0.20163095
-0.17302053 0.75000000 0.20162527
-0.17399804 0.75000000 0.20161963
-0.17497556 0.75000000 0.20161414
-0.17595308 0.75000000 0.20160869
-0.17693060 0.75000000 0.20160329
-0.17790811 0.75000000 0.20159803
-0.17888563 0.75000000 0.20159280
-0.17986315 0.75000000 0.20158764
-0.18084066 0.75000000 0.20158259
-0.18181818 0.75000000 0.20157758
-0.18279570 0.75000000 0.20157264
-0.18377322 0.75000000 0.20156780
-0.18475073 0.75000000 0.20156299
-0.18572825 0.75000000 0.20155827
-0.18670577 0.75000000 0.20155363
-0.18768328 0.75000000 0.20154902
-0.18866080 0.75000000 0.20154451
-0.18963832 0.75000000 0.20154006
-0.19061584 0.75000000 0.20153564
-0.19159335 0.75000000 0.20153134
-0.19257087 0.75000000 0.20152707
-0.19354839 0.75000000 0.20152286
-0.19452590 0.75000000 0.20151874
-0.19550342 0.75000000 0.20151465
-0.19648094 0.75000000 0.20151063
-0.19745846 0.75000000 0.20150669
-0.19843597 0.75000000 0.20150276
-0.19941349 0.75000000 0.20149895
-0.20039101 0.75000000 0.20149517
-0.20136852 0.75000000 0.20149144
-0.20234604 0.75000000 0.20148780
-0.20332356 0.75000000 0.20148417
-0.20430108 0.75000000 0.20148065
-0.20527859 0.75000000 0.20147715
-0.20625611 0.75000000 0.20147372
-0.20723363 0.75000000 0.20147035
-0.20821114 0.75000000 0.20146701
-0.20918866 0.75000000 0.20146377
-0.21016618 0.75000000 0.20146055
-0.21114370 0.75000000 0.20145740
-0.21212121 0.75000000 0.20145431
-0.21309873 0.75000000 0.20145125
-0.21407625 0.75000000 0.20144828
-0.21505376 0.75000000 0.20144532
-0.21603128 0.75000000 0.20144246
-0.21700880 0.75000000 0.20143962
-0.21798631 0.75000000 0.20143687
-0.21896383 0.75000000 0.20143414
-0.21994135 0.75000000 0.20143149
-0.22091887 0.75000000 0.20142887
-0.22189638 0.75000000 0.20142632
-0.22287390 0.75000000 0.20142382
-0.22385142 0.75000000 0.20142138
-0.22482893 0.75000000 0.20141899
-0.22580645 0.75000000 0.20141666
-0.22678397 0.75000000 0.20141437
-0.22776149 0.75000000 0.20141216
-0.22873900 0.75000000 0.20140998
-0.22971652 0.75000000 0.20140789
-0.23069404 0.75000000 0.20140583
-0.23167155 0.75000000 0.20140385
-0.23264907 0.75000000 0.20140191
-0.23362659 0.75000000 0.20140003
-0.23460411 0.75000000 0.20139823
-0.23558162 0.75000000 0.20139648
-0.23655914 0.75000000 0.20139479
-0.23753666 0.75000000 0.20139318
-0.23851417 0.75000000 0.20139162
-0.23949169 0.75000000 0.20139013
-0.24046921 0.75000000 0.20138872
-0.24144673 0.75000000 0.20138738
-0.24242424 0.75000000 0.20138613
-0.24340176 0.75000000 0.20138495
-0.24437928 0.75000000 0.20138385
-0.24535679 0.75000000 0.20138285
-0.24633431 0.75000000 0.20138195
-0.24731183 0.75000000 0.20138117
-0.24828935 0.75000000 0.20138052
-0.24926686 0.75000000 0.20138004
-0.25024438 0.74963379 0.20184621
-0.25122190 0.74817607 0.20367689
-0.25219941 0.74672965 0.20547042
-0.25317693 0.74530727 0.20723292
-0.25415445 0.74390115 0.20896960
-0.25513196 0.74250538 0.21068200
-0.25610948 0.74111985 0.21237142
-0.25708700 0.73974444 0.21403914
-0.25806452 0.73838897 0.21568634
-0.25904203 0.73705025 0.21731416
-0.26001955 0.73572080 0.21892367
-0.26099707 0.73440054 0.22051588
-0.26197458 0.73308936 0.22209176
-0.26295210 0.73179453 0.22364976
-0.26392962 0.73051679 0.22519215
-0.26490714 0.72924739 0.22672038
-0.26588465 0.72798623 0.22823273
-0.26686217 0.72673323 0.22973063
-0.26783969 0.72549344 0.23121629
-0.26881720 0.72427097 0.23268587
-0.26979472 0.72305599 0.23414401
-0.27077224 0.72184842 0.23558882
-0.27174976 0.72064820 0.23702103
-0.27272727 0.71945844 0.23844203
-0.27370479 0.71828610 0.23984979
-0.27468231 0.71712050 0.24124792
-0.27565982 0.71596157 0.24263262
-0.27663734 0.71480927 0.24400876
-0.27761486 0.71366501 0.24537168
-0.27859238 0.71253818 0.24672667
-0.27956989 0.71141742 0.24806903
-0.28054741 0.71030267 0.24940367
-0.28152493 0.70919389 0.25072659
-0.28250244 0.70809106 0.25204165
-0.28347996 0.70700557 0.25334618
-0.28445748 0.70592553 0.25464239
-0.28543500 0.70485092 0.25592952
-0.28641251 0.70378169 0.25720758
-0.28739003 0.70271779 0.25847822
-0.28836755 0.70166862 0.25973880
-0.28934506 0.70062558 0.26099337
-0.29032258 0.69958742 0.26223755
-0.29130010 0.69855412 0.26347553
-0.29227761 0.69752564 0.26470524
-0.29325513 0.69650949 0.26592723
-0.29423265 0.69550004 0.26714320
-0.29521017 0.69449498 0.26834979
-0.29618768 0.69349430 0.26955111
-0.29716520 0.69249796 0.27074444
-0.29814272 0.69151186 0.27193114
-0.29912023 0.69053287 0.27311234
-0.30009775 0.68955785 0.27428495
-0.30107527 0.68858676 0.27545274
-0.30205279 0.68761958 0.27661362
-0.30303030 0.68666076 0.27776803
-0.30400782 0.68570938 0.27891786
-0.30498534 0.68476154 0.28005970
-0.30596285 0.68381725 0.28119682
-0.30694037 0.68287647 0.28232868
-0.30791789 0.68194242 0.28345356
-0.30889541 0.68101598 0.28457426
-0.30987292 0.68009273 0.28568897
-0.31085044 0.67917264 0.28679805
-0.31182796 0.67825571 0.28790314
-0.31280547 0.67734408 0.28900176
-0.31378299 0.67644013 0.29009583
-0.31476051 0.67553902 0.29118611
-0.31573803 0.67464075 0.29226963
-0.31671554 0.67374530 0.29334946
-0.31769306 0.67285389 0.29442525
-0.31867058 0.67197014 0.29549502
-0.31964809 0.67108892 0.29656133
-0.32062561 0.67021023 0.29762345
-0.32160313 0.66933404 0.29868024
-0.32258065 0.66846082 0.29973374
-0.32355816 0.66759513 0.30078303
-0.32453568 0.66673167 0.30182751
-0.32551320 0.66587045 0.30286887
-0.32649071 0.66501145 0.30390610
-0.32746823 0.66415466 0.30493893
-0.32844575 0.66330485 0.30596879
-0.32942326 0.66245716 0.30699470
-0.33040078 0.66161144 0.30801651
-0.33137830 0.66076767 0.30903550
-0.33235582 0.65992584 0.31005075
-0.33333333 0.65908967 0.31106215
-0.33431085 0.65825587 0.31207087
-0.33528837 0.65742377 0.31307613
-0.33626588 0.65659337 0.31407770
-0.33724340 0.65576467 0.31507673
-0.33822092 0.65494046 0.31607198
-0.33919844 0.65411875 0.31706264
-0.34017595 0.65329850 0.31805099
-0.34115347 0.65247971 0.31903617
-0.34213099 0.65166237 0.32001692
-0.34310850 0.65084852 0.32099560
-0.34408602 0.65003719 0.32197170
-0.34506354 0.64922708 0.32294352
-0.34604106 0.64841821 0.32391349
-0.34701857 0.64761056 0.32488146
-0.34799609 0.64680554 0.32584530
-0.34897361 0.64600293 0.32680750
-0.34995112 0.64520134 0.32776805
-0.35092864 0.64440076 0.32872502
-0.35190616 0.64360119 0.32968035
-0.35288368 0.64280350 0.33063426
-0.35386119 0.64200804 0.33158533
-0.35483871 0.64121338 0.33253470
-0.35581623 0.64041952 0.33348284
-0.35679374 0.63962646 0.33442883
-0.35777126 0.63883468 0.33537310
-0.35874878 0.63804481 0.33631634
-0.35972630 0.63725555 0.33725803
-0.36070381 0.63646688 0.33819806
-0.36168133 0.63567880 0.33913724
-0.36265885 0.63489151 0.34007538
-0.36363636 0.63410574 0.34101201
-0.36461388 0.63332037 0.34194799
-0.36559140 0.63253539 0.34288331
-0.36656891 0.63175080 0.34381737
-0.36754643 0.63096664 0.34475097
-0.36852395 0.63018348 0.34568410
-0.36950147 0.62940052 0.34661650
-0.37047898 0.62861775 0.34754854
-0.37145650 0.62783518 0.34848030
-0.37243402 0.62705280 0.34941175
-0.37341153 0.62627077 0.35034304
-0.37438905 0.62548876 0.35127424
-0.37536657 0.62470674 0.35220543
-0.37634409 0.62392473 0.35313679
-0.37732160 0.62314272 0.35406824
-0.37829912 0.62236043 0.35499987
-0.37927664 0.62157791 0.35593211
-0.38025415 0.62079519 0.35686463
-0.38123167 0.62001228 0.35779743
-0.38220919 0.61922917 0.35873133
-0.38318671 0.61844529 0.35966573
-0.38416422 0.61766080 0.36060060
-0.38514174 0.61687591 0.36153679
-0.38611926 0.61609064 0.36247390
-0.38709677 0.61530497 0.36341166
-0.38807429 0.61451813 0.36435085
-0.38905181 0.61373020 0.36529150
-0.39002933 0.61294168 0.36623299
-0.39100684 0.61215256 0.36717592
-0.39198436 0.61136285 0.36812094
-0.39296188 0.61057168 0.36906701
-0.39393939 0.60977882 0.37001444
-0.39491691 0.60898516 0.37096469
-0.39589443 0.60819070 0.37191618
-0.39687195 0.60739544 0.37286891
-0.39784946 0.60659855 0.37382525
-0.39882698 0.60579922 0.37478304
-0.39980450 0.60499890 0.37574227
-0.40078201 0.60419756 0.37670519
-0.40175953 0.60339521 0.37767018
-0.40273705 0.60259116 0.37863682
-0.40371457 0.60178382 0.37960719
-0.40469208 0.60097525 0.38058030
-0.40566960 0.60016546 0.38155526
-0.40664712 0.59935443 0.38253399
-0.40762463 0.59854174 0.38351615
-0.40860215 0.59772477 0.38450040
-0.40957967 0.59690634 0.38548843
-0.41055718 0.59608645 0.38648062
-0.41153470 0.59526511 0.38747513
-0.41251222 0.59444225 0.38847349
-0.41348974 0.59361396 0.38947672
-0.41446725 0.59278399 0.39048250
-0.41544477 0.59195232 0.39149155
-0.41642229 0.59111894 0.39250467
-0.41739980 0.59028386 0.39352048
-0.41837732 0.58944297 0.39453968
-0.41935484 0.58859969 0.39556327
-0.42033236 0.58775445 0.39658970
-0.42130987 0.58690726 0.39761971
-0.42228739 0.58605810 0.39865437
-0.42326491 0.58520295 0.39969203
-0.42424242 0.58434451 0.40073354
-0.42521994 0.58348384 0.40177991
-0.42619746 0.58262095 0.40282942
-0.42717498 0.58175582 0.40388318
-0.42815249 0.58088462 0.40494190
-0.42913001 0.58000905 0.40600393
-0.43010753 0.57913099 0.40707072
-0.43108504 0.57825040 0.40814248
-0.43206256 0.57736728 0.40921771
-0.43304008 0.57647812 0.41029836
-0.43401760 0.57558337 0.41138386
-0.43499511 0.57468581 0.41247301
-0.43597263 0.57378542 0.41356841
-0.43695015 0.57288218 0.41466839
-0.43792766 0.57197303 0.41577220
-0.43890518 0.57105688 0.41688332
-0.43988270 0.57013759 0.41799853
-0.44086022 0.56921513 0.41911858
-0.44183773 0.56828949 0.42024563
-0.44281525 0.56735818 0.42137689
-0.44379277 0.56641827 0.42251434
-0.44477028 0.56547486 0.42365807
-0.44574780 0.56452791 0.42480621
-0.44672532 0.56357742 0.42596221
-0.44770283 0.56262161 0.42712348
-0.44868035 0.56165541 0.42829028
-0.44965787 0.56068529 0.42946517
-0.45063539 0.55971125 0.43064489
-0.45161290 0.55873326 0.43183231
-0.45259042 0.55775044 0.43302636
-0.45356794 0.55675519 0.43422600
-0.45454545 0.55575559 0.43543492
-0.45552297 0.55475164 0.43664915
-0.45650049 0.55374329 0.43787175
-0.45747801 0.55273051 0.43910163
-0.45845552 0.55170345 0.44033810
-0.45943304 0.55067135 0.44158421
-0.46041056 0.54963442 0.44283613
-0.46138807 0.54859260 0.44409826
-0.46236559 0.54754587 0.44536727
-0.46334311 0.54648479 0.44664519
-0.46432063 0.54541689 0.44793195
-0.46529814 0.54434363 0.44922653
-0.46627566 0.54326495 0.45053171
-0.46725318 0.54218083 0.45184389
-0.46823069 0.54108237 0.45316819
-0.46920821 0.53997508 0.45449940
-0.47018573 0.53886183 0.45584313
-0.47116325 0.53774257 0.45719450
-0.47214076 0.53661727 0.45855837
-0.47311828 0.53547778 0.45993068
-0.47409580 0.53432712 0.46131585
-0.47507331 0.53316986 0.46270993
-0.47605083 0.53200593 0.46411767
-0.47702835 0.53083528 0.46553438
-0.47800587 0.52965071 0.46695262
-0.47898338 0.52845232 0.46837800
-0.47996090 0.52724659 0.46980609
-0.48093842 0.52603347 0.47123994
-0.48191593 0.52481288 0.47267837
-0.48289345 0.52357875 0.47412061
-0.48387097 0.52232778 0.47556907
-0.48484848 0.52106867 0.47702029
-0.48582600 0.51980133 0.47847676
-0.48680352 0.51852569 0.47993880
-0.48778104 0.51723703 0.48140371
-0.48875855 0.51592811 0.48287336
-0.48973607 0.51461012 0.48434789
-0.49071359 0.51328298 0.48582689
-0.49169110 0.51194659 0.48730922
-0.49266862 0.51059784 0.48879513
-0.49364614 0.50922495 0.49028478
-0.49462366 0.50784195 0.49177772
-0.49560117 0.50644876 0.49327351
-0.49657869 0.50504524 0.49477078
-0.49755621 0.50363020 0.49626887
-0.49853372 0.50218659 0.49776632
-0.49951124 0.50073171 0.49925937
-0.50048876 0.49926829 0.50074063
-0.50146628 0.49781341 0.50223368
-0.50244379 0.49636980 0.50373113
-0.50342131 0.49495476 0.50522922
-0.50439883 0.49355124 0.50672649
-0.50537634 0.49215805 0.50822228
-0.50635386 0.49077505 0.50971522
-0.50733138 0.48940216 0.51120487
-0.50830890 0.48805341 0.51269078
-0.50928641 0.48671702 0.51417311
-0.51026393 0.48538988 0.51565211
-0.51124145 0.48407189 0.51712664
-0.51221896 0.48276297 0.51859629
-0.51319648 0.48147431 0.52006120
-0.51417400 0.48019867 0.52152324
-0.51515152 0.47893133 0.52297971
-0.51612903 0.47767222 0.52443093
-0.51710655 0.47642125 0.52587939
-0.51808407 0.47518712 0.52732163
-0.51906158 0.47396653 0.52876006
-0.52003910 0.47275341 0.53019391
-0.52101662 0.47154768 0.53162200
-0.52199413 0.47034929 0.53304738
-0.52297165 0.46916472 0.53446562
-0.52394917 0.46799407 0.53588233
-0.52492669 0.46683014 0.53729007
-0.52590420 0.46567288 0.53868415
-0.52688172 0.46452222 0.54006932
-0.52785924 0.46338273 0.54144163
-0.52883675 0.46225743 0.54280550
-0.52981427 0.46113817 0.54415687
-0.53079179 0.46002492 0.54550060
-0.53176931 0.45891763 0.54683181
-0.53274682 0.45781917 0.54815611
-0.53372434 0.45673505 0.54946829
-0.53470186 0.45565637 0.55077347
-0.53567937 0.45458311 0.55206805
-0.53665689 0.45351521 0.55335481
-0.53763441 0.45245413 0.55463273
-0.53861193 0.45140740 0.55590174
-0.53958944 0.45036558 0.55716387
-0.54056696 0.44932865 0.55841579
-0.54154448 0.44829655 0.55966190
-0.54252199 0.44726949 0.56089837
-0.54349951 0.44625671 0.56212825
-0.54447703 0.44524836 0.56335085
-0.54545455 0.44424441 0.56456508
-0.54643206 0.44324481 0.56577400
-0.54740958 0.44224956 0.56697364
-0.54838710 0.44126674 0.56816769
-0.54936461 0.44028875 0.56935511
-0.55034213 0.43931471 0.57053483
-0.55131965 0.43834459 0.57170972
-0.55229717 0.43737839 0.57287652
-0.55327468 0.43642258 0.57403779
-0.55425220 0.43547209 0.57519379
-0.55522972 0.43452514 0.57634193
-0.55620723 0.43358173 0.57748566
-0.55718475 0.43264182 0.57862311
-0.55816227 0.43171051 0.57975437
-0.55913978 0.43078487 0.58088142
-0.56011730 0.42986241 0.58200147
-0.56109482 0.42894312 0.58311668
-0.56207234 0.42802697 0.58422780
-0.56304985 0.42711782 0.58533161
-0.56402737 0.42621458 0.58643159
-0.56500489 0.42531419 0.58752699
-0.56598240 0.42441663 0.58861614
-0.56695992 0.42352188 0.58970164
-0.56793744 0.42263272 0.59078229
-0.56891496 0.42174960 0.59185752
-0.56989247 0.42086901 0.59292928
-0.57086999 0.41999095 0.59399607
-0.57184751 0.41911538 0.59505810
-0.57282502 0.41824418 0.59611682
-0.57380254 0.41737905 0.59717058
-0.57478006 0.41651616 0.59822009
-0.57575758 0.41565549 0.59926646
-0.57673509 0.41479705 0.60030797
-0.57771261 0.41394190 0.60134563
-0.57869013 0.41309274 0.60238029
-0.57966764 0.41224555 0.60341030
-0.58064516 0.41140031 0.60443673
-0.58162268 0.41055703 0.60546032
-0.58260020 0.40971614 0.60647952
-0.58357771 0.40888106 0.60749533
-0.58455523 0.40804768 0.60850845
-0.58553275 0.40721601 0.60951750
-0.58651026 0.40638604 0.61052328
-0.58748778 0.40555775 0.61152651
-0.58846530 0.40473489 0.61252487
-0.58944282 0.40391355 0.61351938
-0.59042033 0.40309366 0.61451157
-0.59139785 0.40227523 0.61549960
-0.59237537 0.40145826 0.61648385
-0.59335288 0.40064557 0.61746601
-0.59433040 0.39983454 0.61844474
-0.59530792 0.39902475 0.61941970
-0.59628543 0.39821618 0.62039281
-0.59726295 0.39740884 0.62136318
-0.59824047 0.39660479 0.62232982
-0.59921799 0.39580244 0.62329481
-0.60019550 0.39500110 0.62425773
-0.60117302 0.39420078 0.62521696
-0.60215054 0.39340145 0.62617475
-0.60312805 0.39260456 0.62713109
-0.60410557 0.39180930 0.62808382
-0.60508309 0.39101484 0.62903531
-0.60606061 0.39022118 0.62998556
-0.60703812 0.38942832 0.63093299
-0.60801564 0.38863715 0.63187906
-0.60899316 0.38784744 0.63282408
-0.60997067 0.38705832 0.63376701
-0.61094819 0.38626980 0.63470850
-0.61192571 0.38548187 0.63564915
-0.61290323 0.38469503 0.63658834
-0.61388074 0.38390936 0.63752610
-0.61485826 0.38312409 0.63846321
-0.61583578 0.38233920 0.63939940
-0.61681329 0.38155471 0.64033427
-0.61779081 0.38077083 0.64126867
-0.61876833 0.37998772 0.64220257
-0.61974585 0.37920481 0.64313537
-0.62072336 0.37842209 0.64406789
-0.62170088 0.37763957 0.64500013
-0.62267840 0.37685728 0.64593176
-0.62365591 0.37607527 0.64686321
-0.62463343 0.37529326 0.64779457
-0.62561095 0.37451124 0.64872576
-0.62658847 0.37372923 0.64965696
-0.62756598 0.37294720 0.65058825
-0.62854350 0.37216482 0.65151970
-0.62952102 0.37138225 0.65245146
-0.63049853 0.37059948 0.65338350
-0.63147605 0.36981652 0.65431590
-0.63245357 0.36903336 0.65524903
-0.63343109 0.36824920 0.65618263
-0.63440860 0.36746461 0.65711669
-0.63538612 0.36667963 0.65805201
-0.63636364 0.36589426 0.65898799
-0.63734115 0.36510849 0.65992462
-0.63831867 0.36432120 0.66086276
-0.63929619 0.36353312 0.66180194
-0.64027370 0.36274445 0.66274197
-0.64125122 0.36195519 0.66368366
-0.64222874 0.36116532 0.66462690
-0.64320626 0.36037354 0.66557117
-0.64418377 0.35958048 0.66651716
-0.64516129 0.35878662 0.66746530
-0.64613881 0.35799196 0.66841467
-0.64711632 0.35719650 0.66936574
-0.64809384 0.35639881 0.67031965
-0.64907136 0.35559924 0.67127498
-0.65004888 0.35479866 0.67223195
-0.65102639 0.35399707 0.67319250
-0.65200391 0.35319446 0.67415470
-0.65298143 0.35238944 0.67511854
-0.65395894 0.35158179 0.67608651
-0.65493646 0.35077292 0.67705648
-0.65591398 0.34996281 0.67802830
-0.65689150 0.34915148 0.67900440
-0.65786901 0.34833763 0.67998308
-0.65884653 0.34752029 0.68096383
-0.65982405 0.34670150 0.68194901
-0.66080156 0.34588125 0.68293736
-0.66177908 0.34505954 0.68392802
-0.66275660 0.34423533 0.68492327
-0.66373412 0.34340663 0.68592230
-0.66471163 0.34257623 0.68692387
-0.66568915 0.34174413 0.68792913
-0.66666667 0.34091033 0.68893785
-0.66764418 0.34007416 0.68994925
-0.66862170 0.33923233 0.69096450
-0.66959922 0.33838856 0.69198349
-0.67057674 0.33754284 0.69300530
-0.67155425 0.33669515 0.69403121
-0.67253177 0.33584534 0.69506107
-0.67350929 0.33498855 0.69609390
-0.67448680 0.33412955 0.69713113
-0.67546432 0.33326833 0.69817249
-0.67644184 0.33240487 0.69921697
-0.67741935 0.33153918 0.70026626
-0.67839687 0.33066596 0.70131976
-0.67937439 0.32978977 0.70237655
-0.68035191 0.32891108 0.70343867
-0.68132942 0.32802986 0.70450498
-0.68230694 0.32714611 0.70557475
-0.68328446 0.32625470 0.70665054
-0.68426197 0.32535925 0.70773037
-0.68523949 0.32446098 0.70881389
-0.68621701 0.32355987 0.70990417
-0.68719453 0.32265592 0.71099824
-0.68817204 0.32174429 0.71209686
-0.68914956 0.32082736 0.71320195
-0.69012708 0.31990727 0.71431103
-0.69110459 0.31898402 0.71542574
-0.69208211 0.31805758 0.71654644
-0.69305963 0.31712353 0.71767132
-0.69403715 0.31618275 0.71880318
-0.69501466 0.31523846 0.71994030
-0.69599218 0.31429062 0.72108214
-0.69696970 0.31333924 0.72223197
-0.69794721 0.31238042 0.72338638
-0.69892473 0.31141324 0.72454726
-0.69990225 0.31044215 0.72571505
-0.70087977 0.30946713 0.72688766
-0.70185728 0.30848814 0.72806886
-0.70283480 0.30750204 0.72925556
-0.70381232 0.30650570 0.73044889
-0.70478983 0.30550502 0.73165021
-0.70576735 0.30449996 0.73285680
-0.70674487 0.30349051 0.73407277
-0.70772239 0.30247436 0.73529476
-0.70869990 0.30144588 0.73652447
-0.70967742 0.30041258 0.73776245
-0.71065494 0.29937442 0.73900663
-0.71163245 0.29833138 0.74026120
-0.71260997 0.29728221 0.74152178
-0.71358749 0.29621831 0.74279242
-0.71456500 0.29514908 0.74407048
-0.71554252 0.29407447 0.74535761
-0.71652004 0.29299443 0.74665382
-0.71749756 0.29190894 0.74795835
-0.71847507 0.29080611 0.74927341
-0.71945259 0.28969733 0.75059633
-0.72043011 0.28858258 0.75193097
-0.72140762 0.28746182 0.75327333
-0.72238514 0.28633499 0.75462832
-0.72336266 0.28519073 0.75599124
-0.72434018 0.28403843 0.75736738
-0.72531769 0.28287950 0.75875208
-0.72629521 0.28171390 0.76015021
-0.72727273 0.28054156 0.76155797
-0.72825024 0.27935180 0.76297897
-0.72922776 0.27815158 0.76441118
-0.73020528 0.27694401 0.76585599
-0.73118280 0.27572903 0.76731413
-0.73216031 0.27450656 0.76878371
-0.73313783 0.27326677 0.77026937
-0.73411535 0.27201377 0.77176727
-0.73509286 0.27075261 0.77327962
-0.73607038 0.26948321 0.77480785
-0.73704790 0.26820547 0.77635024
-0.73802542 0.26691064 0.77790824
-0.73900293 0.26559946 0.77948412
-0.73998045 0.26427920 0.78107633
-0.74095797 0.26294975 0.78268584
-0.74193548 0.26161103 0.78431366
-0.74291300 0.26025556 0.78596086
-0.74389052 0.25888015 0.78762858
-0.74486804 0.25749462 0.78931800
-0.74584555 0.25609885 0.79103040
-0.74682307 0.25469273 0.79276708
-0.74780059 0.25327035 0.79452958
-0.74877810 0.25182393 0.79632311
-0.74975562 0.25036621 0.79815379
-0.75073314 0.25000000 0.79861996
-0.75171065 0.25000000 0.79861948
-0.75268817 0.25000000 0.79861883
-0.75366569 0.25000000 0.79861805
-0.75464321 0.25000000 0.79861715
-0.75562072 0.25000000 0.79861615
-0.75659824 0.25000000 0.79861505
-0.75757576 0.25000000 0.79861387
-0.75855327 0.25000000 0.79861262
-0.75953079 0.25000000 0.79861128
-0.76050831 0.25000000 0.79860987
-0.76148583 0.25000000 0.79860838
-0.76246334 0.25000000 0.79860682
-0.76344086 0.25000000 0.79860521
-0.76441838 0.25000000 0.79860352
-0.76539589 0.25000000 0.79860177
-0.76637341 0.25000000 0.79859997
-0.76735093 0.25000000 0.79859809
-0.76832845 0.25000000 0.79859615
-0.76930596 0.25000000 0.79859417
-0.77028348 0.25000000 0.79859211
-0.77126100 0.25000000 0.79859002
-0.77223851 0.25000000 0.79858784
-0.77321603 0.25000000 0.79858563
-0.77419355 0.25000000 0.79858334
-0.77517107 0.25000000 0.79858101
-0.77614858 0.25000000 0.79857862
-0.77712610 0.25000000 0.79857618
-0.77810362 0.25000000 0.79857368
-0.77908113 0.25000000 0.79857113
-0.78005865 0.25000000 0.79856851
-0.78103617 0.25000000 0.79856586
-0.78201369 0.25000000 0.79856313
-0.78299120 0.25000000 0.79856038
-0.78396872 0.25000000 0.79855754
-0.78494624 0.25000000 0.79855468
-0.78592375 0.25000000 0.79855172
-0.78690127 0.25000000 0.79854875
-0.78787879 0.25000000 0.79854569
-0.78885630 0.25000000 0.79854260
-0.78983382 0.25000000 0.79853945
-0.79081134 0.25000000 0.79853623
-0.79178886 0.25000000 0.79853299
-0.79276637 0.25000000 0.79852965
-0.79374389 0.25000000 0.79852628
-0.79472141 0.25000000 0.79852285
-0.79569892 0.25000000 0.79851935
-0.79667644 0.25000000 0.79851583
-0.79765396 0.25000000 0.79851220
-0.79863148 0.25000000 0.79850856
-0.79960899 0.25000000 0.79850483
-0.80058651 0.25000000 0.79850105
-0.80156403 0.25000000 0.79849724
-0.80254154 0.25000000 0.79849331
-0.80351906 0.25000000 0.79848937
-0.80449658 0.25000000 0.79848535
-0.80547410 0.25000000 0.79848126
-0.80645161 0.25000000 0.79847714
-0.80742913 0.25000000 0.79847293
-0.80840665 0.25000000 0.79846866
-0.80938416 0.25000000 0.79846436
-0.81036168 0.25000000 0.79845994
-0.81133920 0.25000000 0.79845549
-0.81231672 0.25000000 0.79845098
-0.81329423 0.25000000 0.79844637
-0.81427175 0.25000000 0.79844173
-0.81524927 0.25000000 0.79843701
-0.81622678 0.25000000 0.79843220
-0.81720430 0.25000000 0.79842736
-0.81818182 0.25000000 0.79842242
-0.81915934 0.25000000 0.79841741
-0.82013685 0.25000000 0.79841236
-0.82111437 0.25000000 0.79840720
-0.82209189 0.25000000 0.79840197
-0.82306940 0.25000000 0.79839671
-0.82404692 0.25000000 0.79839131
-0.82502444 0.25000000 0.79838586
-0.82600196 0.25000000 0.79838037
-0.82697947 0.25000000 0.79837473
-0.82795699 0.25000000 0.79836905
-0.82893451 0.25000000 0.79836332
-0.82991202 0.25000000 0.79835744
-0.83088954 0.25000000 0.79835151
-0.83186706 0.25000000 0.79834554
-0.83284457 0.25000000 0.79833940
-0.83382209 0.25000000 0.79833321
-0.83479961 0.25000000 0.79832698
-0.83577713 0.25000000 0.79832058
-0.83675464 0.25000000 0.79831412
-0.83773216 0.25000000 0.79830761
-0.83870968 0.25000000 0.79830093
-0.83968719 0.25000000 0.79829419
-0.84066471 0.25000000 0.79828739
-0.84164223 0.25000000 0.79828043
-0.84261975 0.25000000 0.79827338
-0.84359726 0.25000000 0.79826628
-0.84457478 0.25000000 0.79825903
-0.84555230 0.25000000 0.79825166
-0.84652981 0.25000000 0.79824424
-0.84750733 0.25000000 0.79823667
-0.84848485 0.25000000 0.79822898
-0.84946237 0.25000000 0.79822122
-0.85043988 0.25000000 0.79821332
-0.85141740 0.25000000 0.79820528
-0.85239492 0.25000000 0.79819716
-0.85337243 0.25000000 0.79818892
-0.85434995 0.25000000 0.79818050
-0.85532747 0.25000000 0.79817200
-0.85630499 0.25000000 0.79816341
-0.85728250 0.25000000 0.79815459
-0.85826002 0.25000000 0.79814569
-0.85923754 0.25000000 0.79813671
-0.86021505 0.25000000 0.79812749
-0.86119257 0.25000000 0.79811816
-0.86217009 0.25000000 0.79810874
-0.86314761 0.25000000 0.79809911
-0.86412512 0.25000000 0.79808933
-0.86510264 0.25000000 0.79807945
-0.86608016 0.25000000 0.79806938
-0.86705767 0.25000000 0.79805912
-0.86803519 0.25000000 0.79804875
-0.86901271 0.25000000 0.79803822
-0.86999022 0.25000000 0.79802745
-0.87096774 0.25000000 0.79801656
-0.87194526 0.25000000 0.79800553
-0.87292278 0.25000000 0.79799421
-0.87390029 0.25000000 0.79798276
-0.87487781 0.25000000 0.79797119
-0.87585533 0.25000000 0.79795931
-0.87683284 0.25000000 0.79794726
-0.87781036 0.25000000 0.79793508
-0.87878788 0.25000000 0.79792262
-0.87976540 0.25000000 0.79790994
-0.88074291 0.25000000 0.79789710
-0.88172043 0.25000000 0.79788401
-0.88269795 0.25000000 0.79787065
-0.88367546 0.25000000 0.79785711
-0.88465298 0.25000000 0.79784335
-0.88563050 0.25000000 0.79782925
-0.88660802 0.25000000 0.79781497
-0.88758553 0.25000000 0.79780049
-0.88856305 0.25000000 0.79778559
-0.88954057 0.25000000 0.79777050
-0.89051808 0.25000000 0.79775520
-0.89149560 0.25000000 0.79773949
-0.89247312 0.25000000 0.79772352
-0.89345064 0.25000000 0.79770732
-0.89442815 0.25000000 0.79769073
-0.89540567 0.25000000 0.79767382
-0.89638319 0.25000000 0.79765666
-0.89736070 0.25000000 0.79763911
-0.89833822 0.25000000 0.79762117
-0.89931574 0.25000000 0.79760296
-0.90029326 0.25000000 0.79758437
-0.90127077 0.25000000 0.79756532
-0.90224829 0.25000000 0.79754596
-0.90322581 0.25000000 0.79752623
-0.90420332 0.25000000 0.79750596
-0.90518084 0.25000000 0.79748536
-0.90615836 0.25000000 0.79746439
-0.90713587 0.25000000 0.79744279
-0.90811339 0.25000000 0.79742082
-0.90909091 0.25000000 0.79739846
-0.91006843 0.25000000 0.79737542
-0.91104594 0.25000000 0.79735195
-0.91202346 0.25000000 0.79732805
-0.91300098 0.25000000 0.79730343
-0.91397849 0.25000000 0.79727831
-0.91495601 0.25000000 0.79725272
-0.91593353 0.25000000 0.79722635
-0.91691105 0.25000000 0.79719941
-0.91788856 0.25000000 0.79717194
-0.91886608 0.25000000 0.79714363
-0.91984360 0.25000000 0.79711467
-0.92082111 0.25000000 0.79708512
-0.92179863 0.25000000 0.79705464
-0.92277615 0.25000000 0.79702344
-0.92375367 0.25000000 0.79699156
-0.92473118 0.25000000 0.79695865
-0.92570870 0.25000000 0.79692493
-0.92668622 0.25000000 0.79689046
-0.92766373 0.25000000 0.79685481
-0.92864125 0.25000000 0.79681828
-0.92961877 0.25000000 0.79678089
-0.93059629 0.25000000 0.79674213
-0.93157380 0.25000000 0.79670242
-0.93255132 0.25000000 0.79666168
-0.93352884 0.25000000 0.79661945
-0.93450635 0.25000000 0.79657614
-0.93548387 0.25000000 0.79653155
-0.93646139 0.25000000 0.79648538
-0.93743891 0.25000000 0.79643797
-0.93841642 0.25000000 0.79638897
-0.93939394 0.25000000 0.79633829
-0.94037146 0.25000000 0.79628616
-0.94134897 0.25000000 0.79623206
-0.94232649 0.25000000 0.79617617
-0.94330401 0.25000000 0.79611860
-0.94428152 0.25000000 0.79605856
-0.94525904 0.25000000 0.79599664
-0.94623656 0.25000000 0.79593249
-0.94721408 0.25000000 0.79586572
-0.94819159 0.25000000 0.79579673
-0.94916911 0.25000000 0.79572481
-0.95014663 0.25000000 0.79565013
-0.95112414 0.25000000 0.79557268
-0.95210166 0.25000000 0.79549161
-0.95307918 0.25000000 0.79540752
-0.95405670 0.25000000 0.79531963
-0.95503421 0.25000000 0.79522790
-0.95601173 0.25000000 0.79513236
-0.95698925 0.25000000 0.79503193
-0.95796676 0.25000000 0.79492728
-0.95894428 0.25000000 0.79481726
-0.95992180 0.25000000 0.79470198
-0.96089932 0.25000000 0.79458101
-0.96187683 0.25000000 0.79445345
-0.96285435 0.25000000 0.79431971
-0.96383187 0.25000000 0.79417785
-0.96480938 0.25000000 0.79402872
-0.96578690 0.25000000 0.79387044
-0.96676442 0.25000000 0.79370311
-0.96774194 0.25000000 0.79352532
-0.96871945 0.25000000 0.79333630
-0.96969697 0.25000000 0.79313501
-0.97067449 0.25000000 0.79291987
-0.97165200 0.25000000 0.79268996
-0.97262952 0.25000000 0.79244291
-0.97360704 0.25000000 0.79217766
-0.97458456 0.25000000 0.79189110
-0.97556207 0.25000000 0.79158154
-0.97653959 0.25000000 0.79124522
-0.97751711 0.25000000 0.79090029
-0.97849462 0.25000000 0.79054673
-0.97947214 0.25000000 0.79018995
-0.98044966 0.25000000 0.78981442
-0.98142717 0.25000000 0.78944502
-0.98240469 0.25000000 0.78905221
-0.98338221 0.25000000 0.78865750
-0.98435973 0.25000000 0.78825020
-0.98533724 0.25000000 0.78781850
-0.98631476 0.25000000 0.78739050
-0.98729228 0.25000000 0.78694035
-0.98826979 0.25000000 0.78646407
-0.98924731 0.25000000 0.78597481
-0.99022483 0.25000000 0.78546981
-0.99120235 0.25000000 0.78493388
-0.99217986 0.25000000 0.78436450
-0.99315738 0.25000000 0.78375795
-0.99413490 0.25000000 0.78310826
-0.99511241 0.25000000 0.78240496
-0.99608993 0.25000000 0.78162741
-0.99706745 0.25000000 0.78072789
-0.99804497 0.25000000 0.77969339
-0.99902248 0.25000000 0.77832850
-1.00000000 nan nan
+Ambient Power InversePower
+0.000000000 nan nan
+0.000977517 0.750000000 0.221671502
+0.001955034 0.750000000 0.220306607
+0.002932551 0.750000000 0.219272108
+0.003910068 0.750000000 0.218372593
+0.004887586 0.750000000 0.217595038
+0.005865103 0.750000000 0.216891736
+0.006842620 0.750000000 0.216242049
+0.007820137 0.750000000 0.215635499
+0.008797654 0.750000000 0.215066121
+0.009775171 0.750000000 0.214530188
+0.010752688 0.750000000 0.214025192
+0.011730205 0.750000000 0.213535928
+0.012707722 0.750000000 0.213059653
+0.013685239 0.750000000 0.212609497
+0.014662757 0.750000000 0.212181500
+0.015640274 0.750000000 0.211749797
+0.016617791 0.750000000 0.211342499
+0.017595308 0.750000000 0.210947791
+0.018572825 0.750000000 0.210554977
+0.019550342 0.750000000 0.210185583
+0.020527859 0.750000000 0.209810047
+0.021505376 0.750000000 0.209453273
+0.022482893 0.750000000 0.209099710
+0.023460411 0.750000000 0.208754784
+0.024437928 0.750000000 0.208418460
+0.025415445 0.750000000 0.208108896
+0.026392962 0.750000000 0.207822337
+0.027370479 0.750000000 0.207557090
+0.028347996 0.750000000 0.207310043
+0.029325513 0.750000000 0.207080132
+0.030303030 0.750000000 0.206864987
+0.031280547 0.750000000 0.206663695
+0.032258065 0.750000000 0.206474685
+0.033235582 0.750000000 0.206296887
+0.034213099 0.750000000 0.206129563
+0.035190616 0.750000000 0.205971282
+0.036168133 0.750000000 0.205822154
+0.037145650 0.750000000 0.205680293
+0.038123167 0.750000000 0.205546551
+0.039100684 0.750000000 0.205418994
+0.040078201 0.750000000 0.205298019
+0.041055718 0.750000000 0.205182743
+0.042033236 0.750000000 0.205072718
+0.043010753 0.750000000 0.204968065
+0.043988270 0.750000000 0.204867643
+0.044965787 0.750000000 0.204772102
+0.045943304 0.750000000 0.204680372
+0.046920821 0.750000000 0.204592478
+0.047898338 0.750000000 0.204508389
+0.048875855 0.750000000 0.204427324
+0.049853372 0.750000000 0.204349869
+0.050830890 0.750000000 0.204275190
+0.051808407 0.750000000 0.204203265
+0.052785924 0.750000000 0.204134275
+0.053763441 0.750000000 0.204067513
+0.054740958 0.750000000 0.204003359
+0.055718475 0.750000000 0.203941436
+0.056695992 0.750000000 0.203881398
+0.057673509 0.750000000 0.203823826
+0.058651026 0.750000000 0.203767941
+0.059628543 0.750000000 0.203713842
+0.060606061 0.750000000 0.203661714
+0.061583578 0.750000000 0.203611030
+0.062561095 0.750000000 0.203562034
+0.063538612 0.750000000 0.203514617
+0.064516129 0.750000000 0.203468446
+0.065493646 0.750000000 0.203423862
+0.066471163 0.750000000 0.203380551
+0.067448680 0.750000000 0.203338322
+0.068426197 0.750000000 0.203297578
+0.069403715 0.750000000 0.203257869
+0.070381232 0.750000000 0.203219115
+0.071358749 0.750000000 0.203181723
+0.072336266 0.750000000 0.203145191
+0.073313783 0.750000000 0.203109538
+0.074291300 0.750000000 0.203075066
+0.075268817 0.750000000 0.203041351
+0.076246334 0.750000000 0.203008438
+0.077223851 0.750000000 0.202976564
+0.078201369 0.750000000 0.202945359
+0.079178886 0.750000000 0.202914878
+0.080156403 0.750000000 0.202885326
+0.081133920 0.750000000 0.202856368
+0.082111437 0.750000000 0.202828056
+0.083088954 0.750000000 0.202800588
+0.084066471 0.750000000 0.202773648
+0.085043988 0.750000000 0.202747278
+0.086021505 0.750000000 0.202721688
+0.086999022 0.750000000 0.202696569
+0.087976540 0.750000000 0.202671946
+0.088954057 0.750000000 0.202648053
+0.089931574 0.750000000 0.202624584
+0.090909091 0.750000000 0.202601536
+0.091886608 0.750000000 0.202579184
+0.092864125 0.750000000 0.202557213
+0.093841642 0.750000000 0.202535613
+0.094819159 0.750000000 0.202514642
+0.095796676 0.750000000 0.202494036
+0.096774194 0.750000000 0.202473765
+0.097751711 0.750000000 0.202454042
+0.098729228 0.750000000 0.202434684
+0.099706745 0.750000000 0.202415629
+0.100684262 0.750000000 0.202397043
+0.101661779 0.750000000 0.202378829
+0.102639296 0.750000000 0.202360889
+0.103616813 0.750000000 0.202343345
+0.104594330 0.750000000 0.202326181
+0.105571848 0.750000000 0.202309267
+0.106549365 0.750000000 0.202292677
+0.107526882 0.750000000 0.202276482
+0.108504399 0.750000000 0.202260514
+0.109481916 0.750000000 0.202244803
+0.110459433 0.750000000 0.202229501
+0.111436950 0.750000000 0.202214406
+0.112414467 0.750000000 0.202199515
+0.113391984 0.750000000 0.202185031
+0.114369501 0.750000000 0.202170746
+0.115347019 0.750000000 0.202156646
+0.116324536 0.750000000 0.202142887
+0.117302053 0.750000000 0.202129352
+0.118279570 0.750000000 0.202115988
+0.119257087 0.750000000 0.202102901
+0.120234604 0.750000000 0.202090065
+0.121212121 0.750000000 0.202077384
+0.122189638 0.750000000 0.202064922
+0.123167155 0.750000000 0.202052737
+0.124144673 0.750000000 0.202040694
+0.125122190 0.750000000 0.202028815
+0.126099707 0.750000000 0.202017236
+0.127077224 0.750000000 0.202005788
+0.128054741 0.750000000 0.201994470
+0.129032258 0.750000000 0.201983442
+0.130009775 0.750000000 0.201972551
+0.130987292 0.750000000 0.201961779
+0.131964809 0.750000000 0.201951246
+0.132942326 0.750000000 0.201940877
+0.133919844 0.750000000 0.201930618
+0.134897361 0.750000000 0.201920549
+0.135874878 0.750000000 0.201910669
+0.136852395 0.750000000 0.201900891
+0.137829912 0.750000000 0.201891259
+0.138807429 0.750000000 0.201881839
+0.139784946 0.750000000 0.201872513
+0.140762463 0.750000000 0.201863294
+0.141739980 0.750000000 0.201854307
+0.142717498 0.750000000 0.201845406
+0.143695015 0.750000000 0.201836590
+0.144672532 0.750000000 0.201827998
+0.145650049 0.750000000 0.201819498
+0.146627566 0.750000000 0.201811078
+0.147605083 0.750000000 0.201802845
+0.148582600 0.750000000 0.201794724
+0.149560117 0.750000000 0.201786676
+0.150537634 0.750000000 0.201778785
+0.151515152 0.750000000 0.201771022
+0.152492669 0.750000000 0.201763326
+0.153470186 0.750000000 0.201755760
+0.154447703 0.750000000 0.201748336
+0.155425220 0.750000000 0.201740974
+0.156402737 0.750000000 0.201733719
+0.157380254 0.750000000 0.201726616
+0.158357771 0.750000000 0.201719570
+0.159335288 0.750000000 0.201712612
+0.160312805 0.750000000 0.201705813
+0.161290323 0.750000000 0.201699068
+0.162267840 0.750000000 0.201692394
+0.163245357 0.750000000 0.201685884
+0.164222874 0.750000000 0.201679424
+0.165200391 0.750000000 0.201673024
+0.166177908 0.750000000 0.201666789
+0.167155425 0.750000000 0.201660600
+0.168132942 0.750000000 0.201654463
+0.169110459 0.750000000 0.201648489
+0.170087977 0.750000000 0.201642558
+0.171065494 0.750000000 0.201636676
+0.172043011 0.750000000 0.201630951
+0.173020528 0.750000000 0.201625266
+0.173998045 0.750000000 0.201619630
+0.174975562 0.750000000 0.201614142
+0.175953079 0.750000000 0.201608691
+0.176930596 0.750000000 0.201603293
+0.177908113 0.750000000 0.201598032
+0.178885630 0.750000000 0.201592805
+0.179863148 0.750000000 0.201587638
+0.180840665 0.750000000 0.201582594
+0.181818182 0.750000000 0.201577581
+0.182795699 0.750000000 0.201572640
+0.183773216 0.750000000 0.201567801
+0.184750733 0.750000000 0.201562993
+0.185728250 0.750000000 0.201558272
+0.186705767 0.750000000 0.201553632
+0.187683284 0.750000000 0.201549019
+0.188660802 0.750000000 0.201544513
+0.189638319 0.750000000 0.201540063
+0.190615836 0.750000000 0.201535638
+0.191593353 0.750000000 0.201531342
+0.192570870 0.750000000 0.201527074
+0.193548387 0.750000000 0.201522856
+0.194525904 0.750000000 0.201518740
+0.195503421 0.750000000 0.201514646
+0.196480938 0.750000000 0.201510635
+0.197458456 0.750000000 0.201506688
+0.198435973 0.750000000 0.201502762
+0.199413490 0.750000000 0.201498955
+0.200391007 0.750000000 0.201495170
+0.201368524 0.750000000 0.201491445
+0.202346041 0.750000000 0.201487799
+0.203323558 0.750000000 0.201484172
+0.204301075 0.750000000 0.201480648
+0.205278592 0.750000000 0.201477155
+0.206256109 0.750000000 0.201473716
+0.207233627 0.750000000 0.201470354
+0.208211144 0.750000000 0.201467007
+0.209188661 0.750000000 0.201463769
+0.210166178 0.750000000 0.201460550
+0.211143695 0.750000000 0.201457402
+0.212121212 0.750000000 0.201454307
+0.213098729 0.750000000 0.201451251
+0.214076246 0.750000000 0.201448278
+0.215053763 0.750000000 0.201445318
+0.216031281 0.750000000 0.201442464
+0.217008798 0.750000000 0.201439621
+0.217986315 0.750000000 0.201436866
+0.218963832 0.750000000 0.201434139
+0.219941349 0.750000000 0.201431486
+0.220918866 0.750000000 0.201428872
+0.221896383 0.750000000 0.201426324
+0.222873900 0.750000000 0.201423821
+0.223851417 0.750000000 0.201421381
+0.224828935 0.750000000 0.201418988
+0.225806452 0.750000000 0.201416661
+0.226783969 0.750000000 0.201414375
+0.227761486 0.750000000 0.201412163
+0.228739003 0.750000000 0.201409982
+0.229716520 0.750000000 0.201407891
+0.230694037 0.750000000 0.201405828
+0.231671554 0.750000000 0.201403846
+0.232649071 0.750000000 0.201401913
+0.233626588 0.750000000 0.201400032
+0.234604106 0.750000000 0.201398232
+0.235581623 0.750000000 0.201396477
+0.236559140 0.750000000 0.201394788
+0.237536657 0.750000000 0.201393176
+0.238514174 0.750000000 0.201391621
+0.239491691 0.750000000 0.201390128
+0.240469208 0.750000000 0.201388719
+0.241446725 0.750000000 0.201387385
+0.242424242 0.750000000 0.201386125
+0.243401760 0.750000000 0.201384946
+0.244379277 0.750000000 0.201383854
+0.245356794 0.750000000 0.201382854
+0.246334311 0.750000000 0.201381954
+0.247311828 0.750000000 0.201381173
+0.248289345 0.750000000 0.201380522
+0.249266862 0.750000000 0.201380043
+0.250244379 0.749633789 0.201846207
+0.251221896 0.748176070 0.203676892
+0.252199413 0.746729651 0.205470420
+0.253176931 0.745307268 0.207232921
+0.254154448 0.743901152 0.208969603
+0.255131965 0.742505384 0.210681995
+0.256109482 0.741119851 0.212371422
+0.257086999 0.739744439 0.214039141
+0.258064516 0.738388970 0.215686343
+0.259042033 0.737050250 0.217314161
+0.260019550 0.735720805 0.218923667
+0.260997067 0.734400539 0.220515879
+0.261974585 0.733089356 0.222091759
+0.262952102 0.731794526 0.223649762
+0.263929619 0.730516794 0.225192151
+0.264907136 0.729247388 0.226720383
+0.265884653 0.727986227 0.228232727
+0.266862170 0.726733231 0.229730635
+0.267839687 0.725493442 0.231216292
+0.268817204 0.724270974 0.232685872
+0.269794721 0.723055990 0.234144013
+0.270772239 0.721848423 0.235588818
+0.271749756 0.720648204 0.237021028
+0.272727273 0.719458438 0.238442032
+0.273704790 0.718286101 0.239849792
+0.274682307 0.717120499 0.241247924
+0.275659824 0.715961575 0.242632618
+0.276637341 0.714809270 0.244008759
+0.277614858 0.713665012 0.245371680
+0.278592375 0.712538184 0.246726670
+0.279569892 0.711417421 0.248069026
+0.280547410 0.710302674 0.249403669
+0.281524927 0.709193894 0.250726587
+0.282502444 0.708091063 0.252041647
+0.283479961 0.707005566 0.253346179
+0.284457478 0.705925531 0.254642389
+0.285434995 0.704850918 0.255929518
+0.286412512 0.703781686 0.257207578
+0.287390029 0.702717795 0.258478219
+0.288367546 0.701668621 0.259738800
+0.289345064 0.700625580 0.260993370
+0.290322581 0.699587425 0.262237549
+0.291300098 0.698554121 0.263475527
+0.292277615 0.697525635 0.264705239
+0.293255132 0.696509490 0.265927232
+0.294232649 0.695500037 0.267143201
+0.295210166 0.694494984 0.268349791
+0.296187683 0.693494303 0.269551115
+0.297165200 0.692497965 0.270744440
+0.298142717 0.691511860 0.271931138
+0.299120235 0.690532874 0.273112342
+0.300097752 0.689557847 0.274284946
+0.301075269 0.688586755 0.275452739
+0.302052786 0.687619575 0.276613621
+0.303030303 0.686660765 0.277768031
+0.304007820 0.685709376 0.278917856
+0.304985337 0.684761545 0.280059697
+0.305962854 0.683817249 0.281196818
+0.306940371 0.682876470 0.282328684
+0.307917889 0.681942420 0.283453563
+0.308895406 0.681015980 0.284574256
+0.309872923 0.680092726 0.285688972
+0.310850440 0.679172643 0.286798049
+0.311827957 0.678255714 0.287903138
+0.312805474 0.677344077 0.289001763
+0.313782991 0.676440126 0.290095833
+0.314760508 0.675539023 0.291186105
+0.315738025 0.674640752 0.292269631
+0.316715543 0.673745302 0.293349456
+0.317693060 0.672853893 0.294425247
+0.318670577 0.671970143 0.295495017
+0.319648094 0.671088924 0.296561328
+0.320625611 0.670210227 0.297623455
+0.321603128 0.669334041 0.298680243
+0.322580645 0.668460818 0.299733738
+0.323558162 0.667595126 0.300783030
+0.324535679 0.666731672 0.301827515
+0.325513196 0.665870450 0.302868868
+0.326490714 0.665011449 0.303906100
+0.327468231 0.664154662 0.304938935
+0.328445748 0.663304848 0.305968793
+0.329423265 0.662457164 0.306994695
+0.330400782 0.661611439 0.308016510
+0.331378299 0.660767667 0.309035496
+0.332355816 0.659925840 0.310050754
+0.333333333 0.659089669 0.311062154
+0.334310850 0.658255868 0.312070870
+0.335288368 0.657423770 0.313076130
+0.336265885 0.656593371 0.314077703
+0.337243402 0.655764665 0.315076729
+0.338220919 0.654940458 0.316071981
+0.339198436 0.654118746 0.317062640
+0.340175953 0.653298497 0.318050990
+0.341153470 0.652479705 0.319036167
+0.342130987 0.651662368 0.320016921
+0.343108504 0.650848521 0.320995595
+0.344086022 0.650037186 0.321971698
+0.345063539 0.649227083 0.322943523
+0.346041056 0.648418210 0.323913488
+0.347018573 0.647610563 0.324881463
+0.347996090 0.646805538 0.325845303
+0.348973607 0.646002934 0.326807497
+0.349951124 0.645201343 0.327768050
+0.350928641 0.644400763 0.328725018
+0.351906158 0.643601190 0.329680354
+0.352883675 0.642803505 0.330634256
+0.353861193 0.642008044 0.331585332
+0.354838710 0.641213384 0.332534700
+0.355816227 0.640419523 0.333482835
+0.356793744 0.639626459 0.334428830
+0.357771261 0.638834675 0.335373101
+0.358748778 0.638044814 0.336316337
+0.359726295 0.637255548 0.337258027
+0.360703812 0.636466876 0.338198057
+0.361681329 0.635678797 0.339137245
+0.362658847 0.634891512 0.340075384
+0.363636364 0.634105743 0.341012014
+0.364613881 0.633320368 0.341947992
+0.365591398 0.632535386 0.342883313
+0.366568915 0.631750798 0.343817374
+0.367546432 0.630966638 0.344750971
+0.368523949 0.630183479 0.345684104
+0.369501466 0.629400516 0.346616504
+0.370478983 0.628617749 0.347548540
+0.371456500 0.627835178 0.348480299
+0.372434018 0.627052803 0.349411745
+0.373411535 0.626270772 0.350343037
+0.374389052 0.625488759 0.351274237
+0.375366569 0.624706745 0.352205426
+0.376344086 0.623924731 0.353136787
+0.377321603 0.623142717 0.354068240
+0.378299120 0.622360434 0.354999866
+0.379276637 0.621577912 0.355932108
+0.380254154 0.620795194 0.356864629
+0.381231672 0.620012280 0.357797428
+0.382209189 0.619229171 0.358731329
+0.383186706 0.618445288 0.359665733
+0.384164223 0.617660798 0.360600602
+0.385141740 0.616875914 0.361536789
+0.386119257 0.616090638 0.362473899
+0.387096774 0.615304967 0.363411663
+0.388074291 0.614518130 0.364350853
+0.389051808 0.613730200 0.365291500
+0.390029326 0.612941676 0.366232990
+0.391006843 0.612152558 0.367175921
+0.391984360 0.611362846 0.368120944
+0.392961877 0.610571682 0.369067005
+0.393939394 0.609778818 0.370014435
+0.394916911 0.608985156 0.370964689
+0.395894428 0.608190696 0.371916178
+0.396871945 0.607395436 0.372868906
+0.397849462 0.606598545 0.373825246
+0.398826979 0.605799225 0.374783038
+0.399804497 0.604998896 0.375742272
+0.400782014 0.604197558 0.376705194
+0.401759531 0.603395208 0.377670184
+0.402737048 0.602591157 0.378636823
+0.403714565 0.601783817 0.379607193
+0.404692082 0.600975251 0.380580296
+0.405669599 0.600165455 0.381555265
+0.406647116 0.599354429 0.382533989
+0.407624633 0.598541740 0.383516150
+0.408602151 0.597724765 0.384500397
+0.409579668 0.596906338 0.385488433
+0.410557185 0.596086453 0.386480623
+0.411534702 0.595265107 0.387475131
+0.412512219 0.594442248 0.388473492
+0.413489736 0.593613964 0.389476718
+0.414467253 0.592783988 0.390482499
+0.415444770 0.591952316 0.391491555
+0.416422287 0.591118941 0.392504668
+0.417399804 0.590283858 0.393520477
+0.418377322 0.589442972 0.394539685
+0.419354839 0.588599687 0.395563270
+0.420332356 0.587754450 0.396589695
+0.421309873 0.586907257 0.397619709
+0.422287390 0.586058099 0.398654373
+0.423264907 0.585202955 0.399692025
+0.424242424 0.584344508 0.400733540
+0.425219941 0.583483842 0.401779909
+0.426197458 0.582620947 0.402829422
+0.427174976 0.581755815 0.403883177
+0.428152493 0.580884615 0.404941902
+0.429130010 0.580009054 0.406003935
+0.430107527 0.579130986 0.407070716
+0.431085044 0.578250399 0.408142475
+0.432062561 0.577367283 0.409217712
+0.433040078 0.576478121 0.410298357
+0.434017595 0.575583374 0.411383856
+0.434995112 0.574685810 0.412473008
+0.435972630 0.573785416 0.413568413
+0.436950147 0.572882178 0.414668387
+0.437927664 0.571973027 0.415772198
+0.438905181 0.571056884 0.416883317
+0.439882698 0.570137591 0.417998533
+0.440860215 0.569215132 0.419118581
+0.441837732 0.568289490 0.420245634
+0.442815249 0.567358177 0.421376894
+0.443792766 0.566418275 0.422514343
+0.444770283 0.565474860 0.423658069
+0.445747801 0.564527914 0.424806212
+0.446725318 0.563577417 0.425962211
+0.447702835 0.562621612 0.427123480
+0.448680352 0.561655405 0.428290282
+0.449657869 0.560685294 0.429465166
+0.450635386 0.559711253 0.430644890
+0.451612903 0.558733259 0.431832308
+0.452590420 0.557750445 0.433026364
+0.453567937 0.556755188 0.434226000
+0.454545455 0.555755595 0.435434924
+0.455522972 0.554751638 0.436649146
+0.456500489 0.553743287 0.437871753
+0.457478006 0.552730515 0.439101626
+0.458455523 0.551703450 0.440338101
+0.459433040 0.550671354 0.441584214
+0.460410557 0.549634415 0.442836126
+0.461388074 0.548592599 0.444098260
+0.462365591 0.547545872 0.445367270
+0.463343109 0.546484786 0.446645195
+0.464320626 0.545416893 0.447931951
+0.465298143 0.544343629 0.449226535
+0.466275660 0.543264953 0.450531713
+0.467253177 0.542180826 0.451843888
+0.468230694 0.541082374 0.453168194
+0.469208211 0.539975079 0.454499403
+0.470185728 0.538861828 0.455843131
+0.471163245 0.537742573 0.457194500
+0.472140762 0.536617267 0.458558366
+0.473118280 0.535477779 0.459930679
+0.474095797 0.534327120 0.461315854
+0.475073314 0.533169855 0.462709935
+0.476050831 0.532005928 0.464117671
+0.477028348 0.530835281 0.465534381
+0.478005865 0.529650711 0.466952620
+0.478983382 0.528452318 0.468377996
+0.479960899 0.527246594 0.469806093
+0.480938416 0.526033471 0.471239943
+0.481915934 0.524812880 0.472678374
+0.482893451 0.523578752 0.474120606
+0.483870968 0.522327784 0.475569070
+0.484848485 0.521068672 0.477020289
+0.485826002 0.519801335 0.478476759
+0.486803519 0.518525692 0.479938796
+0.487781036 0.517237031 0.481403707
+0.488758553 0.515928105 0.482873363
+0.489736070 0.514610118 0.484347894
+0.490713587 0.513282977 0.485826893
+0.491691105 0.511946585 0.487309221
+0.492668622 0.510597845 0.488795133
+0.493646139 0.509224947 0.490284775
+0.494623656 0.507841954 0.491777716
+0.495601173 0.506448755 0.493273513
+0.496578690 0.505045237 0.494770784
+0.497556207 0.503630203 0.496268873
+0.498533724 0.502186589 0.497766318
+0.499511241 0.500731707 0.499259366
+0.500488759 0.499268293 0.500740634
+0.501466276 0.497813411 0.502233682
+0.502443793 0.496369797 0.503731127
+0.503421310 0.494954763 0.505229216
+0.504398827 0.493551245 0.506726487
+0.505376344 0.492158046 0.508222284
+0.506353861 0.490775053 0.509715225
+0.507331378 0.489402155 0.511204867
+0.508308895 0.488053415 0.512690779
+0.509286413 0.486717023 0.514173107
+0.510263930 0.485389882 0.515652106
+0.511241447 0.484071895 0.517126637
+0.512218964 0.482762969 0.518596293
+0.513196481 0.481474308 0.520061204
+0.514173998 0.480198665 0.521523241
+0.515151515 0.478931328 0.522979711
+0.516129032 0.477672216 0.524430930
+0.517106549 0.476421248 0.525879394
+0.518084066 0.475187120 0.527321626
+0.519061584 0.473966529 0.528760057
+0.520039101 0.472753406 0.530193907
+0.521016618 0.471547682 0.531622004
+0.521994135 0.470349289 0.533047380
+0.522971652 0.469164719 0.534465619
+0.523949169 0.467994072 0.535882329
+0.524926686 0.466830145 0.537290065
+0.525904203 0.465672880 0.538684146
+0.526881720 0.464522221 0.540069321
+0.527859238 0.463382733 0.541441634
+0.528836755 0.462257427 0.542805500
+0.529814272 0.461138172 0.544156869
+0.530791789 0.460024921 0.545500597
+0.531769306 0.458917626 0.546831806
+0.532746823 0.457819174 0.548156112
+0.533724340 0.456735047 0.549468287
+0.534701857 0.455656371 0.550773465
+0.535679374 0.454583107 0.552068049
+0.536656891 0.453515214 0.553354805
+0.537634409 0.452454128 0.554632730
+0.538611926 0.451407401 0.555901740
+0.539589443 0.450365585 0.557163874
+0.540566960 0.449328646 0.558415786
+0.541544477 0.448296550 0.559661899
+0.542521994 0.447269485 0.560898374
+0.543499511 0.446256713 0.562128247
+0.544477028 0.445248362 0.563350854
+0.545454545 0.444244405 0.564565076
+0.546432063 0.443244812 0.565774000
+0.547409580 0.442249555 0.566973636
+0.548387097 0.441266741 0.568167692
+0.549364614 0.440288747 0.569355110
+0.550342131 0.439314706 0.570534834
+0.551319648 0.438344595 0.571709718
+0.552297165 0.437378388 0.572876520
+0.553274682 0.436422583 0.574037789
+0.554252199 0.435472086 0.575193788
+0.555229717 0.434525140 0.576341931
+0.556207234 0.433581725 0.577485657
+0.557184751 0.432641823 0.578623106
+0.558162268 0.431710510 0.579754366
+0.559139785 0.430784868 0.580881419
+0.560117302 0.429862409 0.582001467
+0.561094819 0.428943116 0.583116683
+0.562072336 0.428026973 0.584227802
+0.563049853 0.427117822 0.585331613
+0.564027370 0.426214584 0.586431587
+0.565004888 0.425314190 0.587526992
+0.565982405 0.424416626 0.588616144
+0.566959922 0.423521879 0.589701643
+0.567937439 0.422632717 0.590782288
+0.568914956 0.421749601 0.591857525
+0.569892473 0.420869014 0.592929284
+0.570869990 0.419990946 0.593996065
+0.571847507 0.419115385 0.595058098
+0.572825024 0.418244185 0.596116823
+0.573802542 0.417379053 0.597170578
+0.574780059 0.416516158 0.598220091
+0.575757576 0.415655492 0.599266460
+0.576735093 0.414797045 0.600307975
+0.577712610 0.413941901 0.601345627
+0.578690127 0.413092743 0.602380291
+0.579667644 0.412245550 0.603410305
+0.580645161 0.411400313 0.604436730
+0.581622678 0.410557028 0.605460315
+0.582600196 0.409716142 0.606479523
+0.583577713 0.408881059 0.607495332
+0.584555230 0.408047684 0.608508445
+0.585532747 0.407216012 0.609517501
+0.586510264 0.406386036 0.610523282
+0.587487781 0.405557752 0.611526508
+0.588465298 0.404734893 0.612524869
+0.589442815 0.403913547 0.613519377
+0.590420332 0.403093662 0.614511567
+0.591397849 0.402275235 0.615499603
+0.592375367 0.401458260 0.616483850
+0.593352884 0.400645571 0.617466011
+0.594330401 0.399834545 0.618444735
+0.595307918 0.399024749 0.619419704
+0.596285435 0.398216183 0.620392807
+0.597262952 0.397408843 0.621363177
+0.598240469 0.396604792 0.622329816
+0.599217986 0.395802442 0.623294806
+0.600195503 0.395001104 0.624257728
+0.601173021 0.394200775 0.625216962
+0.602150538 0.393401455 0.626174754
+0.603128055 0.392604564 0.627131094
+0.604105572 0.391809304 0.628083822
+0.605083089 0.391014844 0.629035311
+0.606060606 0.390221182 0.629985565
+0.607038123 0.389428318 0.630932995
+0.608015640 0.388637154 0.631879056
+0.608993157 0.387847442 0.632824079
+0.609970674 0.387058324 0.633767010
+0.610948192 0.386269800 0.634708500
+0.611925709 0.385481870 0.635649147
+0.612903226 0.384695033 0.636588337
+0.613880743 0.383909362 0.637526101
+0.614858260 0.383124086 0.638463211
+0.615835777 0.382339202 0.639399398
+0.616813294 0.381554712 0.640334267
+0.617790811 0.380770829 0.641268671
+0.618768328 0.379987720 0.642202572
+0.619745846 0.379204806 0.643135371
+0.620723363 0.378422088 0.644067892
+0.621700880 0.377639566 0.645000134
+0.622678397 0.376857283 0.645931760
+0.623655914 0.376075269 0.646863213
+0.624633431 0.375293255 0.647794574
+0.625610948 0.374511241 0.648725763
+0.626588465 0.373729228 0.649656963
+0.627565982 0.372947197 0.650588255
+0.628543500 0.372164822 0.651519701
+0.629521017 0.371382251 0.652451460
+0.630498534 0.370599484 0.653383496
+0.631476051 0.369816521 0.654315896
+0.632453568 0.369033362 0.655249029
+0.633431085 0.368249202 0.656182626
+0.634408602 0.367464614 0.657116687
+0.635386119 0.366679632 0.658052008
+0.636363636 0.365894257 0.658987986
+0.637341153 0.365108488 0.659924616
+0.638318671 0.364321203 0.660862755
+0.639296188 0.363533124 0.661801943
+0.640273705 0.362744452 0.662741973
+0.641251222 0.361955186 0.663683663
+0.642228739 0.361165325 0.664626899
+0.643206256 0.360373541 0.665571170
+0.644183773 0.359580477 0.666517165
+0.645161290 0.358786616 0.667465300
+0.646138807 0.357991956 0.668414668
+0.647116325 0.357196495 0.669365744
+0.648093842 0.356398810 0.670319646
+0.649071359 0.355599237 0.671274982
+0.650048876 0.354798657 0.672231950
+0.651026393 0.353997066 0.673192503
+0.652003910 0.353194462 0.674154697
+0.652981427 0.352389437 0.675118537
+0.653958944 0.351581790 0.676086512
+0.654936461 0.350772917 0.677056477
+0.655913978 0.349962814 0.678028302
+0.656891496 0.349151479 0.679004405
+0.657869013 0.348337632 0.679983079
+0.658846530 0.347520295 0.680963833
+0.659824047 0.346701503 0.681949010
+0.660801564 0.345881254 0.682937360
+0.661779081 0.345059542 0.683928019
+0.662756598 0.344235335 0.684923271
+0.663734115 0.343406629 0.685922297
+0.664711632 0.342576230 0.686923870
+0.665689150 0.341744132 0.687929130
+0.666666667 0.340910331 0.688937846
+0.667644184 0.340074160 0.689949246
+0.668621701 0.339232333 0.690964504
+0.669599218 0.338388561 0.691983490
+0.670576735 0.337542836 0.693005305
+0.671554252 0.336695152 0.694031207
+0.672531769 0.335845338 0.695061065
+0.673509286 0.334988551 0.696093900
+0.674486804 0.334129550 0.697131132
+0.675464321 0.333268328 0.698172485
+0.676441838 0.332404874 0.699216970
+0.677419355 0.331539182 0.700266262
+0.678396872 0.330665959 0.701319757
+0.679374389 0.329789773 0.702376545
+0.680351906 0.328911076 0.703438672
+0.681329423 0.328029857 0.704504983
+0.682306940 0.327146107 0.705574753
+0.683284457 0.326254698 0.706650544
+0.684261975 0.325359248 0.707730369
+0.685239492 0.324460977 0.708813895
+0.686217009 0.323559874 0.709904167
+0.687194526 0.322655923 0.710998237
+0.688172043 0.321744286 0.712096862
+0.689149560 0.320827357 0.713201951
+0.690127077 0.319907274 0.714311028
+0.691104594 0.318984020 0.715425744
+0.692082111 0.318057580 0.716546437
+0.693059629 0.317123530 0.717671316
+0.694037146 0.316182751 0.718803182
+0.695014663 0.315238455 0.719940303
+0.695992180 0.314290624 0.721082144
+0.696969697 0.313339235 0.722231969
+0.697947214 0.312380425 0.723386379
+0.698924731 0.311413245 0.724547261
+0.699902248 0.310442153 0.725715054
+0.700879765 0.309467126 0.726887658
+0.701857283 0.308488140 0.728068862
+0.702834800 0.307502035 0.729255560
+0.703812317 0.306505697 0.730448885
+0.704789834 0.305505016 0.731650209
+0.705767351 0.304499963 0.732856799
+0.706744868 0.303490510 0.734072768
+0.707722385 0.302474365 0.735294761
+0.708699902 0.301445879 0.736524473
+0.709677419 0.300412575 0.737762451
+0.710654936 0.299374420 0.739006630
+0.711632454 0.298331379 0.740261200
+0.712609971 0.297282205 0.741521781
+0.713587488 0.296218314 0.742792422
+0.714565005 0.295149082 0.744070482
+0.715542522 0.294074469 0.745357611
+0.716520039 0.292994434 0.746653821
+0.717497556 0.291908937 0.747958353
+0.718475073 0.290806106 0.749273413
+0.719452590 0.289697326 0.750596331
+0.720430108 0.288582579 0.751930974
+0.721407625 0.287461816 0.753273330
+0.722385142 0.286334988 0.754628320
+0.723362659 0.285190730 0.755991241
+0.724340176 0.284038425 0.757367382
+0.725317693 0.282879501 0.758752076
+0.726295210 0.281713899 0.760150208
+0.727272727 0.280541562 0.761557968
+0.728250244 0.279351796 0.762978972
+0.729227761 0.278151577 0.764411182
+0.730205279 0.276944010 0.765855987
+0.731182796 0.275729026 0.767314128
+0.732160313 0.274506558 0.768783708
+0.733137830 0.273266769 0.770269365
+0.734115347 0.272013773 0.771767273
+0.735092864 0.270752612 0.773279617
+0.736070381 0.269483206 0.774807849
+0.737047898 0.268205474 0.776350238
+0.738025415 0.266910644 0.777908241
+0.739002933 0.265599461 0.779484121
+0.739980450 0.264279195 0.781076333
+0.740957967 0.262949750 0.782685839
+0.741935484 0.261611030 0.784313657
+0.742913001 0.260255561 0.785960859
+0.743890518 0.258880149 0.787628578
+0.744868035 0.257494616 0.789318005
+0.745845552 0.256098848 0.791030397
+0.746823069 0.254692732 0.792767079
+0.747800587 0.253270349 0.794529580
+0.748778104 0.251823930 0.796323108
+0.749755621 0.250366211 0.798153793
+0.750733138 0.250000000 0.798619957
+0.751710655 0.250000000 0.798619478
+0.752688172 0.250000000 0.798618827
+0.753665689 0.250000000 0.798618046
+0.754643206 0.250000000 0.798617146
+0.755620723 0.250000000 0.798616146
+0.756598240 0.250000000 0.798615054
+0.757575758 0.250000000 0.798613875
+0.758553275 0.250000000 0.798612615
+0.759530792 0.250000000 0.798611281
+0.760508309 0.250000000 0.798609872
+0.761485826 0.250000000 0.798608379
+0.762463343 0.250000000 0.798606824
+0.763440860 0.250000000 0.798605212
+0.764418377 0.250000000 0.798603523
+0.765395894 0.250000000 0.798601768
+0.766373412 0.250000000 0.798599968
+0.767350929 0.250000000 0.798598087
+0.768328446 0.250000000 0.798596154
+0.769305963 0.250000000 0.798594172
+0.770283480 0.250000000 0.798592109
+0.771260997 0.250000000 0.798590018
+0.772238514 0.250000000 0.798587837
+0.773216031 0.250000000 0.798585625
+0.774193548 0.250000000 0.798583339
+0.775171065 0.250000000 0.798581012
+0.776148583 0.250000000 0.798578619
+0.777126100 0.250000000 0.798576179
+0.778103617 0.250000000 0.798573676
+0.779081134 0.250000000 0.798571128
+0.780058651 0.250000000 0.798568514
+0.781036168 0.250000000 0.798565861
+0.782013685 0.250000000 0.798563134
+0.782991202 0.250000000 0.798560379
+0.783968719 0.250000000 0.798557536
+0.784946237 0.250000000 0.798554682
+0.785923754 0.250000000 0.798551722
+0.786901271 0.250000000 0.798548749
+0.787878788 0.250000000 0.798545693
+0.788856305 0.250000000 0.798542598
+0.789833822 0.250000000 0.798539450
+0.790811339 0.250000000 0.798536231
+0.791788856 0.250000000 0.798532993
+0.792766373 0.250000000 0.798529646
+0.793743891 0.250000000 0.798526284
+0.794721408 0.250000000 0.798522845
+0.795698925 0.250000000 0.798519352
+0.796676442 0.250000000 0.798515828
+0.797653959 0.250000000 0.798512201
+0.798631476 0.250000000 0.798508555
+0.799608993 0.250000000 0.798504830
+0.800586510 0.250000000 0.798501045
+0.801564027 0.250000000 0.798497238
+0.802541544 0.250000000 0.798493312
+0.803519062 0.250000000 0.798489365
+0.804496579 0.250000000 0.798485354
+0.805474096 0.250000000 0.798481260
+0.806451613 0.250000000 0.798477144
+0.807429130 0.250000000 0.798472926
+0.808406647 0.250000000 0.798468658
+0.809384164 0.250000000 0.798464362
+0.810361681 0.250000000 0.798459937
+0.811339198 0.250000000 0.798455487
+0.812316716 0.250000000 0.798450981
+0.813294233 0.250000000 0.798446368
+0.814271750 0.250000000 0.798441728
+0.815249267 0.250000000 0.798437007
+0.816226784 0.250000000 0.798432199
+0.817204301 0.250000000 0.798427360
+0.818181818 0.250000000 0.798422419
+0.819159335 0.250000000 0.798417406
+0.820136852 0.250000000 0.798412362
+0.821114370 0.250000000 0.798407195
+0.822091887 0.250000000 0.798401968
+0.823069404 0.250000000 0.798396707
+0.824046921 0.250000000 0.798391309
+0.825024438 0.250000000 0.798385858
+0.826001955 0.250000000 0.798380370
+0.826979472 0.250000000 0.798374734
+0.827956989 0.250000000 0.798369049
+0.828934506 0.250000000 0.798363324
+0.829912023 0.250000000 0.798357442
+0.830889541 0.250000000 0.798351511
+0.831867058 0.250000000 0.798345537
+0.832844575 0.250000000 0.798339400
+0.833822092 0.250000000 0.798333211
+0.834799609 0.250000000 0.798326976
+0.835777126 0.250000000 0.798320576
+0.836754643 0.250000000 0.798314116
+0.837732160 0.250000000 0.798307606
+0.838709677 0.250000000 0.798300932
+0.839687195 0.250000000 0.798294187
+0.840664712 0.250000000 0.798287388
+0.841642229 0.250000000 0.798280430
+0.842619746 0.250000000 0.798273384
+0.843597263 0.250000000 0.798266281
+0.844574780 0.250000000 0.798259026
+0.845552297 0.250000000 0.798251664
+0.846529814 0.250000000 0.798244240
+0.847507331 0.250000000 0.798236674
+0.848484848 0.250000000 0.798228978
+0.849462366 0.250000000 0.798221215
+0.850439883 0.250000000 0.798213324
+0.851417400 0.250000000 0.798205276
+0.852394917 0.250000000 0.798197155
+0.853372434 0.250000000 0.798188922
+0.854349951 0.250000000 0.798180502
+0.855327468 0.250000000 0.798172002
+0.856304985 0.250000000 0.798163410
+0.857282502 0.250000000 0.798154594
+0.858260020 0.250000000 0.798145693
+0.859237537 0.250000000 0.798136706
+0.860215054 0.250000000 0.798127487
+0.861192571 0.250000000 0.798118161
+0.862170088 0.250000000 0.798108741
+0.863147605 0.250000000 0.798099109
+0.864125122 0.250000000 0.798089331
+0.865102639 0.250000000 0.798079451
+0.866080156 0.250000000 0.798069382
+0.867057674 0.250000000 0.798059123
+0.868035191 0.250000000 0.798048754
+0.869012708 0.250000000 0.798038221
+0.869990225 0.250000000 0.798027449
+0.870967742 0.250000000 0.798016558
+0.871945259 0.250000000 0.798005530
+0.872922776 0.250000000 0.797994212
+0.873900293 0.250000000 0.797982764
+0.874877810 0.250000000 0.797971185
+0.875855327 0.250000000 0.797959306
+0.876832845 0.250000000 0.797947263
+0.877810362 0.250000000 0.797935078
+0.878787879 0.250000000 0.797922616
+0.879765396 0.250000000 0.797909935
+0.880742913 0.250000000 0.797897099
+0.881720430 0.250000000 0.797884012
+0.882697947 0.250000000 0.797870648
+0.883675464 0.250000000 0.797857113
+0.884652981 0.250000000 0.797843354
+0.885630499 0.250000000 0.797829254
+0.886608016 0.250000000 0.797814969
+0.887585533 0.250000000 0.797800485
+0.888563050 0.250000000 0.797785594
+0.889540567 0.250000000 0.797770499
+0.890518084 0.250000000 0.797755197
+0.891495601 0.250000000 0.797739486
+0.892473118 0.250000000 0.797723518
+0.893450635 0.250000000 0.797707323
+0.894428152 0.250000000 0.797690733
+0.895405670 0.250000000 0.797673819
+0.896383187 0.250000000 0.797656655
+0.897360704 0.250000000 0.797639111
+0.898338221 0.250000000 0.797621171
+0.899315738 0.250000000 0.797602957
+0.900293255 0.250000000 0.797584371
+0.901270772 0.250000000 0.797565316
+0.902248289 0.250000000 0.797545958
+0.903225806 0.250000000 0.797526235
+0.904203324 0.250000000 0.797505964
+0.905180841 0.250000000 0.797485358
+0.906158358 0.250000000 0.797464387
+0.907135875 0.250000000 0.797442787
+0.908113392 0.250000000 0.797420816
+0.909090909 0.250000000 0.797398464
+0.910068426 0.250000000 0.797375416
+0.911045943 0.250000000 0.797351947
+0.912023460 0.250000000 0.797328054
+0.913000978 0.250000000 0.797303431
+0.913978495 0.250000000 0.797278312
+0.914956012 0.250000000 0.797252722
+0.915933529 0.250000000 0.797226352
+0.916911046 0.250000000 0.797199412
+0.917888563 0.250000000 0.797171944
+0.918866080 0.250000000 0.797143632
+0.919843597 0.250000000 0.797114674
+0.920821114 0.250000000 0.797085122
+0.921798631 0.250000000 0.797054641
+0.922776149 0.250000000 0.797023436
+0.923753666 0.250000000 0.796991562
+0.924731183 0.250000000 0.796958649
+0.925708700 0.250000000 0.796924934
+0.926686217 0.250000000 0.796890462
+0.927663734 0.250000000 0.796854809
+0.928641251 0.250000000 0.796818277
+0.929618768 0.250000000 0.796780885
+0.930596285 0.250000000 0.796742131
+0.931573803 0.250000000 0.796702422
+0.932551320 0.250000000 0.796661678
+0.933528837 0.250000000 0.796619449
+0.934506354 0.250000000 0.796576138
+0.935483871 0.250000000 0.796531554
+0.936461388 0.250000000 0.796485383
+0.937438905 0.250000000 0.796437966
+0.938416422 0.250000000 0.796388970
+0.939393939 0.250000000 0.796338286
+0.940371457 0.250000000 0.796286158
+0.941348974 0.250000000 0.796232059
+0.942326491 0.250000000 0.796176174
+0.943304008 0.250000000 0.796118602
+0.944281525 0.250000000 0.796058564
+0.945259042 0.250000000 0.795996641
+0.946236559 0.250000000 0.795932487
+0.947214076 0.250000000 0.795865725
+0.948191593 0.250000000 0.795796735
+0.949169110 0.250000000 0.795724810
+0.950146628 0.250000000 0.795650131
+0.951124145 0.250000000 0.795572676
+0.952101662 0.250000000 0.795491611
+0.953079179 0.250000000 0.795407522
+0.954056696 0.250000000 0.795319628
+0.955034213 0.250000000 0.795227898
+0.956011730 0.250000000 0.795132357
+0.956989247 0.250000000 0.795031935
+0.957966764 0.250000000 0.794927282
+0.958944282 0.250000000 0.794817257
+0.959921799 0.250000000 0.794701981
+0.960899316 0.250000000 0.794581006
+0.961876833 0.250000000 0.794453449
+0.962854350 0.250000000 0.794319707
+0.963831867 0.250000000 0.794177846
+0.964809384 0.250000000 0.794028718
+0.965786901 0.250000000 0.793870437
+0.966764418 0.250000000 0.793703113
+0.967741935 0.250000000 0.793525315
+0.968719453 0.250000000 0.793336305
+0.969696970 0.250000000 0.793135013
+0.970674487 0.250000000 0.792919868
+0.971652004 0.250000000 0.792689957
+0.972629521 0.250000000 0.792442910
+0.973607038 0.250000000 0.792177663
+0.974584555 0.250000000 0.791891104
+0.975562072 0.250000000 0.791581540
+0.976539589 0.250000000 0.791245216
+0.977517107 0.250000000 0.790900290
+0.978494624 0.250000000 0.790546727
+0.979472141 0.250000000 0.790189953
+0.980449658 0.250000000 0.789814417
+0.981427175 0.250000000 0.789445023
+0.982404692 0.250000000 0.789052209
+0.983382209 0.250000000 0.788657501
+0.984359726 0.250000000 0.788250203
+0.985337243 0.250000000 0.787818500
+0.986314761 0.250000000 0.787390503
+0.987292278 0.250000000 0.786940347
+0.988269795 0.250000000 0.786464072
+0.989247312 0.250000000 0.785974808
+0.990224829 0.250000000 0.785469812
+0.991202346 0.250000000 0.784933879
+0.992179863 0.250000000 0.784364501
+0.993157380 0.250000000 0.783757951
+0.994134897 0.250000000 0.783108264
+0.995112414 0.250000000 0.782404962
+0.996089932 0.250000000 0.781627407
+0.997067449 0.250000000 0.780727892
+0.998044966 0.250000000 0.779693393
+0.999022483 0.250000000 0.778328498
+1.000000000 nan nan
diff --git a/examples/mamdani/SimpleDimmerInverse.fll b/examples/mamdani/SimpleDimmerInverse.fll
index fd6b945..4ce7313 100644
--- a/examples/mamdani/SimpleDimmerInverse.fll
+++ b/examples/mamdani/SimpleDimmerInverse.fll
@@ -1,29 +1,30 @@
-Engine: simple-dimmer
+Engine: SimpleDimmerInverse
InputVariable: Ambient
enabled: true
range: 0.000 1.000
+ lock-range: false
term: DARK Triangle 0.000 0.250 0.500
term: MEDIUM Triangle 0.250 0.500 0.750
term: BRIGHT Triangle 0.500 0.750 1.000
OutputVariable: Power
enabled: true
range: 0.000 1.000
- accumulation: Maximum
+ lock-range: false
+ aggregation: Maximum
defuzzifier: Centroid 200
default: nan
lock-previous: false
- lock-range: false
term: LOW Triangle 0.000 0.250 0.500
term: MEDIUM Triangle 0.250 0.500 0.750
term: HIGH Triangle 0.500 0.750 1.000
OutputVariable: InversePower
enabled: true
range: 0.000 1.000
- accumulation: Maximum
+ lock-range: false
+ aggregation: Maximum
defuzzifier: Centroid 500
default: nan
lock-previous: false
- lock-range: false
term: LOW Cosine 0.200 0.500
term: MEDIUM Cosine 0.500 0.500
term: HIGH Cosine 0.800 0.500
@@ -31,7 +32,8 @@ RuleBlock:
enabled: true
conjunction: none
disjunction: none
- activation: Minimum
+ implication: Minimum
+ activation: General
rule: if Ambient is DARK then Power is HIGH
rule: if Ambient is MEDIUM then Power is MEDIUM
rule: if Ambient is BRIGHT then Power is LOW
diff --git a/examples/mamdani/SimpleDimmerInverse.java b/examples/mamdani/SimpleDimmerInverse.java
index 0bdde89..218f831 100644
--- a/examples/mamdani/SimpleDimmerInverse.java
+++ b/examples/mamdani/SimpleDimmerInverse.java
@@ -1,4 +1,5 @@
import com.fuzzylite.*;
+import com.fuzzylite.activation.*
import com.fuzzylite.defuzzifier.*;
import com.fuzzylite.factory.*;
import com.fuzzylite.hedge.*;
@@ -12,52 +13,61 @@ import com.fuzzylite.variable.*;
public class SimpleDimmerInverse{
public static void main(String[] args){
+//Code automatically generated with fuzzylite 6.0.
+
Engine engine = new Engine();
-engine.setName("simple-dimmer");
+engine.setName("SimpleDimmerInverse");
+engine.setDescription("");
-InputVariable inputVariable = new InputVariable();
-inputVariable.setEnabled(true);
-inputVariable.setName("Ambient");
-inputVariable.setRange(0.000, 1.000);
-inputVariable.addTerm(new Triangle("DARK", 0.000, 0.250, 0.500));
-inputVariable.addTerm(new Triangle("MEDIUM", 0.250, 0.500, 0.750));
-inputVariable.addTerm(new Triangle("BRIGHT", 0.500, 0.750, 1.000));
-engine.addInputVariable(inputVariable);
+InputVariable Ambient = new InputVariable();
+Ambient.setName("Ambient");
+Ambient.setDescription("");
+Ambient.setEnabled(true);
+Ambient.setRange(0.000, 1.000);
+Ambient.setLockValueInRange(false);
+Ambient.addTerm(new Triangle("DARK", 0.000, 0.250, 0.500));
+Ambient.addTerm(new Triangle("MEDIUM", 0.250, 0.500, 0.750));
+Ambient.addTerm(new Triangle("BRIGHT", 0.500, 0.750, 1.000));
+engine.addInputVariable(Ambient);
-OutputVariable outputVariable1 = new OutputVariable();
-outputVariable1.setEnabled(true);
-outputVariable1.setName("Power");
-outputVariable1.setRange(0.000, 1.000);
-outputVariable1.fuzzyOutput().setAccumulation(new Maximum());
-outputVariable1.setDefuzzifier(new Centroid(200));
-outputVariable1.setDefaultValue(Double.NaN);
-outputVariable1.setLockPreviousOutputValue(false);
-outputVariable1.setLockOutputValueInRange(false);
-outputVariable1.addTerm(new Triangle("LOW", 0.000, 0.250, 0.500));
-outputVariable1.addTerm(new Triangle("MEDIUM", 0.250, 0.500, 0.750));
-outputVariable1.addTerm(new Triangle("HIGH", 0.500, 0.750, 1.000));
-engine.addOutputVariable(outputVariable1);
+OutputVariable Power = new OutputVariable();
+Power.setName("Power");
+Power.setDescription("");
+Power.setEnabled(true);
+Power.setRange(0.000, 1.000);
+Power.setLockValueInRange(false);
+Power.setAggregation(new Maximum());
+Power.setDefuzzifier(new Centroid(200));
+Power.setDefaultValue(Double.NaN);
+Power.setLockPreviousValue(false);
+Power.addTerm(new Triangle("LOW", 0.000, 0.250, 0.500));
+Power.addTerm(new Triangle("MEDIUM", 0.250, 0.500, 0.750));
+Power.addTerm(new Triangle("HIGH", 0.500, 0.750, 1.000));
+engine.addOutputVariable(Power);
-OutputVariable outputVariable2 = new OutputVariable();
-outputVariable2.setEnabled(true);
-outputVariable2.setName("InversePower");
-outputVariable2.setRange(0.000, 1.000);
-outputVariable2.fuzzyOutput().setAccumulation(new Maximum());
-outputVariable2.setDefuzzifier(new Centroid(500));
-outputVariable2.setDefaultValue(Double.NaN);
-outputVariable2.setLockPreviousOutputValue(false);
-outputVariable2.setLockOutputValueInRange(false);
-outputVariable2.addTerm(new Cosine("LOW", 0.200, 0.500));
-outputVariable2.addTerm(new Cosine("MEDIUM", 0.500, 0.500));
-outputVariable2.addTerm(new Cosine("HIGH", 0.800, 0.500));
-engine.addOutputVariable(outputVariable2);
+OutputVariable InversePower = new OutputVariable();
+InversePower.setName("InversePower");
+InversePower.setDescription("");
+InversePower.setEnabled(true);
+InversePower.setRange(0.000, 1.000);
+InversePower.setLockValueInRange(false);
+InversePower.setAggregation(new Maximum());
+InversePower.setDefuzzifier(new Centroid(500));
+InversePower.setDefaultValue(Double.NaN);
+InversePower.setLockPreviousValue(false);
+InversePower.addTerm(new Cosine("LOW", 0.200, 0.500));
+InversePower.addTerm(new Cosine("MEDIUM", 0.500, 0.500));
+InversePower.addTerm(new Cosine("HIGH", 0.800, 0.500));
+engine.addOutputVariable(InversePower);
RuleBlock ruleBlock = new RuleBlock();
-ruleBlock.setEnabled(true);
ruleBlock.setName("");
+ruleBlock.setDescription("");
+ruleBlock.setEnabled(true);
ruleBlock.setConjunction(null);
ruleBlock.setDisjunction(null);
-ruleBlock.setActivation(new Minimum());
+ruleBlock.setImplication(new Minimum());
+ruleBlock.setActivation(new General());
ruleBlock.addRule(Rule.parse("if Ambient is DARK then Power is HIGH", engine));
ruleBlock.addRule(Rule.parse("if Ambient is MEDIUM then Power is MEDIUM", engine));
ruleBlock.addRule(Rule.parse("if Ambient is BRIGHT then Power is LOW", engine));
diff --git a/examples/mamdani/SimpleDimmerInverse.pdf b/examples/mamdani/SimpleDimmerInverse.pdf
new file mode 100644
index 0000000..0cfb26d
--- /dev/null
+++ b/examples/mamdani/SimpleDimmerInverse.pdf
Binary files differ
diff --git a/examples/mamdani/octave/investment_portfolio.R b/examples/mamdani/octave/investment_portfolio.R
new file mode 100644
index 0000000..c752dab
--- /dev/null
+++ b/examples/mamdani/octave/investment_portfolio.R
@@ -0,0 +1,67 @@
+#Code automatically generated with fuzzylite 6.0.
+
+library(ggplot2);
+
+engine.name = "investment_portfolio"
+engine.fll = "Engine: investment_portfolio
+InputVariable: Age
+ enabled: true
+ range: 20.000 100.000
+ lock-range: false
+ term: Young ZShape 30.000 90.000
+ term: Old SShape 30.000 90.000
+InputVariable: RiskTolerance
+ enabled: true
+ range: 0.000 10.000
+ lock-range: false
+ term: Low ZShape 2.000 8.000
+ term: High SShape 2.000 8.000
+OutputVariable: PercentageInStocks
+ enabled: true
+ range: 0.000 100.000
+ lock-range: false
+ aggregation: EinsteinSum
+ defuzzifier: Centroid 200
+ default: nan
+ lock-previous: false
+ term: AboutFifteen Gaussian 15.000 10.000
+ term: AboutFifty Gaussian 50.000 10.000
+ term: AboutEightyFive Gaussian 85.000 10.000
+RuleBlock:
+ enabled: true
+ conjunction: EinsteinProduct
+ disjunction: EinsteinSum
+ implication: EinsteinProduct
+ activation: General
+ rule: if Age is Young or RiskTolerance is High then PercentageInStocks is AboutEightyFive
+ rule: if Age is Old or RiskTolerance is Low then PercentageInStocks is AboutFifteen
+ rule: if Age is not extremely Old and RiskTolerance is not extremely Low then PercentageInStocks is AboutFifty with 0.500
+ rule: if Age is not extremely Young and RiskTolerance is not extremely High then PercentageInStocks is AboutFifty with 0.500"
+
+engine.fldFile = "investment_portfolio.fld"
+if (require(data.table)) {
+ engine.df = data.table::fread(engine.fldFile, sep="auto", header="auto")
+} else {
+ engine.df = read.table(engine.fldFile, header=TRUE)
+}
+
+engine.plot.i1i2_o1 = ggplot(engine.df, aes(Age, RiskTolerance)) +
+ geom_tile(aes(fill=PercentageInStocks)) +
+ scale_fill_gradient(low="yellow", high="red") +
+ stat_contour(aes(x=Age, y=RiskTolerance, z=PercentageInStocks), color="black") +
+ ggtitle("(Age, RiskTolerance) = PercentageInStocks")
+
+engine.plot.i2i1_o1 = ggplot(engine.df, aes(RiskTolerance, Age)) +
+ geom_tile(aes(fill=PercentageInStocks)) +
+ scale_fill_gradient(low="yellow", high="red") +
+ stat_contour(aes(x=RiskTolerance, y=Age, z=PercentageInStocks), color="black") +
+ ggtitle("(RiskTolerance, Age) = PercentageInStocks")
+
+if (require(gridExtra)) {
+ engine.plots = arrangeGrob(engine.plot.i1i2_o1, engine.plot.i2i1_o1, ncol=2, top=engine.name)
+ ggsave(paste0(engine.name, ".pdf"), engine.plots)
+ if (require(grid)) {
+ grid.newpage()
+ grid.draw(engine.plots)
+ }
+}
diff --git a/examples/mamdani/octave/investment_portfolio.cpp b/examples/mamdani/octave/investment_portfolio.cpp
index 9ccadc9..2b82b8c 100644
--- a/examples/mamdani/octave/investment_portfolio.cpp
+++ b/examples/mamdani/octave/investment_portfolio.cpp
@@ -1,51 +1,61 @@
#include <fl/Headers.h>
int main(int argc, char** argv){
+//Code automatically generated with fuzzylite 6.0.
+
using namespace fl;
Engine* engine = new Engine;
-engine->setName("Investment-Portfolio");
-
-InputVariable* inputVariable1 = new InputVariable;
-inputVariable1->setEnabled(true);
-inputVariable1->setName("Age");
-inputVariable1->setRange(20.000, 100.000);
-inputVariable1->addTerm(new ZShape("Young", 30.000, 90.000));
-inputVariable1->addTerm(new SShape("Old", 30.000, 90.000));
-engine->addInputVariable(inputVariable1);
-
-InputVariable* inputVariable2 = new InputVariable;
-inputVariable2->setEnabled(true);
-inputVariable2->setName("RiskTolerance");
-inputVariable2->setRange(0.000, 10.000);
-inputVariable2->addTerm(new ZShape("Low", 2.000, 8.000));
-inputVariable2->addTerm(new SShape("High", 2.000, 8.000));
-engine->addInputVariable(inputVariable2);
-
-OutputVariable* outputVariable = new OutputVariable;
-outputVariable->setEnabled(true);
-outputVariable->setName("PercentageInStocks");
-outputVariable->setRange(0.000, 100.000);
-outputVariable->fuzzyOutput()->setAccumulation(new EinsteinSum);
-outputVariable->setDefuzzifier(new Centroid(200));
-outputVariable->setDefaultValue(fl::nan);
-outputVariable->setLockPreviousOutputValue(false);
-outputVariable->setLockOutputValueInRange(false);
-outputVariable->addTerm(new Gaussian("AboutFifteen", 15.000, 10.000));
-outputVariable->addTerm(new Gaussian("AboutFifty", 50.000, 10.000));
-outputVariable->addTerm(new Gaussian("AboutEightyFive", 85.000, 10.000));
-engine->addOutputVariable(outputVariable);
+engine->setName("investment_portfolio");
+engine->setDescription("");
+
+InputVariable* Age = new InputVariable;
+Age->setName("Age");
+Age->setDescription("");
+Age->setEnabled(true);
+Age->setRange(20.000, 100.000);
+Age->setLockValueInRange(false);
+Age->addTerm(new ZShape("Young", 30.000, 90.000));
+Age->addTerm(new SShape("Old", 30.000, 90.000));
+engine->addInputVariable(Age);
+
+InputVariable* RiskTolerance = new InputVariable;
+RiskTolerance->setName("RiskTolerance");
+RiskTolerance->setDescription("");
+RiskTolerance->setEnabled(true);
+RiskTolerance->setRange(0.000, 10.000);
+RiskTolerance->setLockValueInRange(false);
+RiskTolerance->addTerm(new ZShape("Low", 2.000, 8.000));
+RiskTolerance->addTerm(new SShape("High", 2.000, 8.000));
+engine->addInputVariable(RiskTolerance);
+
+OutputVariable* PercentageInStocks = new OutputVariable;
+PercentageInStocks->setName("PercentageInStocks");
+PercentageInStocks->setDescription("");
+PercentageInStocks->setEnabled(true);
+PercentageInStocks->setRange(0.000, 100.000);
+PercentageInStocks->setLockValueInRange(false);
+PercentageInStocks->setAggregation(new EinsteinSum);
+PercentageInStocks->setDefuzzifier(new Centroid(200));
+PercentageInStocks->setDefaultValue(fl::nan);
+PercentageInStocks->setLockPreviousValue(false);
+PercentageInStocks->addTerm(new Gaussian("AboutFifteen", 15.000, 10.000));
+PercentageInStocks->addTerm(new Gaussian("AboutFifty", 50.000, 10.000));
+PercentageInStocks->addTerm(new Gaussian("AboutEightyFive", 85.000, 10.000));
+engine->addOutputVariable(PercentageInStocks);
RuleBlock* ruleBlock = new RuleBlock;
-ruleBlock->setEnabled(true);
ruleBlock->setName("");
+ruleBlock->setDescription("");
+ruleBlock->setEnabled(true);
ruleBlock->setConjunction(new EinsteinProduct);
ruleBlock->setDisjunction(new EinsteinSum);
-ruleBlock->setActivation(new EinsteinProduct);
-ruleBlock->addRule(fl::Rule::parse("if Age is Young or RiskTolerance is High then PercentageInStocks is AboutEightyFive", engine));
-ruleBlock->addRule(fl::Rule::parse("if Age is Old or RiskTolerance is Low then PercentageInStocks is AboutFifteen", engine));
-ruleBlock->addRule(fl::Rule::parse("if Age is not extremely Old and RiskTolerance is not extremely Low then PercentageInStocks is AboutFifty with 0.500", engine));
-ruleBlock->addRule(fl::Rule::parse("if Age is not extremely Young and RiskTolerance is not extremely High then PercentageInStocks is AboutFifty with 0.500", engine));
+ruleBlock->setImplication(new EinsteinProduct);
+ruleBlock->setActivation(new General);
+ruleBlock->addRule(Rule::parse("if Age is Young or RiskTolerance is High then PercentageInStocks is AboutEightyFive", engine));
+ruleBlock->addRule(Rule::parse("if Age is Old or RiskTolerance is Low then PercentageInStocks is AboutFifteen", engine));
+ruleBlock->addRule(Rule::parse("if Age is not extremely Old and RiskTolerance is not extremely Low then PercentageInStocks is AboutFifty with 0.500", engine));
+ruleBlock->addRule(Rule::parse("if Age is not extremely Young and RiskTolerance is not extremely High then PercentageInStocks is AboutFifty with 0.500", engine));
engine->addRuleBlock(ruleBlock);
diff --git a/examples/mamdani/octave/investment_portfolio.fcl b/examples/mamdani/octave/investment_portfolio.fcl
index 590ab3b..ec837a7 100644
--- a/examples/mamdani/octave/investment_portfolio.fcl
+++ b/examples/mamdani/octave/investment_portfolio.fcl
@@ -1,4 +1,6 @@
-FUNCTION_BLOCK Investment-Portfolio
+//Code automatically generated with fuzzylite 6.0.
+
+FUNCTION_BLOCK investment_portfolio
VAR_INPUT
Age: REAL;
diff --git a/examples/mamdani/octave/investment_portfolio.fis b/examples/mamdani/octave/investment_portfolio.fis
index 311e728..b512a68 100644
--- a/examples/mamdani/octave/investment_portfolio.fis
+++ b/examples/mamdani/octave/investment_portfolio.fis
@@ -1,6 +1,9 @@
+#Code automatically generated with fuzzylite 6.0.
+
[System]
-Name='Investment-Portfolio'
+Name='investment_portfolio'
Type='mamdani'
+Version=6.0
NumInputs=2
NumOutputs=1
NumRules=4
diff --git a/examples/mamdani/octave/investment_portfolio.fld b/examples/mamdani/octave/investment_portfolio.fld
index 648b0be..4da9cb9 100644
--- a/examples/mamdani/octave/investment_portfolio.fld
+++ b/examples/mamdani/octave/investment_portfolio.fld
@@ -1,1026 +1,1025 @@
-#@Engine: Investment-Portfolio;
-#@InputVariable: Age; @InputVariable: RiskTolerance; @OutputVariable: PercentageInStocks;
-20.00000000 0.00000000 50.00000000
-20.00000000 0.32258065 50.00000000
-20.00000000 0.64516129 50.00000000
-20.00000000 0.96774194 50.00000000
-20.00000000 1.29032258 50.00000000
-20.00000000 1.61290323 50.00000000
-20.00000000 1.93548387 50.00000000
-20.00000000 2.25806452 50.07664849
-20.00000000 2.58064516 50.39007638
-20.00000000 2.90322581 50.95232681
-20.00000000 3.22580645 51.77492832
-20.00000000 3.54838710 52.87098013
-20.00000000 3.87096774 54.25013613
-20.00000000 4.19354839 55.91006054
-20.00000000 4.51612903 57.82311764
-20.00000000 4.83870968 59.91799668
-20.00000000 5.16129032 62.04316294
-20.00000000 5.48387097 64.00662112
-20.00000000 5.80645161 65.82068208
-20.00000000 6.12903226 67.49497664
-20.00000000 6.45161290 69.01370662
-20.00000000 6.77419355 70.34164582
-20.00000000 7.09677419 71.43161596
-20.00000000 7.41935484 72.23344208
-20.00000000 7.74193548 72.70359583
-20.00000000 8.06451613 72.82131403
-20.00000000 8.38709677 72.82131403
-20.00000000 8.70967742 72.82131403
-20.00000000 9.03225806 72.82131403
-20.00000000 9.35483871 72.82131403
-20.00000000 9.67741935 72.82131403
-20.00000000 10.00000000 72.82131403
-22.58064516 0.00000000 50.00000000
-22.58064516 0.32258065 50.00000000
-22.58064516 0.64516129 50.00000000
-22.58064516 0.96774194 50.00000000
-22.58064516 1.29032258 50.00000000
-22.58064516 1.61290323 50.00000000
-22.58064516 1.93548387 50.00000000
-22.58064516 2.25806452 50.07664849
-22.58064516 2.58064516 50.39007638
-22.58064516 2.90322581 50.95232681
-22.58064516 3.22580645 51.77492832
-22.58064516 3.54838710 52.87098013
-22.58064516 3.87096774 54.25013613
-22.58064516 4.19354839 55.91006054
-22.58064516 4.51612903 57.82311764
-22.58064516 4.83870968 59.91799668
-22.58064516 5.16129032 62.04316294
-22.58064516 5.48387097 64.00662112
-22.58064516 5.80645161 65.82068208
-22.58064516 6.12903226 67.49497664
-22.58064516 6.45161290 69.01370662
-22.58064516 6.77419355 70.34164582
-22.58064516 7.09677419 71.43161596
-22.58064516 7.41935484 72.23344208
-22.58064516 7.74193548 72.70359583
-22.58064516 8.06451613 72.82131403
-22.58064516 8.38709677 72.82131403
-22.58064516 8.70967742 72.82131403
-22.58064516 9.03225806 72.82131403
-22.58064516 9.35483871 72.82131403
-22.58064516 9.67741935 72.82131403
-22.58064516 10.00000000 72.82131403
-25.16129032 0.00000000 50.00000000
-25.16129032 0.32258065 50.00000000
-25.16129032 0.64516129 50.00000000
-25.16129032 0.96774194 50.00000000
-25.16129032 1.29032258 50.00000000
-25.16129032 1.61290323 50.00000000
-25.16129032 1.93548387 50.00000000
-25.16129032 2.25806452 50.07664849
-25.16129032 2.58064516 50.39007638
-25.16129032 2.90322581 50.95232681
-25.16129032 3.22580645 51.77492832
-25.16129032 3.54838710 52.87098013
-25.16129032 3.87096774 54.25013613
-25.16129032 4.19354839 55.91006054
-25.16129032 4.51612903 57.82311764
-25.16129032 4.83870968 59.91799668
-25.16129032 5.16129032 62.04316294
-25.16129032 5.48387097 64.00662112
-25.16129032 5.80645161 65.82068208
-25.16129032 6.12903226 67.49497664
-25.16129032 6.45161290 69.01370662
-25.16129032 6.77419355 70.34164582
-25.16129032 7.09677419 71.43161596
-25.16129032 7.41935484 72.23344208
-25.16129032 7.74193548 72.70359583
-25.16129032 8.06451613 72.82131403
-25.16129032 8.38709677 72.82131403
-25.16129032 8.70967742 72.82131403
-25.16129032 9.03225806 72.82131403
-25.16129032 9.35483871 72.82131403
-25.16129032 9.67741935 72.82131403
-25.16129032 10.00000000 72.82131403
-27.74193548 0.00000000 50.00000000
-27.74193548 0.32258065 50.00000000
-27.74193548 0.64516129 50.00000000
-27.74193548 0.96774194 50.00000000
-27.74193548 1.29032258 50.00000000
-27.74193548 1.61290323 50.00000000
-27.74193548 1.93548387 50.00000000
-27.74193548 2.25806452 50.07664849
-27.74193548 2.58064516 50.39007638
-27.74193548 2.90322581 50.95232681
-27.74193548 3.22580645 51.77492832
-27.74193548 3.54838710 52.87098013
-27.74193548 3.87096774 54.25013613
-27.74193548 4.19354839 55.91006054
-27.74193548 4.51612903 57.82311764
-27.74193548 4.83870968 59.91799668
-27.74193548 5.16129032 62.04316294
-27.74193548 5.48387097 64.00662112
-27.74193548 5.80645161 65.82068208
-27.74193548 6.12903226 67.49497664
-27.74193548 6.45161290 69.01370662
-27.74193548 6.77419355 70.34164582
-27.74193548 7.09677419 71.43161596
-27.74193548 7.41935484 72.23344208
-27.74193548 7.74193548 72.70359583
-27.74193548 8.06451613 72.82131403
-27.74193548 8.38709677 72.82131403
-27.74193548 8.70967742 72.82131403
-27.74193548 9.03225806 72.82131403
-27.74193548 9.35483871 72.82131403
-27.74193548 9.67741935 72.82131403
-27.74193548 10.00000000 72.82131403
-30.32258065 0.00000000 49.99880392
-30.32258065 0.32258065 49.99880392
-30.32258065 0.64516129 49.99880392
-30.32258065 0.96774194 49.99880392
-30.32258065 1.29032258 49.99880392
-30.32258065 1.61290323 49.99880392
-30.32258065 1.93548387 49.99880392
-30.32258065 2.25806452 50.07545238
-30.32258065 2.58064516 50.38887965
-30.32258065 2.90322581 50.95112699
-30.32258065 3.22580645 51.77371992
-30.32258065 3.54838710 52.86975395
-30.32258065 3.87096774 54.24887943
-30.32258065 4.19354839 55.90875847
-30.32258065 4.51612903 57.82175684
-30.32258065 4.83870968 59.91657184
-30.32258065 5.16129032 62.04168233
-30.32258065 5.48387097 64.00508502
-30.32258065 5.80645161 65.81908993
-30.32258065 6.12903226 67.49332917
-30.32258065 6.45161290 69.01200609
-30.32258065 6.77419355 70.33989666
-30.32258065 7.09677419 71.42982533
-30.32258065 7.41935484 72.23162005
-30.32258065 7.74193548 72.70175504
-30.32258065 8.06451613 72.81946849
-30.32258065 8.38709677 72.81946849
-30.32258065 8.70967742 72.81946849
-30.32258065 9.03225806 72.81946849
-30.32258065 9.35483871 72.81946849
-30.32258065 9.67741935 72.81946849
-30.32258065 10.00000000 72.81946849
-32.90322581 0.00000000 49.90295798
-32.90322581 0.32258065 49.90295798
-32.90322581 0.64516129 49.90295798
-32.90322581 0.96774194 49.90295798
-32.90322581 1.29032258 49.90295798
-32.90322581 1.61290323 49.90295798
-32.90322581 1.93548387 49.90295798
-32.90322581 2.25806452 49.97960702
-32.90322581 2.58064516 50.29299482
-32.90322581 2.90322581 50.85501365
-32.90322581 3.22580645 51.67694728
-32.90322581 3.54838710 52.77159622
-32.90322581 3.87096774 54.14832785
-32.90322581 4.19354839 55.80464007
-32.90322581 4.51612903 57.71302139
-32.90322581 4.83870968 59.80281425
-32.90322581 5.16129032 61.92356979
-32.90322581 5.48387097 63.88261418
-32.90322581 5.80645161 65.69219320
-32.90322581 6.12903226 67.36205805
-32.90322581 6.45161290 68.87652195
-32.90322581 6.77419355 70.20054895
-32.90322581 7.09677419 71.28718186
-32.90322581 7.41935484 72.08648082
-32.90322581 7.74193548 72.55512448
-32.90322581 8.06451613 72.67246132
-32.90322581 8.38709677 72.67246132
-32.90322581 8.70967742 72.67246132
-32.90322581 9.03225806 72.67246132
-32.90322581 9.35483871 72.67246132
-32.90322581 9.67741935 72.67246132
-32.90322581 10.00000000 72.67246132
-35.48387097 0.00000000 49.65230424
-35.48387097 0.32258065 49.65230424
-35.48387097 0.64516129 49.65230424
-35.48387097 0.96774194 49.65230424
-35.48387097 1.29032258 49.65230424
-35.48387097 1.61290323 49.65230424
-35.48387097 1.93548387 49.65230424
-35.48387097 2.25806452 49.72897859
-35.48387097 2.58064516 50.04236049
-35.48387097 2.90322581 50.60395669
-35.48387097 3.22580645 51.42442479
-35.48387097 3.54838710 52.51580620
-35.48387097 3.87096774 53.88675089
-35.48387097 4.19354839 55.53436093
-35.48387097 4.51612903 57.43147904
-35.48387097 4.83870968 59.50912954
-35.48387097 5.16129032 61.61952428
-35.48387097 5.48387097 63.56796052
-35.48387097 5.80645161 65.36655988
-35.48387097 6.12903226 67.02542761
-35.48387097 6.45161290 68.52927075
-35.48387097 6.77419355 69.84352090
-35.48387097 7.09677419 70.92180186
-35.48387097 7.41935484 71.71475942
-35.48387097 7.74193548 72.17961322
-35.48387097 8.06451613 72.29599292
-35.48387097 8.38709677 72.29599292
-35.48387097 8.70967742 72.29599292
-35.48387097 9.03225806 72.29599292
-35.48387097 9.35483871 72.29599292
-35.48387097 9.67741935 72.29599292
-35.48387097 10.00000000 72.29599292
-38.06451613 0.00000000 49.24309895
-38.06451613 0.32258065 49.24309895
-38.06451613 0.64516129 49.24309895
-38.06451613 0.96774194 49.24309895
-38.06451613 1.29032258 49.24309895
-38.06451613 1.61290323 49.24309895
-38.06451613 1.93548387 49.24309895
-38.06451613 2.25806452 49.31988482
-38.06451613 2.58064516 49.63354393
-38.06451613 2.90322581 50.19496500
-38.06451613 3.22580645 51.01379991
-38.06451613 3.54838710 52.10088544
-38.06451613 3.87096774 53.46376445
-38.06451613 4.19354839 55.09898884
-38.06451613 4.51612903 56.98007353
-38.06451613 4.83870968 59.04077124
-38.06451613 5.16129032 61.13722688
-38.06451613 5.48387097 63.07064236
-38.06451613 5.80645161 64.85305357
-38.06451613 6.12903226 66.49534778
-38.06451613 6.45161290 67.98296760
-38.06451613 6.77419355 69.28218358
-38.06451613 7.09677419 70.34756047
-38.06451613 7.41935484 71.13072959
-38.06451613 7.74193548 71.58971545
-38.06451613 8.06451613 71.70461300
-38.06451613 8.38709677 71.70461300
-38.06451613 8.70967742 71.70461300
-38.06451613 9.03225806 71.70461300
-38.06451613 9.35483871 71.70461300
-38.06451613 9.67741935 71.70461300
-38.06451613 10.00000000 71.70461300
-40.64516129 0.00000000 48.66974302
-40.64516129 0.32258065 48.66974302
-40.64516129 0.64516129 48.66974302
-40.64516129 0.96774194 48.66974302
-40.64516129 1.29032258 48.66974302
-40.64516129 1.61290323 48.66974302
-40.64516129 1.93548387 48.66974302
-40.64516129 2.25806452 48.74681972
-40.64516129 2.58064516 49.06141626
-40.64516129 2.90322581 49.62357390
-40.64516129 3.22580645 50.44156177
-40.64516129 3.54838710 51.52458831
-40.64516129 3.87096774 52.87875978
-40.64516129 4.19354839 54.50003124
-40.64516129 4.51612903 56.36302984
-40.64516129 4.83870968 58.40529847
-40.64516129 5.16129032 60.48775451
-40.64516129 5.48387097 62.40444567
-40.64516129 5.80645161 64.16746517
-40.64516129 6.12903226 65.78913336
-40.64516129 6.45161290 67.25614371
-40.64516129 6.77419355 68.53604701
-40.64516129 7.09677419 69.58475383
-40.64516129 7.41935484 70.35521241
-40.64516129 7.74193548 70.80658497
-40.64516129 8.06451613 70.91955552
-40.64516129 8.38709677 70.91955552
-40.64516129 8.70967742 70.91955552
-40.64516129 9.03225806 70.91955552
-40.64516129 9.35483871 70.91955552
-40.64516129 9.67741935 70.91955552
-40.64516129 10.00000000 70.91955552
-43.22580645 0.00000000 47.92553362
-43.22580645 0.32258065 47.92553362
-43.22580645 0.64516129 47.92553362
-43.22580645 0.96774194 47.92553362
-43.22580645 1.29032258 47.92553362
-43.22580645 1.61290323 47.92553362
-43.22580645 1.93548387 47.92553362
-43.22580645 2.25806452 48.00319612
-43.22580645 2.58064516 48.31985647
-43.22580645 2.90322581 48.88447571
-43.22580645 3.22580645 49.70355442
-43.22580645 3.54838710 50.78426142
-43.22580645 3.87096774 52.13099528
-43.22580645 4.19354839 53.73918510
-43.22580645 4.51612903 55.58515207
-43.22580645 4.83870968 57.61132963
-43.22580645 5.16129032 59.68382184
-43.22580645 5.48387097 61.58536931
-43.22580645 5.80645161 63.32828142
-43.22580645 6.12903226 64.92718203
-43.22580645 6.45161290 66.37069947
-43.22580645 6.77419355 67.62820397
-43.22580645 7.09677419 68.65739074
-43.22580645 7.41935484 69.41289095
-43.22580645 7.74193548 69.85526918
-43.22580645 8.06451613 69.96596156
-43.22580645 8.38709677 69.96596156
-43.22580645 8.70967742 69.96596156
-43.22580645 9.03225806 69.96596156
-43.22580645 9.35483871 69.96596156
-43.22580645 9.67741935 69.96596156
-43.22580645 10.00000000 69.96596156
-45.80645161 0.00000000 47.00393487
-45.80645161 0.32258065 47.00393487
-45.80645161 0.64516129 47.00393487
-45.80645161 0.96774194 47.00393487
-45.80645161 1.29032258 47.00393487
-45.80645161 1.61290323 47.00393487
-45.80645161 1.93548387 47.00393487
-45.80645161 2.25806452 47.08260248
-45.80645161 2.58064516 47.40295027
-45.80645161 2.90322581 47.97260761
-45.80645161 3.22580645 48.79588816
-45.80645161 3.54838710 49.87749533
-45.80645161 3.87096774 51.21988342
-45.80645161 4.19354839 52.81813027
-45.80645161 4.51612903 54.65098576
-45.80645161 4.83870968 56.66698079
-45.80645161 5.16129032 58.73758982
-45.80645161 5.48387097 60.62911442
-45.80645161 5.80645161 62.35401414
-45.80645161 6.12903226 63.93019461
-45.80645161 6.45161290 65.34904000
-45.80645161 6.77419355 66.58237935
-45.80645161 7.09677419 67.59018730
-45.80645161 7.41935484 68.32916295
-45.80645161 7.74193548 68.76155861
-45.80645161 8.06451613 68.86971710
-45.80645161 8.38709677 68.86971710
-45.80645161 8.70967742 68.86971710
-45.80645161 9.03225806 68.86971710
-45.80645161 9.35483871 68.86971710
-45.80645161 9.67741935 68.86971710
-45.80645161 10.00000000 68.86971710
-48.38709677 0.00000000 45.90059861
-48.38709677 0.32258065 45.90059861
-48.38709677 0.64516129 45.90059861
-48.38709677 0.96774194 45.90059861
-48.38709677 1.29032258 45.90059861
-48.38709677 1.61290323 45.90059861
-48.38709677 1.93548387 45.90059861
-48.38709677 2.25806452 45.98080335
-48.38709677 2.58064516 46.30690509
-48.38709677 2.90322581 46.88490696
-48.38709677 3.22580645 47.71644736
-48.38709677 3.54838710 48.80327906
-48.38709677 3.87096774 50.14566326
-48.38709677 4.19354839 51.73856779
-48.38709677 4.51612903 53.56406480
-48.38709677 4.83870968 55.57822661
-48.38709677 5.16129032 57.65828336
-48.38709677 5.48387097 59.54837018
-48.38709677 5.80645161 61.26036274
-48.38709677 6.12903226 62.81628542
-48.38709677 6.45161290 64.21114285
-48.38709677 6.77419355 65.41994481
-48.38709677 7.09677419 66.40551444
-48.38709677 7.41935484 67.12705985
-48.38709677 7.74193548 67.54884508
-48.38709677 8.06451613 67.65430104
-48.38709677 8.38709677 67.65430104
-48.38709677 8.70967742 67.65430104
-48.38709677 9.03225806 67.65430104
-48.38709677 9.35483871 67.65430104
-48.38709677 9.67741935 67.65430104
-48.38709677 10.00000000 67.65430104
-50.96774194 0.00000000 44.61641577
-50.96774194 0.32258065 44.61641577
-50.96774194 0.64516129 44.61641577
-50.96774194 0.96774194 44.61641577
-50.96774194 1.29032258 44.61641577
-50.96774194 1.61290323 44.61641577
-50.96774194 1.93548387 44.61641577
-50.96774194 2.25806452 44.69876030
-50.96774194 2.58064516 45.03294688
-50.96774194 2.90322581 45.62298535
-50.96774194 3.22580645 46.46723847
-50.96774194 3.54838710 47.56391012
-50.96774194 3.87096774 48.91074345
-50.96774194 4.19354839 50.50284021
-50.96774194 4.51612903 52.32663397
-50.96774194 4.83870968 54.34758826
-50.96774194 5.16129032 56.44995468
-50.96774194 5.48387097 58.35016147
-50.96774194 5.80645161 60.05744033
-50.96774194 6.12903226 61.59819880
-50.96774194 6.45161290 62.97178502
-50.96774194 6.77419355 64.15714114
-50.96774194 7.09677419 65.12059667
-50.96774194 7.41935484 65.82440942
-50.96774194 7.74193548 66.23526465
-50.96774194 8.06451613 66.33792129
-50.96774194 8.38709677 66.33792129
-50.96774194 8.70967742 66.33792129
-50.96774194 9.03225806 66.33792129
-50.96774194 9.35483871 66.33792129
-50.96774194 9.67741935 66.33792129
-50.96774194 10.00000000 66.33792129
-53.54838710 0.00000000 43.16186397
-53.54838710 0.32258065 43.16186397
-53.54838710 0.64516129 43.16186397
-53.54838710 0.96774194 43.16186397
-53.54838710 1.29032258 43.16186397
-53.54838710 1.61290323 43.16186397
-53.54838710 1.93548387 43.16186397
-53.54838710 2.25806452 43.24693567
-53.54838710 2.58064516 43.59144915
-53.54838710 2.90322581 44.19696211
-53.54838710 3.22580645 45.05782673
-53.54838710 3.54838710 46.16794938
-53.54838710 3.87096774 47.52208653
-53.54838710 4.19354839 49.11561738
-53.54838710 4.51612903 50.94043496
-53.54838710 4.83870968 52.97375509
-53.54838710 5.16129032 55.10984868
-53.54838710 5.48387097 57.03353782
-53.54838710 5.80645161 58.74723142
-53.54838710 6.12903226 60.28074724
-53.54838710 6.45161290 61.63802885
-53.54838710 6.77419355 62.80260996
-53.54838710 7.09677419 63.74506644
-53.54838710 7.41935484 64.43139325
-53.54838710 7.74193548 64.83124074
-53.54838710 8.06451613 64.93106623
-53.54838710 8.38709677 64.93106623
-53.54838710 8.70967742 64.93106623
-53.54838710 9.03225806 64.93106623
-53.54838710 9.35483871 64.93106623
-53.54838710 9.67741935 64.93106623
-53.54838710 10.00000000 64.93106623
-56.12903226 0.00000000 41.56275742
-56.12903226 0.32258065 41.56275742
-56.12903226 0.64516129 41.56275742
-56.12903226 0.96774194 41.56275742
-56.12903226 1.29032258 41.56275742
-56.12903226 1.61290323 41.56275742
-56.12903226 1.93548387 41.56275742
-56.12903226 2.25806452 41.65098310
-56.12903226 2.58064516 42.00739488
-56.12903226 2.90322581 42.63056788
-56.12903226 3.22580645 43.51001484
-56.12903226 3.54838710 44.63446668
-56.12903226 3.87096774 45.99502950
-56.12903226 4.19354839 47.58723244
-56.12903226 4.51612903 49.40932005
-56.12903226 4.83870968 51.45296580
-56.12903226 5.16129032 53.62799552
-56.12903226 5.48387097 55.58793124
-56.12903226 5.80645161 57.32139748
-56.12903226 6.12903226 58.85847793
-56.12903226 6.45161290 60.20693213
-56.12903226 6.77419355 61.35519439
-56.12903226 7.09677419 62.27884289
-56.12903226 7.41935484 62.94847543
-56.12903226 7.74193548 63.33747330
-56.12903226 8.06451613 63.43446352
-56.12903226 8.38709677 63.43446352
-56.12903226 8.70967742 63.43446352
-56.12903226 9.03225806 63.43446352
-56.12903226 9.35483871 63.43446352
-56.12903226 9.67741935 63.43446352
-56.12903226 10.00000000 63.43446352
-58.70967742 0.00000000 39.86708229
-58.70967742 0.32258065 39.86708229
-58.70967742 0.64516129 39.86708229
-58.70967742 0.96774194 39.86708229
-58.70967742 1.29032258 39.86708229
-58.70967742 1.61290323 39.86708229
-58.70967742 1.93548387 39.86708229
-58.70967742 2.25806452 39.95851324
-58.70967742 2.58064516 40.32688461
-58.70967742 2.90322581 40.96728935
-58.70967742 3.22580645 41.86364269
-58.70967742 3.54838710 42.99862876
-58.70967742 3.87096774 44.35883597
-58.70967742 4.19354839 45.93926995
-58.70967742 4.51612903 47.74461410
-58.70967742 4.83870968 49.78326881
-58.70967742 5.16129032 51.98897073
-58.70967742 5.48387097 53.99267848
-58.70967742 5.80645161 55.75955980
-58.70967742 6.12903226 57.31349232
-58.70967742 6.45161290 58.66332782
-58.70967742 6.77419355 59.80184437
-58.70967742 7.09677419 60.71018916
-58.70967742 7.41935484 61.36458028
-58.70967742 7.74193548 61.74313870
-58.70967742 8.06451613 61.83734579
-58.70967742 8.38709677 61.83734579
-58.70967742 8.70967742 61.83734579
-58.70967742 9.03225806 61.83734579
-58.70967742 9.35483871 61.83734579
-58.70967742 9.67741935 61.83734579
-58.70967742 10.00000000 61.83734579
-61.29032258 0.00000000 38.16265421
-61.29032258 0.32258065 38.16265421
-61.29032258 0.64516129 38.16265421
-61.29032258 0.96774194 38.16265421
-61.29032258 1.29032258 38.16265421
-61.29032258 1.61290323 38.16265421
-61.29032258 1.93548387 38.16265421
-61.29032258 2.25806452 38.25686130
-61.29032258 2.58064516 38.63541972
-61.29032258 2.90322581 39.28981084
-61.29032258 3.22580645 40.19815563
-61.29032258 3.54838710 41.33667218
-61.29032258 3.87096774 42.68650768
-61.29032258 4.19354839 44.24044020
-61.29032258 4.51612903 46.00732152
-61.29032258 4.83870968 48.01102927
-61.29032258 5.16129032 50.21673119
-61.29032258 5.48387097 52.25538590
-61.29032258 5.80645161 54.06073005
-61.29032258 6.12903226 55.64116403
-61.29032258 6.45161290 57.00137124
-61.29032258 6.77419355 58.13635731
-61.29032258 7.09677419 59.03271065
-61.29032258 7.41935484 59.67311539
-61.29032258 7.74193548 60.04148676
-61.29032258 8.06451613 60.13291771
-61.29032258 8.38709677 60.13291771
-61.29032258 8.70967742 60.13291771
-61.29032258 9.03225806 60.13291771
-61.29032258 9.35483871 60.13291771
-61.29032258 9.67741935 60.13291771
-61.29032258 10.00000000 60.13291771
-63.87096774 0.00000000 36.56553648
-63.87096774 0.32258065 36.56553648
-63.87096774 0.64516129 36.56553648
-63.87096774 0.96774194 36.56553648
-63.87096774 1.29032258 36.56553648
-63.87096774 1.61290323 36.56553648
-63.87096774 1.93548387 36.56553648
-63.87096774 2.25806452 36.66252670
-63.87096774 2.58064516 37.05152457
-63.87096774 2.90322581 37.72115711
-63.87096774 3.22580645 38.64480561
-63.87096774 3.54838710 39.79306787
-63.87096774 3.87096774 41.14152207
-63.87096774 4.19354839 42.67860252
-63.87096774 4.51612903 44.41206876
-63.87096774 4.83870968 46.37200448
-63.87096774 5.16129032 48.54703420
-63.87096774 5.48387097 50.59067995
-63.87096774 5.80645161 52.41276756
-63.87096774 6.12903226 54.00497050
-63.87096774 6.45161290 55.36553332
-63.87096774 6.77419355 56.48998516
-63.87096774 7.09677419 57.36943212
-63.87096774 7.41935484 57.99260512
-63.87096774 7.74193548 58.34901690
-63.87096774 8.06451613 58.43724258
-63.87096774 8.38709677 58.43724258
-63.87096774 8.70967742 58.43724258
-63.87096774 9.03225806 58.43724258
-63.87096774 9.35483871 58.43724258
-63.87096774 9.67741935 58.43724258
-63.87096774 10.00000000 58.43724258
-66.45161290 0.00000000 35.06893377
-66.45161290 0.32258065 35.06893377
-66.45161290 0.64516129 35.06893377
-66.45161290 0.96774194 35.06893377
-66.45161290 1.29032258 35.06893377
-66.45161290 1.61290323 35.06893377
-66.45161290 1.93548387 35.06893377
-66.45161290 2.25806452 35.16875926
-66.45161290 2.58064516 35.56860675
-66.45161290 2.90322581 36.25493356
-66.45161290 3.22580645 37.19739004
-66.45161290 3.54838710 38.36197115
-66.45161290 3.87096774 39.71925276
-66.45161290 4.19354839 41.25276858
-66.45161290 4.51612903 42.96646218
-66.45161290 4.83870968 44.89015132
-66.45161290 5.16129032 47.02624491
-66.45161290 5.48387097 49.05956504
-66.45161290 5.80645161 50.88438262
-66.45161290 6.12903226 52.47791347
-66.45161290 6.45161290 53.83205062
-66.45161290 6.77419355 54.94217327
-66.45161290 7.09677419 55.80303789
-66.45161290 7.41935484 56.40855085
-66.45161290 7.74193548 56.75306433
-66.45161290 8.06451613 56.83813603
-66.45161290 8.38709677 56.83813603
-66.45161290 8.70967742 56.83813603
-66.45161290 9.03225806 56.83813603
-66.45161290 9.35483871 56.83813603
-66.45161290 9.67741935 56.83813603
-66.45161290 10.00000000 56.83813603
-69.03225806 0.00000000 33.66207871
-69.03225806 0.32258065 33.66207871
-69.03225806 0.64516129 33.66207871
-69.03225806 0.96774194 33.66207871
-69.03225806 1.29032258 33.66207871
-69.03225806 1.61290323 33.66207871
-69.03225806 1.93548387 33.66207871
-69.03225806 2.25806452 33.76473535
-69.03225806 2.58064516 34.17559058
-69.03225806 2.90322581 34.87940333
-69.03225806 3.22580645 35.84285886
-69.03225806 3.54838710 37.02821498
-69.03225806 3.87096774 38.40180120
-69.03225806 4.19354839 39.94255967
-69.03225806 4.51612903 41.64983853
-69.03225806 4.83870968 43.55004532
-69.03225806 5.16129032 45.65241174
-69.03225806 5.48387097 47.67336603
-69.03225806 5.80645161 49.49715979
-69.03225806 6.12903226 51.08925655
-69.03225806 6.45161290 52.43608988
-69.03225806 6.77419355 53.53276153
-69.03225806 7.09677419 54.37701465
-69.03225806 7.41935484 54.96705312
-69.03225806 7.74193548 55.30123970
-69.03225806 8.06451613 55.38358423
-69.03225806 8.38709677 55.38358423
-69.03225806 8.70967742 55.38358423
-69.03225806 9.03225806 55.38358423
-69.03225806 9.35483871 55.38358423
-69.03225806 9.67741935 55.38358423
-69.03225806 10.00000000 55.38358423
-71.61290323 0.00000000 32.34569896
-71.61290323 0.32258065 32.34569896
-71.61290323 0.64516129 32.34569896
-71.61290323 0.96774194 32.34569896
-71.61290323 1.29032258 32.34569896
-71.61290323 1.61290323 32.34569896
-71.61290323 1.93548387 32.34569896
-71.61290323 2.25806452 32.45115492
-71.61290323 2.58064516 32.87294015
-71.61290323 2.90322581 33.59448556
-71.61290323 3.22580645 34.58005519
-71.61290323 3.54838710 35.78885715
-71.61290323 3.87096774 37.18371458
-71.61290323 4.19354839 38.73963726
-71.61290323 4.51612903 40.45162982
-71.61290323 4.83870968 42.34171664
-71.61290323 5.16129032 44.42177339
-71.61290323 5.48387097 46.43593520
-71.61290323 5.80645161 48.26143221
-71.61290323 6.12903226 49.85433674
-71.61290323 6.45161290 51.19672094
-71.61290323 6.77419355 52.28355264
-71.61290323 7.09677419 53.11509304
-71.61290323 7.41935484 53.69309491
-71.61290323 7.74193548 54.01919665
-71.61290323 8.06451613 54.09940139
-71.61290323 8.38709677 54.09940139
-71.61290323 8.70967742 54.09940139
-71.61290323 9.03225806 54.09940139
-71.61290323 9.35483871 54.09940139
-71.61290323 9.67741935 54.09940139
-71.61290323 10.00000000 54.09940139
-74.19354839 0.00000000 31.13028290
-74.19354839 0.32258065 31.13028290
-74.19354839 0.64516129 31.13028290
-74.19354839 0.96774194 31.13028290
-74.19354839 1.29032258 31.13028290
-74.19354839 1.61290323 31.13028290
-74.19354839 1.93548387 31.13028290
-74.19354839 2.25806452 31.23844139
-74.19354839 2.58064516 31.67083705
-74.19354839 2.90322581 32.40981270
-74.19354839 3.22580645 33.41762065
-74.19354839 3.54838710 34.65096000
-74.19354839 3.87096774 36.06980539
-74.19354839 4.19354839 37.64598586
-74.19354839 4.51612903 39.37088558
-74.19354839 4.83870968 41.26241018
-74.19354839 5.16129032 43.33301921
-74.19354839 5.48387097 45.34901424
-74.19354839 5.80645161 47.18186973
-74.19354839 6.12903226 48.78011658
-74.19354839 6.45161290 50.12250467
-74.19354839 6.77419355 51.20411184
-74.19354839 7.09677419 52.02739239
-74.19354839 7.41935484 52.59704973
-74.19354839 7.74193548 52.91739752
-74.19354839 8.06451613 52.99606513
-74.19354839 8.38709677 52.99606513
-74.19354839 8.70967742 52.99606513
-74.19354839 9.03225806 52.99606513
-74.19354839 9.35483871 52.99606513
-74.19354839 9.67741935 52.99606513
-74.19354839 10.00000000 52.99606513
-76.77419355 0.00000000 30.03403844
-76.77419355 0.32258065 30.03403844
-76.77419355 0.64516129 30.03403844
-76.77419355 0.96774194 30.03403844
-76.77419355 1.29032258 30.03403844
-76.77419355 1.61290323 30.03403844
-76.77419355 1.93548387 30.03403844
-76.77419355 2.25806452 30.14473082
-76.77419355 2.58064516 30.58710905
-76.77419355 2.90322581 31.34260926
-76.77419355 3.22580645 32.37179603
-76.77419355 3.54838710 33.62930053
-76.77419355 3.87096774 35.07281797
-76.77419355 4.19354839 36.67171858
-76.77419355 4.51612903 38.41463069
-76.77419355 4.83870968 40.31617816
-76.77419355 5.16129032 42.38867037
-76.77419355 5.48387097 44.41484793
-76.77419355 5.80645161 46.26081490
-76.77419355 6.12903226 47.86900472
-76.77419355 6.45161290 49.21573858
-76.77419355 6.77419355 50.29644558
-76.77419355 7.09677419 51.11552429
-76.77419355 7.41935484 51.68014353
-76.77419355 7.74193548 51.99680388
-76.77419355 8.06451613 52.07446638
-76.77419355 8.38709677 52.07446638
-76.77419355 8.70967742 52.07446638
-76.77419355 9.03225806 52.07446638
-76.77419355 9.35483871 52.07446638
-76.77419355 9.67741935 52.07446638
-76.77419355 10.00000000 52.07446638
-79.35483871 0.00000000 29.08044448
-79.35483871 0.32258065 29.08044448
-79.35483871 0.64516129 29.08044448
-79.35483871 0.96774194 29.08044448
-79.35483871 1.29032258 29.08044448
-79.35483871 1.61290323 29.08044448
-79.35483871 1.93548387 29.08044448
-79.35483871 2.25806452 29.19341503
-79.35483871 2.58064516 29.64478759
-79.35483871 2.90322581 30.41524617
-79.35483871 3.22580645 31.46395299
-79.35483871 3.54838710 32.74385629
-79.35483871 3.87096774 34.21086664
-79.35483871 4.19354839 35.83253483
-79.35483871 4.51612903 37.59555433
-79.35483871 4.83870968 39.51224549
-79.35483871 5.16129032 41.59470153
-79.35483871 5.48387097 43.63697016
-79.35483871 5.80645161 45.49996876
-79.35483871 6.12903226 47.12124022
-79.35483871 6.45161290 48.47541169
-79.35483871 6.77419355 49.55843823
-79.35483871 7.09677419 50.37642610
-79.35483871 7.41935484 50.93858374
-79.35483871 7.74193548 51.25318028
-79.35483871 8.06451613 51.33025698
-79.35483871 8.38709677 51.33025698
-79.35483871 8.70967742 51.33025698
-79.35483871 9.03225806 51.33025698
-79.35483871 9.35483871 51.33025698
-79.35483871 9.67741935 51.33025698
-79.35483871 10.00000000 51.33025698
-81.93548387 0.00000000 28.29538700
-81.93548387 0.32258065 28.29538700
-81.93548387 0.64516129 28.29538700
-81.93548387 0.96774194 28.29538700
-81.93548387 1.29032258 28.29538700
-81.93548387 1.61290323 28.29538700
-81.93548387 1.93548387 28.29538700
-81.93548387 2.25806452 28.41028455
-81.93548387 2.58064516 28.86927041
-81.93548387 2.90322581 29.65243953
-81.93548387 3.22580645 30.71781642
-81.93548387 3.54838710 32.01703240
-81.93548387 3.87096774 33.50465222
-81.93548387 4.19354839 35.14694643
-81.93548387 4.51612903 36.92935764
-81.93548387 4.83870968 38.86277312
-81.93548387 5.16129032 40.95922876
-81.93548387 5.48387097 43.01992647
-81.93548387 5.80645161 44.90101116
-81.93548387 6.12903226 46.53623555
-81.93548387 6.45161290 47.89911456
-81.93548387 6.77419355 48.98620009
-81.93548387 7.09677419 49.80503500
-81.93548387 7.41935484 50.36645607
-81.93548387 7.74193548 50.68011518
-81.93548387 8.06451613 50.75690105
-81.93548387 8.38709677 50.75690105
-81.93548387 8.70967742 50.75690105
-81.93548387 9.03225806 50.75690105
-81.93548387 9.35483871 50.75690105
-81.93548387 9.67741935 50.75690105
-81.93548387 10.00000000 50.75690105
-84.51612903 0.00000000 27.70400708
-84.51612903 0.32258065 27.70400708
-84.51612903 0.64516129 27.70400708
-84.51612903 0.96774194 27.70400708
-84.51612903 1.29032258 27.70400708
-84.51612903 1.61290323 27.70400708
-84.51612903 1.93548387 27.70400708
-84.51612903 2.25806452 27.82038678
-84.51612903 2.58064516 28.28524058
-84.51612903 2.90322581 29.07819814
-84.51612903 3.22580645 30.15647910
-84.51612903 3.54838710 31.47072925
-84.51612903 3.87096774 32.97457239
-84.51612903 4.19354839 34.63344012
-84.51612903 4.51612903 36.43203948
-84.51612903 4.83870968 38.38047572
-84.51612903 5.16129032 40.49087046
-84.51612903 5.48387097 42.56852096
-84.51612903 5.80645161 44.46563907
-84.51612903 6.12903226 46.11324911
-84.51612903 6.45161290 47.48419380
-84.51612903 6.77419355 48.57557521
-84.51612903 7.09677419 49.39604331
-84.51612903 7.41935484 49.95763951
-84.51612903 7.74193548 50.27102141
-84.51612903 8.06451613 50.34769576
-84.51612903 8.38709677 50.34769576
-84.51612903 8.70967742 50.34769576
-84.51612903 9.03225806 50.34769576
-84.51612903 9.35483871 50.34769576
-84.51612903 9.67741935 50.34769576
-84.51612903 10.00000000 50.34769576
-87.09677419 0.00000000 27.32753868
-87.09677419 0.32258065 27.32753868
-87.09677419 0.64516129 27.32753868
-87.09677419 0.96774194 27.32753868
-87.09677419 1.29032258 27.32753868
-87.09677419 1.61290323 27.32753868
-87.09677419 1.93548387 27.32753868
-87.09677419 2.25806452 27.44487552
-87.09677419 2.58064516 27.91351918
-87.09677419 2.90322581 28.71281814
-87.09677419 3.22580645 29.79945105
-87.09677419 3.54838710 31.12347805
-87.09677419 3.87096774 32.63794195
-87.09677419 4.19354839 34.30780680
-87.09677419 4.51612903 36.11738582
-87.09677419 4.83870968 38.07643021
-87.09677419 5.16129032 40.19718575
-87.09677419 5.48387097 42.28697861
-87.09677419 5.80645161 44.19535993
-87.09677419 6.12903226 45.85167215
-87.09677419 6.45161290 47.22840378
-87.09677419 6.77419355 48.32305272
-87.09677419 7.09677419 49.14498635
-87.09677419 7.41935484 49.70700518
-87.09677419 7.74193548 50.02039298
-87.09677419 8.06451613 50.09704202
-87.09677419 8.38709677 50.09704202
-87.09677419 8.70967742 50.09704202
-87.09677419 9.03225806 50.09704202
-87.09677419 9.35483871 50.09704202
-87.09677419 9.67741935 50.09704202
-87.09677419 10.00000000 50.09704202
-89.67741935 0.00000000 27.18053151
-89.67741935 0.32258065 27.18053151
-89.67741935 0.64516129 27.18053151
-89.67741935 0.96774194 27.18053151
-89.67741935 1.29032258 27.18053151
-89.67741935 1.61290323 27.18053151
-89.67741935 1.93548387 27.18053151
-89.67741935 2.25806452 27.29824496
-89.67741935 2.58064516 27.76837995
-89.67741935 2.90322581 28.57017467
-89.67741935 3.22580645 29.66010334
-89.67741935 3.54838710 30.98799391
-89.67741935 3.87096774 32.50667083
-89.67741935 4.19354839 34.18091007
-89.67741935 4.51612903 35.99491498
-89.67741935 4.83870968 37.95831767
-89.67741935 5.16129032 40.08342816
-89.67741935 5.48387097 42.17824316
-89.67741935 5.80645161 44.09124153
-89.67741935 6.12903226 45.75112057
-89.67741935 6.45161290 47.13024605
-89.67741935 6.77419355 48.22628008
-89.67741935 7.09677419 49.04887301
-89.67741935 7.41935484 49.61112035
-89.67741935 7.74193548 49.92454762
-89.67741935 8.06451613 50.00119608
-89.67741935 8.38709677 50.00119608
-89.67741935 8.70967742 50.00119608
-89.67741935 9.03225806 50.00119608
-89.67741935 9.35483871 50.00119608
-89.67741935 9.67741935 50.00119608
-89.67741935 10.00000000 50.00119608
-92.25806452 0.00000000 27.17868597
-92.25806452 0.32258065 27.17868597
-92.25806452 0.64516129 27.17868597
-92.25806452 0.96774194 27.17868597
-92.25806452 1.29032258 27.17868597
-92.25806452 1.61290323 27.17868597
-92.25806452 1.93548387 27.17868597
-92.25806452 2.25806452 27.29640417
-92.25806452 2.58064516 27.76655792
-92.25806452 2.90322581 28.56838404
-92.25806452 3.22580645 29.65835418
-92.25806452 3.54838710 30.98629338
-92.25806452 3.87096774 32.50502336
-92.25806452 4.19354839 34.17931792
-92.25806452 4.51612903 35.99337888
-92.25806452 4.83870968 37.95683706
-92.25806452 5.16129032 40.08200332
-92.25806452 5.48387097 42.17688236
-92.25806452 5.80645161 44.08993946
-92.25806452 6.12903226 45.74986387
-92.25806452 6.45161290 47.12901987
-92.25806452 6.77419355 48.22507168
-92.25806452 7.09677419 49.04767319
-92.25806452 7.41935484 49.60992362
-92.25806452 7.74193548 49.92335151
-92.25806452 8.06451613 50.00000000
-92.25806452 8.38709677 50.00000000
-92.25806452 8.70967742 50.00000000
-92.25806452 9.03225806 50.00000000
-92.25806452 9.35483871 50.00000000
-92.25806452 9.67741935 50.00000000
-92.25806452 10.00000000 50.00000000
-94.83870968 0.00000000 27.17868597
-94.83870968 0.32258065 27.17868597
-94.83870968 0.64516129 27.17868597
-94.83870968 0.96774194 27.17868597
-94.83870968 1.29032258 27.17868597
-94.83870968 1.61290323 27.17868597
-94.83870968 1.93548387 27.17868597
-94.83870968 2.25806452 27.29640417
-94.83870968 2.58064516 27.76655792
-94.83870968 2.90322581 28.56838404
-94.83870968 3.22580645 29.65835418
-94.83870968 3.54838710 30.98629338
-94.83870968 3.87096774 32.50502336
-94.83870968 4.19354839 34.17931792
-94.83870968 4.51612903 35.99337888
-94.83870968 4.83870968 37.95683706
-94.83870968 5.16129032 40.08200332
-94.83870968 5.48387097 42.17688236
-94.83870968 5.80645161 44.08993946
-94.83870968 6.12903226 45.74986387
-94.83870968 6.45161290 47.12901987
-94.83870968 6.77419355 48.22507168
-94.83870968 7.09677419 49.04767319
-94.83870968 7.41935484 49.60992362
-94.83870968 7.74193548 49.92335151
-94.83870968 8.06451613 50.00000000
-94.83870968 8.38709677 50.00000000
-94.83870968 8.70967742 50.00000000
-94.83870968 9.03225806 50.00000000
-94.83870968 9.35483871 50.00000000
-94.83870968 9.67741935 50.00000000
-94.83870968 10.00000000 50.00000000
-97.41935484 0.00000000 27.17868597
-97.41935484 0.32258065 27.17868597
-97.41935484 0.64516129 27.17868597
-97.41935484 0.96774194 27.17868597
-97.41935484 1.29032258 27.17868597
-97.41935484 1.61290323 27.17868597
-97.41935484 1.93548387 27.17868597
-97.41935484 2.25806452 27.29640417
-97.41935484 2.58064516 27.76655792
-97.41935484 2.90322581 28.56838404
-97.41935484 3.22580645 29.65835418
-97.41935484 3.54838710 30.98629338
-97.41935484 3.87096774 32.50502336
-97.41935484 4.19354839 34.17931792
-97.41935484 4.51612903 35.99337888
-97.41935484 4.83870968 37.95683706
-97.41935484 5.16129032 40.08200332
-97.41935484 5.48387097 42.17688236
-97.41935484 5.80645161 44.08993946
-97.41935484 6.12903226 45.74986387
-97.41935484 6.45161290 47.12901987
-97.41935484 6.77419355 48.22507168
-97.41935484 7.09677419 49.04767319
-97.41935484 7.41935484 49.60992362
-97.41935484 7.74193548 49.92335151
-97.41935484 8.06451613 50.00000000
-97.41935484 8.38709677 50.00000000
-97.41935484 8.70967742 50.00000000
-97.41935484 9.03225806 50.00000000
-97.41935484 9.35483871 50.00000000
-97.41935484 9.67741935 50.00000000
-97.41935484 10.00000000 50.00000000
-100.00000000 0.00000000 27.17868597
-100.00000000 0.32258065 27.17868597
-100.00000000 0.64516129 27.17868597
-100.00000000 0.96774194 27.17868597
-100.00000000 1.29032258 27.17868597
-100.00000000 1.61290323 27.17868597
-100.00000000 1.93548387 27.17868597
-100.00000000 2.25806452 27.29640417
-100.00000000 2.58064516 27.76655792
-100.00000000 2.90322581 28.56838404
-100.00000000 3.22580645 29.65835418
-100.00000000 3.54838710 30.98629338
-100.00000000 3.87096774 32.50502336
-100.00000000 4.19354839 34.17931792
-100.00000000 4.51612903 35.99337888
-100.00000000 4.83870968 37.95683706
-100.00000000 5.16129032 40.08200332
-100.00000000 5.48387097 42.17688236
-100.00000000 5.80645161 44.08993946
-100.00000000 6.12903226 45.74986387
-100.00000000 6.45161290 47.12901987
-100.00000000 6.77419355 48.22507168
-100.00000000 7.09677419 49.04767319
-100.00000000 7.41935484 49.60992362
-100.00000000 7.74193548 49.92335151
-100.00000000 8.06451613 50.00000000
-100.00000000 8.38709677 50.00000000
-100.00000000 8.70967742 50.00000000
-100.00000000 9.03225806 50.00000000
-100.00000000 9.35483871 50.00000000
-100.00000000 9.67741935 50.00000000
-100.00000000 10.00000000 50.00000000
+Age RiskTolerance PercentageInStocks
+20.000000000 0.000000000 50.000000000
+20.000000000 0.322580645 50.000000000
+20.000000000 0.645161290 50.000000000
+20.000000000 0.967741935 50.000000000
+20.000000000 1.290322581 50.000000000
+20.000000000 1.612903226 50.000000000
+20.000000000 1.935483871 50.000000000
+20.000000000 2.258064516 50.076648486
+20.000000000 2.580645161 50.390076379
+20.000000000 2.903225806 50.952326813
+20.000000000 3.225806452 51.774928323
+20.000000000 3.548387097 52.870980129
+20.000000000 3.870967742 54.250136129
+20.000000000 4.193548387 55.910060541
+20.000000000 4.516129032 57.823117640
+20.000000000 4.838709677 59.917996684
+20.000000000 5.161290323 62.043162940
+20.000000000 5.483870968 64.006621117
+20.000000000 5.806451613 65.820682078
+20.000000000 6.129032258 67.494976640
+20.000000000 6.451612903 69.013706618
+20.000000000 6.774193548 70.341645817
+20.000000000 7.096774194 71.431615962
+20.000000000 7.419354839 72.233442079
+20.000000000 7.741935484 72.703595829
+20.000000000 8.064516129 72.821314025
+20.000000000 8.387096774 72.821314025
+20.000000000 8.709677419 72.821314025
+20.000000000 9.032258065 72.821314025
+20.000000000 9.354838710 72.821314025
+20.000000000 9.677419355 72.821314025
+20.000000000 10.000000000 72.821314025
+22.580645161 0.000000000 50.000000000
+22.580645161 0.322580645 50.000000000
+22.580645161 0.645161290 50.000000000
+22.580645161 0.967741935 50.000000000
+22.580645161 1.290322581 50.000000000
+22.580645161 1.612903226 50.000000000
+22.580645161 1.935483871 50.000000000
+22.580645161 2.258064516 50.076648486
+22.580645161 2.580645161 50.390076379
+22.580645161 2.903225806 50.952326813
+22.580645161 3.225806452 51.774928323
+22.580645161 3.548387097 52.870980129
+22.580645161 3.870967742 54.250136129
+22.580645161 4.193548387 55.910060541
+22.580645161 4.516129032 57.823117640
+22.580645161 4.838709677 59.917996684
+22.580645161 5.161290323 62.043162940
+22.580645161 5.483870968 64.006621117
+22.580645161 5.806451613 65.820682078
+22.580645161 6.129032258 67.494976640
+22.580645161 6.451612903 69.013706618
+22.580645161 6.774193548 70.341645817
+22.580645161 7.096774194 71.431615962
+22.580645161 7.419354839 72.233442079
+22.580645161 7.741935484 72.703595829
+22.580645161 8.064516129 72.821314025
+22.580645161 8.387096774 72.821314025
+22.580645161 8.709677419 72.821314025
+22.580645161 9.032258065 72.821314025
+22.580645161 9.354838710 72.821314025
+22.580645161 9.677419355 72.821314025
+22.580645161 10.000000000 72.821314025
+25.161290323 0.000000000 50.000000000
+25.161290323 0.322580645 50.000000000
+25.161290323 0.645161290 50.000000000
+25.161290323 0.967741935 50.000000000
+25.161290323 1.290322581 50.000000000
+25.161290323 1.612903226 50.000000000
+25.161290323 1.935483871 50.000000000
+25.161290323 2.258064516 50.076648486
+25.161290323 2.580645161 50.390076379
+25.161290323 2.903225806 50.952326813
+25.161290323 3.225806452 51.774928323
+25.161290323 3.548387097 52.870980129
+25.161290323 3.870967742 54.250136129
+25.161290323 4.193548387 55.910060541
+25.161290323 4.516129032 57.823117640
+25.161290323 4.838709677 59.917996684
+25.161290323 5.161290323 62.043162940
+25.161290323 5.483870968 64.006621117
+25.161290323 5.806451613 65.820682078
+25.161290323 6.129032258 67.494976640
+25.161290323 6.451612903 69.013706618
+25.161290323 6.774193548 70.341645817
+25.161290323 7.096774194 71.431615962
+25.161290323 7.419354839 72.233442079
+25.161290323 7.741935484 72.703595829
+25.161290323 8.064516129 72.821314025
+25.161290323 8.387096774 72.821314025
+25.161290323 8.709677419 72.821314025
+25.161290323 9.032258065 72.821314025
+25.161290323 9.354838710 72.821314025
+25.161290323 9.677419355 72.821314025
+25.161290323 10.000000000 72.821314025
+27.741935484 0.000000000 50.000000000
+27.741935484 0.322580645 50.000000000
+27.741935484 0.645161290 50.000000000
+27.741935484 0.967741935 50.000000000
+27.741935484 1.290322581 50.000000000
+27.741935484 1.612903226 50.000000000
+27.741935484 1.935483871 50.000000000
+27.741935484 2.258064516 50.076648486
+27.741935484 2.580645161 50.390076379
+27.741935484 2.903225806 50.952326813
+27.741935484 3.225806452 51.774928323
+27.741935484 3.548387097 52.870980129
+27.741935484 3.870967742 54.250136129
+27.741935484 4.193548387 55.910060541
+27.741935484 4.516129032 57.823117640
+27.741935484 4.838709677 59.917996684
+27.741935484 5.161290323 62.043162940
+27.741935484 5.483870968 64.006621117
+27.741935484 5.806451613 65.820682078
+27.741935484 6.129032258 67.494976640
+27.741935484 6.451612903 69.013706618
+27.741935484 6.774193548 70.341645817
+27.741935484 7.096774194 71.431615962
+27.741935484 7.419354839 72.233442079
+27.741935484 7.741935484 72.703595829
+27.741935484 8.064516129 72.821314025
+27.741935484 8.387096774 72.821314025
+27.741935484 8.709677419 72.821314025
+27.741935484 9.032258065 72.821314025
+27.741935484 9.354838710 72.821314025
+27.741935484 9.677419355 72.821314025
+27.741935484 10.000000000 72.821314025
+30.322580645 0.000000000 49.998803919
+30.322580645 0.322580645 49.998803919
+30.322580645 0.645161290 49.998803919
+30.322580645 0.967741935 49.998803919
+30.322580645 1.290322581 49.998803919
+30.322580645 1.612903226 49.998803919
+30.322580645 1.935483871 49.998803919
+30.322580645 2.258064516 50.075452379
+30.322580645 2.580645161 50.388879647
+30.322580645 2.903225806 50.951126990
+30.322580645 3.225806452 51.773719919
+30.322580645 3.548387097 52.869753955
+30.322580645 3.870967742 54.248879432
+30.322580645 4.193548387 55.908758472
+30.322580645 4.516129032 57.821756837
+30.322580645 4.838709677 59.916571839
+30.322580645 5.161290323 62.041682326
+30.322580645 5.483870968 64.005085024
+30.322580645 5.806451613 65.819089933
+30.322580645 6.129032258 67.493329173
+30.322580645 6.451612903 69.012006089
+30.322580645 6.774193548 70.339896659
+30.322580645 7.096774194 71.429825333
+30.322580645 7.419354839 72.231620048
+30.322580645 7.741935484 72.701755036
+30.322580645 8.064516129 72.819468494
+30.322580645 8.387096774 72.819468494
+30.322580645 8.709677419 72.819468494
+30.322580645 9.032258065 72.819468494
+30.322580645 9.354838710 72.819468494
+30.322580645 9.677419355 72.819468494
+30.322580645 10.000000000 72.819468494
+32.903225806 0.000000000 49.902957979
+32.903225806 0.322580645 49.902957979
+32.903225806 0.645161290 49.902957979
+32.903225806 0.967741935 49.902957979
+32.903225806 1.290322581 49.902957979
+32.903225806 1.612903226 49.902957979
+32.903225806 1.935483871 49.902957979
+32.903225806 2.258064516 49.979607017
+32.903225806 2.580645161 50.292994821
+32.903225806 2.903225806 50.855013655
+32.903225806 3.225806452 51.676947279
+32.903225806 3.548387097 52.771596216
+32.903225806 3.870967742 54.148327846
+32.903225806 4.193548387 55.804640065
+32.903225806 4.516129032 57.713021387
+32.903225806 4.838709677 59.802814253
+32.903225806 5.161290323 61.923569792
+32.903225806 5.483870968 63.882614176
+32.903225806 5.806451613 65.692193202
+32.903225806 6.129032258 67.362058048
+32.903225806 6.451612903 68.876521949
+32.903225806 6.774193548 70.200548955
+32.903225806 7.096774194 71.287181858
+32.903225806 7.419354839 72.086480819
+32.903225806 7.741935484 72.555124481
+32.903225806 8.064516129 72.672461319
+32.903225806 8.387096774 72.672461319
+32.903225806 8.709677419 72.672461319
+32.903225806 9.032258065 72.672461319
+32.903225806 9.354838710 72.672461319
+32.903225806 9.677419355 72.672461319
+32.903225806 10.000000000 72.672461319
+35.483870968 0.000000000 49.652304243
+35.483870968 0.322580645 49.652304243
+35.483870968 0.645161290 49.652304243
+35.483870968 0.967741935 49.652304243
+35.483870968 1.290322581 49.652304243
+35.483870968 1.612903226 49.652304243
+35.483870968 1.935483871 49.652304243
+35.483870968 2.258064516 49.728978589
+35.483870968 2.580645161 50.042360495
+35.483870968 2.903225806 50.603956690
+35.483870968 3.225806452 51.424424786
+35.483870968 3.548387097 52.515806201
+35.483870968 3.870967742 53.886750889
+35.483870968 4.193548387 55.534360928
+35.483870968 4.516129032 57.431479038
+35.483870968 4.838709677 59.509129544
+35.483870968 5.161290323 61.619524277
+35.483870968 5.483870968 63.567960518
+35.483870968 5.806451613 65.366559879
+35.483870968 6.129032258 67.025427611
+35.483870968 6.451612903 68.529270750
+35.483870968 6.774193548 69.843520900
+35.483870968 7.096774194 70.921801863
+35.483870968 7.419354839 71.714759421
+35.483870968 7.741935484 72.179613221
+35.483870968 8.064516129 72.295992918
+35.483870968 8.387096774 72.295992918
+35.483870968 8.709677419 72.295992918
+35.483870968 9.032258065 72.295992918
+35.483870968 9.354838710 72.295992918
+35.483870968 9.677419355 72.295992918
+35.483870968 10.000000000 72.295992918
+38.064516129 0.000000000 49.243098952
+38.064516129 0.322580645 49.243098952
+38.064516129 0.645161290 49.243098952
+38.064516129 0.967741935 49.243098952
+38.064516129 1.290322581 49.243098952
+38.064516129 1.612903226 49.243098952
+38.064516129 1.935483871 49.243098952
+38.064516129 2.258064516 49.319884816
+38.064516129 2.580645161 49.633543934
+38.064516129 2.903225806 50.194964997
+38.064516129 3.225806452 51.013799907
+38.064516129 3.548387097 52.100885441
+38.064516129 3.870967742 53.463764454
+38.064516129 4.193548387 55.098988836
+38.064516129 4.516129032 56.980073530
+38.064516129 4.838709677 59.040771242
+38.064516129 5.161290323 61.137226881
+38.064516129 5.483870968 63.070642355
+38.064516129 5.806451613 64.853053568
+38.064516129 6.129032258 66.495347777
+38.064516129 6.451612903 67.982967596
+38.064516129 6.774193548 69.282183577
+38.064516129 7.096774194 70.347560475
+38.064516129 7.419354839 71.130729588
+38.064516129 7.741935484 71.589715449
+38.064516129 8.064516129 71.704613000
+38.064516129 8.387096774 71.704613000
+38.064516129 8.709677419 71.704613000
+38.064516129 9.032258065 71.704613000
+38.064516129 9.354838710 71.704613000
+38.064516129 9.677419355 71.704613000
+38.064516129 10.000000000 71.704613000
+40.645161290 0.000000000 48.669743020
+40.645161290 0.322580645 48.669743020
+40.645161290 0.645161290 48.669743020
+40.645161290 0.967741935 48.669743020
+40.645161290 1.290322581 48.669743020
+40.645161290 1.612903226 48.669743020
+40.645161290 1.935483871 48.669743020
+40.645161290 2.258064516 48.746819724
+40.645161290 2.580645161 49.061416258
+40.645161290 2.903225806 49.623573900
+40.645161290 3.225806452 50.441561774
+40.645161290 3.548387097 51.524588313
+40.645161290 3.870967742 52.878759776
+40.645161290 4.193548387 54.500031239
+40.645161290 4.516129032 56.363029835
+40.645161290 4.838709677 58.405298469
+40.645161290 5.161290323 60.487754513
+40.645161290 5.483870968 62.404445671
+40.645161290 5.806451613 64.167465175
+40.645161290 6.129032258 65.789133360
+40.645161290 6.451612903 67.256143706
+40.645161290 6.774193548 68.536047010
+40.645161290 7.096774194 69.584753827
+40.645161290 7.419354839 70.355212405
+40.645161290 7.741935484 70.806584970
+40.645161290 8.064516129 70.919555525
+40.645161290 8.387096774 70.919555525
+40.645161290 8.709677419 70.919555525
+40.645161290 9.032258065 70.919555525
+40.645161290 9.354838710 70.919555525
+40.645161290 9.677419355 70.919555525
+40.645161290 10.000000000 70.919555525
+43.225806452 0.000000000 47.925533624
+43.225806452 0.322580645 47.925533624
+43.225806452 0.645161290 47.925533624
+43.225806452 0.967741935 47.925533624
+43.225806452 1.290322581 47.925533624
+43.225806452 1.612903226 47.925533624
+43.225806452 1.935483871 47.925533624
+43.225806452 2.258064516 48.003196119
+43.225806452 2.580645161 48.319856471
+43.225806452 2.903225806 48.884475705
+43.225806452 3.225806452 49.703554418
+43.225806452 3.548387097 50.784261421
+43.225806452 3.870967742 52.130995284
+43.225806452 4.193548387 53.739185104
+43.225806452 4.516129032 55.585152066
+43.225806452 4.838709677 57.611329633
+43.225806452 5.161290323 59.683821844
+43.225806452 5.483870968 61.585369310
+43.225806452 5.806451613 63.328281417
+43.225806452 6.129032258 64.927182028
+43.225806452 6.451612903 66.370699474
+43.225806452 6.774193548 67.628203974
+43.225806452 7.096774194 68.657390741
+43.225806452 7.419354839 69.412890949
+43.225806452 7.741935484 69.855269182
+43.225806452 8.064516129 69.965961562
+43.225806452 8.387096774 69.965961562
+43.225806452 8.709677419 69.965961562
+43.225806452 9.032258065 69.965961562
+43.225806452 9.354838710 69.965961562
+43.225806452 9.677419355 69.965961562
+43.225806452 10.000000000 69.965961562
+45.806451613 0.000000000 47.003934865
+45.806451613 0.322580645 47.003934865
+45.806451613 0.645161290 47.003934865
+45.806451613 0.967741935 47.003934865
+45.806451613 1.290322581 47.003934865
+45.806451613 1.612903226 47.003934865
+45.806451613 1.935483871 47.003934865
+45.806451613 2.258064516 47.082602480
+45.806451613 2.580645161 47.402950274
+45.806451613 2.903225806 47.972607613
+45.806451613 3.225806452 48.795888161
+45.806451613 3.548387097 49.877495327
+45.806451613 3.870967742 51.219883421
+45.806451613 4.193548387 52.818130271
+45.806451613 4.516129032 54.650985755
+45.806451613 4.838709677 56.666980792
+45.806451613 5.161290323 58.737589822
+45.806451613 5.483870968 60.629114424
+45.806451613 5.806451613 62.354014142
+45.806451613 6.129032258 63.930194608
+45.806451613 6.451612903 65.349040002
+45.806451613 6.774193548 66.582379353
+45.806451613 7.096774194 67.590187304
+45.806451613 7.419354839 68.329162947
+45.806451613 7.741935484 68.761558609
+45.806451613 8.064516129 68.869717097
+45.806451613 8.387096774 68.869717097
+45.806451613 8.709677419 68.869717097
+45.806451613 9.032258065 68.869717097
+45.806451613 9.354838710 68.869717097
+45.806451613 9.677419355 68.869717097
+45.806451613 10.000000000 68.869717097
+48.387096774 0.000000000 45.900598613
+48.387096774 0.322580645 45.900598613
+48.387096774 0.645161290 45.900598613
+48.387096774 0.967741935 45.900598613
+48.387096774 1.290322581 45.900598613
+48.387096774 1.612903226 45.900598613
+48.387096774 1.935483871 45.900598613
+48.387096774 2.258064516 45.980803355
+48.387096774 2.580645161 46.306905089
+48.387096774 2.903225806 46.884906961
+48.387096774 3.225806452 47.716447362
+48.387096774 3.548387097 48.803279055
+48.387096774 3.870967742 50.145663256
+48.387096774 4.193548387 51.738567788
+48.387096774 4.516129032 53.564064802
+48.387096774 4.838709677 55.578226605
+48.387096774 5.161290323 57.658283364
+48.387096774 5.483870968 59.548370180
+48.387096774 5.806451613 61.260362735
+48.387096774 6.129032258 62.816285423
+48.387096774 6.451612903 64.211142848
+48.387096774 6.774193548 65.419944811
+48.387096774 7.096774194 66.405514442
+48.387096774 7.419354839 67.127059853
+48.387096774 7.741935484 67.548845082
+48.387096774 8.064516129 67.654301037
+48.387096774 8.387096774 67.654301037
+48.387096774 8.709677419 67.654301037
+48.387096774 9.032258065 67.654301037
+48.387096774 9.354838710 67.654301037
+48.387096774 9.677419355 67.654301037
+48.387096774 10.000000000 67.654301037
+50.967741935 0.000000000 44.616415770
+50.967741935 0.322580645 44.616415770
+50.967741935 0.645161290 44.616415770
+50.967741935 0.967741935 44.616415770
+50.967741935 1.290322581 44.616415770
+50.967741935 1.612903226 44.616415770
+50.967741935 1.935483871 44.616415770
+50.967741935 2.258064516 44.698760304
+50.967741935 2.580645161 45.032946883
+50.967741935 2.903225806 45.622985345
+50.967741935 3.225806452 46.467238467
+50.967741935 3.548387097 47.563910116
+50.967741935 3.870967742 48.910743445
+50.967741935 4.193548387 50.502840212
+50.967741935 4.516129032 52.326633965
+50.967741935 4.838709677 54.347588260
+50.967741935 5.161290323 56.449954685
+50.967741935 5.483870968 58.350161475
+50.967741935 5.806451613 60.057440330
+50.967741935 6.129032258 61.598198804
+50.967741935 6.451612903 62.971785017
+50.967741935 6.774193548 64.157141145
+50.967741935 7.096774194 65.120596669
+50.967741935 7.419354839 65.824409419
+50.967741935 7.741935484 66.235264649
+50.967741935 8.064516129 66.337921286
+50.967741935 8.387096774 66.337921286
+50.967741935 8.709677419 66.337921286
+50.967741935 9.032258065 66.337921286
+50.967741935 9.354838710 66.337921286
+50.967741935 9.677419355 66.337921286
+50.967741935 10.000000000 66.337921286
+53.548387097 0.000000000 43.161863967
+53.548387097 0.322580645 43.161863967
+53.548387097 0.645161290 43.161863967
+53.548387097 0.967741935 43.161863967
+53.548387097 1.290322581 43.161863967
+53.548387097 1.612903226 43.161863967
+53.548387097 1.935483871 43.161863967
+53.548387097 2.258064516 43.246935669
+53.548387097 2.580645161 43.591449152
+53.548387097 2.903225806 44.196962107
+53.548387097 3.225806452 45.057826729
+53.548387097 3.548387097 46.167949378
+53.548387097 3.870967742 47.522086534
+53.548387097 4.193548387 49.115617384
+53.548387097 4.516129032 50.940434962
+53.548387097 4.838709677 52.973755088
+53.548387097 5.161290323 55.109848682
+53.548387097 5.483870968 57.033537819
+53.548387097 5.806451613 58.747231415
+53.548387097 6.129032258 60.280747236
+53.548387097 6.451612903 61.638028848
+53.548387097 6.774193548 62.802609961
+53.548387097 7.096774194 63.745066439
+53.548387097 7.419354839 64.431393253
+53.548387097 7.741935484 64.831240735
+53.548387097 8.064516129 64.931066230
+53.548387097 8.387096774 64.931066230
+53.548387097 8.709677419 64.931066230
+53.548387097 9.032258065 64.931066230
+53.548387097 9.354838710 64.931066230
+53.548387097 9.677419355 64.931066230
+53.548387097 10.000000000 64.931066230
+56.129032258 0.000000000 41.562757424
+56.129032258 0.322580645 41.562757424
+56.129032258 0.645161290 41.562757424
+56.129032258 0.967741935 41.562757424
+56.129032258 1.290322581 41.562757424
+56.129032258 1.612903226 41.562757424
+56.129032258 1.935483871 41.562757424
+56.129032258 2.258064516 41.650983104
+56.129032258 2.580645161 42.007394877
+56.129032258 2.903225806 42.630567878
+56.129032258 3.225806452 43.510014838
+56.129032258 3.548387097 44.634466681
+56.129032258 3.870967742 45.995029495
+56.129032258 4.193548387 47.587232438
+56.129032258 4.516129032 49.409320054
+56.129032258 4.838709677 51.452965804
+56.129032258 5.161290323 53.627995525
+56.129032258 5.483870968 55.587931245
+56.129032258 5.806451613 57.321397482
+56.129032258 6.129032258 58.858477926
+56.129032258 6.451612903 60.206932126
+56.129032258 6.774193548 61.355194390
+56.129032258 7.096774194 62.278842892
+56.129032258 7.419354839 62.948475434
+56.129032258 7.741935484 63.337473295
+56.129032258 8.064516129 63.434463522
+56.129032258 8.387096774 63.434463522
+56.129032258 8.709677419 63.434463522
+56.129032258 9.032258065 63.434463522
+56.129032258 9.354838710 63.434463522
+56.129032258 9.677419355 63.434463522
+56.129032258 10.000000000 63.434463522
+58.709677419 0.000000000 39.867082291
+58.709677419 0.322580645 39.867082291
+58.709677419 0.645161290 39.867082291
+58.709677419 0.967741935 39.867082291
+58.709677419 1.290322581 39.867082291
+58.709677419 1.612903226 39.867082291
+58.709677419 1.935483871 39.867082291
+58.709677419 2.258064516 39.958513244
+58.709677419 2.580645161 40.326884614
+58.709677419 2.903225806 40.967289350
+58.709677419 3.225806452 41.863642692
+58.709677419 3.548387097 42.998628756
+58.709677419 3.870967742 44.358835965
+58.709677419 4.193548387 45.939269950
+58.709677419 4.516129032 47.744614100
+58.709677419 4.838709677 49.783268810
+58.709677419 5.161290323 51.988970730
+58.709677419 5.483870968 53.992678480
+58.709677419 5.806451613 55.759559804
+58.709677419 6.129032258 57.313492323
+58.709677419 6.451612903 58.663327822
+58.709677419 6.774193548 59.801844372
+58.709677419 7.096774194 60.710189164
+58.709677419 7.419354839 61.364580282
+58.709677419 7.741935484 61.743138699
+58.709677419 8.064516129 61.837345788
+58.709677419 8.387096774 61.837345788
+58.709677419 8.709677419 61.837345788
+58.709677419 9.032258065 61.837345788
+58.709677419 9.354838710 61.837345788
+58.709677419 9.677419355 61.837345788
+58.709677419 10.000000000 61.837345788
+61.290322581 0.000000000 38.162654212
+61.290322581 0.322580645 38.162654212
+61.290322581 0.645161290 38.162654212
+61.290322581 0.967741935 38.162654212
+61.290322581 1.290322581 38.162654212
+61.290322581 1.612903226 38.162654212
+61.290322581 1.935483871 38.162654212
+61.290322581 2.258064516 38.256861301
+61.290322581 2.580645161 38.635419718
+61.290322581 2.903225806 39.289810836
+61.290322581 3.225806452 40.198155628
+61.290322581 3.548387097 41.336672178
+61.290322581 3.870967742 42.686507677
+61.290322581 4.193548387 44.240440196
+61.290322581 4.516129032 46.007321520
+61.290322581 4.838709677 48.011029270
+61.290322581 5.161290323 50.216731190
+61.290322581 5.483870968 52.255385900
+61.290322581 5.806451613 54.060730050
+61.290322581 6.129032258 55.641164035
+61.290322581 6.451612903 57.001371244
+61.290322581 6.774193548 58.136357308
+61.290322581 7.096774194 59.032710650
+61.290322581 7.419354839 59.673115386
+61.290322581 7.741935484 60.041486756
+61.290322581 8.064516129 60.132917709
+61.290322581 8.387096774 60.132917709
+61.290322581 8.709677419 60.132917709
+61.290322581 9.032258065 60.132917709
+61.290322581 9.354838710 60.132917709
+61.290322581 9.677419355 60.132917709
+61.290322581 10.000000000 60.132917709
+63.870967742 0.000000000 36.565536478
+63.870967742 0.322580645 36.565536478
+63.870967742 0.645161290 36.565536478
+63.870967742 0.967741935 36.565536478
+63.870967742 1.290322581 36.565536478
+63.870967742 1.612903226 36.565536478
+63.870967742 1.935483871 36.565536478
+63.870967742 2.258064516 36.662526705
+63.870967742 2.580645161 37.051524566
+63.870967742 2.903225806 37.721157108
+63.870967742 3.225806452 38.644805610
+63.870967742 3.548387097 39.793067874
+63.870967742 3.870967742 41.141522074
+63.870967742 4.193548387 42.678602518
+63.870967742 4.516129032 44.412068755
+63.870967742 4.838709677 46.372004475
+63.870967742 5.161290323 48.547034196
+63.870967742 5.483870968 50.590679946
+63.870967742 5.806451613 52.412767562
+63.870967742 6.129032258 54.004970505
+63.870967742 6.451612903 55.365533319
+63.870967742 6.774193548 56.489985162
+63.870967742 7.096774194 57.369432122
+63.870967742 7.419354839 57.992605123
+63.870967742 7.741935484 58.349016896
+63.870967742 8.064516129 58.437242576
+63.870967742 8.387096774 58.437242576
+63.870967742 8.709677419 58.437242576
+63.870967742 9.032258065 58.437242576
+63.870967742 9.354838710 58.437242576
+63.870967742 9.677419355 58.437242576
+63.870967742 10.000000000 58.437242576
+66.451612903 0.000000000 35.068933770
+66.451612903 0.322580645 35.068933770
+66.451612903 0.645161290 35.068933770
+66.451612903 0.967741935 35.068933770
+66.451612903 1.290322581 35.068933770
+66.451612903 1.612903226 35.068933770
+66.451612903 1.935483871 35.068933770
+66.451612903 2.258064516 35.168759265
+66.451612903 2.580645161 35.568606747
+66.451612903 2.903225806 36.254933561
+66.451612903 3.225806452 37.197390039
+66.451612903 3.548387097 38.361971152
+66.451612903 3.870967742 39.719252764
+66.451612903 4.193548387 41.252768585
+66.451612903 4.516129032 42.966462181
+66.451612903 4.838709677 44.890151318
+66.451612903 5.161290323 47.026244912
+66.451612903 5.483870968 49.059565038
+66.451612903 5.806451613 50.884382616
+66.451612903 6.129032258 52.477913466
+66.451612903 6.451612903 53.832050622
+66.451612903 6.774193548 54.942173271
+66.451612903 7.096774194 55.803037893
+66.451612903 7.419354839 56.408550848
+66.451612903 7.741935484 56.753064331
+66.451612903 8.064516129 56.838136033
+66.451612903 8.387096774 56.838136033
+66.451612903 8.709677419 56.838136033
+66.451612903 9.032258065 56.838136033
+66.451612903 9.354838710 56.838136033
+66.451612903 9.677419355 56.838136033
+66.451612903 10.000000000 56.838136033
+69.032258065 0.000000000 33.662078714
+69.032258065 0.322580645 33.662078714
+69.032258065 0.645161290 33.662078714
+69.032258065 0.967741935 33.662078714
+69.032258065 1.290322581 33.662078714
+69.032258065 1.612903226 33.662078714
+69.032258065 1.935483871 33.662078714
+69.032258065 2.258064516 33.764735351
+69.032258065 2.580645161 34.175590581
+69.032258065 2.903225806 34.879403331
+69.032258065 3.225806452 35.842858855
+69.032258065 3.548387097 37.028214983
+69.032258065 3.870967742 38.401801196
+69.032258065 4.193548387 39.942559670
+69.032258065 4.516129032 41.649838525
+69.032258065 4.838709677 43.550045315
+69.032258065 5.161290323 45.652411740
+69.032258065 5.483870968 47.673366035
+69.032258065 5.806451613 49.497159788
+69.032258065 6.129032258 51.089256555
+69.032258065 6.451612903 52.436089884
+69.032258065 6.774193548 53.532761533
+69.032258065 7.096774194 54.377014655
+69.032258065 7.419354839 54.967053117
+69.032258065 7.741935484 55.301239696
+69.032258065 8.064516129 55.383584230
+69.032258065 8.387096774 55.383584230
+69.032258065 8.709677419 55.383584230
+69.032258065 9.032258065 55.383584230
+69.032258065 9.354838710 55.383584230
+69.032258065 9.677419355 55.383584230
+69.032258065 10.000000000 55.383584230
+71.612903226 0.000000000 32.345698963
+71.612903226 0.322580645 32.345698963
+71.612903226 0.645161290 32.345698963
+71.612903226 0.967741935 32.345698963
+71.612903226 1.290322581 32.345698963
+71.612903226 1.612903226 32.345698963
+71.612903226 1.935483871 32.345698963
+71.612903226 2.258064516 32.451154918
+71.612903226 2.580645161 32.872940147
+71.612903226 2.903225806 33.594485558
+71.612903226 3.225806452 34.580055189
+71.612903226 3.548387097 35.788857152
+71.612903226 3.870967742 37.183714577
+71.612903226 4.193548387 38.739637265
+71.612903226 4.516129032 40.451629820
+71.612903226 4.838709677 42.341716636
+71.612903226 5.161290323 44.421773395
+71.612903226 5.483870968 46.435935198
+71.612903226 5.806451613 48.261432212
+71.612903226 6.129032258 49.854336744
+71.612903226 6.451612903 51.196720945
+71.612903226 6.774193548 52.283552638
+71.612903226 7.096774194 53.115093039
+71.612903226 7.419354839 53.693094911
+71.612903226 7.741935484 54.019196645
+71.612903226 8.064516129 54.099401387
+71.612903226 8.387096774 54.099401387
+71.612903226 8.709677419 54.099401387
+71.612903226 9.032258065 54.099401387
+71.612903226 9.354838710 54.099401387
+71.612903226 9.677419355 54.099401387
+71.612903226 10.000000000 54.099401387
+74.193548387 0.000000000 31.130282903
+74.193548387 0.322580645 31.130282903
+74.193548387 0.645161290 31.130282903
+74.193548387 0.967741935 31.130282903
+74.193548387 1.290322581 31.130282903
+74.193548387 1.612903226 31.130282903
+74.193548387 1.935483871 31.130282903
+74.193548387 2.258064516 31.238441391
+74.193548387 2.580645161 31.670837053
+74.193548387 2.903225806 32.409812696
+74.193548387 3.225806452 33.417620647
+74.193548387 3.548387097 34.650959998
+74.193548387 3.870967742 36.069805392
+74.193548387 4.193548387 37.645985858
+74.193548387 4.516129032 39.370885576
+74.193548387 4.838709677 41.262410178
+74.193548387 5.161290323 43.333019208
+74.193548387 5.483870968 45.349014245
+74.193548387 5.806451613 47.181869729
+74.193548387 6.129032258 48.780116579
+74.193548387 6.451612903 50.122504673
+74.193548387 6.774193548 51.204111839
+74.193548387 7.096774194 52.027392387
+74.193548387 7.419354839 52.597049726
+74.193548387 7.741935484 52.917397520
+74.193548387 8.064516129 52.996065135
+74.193548387 8.387096774 52.996065135
+74.193548387 8.709677419 52.996065135
+74.193548387 9.032258065 52.996065135
+74.193548387 9.354838710 52.996065135
+74.193548387 9.677419355 52.996065135
+74.193548387 10.000000000 52.996065135
+76.774193548 0.000000000 30.034038438
+76.774193548 0.322580645 30.034038438
+76.774193548 0.645161290 30.034038438
+76.774193548 0.967741935 30.034038438
+76.774193548 1.290322581 30.034038438
+76.774193548 1.612903226 30.034038438
+76.774193548 1.935483871 30.034038438
+76.774193548 2.258064516 30.144730818
+76.774193548 2.580645161 30.587109051
+76.774193548 2.903225806 31.342609259
+76.774193548 3.225806452 32.371796026
+76.774193548 3.548387097 33.629300526
+76.774193548 3.870967742 35.072817972
+76.774193548 4.193548387 36.671718583
+76.774193548 4.516129032 38.414630690
+76.774193548 4.838709677 40.316178156
+76.774193548 5.161290323 42.388670367
+76.774193548 5.483870968 44.414847934
+76.774193548 5.806451613 46.260814896
+76.774193548 6.129032258 47.869004716
+76.774193548 6.451612903 49.215738579
+76.774193548 6.774193548 50.296445582
+76.774193548 7.096774194 51.115524295
+76.774193548 7.419354839 51.680143529
+76.774193548 7.741935484 51.996803881
+76.774193548 8.064516129 52.074466376
+76.774193548 8.387096774 52.074466376
+76.774193548 8.709677419 52.074466376
+76.774193548 9.032258065 52.074466376
+76.774193548 9.354838710 52.074466376
+76.774193548 9.677419355 52.074466376
+76.774193548 10.000000000 52.074466376
+79.354838710 0.000000000 29.080444475
+79.354838710 0.322580645 29.080444475
+79.354838710 0.645161290 29.080444475
+79.354838710 0.967741935 29.080444475
+79.354838710 1.290322581 29.080444475
+79.354838710 1.612903226 29.080444475
+79.354838710 1.935483871 29.080444475
+79.354838710 2.258064516 29.193415030
+79.354838710 2.580645161 29.644787595
+79.354838710 2.903225806 30.415246173
+79.354838710 3.225806452 31.463952990
+79.354838710 3.548387097 32.743856294
+79.354838710 3.870967742 34.210866640
+79.354838710 4.193548387 35.832534825
+79.354838710 4.516129032 37.595554329
+79.354838710 4.838709677 39.512245487
+79.354838710 5.161290323 41.594701531
+79.354838710 5.483870968 43.636970165
+79.354838710 5.806451613 45.499968761
+79.354838710 6.129032258 47.121240224
+79.354838710 6.451612903 48.475411687
+79.354838710 6.774193548 49.558438226
+79.354838710 7.096774194 50.376426100
+79.354838710 7.419354839 50.938583742
+79.354838710 7.741935484 51.253180276
+79.354838710 8.064516129 51.330256980
+79.354838710 8.387096774 51.330256980
+79.354838710 8.709677419 51.330256980
+79.354838710 9.032258065 51.330256980
+79.354838710 9.354838710 51.330256980
+79.354838710 9.677419355 51.330256980
+79.354838710 10.000000000 51.330256980
+81.935483871 0.000000000 28.295387000
+81.935483871 0.322580645 28.295387000
+81.935483871 0.645161290 28.295387000
+81.935483871 0.967741935 28.295387000
+81.935483871 1.290322581 28.295387000
+81.935483871 1.612903226 28.295387000
+81.935483871 1.935483871 28.295387000
+81.935483871 2.258064516 28.410284551
+81.935483871 2.580645161 28.869270412
+81.935483871 2.903225806 29.652439525
+81.935483871 3.225806452 30.717816423
+81.935483871 3.548387097 32.017032404
+81.935483871 3.870967742 33.504652223
+81.935483871 4.193548387 35.146946432
+81.935483871 4.516129032 36.929357645
+81.935483871 4.838709677 38.862773119
+81.935483871 5.161290323 40.959228758
+81.935483871 5.483870968 43.019926470
+81.935483871 5.806451613 44.901011164
+81.935483871 6.129032258 46.536235546
+81.935483871 6.451612903 47.899114559
+81.935483871 6.774193548 48.986200093
+81.935483871 7.096774194 49.805035003
+81.935483871 7.419354839 50.366456066
+81.935483871 7.741935484 50.680115184
+81.935483871 8.064516129 50.756901048
+81.935483871 8.387096774 50.756901048
+81.935483871 8.709677419 50.756901048
+81.935483871 9.032258065 50.756901048
+81.935483871 9.354838710 50.756901048
+81.935483871 9.677419355 50.756901048
+81.935483871 10.000000000 50.756901048
+84.516129032 0.000000000 27.704007082
+84.516129032 0.322580645 27.704007082
+84.516129032 0.645161290 27.704007082
+84.516129032 0.967741935 27.704007082
+84.516129032 1.290322581 27.704007082
+84.516129032 1.612903226 27.704007082
+84.516129032 1.935483871 27.704007082
+84.516129032 2.258064516 27.820386779
+84.516129032 2.580645161 28.285240579
+84.516129032 2.903225806 29.078198137
+84.516129032 3.225806452 30.156479100
+84.516129032 3.548387097 31.470729250
+84.516129032 3.870967742 32.974572389
+84.516129032 4.193548387 34.633440121
+84.516129032 4.516129032 36.432039482
+84.516129032 4.838709677 38.380475723
+84.516129032 5.161290323 40.490870456
+84.516129032 5.483870968 42.568520962
+84.516129032 5.806451613 44.465639072
+84.516129032 6.129032258 46.113249111
+84.516129032 6.451612903 47.484193799
+84.516129032 6.774193548 48.575575214
+84.516129032 7.096774194 49.396043310
+84.516129032 7.419354839 49.957639505
+84.516129032 7.741935484 50.271021411
+84.516129032 8.064516129 50.347695757
+84.516129032 8.387096774 50.347695757
+84.516129032 8.709677419 50.347695757
+84.516129032 9.032258065 50.347695757
+84.516129032 9.354838710 50.347695757
+84.516129032 9.677419355 50.347695757
+84.516129032 10.000000000 50.347695757
+87.096774194 0.000000000 27.327538681
+87.096774194 0.322580645 27.327538681
+87.096774194 0.645161290 27.327538681
+87.096774194 0.967741935 27.327538681
+87.096774194 1.290322581 27.327538681
+87.096774194 1.612903226 27.327538681
+87.096774194 1.935483871 27.327538681
+87.096774194 2.258064516 27.444875519
+87.096774194 2.580645161 27.913519181
+87.096774194 2.903225806 28.712818142
+87.096774194 3.225806452 29.799451045
+87.096774194 3.548387097 31.123478051
+87.096774194 3.870967742 32.637941952
+87.096774194 4.193548387 34.307806798
+87.096774194 4.516129032 36.117385824
+87.096774194 4.838709677 38.076430208
+87.096774194 5.161290323 40.197185747
+87.096774194 5.483870968 42.286978613
+87.096774194 5.806451613 44.195359935
+87.096774194 6.129032258 45.851672154
+87.096774194 6.451612903 47.228403784
+87.096774194 6.774193548 48.323052721
+87.096774194 7.096774194 49.144986345
+87.096774194 7.419354839 49.707005179
+87.096774194 7.741935484 50.020392983
+87.096774194 8.064516129 50.097042021
+87.096774194 8.387096774 50.097042021
+87.096774194 8.709677419 50.097042021
+87.096774194 9.032258065 50.097042021
+87.096774194 9.354838710 50.097042021
+87.096774194 9.677419355 50.097042021
+87.096774194 10.000000000 50.097042021
+89.677419355 0.000000000 27.180531506
+89.677419355 0.322580645 27.180531506
+89.677419355 0.645161290 27.180531506
+89.677419355 0.967741935 27.180531506
+89.677419355 1.290322581 27.180531506
+89.677419355 1.612903226 27.180531506
+89.677419355 1.935483871 27.180531506
+89.677419355 2.258064516 27.298244964
+89.677419355 2.580645161 27.768379952
+89.677419355 2.903225806 28.570174667
+89.677419355 3.225806452 29.660103341
+89.677419355 3.548387097 30.987993911
+89.677419355 3.870967742 32.506670827
+89.677419355 4.193548387 34.180910067
+89.677419355 4.516129032 35.994914976
+89.677419355 4.838709677 37.958317674
+89.677419355 5.161290323 40.083428161
+89.677419355 5.483870968 42.178243163
+89.677419355 5.806451613 44.091241528
+89.677419355 6.129032258 45.751120568
+89.677419355 6.451612903 47.130246045
+89.677419355 6.774193548 48.226280081
+89.677419355 7.096774194 49.048873010
+89.677419355 7.419354839 49.611120353
+89.677419355 7.741935484 49.924547621
+89.677419355 8.064516129 50.001196081
+89.677419355 8.387096774 50.001196081
+89.677419355 8.709677419 50.001196081
+89.677419355 9.032258065 50.001196081
+89.677419355 9.354838710 50.001196081
+89.677419355 9.677419355 50.001196081
+89.677419355 10.000000000 50.001196081
+92.258064516 0.000000000 27.178685975
+92.258064516 0.322580645 27.178685975
+92.258064516 0.645161290 27.178685975
+92.258064516 0.967741935 27.178685975
+92.258064516 1.290322581 27.178685975
+92.258064516 1.612903226 27.178685975
+92.258064516 1.935483871 27.178685975
+92.258064516 2.258064516 27.296404171
+92.258064516 2.580645161 27.766557921
+92.258064516 2.903225806 28.568384038
+92.258064516 3.225806452 29.658354183
+92.258064516 3.548387097 30.986293382
+92.258064516 3.870967742 32.505023360
+92.258064516 4.193548387 34.179317922
+92.258064516 4.516129032 35.993378883
+92.258064516 4.838709677 37.956837060
+92.258064516 5.161290323 40.082003316
+92.258064516 5.483870968 42.176882360
+92.258064516 5.806451613 44.089939459
+92.258064516 6.129032258 45.749863871
+92.258064516 6.451612903 47.129019871
+92.258064516 6.774193548 48.225071677
+92.258064516 7.096774194 49.047673187
+92.258064516 7.419354839 49.609923621
+92.258064516 7.741935484 49.923351514
+92.258064516 8.064516129 50.000000000
+92.258064516 8.387096774 50.000000000
+92.258064516 8.709677419 50.000000000
+92.258064516 9.032258065 50.000000000
+92.258064516 9.354838710 50.000000000
+92.258064516 9.677419355 50.000000000
+92.258064516 10.000000000 50.000000000
+94.838709677 0.000000000 27.178685975
+94.838709677 0.322580645 27.178685975
+94.838709677 0.645161290 27.178685975
+94.838709677 0.967741935 27.178685975
+94.838709677 1.290322581 27.178685975
+94.838709677 1.612903226 27.178685975
+94.838709677 1.935483871 27.178685975
+94.838709677 2.258064516 27.296404171
+94.838709677 2.580645161 27.766557921
+94.838709677 2.903225806 28.568384038
+94.838709677 3.225806452 29.658354183
+94.838709677 3.548387097 30.986293382
+94.838709677 3.870967742 32.505023360
+94.838709677 4.193548387 34.179317922
+94.838709677 4.516129032 35.993378883
+94.838709677 4.838709677 37.956837060
+94.838709677 5.161290323 40.082003316
+94.838709677 5.483870968 42.176882360
+94.838709677 5.806451613 44.089939459
+94.838709677 6.129032258 45.749863871
+94.838709677 6.451612903 47.129019871
+94.838709677 6.774193548 48.225071677
+94.838709677 7.096774194 49.047673187
+94.838709677 7.419354839 49.609923621
+94.838709677 7.741935484 49.923351514
+94.838709677 8.064516129 50.000000000
+94.838709677 8.387096774 50.000000000
+94.838709677 8.709677419 50.000000000
+94.838709677 9.032258065 50.000000000
+94.838709677 9.354838710 50.000000000
+94.838709677 9.677419355 50.000000000
+94.838709677 10.000000000 50.000000000
+97.419354839 0.000000000 27.178685975
+97.419354839 0.322580645 27.178685975
+97.419354839 0.645161290 27.178685975
+97.419354839 0.967741935 27.178685975
+97.419354839 1.290322581 27.178685975
+97.419354839 1.612903226 27.178685975
+97.419354839 1.935483871 27.178685975
+97.419354839 2.258064516 27.296404171
+97.419354839 2.580645161 27.766557921
+97.419354839 2.903225806 28.568384038
+97.419354839 3.225806452 29.658354183
+97.419354839 3.548387097 30.986293382
+97.419354839 3.870967742 32.505023360
+97.419354839 4.193548387 34.179317922
+97.419354839 4.516129032 35.993378883
+97.419354839 4.838709677 37.956837060
+97.419354839 5.161290323 40.082003316
+97.419354839 5.483870968 42.176882360
+97.419354839 5.806451613 44.089939459
+97.419354839 6.129032258 45.749863871
+97.419354839 6.451612903 47.129019871
+97.419354839 6.774193548 48.225071677
+97.419354839 7.096774194 49.047673187
+97.419354839 7.419354839 49.609923621
+97.419354839 7.741935484 49.923351514
+97.419354839 8.064516129 50.000000000
+97.419354839 8.387096774 50.000000000
+97.419354839 8.709677419 50.000000000
+97.419354839 9.032258065 50.000000000
+97.419354839 9.354838710 50.000000000
+97.419354839 9.677419355 50.000000000
+97.419354839 10.000000000 50.000000000
+100.000000000 0.000000000 27.178685975
+100.000000000 0.322580645 27.178685975
+100.000000000 0.645161290 27.178685975
+100.000000000 0.967741935 27.178685975
+100.000000000 1.290322581 27.178685975
+100.000000000 1.612903226 27.178685975
+100.000000000 1.935483871 27.178685975
+100.000000000 2.258064516 27.296404171
+100.000000000 2.580645161 27.766557921
+100.000000000 2.903225806 28.568384038
+100.000000000 3.225806452 29.658354183
+100.000000000 3.548387097 30.986293382
+100.000000000 3.870967742 32.505023360
+100.000000000 4.193548387 34.179317922
+100.000000000 4.516129032 35.993378883
+100.000000000 4.838709677 37.956837060
+100.000000000 5.161290323 40.082003316
+100.000000000 5.483870968 42.176882360
+100.000000000 5.806451613 44.089939459
+100.000000000 6.129032258 45.749863871
+100.000000000 6.451612903 47.129019871
+100.000000000 6.774193548 48.225071677
+100.000000000 7.096774194 49.047673187
+100.000000000 7.419354839 49.609923621
+100.000000000 7.741935484 49.923351514
+100.000000000 8.064516129 50.000000000
+100.000000000 8.387096774 50.000000000
+100.000000000 8.709677419 50.000000000
+100.000000000 9.032258065 50.000000000
+100.000000000 9.354838710 50.000000000
+100.000000000 9.677419355 50.000000000
+100.000000000 10.000000000 50.000000000
diff --git a/examples/mamdani/octave/investment_portfolio.fll b/examples/mamdani/octave/investment_portfolio.fll
index 4bb14e1..628fdef 100644
--- a/examples/mamdani/octave/investment_portfolio.fll
+++ b/examples/mamdani/octave/investment_portfolio.fll
@@ -1,22 +1,24 @@
-Engine: Investment-Portfolio
+Engine: investment_portfolio
InputVariable: Age
enabled: true
range: 20.000 100.000
+ lock-range: false
term: Young ZShape 30.000 90.000
term: Old SShape 30.000 90.000
InputVariable: RiskTolerance
enabled: true
range: 0.000 10.000
+ lock-range: false
term: Low ZShape 2.000 8.000
term: High SShape 2.000 8.000
OutputVariable: PercentageInStocks
enabled: true
range: 0.000 100.000
- accumulation: EinsteinSum
+ lock-range: false
+ aggregation: EinsteinSum
defuzzifier: Centroid 200
default: nan
lock-previous: false
- lock-range: false
term: AboutFifteen Gaussian 15.000 10.000
term: AboutFifty Gaussian 50.000 10.000
term: AboutEightyFive Gaussian 85.000 10.000
@@ -24,7 +26,8 @@ RuleBlock:
enabled: true
conjunction: EinsteinProduct
disjunction: EinsteinSum
- activation: EinsteinProduct
+ implication: EinsteinProduct
+ activation: General
rule: if Age is Young or RiskTolerance is High then PercentageInStocks is AboutEightyFive
rule: if Age is Old or RiskTolerance is Low then PercentageInStocks is AboutFifteen
rule: if Age is not extremely Old and RiskTolerance is not extremely Low then PercentageInStocks is AboutFifty with 0.500
diff --git a/examples/mamdani/octave/investment_portfolio.java b/examples/mamdani/octave/investment_portfolio.java
index 09084f1..9dff687 100644
--- a/examples/mamdani/octave/investment_portfolio.java
+++ b/examples/mamdani/octave/investment_portfolio.java
@@ -1,4 +1,5 @@
import com.fuzzylite.*;
+import com.fuzzylite.activation.*
import com.fuzzylite.defuzzifier.*;
import com.fuzzylite.factory.*;
import com.fuzzylite.hedge.*;
@@ -12,45 +13,55 @@ import com.fuzzylite.variable.*;
public class investment_portfolio{
public static void main(String[] args){
+//Code automatically generated with fuzzylite 6.0.
+
Engine engine = new Engine();
-engine.setName("Investment-Portfolio");
-
-InputVariable inputVariable1 = new InputVariable();
-inputVariable1.setEnabled(true);
-inputVariable1.setName("Age");
-inputVariable1.setRange(20.000, 100.000);
-inputVariable1.addTerm(new ZShape("Young", 30.000, 90.000));
-inputVariable1.addTerm(new SShape("Old", 30.000, 90.000));
-engine.addInputVariable(inputVariable1);
-
-InputVariable inputVariable2 = new InputVariable();
-inputVariable2.setEnabled(true);
-inputVariable2.setName("RiskTolerance");
-inputVariable2.setRange(0.000, 10.000);
-inputVariable2.addTerm(new ZShape("Low", 2.000, 8.000));
-inputVariable2.addTerm(new SShape("High", 2.000, 8.000));
-engine.addInputVariable(inputVariable2);
-
-OutputVariable outputVariable = new OutputVariable();
-outputVariable.setEnabled(true);
-outputVariable.setName("PercentageInStocks");
-outputVariable.setRange(0.000, 100.000);
-outputVariable.fuzzyOutput().setAccumulation(new EinsteinSum());
-outputVariable.setDefuzzifier(new Centroid(200));
-outputVariable.setDefaultValue(Double.NaN);
-outputVariable.setLockPreviousOutputValue(false);
-outputVariable.setLockOutputValueInRange(false);
-outputVariable.addTerm(new Gaussian("AboutFifteen", 15.000, 10.000));
-outputVariable.addTerm(new Gaussian("AboutFifty", 50.000, 10.000));
-outputVariable.addTerm(new Gaussian("AboutEightyFive", 85.000, 10.000));
-engine.addOutputVariable(outputVariable);
+engine.setName("investment_portfolio");
+engine.setDescription("");
+
+InputVariable Age = new InputVariable();
+Age.setName("Age");
+Age.setDescription("");
+Age.setEnabled(true);
+Age.setRange(20.000, 100.000);
+Age.setLockValueInRange(false);
+Age.addTerm(new ZShape("Young", 30.000, 90.000));
+Age.addTerm(new SShape("Old", 30.000, 90.000));
+engine.addInputVariable(Age);
+
+InputVariable RiskTolerance = new InputVariable();
+RiskTolerance.setName("RiskTolerance");
+RiskTolerance.setDescription("");
+RiskTolerance.setEnabled(true);
+RiskTolerance.setRange(0.000, 10.000);
+RiskTolerance.setLockValueInRange(false);
+RiskTolerance.addTerm(new ZShape("Low", 2.000, 8.000));
+RiskTolerance.addTerm(new SShape("High", 2.000, 8.000));
+engine.addInputVariable(RiskTolerance);
+
+OutputVariable PercentageInStocks = new OutputVariable();
+PercentageInStocks.setName("PercentageInStocks");
+PercentageInStocks.setDescription("");
+PercentageInStocks.setEnabled(true);
+PercentageInStocks.setRange(0.000, 100.000);
+PercentageInStocks.setLockValueInRange(false);
+PercentageInStocks.setAggregation(new EinsteinSum());
+PercentageInStocks.setDefuzzifier(new Centroid(200));
+PercentageInStocks.setDefaultValue(Double.NaN);
+PercentageInStocks.setLockPreviousValue(false);
+PercentageInStocks.addTerm(new Gaussian("AboutFifteen", 15.000, 10.000));
+PercentageInStocks.addTerm(new Gaussian("AboutFifty", 50.000, 10.000));
+PercentageInStocks.addTerm(new Gaussian("AboutEightyFive", 85.000, 10.000));
+engine.addOutputVariable(PercentageInStocks);
RuleBlock ruleBlock = new RuleBlock();
-ruleBlock.setEnabled(true);
ruleBlock.setName("");
+ruleBlock.setDescription("");
+ruleBlock.setEnabled(true);
ruleBlock.setConjunction(new EinsteinProduct());
ruleBlock.setDisjunction(new EinsteinSum());
-ruleBlock.setActivation(new EinsteinProduct());
+ruleBlock.setImplication(new EinsteinProduct());
+ruleBlock.setActivation(new General());
ruleBlock.addRule(Rule.parse("if Age is Young or RiskTolerance is High then PercentageInStocks is AboutEightyFive", engine));
ruleBlock.addRule(Rule.parse("if Age is Old or RiskTolerance is Low then PercentageInStocks is AboutFifteen", engine));
ruleBlock.addRule(Rule.parse("if Age is not extremely Old and RiskTolerance is not extremely Low then PercentageInStocks is AboutFifty with 0.500", engine));
diff --git a/examples/mamdani/octave/investment_portfolio.pdf b/examples/mamdani/octave/investment_portfolio.pdf
new file mode 100644
index 0000000..c9c897e
--- /dev/null
+++ b/examples/mamdani/octave/investment_portfolio.pdf
Binary files differ
diff --git a/examples/mamdani/octave/mamdani_tip_calculator.R b/examples/mamdani/octave/mamdani_tip_calculator.R
new file mode 100644
index 0000000..81eabe2
--- /dev/null
+++ b/examples/mamdani/octave/mamdani_tip_calculator.R
@@ -0,0 +1,90 @@
+#Code automatically generated with fuzzylite 6.0.
+
+library(ggplot2);
+
+engine.name = "mamdani_tip_calculator"
+engine.fll = "Engine: mamdani_tip_calculator
+InputVariable: FoodQuality
+ enabled: true
+ range: 1.000 10.000
+ lock-range: false
+ term: Bad Trapezoid 0.000 1.000 3.000 7.000
+ term: Good Trapezoid 3.000 7.000 10.000 11.000
+InputVariable: Service
+ enabled: true
+ range: 1.000 10.000
+ lock-range: false
+ term: Bad Trapezoid 0.000 1.000 3.000 7.000
+ term: Good Trapezoid 3.000 7.000 10.000 11.000
+OutputVariable: Tip
+ enabled: true
+ range: 0.000 30.000
+ lock-range: false
+ aggregation: AlgebraicSum
+ defuzzifier: Centroid 200
+ default: nan
+ lock-previous: false
+ term: AboutTenPercent Gaussian 10.000 2.000
+ term: AboutFifteenPercent Gaussian 15.000 2.000
+ term: AboutTwentyPercent Gaussian 20.000 2.000
+OutputVariable: CheckPlusTip
+ enabled: true
+ range: 1.000 1.300
+ lock-range: false
+ aggregation: AlgebraicSum
+ defuzzifier: Centroid 200
+ default: nan
+ lock-previous: false
+ term: PlusAboutTenPercent Gaussian 1.100 0.020
+ term: PlusAboutFifteenPercent Gaussian 1.150 0.020
+ term: PlusAboutTwentyPercent Gaussian 1.200 0.020
+RuleBlock:
+ enabled: true
+ conjunction: AlgebraicProduct
+ disjunction: Maximum
+ implication: Minimum
+ activation: General
+ rule: if FoodQuality is Bad and Service is Bad then Tip is AboutTenPercent and CheckPlusTip is PlusAboutTenPercent
+ rule: if FoodQuality is Bad and Service is Good then Tip is AboutFifteenPercent and CheckPlusTip is PlusAboutFifteenPercent
+ rule: if FoodQuality is Good and Service is Bad then Tip is AboutFifteenPercent and CheckPlusTip is PlusAboutFifteenPercent
+ rule: if FoodQuality is Good and Service is Good then Tip is AboutTwentyPercent and CheckPlusTip is PlusAboutTwentyPercent"
+
+engine.fldFile = "mamdani_tip_calculator.fld"
+if (require(data.table)) {
+ engine.df = data.table::fread(engine.fldFile, sep="auto", header="auto")
+} else {
+ engine.df = read.table(engine.fldFile, header=TRUE)
+}
+
+engine.plot.i1i2_o1 = ggplot(engine.df, aes(FoodQuality, Service)) +
+ geom_tile(aes(fill=Tip)) +
+ scale_fill_gradient(low="yellow", high="red") +
+ stat_contour(aes(x=FoodQuality, y=Service, z=Tip), color="black") +
+ ggtitle("(FoodQuality, Service) = Tip")
+
+engine.plot.i2i1_o1 = ggplot(engine.df, aes(Service, FoodQuality)) +
+ geom_tile(aes(fill=Tip)) +
+ scale_fill_gradient(low="yellow", high="red") +
+ stat_contour(aes(x=Service, y=FoodQuality, z=Tip), color="black") +
+ ggtitle("(Service, FoodQuality) = Tip")
+
+engine.plot.i1i2_o2 = ggplot(engine.df, aes(FoodQuality, Service)) +
+ geom_tile(aes(fill=CheckPlusTip)) +
+ scale_fill_gradient(low="yellow", high="red") +
+ stat_contour(aes(x=FoodQuality, y=Service, z=CheckPlusTip), color="black") +
+ ggtitle("(FoodQuality, Service) = CheckPlusTip")
+
+engine.plot.i2i1_o2 = ggplot(engine.df, aes(Service, FoodQuality)) +
+ geom_tile(aes(fill=CheckPlusTip)) +
+ scale_fill_gradient(low="yellow", high="red") +
+ stat_contour(aes(x=Service, y=FoodQuality, z=CheckPlusTip), color="black") +
+ ggtitle("(Service, FoodQuality) = CheckPlusTip")
+
+if (require(gridExtra)) {
+ engine.plots = arrangeGrob(engine.plot.i1i2_o1, engine.plot.i2i1_o1, engine.plot.i1i2_o2, engine.plot.i2i1_o2, ncol=2, top=engine.name)
+ ggsave(paste0(engine.name, ".pdf"), engine.plots)
+ if (require(grid)) {
+ grid.newpage()
+ grid.draw(engine.plots)
+ }
+}
diff --git a/examples/mamdani/octave/mamdani_tip_calculator.cpp b/examples/mamdani/octave/mamdani_tip_calculator.cpp
index cd57bf7..86d6464 100644
--- a/examples/mamdani/octave/mamdani_tip_calculator.cpp
+++ b/examples/mamdani/octave/mamdani_tip_calculator.cpp
@@ -1,65 +1,76 @@
#include <fl/Headers.h>
int main(int argc, char** argv){
+//Code automatically generated with fuzzylite 6.0.
+
using namespace fl;
Engine* engine = new Engine;
-engine->setName("Mamdani-Tip-Calculator");
+engine->setName("mamdani_tip_calculator");
+engine->setDescription("");
-InputVariable* inputVariable1 = new InputVariable;
-inputVariable1->setEnabled(true);
-inputVariable1->setName("FoodQuality");
-inputVariable1->setRange(1.000, 10.000);
-inputVariable1->addTerm(new Trapezoid("Bad", 0.000, 1.000, 3.000, 7.000));
-inputVariable1->addTerm(new Trapezoid("Good", 3.000, 7.000, 10.000, 11.000));
-engine->addInputVariable(inputVariable1);
+InputVariable* FoodQuality = new InputVariable;
+FoodQuality->setName("FoodQuality");
+FoodQuality->setDescription("");
+FoodQuality->setEnabled(true);
+FoodQuality->setRange(1.000, 10.000);
+FoodQuality->setLockValueInRange(false);
+FoodQuality->addTerm(new Trapezoid("Bad", 0.000, 1.000, 3.000, 7.000));
+FoodQuality->addTerm(new Trapezoid("Good", 3.000, 7.000, 10.000, 11.000));
+engine->addInputVariable(FoodQuality);
-InputVariable* inputVariable2 = new InputVariable;
-inputVariable2->setEnabled(true);
-inputVariable2->setName("Service");
-inputVariable2->setRange(1.000, 10.000);
-inputVariable2->addTerm(new Trapezoid("Bad", 0.000, 1.000, 3.000, 7.000));
-inputVariable2->addTerm(new Trapezoid("Good", 3.000, 7.000, 10.000, 11.000));
-engine->addInputVariable(inputVariable2);
+InputVariable* Service = new InputVariable;
+Service->setName("Service");
+Service->setDescription("");
+Service->setEnabled(true);
+Service->setRange(1.000, 10.000);
+Service->setLockValueInRange(false);
+Service->addTerm(new Trapezoid("Bad", 0.000, 1.000, 3.000, 7.000));
+Service->addTerm(new Trapezoid("Good", 3.000, 7.000, 10.000, 11.000));
+engine->addInputVariable(Service);
-OutputVariable* outputVariable1 = new OutputVariable;
-outputVariable1->setEnabled(true);
-outputVariable1->setName("Tip");
-outputVariable1->setRange(0.000, 30.000);
-outputVariable1->fuzzyOutput()->setAccumulation(new AlgebraicSum);
-outputVariable1->setDefuzzifier(new Centroid(200));
-outputVariable1->setDefaultValue(fl::nan);
-outputVariable1->setLockPreviousOutputValue(false);
-outputVariable1->setLockOutputValueInRange(false);
-outputVariable1->addTerm(new Gaussian("AboutTenPercent", 10.000, 2.000));
-outputVariable1->addTerm(new Gaussian("AboutFifteenPercent", 15.000, 2.000));
-outputVariable1->addTerm(new Gaussian("AboutTwentyPercent", 20.000, 2.000));
-engine->addOutputVariable(outputVariable1);
+OutputVariable* Tip = new OutputVariable;
+Tip->setName("Tip");
+Tip->setDescription("");
+Tip->setEnabled(true);
+Tip->setRange(0.000, 30.000);
+Tip->setLockValueInRange(false);
+Tip->setAggregation(new AlgebraicSum);
+Tip->setDefuzzifier(new Centroid(200));
+Tip->setDefaultValue(fl::nan);
+Tip->setLockPreviousValue(false);
+Tip->addTerm(new Gaussian("AboutTenPercent", 10.000, 2.000));
+Tip->addTerm(new Gaussian("AboutFifteenPercent", 15.000, 2.000));
+Tip->addTerm(new Gaussian("AboutTwentyPercent", 20.000, 2.000));
+engine->addOutputVariable(Tip);
-OutputVariable* outputVariable2 = new OutputVariable;
-outputVariable2->setEnabled(true);
-outputVariable2->setName("CheckPlusTip");
-outputVariable2->setRange(1.000, 1.300);
-outputVariable2->fuzzyOutput()->setAccumulation(new AlgebraicSum);
-outputVariable2->setDefuzzifier(new Centroid(200));
-outputVariable2->setDefaultValue(fl::nan);
-outputVariable2->setLockPreviousOutputValue(false);
-outputVariable2->setLockOutputValueInRange(false);
-outputVariable2->addTerm(new Gaussian("PlusAboutTenPercent", 1.100, 0.020));
-outputVariable2->addTerm(new Gaussian("PlusAboutFifteenPercent", 1.150, 0.020));
-outputVariable2->addTerm(new Gaussian("PlusAboutTwentyPercent", 1.200, 0.020));
-engine->addOutputVariable(outputVariable2);
+OutputVariable* CheckPlusTip = new OutputVariable;
+CheckPlusTip->setName("CheckPlusTip");
+CheckPlusTip->setDescription("");
+CheckPlusTip->setEnabled(true);
+CheckPlusTip->setRange(1.000, 1.300);
+CheckPlusTip->setLockValueInRange(false);
+CheckPlusTip->setAggregation(new AlgebraicSum);
+CheckPlusTip->setDefuzzifier(new Centroid(200));
+CheckPlusTip->setDefaultValue(fl::nan);
+CheckPlusTip->setLockPreviousValue(false);
+CheckPlusTip->addTerm(new Gaussian("PlusAboutTenPercent", 1.100, 0.020));
+CheckPlusTip->addTerm(new Gaussian("PlusAboutFifteenPercent", 1.150, 0.020));
+CheckPlusTip->addTerm(new Gaussian("PlusAboutTwentyPercent", 1.200, 0.020));
+engine->addOutputVariable(CheckPlusTip);
RuleBlock* ruleBlock = new RuleBlock;
-ruleBlock->setEnabled(true);
ruleBlock->setName("");
+ruleBlock->setDescription("");
+ruleBlock->setEnabled(true);
ruleBlock->setConjunction(new AlgebraicProduct);
ruleBlock->setDisjunction(new Maximum);
-ruleBlock->setActivation(new Minimum);
-ruleBlock->addRule(fl::Rule::parse("if FoodQuality is Bad and Service is Bad then Tip is AboutTenPercent and CheckPlusTip is PlusAboutTenPercent", engine));
-ruleBlock->addRule(fl::Rule::parse("if FoodQuality is Bad and Service is Good then Tip is AboutFifteenPercent and CheckPlusTip is PlusAboutFifteenPercent", engine));
-ruleBlock->addRule(fl::Rule::parse("if FoodQuality is Good and Service is Bad then Tip is AboutFifteenPercent and CheckPlusTip is PlusAboutFifteenPercent", engine));
-ruleBlock->addRule(fl::Rule::parse("if FoodQuality is Good and Service is Good then Tip is AboutTwentyPercent and CheckPlusTip is PlusAboutTwentyPercent", engine));
+ruleBlock->setImplication(new Minimum);
+ruleBlock->setActivation(new General);
+ruleBlock->addRule(Rule::parse("if FoodQuality is Bad and Service is Bad then Tip is AboutTenPercent and CheckPlusTip is PlusAboutTenPercent", engine));
+ruleBlock->addRule(Rule::parse("if FoodQuality is Bad and Service is Good then Tip is AboutFifteenPercent and CheckPlusTip is PlusAboutFifteenPercent", engine));
+ruleBlock->addRule(Rule::parse("if FoodQuality is Good and Service is Bad then Tip is AboutFifteenPercent and CheckPlusTip is PlusAboutFifteenPercent", engine));
+ruleBlock->addRule(Rule::parse("if FoodQuality is Good and Service is Good then Tip is AboutTwentyPercent and CheckPlusTip is PlusAboutTwentyPercent", engine));
engine->addRuleBlock(ruleBlock);
diff --git a/examples/mamdani/octave/mamdani_tip_calculator.fcl b/examples/mamdani/octave/mamdani_tip_calculator.fcl
index 3ea903a..0265bc2 100644
--- a/examples/mamdani/octave/mamdani_tip_calculator.fcl
+++ b/examples/mamdani/octave/mamdani_tip_calculator.fcl
@@ -1,4 +1,6 @@
-FUNCTION_BLOCK Mamdani-Tip-Calculator
+//Code automatically generated with fuzzylite 6.0.
+
+FUNCTION_BLOCK mamdani_tip_calculator
VAR_INPUT
FoodQuality: REAL;
diff --git a/examples/mamdani/octave/mamdani_tip_calculator.fis b/examples/mamdani/octave/mamdani_tip_calculator.fis
index 42cf1df..13cd802 100644
--- a/examples/mamdani/octave/mamdani_tip_calculator.fis
+++ b/examples/mamdani/octave/mamdani_tip_calculator.fis
@@ -1,13 +1,16 @@
+#Code automatically generated with fuzzylite 6.0.
+
[System]
-Name='Mamdani-Tip-Calculator'
+Name='mamdani_tip_calculator'
Type='mamdani'
+Version=6.0
NumInputs=2
NumOutputs=2
NumRules=4
AndMethod='prod'
OrMethod='max'
ImpMethod='min'
-AggMethod='sum'
+AggMethod='probor'
DefuzzMethod='centroid'
[Input1]
diff --git a/examples/mamdani/octave/mamdani_tip_calculator.fld b/examples/mamdani/octave/mamdani_tip_calculator.fld
index 9d54109..9d87eab 100644
--- a/examples/mamdani/octave/mamdani_tip_calculator.fld
+++ b/examples/mamdani/octave/mamdani_tip_calculator.fld
@@ -1,1026 +1,1025 @@
-#@Engine: Mamdani-Tip-Calculator;
-#@InputVariable: FoodQuality; @InputVariable: Service; @OutputVariable: Tip; @OutputVariable: CheckPlusTip;
-1.00000000 1.00000000 10.00000296 1.10000003
-1.00000000 1.29032258 10.00000296 1.10000003
-1.00000000 1.58064516 10.00000296 1.10000003
-1.00000000 1.87096774 10.00000296 1.10000003
-1.00000000 2.16129032 10.00000296 1.10000003
-1.00000000 2.45161290 10.00000296 1.10000003
-1.00000000 2.74193548 10.00000296 1.10000003
-1.00000000 3.03225806 10.10361204 1.10103612
-1.00000000 3.32258065 10.70846739 1.10708467
-1.00000000 3.61290323 11.13394556 1.11133946
-1.00000000 3.90322581 11.47924881 1.11479249
-1.00000000 4.19354839 11.77837052 1.11778371
-1.00000000 4.48387097 12.05010492 1.12050105
-1.00000000 4.77419355 12.30576276 1.12305763
-1.00000000 5.06451613 12.55517544 1.12555175
-1.00000000 5.35483871 12.80665986 1.12806660
-1.00000000 5.64516129 13.06809323 1.13068093
-1.00000000 5.93548387 13.35056196 1.13350562
-1.00000000 6.22580645 13.66657067 1.13666571
-1.00000000 6.51612903 14.04212491 1.14042125
-1.00000000 6.80645161 14.52492871 1.14524929
-1.00000000 7.09677419 15.00000000 1.15000000
-1.00000000 7.38709677 15.00000000 1.15000000
-1.00000000 7.67741935 15.00000000 1.15000000
-1.00000000 7.96774194 15.00000000 1.15000000
-1.00000000 8.25806452 15.00000000 1.15000000
-1.00000000 8.54838710 15.00000000 1.15000000
-1.00000000 8.83870968 15.00000000 1.15000000
-1.00000000 9.12903226 15.00000000 1.15000000
-1.00000000 9.41935484 15.00000000 1.15000000
-1.00000000 9.70967742 15.00000000 1.15000000
-1.00000000 10.00000000 15.00000000 1.15000000
-1.29032258 1.00000000 10.00000296 1.10000003
-1.29032258 1.29032258 10.00000296 1.10000003
-1.29032258 1.58064516 10.00000296 1.10000003
-1.29032258 1.87096774 10.00000296 1.10000003
-1.29032258 2.16129032 10.00000296 1.10000003
-1.29032258 2.45161290 10.00000296 1.10000003
-1.29032258 2.74193548 10.00000296 1.10000003
-1.29032258 3.03225806 10.10361204 1.10103612
-1.29032258 3.32258065 10.70846739 1.10708467
-1.29032258 3.61290323 11.13394556 1.11133946
-1.29032258 3.90322581 11.47924881 1.11479249
-1.29032258 4.19354839 11.77837052 1.11778371
-1.29032258 4.48387097 12.05010492 1.12050105
-1.29032258 4.77419355 12.30576276 1.12305763
-1.29032258 5.06451613 12.55517544 1.12555175
-1.29032258 5.35483871 12.80665986 1.12806660
-1.29032258 5.64516129 13.06809323 1.13068093
-1.29032258 5.93548387 13.35056196 1.13350562
-1.29032258 6.22580645 13.66657067 1.13666571
-1.29032258 6.51612903 14.04212491 1.14042125
-1.29032258 6.80645161 14.52492871 1.14524929
-1.29032258 7.09677419 15.00000000 1.15000000
-1.29032258 7.38709677 15.00000000 1.15000000
-1.29032258 7.67741935 15.00000000 1.15000000
-1.29032258 7.96774194 15.00000000 1.15000000
-1.29032258 8.25806452 15.00000000 1.15000000
-1.29032258 8.54838710 15.00000000 1.15000000
-1.29032258 8.83870968 15.00000000 1.15000000
-1.29032258 9.12903226 15.00000000 1.15000000
-1.29032258 9.41935484 15.00000000 1.15000000
-1.29032258 9.70967742 15.00000000 1.15000000
-1.29032258 10.00000000 15.00000000 1.15000000
-1.58064516 1.00000000 10.00000296 1.10000003
-1.58064516 1.29032258 10.00000296 1.10000003
-1.58064516 1.58064516 10.00000296 1.10000003
-1.58064516 1.87096774 10.00000296 1.10000003
-1.58064516 2.16129032 10.00000296 1.10000003
-1.58064516 2.45161290 10.00000296 1.10000003
-1.58064516 2.74193548 10.00000296 1.10000003
-1.58064516 3.03225806 10.10361204 1.10103612
-1.58064516 3.32258065 10.70846739 1.10708467
-1.58064516 3.61290323 11.13394556 1.11133946
-1.58064516 3.90322581 11.47924881 1.11479249
-1.58064516 4.19354839 11.77837052 1.11778371
-1.58064516 4.48387097 12.05010492 1.12050105
-1.58064516 4.77419355 12.30576276 1.12305763
-1.58064516 5.06451613 12.55517544 1.12555175
-1.58064516 5.35483871 12.80665986 1.12806660
-1.58064516 5.64516129 13.06809323 1.13068093
-1.58064516 5.93548387 13.35056196 1.13350562
-1.58064516 6.22580645 13.66657067 1.13666571
-1.58064516 6.51612903 14.04212491 1.14042125
-1.58064516 6.80645161 14.52492871 1.14524929
-1.58064516 7.09677419 15.00000000 1.15000000
-1.58064516 7.38709677 15.00000000 1.15000000
-1.58064516 7.67741935 15.00000000 1.15000000
-1.58064516 7.96774194 15.00000000 1.15000000
-1.58064516 8.25806452 15.00000000 1.15000000
-1.58064516 8.54838710 15.00000000 1.15000000
-1.58064516 8.83870968 15.00000000 1.15000000
-1.58064516 9.12903226 15.00000000 1.15000000
-1.58064516 9.41935484 15.00000000 1.15000000
-1.58064516 9.70967742 15.00000000 1.15000000
-1.58064516 10.00000000 15.00000000 1.15000000
-1.87096774 1.00000000 10.00000296 1.10000003
-1.87096774 1.29032258 10.00000296 1.10000003
-1.87096774 1.58064516 10.00000296 1.10000003
-1.87096774 1.87096774 10.00000296 1.10000003
-1.87096774 2.16129032 10.00000296 1.10000003
-1.87096774 2.45161290 10.00000296 1.10000003
-1.87096774 2.74193548 10.00000296 1.10000003
-1.87096774 3.03225806 10.10361204 1.10103612
-1.87096774 3.32258065 10.70846739 1.10708467
-1.87096774 3.61290323 11.13394556 1.11133946
-1.87096774 3.90322581 11.47924881 1.11479249
-1.87096774 4.19354839 11.77837052 1.11778371
-1.87096774 4.48387097 12.05010492 1.12050105
-1.87096774 4.77419355 12.30576276 1.12305763
-1.87096774 5.06451613 12.55517544 1.12555175
-1.87096774 5.35483871 12.80665986 1.12806660
-1.87096774 5.64516129 13.06809323 1.13068093
-1.87096774 5.93548387 13.35056196 1.13350562
-1.87096774 6.22580645 13.66657067 1.13666571
-1.87096774 6.51612903 14.04212491 1.14042125
-1.87096774 6.80645161 14.52492871 1.14524929
-1.87096774 7.09677419 15.00000000 1.15000000
-1.87096774 7.38709677 15.00000000 1.15000000
-1.87096774 7.67741935 15.00000000 1.15000000
-1.87096774 7.96774194 15.00000000 1.15000000
-1.87096774 8.25806452 15.00000000 1.15000000
-1.87096774 8.54838710 15.00000000 1.15000000
-1.87096774 8.83870968 15.00000000 1.15000000
-1.87096774 9.12903226 15.00000000 1.15000000
-1.87096774 9.41935484 15.00000000 1.15000000
-1.87096774 9.70967742 15.00000000 1.15000000
-1.87096774 10.00000000 15.00000000 1.15000000
-2.16129032 1.00000000 10.00000296 1.10000003
-2.16129032 1.29032258 10.00000296 1.10000003
-2.16129032 1.58064516 10.00000296 1.10000003
-2.16129032 1.87096774 10.00000296 1.10000003
-2.16129032 2.16129032 10.00000296 1.10000003
-2.16129032 2.45161290 10.00000296 1.10000003
-2.16129032 2.74193548 10.00000296 1.10000003
-2.16129032 3.03225806 10.10361204 1.10103612
-2.16129032 3.32258065 10.70846739 1.10708467
-2.16129032 3.61290323 11.13394556 1.11133946
-2.16129032 3.90322581 11.47924881 1.11479249
-2.16129032 4.19354839 11.77837052 1.11778371
-2.16129032 4.48387097 12.05010492 1.12050105
-2.16129032 4.77419355 12.30576276 1.12305763
-2.16129032 5.06451613 12.55517544 1.12555175
-2.16129032 5.35483871 12.80665986 1.12806660
-2.16129032 5.64516129 13.06809323 1.13068093
-2.16129032 5.93548387 13.35056196 1.13350562
-2.16129032 6.22580645 13.66657067 1.13666571
-2.16129032 6.51612903 14.04212491 1.14042125
-2.16129032 6.80645161 14.52492871 1.14524929
-2.16129032 7.09677419 15.00000000 1.15000000
-2.16129032 7.38709677 15.00000000 1.15000000
-2.16129032 7.67741935 15.00000000 1.15000000
-2.16129032 7.96774194 15.00000000 1.15000000
-2.16129032 8.25806452 15.00000000 1.15000000
-2.16129032 8.54838710 15.00000000 1.15000000
-2.16129032 8.83870968 15.00000000 1.15000000
-2.16129032 9.12903226 15.00000000 1.15000000
-2.16129032 9.41935484 15.00000000 1.15000000
-2.16129032 9.70967742 15.00000000 1.15000000
-2.16129032 10.00000000 15.00000000 1.15000000
-2.45161290 1.00000000 10.00000296 1.10000003
-2.45161290 1.29032258 10.00000296 1.10000003
-2.45161290 1.58064516 10.00000296 1.10000003
-2.45161290 1.87096774 10.00000296 1.10000003
-2.45161290 2.16129032 10.00000296 1.10000003
-2.45161290 2.45161290 10.00000296 1.10000003
-2.45161290 2.74193548 10.00000296 1.10000003
-2.45161290 3.03225806 10.10361204 1.10103612
-2.45161290 3.32258065 10.70846739 1.10708467
-2.45161290 3.61290323 11.13394556 1.11133946
-2.45161290 3.90322581 11.47924881 1.11479249
-2.45161290 4.19354839 11.77837052 1.11778371
-2.45161290 4.48387097 12.05010492 1.12050105
-2.45161290 4.77419355 12.30576276 1.12305763
-2.45161290 5.06451613 12.55517544 1.12555175
-2.45161290 5.35483871 12.80665986 1.12806660
-2.45161290 5.64516129 13.06809323 1.13068093
-2.45161290 5.93548387 13.35056196 1.13350562
-2.45161290 6.22580645 13.66657067 1.13666571
-2.45161290 6.51612903 14.04212491 1.14042125
-2.45161290 6.80645161 14.52492871 1.14524929
-2.45161290 7.09677419 15.00000000 1.15000000
-2.45161290 7.38709677 15.00000000 1.15000000
-2.45161290 7.67741935 15.00000000 1.15000000
-2.45161290 7.96774194 15.00000000 1.15000000
-2.45161290 8.25806452 15.00000000 1.15000000
-2.45161290 8.54838710 15.00000000 1.15000000
-2.45161290 8.83870968 15.00000000 1.15000000
-2.45161290 9.12903226 15.00000000 1.15000000
-2.45161290 9.41935484 15.00000000 1.15000000
-2.45161290 9.70967742 15.00000000 1.15000000
-2.45161290 10.00000000 15.00000000 1.15000000
-2.74193548 1.00000000 10.00000296 1.10000003
-2.74193548 1.29032258 10.00000296 1.10000003
-2.74193548 1.58064516 10.00000296 1.10000003
-2.74193548 1.87096774 10.00000296 1.10000003
-2.74193548 2.16129032 10.00000296 1.10000003
-2.74193548 2.45161290 10.00000296 1.10000003
-2.74193548 2.74193548 10.00000296 1.10000003
-2.74193548 3.03225806 10.10361204 1.10103612
-2.74193548 3.32258065 10.70846739 1.10708467
-2.74193548 3.61290323 11.13394556 1.11133946
-2.74193548 3.90322581 11.47924881 1.11479249
-2.74193548 4.19354839 11.77837052 1.11778371
-2.74193548 4.48387097 12.05010492 1.12050105
-2.74193548 4.77419355 12.30576276 1.12305763
-2.74193548 5.06451613 12.55517544 1.12555175
-2.74193548 5.35483871 12.80665986 1.12806660
-2.74193548 5.64516129 13.06809323 1.13068093
-2.74193548 5.93548387 13.35056196 1.13350562
-2.74193548 6.22580645 13.66657067 1.13666571
-2.74193548 6.51612903 14.04212491 1.14042125
-2.74193548 6.80645161 14.52492871 1.14524929
-2.74193548 7.09677419 15.00000000 1.15000000
-2.74193548 7.38709677 15.00000000 1.15000000
-2.74193548 7.67741935 15.00000000 1.15000000
-2.74193548 7.96774194 15.00000000 1.15000000
-2.74193548 8.25806452 15.00000000 1.15000000
-2.74193548 8.54838710 15.00000000 1.15000000
-2.74193548 8.83870968 15.00000000 1.15000000
-2.74193548 9.12903226 15.00000000 1.15000000
-2.74193548 9.41935484 15.00000000 1.15000000
-2.74193548 9.70967742 15.00000000 1.15000000
-2.74193548 10.00000000 15.00000000 1.15000000
-3.03225806 1.00000000 10.10361204 1.10103612
-3.03225806 1.29032258 10.10361204 1.10103612
-3.03225806 1.58064516 10.10361204 1.10103612
-3.03225806 1.87096774 10.10361204 1.10103612
-3.03225806 2.16129032 10.10361204 1.10103612
-3.03225806 2.45161290 10.10361204 1.10103612
-3.03225806 2.74193548 10.10361204 1.10103612
-3.03225806 3.03225806 10.20435811 1.10204358
-3.03225806 3.32258065 10.79601822 1.10796018
-3.03225806 3.61290323 11.21535874 1.11215359
-3.03225806 3.90322581 11.55784646 1.11557846
-3.03225806 4.19354839 11.85579036 1.11855790
-3.03225806 4.48387097 12.12724043 1.12127240
-3.03225806 4.77419355 12.38405258 1.12384053
-3.03225806 5.06451613 12.63499742 1.12634997
-3.03225806 5.35483871 12.88858563 1.12888586
-3.03225806 5.64516129 13.15323067 1.13153231
-3.03225806 5.93548387 13.43888099 1.13438881
-3.03225806 6.22580645 13.75926546 1.13759265
-3.03225806 6.51612903 14.13934485 1.14139345
-3.03225806 6.80645161 14.62674650 1.14626746
-3.03225806 7.09677419 15.10357489 1.15103575
-3.03225806 7.38709677 15.10357489 1.15103575
-3.03225806 7.67741935 15.10357489 1.15103575
-3.03225806 7.96774194 15.10357489 1.15103575
-3.03225806 8.25806452 15.10357489 1.15103575
-3.03225806 8.54838710 15.10357489 1.15103575
-3.03225806 8.83870968 15.10357489 1.15103575
-3.03225806 9.12903226 15.10357489 1.15103575
-3.03225806 9.41935484 15.10357489 1.15103575
-3.03225806 9.70967742 15.10357489 1.15103575
-3.03225806 10.00000000 15.10357489 1.15103575
-3.32258065 1.00000000 10.70846739 1.10708467
-3.32258065 1.29032258 10.70846739 1.10708467
-3.32258065 1.58064516 10.70846739 1.10708467
-3.32258065 1.87096774 10.70846739 1.10708467
-3.32258065 2.16129032 10.70846739 1.10708467
-3.32258065 2.45161290 10.70846739 1.10708467
-3.32258065 2.74193548 10.70846739 1.10708467
-3.32258065 3.03225806 10.79601822 1.10796018
-3.32258065 3.32258065 11.32266175 1.11322662
-3.32258065 3.61290323 11.71291316 1.11712913
-3.32258065 3.90322581 12.04341522 1.12043415
-3.32258065 4.19354839 12.33970940 1.12339709
-3.32258065 4.48387097 12.61573315 1.12615733
-3.32258065 4.77419355 12.88122387 1.12881224
-3.32258065 5.06451613 13.14483502 1.13144835
-3.32258065 5.35483871 13.41408247 1.13414082
-3.32258065 5.64516129 13.69613892 1.13696139
-3.32258065 5.93548387 14.00077769 1.14000778
-3.32258065 6.22580645 14.34225854 1.14342259
-3.32258065 6.51612903 14.73996425 1.14739964
-3.32258065 6.80645161 15.23916402 1.15239164
-3.32258065 7.09677419 15.70844950 1.15708449
-3.32258065 7.38709677 15.70844950 1.15708449
-3.32258065 7.67741935 15.70844950 1.15708449
-3.32258065 7.96774194 15.70844950 1.15708449
-3.32258065 8.25806452 15.70844950 1.15708449
-3.32258065 8.54838710 15.70844950 1.15708449
-3.32258065 8.83870968 15.70844950 1.15708449
-3.32258065 9.12903226 15.70844950 1.15708449
-3.32258065 9.41935484 15.70844950 1.15708449
-3.32258065 9.70967742 15.70844950 1.15708449
-3.32258065 10.00000000 15.70844950 1.15708449
-3.61290323 1.00000000 11.13394556 1.11133946
-3.61290323 1.29032258 11.13394556 1.11133946
-3.61290323 1.58064516 11.13394556 1.11133946
-3.61290323 1.87096774 11.13394556 1.11133946
-3.61290323 2.16129032 11.13394556 1.11133946
-3.61290323 2.45161290 11.13394556 1.11133946
-3.61290323 2.74193548 11.13394556 1.11133946
-3.61290323 3.03225806 11.21535874 1.11215359
-3.61290323 3.32258065 11.71291316 1.11712913
-3.61290323 3.61290323 12.09048689 1.12090487
-3.61290323 3.90322581 12.41795109 1.12417951
-3.61290323 4.19354839 12.71702039 1.12717020
-3.61290323 4.48387097 12.99911163 1.12999112
-3.61290323 4.77419355 13.27378061 1.13273781
-3.61290323 5.06451613 13.54771797 1.13547718
-3.61290323 5.35483871 13.82751223 1.13827512
-3.61290323 5.64516129 14.12018766 1.14120188
-3.61290323 5.93548387 14.43537168 1.14435372
-3.61290323 6.22580645 14.78491413 1.14784914
-3.61290323 6.51612903 15.18700487 1.15187005
-3.61290323 6.80645161 15.68154801 1.15681548
-3.61290323 7.09677419 16.13382374 1.16133824
-3.61290323 7.38709677 16.13382374 1.16133824
-3.61290323 7.67741935 16.13382374 1.16133824
-3.61290323 7.96774194 16.13382374 1.16133824
-3.61290323 8.25806452 16.13382374 1.16133824
-3.61290323 8.54838710 16.13382374 1.16133824
-3.61290323 8.83870968 16.13382374 1.16133824
-3.61290323 9.12903226 16.13382374 1.16133824
-3.61290323 9.41935484 16.13382374 1.16133824
-3.61290323 9.70967742 16.13382374 1.16133824
-3.61290323 10.00000000 16.13382374 1.16133824
-3.90322581 1.00000000 11.47924881 1.11479249
-3.90322581 1.29032258 11.47924881 1.11479249
-3.90322581 1.58064516 11.47924881 1.11479249
-3.90322581 1.87096774 11.47924881 1.11479249
-3.90322581 2.16129032 11.47924881 1.11479249
-3.90322581 2.45161290 11.47924881 1.11479249
-3.90322581 2.74193548 11.47924881 1.11479249
-3.90322581 3.03225806 11.55784646 1.11557846
-3.90322581 3.32258065 12.04341522 1.12043415
-3.90322581 3.61290323 12.41795109 1.12417951
-3.90322581 3.90322581 12.74629906 1.12746299
-3.90322581 4.19354839 13.04969635 1.13049696
-3.90322581 4.48387097 13.33797049 1.13337970
-3.90322581 4.77419355 13.62015959 1.13620160
-3.90322581 5.06451613 13.90194660 1.13901947
-3.90322581 5.35483871 14.18888316 1.14188883
-3.90322581 5.64516129 14.48954068 1.14489541
-3.90322581 5.93548387 14.80982202 1.14809822
-3.90322581 6.22580645 15.16074884 1.15160749
-3.90322581 6.51612903 15.56087142 1.15560871
-3.90322581 6.80645161 16.04390018 1.16043900
-3.90322581 7.09677419 16.47922769 1.16479228
-3.90322581 7.38709677 16.47922769 1.16479228
-3.90322581 7.67741935 16.47922769 1.16479228
-3.90322581 7.96774194 16.47922769 1.16479228
-3.90322581 8.25806452 16.47922769 1.16479228
-3.90322581 8.54838710 16.47922769 1.16479228
-3.90322581 8.83870968 16.47922769 1.16479228
-3.90322581 9.12903226 16.47922769 1.16479228
-3.90322581 9.41935484 16.47922769 1.16479228
-3.90322581 9.70967742 16.47922769 1.16479228
-3.90322581 10.00000000 16.47922769 1.16479228
-4.19354839 1.00000000 11.77837052 1.11778371
-4.19354839 1.29032258 11.77837052 1.11778371
-4.19354839 1.58064516 11.77837052 1.11778371
-4.19354839 1.87096774 11.77837052 1.11778371
-4.19354839 2.16129032 11.77837052 1.11778371
-4.19354839 2.45161290 11.77837052 1.11778371
-4.19354839 2.74193548 11.77837052 1.11778371
-4.19354839 3.03225806 11.85579036 1.11855790
-4.19354839 3.32258065 12.33970940 1.12339709
-4.19354839 3.61290323 12.71702039 1.12717020
-4.19354839 3.90322581 13.04969635 1.13049696
-4.19354839 4.19354839 13.35789542 1.13357895
-4.19354839 4.48387097 13.65214664 1.13652147
-4.19354839 4.77419355 13.94035790 1.13940358
-4.19354839 5.06451613 14.22819712 1.14228197
-4.19354839 5.35483871 14.52045260 1.14520453
-4.19354839 5.64516129 14.82442596 1.14824426
-4.19354839 5.93548387 15.14611095 1.15146111
-4.19354839 6.22580645 15.49584016 1.15495840
-4.19354839 6.51612903 15.88989883 1.15889899
-4.19354839 6.80645161 16.36071096 1.16360711
-4.19354839 7.09677419 16.77845274 1.16778453
-4.19354839 7.38709677 16.77845274 1.16778453
-4.19354839 7.67741935 16.77845274 1.16778453
-4.19354839 7.96774194 16.77845274 1.16778453
-4.19354839 8.25806452 16.77845274 1.16778453
-4.19354839 8.54838710 16.77845274 1.16778453
-4.19354839 8.83870968 16.77845274 1.16778453
-4.19354839 9.12903226 16.77845274 1.16778453
-4.19354839 9.41935484 16.77845274 1.16778453
-4.19354839 9.70967742 16.77845274 1.16778453
-4.19354839 10.00000000 16.77845274 1.16778453
-4.48387097 1.00000000 12.05010492 1.12050105
-4.48387097 1.29032258 12.05010492 1.12050105
-4.48387097 1.58064516 12.05010492 1.12050105
-4.48387097 1.87096774 12.05010492 1.12050105
-4.48387097 2.16129032 12.05010492 1.12050105
-4.48387097 2.45161290 12.05010492 1.12050105
-4.48387097 2.74193548 12.05010492 1.12050105
-4.48387097 3.03225806 12.12724043 1.12127240
-4.48387097 3.32258065 12.61573315 1.12615733
-4.48387097 3.61290323 12.99911163 1.12999112
-4.48387097 3.90322581 13.33797049 1.13337970
-4.48387097 4.19354839 13.65214664 1.13652147
-4.48387097 4.48387097 13.95167976 1.13951680
-4.48387097 4.77419355 14.24536545 1.14245365
-4.48387097 5.06451613 14.53742599 1.14537426
-4.48387097 5.35483871 14.83253803 1.14832538
-4.48387097 5.64516129 15.13703643 1.15137036
-4.48387097 5.93548387 15.45709896 1.15457099
-4.48387097 6.22580645 15.80333467 1.15803335
-4.48387097 6.51612903 16.18964589 1.16189646
-4.48387097 6.80645161 16.64650295 1.16646503
-4.48387097 7.09677419 17.05002382 1.17050024
-4.48387097 7.38709677 17.05002382 1.17050024
-4.48387097 7.67741935 17.05002382 1.17050024
-4.48387097 7.96774194 17.05002382 1.17050024
-4.48387097 8.25806452 17.05002382 1.17050024
-4.48387097 8.54838710 17.05002382 1.17050024
-4.48387097 8.83870968 17.05002382 1.17050024
-4.48387097 9.12903226 17.05002382 1.17050024
-4.48387097 9.41935484 17.05002382 1.17050024
-4.48387097 9.70967742 17.05002382 1.17050024
-4.48387097 10.00000000 17.05002382 1.17050024
-4.77419355 1.00000000 12.30576276 1.12305763
-4.77419355 1.29032258 12.30576276 1.12305763
-4.77419355 1.58064516 12.30576276 1.12305763
-4.77419355 1.87096774 12.30576276 1.12305763
-4.77419355 2.16129032 12.30576276 1.12305763
-4.77419355 2.45161290 12.30576276 1.12305763
-4.77419355 2.74193548 12.30576276 1.12305763
-4.77419355 3.03225806 12.38405258 1.12384053
-4.77419355 3.32258065 12.88122387 1.12881224
-4.77419355 3.61290323 13.27378061 1.13273781
-4.77419355 3.90322581 13.62015959 1.13620160
-4.77419355 4.19354839 13.94035790 1.13940358
-4.77419355 4.48387097 14.24536545 1.14245365
-4.77419355 4.77419355 14.54225355 1.14542254
-4.77419355 5.06451613 14.83618630 1.14836186
-4.77419355 5.35483871 15.13221695 1.15132217
-4.77419355 5.64516129 15.43597664 1.15435977
-4.77419355 5.93548387 15.75365034 1.15753650
-4.77419355 6.22580645 16.09439857 1.16094399
-4.77419355 6.51612903 16.47201646 1.16472016
-4.77419355 6.80645161 16.91532876 1.16915329
-4.77419355 7.09677419 17.30571907 1.17305719
-4.77419355 7.38709677 17.30571907 1.17305719
-4.77419355 7.67741935 17.30571907 1.17305719
-4.77419355 7.96774194 17.30571907 1.17305719
-4.77419355 8.25806452 17.30571907 1.17305719
-4.77419355 8.54838710 17.30571907 1.17305719
-4.77419355 8.83870968 17.30571907 1.17305719
-4.77419355 9.12903226 17.30571907 1.17305719
-4.77419355 9.41935484 17.30571907 1.17305719
-4.77419355 9.70967742 17.30571907 1.17305719
-4.77419355 10.00000000 17.30571907 1.17305719
-5.06451613 1.00000000 12.55517544 1.12555175
-5.06451613 1.29032258 12.55517544 1.12555175
-5.06451613 1.58064516 12.55517544 1.12555175
-5.06451613 1.87096774 12.55517544 1.12555175
-5.06451613 2.16129032 12.55517544 1.12555175
-5.06451613 2.45161290 12.55517544 1.12555175
-5.06451613 2.74193548 12.55517544 1.12555175
-5.06451613 3.03225806 12.63499742 1.12634997
-5.06451613 3.32258065 13.14483502 1.13144835
-5.06451613 3.61290323 13.54771797 1.13547718
-5.06451613 3.90322581 13.90194660 1.13901947
-5.06451613 4.19354839 14.22819712 1.14228197
-5.06451613 4.48387097 14.53742599 1.14537426
-5.06451613 4.77419355 14.83618630 1.14836186
-5.06451613 5.06451613 15.13082220 1.15130822
-5.06451613 5.35483871 15.42613481 1.15426135
-5.06451613 5.64516129 15.72760843 1.15727608
-5.06451613 5.93548387 16.04091807 1.16040918
-5.06451613 6.22580645 16.37497163 1.16374972
-5.06451613 6.51612903 16.74347970 1.16743480
-5.06451613 6.80645161 17.17503189 1.17175032
-5.06451613 7.09677419 17.55554644 1.17555546
-5.06451613 7.38709677 17.55554644 1.17555546
-5.06451613 7.67741935 17.55554644 1.17555546
-5.06451613 7.96774194 17.55554644 1.17555546
-5.06451613 8.25806452 17.55554644 1.17555546
-5.06451613 8.54838710 17.55554644 1.17555546
-5.06451613 8.83870968 17.55554644 1.17555546
-5.06451613 9.12903226 17.55554644 1.17555546
-5.06451613 9.41935484 17.55554644 1.17555546
-5.06451613 9.70967742 17.55554644 1.17555546
-5.06451613 10.00000000 17.55554644 1.17555546
-5.35483871 1.00000000 12.80665986 1.12806660
-5.35483871 1.29032258 12.80665986 1.12806660
-5.35483871 1.58064516 12.80665986 1.12806660
-5.35483871 1.87096774 12.80665986 1.12806660
-5.35483871 2.16129032 12.80665986 1.12806660
-5.35483871 2.45161290 12.80665986 1.12806660
-5.35483871 2.74193548 12.80665986 1.12806660
-5.35483871 3.03225806 12.88858563 1.12888586
-5.35483871 3.32258065 13.41408247 1.13414082
-5.35483871 3.61290323 13.82751223 1.13827512
-5.35483871 3.90322581 14.18888316 1.14188883
-5.35483871 4.19354839 14.52045260 1.14520453
-5.35483871 4.48387097 14.83253803 1.14832538
-5.35483871 4.77419355 15.13221695 1.15132217
-5.35483871 5.06451613 15.42613481 1.15426135
-5.35483871 5.35483871 15.71936190 1.15719362
-5.35483871 5.64516129 16.01779116 1.16017791
-5.35483871 5.93548387 16.32590382 1.16325904
-5.35483871 6.22580645 16.65335849 1.16653358
-5.35483871 6.51612903 17.01334871 1.17013349
-5.35483871 6.80645161 17.43409709 1.17434097
-5.35483871 7.09677419 17.80639865 1.17806399
-5.35483871 7.38709677 17.80639865 1.17806399
-5.35483871 7.67741935 17.80639865 1.17806399
-5.35483871 7.96774194 17.80639865 1.17806399
-5.35483871 8.25806452 17.80639865 1.17806399
-5.35483871 8.54838710 17.80639865 1.17806399
-5.35483871 8.83870968 17.80639865 1.17806399
-5.35483871 9.12903226 17.80639865 1.17806399
-5.35483871 9.41935484 17.80639865 1.17806399
-5.35483871 9.70967742 17.80639865 1.17806399
-5.35483871 10.00000000 17.80639865 1.17806399
-5.64516129 1.00000000 13.06809323 1.13068093
-5.64516129 1.29032258 13.06809323 1.13068093
-5.64516129 1.58064516 13.06809323 1.13068093
-5.64516129 1.87096774 13.06809323 1.13068093
-5.64516129 2.16129032 13.06809323 1.13068093
-5.64516129 2.45161290 13.06809323 1.13068093
-5.64516129 2.74193548 13.06809323 1.13068093
-5.64516129 3.03225806 13.15323067 1.13153231
-5.64516129 3.32258065 13.69613892 1.13696139
-5.64516129 3.61290323 14.12018766 1.14120188
-5.64516129 3.90322581 14.48954068 1.14489541
-5.64516129 4.19354839 14.82442596 1.14824426
-5.64516129 4.48387097 15.13703643 1.15137036
-5.64516129 4.77419355 15.43597664 1.15435977
-5.64516129 5.06451613 15.72760843 1.15727608
-5.64516129 5.35483871 16.01779116 1.16017791
-5.64516129 5.64516129 16.31159861 1.16311599
-5.64516129 5.93548387 16.61373257 1.16613733
-5.64516129 6.22580645 16.93399499 1.16933995
-5.64516129 6.51612903 17.28681907 1.17286819
-5.64516129 6.80645161 17.70002087 1.17700021
-5.64516129 7.09677419 18.06809818 1.18068098
-5.64516129 7.38709677 18.06809818 1.18068098
-5.64516129 7.67741935 18.06809818 1.18068098
-5.64516129 7.96774194 18.06809818 1.18068098
-5.64516129 8.25806452 18.06809818 1.18068098
-5.64516129 8.54838710 18.06809818 1.18068098
-5.64516129 8.83870968 18.06809818 1.18068098
-5.64516129 9.12903226 18.06809818 1.18068098
-5.64516129 9.41935484 18.06809818 1.18068098
-5.64516129 9.70967742 18.06809818 1.18068098
-5.64516129 10.00000000 18.06809818 1.18068098
-5.93548387 1.00000000 13.35056196 1.13350562
-5.93548387 1.29032258 13.35056196 1.13350562
-5.93548387 1.58064516 13.35056196 1.13350562
-5.93548387 1.87096774 13.35056196 1.13350562
-5.93548387 2.16129032 13.35056196 1.13350562
-5.93548387 2.45161290 13.35056196 1.13350562
-5.93548387 2.74193548 13.35056196 1.13350562
-5.93548387 3.03225806 13.43888099 1.13438881
-5.93548387 3.32258065 14.00077769 1.14000778
-5.93548387 3.61290323 14.43537168 1.14435372
-5.93548387 3.90322581 14.80982202 1.14809822
-5.93548387 4.19354839 15.14611095 1.15146111
-5.93548387 4.48387097 15.45709896 1.15457099
-5.93548387 4.77419355 15.75365034 1.15753650
-5.93548387 5.06451613 16.04091807 1.16040918
-5.93548387 5.35483871 16.32590382 1.16325904
-5.93548387 5.64516129 16.61373257 1.16613733
-5.93548387 5.93548387 16.91101948 1.16911019
-5.93548387 6.22580645 17.22556302 1.17225563
-5.93548387 6.51612903 17.57263541 1.17572635
-5.93548387 6.80645161 17.98210647 1.17982106
-5.93548387 7.09677419 18.34996260 1.18349963
-5.93548387 7.38709677 18.34996260 1.18349963
-5.93548387 7.67741935 18.34996260 1.18349963
-5.93548387 7.96774194 18.34996260 1.18349963
-5.93548387 8.25806452 18.34996260 1.18349963
-5.93548387 8.54838710 18.34996260 1.18349963
-5.93548387 8.83870968 18.34996260 1.18349963
-5.93548387 9.12903226 18.34996260 1.18349963
-5.93548387 9.41935484 18.34996260 1.18349963
-5.93548387 9.70967742 18.34996260 1.18349963
-5.93548387 10.00000000 18.34996260 1.18349963
-6.22580645 1.00000000 13.66657067 1.13666571
-6.22580645 1.29032258 13.66657067 1.13666571
-6.22580645 1.58064516 13.66657067 1.13666571
-6.22580645 1.87096774 13.66657067 1.13666571
-6.22580645 2.16129032 13.66657067 1.13666571
-6.22580645 2.45161290 13.66657067 1.13666571
-6.22580645 2.74193548 13.66657067 1.13666571
-6.22580645 3.03225806 13.75926546 1.13759265
-6.22580645 3.32258065 14.34225854 1.14342259
-6.22580645 3.61290323 14.78491413 1.14784914
-6.22580645 3.90322581 15.16074884 1.15160749
-6.22580645 4.19354839 15.49584016 1.15495840
-6.22580645 4.48387097 15.80333467 1.15803335
-6.22580645 4.77419355 16.09439857 1.16094399
-6.22580645 5.06451613 16.37497163 1.16374972
-6.22580645 5.35483871 16.65335849 1.16653358
-6.22580645 5.64516129 16.93399499 1.16933995
-6.22580645 5.93548387 17.22556302 1.17225563
-6.22580645 6.22580645 17.53669460 1.17536695
-6.22580645 6.51612903 17.88214034 1.17882140
-6.22580645 6.80645161 18.29211153 1.18292112
-6.22580645 7.09677419 18.66701771 1.18667018
-6.22580645 7.38709677 18.66701771 1.18667018
-6.22580645 7.67741935 18.66701771 1.18667018
-6.22580645 7.96774194 18.66701771 1.18667018
-6.22580645 8.25806452 18.66701771 1.18667018
-6.22580645 8.54838710 18.66701771 1.18667018
-6.22580645 8.83870968 18.66701771 1.18667018
-6.22580645 9.12903226 18.66701771 1.18667018
-6.22580645 9.41935484 18.66701771 1.18667018
-6.22580645 9.70967742 18.66701771 1.18667018
-6.22580645 10.00000000 18.66701771 1.18667018
-6.51612903 1.00000000 14.04212491 1.14042125
-6.51612903 1.29032258 14.04212491 1.14042125
-6.51612903 1.58064516 14.04212491 1.14042125
-6.51612903 1.87096774 14.04212491 1.14042125
-6.51612903 2.16129032 14.04212491 1.14042125
-6.51612903 2.45161290 14.04212491 1.14042125
-6.51612903 2.74193548 14.04212491 1.14042125
-6.51612903 3.03225806 14.13934485 1.14139345
-6.51612903 3.32258065 14.73996425 1.14739964
-6.51612903 3.61290323 15.18700487 1.15187005
-6.51612903 3.90322581 15.56087142 1.15560871
-6.51612903 4.19354839 15.88989883 1.15889899
-6.51612903 4.48387097 16.18964589 1.16189646
-6.51612903 4.77419355 16.47201646 1.16472016
-6.51612903 5.06451613 16.74347970 1.16743480
-6.51612903 5.35483871 17.01334871 1.17013349
-6.51612903 5.64516129 17.28681907 1.17286819
-6.51612903 5.93548387 17.57263541 1.17572635
-6.51612903 6.22580645 17.88214034 1.17882140
-6.51612903 6.51612903 18.22999587 1.18229996
-6.51612903 6.80645161 18.65108897 1.18651089
-6.51612903 7.09677419 19.04189908 1.19041899
-6.51612903 7.38709677 19.04189908 1.19041899
-6.51612903 7.67741935 19.04189908 1.19041899
-6.51612903 7.96774194 19.04189908 1.19041899
-6.51612903 8.25806452 19.04189908 1.19041899
-6.51612903 8.54838710 19.04189908 1.19041899
-6.51612903 8.83870968 19.04189908 1.19041899
-6.51612903 9.12903226 19.04189908 1.19041899
-6.51612903 9.41935484 19.04189908 1.19041899
-6.51612903 9.70967742 19.04189908 1.19041899
-6.51612903 10.00000000 19.04189908 1.19041899
-6.80645161 1.00000000 14.52492871 1.14524929
-6.80645161 1.29032258 14.52492871 1.14524929
-6.80645161 1.58064516 14.52492871 1.14524929
-6.80645161 1.87096774 14.52492871 1.14524929
-6.80645161 2.16129032 14.52492871 1.14524929
-6.80645161 2.45161290 14.52492871 1.14524929
-6.80645161 2.74193548 14.52492871 1.14524929
-6.80645161 3.03225806 14.62674650 1.14626746
-6.80645161 3.32258065 15.23916402 1.15239164
-6.80645161 3.61290323 15.68154801 1.15681548
-6.80645161 3.90322581 16.04390018 1.16043900
-6.80645161 4.19354839 16.36071096 1.16360711
-6.80645161 4.48387097 16.64650295 1.16646503
-6.80645161 4.77419355 16.91532876 1.16915329
-6.80645161 5.06451613 17.17503189 1.17175032
-6.80645161 5.35483871 17.43409709 1.17434097
-6.80645161 5.64516129 17.70002087 1.17700021
-6.80645161 5.93548387 17.98210647 1.17982106
-6.80645161 6.22580645 18.29211153 1.18292112
-6.80645161 6.51612903 18.65108897 1.18651089
-6.80645161 6.80645161 19.09888025 1.19098880
-6.80645161 7.09677419 19.52496415 1.19524964
-6.80645161 7.38709677 19.52496415 1.19524964
-6.80645161 7.67741935 19.52496415 1.19524964
-6.80645161 7.96774194 19.52496415 1.19524964
-6.80645161 8.25806452 19.52496415 1.19524964
-6.80645161 8.54838710 19.52496415 1.19524964
-6.80645161 8.83870968 19.52496415 1.19524964
-6.80645161 9.12903226 19.52496415 1.19524964
-6.80645161 9.41935484 19.52496415 1.19524964
-6.80645161 9.70967742 19.52496415 1.19524964
-6.80645161 10.00000000 19.52496415 1.19524964
-7.09677419 1.00000000 15.00000000 1.15000000
-7.09677419 1.29032258 15.00000000 1.15000000
-7.09677419 1.58064516 15.00000000 1.15000000
-7.09677419 1.87096774 15.00000000 1.15000000
-7.09677419 2.16129032 15.00000000 1.15000000
-7.09677419 2.45161290 15.00000000 1.15000000
-7.09677419 2.74193548 15.00000000 1.15000000
-7.09677419 3.03225806 15.10357489 1.15103575
-7.09677419 3.32258065 15.70844950 1.15708449
-7.09677419 3.61290323 16.13382374 1.16133824
-7.09677419 3.90322581 16.47922769 1.16479228
-7.09677419 4.19354839 16.77845274 1.16778453
-7.09677419 4.48387097 17.05002382 1.17050024
-7.09677419 4.77419355 17.30571907 1.17305719
-7.09677419 5.06451613 17.55554644 1.17555546
-7.09677419 5.35483871 17.80639865 1.17806399
-7.09677419 5.64516129 18.06809818 1.18068098
-7.09677419 5.93548387 18.34996260 1.18349963
-7.09677419 6.22580645 18.66701771 1.18667018
-7.09677419 6.51612903 19.04189908 1.19041899
-7.09677419 6.80645161 19.52496415 1.19524964
-7.09677419 7.09677419 19.99999704 1.19999997
-7.09677419 7.38709677 19.99999704 1.19999997
-7.09677419 7.67741935 19.99999704 1.19999997
-7.09677419 7.96774194 19.99999704 1.19999997
-7.09677419 8.25806452 19.99999704 1.19999997
-7.09677419 8.54838710 19.99999704 1.19999997
-7.09677419 8.83870968 19.99999704 1.19999997
-7.09677419 9.12903226 19.99999704 1.19999997
-7.09677419 9.41935484 19.99999704 1.19999997
-7.09677419 9.70967742 19.99999704 1.19999997
-7.09677419 10.00000000 19.99999704 1.19999997
-7.38709677 1.00000000 15.00000000 1.15000000
-7.38709677 1.29032258 15.00000000 1.15000000
-7.38709677 1.58064516 15.00000000 1.15000000
-7.38709677 1.87096774 15.00000000 1.15000000
-7.38709677 2.16129032 15.00000000 1.15000000
-7.38709677 2.45161290 15.00000000 1.15000000
-7.38709677 2.74193548 15.00000000 1.15000000
-7.38709677 3.03225806 15.10357489 1.15103575
-7.38709677 3.32258065 15.70844950 1.15708449
-7.38709677 3.61290323 16.13382374 1.16133824
-7.38709677 3.90322581 16.47922769 1.16479228
-7.38709677 4.19354839 16.77845274 1.16778453
-7.38709677 4.48387097 17.05002382 1.17050024
-7.38709677 4.77419355 17.30571907 1.17305719
-7.38709677 5.06451613 17.55554644 1.17555546
-7.38709677 5.35483871 17.80639865 1.17806399
-7.38709677 5.64516129 18.06809818 1.18068098
-7.38709677 5.93548387 18.34996260 1.18349963
-7.38709677 6.22580645 18.66701771 1.18667018
-7.38709677 6.51612903 19.04189908 1.19041899
-7.38709677 6.80645161 19.52496415 1.19524964
-7.38709677 7.09677419 19.99999704 1.19999997
-7.38709677 7.38709677 19.99999704 1.19999997
-7.38709677 7.67741935 19.99999704 1.19999997
-7.38709677 7.96774194 19.99999704 1.19999997
-7.38709677 8.25806452 19.99999704 1.19999997
-7.38709677 8.54838710 19.99999704 1.19999997
-7.38709677 8.83870968 19.99999704 1.19999997
-7.38709677 9.12903226 19.99999704 1.19999997
-7.38709677 9.41935484 19.99999704 1.19999997
-7.38709677 9.70967742 19.99999704 1.19999997
-7.38709677 10.00000000 19.99999704 1.19999997
-7.67741935 1.00000000 15.00000000 1.15000000
-7.67741935 1.29032258 15.00000000 1.15000000
-7.67741935 1.58064516 15.00000000 1.15000000
-7.67741935 1.87096774 15.00000000 1.15000000
-7.67741935 2.16129032 15.00000000 1.15000000
-7.67741935 2.45161290 15.00000000 1.15000000
-7.67741935 2.74193548 15.00000000 1.15000000
-7.67741935 3.03225806 15.10357489 1.15103575
-7.67741935 3.32258065 15.70844950 1.15708449
-7.67741935 3.61290323 16.13382374 1.16133824
-7.67741935 3.90322581 16.47922769 1.16479228
-7.67741935 4.19354839 16.77845274 1.16778453
-7.67741935 4.48387097 17.05002382 1.17050024
-7.67741935 4.77419355 17.30571907 1.17305719
-7.67741935 5.06451613 17.55554644 1.17555546
-7.67741935 5.35483871 17.80639865 1.17806399
-7.67741935 5.64516129 18.06809818 1.18068098
-7.67741935 5.93548387 18.34996260 1.18349963
-7.67741935 6.22580645 18.66701771 1.18667018
-7.67741935 6.51612903 19.04189908 1.19041899
-7.67741935 6.80645161 19.52496415 1.19524964
-7.67741935 7.09677419 19.99999704 1.19999997
-7.67741935 7.38709677 19.99999704 1.19999997
-7.67741935 7.67741935 19.99999704 1.19999997
-7.67741935 7.96774194 19.99999704 1.19999997
-7.67741935 8.25806452 19.99999704 1.19999997
-7.67741935 8.54838710 19.99999704 1.19999997
-7.67741935 8.83870968 19.99999704 1.19999997
-7.67741935 9.12903226 19.99999704 1.19999997
-7.67741935 9.41935484 19.99999704 1.19999997
-7.67741935 9.70967742 19.99999704 1.19999997
-7.67741935 10.00000000 19.99999704 1.19999997
-7.96774194 1.00000000 15.00000000 1.15000000
-7.96774194 1.29032258 15.00000000 1.15000000
-7.96774194 1.58064516 15.00000000 1.15000000
-7.96774194 1.87096774 15.00000000 1.15000000
-7.96774194 2.16129032 15.00000000 1.15000000
-7.96774194 2.45161290 15.00000000 1.15000000
-7.96774194 2.74193548 15.00000000 1.15000000
-7.96774194 3.03225806 15.10357489 1.15103575
-7.96774194 3.32258065 15.70844950 1.15708449
-7.96774194 3.61290323 16.13382374 1.16133824
-7.96774194 3.90322581 16.47922769 1.16479228
-7.96774194 4.19354839 16.77845274 1.16778453
-7.96774194 4.48387097 17.05002382 1.17050024
-7.96774194 4.77419355 17.30571907 1.17305719
-7.96774194 5.06451613 17.55554644 1.17555546
-7.96774194 5.35483871 17.80639865 1.17806399
-7.96774194 5.64516129 18.06809818 1.18068098
-7.96774194 5.93548387 18.34996260 1.18349963
-7.96774194 6.22580645 18.66701771 1.18667018
-7.96774194 6.51612903 19.04189908 1.19041899
-7.96774194 6.80645161 19.52496415 1.19524964
-7.96774194 7.09677419 19.99999704 1.19999997
-7.96774194 7.38709677 19.99999704 1.19999997
-7.96774194 7.67741935 19.99999704 1.19999997
-7.96774194 7.96774194 19.99999704 1.19999997
-7.96774194 8.25806452 19.99999704 1.19999997
-7.96774194 8.54838710 19.99999704 1.19999997
-7.96774194 8.83870968 19.99999704 1.19999997
-7.96774194 9.12903226 19.99999704 1.19999997
-7.96774194 9.41935484 19.99999704 1.19999997
-7.96774194 9.70967742 19.99999704 1.19999997
-7.96774194 10.00000000 19.99999704 1.19999997
-8.25806452 1.00000000 15.00000000 1.15000000
-8.25806452 1.29032258 15.00000000 1.15000000
-8.25806452 1.58064516 15.00000000 1.15000000
-8.25806452 1.87096774 15.00000000 1.15000000
-8.25806452 2.16129032 15.00000000 1.15000000
-8.25806452 2.45161290 15.00000000 1.15000000
-8.25806452 2.74193548 15.00000000 1.15000000
-8.25806452 3.03225806 15.10357489 1.15103575
-8.25806452 3.32258065 15.70844950 1.15708449
-8.25806452 3.61290323 16.13382374 1.16133824
-8.25806452 3.90322581 16.47922769 1.16479228
-8.25806452 4.19354839 16.77845274 1.16778453
-8.25806452 4.48387097 17.05002382 1.17050024
-8.25806452 4.77419355 17.30571907 1.17305719
-8.25806452 5.06451613 17.55554644 1.17555546
-8.25806452 5.35483871 17.80639865 1.17806399
-8.25806452 5.64516129 18.06809818 1.18068098
-8.25806452 5.93548387 18.34996260 1.18349963
-8.25806452 6.22580645 18.66701771 1.18667018
-8.25806452 6.51612903 19.04189908 1.19041899
-8.25806452 6.80645161 19.52496415 1.19524964
-8.25806452 7.09677419 19.99999704 1.19999997
-8.25806452 7.38709677 19.99999704 1.19999997
-8.25806452 7.67741935 19.99999704 1.19999997
-8.25806452 7.96774194 19.99999704 1.19999997
-8.25806452 8.25806452 19.99999704 1.19999997
-8.25806452 8.54838710 19.99999704 1.19999997
-8.25806452 8.83870968 19.99999704 1.19999997
-8.25806452 9.12903226 19.99999704 1.19999997
-8.25806452 9.41935484 19.99999704 1.19999997
-8.25806452 9.70967742 19.99999704 1.19999997
-8.25806452 10.00000000 19.99999704 1.19999997
-8.54838710 1.00000000 15.00000000 1.15000000
-8.54838710 1.29032258 15.00000000 1.15000000
-8.54838710 1.58064516 15.00000000 1.15000000
-8.54838710 1.87096774 15.00000000 1.15000000
-8.54838710 2.16129032 15.00000000 1.15000000
-8.54838710 2.45161290 15.00000000 1.15000000
-8.54838710 2.74193548 15.00000000 1.15000000
-8.54838710 3.03225806 15.10357489 1.15103575
-8.54838710 3.32258065 15.70844950 1.15708449
-8.54838710 3.61290323 16.13382374 1.16133824
-8.54838710 3.90322581 16.47922769 1.16479228
-8.54838710 4.19354839 16.77845274 1.16778453
-8.54838710 4.48387097 17.05002382 1.17050024
-8.54838710 4.77419355 17.30571907 1.17305719
-8.54838710 5.06451613 17.55554644 1.17555546
-8.54838710 5.35483871 17.80639865 1.17806399
-8.54838710 5.64516129 18.06809818 1.18068098
-8.54838710 5.93548387 18.34996260 1.18349963
-8.54838710 6.22580645 18.66701771 1.18667018
-8.54838710 6.51612903 19.04189908 1.19041899
-8.54838710 6.80645161 19.52496415 1.19524964
-8.54838710 7.09677419 19.99999704 1.19999997
-8.54838710 7.38709677 19.99999704 1.19999997
-8.54838710 7.67741935 19.99999704 1.19999997
-8.54838710 7.96774194 19.99999704 1.19999997
-8.54838710 8.25806452 19.99999704 1.19999997
-8.54838710 8.54838710 19.99999704 1.19999997
-8.54838710 8.83870968 19.99999704 1.19999997
-8.54838710 9.12903226 19.99999704 1.19999997
-8.54838710 9.41935484 19.99999704 1.19999997
-8.54838710 9.70967742 19.99999704 1.19999997
-8.54838710 10.00000000 19.99999704 1.19999997
-8.83870968 1.00000000 15.00000000 1.15000000
-8.83870968 1.29032258 15.00000000 1.15000000
-8.83870968 1.58064516 15.00000000 1.15000000
-8.83870968 1.87096774 15.00000000 1.15000000
-8.83870968 2.16129032 15.00000000 1.15000000
-8.83870968 2.45161290 15.00000000 1.15000000
-8.83870968 2.74193548 15.00000000 1.15000000
-8.83870968 3.03225806 15.10357489 1.15103575
-8.83870968 3.32258065 15.70844950 1.15708449
-8.83870968 3.61290323 16.13382374 1.16133824
-8.83870968 3.90322581 16.47922769 1.16479228
-8.83870968 4.19354839 16.77845274 1.16778453
-8.83870968 4.48387097 17.05002382 1.17050024
-8.83870968 4.77419355 17.30571907 1.17305719
-8.83870968 5.06451613 17.55554644 1.17555546
-8.83870968 5.35483871 17.80639865 1.17806399
-8.83870968 5.64516129 18.06809818 1.18068098
-8.83870968 5.93548387 18.34996260 1.18349963
-8.83870968 6.22580645 18.66701771 1.18667018
-8.83870968 6.51612903 19.04189908 1.19041899
-8.83870968 6.80645161 19.52496415 1.19524964
-8.83870968 7.09677419 19.99999704 1.19999997
-8.83870968 7.38709677 19.99999704 1.19999997
-8.83870968 7.67741935 19.99999704 1.19999997
-8.83870968 7.96774194 19.99999704 1.19999997
-8.83870968 8.25806452 19.99999704 1.19999997
-8.83870968 8.54838710 19.99999704 1.19999997
-8.83870968 8.83870968 19.99999704 1.19999997
-8.83870968 9.12903226 19.99999704 1.19999997
-8.83870968 9.41935484 19.99999704 1.19999997
-8.83870968 9.70967742 19.99999704 1.19999997
-8.83870968 10.00000000 19.99999704 1.19999997
-9.12903226 1.00000000 15.00000000 1.15000000
-9.12903226 1.29032258 15.00000000 1.15000000
-9.12903226 1.58064516 15.00000000 1.15000000
-9.12903226 1.87096774 15.00000000 1.15000000
-9.12903226 2.16129032 15.00000000 1.15000000
-9.12903226 2.45161290 15.00000000 1.15000000
-9.12903226 2.74193548 15.00000000 1.15000000
-9.12903226 3.03225806 15.10357489 1.15103575
-9.12903226 3.32258065 15.70844950 1.15708449
-9.12903226 3.61290323 16.13382374 1.16133824
-9.12903226 3.90322581 16.47922769 1.16479228
-9.12903226 4.19354839 16.77845274 1.16778453
-9.12903226 4.48387097 17.05002382 1.17050024
-9.12903226 4.77419355 17.30571907 1.17305719
-9.12903226 5.06451613 17.55554644 1.17555546
-9.12903226 5.35483871 17.80639865 1.17806399
-9.12903226 5.64516129 18.06809818 1.18068098
-9.12903226 5.93548387 18.34996260 1.18349963
-9.12903226 6.22580645 18.66701771 1.18667018
-9.12903226 6.51612903 19.04189908 1.19041899
-9.12903226 6.80645161 19.52496415 1.19524964
-9.12903226 7.09677419 19.99999704 1.19999997
-9.12903226 7.38709677 19.99999704 1.19999997
-9.12903226 7.67741935 19.99999704 1.19999997
-9.12903226 7.96774194 19.99999704 1.19999997
-9.12903226 8.25806452 19.99999704 1.19999997
-9.12903226 8.54838710 19.99999704 1.19999997
-9.12903226 8.83870968 19.99999704 1.19999997
-9.12903226 9.12903226 19.99999704 1.19999997
-9.12903226 9.41935484 19.99999704 1.19999997
-9.12903226 9.70967742 19.99999704 1.19999997
-9.12903226 10.00000000 19.99999704 1.19999997
-9.41935484 1.00000000 15.00000000 1.15000000
-9.41935484 1.29032258 15.00000000 1.15000000
-9.41935484 1.58064516 15.00000000 1.15000000
-9.41935484 1.87096774 15.00000000 1.15000000
-9.41935484 2.16129032 15.00000000 1.15000000
-9.41935484 2.45161290 15.00000000 1.15000000
-9.41935484 2.74193548 15.00000000 1.15000000
-9.41935484 3.03225806 15.10357489 1.15103575
-9.41935484 3.32258065 15.70844950 1.15708449
-9.41935484 3.61290323 16.13382374 1.16133824
-9.41935484 3.90322581 16.47922769 1.16479228
-9.41935484 4.19354839 16.77845274 1.16778453
-9.41935484 4.48387097 17.05002382 1.17050024
-9.41935484 4.77419355 17.30571907 1.17305719
-9.41935484 5.06451613 17.55554644 1.17555546
-9.41935484 5.35483871 17.80639865 1.17806399
-9.41935484 5.64516129 18.06809818 1.18068098
-9.41935484 5.93548387 18.34996260 1.18349963
-9.41935484 6.22580645 18.66701771 1.18667018
-9.41935484 6.51612903 19.04189908 1.19041899
-9.41935484 6.80645161 19.52496415 1.19524964
-9.41935484 7.09677419 19.99999704 1.19999997
-9.41935484 7.38709677 19.99999704 1.19999997
-9.41935484 7.67741935 19.99999704 1.19999997
-9.41935484 7.96774194 19.99999704 1.19999997
-9.41935484 8.25806452 19.99999704 1.19999997
-9.41935484 8.54838710 19.99999704 1.19999997
-9.41935484 8.83870968 19.99999704 1.19999997
-9.41935484 9.12903226 19.99999704 1.19999997
-9.41935484 9.41935484 19.99999704 1.19999997
-9.41935484 9.70967742 19.99999704 1.19999997
-9.41935484 10.00000000 19.99999704 1.19999997
-9.70967742 1.00000000 15.00000000 1.15000000
-9.70967742 1.29032258 15.00000000 1.15000000
-9.70967742 1.58064516 15.00000000 1.15000000
-9.70967742 1.87096774 15.00000000 1.15000000
-9.70967742 2.16129032 15.00000000 1.15000000
-9.70967742 2.45161290 15.00000000 1.15000000
-9.70967742 2.74193548 15.00000000 1.15000000
-9.70967742 3.03225806 15.10357489 1.15103575
-9.70967742 3.32258065 15.70844950 1.15708449
-9.70967742 3.61290323 16.13382374 1.16133824
-9.70967742 3.90322581 16.47922769 1.16479228
-9.70967742 4.19354839 16.77845274 1.16778453
-9.70967742 4.48387097 17.05002382 1.17050024
-9.70967742 4.77419355 17.30571907 1.17305719
-9.70967742 5.06451613 17.55554644 1.17555546
-9.70967742 5.35483871 17.80639865 1.17806399
-9.70967742 5.64516129 18.06809818 1.18068098
-9.70967742 5.93548387 18.34996260 1.18349963
-9.70967742 6.22580645 18.66701771 1.18667018
-9.70967742 6.51612903 19.04189908 1.19041899
-9.70967742 6.80645161 19.52496415 1.19524964
-9.70967742 7.09677419 19.99999704 1.19999997
-9.70967742 7.38709677 19.99999704 1.19999997
-9.70967742 7.67741935 19.99999704 1.19999997
-9.70967742 7.96774194 19.99999704 1.19999997
-9.70967742 8.25806452 19.99999704 1.19999997
-9.70967742 8.54838710 19.99999704 1.19999997
-9.70967742 8.83870968 19.99999704 1.19999997
-9.70967742 9.12903226 19.99999704 1.19999997
-9.70967742 9.41935484 19.99999704 1.19999997
-9.70967742 9.70967742 19.99999704 1.19999997
-9.70967742 10.00000000 19.99999704 1.19999997
-10.00000000 1.00000000 15.00000000 1.15000000
-10.00000000 1.29032258 15.00000000 1.15000000
-10.00000000 1.58064516 15.00000000 1.15000000
-10.00000000 1.87096774 15.00000000 1.15000000
-10.00000000 2.16129032 15.00000000 1.15000000
-10.00000000 2.45161290 15.00000000 1.15000000
-10.00000000 2.74193548 15.00000000 1.15000000
-10.00000000 3.03225806 15.10357489 1.15103575
-10.00000000 3.32258065 15.70844950 1.15708449
-10.00000000 3.61290323 16.13382374 1.16133824
-10.00000000 3.90322581 16.47922769 1.16479228
-10.00000000 4.19354839 16.77845274 1.16778453
-10.00000000 4.48387097 17.05002382 1.17050024
-10.00000000 4.77419355 17.30571907 1.17305719
-10.00000000 5.06451613 17.55554644 1.17555546
-10.00000000 5.35483871 17.80639865 1.17806399
-10.00000000 5.64516129 18.06809818 1.18068098
-10.00000000 5.93548387 18.34996260 1.18349963
-10.00000000 6.22580645 18.66701771 1.18667018
-10.00000000 6.51612903 19.04189908 1.19041899
-10.00000000 6.80645161 19.52496415 1.19524964
-10.00000000 7.09677419 19.99999704 1.19999997
-10.00000000 7.38709677 19.99999704 1.19999997
-10.00000000 7.67741935 19.99999704 1.19999997
-10.00000000 7.96774194 19.99999704 1.19999997
-10.00000000 8.25806452 19.99999704 1.19999997
-10.00000000 8.54838710 19.99999704 1.19999997
-10.00000000 8.83870968 19.99999704 1.19999997
-10.00000000 9.12903226 19.99999704 1.19999997
-10.00000000 9.41935484 19.99999704 1.19999997
-10.00000000 9.70967742 19.99999704 1.19999997
-10.00000000 10.00000000 19.99999704 1.19999997
+FoodQuality Service Tip CheckPlusTip
+1.000000000 1.000000000 10.000002957 1.100000030
+1.000000000 1.290322581 10.000002957 1.100000030
+1.000000000 1.580645161 10.000002957 1.100000030
+1.000000000 1.870967742 10.000002957 1.100000030
+1.000000000 2.161290323 10.000002957 1.100000030
+1.000000000 2.451612903 10.000002957 1.100000030
+1.000000000 2.741935484 10.000002957 1.100000030
+1.000000000 3.032258065 10.103612040 1.101036120
+1.000000000 3.322580645 10.708467388 1.107084674
+1.000000000 3.612903226 11.133945555 1.111339456
+1.000000000 3.903225806 11.479248807 1.114792488
+1.000000000 4.193548387 11.778370516 1.117783705
+1.000000000 4.483870968 12.050104922 1.120501049
+1.000000000 4.774193548 12.305762763 1.123057628
+1.000000000 5.064516129 12.555175445 1.125551754
+1.000000000 5.354838710 12.806659860 1.128066599
+1.000000000 5.645161290 13.068093230 1.130680932
+1.000000000 5.935483871 13.350561957 1.133505620
+1.000000000 6.225806452 13.666570669 1.136665707
+1.000000000 6.516129032 14.042124914 1.140421249
+1.000000000 6.806451613 14.524928709 1.145249287
+1.000000000 7.096774194 15.000000000 1.150000000
+1.000000000 7.387096774 15.000000000 1.150000000
+1.000000000 7.677419355 15.000000000 1.150000000
+1.000000000 7.967741935 15.000000000 1.150000000
+1.000000000 8.258064516 15.000000000 1.150000000
+1.000000000 8.548387097 15.000000000 1.150000000
+1.000000000 8.838709677 15.000000000 1.150000000
+1.000000000 9.129032258 15.000000000 1.150000000
+1.000000000 9.419354839 15.000000000 1.150000000
+1.000000000 9.709677419 15.000000000 1.150000000
+1.000000000 10.000000000 15.000000000 1.150000000
+1.290322581 1.000000000 10.000002957 1.100000030
+1.290322581 1.290322581 10.000002957 1.100000030
+1.290322581 1.580645161 10.000002957 1.100000030
+1.290322581 1.870967742 10.000002957 1.100000030
+1.290322581 2.161290323 10.000002957 1.100000030
+1.290322581 2.451612903 10.000002957 1.100000030
+1.290322581 2.741935484 10.000002957 1.100000030
+1.290322581 3.032258065 10.103612040 1.101036120
+1.290322581 3.322580645 10.708467388 1.107084674
+1.290322581 3.612903226 11.133945555 1.111339456
+1.290322581 3.903225806 11.479248807 1.114792488
+1.290322581 4.193548387 11.778370516 1.117783705
+1.290322581 4.483870968 12.050104922 1.120501049
+1.290322581 4.774193548 12.305762763 1.123057628
+1.290322581 5.064516129 12.555175445 1.125551754
+1.290322581 5.354838710 12.806659860 1.128066599
+1.290322581 5.645161290 13.068093230 1.130680932
+1.290322581 5.935483871 13.350561957 1.133505620
+1.290322581 6.225806452 13.666570669 1.136665707
+1.290322581 6.516129032 14.042124914 1.140421249
+1.290322581 6.806451613 14.524928709 1.145249287
+1.290322581 7.096774194 15.000000000 1.150000000
+1.290322581 7.387096774 15.000000000 1.150000000
+1.290322581 7.677419355 15.000000000 1.150000000
+1.290322581 7.967741935 15.000000000 1.150000000
+1.290322581 8.258064516 15.000000000 1.150000000
+1.290322581 8.548387097 15.000000000 1.150000000
+1.290322581 8.838709677 15.000000000 1.150000000
+1.290322581 9.129032258 15.000000000 1.150000000
+1.290322581 9.419354839 15.000000000 1.150000000
+1.290322581 9.709677419 15.000000000 1.150000000
+1.290322581 10.000000000 15.000000000 1.150000000
+1.580645161 1.000000000 10.000002957 1.100000030
+1.580645161 1.290322581 10.000002957 1.100000030
+1.580645161 1.580645161 10.000002957 1.100000030
+1.580645161 1.870967742 10.000002957 1.100000030
+1.580645161 2.161290323 10.000002957 1.100000030
+1.580645161 2.451612903 10.000002957 1.100000030
+1.580645161 2.741935484 10.000002957 1.100000030
+1.580645161 3.032258065 10.103612040 1.101036120
+1.580645161 3.322580645 10.708467388 1.107084674
+1.580645161 3.612903226 11.133945555 1.111339456
+1.580645161 3.903225806 11.479248807 1.114792488
+1.580645161 4.193548387 11.778370516 1.117783705
+1.580645161 4.483870968 12.050104922 1.120501049
+1.580645161 4.774193548 12.305762763 1.123057628
+1.580645161 5.064516129 12.555175445 1.125551754
+1.580645161 5.354838710 12.806659860 1.128066599
+1.580645161 5.645161290 13.068093230 1.130680932
+1.580645161 5.935483871 13.350561957 1.133505620
+1.580645161 6.225806452 13.666570669 1.136665707
+1.580645161 6.516129032 14.042124914 1.140421249
+1.580645161 6.806451613 14.524928709 1.145249287
+1.580645161 7.096774194 15.000000000 1.150000000
+1.580645161 7.387096774 15.000000000 1.150000000
+1.580645161 7.677419355 15.000000000 1.150000000
+1.580645161 7.967741935 15.000000000 1.150000000
+1.580645161 8.258064516 15.000000000 1.150000000
+1.580645161 8.548387097 15.000000000 1.150000000
+1.580645161 8.838709677 15.000000000 1.150000000
+1.580645161 9.129032258 15.000000000 1.150000000
+1.580645161 9.419354839 15.000000000 1.150000000
+1.580645161 9.709677419 15.000000000 1.150000000
+1.580645161 10.000000000 15.000000000 1.150000000
+1.870967742 1.000000000 10.000002957 1.100000030
+1.870967742 1.290322581 10.000002957 1.100000030
+1.870967742 1.580645161 10.000002957 1.100000030
+1.870967742 1.870967742 10.000002957 1.100000030
+1.870967742 2.161290323 10.000002957 1.100000030
+1.870967742 2.451612903 10.000002957 1.100000030
+1.870967742 2.741935484 10.000002957 1.100000030
+1.870967742 3.032258065 10.103612040 1.101036120
+1.870967742 3.322580645 10.708467388 1.107084674
+1.870967742 3.612903226 11.133945555 1.111339456
+1.870967742 3.903225806 11.479248807 1.114792488
+1.870967742 4.193548387 11.778370516 1.117783705
+1.870967742 4.483870968 12.050104922 1.120501049
+1.870967742 4.774193548 12.305762763 1.123057628
+1.870967742 5.064516129 12.555175445 1.125551754
+1.870967742 5.354838710 12.806659860 1.128066599
+1.870967742 5.645161290 13.068093230 1.130680932
+1.870967742 5.935483871 13.350561957 1.133505620
+1.870967742 6.225806452 13.666570669 1.136665707
+1.870967742 6.516129032 14.042124914 1.140421249
+1.870967742 6.806451613 14.524928709 1.145249287
+1.870967742 7.096774194 15.000000000 1.150000000
+1.870967742 7.387096774 15.000000000 1.150000000
+1.870967742 7.677419355 15.000000000 1.150000000
+1.870967742 7.967741935 15.000000000 1.150000000
+1.870967742 8.258064516 15.000000000 1.150000000
+1.870967742 8.548387097 15.000000000 1.150000000
+1.870967742 8.838709677 15.000000000 1.150000000
+1.870967742 9.129032258 15.000000000 1.150000000
+1.870967742 9.419354839 15.000000000 1.150000000
+1.870967742 9.709677419 15.000000000 1.150000000
+1.870967742 10.000000000 15.000000000 1.150000000
+2.161290323 1.000000000 10.000002957 1.100000030
+2.161290323 1.290322581 10.000002957 1.100000030
+2.161290323 1.580645161 10.000002957 1.100000030
+2.161290323 1.870967742 10.000002957 1.100000030
+2.161290323 2.161290323 10.000002957 1.100000030
+2.161290323 2.451612903 10.000002957 1.100000030
+2.161290323 2.741935484 10.000002957 1.100000030
+2.161290323 3.032258065 10.103612040 1.101036120
+2.161290323 3.322580645 10.708467388 1.107084674
+2.161290323 3.612903226 11.133945555 1.111339456
+2.161290323 3.903225806 11.479248807 1.114792488
+2.161290323 4.193548387 11.778370516 1.117783705
+2.161290323 4.483870968 12.050104922 1.120501049
+2.161290323 4.774193548 12.305762763 1.123057628
+2.161290323 5.064516129 12.555175445 1.125551754
+2.161290323 5.354838710 12.806659860 1.128066599
+2.161290323 5.645161290 13.068093230 1.130680932
+2.161290323 5.935483871 13.350561957 1.133505620
+2.161290323 6.225806452 13.666570669 1.136665707
+2.161290323 6.516129032 14.042124914 1.140421249
+2.161290323 6.806451613 14.524928709 1.145249287
+2.161290323 7.096774194 15.000000000 1.150000000
+2.161290323 7.387096774 15.000000000 1.150000000
+2.161290323 7.677419355 15.000000000 1.150000000
+2.161290323 7.967741935 15.000000000 1.150000000
+2.161290323 8.258064516 15.000000000 1.150000000
+2.161290323 8.548387097 15.000000000 1.150000000
+2.161290323 8.838709677 15.000000000 1.150000000
+2.161290323 9.129032258 15.000000000 1.150000000
+2.161290323 9.419354839 15.000000000 1.150000000
+2.161290323 9.709677419 15.000000000 1.150000000
+2.161290323 10.000000000 15.000000000 1.150000000
+2.451612903 1.000000000 10.000002957 1.100000030
+2.451612903 1.290322581 10.000002957 1.100000030
+2.451612903 1.580645161 10.000002957 1.100000030
+2.451612903 1.870967742 10.000002957 1.100000030
+2.451612903 2.161290323 10.000002957 1.100000030
+2.451612903 2.451612903 10.000002957 1.100000030
+2.451612903 2.741935484 10.000002957 1.100000030
+2.451612903 3.032258065 10.103612040 1.101036120
+2.451612903 3.322580645 10.708467388 1.107084674
+2.451612903 3.612903226 11.133945555 1.111339456
+2.451612903 3.903225806 11.479248807 1.114792488
+2.451612903 4.193548387 11.778370516 1.117783705
+2.451612903 4.483870968 12.050104922 1.120501049
+2.451612903 4.774193548 12.305762763 1.123057628
+2.451612903 5.064516129 12.555175445 1.125551754
+2.451612903 5.354838710 12.806659860 1.128066599
+2.451612903 5.645161290 13.068093230 1.130680932
+2.451612903 5.935483871 13.350561957 1.133505620
+2.451612903 6.225806452 13.666570669 1.136665707
+2.451612903 6.516129032 14.042124914 1.140421249
+2.451612903 6.806451613 14.524928709 1.145249287
+2.451612903 7.096774194 15.000000000 1.150000000
+2.451612903 7.387096774 15.000000000 1.150000000
+2.451612903 7.677419355 15.000000000 1.150000000
+2.451612903 7.967741935 15.000000000 1.150000000
+2.451612903 8.258064516 15.000000000 1.150000000
+2.451612903 8.548387097 15.000000000 1.150000000
+2.451612903 8.838709677 15.000000000 1.150000000
+2.451612903 9.129032258 15.000000000 1.150000000
+2.451612903 9.419354839 15.000000000 1.150000000
+2.451612903 9.709677419 15.000000000 1.150000000
+2.451612903 10.000000000 15.000000000 1.150000000
+2.741935484 1.000000000 10.000002957 1.100000030
+2.741935484 1.290322581 10.000002957 1.100000030
+2.741935484 1.580645161 10.000002957 1.100000030
+2.741935484 1.870967742 10.000002957 1.100000030
+2.741935484 2.161290323 10.000002957 1.100000030
+2.741935484 2.451612903 10.000002957 1.100000030
+2.741935484 2.741935484 10.000002957 1.100000030
+2.741935484 3.032258065 10.103612040 1.101036120
+2.741935484 3.322580645 10.708467388 1.107084674
+2.741935484 3.612903226 11.133945555 1.111339456
+2.741935484 3.903225806 11.479248807 1.114792488
+2.741935484 4.193548387 11.778370516 1.117783705
+2.741935484 4.483870968 12.050104922 1.120501049
+2.741935484 4.774193548 12.305762763 1.123057628
+2.741935484 5.064516129 12.555175445 1.125551754
+2.741935484 5.354838710 12.806659860 1.128066599
+2.741935484 5.645161290 13.068093230 1.130680932
+2.741935484 5.935483871 13.350561957 1.133505620
+2.741935484 6.225806452 13.666570669 1.136665707
+2.741935484 6.516129032 14.042124914 1.140421249
+2.741935484 6.806451613 14.524928709 1.145249287
+2.741935484 7.096774194 15.000000000 1.150000000
+2.741935484 7.387096774 15.000000000 1.150000000
+2.741935484 7.677419355 15.000000000 1.150000000
+2.741935484 7.967741935 15.000000000 1.150000000
+2.741935484 8.258064516 15.000000000 1.150000000
+2.741935484 8.548387097 15.000000000 1.150000000
+2.741935484 8.838709677 15.000000000 1.150000000
+2.741935484 9.129032258 15.000000000 1.150000000
+2.741935484 9.419354839 15.000000000 1.150000000
+2.741935484 9.709677419 15.000000000 1.150000000
+2.741935484 10.000000000 15.000000000 1.150000000
+3.032258065 1.000000000 10.103612040 1.101036120
+3.032258065 1.290322581 10.103612040 1.101036120
+3.032258065 1.580645161 10.103612040 1.101036120
+3.032258065 1.870967742 10.103612040 1.101036120
+3.032258065 2.161290323 10.103612040 1.101036120
+3.032258065 2.451612903 10.103612040 1.101036120
+3.032258065 2.741935484 10.103612040 1.101036120
+3.032258065 3.032258065 10.204358113 1.102043581
+3.032258065 3.322580645 10.796018218 1.107960182
+3.032258065 3.612903226 11.215358735 1.112153587
+3.032258065 3.903225806 11.557846462 1.115578465
+3.032258065 4.193548387 11.855790361 1.118557904
+3.032258065 4.483870968 12.127240434 1.121272404
+3.032258065 4.774193548 12.384052580 1.123840526
+3.032258065 5.064516129 12.634997421 1.126349974
+3.032258065 5.354838710 12.888585631 1.128885856
+3.032258065 5.645161290 13.153230669 1.131532307
+3.032258065 5.935483871 13.438880990 1.134388810
+3.032258065 6.225806452 13.759265462 1.137592655
+3.032258065 6.516129032 14.139344845 1.141393448
+3.032258065 6.806451613 14.626746497 1.146267465
+3.032258065 7.096774194 15.103574890 1.151035749
+3.032258065 7.387096774 15.103574890 1.151035749
+3.032258065 7.677419355 15.103574890 1.151035749
+3.032258065 7.967741935 15.103574890 1.151035749
+3.032258065 8.258064516 15.103574890 1.151035749
+3.032258065 8.548387097 15.103574890 1.151035749
+3.032258065 8.838709677 15.103574890 1.151035749
+3.032258065 9.129032258 15.103574890 1.151035749
+3.032258065 9.419354839 15.103574890 1.151035749
+3.032258065 9.709677419 15.103574890 1.151035749
+3.032258065 10.000000000 15.103574890 1.151035749
+3.322580645 1.000000000 10.708467388 1.107084674
+3.322580645 1.290322581 10.708467388 1.107084674
+3.322580645 1.580645161 10.708467388 1.107084674
+3.322580645 1.870967742 10.708467388 1.107084674
+3.322580645 2.161290323 10.708467388 1.107084674
+3.322580645 2.451612903 10.708467388 1.107084674
+3.322580645 2.741935484 10.708467388 1.107084674
+3.322580645 3.032258065 10.796018218 1.107960182
+3.322580645 3.322580645 11.322661747 1.113226617
+3.322580645 3.612903226 11.712913158 1.117129132
+3.322580645 3.903225806 12.043415217 1.120434152
+3.322580645 4.193548387 12.339709404 1.123397094
+3.322580645 4.483870968 12.615733153 1.126157332
+3.322580645 4.774193548 12.881223868 1.128812239
+3.322580645 5.064516129 13.144835022 1.131448350
+3.322580645 5.354838710 13.414082467 1.134140825
+3.322580645 5.645161290 13.696138923 1.136961389
+3.322580645 5.935483871 14.000777693 1.140007777
+3.322580645 6.225806452 14.342258539 1.143422585
+3.322580645 6.516129032 14.739964250 1.147399642
+3.322580645 6.806451613 15.239164015 1.152391640
+3.322580645 7.096774194 15.708449495 1.157084495
+3.322580645 7.387096774 15.708449495 1.157084495
+3.322580645 7.677419355 15.708449495 1.157084495
+3.322580645 7.967741935 15.708449495 1.157084495
+3.322580645 8.258064516 15.708449495 1.157084495
+3.322580645 8.548387097 15.708449495 1.157084495
+3.322580645 8.838709677 15.708449495 1.157084495
+3.322580645 9.129032258 15.708449495 1.157084495
+3.322580645 9.419354839 15.708449495 1.157084495
+3.322580645 9.709677419 15.708449495 1.157084495
+3.322580645 10.000000000 15.708449495 1.157084495
+3.612903226 1.000000000 11.133945555 1.111339456
+3.612903226 1.290322581 11.133945555 1.111339456
+3.612903226 1.580645161 11.133945555 1.111339456
+3.612903226 1.870967742 11.133945555 1.111339456
+3.612903226 2.161290323 11.133945555 1.111339456
+3.612903226 2.451612903 11.133945555 1.111339456
+3.612903226 2.741935484 11.133945555 1.111339456
+3.612903226 3.032258065 11.215358735 1.112153587
+3.612903226 3.322580645 11.712913158 1.117129132
+3.612903226 3.612903226 12.090486886 1.120904869
+3.612903226 3.903225806 12.417951094 1.124179511
+3.612903226 4.193548387 12.717020386 1.127170204
+3.612903226 4.483870968 12.999111631 1.129991116
+3.612903226 4.774193548 13.273780609 1.132737806
+3.612903226 5.064516129 13.547717972 1.135477180
+3.612903226 5.354838710 13.827512227 1.138275122
+3.612903226 5.645161290 14.120187657 1.141201877
+3.612903226 5.935483871 14.435371678 1.144353717
+3.612903226 6.225806452 14.784914127 1.147849141
+3.612903226 6.516129032 15.187004870 1.151870049
+3.612903226 6.806451613 15.681548005 1.156815480
+3.612903226 7.096774194 16.133823742 1.161338237
+3.612903226 7.387096774 16.133823742 1.161338237
+3.612903226 7.677419355 16.133823742 1.161338237
+3.612903226 7.967741935 16.133823742 1.161338237
+3.612903226 8.258064516 16.133823742 1.161338237
+3.612903226 8.548387097 16.133823742 1.161338237
+3.612903226 8.838709677 16.133823742 1.161338237
+3.612903226 9.129032258 16.133823742 1.161338237
+3.612903226 9.419354839 16.133823742 1.161338237
+3.612903226 9.709677419 16.133823742 1.161338237
+3.612903226 10.000000000 16.133823742 1.161338237
+3.903225806 1.000000000 11.479248807 1.114792488
+3.903225806 1.290322581 11.479248807 1.114792488
+3.903225806 1.580645161 11.479248807 1.114792488
+3.903225806 1.870967742 11.479248807 1.114792488
+3.903225806 2.161290323 11.479248807 1.114792488
+3.903225806 2.451612903 11.479248807 1.114792488
+3.903225806 2.741935484 11.479248807 1.114792488
+3.903225806 3.032258065 11.557846462 1.115578465
+3.903225806 3.322580645 12.043415217 1.120434152
+3.903225806 3.612903226 12.417951094 1.124179511
+3.903225806 3.903225806 12.746299057 1.127462991
+3.903225806 4.193548387 13.049696353 1.130496964
+3.903225806 4.483870968 13.337970486 1.133379705
+3.903225806 4.774193548 13.620159587 1.136201596
+3.903225806 5.064516129 13.901946604 1.139019466
+3.903225806 5.354838710 14.188883155 1.141888832
+3.903225806 5.645161290 14.489540684 1.144895407
+3.903225806 5.935483871 14.809822020 1.148098220
+3.903225806 6.225806452 15.160748839 1.151607488
+3.903225806 6.516129032 15.560871420 1.155608714
+3.903225806 6.806451613 16.043900181 1.160439002
+3.903225806 7.096774194 16.479227686 1.164792277
+3.903225806 7.387096774 16.479227686 1.164792277
+3.903225806 7.677419355 16.479227686 1.164792277
+3.903225806 7.967741935 16.479227686 1.164792277
+3.903225806 8.258064516 16.479227686 1.164792277
+3.903225806 8.548387097 16.479227686 1.164792277
+3.903225806 8.838709677 16.479227686 1.164792277
+3.903225806 9.129032258 16.479227686 1.164792277
+3.903225806 9.419354839 16.479227686 1.164792277
+3.903225806 9.709677419 16.479227686 1.164792277
+3.903225806 10.000000000 16.479227686 1.164792277
+4.193548387 1.000000000 11.778370516 1.117783705
+4.193548387 1.290322581 11.778370516 1.117783705
+4.193548387 1.580645161 11.778370516 1.117783705
+4.193548387 1.870967742 11.778370516 1.117783705
+4.193548387 2.161290323 11.778370516 1.117783705
+4.193548387 2.451612903 11.778370516 1.117783705
+4.193548387 2.741935484 11.778370516 1.117783705
+4.193548387 3.032258065 11.855790361 1.118557904
+4.193548387 3.322580645 12.339709404 1.123397094
+4.193548387 3.612903226 12.717020386 1.127170204
+4.193548387 3.903225806 13.049696353 1.130496964
+4.193548387 4.193548387 13.357895418 1.133578954
+4.193548387 4.483870968 13.652146644 1.136521466
+4.193548387 4.774193548 13.940357897 1.139403579
+4.193548387 5.064516129 14.228197117 1.142281971
+4.193548387 5.354838710 14.520452601 1.145204526
+4.193548387 5.645161290 14.824425958 1.148244260
+4.193548387 5.935483871 15.146110946 1.151461109
+4.193548387 6.225806452 15.495840162 1.154958402
+4.193548387 6.516129032 15.889898831 1.158898988
+4.193548387 6.806451613 16.360710958 1.163607110
+4.193548387 7.096774194 16.778452741 1.167784527
+4.193548387 7.387096774 16.778452741 1.167784527
+4.193548387 7.677419355 16.778452741 1.167784527
+4.193548387 7.967741935 16.778452741 1.167784527
+4.193548387 8.258064516 16.778452741 1.167784527
+4.193548387 8.548387097 16.778452741 1.167784527
+4.193548387 8.838709677 16.778452741 1.167784527
+4.193548387 9.129032258 16.778452741 1.167784527
+4.193548387 9.419354839 16.778452741 1.167784527
+4.193548387 9.709677419 16.778452741 1.167784527
+4.193548387 10.000000000 16.778452741 1.167784527
+4.483870968 1.000000000 12.050104922 1.120501049
+4.483870968 1.290322581 12.050104922 1.120501049
+4.483870968 1.580645161 12.050104922 1.120501049
+4.483870968 1.870967742 12.050104922 1.120501049
+4.483870968 2.161290323 12.050104922 1.120501049
+4.483870968 2.451612903 12.050104922 1.120501049
+4.483870968 2.741935484 12.050104922 1.120501049
+4.483870968 3.032258065 12.127240434 1.121272404
+4.483870968 3.322580645 12.615733153 1.126157332
+4.483870968 3.612903226 12.999111631 1.129991116
+4.483870968 3.903225806 13.337970486 1.133379705
+4.483870968 4.193548387 13.652146644 1.136521466
+4.483870968 4.483870968 13.951679758 1.139516798
+4.483870968 4.774193548 14.245365454 1.142453655
+4.483870968 5.064516129 14.537425993 1.145374260
+4.483870968 5.354838710 14.832538034 1.148325380
+4.483870968 5.645161290 15.137036426 1.151370364
+4.483870968 5.935483871 15.457098960 1.154570990
+4.483870968 6.225806452 15.803334671 1.158033347
+4.483870968 6.516129032 16.189645887 1.161896459
+4.483870968 6.806451613 16.646502949 1.166465029
+4.483870968 7.096774194 17.050023823 1.170500238
+4.483870968 7.387096774 17.050023823 1.170500238
+4.483870968 7.677419355 17.050023823 1.170500238
+4.483870968 7.967741935 17.050023823 1.170500238
+4.483870968 8.258064516 17.050023823 1.170500238
+4.483870968 8.548387097 17.050023823 1.170500238
+4.483870968 8.838709677 17.050023823 1.170500238
+4.483870968 9.129032258 17.050023823 1.170500238
+4.483870968 9.419354839 17.050023823 1.170500238
+4.483870968 9.709677419 17.050023823 1.170500238
+4.483870968 10.000000000 17.050023823 1.170500238
+4.774193548 1.000000000 12.305762763 1.123057628
+4.774193548 1.290322581 12.305762763 1.123057628
+4.774193548 1.580645161 12.305762763 1.123057628
+4.774193548 1.870967742 12.305762763 1.123057628
+4.774193548 2.161290323 12.305762763 1.123057628
+4.774193548 2.451612903 12.305762763 1.123057628
+4.774193548 2.741935484 12.305762763 1.123057628
+4.774193548 3.032258065 12.384052580 1.123840526
+4.774193548 3.322580645 12.881223868 1.128812239
+4.774193548 3.612903226 13.273780609 1.132737806
+4.774193548 3.903225806 13.620159587 1.136201596
+4.774193548 4.193548387 13.940357897 1.139403579
+4.774193548 4.483870968 14.245365454 1.142453655
+4.774193548 4.774193548 14.542253555 1.145422536
+4.774193548 5.064516129 14.836186297 1.148361863
+4.774193548 5.354838710 15.132216948 1.151322169
+4.774193548 5.645161290 15.435976637 1.154359766
+4.774193548 5.935483871 15.753650335 1.157536503
+4.774193548 6.225806452 16.094398574 1.160943986
+4.774193548 6.516129032 16.472016458 1.164720165
+4.774193548 6.806451613 16.915328759 1.169153288
+4.774193548 7.096774194 17.305719073 1.173057191
+4.774193548 7.387096774 17.305719073 1.173057191
+4.774193548 7.677419355 17.305719073 1.173057191
+4.774193548 7.967741935 17.305719073 1.173057191
+4.774193548 8.258064516 17.305719073 1.173057191
+4.774193548 8.548387097 17.305719073 1.173057191
+4.774193548 8.838709677 17.305719073 1.173057191
+4.774193548 9.129032258 17.305719073 1.173057191
+4.774193548 9.419354839 17.305719073 1.173057191
+4.774193548 9.709677419 17.305719073 1.173057191
+4.774193548 10.000000000 17.305719073 1.173057191
+5.064516129 1.000000000 12.555175445 1.125551754
+5.064516129 1.290322581 12.555175445 1.125551754
+5.064516129 1.580645161 12.555175445 1.125551754
+5.064516129 1.870967742 12.555175445 1.125551754
+5.064516129 2.161290323 12.555175445 1.125551754
+5.064516129 2.451612903 12.555175445 1.125551754
+5.064516129 2.741935484 12.555175445 1.125551754
+5.064516129 3.032258065 12.634997421 1.126349974
+5.064516129 3.322580645 13.144835022 1.131448350
+5.064516129 3.612903226 13.547717972 1.135477180
+5.064516129 3.903225806 13.901946604 1.139019466
+5.064516129 4.193548387 14.228197117 1.142281971
+5.064516129 4.483870968 14.537425993 1.145374260
+5.064516129 4.774193548 14.836186297 1.148361863
+5.064516129 5.064516129 15.130822202 1.151308222
+5.064516129 5.354838710 15.426134812 1.154261348
+5.064516129 5.645161290 15.727608429 1.157276084
+5.064516129 5.935483871 16.040918075 1.160409181
+5.064516129 6.225806452 16.374971626 1.163749716
+5.064516129 6.516129032 16.743479696 1.167434797
+5.064516129 6.806451613 17.175031887 1.171750319
+5.064516129 7.096774194 17.555546435 1.175555464
+5.064516129 7.387096774 17.555546435 1.175555464
+5.064516129 7.677419355 17.555546435 1.175555464
+5.064516129 7.967741935 17.555546435 1.175555464
+5.064516129 8.258064516 17.555546435 1.175555464
+5.064516129 8.548387097 17.555546435 1.175555464
+5.064516129 8.838709677 17.555546435 1.175555464
+5.064516129 9.129032258 17.555546435 1.175555464
+5.064516129 9.419354839 17.555546435 1.175555464
+5.064516129 9.709677419 17.555546435 1.175555464
+5.064516129 10.000000000 17.555546435 1.175555464
+5.354838710 1.000000000 12.806659860 1.128066599
+5.354838710 1.290322581 12.806659860 1.128066599
+5.354838710 1.580645161 12.806659860 1.128066599
+5.354838710 1.870967742 12.806659860 1.128066599
+5.354838710 2.161290323 12.806659860 1.128066599
+5.354838710 2.451612903 12.806659860 1.128066599
+5.354838710 2.741935484 12.806659860 1.128066599
+5.354838710 3.032258065 12.888585631 1.128885856
+5.354838710 3.322580645 13.414082467 1.134140825
+5.354838710 3.612903226 13.827512227 1.138275122
+5.354838710 3.903225806 14.188883155 1.141888832
+5.354838710 4.193548387 14.520452601 1.145204526
+5.354838710 4.483870968 14.832538034 1.148325380
+5.354838710 4.774193548 15.132216948 1.151322169
+5.354838710 5.064516129 15.426134812 1.154261348
+5.354838710 5.354838710 15.719361905 1.157193619
+5.354838710 5.645161290 16.017791161 1.160177912
+5.354838710 5.935483871 16.325903819 1.163259038
+5.354838710 6.225806452 16.653358486 1.166533585
+5.354838710 6.516129032 17.013348713 1.170133487
+5.354838710 6.806451613 17.434097089 1.174340971
+5.354838710 7.096774194 17.806398651 1.178063987
+5.354838710 7.387096774 17.806398651 1.178063987
+5.354838710 7.677419355 17.806398651 1.178063987
+5.354838710 7.967741935 17.806398651 1.178063987
+5.354838710 8.258064516 17.806398651 1.178063987
+5.354838710 8.548387097 17.806398651 1.178063987
+5.354838710 8.838709677 17.806398651 1.178063987
+5.354838710 9.129032258 17.806398651 1.178063987
+5.354838710 9.419354839 17.806398651 1.178063987
+5.354838710 9.709677419 17.806398651 1.178063987
+5.354838710 10.000000000 17.806398651 1.178063987
+5.645161290 1.000000000 13.068093230 1.130680932
+5.645161290 1.290322581 13.068093230 1.130680932
+5.645161290 1.580645161 13.068093230 1.130680932
+5.645161290 1.870967742 13.068093230 1.130680932
+5.645161290 2.161290323 13.068093230 1.130680932
+5.645161290 2.451612903 13.068093230 1.130680932
+5.645161290 2.741935484 13.068093230 1.130680932
+5.645161290 3.032258065 13.153230669 1.131532307
+5.645161290 3.322580645 13.696138923 1.136961389
+5.645161290 3.612903226 14.120187657 1.141201877
+5.645161290 3.903225806 14.489540684 1.144895407
+5.645161290 4.193548387 14.824425958 1.148244260
+5.645161290 4.483870968 15.137036426 1.151370364
+5.645161290 4.774193548 15.435976637 1.154359766
+5.645161290 5.064516129 15.727608429 1.157276084
+5.645161290 5.354838710 16.017791161 1.160177912
+5.645161290 5.645161290 16.311598605 1.163115986
+5.645161290 5.935483871 16.613732570 1.166137326
+5.645161290 6.225806452 16.933994986 1.169339950
+5.645161290 6.516129032 17.286819066 1.172868191
+5.645161290 6.806451613 17.700020869 1.177000209
+5.645161290 7.096774194 18.068098179 1.180680982
+5.645161290 7.387096774 18.068098179 1.180680982
+5.645161290 7.677419355 18.068098179 1.180680982
+5.645161290 7.967741935 18.068098179 1.180680982
+5.645161290 8.258064516 18.068098179 1.180680982
+5.645161290 8.548387097 18.068098179 1.180680982
+5.645161290 8.838709677 18.068098179 1.180680982
+5.645161290 9.129032258 18.068098179 1.180680982
+5.645161290 9.419354839 18.068098179 1.180680982
+5.645161290 9.709677419 18.068098179 1.180680982
+5.645161290 10.000000000 18.068098179 1.180680982
+5.935483871 1.000000000 13.350561957 1.133505620
+5.935483871 1.290322581 13.350561957 1.133505620
+5.935483871 1.580645161 13.350561957 1.133505620
+5.935483871 1.870967742 13.350561957 1.133505620
+5.935483871 2.161290323 13.350561957 1.133505620
+5.935483871 2.451612903 13.350561957 1.133505620
+5.935483871 2.741935484 13.350561957 1.133505620
+5.935483871 3.032258065 13.438880990 1.134388810
+5.935483871 3.322580645 14.000777693 1.140007777
+5.935483871 3.612903226 14.435371678 1.144353717
+5.935483871 3.903225806 14.809822020 1.148098220
+5.935483871 4.193548387 15.146110946 1.151461109
+5.935483871 4.483870968 15.457098960 1.154570990
+5.935483871 4.774193548 15.753650335 1.157536503
+5.935483871 5.064516129 16.040918075 1.160409181
+5.935483871 5.354838710 16.325903819 1.163259038
+5.935483871 5.645161290 16.613732570 1.166137326
+5.935483871 5.935483871 16.911019483 1.169110195
+5.935483871 6.225806452 17.225563024 1.172255630
+5.935483871 6.516129032 17.572635415 1.175726354
+5.935483871 6.806451613 17.982106473 1.179821065
+5.935483871 7.096774194 18.349962605 1.183499626
+5.935483871 7.387096774 18.349962605 1.183499626
+5.935483871 7.677419355 18.349962605 1.183499626
+5.935483871 7.967741935 18.349962605 1.183499626
+5.935483871 8.258064516 18.349962605 1.183499626
+5.935483871 8.548387097 18.349962605 1.183499626
+5.935483871 8.838709677 18.349962605 1.183499626
+5.935483871 9.129032258 18.349962605 1.183499626
+5.935483871 9.419354839 18.349962605 1.183499626
+5.935483871 9.709677419 18.349962605 1.183499626
+5.935483871 10.000000000 18.349962605 1.183499626
+6.225806452 1.000000000 13.666570669 1.136665707
+6.225806452 1.290322581 13.666570669 1.136665707
+6.225806452 1.580645161 13.666570669 1.136665707
+6.225806452 1.870967742 13.666570669 1.136665707
+6.225806452 2.161290323 13.666570669 1.136665707
+6.225806452 2.451612903 13.666570669 1.136665707
+6.225806452 2.741935484 13.666570669 1.136665707
+6.225806452 3.032258065 13.759265462 1.137592655
+6.225806452 3.322580645 14.342258539 1.143422585
+6.225806452 3.612903226 14.784914127 1.147849141
+6.225806452 3.903225806 15.160748839 1.151607488
+6.225806452 4.193548387 15.495840162 1.154958402
+6.225806452 4.483870968 15.803334671 1.158033347
+6.225806452 4.774193548 16.094398574 1.160943986
+6.225806452 5.064516129 16.374971626 1.163749716
+6.225806452 5.354838710 16.653358486 1.166533585
+6.225806452 5.645161290 16.933994986 1.169339950
+6.225806452 5.935483871 17.225563024 1.172255630
+6.225806452 6.225806452 17.536694601 1.175366946
+6.225806452 6.516129032 17.882140340 1.178821403
+6.225806452 6.806451613 18.292111531 1.182921115
+6.225806452 7.096774194 18.667017714 1.186670177
+6.225806452 7.387096774 18.667017714 1.186670177
+6.225806452 7.677419355 18.667017714 1.186670177
+6.225806452 7.967741935 18.667017714 1.186670177
+6.225806452 8.258064516 18.667017714 1.186670177
+6.225806452 8.548387097 18.667017714 1.186670177
+6.225806452 8.838709677 18.667017714 1.186670177
+6.225806452 9.129032258 18.667017714 1.186670177
+6.225806452 9.419354839 18.667017714 1.186670177
+6.225806452 9.709677419 18.667017714 1.186670177
+6.225806452 10.000000000 18.667017714 1.186670177
+6.516129032 1.000000000 14.042124914 1.140421249
+6.516129032 1.290322581 14.042124914 1.140421249
+6.516129032 1.580645161 14.042124914 1.140421249
+6.516129032 1.870967742 14.042124914 1.140421249
+6.516129032 2.161290323 14.042124914 1.140421249
+6.516129032 2.451612903 14.042124914 1.140421249
+6.516129032 2.741935484 14.042124914 1.140421249
+6.516129032 3.032258065 14.139344845 1.141393448
+6.516129032 3.322580645 14.739964250 1.147399642
+6.516129032 3.612903226 15.187004870 1.151870049
+6.516129032 3.903225806 15.560871420 1.155608714
+6.516129032 4.193548387 15.889898831 1.158898988
+6.516129032 4.483870968 16.189645887 1.161896459
+6.516129032 4.774193548 16.472016458 1.164720165
+6.516129032 5.064516129 16.743479696 1.167434797
+6.516129032 5.354838710 17.013348713 1.170133487
+6.516129032 5.645161290 17.286819066 1.172868191
+6.516129032 5.935483871 17.572635415 1.175726354
+6.516129032 6.225806452 17.882140340 1.178821403
+6.516129032 6.516129032 18.229995875 1.182299959
+6.516129032 6.806451613 18.651088969 1.186510890
+6.516129032 7.096774194 19.041899081 1.190418991
+6.516129032 7.387096774 19.041899081 1.190418991
+6.516129032 7.677419355 19.041899081 1.190418991
+6.516129032 7.967741935 19.041899081 1.190418991
+6.516129032 8.258064516 19.041899081 1.190418991
+6.516129032 8.548387097 19.041899081 1.190418991
+6.516129032 8.838709677 19.041899081 1.190418991
+6.516129032 9.129032258 19.041899081 1.190418991
+6.516129032 9.419354839 19.041899081 1.190418991
+6.516129032 9.709677419 19.041899081 1.190418991
+6.516129032 10.000000000 19.041899081 1.190418991
+6.806451613 1.000000000 14.524928709 1.145249287
+6.806451613 1.290322581 14.524928709 1.145249287
+6.806451613 1.580645161 14.524928709 1.145249287
+6.806451613 1.870967742 14.524928709 1.145249287
+6.806451613 2.161290323 14.524928709 1.145249287
+6.806451613 2.451612903 14.524928709 1.145249287
+6.806451613 2.741935484 14.524928709 1.145249287
+6.806451613 3.032258065 14.626746497 1.146267465
+6.806451613 3.322580645 15.239164015 1.152391640
+6.806451613 3.612903226 15.681548005 1.156815480
+6.806451613 3.903225806 16.043900181 1.160439002
+6.806451613 4.193548387 16.360710958 1.163607110
+6.806451613 4.483870968 16.646502949 1.166465029
+6.806451613 4.774193548 16.915328759 1.169153288
+6.806451613 5.064516129 17.175031887 1.171750319
+6.806451613 5.354838710 17.434097089 1.174340971
+6.806451613 5.645161290 17.700020869 1.177000209
+6.806451613 5.935483871 17.982106473 1.179821065
+6.806451613 6.225806452 18.292111531 1.182921115
+6.806451613 6.516129032 18.651088969 1.186510890
+6.806451613 6.806451613 19.098880252 1.190988803
+6.806451613 7.096774194 19.524964154 1.195249642
+6.806451613 7.387096774 19.524964154 1.195249642
+6.806451613 7.677419355 19.524964154 1.195249642
+6.806451613 7.967741935 19.524964154 1.195249642
+6.806451613 8.258064516 19.524964154 1.195249642
+6.806451613 8.548387097 19.524964154 1.195249642
+6.806451613 8.838709677 19.524964154 1.195249642
+6.806451613 9.129032258 19.524964154 1.195249642
+6.806451613 9.419354839 19.524964154 1.195249642
+6.806451613 9.709677419 19.524964154 1.195249642
+6.806451613 10.000000000 19.524964154 1.195249642
+7.096774194 1.000000000 15.000000000 1.150000000
+7.096774194 1.290322581 15.000000000 1.150000000
+7.096774194 1.580645161 15.000000000 1.150000000
+7.096774194 1.870967742 15.000000000 1.150000000
+7.096774194 2.161290323 15.000000000 1.150000000
+7.096774194 2.451612903 15.000000000 1.150000000
+7.096774194 2.741935484 15.000000000 1.150000000
+7.096774194 3.032258065 15.103574890 1.151035749
+7.096774194 3.322580645 15.708449495 1.157084495
+7.096774194 3.612903226 16.133823742 1.161338237
+7.096774194 3.903225806 16.479227686 1.164792277
+7.096774194 4.193548387 16.778452741 1.167784527
+7.096774194 4.483870968 17.050023823 1.170500238
+7.096774194 4.774193548 17.305719073 1.173057191
+7.096774194 5.064516129 17.555546435 1.175555464
+7.096774194 5.354838710 17.806398651 1.178063987
+7.096774194 5.645161290 18.068098179 1.180680982
+7.096774194 5.935483871 18.349962605 1.183499626
+7.096774194 6.225806452 18.667017714 1.186670177
+7.096774194 6.516129032 19.041899081 1.190418991
+7.096774194 6.806451613 19.524964154 1.195249642
+7.096774194 7.096774194 19.999997043 1.199999970
+7.096774194 7.387096774 19.999997043 1.199999970
+7.096774194 7.677419355 19.999997043 1.199999970
+7.096774194 7.967741935 19.999997043 1.199999970
+7.096774194 8.258064516 19.999997043 1.199999970
+7.096774194 8.548387097 19.999997043 1.199999970
+7.096774194 8.838709677 19.999997043 1.199999970
+7.096774194 9.129032258 19.999997043 1.199999970
+7.096774194 9.419354839 19.999997043 1.199999970
+7.096774194 9.709677419 19.999997043 1.199999970
+7.096774194 10.000000000 19.999997043 1.199999970
+7.387096774 1.000000000 15.000000000 1.150000000
+7.387096774 1.290322581 15.000000000 1.150000000
+7.387096774 1.580645161 15.000000000 1.150000000
+7.387096774 1.870967742 15.000000000 1.150000000
+7.387096774 2.161290323 15.000000000 1.150000000
+7.387096774 2.451612903 15.000000000 1.150000000
+7.387096774 2.741935484 15.000000000 1.150000000
+7.387096774 3.032258065 15.103574890 1.151035749
+7.387096774 3.322580645 15.708449495 1.157084495
+7.387096774 3.612903226 16.133823742 1.161338237
+7.387096774 3.903225806 16.479227686 1.164792277
+7.387096774 4.193548387 16.778452741 1.167784527
+7.387096774 4.483870968 17.050023823 1.170500238
+7.387096774 4.774193548 17.305719073 1.173057191
+7.387096774 5.064516129 17.555546435 1.175555464
+7.387096774 5.354838710 17.806398651 1.178063987
+7.387096774 5.645161290 18.068098179 1.180680982
+7.387096774 5.935483871 18.349962605 1.183499626
+7.387096774 6.225806452 18.667017714 1.186670177
+7.387096774 6.516129032 19.041899081 1.190418991
+7.387096774 6.806451613 19.524964154 1.195249642
+7.387096774 7.096774194 19.999997043 1.199999970
+7.387096774 7.387096774 19.999997043 1.199999970
+7.387096774 7.677419355 19.999997043 1.199999970
+7.387096774 7.967741935 19.999997043 1.199999970
+7.387096774 8.258064516 19.999997043 1.199999970
+7.387096774 8.548387097 19.999997043 1.199999970
+7.387096774 8.838709677 19.999997043 1.199999970
+7.387096774 9.129032258 19.999997043 1.199999970
+7.387096774 9.419354839 19.999997043 1.199999970
+7.387096774 9.709677419 19.999997043 1.199999970
+7.387096774 10.000000000 19.999997043 1.199999970
+7.677419355 1.000000000 15.000000000 1.150000000
+7.677419355 1.290322581 15.000000000 1.150000000
+7.677419355 1.580645161 15.000000000 1.150000000
+7.677419355 1.870967742 15.000000000 1.150000000
+7.677419355 2.161290323 15.000000000 1.150000000
+7.677419355 2.451612903 15.000000000 1.150000000
+7.677419355 2.741935484 15.000000000 1.150000000
+7.677419355 3.032258065 15.103574890 1.151035749
+7.677419355 3.322580645 15.708449495 1.157084495
+7.677419355 3.612903226 16.133823742 1.161338237
+7.677419355 3.903225806 16.479227686 1.164792277
+7.677419355 4.193548387 16.778452741 1.167784527
+7.677419355 4.483870968 17.050023823 1.170500238
+7.677419355 4.774193548 17.305719073 1.173057191
+7.677419355 5.064516129 17.555546435 1.175555464
+7.677419355 5.354838710 17.806398651 1.178063987
+7.677419355 5.645161290 18.068098179 1.180680982
+7.677419355 5.935483871 18.349962605 1.183499626
+7.677419355 6.225806452 18.667017714 1.186670177
+7.677419355 6.516129032 19.041899081 1.190418991
+7.677419355 6.806451613 19.524964154 1.195249642
+7.677419355 7.096774194 19.999997043 1.199999970
+7.677419355 7.387096774 19.999997043 1.199999970
+7.677419355 7.677419355 19.999997043 1.199999970
+7.677419355 7.967741935 19.999997043 1.199999970
+7.677419355 8.258064516 19.999997043 1.199999970
+7.677419355 8.548387097 19.999997043 1.199999970
+7.677419355 8.838709677 19.999997043 1.199999970
+7.677419355 9.129032258 19.999997043 1.199999970
+7.677419355 9.419354839 19.999997043 1.199999970
+7.677419355 9.709677419 19.999997043 1.199999970
+7.677419355 10.000000000 19.999997043 1.199999970
+7.967741935 1.000000000 15.000000000 1.150000000
+7.967741935 1.290322581 15.000000000 1.150000000
+7.967741935 1.580645161 15.000000000 1.150000000
+7.967741935 1.870967742 15.000000000 1.150000000
+7.967741935 2.161290323 15.000000000 1.150000000
+7.967741935 2.451612903 15.000000000 1.150000000
+7.967741935 2.741935484 15.000000000 1.150000000
+7.967741935 3.032258065 15.103574890 1.151035749
+7.967741935 3.322580645 15.708449495 1.157084495
+7.967741935 3.612903226 16.133823742 1.161338237
+7.967741935 3.903225806 16.479227686 1.164792277
+7.967741935 4.193548387 16.778452741 1.167784527
+7.967741935 4.483870968 17.050023823 1.170500238
+7.967741935 4.774193548 17.305719073 1.173057191
+7.967741935 5.064516129 17.555546435 1.175555464
+7.967741935 5.354838710 17.806398651 1.178063987
+7.967741935 5.645161290 18.068098179 1.180680982
+7.967741935 5.935483871 18.349962605 1.183499626
+7.967741935 6.225806452 18.667017714 1.186670177
+7.967741935 6.516129032 19.041899081 1.190418991
+7.967741935 6.806451613 19.524964154 1.195249642
+7.967741935 7.096774194 19.999997043 1.199999970
+7.967741935 7.387096774 19.999997043 1.199999970
+7.967741935 7.677419355 19.999997043 1.199999970
+7.967741935 7.967741935 19.999997043 1.199999970
+7.967741935 8.258064516 19.999997043 1.199999970
+7.967741935 8.548387097 19.999997043 1.199999970
+7.967741935 8.838709677 19.999997043 1.199999970
+7.967741935 9.129032258 19.999997043 1.199999970
+7.967741935 9.419354839 19.999997043 1.199999970
+7.967741935 9.709677419 19.999997043 1.199999970
+7.967741935 10.000000000 19.999997043 1.199999970
+8.258064516 1.000000000 15.000000000 1.150000000
+8.258064516 1.290322581 15.000000000 1.150000000
+8.258064516 1.580645161 15.000000000 1.150000000
+8.258064516 1.870967742 15.000000000 1.150000000
+8.258064516 2.161290323 15.000000000 1.150000000
+8.258064516 2.451612903 15.000000000 1.150000000
+8.258064516 2.741935484 15.000000000 1.150000000
+8.258064516 3.032258065 15.103574890 1.151035749
+8.258064516 3.322580645 15.708449495 1.157084495
+8.258064516 3.612903226 16.133823742 1.161338237
+8.258064516 3.903225806 16.479227686 1.164792277
+8.258064516 4.193548387 16.778452741 1.167784527
+8.258064516 4.483870968 17.050023823 1.170500238
+8.258064516 4.774193548 17.305719073 1.173057191
+8.258064516 5.064516129 17.555546435 1.175555464
+8.258064516 5.354838710 17.806398651 1.178063987
+8.258064516 5.645161290 18.068098179 1.180680982
+8.258064516 5.935483871 18.349962605 1.183499626
+8.258064516 6.225806452 18.667017714 1.186670177
+8.258064516 6.516129032 19.041899081 1.190418991
+8.258064516 6.806451613 19.524964154 1.195249642
+8.258064516 7.096774194 19.999997043 1.199999970
+8.258064516 7.387096774 19.999997043 1.199999970
+8.258064516 7.677419355 19.999997043 1.199999970
+8.258064516 7.967741935 19.999997043 1.199999970
+8.258064516 8.258064516 19.999997043 1.199999970
+8.258064516 8.548387097 19.999997043 1.199999970
+8.258064516 8.838709677 19.999997043 1.199999970
+8.258064516 9.129032258 19.999997043 1.199999970
+8.258064516 9.419354839 19.999997043 1.199999970
+8.258064516 9.709677419 19.999997043 1.199999970
+8.258064516 10.000000000 19.999997043 1.199999970
+8.548387097 1.000000000 15.000000000 1.150000000
+8.548387097 1.290322581 15.000000000 1.150000000
+8.548387097 1.580645161 15.000000000 1.150000000
+8.548387097 1.870967742 15.000000000 1.150000000
+8.548387097 2.161290323 15.000000000 1.150000000
+8.548387097 2.451612903 15.000000000 1.150000000
+8.548387097 2.741935484 15.000000000 1.150000000
+8.548387097 3.032258065 15.103574890 1.151035749
+8.548387097 3.322580645 15.708449495 1.157084495
+8.548387097 3.612903226 16.133823742 1.161338237
+8.548387097 3.903225806 16.479227686 1.164792277
+8.548387097 4.193548387 16.778452741 1.167784527
+8.548387097 4.483870968 17.050023823 1.170500238
+8.548387097 4.774193548 17.305719073 1.173057191
+8.548387097 5.064516129 17.555546435 1.175555464
+8.548387097 5.354838710 17.806398651 1.178063987
+8.548387097 5.645161290 18.068098179 1.180680982
+8.548387097 5.935483871 18.349962605 1.183499626
+8.548387097 6.225806452 18.667017714 1.186670177
+8.548387097 6.516129032 19.041899081 1.190418991
+8.548387097 6.806451613 19.524964154 1.195249642
+8.548387097 7.096774194 19.999997043 1.199999970
+8.548387097 7.387096774 19.999997043 1.199999970
+8.548387097 7.677419355 19.999997043 1.199999970
+8.548387097 7.967741935 19.999997043 1.199999970
+8.548387097 8.258064516 19.999997043 1.199999970
+8.548387097 8.548387097 19.999997043 1.199999970
+8.548387097 8.838709677 19.999997043 1.199999970
+8.548387097 9.129032258 19.999997043 1.199999970
+8.548387097 9.419354839 19.999997043 1.199999970
+8.548387097 9.709677419 19.999997043 1.199999970
+8.548387097 10.000000000 19.999997043 1.199999970
+8.838709677 1.000000000 15.000000000 1.150000000
+8.838709677 1.290322581 15.000000000 1.150000000
+8.838709677 1.580645161 15.000000000 1.150000000
+8.838709677 1.870967742 15.000000000 1.150000000
+8.838709677 2.161290323 15.000000000 1.150000000
+8.838709677 2.451612903 15.000000000 1.150000000
+8.838709677 2.741935484 15.000000000 1.150000000
+8.838709677 3.032258065 15.103574890 1.151035749
+8.838709677 3.322580645 15.708449495 1.157084495
+8.838709677 3.612903226 16.133823742 1.161338237
+8.838709677 3.903225806 16.479227686 1.164792277
+8.838709677 4.193548387 16.778452741 1.167784527
+8.838709677 4.483870968 17.050023823 1.170500238
+8.838709677 4.774193548 17.305719073 1.173057191
+8.838709677 5.064516129 17.555546435 1.175555464
+8.838709677 5.354838710 17.806398651 1.178063987
+8.838709677 5.645161290 18.068098179 1.180680982
+8.838709677 5.935483871 18.349962605 1.183499626
+8.838709677 6.225806452 18.667017714 1.186670177
+8.838709677 6.516129032 19.041899081 1.190418991
+8.838709677 6.806451613 19.524964154 1.195249642
+8.838709677 7.096774194 19.999997043 1.199999970
+8.838709677 7.387096774 19.999997043 1.199999970
+8.838709677 7.677419355 19.999997043 1.199999970
+8.838709677 7.967741935 19.999997043 1.199999970
+8.838709677 8.258064516 19.999997043 1.199999970
+8.838709677 8.548387097 19.999997043 1.199999970
+8.838709677 8.838709677 19.999997043 1.199999970
+8.838709677 9.129032258 19.999997043 1.199999970
+8.838709677 9.419354839 19.999997043 1.199999970
+8.838709677 9.709677419 19.999997043 1.199999970
+8.838709677 10.000000000 19.999997043 1.199999970
+9.129032258 1.000000000 15.000000000 1.150000000
+9.129032258 1.290322581 15.000000000 1.150000000
+9.129032258 1.580645161 15.000000000 1.150000000
+9.129032258 1.870967742 15.000000000 1.150000000
+9.129032258 2.161290323 15.000000000 1.150000000
+9.129032258 2.451612903 15.000000000 1.150000000
+9.129032258 2.741935484 15.000000000 1.150000000
+9.129032258 3.032258065 15.103574890 1.151035749
+9.129032258 3.322580645 15.708449495 1.157084495
+9.129032258 3.612903226 16.133823742 1.161338237
+9.129032258 3.903225806 16.479227686 1.164792277
+9.129032258 4.193548387 16.778452741 1.167784527
+9.129032258 4.483870968 17.050023823 1.170500238
+9.129032258 4.774193548 17.305719073 1.173057191
+9.129032258 5.064516129 17.555546435 1.175555464
+9.129032258 5.354838710 17.806398651 1.178063987
+9.129032258 5.645161290 18.068098179 1.180680982
+9.129032258 5.935483871 18.349962605 1.183499626
+9.129032258 6.225806452 18.667017714 1.186670177
+9.129032258 6.516129032 19.041899081 1.190418991
+9.129032258 6.806451613 19.524964154 1.195249642
+9.129032258 7.096774194 19.999997043 1.199999970
+9.129032258 7.387096774 19.999997043 1.199999970
+9.129032258 7.677419355 19.999997043 1.199999970
+9.129032258 7.967741935 19.999997043 1.199999970
+9.129032258 8.258064516 19.999997043 1.199999970
+9.129032258 8.548387097 19.999997043 1.199999970
+9.129032258 8.838709677 19.999997043 1.199999970
+9.129032258 9.129032258 19.999997043 1.199999970
+9.129032258 9.419354839 19.999997043 1.199999970
+9.129032258 9.709677419 19.999997043 1.199999970
+9.129032258 10.000000000 19.999997043 1.199999970
+9.419354839 1.000000000 15.000000000 1.150000000
+9.419354839 1.290322581 15.000000000 1.150000000
+9.419354839 1.580645161 15.000000000 1.150000000
+9.419354839 1.870967742 15.000000000 1.150000000
+9.419354839 2.161290323 15.000000000 1.150000000
+9.419354839 2.451612903 15.000000000 1.150000000
+9.419354839 2.741935484 15.000000000 1.150000000
+9.419354839 3.032258065 15.103574890 1.151035749
+9.419354839 3.322580645 15.708449495 1.157084495
+9.419354839 3.612903226 16.133823742 1.161338237
+9.419354839 3.903225806 16.479227686 1.164792277
+9.419354839 4.193548387 16.778452741 1.167784527
+9.419354839 4.483870968 17.050023823 1.170500238
+9.419354839 4.774193548 17.305719073 1.173057191
+9.419354839 5.064516129 17.555546435 1.175555464
+9.419354839 5.354838710 17.806398651 1.178063987
+9.419354839 5.645161290 18.068098179 1.180680982
+9.419354839 5.935483871 18.349962605 1.183499626
+9.419354839 6.225806452 18.667017714 1.186670177
+9.419354839 6.516129032 19.041899081 1.190418991
+9.419354839 6.806451613 19.524964154 1.195249642
+9.419354839 7.096774194 19.999997043 1.199999970
+9.419354839 7.387096774 19.999997043 1.199999970
+9.419354839 7.677419355 19.999997043 1.199999970
+9.419354839 7.967741935 19.999997043 1.199999970
+9.419354839 8.258064516 19.999997043 1.199999970
+9.419354839 8.548387097 19.999997043 1.199999970
+9.419354839 8.838709677 19.999997043 1.199999970
+9.419354839 9.129032258 19.999997043 1.199999970
+9.419354839 9.419354839 19.999997043 1.199999970
+9.419354839 9.709677419 19.999997043 1.199999970
+9.419354839 10.000000000 19.999997043 1.199999970
+9.709677419 1.000000000 15.000000000 1.150000000
+9.709677419 1.290322581 15.000000000 1.150000000
+9.709677419 1.580645161 15.000000000 1.150000000
+9.709677419 1.870967742 15.000000000 1.150000000
+9.709677419 2.161290323 15.000000000 1.150000000
+9.709677419 2.451612903 15.000000000 1.150000000
+9.709677419 2.741935484 15.000000000 1.150000000
+9.709677419 3.032258065 15.103574890 1.151035749
+9.709677419 3.322580645 15.708449495 1.157084495
+9.709677419 3.612903226 16.133823742 1.161338237
+9.709677419 3.903225806 16.479227686 1.164792277
+9.709677419 4.193548387 16.778452741 1.167784527
+9.709677419 4.483870968 17.050023823 1.170500238
+9.709677419 4.774193548 17.305719073 1.173057191
+9.709677419 5.064516129 17.555546435 1.175555464
+9.709677419 5.354838710 17.806398651 1.178063987
+9.709677419 5.645161290 18.068098179 1.180680982
+9.709677419 5.935483871 18.349962605 1.183499626
+9.709677419 6.225806452 18.667017714 1.186670177
+9.709677419 6.516129032 19.041899081 1.190418991
+9.709677419 6.806451613 19.524964154 1.195249642
+9.709677419 7.096774194 19.999997043 1.199999970
+9.709677419 7.387096774 19.999997043 1.199999970
+9.709677419 7.677419355 19.999997043 1.199999970
+9.709677419 7.967741935 19.999997043 1.199999970
+9.709677419 8.258064516 19.999997043 1.199999970
+9.709677419 8.548387097 19.999997043 1.199999970
+9.709677419 8.838709677 19.999997043 1.199999970
+9.709677419 9.129032258 19.999997043 1.199999970
+9.709677419 9.419354839 19.999997043 1.199999970
+9.709677419 9.709677419 19.999997043 1.199999970
+9.709677419 10.000000000 19.999997043 1.199999970
+10.000000000 1.000000000 15.000000000 1.150000000
+10.000000000 1.290322581 15.000000000 1.150000000
+10.000000000 1.580645161 15.000000000 1.150000000
+10.000000000 1.870967742 15.000000000 1.150000000
+10.000000000 2.161290323 15.000000000 1.150000000
+10.000000000 2.451612903 15.000000000 1.150000000
+10.000000000 2.741935484 15.000000000 1.150000000
+10.000000000 3.032258065 15.103574890 1.151035749
+10.000000000 3.322580645 15.708449495 1.157084495
+10.000000000 3.612903226 16.133823742 1.161338237
+10.000000000 3.903225806 16.479227686 1.164792277
+10.000000000 4.193548387 16.778452741 1.167784527
+10.000000000 4.483870968 17.050023823 1.170500238
+10.000000000 4.774193548 17.305719073 1.173057191
+10.000000000 5.064516129 17.555546435 1.175555464
+10.000000000 5.354838710 17.806398651 1.178063987
+10.000000000 5.645161290 18.068098179 1.180680982
+10.000000000 5.935483871 18.349962605 1.183499626
+10.000000000 6.225806452 18.667017714 1.186670177
+10.000000000 6.516129032 19.041899081 1.190418991
+10.000000000 6.806451613 19.524964154 1.195249642
+10.000000000 7.096774194 19.999997043 1.199999970
+10.000000000 7.387096774 19.999997043 1.199999970
+10.000000000 7.677419355 19.999997043 1.199999970
+10.000000000 7.967741935 19.999997043 1.199999970
+10.000000000 8.258064516 19.999997043 1.199999970
+10.000000000 8.548387097 19.999997043 1.199999970
+10.000000000 8.838709677 19.999997043 1.199999970
+10.000000000 9.129032258 19.999997043 1.199999970
+10.000000000 9.419354839 19.999997043 1.199999970
+10.000000000 9.709677419 19.999997043 1.199999970
+10.000000000 10.000000000 19.999997043 1.199999970
diff --git a/examples/mamdani/octave/mamdani_tip_calculator.fll b/examples/mamdani/octave/mamdani_tip_calculator.fll
index b6c1920..516d870 100644
--- a/examples/mamdani/octave/mamdani_tip_calculator.fll
+++ b/examples/mamdani/octave/mamdani_tip_calculator.fll
@@ -1,33 +1,35 @@
-Engine: Mamdani-Tip-Calculator
+Engine: mamdani_tip_calculator
InputVariable: FoodQuality
enabled: true
range: 1.000 10.000
+ lock-range: false
term: Bad Trapezoid 0.000 1.000 3.000 7.000
term: Good Trapezoid 3.000 7.000 10.000 11.000
InputVariable: Service
enabled: true
range: 1.000 10.000
+ lock-range: false
term: Bad Trapezoid 0.000 1.000 3.000 7.000
term: Good Trapezoid 3.000 7.000 10.000 11.000
OutputVariable: Tip
enabled: true
range: 0.000 30.000
- accumulation: AlgebraicSum
+ lock-range: false
+ aggregation: AlgebraicSum
defuzzifier: Centroid 200
default: nan
lock-previous: false
- lock-range: false
term: AboutTenPercent Gaussian 10.000 2.000
term: AboutFifteenPercent Gaussian 15.000 2.000
term: AboutTwentyPercent Gaussian 20.000 2.000
OutputVariable: CheckPlusTip
enabled: true
range: 1.000 1.300
- accumulation: AlgebraicSum
+ lock-range: false
+ aggregation: AlgebraicSum
defuzzifier: Centroid 200
default: nan
lock-previous: false
- lock-range: false
term: PlusAboutTenPercent Gaussian 1.100 0.020
term: PlusAboutFifteenPercent Gaussian 1.150 0.020
term: PlusAboutTwentyPercent Gaussian 1.200 0.020
@@ -35,7 +37,8 @@ RuleBlock:
enabled: true
conjunction: AlgebraicProduct
disjunction: Maximum
- activation: Minimum
+ implication: Minimum
+ activation: General
rule: if FoodQuality is Bad and Service is Bad then Tip is AboutTenPercent and CheckPlusTip is PlusAboutTenPercent
rule: if FoodQuality is Bad and Service is Good then Tip is AboutFifteenPercent and CheckPlusTip is PlusAboutFifteenPercent
rule: if FoodQuality is Good and Service is Bad then Tip is AboutFifteenPercent and CheckPlusTip is PlusAboutFifteenPercent
diff --git a/examples/mamdani/octave/mamdani_tip_calculator.java b/examples/mamdani/octave/mamdani_tip_calculator.java
index bea319b..faea466 100644
--- a/examples/mamdani/octave/mamdani_tip_calculator.java
+++ b/examples/mamdani/octave/mamdani_tip_calculator.java
@@ -1,4 +1,5 @@
import com.fuzzylite.*;
+import com.fuzzylite.activation.*
import com.fuzzylite.defuzzifier.*;
import com.fuzzylite.factory.*;
import com.fuzzylite.hedge.*;
@@ -12,59 +13,70 @@ import com.fuzzylite.variable.*;
public class mamdani_tip_calculator{
public static void main(String[] args){
+//Code automatically generated with fuzzylite 6.0.
+
Engine engine = new Engine();
-engine.setName("Mamdani-Tip-Calculator");
+engine.setName("mamdani_tip_calculator");
+engine.setDescription("");
-InputVariable inputVariable1 = new InputVariable();
-inputVariable1.setEnabled(true);
-inputVariable1.setName("FoodQuality");
-inputVariable1.setRange(1.000, 10.000);
-inputVariable1.addTerm(new Trapezoid("Bad", 0.000, 1.000, 3.000, 7.000));
-inputVariable1.addTerm(new Trapezoid("Good", 3.000, 7.000, 10.000, 11.000));
-engine.addInputVariable(inputVariable1);
+InputVariable FoodQuality = new InputVariable();
+FoodQuality.setName("FoodQuality");
+FoodQuality.setDescription("");
+FoodQuality.setEnabled(true);
+FoodQuality.setRange(1.000, 10.000);
+FoodQuality.setLockValueInRange(false);
+FoodQuality.addTerm(new Trapezoid("Bad", 0.000, 1.000, 3.000, 7.000));
+FoodQuality.addTerm(new Trapezoid("Good", 3.000, 7.000, 10.000, 11.000));
+engine.addInputVariable(FoodQuality);
-InputVariable inputVariable2 = new InputVariable();
-inputVariable2.setEnabled(true);
-inputVariable2.setName("Service");
-inputVariable2.setRange(1.000, 10.000);
-inputVariable2.addTerm(new Trapezoid("Bad", 0.000, 1.000, 3.000, 7.000));
-inputVariable2.addTerm(new Trapezoid("Good", 3.000, 7.000, 10.000, 11.000));
-engine.addInputVariable(inputVariable2);
+InputVariable Service = new InputVariable();
+Service.setName("Service");
+Service.setDescription("");
+Service.setEnabled(true);
+Service.setRange(1.000, 10.000);
+Service.setLockValueInRange(false);
+Service.addTerm(new Trapezoid("Bad", 0.000, 1.000, 3.000, 7.000));
+Service.addTerm(new Trapezoid("Good", 3.000, 7.000, 10.000, 11.000));
+engine.addInputVariable(Service);
-OutputVariable outputVariable1 = new OutputVariable();
-outputVariable1.setEnabled(true);
-outputVariable1.setName("Tip");
-outputVariable1.setRange(0.000, 30.000);
-outputVariable1.fuzzyOutput().setAccumulation(new AlgebraicSum());
-outputVariable1.setDefuzzifier(new Centroid(200));
-outputVariable1.setDefaultValue(Double.NaN);
-outputVariable1.setLockPreviousOutputValue(false);
-outputVariable1.setLockOutputValueInRange(false);
-outputVariable1.addTerm(new Gaussian("AboutTenPercent", 10.000, 2.000));
-outputVariable1.addTerm(new Gaussian("AboutFifteenPercent", 15.000, 2.000));
-outputVariable1.addTerm(new Gaussian("AboutTwentyPercent", 20.000, 2.000));
-engine.addOutputVariable(outputVariable1);
+OutputVariable Tip = new OutputVariable();
+Tip.setName("Tip");
+Tip.setDescription("");
+Tip.setEnabled(true);
+Tip.setRange(0.000, 30.000);
+Tip.setLockValueInRange(false);
+Tip.setAggregation(new AlgebraicSum());
+Tip.setDefuzzifier(new Centroid(200));
+Tip.setDefaultValue(Double.NaN);
+Tip.setLockPreviousValue(false);
+Tip.addTerm(new Gaussian("AboutTenPercent", 10.000, 2.000));
+Tip.addTerm(new Gaussian("AboutFifteenPercent", 15.000, 2.000));
+Tip.addTerm(new Gaussian("AboutTwentyPercent", 20.000, 2.000));
+engine.addOutputVariable(Tip);
-OutputVariable outputVariable2 = new OutputVariable();
-outputVariable2.setEnabled(true);
-outputVariable2.setName("CheckPlusTip");
-outputVariable2.setRange(1.000, 1.300);
-outputVariable2.fuzzyOutput().setAccumulation(new AlgebraicSum());
-outputVariable2.setDefuzzifier(new Centroid(200));
-outputVariable2.setDefaultValue(Double.NaN);
-outputVariable2.setLockPreviousOutputValue(false);
-outputVariable2.setLockOutputValueInRange(false);
-outputVariable2.addTerm(new Gaussian("PlusAboutTenPercent", 1.100, 0.020));
-outputVariable2.addTerm(new Gaussian("PlusAboutFifteenPercent", 1.150, 0.020));
-outputVariable2.addTerm(new Gaussian("PlusAboutTwentyPercent", 1.200, 0.020));
-engine.addOutputVariable(outputVariable2);
+OutputVariable CheckPlusTip = new OutputVariable();
+CheckPlusTip.setName("CheckPlusTip");
+CheckPlusTip.setDescription("");
+CheckPlusTip.setEnabled(true);
+CheckPlusTip.setRange(1.000, 1.300);
+CheckPlusTip.setLockValueInRange(false);
+CheckPlusTip.setAggregation(new AlgebraicSum());
+CheckPlusTip.setDefuzzifier(new Centroid(200));
+CheckPlusTip.setDefaultValue(Double.NaN);
+CheckPlusTip.setLockPreviousValue(false);
+CheckPlusTip.addTerm(new Gaussian("PlusAboutTenPercent", 1.100, 0.020));
+CheckPlusTip.addTerm(new Gaussian("PlusAboutFifteenPercent", 1.150, 0.020));
+CheckPlusTip.addTerm(new Gaussian("PlusAboutTwentyPercent", 1.200, 0.020));
+engine.addOutputVariable(CheckPlusTip);
RuleBlock ruleBlock = new RuleBlock();
-ruleBlock.setEnabled(true);
ruleBlock.setName("");
+ruleBlock.setDescription("");
+ruleBlock.setEnabled(true);
ruleBlock.setConjunction(new AlgebraicProduct());
ruleBlock.setDisjunction(new Maximum());
-ruleBlock.setActivation(new Minimum());
+ruleBlock.setImplication(new Minimum());
+ruleBlock.setActivation(new General());
ruleBlock.addRule(Rule.parse("if FoodQuality is Bad and Service is Bad then Tip is AboutTenPercent and CheckPlusTip is PlusAboutTenPercent", engine));
ruleBlock.addRule(Rule.parse("if FoodQuality is Bad and Service is Good then Tip is AboutFifteenPercent and CheckPlusTip is PlusAboutFifteenPercent", engine));
ruleBlock.addRule(Rule.parse("if FoodQuality is Good and Service is Bad then Tip is AboutFifteenPercent and CheckPlusTip is PlusAboutFifteenPercent", engine));
diff --git a/examples/mamdani/octave/mamdani_tip_calculator.pdf b/examples/mamdani/octave/mamdani_tip_calculator.pdf
new file mode 100644
index 0000000..d62a142
--- /dev/null
+++ b/examples/mamdani/octave/mamdani_tip_calculator.pdf
Binary files differ
diff --git a/examples/original/mamdani/AllTerms.fll b/examples/original/mamdani/AllTerms.fll
index 58d5705..bed89c8 100644
--- a/examples/original/mamdani/AllTerms.fll
+++ b/examples/original/mamdani/AllTerms.fll
@@ -1,4 +1,4 @@
-Engine: qtfuzzylite
+Engine: AllTerms
InputVariable: AllInputTerms
enabled: true
range: 0.000 6.500
@@ -25,7 +25,7 @@ InputVariable: AllInputTerms
OutputVariable: AllOutputTerms
enabled: true
range: 0.000 6.500
- accumulation: Maximum
+ aggregation: Maximum
defuzzifier: Centroid 200
default: nan
lock-previous: false
@@ -54,7 +54,8 @@ RuleBlock:
enabled: true
conjunction: Minimum
disjunction: Maximum
- activation: Minimum
+ implication: Minimum
+ activation: General
rule: if AllInputTerms is A then AllOutputTerms is T
rule: if AllInputTerms is B then AllOutputTerms is S
rule: if AllInputTerms is C then AllOutputTerms is R
@@ -74,4 +75,4 @@ RuleBlock:
rule: if AllInputTerms is Q then AllOutputTerms is D
rule: if AllInputTerms is R then AllOutputTerms is C
rule: if AllInputTerms is S then AllOutputTerms is B
- rule: if AllInputTerms is T then AllOutputTerms is A \ No newline at end of file
+ rule: if AllInputTerms is T then AllOutputTerms is A
diff --git a/examples/original/mamdani/Laundry.fll b/examples/original/mamdani/Laundry.fll
index cc002bb..36e67d5 100644
--- a/examples/original/mamdani/Laundry.fll
+++ b/examples/original/mamdani/Laundry.fll
@@ -12,7 +12,7 @@ InputVariable: Dirt
OutputVariable: Detergent
enabled: true
range: 0.000 80.000
- accumulation: Maximum
+ aggregation: Maximum
defuzzifier: MeanOfMaximum 500
default: nan
lock-previous: false
@@ -23,7 +23,7 @@ OutputVariable: Detergent
OutputVariable: Cycle
enabled: true
range: 0.000 20.000
- accumulation: Maximum
+ aggregation: Maximum
defuzzifier: MeanOfMaximum 500
default: nan
lock-previous: false
@@ -34,10 +34,11 @@ RuleBlock:
enabled: true
conjunction: Minimum
disjunction: Maximum
- activation: Minimum
+ implication: Minimum
+ activation: General
rule: if Load is small and Dirt is not high then Detergent is less_than_usual
rule: if Load is small and Dirt is high then Detergent is usual
rule: if Load is normal and Dirt is low then Detergent is less_than_usual
rule: if Load is normal and Dirt is high then Detergent is more_than_usual
rule: if Detergent is usual or Detergent is less_than_usual then Cycle is short
- rule: if Detergent is more_than_usual then Cycle is long \ No newline at end of file
+ rule: if Detergent is more_than_usual then Cycle is long
diff --git a/examples/original/mamdani/SimpleDimmer.fll b/examples/original/mamdani/SimpleDimmer.fll
index 3a4f8f9..ab91b72 100644
--- a/examples/original/mamdani/SimpleDimmer.fll
+++ b/examples/original/mamdani/SimpleDimmer.fll
@@ -1,4 +1,4 @@
-Engine: simple-dimmer
+Engine: SimpleDimmer
InputVariable: Ambient
enabled: true
range: 0.000 1.000
@@ -8,7 +8,7 @@ InputVariable: Ambient
OutputVariable: Power
enabled: true
range: 0.000 1.000
- accumulation: Maximum
+ aggregation: Maximum
defuzzifier: Centroid 200
default: nan
lock-previous: false
@@ -20,7 +20,8 @@ RuleBlock:
enabled: true
conjunction: none
disjunction: none
- activation: Minimum
+ implication: Minimum
+ activation: General
rule: if Ambient is DARK then Power is HIGH
rule: if Ambient is MEDIUM then Power is MEDIUM
- rule: if Ambient is BRIGHT then Power is LOW \ No newline at end of file
+ rule: if Ambient is BRIGHT then Power is LOW
diff --git a/examples/original/mamdani/SimpleDimmerInverse.fll b/examples/original/mamdani/SimpleDimmerInverse.fll
index fd6b945..3cd7a4a 100644
--- a/examples/original/mamdani/SimpleDimmerInverse.fll
+++ b/examples/original/mamdani/SimpleDimmerInverse.fll
@@ -1,4 +1,4 @@
-Engine: simple-dimmer
+Engine: SimpleDimmerInverse
InputVariable: Ambient
enabled: true
range: 0.000 1.000
@@ -8,7 +8,7 @@ InputVariable: Ambient
OutputVariable: Power
enabled: true
range: 0.000 1.000
- accumulation: Maximum
+ aggregation: Maximum
defuzzifier: Centroid 200
default: nan
lock-previous: false
@@ -19,7 +19,7 @@ OutputVariable: Power
OutputVariable: InversePower
enabled: true
range: 0.000 1.000
- accumulation: Maximum
+ aggregation: Maximum
defuzzifier: Centroid 500
default: nan
lock-previous: false
@@ -31,10 +31,11 @@ RuleBlock:
enabled: true
conjunction: none
disjunction: none
- activation: Minimum
+ implication: Minimum
+ activation: General
rule: if Ambient is DARK then Power is HIGH
rule: if Ambient is MEDIUM then Power is MEDIUM
rule: if Ambient is BRIGHT then Power is LOW
rule: if Power is LOW then InversePower is HIGH
rule: if Power is MEDIUM then InversePower is MEDIUM
- rule: if Power is HIGH then InversePower is LOW \ No newline at end of file
+ rule: if Power is HIGH then InversePower is LOW
diff --git a/examples/original/mamdani/octave/investment_portfolio.fll b/examples/original/mamdani/octave/investment_portfolio.fll
index 4bb14e1..a383512 100644
--- a/examples/original/mamdani/octave/investment_portfolio.fll
+++ b/examples/original/mamdani/octave/investment_portfolio.fll
@@ -1,4 +1,4 @@
-Engine: Investment-Portfolio
+Engine: investment_portfolio
InputVariable: Age
enabled: true
range: 20.000 100.000
@@ -12,7 +12,7 @@ InputVariable: RiskTolerance
OutputVariable: PercentageInStocks
enabled: true
range: 0.000 100.000
- accumulation: EinsteinSum
+ aggregation: EinsteinSum
defuzzifier: Centroid 200
default: nan
lock-previous: false
@@ -24,8 +24,9 @@ RuleBlock:
enabled: true
conjunction: EinsteinProduct
disjunction: EinsteinSum
- activation: EinsteinProduct
+ implication: EinsteinProduct
+ activation: General
rule: if Age is Young or RiskTolerance is High then PercentageInStocks is AboutEightyFive
rule: if Age is Old or RiskTolerance is Low then PercentageInStocks is AboutFifteen
rule: if Age is not extremely Old and RiskTolerance is not extremely Low then PercentageInStocks is AboutFifty with 0.500
- rule: if Age is not extremely Young and RiskTolerance is not extremely High then PercentageInStocks is AboutFifty with 0.500 \ No newline at end of file
+ rule: if Age is not extremely Young and RiskTolerance is not extremely High then PercentageInStocks is AboutFifty with 0.500
diff --git a/examples/original/mamdani/octave/mamdani_tip_calculator.fll b/examples/original/mamdani/octave/mamdani_tip_calculator.fll
index b6c1920..15a94b9 100644
--- a/examples/original/mamdani/octave/mamdani_tip_calculator.fll
+++ b/examples/original/mamdani/octave/mamdani_tip_calculator.fll
@@ -1,4 +1,4 @@
-Engine: Mamdani-Tip-Calculator
+Engine: mamdani_tip_calculator
InputVariable: FoodQuality
enabled: true
range: 1.000 10.000
@@ -12,7 +12,7 @@ InputVariable: Service
OutputVariable: Tip
enabled: true
range: 0.000 30.000
- accumulation: AlgebraicSum
+ aggregation: AlgebraicSum
defuzzifier: Centroid 200
default: nan
lock-previous: false
@@ -23,7 +23,7 @@ OutputVariable: Tip
OutputVariable: CheckPlusTip
enabled: true
range: 1.000 1.300
- accumulation: AlgebraicSum
+ aggregation: AlgebraicSum
defuzzifier: Centroid 200
default: nan
lock-previous: false
@@ -35,8 +35,9 @@ RuleBlock:
enabled: true
conjunction: AlgebraicProduct
disjunction: Maximum
- activation: Minimum
+ implication: Minimum
+ activation: General
rule: if FoodQuality is Bad and Service is Bad then Tip is AboutTenPercent and CheckPlusTip is PlusAboutTenPercent
rule: if FoodQuality is Bad and Service is Good then Tip is AboutFifteenPercent and CheckPlusTip is PlusAboutFifteenPercent
rule: if FoodQuality is Good and Service is Bad then Tip is AboutFifteenPercent and CheckPlusTip is PlusAboutFifteenPercent
- rule: if FoodQuality is Good and Service is Good then Tip is AboutTwentyPercent and CheckPlusTip is PlusAboutTwentyPercent \ No newline at end of file
+ rule: if FoodQuality is Good and Service is Good then Tip is AboutTwentyPercent and CheckPlusTip is PlusAboutTwentyPercent
diff --git a/examples/original/takagi-sugeno/SimpleDimmer.fll b/examples/original/takagi-sugeno/SimpleDimmer.fll
index 15050ee..dc46ec8 100644
--- a/examples/original/takagi-sugeno/SimpleDimmer.fll
+++ b/examples/original/takagi-sugeno/SimpleDimmer.fll
@@ -1,4 +1,4 @@
-Engine: simple-dimmer
+Engine: SimpleDimmer
InputVariable: Ambient
enabled: true
range: 0.000 1.000
@@ -8,7 +8,7 @@ InputVariable: Ambient
OutputVariable: Power
enabled: true
range: 0.000 1.000
- accumulation: none
+ aggregation: none
defuzzifier: WeightedAverage TakagiSugeno
default: nan
lock-previous: false
@@ -20,7 +20,8 @@ RuleBlock:
enabled: true
conjunction: none
disjunction: none
- activation: none
+ implication: none
+ activation: General
rule: if Ambient is DARK then Power is HIGH
rule: if Ambient is MEDIUM then Power is MEDIUM
rule: if Ambient is BRIGHT then Power is LOW
diff --git a/examples/original/takagi-sugeno/approximation.fll b/examples/original/takagi-sugeno/approximation.fll
index 66fb813..63964dc 100644
--- a/examples/original/takagi-sugeno/approximation.fll
+++ b/examples/original/takagi-sugeno/approximation.fll
@@ -1,4 +1,4 @@
-Engine: approximation of sin(x)/x
+Engine: approximation
InputVariable: inputX
enabled: true
range: 0.000 10.000
@@ -14,7 +14,7 @@ InputVariable: inputX
OutputVariable: outputFx
enabled: true
range: -1.000 1.000
- accumulation: none
+ aggregation: none
defuzzifier: WeightedAverage TakagiSugeno
default: nan
lock-previous: true
@@ -31,7 +31,7 @@ OutputVariable: outputFx
OutputVariable: trueFx
enabled: true
range: -1.000 1.000
- accumulation: none
+ aggregation: none
defuzzifier: WeightedAverage
default: nan
lock-previous: true
@@ -40,7 +40,7 @@ OutputVariable: trueFx
OutputVariable: diffFx
enabled: true
range: -1.000 1.000
- accumulation: none
+ aggregation: none
defuzzifier: WeightedAverage
default: nan
lock-previous: false
@@ -50,7 +50,8 @@ RuleBlock:
enabled: true
conjunction: none
disjunction: none
- activation: none
+ implication: none
+ activation: General
rule: if inputX is NEAR_1 then outputFx is f1
rule: if inputX is NEAR_2 then outputFx is f2
rule: if inputX is NEAR_3 then outputFx is f3
diff --git a/examples/original/takagi-sugeno/octave/cubic_approximator.fll b/examples/original/takagi-sugeno/octave/cubic_approximator.fll
index 28ba40a..7d2c157 100644
--- a/examples/original/takagi-sugeno/octave/cubic_approximator.fll
+++ b/examples/original/takagi-sugeno/octave/cubic_approximator.fll
@@ -1,4 +1,4 @@
-Engine: Cubic-Approximator
+Engine: cubic_approximator
InputVariable: X
enabled: true
range: -5.000 5.000
@@ -16,7 +16,7 @@ InputVariable: X
OutputVariable: ApproxXCubed
enabled: true
range: -5.000 5.000
- accumulation: none
+ aggregation: none
defuzzifier: WeightedAverage TakagiSugeno
default: nan
lock-previous: false
@@ -36,7 +36,8 @@ RuleBlock:
enabled: true
conjunction: none
disjunction: none
- activation: none
+ implication: none
+ activation: General
rule: if X is AboutNegFive then ApproxXCubed is TangentatNegFive
rule: if X is AboutNegFour then ApproxXCubed is TangentatNegFour
rule: if X is AboutNegThree then ApproxXCubed is TangentatNegThree
diff --git a/examples/original/takagi-sugeno/octave/heart_disease_risk.fll b/examples/original/takagi-sugeno/octave/heart_disease_risk.fll
index c401dd4..4c60466 100644
--- a/examples/original/takagi-sugeno/octave/heart_disease_risk.fll
+++ b/examples/original/takagi-sugeno/octave/heart_disease_risk.fll
@@ -1,4 +1,4 @@
-Engine: Heart-Disease-Risk
+Engine: heart_disease_risk
InputVariable: LDLLevel
enabled: true
range: 0.000 300.000
@@ -16,7 +16,7 @@ InputVariable: HDLLevel
OutputVariable: HeartDiseaseRisk
enabled: true
range: 0.000 10.000
- accumulation: none
+ aggregation: none
defuzzifier: WeightedAverage TakagiSugeno
default: nan
lock-previous: false
@@ -30,7 +30,8 @@ RuleBlock:
enabled: true
conjunction: Minimum
disjunction: none
- activation: none
+ implication: none
+ activation: General
rule: if LDLLevel is Low and HDLLevel is LowHDL then HeartDiseaseRisk is MediumRisk
rule: if LDLLevel is Low and HDLLevel is ModerateHDL then HeartDiseaseRisk is LowRisk
rule: if LDLLevel is Low and HDLLevel is HighHDL then HeartDiseaseRisk is NoRisk
diff --git a/examples/original/takagi-sugeno/octave/linear_tip_calculator.fll b/examples/original/takagi-sugeno/octave/linear_tip_calculator.fll
index 34b0334..3b99fc9 100644
--- a/examples/original/takagi-sugeno/octave/linear_tip_calculator.fll
+++ b/examples/original/takagi-sugeno/octave/linear_tip_calculator.fll
@@ -1,4 +1,4 @@
-Engine: Linear-Tip-Calculator
+Engine: linear_tip_calculator
InputVariable: FoodQuality
enabled: true
range: 1.000 10.000
@@ -12,7 +12,7 @@ InputVariable: Service
OutputVariable: Tip
enabled: true
range: 10.000 20.000
- accumulation: none
+ aggregation: none
defuzzifier: WeightedAverage TakagiSugeno
default: nan
lock-previous: false
@@ -24,7 +24,8 @@ RuleBlock:
enabled: true
conjunction: Minimum
disjunction: none
- activation: none
+ implication: none
+ activation: General
rule: if FoodQuality is Bad and Service is Bad then Tip is TenPercent
rule: if FoodQuality is Bad and Service is Good then Tip is FifteenPercent
rule: if FoodQuality is Good and Service is Bad then Tip is FifteenPercent
diff --git a/examples/original/takagi-sugeno/octave/sugeno_tip_calculator.fll b/examples/original/takagi-sugeno/octave/sugeno_tip_calculator.fll
index 2006e71..19c5875 100644
--- a/examples/original/takagi-sugeno/octave/sugeno_tip_calculator.fll
+++ b/examples/original/takagi-sugeno/octave/sugeno_tip_calculator.fll
@@ -1,4 +1,4 @@
-Engine: Sugeno-Tip-Calculator
+Engine: sugeno_tip_calculator
InputVariable: FoodQuality
enabled: true
range: 1.000 10.000
@@ -12,7 +12,7 @@ InputVariable: Service
OutputVariable: CheapTip
enabled: true
range: 5.000 25.000
- accumulation: none
+ aggregation: none
defuzzifier: WeightedAverage TakagiSugeno
default: nan
lock-previous: false
@@ -23,7 +23,7 @@ OutputVariable: CheapTip
OutputVariable: AverageTip
enabled: true
range: 5.000 25.000
- accumulation: none
+ aggregation: none
defuzzifier: WeightedAverage TakagiSugeno
default: nan
lock-previous: false
@@ -34,7 +34,7 @@ OutputVariable: AverageTip
OutputVariable: GenerousTip
enabled: true
range: 5.000 25.000
- accumulation: none
+ aggregation: none
defuzzifier: WeightedAverage TakagiSugeno
default: nan
lock-previous: false
@@ -46,7 +46,8 @@ RuleBlock:
enabled: true
conjunction: EinsteinProduct
disjunction: none
- activation: none
+ implication: none
+ activation: General
rule: if FoodQuality is extremely Bad and Service is extremely Bad then CheapTip is extremely Low and AverageTip is very Low and GenerousTip is Low
rule: if FoodQuality is Good and Service is extremely Bad then CheapTip is Low and AverageTip is Low and GenerousTip is Medium
rule: if FoodQuality is very Good and Service is very Bad then CheapTip is Low and AverageTip is Medium and GenerousTip is High
diff --git a/examples/original/tsukamoto/tsukamoto.fll b/examples/original/tsukamoto/tsukamoto.fll
index 1811b81..b8acf99 100644
--- a/examples/original/tsukamoto/tsukamoto.fll
+++ b/examples/original/tsukamoto/tsukamoto.fll
@@ -1,4 +1,4 @@
-Engine:
+Engine: tsukamoto
InputVariable: X
enabled: true
range: -10.000 10.000
@@ -8,7 +8,7 @@ InputVariable: X
OutputVariable: Ramps
enabled: true
range: 0.000 1.000
- accumulation: none
+ aggregation: none
defuzzifier: WeightedAverage
default: nan
lock-previous: false
@@ -19,7 +19,7 @@ OutputVariable: Ramps
OutputVariable: Sigmoids
enabled: true
range: 0.020 1.000
- accumulation: none
+ aggregation: none
defuzzifier: WeightedAverage
default: nan
lock-previous: false
@@ -30,7 +30,7 @@ OutputVariable: Sigmoids
OutputVariable: ZSShapes
enabled: true
range: 0.000 1.000
- accumulation: none
+ aggregation: none
defuzzifier: WeightedAverage
default: nan
lock-previous: false
@@ -41,7 +41,7 @@ OutputVariable: ZSShapes
OutputVariable: Concaves
enabled: true
range: 0.000 1.000
- accumulation: none
+ aggregation: none
defuzzifier: WeightedAverage
default: nan
lock-previous: false
@@ -53,7 +53,8 @@ RuleBlock:
enabled: true
conjunction: none
disjunction: none
- activation: none
+ implication: none
+ activation: General
rule: if X is small then Ramps is a and Sigmoids is a and ZSShapes is a and Concaves is a
rule: if X is medium then Ramps is b and Sigmoids is b and ZSShapes is b and Concaves is b
- rule: if X is large then Ramps is c and Sigmoids is c and ZSShapes is c and Concaves is c \ No newline at end of file
+ rule: if X is large then Ramps is c and Sigmoids is c and ZSShapes is c and Concaves is c
diff --git a/examples/takagi-sugeno/ObstacleAvoidance.R b/examples/takagi-sugeno/ObstacleAvoidance.R
new file mode 100644
index 0000000..eb96813
--- /dev/null
+++ b/examples/takagi-sugeno/ObstacleAvoidance.R
@@ -0,0 +1,57 @@
+#Code automatically generated with fuzzylite 6.0.
+
+library(ggplot2);
+
+engine.name = "ObstacleAvoidance"
+engine.fll = "Engine: ObstacleAvoidance
+InputVariable: obstacle
+ enabled: true
+ range: 0.000 1.000
+ lock-range: false
+ term: left Ramp 1.000 0.000
+ term: right Ramp 0.000 1.000
+OutputVariable: tsSteer
+ enabled: true
+ range: 0.000 1.000
+ lock-range: false
+ aggregation: Maximum
+ defuzzifier: WeightedAverage Automatic
+ default: nan
+ lock-previous: false
+ term: left Constant 0.333
+ term: right Constant 0.666
+RuleBlock: takagiSugeno
+ enabled: true
+ conjunction: none
+ disjunction: none
+ implication: none
+ activation: General
+ rule: if obstacle is left then tsSteer is right
+ rule: if obstacle is right then tsSteer is left"
+
+engine.fldFile = "ObstacleAvoidance.fld"
+if (require(data.table)) {
+ engine.df = data.table::fread(engine.fldFile, sep="auto", header="auto")
+} else {
+ engine.df = read.table(engine.fldFile, header=TRUE)
+}
+
+engine.plot.i1_o1 = ggplot(engine.df, aes(obstacle, tsSteer)) +
+ geom_line(aes(color=tsSteer), size=3, lineend="round", linejoin="mitre") +
+ scale_color_gradient(low="yellow", high="red") +
+ ggtitle("obstacle vs tsSteer")
+
+engine.plot.o1_i1 = ggplot(engine.df, aes(obstacle, tsSteer)) +
+ geom_line(aes(color=tsSteer), size=3, lineend="round", linejoin="mitre") +
+ scale_color_gradient(low="yellow", high="red") +
+ coord_flip() +
+ ggtitle("tsSteer vs obstacle")
+
+if (require(gridExtra)) {
+ engine.plots = arrangeGrob(engine.plot.i1_o1, engine.plot.o1_i1, ncol=2, top=engine.name)
+ ggsave(paste0(engine.name, ".pdf"), engine.plots)
+ if (require(grid)) {
+ grid.newpage()
+ grid.draw(engine.plots)
+ }
+}
diff --git a/examples/takagi-sugeno/ObstacleAvoidance.cpp b/examples/takagi-sugeno/ObstacleAvoidance.cpp
new file mode 100644
index 0000000..32d6ba9
--- /dev/null
+++ b/examples/takagi-sugeno/ObstacleAvoidance.cpp
@@ -0,0 +1,49 @@
+#include <fl/Headers.h>
+
+int main(int argc, char** argv){
+//Code automatically generated with fuzzylite 6.0.
+
+using namespace fl;
+
+Engine* engine = new Engine;
+engine->setName("ObstacleAvoidance");
+engine->setDescription("");
+
+InputVariable* obstacle = new InputVariable;
+obstacle->setName("obstacle");
+obstacle->setDescription("");
+obstacle->setEnabled(true);
+obstacle->setRange(0.000, 1.000);
+obstacle->setLockValueInRange(false);
+obstacle->addTerm(new Ramp("left", 1.000, 0.000));
+obstacle->addTerm(new Ramp("right", 0.000, 1.000));
+engine->addInputVariable(obstacle);
+
+OutputVariable* tsSteer = new OutputVariable;
+tsSteer->setName("tsSteer");
+tsSteer->setDescription("");
+tsSteer->setEnabled(true);
+tsSteer->setRange(0.000, 1.000);
+tsSteer->setLockValueInRange(false);
+tsSteer->setAggregation(new Maximum);
+tsSteer->setDefuzzifier(new WeightedAverage("Automatic"));
+tsSteer->setDefaultValue(fl::nan);
+tsSteer->setLockPreviousValue(false);
+tsSteer->addTerm(new Constant("left", 0.333));
+tsSteer->addTerm(new Constant("right", 0.666));
+engine->addOutputVariable(tsSteer);
+
+RuleBlock* takagiSugeno = new RuleBlock;
+takagiSugeno->setName("takagiSugeno");
+takagiSugeno->setDescription("");
+takagiSugeno->setEnabled(true);
+takagiSugeno->setConjunction(fl::null);
+takagiSugeno->setDisjunction(fl::null);
+takagiSugeno->setImplication(fl::null);
+takagiSugeno->setActivation(new General);
+takagiSugeno->addRule(Rule::parse("if obstacle is left then tsSteer is right", engine));
+takagiSugeno->addRule(Rule::parse("if obstacle is right then tsSteer is left", engine));
+engine->addRuleBlock(takagiSugeno);
+
+
+}
diff --git a/examples/takagi-sugeno/ObstacleAvoidance.fcl b/examples/takagi-sugeno/ObstacleAvoidance.fcl
new file mode 100644
index 0000000..fc4348b
--- /dev/null
+++ b/examples/takagi-sugeno/ObstacleAvoidance.fcl
@@ -0,0 +1,33 @@
+//Code automatically generated with fuzzylite 6.0.
+
+FUNCTION_BLOCK ObstacleAvoidance
+
+VAR_INPUT
+ obstacle: REAL;
+END_VAR
+
+VAR_OUTPUT
+ tsSteer: REAL;
+END_VAR
+
+FUZZIFY obstacle
+ RANGE := (0.000 .. 1.000);
+ TERM left := Ramp 1.000 0.000;
+ TERM right := Ramp 0.000 1.000;
+END_FUZZIFY
+
+DEFUZZIFY tsSteer
+ RANGE := (0.000 .. 1.000);
+ TERM left := 0.333;
+ TERM right := 0.666;
+ METHOD : COGS;
+ ACCU : MAX;
+ DEFAULT := nan;
+END_DEFUZZIFY
+
+RULEBLOCK takagiSugeno
+ RULE 1 : if obstacle is left then tsSteer is right
+ RULE 2 : if obstacle is right then tsSteer is left
+END_RULEBLOCK
+
+END_FUNCTION_BLOCK
diff --git a/examples/takagi-sugeno/ObstacleAvoidance.fis b/examples/takagi-sugeno/ObstacleAvoidance.fis
new file mode 100644
index 0000000..16c5791
--- /dev/null
+++ b/examples/takagi-sugeno/ObstacleAvoidance.fis
@@ -0,0 +1,32 @@
+#Code automatically generated with fuzzylite 6.0.
+
+[System]
+Name='ObstacleAvoidance'
+Type='sugeno'
+Version=6.0
+NumInputs=1
+NumOutputs=1
+NumRules=2
+AndMethod='min'
+OrMethod='max'
+ImpMethod='min'
+AggMethod='max'
+DefuzzMethod='wtaver'
+
+[Input1]
+Name='obstacle'
+Range=[0.000 1.000]
+NumMFs=2
+MF1='left':'rampmf',[1.000 0.000]
+MF2='right':'rampmf',[0.000 1.000]
+
+[Output1]
+Name='tsSteer'
+Range=[0.000 1.000]
+NumMFs=2
+MF1='left':'constant',[0.333]
+MF2='right':'constant',[0.666]
+
+[Rules]
+1.000 , 2.000 (1.000) : 1
+2.000 , 1.000 (1.000) : 1
diff --git a/examples/takagi-sugeno/ObstacleAvoidance.fld b/examples/takagi-sugeno/ObstacleAvoidance.fld
new file mode 100644
index 0000000..00467f3
--- /dev/null
+++ b/examples/takagi-sugeno/ObstacleAvoidance.fld
@@ -0,0 +1,1025 @@
+obstacle tsSteer
+0.000000000 0.666000000
+0.000977517 0.665674487
+0.001955034 0.665348974
+0.002932551 0.665023460
+0.003910068 0.664697947
+0.004887586 0.664372434
+0.005865103 0.664046921
+0.006842620 0.663721408
+0.007820137 0.663395894
+0.008797654 0.663070381
+0.009775171 0.662744868
+0.010752688 0.662419355
+0.011730205 0.662093842
+0.012707722 0.661768328
+0.013685239 0.661442815
+0.014662757 0.661117302
+0.015640274 0.660791789
+0.016617791 0.660466276
+0.017595308 0.660140762
+0.018572825 0.659815249
+0.019550342 0.659489736
+0.020527859 0.659164223
+0.021505376 0.658838710
+0.022482893 0.658513196
+0.023460411 0.658187683
+0.024437928 0.657862170
+0.025415445 0.657536657
+0.026392962 0.657211144
+0.027370479 0.656885630
+0.028347996 0.656560117
+0.029325513 0.656234604
+0.030303030 0.655909091
+0.031280547 0.655583578
+0.032258065 0.655258065
+0.033235582 0.654932551
+0.034213099 0.654607038
+0.035190616 0.654281525
+0.036168133 0.653956012
+0.037145650 0.653630499
+0.038123167 0.653304985
+0.039100684 0.652979472
+0.040078201 0.652653959
+0.041055718 0.652328446
+0.042033236 0.652002933
+0.043010753 0.651677419
+0.043988270 0.651351906
+0.044965787 0.651026393
+0.045943304 0.650700880
+0.046920821 0.650375367
+0.047898338 0.650049853
+0.048875855 0.649724340
+0.049853372 0.649398827
+0.050830890 0.649073314
+0.051808407 0.648747801
+0.052785924 0.648422287
+0.053763441 0.648096774
+0.054740958 0.647771261
+0.055718475 0.647445748
+0.056695992 0.647120235
+0.057673509 0.646794721
+0.058651026 0.646469208
+0.059628543 0.646143695
+0.060606061 0.645818182
+0.061583578 0.645492669
+0.062561095 0.645167155
+0.063538612 0.644841642
+0.064516129 0.644516129
+0.065493646 0.644190616
+0.066471163 0.643865103
+0.067448680 0.643539589
+0.068426197 0.643214076
+0.069403715 0.642888563
+0.070381232 0.642563050
+0.071358749 0.642237537
+0.072336266 0.641912023
+0.073313783 0.641586510
+0.074291300 0.641260997
+0.075268817 0.640935484
+0.076246334 0.640609971
+0.077223851 0.640284457
+0.078201369 0.639958944
+0.079178886 0.639633431
+0.080156403 0.639307918
+0.081133920 0.638982405
+0.082111437 0.638656891
+0.083088954 0.638331378
+0.084066471 0.638005865
+0.085043988 0.637680352
+0.086021505 0.637354839
+0.086999022 0.637029326
+0.087976540 0.636703812
+0.088954057 0.636378299
+0.089931574 0.636052786
+0.090909091 0.635727273
+0.091886608 0.635401760
+0.092864125 0.635076246
+0.093841642 0.634750733
+0.094819159 0.634425220
+0.095796676 0.634099707
+0.096774194 0.633774194
+0.097751711 0.633448680
+0.098729228 0.633123167
+0.099706745 0.632797654
+0.100684262 0.632472141
+0.101661779 0.632146628
+0.102639296 0.631821114
+0.103616813 0.631495601
+0.104594330 0.631170088
+0.105571848 0.630844575
+0.106549365 0.630519062
+0.107526882 0.630193548
+0.108504399 0.629868035
+0.109481916 0.629542522
+0.110459433 0.629217009
+0.111436950 0.628891496
+0.112414467 0.628565982
+0.113391984 0.628240469
+0.114369501 0.627914956
+0.115347019 0.627589443
+0.116324536 0.627263930
+0.117302053 0.626938416
+0.118279570 0.626612903
+0.119257087 0.626287390
+0.120234604 0.625961877
+0.121212121 0.625636364
+0.122189638 0.625310850
+0.123167155 0.624985337
+0.124144673 0.624659824
+0.125122190 0.624334311
+0.126099707 0.624008798
+0.127077224 0.623683284
+0.128054741 0.623357771
+0.129032258 0.623032258
+0.130009775 0.622706745
+0.130987292 0.622381232
+0.131964809 0.622055718
+0.132942326 0.621730205
+0.133919844 0.621404692
+0.134897361 0.621079179
+0.135874878 0.620753666
+0.136852395 0.620428152
+0.137829912 0.620102639
+0.138807429 0.619777126
+0.139784946 0.619451613
+0.140762463 0.619126100
+0.141739980 0.618800587
+0.142717498 0.618475073
+0.143695015 0.618149560
+0.144672532 0.617824047
+0.145650049 0.617498534
+0.146627566 0.617173021
+0.147605083 0.616847507
+0.148582600 0.616521994
+0.149560117 0.616196481
+0.150537634 0.615870968
+0.151515152 0.615545455
+0.152492669 0.615219941
+0.153470186 0.614894428
+0.154447703 0.614568915
+0.155425220 0.614243402
+0.156402737 0.613917889
+0.157380254 0.613592375
+0.158357771 0.613266862
+0.159335288 0.612941349
+0.160312805 0.612615836
+0.161290323 0.612290323
+0.162267840 0.611964809
+0.163245357 0.611639296
+0.164222874 0.611313783
+0.165200391 0.610988270
+0.166177908 0.610662757
+0.167155425 0.610337243
+0.168132942 0.610011730
+0.169110459 0.609686217
+0.170087977 0.609360704
+0.171065494 0.609035191
+0.172043011 0.608709677
+0.173020528 0.608384164
+0.173998045 0.608058651
+0.174975562 0.607733138
+0.175953079 0.607407625
+0.176930596 0.607082111
+0.177908113 0.606756598
+0.178885630 0.606431085
+0.179863148 0.606105572
+0.180840665 0.605780059
+0.181818182 0.605454545
+0.182795699 0.605129032
+0.183773216 0.604803519
+0.184750733 0.604478006
+0.185728250 0.604152493
+0.186705767 0.603826979
+0.187683284 0.603501466
+0.188660802 0.603175953
+0.189638319 0.602850440
+0.190615836 0.602524927
+0.191593353 0.602199413
+0.192570870 0.601873900
+0.193548387 0.601548387
+0.194525904 0.601222874
+0.195503421 0.600897361
+0.196480938 0.600571848
+0.197458456 0.600246334
+0.198435973 0.599920821
+0.199413490 0.599595308
+0.200391007 0.599269795
+0.201368524 0.598944282
+0.202346041 0.598618768
+0.203323558 0.598293255
+0.204301075 0.597967742
+0.205278592 0.597642229
+0.206256109 0.597316716
+0.207233627 0.596991202
+0.208211144 0.596665689
+0.209188661 0.596340176
+0.210166178 0.596014663
+0.211143695 0.595689150
+0.212121212 0.595363636
+0.213098729 0.595038123
+0.214076246 0.594712610
+0.215053763 0.594387097
+0.216031281 0.594061584
+0.217008798 0.593736070
+0.217986315 0.593410557
+0.218963832 0.593085044
+0.219941349 0.592759531
+0.220918866 0.592434018
+0.221896383 0.592108504
+0.222873900 0.591782991
+0.223851417 0.591457478
+0.224828935 0.591131965
+0.225806452 0.590806452
+0.226783969 0.590480938
+0.227761486 0.590155425
+0.228739003 0.589829912
+0.229716520 0.589504399
+0.230694037 0.589178886
+0.231671554 0.588853372
+0.232649071 0.588527859
+0.233626588 0.588202346
+0.234604106 0.587876833
+0.235581623 0.587551320
+0.236559140 0.587225806
+0.237536657 0.586900293
+0.238514174 0.586574780
+0.239491691 0.586249267
+0.240469208 0.585923754
+0.241446725 0.585598240
+0.242424242 0.585272727
+0.243401760 0.584947214
+0.244379277 0.584621701
+0.245356794 0.584296188
+0.246334311 0.583970674
+0.247311828 0.583645161
+0.248289345 0.583319648
+0.249266862 0.582994135
+0.250244379 0.582668622
+0.251221896 0.582343109
+0.252199413 0.582017595
+0.253176931 0.581692082
+0.254154448 0.581366569
+0.255131965 0.581041056
+0.256109482 0.580715543
+0.257086999 0.580390029
+0.258064516 0.580064516
+0.259042033 0.579739003
+0.260019550 0.579413490
+0.260997067 0.579087977
+0.261974585 0.578762463
+0.262952102 0.578436950
+0.263929619 0.578111437
+0.264907136 0.577785924
+0.265884653 0.577460411
+0.266862170 0.577134897
+0.267839687 0.576809384
+0.268817204 0.576483871
+0.269794721 0.576158358
+0.270772239 0.575832845
+0.271749756 0.575507331
+0.272727273 0.575181818
+0.273704790 0.574856305
+0.274682307 0.574530792
+0.275659824 0.574205279
+0.276637341 0.573879765
+0.277614858 0.573554252
+0.278592375 0.573228739
+0.279569892 0.572903226
+0.280547410 0.572577713
+0.281524927 0.572252199
+0.282502444 0.571926686
+0.283479961 0.571601173
+0.284457478 0.571275660
+0.285434995 0.570950147
+0.286412512 0.570624633
+0.287390029 0.570299120
+0.288367546 0.569973607
+0.289345064 0.569648094
+0.290322581 0.569322581
+0.291300098 0.568997067
+0.292277615 0.568671554
+0.293255132 0.568346041
+0.294232649 0.568020528
+0.295210166 0.567695015
+0.296187683 0.567369501
+0.297165200 0.567043988
+0.298142717 0.566718475
+0.299120235 0.566392962
+0.300097752 0.566067449
+0.301075269 0.565741935
+0.302052786 0.565416422
+0.303030303 0.565090909
+0.304007820 0.564765396
+0.304985337 0.564439883
+0.305962854 0.564114370
+0.306940371 0.563788856
+0.307917889 0.563463343
+0.308895406 0.563137830
+0.309872923 0.562812317
+0.310850440 0.562486804
+0.311827957 0.562161290
+0.312805474 0.561835777
+0.313782991 0.561510264
+0.314760508 0.561184751
+0.315738025 0.560859238
+0.316715543 0.560533724
+0.317693060 0.560208211
+0.318670577 0.559882698
+0.319648094 0.559557185
+0.320625611 0.559231672
+0.321603128 0.558906158
+0.322580645 0.558580645
+0.323558162 0.558255132
+0.324535679 0.557929619
+0.325513196 0.557604106
+0.326490714 0.557278592
+0.327468231 0.556953079
+0.328445748 0.556627566
+0.329423265 0.556302053
+0.330400782 0.555976540
+0.331378299 0.555651026
+0.332355816 0.555325513
+0.333333333 0.555000000
+0.334310850 0.554674487
+0.335288368 0.554348974
+0.336265885 0.554023460
+0.337243402 0.553697947
+0.338220919 0.553372434
+0.339198436 0.553046921
+0.340175953 0.552721408
+0.341153470 0.552395894
+0.342130987 0.552070381
+0.343108504 0.551744868
+0.344086022 0.551419355
+0.345063539 0.551093842
+0.346041056 0.550768328
+0.347018573 0.550442815
+0.347996090 0.550117302
+0.348973607 0.549791789
+0.349951124 0.549466276
+0.350928641 0.549140762
+0.351906158 0.548815249
+0.352883675 0.548489736
+0.353861193 0.548164223
+0.354838710 0.547838710
+0.355816227 0.547513196
+0.356793744 0.547187683
+0.357771261 0.546862170
+0.358748778 0.546536657
+0.359726295 0.546211144
+0.360703812 0.545885630
+0.361681329 0.545560117
+0.362658847 0.545234604
+0.363636364 0.544909091
+0.364613881 0.544583578
+0.365591398 0.544258065
+0.366568915 0.543932551
+0.367546432 0.543607038
+0.368523949 0.543281525
+0.369501466 0.542956012
+0.370478983 0.542630499
+0.371456500 0.542304985
+0.372434018 0.541979472
+0.373411535 0.541653959
+0.374389052 0.541328446
+0.375366569 0.541002933
+0.376344086 0.540677419
+0.377321603 0.540351906
+0.378299120 0.540026393
+0.379276637 0.539700880
+0.380254154 0.539375367
+0.381231672 0.539049853
+0.382209189 0.538724340
+0.383186706 0.538398827
+0.384164223 0.538073314
+0.385141740 0.537747801
+0.386119257 0.537422287
+0.387096774 0.537096774
+0.388074291 0.536771261
+0.389051808 0.536445748
+0.390029326 0.536120235
+0.391006843 0.535794721
+0.391984360 0.535469208
+0.392961877 0.535143695
+0.393939394 0.534818182
+0.394916911 0.534492669
+0.395894428 0.534167155
+0.396871945 0.533841642
+0.397849462 0.533516129
+0.398826979 0.533190616
+0.399804497 0.532865103
+0.400782014 0.532539589
+0.401759531 0.532214076
+0.402737048 0.531888563
+0.403714565 0.531563050
+0.404692082 0.531237537
+0.405669599 0.530912023
+0.406647116 0.530586510
+0.407624633 0.530260997
+0.408602151 0.529935484
+0.409579668 0.529609971
+0.410557185 0.529284457
+0.411534702 0.528958944
+0.412512219 0.528633431
+0.413489736 0.528307918
+0.414467253 0.527982405
+0.415444770 0.527656891
+0.416422287 0.527331378
+0.417399804 0.527005865
+0.418377322 0.526680352
+0.419354839 0.526354839
+0.420332356 0.526029326
+0.421309873 0.525703812
+0.422287390 0.525378299
+0.423264907 0.525052786
+0.424242424 0.524727273
+0.425219941 0.524401760
+0.426197458 0.524076246
+0.427174976 0.523750733
+0.428152493 0.523425220
+0.429130010 0.523099707
+0.430107527 0.522774194
+0.431085044 0.522448680
+0.432062561 0.522123167
+0.433040078 0.521797654
+0.434017595 0.521472141
+0.434995112 0.521146628
+0.435972630 0.520821114
+0.436950147 0.520495601
+0.437927664 0.520170088
+0.438905181 0.519844575
+0.439882698 0.519519062
+0.440860215 0.519193548
+0.441837732 0.518868035
+0.442815249 0.518542522
+0.443792766 0.518217009
+0.444770283 0.517891496
+0.445747801 0.517565982
+0.446725318 0.517240469
+0.447702835 0.516914956
+0.448680352 0.516589443
+0.449657869 0.516263930
+0.450635386 0.515938416
+0.451612903 0.515612903
+0.452590420 0.515287390
+0.453567937 0.514961877
+0.454545455 0.514636364
+0.455522972 0.514310850
+0.456500489 0.513985337
+0.457478006 0.513659824
+0.458455523 0.513334311
+0.459433040 0.513008798
+0.460410557 0.512683284
+0.461388074 0.512357771
+0.462365591 0.512032258
+0.463343109 0.511706745
+0.464320626 0.511381232
+0.465298143 0.511055718
+0.466275660 0.510730205
+0.467253177 0.510404692
+0.468230694 0.510079179
+0.469208211 0.509753666
+0.470185728 0.509428152
+0.471163245 0.509102639
+0.472140762 0.508777126
+0.473118280 0.508451613
+0.474095797 0.508126100
+0.475073314 0.507800587
+0.476050831 0.507475073
+0.477028348 0.507149560
+0.478005865 0.506824047
+0.478983382 0.506498534
+0.479960899 0.506173021
+0.480938416 0.505847507
+0.481915934 0.505521994
+0.482893451 0.505196481
+0.483870968 0.504870968
+0.484848485 0.504545455
+0.485826002 0.504219941
+0.486803519 0.503894428
+0.487781036 0.503568915
+0.488758553 0.503243402
+0.489736070 0.502917889
+0.490713587 0.502592375
+0.491691105 0.502266862
+0.492668622 0.501941349
+0.493646139 0.501615836
+0.494623656 0.501290323
+0.495601173 0.500964809
+0.496578690 0.500639296
+0.497556207 0.500313783
+0.498533724 0.499988270
+0.499511241 0.499662757
+0.500488759 0.499337243
+0.501466276 0.499011730
+0.502443793 0.498686217
+0.503421310 0.498360704
+0.504398827 0.498035191
+0.505376344 0.497709677
+0.506353861 0.497384164
+0.507331378 0.497058651
+0.508308895 0.496733138
+0.509286413 0.496407625
+0.510263930 0.496082111
+0.511241447 0.495756598
+0.512218964 0.495431085
+0.513196481 0.495105572
+0.514173998 0.494780059
+0.515151515 0.494454545
+0.516129032 0.494129032
+0.517106549 0.493803519
+0.518084066 0.493478006
+0.519061584 0.493152493
+0.520039101 0.492826979
+0.521016618 0.492501466
+0.521994135 0.492175953
+0.522971652 0.491850440
+0.523949169 0.491524927
+0.524926686 0.491199413
+0.525904203 0.490873900
+0.526881720 0.490548387
+0.527859238 0.490222874
+0.528836755 0.489897361
+0.529814272 0.489571848
+0.530791789 0.489246334
+0.531769306 0.488920821
+0.532746823 0.488595308
+0.533724340 0.488269795
+0.534701857 0.487944282
+0.535679374 0.487618768
+0.536656891 0.487293255
+0.537634409 0.486967742
+0.538611926 0.486642229
+0.539589443 0.486316716
+0.540566960 0.485991202
+0.541544477 0.485665689
+0.542521994 0.485340176
+0.543499511 0.485014663
+0.544477028 0.484689150
+0.545454545 0.484363636
+0.546432063 0.484038123
+0.547409580 0.483712610
+0.548387097 0.483387097
+0.549364614 0.483061584
+0.550342131 0.482736070
+0.551319648 0.482410557
+0.552297165 0.482085044
+0.553274682 0.481759531
+0.554252199 0.481434018
+0.555229717 0.481108504
+0.556207234 0.480782991
+0.557184751 0.480457478
+0.558162268 0.480131965
+0.559139785 0.479806452
+0.560117302 0.479480938
+0.561094819 0.479155425
+0.562072336 0.478829912
+0.563049853 0.478504399
+0.564027370 0.478178886
+0.565004888 0.477853372
+0.565982405 0.477527859
+0.566959922 0.477202346
+0.567937439 0.476876833
+0.568914956 0.476551320
+0.569892473 0.476225806
+0.570869990 0.475900293
+0.571847507 0.475574780
+0.572825024 0.475249267
+0.573802542 0.474923754
+0.574780059 0.474598240
+0.575757576 0.474272727
+0.576735093 0.473947214
+0.577712610 0.473621701
+0.578690127 0.473296188
+0.579667644 0.472970674
+0.580645161 0.472645161
+0.581622678 0.472319648
+0.582600196 0.471994135
+0.583577713 0.471668622
+0.584555230 0.471343109
+0.585532747 0.471017595
+0.586510264 0.470692082
+0.587487781 0.470366569
+0.588465298 0.470041056
+0.589442815 0.469715543
+0.590420332 0.469390029
+0.591397849 0.469064516
+0.592375367 0.468739003
+0.593352884 0.468413490
+0.594330401 0.468087977
+0.595307918 0.467762463
+0.596285435 0.467436950
+0.597262952 0.467111437
+0.598240469 0.466785924
+0.599217986 0.466460411
+0.600195503 0.466134897
+0.601173021 0.465809384
+0.602150538 0.465483871
+0.603128055 0.465158358
+0.604105572 0.464832845
+0.605083089 0.464507331
+0.606060606 0.464181818
+0.607038123 0.463856305
+0.608015640 0.463530792
+0.608993157 0.463205279
+0.609970674 0.462879765
+0.610948192 0.462554252
+0.611925709 0.462228739
+0.612903226 0.461903226
+0.613880743 0.461577713
+0.614858260 0.461252199
+0.615835777 0.460926686
+0.616813294 0.460601173
+0.617790811 0.460275660
+0.618768328 0.459950147
+0.619745846 0.459624633
+0.620723363 0.459299120
+0.621700880 0.458973607
+0.622678397 0.458648094
+0.623655914 0.458322581
+0.624633431 0.457997067
+0.625610948 0.457671554
+0.626588465 0.457346041
+0.627565982 0.457020528
+0.628543500 0.456695015
+0.629521017 0.456369501
+0.630498534 0.456043988
+0.631476051 0.455718475
+0.632453568 0.455392962
+0.633431085 0.455067449
+0.634408602 0.454741935
+0.635386119 0.454416422
+0.636363636 0.454090909
+0.637341153 0.453765396
+0.638318671 0.453439883
+0.639296188 0.453114370
+0.640273705 0.452788856
+0.641251222 0.452463343
+0.642228739 0.452137830
+0.643206256 0.451812317
+0.644183773 0.451486804
+0.645161290 0.451161290
+0.646138807 0.450835777
+0.647116325 0.450510264
+0.648093842 0.450184751
+0.649071359 0.449859238
+0.650048876 0.449533724
+0.651026393 0.449208211
+0.652003910 0.448882698
+0.652981427 0.448557185
+0.653958944 0.448231672
+0.654936461 0.447906158
+0.655913978 0.447580645
+0.656891496 0.447255132
+0.657869013 0.446929619
+0.658846530 0.446604106
+0.659824047 0.446278592
+0.660801564 0.445953079
+0.661779081 0.445627566
+0.662756598 0.445302053
+0.663734115 0.444976540
+0.664711632 0.444651026
+0.665689150 0.444325513
+0.666666667 0.444000000
+0.667644184 0.443674487
+0.668621701 0.443348974
+0.669599218 0.443023460
+0.670576735 0.442697947
+0.671554252 0.442372434
+0.672531769 0.442046921
+0.673509286 0.441721408
+0.674486804 0.441395894
+0.675464321 0.441070381
+0.676441838 0.440744868
+0.677419355 0.440419355
+0.678396872 0.440093842
+0.679374389 0.439768328
+0.680351906 0.439442815
+0.681329423 0.439117302
+0.682306940 0.438791789
+0.683284457 0.438466276
+0.684261975 0.438140762
+0.685239492 0.437815249
+0.686217009 0.437489736
+0.687194526 0.437164223
+0.688172043 0.436838710
+0.689149560 0.436513196
+0.690127077 0.436187683
+0.691104594 0.435862170
+0.692082111 0.435536657
+0.693059629 0.435211144
+0.694037146 0.434885630
+0.695014663 0.434560117
+0.695992180 0.434234604
+0.696969697 0.433909091
+0.697947214 0.433583578
+0.698924731 0.433258065
+0.699902248 0.432932551
+0.700879765 0.432607038
+0.701857283 0.432281525
+0.702834800 0.431956012
+0.703812317 0.431630499
+0.704789834 0.431304985
+0.705767351 0.430979472
+0.706744868 0.430653959
+0.707722385 0.430328446
+0.708699902 0.430002933
+0.709677419 0.429677419
+0.710654936 0.429351906
+0.711632454 0.429026393
+0.712609971 0.428700880
+0.713587488 0.428375367
+0.714565005 0.428049853
+0.715542522 0.427724340
+0.716520039 0.427398827
+0.717497556 0.427073314
+0.718475073 0.426747801
+0.719452590 0.426422287
+0.720430108 0.426096774
+0.721407625 0.425771261
+0.722385142 0.425445748
+0.723362659 0.425120235
+0.724340176 0.424794721
+0.725317693 0.424469208
+0.726295210 0.424143695
+0.727272727 0.423818182
+0.728250244 0.423492669
+0.729227761 0.423167155
+0.730205279 0.422841642
+0.731182796 0.422516129
+0.732160313 0.422190616
+0.733137830 0.421865103
+0.734115347 0.421539589
+0.735092864 0.421214076
+0.736070381 0.420888563
+0.737047898 0.420563050
+0.738025415 0.420237537
+0.739002933 0.419912023
+0.739980450 0.419586510
+0.740957967 0.419260997
+0.741935484 0.418935484
+0.742913001 0.418609971
+0.743890518 0.418284457
+0.744868035 0.417958944
+0.745845552 0.417633431
+0.746823069 0.417307918
+0.747800587 0.416982405
+0.748778104 0.416656891
+0.749755621 0.416331378
+0.750733138 0.416005865
+0.751710655 0.415680352
+0.752688172 0.415354839
+0.753665689 0.415029326
+0.754643206 0.414703812
+0.755620723 0.414378299
+0.756598240 0.414052786
+0.757575758 0.413727273
+0.758553275 0.413401760
+0.759530792 0.413076246
+0.760508309 0.412750733
+0.761485826 0.412425220
+0.762463343 0.412099707
+0.763440860 0.411774194
+0.764418377 0.411448680
+0.765395894 0.411123167
+0.766373412 0.410797654
+0.767350929 0.410472141
+0.768328446 0.410146628
+0.769305963 0.409821114
+0.770283480 0.409495601
+0.771260997 0.409170088
+0.772238514 0.408844575
+0.773216031 0.408519062
+0.774193548 0.408193548
+0.775171065 0.407868035
+0.776148583 0.407542522
+0.777126100 0.407217009
+0.778103617 0.406891496
+0.779081134 0.406565982
+0.780058651 0.406240469
+0.781036168 0.405914956
+0.782013685 0.405589443
+0.782991202 0.405263930
+0.783968719 0.404938416
+0.784946237 0.404612903
+0.785923754 0.404287390
+0.786901271 0.403961877
+0.787878788 0.403636364
+0.788856305 0.403310850
+0.789833822 0.402985337
+0.790811339 0.402659824
+0.791788856 0.402334311
+0.792766373 0.402008798
+0.793743891 0.401683284
+0.794721408 0.401357771
+0.795698925 0.401032258
+0.796676442 0.400706745
+0.797653959 0.400381232
+0.798631476 0.400055718
+0.799608993 0.399730205
+0.800586510 0.399404692
+0.801564027 0.399079179
+0.802541544 0.398753666
+0.803519062 0.398428152
+0.804496579 0.398102639
+0.805474096 0.397777126
+0.806451613 0.397451613
+0.807429130 0.397126100
+0.808406647 0.396800587
+0.809384164 0.396475073
+0.810361681 0.396149560
+0.811339198 0.395824047
+0.812316716 0.395498534
+0.813294233 0.395173021
+0.814271750 0.394847507
+0.815249267 0.394521994
+0.816226784 0.394196481
+0.817204301 0.393870968
+0.818181818 0.393545455
+0.819159335 0.393219941
+0.820136852 0.392894428
+0.821114370 0.392568915
+0.822091887 0.392243402
+0.823069404 0.391917889
+0.824046921 0.391592375
+0.825024438 0.391266862
+0.826001955 0.390941349
+0.826979472 0.390615836
+0.827956989 0.390290323
+0.828934506 0.389964809
+0.829912023 0.389639296
+0.830889541 0.389313783
+0.831867058 0.388988270
+0.832844575 0.388662757
+0.833822092 0.388337243
+0.834799609 0.388011730
+0.835777126 0.387686217
+0.836754643 0.387360704
+0.837732160 0.387035191
+0.838709677 0.386709677
+0.839687195 0.386384164
+0.840664712 0.386058651
+0.841642229 0.385733138
+0.842619746 0.385407625
+0.843597263 0.385082111
+0.844574780 0.384756598
+0.845552297 0.384431085
+0.846529814 0.384105572
+0.847507331 0.383780059
+0.848484848 0.383454545
+0.849462366 0.383129032
+0.850439883 0.382803519
+0.851417400 0.382478006
+0.852394917 0.382152493
+0.853372434 0.381826979
+0.854349951 0.381501466
+0.855327468 0.381175953
+0.856304985 0.380850440
+0.857282502 0.380524927
+0.858260020 0.380199413
+0.859237537 0.379873900
+0.860215054 0.379548387
+0.861192571 0.379222874
+0.862170088 0.378897361
+0.863147605 0.378571848
+0.864125122 0.378246334
+0.865102639 0.377920821
+0.866080156 0.377595308
+0.867057674 0.377269795
+0.868035191 0.376944282
+0.869012708 0.376618768
+0.869990225 0.376293255
+0.870967742 0.375967742
+0.871945259 0.375642229
+0.872922776 0.375316716
+0.873900293 0.374991202
+0.874877810 0.374665689
+0.875855327 0.374340176
+0.876832845 0.374014663
+0.877810362 0.373689150
+0.878787879 0.373363636
+0.879765396 0.373038123
+0.880742913 0.372712610
+0.881720430 0.372387097
+0.882697947 0.372061584
+0.883675464 0.371736070
+0.884652981 0.371410557
+0.885630499 0.371085044
+0.886608016 0.370759531
+0.887585533 0.370434018
+0.888563050 0.370108504
+0.889540567 0.369782991
+0.890518084 0.369457478
+0.891495601 0.369131965
+0.892473118 0.368806452
+0.893450635 0.368480938
+0.894428152 0.368155425
+0.895405670 0.367829912
+0.896383187 0.367504399
+0.897360704 0.367178886
+0.898338221 0.366853372
+0.899315738 0.366527859
+0.900293255 0.366202346
+0.901270772 0.365876833
+0.902248289 0.365551320
+0.903225806 0.365225806
+0.904203324 0.364900293
+0.905180841 0.364574780
+0.906158358 0.364249267
+0.907135875 0.363923754
+0.908113392 0.363598240
+0.909090909 0.363272727
+0.910068426 0.362947214
+0.911045943 0.362621701
+0.912023460 0.362296188
+0.913000978 0.361970674
+0.913978495 0.361645161
+0.914956012 0.361319648
+0.915933529 0.360994135
+0.916911046 0.360668622
+0.917888563 0.360343109
+0.918866080 0.360017595
+0.919843597 0.359692082
+0.920821114 0.359366569
+0.921798631 0.359041056
+0.922776149 0.358715543
+0.923753666 0.358390029
+0.924731183 0.358064516
+0.925708700 0.357739003
+0.926686217 0.357413490
+0.927663734 0.357087977
+0.928641251 0.356762463
+0.929618768 0.356436950
+0.930596285 0.356111437
+0.931573803 0.355785924
+0.932551320 0.355460411
+0.933528837 0.355134897
+0.934506354 0.354809384
+0.935483871 0.354483871
+0.936461388 0.354158358
+0.937438905 0.353832845
+0.938416422 0.353507331
+0.939393939 0.353181818
+0.940371457 0.352856305
+0.941348974 0.352530792
+0.942326491 0.352205279
+0.943304008 0.351879765
+0.944281525 0.351554252
+0.945259042 0.351228739
+0.946236559 0.350903226
+0.947214076 0.350577713
+0.948191593 0.350252199
+0.949169110 0.349926686
+0.950146628 0.349601173
+0.951124145 0.349275660
+0.952101662 0.348950147
+0.953079179 0.348624633
+0.954056696 0.348299120
+0.955034213 0.347973607
+0.956011730 0.347648094
+0.956989247 0.347322581
+0.957966764 0.346997067
+0.958944282 0.346671554
+0.959921799 0.346346041
+0.960899316 0.346020528
+0.961876833 0.345695015
+0.962854350 0.345369501
+0.963831867 0.345043988
+0.964809384 0.344718475
+0.965786901 0.344392962
+0.966764418 0.344067449
+0.967741935 0.343741935
+0.968719453 0.343416422
+0.969696970 0.343090909
+0.970674487 0.342765396
+0.971652004 0.342439883
+0.972629521 0.342114370
+0.973607038 0.341788856
+0.974584555 0.341463343
+0.975562072 0.341137830
+0.976539589 0.340812317
+0.977517107 0.340486804
+0.978494624 0.340161290
+0.979472141 0.339835777
+0.980449658 0.339510264
+0.981427175 0.339184751
+0.982404692 0.338859238
+0.983382209 0.338533724
+0.984359726 0.338208211
+0.985337243 0.337882698
+0.986314761 0.337557185
+0.987292278 0.337231672
+0.988269795 0.336906158
+0.989247312 0.336580645
+0.990224829 0.336255132
+0.991202346 0.335929619
+0.992179863 0.335604106
+0.993157380 0.335278592
+0.994134897 0.334953079
+0.995112414 0.334627566
+0.996089932 0.334302053
+0.997067449 0.333976540
+0.998044966 0.333651026
+0.999022483 0.333325513
+1.000000000 0.333000000
diff --git a/examples/takagi-sugeno/ObstacleAvoidance.fll b/examples/takagi-sugeno/ObstacleAvoidance.fll
new file mode 100644
index 0000000..10b53f4
--- /dev/null
+++ b/examples/takagi-sugeno/ObstacleAvoidance.fll
@@ -0,0 +1,25 @@
+Engine: ObstacleAvoidance
+InputVariable: obstacle
+ enabled: true
+ range: 0.000 1.000
+ lock-range: false
+ term: left Ramp 1.000 0.000
+ term: right Ramp 0.000 1.000
+OutputVariable: tsSteer
+ enabled: true
+ range: 0.000 1.000
+ lock-range: false
+ aggregation: Maximum
+ defuzzifier: WeightedAverage Automatic
+ default: nan
+ lock-previous: false
+ term: left Constant 0.333
+ term: right Constant 0.666
+RuleBlock: takagiSugeno
+ enabled: true
+ conjunction: none
+ disjunction: none
+ implication: none
+ activation: General
+ rule: if obstacle is left then tsSteer is right
+ rule: if obstacle is right then tsSteer is left \ No newline at end of file
diff --git a/examples/takagi-sugeno/ObstacleAvoidance.java b/examples/takagi-sugeno/ObstacleAvoidance.java
new file mode 100644
index 0000000..c7c7f67
--- /dev/null
+++ b/examples/takagi-sugeno/ObstacleAvoidance.java
@@ -0,0 +1,60 @@
+import com.fuzzylite.*;
+import com.fuzzylite.activation.*
+import com.fuzzylite.defuzzifier.*;
+import com.fuzzylite.factory.*;
+import com.fuzzylite.hedge.*;
+import com.fuzzylite.imex.*;
+import com.fuzzylite.norm.*;
+import com.fuzzylite.norm.s.*;
+import com.fuzzylite.norm.t.*;
+import com.fuzzylite.rule.*;
+import com.fuzzylite.term.*;
+import com.fuzzylite.variable.*;
+
+public class ObstacleAvoidance{
+public static void main(String[] args){
+//Code automatically generated with fuzzylite 6.0.
+
+Engine engine = new Engine();
+engine.setName("ObstacleAvoidance");
+engine.setDescription("");
+
+InputVariable obstacle = new InputVariable();
+obstacle.setName("obstacle");
+obstacle.setDescription("");
+obstacle.setEnabled(true);
+obstacle.setRange(0.000, 1.000);
+obstacle.setLockValueInRange(false);
+obstacle.addTerm(new Ramp("left", 1.000, 0.000));
+obstacle.addTerm(new Ramp("right", 0.000, 1.000));
+engine.addInputVariable(obstacle);
+
+OutputVariable tsSteer = new OutputVariable();
+tsSteer.setName("tsSteer");
+tsSteer.setDescription("");
+tsSteer.setEnabled(true);
+tsSteer.setRange(0.000, 1.000);
+tsSteer.setLockValueInRange(false);
+tsSteer.setAggregation(new Maximum());
+tsSteer.setDefuzzifier(new WeightedAverage("Automatic"));
+tsSteer.setDefaultValue(Double.NaN);
+tsSteer.setLockPreviousValue(false);
+tsSteer.addTerm(new Constant("left", 0.333));
+tsSteer.addTerm(new Constant("right", 0.666));
+engine.addOutputVariable(tsSteer);
+
+RuleBlock takagiSugeno = new RuleBlock();
+takagiSugeno.setName("takagiSugeno");
+takagiSugeno.setDescription("");
+takagiSugeno.setEnabled(true);
+takagiSugeno.setConjunction(null);
+takagiSugeno.setDisjunction(null);
+takagiSugeno.setImplication(null);
+takagiSugeno.setActivation(new General());
+takagiSugeno.addRule(Rule.parse("if obstacle is left then tsSteer is right", engine));
+takagiSugeno.addRule(Rule.parse("if obstacle is right then tsSteer is left", engine));
+engine.addRuleBlock(takagiSugeno);
+
+
+}
+}
diff --git a/examples/takagi-sugeno/ObstacleAvoidance.pdf b/examples/takagi-sugeno/ObstacleAvoidance.pdf
new file mode 100644
index 0000000..28d0a7a
--- /dev/null
+++ b/examples/takagi-sugeno/ObstacleAvoidance.pdf
Binary files differ
diff --git a/examples/takagi-sugeno/SimpleDimmer.R b/examples/takagi-sugeno/SimpleDimmer.R
new file mode 100644
index 0000000..8502922
--- /dev/null
+++ b/examples/takagi-sugeno/SimpleDimmer.R
@@ -0,0 +1,60 @@
+#Code automatically generated with fuzzylite 6.0.
+
+library(ggplot2);
+
+engine.name = "SimpleDimmer"
+engine.fll = "Engine: SimpleDimmer
+InputVariable: Ambient
+ enabled: true
+ range: 0.000 1.000
+ lock-range: false
+ term: DARK Triangle 0.000 0.250 0.500
+ term: MEDIUM Triangle 0.250 0.500 0.750
+ term: BRIGHT Triangle 0.500 0.750 1.000
+OutputVariable: Power
+ enabled: true
+ range: 0.000 1.000
+ lock-range: false
+ aggregation: none
+ defuzzifier: WeightedAverage TakagiSugeno
+ default: nan
+ lock-previous: false
+ term: LOW Constant 0.250
+ term: MEDIUM Constant 0.500
+ term: HIGH Constant 0.750
+RuleBlock:
+ enabled: true
+ conjunction: none
+ disjunction: none
+ implication: none
+ activation: General
+ rule: if Ambient is DARK then Power is HIGH
+ rule: if Ambient is MEDIUM then Power is MEDIUM
+ rule: if Ambient is BRIGHT then Power is LOW"
+
+engine.fldFile = "SimpleDimmer.fld"
+if (require(data.table)) {
+ engine.df = data.table::fread(engine.fldFile, sep="auto", header="auto")
+} else {
+ engine.df = read.table(engine.fldFile, header=TRUE)
+}
+
+engine.plot.i1_o1 = ggplot(engine.df, aes(Ambient, Power)) +
+ geom_line(aes(color=Power), size=3, lineend="round", linejoin="mitre") +
+ scale_color_gradient(low="yellow", high="red") +
+ ggtitle("Ambient vs Power")
+
+engine.plot.o1_i1 = ggplot(engine.df, aes(Ambient, Power)) +
+ geom_line(aes(color=Power), size=3, lineend="round", linejoin="mitre") +
+ scale_color_gradient(low="yellow", high="red") +
+ coord_flip() +
+ ggtitle("Power vs Ambient")
+
+if (require(gridExtra)) {
+ engine.plots = arrangeGrob(engine.plot.i1_o1, engine.plot.o1_i1, ncol=2, top=engine.name)
+ ggsave(paste0(engine.name, ".pdf"), engine.plots)
+ if (require(grid)) {
+ grid.newpage()
+ grid.draw(engine.plots)
+ }
+}
diff --git a/examples/takagi-sugeno/SimpleDimmer.cpp b/examples/takagi-sugeno/SimpleDimmer.cpp
index bd7e6ee..735096b 100644
--- a/examples/takagi-sugeno/SimpleDimmer.cpp
+++ b/examples/takagi-sugeno/SimpleDimmer.cpp
@@ -1,43 +1,51 @@
#include <fl/Headers.h>
int main(int argc, char** argv){
+//Code automatically generated with fuzzylite 6.0.
+
using namespace fl;
Engine* engine = new Engine;
-engine->setName("simple-dimmer");
-
-InputVariable* inputVariable = new InputVariable;
-inputVariable->setEnabled(true);
-inputVariable->setName("Ambient");
-inputVariable->setRange(0.000, 1.000);
-inputVariable->addTerm(new Triangle("DARK", 0.000, 0.250, 0.500));
-inputVariable->addTerm(new Triangle("MEDIUM", 0.250, 0.500, 0.750));
-inputVariable->addTerm(new Triangle("BRIGHT", 0.500, 0.750, 1.000));
-engine->addInputVariable(inputVariable);
-
-OutputVariable* outputVariable = new OutputVariable;
-outputVariable->setEnabled(true);
-outputVariable->setName("Power");
-outputVariable->setRange(0.000, 1.000);
-outputVariable->fuzzyOutput()->setAccumulation(fl::null);
-outputVariable->setDefuzzifier(new WeightedAverage("TakagiSugeno"));
-outputVariable->setDefaultValue(fl::nan);
-outputVariable->setLockPreviousOutputValue(false);
-outputVariable->setLockOutputValueInRange(false);
-outputVariable->addTerm(new Constant("LOW", 0.250));
-outputVariable->addTerm(new Constant("MEDIUM", 0.500));
-outputVariable->addTerm(new Constant("HIGH", 0.750));
-engine->addOutputVariable(outputVariable);
+engine->setName("SimpleDimmer");
+engine->setDescription("");
+
+InputVariable* Ambient = new InputVariable;
+Ambient->setName("Ambient");
+Ambient->setDescription("");
+Ambient->setEnabled(true);
+Ambient->setRange(0.000, 1.000);
+Ambient->setLockValueInRange(false);
+Ambient->addTerm(new Triangle("DARK", 0.000, 0.250, 0.500));
+Ambient->addTerm(new Triangle("MEDIUM", 0.250, 0.500, 0.750));
+Ambient->addTerm(new Triangle("BRIGHT", 0.500, 0.750, 1.000));
+engine->addInputVariable(Ambient);
+
+OutputVariable* Power = new OutputVariable;
+Power->setName("Power");
+Power->setDescription("");
+Power->setEnabled(true);
+Power->setRange(0.000, 1.000);
+Power->setLockValueInRange(false);
+Power->setAggregation(fl::null);
+Power->setDefuzzifier(new WeightedAverage("TakagiSugeno"));
+Power->setDefaultValue(fl::nan);
+Power->setLockPreviousValue(false);
+Power->addTerm(new Constant("LOW", 0.250));
+Power->addTerm(new Constant("MEDIUM", 0.500));
+Power->addTerm(new Constant("HIGH", 0.750));
+engine->addOutputVariable(Power);
RuleBlock* ruleBlock = new RuleBlock;
-ruleBlock->setEnabled(true);
ruleBlock->setName("");
+ruleBlock->setDescription("");
+ruleBlock->setEnabled(true);
ruleBlock->setConjunction(fl::null);
ruleBlock->setDisjunction(fl::null);
-ruleBlock->setActivation(fl::null);
-ruleBlock->addRule(fl::Rule::parse("if Ambient is DARK then Power is HIGH", engine));
-ruleBlock->addRule(fl::Rule::parse("if Ambient is MEDIUM then Power is MEDIUM", engine));
-ruleBlock->addRule(fl::Rule::parse("if Ambient is BRIGHT then Power is LOW", engine));
+ruleBlock->setImplication(fl::null);
+ruleBlock->setActivation(new General);
+ruleBlock->addRule(Rule::parse("if Ambient is DARK then Power is HIGH", engine));
+ruleBlock->addRule(Rule::parse("if Ambient is MEDIUM then Power is MEDIUM", engine));
+ruleBlock->addRule(Rule::parse("if Ambient is BRIGHT then Power is LOW", engine));
engine->addRuleBlock(ruleBlock);
diff --git a/examples/takagi-sugeno/SimpleDimmer.fcl b/examples/takagi-sugeno/SimpleDimmer.fcl
index 65ccd94..a30f2c9 100644
--- a/examples/takagi-sugeno/SimpleDimmer.fcl
+++ b/examples/takagi-sugeno/SimpleDimmer.fcl
@@ -1,4 +1,6 @@
-FUNCTION_BLOCK simple-dimmer
+//Code automatically generated with fuzzylite 6.0.
+
+FUNCTION_BLOCK SimpleDimmer
VAR_INPUT
Ambient: REAL;
diff --git a/examples/takagi-sugeno/SimpleDimmer.fis b/examples/takagi-sugeno/SimpleDimmer.fis
index 9557f61..3988290 100644
--- a/examples/takagi-sugeno/SimpleDimmer.fis
+++ b/examples/takagi-sugeno/SimpleDimmer.fis
@@ -1,13 +1,16 @@
+#Code automatically generated with fuzzylite 6.0.
+
[System]
-Name='simple-dimmer'
+Name='SimpleDimmer'
Type='sugeno'
+Version=6.0
NumInputs=1
NumOutputs=1
NumRules=3
-AndMethod=''
-OrMethod=''
-ImpMethod=''
-AggMethod=''
+AndMethod='min'
+OrMethod='max'
+ImpMethod='min'
+AggMethod='max'
DefuzzMethod='wtaver'
[Input1]
diff --git a/examples/takagi-sugeno/SimpleDimmer.fld b/examples/takagi-sugeno/SimpleDimmer.fld
index 6efef0a..9c2d25b 100644
--- a/examples/takagi-sugeno/SimpleDimmer.fld
+++ b/examples/takagi-sugeno/SimpleDimmer.fld
@@ -1,1026 +1,1025 @@
-#@Engine: simple-dimmer;
-#@InputVariable: Ambient; @OutputVariable: Power;
-0.00000000 nan
-0.00097752 0.75000000
-0.00195503 0.75000000
-0.00293255 0.75000000
-0.00391007 0.75000000
-0.00488759 0.75000000
-0.00586510 0.75000000
-0.00684262 0.75000000
-0.00782014 0.75000000
-0.00879765 0.75000000
-0.00977517 0.75000000
-0.01075269 0.75000000
-0.01173021 0.75000000
-0.01270772 0.75000000
-0.01368524 0.75000000
-0.01466276 0.75000000
-0.01564027 0.75000000
-0.01661779 0.75000000
-0.01759531 0.75000000
-0.01857283 0.75000000
-0.01955034 0.75000000
-0.02052786 0.75000000
-0.02150538 0.75000000
-0.02248289 0.75000000
-0.02346041 0.75000000
-0.02443793 0.75000000
-0.02541544 0.75000000
-0.02639296 0.75000000
-0.02737048 0.75000000
-0.02834800 0.75000000
-0.02932551 0.75000000
-0.03030303 0.75000000
-0.03128055 0.75000000
-0.03225806 0.75000000
-0.03323558 0.75000000
-0.03421310 0.75000000
-0.03519062 0.75000000
-0.03616813 0.75000000
-0.03714565 0.75000000
-0.03812317 0.75000000
-0.03910068 0.75000000
-0.04007820 0.75000000
-0.04105572 0.75000000
-0.04203324 0.75000000
-0.04301075 0.75000000
-0.04398827 0.75000000
-0.04496579 0.75000000
-0.04594330 0.75000000
-0.04692082 0.75000000
-0.04789834 0.75000000
-0.04887586 0.75000000
-0.04985337 0.75000000
-0.05083089 0.75000000
-0.05180841 0.75000000
-0.05278592 0.75000000
-0.05376344 0.75000000
-0.05474096 0.75000000
-0.05571848 0.75000000
-0.05669599 0.75000000
-0.05767351 0.75000000
-0.05865103 0.75000000
-0.05962854 0.75000000
-0.06060606 0.75000000
-0.06158358 0.75000000
-0.06256109 0.75000000
-0.06353861 0.75000000
-0.06451613 0.75000000
-0.06549365 0.75000000
-0.06647116 0.75000000
-0.06744868 0.75000000
-0.06842620 0.75000000
-0.06940371 0.75000000
-0.07038123 0.75000000
-0.07135875 0.75000000
-0.07233627 0.75000000
-0.07331378 0.75000000
-0.07429130 0.75000000
-0.07526882 0.75000000
-0.07624633 0.75000000
-0.07722385 0.75000000
-0.07820137 0.75000000
-0.07917889 0.75000000
-0.08015640 0.75000000
-0.08113392 0.75000000
-0.08211144 0.75000000
-0.08308895 0.75000000
-0.08406647 0.75000000
-0.08504399 0.75000000
-0.08602151 0.75000000
-0.08699902 0.75000000
-0.08797654 0.75000000
-0.08895406 0.75000000
-0.08993157 0.75000000
-0.09090909 0.75000000
-0.09188661 0.75000000
-0.09286413 0.75000000
-0.09384164 0.75000000
-0.09481916 0.75000000
-0.09579668 0.75000000
-0.09677419 0.75000000
-0.09775171 0.75000000
-0.09872923 0.75000000
-0.09970674 0.75000000
-0.10068426 0.75000000
-0.10166178 0.75000000
-0.10263930 0.75000000
-0.10361681 0.75000000
-0.10459433 0.75000000
-0.10557185 0.75000000
-0.10654936 0.75000000
-0.10752688 0.75000000
-0.10850440 0.75000000
-0.10948192 0.75000000
-0.11045943 0.75000000
-0.11143695 0.75000000
-0.11241447 0.75000000
-0.11339198 0.75000000
-0.11436950 0.75000000
-0.11534702 0.75000000
-0.11632454 0.75000000
-0.11730205 0.75000000
-0.11827957 0.75000000
-0.11925709 0.75000000
-0.12023460 0.75000000
-0.12121212 0.75000000
-0.12218964 0.75000000
-0.12316716 0.75000000
-0.12414467 0.75000000
-0.12512219 0.75000000
-0.12609971 0.75000000
-0.12707722 0.75000000
-0.12805474 0.75000000
-0.12903226 0.75000000
-0.13000978 0.75000000
-0.13098729 0.75000000
-0.13196481 0.75000000
-0.13294233 0.75000000
-0.13391984 0.75000000
-0.13489736 0.75000000
-0.13587488 0.75000000
-0.13685239 0.75000000
-0.13782991 0.75000000
-0.13880743 0.75000000
-0.13978495 0.75000000
-0.14076246 0.75000000
-0.14173998 0.75000000
-0.14271750 0.75000000
-0.14369501 0.75000000
-0.14467253 0.75000000
-0.14565005 0.75000000
-0.14662757 0.75000000
-0.14760508 0.75000000
-0.14858260 0.75000000
-0.14956012 0.75000000
-0.15053763 0.75000000
-0.15151515 0.75000000
-0.15249267 0.75000000
-0.15347019 0.75000000
-0.15444770 0.75000000
-0.15542522 0.75000000
-0.15640274 0.75000000
-0.15738025 0.75000000
-0.15835777 0.75000000
-0.15933529 0.75000000
-0.16031281 0.75000000
-0.16129032 0.75000000
-0.16226784 0.75000000
-0.16324536 0.75000000
-0.16422287 0.75000000
-0.16520039 0.75000000
-0.16617791 0.75000000
-0.16715543 0.75000000
-0.16813294 0.75000000
-0.16911046 0.75000000
-0.17008798 0.75000000
-0.17106549 0.75000000
-0.17204301 0.75000000
-0.17302053 0.75000000
-0.17399804 0.75000000
-0.17497556 0.75000000
-0.17595308 0.75000000
-0.17693060 0.75000000
-0.17790811 0.75000000
-0.17888563 0.75000000
-0.17986315 0.75000000
-0.18084066 0.75000000
-0.18181818 0.75000000
-0.18279570 0.75000000
-0.18377322 0.75000000
-0.18475073 0.75000000
-0.18572825 0.75000000
-0.18670577 0.75000000
-0.18768328 0.75000000
-0.18866080 0.75000000
-0.18963832 0.75000000
-0.19061584 0.75000000
-0.19159335 0.75000000
-0.19257087 0.75000000
-0.19354839 0.75000000
-0.19452590 0.75000000
-0.19550342 0.75000000
-0.19648094 0.75000000
-0.19745846 0.75000000
-0.19843597 0.75000000
-0.19941349 0.75000000
-0.20039101 0.75000000
-0.20136852 0.75000000
-0.20234604 0.75000000
-0.20332356 0.75000000
-0.20430108 0.75000000
-0.20527859 0.75000000
-0.20625611 0.75000000
-0.20723363 0.75000000
-0.20821114 0.75000000
-0.20918866 0.75000000
-0.21016618 0.75000000
-0.21114370 0.75000000
-0.21212121 0.75000000
-0.21309873 0.75000000
-0.21407625 0.75000000
-0.21505376 0.75000000
-0.21603128 0.75000000
-0.21700880 0.75000000
-0.21798631 0.75000000
-0.21896383 0.75000000
-0.21994135 0.75000000
-0.22091887 0.75000000
-0.22189638 0.75000000
-0.22287390 0.75000000
-0.22385142 0.75000000
-0.22482893 0.75000000
-0.22580645 0.75000000
-0.22678397 0.75000000
-0.22776149 0.75000000
-0.22873900 0.75000000
-0.22971652 0.75000000
-0.23069404 0.75000000
-0.23167155 0.75000000
-0.23264907 0.75000000
-0.23362659 0.75000000
-0.23460411 0.75000000
-0.23558162 0.75000000
-0.23655914 0.75000000
-0.23753666 0.75000000
-0.23851417 0.75000000
-0.23949169 0.75000000
-0.24046921 0.75000000
-0.24144673 0.75000000
-0.24242424 0.75000000
-0.24340176 0.75000000
-0.24437928 0.75000000
-0.24535679 0.75000000
-0.24633431 0.75000000
-0.24731183 0.75000000
-0.24828935 0.75000000
-0.24926686 0.75000000
-0.25024438 0.74975562
-0.25122190 0.74877810
-0.25219941 0.74780059
-0.25317693 0.74682307
-0.25415445 0.74584555
-0.25513196 0.74486804
-0.25610948 0.74389052
-0.25708700 0.74291300
-0.25806452 0.74193548
-0.25904203 0.74095797
-0.26001955 0.73998045
-0.26099707 0.73900293
-0.26197458 0.73802542
-0.26295210 0.73704790
-0.26392962 0.73607038
-0.26490714 0.73509286
-0.26588465 0.73411535
-0.26686217 0.73313783
-0.26783969 0.73216031
-0.26881720 0.73118280
-0.26979472 0.73020528
-0.27077224 0.72922776
-0.27174976 0.72825024
-0.27272727 0.72727273
-0.27370479 0.72629521
-0.27468231 0.72531769
-0.27565982 0.72434018
-0.27663734 0.72336266
-0.27761486 0.72238514
-0.27859238 0.72140762
-0.27956989 0.72043011
-0.28054741 0.71945259
-0.28152493 0.71847507
-0.28250244 0.71749756
-0.28347996 0.71652004
-0.28445748 0.71554252
-0.28543500 0.71456500
-0.28641251 0.71358749
-0.28739003 0.71260997
-0.28836755 0.71163245
-0.28934506 0.71065494
-0.29032258 0.70967742
-0.29130010 0.70869990
-0.29227761 0.70772239
-0.29325513 0.70674487
-0.29423265 0.70576735
-0.29521017 0.70478983
-0.29618768 0.70381232
-0.29716520 0.70283480
-0.29814272 0.70185728
-0.29912023 0.70087977
-0.30009775 0.69990225
-0.30107527 0.69892473
-0.30205279 0.69794721
-0.30303030 0.69696970
-0.30400782 0.69599218
-0.30498534 0.69501466
-0.30596285 0.69403715
-0.30694037 0.69305963
-0.30791789 0.69208211
-0.30889541 0.69110459
-0.30987292 0.69012708
-0.31085044 0.68914956
-0.31182796 0.68817204
-0.31280547 0.68719453
-0.31378299 0.68621701
-0.31476051 0.68523949
-0.31573803 0.68426197
-0.31671554 0.68328446
-0.31769306 0.68230694
-0.31867058 0.68132942
-0.31964809 0.68035191
-0.32062561 0.67937439
-0.32160313 0.67839687
-0.32258065 0.67741935
-0.32355816 0.67644184
-0.32453568 0.67546432
-0.32551320 0.67448680
-0.32649071 0.67350929
-0.32746823 0.67253177
-0.32844575 0.67155425
-0.32942326 0.67057674
-0.33040078 0.66959922
-0.33137830 0.66862170
-0.33235582 0.66764418
-0.33333333 0.66666667
-0.33431085 0.66568915
-0.33528837 0.66471163
-0.33626588 0.66373412
-0.33724340 0.66275660
-0.33822092 0.66177908
-0.33919844 0.66080156
-0.34017595 0.65982405
-0.34115347 0.65884653
-0.34213099 0.65786901
-0.34310850 0.65689150
-0.34408602 0.65591398
-0.34506354 0.65493646
-0.34604106 0.65395894
-0.34701857 0.65298143
-0.34799609 0.65200391
-0.34897361 0.65102639
-0.34995112 0.65004888
-0.35092864 0.64907136
-0.35190616 0.64809384
-0.35288368 0.64711632
-0.35386119 0.64613881
-0.35483871 0.64516129
-0.35581623 0.64418377
-0.35679374 0.64320626
-0.35777126 0.64222874
-0.35874878 0.64125122
-0.35972630 0.64027370
-0.36070381 0.63929619
-0.36168133 0.63831867
-0.36265885 0.63734115
-0.36363636 0.63636364
-0.36461388 0.63538612
-0.36559140 0.63440860
-0.36656891 0.63343109
-0.36754643 0.63245357
-0.36852395 0.63147605
-0.36950147 0.63049853
-0.37047898 0.62952102
-0.37145650 0.62854350
-0.37243402 0.62756598
-0.37341153 0.62658847
-0.37438905 0.62561095
-0.37536657 0.62463343
-0.37634409 0.62365591
-0.37732160 0.62267840
-0.37829912 0.62170088
-0.37927664 0.62072336
-0.38025415 0.61974585
-0.38123167 0.61876833
-0.38220919 0.61779081
-0.38318671 0.61681329
-0.38416422 0.61583578
-0.38514174 0.61485826
-0.38611926 0.61388074
-0.38709677 0.61290323
-0.38807429 0.61192571
-0.38905181 0.61094819
-0.39002933 0.60997067
-0.39100684 0.60899316
-0.39198436 0.60801564
-0.39296188 0.60703812
-0.39393939 0.60606061
-0.39491691 0.60508309
-0.39589443 0.60410557
-0.39687195 0.60312805
-0.39784946 0.60215054
-0.39882698 0.60117302
-0.39980450 0.60019550
-0.40078201 0.59921799
-0.40175953 0.59824047
-0.40273705 0.59726295
-0.40371457 0.59628543
-0.40469208 0.59530792
-0.40566960 0.59433040
-0.40664712 0.59335288
-0.40762463 0.59237537
-0.40860215 0.59139785
-0.40957967 0.59042033
-0.41055718 0.58944282
-0.41153470 0.58846530
-0.41251222 0.58748778
-0.41348974 0.58651026
-0.41446725 0.58553275
-0.41544477 0.58455523
-0.41642229 0.58357771
-0.41739980 0.58260020
-0.41837732 0.58162268
-0.41935484 0.58064516
-0.42033236 0.57966764
-0.42130987 0.57869013
-0.42228739 0.57771261
-0.42326491 0.57673509
-0.42424242 0.57575758
-0.42521994 0.57478006
-0.42619746 0.57380254
-0.42717498 0.57282502
-0.42815249 0.57184751
-0.42913001 0.57086999
-0.43010753 0.56989247
-0.43108504 0.56891496
-0.43206256 0.56793744
-0.43304008 0.56695992
-0.43401760 0.56598240
-0.43499511 0.56500489
-0.43597263 0.56402737
-0.43695015 0.56304985
-0.43792766 0.56207234
-0.43890518 0.56109482
-0.43988270 0.56011730
-0.44086022 0.55913978
-0.44183773 0.55816227
-0.44281525 0.55718475
-0.44379277 0.55620723
-0.44477028 0.55522972
-0.44574780 0.55425220
-0.44672532 0.55327468
-0.44770283 0.55229717
-0.44868035 0.55131965
-0.44965787 0.55034213
-0.45063539 0.54936461
-0.45161290 0.54838710
-0.45259042 0.54740958
-0.45356794 0.54643206
-0.45454545 0.54545455
-0.45552297 0.54447703
-0.45650049 0.54349951
-0.45747801 0.54252199
-0.45845552 0.54154448
-0.45943304 0.54056696
-0.46041056 0.53958944
-0.46138807 0.53861193
-0.46236559 0.53763441
-0.46334311 0.53665689
-0.46432063 0.53567937
-0.46529814 0.53470186
-0.46627566 0.53372434
-0.46725318 0.53274682
-0.46823069 0.53176931
-0.46920821 0.53079179
-0.47018573 0.52981427
-0.47116325 0.52883675
-0.47214076 0.52785924
-0.47311828 0.52688172
-0.47409580 0.52590420
-0.47507331 0.52492669
-0.47605083 0.52394917
-0.47702835 0.52297165
-0.47800587 0.52199413
-0.47898338 0.52101662
-0.47996090 0.52003910
-0.48093842 0.51906158
-0.48191593 0.51808407
-0.48289345 0.51710655
-0.48387097 0.51612903
-0.48484848 0.51515152
-0.48582600 0.51417400
-0.48680352 0.51319648
-0.48778104 0.51221896
-0.48875855 0.51124145
-0.48973607 0.51026393
-0.49071359 0.50928641
-0.49169110 0.50830890
-0.49266862 0.50733138
-0.49364614 0.50635386
-0.49462366 0.50537634
-0.49560117 0.50439883
-0.49657869 0.50342131
-0.49755621 0.50244379
-0.49853372 0.50146628
-0.49951124 0.50048876
-0.50048876 0.49951124
-0.50146628 0.49853372
-0.50244379 0.49755621
-0.50342131 0.49657869
-0.50439883 0.49560117
-0.50537634 0.49462366
-0.50635386 0.49364614
-0.50733138 0.49266862
-0.50830890 0.49169110
-0.50928641 0.49071359
-0.51026393 0.48973607
-0.51124145 0.48875855
-0.51221896 0.48778104
-0.51319648 0.48680352
-0.51417400 0.48582600
-0.51515152 0.48484848
-0.51612903 0.48387097
-0.51710655 0.48289345
-0.51808407 0.48191593
-0.51906158 0.48093842
-0.52003910 0.47996090
-0.52101662 0.47898338
-0.52199413 0.47800587
-0.52297165 0.47702835
-0.52394917 0.47605083
-0.52492669 0.47507331
-0.52590420 0.47409580
-0.52688172 0.47311828
-0.52785924 0.47214076
-0.52883675 0.47116325
-0.52981427 0.47018573
-0.53079179 0.46920821
-0.53176931 0.46823069
-0.53274682 0.46725318
-0.53372434 0.46627566
-0.53470186 0.46529814
-0.53567937 0.46432063
-0.53665689 0.46334311
-0.53763441 0.46236559
-0.53861193 0.46138807
-0.53958944 0.46041056
-0.54056696 0.45943304
-0.54154448 0.45845552
-0.54252199 0.45747801
-0.54349951 0.45650049
-0.54447703 0.45552297
-0.54545455 0.45454545
-0.54643206 0.45356794
-0.54740958 0.45259042
-0.54838710 0.45161290
-0.54936461 0.45063539
-0.55034213 0.44965787
-0.55131965 0.44868035
-0.55229717 0.44770283
-0.55327468 0.44672532
-0.55425220 0.44574780
-0.55522972 0.44477028
-0.55620723 0.44379277
-0.55718475 0.44281525
-0.55816227 0.44183773
-0.55913978 0.44086022
-0.56011730 0.43988270
-0.56109482 0.43890518
-0.56207234 0.43792766
-0.56304985 0.43695015
-0.56402737 0.43597263
-0.56500489 0.43499511
-0.56598240 0.43401760
-0.56695992 0.43304008
-0.56793744 0.43206256
-0.56891496 0.43108504
-0.56989247 0.43010753
-0.57086999 0.42913001
-0.57184751 0.42815249
-0.57282502 0.42717498
-0.57380254 0.42619746
-0.57478006 0.42521994
-0.57575758 0.42424242
-0.57673509 0.42326491
-0.57771261 0.42228739
-0.57869013 0.42130987
-0.57966764 0.42033236
-0.58064516 0.41935484
-0.58162268 0.41837732
-0.58260020 0.41739980
-0.58357771 0.41642229
-0.58455523 0.41544477
-0.58553275 0.41446725
-0.58651026 0.41348974
-0.58748778 0.41251222
-0.58846530 0.41153470
-0.58944282 0.41055718
-0.59042033 0.40957967
-0.59139785 0.40860215
-0.59237537 0.40762463
-0.59335288 0.40664712
-0.59433040 0.40566960
-0.59530792 0.40469208
-0.59628543 0.40371457
-0.59726295 0.40273705
-0.59824047 0.40175953
-0.59921799 0.40078201
-0.60019550 0.39980450
-0.60117302 0.39882698
-0.60215054 0.39784946
-0.60312805 0.39687195
-0.60410557 0.39589443
-0.60508309 0.39491691
-0.60606061 0.39393939
-0.60703812 0.39296188
-0.60801564 0.39198436
-0.60899316 0.39100684
-0.60997067 0.39002933
-0.61094819 0.38905181
-0.61192571 0.38807429
-0.61290323 0.38709677
-0.61388074 0.38611926
-0.61485826 0.38514174
-0.61583578 0.38416422
-0.61681329 0.38318671
-0.61779081 0.38220919
-0.61876833 0.38123167
-0.61974585 0.38025415
-0.62072336 0.37927664
-0.62170088 0.37829912
-0.62267840 0.37732160
-0.62365591 0.37634409
-0.62463343 0.37536657
-0.62561095 0.37438905
-0.62658847 0.37341153
-0.62756598 0.37243402
-0.62854350 0.37145650
-0.62952102 0.37047898
-0.63049853 0.36950147
-0.63147605 0.36852395
-0.63245357 0.36754643
-0.63343109 0.36656891
-0.63440860 0.36559140
-0.63538612 0.36461388
-0.63636364 0.36363636
-0.63734115 0.36265885
-0.63831867 0.36168133
-0.63929619 0.36070381
-0.64027370 0.35972630
-0.64125122 0.35874878
-0.64222874 0.35777126
-0.64320626 0.35679374
-0.64418377 0.35581623
-0.64516129 0.35483871
-0.64613881 0.35386119
-0.64711632 0.35288368
-0.64809384 0.35190616
-0.64907136 0.35092864
-0.65004888 0.34995112
-0.65102639 0.34897361
-0.65200391 0.34799609
-0.65298143 0.34701857
-0.65395894 0.34604106
-0.65493646 0.34506354
-0.65591398 0.34408602
-0.65689150 0.34310850
-0.65786901 0.34213099
-0.65884653 0.34115347
-0.65982405 0.34017595
-0.66080156 0.33919844
-0.66177908 0.33822092
-0.66275660 0.33724340
-0.66373412 0.33626588
-0.66471163 0.33528837
-0.66568915 0.33431085
-0.66666667 0.33333333
-0.66764418 0.33235582
-0.66862170 0.33137830
-0.66959922 0.33040078
-0.67057674 0.32942326
-0.67155425 0.32844575
-0.67253177 0.32746823
-0.67350929 0.32649071
-0.67448680 0.32551320
-0.67546432 0.32453568
-0.67644184 0.32355816
-0.67741935 0.32258065
-0.67839687 0.32160313
-0.67937439 0.32062561
-0.68035191 0.31964809
-0.68132942 0.31867058
-0.68230694 0.31769306
-0.68328446 0.31671554
-0.68426197 0.31573803
-0.68523949 0.31476051
-0.68621701 0.31378299
-0.68719453 0.31280547
-0.68817204 0.31182796
-0.68914956 0.31085044
-0.69012708 0.30987292
-0.69110459 0.30889541
-0.69208211 0.30791789
-0.69305963 0.30694037
-0.69403715 0.30596285
-0.69501466 0.30498534
-0.69599218 0.30400782
-0.69696970 0.30303030
-0.69794721 0.30205279
-0.69892473 0.30107527
-0.69990225 0.30009775
-0.70087977 0.29912023
-0.70185728 0.29814272
-0.70283480 0.29716520
-0.70381232 0.29618768
-0.70478983 0.29521017
-0.70576735 0.29423265
-0.70674487 0.29325513
-0.70772239 0.29227761
-0.70869990 0.29130010
-0.70967742 0.29032258
-0.71065494 0.28934506
-0.71163245 0.28836755
-0.71260997 0.28739003
-0.71358749 0.28641251
-0.71456500 0.28543500
-0.71554252 0.28445748
-0.71652004 0.28347996
-0.71749756 0.28250244
-0.71847507 0.28152493
-0.71945259 0.28054741
-0.72043011 0.27956989
-0.72140762 0.27859238
-0.72238514 0.27761486
-0.72336266 0.27663734
-0.72434018 0.27565982
-0.72531769 0.27468231
-0.72629521 0.27370479
-0.72727273 0.27272727
-0.72825024 0.27174976
-0.72922776 0.27077224
-0.73020528 0.26979472
-0.73118280 0.26881720
-0.73216031 0.26783969
-0.73313783 0.26686217
-0.73411535 0.26588465
-0.73509286 0.26490714
-0.73607038 0.26392962
-0.73704790 0.26295210
-0.73802542 0.26197458
-0.73900293 0.26099707
-0.73998045 0.26001955
-0.74095797 0.25904203
-0.74193548 0.25806452
-0.74291300 0.25708700
-0.74389052 0.25610948
-0.74486804 0.25513196
-0.74584555 0.25415445
-0.74682307 0.25317693
-0.74780059 0.25219941
-0.74877810 0.25122190
-0.74975562 0.25024438
-0.75073314 0.25000000
-0.75171065 0.25000000
-0.75268817 0.25000000
-0.75366569 0.25000000
-0.75464321 0.25000000
-0.75562072 0.25000000
-0.75659824 0.25000000
-0.75757576 0.25000000
-0.75855327 0.25000000
-0.75953079 0.25000000
-0.76050831 0.25000000
-0.76148583 0.25000000
-0.76246334 0.25000000
-0.76344086 0.25000000
-0.76441838 0.25000000
-0.76539589 0.25000000
-0.76637341 0.25000000
-0.76735093 0.25000000
-0.76832845 0.25000000
-0.76930596 0.25000000
-0.77028348 0.25000000
-0.77126100 0.25000000
-0.77223851 0.25000000
-0.77321603 0.25000000
-0.77419355 0.25000000
-0.77517107 0.25000000
-0.77614858 0.25000000
-0.77712610 0.25000000
-0.77810362 0.25000000
-0.77908113 0.25000000
-0.78005865 0.25000000
-0.78103617 0.25000000
-0.78201369 0.25000000
-0.78299120 0.25000000
-0.78396872 0.25000000
-0.78494624 0.25000000
-0.78592375 0.25000000
-0.78690127 0.25000000
-0.78787879 0.25000000
-0.78885630 0.25000000
-0.78983382 0.25000000
-0.79081134 0.25000000
-0.79178886 0.25000000
-0.79276637 0.25000000
-0.79374389 0.25000000
-0.79472141 0.25000000
-0.79569892 0.25000000
-0.79667644 0.25000000
-0.79765396 0.25000000
-0.79863148 0.25000000
-0.79960899 0.25000000
-0.80058651 0.25000000
-0.80156403 0.25000000
-0.80254154 0.25000000
-0.80351906 0.25000000
-0.80449658 0.25000000
-0.80547410 0.25000000
-0.80645161 0.25000000
-0.80742913 0.25000000
-0.80840665 0.25000000
-0.80938416 0.25000000
-0.81036168 0.25000000
-0.81133920 0.25000000
-0.81231672 0.25000000
-0.81329423 0.25000000
-0.81427175 0.25000000
-0.81524927 0.25000000
-0.81622678 0.25000000
-0.81720430 0.25000000
-0.81818182 0.25000000
-0.81915934 0.25000000
-0.82013685 0.25000000
-0.82111437 0.25000000
-0.82209189 0.25000000
-0.82306940 0.25000000
-0.82404692 0.25000000
-0.82502444 0.25000000
-0.82600196 0.25000000
-0.82697947 0.25000000
-0.82795699 0.25000000
-0.82893451 0.25000000
-0.82991202 0.25000000
-0.83088954 0.25000000
-0.83186706 0.25000000
-0.83284457 0.25000000
-0.83382209 0.25000000
-0.83479961 0.25000000
-0.83577713 0.25000000
-0.83675464 0.25000000
-0.83773216 0.25000000
-0.83870968 0.25000000
-0.83968719 0.25000000
-0.84066471 0.25000000
-0.84164223 0.25000000
-0.84261975 0.25000000
-0.84359726 0.25000000
-0.84457478 0.25000000
-0.84555230 0.25000000
-0.84652981 0.25000000
-0.84750733 0.25000000
-0.84848485 0.25000000
-0.84946237 0.25000000
-0.85043988 0.25000000
-0.85141740 0.25000000
-0.85239492 0.25000000
-0.85337243 0.25000000
-0.85434995 0.25000000
-0.85532747 0.25000000
-0.85630499 0.25000000
-0.85728250 0.25000000
-0.85826002 0.25000000
-0.85923754 0.25000000
-0.86021505 0.25000000
-0.86119257 0.25000000
-0.86217009 0.25000000
-0.86314761 0.25000000
-0.86412512 0.25000000
-0.86510264 0.25000000
-0.86608016 0.25000000
-0.86705767 0.25000000
-0.86803519 0.25000000
-0.86901271 0.25000000
-0.86999022 0.25000000
-0.87096774 0.25000000
-0.87194526 0.25000000
-0.87292278 0.25000000
-0.87390029 0.25000000
-0.87487781 0.25000000
-0.87585533 0.25000000
-0.87683284 0.25000000
-0.87781036 0.25000000
-0.87878788 0.25000000
-0.87976540 0.25000000
-0.88074291 0.25000000
-0.88172043 0.25000000
-0.88269795 0.25000000
-0.88367546 0.25000000
-0.88465298 0.25000000
-0.88563050 0.25000000
-0.88660802 0.25000000
-0.88758553 0.25000000
-0.88856305 0.25000000
-0.88954057 0.25000000
-0.89051808 0.25000000
-0.89149560 0.25000000
-0.89247312 0.25000000
-0.89345064 0.25000000
-0.89442815 0.25000000
-0.89540567 0.25000000
-0.89638319 0.25000000
-0.89736070 0.25000000
-0.89833822 0.25000000
-0.89931574 0.25000000
-0.90029326 0.25000000
-0.90127077 0.25000000
-0.90224829 0.25000000
-0.90322581 0.25000000
-0.90420332 0.25000000
-0.90518084 0.25000000
-0.90615836 0.25000000
-0.90713587 0.25000000
-0.90811339 0.25000000
-0.90909091 0.25000000
-0.91006843 0.25000000
-0.91104594 0.25000000
-0.91202346 0.25000000
-0.91300098 0.25000000
-0.91397849 0.25000000
-0.91495601 0.25000000
-0.91593353 0.25000000
-0.91691105 0.25000000
-0.91788856 0.25000000
-0.91886608 0.25000000
-0.91984360 0.25000000
-0.92082111 0.25000000
-0.92179863 0.25000000
-0.92277615 0.25000000
-0.92375367 0.25000000
-0.92473118 0.25000000
-0.92570870 0.25000000
-0.92668622 0.25000000
-0.92766373 0.25000000
-0.92864125 0.25000000
-0.92961877 0.25000000
-0.93059629 0.25000000
-0.93157380 0.25000000
-0.93255132 0.25000000
-0.93352884 0.25000000
-0.93450635 0.25000000
-0.93548387 0.25000000
-0.93646139 0.25000000
-0.93743891 0.25000000
-0.93841642 0.25000000
-0.93939394 0.25000000
-0.94037146 0.25000000
-0.94134897 0.25000000
-0.94232649 0.25000000
-0.94330401 0.25000000
-0.94428152 0.25000000
-0.94525904 0.25000000
-0.94623656 0.25000000
-0.94721408 0.25000000
-0.94819159 0.25000000
-0.94916911 0.25000000
-0.95014663 0.25000000
-0.95112414 0.25000000
-0.95210166 0.25000000
-0.95307918 0.25000000
-0.95405670 0.25000000
-0.95503421 0.25000000
-0.95601173 0.25000000
-0.95698925 0.25000000
-0.95796676 0.25000000
-0.95894428 0.25000000
-0.95992180 0.25000000
-0.96089932 0.25000000
-0.96187683 0.25000000
-0.96285435 0.25000000
-0.96383187 0.25000000
-0.96480938 0.25000000
-0.96578690 0.25000000
-0.96676442 0.25000000
-0.96774194 0.25000000
-0.96871945 0.25000000
-0.96969697 0.25000000
-0.97067449 0.25000000
-0.97165200 0.25000000
-0.97262952 0.25000000
-0.97360704 0.25000000
-0.97458456 0.25000000
-0.97556207 0.25000000
-0.97653959 0.25000000
-0.97751711 0.25000000
-0.97849462 0.25000000
-0.97947214 0.25000000
-0.98044966 0.25000000
-0.98142717 0.25000000
-0.98240469 0.25000000
-0.98338221 0.25000000
-0.98435973 0.25000000
-0.98533724 0.25000000
-0.98631476 0.25000000
-0.98729228 0.25000000
-0.98826979 0.25000000
-0.98924731 0.25000000
-0.99022483 0.25000000
-0.99120235 0.25000000
-0.99217986 0.25000000
-0.99315738 0.25000000
-0.99413490 0.25000000
-0.99511241 0.25000000
-0.99608993 0.25000000
-0.99706745 0.25000000
-0.99804497 0.25000000
-0.99902248 0.25000000
-1.00000000 nan
+Ambient Power
+0.000000000 nan
+0.000977517 0.750000000
+0.001955034 0.750000000
+0.002932551 0.750000000
+0.003910068 0.750000000
+0.004887586 0.750000000
+0.005865103 0.750000000
+0.006842620 0.750000000
+0.007820137 0.750000000
+0.008797654 0.750000000
+0.009775171 0.750000000
+0.010752688 0.750000000
+0.011730205 0.750000000
+0.012707722 0.750000000
+0.013685239 0.750000000
+0.014662757 0.750000000
+0.015640274 0.750000000
+0.016617791 0.750000000
+0.017595308 0.750000000
+0.018572825 0.750000000
+0.019550342 0.750000000
+0.020527859 0.750000000
+0.021505376 0.750000000
+0.022482893 0.750000000
+0.023460411 0.750000000
+0.024437928 0.750000000
+0.025415445 0.750000000
+0.026392962 0.750000000
+0.027370479 0.750000000
+0.028347996 0.750000000
+0.029325513 0.750000000
+0.030303030 0.750000000
+0.031280547 0.750000000
+0.032258065 0.750000000
+0.033235582 0.750000000
+0.034213099 0.750000000
+0.035190616 0.750000000
+0.036168133 0.750000000
+0.037145650 0.750000000
+0.038123167 0.750000000
+0.039100684 0.750000000
+0.040078201 0.750000000
+0.041055718 0.750000000
+0.042033236 0.750000000
+0.043010753 0.750000000
+0.043988270 0.750000000
+0.044965787 0.750000000
+0.045943304 0.750000000
+0.046920821 0.750000000
+0.047898338 0.750000000
+0.048875855 0.750000000
+0.049853372 0.750000000
+0.050830890 0.750000000
+0.051808407 0.750000000
+0.052785924 0.750000000
+0.053763441 0.750000000
+0.054740958 0.750000000
+0.055718475 0.750000000
+0.056695992 0.750000000
+0.057673509 0.750000000
+0.058651026 0.750000000
+0.059628543 0.750000000
+0.060606061 0.750000000
+0.061583578 0.750000000
+0.062561095 0.750000000
+0.063538612 0.750000000
+0.064516129 0.750000000
+0.065493646 0.750000000
+0.066471163 0.750000000
+0.067448680 0.750000000
+0.068426197 0.750000000
+0.069403715 0.750000000
+0.070381232 0.750000000
+0.071358749 0.750000000
+0.072336266 0.750000000
+0.073313783 0.750000000
+0.074291300 0.750000000
+0.075268817 0.750000000
+0.076246334 0.750000000
+0.077223851 0.750000000
+0.078201369 0.750000000
+0.079178886 0.750000000
+0.080156403 0.750000000
+0.081133920 0.750000000
+0.082111437 0.750000000
+0.083088954 0.750000000
+0.084066471 0.750000000
+0.085043988 0.750000000
+0.086021505 0.750000000
+0.086999022 0.750000000
+0.087976540 0.750000000
+0.088954057 0.750000000
+0.089931574 0.750000000
+0.090909091 0.750000000
+0.091886608 0.750000000
+0.092864125 0.750000000
+0.093841642 0.750000000
+0.094819159 0.750000000
+0.095796676 0.750000000
+0.096774194 0.750000000
+0.097751711 0.750000000
+0.098729228 0.750000000
+0.099706745 0.750000000
+0.100684262 0.750000000
+0.101661779 0.750000000
+0.102639296 0.750000000
+0.103616813 0.750000000
+0.104594330 0.750000000
+0.105571848 0.750000000
+0.106549365 0.750000000
+0.107526882 0.750000000
+0.108504399 0.750000000
+0.109481916 0.750000000
+0.110459433 0.750000000
+0.111436950 0.750000000
+0.112414467 0.750000000
+0.113391984 0.750000000
+0.114369501 0.750000000
+0.115347019 0.750000000
+0.116324536 0.750000000
+0.117302053 0.750000000
+0.118279570 0.750000000
+0.119257087 0.750000000
+0.120234604 0.750000000
+0.121212121 0.750000000
+0.122189638 0.750000000
+0.123167155 0.750000000
+0.124144673 0.750000000
+0.125122190 0.750000000
+0.126099707 0.750000000
+0.127077224 0.750000000
+0.128054741 0.750000000
+0.129032258 0.750000000
+0.130009775 0.750000000
+0.130987292 0.750000000
+0.131964809 0.750000000
+0.132942326 0.750000000
+0.133919844 0.750000000
+0.134897361 0.750000000
+0.135874878 0.750000000
+0.136852395 0.750000000
+0.137829912 0.750000000
+0.138807429 0.750000000
+0.139784946 0.750000000
+0.140762463 0.750000000
+0.141739980 0.750000000
+0.142717498 0.750000000
+0.143695015 0.750000000
+0.144672532 0.750000000
+0.145650049 0.750000000
+0.146627566 0.750000000
+0.147605083 0.750000000
+0.148582600 0.750000000
+0.149560117 0.750000000
+0.150537634 0.750000000
+0.151515152 0.750000000
+0.152492669 0.750000000
+0.153470186 0.750000000
+0.154447703 0.750000000
+0.155425220 0.750000000
+0.156402737 0.750000000
+0.157380254 0.750000000
+0.158357771 0.750000000
+0.159335288 0.750000000
+0.160312805 0.750000000
+0.161290323 0.750000000
+0.162267840 0.750000000
+0.163245357 0.750000000
+0.164222874 0.750000000
+0.165200391 0.750000000
+0.166177908 0.750000000
+0.167155425 0.750000000
+0.168132942 0.750000000
+0.169110459 0.750000000
+0.170087977 0.750000000
+0.171065494 0.750000000
+0.172043011 0.750000000
+0.173020528 0.750000000
+0.173998045 0.750000000
+0.174975562 0.750000000
+0.175953079 0.750000000
+0.176930596 0.750000000
+0.177908113 0.750000000
+0.178885630 0.750000000
+0.179863148 0.750000000
+0.180840665 0.750000000
+0.181818182 0.750000000
+0.182795699 0.750000000
+0.183773216 0.750000000
+0.184750733 0.750000000
+0.185728250 0.750000000
+0.186705767 0.750000000
+0.187683284 0.750000000
+0.188660802 0.750000000
+0.189638319 0.750000000
+0.190615836 0.750000000
+0.191593353 0.750000000
+0.192570870 0.750000000
+0.193548387 0.750000000
+0.194525904 0.750000000
+0.195503421 0.750000000
+0.196480938 0.750000000
+0.197458456 0.750000000
+0.198435973 0.750000000
+0.199413490 0.750000000
+0.200391007 0.750000000
+0.201368524 0.750000000
+0.202346041 0.750000000
+0.203323558 0.750000000
+0.204301075 0.750000000
+0.205278592 0.750000000
+0.206256109 0.750000000
+0.207233627 0.750000000
+0.208211144 0.750000000
+0.209188661 0.750000000
+0.210166178 0.750000000
+0.211143695 0.750000000
+0.212121212 0.750000000
+0.213098729 0.750000000
+0.214076246 0.750000000
+0.215053763 0.750000000
+0.216031281 0.750000000
+0.217008798 0.750000000
+0.217986315 0.750000000
+0.218963832 0.750000000
+0.219941349 0.750000000
+0.220918866 0.750000000
+0.221896383 0.750000000
+0.222873900 0.750000000
+0.223851417 0.750000000
+0.224828935 0.750000000
+0.225806452 0.750000000
+0.226783969 0.750000000
+0.227761486 0.750000000
+0.228739003 0.750000000
+0.229716520 0.750000000
+0.230694037 0.750000000
+0.231671554 0.750000000
+0.232649071 0.750000000
+0.233626588 0.750000000
+0.234604106 0.750000000
+0.235581623 0.750000000
+0.236559140 0.750000000
+0.237536657 0.750000000
+0.238514174 0.750000000
+0.239491691 0.750000000
+0.240469208 0.750000000
+0.241446725 0.750000000
+0.242424242 0.750000000
+0.243401760 0.750000000
+0.244379277 0.750000000
+0.245356794 0.750000000
+0.246334311 0.750000000
+0.247311828 0.750000000
+0.248289345 0.750000000
+0.249266862 0.750000000
+0.250244379 0.749755621
+0.251221896 0.748778104
+0.252199413 0.747800587
+0.253176931 0.746823069
+0.254154448 0.745845552
+0.255131965 0.744868035
+0.256109482 0.743890518
+0.257086999 0.742913001
+0.258064516 0.741935484
+0.259042033 0.740957967
+0.260019550 0.739980450
+0.260997067 0.739002933
+0.261974585 0.738025415
+0.262952102 0.737047898
+0.263929619 0.736070381
+0.264907136 0.735092864
+0.265884653 0.734115347
+0.266862170 0.733137830
+0.267839687 0.732160313
+0.268817204 0.731182796
+0.269794721 0.730205279
+0.270772239 0.729227761
+0.271749756 0.728250244
+0.272727273 0.727272727
+0.273704790 0.726295210
+0.274682307 0.725317693
+0.275659824 0.724340176
+0.276637341 0.723362659
+0.277614858 0.722385142
+0.278592375 0.721407625
+0.279569892 0.720430108
+0.280547410 0.719452590
+0.281524927 0.718475073
+0.282502444 0.717497556
+0.283479961 0.716520039
+0.284457478 0.715542522
+0.285434995 0.714565005
+0.286412512 0.713587488
+0.287390029 0.712609971
+0.288367546 0.711632454
+0.289345064 0.710654936
+0.290322581 0.709677419
+0.291300098 0.708699902
+0.292277615 0.707722385
+0.293255132 0.706744868
+0.294232649 0.705767351
+0.295210166 0.704789834
+0.296187683 0.703812317
+0.297165200 0.702834800
+0.298142717 0.701857283
+0.299120235 0.700879765
+0.300097752 0.699902248
+0.301075269 0.698924731
+0.302052786 0.697947214
+0.303030303 0.696969697
+0.304007820 0.695992180
+0.304985337 0.695014663
+0.305962854 0.694037146
+0.306940371 0.693059629
+0.307917889 0.692082111
+0.308895406 0.691104594
+0.309872923 0.690127077
+0.310850440 0.689149560
+0.311827957 0.688172043
+0.312805474 0.687194526
+0.313782991 0.686217009
+0.314760508 0.685239492
+0.315738025 0.684261975
+0.316715543 0.683284457
+0.317693060 0.682306940
+0.318670577 0.681329423
+0.319648094 0.680351906
+0.320625611 0.679374389
+0.321603128 0.678396872
+0.322580645 0.677419355
+0.323558162 0.676441838
+0.324535679 0.675464321
+0.325513196 0.674486804
+0.326490714 0.673509286
+0.327468231 0.672531769
+0.328445748 0.671554252
+0.329423265 0.670576735
+0.330400782 0.669599218
+0.331378299 0.668621701
+0.332355816 0.667644184
+0.333333333 0.666666667
+0.334310850 0.665689150
+0.335288368 0.664711632
+0.336265885 0.663734115
+0.337243402 0.662756598
+0.338220919 0.661779081
+0.339198436 0.660801564
+0.340175953 0.659824047
+0.341153470 0.658846530
+0.342130987 0.657869013
+0.343108504 0.656891496
+0.344086022 0.655913978
+0.345063539 0.654936461
+0.346041056 0.653958944
+0.347018573 0.652981427
+0.347996090 0.652003910
+0.348973607 0.651026393
+0.349951124 0.650048876
+0.350928641 0.649071359
+0.351906158 0.648093842
+0.352883675 0.647116325
+0.353861193 0.646138807
+0.354838710 0.645161290
+0.355816227 0.644183773
+0.356793744 0.643206256
+0.357771261 0.642228739
+0.358748778 0.641251222
+0.359726295 0.640273705
+0.360703812 0.639296188
+0.361681329 0.638318671
+0.362658847 0.637341153
+0.363636364 0.636363636
+0.364613881 0.635386119
+0.365591398 0.634408602
+0.366568915 0.633431085
+0.367546432 0.632453568
+0.368523949 0.631476051
+0.369501466 0.630498534
+0.370478983 0.629521017
+0.371456500 0.628543500
+0.372434018 0.627565982
+0.373411535 0.626588465
+0.374389052 0.625610948
+0.375366569 0.624633431
+0.376344086 0.623655914
+0.377321603 0.622678397
+0.378299120 0.621700880
+0.379276637 0.620723363
+0.380254154 0.619745846
+0.381231672 0.618768328
+0.382209189 0.617790811
+0.383186706 0.616813294
+0.384164223 0.615835777
+0.385141740 0.614858260
+0.386119257 0.613880743
+0.387096774 0.612903226
+0.388074291 0.611925709
+0.389051808 0.610948192
+0.390029326 0.609970674
+0.391006843 0.608993157
+0.391984360 0.608015640
+0.392961877 0.607038123
+0.393939394 0.606060606
+0.394916911 0.605083089
+0.395894428 0.604105572
+0.396871945 0.603128055
+0.397849462 0.602150538
+0.398826979 0.601173021
+0.399804497 0.600195503
+0.400782014 0.599217986
+0.401759531 0.598240469
+0.402737048 0.597262952
+0.403714565 0.596285435
+0.404692082 0.595307918
+0.405669599 0.594330401
+0.406647116 0.593352884
+0.407624633 0.592375367
+0.408602151 0.591397849
+0.409579668 0.590420332
+0.410557185 0.589442815
+0.411534702 0.588465298
+0.412512219 0.587487781
+0.413489736 0.586510264
+0.414467253 0.585532747
+0.415444770 0.584555230
+0.416422287 0.583577713
+0.417399804 0.582600196
+0.418377322 0.581622678
+0.419354839 0.580645161
+0.420332356 0.579667644
+0.421309873 0.578690127
+0.422287390 0.577712610
+0.423264907 0.576735093
+0.424242424 0.575757576
+0.425219941 0.574780059
+0.426197458 0.573802542
+0.427174976 0.572825024
+0.428152493 0.571847507
+0.429130010 0.570869990
+0.430107527 0.569892473
+0.431085044 0.568914956
+0.432062561 0.567937439
+0.433040078 0.566959922
+0.434017595 0.565982405
+0.434995112 0.565004888
+0.435972630 0.564027370
+0.436950147 0.563049853
+0.437927664 0.562072336
+0.438905181 0.561094819
+0.439882698 0.560117302
+0.440860215 0.559139785
+0.441837732 0.558162268
+0.442815249 0.557184751
+0.443792766 0.556207234
+0.444770283 0.555229717
+0.445747801 0.554252199
+0.446725318 0.553274682
+0.447702835 0.552297165
+0.448680352 0.551319648
+0.449657869 0.550342131
+0.450635386 0.549364614
+0.451612903 0.548387097
+0.452590420 0.547409580
+0.453567937 0.546432063
+0.454545455 0.545454545
+0.455522972 0.544477028
+0.456500489 0.543499511
+0.457478006 0.542521994
+0.458455523 0.541544477
+0.459433040 0.540566960
+0.460410557 0.539589443
+0.461388074 0.538611926
+0.462365591 0.537634409
+0.463343109 0.536656891
+0.464320626 0.535679374
+0.465298143 0.534701857
+0.466275660 0.533724340
+0.467253177 0.532746823
+0.468230694 0.531769306
+0.469208211 0.530791789
+0.470185728 0.529814272
+0.471163245 0.528836755
+0.472140762 0.527859238
+0.473118280 0.526881720
+0.474095797 0.525904203
+0.475073314 0.524926686
+0.476050831 0.523949169
+0.477028348 0.522971652
+0.478005865 0.521994135
+0.478983382 0.521016618
+0.479960899 0.520039101
+0.480938416 0.519061584
+0.481915934 0.518084066
+0.482893451 0.517106549
+0.483870968 0.516129032
+0.484848485 0.515151515
+0.485826002 0.514173998
+0.486803519 0.513196481
+0.487781036 0.512218964
+0.488758553 0.511241447
+0.489736070 0.510263930
+0.490713587 0.509286413
+0.491691105 0.508308895
+0.492668622 0.507331378
+0.493646139 0.506353861
+0.494623656 0.505376344
+0.495601173 0.504398827
+0.496578690 0.503421310
+0.497556207 0.502443793
+0.498533724 0.501466276
+0.499511241 0.500488759
+0.500488759 0.499511241
+0.501466276 0.498533724
+0.502443793 0.497556207
+0.503421310 0.496578690
+0.504398827 0.495601173
+0.505376344 0.494623656
+0.506353861 0.493646139
+0.507331378 0.492668622
+0.508308895 0.491691105
+0.509286413 0.490713587
+0.510263930 0.489736070
+0.511241447 0.488758553
+0.512218964 0.487781036
+0.513196481 0.486803519
+0.514173998 0.485826002
+0.515151515 0.484848485
+0.516129032 0.483870968
+0.517106549 0.482893451
+0.518084066 0.481915934
+0.519061584 0.480938416
+0.520039101 0.479960899
+0.521016618 0.478983382
+0.521994135 0.478005865
+0.522971652 0.477028348
+0.523949169 0.476050831
+0.524926686 0.475073314
+0.525904203 0.474095797
+0.526881720 0.473118280
+0.527859238 0.472140762
+0.528836755 0.471163245
+0.529814272 0.470185728
+0.530791789 0.469208211
+0.531769306 0.468230694
+0.532746823 0.467253177
+0.533724340 0.466275660
+0.534701857 0.465298143
+0.535679374 0.464320626
+0.536656891 0.463343109
+0.537634409 0.462365591
+0.538611926 0.461388074
+0.539589443 0.460410557
+0.540566960 0.459433040
+0.541544477 0.458455523
+0.542521994 0.457478006
+0.543499511 0.456500489
+0.544477028 0.455522972
+0.545454545 0.454545455
+0.546432063 0.453567937
+0.547409580 0.452590420
+0.548387097 0.451612903
+0.549364614 0.450635386
+0.550342131 0.449657869
+0.551319648 0.448680352
+0.552297165 0.447702835
+0.553274682 0.446725318
+0.554252199 0.445747801
+0.555229717 0.444770283
+0.556207234 0.443792766
+0.557184751 0.442815249
+0.558162268 0.441837732
+0.559139785 0.440860215
+0.560117302 0.439882698
+0.561094819 0.438905181
+0.562072336 0.437927664
+0.563049853 0.436950147
+0.564027370 0.435972630
+0.565004888 0.434995112
+0.565982405 0.434017595
+0.566959922 0.433040078
+0.567937439 0.432062561
+0.568914956 0.431085044
+0.569892473 0.430107527
+0.570869990 0.429130010
+0.571847507 0.428152493
+0.572825024 0.427174976
+0.573802542 0.426197458
+0.574780059 0.425219941
+0.575757576 0.424242424
+0.576735093 0.423264907
+0.577712610 0.422287390
+0.578690127 0.421309873
+0.579667644 0.420332356
+0.580645161 0.419354839
+0.581622678 0.418377322
+0.582600196 0.417399804
+0.583577713 0.416422287
+0.584555230 0.415444770
+0.585532747 0.414467253
+0.586510264 0.413489736
+0.587487781 0.412512219
+0.588465298 0.411534702
+0.589442815 0.410557185
+0.590420332 0.409579668
+0.591397849 0.408602151
+0.592375367 0.407624633
+0.593352884 0.406647116
+0.594330401 0.405669599
+0.595307918 0.404692082
+0.596285435 0.403714565
+0.597262952 0.402737048
+0.598240469 0.401759531
+0.599217986 0.400782014
+0.600195503 0.399804497
+0.601173021 0.398826979
+0.602150538 0.397849462
+0.603128055 0.396871945
+0.604105572 0.395894428
+0.605083089 0.394916911
+0.606060606 0.393939394
+0.607038123 0.392961877
+0.608015640 0.391984360
+0.608993157 0.391006843
+0.609970674 0.390029326
+0.610948192 0.389051808
+0.611925709 0.388074291
+0.612903226 0.387096774
+0.613880743 0.386119257
+0.614858260 0.385141740
+0.615835777 0.384164223
+0.616813294 0.383186706
+0.617790811 0.382209189
+0.618768328 0.381231672
+0.619745846 0.380254154
+0.620723363 0.379276637
+0.621700880 0.378299120
+0.622678397 0.377321603
+0.623655914 0.376344086
+0.624633431 0.375366569
+0.625610948 0.374389052
+0.626588465 0.373411535
+0.627565982 0.372434018
+0.628543500 0.371456500
+0.629521017 0.370478983
+0.630498534 0.369501466
+0.631476051 0.368523949
+0.632453568 0.367546432
+0.633431085 0.366568915
+0.634408602 0.365591398
+0.635386119 0.364613881
+0.636363636 0.363636364
+0.637341153 0.362658847
+0.638318671 0.361681329
+0.639296188 0.360703812
+0.640273705 0.359726295
+0.641251222 0.358748778
+0.642228739 0.357771261
+0.643206256 0.356793744
+0.644183773 0.355816227
+0.645161290 0.354838710
+0.646138807 0.353861193
+0.647116325 0.352883675
+0.648093842 0.351906158
+0.649071359 0.350928641
+0.650048876 0.349951124
+0.651026393 0.348973607
+0.652003910 0.347996090
+0.652981427 0.347018573
+0.653958944 0.346041056
+0.654936461 0.345063539
+0.655913978 0.344086022
+0.656891496 0.343108504
+0.657869013 0.342130987
+0.658846530 0.341153470
+0.659824047 0.340175953
+0.660801564 0.339198436
+0.661779081 0.338220919
+0.662756598 0.337243402
+0.663734115 0.336265885
+0.664711632 0.335288368
+0.665689150 0.334310850
+0.666666667 0.333333333
+0.667644184 0.332355816
+0.668621701 0.331378299
+0.669599218 0.330400782
+0.670576735 0.329423265
+0.671554252 0.328445748
+0.672531769 0.327468231
+0.673509286 0.326490714
+0.674486804 0.325513196
+0.675464321 0.324535679
+0.676441838 0.323558162
+0.677419355 0.322580645
+0.678396872 0.321603128
+0.679374389 0.320625611
+0.680351906 0.319648094
+0.681329423 0.318670577
+0.682306940 0.317693060
+0.683284457 0.316715543
+0.684261975 0.315738025
+0.685239492 0.314760508
+0.686217009 0.313782991
+0.687194526 0.312805474
+0.688172043 0.311827957
+0.689149560 0.310850440
+0.690127077 0.309872923
+0.691104594 0.308895406
+0.692082111 0.307917889
+0.693059629 0.306940371
+0.694037146 0.305962854
+0.695014663 0.304985337
+0.695992180 0.304007820
+0.696969697 0.303030303
+0.697947214 0.302052786
+0.698924731 0.301075269
+0.699902248 0.300097752
+0.700879765 0.299120235
+0.701857283 0.298142717
+0.702834800 0.297165200
+0.703812317 0.296187683
+0.704789834 0.295210166
+0.705767351 0.294232649
+0.706744868 0.293255132
+0.707722385 0.292277615
+0.708699902 0.291300098
+0.709677419 0.290322581
+0.710654936 0.289345064
+0.711632454 0.288367546
+0.712609971 0.287390029
+0.713587488 0.286412512
+0.714565005 0.285434995
+0.715542522 0.284457478
+0.716520039 0.283479961
+0.717497556 0.282502444
+0.718475073 0.281524927
+0.719452590 0.280547410
+0.720430108 0.279569892
+0.721407625 0.278592375
+0.722385142 0.277614858
+0.723362659 0.276637341
+0.724340176 0.275659824
+0.725317693 0.274682307
+0.726295210 0.273704790
+0.727272727 0.272727273
+0.728250244 0.271749756
+0.729227761 0.270772239
+0.730205279 0.269794721
+0.731182796 0.268817204
+0.732160313 0.267839687
+0.733137830 0.266862170
+0.734115347 0.265884653
+0.735092864 0.264907136
+0.736070381 0.263929619
+0.737047898 0.262952102
+0.738025415 0.261974585
+0.739002933 0.260997067
+0.739980450 0.260019550
+0.740957967 0.259042033
+0.741935484 0.258064516
+0.742913001 0.257086999
+0.743890518 0.256109482
+0.744868035 0.255131965
+0.745845552 0.254154448
+0.746823069 0.253176931
+0.747800587 0.252199413
+0.748778104 0.251221896
+0.749755621 0.250244379
+0.750733138 0.250000000
+0.751710655 0.250000000
+0.752688172 0.250000000
+0.753665689 0.250000000
+0.754643206 0.250000000
+0.755620723 0.250000000
+0.756598240 0.250000000
+0.757575758 0.250000000
+0.758553275 0.250000000
+0.759530792 0.250000000
+0.760508309 0.250000000
+0.761485826 0.250000000
+0.762463343 0.250000000
+0.763440860 0.250000000
+0.764418377 0.250000000
+0.765395894 0.250000000
+0.766373412 0.250000000
+0.767350929 0.250000000
+0.768328446 0.250000000
+0.769305963 0.250000000
+0.770283480 0.250000000
+0.771260997 0.250000000
+0.772238514 0.250000000
+0.773216031 0.250000000
+0.774193548 0.250000000
+0.775171065 0.250000000
+0.776148583 0.250000000
+0.777126100 0.250000000
+0.778103617 0.250000000
+0.779081134 0.250000000
+0.780058651 0.250000000
+0.781036168 0.250000000
+0.782013685 0.250000000
+0.782991202 0.250000000
+0.783968719 0.250000000
+0.784946237 0.250000000
+0.785923754 0.250000000
+0.786901271 0.250000000
+0.787878788 0.250000000
+0.788856305 0.250000000
+0.789833822 0.250000000
+0.790811339 0.250000000
+0.791788856 0.250000000
+0.792766373 0.250000000
+0.793743891 0.250000000
+0.794721408 0.250000000
+0.795698925 0.250000000
+0.796676442 0.250000000
+0.797653959 0.250000000
+0.798631476 0.250000000
+0.799608993 0.250000000
+0.800586510 0.250000000
+0.801564027 0.250000000
+0.802541544 0.250000000
+0.803519062 0.250000000
+0.804496579 0.250000000
+0.805474096 0.250000000
+0.806451613 0.250000000
+0.807429130 0.250000000
+0.808406647 0.250000000
+0.809384164 0.250000000
+0.810361681 0.250000000
+0.811339198 0.250000000
+0.812316716 0.250000000
+0.813294233 0.250000000
+0.814271750 0.250000000
+0.815249267 0.250000000
+0.816226784 0.250000000
+0.817204301 0.250000000
+0.818181818 0.250000000
+0.819159335 0.250000000
+0.820136852 0.250000000
+0.821114370 0.250000000
+0.822091887 0.250000000
+0.823069404 0.250000000
+0.824046921 0.250000000
+0.825024438 0.250000000
+0.826001955 0.250000000
+0.826979472 0.250000000
+0.827956989 0.250000000
+0.828934506 0.250000000
+0.829912023 0.250000000
+0.830889541 0.250000000
+0.831867058 0.250000000
+0.832844575 0.250000000
+0.833822092 0.250000000
+0.834799609 0.250000000
+0.835777126 0.250000000
+0.836754643 0.250000000
+0.837732160 0.250000000
+0.838709677 0.250000000
+0.839687195 0.250000000
+0.840664712 0.250000000
+0.841642229 0.250000000
+0.842619746 0.250000000
+0.843597263 0.250000000
+0.844574780 0.250000000
+0.845552297 0.250000000
+0.846529814 0.250000000
+0.847507331 0.250000000
+0.848484848 0.250000000
+0.849462366 0.250000000
+0.850439883 0.250000000
+0.851417400 0.250000000
+0.852394917 0.250000000
+0.853372434 0.250000000
+0.854349951 0.250000000
+0.855327468 0.250000000
+0.856304985 0.250000000
+0.857282502 0.250000000
+0.858260020 0.250000000
+0.859237537 0.250000000
+0.860215054 0.250000000
+0.861192571 0.250000000
+0.862170088 0.250000000
+0.863147605 0.250000000
+0.864125122 0.250000000
+0.865102639 0.250000000
+0.866080156 0.250000000
+0.867057674 0.250000000
+0.868035191 0.250000000
+0.869012708 0.250000000
+0.869990225 0.250000000
+0.870967742 0.250000000
+0.871945259 0.250000000
+0.872922776 0.250000000
+0.873900293 0.250000000
+0.874877810 0.250000000
+0.875855327 0.250000000
+0.876832845 0.250000000
+0.877810362 0.250000000
+0.878787879 0.250000000
+0.879765396 0.250000000
+0.880742913 0.250000000
+0.881720430 0.250000000
+0.882697947 0.250000000
+0.883675464 0.250000000
+0.884652981 0.250000000
+0.885630499 0.250000000
+0.886608016 0.250000000
+0.887585533 0.250000000
+0.888563050 0.250000000
+0.889540567 0.250000000
+0.890518084 0.250000000
+0.891495601 0.250000000
+0.892473118 0.250000000
+0.893450635 0.250000000
+0.894428152 0.250000000
+0.895405670 0.250000000
+0.896383187 0.250000000
+0.897360704 0.250000000
+0.898338221 0.250000000
+0.899315738 0.250000000
+0.900293255 0.250000000
+0.901270772 0.250000000
+0.902248289 0.250000000
+0.903225806 0.250000000
+0.904203324 0.250000000
+0.905180841 0.250000000
+0.906158358 0.250000000
+0.907135875 0.250000000
+0.908113392 0.250000000
+0.909090909 0.250000000
+0.910068426 0.250000000
+0.911045943 0.250000000
+0.912023460 0.250000000
+0.913000978 0.250000000
+0.913978495 0.250000000
+0.914956012 0.250000000
+0.915933529 0.250000000
+0.916911046 0.250000000
+0.917888563 0.250000000
+0.918866080 0.250000000
+0.919843597 0.250000000
+0.920821114 0.250000000
+0.921798631 0.250000000
+0.922776149 0.250000000
+0.923753666 0.250000000
+0.924731183 0.250000000
+0.925708700 0.250000000
+0.926686217 0.250000000
+0.927663734 0.250000000
+0.928641251 0.250000000
+0.929618768 0.250000000
+0.930596285 0.250000000
+0.931573803 0.250000000
+0.932551320 0.250000000
+0.933528837 0.250000000
+0.934506354 0.250000000
+0.935483871 0.250000000
+0.936461388 0.250000000
+0.937438905 0.250000000
+0.938416422 0.250000000
+0.939393939 0.250000000
+0.940371457 0.250000000
+0.941348974 0.250000000
+0.942326491 0.250000000
+0.943304008 0.250000000
+0.944281525 0.250000000
+0.945259042 0.250000000
+0.946236559 0.250000000
+0.947214076 0.250000000
+0.948191593 0.250000000
+0.949169110 0.250000000
+0.950146628 0.250000000
+0.951124145 0.250000000
+0.952101662 0.250000000
+0.953079179 0.250000000
+0.954056696 0.250000000
+0.955034213 0.250000000
+0.956011730 0.250000000
+0.956989247 0.250000000
+0.957966764 0.250000000
+0.958944282 0.250000000
+0.959921799 0.250000000
+0.960899316 0.250000000
+0.961876833 0.250000000
+0.962854350 0.250000000
+0.963831867 0.250000000
+0.964809384 0.250000000
+0.965786901 0.250000000
+0.966764418 0.250000000
+0.967741935 0.250000000
+0.968719453 0.250000000
+0.969696970 0.250000000
+0.970674487 0.250000000
+0.971652004 0.250000000
+0.972629521 0.250000000
+0.973607038 0.250000000
+0.974584555 0.250000000
+0.975562072 0.250000000
+0.976539589 0.250000000
+0.977517107 0.250000000
+0.978494624 0.250000000
+0.979472141 0.250000000
+0.980449658 0.250000000
+0.981427175 0.250000000
+0.982404692 0.250000000
+0.983382209 0.250000000
+0.984359726 0.250000000
+0.985337243 0.250000000
+0.986314761 0.250000000
+0.987292278 0.250000000
+0.988269795 0.250000000
+0.989247312 0.250000000
+0.990224829 0.250000000
+0.991202346 0.250000000
+0.992179863 0.250000000
+0.993157380 0.250000000
+0.994134897 0.250000000
+0.995112414 0.250000000
+0.996089932 0.250000000
+0.997067449 0.250000000
+0.998044966 0.250000000
+0.999022483 0.250000000
+1.000000000 nan
diff --git a/examples/takagi-sugeno/SimpleDimmer.fll b/examples/takagi-sugeno/SimpleDimmer.fll
index 038c785..f08e563 100644
--- a/examples/takagi-sugeno/SimpleDimmer.fll
+++ b/examples/takagi-sugeno/SimpleDimmer.fll
@@ -1,18 +1,19 @@
-Engine: simple-dimmer
+Engine: SimpleDimmer
InputVariable: Ambient
enabled: true
range: 0.000 1.000
+ lock-range: false
term: DARK Triangle 0.000 0.250 0.500
term: MEDIUM Triangle 0.250 0.500 0.750
term: BRIGHT Triangle 0.500 0.750 1.000
OutputVariable: Power
enabled: true
range: 0.000 1.000
- accumulation: none
+ lock-range: false
+ aggregation: none
defuzzifier: WeightedAverage TakagiSugeno
default: nan
lock-previous: false
- lock-range: false
term: LOW Constant 0.250
term: MEDIUM Constant 0.500
term: HIGH Constant 0.750
@@ -20,7 +21,8 @@ RuleBlock:
enabled: true
conjunction: none
disjunction: none
- activation: none
+ implication: none
+ activation: General
rule: if Ambient is DARK then Power is HIGH
rule: if Ambient is MEDIUM then Power is MEDIUM
rule: if Ambient is BRIGHT then Power is LOW \ No newline at end of file
diff --git a/examples/takagi-sugeno/SimpleDimmer.java b/examples/takagi-sugeno/SimpleDimmer.java
index 6d60f0e..c3c53e9 100644
--- a/examples/takagi-sugeno/SimpleDimmer.java
+++ b/examples/takagi-sugeno/SimpleDimmer.java
@@ -1,4 +1,5 @@
import com.fuzzylite.*;
+import com.fuzzylite.activation.*
import com.fuzzylite.defuzzifier.*;
import com.fuzzylite.factory.*;
import com.fuzzylite.hedge.*;
@@ -12,38 +13,46 @@ import com.fuzzylite.variable.*;
public class SimpleDimmer{
public static void main(String[] args){
+//Code automatically generated with fuzzylite 6.0.
+
Engine engine = new Engine();
-engine.setName("simple-dimmer");
+engine.setName("SimpleDimmer");
+engine.setDescription("");
-InputVariable inputVariable = new InputVariable();
-inputVariable.setEnabled(true);
-inputVariable.setName("Ambient");
-inputVariable.setRange(0.000, 1.000);
-inputVariable.addTerm(new Triangle("DARK", 0.000, 0.250, 0.500));
-inputVariable.addTerm(new Triangle("MEDIUM", 0.250, 0.500, 0.750));
-inputVariable.addTerm(new Triangle("BRIGHT", 0.500, 0.750, 1.000));
-engine.addInputVariable(inputVariable);
+InputVariable Ambient = new InputVariable();
+Ambient.setName("Ambient");
+Ambient.setDescription("");
+Ambient.setEnabled(true);
+Ambient.setRange(0.000, 1.000);
+Ambient.setLockValueInRange(false);
+Ambient.addTerm(new Triangle("DARK", 0.000, 0.250, 0.500));
+Ambient.addTerm(new Triangle("MEDIUM", 0.250, 0.500, 0.750));
+Ambient.addTerm(new Triangle("BRIGHT", 0.500, 0.750, 1.000));
+engine.addInputVariable(Ambient);
-OutputVariable outputVariable = new OutputVariable();
-outputVariable.setEnabled(true);
-outputVariable.setName("Power");
-outputVariable.setRange(0.000, 1.000);
-outputVariable.fuzzyOutput().setAccumulation(null);
-outputVariable.setDefuzzifier(new WeightedAverage("TakagiSugeno"));
-outputVariable.setDefaultValue(Double.NaN);
-outputVariable.setLockPreviousOutputValue(false);
-outputVariable.setLockOutputValueInRange(false);
-outputVariable.addTerm(new Constant("LOW", 0.250));
-outputVariable.addTerm(new Constant("MEDIUM", 0.500));
-outputVariable.addTerm(new Constant("HIGH", 0.750));
-engine.addOutputVariable(outputVariable);
+OutputVariable Power = new OutputVariable();
+Power.setName("Power");
+Power.setDescription("");
+Power.setEnabled(true);
+Power.setRange(0.000, 1.000);
+Power.setLockValueInRange(false);
+Power.setAggregation(null);
+Power.setDefuzzifier(new WeightedAverage("TakagiSugeno"));
+Power.setDefaultValue(Double.NaN);
+Power.setLockPreviousValue(false);
+Power.addTerm(new Constant("LOW", 0.250));
+Power.addTerm(new Constant("MEDIUM", 0.500));
+Power.addTerm(new Constant("HIGH", 0.750));
+engine.addOutputVariable(Power);
RuleBlock ruleBlock = new RuleBlock();
-ruleBlock.setEnabled(true);
ruleBlock.setName("");
+ruleBlock.setDescription("");
+ruleBlock.setEnabled(true);
ruleBlock.setConjunction(null);
ruleBlock.setDisjunction(null);
-ruleBlock.setActivation(null);
+ruleBlock.setImplication(null);
+ruleBlock.setActivation(new General());
ruleBlock.addRule(Rule.parse("if Ambient is DARK then Power is HIGH", engine));
ruleBlock.addRule(Rule.parse("if Ambient is MEDIUM then Power is MEDIUM", engine));
ruleBlock.addRule(Rule.parse("if Ambient is BRIGHT then Power is LOW", engine));
diff --git a/examples/takagi-sugeno/SimpleDimmer.pdf b/examples/takagi-sugeno/SimpleDimmer.pdf
new file mode 100644
index 0000000..f35dec9
--- /dev/null
+++ b/examples/takagi-sugeno/SimpleDimmer.pdf
Binary files differ
diff --git a/examples/takagi-sugeno/approximation.R b/examples/takagi-sugeno/approximation.R
new file mode 100644
index 0000000..89c0654
--- /dev/null
+++ b/examples/takagi-sugeno/approximation.R
@@ -0,0 +1,119 @@
+#Code automatically generated with fuzzylite 6.0.
+
+library(ggplot2);
+
+engine.name = "approximation"
+engine.fll = "Engine: approximation
+InputVariable: inputX
+ enabled: true
+ range: 0.000 10.000
+ lock-range: false
+ term: NEAR_1 Triangle 0.000 1.000 2.000
+ term: NEAR_2 Triangle 1.000 2.000 3.000
+ term: NEAR_3 Triangle 2.000 3.000 4.000
+ term: NEAR_4 Triangle 3.000 4.000 5.000
+ term: NEAR_5 Triangle 4.000 5.000 6.000
+ term: NEAR_6 Triangle 5.000 6.000 7.000
+ term: NEAR_7 Triangle 6.000 7.000 8.000
+ term: NEAR_8 Triangle 7.000 8.000 9.000
+ term: NEAR_9 Triangle 8.000 9.000 10.000
+OutputVariable: outputFx
+ enabled: true
+ range: -1.000 1.000
+ lock-range: false
+ aggregation: none
+ defuzzifier: WeightedAverage TakagiSugeno
+ default: nan
+ lock-previous: true
+ term: f1 Constant 0.840
+ term: f2 Constant 0.450
+ term: f3 Constant 0.040
+ term: f4 Constant -0.180
+ term: f5 Constant -0.190
+ term: f6 Constant -0.040
+ term: f7 Constant 0.090
+ term: f8 Constant 0.120
+ term: f9 Constant 0.040
+OutputVariable: trueFx
+ enabled: true
+ range: -1.000 1.000
+ lock-range: false
+ aggregation: none
+ defuzzifier: WeightedAverage Automatic
+ default: nan
+ lock-previous: true
+ term: fx Function sin(inputX)/inputX
+OutputVariable: diffFx
+ enabled: true
+ range: -1.000 1.000
+ lock-range: false
+ aggregation: none
+ defuzzifier: WeightedAverage Automatic
+ default: nan
+ lock-previous: false
+ term: diff Function fabs(outputFx-trueFx)
+RuleBlock:
+ enabled: true
+ conjunction: none
+ disjunction: none
+ implication: none
+ activation: General
+ rule: if inputX is NEAR_1 then outputFx is f1
+ rule: if inputX is NEAR_2 then outputFx is f2
+ rule: if inputX is NEAR_3 then outputFx is f3
+ rule: if inputX is NEAR_4 then outputFx is f4
+ rule: if inputX is NEAR_5 then outputFx is f5
+ rule: if inputX is NEAR_6 then outputFx is f6
+ rule: if inputX is NEAR_7 then outputFx is f7
+ rule: if inputX is NEAR_8 then outputFx is f8
+ rule: if inputX is NEAR_9 then outputFx is f9
+ rule: if inputX is any then trueFx is fx and diffFx is diff"
+
+engine.fldFile = "approximation.fld"
+if (require(data.table)) {
+ engine.df = data.table::fread(engine.fldFile, sep="auto", header="auto")
+} else {
+ engine.df = read.table(engine.fldFile, header=TRUE)
+}
+
+engine.plot.i1_o1 = ggplot(engine.df, aes(inputX, outputFx)) +
+ geom_line(aes(color=outputFx), size=3, lineend="round", linejoin="mitre") +
+ scale_color_gradient(low="yellow", high="red") +
+ ggtitle("inputX vs outputFx")
+
+engine.plot.o1_i1 = ggplot(engine.df, aes(inputX, outputFx)) +
+ geom_line(aes(color=outputFx), size=3, lineend="round", linejoin="mitre") +
+ scale_color_gradient(low="yellow", high="red") +
+ coord_flip() +
+ ggtitle("outputFx vs inputX")
+
+engine.plot.i1_o2 = ggplot(engine.df, aes(inputX, trueFx)) +
+ geom_line(aes(color=trueFx), size=3, lineend="round", linejoin="mitre") +
+ scale_color_gradient(low="yellow", high="red") +
+ ggtitle("inputX vs trueFx")
+
+engine.plot.o2_i1 = ggplot(engine.df, aes(inputX, trueFx)) +
+ geom_line(aes(color=trueFx), size=3, lineend="round", linejoin="mitre") +
+ scale_color_gradient(low="yellow", high="red") +
+ coord_flip() +
+ ggtitle("trueFx vs inputX")
+
+engine.plot.i1_o3 = ggplot(engine.df, aes(inputX, diffFx)) +
+ geom_line(aes(color=diffFx), size=3, lineend="round", linejoin="mitre") +
+ scale_color_gradient(low="yellow", high="red") +
+ ggtitle("inputX vs diffFx")
+
+engine.plot.o3_i1 = ggplot(engine.df, aes(inputX, diffFx)) +
+ geom_line(aes(color=diffFx), size=3, lineend="round", linejoin="mitre") +
+ scale_color_gradient(low="yellow", high="red") +
+ coord_flip() +
+ ggtitle("diffFx vs inputX")
+
+if (require(gridExtra)) {
+ engine.plots = arrangeGrob(engine.plot.i1_o1, engine.plot.o1_i1, engine.plot.i1_o2, engine.plot.o2_i1, engine.plot.i1_o3, engine.plot.o3_i1, ncol=2, top=engine.name)
+ ggsave(paste0(engine.name, ".pdf"), engine.plots)
+ if (require(grid)) {
+ grid.newpage()
+ grid.draw(engine.plots)
+ }
+}
diff --git a/examples/takagi-sugeno/approximation.cpp b/examples/takagi-sugeno/approximation.cpp
index 178f162..da0a307 100644
--- a/examples/takagi-sugeno/approximation.cpp
+++ b/examples/takagi-sugeno/approximation.cpp
@@ -1,86 +1,96 @@
#include <fl/Headers.h>
int main(int argc, char** argv){
+//Code automatically generated with fuzzylite 6.0.
+
using namespace fl;
Engine* engine = new Engine;
-engine->setName("approximation of sin(x)/x");
+engine->setName("approximation");
+engine->setDescription("");
-InputVariable* inputVariable = new InputVariable;
-inputVariable->setEnabled(true);
-inputVariable->setName("inputX");
-inputVariable->setRange(0.000, 10.000);
-inputVariable->addTerm(new Triangle("NEAR_1", 0.000, 1.000, 2.000));
-inputVariable->addTerm(new Triangle("NEAR_2", 1.000, 2.000, 3.000));
-inputVariable->addTerm(new Triangle("NEAR_3", 2.000, 3.000, 4.000));
-inputVariable->addTerm(new Triangle("NEAR_4", 3.000, 4.000, 5.000));
-inputVariable->addTerm(new Triangle("NEAR_5", 4.000, 5.000, 6.000));
-inputVariable->addTerm(new Triangle("NEAR_6", 5.000, 6.000, 7.000));
-inputVariable->addTerm(new Triangle("NEAR_7", 6.000, 7.000, 8.000));
-inputVariable->addTerm(new Triangle("NEAR_8", 7.000, 8.000, 9.000));
-inputVariable->addTerm(new Triangle("NEAR_9", 8.000, 9.000, 10.000));
-engine->addInputVariable(inputVariable);
+InputVariable* inputX = new InputVariable;
+inputX->setName("inputX");
+inputX->setDescription("");
+inputX->setEnabled(true);
+inputX->setRange(0.000, 10.000);
+inputX->setLockValueInRange(false);
+inputX->addTerm(new Triangle("NEAR_1", 0.000, 1.000, 2.000));
+inputX->addTerm(new Triangle("NEAR_2", 1.000, 2.000, 3.000));
+inputX->addTerm(new Triangle("NEAR_3", 2.000, 3.000, 4.000));
+inputX->addTerm(new Triangle("NEAR_4", 3.000, 4.000, 5.000));
+inputX->addTerm(new Triangle("NEAR_5", 4.000, 5.000, 6.000));
+inputX->addTerm(new Triangle("NEAR_6", 5.000, 6.000, 7.000));
+inputX->addTerm(new Triangle("NEAR_7", 6.000, 7.000, 8.000));
+inputX->addTerm(new Triangle("NEAR_8", 7.000, 8.000, 9.000));
+inputX->addTerm(new Triangle("NEAR_9", 8.000, 9.000, 10.000));
+engine->addInputVariable(inputX);
-OutputVariable* outputVariable1 = new OutputVariable;
-outputVariable1->setEnabled(true);
-outputVariable1->setName("outputFx");
-outputVariable1->setRange(-1.000, 1.000);
-outputVariable1->fuzzyOutput()->setAccumulation(fl::null);
-outputVariable1->setDefuzzifier(new WeightedAverage("TakagiSugeno"));
-outputVariable1->setDefaultValue(fl::nan);
-outputVariable1->setLockPreviousOutputValue(true);
-outputVariable1->setLockOutputValueInRange(false);
-outputVariable1->addTerm(new Constant("f1", 0.840));
-outputVariable1->addTerm(new Constant("f2", 0.450));
-outputVariable1->addTerm(new Constant("f3", 0.040));
-outputVariable1->addTerm(new Constant("f4", -0.180));
-outputVariable1->addTerm(new Constant("f5", -0.190));
-outputVariable1->addTerm(new Constant("f6", -0.040));
-outputVariable1->addTerm(new Constant("f7", 0.090));
-outputVariable1->addTerm(new Constant("f8", 0.120));
-outputVariable1->addTerm(new Constant("f9", 0.040));
-engine->addOutputVariable(outputVariable1);
+OutputVariable* outputFx = new OutputVariable;
+outputFx->setName("outputFx");
+outputFx->setDescription("");
+outputFx->setEnabled(true);
+outputFx->setRange(-1.000, 1.000);
+outputFx->setLockValueInRange(false);
+outputFx->setAggregation(fl::null);
+outputFx->setDefuzzifier(new WeightedAverage("TakagiSugeno"));
+outputFx->setDefaultValue(fl::nan);
+outputFx->setLockPreviousValue(true);
+outputFx->addTerm(new Constant("f1", 0.840));
+outputFx->addTerm(new Constant("f2", 0.450));
+outputFx->addTerm(new Constant("f3", 0.040));
+outputFx->addTerm(new Constant("f4", -0.180));
+outputFx->addTerm(new Constant("f5", -0.190));
+outputFx->addTerm(new Constant("f6", -0.040));
+outputFx->addTerm(new Constant("f7", 0.090));
+outputFx->addTerm(new Constant("f8", 0.120));
+outputFx->addTerm(new Constant("f9", 0.040));
+engine->addOutputVariable(outputFx);
-OutputVariable* outputVariable2 = new OutputVariable;
-outputVariable2->setEnabled(true);
-outputVariable2->setName("trueFx");
-outputVariable2->setRange(-1.000, 1.000);
-outputVariable2->fuzzyOutput()->setAccumulation(fl::null);
-outputVariable2->setDefuzzifier(new WeightedAverage("Automatic"));
-outputVariable2->setDefaultValue(fl::nan);
-outputVariable2->setLockPreviousOutputValue(true);
-outputVariable2->setLockOutputValueInRange(false);
-outputVariable2->addTerm(Function::create("fx", "sin(inputX)/inputX", engine));
-engine->addOutputVariable(outputVariable2);
+OutputVariable* trueFx = new OutputVariable;
+trueFx->setName("trueFx");
+trueFx->setDescription("");
+trueFx->setEnabled(true);
+trueFx->setRange(-1.000, 1.000);
+trueFx->setLockValueInRange(false);
+trueFx->setAggregation(fl::null);
+trueFx->setDefuzzifier(new WeightedAverage("Automatic"));
+trueFx->setDefaultValue(fl::nan);
+trueFx->setLockPreviousValue(true);
+trueFx->addTerm(Function::create("fx", "sin(inputX)/inputX", engine));
+engine->addOutputVariable(trueFx);
-OutputVariable* outputVariable3 = new OutputVariable;
-outputVariable3->setEnabled(true);
-outputVariable3->setName("diffFx");
-outputVariable3->setRange(-1.000, 1.000);
-outputVariable3->fuzzyOutput()->setAccumulation(fl::null);
-outputVariable3->setDefuzzifier(new WeightedAverage("Automatic"));
-outputVariable3->setDefaultValue(fl::nan);
-outputVariable3->setLockPreviousOutputValue(false);
-outputVariable3->setLockOutputValueInRange(false);
-outputVariable3->addTerm(Function::create("diff", "fabs(outputFx-trueFx)", engine));
-engine->addOutputVariable(outputVariable3);
+OutputVariable* diffFx = new OutputVariable;
+diffFx->setName("diffFx");
+diffFx->setDescription("");
+diffFx->setEnabled(true);
+diffFx->setRange(-1.000, 1.000);
+diffFx->setLockValueInRange(false);
+diffFx->setAggregation(fl::null);
+diffFx->setDefuzzifier(new WeightedAverage("Automatic"));
+diffFx->setDefaultValue(fl::nan);
+diffFx->setLockPreviousValue(false);
+diffFx->addTerm(Function::create("diff", "fabs(outputFx-trueFx)", engine));
+engine->addOutputVariable(diffFx);
RuleBlock* ruleBlock = new RuleBlock;
-ruleBlock->setEnabled(true);
ruleBlock->setName("");
+ruleBlock->setDescription("");
+ruleBlock->setEnabled(true);
ruleBlock->setConjunction(fl::null);
ruleBlock->setDisjunction(fl::null);
-ruleBlock->setActivation(fl::null);
-ruleBlock->addRule(fl::Rule::parse("if inputX is NEAR_1 then outputFx is f1", engine));
-ruleBlock->addRule(fl::Rule::parse("if inputX is NEAR_2 then outputFx is f2", engine));
-ruleBlock->addRule(fl::Rule::parse("if inputX is NEAR_3 then outputFx is f3", engine));
-ruleBlock->addRule(fl::Rule::parse("if inputX is NEAR_4 then outputFx is f4", engine));
-ruleBlock->addRule(fl::Rule::parse("if inputX is NEAR_5 then outputFx is f5", engine));
-ruleBlock->addRule(fl::Rule::parse("if inputX is NEAR_6 then outputFx is f6", engine));
-ruleBlock->addRule(fl::Rule::parse("if inputX is NEAR_7 then outputFx is f7", engine));
-ruleBlock->addRule(fl::Rule::parse("if inputX is NEAR_8 then outputFx is f8", engine));
-ruleBlock->addRule(fl::Rule::parse("if inputX is NEAR_9 then outputFx is f9", engine));
-ruleBlock->addRule(fl::Rule::parse("if inputX is any then trueFx is fx and diffFx is diff", engine));
+ruleBlock->setImplication(fl::null);
+ruleBlock->setActivation(new General);
+ruleBlock->addRule(Rule::parse("if inputX is NEAR_1 then outputFx is f1", engine));
+ruleBlock->addRule(Rule::parse("if inputX is NEAR_2 then outputFx is f2", engine));
+ruleBlock->addRule(Rule::parse("if inputX is NEAR_3 then outputFx is f3", engine));
+ruleBlock->addRule(Rule::parse("if inputX is NEAR_4 then outputFx is f4", engine));
+ruleBlock->addRule(Rule::parse("if inputX is NEAR_5 then outputFx is f5", engine));
+ruleBlock->addRule(Rule::parse("if inputX is NEAR_6 then outputFx is f6", engine));
+ruleBlock->addRule(Rule::parse("if inputX is NEAR_7 then outputFx is f7", engine));
+ruleBlock->addRule(Rule::parse("if inputX is NEAR_8 then outputFx is f8", engine));
+ruleBlock->addRule(Rule::parse("if inputX is NEAR_9 then outputFx is f9", engine));
+ruleBlock->addRule(Rule::parse("if inputX is any then trueFx is fx and diffFx is diff", engine));
engine->addRuleBlock(ruleBlock);
diff --git a/examples/takagi-sugeno/approximation.fcl b/examples/takagi-sugeno/approximation.fcl
index 8b5f121..6bf285d 100644
--- a/examples/takagi-sugeno/approximation.fcl
+++ b/examples/takagi-sugeno/approximation.fcl
@@ -1,4 +1,6 @@
-FUNCTION_BLOCK approximation of sin(x)/x
+//Code automatically generated with fuzzylite 6.0.
+
+FUNCTION_BLOCK approximation
VAR_INPUT
inputX: REAL;
diff --git a/examples/takagi-sugeno/approximation.fis b/examples/takagi-sugeno/approximation.fis
index 73075bc..2fcbc8d 100644
--- a/examples/takagi-sugeno/approximation.fis
+++ b/examples/takagi-sugeno/approximation.fis
@@ -1,13 +1,16 @@
+#Code automatically generated with fuzzylite 6.0.
+
[System]
-Name='approximation of sin(x)/x'
+Name='approximation'
Type='sugeno'
+Version=6.0
NumInputs=1
NumOutputs=3
NumRules=10
-AndMethod=''
-OrMethod=''
-ImpMethod=''
-AggMethod=''
+AndMethod='min'
+OrMethod='max'
+ImpMethod='min'
+AggMethod='max'
DefuzzMethod='wtaver'
[Input1]
@@ -27,7 +30,6 @@ MF9='NEAR_9':'trimf',[8.000 9.000 10.000]
[Output1]
Name='outputFx'
Range=[-1.000 1.000]
-LockPrevious=1
NumMFs=9
MF1='f1':'constant',[0.840]
MF2='f2':'constant',[0.450]
@@ -42,7 +44,6 @@ MF9='f9':'constant',[0.040]
[Output2]
Name='trueFx'
Range=[-1.000 1.000]
-LockPrevious=1
NumMFs=1
MF1='fx':'function',[sin(inputX)/inputX]
diff --git a/examples/takagi-sugeno/approximation.fld b/examples/takagi-sugeno/approximation.fld
index 36bdbd8..1f3ba00 100644
--- a/examples/takagi-sugeno/approximation.fld
+++ b/examples/takagi-sugeno/approximation.fld
@@ -1,1026 +1,1025 @@
-#@Engine: approximation of sin(x)/x;
-#@InputVariable: inputX; @OutputVariable: outputFx; @OutputVariable: trueFx; @OutputVariable: diffFx;
-0.00000000 nan nan nan
-0.00977517 0.84000000 0.99998407 0.15998407
-0.01955034 0.84000000 0.99993630 0.15993630
-0.02932551 0.84000000 0.99985668 0.15985668
-0.03910068 0.84000000 0.99974521 0.15974521
-0.04887586 0.84000000 0.99960191 0.15960191
-0.05865103 0.84000000 0.99942677 0.15942677
-0.06842620 0.84000000 0.99921983 0.15921983
-0.07820137 0.84000000 0.99898107 0.15898107
-0.08797654 0.84000000 0.99871052 0.15871052
-0.09775171 0.84000000 0.99840819 0.15840819
-0.10752688 0.84000000 0.99807411 0.15807411
-0.11730205 0.84000000 0.99770828 0.15770828
-0.12707722 0.84000000 0.99731074 0.15731074
-0.13685239 0.84000000 0.99688149 0.15688149
-0.14662757 0.84000000 0.99642058 0.15642058
-0.15640274 0.84000000 0.99592801 0.15592801
-0.16617791 0.84000000 0.99540383 0.15540383
-0.17595308 0.84000000 0.99484807 0.15484807
-0.18572825 0.84000000 0.99426074 0.15426074
-0.19550342 0.84000000 0.99364190 0.15364190
-0.20527859 0.84000000 0.99299157 0.15299157
-0.21505376 0.84000000 0.99230978 0.15230978
-0.22482893 0.84000000 0.99159659 0.15159659
-0.23460411 0.84000000 0.99085203 0.15085203
-0.24437928 0.84000000 0.99007614 0.15007614
-0.25415445 0.84000000 0.98926897 0.14926897
-0.26392962 0.84000000 0.98843056 0.14843056
-0.27370479 0.84000000 0.98756097 0.14756097
-0.28347996 0.84000000 0.98666023 0.14666023
-0.29325513 0.84000000 0.98572841 0.14572841
-0.30303030 0.84000000 0.98476555 0.14476555
-0.31280547 0.84000000 0.98377172 0.14377172
-0.32258065 0.84000000 0.98274697 0.14274697
-0.33235582 0.84000000 0.98169135 0.14169135
-0.34213099 0.84000000 0.98060493 0.14060493
-0.35190616 0.84000000 0.97948777 0.13948777
-0.36168133 0.84000000 0.97833993 0.13833993
-0.37145650 0.84000000 0.97716148 0.13716148
-0.38123167 0.84000000 0.97595249 0.13595249
-0.39100684 0.84000000 0.97471302 0.13471302
-0.40078201 0.84000000 0.97344315 0.13344315
-0.41055718 0.84000000 0.97214295 0.13214295
-0.42033236 0.84000000 0.97081249 0.13081249
-0.43010753 0.84000000 0.96945185 0.12945185
-0.43988270 0.84000000 0.96806111 0.12806111
-0.44965787 0.84000000 0.96664035 0.12664035
-0.45943304 0.84000000 0.96518964 0.12518964
-0.46920821 0.84000000 0.96370907 0.12370907
-0.47898338 0.84000000 0.96219873 0.12219873
-0.48875855 0.84000000 0.96065870 0.12065870
-0.49853372 0.84000000 0.95908907 0.11908907
-0.50830890 0.84000000 0.95748993 0.11748993
-0.51808407 0.84000000 0.95586137 0.11586137
-0.52785924 0.84000000 0.95420348 0.11420348
-0.53763441 0.84000000 0.95251635 0.11251635
-0.54740958 0.84000000 0.95080010 0.11080010
-0.55718475 0.84000000 0.94905480 0.10905480
-0.56695992 0.84000000 0.94728056 0.10728056
-0.57673509 0.84000000 0.94547749 0.10547749
-0.58651026 0.84000000 0.94364568 0.10364568
-0.59628543 0.84000000 0.94178524 0.10178524
-0.60606061 0.84000000 0.93989628 0.09989628
-0.61583578 0.84000000 0.93797889 0.09797889
-0.62561095 0.84000000 0.93603320 0.09603320
-0.63538612 0.84000000 0.93405932 0.09405932
-0.64516129 0.84000000 0.93205734 0.09205734
-0.65493646 0.84000000 0.93002740 0.09002740
-0.66471163 0.84000000 0.92796960 0.08796960
-0.67448680 0.84000000 0.92588406 0.08588406
-0.68426197 0.84000000 0.92377090 0.08377090
-0.69403715 0.84000000 0.92163024 0.08163024
-0.70381232 0.84000000 0.91946220 0.07946220
-0.71358749 0.84000000 0.91726690 0.07726690
-0.72336266 0.84000000 0.91504448 0.07504448
-0.73313783 0.84000000 0.91279505 0.07279505
-0.74291300 0.84000000 0.91051874 0.07051874
-0.75268817 0.84000000 0.90821568 0.06821568
-0.76246334 0.84000000 0.90588601 0.06588601
-0.77223851 0.84000000 0.90352985 0.06352985
-0.78201369 0.84000000 0.90114734 0.06114734
-0.79178886 0.84000000 0.89873861 0.05873861
-0.80156403 0.84000000 0.89630380 0.05630380
-0.81133920 0.84000000 0.89384305 0.05384305
-0.82111437 0.84000000 0.89135649 0.05135649
-0.83088954 0.84000000 0.88884427 0.04884427
-0.84066471 0.84000000 0.88630653 0.04630653
-0.85043988 0.84000000 0.88374342 0.04374342
-0.86021505 0.84000000 0.88115507 0.04115507
-0.86999022 0.84000000 0.87854163 0.03854163
-0.87976540 0.84000000 0.87590326 0.03590326
-0.88954057 0.84000000 0.87324010 0.03324010
-0.89931574 0.84000000 0.87055230 0.03055230
-0.90909091 0.84000000 0.86784001 0.02784001
-0.91886608 0.84000000 0.86510339 0.02510339
-0.92864125 0.84000000 0.86234258 0.02234258
-0.93841642 0.84000000 0.85955775 0.01955775
-0.94819159 0.84000000 0.85674906 0.01674906
-0.95796676 0.84000000 0.85391665 0.01391665
-0.96774194 0.84000000 0.85106070 0.01106070
-0.97751711 0.84000000 0.84818136 0.00818136
-0.98729228 0.84000000 0.84527878 0.00527878
-0.99706745 0.84000000 0.84235315 0.00235315
-1.00684262 0.83733138 0.83940461 0.00207323
-1.01661779 0.83351906 0.83643334 0.00291428
-1.02639296 0.82970674 0.83343951 0.00373276
-1.03616813 0.82589443 0.83042327 0.00452884
-1.04594330 0.82208211 0.82738481 0.00530270
-1.05571848 0.81826979 0.82432428 0.00605449
-1.06549365 0.81445748 0.82124187 0.00678439
-1.07526882 0.81064516 0.81813774 0.00749258
-1.08504399 0.80683284 0.81501207 0.00817923
-1.09481916 0.80302053 0.81186504 0.00884451
-1.10459433 0.79920821 0.80869682 0.00948860
-1.11436950 0.79539589 0.80550758 0.01011168
-1.12414467 0.79158358 0.80229751 0.01071393
-1.13391984 0.78777126 0.79906678 0.01129552
-1.14369501 0.78395894 0.79581558 0.01185663
-1.15347019 0.78014663 0.79254408 0.01239745
-1.16324536 0.77633431 0.78925248 0.01291816
-1.17302053 0.77252199 0.78594094 0.01341895
-1.18279570 0.76870968 0.78260967 0.01389999
-1.19257087 0.76489736 0.77925884 0.01436147
-1.20234604 0.76108504 0.77588863 0.01480359
-1.21212121 0.75727273 0.77249925 0.01522652
-1.22189638 0.75346041 0.76909087 0.01563046
-1.23167155 0.74964809 0.76566369 0.01601559
-1.24144673 0.74583578 0.76221789 0.01638211
-1.25122190 0.74202346 0.75875367 0.01673021
-1.26099707 0.73821114 0.75527122 0.01706007
-1.27077224 0.73439883 0.75177073 0.01737190
-1.28054741 0.73058651 0.74825240 0.01766589
-1.29032258 0.72677419 0.74471642 0.01794222
-1.30009775 0.72296188 0.74116298 0.01820111
-1.30987292 0.71914956 0.73759230 0.01844274
-1.31964809 0.71533724 0.73400455 0.01866731
-1.32942326 0.71152493 0.73039994 0.01887502
-1.33919844 0.70771261 0.72677868 0.01906607
-1.34897361 0.70390029 0.72314095 0.01924066
-1.35874878 0.70008798 0.71948696 0.01939899
-1.36852395 0.69627566 0.71581692 0.01954126
-1.37829912 0.69246334 0.71213102 0.01966767
-1.38807429 0.68865103 0.70842946 0.01977844
-1.39784946 0.68483871 0.70471246 0.01987375
-1.40762463 0.68102639 0.70098021 0.01995382
-1.41739980 0.67721408 0.69723292 0.02001884
-1.42717498 0.67340176 0.69347080 0.02006904
-1.43695015 0.66958944 0.68969405 0.02010461
-1.44672532 0.66577713 0.68590288 0.02012575
-1.45650049 0.66196481 0.68209750 0.02013269
-1.46627566 0.65815249 0.67827811 0.02012562
-1.47605083 0.65434018 0.67444493 0.02010476
-1.48582600 0.65052786 0.67059817 0.02007031
-1.49560117 0.64671554 0.66673803 0.02002249
-1.50537634 0.64290323 0.66286472 0.01996150
-1.51515152 0.63909091 0.65897847 0.01988756
-1.52492669 0.63527859 0.65507947 0.01980088
-1.53470186 0.63146628 0.65116795 0.01970168
-1.54447703 0.62765396 0.64724411 0.01959016
-1.55425220 0.62384164 0.64330818 0.01946653
-1.56402737 0.62002933 0.63936035 0.01933103
-1.57380254 0.61621701 0.63540086 0.01918385
-1.58357771 0.61240469 0.63142990 0.01902521
-1.59335288 0.60859238 0.62744771 0.01885533
-1.60312805 0.60478006 0.62345448 0.01867443
-1.61290323 0.60096774 0.61945045 0.01848271
-1.62267840 0.59715543 0.61543583 0.01828041
-1.63245357 0.59334311 0.61141083 0.01806772
-1.64222874 0.58953079 0.60737568 0.01784488
-1.65200391 0.58571848 0.60333058 0.01761210
-1.66177908 0.58190616 0.59927576 0.01736960
-1.67155425 0.57809384 0.59521144 0.01711760
-1.68132942 0.57428152 0.59113783 0.01685631
-1.69110459 0.57046921 0.58705516 0.01658596
-1.70087977 0.56665689 0.58296365 0.01630676
-1.71065494 0.56284457 0.57886351 0.01601893
-1.72043011 0.55903226 0.57475496 0.01572270
-1.73020528 0.55521994 0.57063823 0.01541829
-1.73998045 0.55140762 0.56651353 0.01510591
-1.74975562 0.54759531 0.56238109 0.01478578
-1.75953079 0.54378299 0.55824113 0.01445814
-1.76930596 0.53997067 0.55409386 0.01412319
-1.77908113 0.53615836 0.54993952 0.01378116
-1.78885630 0.53234604 0.54577832 0.01343228
-1.79863148 0.52853372 0.54161048 0.01307675
-1.80840665 0.52472141 0.53743622 0.01271481
-1.81818182 0.52090909 0.53325577 0.01234668
-1.82795699 0.51709677 0.52906935 0.01197258
-1.83773216 0.51328446 0.52487718 0.01159273
-1.84750733 0.50947214 0.52067949 0.01120735
-1.85728250 0.50565982 0.51647649 0.01081666
-1.86705767 0.50184751 0.51226841 0.01042090
-1.87683284 0.49803519 0.50805546 0.01002027
-1.88660802 0.49422287 0.50383788 0.00961501
-1.89638319 0.49041056 0.49961589 0.00920533
-1.90615836 0.48659824 0.49538970 0.00879146
-1.91593353 0.48278592 0.49115955 0.00837362
-1.92570870 0.47897361 0.48692564 0.00795203
-1.93548387 0.47516129 0.48268821 0.00752692
-1.94525904 0.47134897 0.47844748 0.00709850
-1.95503421 0.46753666 0.47420366 0.00666700
-1.96480938 0.46372434 0.46995699 0.00623265
-1.97458456 0.45991202 0.46570768 0.00579565
-1.98435973 0.45609971 0.46145595 0.00535624
-1.99413490 0.45228739 0.45720203 0.00491464
-2.00391007 0.44839687 0.45294613 0.00454926
-2.01368524 0.44438905 0.44868849 0.00429944
-2.02346041 0.44038123 0.44442931 0.00404808
-2.03323558 0.43637341 0.44016883 0.00379542
-2.04301075 0.43236559 0.43590726 0.00354167
-2.05278592 0.42835777 0.43164482 0.00328705
-2.06256109 0.42434995 0.42738174 0.00303178
-2.07233627 0.42034213 0.42311822 0.00277609
-2.08211144 0.41633431 0.41885450 0.00252019
-2.09188661 0.41232649 0.41459079 0.00226430
-2.10166178 0.40831867 0.41032731 0.00200864
-2.11143695 0.40431085 0.40606429 0.00175344
-2.12121212 0.40030303 0.40180193 0.00149890
-2.13098729 0.39629521 0.39754045 0.00124524
-2.14076246 0.39228739 0.39328009 0.00099270
-2.15053763 0.38827957 0.38902104 0.00074147
-2.16031281 0.38427175 0.38476354 0.00049179
-2.17008798 0.38026393 0.38050779 0.00024386
-2.17986315 0.37625611 0.37625401 0.00000210
-2.18963832 0.37224829 0.37200242 0.00024587
-2.19941349 0.36824047 0.36775324 0.00048723
-2.20918866 0.36423265 0.36350667 0.00072598
-2.21896383 0.36022483 0.35926294 0.00096189
-2.22873900 0.35621701 0.35502225 0.00119476
-2.23851417 0.35220919 0.35078483 0.00142436
-2.24828935 0.34820137 0.34655088 0.00165049
-2.25806452 0.34419355 0.34232062 0.00187293
-2.26783969 0.34018573 0.33809425 0.00209148
-2.27761486 0.33617791 0.33387200 0.00230591
-2.28739003 0.33217009 0.32965407 0.00251602
-2.29716520 0.32816227 0.32544067 0.00272160
-2.30694037 0.32415445 0.32123201 0.00292244
-2.31671554 0.32014663 0.31702830 0.00311833
-2.32649071 0.31613881 0.31282975 0.00330906
-2.33626588 0.31213099 0.30863657 0.00349442
-2.34604106 0.30812317 0.30444897 0.00367420
-2.35581623 0.30411535 0.30026714 0.00384821
-2.36559140 0.30010753 0.29609130 0.00401622
-2.37536657 0.29609971 0.29192166 0.00417805
-2.38514174 0.29209189 0.28775841 0.00433347
-2.39491691 0.28808407 0.28360177 0.00448230
-2.40469208 0.28407625 0.27945193 0.00462432
-2.41446725 0.28006843 0.27530910 0.00475933
-2.42424242 0.27606061 0.27117348 0.00488713
-2.43401760 0.27205279 0.26704526 0.00500752
-2.44379277 0.26804497 0.26292466 0.00512030
-2.45356794 0.26403715 0.25881187 0.00522527
-2.46334311 0.26002933 0.25470709 0.00532224
-2.47311828 0.25602151 0.25061052 0.00541099
-2.48289345 0.25201369 0.24652234 0.00549134
-2.49266862 0.24800587 0.24244277 0.00556309
-2.50244379 0.24399804 0.23837200 0.00562605
-2.51221896 0.23999022 0.23431022 0.00568001
-2.52199413 0.23598240 0.23025762 0.00572479
-2.53176931 0.23197458 0.22621439 0.00576019
-2.54154448 0.22796676 0.22218074 0.00578602
-2.55131965 0.22395894 0.21815685 0.00580210
-2.56109482 0.21995112 0.21414291 0.00580822
-2.57086999 0.21594330 0.21013910 0.00580420
-2.58064516 0.21193548 0.20614563 0.00578985
-2.59042033 0.20792766 0.20216267 0.00576499
-2.60019550 0.20391984 0.19819042 0.00572942
-2.60997067 0.19991202 0.19422905 0.00568297
-2.61974585 0.19590420 0.19027876 0.00562545
-2.62952102 0.19189638 0.18633972 0.00555666
-2.63929619 0.18788856 0.18241212 0.00547644
-2.64907136 0.18388074 0.17849614 0.00538460
-2.65884653 0.17987292 0.17459196 0.00528096
-2.66862170 0.17586510 0.17069976 0.00516534
-2.67839687 0.17185728 0.16681972 0.00503756
-2.68817204 0.16784946 0.16295202 0.00489744
-2.69794721 0.16384164 0.15909683 0.00474481
-2.70772239 0.15983382 0.15525433 0.00457950
-2.71749756 0.15582600 0.15142469 0.00440132
-2.72727273 0.15181818 0.14760808 0.00421010
-2.73704790 0.14781036 0.14380468 0.00400568
-2.74682307 0.14380254 0.14001466 0.00378788
-2.75659824 0.13979472 0.13623819 0.00355653
-2.76637341 0.13578690 0.13247544 0.00331146
-2.77614858 0.13177908 0.12872657 0.00305251
-2.78592375 0.12777126 0.12499175 0.00277951
-2.79569892 0.12376344 0.12127114 0.00249230
-2.80547410 0.11975562 0.11756492 0.00219070
-2.81524927 0.11574780 0.11387324 0.00187456
-2.82502444 0.11173998 0.11019627 0.00154371
-2.83479961 0.10773216 0.10653416 0.00119801
-2.84457478 0.10372434 0.10288707 0.00083727
-2.85434995 0.09971652 0.09925517 0.00046135
-2.86412512 0.09570870 0.09563860 0.00007010
-2.87390029 0.09170088 0.09203753 0.00033665
-2.88367546 0.08769306 0.08845211 0.00075905
-2.89345064 0.08368524 0.08488250 0.00119726
-2.90322581 0.07967742 0.08132883 0.00165141
-2.91300098 0.07566960 0.07779128 0.00212168
-2.92277615 0.07166178 0.07426997 0.00260819
-2.93255132 0.06765396 0.07076507 0.00311111
-2.94232649 0.06364614 0.06727672 0.00363058
-2.95210166 0.05963832 0.06380506 0.00416674
-2.96187683 0.05563050 0.06035024 0.00471974
-2.97165200 0.05162268 0.05691240 0.00528972
-2.98142717 0.04761486 0.05349169 0.00587683
-2.99120235 0.04360704 0.05008823 0.00648120
-3.00097752 0.03978495 0.04670218 0.00691724
-3.01075269 0.03763441 0.04333367 0.00569927
-3.02052786 0.03548387 0.03998284 0.00449897
-3.03030303 0.03333333 0.03664981 0.00331648
-3.04007820 0.03118280 0.03333473 0.00215193
-3.04985337 0.02903226 0.03003772 0.00100547
-3.05962854 0.02688172 0.02675892 0.00012280
-3.06940371 0.02473118 0.02349846 0.00123272
-3.07917889 0.02258065 0.02025646 0.00232419
-3.08895406 0.02043011 0.01703304 0.00339706
-3.09872923 0.01827957 0.01382835 0.00445122
-3.10850440 0.01612903 0.01064249 0.00548655
-3.11827957 0.01397849 0.00747559 0.00650291
-3.12805474 0.01182796 0.00432777 0.00750019
-3.13782991 0.00967742 0.00119915 0.00847827
-3.14760508 0.00752688 -0.00191015 0.00943703
-3.15738025 0.00537634 -0.00500001 0.01037636
-3.16715543 0.00322581 -0.00807033 0.01129614
-3.17693060 0.00107527 -0.01112098 0.01219625
-3.18670577 -0.00107527 -0.01415186 0.01307659
-3.19648094 -0.00322581 -0.01716285 0.01393705
-3.20625611 -0.00537634 -0.02015385 0.01477750
-3.21603128 -0.00752688 -0.02312474 0.01559786
-3.22580645 -0.00967742 -0.02607543 0.01639801
-3.23558162 -0.01182796 -0.02900580 0.01717785
-3.24535679 -0.01397849 -0.03191576 0.01793727
-3.25513196 -0.01612903 -0.03480520 0.01867617
-3.26490714 -0.01827957 -0.03767402 0.01939445
-3.27468231 -0.02043011 -0.04052213 0.02009202
-3.28445748 -0.02258065 -0.04334942 0.02076878
-3.29423265 -0.02473118 -0.04615581 0.02142462
-3.30400782 -0.02688172 -0.04894118 0.02205946
-3.31378299 -0.02903226 -0.05170547 0.02267321
-3.32355816 -0.03118280 -0.05444857 0.02326577
-3.33333333 -0.03333333 -0.05717039 0.02383706
-3.34310850 -0.03548387 -0.05987085 0.02438698
-3.35288368 -0.03763441 -0.06254985 0.02491545
-3.36265885 -0.03978495 -0.06520733 0.02542238
-3.37243402 -0.04193548 -0.06784318 0.02590770
-3.38220919 -0.04408602 -0.07045733 0.02637131
-3.39198436 -0.04623656 -0.07304971 0.02681315
-3.40175953 -0.04838710 -0.07562022 0.02723313
-3.41153470 -0.05053763 -0.07816880 0.02763117
-3.42130987 -0.05268817 -0.08069537 0.02800720
-3.43108504 -0.05483871 -0.08319985 0.02836114
-3.44086022 -0.05698925 -0.08568218 0.02869293
-3.45063539 -0.05913978 -0.08814228 0.02900249
-3.46041056 -0.06129032 -0.09058008 0.02928975
-3.47018573 -0.06344086 -0.09299551 0.02955465
-3.47996090 -0.06559140 -0.09538852 0.02979712
-3.48973607 -0.06774194 -0.09775902 0.03001709
-3.49951124 -0.06989247 -0.10010698 0.03021450
-3.50928641 -0.07204301 -0.10243231 0.03038930
-3.51906158 -0.07419355 -0.10473496 0.03054141
-3.52883675 -0.07634409 -0.10701487 0.03067079
-3.53861193 -0.07849462 -0.10927199 0.03077737
-3.54838710 -0.08064516 -0.11150627 0.03086111
-3.55816227 -0.08279570 -0.11371764 0.03092194
-3.56793744 -0.08494624 -0.11590606 0.03095982
-3.57771261 -0.08709677 -0.11807147 0.03097470
-3.58748778 -0.08924731 -0.12021383 0.03096652
-3.59726295 -0.09139785 -0.12233310 0.03093525
-3.60703812 -0.09354839 -0.12442922 0.03088083
-3.61681329 -0.09569892 -0.12650215 0.03080322
-3.62658847 -0.09784946 -0.12855185 0.03070239
-3.63636364 -0.10000000 -0.13057828 0.03057828
-3.64613881 -0.10215054 -0.13258140 0.03043086
-3.65591398 -0.10430108 -0.13456118 0.03026010
-3.66568915 -0.10645161 -0.13651757 0.03006596
-3.67546432 -0.10860215 -0.13845055 0.02984840
-3.68523949 -0.11075269 -0.14036007 0.02960739
-3.69501466 -0.11290323 -0.14224612 0.02934290
-3.70478983 -0.11505376 -0.14410866 0.02905490
-3.71456500 -0.11720430 -0.14594766 0.02874336
-3.72434018 -0.11935484 -0.14776310 0.02840827
-3.73411535 -0.12150538 -0.14955496 0.02804958
-3.74389052 -0.12365591 -0.15132320 0.02766729
-3.75366569 -0.12580645 -0.15306781 0.02726136
-3.76344086 -0.12795699 -0.15478877 0.02683178
-3.77321603 -0.13010753 -0.15648606 0.02637853
-3.78299120 -0.13225806 -0.15815967 0.02590160
-3.79276637 -0.13440860 -0.15980957 0.02540097
-3.80254154 -0.13655914 -0.16143576 0.02487662
-3.81231672 -0.13870968 -0.16303823 0.02432855
-3.82209189 -0.14086022 -0.16461696 0.02375674
-3.83186706 -0.14301075 -0.16617194 0.02316119
-3.84164223 -0.14516129 -0.16770318 0.02254189
-3.85141740 -0.14731183 -0.16921065 0.02189883
-3.86119257 -0.14946237 -0.17069437 0.02123200
-3.87096774 -0.15161290 -0.17215432 0.02054142
-3.88074291 -0.15376344 -0.17359052 0.01982707
-3.89051808 -0.15591398 -0.17500294 0.01908896
-3.90029326 -0.15806452 -0.17639161 0.01832710
-3.91006843 -0.16021505 -0.17775652 0.01754147
-3.91984360 -0.16236559 -0.17909769 0.01673209
-3.92961877 -0.16451613 -0.18041510 0.01589898
-3.93939394 -0.16666667 -0.18170879 0.01504212
-3.94916911 -0.16881720 -0.18297875 0.01416154
-3.95894428 -0.17096774 -0.18422500 0.01325725
-3.96871945 -0.17311828 -0.18544754 0.01232926
-3.97849462 -0.17526882 -0.18664641 0.01137759
-3.98826979 -0.17741935 -0.18782160 0.01040225
-3.99804497 -0.17956989 -0.18897315 0.00940326
-4.00782014 -0.18007820 -0.19010107 0.01002287
-4.01759531 -0.18017595 -0.19120537 0.01102942
-4.02737048 -0.18027370 -0.19228609 0.01201239
-4.03714565 -0.18037146 -0.19334325 0.01297180
-4.04692082 -0.18046921 -0.19437687 0.01390767
-4.05669599 -0.18056696 -0.19538698 0.01482002
-4.06647116 -0.18066471 -0.19637361 0.01570890
-4.07624633 -0.18076246 -0.19733679 0.01657433
-4.08602151 -0.18086022 -0.19827655 0.01741634
-4.09579668 -0.18095797 -0.19919292 0.01823496
-4.10557185 -0.18105572 -0.20008595 0.01903023
-4.11534702 -0.18115347 -0.20095565 0.01980218
-4.12512219 -0.18125122 -0.20180208 0.02055085
-4.13489736 -0.18134897 -0.20262526 0.02127629
-4.14467253 -0.18144673 -0.20342525 0.02197853
-4.15444770 -0.18154448 -0.20420208 0.02265761
-4.16422287 -0.18164223 -0.20495580 0.02331357
-4.17399804 -0.18173998 -0.20568645 0.02394647
-4.18377322 -0.18183773 -0.20639408 0.02455635
-4.19354839 -0.18193548 -0.20707873 0.02514325
-4.20332356 -0.18203324 -0.20774046 0.02570722
-4.21309873 -0.18213099 -0.20837931 0.02624832
-4.22287390 -0.18222874 -0.20899534 0.02676660
-4.23264907 -0.18232649 -0.20958860 0.02726211
-4.24242424 -0.18242424 -0.21015915 0.02773490
-4.25219941 -0.18252199 -0.21070703 0.02818504
-4.26197458 -0.18261975 -0.21123232 0.02861257
-4.27174976 -0.18271750 -0.21173506 0.02901757
-4.28152493 -0.18281525 -0.21221533 0.02940008
-4.29130010 -0.18291300 -0.21267317 0.02976017
-4.30107527 -0.18301075 -0.21310866 0.03009790
-4.31085044 -0.18310850 -0.21352185 0.03041335
-4.32062561 -0.18320626 -0.21391282 0.03070656
-4.33040078 -0.18330401 -0.21428163 0.03097762
-4.34017595 -0.18340176 -0.21462835 0.03122659
-4.34995112 -0.18349951 -0.21495305 0.03145354
-4.35972630 -0.18359726 -0.21525580 0.03165853
-4.36950147 -0.18369501 -0.21553667 0.03184165
-4.37927664 -0.18379277 -0.21579574 0.03200297
-4.38905181 -0.18389052 -0.21603308 0.03214256
-4.39882698 -0.18398827 -0.21624877 0.03226050
-4.40860215 -0.18408602 -0.21644288 0.03235686
-4.41837732 -0.18418377 -0.21661550 0.03243173
-4.42815249 -0.18428152 -0.21676671 0.03248518
-4.43792766 -0.18437928 -0.21689658 0.03251730
-4.44770283 -0.18447703 -0.21700520 0.03252817
-4.45747801 -0.18457478 -0.21709266 0.03251788
-4.46725318 -0.18467253 -0.21715903 0.03248650
-4.47702835 -0.18477028 -0.21720441 0.03243413
-4.48680352 -0.18486804 -0.21722888 0.03236085
-4.49657869 -0.18496579 -0.21723254 0.03226675
-4.50635386 -0.18506354 -0.21721546 0.03215193
-4.51612903 -0.18516129 -0.21717775 0.03201646
-4.52590420 -0.18525904 -0.21711950 0.03186046
-4.53567937 -0.18535679 -0.21704079 0.03168400
-4.54545455 -0.18545455 -0.21694173 0.03148718
-4.55522972 -0.18555230 -0.21682241 0.03127011
-4.56500489 -0.18565005 -0.21668292 0.03103288
-4.57478006 -0.18574780 -0.21652338 0.03077558
-4.58455523 -0.18584555 -0.21634386 0.03049831
-4.59433040 -0.18594330 -0.21614448 0.03020118
-4.60410557 -0.18604106 -0.21592534 0.02988429
-4.61388074 -0.18613881 -0.21568654 0.02954774
-4.62365591 -0.18623656 -0.21542819 0.02919163
-4.63343109 -0.18633431 -0.21515038 0.02881607
-4.64320626 -0.18643206 -0.21485322 0.02842116
-4.65298143 -0.18652981 -0.21453683 0.02800702
-4.66275660 -0.18662757 -0.21420131 0.02757374
-4.67253177 -0.18672532 -0.21384677 0.02712145
-4.68230694 -0.18682307 -0.21347331 0.02665024
-4.69208211 -0.18692082 -0.21308106 0.02616024
-4.70185728 -0.18701857 -0.21267012 0.02565154
-4.71163245 -0.18711632 -0.21224060 0.02512428
-4.72140762 -0.18721408 -0.21179263 0.02457855
-4.73118280 -0.18731183 -0.21132631 0.02401448
-4.74095797 -0.18740958 -0.21084176 0.02343218
-4.75073314 -0.18750733 -0.21033910 0.02283177
-4.76050831 -0.18760508 -0.20981845 0.02221337
-4.77028348 -0.18770283 -0.20927993 0.02157709
-4.78005865 -0.18780059 -0.20872365 0.02092306
-4.78983382 -0.18789834 -0.20814974 0.02025140
-4.79960899 -0.18799609 -0.20755831 0.01956222
-4.80938416 -0.18809384 -0.20694950 0.01885566
-4.81915934 -0.18819159 -0.20632342 0.01813183
-4.82893451 -0.18828935 -0.20568021 0.01739086
-4.83870968 -0.18838710 -0.20501998 0.01663288
-4.84848485 -0.18848485 -0.20434286 0.01585801
-4.85826002 -0.18858260 -0.20364897 0.01506637
-4.86803519 -0.18868035 -0.20293846 0.01425811
-4.87781036 -0.18877810 -0.20221144 0.01343334
-4.88758553 -0.18887586 -0.20146804 0.01259219
-4.89736070 -0.18897361 -0.20070840 0.01173480
-4.90713587 -0.18907136 -0.19993265 0.01086129
-4.91691105 -0.18916911 -0.19914091 0.00997180
-4.92668622 -0.18926686 -0.19833333 0.00906647
-4.93646139 -0.18936461 -0.19751003 0.00814542
-4.94623656 -0.18946237 -0.19667115 0.00720878
-4.95601173 -0.18956012 -0.19581682 0.00625670
-4.96578690 -0.18965787 -0.19494718 0.00528931
-4.97556207 -0.18975562 -0.19406237 0.00430675
-4.98533724 -0.18985337 -0.19316252 0.00330915
-4.99511241 -0.18995112 -0.19224777 0.00229665
-5.00488759 -0.18926686 -0.19131826 0.00205140
-5.01466276 -0.18780059 -0.19037413 0.00257355
-5.02443793 -0.18633431 -0.18941552 0.00308121
-5.03421310 -0.18486804 -0.18844257 0.00357453
-5.04398827 -0.18340176 -0.18745541 0.00405365
-5.05376344 -0.18193548 -0.18645420 0.00451871
-5.06353861 -0.18046921 -0.18543907 0.00496986
-5.07331378 -0.17900293 -0.18441017 0.00540723
-5.08308895 -0.17753666 -0.18336763 0.00583098
-5.09286413 -0.17607038 -0.18231162 0.00624123
-5.10263930 -0.17460411 -0.18124226 0.00663815
-5.11241447 -0.17313783 -0.18015970 0.00702187
-5.12218964 -0.17167155 -0.17906410 0.00739254
-5.13196481 -0.17020528 -0.17795559 0.00775031
-5.14173998 -0.16873900 -0.17683432 0.00809532
-5.15151515 -0.16727273 -0.17570045 0.00842772
-5.16129032 -0.16580645 -0.17455411 0.00874766
-5.17106549 -0.16434018 -0.17339546 0.00905528
-5.18084066 -0.16287390 -0.17222464 0.00935074
-5.19061584 -0.16140762 -0.17104181 0.00963419
-5.20039101 -0.15994135 -0.16984711 0.00990576
-5.21016618 -0.15847507 -0.16864070 0.01016562
-5.21994135 -0.15700880 -0.16742272 0.01041392
-5.22971652 -0.15554252 -0.16619332 0.01065080
-5.23949169 -0.15407625 -0.16495267 0.01087642
-5.24926686 -0.15260997 -0.16370090 0.01109093
-5.25904203 -0.15114370 -0.16243817 0.01129447
-5.26881720 -0.14967742 -0.16116463 0.01148721
-5.27859238 -0.14821114 -0.15988044 0.01166930
-5.28836755 -0.14674487 -0.15858575 0.01184088
-5.29814272 -0.14527859 -0.15728071 0.01200212
-5.30791789 -0.14381232 -0.15596547 0.01215316
-5.31769306 -0.14234604 -0.15464020 0.01229416
-5.32746823 -0.14087977 -0.15330504 0.01242527
-5.33724340 -0.13941349 -0.15196015 0.01254666
-5.34701857 -0.13794721 -0.15060568 0.01265846
-5.35679374 -0.13648094 -0.14924179 0.01276085
-5.36656891 -0.13501466 -0.14786863 0.01285397
-5.37634409 -0.13354839 -0.14648637 0.01293798
-5.38611926 -0.13208211 -0.14509515 0.01301304
-5.39589443 -0.13061584 -0.14369513 0.01307929
-5.40566960 -0.12914956 -0.14228647 0.01313691
-5.41544477 -0.12768328 -0.14086932 0.01318604
-5.42521994 -0.12621701 -0.13944384 0.01322684
-5.43499511 -0.12475073 -0.13801019 0.01325946
-5.44477028 -0.12328446 -0.13656853 0.01328407
-5.45454545 -0.12181818 -0.13511901 0.01330082
-5.46432063 -0.12035191 -0.13366178 0.01330987
-5.47409580 -0.11888563 -0.13219701 0.01331138
-5.48387097 -0.11741935 -0.13072485 0.01330550
-5.49364614 -0.11595308 -0.12924546 0.01329238
-5.50342131 -0.11448680 -0.12775900 0.01327220
-5.51319648 -0.11302053 -0.12626563 0.01324510
-5.52297165 -0.11155425 -0.12476550 0.01321124
-5.53274682 -0.11008798 -0.12325876 0.01317079
-5.54252199 -0.10862170 -0.12174559 0.01312389
-5.55229717 -0.10715543 -0.12022613 0.01307070
-5.56207234 -0.10568915 -0.11870054 0.01301139
-5.57184751 -0.10422287 -0.11716899 0.01294611
-5.58162268 -0.10275660 -0.11563162 0.01287502
-5.59139785 -0.10129032 -0.11408860 0.01279827
-5.60117302 -0.09982405 -0.11254008 0.01271603
-5.61094819 -0.09835777 -0.11098622 0.01262845
-5.62072336 -0.09689150 -0.10942718 0.01253568
-5.63049853 -0.09542522 -0.10786312 0.01243790
-5.64027370 -0.09395894 -0.10629418 0.01233524
-5.65004888 -0.09249267 -0.10472054 0.01222787
-5.65982405 -0.09102639 -0.10314235 0.01211595
-5.66959922 -0.08956012 -0.10155975 0.01199964
-5.67937439 -0.08809384 -0.09997292 0.01187908
-5.68914956 -0.08662757 -0.09838201 0.01175444
-5.69892473 -0.08516129 -0.09678716 0.01162587
-5.70869990 -0.08369501 -0.09518855 0.01149354
-5.71847507 -0.08222874 -0.09358632 0.01135758
-5.72825024 -0.08076246 -0.09198064 0.01121817
-5.73802542 -0.07929619 -0.09037165 0.01107546
-5.74780059 -0.07782991 -0.08875951 0.01092960
-5.75757576 -0.07636364 -0.08714438 0.01078074
-5.76735093 -0.07489736 -0.08552641 0.01062905
-5.77712610 -0.07343109 -0.08390576 0.01047468
-5.78690127 -0.07196481 -0.08228258 0.01031777
-5.79667644 -0.07049853 -0.08065703 0.01015849
-5.80645161 -0.06903226 -0.07902925 0.00999699
-5.81622678 -0.06756598 -0.07739941 0.00983343
-5.82600196 -0.06609971 -0.07576765 0.00966794
-5.83577713 -0.06463343 -0.07413413 0.00950070
-5.84555230 -0.06316716 -0.07249901 0.00933185
-5.85532747 -0.06170088 -0.07086242 0.00916154
-5.86510264 -0.06023460 -0.06922454 0.00898993
-5.87487781 -0.05876833 -0.06758550 0.00881717
-5.88465298 -0.05730205 -0.06594545 0.00864340
-5.89442815 -0.05583578 -0.06430456 0.00846878
-5.90420332 -0.05436950 -0.06266296 0.00829346
-5.91397849 -0.05290323 -0.06102082 0.00811759
-5.92375367 -0.05143695 -0.05937827 0.00794132
-5.93352884 -0.04997067 -0.05773547 0.00776480
-5.94330401 -0.04850440 -0.05609257 0.00758817
-5.95307918 -0.04703812 -0.05444971 0.00741159
-5.96285435 -0.04557185 -0.05280704 0.00723519
-5.97262952 -0.04410557 -0.05116471 0.00705914
-5.98240469 -0.04263930 -0.04952287 0.00688358
-5.99217986 -0.04117302 -0.04788166 0.00670864
-6.00195503 -0.03974585 -0.04624123 0.00649539
-6.01173021 -0.03847507 -0.04460173 0.00612665
-6.02150538 -0.03720430 -0.04296329 0.00575898
-6.03128055 -0.03593353 -0.04132606 0.00539253
-6.04105572 -0.03466276 -0.03969019 0.00502743
-6.05083089 -0.03339198 -0.03805582 0.00466383
-6.06060606 -0.03212121 -0.03642309 0.00430187
-6.07038123 -0.03085044 -0.03479214 0.00394170
-6.08015640 -0.02957967 -0.03316312 0.00358345
-6.08993157 -0.02830890 -0.03153616 0.00322727
-6.09970674 -0.02703812 -0.02991141 0.00287329
-6.10948192 -0.02576735 -0.02828901 0.00252166
-6.11925709 -0.02449658 -0.02666909 0.00217251
-6.12903226 -0.02322581 -0.02505179 0.00182599
-6.13880743 -0.02195503 -0.02343726 0.00148222
-6.14858260 -0.02068426 -0.02182562 0.00114136
-6.15835777 -0.01941349 -0.02021702 0.00080353
-6.16813294 -0.01814272 -0.01861158 0.00046886
-6.17790811 -0.01687195 -0.01700945 0.00013751
-6.18768328 -0.01560117 -0.01541076 0.00019041
-6.19745846 -0.01433040 -0.01381565 0.00051476
-6.20723363 -0.01305963 -0.01222423 0.00083539
-6.21700880 -0.01178886 -0.01063666 0.00115219
-6.22678397 -0.01051808 -0.00905306 0.00146503
-6.23655914 -0.00924731 -0.00747356 0.00177376
-6.24633431 -0.00797654 -0.00589828 0.00207826
-6.25610948 -0.00670577 -0.00432737 0.00237839
-6.26588465 -0.00543500 -0.00276095 0.00267405
-6.27565982 -0.00416422 -0.00119914 0.00296508
-6.28543500 -0.00289345 0.00035792 0.00325137
-6.29521017 -0.00162268 0.00191011 0.00353279
-6.30498534 -0.00035191 0.00345731 0.00380922
-6.31476051 0.00091887 0.00499939 0.00408052
-6.32453568 0.00218964 0.00653623 0.00434659
-6.33431085 0.00346041 0.00806769 0.00460728
-6.34408602 0.00473118 0.00959367 0.00486249
-6.35386119 0.00600196 0.01111404 0.00511208
-6.36363636 0.00727273 0.01262868 0.00535595
-6.37341153 0.00854350 0.01413746 0.00559396
-6.38318671 0.00981427 0.01564028 0.00582601
-6.39296188 0.01108504 0.01713700 0.00605196
-6.40273705 0.01235582 0.01862753 0.00627171
-6.41251222 0.01362659 0.02011173 0.00648514
-6.42228739 0.01489736 0.02158949 0.00669213
-6.43206256 0.01616813 0.02306071 0.00689257
-6.44183773 0.01743891 0.02452525 0.00708635
-6.45161290 0.01870968 0.02598302 0.00727335
-6.46138807 0.01998045 0.02743390 0.00745345
-6.47116325 0.02125122 0.02887778 0.00762656
-6.48093842 0.02252199 0.03031455 0.00779256
-6.49071359 0.02379277 0.03174410 0.00795133
-6.50048876 0.02506354 0.03316632 0.00810278
-6.51026393 0.02633431 0.03458110 0.00824679
-6.52003910 0.02760508 0.03598835 0.00838326
-6.52981427 0.02887586 0.03738794 0.00851209
-6.53958944 0.03014663 0.03877979 0.00863316
-6.54936461 0.03141740 0.04016378 0.00874638
-6.55913978 0.03268817 0.04153981 0.00885164
-6.56891496 0.03395894 0.04290779 0.00894884
-6.57869013 0.03522972 0.04426760 0.00903788
-6.58846530 0.03650049 0.04561916 0.00911867
-6.59824047 0.03777126 0.04696236 0.00919110
-6.60801564 0.03904203 0.04829710 0.00925507
-6.61779081 0.04031281 0.04962329 0.00931049
-6.62756598 0.04158358 0.05094084 0.00935726
-6.63734115 0.04285435 0.05224965 0.00939530
-6.64711632 0.04412512 0.05354962 0.00942449
-6.65689150 0.04539589 0.05484066 0.00944477
-6.66666667 0.04666667 0.05612268 0.00945602
-6.67644184 0.04793744 0.05739560 0.00945816
-6.68621701 0.04920821 0.05865932 0.00945111
-6.69599218 0.05047898 0.05991375 0.00943477
-6.70576735 0.05174976 0.06115881 0.00940905
-6.71554252 0.05302053 0.06239440 0.00937388
-6.72531769 0.05429130 0.06362046 0.00932916
-6.73509286 0.05556207 0.06483688 0.00927481
-6.74486804 0.05683284 0.06604359 0.00921074
-6.75464321 0.05810362 0.06724050 0.00913689
-6.76441838 0.05937439 0.06842755 0.00905316
-6.77419355 0.06064516 0.06960463 0.00895947
-6.78396872 0.06191593 0.07077169 0.00885575
-6.79374389 0.06318671 0.07192863 0.00874192
-6.80351906 0.06445748 0.07307538 0.00861790
-6.81329423 0.06572825 0.07421187 0.00848362
-6.82306940 0.06699902 0.07533803 0.00833900
-6.83284457 0.06826979 0.07645377 0.00818397
-6.84261975 0.06954057 0.07755903 0.00801846
-6.85239492 0.07081134 0.07865373 0.00784240
-6.86217009 0.07208211 0.07973782 0.00765571
-6.87194526 0.07335288 0.08081121 0.00745832
-6.88172043 0.07462366 0.08187384 0.00725018
-6.89149560 0.07589443 0.08292564 0.00703121
-6.90127077 0.07716520 0.08396655 0.00680135
-6.91104594 0.07843597 0.08499650 0.00656053
-6.92082111 0.07970674 0.08601544 0.00630869
-6.93059629 0.08097752 0.08702329 0.00604577
-6.94037146 0.08224829 0.08802000 0.00577171
-6.95014663 0.08351906 0.08900551 0.00548645
-6.95992180 0.08478983 0.08997976 0.00518992
-6.96969697 0.08606061 0.09094268 0.00488208
-6.97947214 0.08733138 0.09189424 0.00456286
-6.98924731 0.08860215 0.09283436 0.00423221
-6.99902248 0.08987292 0.09376300 0.00389008
-7.00879765 0.09026393 0.09468010 0.00441617
-7.01857283 0.09055718 0.09558561 0.00502843
-7.02834800 0.09085044 0.09647948 0.00562904
-7.03812317 0.09114370 0.09736167 0.00621797
-7.04789834 0.09143695 0.09823211 0.00679516
-7.05767351 0.09173021 0.09909078 0.00736057
-7.06744868 0.09202346 0.09993761 0.00791415
-7.07722385 0.09231672 0.10077256 0.00845585
-7.08699902 0.09260997 0.10159560 0.00898563
-7.09677419 0.09290323 0.10240667 0.00950345
-7.10654936 0.09319648 0.10320574 0.01000926
-7.11632454 0.09348974 0.10399277 0.01050304
-7.12609971 0.09378299 0.10476772 0.01098473
-7.13587488 0.09407625 0.10553054 0.01145430
-7.14565005 0.09436950 0.10628121 0.01191171
-7.15542522 0.09466276 0.10701969 0.01235693
-7.16520039 0.09495601 0.10774594 0.01278992
-7.17497556 0.09524927 0.10845992 0.01321066
-7.18475073 0.09554252 0.10916162 0.01361910
-7.19452590 0.09583578 0.10985099 0.01401522
-7.20430108 0.09612903 0.11052801 0.01439898
-7.21407625 0.09642229 0.11119265 0.01477036
-7.22385142 0.09671554 0.11184488 0.01512934
-7.23362659 0.09700880 0.11248467 0.01547587
-7.24340176 0.09730205 0.11311200 0.01580995
-7.25317693 0.09759531 0.11372685 0.01613154
-7.26295210 0.09788856 0.11432919 0.01644063
-7.27272727 0.09818182 0.11491900 0.01673719
-7.28250244 0.09847507 0.11549627 0.01702119
-7.29227761 0.09876833 0.11606096 0.01729263
-7.30205279 0.09906158 0.11661306 0.01755148
-7.31182796 0.09935484 0.11715257 0.01779773
-7.32160313 0.09964809 0.11767945 0.01803135
-7.33137830 0.09994135 0.11819370 0.01825235
-7.34115347 0.10023460 0.11869529 0.01846069
-7.35092864 0.10052786 0.11918423 0.01865637
-7.36070381 0.10082111 0.11966050 0.01883938
-7.37047898 0.10111437 0.12012408 0.01900971
-7.38025415 0.10140762 0.12057498 0.01916735
-7.39002933 0.10170088 0.12101317 0.01931229
-7.39980450 0.10199413 0.12143866 0.01944452
-7.40957967 0.10228739 0.12185144 0.01956405
-7.41935484 0.10258065 0.12225150 0.01967085
-7.42913001 0.10287390 0.12263884 0.01976494
-7.43890518 0.10316716 0.12301346 0.01984631
-7.44868035 0.10346041 0.12337536 0.01991495
-7.45845552 0.10375367 0.12372454 0.01997088
-7.46823069 0.10404692 0.12406100 0.02001408
-7.47800587 0.10434018 0.12438474 0.02004456
-7.48778104 0.10463343 0.12469576 0.02006233
-7.49755621 0.10492669 0.12499407 0.02006738
-7.50733138 0.10521994 0.12527968 0.02005974
-7.51710655 0.10551320 0.12555259 0.02003939
-7.52688172 0.10580645 0.12581281 0.02000636
-7.53665689 0.10609971 0.12606034 0.01996064
-7.54643206 0.10639296 0.12629521 0.01990225
-7.55620723 0.10668622 0.12651742 0.01983120
-7.56598240 0.10697947 0.12672698 0.01974751
-7.57575758 0.10727273 0.12692390 0.01965117
-7.58553275 0.10756598 0.12710821 0.01954222
-7.59530792 0.10785924 0.12727991 0.01942067
-7.60508309 0.10815249 0.12743902 0.01928653
-7.61485826 0.10844575 0.12758556 0.01913982
-7.62463343 0.10873900 0.12771955 0.01898055
-7.63440860 0.10903226 0.12784101 0.01880876
-7.64418377 0.10932551 0.12794996 0.01862445
-7.65395894 0.10961877 0.12804642 0.01842766
-7.66373412 0.10991202 0.12813042 0.01821839
-7.67350929 0.11020528 0.12820197 0.01799669
-7.68328446 0.11049853 0.12826111 0.01776257
-7.69305963 0.11079179 0.12830785 0.01751607
-7.70283480 0.11108504 0.12834224 0.01725719
-7.71260997 0.11137830 0.12836428 0.01698599
-7.72238514 0.11167155 0.12837403 0.01670247
-7.73216031 0.11196481 0.12837149 0.01640668
-7.74193548 0.11225806 0.12835671 0.01609865
-7.75171065 0.11255132 0.12832972 0.01577840
-7.76148583 0.11284457 0.12829055 0.01544598
-7.77126100 0.11313783 0.12823924 0.01510141
-7.78103617 0.11343109 0.12817582 0.01474473
-7.79081134 0.11372434 0.12810032 0.01437598
-7.80058651 0.11401760 0.12801279 0.01399519
-7.81036168 0.11431085 0.12791326 0.01360241
-7.82013685 0.11460411 0.12780177 0.01319766
-7.82991202 0.11489736 0.12767836 0.01278100
-7.83968719 0.11519062 0.12754308 0.01235246
-7.84946237 0.11548387 0.12739596 0.01191209
-7.85923754 0.11577713 0.12723705 0.01145992
-7.86901271 0.11607038 0.12706639 0.01099601
-7.87878788 0.11636364 0.12688403 0.01052039
-7.88856305 0.11665689 0.12669001 0.01003312
-7.89833822 0.11695015 0.12648438 0.00953423
-7.90811339 0.11724340 0.12626719 0.00902379
-7.91788856 0.11753666 0.12603848 0.00850182
-7.92766373 0.11782991 0.12579831 0.00796840
-7.93743891 0.11812317 0.12554673 0.00742356
-7.94721408 0.11841642 0.12528378 0.00686736
-7.95698925 0.11870968 0.12500952 0.00629984
-7.96676442 0.11900293 0.12472400 0.00572107
-7.97653959 0.11929619 0.12442729 0.00513110
-7.98631476 0.11958944 0.12411942 0.00452998
-7.99608993 0.11988270 0.12380046 0.00391776
-8.00586510 0.11953079 0.12347046 0.00393967
-8.01564027 0.11874878 0.12312949 0.00438071
-8.02541544 0.11796676 0.12277759 0.00481083
-8.03519062 0.11718475 0.12241483 0.00523008
-8.04496579 0.11640274 0.12204128 0.00563854
-8.05474096 0.11562072 0.12165698 0.00603625
-8.06451613 0.11483871 0.12126200 0.00642329
-8.07429130 0.11405670 0.12085641 0.00679971
-8.08406647 0.11327468 0.12044026 0.00716558
-8.09384164 0.11249267 0.12001362 0.00752095
-8.10361681 0.11171065 0.11957656 0.00786590
-8.11339198 0.11092864 0.11912914 0.00820050
-8.12316716 0.11014663 0.11867143 0.00852480
-8.13294233 0.10936461 0.11820349 0.00883887
-8.14271750 0.10858260 0.11772539 0.00914279
-8.15249267 0.10780059 0.11723720 0.00943662
-8.16226784 0.10701857 0.11673900 0.00972043
-8.17204301 0.10623656 0.11623084 0.00999429
-8.18181818 0.10545455 0.11571281 0.01025827
-8.19159335 0.10467253 0.11518497 0.01051244
-8.20136852 0.10389052 0.11464739 0.01075688
-8.21114370 0.10310850 0.11410016 0.01099165
-8.22091887 0.10232649 0.11354333 0.01121684
-8.23069404 0.10154448 0.11297699 0.01143251
-8.24046921 0.10076246 0.11240121 0.01163875
-8.25024438 0.09998045 0.11181607 0.01183562
-8.26001955 0.09919844 0.11122164 0.01202321
-8.26979472 0.09841642 0.11061800 0.01220158
-8.27956989 0.09763441 0.11000523 0.01237083
-8.28934506 0.09685239 0.10938341 0.01253102
-8.29912023 0.09607038 0.10875261 0.01268223
-8.30889541 0.09528837 0.10811292 0.01282455
-8.31867058 0.09450635 0.10746441 0.01295805
-8.32844575 0.09372434 0.10680716 0.01308282
-8.33822092 0.09294233 0.10614127 0.01319894
-8.34799609 0.09216031 0.10546680 0.01330649
-8.35777126 0.09137830 0.10478385 0.01340555
-8.36754643 0.09059629 0.10409249 0.01349620
-8.37732160 0.08981427 0.10339280 0.01357853
-8.38709677 0.08903226 0.10268489 0.01365263
-8.39687195 0.08825024 0.10196882 0.01371857
-8.40664712 0.08746823 0.10124468 0.01377645
-8.41642229 0.08668622 0.10051256 0.01382634
-8.42619746 0.08590420 0.09977255 0.01386834
-8.43597263 0.08512219 0.09902473 0.01390254
-8.44574780 0.08434018 0.09826919 0.01392901
-8.45552297 0.08355816 0.09750601 0.01394785
-8.46529814 0.08277615 0.09673530 0.01395915
-8.47507331 0.08199413 0.09595712 0.01396299
-8.48484848 0.08121212 0.09517159 0.01395947
-8.49462366 0.08043011 0.09437878 0.01394867
-8.50439883 0.07964809 0.09357878 0.01393068
-8.51417400 0.07886608 0.09277169 0.01390561
-8.52394917 0.07808407 0.09195759 0.01387352
-8.53372434 0.07730205 0.09113658 0.01383453
-8.54349951 0.07652004 0.09030876 0.01378872
-8.55327468 0.07573803 0.08947420 0.01373618
-8.56304985 0.07495601 0.08863301 0.01367700
-8.57282502 0.07417400 0.08778528 0.01361129
-8.58260020 0.07339198 0.08693111 0.01353912
-8.59237537 0.07260997 0.08607058 0.01346060
-8.60215054 0.07182796 0.08520379 0.01337583
-8.61192571 0.07104594 0.08433083 0.01328489
-8.62170088 0.07026393 0.08345181 0.01318788
-8.63147605 0.06948192 0.08256681 0.01308489
-8.64125122 0.06869990 0.08167593 0.01297603
-8.65102639 0.06791789 0.08077927 0.01286138
-8.66080156 0.06713587 0.07987693 0.01274105
-8.67057674 0.06635386 0.07896899 0.01261513
-8.68035191 0.06557185 0.07805557 0.01248372
-8.69012708 0.06478983 0.07713675 0.01234691
-8.69990225 0.06400782 0.07621263 0.01220481
-8.70967742 0.06322581 0.07528331 0.01205750
-8.71945259 0.06244379 0.07434889 0.01190509
-8.72922776 0.06166178 0.07340946 0.01174768
-8.73900293 0.06087977 0.07246513 0.01158537
-8.74877810 0.06009775 0.07151600 0.01141825
-8.75855327 0.05931574 0.07056216 0.01124642
-8.76832845 0.05853372 0.06960370 0.01106998
-8.77810362 0.05775171 0.06864074 0.01088903
-8.78787879 0.05696970 0.06767337 0.01070368
-8.79765396 0.05618768 0.06670170 0.01051401
-8.80742913 0.05540567 0.06572581 0.01032014
-8.81720430 0.05462366 0.06474581 0.01012215
-8.82697947 0.05384164 0.06376180 0.00992016
-8.83675464 0.05305963 0.06277389 0.00971426
-8.84652981 0.05227761 0.06178216 0.00950455
-8.85630499 0.05149560 0.06078673 0.00929113
-8.86608016 0.05071359 0.05978769 0.00907410
-8.87585533 0.04993157 0.05878515 0.00885357
-8.88563050 0.04914956 0.05777919 0.00862963
-8.89540567 0.04836755 0.05676994 0.00840239
-8.90518084 0.04758553 0.05575748 0.00817195
-8.91495601 0.04680352 0.05474192 0.00793841
-8.92473118 0.04602151 0.05372336 0.00770186
-8.93450635 0.04523949 0.05270191 0.00746241
-8.94428152 0.04445748 0.05167765 0.00722017
-8.95405670 0.04367546 0.05065070 0.00697523
-8.96383187 0.04289345 0.04962115 0.00672770
-8.97360704 0.04211144 0.04858911 0.00647767
-8.98338221 0.04132942 0.04755468 0.00622526
-8.99315738 0.04054741 0.04651796 0.00597055
-9.00293255 0.04000000 0.04547905 0.00547905
-9.01270772 0.04000000 0.04443805 0.00443805
-9.02248289 0.04000000 0.04339506 0.00339506
-9.03225806 0.04000000 0.04235019 0.00235019
-9.04203324 0.04000000 0.04130354 0.00130354
-9.05180841 0.04000000 0.04025521 0.00025521
-9.06158358 0.04000000 0.03920529 0.00079471
-9.07135875 0.04000000 0.03815390 0.00184610
-9.08113392 0.04000000 0.03710113 0.00289887
-9.09090909 0.04000000 0.03604708 0.00395292
-9.10068426 0.04000000 0.03499185 0.00500815
-9.11045943 0.04000000 0.03393555 0.00606445
-9.12023460 0.04000000 0.03287827 0.00712173
-9.13000978 0.04000000 0.03182012 0.00817988
-9.13978495 0.04000000 0.03076120 0.00923880
-9.14956012 0.04000000 0.02970160 0.01029840
-9.15933529 0.04000000 0.02864143 0.01135857
-9.16911046 0.04000000 0.02758079 0.01241921
-9.17888563 0.04000000 0.02651977 0.01348023
-9.18866080 0.04000000 0.02545848 0.01454152
-9.19843597 0.04000000 0.02439701 0.01560299
-9.20821114 0.04000000 0.02333547 0.01666453
-9.21798631 0.04000000 0.02227395 0.01772605
-9.22776149 0.04000000 0.02121255 0.01878745
-9.23753666 0.04000000 0.02015138 0.01984862
-9.24731183 0.04000000 0.01909053 0.02090947
-9.25708700 0.04000000 0.01803009 0.02196991
-9.26686217 0.04000000 0.01697018 0.02302982
-9.27663734 0.04000000 0.01591087 0.02408913
-9.28641251 0.04000000 0.01485228 0.02514772
-9.29618768 0.04000000 0.01379449 0.02620551
-9.30596285 0.04000000 0.01273761 0.02726239
-9.31573803 0.04000000 0.01168174 0.02831826
-9.32551320 0.04000000 0.01062696 0.02937304
-9.33528837 0.04000000 0.00957337 0.03042663
-9.34506354 0.04000000 0.00852108 0.03147892
-9.35483871 0.04000000 0.00747017 0.03252983
-9.36461388 0.04000000 0.00642074 0.03357926
-9.37438905 0.04000000 0.00537289 0.03462711
-9.38416422 0.04000000 0.00432671 0.03567329
-9.39393939 0.04000000 0.00328229 0.03671771
-9.40371457 0.04000000 0.00223974 0.03776026
-9.41348974 0.04000000 0.00119913 0.03880087
-9.42326491 0.04000000 0.00016057 0.03983943
-9.43304008 0.04000000 -0.00087586 0.04087586
-9.44281525 0.04000000 -0.00191006 0.04191006
-9.45259042 0.04000000 -0.00294193 0.04294193
-9.46236559 0.04000000 -0.00397139 0.04397139
-9.47214076 0.04000000 -0.00499835 0.04499835
-9.48191593 0.04000000 -0.00602272 0.04602272
-9.49169110 0.04000000 -0.00704440 0.04704440
-9.50146628 0.04000000 -0.00806330 0.04806330
-9.51124145 0.04000000 -0.00907934 0.04907934
-9.52101662 0.04000000 -0.01009243 0.05009243
-9.53079179 0.04000000 -0.01110247 0.05110247
-9.54056696 0.04000000 -0.01210939 0.05210939
-9.55034213 0.04000000 -0.01311309 0.05311309
-9.56011730 0.04000000 -0.01411348 0.05411348
-9.56989247 0.04000000 -0.01511049 0.05511049
-9.57966764 0.04000000 -0.01610401 0.05610401
-9.58944282 0.04000000 -0.01709398 0.05709398
-9.59921799 0.04000000 -0.01808029 0.05808029
-9.60899316 0.04000000 -0.01906288 0.05906288
-9.61876833 0.04000000 -0.02004164 0.06004164
-9.62854350 0.04000000 -0.02101651 0.06101651
-9.63831867 0.04000000 -0.02198739 0.06198739
-9.64809384 0.04000000 -0.02295421 0.06295421
-9.65786901 0.04000000 -0.02391688 0.06391688
-9.66764418 0.04000000 -0.02487532 0.06487532
-9.67741935 0.04000000 -0.02582945 0.06582945
-9.68719453 0.04000000 -0.02677918 0.06677918
-9.69696970 0.04000000 -0.02772445 0.06772445
-9.70674487 0.04000000 -0.02866516 0.06866516
-9.71652004 0.04000000 -0.02960125 0.06960125
-9.72629521 0.04000000 -0.03053263 0.07053263
-9.73607038 0.04000000 -0.03145922 0.07145922
-9.74584555 0.04000000 -0.03238095 0.07238095
-9.75562072 0.04000000 -0.03329775 0.07329775
-9.76539589 0.04000000 -0.03420953 0.07420953
-9.77517107 0.04000000 -0.03511622 0.07511622
-9.78494624 0.04000000 -0.03601775 0.07601775
-9.79472141 0.04000000 -0.03691404 0.07691404
-9.80449658 0.04000000 -0.03780502 0.07780502
-9.81427175 0.04000000 -0.03869061 0.07869061
-9.82404692 0.04000000 -0.03957075 0.07957075
-9.83382209 0.04000000 -0.04044536 0.08044536
-9.84359726 0.04000000 -0.04131438 0.08131438
-9.85337243 0.04000000 -0.04217772 0.08217772
-9.86314761 0.04000000 -0.04303533 0.08303533
-9.87292278 0.04000000 -0.04388713 0.08388713
-9.88269795 0.04000000 -0.04473306 0.08473306
-9.89247312 0.04000000 -0.04557305 0.08557305
-9.90224829 0.04000000 -0.04640703 0.08640703
-9.91202346 0.04000000 -0.04723493 0.08723493
-9.92179863 0.04000000 -0.04805669 0.08805669
-9.93157380 0.04000000 -0.04887225 0.08887225
-9.94134897 0.04000000 -0.04968154 0.08968154
-9.95112414 0.04000000 -0.05048449 0.09048449
-9.96089932 0.04000000 -0.05128105 0.09128105
-9.97067449 0.04000000 -0.05207115 0.09207115
-9.98044966 0.04000000 -0.05285474 0.09285474
-9.99022483 0.04000000 -0.05363174 0.09363174
-10.00000000 0.04000000 -0.05440211 0.09440211
+inputX outputFx trueFx diffFx
+0.000000000 nan nan nan
+0.009775171 0.840000000 0.999984074 0.159984074
+0.019550342 0.840000000 0.999936299 0.159936299
+0.029325513 0.840000000 0.999856675 0.159856675
+0.039100684 0.840000000 0.999745209 0.159745209
+0.048875855 0.840000000 0.999601906 0.159601906
+0.058651026 0.840000000 0.999426775 0.159426775
+0.068426197 0.840000000 0.999219825 0.159219825
+0.078201369 0.840000000 0.998981069 0.158981069
+0.087976540 0.840000000 0.998710521 0.158710521
+0.097751711 0.840000000 0.998408195 0.158408195
+0.107526882 0.840000000 0.998074109 0.158074109
+0.117302053 0.840000000 0.997708282 0.157708282
+0.127077224 0.840000000 0.997310736 0.157310736
+0.136852395 0.840000000 0.996881492 0.156881492
+0.146627566 0.840000000 0.996420576 0.156420576
+0.156402737 0.840000000 0.995928014 0.155928014
+0.166177908 0.840000000 0.995403835 0.155403835
+0.175953079 0.840000000 0.994848067 0.154848067
+0.185728250 0.840000000 0.994260744 0.154260744
+0.195503421 0.840000000 0.993641898 0.153641898
+0.205278592 0.840000000 0.992991566 0.152991566
+0.215053763 0.840000000 0.992309784 0.152309784
+0.224828935 0.840000000 0.991596592 0.151596592
+0.234604106 0.840000000 0.990852030 0.150852030
+0.244379277 0.840000000 0.990076141 0.150076141
+0.254154448 0.840000000 0.989268970 0.149268970
+0.263929619 0.840000000 0.988430562 0.148430562
+0.273704790 0.840000000 0.987560966 0.147560966
+0.283479961 0.840000000 0.986660231 0.146660231
+0.293255132 0.840000000 0.985728410 0.145728410
+0.303030303 0.840000000 0.984765555 0.144765555
+0.312805474 0.840000000 0.983771721 0.143771721
+0.322580645 0.840000000 0.982746966 0.142746966
+0.332355816 0.840000000 0.981691347 0.141691347
+0.342130987 0.840000000 0.980604926 0.140604926
+0.351906158 0.840000000 0.979487765 0.139487765
+0.361681329 0.840000000 0.978339927 0.138339927
+0.371456500 0.840000000 0.977161478 0.137161478
+0.381231672 0.840000000 0.975952486 0.135952486
+0.391006843 0.840000000 0.974713019 0.134713019
+0.400782014 0.840000000 0.973443149 0.133443149
+0.410557185 0.840000000 0.972142948 0.132142948
+0.420332356 0.840000000 0.970812490 0.130812490
+0.430107527 0.840000000 0.969451851 0.129451851
+0.439882698 0.840000000 0.968061110 0.128061110
+0.449657869 0.840000000 0.966640345 0.126640345
+0.459433040 0.840000000 0.965189638 0.125189638
+0.469208211 0.840000000 0.963709072 0.123709072
+0.478983382 0.840000000 0.962198730 0.122198730
+0.488758553 0.840000000 0.960658700 0.120658700
+0.498533724 0.840000000 0.959089069 0.119089069
+0.508308895 0.840000000 0.957489927 0.117489927
+0.518084066 0.840000000 0.955861365 0.115861365
+0.527859238 0.840000000 0.954203476 0.114203476
+0.537634409 0.840000000 0.952516354 0.112516354
+0.547409580 0.840000000 0.950800096 0.110800096
+0.557184751 0.840000000 0.949054799 0.109054799
+0.566959922 0.840000000 0.947280564 0.107280564
+0.576735093 0.840000000 0.945477490 0.105477490
+0.586510264 0.840000000 0.943645681 0.103645681
+0.596285435 0.840000000 0.941785241 0.101785241
+0.606060606 0.840000000 0.939896276 0.099896276
+0.615835777 0.840000000 0.937978894 0.097978894
+0.625610948 0.840000000 0.936033204 0.096033204
+0.635386119 0.840000000 0.934059316 0.094059316
+0.645161290 0.840000000 0.932057343 0.092057343
+0.654936461 0.840000000 0.930027398 0.090027398
+0.664711632 0.840000000 0.927969597 0.087969597
+0.674486804 0.840000000 0.925884058 0.085884058
+0.684261975 0.840000000 0.923770897 0.083770897
+0.694037146 0.840000000 0.921630237 0.081630237
+0.703812317 0.840000000 0.919462198 0.079462198
+0.713587488 0.840000000 0.917266903 0.077266903
+0.723362659 0.840000000 0.915044476 0.075044476
+0.733137830 0.840000000 0.912795045 0.072795045
+0.742913001 0.840000000 0.910518737 0.070518737
+0.752688172 0.840000000 0.908215680 0.068215680
+0.762463343 0.840000000 0.905886006 0.065886006
+0.772238514 0.840000000 0.903529847 0.063529847
+0.782013685 0.840000000 0.901147335 0.061147335
+0.791788856 0.840000000 0.898738606 0.058738606
+0.801564027 0.840000000 0.896303797 0.056303797
+0.811339198 0.840000000 0.893843045 0.053843045
+0.821114370 0.840000000 0.891356490 0.051356490
+0.830889541 0.840000000 0.888844272 0.048844272
+0.840664712 0.840000000 0.886306533 0.046306533
+0.850439883 0.840000000 0.883743417 0.043743417
+0.860215054 0.840000000 0.881155068 0.041155068
+0.869990225 0.840000000 0.878541634 0.038541634
+0.879765396 0.840000000 0.875903261 0.035903261
+0.889540567 0.840000000 0.873240099 0.033240099
+0.899315738 0.840000000 0.870552298 0.030552298
+0.909090909 0.840000000 0.867840009 0.027840009
+0.918866080 0.840000000 0.865103386 0.025103386
+0.928641251 0.840000000 0.862342583 0.022342583
+0.938416422 0.840000000 0.859557755 0.019557755
+0.948191593 0.840000000 0.856749059 0.016749059
+0.957966764 0.840000000 0.853916654 0.013916654
+0.967741935 0.840000000 0.851060700 0.011060700
+0.977517107 0.840000000 0.848181355 0.008181355
+0.987292278 0.840000000 0.845278784 0.005278784
+0.997067449 0.840000000 0.842353148 0.002353148
+1.006842620 0.837331378 0.839404613 0.002073235
+1.016617791 0.833519062 0.836433344 0.002914283
+1.026392962 0.829706745 0.833439508 0.003732763
+1.036168133 0.825894428 0.830423273 0.004528844
+1.045943304 0.822082111 0.827384807 0.005302696
+1.055718475 0.818269795 0.824324283 0.006054488
+1.065493646 0.814457478 0.821241871 0.006784393
+1.075268817 0.810645161 0.818137743 0.007492582
+1.085043988 0.806832845 0.815012075 0.008179230
+1.094819159 0.803020528 0.811865040 0.008844512
+1.104594330 0.799208211 0.808696816 0.009488604
+1.114369501 0.795395894 0.805507578 0.010111684
+1.124144673 0.791583578 0.802297506 0.010713928
+1.133919844 0.787771261 0.799066779 0.011295518
+1.143695015 0.783958944 0.795815577 0.011856632
+1.153470186 0.780146628 0.792544081 0.012397454
+1.163245357 0.776334311 0.789252476 0.012918165
+1.173020528 0.772521994 0.785940943 0.013418949
+1.182795699 0.768709677 0.782609668 0.013899990
+1.192570870 0.764897361 0.779258836 0.014361475
+1.202346041 0.761085044 0.775888633 0.014803589
+1.212121212 0.757272727 0.772499248 0.015226521
+1.221896383 0.753460411 0.769090869 0.015630459
+1.231671554 0.749648094 0.765663685 0.016015592
+1.241446725 0.745835777 0.762217888 0.016382110
+1.251221896 0.742023460 0.758753667 0.016730207
+1.260997067 0.738211144 0.755271216 0.017060072
+1.270772239 0.734398827 0.751770728 0.017371901
+1.280547410 0.730586510 0.748252396 0.017665886
+1.290322581 0.726774194 0.744716416 0.017942223
+1.300097752 0.722961877 0.741162984 0.018201107
+1.309872923 0.719149560 0.737592296 0.018442736
+1.319648094 0.715337243 0.734004550 0.018667307
+1.329423265 0.711524927 0.730399945 0.018875018
+1.339198436 0.707712610 0.726778678 0.019066068
+1.348973607 0.703900293 0.723140951 0.019240658
+1.358748778 0.700087977 0.719486964 0.019398987
+1.368523949 0.696275660 0.715816918 0.019541259
+1.378299120 0.692463343 0.712131017 0.019667674
+1.388074291 0.688651026 0.708429462 0.019778436
+1.397849462 0.684838710 0.704712458 0.019873748
+1.407624633 0.681026393 0.700980209 0.019953816
+1.417399804 0.677214076 0.697232921 0.020018845
+1.427174976 0.673401760 0.693470798 0.020069039
+1.436950147 0.669589443 0.689694049 0.020104606
+1.446725318 0.665777126 0.685902879 0.020125753
+1.456500489 0.661964809 0.682097497 0.020132688
+1.466275660 0.658152493 0.678278112 0.020125619
+1.476050831 0.654340176 0.674444932 0.020104756
+1.485826002 0.650527859 0.670598167 0.020070308
+1.495601173 0.646715543 0.666738028 0.020022485
+1.505376344 0.642903226 0.662864725 0.019961499
+1.515151515 0.639090909 0.658978470 0.019887561
+1.524926686 0.635278592 0.655079475 0.019800882
+1.534701857 0.631466276 0.651167952 0.019701676
+1.544477028 0.627653959 0.647244115 0.019590156
+1.554252199 0.623841642 0.643308177 0.019466535
+1.564027370 0.620029326 0.639360352 0.019331027
+1.573802542 0.616217009 0.635400856 0.019183847
+1.583577713 0.612404692 0.631429902 0.019025209
+1.593352884 0.608592375 0.627447706 0.018855331
+1.603128055 0.604780059 0.623454485 0.018674426
+1.612903226 0.600967742 0.619450454 0.018482712
+1.622678397 0.597155425 0.615435831 0.018280406
+1.632453568 0.593343109 0.611410832 0.018067724
+1.642228739 0.589530792 0.607375676 0.017844884
+1.652003910 0.585718475 0.603330579 0.017612104
+1.661779081 0.581906158 0.599275761 0.017369603
+1.671554252 0.578093842 0.595211440 0.017117598
+1.681329423 0.574281525 0.591137834 0.016856310
+1.691104594 0.570469208 0.587055164 0.016585956
+1.700879765 0.566656891 0.582963649 0.016306757
+1.710654936 0.562844575 0.578863507 0.016018933
+1.720430108 0.559032258 0.574754961 0.015722703
+1.730205279 0.555219941 0.570638229 0.015418287
+1.739980450 0.551407625 0.566513532 0.015105908
+1.749755621 0.547595308 0.562381092 0.014785784
+1.759530792 0.543782991 0.558241129 0.014458138
+1.769305963 0.539970674 0.554093865 0.014123190
+1.779081134 0.536158358 0.549939520 0.013781162
+1.788856305 0.532346041 0.545778317 0.013432276
+1.798631476 0.528533724 0.541610476 0.013076752
+1.808406647 0.524721408 0.537436221 0.012714813
+1.818181818 0.520909091 0.533255772 0.012346681
+1.827956989 0.517096774 0.529069352 0.011972578
+1.837732160 0.513284457 0.524877183 0.011592726
+1.847507331 0.509472141 0.520679488 0.011207347
+1.857282502 0.505659824 0.516476488 0.010816664
+1.867057674 0.501847507 0.512268406 0.010420898
+1.876832845 0.498035191 0.508055464 0.010020273
+1.886608016 0.494222874 0.503837884 0.009615010
+1.896383187 0.490410557 0.499615890 0.009205333
+1.906158358 0.486598240 0.495389703 0.008791463
+1.915933529 0.482785924 0.491159546 0.008373622
+1.925708700 0.478973607 0.486925641 0.007952034
+1.935483871 0.475161290 0.482688211 0.007526920
+1.945259042 0.471348974 0.478447477 0.007098503
+1.955034213 0.467536657 0.474203662 0.006667005
+1.964809384 0.463724340 0.469956987 0.006232647
+1.974584555 0.459912023 0.465707675 0.005795652
+1.984359726 0.456099707 0.461455948 0.005356241
+1.994134897 0.452287390 0.457202027 0.004914637
+2.003910068 0.448396872 0.452946134 0.004549262
+2.013685239 0.444389052 0.448688489 0.004299437
+2.023460411 0.440381232 0.444429315 0.004048083
+2.033235582 0.436373412 0.440168832 0.003795420
+2.043010753 0.432365591 0.435907260 0.003541669
+2.052785924 0.428357771 0.431644821 0.003287050
+2.062561095 0.424349951 0.427381735 0.003031784
+2.072336266 0.420342131 0.423118222 0.002776091
+2.082111437 0.416334311 0.418854501 0.002520190
+2.091886608 0.412326491 0.414590792 0.002264301
+2.101661779 0.408318671 0.410327314 0.002008643
+2.111436950 0.404310850 0.406064286 0.001753436
+2.121212121 0.400303030 0.401801927 0.001498897
+2.130987292 0.396295210 0.397540455 0.001245245
+2.140762463 0.392287390 0.393280087 0.000992697
+2.150537634 0.388279570 0.389021042 0.000741472
+2.160312805 0.384271750 0.384763536 0.000491786
+2.170087977 0.380263930 0.380507786 0.000243857
+2.179863148 0.376256109 0.376254009 0.000002100
+2.189638319 0.372248289 0.372002420 0.000245869
+2.199413490 0.368240469 0.367753235 0.000487234
+2.209188661 0.364232649 0.363506669 0.000725980
+2.218963832 0.360224829 0.359262937 0.000961892
+2.228739003 0.356217009 0.355022251 0.001194757
+2.238514174 0.352209189 0.350784828 0.001424361
+2.248289345 0.348201369 0.346550878 0.001650491
+2.258064516 0.344193548 0.342320615 0.001872933
+2.267839687 0.340185728 0.338094251 0.002091477
+2.277614858 0.336177908 0.333871998 0.002305910
+2.287390029 0.332170088 0.329654066 0.002516022
+2.297165200 0.328162268 0.325440666 0.002721602
+2.306940371 0.324154448 0.321232007 0.002922440
+2.316715543 0.320146628 0.317028300 0.003118328
+2.326490714 0.316138807 0.312829752 0.003309056
+2.336265885 0.312130987 0.308636571 0.003494416
+2.346041056 0.308123167 0.304448965 0.003674202
+2.355816227 0.304115347 0.300267141 0.003848206
+2.365591398 0.300107527 0.296091304 0.004016222
+2.375366569 0.296099707 0.291921661 0.004178046
+2.385141740 0.292091887 0.287758415 0.004333472
+2.394916911 0.288084066 0.283601770 0.004482296
+2.404692082 0.284076246 0.279451931 0.004624315
+2.414467253 0.280068426 0.275309099 0.004759327
+2.424242424 0.276060606 0.271173477 0.004887129
+2.434017595 0.272052786 0.267045265 0.005007521
+2.443792766 0.268044966 0.262924663 0.005120302
+2.453567937 0.264037146 0.258811872 0.005225273
+2.463343109 0.260029326 0.254707090 0.005322235
+2.473118280 0.256021505 0.250610515 0.005410990
+2.482893451 0.252013685 0.246522344 0.005491341
+2.492668622 0.248005865 0.242442774 0.005563091
+2.502443793 0.243998045 0.238371999 0.005626046
+2.512218964 0.239990225 0.234310215 0.005680009
+2.521994135 0.235982405 0.230257616 0.005724789
+2.531769306 0.231974585 0.226214394 0.005760191
+2.541544477 0.227966764 0.222180741 0.005786024
+2.551319648 0.223958944 0.218156848 0.005802096
+2.561094819 0.219951124 0.214142907 0.005808217
+2.570869990 0.215943304 0.210139105 0.005804199
+2.580645161 0.211935484 0.206145632 0.005789852
+2.590420332 0.207927664 0.202162674 0.005764989
+2.600195503 0.203919844 0.198190419 0.005729424
+2.609970674 0.199912023 0.194229052 0.005682971
+2.619745846 0.195904203 0.190278758 0.005625446
+2.629521017 0.191896383 0.186339719 0.005556664
+2.639296188 0.187888563 0.182412119 0.005476444
+2.649071359 0.183880743 0.178496140 0.005384603
+2.658846530 0.179872923 0.174591961 0.005280962
+2.668621701 0.175865103 0.170699762 0.005165340
+2.678396872 0.171857283 0.166819723 0.005037560
+2.688172043 0.167849462 0.162952019 0.004897443
+2.697947214 0.163841642 0.159096828 0.004744814
+2.707722385 0.159833822 0.155254326 0.004579496
+2.717497556 0.155826002 0.151424685 0.004401317
+2.727272727 0.151818182 0.147608080 0.004210102
+2.737047898 0.147810362 0.143804682 0.004005680
+2.746823069 0.143802542 0.140014663 0.003787879
+2.756598240 0.139794721 0.136238191 0.003556530
+2.766373412 0.135786901 0.132475437 0.003311464
+2.776148583 0.131779081 0.128726567 0.003052514
+2.785923754 0.127771261 0.124991748 0.002779513
+2.795698925 0.123763441 0.121271145 0.002492296
+2.805474096 0.119755621 0.117564921 0.002190699
+2.815249267 0.115747801 0.113873241 0.001874559
+2.825024438 0.111739980 0.110196266 0.001543715
+2.834799609 0.107732160 0.106534155 0.001198005
+2.844574780 0.103724340 0.102887069 0.000837271
+2.854349951 0.099716520 0.099255166 0.000461354
+2.864125122 0.095708700 0.095638602 0.000070098
+2.873900293 0.091700880 0.092037533 0.000336653
+2.883675464 0.087693060 0.088452113 0.000759053
+2.893450635 0.083685239 0.084882496 0.001197256
+2.903225806 0.079677419 0.081328833 0.001651414
+2.913000978 0.075669599 0.077791275 0.002121676
+2.922776149 0.071661779 0.074269971 0.002608192
+2.932551320 0.067653959 0.070765070 0.003111111
+2.942326491 0.063646139 0.067276718 0.003630579
+2.952101662 0.059638319 0.063805060 0.004166741
+2.961876833 0.055630499 0.060350240 0.004719742
+2.971652004 0.051622678 0.056912402 0.005289724
+2.981427175 0.047614858 0.053491687 0.005876829
+2.991202346 0.043607038 0.050088235 0.006481197
+3.000977517 0.039784946 0.046702185 0.006917238
+3.010752688 0.037634409 0.043333674 0.005699265
+3.020527859 0.035483871 0.039982838 0.004498967
+3.030303030 0.033333333 0.036649813 0.003316479
+3.040078201 0.031182796 0.033334731 0.002151935
+3.049853372 0.029032258 0.030037724 0.001005466
+3.059628543 0.026881720 0.026758924 0.000122797
+3.069403715 0.024731183 0.023498459 0.001232724
+3.079178886 0.022580645 0.020256457 0.002324188
+3.088954057 0.020430108 0.017033044 0.003397063
+3.098729228 0.018279570 0.013828347 0.004451223
+3.108504399 0.016129032 0.010642487 0.005486545
+3.118279570 0.013978495 0.007475588 0.006502907
+3.128054741 0.011827957 0.004327769 0.007500188
+3.137829912 0.009677419 0.001199151 0.008478268
+3.147605083 0.007526882 -0.001910149 0.009437030
+3.157380254 0.005376344 -0.005000014 0.010376358
+3.167155425 0.003225806 -0.008070329 0.011296136
+3.176930596 0.001075269 -0.011120982 0.012196251
+3.186705767 -0.001075269 -0.014151860 0.013076591
+3.196480938 -0.003225806 -0.017162852 0.013937045
+3.206256109 -0.005376344 -0.020153849 0.014777505
+3.216031281 -0.007526882 -0.023124744 0.015597862
+3.225806452 -0.009677419 -0.026075431 0.016398012
+3.235581623 -0.011827957 -0.029005805 0.017177848
+3.245356794 -0.013978495 -0.031915762 0.017937268
+3.255131965 -0.016129032 -0.034805202 0.018676170
+3.264907136 -0.018279570 -0.037674024 0.019394454
+3.274682307 -0.020430108 -0.040522130 0.020092022
+3.284457478 -0.022580645 -0.043349422 0.020768777
+3.294232649 -0.024731183 -0.046155805 0.021424622
+3.304007820 -0.026881720 -0.048941185 0.022059465
+3.313782991 -0.029032258 -0.051705469 0.022673211
+3.323558162 -0.031182796 -0.054448567 0.023265771
+3.333333333 -0.033333333 -0.057170389 0.023837056
+3.343108504 -0.035483871 -0.059870847 0.024386976
+3.352883675 -0.037634409 -0.062549854 0.024915446
+3.362658847 -0.039784946 -0.065207327 0.025422380
+3.372434018 -0.041935484 -0.067843181 0.025907697
+3.382209189 -0.044086022 -0.070457335 0.026371313
+3.391984360 -0.046236559 -0.073049709 0.026813150
+3.401759531 -0.048387097 -0.075620224 0.027233127
+3.411534702 -0.050537634 -0.078168803 0.027631169
+3.421309873 -0.052688172 -0.080695371 0.028007199
+3.431085044 -0.054838710 -0.083199854 0.028361144
+3.440860215 -0.056989247 -0.085682179 0.028692932
+3.450635386 -0.059139785 -0.088142277 0.029002492
+3.460410557 -0.061290323 -0.090580077 0.029289754
+3.470185728 -0.063440860 -0.092995512 0.029554651
+3.479960899 -0.065591398 -0.095388516 0.029797118
+3.489736070 -0.067741935 -0.097759024 0.030017089
+3.499511241 -0.069892473 -0.100106975 0.030214502
+3.509286413 -0.072043011 -0.102432306 0.030389296
+3.519061584 -0.074193548 -0.104734958 0.030541410
+3.528836755 -0.076344086 -0.107014873 0.030670787
+3.538611926 -0.078494624 -0.109271995 0.030777371
+3.548387097 -0.080645161 -0.111506268 0.030861107
+3.558162268 -0.082795699 -0.113717639 0.030921940
+3.567937439 -0.084946237 -0.115906057 0.030959820
+3.577712610 -0.087096774 -0.118071471 0.030974697
+3.587487781 -0.089247312 -0.120213834 0.030966522
+3.597262952 -0.091397849 -0.122333097 0.030935248
+3.607038123 -0.093548387 -0.124429216 0.030880829
+3.616813294 -0.095698925 -0.126502148 0.030803223
+3.626588465 -0.097849462 -0.128551849 0.030702387
+3.636363636 -0.100000000 -0.130578280 0.030578280
+3.646138807 -0.102150538 -0.132581402 0.030430865
+3.655913978 -0.104301075 -0.134561177 0.030260102
+3.665689150 -0.106451613 -0.136517570 0.030065957
+3.675464321 -0.108602151 -0.138450547 0.029848396
+3.685239492 -0.110752688 -0.140360075 0.029607387
+3.695014663 -0.112903226 -0.142246123 0.029342897
+3.704789834 -0.115053763 -0.144108662 0.029054898
+3.714565005 -0.117204301 -0.145947664 0.028743363
+3.724340176 -0.119354839 -0.147763104 0.028408265
+3.734115347 -0.121505376 -0.149554957 0.028049580
+3.743890518 -0.123655914 -0.151323199 0.027667285
+3.753665689 -0.125806452 -0.153067810 0.027261359
+3.763440860 -0.127956989 -0.154788770 0.026831781
+3.773216031 -0.130107527 -0.156486061 0.026378534
+3.782991202 -0.132258065 -0.158159667 0.025901602
+3.792766373 -0.134408602 -0.159809571 0.025400969
+3.802541544 -0.136559140 -0.161435762 0.024876622
+3.812316716 -0.138709677 -0.163038227 0.024328550
+3.822091887 -0.140860215 -0.164616957 0.023756742
+3.831867058 -0.143010753 -0.166171942 0.023161190
+3.841642229 -0.145161290 -0.167703176 0.022541886
+3.851417400 -0.147311828 -0.169210654 0.021898826
+3.861192571 -0.149462366 -0.170694370 0.021232005
+3.870967742 -0.151612903 -0.172154324 0.020541421
+3.880742913 -0.153763441 -0.173590515 0.019827074
+3.890518084 -0.155913978 -0.175002943 0.019088965
+3.900293255 -0.158064516 -0.176391612 0.018327095
+3.910068426 -0.160215054 -0.177756524 0.017541470
+3.919843597 -0.162365591 -0.179097686 0.016732094
+3.929618768 -0.164516129 -0.180415104 0.015898975
+3.939393939 -0.166666667 -0.181708788 0.015042122
+3.949169110 -0.168817204 -0.182978748 0.014161544
+3.958944282 -0.170967742 -0.184224995 0.013257253
+3.968719453 -0.173118280 -0.185447544 0.012329264
+3.978494624 -0.175268817 -0.186646408 0.011377591
+3.988269795 -0.177419355 -0.187821604 0.010402249
+3.998044966 -0.179569892 -0.188973151 0.009403258
+4.007820137 -0.180078201 -0.190101067 0.010022866
+4.017595308 -0.180175953 -0.191205374 0.011029421
+4.027370479 -0.180273705 -0.192286095 0.012012390
+4.037145650 -0.180371457 -0.193343253 0.012971796
+4.046920821 -0.180469208 -0.194376874 0.013907665
+4.056695992 -0.180566960 -0.195386985 0.014820025
+4.066471163 -0.180664712 -0.196373614 0.015708903
+4.076246334 -0.180762463 -0.197336793 0.016574330
+4.086021505 -0.180860215 -0.198276552 0.017416337
+4.095796676 -0.180957967 -0.199192925 0.018234958
+4.105571848 -0.181055718 -0.200085945 0.019030227
+4.115347019 -0.181153470 -0.200955650 0.019802180
+4.125122190 -0.181251222 -0.201802077 0.020550855
+4.134897361 -0.181348974 -0.202625264 0.021276290
+4.144672532 -0.181446725 -0.203425253 0.021978527
+4.154447703 -0.181544477 -0.204202084 0.022657607
+4.164222874 -0.181642229 -0.204955802 0.023313574
+4.173998045 -0.181739980 -0.205686452 0.023946472
+4.183773216 -0.181837732 -0.206394079 0.024556347
+4.193548387 -0.181935484 -0.207078732 0.025143248
+4.203323558 -0.182033236 -0.207740459 0.025707224
+4.213098729 -0.182130987 -0.208379312 0.026248324
+4.222873900 -0.182228739 -0.208995341 0.026766602
+4.232649071 -0.182326491 -0.209588601 0.027262110
+4.242424242 -0.182424242 -0.210159146 0.027734904
+4.252199413 -0.182521994 -0.210707033 0.028185039
+4.261974585 -0.182619746 -0.211232319 0.028612574
+4.271749756 -0.182717498 -0.211735064 0.029017566
+4.281524927 -0.182815249 -0.212215327 0.029400078
+4.291300098 -0.182913001 -0.212673170 0.029760169
+4.301075269 -0.183010753 -0.213108657 0.030097904
+4.310850440 -0.183108504 -0.213521852 0.030413347
+4.320625611 -0.183206256 -0.213912820 0.030706564
+4.330400782 -0.183304008 -0.214281630 0.030977622
+4.340175953 -0.183401760 -0.214628349 0.031226589
+4.349951124 -0.183499511 -0.214953047 0.031453536
+4.359726295 -0.183597263 -0.215255796 0.031658533
+4.369501466 -0.183695015 -0.215536668 0.031841654
+4.379276637 -0.183792766 -0.215795737 0.032002971
+4.389051808 -0.183890518 -0.216033078 0.032142560
+4.398826979 -0.183988270 -0.216248767 0.032260497
+4.408602151 -0.184086022 -0.216442883 0.032356861
+4.418377322 -0.184183773 -0.216615503 0.032431730
+4.428152493 -0.184281525 -0.216766708 0.032485183
+4.437927664 -0.184379277 -0.216896581 0.032517304
+4.447702835 -0.184477028 -0.217005203 0.032528174
+4.457478006 -0.184574780 -0.217092658 0.032517878
+4.467253177 -0.184672532 -0.217159032 0.032486500
+4.477028348 -0.184770283 -0.217204411 0.032434128
+4.486803519 -0.184868035 -0.217228884 0.032360849
+4.496578690 -0.184965787 -0.217232538 0.032266751
+4.506353861 -0.185063539 -0.217215464 0.032151925
+4.516129032 -0.185161290 -0.217177753 0.032016463
+4.525904203 -0.185259042 -0.217119498 0.031860456
+4.535679374 -0.185356794 -0.217040792 0.031683998
+4.545454545 -0.185454545 -0.216941730 0.031487185
+4.555229717 -0.185552297 -0.216822409 0.031270112
+4.565004888 -0.185650049 -0.216682925 0.031032876
+4.574780059 -0.185747801 -0.216523376 0.030775576
+4.584555230 -0.185845552 -0.216343863 0.030498310
+4.594330401 -0.185943304 -0.216144485 0.030201181
+4.604105572 -0.186041056 -0.215925344 0.029884288
+4.613880743 -0.186138807 -0.215686543 0.029547735
+4.623655914 -0.186236559 -0.215428185 0.029191626
+4.633431085 -0.186334311 -0.215150377 0.028816066
+4.643206256 -0.186432063 -0.214853223 0.028421161
+4.652981427 -0.186529814 -0.214536831 0.028007017
+4.662756598 -0.186627566 -0.214201309 0.027573743
+4.672531769 -0.186725318 -0.213846766 0.027121448
+4.682306940 -0.186823069 -0.213473312 0.026650242
+4.692082111 -0.186920821 -0.213081058 0.026160237
+4.701857283 -0.187018573 -0.212670118 0.025651545
+4.711632454 -0.187116325 -0.212240603 0.025124279
+4.721407625 -0.187214076 -0.211792629 0.024578553
+4.731182796 -0.187311828 -0.211326310 0.024014482
+4.740957967 -0.187409580 -0.210841763 0.023432183
+4.750733138 -0.187507331 -0.210339104 0.022831773
+4.760508309 -0.187605083 -0.209818453 0.022213370
+4.770283480 -0.187702835 -0.209279928 0.021577093
+4.780058651 -0.187800587 -0.208723648 0.020923062
+4.789833822 -0.187898338 -0.208149736 0.020251398
+4.799608993 -0.187996090 -0.207558313 0.019562223
+4.809384164 -0.188093842 -0.206949501 0.018855660
+4.819159335 -0.188191593 -0.206323425 0.018131831
+4.828934506 -0.188289345 -0.205680208 0.017390863
+4.838709677 -0.188387097 -0.205019977 0.016632880
+4.848484848 -0.188484848 -0.204342856 0.015858008
+4.858260020 -0.188582600 -0.203648975 0.015066375
+4.868035191 -0.188680352 -0.202938460 0.014258108
+4.877810362 -0.188778104 -0.202211440 0.013433336
+4.887585533 -0.188875855 -0.201468044 0.012592189
+4.897360704 -0.188973607 -0.200708404 0.011734797
+4.907135875 -0.189071359 -0.199932650 0.010861292
+4.916911046 -0.189169110 -0.199140915 0.009971804
+4.926686217 -0.189266862 -0.198333330 0.009066468
+4.936461388 -0.189364614 -0.197510031 0.008145417
+4.946236559 -0.189462366 -0.196671149 0.007208784
+4.956011730 -0.189560117 -0.195816822 0.006256704
+4.965786901 -0.189657869 -0.194947184 0.005289315
+4.975562072 -0.189755621 -0.194062371 0.004306751
+4.985337243 -0.189853372 -0.193162522 0.003309149
+4.995112414 -0.189951124 -0.192247773 0.002296649
+5.004887586 -0.189266862 -0.191318264 0.002051402
+5.014662757 -0.187800587 -0.190374133 0.002573546
+5.024437928 -0.186334311 -0.189415520 0.003081209
+5.034213099 -0.184868035 -0.188442566 0.003574530
+5.043988270 -0.183401760 -0.187455411 0.004053652
+5.053763441 -0.181935484 -0.186454198 0.004518714
+5.063538612 -0.180469208 -0.185439069 0.004969861
+5.073313783 -0.179002933 -0.184410166 0.005407234
+5.083088954 -0.177536657 -0.183367634 0.005830977
+5.092864125 -0.176070381 -0.182311616 0.006241235
+5.102639296 -0.174604106 -0.181242257 0.006638152
+5.112414467 -0.173137830 -0.180159702 0.007021872
+5.122189638 -0.171671554 -0.179064097 0.007392543
+5.131964809 -0.170205279 -0.177955589 0.007750310
+5.141739980 -0.168739003 -0.176834323 0.008095320
+5.151515152 -0.167272727 -0.175700447 0.008427720
+5.161290323 -0.165806452 -0.174554110 0.008747658
+5.171065494 -0.164340176 -0.173395458 0.009055283
+5.180840665 -0.162873900 -0.172224642 0.009350742
+5.190615836 -0.161407625 -0.171041810 0.009634186
+5.200391007 -0.159941349 -0.169847112 0.009905763
+5.210166178 -0.158475073 -0.168640698 0.010165625
+5.219941349 -0.157008798 -0.167422718 0.010413921
+5.229716520 -0.155542522 -0.166193324 0.010650802
+5.239491691 -0.154076246 -0.164952666 0.010876420
+5.249266862 -0.152609971 -0.163700897 0.011090926
+5.259042033 -0.151143695 -0.162438167 0.011294472
+5.268817204 -0.149677419 -0.161164631 0.011487212
+5.278592375 -0.148211144 -0.159880440 0.011669296
+5.288367546 -0.146744868 -0.158585748 0.011840880
+5.298142717 -0.145278592 -0.157280708 0.012002115
+5.307917889 -0.143812317 -0.155965473 0.012153157
+5.317693060 -0.142346041 -0.154640199 0.012294158
+5.327468231 -0.140879765 -0.153305038 0.012425273
+5.337243402 -0.139413490 -0.151960146 0.012546657
+5.347018573 -0.137947214 -0.150605678 0.012658464
+5.356793744 -0.136480938 -0.149241789 0.012760850
+5.366568915 -0.135014663 -0.147868633 0.012853971
+5.376344086 -0.133548387 -0.146486368 0.012937981
+5.386119257 -0.132082111 -0.145095148 0.013013036
+5.395894428 -0.130615836 -0.143695129 0.013079293
+5.405669599 -0.129149560 -0.142286468 0.013136908
+5.415444770 -0.127683284 -0.140869321 0.013186036
+5.425219941 -0.126217009 -0.139443844 0.013226835
+5.434995112 -0.124750733 -0.138010195 0.013259462
+5.444770283 -0.123284457 -0.136568530 0.013284072
+5.454545455 -0.121818182 -0.135119006 0.013300824
+5.464320626 -0.120351906 -0.133661780 0.013309874
+5.474095797 -0.118885630 -0.132197009 0.013311379
+5.483870968 -0.117419355 -0.130724852 0.013305497
+5.493646139 -0.115953079 -0.129245464 0.013292385
+5.503421310 -0.114486804 -0.127759003 0.013272200
+5.513196481 -0.113020528 -0.126265628 0.013245100
+5.522971652 -0.111554252 -0.124765495 0.013211243
+5.532746823 -0.110087977 -0.123258763 0.013170786
+5.542521994 -0.108621701 -0.121745588 0.013123887
+5.552297165 -0.107155425 -0.120226129 0.013070703
+5.562072336 -0.105689150 -0.118700542 0.013011393
+5.571847507 -0.104222874 -0.117168986 0.012946112
+5.581622678 -0.102756598 -0.115631619 0.012875020
+5.591397849 -0.101290323 -0.114088597 0.012798274
+5.601173021 -0.099824047 -0.112540078 0.012716031
+5.610948192 -0.098357771 -0.110986220 0.012628449
+5.620723363 -0.096891496 -0.109427180 0.012535685
+5.630498534 -0.095425220 -0.107863116 0.012437896
+5.640273705 -0.093958944 -0.106294184 0.012335240
+5.650048876 -0.092492669 -0.104720542 0.012227873
+5.659824047 -0.091026393 -0.103142346 0.012115953
+5.669599218 -0.089560117 -0.101559754 0.011999637
+5.679374389 -0.088093842 -0.099972922 0.011879080
+5.689149560 -0.086627566 -0.098382007 0.011754441
+5.698924731 -0.085161290 -0.096787164 0.011625874
+5.708699902 -0.083695015 -0.095188551 0.011493537
+5.718475073 -0.082228739 -0.093586324 0.011357585
+5.728250244 -0.080762463 -0.091980637 0.011218174
+5.738025415 -0.079296188 -0.090371648 0.011075460
+5.747800587 -0.077829912 -0.088759510 0.010929598
+5.757575758 -0.076363636 -0.087144380 0.010780744
+5.767350929 -0.074897361 -0.085526412 0.010629051
+5.777126100 -0.073431085 -0.083905761 0.010474676
+5.786901271 -0.071964809 -0.082282581 0.010317771
+5.796676442 -0.070498534 -0.080657026 0.010158492
+5.806451613 -0.069032258 -0.079029251 0.009996993
+5.816226784 -0.067565982 -0.077399408 0.009833426
+5.826001955 -0.066099707 -0.075767651 0.009667945
+5.835777126 -0.064633431 -0.074134133 0.009500702
+5.845552297 -0.063167155 -0.072499007 0.009331851
+5.855327468 -0.061700880 -0.070862424 0.009161544
+5.865102639 -0.060234604 -0.069224536 0.008989932
+5.874877810 -0.058768328 -0.067585496 0.008817167
+5.884652981 -0.057302053 -0.065945453 0.008643400
+5.894428152 -0.055835777 -0.064304559 0.008468782
+5.904203324 -0.054369501 -0.062662964 0.008293463
+5.913978495 -0.052903226 -0.061020818 0.008117593
+5.923753666 -0.051436950 -0.059378271 0.007941321
+5.933528837 -0.049970674 -0.057735471 0.007764797
+5.943304008 -0.048504399 -0.056092568 0.007588169
+5.953079179 -0.047038123 -0.054449709 0.007411586
+5.962854350 -0.045571848 -0.052807042 0.007235194
+5.972629521 -0.044105572 -0.051164714 0.007059142
+5.982404692 -0.042639296 -0.049522873 0.006883577
+5.992179863 -0.041173021 -0.047881664 0.006708643
+6.001955034 -0.039745846 -0.046241233 0.006495387
+6.011730205 -0.038475073 -0.044601725 0.006126652
+6.021505376 -0.037204301 -0.042963286 0.005758985
+6.031280547 -0.035933529 -0.041326059 0.005392530
+6.041055718 -0.034662757 -0.039690188 0.005027431
+6.050830890 -0.033391984 -0.038055816 0.004663832
+6.060606061 -0.032121212 -0.036423086 0.004301874
+6.070381232 -0.030850440 -0.034792139 0.003941699
+6.080156403 -0.029579668 -0.033163118 0.003583450
+6.089931574 -0.028308895 -0.031536162 0.003227267
+6.099706745 -0.027038123 -0.029911413 0.002873289
+6.109481916 -0.025767351 -0.028289009 0.002521658
+6.119257087 -0.024496579 -0.026669089 0.002172511
+6.129032258 -0.023225806 -0.025051793 0.001825986
+6.138807429 -0.021955034 -0.023437257 0.001482223
+6.148582600 -0.020684262 -0.021825619 0.001141357
+6.158357771 -0.019413490 -0.020217015 0.000803526
+6.168132942 -0.018142717 -0.018611581 0.000468864
+6.177908113 -0.016871945 -0.017009452 0.000137507
+6.187683284 -0.015601173 -0.015410762 0.000190411
+6.197458456 -0.014330401 -0.013815645 0.000514755
+6.207233627 -0.013059629 -0.012224234 0.000835394
+6.217008798 -0.011788856 -0.010636662 0.001152195
+6.226783969 -0.010518084 -0.009053059 0.001465025
+6.236559140 -0.009247312 -0.007473556 0.001773756
+6.246334311 -0.007976540 -0.005898284 0.002078255
+6.256109482 -0.006705767 -0.004327373 0.002378395
+6.265884653 -0.005434995 -0.002760950 0.002674046
+6.275659824 -0.004164223 -0.001199143 0.002965080
+6.285434995 -0.002893451 0.000357920 0.003251371
+6.295210166 -0.001622678 0.001910114 0.003532792
+6.304985337 -0.000351906 0.003457312 0.003809218
+6.314760508 0.000918866 0.004999391 0.004080525
+6.324535679 0.002189638 0.006536225 0.004346587
+6.334310850 0.003460411 0.008067693 0.004607282
+6.344086022 0.004731183 0.009593671 0.004862488
+6.353861193 0.006001955 0.011114039 0.005112084
+6.363636364 0.007272727 0.012628676 0.005355948
+6.373411535 0.008543500 0.014137461 0.005593962
+6.383186706 0.009814272 0.015640277 0.005826005
+6.392961877 0.011085044 0.017137005 0.006051961
+6.402737048 0.012355816 0.018627527 0.006271711
+6.412512219 0.013626588 0.020111728 0.006485140
+6.422287390 0.014897361 0.021589493 0.006692132
+6.432062561 0.016168133 0.023060705 0.006892572
+6.441837732 0.017438905 0.024525253 0.007086348
+6.451612903 0.018709677 0.025983022 0.007273345
+6.461388074 0.019980450 0.027433902 0.007453453
+6.471163245 0.021251222 0.028877781 0.007626559
+6.480938416 0.022521994 0.030314550 0.007792555
+6.490713587 0.023792766 0.031744098 0.007951331
+6.500488759 0.025063539 0.033166318 0.008102779
+6.510263930 0.026334311 0.034581103 0.008246792
+6.520039101 0.027605083 0.035988346 0.008383263
+6.529814272 0.028875855 0.037387943 0.008512087
+6.539589443 0.030146628 0.038779788 0.008633160
+6.549364614 0.031417400 0.040163778 0.008746378
+6.559139785 0.032688172 0.041539811 0.008851639
+6.568914956 0.033958944 0.042907785 0.008948841
+6.578690127 0.035229717 0.044267600 0.009037884
+6.588465298 0.036500489 0.045619157 0.009118668
+6.598240469 0.037771261 0.046962356 0.009191095
+6.608015640 0.039042033 0.048297101 0.009255067
+6.617790811 0.040312805 0.049623294 0.009310488
+6.627565982 0.041583578 0.050940840 0.009357263
+6.637341153 0.042854350 0.052249646 0.009395296
+6.647116325 0.044125122 0.053549616 0.009424494
+6.656891496 0.045395894 0.054840660 0.009444765
+6.666666667 0.046666667 0.056122685 0.009456018
+6.676441838 0.047937439 0.057395600 0.009458162
+6.686217009 0.049208211 0.058659318 0.009451107
+6.695992180 0.050478983 0.059913749 0.009434766
+6.705767351 0.051749756 0.061158806 0.009409051
+6.715542522 0.053020528 0.062394403 0.009373876
+6.725317693 0.054291300 0.063620455 0.009329155
+6.735092864 0.055562072 0.064836878 0.009274806
+6.744868035 0.056832845 0.066043589 0.009210744
+6.754643206 0.058103617 0.067240505 0.009136888
+6.764418377 0.059374389 0.068427546 0.009053157
+6.774193548 0.060645161 0.069604633 0.008959471
+6.783968719 0.061915934 0.070771685 0.008855752
+6.793743891 0.063186706 0.071928627 0.008741921
+6.803519062 0.064457478 0.073075381 0.008617903
+6.813294233 0.065728250 0.074211872 0.008483622
+6.823069404 0.066999022 0.075338026 0.008339003
+6.832844575 0.068269795 0.076453768 0.008183974
+6.842619746 0.069540567 0.077559028 0.008018461
+6.852394917 0.070811339 0.078653734 0.007842395
+6.862170088 0.072082111 0.079737817 0.007655705
+6.871945259 0.073352884 0.080811207 0.007458323
+6.881720430 0.074623656 0.081873836 0.007250181
+6.891495601 0.075894428 0.082925639 0.007031211
+6.901270772 0.077165200 0.083966550 0.006801350
+6.911045943 0.078435973 0.084996504 0.006560532
+6.920821114 0.079706745 0.086015439 0.006308694
+6.930596285 0.080977517 0.087023292 0.006045774
+6.940371457 0.082248289 0.088020002 0.005771712
+6.950146628 0.083519062 0.089005509 0.005486448
+6.959921799 0.084789834 0.089979756 0.005189922
+6.969696970 0.086060606 0.090942684 0.004882078
+6.979472141 0.087331378 0.091894237 0.004562859
+6.989247312 0.088602151 0.092834360 0.004232209
+6.999022483 0.089872923 0.093762998 0.003890075
+7.008797654 0.090263930 0.094680100 0.004416170
+7.018572825 0.090557185 0.095585612 0.005028427
+7.028347996 0.090850440 0.096479485 0.005629045
+7.038123167 0.091143695 0.097361668 0.006217973
+7.047898338 0.091436950 0.098232114 0.006795164
+7.057673509 0.091730205 0.099090776 0.007360571
+7.067448680 0.092023460 0.099937607 0.007914147
+7.077223851 0.092316716 0.100772562 0.008455847
+7.086999022 0.092609971 0.101595599 0.008985628
+7.096774194 0.092903226 0.102406673 0.009503447
+7.106549365 0.093196481 0.103205745 0.010009264
+7.116324536 0.093489736 0.103992773 0.010503037
+7.126099707 0.093782991 0.104767719 0.010984727
+7.135874878 0.094076246 0.105530544 0.011454298
+7.145650049 0.094369501 0.106281212 0.011911711
+7.155425220 0.094662757 0.107019688 0.012356931
+7.165200391 0.094956012 0.107745936 0.012789925
+7.174975562 0.095249267 0.108459925 0.013210658
+7.184750733 0.095542522 0.109161621 0.013619099
+7.194525904 0.095835777 0.109850993 0.014015216
+7.204301075 0.096129032 0.110528013 0.014398980
+7.214076246 0.096422287 0.111192650 0.014770363
+7.223851417 0.096715543 0.111844879 0.015129336
+7.233626588 0.097008798 0.112484672 0.015475874
+7.243401760 0.097302053 0.113112004 0.015809951
+7.253176931 0.097595308 0.113726852 0.016131544
+7.262952102 0.097888563 0.114329192 0.016440629
+7.272727273 0.098181818 0.114919004 0.016737185
+7.282502444 0.098475073 0.115496266 0.017021192
+7.292277615 0.098768328 0.116060959 0.017292630
+7.302052786 0.099061584 0.116613065 0.017551481
+7.311827957 0.099354839 0.117152566 0.017797728
+7.321603128 0.099648094 0.117679448 0.018031354
+7.331378299 0.099941349 0.118193696 0.018252347
+7.341153470 0.100234604 0.118695295 0.018460691
+7.350928641 0.100527859 0.119184233 0.018656374
+7.360703812 0.100821114 0.119660499 0.018839385
+7.370478983 0.101114370 0.120124084 0.019009714
+7.380254154 0.101407625 0.120574977 0.019167352
+7.390029326 0.101700880 0.121013171 0.019312291
+7.399804497 0.101994135 0.121438660 0.019444525
+7.409579668 0.102287390 0.121851437 0.019564047
+7.419354839 0.102580645 0.122251499 0.019670854
+7.429130010 0.102873900 0.122638842 0.019764942
+7.438905181 0.103167155 0.123013464 0.019846308
+7.448680352 0.103460411 0.123375363 0.019914953
+7.458455523 0.103753666 0.123724541 0.019970875
+7.468230694 0.104046921 0.124060997 0.020014077
+7.478005865 0.104340176 0.124384736 0.020044560
+7.487781036 0.104633431 0.124695758 0.020062327
+7.497556207 0.104926686 0.124994071 0.020067385
+7.507331378 0.105219941 0.125279678 0.020059737
+7.517106549 0.105513196 0.125552588 0.020039391
+7.526881720 0.105806452 0.125812807 0.020006355
+7.536656891 0.106099707 0.126060345 0.019960638
+7.546432063 0.106392962 0.126295212 0.019902250
+7.556207234 0.106686217 0.126517418 0.019831201
+7.565982405 0.106979472 0.126726978 0.019747505
+7.575757576 0.107272727 0.126923902 0.019651175
+7.585532747 0.107565982 0.127108207 0.019542225
+7.595307918 0.107859238 0.127279908 0.019420670
+7.605083089 0.108152493 0.127439020 0.019286528
+7.614858260 0.108445748 0.127585563 0.019139815
+7.624633431 0.108739003 0.127719554 0.018980551
+7.634408602 0.109032258 0.127841014 0.018808756
+7.644183773 0.109325513 0.127949963 0.018624450
+7.653958944 0.109618768 0.128046424 0.018427655
+7.663734115 0.109912023 0.128130418 0.018218395
+7.673509286 0.110205279 0.128201972 0.017996693
+7.683284457 0.110498534 0.128261108 0.017762574
+7.693059629 0.110791789 0.128307854 0.017516065
+7.702834800 0.111085044 0.128342237 0.017257193
+7.712609971 0.111378299 0.128364284 0.016985985
+7.722385142 0.111671554 0.128374026 0.016702472
+7.732160313 0.111964809 0.128371492 0.016406683
+7.741935484 0.112258065 0.128356713 0.016098649
+7.751710655 0.112551320 0.128329723 0.015778403
+7.761485826 0.112844575 0.128290553 0.015445979
+7.771260997 0.113137830 0.128239239 0.015101409
+7.781036168 0.113431085 0.128175816 0.014744731
+7.790811339 0.113724340 0.128100319 0.014375979
+7.800586510 0.114017595 0.128012787 0.013995192
+7.810361681 0.114310850 0.127913257 0.013602407
+7.820136852 0.114604106 0.127801769 0.013197663
+7.829912023 0.114897361 0.127678362 0.012781001
+7.839687195 0.115190616 0.127543078 0.012352462
+7.849462366 0.115483871 0.127395959 0.011912088
+7.859237537 0.115777126 0.127237049 0.011459922
+7.869012708 0.116070381 0.127066390 0.010996009
+7.878787879 0.116363636 0.126884028 0.010520392
+7.888563050 0.116656891 0.126690009 0.010033117
+7.898338221 0.116950147 0.126484379 0.009534233
+7.908113392 0.117243402 0.126267187 0.009023785
+7.917888563 0.117536657 0.126038481 0.008501824
+7.927663734 0.117829912 0.125798310 0.007968398
+7.937438905 0.118123167 0.125546725 0.007423558
+7.947214076 0.118416422 0.125283778 0.006867356
+7.956989247 0.118709677 0.125009520 0.006299842
+7.966764418 0.119002933 0.124724004 0.005721072
+7.976539589 0.119296188 0.124427286 0.005131098
+7.986314761 0.119589443 0.124119418 0.004529975
+7.996089932 0.119882698 0.123800458 0.003917760
+8.005865103 0.119530792 0.123470462 0.003939670
+8.015640274 0.118748778 0.123129487 0.004380709
+8.025415445 0.117966764 0.122777591 0.004810827
+8.035190616 0.117184751 0.122414835 0.005230084
+8.044965787 0.116402737 0.122041276 0.005638539
+8.054740958 0.115620723 0.121656978 0.006036254
+8.064516129 0.114838710 0.121262000 0.006423290
+8.074291300 0.114056696 0.120856406 0.006799710
+8.084066471 0.113274682 0.120440258 0.007165576
+8.093841642 0.112492669 0.120013621 0.007520952
+8.103616813 0.111710655 0.119576559 0.007865904
+8.113391984 0.110928641 0.119129139 0.008200497
+8.123167155 0.110146628 0.118671425 0.008524798
+8.132942326 0.109364614 0.118203486 0.008838873
+8.142717498 0.108582600 0.117725390 0.009142790
+8.152492669 0.107800587 0.117237204 0.009436618
+8.162267840 0.107018573 0.116738999 0.009720426
+8.172043011 0.106236559 0.116230844 0.009994285
+8.181818182 0.105454545 0.115712811 0.010258266
+8.191593353 0.104672532 0.115184970 0.010512439
+8.201368524 0.103890518 0.114647395 0.010756877
+8.211143695 0.103108504 0.114100157 0.010991653
+8.220918866 0.102326491 0.113543331 0.011216841
+8.230694037 0.101544477 0.112976992 0.011432515
+8.240469208 0.100762463 0.112401213 0.011638750
+8.250244379 0.099980450 0.111816071 0.011835622
+8.260019550 0.099198436 0.111221643 0.012023207
+8.269794721 0.098416422 0.110618004 0.012201582
+8.279569892 0.097634409 0.110005234 0.012370825
+8.289345064 0.096852395 0.109383410 0.012531015
+8.299120235 0.096070381 0.108752611 0.012682230
+8.308895406 0.095288368 0.108112917 0.012824549
+8.318670577 0.094506354 0.107464408 0.012958054
+8.328445748 0.093724340 0.106807165 0.013082824
+8.338220919 0.092942326 0.106141268 0.013198942
+8.347996090 0.092160313 0.105466802 0.013306489
+8.357771261 0.091378299 0.104783846 0.013405547
+8.367546432 0.090596285 0.104092486 0.013496201
+8.377321603 0.089814272 0.103392805 0.013578533
+8.387096774 0.089032258 0.102684886 0.013652628
+8.396871945 0.088250244 0.101968816 0.013718571
+8.406647116 0.087468231 0.101244678 0.013776447
+8.416422287 0.086686217 0.100512560 0.013826343
+8.426197458 0.085904203 0.099772547 0.013868343
+8.435972630 0.085122190 0.099024726 0.013902537
+8.445747801 0.084340176 0.098269186 0.013929010
+8.455522972 0.083558162 0.097506013 0.013947850
+8.465298143 0.082776149 0.096735296 0.013959148
+8.475073314 0.081994135 0.095957125 0.013962990
+8.484848485 0.081212121 0.095171588 0.013959467
+8.494623656 0.080430108 0.094378776 0.013948668
+8.504398827 0.079648094 0.093578778 0.013930684
+8.514173998 0.078866080 0.092771686 0.013905606
+8.523949169 0.078084066 0.091957590 0.013873524
+8.533724340 0.077302053 0.091136583 0.013834530
+8.543499511 0.076520039 0.090308756 0.013788717
+8.553274682 0.075738025 0.089474202 0.013736177
+8.563049853 0.074956012 0.088633013 0.013677002
+8.572825024 0.074173998 0.087785284 0.013611286
+8.582600196 0.073391984 0.086931106 0.013539122
+8.592375367 0.072609971 0.086070575 0.013460605
+8.602150538 0.071827957 0.085203785 0.013375828
+8.611925709 0.071045943 0.084330831 0.013284887
+8.621700880 0.070263930 0.083451807 0.013187877
+8.631476051 0.069481916 0.082566808 0.013084893
+8.641251222 0.068699902 0.081675932 0.012976030
+8.651026393 0.067917889 0.080779273 0.012861385
+8.660801564 0.067135875 0.079876928 0.012741054
+8.670576735 0.066353861 0.078968994 0.012615133
+8.680351906 0.065571848 0.078055568 0.012483720
+8.690127077 0.064789834 0.077136747 0.012346913
+8.699902248 0.064007820 0.076212627 0.012204807
+8.709677419 0.063225806 0.075283308 0.012057502
+8.719452590 0.062443793 0.074348888 0.011905095
+8.729227761 0.061661779 0.073409463 0.011747684
+8.739002933 0.060879765 0.072465134 0.011585369
+8.748778104 0.060097752 0.071515998 0.011418247
+8.758553275 0.059315738 0.070562155 0.011246417
+8.768328446 0.058533724 0.069603704 0.011069980
+8.778103617 0.057751711 0.068640744 0.010889033
+8.787878788 0.056969697 0.067673375 0.010703678
+8.797653959 0.056187683 0.066701696 0.010514013
+8.807429130 0.055405670 0.065725808 0.010320138
+8.817204301 0.054623656 0.064745810 0.010122154
+8.826979472 0.053841642 0.063761802 0.009920160
+8.836754643 0.053059629 0.062773886 0.009714258
+8.846529814 0.052277615 0.061782162 0.009504547
+8.856304985 0.051495601 0.060786730 0.009291128
+8.866080156 0.050713587 0.059787690 0.009074103
+8.875855327 0.049931574 0.058785145 0.008853571
+8.885630499 0.049149560 0.057779195 0.008629635
+8.895405670 0.048367546 0.056769940 0.008402394
+8.905180841 0.047585533 0.055757483 0.008171950
+8.914956012 0.046803519 0.054741924 0.007938405
+8.924731183 0.046021505 0.053723365 0.007701859
+8.934506354 0.045239492 0.052701907 0.007462415
+8.944281525 0.044457478 0.051677651 0.007220173
+8.954056696 0.043675464 0.050650698 0.006975234
+8.963831867 0.042893451 0.049621151 0.006727701
+8.973607038 0.042111437 0.048589111 0.006477674
+8.983382209 0.041329423 0.047554679 0.006225256
+8.993157380 0.040547410 0.046517957 0.005970547
+9.002932551 0.040000000 0.045479046 0.005479046
+9.012707722 0.040000000 0.044438047 0.004438047
+9.022482893 0.040000000 0.043395063 0.003395063
+9.032258065 0.040000000 0.042350194 0.002350194
+9.042033236 0.040000000 0.041303542 0.001303542
+9.051808407 0.040000000 0.040255208 0.000255208
+9.061583578 0.040000000 0.039205294 0.000794706
+9.071358749 0.040000000 0.038153900 0.001846100
+9.081133920 0.040000000 0.037101127 0.002898873
+9.090909091 0.040000000 0.036047078 0.003952922
+9.100684262 0.040000000 0.034991852 0.005008148
+9.110459433 0.040000000 0.033935551 0.006064449
+9.120234604 0.040000000 0.032878274 0.007121726
+9.130009775 0.040000000 0.031820124 0.008179876
+9.139784946 0.040000000 0.030761199 0.009238801
+9.149560117 0.040000000 0.029701602 0.010298398
+9.159335288 0.040000000 0.028641430 0.011358570
+9.169110459 0.040000000 0.027580786 0.012419214
+9.178885630 0.040000000 0.026519767 0.013480233
+9.188660802 0.040000000 0.025458475 0.014541525
+9.198435973 0.040000000 0.024397009 0.015602991
+9.208211144 0.040000000 0.023335467 0.016664533
+9.217986315 0.040000000 0.022273950 0.017726050
+9.227761486 0.040000000 0.021212555 0.018787445
+9.237536657 0.040000000 0.020151382 0.019848618
+9.247311828 0.040000000 0.019090529 0.020909471
+9.257086999 0.040000000 0.018030094 0.021969906
+9.266862170 0.040000000 0.016970175 0.023029825
+9.276637341 0.040000000 0.015910870 0.024089130
+9.286412512 0.040000000 0.014852277 0.025147723
+9.296187683 0.040000000 0.013794492 0.026205508
+9.305962854 0.040000000 0.012737613 0.027262387
+9.315738025 0.040000000 0.011681736 0.028318264
+9.325513196 0.040000000 0.010626957 0.029373043
+9.335288368 0.040000000 0.009573373 0.030426627
+9.345063539 0.040000000 0.008521079 0.031478921
+9.354838710 0.040000000 0.007470171 0.032529829
+9.364613881 0.040000000 0.006420744 0.033579256
+9.374389052 0.040000000 0.005372893 0.034627107
+9.384164223 0.040000000 0.004326712 0.035673288
+9.393939394 0.040000000 0.003282295 0.036717705
+9.403714565 0.040000000 0.002239736 0.037760264
+9.413489736 0.040000000 0.001199129 0.038800871
+9.423264907 0.040000000 0.000160566 0.039839434
+9.433040078 0.040000000 -0.000875860 0.040875860
+9.442815249 0.040000000 -0.001910056 0.041910056
+9.452590420 0.040000000 -0.002941932 0.042941932
+9.462365591 0.040000000 -0.003971394 0.043971394
+9.472140762 0.040000000 -0.004998352 0.044998352
+9.481915934 0.040000000 -0.006022716 0.046022716
+9.491691105 0.040000000 -0.007044395 0.047044395
+9.501466276 0.040000000 -0.008063300 0.048063300
+9.511241447 0.040000000 -0.009079340 0.049079340
+9.521016618 0.040000000 -0.010092427 0.050092427
+9.530791789 0.040000000 -0.011102473 0.051102473
+9.540566960 0.040000000 -0.012109389 0.052109389
+9.550342131 0.040000000 -0.013113089 0.053113089
+9.560117302 0.040000000 -0.014113483 0.054113483
+9.569892473 0.040000000 -0.015110487 0.055110487
+9.579667644 0.040000000 -0.016104014 0.056104014
+9.589442815 0.040000000 -0.017093978 0.057093978
+9.599217986 0.040000000 -0.018080295 0.058080295
+9.608993157 0.040000000 -0.019062878 0.059062878
+9.618768328 0.040000000 -0.020041645 0.060041645
+9.628543500 0.040000000 -0.021016511 0.061016511
+9.638318671 0.040000000 -0.021987394 0.061987394
+9.648093842 0.040000000 -0.022954211 0.062954211
+9.657869013 0.040000000 -0.023916879 0.063916879
+9.667644184 0.040000000 -0.024875317 0.064875317
+9.677419355 0.040000000 -0.025829445 0.065829445
+9.687194526 0.040000000 -0.026779182 0.066779182
+9.696969697 0.040000000 -0.027724447 0.067724447
+9.706744868 0.040000000 -0.028665163 0.068665163
+9.716520039 0.040000000 -0.029601249 0.069601249
+9.726295210 0.040000000 -0.030532628 0.070532628
+9.736070381 0.040000000 -0.031459222 0.071459222
+9.745845552 0.040000000 -0.032380954 0.072380954
+9.755620723 0.040000000 -0.033297748 0.073297748
+9.765395894 0.040000000 -0.034209528 0.074209528
+9.775171065 0.040000000 -0.035116220 0.075116220
+9.784946237 0.040000000 -0.036017747 0.076017747
+9.794721408 0.040000000 -0.036914037 0.076914037
+9.804496579 0.040000000 -0.037805016 0.077805016
+9.814271750 0.040000000 -0.038690611 0.078690611
+9.824046921 0.040000000 -0.039570750 0.079570750
+9.833822092 0.040000000 -0.040445362 0.080445362
+9.843597263 0.040000000 -0.041314377 0.081314377
+9.853372434 0.040000000 -0.042177723 0.082177723
+9.863147605 0.040000000 -0.043035332 0.083035332
+9.872922776 0.040000000 -0.043887135 0.083887135
+9.882697947 0.040000000 -0.044733063 0.084733063
+9.892473118 0.040000000 -0.045573049 0.085573049
+9.902248289 0.040000000 -0.046407026 0.086407026
+9.912023460 0.040000000 -0.047234929 0.087234929
+9.921798631 0.040000000 -0.048056691 0.088056691
+9.931573803 0.040000000 -0.048872248 0.088872248
+9.941348974 0.040000000 -0.049681535 0.089681535
+9.951124145 0.040000000 -0.050484491 0.090484491
+9.960899316 0.040000000 -0.051281051 0.091281051
+9.970674487 0.040000000 -0.052071154 0.092071154
+9.980449658 0.040000000 -0.052854739 0.092854739
+9.990224829 0.040000000 -0.053631744 0.093631744
+10.000000000 0.040000000 -0.054402111 0.094402111
diff --git a/examples/takagi-sugeno/approximation.fll b/examples/takagi-sugeno/approximation.fll
index 1d166c9..4461299 100644
--- a/examples/takagi-sugeno/approximation.fll
+++ b/examples/takagi-sugeno/approximation.fll
@@ -1,7 +1,8 @@
-Engine: approximation of sin(x)/x
+Engine: approximation
InputVariable: inputX
enabled: true
range: 0.000 10.000
+ lock-range: false
term: NEAR_1 Triangle 0.000 1.000 2.000
term: NEAR_2 Triangle 1.000 2.000 3.000
term: NEAR_3 Triangle 2.000 3.000 4.000
@@ -14,11 +15,11 @@ InputVariable: inputX
OutputVariable: outputFx
enabled: true
range: -1.000 1.000
- accumulation: none
+ lock-range: false
+ aggregation: none
defuzzifier: WeightedAverage TakagiSugeno
default: nan
lock-previous: true
- lock-range: false
term: f1 Constant 0.840
term: f2 Constant 0.450
term: f3 Constant 0.040
@@ -31,26 +32,27 @@ OutputVariable: outputFx
OutputVariable: trueFx
enabled: true
range: -1.000 1.000
- accumulation: none
+ lock-range: false
+ aggregation: none
defuzzifier: WeightedAverage Automatic
default: nan
lock-previous: true
- lock-range: false
term: fx Function sin(inputX)/inputX
OutputVariable: diffFx
enabled: true
range: -1.000 1.000
- accumulation: none
+ lock-range: false
+ aggregation: none
defuzzifier: WeightedAverage Automatic
default: nan
lock-previous: false
- lock-range: false
term: diff Function fabs(outputFx-trueFx)
RuleBlock:
enabled: true
conjunction: none
disjunction: none
- activation: none
+ implication: none
+ activation: General
rule: if inputX is NEAR_1 then outputFx is f1
rule: if inputX is NEAR_2 then outputFx is f2
rule: if inputX is NEAR_3 then outputFx is f3
diff --git a/examples/takagi-sugeno/approximation.java b/examples/takagi-sugeno/approximation.java
index c3d98e1..c2f9d00 100644
--- a/examples/takagi-sugeno/approximation.java
+++ b/examples/takagi-sugeno/approximation.java
@@ -1,4 +1,5 @@
import com.fuzzylite.*;
+import com.fuzzylite.activation.*
import com.fuzzylite.defuzzifier.*;
import com.fuzzylite.factory.*;
import com.fuzzylite.hedge.*;
@@ -12,74 +13,84 @@ import com.fuzzylite.variable.*;
public class approximation{
public static void main(String[] args){
+//Code automatically generated with fuzzylite 6.0.
+
Engine engine = new Engine();
-engine.setName("approximation of sin(x)/x");
+engine.setName("approximation");
+engine.setDescription("");
-InputVariable inputVariable = new InputVariable();
-inputVariable.setEnabled(true);
-inputVariable.setName("inputX");
-inputVariable.setRange(0.000, 10.000);
-inputVariable.addTerm(new Triangle("NEAR_1", 0.000, 1.000, 2.000));
-inputVariable.addTerm(new Triangle("NEAR_2", 1.000, 2.000, 3.000));
-inputVariable.addTerm(new Triangle("NEAR_3", 2.000, 3.000, 4.000));
-inputVariable.addTerm(new Triangle("NEAR_4", 3.000, 4.000, 5.000));
-inputVariable.addTerm(new Triangle("NEAR_5", 4.000, 5.000, 6.000));
-inputVariable.addTerm(new Triangle("NEAR_6", 5.000, 6.000, 7.000));
-inputVariable.addTerm(new Triangle("NEAR_7", 6.000, 7.000, 8.000));
-inputVariable.addTerm(new Triangle("NEAR_8", 7.000, 8.000, 9.000));
-inputVariable.addTerm(new Triangle("NEAR_9", 8.000, 9.000, 10.000));
-engine.addInputVariable(inputVariable);
+InputVariable inputX = new InputVariable();
+inputX.setName("inputX");
+inputX.setDescription("");
+inputX.setEnabled(true);
+inputX.setRange(0.000, 10.000);
+inputX.setLockValueInRange(false);
+inputX.addTerm(new Triangle("NEAR_1", 0.000, 1.000, 2.000));
+inputX.addTerm(new Triangle("NEAR_2", 1.000, 2.000, 3.000));
+inputX.addTerm(new Triangle("NEAR_3", 2.000, 3.000, 4.000));
+inputX.addTerm(new Triangle("NEAR_4", 3.000, 4.000, 5.000));
+inputX.addTerm(new Triangle("NEAR_5", 4.000, 5.000, 6.000));
+inputX.addTerm(new Triangle("NEAR_6", 5.000, 6.000, 7.000));
+inputX.addTerm(new Triangle("NEAR_7", 6.000, 7.000, 8.000));
+inputX.addTerm(new Triangle("NEAR_8", 7.000, 8.000, 9.000));
+inputX.addTerm(new Triangle("NEAR_9", 8.000, 9.000, 10.000));
+engine.addInputVariable(inputX);
-OutputVariable outputVariable1 = new OutputVariable();
-outputVariable1.setEnabled(true);
-outputVariable1.setName("outputFx");
-outputVariable1.setRange(-1.000, 1.000);
-outputVariable1.fuzzyOutput().setAccumulation(null);
-outputVariable1.setDefuzzifier(new WeightedAverage("TakagiSugeno"));
-outputVariable1.setDefaultValue(Double.NaN);
-outputVariable1.setLockPreviousOutputValue(true);
-outputVariable1.setLockOutputValueInRange(false);
-outputVariable1.addTerm(new Constant("f1", 0.840));
-outputVariable1.addTerm(new Constant("f2", 0.450));
-outputVariable1.addTerm(new Constant("f3", 0.040));
-outputVariable1.addTerm(new Constant("f4", -0.180));
-outputVariable1.addTerm(new Constant("f5", -0.190));
-outputVariable1.addTerm(new Constant("f6", -0.040));
-outputVariable1.addTerm(new Constant("f7", 0.090));
-outputVariable1.addTerm(new Constant("f8", 0.120));
-outputVariable1.addTerm(new Constant("f9", 0.040));
-engine.addOutputVariable(outputVariable1);
+OutputVariable outputFx = new OutputVariable();
+outputFx.setName("outputFx");
+outputFx.setDescription("");
+outputFx.setEnabled(true);
+outputFx.setRange(-1.000, 1.000);
+outputFx.setLockValueInRange(false);
+outputFx.setAggregation(null);
+outputFx.setDefuzzifier(new WeightedAverage("TakagiSugeno"));
+outputFx.setDefaultValue(Double.NaN);
+outputFx.setLockPreviousValue(true);
+outputFx.addTerm(new Constant("f1", 0.840));
+outputFx.addTerm(new Constant("f2", 0.450));
+outputFx.addTerm(new Constant("f3", 0.040));
+outputFx.addTerm(new Constant("f4", -0.180));
+outputFx.addTerm(new Constant("f5", -0.190));
+outputFx.addTerm(new Constant("f6", -0.040));
+outputFx.addTerm(new Constant("f7", 0.090));
+outputFx.addTerm(new Constant("f8", 0.120));
+outputFx.addTerm(new Constant("f9", 0.040));
+engine.addOutputVariable(outputFx);
-OutputVariable outputVariable2 = new OutputVariable();
-outputVariable2.setEnabled(true);
-outputVariable2.setName("trueFx");
-outputVariable2.setRange(-1.000, 1.000);
-outputVariable2.fuzzyOutput().setAccumulation(null);
-outputVariable2.setDefuzzifier(new WeightedAverage("Automatic"));
-outputVariable2.setDefaultValue(Double.NaN);
-outputVariable2.setLockPreviousOutputValue(true);
-outputVariable2.setLockOutputValueInRange(false);
-outputVariable2.addTerm(Function.create("fx", "sin(inputX)/inputX", engine));
-engine.addOutputVariable(outputVariable2);
+OutputVariable trueFx = new OutputVariable();
+trueFx.setName("trueFx");
+trueFx.setDescription("");
+trueFx.setEnabled(true);
+trueFx.setRange(-1.000, 1.000);
+trueFx.setLockValueInRange(false);
+trueFx.setAggregation(null);
+trueFx.setDefuzzifier(new WeightedAverage("Automatic"));
+trueFx.setDefaultValue(Double.NaN);
+trueFx.setLockPreviousValue(true);
+trueFx.addTerm(Function.create("fx", "sin(inputX)/inputX", engine));
+engine.addOutputVariable(trueFx);
-OutputVariable outputVariable3 = new OutputVariable();
-outputVariable3.setEnabled(true);
-outputVariable3.setName("diffFx");
-outputVariable3.setRange(-1.000, 1.000);
-outputVariable3.fuzzyOutput().setAccumulation(null);
-outputVariable3.setDefuzzifier(new WeightedAverage("Automatic"));
-outputVariable3.setDefaultValue(Double.NaN);
-outputVariable3.setLockPreviousOutputValue(false);
-outputVariable3.setLockOutputValueInRange(false);
-outputVariable3.addTerm(Function.create("diff", "fabs(outputFx-trueFx)", engine));
-engine.addOutputVariable(outputVariable3);
+OutputVariable diffFx = new OutputVariable();
+diffFx.setName("diffFx");
+diffFx.setDescription("");
+diffFx.setEnabled(true);
+diffFx.setRange(-1.000, 1.000);
+diffFx.setLockValueInRange(false);
+diffFx.setAggregation(null);
+diffFx.setDefuzzifier(new WeightedAverage("Automatic"));
+diffFx.setDefaultValue(Double.NaN);
+diffFx.setLockPreviousValue(false);
+diffFx.addTerm(Function.create("diff", "fabs(outputFx-trueFx)", engine));
+engine.addOutputVariable(diffFx);
RuleBlock ruleBlock = new RuleBlock();
-ruleBlock.setEnabled(true);
ruleBlock.setName("");
+ruleBlock.setDescription("");
+ruleBlock.setEnabled(true);
ruleBlock.setConjunction(null);
ruleBlock.setDisjunction(null);
-ruleBlock.setActivation(null);
+ruleBlock.setImplication(null);
+ruleBlock.setActivation(new General());
ruleBlock.addRule(Rule.parse("if inputX is NEAR_1 then outputFx is f1", engine));
ruleBlock.addRule(Rule.parse("if inputX is NEAR_2 then outputFx is f2", engine));
ruleBlock.addRule(Rule.parse("if inputX is NEAR_3 then outputFx is f3", engine));
diff --git a/examples/takagi-sugeno/approximation.pdf b/examples/takagi-sugeno/approximation.pdf
new file mode 100644
index 0000000..6af8fef
--- /dev/null
+++ b/examples/takagi-sugeno/approximation.pdf
Binary files differ
diff --git a/examples/takagi-sugeno/octave/cubic_approximator.R b/examples/takagi-sugeno/octave/cubic_approximator.R
new file mode 100644
index 0000000..d3d3fbf
--- /dev/null
+++ b/examples/takagi-sugeno/octave/cubic_approximator.R
@@ -0,0 +1,84 @@
+#Code automatically generated with fuzzylite 6.0.
+
+library(ggplot2);
+
+engine.name = "cubic_approximator"
+engine.fll = "Engine: cubic_approximator
+InputVariable: X
+ enabled: true
+ range: -5.000 5.000
+ lock-range: false
+ term: AboutNegFive Triangle -6.000 -5.000 -4.000
+ term: AboutNegFour Triangle -5.000 -4.000 -3.000
+ term: AboutNegThree Triangle -4.000 -3.000 -2.000
+ term: AboutNegTwo Triangle -3.000 -2.000 -1.000
+ term: AboutNegOne Triangle -2.000 -1.000 0.000
+ term: AboutZero Triangle -1.000 0.000 1.000
+ term: AboutOne Triangle 0.000 1.000 2.000
+ term: AboutTwo Triangle 1.000 2.000 3.000
+ term: AboutThree Triangle 2.000 3.000 4.000
+ term: AboutFour Triangle 3.000 4.000 5.000
+ term: AboutFive Triangle 4.000 5.000 6.000
+OutputVariable: ApproxXCubed
+ enabled: true
+ range: -5.000 5.000
+ lock-range: false
+ aggregation: none
+ defuzzifier: WeightedAverage TakagiSugeno
+ default: nan
+ lock-previous: false
+ term: TangentatNegFive Linear 75.000 250.000
+ term: TangentatNegFour Linear 48.000 128.000
+ term: TangentatNegThree Linear 27.000 54.000
+ term: TangentatNegTwo Linear 12.000 16.000
+ term: TangentatNegOne Linear 3.000 2.000
+ term: TangentatZero Linear 0.000 0.000
+ term: TangentatOne Linear 3.000 -2.000
+ term: TangentatTwo Linear 12.000 -16.000
+ term: TangentatThree Linear 27.000 -54.000
+ term: TangentatFour Linear 48.000 -128.000
+ term: TangentatFive Linear 75.000 -250.000
+RuleBlock:
+ enabled: true
+ conjunction: none
+ disjunction: none
+ implication: none
+ activation: General
+ rule: if X is AboutNegFive then ApproxXCubed is TangentatNegFive
+ rule: if X is AboutNegFour then ApproxXCubed is TangentatNegFour
+ rule: if X is AboutNegThree then ApproxXCubed is TangentatNegThree
+ rule: if X is AboutNegTwo then ApproxXCubed is TangentatNegTwo
+ rule: if X is AboutNegOne then ApproxXCubed is TangentatNegOne
+ rule: if X is AboutZero then ApproxXCubed is TangentatZero
+ rule: if X is AboutOne then ApproxXCubed is TangentatOne
+ rule: if X is AboutTwo then ApproxXCubed is TangentatTwo
+ rule: if X is AboutThree then ApproxXCubed is TangentatThree
+ rule: if X is AboutFour then ApproxXCubed is TangentatFour
+ rule: if X is AboutFive then ApproxXCubed is TangentatFive"
+
+engine.fldFile = "cubic_approximator.fld"
+if (require(data.table)) {
+ engine.df = data.table::fread(engine.fldFile, sep="auto", header="auto")
+} else {
+ engine.df = read.table(engine.fldFile, header=TRUE)
+}
+
+engine.plot.i1_o1 = ggplot(engine.df, aes(X, ApproxXCubed)) +
+ geom_line(aes(color=ApproxXCubed), size=3, lineend="round", linejoin="mitre") +
+ scale_color_gradient(low="yellow", high="red") +
+ ggtitle("X vs ApproxXCubed")
+
+engine.plot.o1_i1 = ggplot(engine.df, aes(X, ApproxXCubed)) +
+ geom_line(aes(color=ApproxXCubed), size=3, lineend="round", linejoin="mitre") +
+ scale_color_gradient(low="yellow", high="red") +
+ coord_flip() +
+ ggtitle("ApproxXCubed vs X")
+
+if (require(gridExtra)) {
+ engine.plots = arrangeGrob(engine.plot.i1_o1, engine.plot.o1_i1, ncol=2, top=engine.name)
+ ggsave(paste0(engine.name, ".pdf"), engine.plots)
+ if (require(grid)) {
+ grid.newpage()
+ grid.draw(engine.plots)
+ }
+}
diff --git a/examples/takagi-sugeno/octave/cubic_approximator.cpp b/examples/takagi-sugeno/octave/cubic_approximator.cpp
index 6941fa5..2b9df3f 100644
--- a/examples/takagi-sugeno/octave/cubic_approximator.cpp
+++ b/examples/takagi-sugeno/octave/cubic_approximator.cpp
@@ -1,67 +1,75 @@
#include <fl/Headers.h>
int main(int argc, char** argv){
+//Code automatically generated with fuzzylite 6.0.
+
using namespace fl;
Engine* engine = new Engine;
-engine->setName("Cubic-Approximator");
+engine->setName("cubic_approximator");
+engine->setDescription("");
-InputVariable* inputVariable = new InputVariable;
-inputVariable->setEnabled(true);
-inputVariable->setName("X");
-inputVariable->setRange(-5.000, 5.000);
-inputVariable->addTerm(new Triangle("AboutNegFive", -6.000, -5.000, -4.000));
-inputVariable->addTerm(new Triangle("AboutNegFour", -5.000, -4.000, -3.000));
-inputVariable->addTerm(new Triangle("AboutNegThree", -4.000, -3.000, -2.000));
-inputVariable->addTerm(new Triangle("AboutNegTwo", -3.000, -2.000, -1.000));
-inputVariable->addTerm(new Triangle("AboutNegOne", -2.000, -1.000, 0.000));
-inputVariable->addTerm(new Triangle("AboutZero", -1.000, 0.000, 1.000));
-inputVariable->addTerm(new Triangle("AboutOne", 0.000, 1.000, 2.000));
-inputVariable->addTerm(new Triangle("AboutTwo", 1.000, 2.000, 3.000));
-inputVariable->addTerm(new Triangle("AboutThree", 2.000, 3.000, 4.000));
-inputVariable->addTerm(new Triangle("AboutFour", 3.000, 4.000, 5.000));
-inputVariable->addTerm(new Triangle("AboutFive", 4.000, 5.000, 6.000));
-engine->addInputVariable(inputVariable);
+InputVariable* X = new InputVariable;
+X->setName("X");
+X->setDescription("");
+X->setEnabled(true);
+X->setRange(-5.000, 5.000);
+X->setLockValueInRange(false);
+X->addTerm(new Triangle("AboutNegFive", -6.000, -5.000, -4.000));
+X->addTerm(new Triangle("AboutNegFour", -5.000, -4.000, -3.000));
+X->addTerm(new Triangle("AboutNegThree", -4.000, -3.000, -2.000));
+X->addTerm(new Triangle("AboutNegTwo", -3.000, -2.000, -1.000));
+X->addTerm(new Triangle("AboutNegOne", -2.000, -1.000, 0.000));
+X->addTerm(new Triangle("AboutZero", -1.000, 0.000, 1.000));
+X->addTerm(new Triangle("AboutOne", 0.000, 1.000, 2.000));
+X->addTerm(new Triangle("AboutTwo", 1.000, 2.000, 3.000));
+X->addTerm(new Triangle("AboutThree", 2.000, 3.000, 4.000));
+X->addTerm(new Triangle("AboutFour", 3.000, 4.000, 5.000));
+X->addTerm(new Triangle("AboutFive", 4.000, 5.000, 6.000));
+engine->addInputVariable(X);
-OutputVariable* outputVariable = new OutputVariable;
-outputVariable->setEnabled(true);
-outputVariable->setName("ApproxXCubed");
-outputVariable->setRange(-5.000, 5.000);
-outputVariable->fuzzyOutput()->setAccumulation(fl::null);
-outputVariable->setDefuzzifier(new WeightedAverage("TakagiSugeno"));
-outputVariable->setDefaultValue(fl::nan);
-outputVariable->setLockPreviousOutputValue(false);
-outputVariable->setLockOutputValueInRange(false);
-outputVariable->addTerm(Linear::create("TangentatNegFive", engine, 75.000, 250.000));
-outputVariable->addTerm(Linear::create("TangentatNegFour", engine, 48.000, 128.000));
-outputVariable->addTerm(Linear::create("TangentatNegThree", engine, 27.000, 54.000));
-outputVariable->addTerm(Linear::create("TangentatNegTwo", engine, 12.000, 16.000));
-outputVariable->addTerm(Linear::create("TangentatNegOne", engine, 3.000, 2.000));
-outputVariable->addTerm(Linear::create("TangentatZero", engine, 0.000, 0.000));
-outputVariable->addTerm(Linear::create("TangentatOne", engine, 3.000, -2.000));
-outputVariable->addTerm(Linear::create("TangentatTwo", engine, 12.000, -16.000));
-outputVariable->addTerm(Linear::create("TangentatThree", engine, 27.000, -54.000));
-outputVariable->addTerm(Linear::create("TangentatFour", engine, 48.000, -128.000));
-outputVariable->addTerm(Linear::create("TangentatFive", engine, 75.000, -250.000));
-engine->addOutputVariable(outputVariable);
+OutputVariable* ApproxXCubed = new OutputVariable;
+ApproxXCubed->setName("ApproxXCubed");
+ApproxXCubed->setDescription("");
+ApproxXCubed->setEnabled(true);
+ApproxXCubed->setRange(-5.000, 5.000);
+ApproxXCubed->setLockValueInRange(false);
+ApproxXCubed->setAggregation(fl::null);
+ApproxXCubed->setDefuzzifier(new WeightedAverage("TakagiSugeno"));
+ApproxXCubed->setDefaultValue(fl::nan);
+ApproxXCubed->setLockPreviousValue(false);
+ApproxXCubed->addTerm(Linear::create("TangentatNegFive", engine, 75.000, 250.000));
+ApproxXCubed->addTerm(Linear::create("TangentatNegFour", engine, 48.000, 128.000));
+ApproxXCubed->addTerm(Linear::create("TangentatNegThree", engine, 27.000, 54.000));
+ApproxXCubed->addTerm(Linear::create("TangentatNegTwo", engine, 12.000, 16.000));
+ApproxXCubed->addTerm(Linear::create("TangentatNegOne", engine, 3.000, 2.000));
+ApproxXCubed->addTerm(Linear::create("TangentatZero", engine, 0.000, 0.000));
+ApproxXCubed->addTerm(Linear::create("TangentatOne", engine, 3.000, -2.000));
+ApproxXCubed->addTerm(Linear::create("TangentatTwo", engine, 12.000, -16.000));
+ApproxXCubed->addTerm(Linear::create("TangentatThree", engine, 27.000, -54.000));
+ApproxXCubed->addTerm(Linear::create("TangentatFour", engine, 48.000, -128.000));
+ApproxXCubed->addTerm(Linear::create("TangentatFive", engine, 75.000, -250.000));
+engine->addOutputVariable(ApproxXCubed);
RuleBlock* ruleBlock = new RuleBlock;
-ruleBlock->setEnabled(true);
ruleBlock->setName("");
+ruleBlock->setDescription("");
+ruleBlock->setEnabled(true);
ruleBlock->setConjunction(fl::null);
ruleBlock->setDisjunction(fl::null);
-ruleBlock->setActivation(fl::null);
-ruleBlock->addRule(fl::Rule::parse("if X is AboutNegFive then ApproxXCubed is TangentatNegFive", engine));
-ruleBlock->addRule(fl::Rule::parse("if X is AboutNegFour then ApproxXCubed is TangentatNegFour", engine));
-ruleBlock->addRule(fl::Rule::parse("if X is AboutNegThree then ApproxXCubed is TangentatNegThree", engine));
-ruleBlock->addRule(fl::Rule::parse("if X is AboutNegTwo then ApproxXCubed is TangentatNegTwo", engine));
-ruleBlock->addRule(fl::Rule::parse("if X is AboutNegOne then ApproxXCubed is TangentatNegOne", engine));
-ruleBlock->addRule(fl::Rule::parse("if X is AboutZero then ApproxXCubed is TangentatZero", engine));
-ruleBlock->addRule(fl::Rule::parse("if X is AboutOne then ApproxXCubed is TangentatOne", engine));
-ruleBlock->addRule(fl::Rule::parse("if X is AboutTwo then ApproxXCubed is TangentatTwo", engine));
-ruleBlock->addRule(fl::Rule::parse("if X is AboutThree then ApproxXCubed is TangentatThree", engine));
-ruleBlock->addRule(fl::Rule::parse("if X is AboutFour then ApproxXCubed is TangentatFour", engine));
-ruleBlock->addRule(fl::Rule::parse("if X is AboutFive then ApproxXCubed is TangentatFive", engine));
+ruleBlock->setImplication(fl::null);
+ruleBlock->setActivation(new General);
+ruleBlock->addRule(Rule::parse("if X is AboutNegFive then ApproxXCubed is TangentatNegFive", engine));
+ruleBlock->addRule(Rule::parse("if X is AboutNegFour then ApproxXCubed is TangentatNegFour", engine));
+ruleBlock->addRule(Rule::parse("if X is AboutNegThree then ApproxXCubed is TangentatNegThree", engine));
+ruleBlock->addRule(Rule::parse("if X is AboutNegTwo then ApproxXCubed is TangentatNegTwo", engine));
+ruleBlock->addRule(Rule::parse("if X is AboutNegOne then ApproxXCubed is TangentatNegOne", engine));
+ruleBlock->addRule(Rule::parse("if X is AboutZero then ApproxXCubed is TangentatZero", engine));
+ruleBlock->addRule(Rule::parse("if X is AboutOne then ApproxXCubed is TangentatOne", engine));
+ruleBlock->addRule(Rule::parse("if X is AboutTwo then ApproxXCubed is TangentatTwo", engine));
+ruleBlock->addRule(Rule::parse("if X is AboutThree then ApproxXCubed is TangentatThree", engine));
+ruleBlock->addRule(Rule::parse("if X is AboutFour then ApproxXCubed is TangentatFour", engine));
+ruleBlock->addRule(Rule::parse("if X is AboutFive then ApproxXCubed is TangentatFive", engine));
engine->addRuleBlock(ruleBlock);
diff --git a/examples/takagi-sugeno/octave/cubic_approximator.fcl b/examples/takagi-sugeno/octave/cubic_approximator.fcl
index db88e44..df4e8be 100644
--- a/examples/takagi-sugeno/octave/cubic_approximator.fcl
+++ b/examples/takagi-sugeno/octave/cubic_approximator.fcl
@@ -1,4 +1,6 @@
-FUNCTION_BLOCK Cubic-Approximator
+//Code automatically generated with fuzzylite 6.0.
+
+FUNCTION_BLOCK cubic_approximator
VAR_INPUT
X: REAL;
diff --git a/examples/takagi-sugeno/octave/cubic_approximator.fis b/examples/takagi-sugeno/octave/cubic_approximator.fis
index b69675b..e0af36f 100644
--- a/examples/takagi-sugeno/octave/cubic_approximator.fis
+++ b/examples/takagi-sugeno/octave/cubic_approximator.fis
@@ -1,13 +1,16 @@
+#Code automatically generated with fuzzylite 6.0.
+
[System]
-Name='Cubic-Approximator'
+Name='cubic_approximator'
Type='sugeno'
+Version=6.0
NumInputs=1
NumOutputs=1
NumRules=11
-AndMethod=''
-OrMethod=''
-ImpMethod=''
-AggMethod=''
+AndMethod='min'
+OrMethod='max'
+ImpMethod='min'
+AggMethod='max'
DefuzzMethod='wtaver'
[Input1]
diff --git a/examples/takagi-sugeno/octave/cubic_approximator.fld b/examples/takagi-sugeno/octave/cubic_approximator.fld
index e13c169..4f6ddeb 100644
--- a/examples/takagi-sugeno/octave/cubic_approximator.fld
+++ b/examples/takagi-sugeno/octave/cubic_approximator.fld
@@ -1,1026 +1,1025 @@
-#@Engine: Cubic-Approximator;
-#@InputVariable: X; @OutputVariable: ApproxXCubed;
--5.00000000 -125.00000000
--4.99022483 -124.14236490
--4.98044966 -123.28988972
--4.97067449 -122.44257445
--4.96089932 -121.60041910
--4.95112414 -120.76342366
--4.94134897 -119.93158814
--4.93157380 -119.10491253
--4.92179863 -118.28339683
--4.91202346 -117.46704105
--4.90224829 -116.65584518
--4.89247312 -115.84980923
--4.88269795 -115.04893319
--4.87292278 -114.25321706
--4.86314761 -113.46266085
--4.85337243 -112.67726456
--4.84359726 -111.89702818
--4.83382209 -111.12195171
--4.82404692 -110.35203516
--4.81427175 -109.58727852
--4.80449658 -108.82768179
--4.79472141 -108.07324498
--4.78494624 -107.32396809
--4.77517107 -106.57985111
--4.76539589 -105.84089404
--4.75562072 -105.10709689
--4.74584555 -104.37845965
--4.73607038 -103.65498233
--4.72629521 -102.93666492
--4.71652004 -102.22350742
--4.70674487 -101.51550984
--4.69696970 -100.81267218
--4.68719453 -100.11499442
--4.67741935 -99.42247659
--4.66764418 -98.73511866
--4.65786901 -98.05292065
--4.64809384 -97.37588256
--4.63831867 -96.70400438
--4.62854350 -96.03728611
--4.61876833 -95.37572776
--4.60899316 -94.71932933
--4.59921799 -94.06809080
--4.58944282 -93.42201219
--4.57966764 -92.78109350
--4.56989247 -92.14533472
--4.56011730 -91.51473586
--4.55034213 -90.88929690
--4.54056696 -90.26901787
--4.53079179 -89.65389875
--4.52101662 -89.04393954
--4.51124145 -88.43914024
--4.50146628 -87.83950086
--4.49169110 -87.24502140
--4.48191593 -86.65570185
--4.47214076 -86.07154221
--4.46236559 -85.49254249
--4.45259042 -84.91870268
--4.44281525 -84.35002279
--4.43304008 -83.78650281
--4.42326491 -83.22814275
--4.41348974 -82.67494260
--4.40371457 -82.12690236
--4.39393939 -81.58402204
--4.38416422 -81.04630163
--4.37438905 -80.51374114
--4.36461388 -79.98634056
--4.35483871 -79.46409990
--4.34506354 -78.94701915
--4.33528837 -78.43509831
--4.32551320 -77.92833739
--4.31573803 -77.42673638
--4.30596285 -76.93029529
--4.29618768 -76.43901411
--4.28641251 -75.95289285
--4.27663734 -75.47193150
--4.26686217 -74.99613006
--4.25708700 -74.52548854
--4.24731183 -74.06000694
--4.23753666 -73.59968525
--4.22776149 -73.14452347
--4.21798631 -72.69452160
--4.20821114 -72.24967966
--4.19843597 -71.80999762
--4.18866080 -71.37547550
--4.17888563 -70.94611329
--4.16911046 -70.52191100
--4.15933529 -70.10286863
--4.14956012 -69.68898616
--4.13978495 -69.28026361
--4.13000978 -68.87670098
--4.12023460 -68.47829826
--4.11045943 -68.08505545
--4.10068426 -67.69697256
--4.09090909 -67.31404959
--4.08113392 -66.93628652
--4.07135875 -66.56368338
--4.06158358 -66.19624014
--4.05180841 -65.83395682
--4.04203324 -65.47683342
--4.03225806 -65.12486993
--4.02248289 -64.77806635
--4.01270772 -64.43642269
--4.00293255 -64.09993894
--3.99315738 -63.60411131
--3.98338221 -63.04196730
--3.97360704 -62.48383657
--3.96383187 -61.92971910
--3.95405670 -61.37961490
--3.94428152 -60.83352396
--3.93450635 -60.29144630
--3.92473118 -59.75338189
--3.91495601 -59.21933076
--3.90518084 -58.68929289
--3.89540567 -58.16326829
--3.88563050 -57.64125696
--3.87585533 -57.12325889
--3.86608016 -56.60927409
--3.85630499 -56.09930255
--3.84652981 -55.59334428
--3.83675464 -55.09139928
--3.82697947 -54.59346755
--3.81720430 -54.09954908
--3.80742913 -53.60964388
--3.79765396 -53.12375195
--3.78787879 -52.64187328
--3.77810362 -52.16400788
--3.76832845 -51.69015574
--3.75855327 -51.22031688
--3.74877810 -50.75449128
--3.73900293 -50.29267894
--3.72922776 -49.83487987
--3.71945259 -49.38109407
--3.70967742 -48.93132154
--3.69990225 -48.48556227
--3.69012708 -48.04381627
--3.68035191 -47.60608354
--3.67057674 -47.17236407
--3.66080156 -46.74265787
--3.65102639 -46.31696494
--3.64125122 -45.89528527
--3.63147605 -45.47761887
--3.62170088 -45.06396574
--3.61192571 -44.65432587
--3.60215054 -44.24869927
--3.59237537 -43.84708594
--3.58260020 -43.44948587
--3.57282502 -43.05589907
--3.56304985 -42.66632554
--3.55327468 -42.28076527
--3.54349951 -41.89921827
--3.53372434 -41.52168454
--3.52394917 -41.14816407
--3.51417400 -40.77865687
--3.50439883 -40.41316294
--3.49462366 -40.05168228
--3.48484848 -39.69421488
--3.47507331 -39.34076074
--3.46529814 -38.99131988
--3.45552297 -38.64589228
--3.44574780 -38.30447795
--3.43597263 -37.96707688
--3.42619746 -37.63368908
--3.41642229 -37.30431455
--3.40664712 -36.97895328
--3.39687195 -36.65760528
--3.38709677 -36.34027055
--3.37732160 -36.02694909
--3.36754643 -35.71764089
--3.35777126 -35.41234596
--3.34799609 -35.11106429
--3.33822092 -34.81379589
--3.32844575 -34.52054076
--3.31867058 -34.23129889
--3.30889541 -33.94607030
--3.29912023 -33.66485496
--3.28934506 -33.38765290
--3.27956989 -33.11446410
--3.26979472 -32.84528857
--3.26001955 -32.58012630
--3.25024438 -32.31897730
--3.24046921 -32.06184157
--3.23069404 -31.80871911
--3.22091887 -31.55960991
--3.21114370 -31.31451398
--3.20136852 -31.07343131
--3.19159335 -30.83636192
--3.18181818 -30.60330579
--3.17204301 -30.37426292
--3.16226784 -30.14923332
--3.15249267 -29.92821699
--3.14271750 -29.71121393
--3.13294233 -29.49822413
--3.12316716 -29.28924760
--3.11339198 -29.08428433
--3.10361681 -28.88333434
--3.09384164 -28.68639761
--3.08406647 -28.49347414
--3.07429130 -28.30456394
--3.06451613 -28.11966701
--3.05474096 -27.93878335
--3.04496579 -27.76191295
--3.03519062 -27.58905582
--3.02541544 -27.42021196
--3.01564027 -27.25538136
--3.00586510 -27.09456403
--2.99608993 -26.86728700
--2.98631476 -26.53751114
--2.97653959 -26.21060190
--2.96676442 -25.88655928
--2.95698925 -25.56538328
--2.94721408 -25.24707390
--2.93743891 -24.93163113
--2.92766373 -24.61905499
--2.91788856 -24.30934546
--2.90811339 -24.00250256
--2.89833822 -23.69852627
--2.88856305 -23.39741660
--2.87878788 -23.09917355
--2.86901271 -22.80379712
--2.85923754 -22.51128731
--2.84946237 -22.22164412
--2.83968719 -21.93486755
--2.82991202 -21.65095759
--2.82013685 -21.36991426
--2.81036168 -21.09173754
--2.80058651 -20.81642745
--2.79081134 -20.54398397
--2.78103617 -20.27440711
--2.77126100 -20.00769687
--2.76148583 -19.74385325
--2.75171065 -19.48287625
--2.74193548 -19.22476587
--2.73216031 -18.96952211
--2.72238514 -18.71714496
--2.71260997 -18.46763444
--2.70283480 -18.22099053
--2.69305963 -17.97721324
--2.68328446 -17.73630258
--2.67350929 -17.49825853
--2.66373412 -17.26308110
--2.65395894 -17.03077029
--2.64418377 -16.80132610
--2.63440860 -16.57474853
--2.62463343 -16.35103757
--2.61485826 -16.13019324
--2.60508309 -15.91221552
--2.59530792 -15.69710443
--2.58553275 -15.48485995
--2.57575758 -15.27548209
--2.56598240 -15.06897086
--2.55620723 -14.86532624
--2.54643206 -14.66454824
--2.53665689 -14.46663685
--2.52688172 -14.27159209
--2.51710655 -14.07941395
--2.50733138 -13.89010242
--2.49755621 -13.70365752
--2.48778104 -13.52007923
--2.47800587 -13.33936757
--2.46823069 -13.16152252
--2.45845552 -12.98654409
--2.44868035 -12.81443228
--2.43890518 -12.64518709
--2.42913001 -12.47880852
--2.41935484 -12.31529657
--2.40957967 -12.15465123
--2.39980450 -11.99687252
--2.39002933 -11.84196042
--2.38025415 -11.68991495
--2.37047898 -11.54073609
--2.36070381 -11.39442385
--2.35092864 -11.25097823
--2.34115347 -11.11039923
--2.33137830 -10.97268685
--2.32160313 -10.83784109
--2.31182796 -10.70586195
--2.30205279 -10.57674943
--2.29227761 -10.45050352
--2.28250244 -10.32712424
--2.27272727 -10.20661157
--2.26295210 -10.08896552
--2.25317693 -9.97418610
--2.24340176 -9.86227329
--2.23362659 -9.75322710
--2.22385142 -9.64704753
--2.21407625 -9.54373457
--2.20430108 -9.44328824
--2.19452590 -9.34570853
--2.18475073 -9.25099543
--2.17497556 -9.15914896
--2.16520039 -9.07016910
--2.15542522 -8.98405586
--2.14565005 -8.90080925
--2.13587488 -8.82042925
--2.12609971 -8.74291587
--2.11632454 -8.66826911
--2.10654936 -8.59648896
--2.09677419 -8.52757544
--2.08699902 -8.46152854
--2.07722385 -8.39834825
--2.06744868 -8.33803459
--2.05767351 -8.28058754
--2.04789834 -8.22600711
--2.03812317 -8.17429331
--2.02834800 -8.12544612
--2.01857283 -8.07946555
--2.00879765 -8.03635160
--1.99902248 -7.98436833
--1.98924731 -7.82899757
--1.97947214 -7.67534679
--1.96969697 -7.52341598
--1.95992180 -7.37320514
--1.95014663 -7.22471427
--1.94037146 -7.07794337
--1.93059629 -6.93289245
--1.92082111 -6.78956149
--1.91104594 -6.64795051
--1.90127077 -6.50805950
--1.89149560 -6.36988846
--1.88172043 -6.23343739
--1.87194526 -6.09870629
--1.86217009 -5.96569517
--1.85239492 -5.83440402
--1.84261975 -5.70483283
--1.83284457 -5.57698162
--1.82306940 -5.45085038
--1.81329423 -5.32643911
--1.80351906 -5.20374782
--1.79374389 -5.08277649
--1.78396872 -4.96352514
--1.77419355 -4.84599376
--1.76441838 -4.73018235
--1.75464321 -4.61609091
--1.74486804 -4.50371944
--1.73509286 -4.39306794
--1.72531769 -4.28413642
--1.71554252 -4.17692486
--1.70576735 -4.07143328
--1.69599218 -3.96766167
--1.68621701 -3.86561003
--1.67644184 -3.76527836
--1.66666667 -3.66666667
--1.65689150 -3.56977494
--1.64711632 -3.47460319
--1.63734115 -3.38115141
--1.62756598 -3.28941960
--1.61779081 -3.19940776
--1.60801564 -3.11111589
--1.59824047 -3.02454399
--1.58846530 -2.93969207
--1.57869013 -2.85656011
--1.56891496 -2.77514813
--1.55913978 -2.69545612
--1.54936461 -2.61748408
--1.53958944 -2.54123202
--1.52981427 -2.46669992
--1.52003910 -2.39388779
--1.51026393 -2.32279564
--1.50048876 -2.25342346
--1.49071359 -2.18577125
--1.48093842 -2.11983901
--1.47116325 -2.05562674
--1.46138807 -1.99313445
--1.45161290 -1.93236212
--1.44183773 -1.87330977
--1.43206256 -1.81597739
--1.42228739 -1.76036498
--1.41251222 -1.70647254
--1.40273705 -1.65430007
--1.39296188 -1.60384758
--1.38318671 -1.55511505
--1.37341153 -1.50810250
--1.36363636 -1.46280992
--1.35386119 -1.41923731
--1.34408602 -1.37738467
--1.33431085 -1.33725200
--1.32453568 -1.29883931
--1.31476051 -1.26214658
--1.30498534 -1.22717383
--1.29521017 -1.19392105
--1.28543500 -1.16238824
--1.27565982 -1.13257540
--1.26588465 -1.10448253
--1.25610948 -1.07810964
--1.24633431 -1.05345671
--1.23655914 -1.03052376
--1.22678397 -1.00931078
--1.21700880 -0.98981777
--1.20723363 -0.97204473
--1.19745846 -0.95599166
--1.18768328 -0.94165857
--1.17790811 -0.92904544
--1.16813294 -0.91815229
--1.15835777 -0.90897911
--1.14858260 -0.90152590
--1.13880743 -0.89579266
--1.12903226 -0.89177940
--1.11925709 -0.88948610
--1.10948192 -0.88891278
--1.09970674 -0.89005943
--1.08993157 -0.89292604
--1.08015640 -0.89751263
--1.07038123 -0.90381920
--1.06060606 -0.91184573
--1.05083089 -0.92159223
--1.04105572 -0.93305871
--1.03128055 -0.94624516
--1.02150538 -0.96115158
--1.01173021 -0.97777797
--1.00195503 -0.99612433
--0.99217986 -0.96890292
--0.98240469 -0.93054755
--0.97262952 -0.89276551
--0.96285435 -0.85555680
--0.95307918 -0.81892141
--0.94330401 -0.78285934
--0.93352884 -0.74737059
--0.92375367 -0.71245517
--0.91397849 -0.67811308
--0.90420332 -0.64434430
--0.89442815 -0.61114885
--0.88465298 -0.57852673
--0.87487781 -0.54647793
--0.86510264 -0.51500245
--0.85532747 -0.48410030
--0.84555230 -0.45377147
--0.83577713 -0.42401596
--0.82600196 -0.39483378
--0.81622678 -0.36622492
--0.80645161 -0.33818939
--0.79667644 -0.31072718
--0.78690127 -0.28383829
--0.77712610 -0.25752273
--0.76735093 -0.23178049
--0.75757576 -0.20661157
--0.74780059 -0.18201598
--0.73802542 -0.15799371
--0.72825024 -0.13454477
--0.71847507 -0.11166915
--0.70869990 -0.08936685
--0.69892473 -0.06763788
--0.68914956 -0.04648223
--0.67937439 -0.02589990
--0.66959922 -0.00589090
--0.65982405 0.01354478
--0.65004888 0.03240713
--0.64027370 0.05069616
--0.63049853 0.06841186
--0.62072336 0.08555425
--0.61094819 0.10212330
--0.60117302 0.11811904
--0.59139785 0.13354145
--0.58162268 0.14839054
--0.57184751 0.16266630
--0.56207234 0.17636874
--0.55229717 0.18949785
--0.54252199 0.20205365
--0.53274682 0.21403611
--0.52297165 0.22544526
--0.51319648 0.23628108
--0.50342131 0.24654357
--0.49364614 0.25623275
--0.48387097 0.26534860
--0.47409580 0.27389112
--0.46432063 0.28186032
--0.45454545 0.28925620
--0.44477028 0.29607875
--0.43499511 0.30232798
--0.42521994 0.30800389
--0.41544477 0.31310647
--0.40566960 0.31763573
--0.39589443 0.32159166
--0.38611926 0.32497427
--0.37634409 0.32778356
--0.36656891 0.33001952
--0.35679374 0.33168216
--0.34701857 0.33277148
--0.33724340 0.33328747
--0.32746823 0.33323014
--0.31769306 0.33259948
--0.30791789 0.33139550
--0.29814272 0.32961820
--0.28836755 0.32726757
--0.27859238 0.32434362
--0.26881720 0.32084634
--0.25904203 0.31677574
--0.24926686 0.31213182
--0.23949169 0.30691457
--0.22971652 0.30112400
--0.21994135 0.29476011
--0.21016618 0.28782289
--0.20039101 0.28031235
--0.19061584 0.27222848
--0.18084066 0.26357129
--0.17106549 0.25434078
--0.16129032 0.24453694
--0.15151515 0.23415978
--0.14173998 0.22320929
--0.13196481 0.21168549
--0.12218964 0.19958835
--0.11241447 0.18691790
--0.10263930 0.17367412
--0.09286413 0.15985701
--0.08308895 0.14546659
--0.07331378 0.13050283
--0.06353861 0.11496576
--0.05376344 0.09885536
--0.04398827 0.08217164
--0.03421310 0.06491459
--0.02443793 0.04708422
--0.01466276 0.02868052
--0.00488759 0.00970351
-0.00488759 -0.00970351
-0.01466276 -0.02868052
-0.02443793 -0.04708422
-0.03421310 -0.06491459
-0.04398827 -0.08217164
-0.05376344 -0.09885536
-0.06353861 -0.11496576
-0.07331378 -0.13050283
-0.08308895 -0.14546659
-0.09286413 -0.15985701
-0.10263930 -0.17367412
-0.11241447 -0.18691790
-0.12218964 -0.19958835
-0.13196481 -0.21168549
-0.14173998 -0.22320929
-0.15151515 -0.23415978
-0.16129032 -0.24453694
-0.17106549 -0.25434078
-0.18084066 -0.26357129
-0.19061584 -0.27222848
-0.20039101 -0.28031235
-0.21016618 -0.28782289
-0.21994135 -0.29476011
-0.22971652 -0.30112400
-0.23949169 -0.30691457
-0.24926686 -0.31213182
-0.25904203 -0.31677574
-0.26881720 -0.32084634
-0.27859238 -0.32434362
-0.28836755 -0.32726757
-0.29814272 -0.32961820
-0.30791789 -0.33139550
-0.31769306 -0.33259948
-0.32746823 -0.33323014
-0.33724340 -0.33328747
-0.34701857 -0.33277148
-0.35679374 -0.33168216
-0.36656891 -0.33001952
-0.37634409 -0.32778356
-0.38611926 -0.32497427
-0.39589443 -0.32159166
-0.40566960 -0.31763573
-0.41544477 -0.31310647
-0.42521994 -0.30800389
-0.43499511 -0.30232798
-0.44477028 -0.29607875
-0.45454545 -0.28925620
-0.46432063 -0.28186032
-0.47409580 -0.27389112
-0.48387097 -0.26534860
-0.49364614 -0.25623275
-0.50342131 -0.24654357
-0.51319648 -0.23628108
-0.52297165 -0.22544526
-0.53274682 -0.21403611
-0.54252199 -0.20205365
-0.55229717 -0.18949785
-0.56207234 -0.17636874
-0.57184751 -0.16266630
-0.58162268 -0.14839054
-0.59139785 -0.13354145
-0.60117302 -0.11811904
-0.61094819 -0.10212330
-0.62072336 -0.08555425
-0.63049853 -0.06841186
-0.64027370 -0.05069616
-0.65004888 -0.03240713
-0.65982405 -0.01354478
-0.66959922 0.00589090
-0.67937439 0.02589990
-0.68914956 0.04648223
-0.69892473 0.06763788
-0.70869990 0.08936685
-0.71847507 0.11166915
-0.72825024 0.13454477
-0.73802542 0.15799371
-0.74780059 0.18201598
-0.75757576 0.20661157
-0.76735093 0.23178049
-0.77712610 0.25752273
-0.78690127 0.28383829
-0.79667644 0.31072718
-0.80645161 0.33818939
-0.81622678 0.36622492
-0.82600196 0.39483378
-0.83577713 0.42401596
-0.84555230 0.45377147
-0.85532747 0.48410030
-0.86510264 0.51500245
-0.87487781 0.54647793
-0.88465298 0.57852673
-0.89442815 0.61114885
-0.90420332 0.64434430
-0.91397849 0.67811308
-0.92375367 0.71245517
-0.93352884 0.74737059
-0.94330401 0.78285934
-0.95307918 0.81892141
-0.96285435 0.85555680
-0.97262952 0.89276551
-0.98240469 0.93054755
-0.99217986 0.96890292
-1.00195503 0.99612433
-1.01173021 0.97777797
-1.02150538 0.96115158
-1.03128055 0.94624516
-1.04105572 0.93305871
-1.05083089 0.92159223
-1.06060606 0.91184573
-1.07038123 0.90381920
-1.08015640 0.89751263
-1.08993157 0.89292604
-1.09970674 0.89005943
-1.10948192 0.88891278
-1.11925709 0.88948610
-1.12903226 0.89177940
-1.13880743 0.89579266
-1.14858260 0.90152590
-1.15835777 0.90897911
-1.16813294 0.91815229
-1.17790811 0.92904544
-1.18768328 0.94165857
-1.19745846 0.95599166
-1.20723363 0.97204473
-1.21700880 0.98981777
-1.22678397 1.00931078
-1.23655914 1.03052376
-1.24633431 1.05345671
-1.25610948 1.07810964
-1.26588465 1.10448253
-1.27565982 1.13257540
-1.28543500 1.16238824
-1.29521017 1.19392105
-1.30498534 1.22717383
-1.31476051 1.26214658
-1.32453568 1.29883931
-1.33431085 1.33725200
-1.34408602 1.37738467
-1.35386119 1.41923731
-1.36363636 1.46280992
-1.37341153 1.50810250
-1.38318671 1.55511505
-1.39296188 1.60384758
-1.40273705 1.65430007
-1.41251222 1.70647254
-1.42228739 1.76036498
-1.43206256 1.81597739
-1.44183773 1.87330977
-1.45161290 1.93236212
-1.46138807 1.99313445
-1.47116325 2.05562674
-1.48093842 2.11983901
-1.49071359 2.18577125
-1.50048876 2.25342346
-1.51026393 2.32279564
-1.52003910 2.39388779
-1.52981427 2.46669992
-1.53958944 2.54123202
-1.54936461 2.61748408
-1.55913978 2.69545612
-1.56891496 2.77514813
-1.57869013 2.85656011
-1.58846530 2.93969207
-1.59824047 3.02454399
-1.60801564 3.11111589
-1.61779081 3.19940776
-1.62756598 3.28941960
-1.63734115 3.38115141
-1.64711632 3.47460319
-1.65689150 3.56977494
-1.66666667 3.66666667
-1.67644184 3.76527836
-1.68621701 3.86561003
-1.69599218 3.96766167
-1.70576735 4.07143328
-1.71554252 4.17692486
-1.72531769 4.28413642
-1.73509286 4.39306794
-1.74486804 4.50371944
-1.75464321 4.61609091
-1.76441838 4.73018235
-1.77419355 4.84599376
-1.78396872 4.96352514
-1.79374389 5.08277649
-1.80351906 5.20374782
-1.81329423 5.32643911
-1.82306940 5.45085038
-1.83284457 5.57698162
-1.84261975 5.70483283
-1.85239492 5.83440402
-1.86217009 5.96569517
-1.87194526 6.09870629
-1.88172043 6.23343739
-1.89149560 6.36988846
-1.90127077 6.50805950
-1.91104594 6.64795051
-1.92082111 6.78956149
-1.93059629 6.93289245
-1.94037146 7.07794337
-1.95014663 7.22471427
-1.95992180 7.37320514
-1.96969697 7.52341598
-1.97947214 7.67534679
-1.98924731 7.82899757
-1.99902248 7.98436833
-2.00879765 8.03635160
-2.01857283 8.07946555
-2.02834800 8.12544612
-2.03812317 8.17429331
-2.04789834 8.22600711
-2.05767351 8.28058754
-2.06744868 8.33803459
-2.07722385 8.39834825
-2.08699902 8.46152854
-2.09677419 8.52757544
-2.10654936 8.59648896
-2.11632454 8.66826911
-2.12609971 8.74291587
-2.13587488 8.82042925
-2.14565005 8.90080925
-2.15542522 8.98405586
-2.16520039 9.07016910
-2.17497556 9.15914896
-2.18475073 9.25099543
-2.19452590 9.34570853
-2.20430108 9.44328824
-2.21407625 9.54373457
-2.22385142 9.64704753
-2.23362659 9.75322710
-2.24340176 9.86227329
-2.25317693 9.97418610
-2.26295210 10.08896552
-2.27272727 10.20661157
-2.28250244 10.32712424
-2.29227761 10.45050352
-2.30205279 10.57674943
-2.31182796 10.70586195
-2.32160313 10.83784109
-2.33137830 10.97268685
-2.34115347 11.11039923
-2.35092864 11.25097823
-2.36070381 11.39442385
-2.37047898 11.54073609
-2.38025415 11.68991495
-2.39002933 11.84196042
-2.39980450 11.99687252
-2.40957967 12.15465123
-2.41935484 12.31529657
-2.42913001 12.47880852
-2.43890518 12.64518709
-2.44868035 12.81443228
-2.45845552 12.98654409
-2.46823069 13.16152252
-2.47800587 13.33936757
-2.48778104 13.52007923
-2.49755621 13.70365752
-2.50733138 13.89010242
-2.51710655 14.07941395
-2.52688172 14.27159209
-2.53665689 14.46663685
-2.54643206 14.66454824
-2.55620723 14.86532624
-2.56598240 15.06897086
-2.57575758 15.27548209
-2.58553275 15.48485995
-2.59530792 15.69710443
-2.60508309 15.91221552
-2.61485826 16.13019324
-2.62463343 16.35103757
-2.63440860 16.57474853
-2.64418377 16.80132610
-2.65395894 17.03077029
-2.66373412 17.26308110
-2.67350929 17.49825853
-2.68328446 17.73630258
-2.69305963 17.97721324
-2.70283480 18.22099053
-2.71260997 18.46763444
-2.72238514 18.71714496
-2.73216031 18.96952211
-2.74193548 19.22476587
-2.75171065 19.48287625
-2.76148583 19.74385325
-2.77126100 20.00769687
-2.78103617 20.27440711
-2.79081134 20.54398397
-2.80058651 20.81642745
-2.81036168 21.09173754
-2.82013685 21.36991426
-2.82991202 21.65095759
-2.83968719 21.93486755
-2.84946237 22.22164412
-2.85923754 22.51128731
-2.86901271 22.80379712
-2.87878788 23.09917355
-2.88856305 23.39741660
-2.89833822 23.69852627
-2.90811339 24.00250256
-2.91788856 24.30934546
-2.92766373 24.61905499
-2.93743891 24.93163113
-2.94721408 25.24707390
-2.95698925 25.56538328
-2.96676442 25.88655928
-2.97653959 26.21060190
-2.98631476 26.53751114
-2.99608993 26.86728700
-3.00586510 27.09456403
-3.01564027 27.25538136
-3.02541544 27.42021196
-3.03519062 27.58905582
-3.04496579 27.76191295
-3.05474096 27.93878335
-3.06451613 28.11966701
-3.07429130 28.30456394
-3.08406647 28.49347414
-3.09384164 28.68639761
-3.10361681 28.88333434
-3.11339198 29.08428433
-3.12316716 29.28924760
-3.13294233 29.49822413
-3.14271750 29.71121393
-3.15249267 29.92821699
-3.16226784 30.14923332
-3.17204301 30.37426292
-3.18181818 30.60330579
-3.19159335 30.83636192
-3.20136852 31.07343131
-3.21114370 31.31451398
-3.22091887 31.55960991
-3.23069404 31.80871911
-3.24046921 32.06184157
-3.25024438 32.31897730
-3.26001955 32.58012630
-3.26979472 32.84528857
-3.27956989 33.11446410
-3.28934506 33.38765290
-3.29912023 33.66485496
-3.30889541 33.94607030
-3.31867058 34.23129889
-3.32844575 34.52054076
-3.33822092 34.81379589
-3.34799609 35.11106429
-3.35777126 35.41234596
-3.36754643 35.71764089
-3.37732160 36.02694909
-3.38709677 36.34027055
-3.39687195 36.65760528
-3.40664712 36.97895328
-3.41642229 37.30431455
-3.42619746 37.63368908
-3.43597263 37.96707688
-3.44574780 38.30447795
-3.45552297 38.64589228
-3.46529814 38.99131988
-3.47507331 39.34076074
-3.48484848 39.69421488
-3.49462366 40.05168228
-3.50439883 40.41316294
-3.51417400 40.77865687
-3.52394917 41.14816407
-3.53372434 41.52168454
-3.54349951 41.89921827
-3.55327468 42.28076527
-3.56304985 42.66632554
-3.57282502 43.05589907
-3.58260020 43.44948587
-3.59237537 43.84708594
-3.60215054 44.24869927
-3.61192571 44.65432587
-3.62170088 45.06396574
-3.63147605 45.47761887
-3.64125122 45.89528527
-3.65102639 46.31696494
-3.66080156 46.74265787
-3.67057674 47.17236407
-3.68035191 47.60608354
-3.69012708 48.04381627
-3.69990225 48.48556227
-3.70967742 48.93132154
-3.71945259 49.38109407
-3.72922776 49.83487987
-3.73900293 50.29267894
-3.74877810 50.75449128
-3.75855327 51.22031688
-3.76832845 51.69015574
-3.77810362 52.16400788
-3.78787879 52.64187328
-3.79765396 53.12375195
-3.80742913 53.60964388
-3.81720430 54.09954908
-3.82697947 54.59346755
-3.83675464 55.09139928
-3.84652981 55.59334428
-3.85630499 56.09930255
-3.86608016 56.60927409
-3.87585533 57.12325889
-3.88563050 57.64125696
-3.89540567 58.16326829
-3.90518084 58.68929289
-3.91495601 59.21933076
-3.92473118 59.75338189
-3.93450635 60.29144630
-3.94428152 60.83352396
-3.95405670 61.37961490
-3.96383187 61.92971910
-3.97360704 62.48383657
-3.98338221 63.04196730
-3.99315738 63.60411131
-4.00293255 64.09993894
-4.01270772 64.43642269
-4.02248289 64.77806635
-4.03225806 65.12486993
-4.04203324 65.47683342
-4.05180841 65.83395682
-4.06158358 66.19624014
-4.07135875 66.56368338
-4.08113392 66.93628652
-4.09090909 67.31404959
-4.10068426 67.69697256
-4.11045943 68.08505545
-4.12023460 68.47829826
-4.13000978 68.87670098
-4.13978495 69.28026361
-4.14956012 69.68898616
-4.15933529 70.10286863
-4.16911046 70.52191100
-4.17888563 70.94611329
-4.18866080 71.37547550
-4.19843597 71.80999762
-4.20821114 72.24967966
-4.21798631 72.69452160
-4.22776149 73.14452347
-4.23753666 73.59968525
-4.24731183 74.06000694
-4.25708700 74.52548854
-4.26686217 74.99613006
-4.27663734 75.47193150
-4.28641251 75.95289285
-4.29618768 76.43901411
-4.30596285 76.93029529
-4.31573803 77.42673638
-4.32551320 77.92833739
-4.33528837 78.43509831
-4.34506354 78.94701915
-4.35483871 79.46409990
-4.36461388 79.98634056
-4.37438905 80.51374114
-4.38416422 81.04630163
-4.39393939 81.58402204
-4.40371457 82.12690236
-4.41348974 82.67494260
-4.42326491 83.22814275
-4.43304008 83.78650281
-4.44281525 84.35002279
-4.45259042 84.91870268
-4.46236559 85.49254249
-4.47214076 86.07154221
-4.48191593 86.65570185
-4.49169110 87.24502140
-4.50146628 87.83950086
-4.51124145 88.43914024
-4.52101662 89.04393954
-4.53079179 89.65389875
-4.54056696 90.26901787
-4.55034213 90.88929690
-4.56011730 91.51473586
-4.56989247 92.14533472
-4.57966764 92.78109350
-4.58944282 93.42201219
-4.59921799 94.06809080
-4.60899316 94.71932933
-4.61876833 95.37572776
-4.62854350 96.03728611
-4.63831867 96.70400438
-4.64809384 97.37588256
-4.65786901 98.05292065
-4.66764418 98.73511866
-4.67741935 99.42247659
-4.68719453 100.11499442
-4.69696970 100.81267218
-4.70674487 101.51550984
-4.71652004 102.22350742
-4.72629521 102.93666492
-4.73607038 103.65498233
-4.74584555 104.37845965
-4.75562072 105.10709689
-4.76539589 105.84089404
-4.77517107 106.57985111
-4.78494624 107.32396809
-4.79472141 108.07324498
-4.80449658 108.82768179
-4.81427175 109.58727852
-4.82404692 110.35203516
-4.83382209 111.12195171
-4.84359726 111.89702818
-4.85337243 112.67726456
-4.86314761 113.46266085
-4.87292278 114.25321706
-4.88269795 115.04893319
-4.89247312 115.84980923
-4.90224829 116.65584518
-4.91202346 117.46704105
-4.92179863 118.28339683
-4.93157380 119.10491253
-4.94134897 119.93158814
-4.95112414 120.76342366
-4.96089932 121.60041910
-4.97067449 122.44257445
-4.98044966 123.28988972
-4.99022483 124.14236490
-5.00000000 125.00000000
+X ApproxXCubed
+-5.000000000 -125.000000000
+-4.990224829 -124.142364903
+-4.980449658 -123.289889721
+-4.970674487 -122.442574453
+-4.960899316 -121.600419100
+-4.951124145 -120.763423661
+-4.941348974 -119.931588136
+-4.931573803 -119.104912525
+-4.921798631 -118.283396829
+-4.912023460 -117.467041047
+-4.902248289 -116.655845180
+-4.892473118 -115.849809227
+-4.882697947 -115.048933188
+-4.872922776 -114.253217063
+-4.863147605 -113.462660853
+-4.853372434 -112.677264557
+-4.843597263 -111.897028176
+-4.833822092 -111.121951709
+-4.824046921 -110.352035156
+-4.814271750 -109.587278518
+-4.804496579 -108.827681794
+-4.794721408 -108.073244984
+-4.784946237 -107.323968089
+-4.775171065 -106.579851108
+-4.765395894 -105.840894041
+-4.755620723 -105.107096889
+-4.745845552 -104.378459651
+-4.736070381 -103.654982327
+-4.726295210 -102.936664918
+-4.716520039 -102.223507423
+-4.706744868 -101.515509843
+-4.696969697 -100.812672176
+-4.687194526 -100.114994424
+-4.677419355 -99.422476587
+-4.667644184 -98.735118664
+-4.657869013 -98.052920655
+-4.648093842 -97.375882560
+-4.638318671 -96.704004380
+-4.628543500 -96.037286114
+-4.618768328 -95.375727763
+-4.608993157 -94.719329326
+-4.599217986 -94.068090803
+-4.589442815 -93.422012195
+-4.579667644 -92.781093501
+-4.569892473 -92.145334721
+-4.560117302 -91.514735855
+-4.550342131 -90.889296904
+-4.540566960 -90.269017868
+-4.530791789 -89.653898745
+-4.521016618 -89.043939537
+-4.511241447 -88.439140244
+-4.501466276 -87.839500864
+-4.491691105 -87.245021399
+-4.481915934 -86.655701849
+-4.472140762 -86.071542212
+-4.462365591 -85.492542490
+-4.452590420 -84.918702683
+-4.442815249 -84.350022790
+-4.433040078 -83.786502811
+-4.423264907 -83.228142746
+-4.413489736 -82.674942596
+-4.403714565 -82.126902360
+-4.393939394 -81.584022039
+-4.384164223 -81.046301631
+-4.374389052 -80.513741139
+-4.364613881 -79.986340560
+-4.354838710 -79.464099896
+-4.345063539 -78.947019146
+-4.335288368 -78.435098311
+-4.325513196 -77.928337390
+-4.315738025 -77.426736383
+-4.305962854 -76.930295290
+-4.296187683 -76.439014112
+-4.286412512 -75.952892849
+-4.276637341 -75.471931499
+-4.266862170 -74.996130064
+-4.257086999 -74.525488544
+-4.247311828 -74.060006937
+-4.237536657 -73.599685245
+-4.227761486 -73.144523468
+-4.217986315 -72.694521604
+-4.208211144 -72.249679655
+-4.198435973 -71.809997621
+-4.188660802 -71.375475500
+-4.178885630 -70.946113295
+-4.169110459 -70.521911003
+-4.159335288 -70.102868626
+-4.149560117 -69.688986163
+-4.139784946 -69.280263614
+-4.130009775 -68.876700980
+-4.120234604 -68.478298260
+-4.110459433 -68.085055455
+-4.100684262 -67.696972564
+-4.090909091 -67.314049587
+-4.081133920 -66.936286524
+-4.071358749 -66.563683376
+-4.061583578 -66.196240142
+-4.051808407 -65.833956823
+-4.042033236 -65.476833418
+-4.032258065 -65.124869927
+-4.022482893 -64.778066351
+-4.012707722 -64.436422689
+-4.002932551 -64.099938941
+-3.993157380 -63.604111305
+-3.983382209 -63.041967303
+-3.973607038 -62.483836568
+-3.963831867 -61.929719100
+-3.954056696 -61.379614898
+-3.944281525 -60.833523964
+-3.934506354 -60.291446295
+-3.924731183 -59.753381894
+-3.914956012 -59.219330759
+-3.905180841 -58.689292891
+-3.895405670 -58.163268290
+-3.885630499 -57.641256955
+-3.875855327 -57.123258887
+-3.866080156 -56.609274086
+-3.856304985 -56.099302552
+-3.846529814 -55.593344284
+-3.836754643 -55.091399283
+-3.826979472 -54.593467548
+-3.817204301 -54.099549081
+-3.807429130 -53.609643880
+-3.797653959 -53.123751946
+-3.787878788 -52.641873278
+-3.778103617 -52.164007877
+-3.768328446 -51.690155743
+-3.758553275 -51.220316876
+-3.748778104 -50.754491275
+-3.739002933 -50.292678942
+-3.729227761 -49.834879874
+-3.719452590 -49.381094074
+-3.709677419 -48.931321540
+-3.699902248 -48.485562273
+-3.690127077 -48.043816273
+-3.680351906 -47.606083539
+-3.670576735 -47.172364072
+-3.660801564 -46.742657872
+-3.651026393 -46.316964938
+-3.641251222 -45.895285272
+-3.631476051 -45.477618872
+-3.621700880 -45.063965738
+-3.611925709 -44.654325872
+-3.602150538 -44.248699272
+-3.592375367 -43.847085938
+-3.582600196 -43.449485872
+-3.572825024 -43.055899072
+-3.563049853 -42.666325539
+-3.553274682 -42.280765273
+-3.543499511 -41.899218273
+-3.533724340 -41.521684540
+-3.523949169 -41.148164074
+-3.514173998 -40.778656874
+-3.504398827 -40.413162941
+-3.494623656 -40.051682275
+-3.484848485 -39.694214876
+-3.475073314 -39.340760743
+-3.465298143 -38.991319877
+-3.455522972 -38.645892278
+-3.445747801 -38.304477946
+-3.435972630 -37.967076880
+-3.426197458 -37.633689081
+-3.416422287 -37.304314548
+-3.406647116 -36.978953283
+-3.396871945 -36.657605284
+-3.387096774 -36.340270552
+-3.377321603 -36.026949086
+-3.367546432 -35.717640887
+-3.357771261 -35.412345955
+-3.347996090 -35.111064290
+-3.338220919 -34.813795891
+-3.328445748 -34.520540759
+-3.318670577 -34.231298894
+-3.308895406 -33.946070295
+-3.299120235 -33.664854963
+-3.289345064 -33.387652898
+-3.279569892 -33.114464100
+-3.269794721 -32.845288568
+-3.260019550 -32.580126303
+-3.250244379 -32.318977305
+-3.240469208 -32.061841573
+-3.230694037 -31.808719109
+-3.220918866 -31.559609910
+-3.211143695 -31.314513979
+-3.201368524 -31.073431314
+-3.191593353 -30.836361916
+-3.181818182 -30.603305785
+-3.172043011 -30.374262921
+-3.162267840 -30.149233323
+-3.152492669 -29.928216992
+-3.142717498 -29.711213927
+-3.132942326 -29.498224129
+-3.123167155 -29.289247598
+-3.113391984 -29.084284334
+-3.103616813 -28.883334337
+-3.093841642 -28.686397606
+-3.084066471 -28.493474142
+-3.074291300 -28.304563944
+-3.064516129 -28.119667014
+-3.054740958 -27.938783350
+-3.044965787 -27.761912952
+-3.035190616 -27.589055822
+-3.025415445 -27.420211958
+-3.015640274 -27.255381361
+-3.005865103 -27.094564030
+-2.996089932 -26.867287003
+-2.986314761 -26.537511144
+-2.976539589 -26.210601904
+-2.966764418 -25.886559283
+-2.956989247 -25.565383281
+-2.947214076 -25.247073899
+-2.937438905 -24.931631135
+-2.927663734 -24.619054990
+-2.917888563 -24.309345465
+-2.908113392 -24.002502558
+-2.898338221 -23.698526271
+-2.888563050 -23.397416603
+-2.878787879 -23.099173554
+-2.869012708 -22.803797124
+-2.859237537 -22.511287313
+-2.849462366 -22.221644121
+-2.839687195 -21.934867548
+-2.829912023 -21.650957594
+-2.820136852 -21.369914259
+-2.810361681 -21.091737544
+-2.800586510 -20.816427447
+-2.790811339 -20.543983970
+-2.781036168 -20.274407112
+-2.771260997 -20.007696872
+-2.761485826 -19.743853252
+-2.751710655 -19.482876251
+-2.741935484 -19.224765869
+-2.732160313 -18.969522106
+-2.722385142 -18.717144962
+-2.712609971 -18.467634437
+-2.702834800 -18.220990532
+-2.693059629 -17.977213245
+-2.683284457 -17.736302577
+-2.673509286 -17.498258529
+-2.663734115 -17.263081100
+-2.653958944 -17.030770289
+-2.644183773 -16.801326098
+-2.634408602 -16.574748526
+-2.624633431 -16.351037573
+-2.614858260 -16.130193239
+-2.605083089 -15.912215524
+-2.595307918 -15.697104428
+-2.585532747 -15.484859951
+-2.575757576 -15.275482094
+-2.565982405 -15.068970855
+-2.556207234 -14.865326236
+-2.546432063 -14.664548235
+-2.536656891 -14.466636854
+-2.526881720 -14.271592092
+-2.517106549 -14.079413948
+-2.507331378 -13.890102424
+-2.497556207 -13.703657519
+-2.487781036 -13.520079233
+-2.478005865 -13.339367566
+-2.468230694 -13.161522519
+-2.458455523 -12.986544090
+-2.448680352 -12.814432280
+-2.438905181 -12.645187090
+-2.429130010 -12.478808518
+-2.419354839 -12.315296566
+-2.409579668 -12.154651233
+-2.399804497 -11.996872519
+-2.390029326 -11.841960423
+-2.380254154 -11.689914947
+-2.370478983 -11.540736090
+-2.360703812 -11.394423853
+-2.350928641 -11.250978234
+-2.341153470 -11.110399234
+-2.331378299 -10.972686853
+-2.321603128 -10.837841092
+-2.311827957 -10.705861949
+-2.302052786 -10.576749426
+-2.292277615 -10.450503522
+-2.282502444 -10.327124236
+-2.272727273 -10.206611570
+-2.262952102 -10.088965523
+-2.253176931 -9.974186095
+-2.243401760 -9.862273286
+-2.233626588 -9.753227096
+-2.223851417 -9.647047526
+-2.214076246 -9.543734574
+-2.204301075 -9.443288241
+-2.194525904 -9.345708528
+-2.184750733 -9.250995433
+-2.174975562 -9.159148958
+-2.165200391 -9.070169102
+-2.155425220 -8.984055865
+-2.145650049 -8.900809247
+-2.135874878 -8.820429248
+-2.126099707 -8.742915868
+-2.116324536 -8.668269107
+-2.106549365 -8.596488965
+-2.096774194 -8.527575442
+-2.086999022 -8.461528539
+-2.077223851 -8.398348254
+-2.067448680 -8.338034589
+-2.057673509 -8.280587542
+-2.047898338 -8.226007115
+-2.038123167 -8.174293307
+-2.028347996 -8.125446118
+-2.018572825 -8.079465548
+-2.008797654 -8.036351597
+-1.999022483 -7.984368326
+-1.989247312 -7.828997572
+-1.979472141 -7.675346789
+-1.969696970 -7.523415978
+-1.959921799 -7.373205138
+-1.950146628 -7.224714270
+-1.940371457 -7.077943373
+-1.930596285 -6.932892447
+-1.920821114 -6.789561493
+-1.911045943 -6.647950511
+-1.901270772 -6.508059500
+-1.891495601 -6.369888460
+-1.881720430 -6.233437392
+-1.871945259 -6.098706295
+-1.862170088 -5.965695169
+-1.852394917 -5.834404016
+-1.842619746 -5.704832833
+-1.832844575 -5.576981622
+-1.823069404 -5.450850383
+-1.813294233 -5.326439114
+-1.803519062 -5.203747818
+-1.793743891 -5.082776493
+-1.783968719 -4.963525139
+-1.774193548 -4.845993757
+-1.764418377 -4.730182346
+-1.754643206 -4.616090906
+-1.744868035 -4.503719438
+-1.735092864 -4.393067942
+-1.725317693 -4.284136417
+-1.715542522 -4.176924863
+-1.705767351 -4.071433281
+-1.695992180 -3.967661670
+-1.686217009 -3.865610031
+-1.676441838 -3.765278363
+-1.666666667 -3.666666667
+-1.656891496 -3.569774942
+-1.647116325 -3.474603188
+-1.637341153 -3.381151406
+-1.627565982 -3.289419596
+-1.617790811 -3.199407756
+-1.608015640 -3.111115889
+-1.598240469 -3.024543993
+-1.588465298 -2.939692068
+-1.578690127 -2.856560114
+-1.568914956 -2.775148133
+-1.559139785 -2.695456122
+-1.549364614 -2.617484083
+-1.539589443 -2.541232016
+-1.529814272 -2.466699919
+-1.520039101 -2.393887795
+-1.510263930 -2.322795642
+-1.500488759 -2.253423460
+-1.490713587 -2.185771250
+-1.480938416 -2.119839011
+-1.471163245 -2.055626743
+-1.461388074 -1.993134447
+-1.451612903 -1.932362123
+-1.441837732 -1.873309770
+-1.432062561 -1.815977388
+-1.422287390 -1.760364978
+-1.412512219 -1.706472539
+-1.402737048 -1.654300072
+-1.392961877 -1.603847576
+-1.383186706 -1.555115052
+-1.373411535 -1.508102499
+-1.363636364 -1.462809917
+-1.353861193 -1.419237307
+-1.344086022 -1.377384669
+-1.334310850 -1.337252002
+-1.324535679 -1.298839306
+-1.314760508 -1.262146582
+-1.304985337 -1.227173829
+-1.295210166 -1.193921048
+-1.285434995 -1.162388238
+-1.275659824 -1.132575399
+-1.265884653 -1.104482532
+-1.256109482 -1.078109637
+-1.246334311 -1.053456713
+-1.236559140 -1.030523760
+-1.226783969 -1.009310779
+-1.217008798 -0.989817769
+-1.207233627 -0.972044731
+-1.197458456 -0.955991664
+-1.187683284 -0.941658568
+-1.177908113 -0.929045445
+-1.168132942 -0.918152292
+-1.158357771 -0.908979111
+-1.148582600 -0.901525901
+-1.138807429 -0.895792663
+-1.129032258 -0.891779396
+-1.119257087 -0.889486101
+-1.109481916 -0.888912777
+-1.099706745 -0.890059425
+-1.089931574 -0.892926044
+-1.080156403 -0.897512635
+-1.070381232 -0.903819197
+-1.060606061 -0.911845730
+-1.050830890 -0.921592235
+-1.041055718 -0.933058711
+-1.031280547 -0.946245159
+-1.021505376 -0.961151578
+-1.011730205 -0.977777969
+-1.001955034 -0.996124331
+-0.992179863 -0.968902916
+-0.982404692 -0.930547553
+-0.972629521 -0.892765513
+-0.962854350 -0.855556798
+-0.953079179 -0.818921406
+-0.943304008 -0.782859338
+-0.933528837 -0.747370594
+-0.923753666 -0.712455173
+-0.913978495 -0.678113077
+-0.904203324 -0.644344304
+-0.894428152 -0.611148855
+-0.884652981 -0.578526730
+-0.874877810 -0.546477928
+-0.865102639 -0.515002451
+-0.855327468 -0.484100297
+-0.845552297 -0.453771467
+-0.835777126 -0.424015961
+-0.826001955 -0.394833779
+-0.816226784 -0.366224921
+-0.806451613 -0.338189386
+-0.796676442 -0.310727175
+-0.786901271 -0.283838288
+-0.777126100 -0.257522725
+-0.767350929 -0.231780486
+-0.757575758 -0.206611570
+-0.747800587 -0.182015979
+-0.738025415 -0.157993711
+-0.728250244 -0.134544767
+-0.718475073 -0.111669146
+-0.708699902 -0.089366850
+-0.698924731 -0.067637877
+-0.689149560 -0.046482228
+-0.679374389 -0.025899903
+-0.669599218 -0.005890902
+-0.659824047 0.013544775
+-0.650048876 0.032407129
+-0.640273705 0.050696158
+-0.630498534 0.068411864
+-0.620723363 0.085554246
+-0.610948192 0.102123305
+-0.601173021 0.118119039
+-0.591397849 0.133541450
+-0.581622678 0.148390537
+-0.571847507 0.162666300
+-0.562072336 0.176368739
+-0.552297165 0.189497854
+-0.542521994 0.202053646
+-0.532746823 0.214036114
+-0.522971652 0.225445258
+-0.513196481 0.236281078
+-0.503421310 0.246543574
+-0.493646139 0.256232747
+-0.483870968 0.265348595
+-0.474095797 0.273891120
+-0.464320626 0.281860321
+-0.454545455 0.289256198
+-0.444770283 0.296078752
+-0.434995112 0.302327981
+-0.425219941 0.308003887
+-0.415444770 0.313106469
+-0.405669599 0.317635727
+-0.395894428 0.321591662
+-0.386119257 0.324974272
+-0.376344086 0.327783559
+-0.366568915 0.330019522
+-0.356793744 0.331682161
+-0.347018573 0.332771476
+-0.337243402 0.333287467
+-0.327468231 0.333230135
+-0.317693060 0.332599479
+-0.307917889 0.331395499
+-0.298142717 0.329618195
+-0.288367546 0.327267567
+-0.278592375 0.324343616
+-0.268817204 0.320846341
+-0.259042033 0.316775742
+-0.249266862 0.312131819
+-0.239491691 0.306914572
+-0.229716520 0.301124001
+-0.219941349 0.294760107
+-0.210166178 0.287822889
+-0.200391007 0.280312347
+-0.190615836 0.272228481
+-0.180840665 0.263571291
+-0.171065494 0.254340778
+-0.161290323 0.244536941
+-0.151515152 0.234159780
+-0.141739980 0.223209295
+-0.131964809 0.211685486
+-0.122189638 0.199588353
+-0.112414467 0.186917897
+-0.102639296 0.173674117
+-0.092864125 0.159857013
+-0.083088954 0.145466585
+-0.073313783 0.130502834
+-0.063538612 0.114965758
+-0.053763441 0.098855359
+-0.043988270 0.082171636
+-0.034213099 0.064914589
+-0.024437928 0.047084218
+-0.014662757 0.028680524
+-0.004887586 0.009703506
+0.004887586 -0.009703506
+0.014662757 -0.028680524
+0.024437928 -0.047084218
+0.034213099 -0.064914589
+0.043988270 -0.082171636
+0.053763441 -0.098855359
+0.063538612 -0.114965758
+0.073313783 -0.130502834
+0.083088954 -0.145466585
+0.092864125 -0.159857013
+0.102639296 -0.173674117
+0.112414467 -0.186917897
+0.122189638 -0.199588353
+0.131964809 -0.211685486
+0.141739980 -0.223209295
+0.151515152 -0.234159780
+0.161290323 -0.244536941
+0.171065494 -0.254340778
+0.180840665 -0.263571291
+0.190615836 -0.272228481
+0.200391007 -0.280312347
+0.210166178 -0.287822889
+0.219941349 -0.294760107
+0.229716520 -0.301124001
+0.239491691 -0.306914572
+0.249266862 -0.312131819
+0.259042033 -0.316775742
+0.268817204 -0.320846341
+0.278592375 -0.324343616
+0.288367546 -0.327267567
+0.298142717 -0.329618195
+0.307917889 -0.331395499
+0.317693060 -0.332599479
+0.327468231 -0.333230135
+0.337243402 -0.333287467
+0.347018573 -0.332771476
+0.356793744 -0.331682161
+0.366568915 -0.330019522
+0.376344086 -0.327783559
+0.386119257 -0.324974272
+0.395894428 -0.321591662
+0.405669599 -0.317635727
+0.415444770 -0.313106469
+0.425219941 -0.308003887
+0.434995112 -0.302327981
+0.444770283 -0.296078752
+0.454545455 -0.289256198
+0.464320626 -0.281860321
+0.474095797 -0.273891120
+0.483870968 -0.265348595
+0.493646139 -0.256232747
+0.503421310 -0.246543574
+0.513196481 -0.236281078
+0.522971652 -0.225445258
+0.532746823 -0.214036114
+0.542521994 -0.202053646
+0.552297165 -0.189497854
+0.562072336 -0.176368739
+0.571847507 -0.162666300
+0.581622678 -0.148390537
+0.591397849 -0.133541450
+0.601173021 -0.118119039
+0.610948192 -0.102123305
+0.620723363 -0.085554246
+0.630498534 -0.068411864
+0.640273705 -0.050696158
+0.650048876 -0.032407129
+0.659824047 -0.013544775
+0.669599218 0.005890902
+0.679374389 0.025899903
+0.689149560 0.046482228
+0.698924731 0.067637877
+0.708699902 0.089366850
+0.718475073 0.111669146
+0.728250244 0.134544767
+0.738025415 0.157993711
+0.747800587 0.182015979
+0.757575758 0.206611570
+0.767350929 0.231780486
+0.777126100 0.257522725
+0.786901271 0.283838288
+0.796676442 0.310727175
+0.806451613 0.338189386
+0.816226784 0.366224921
+0.826001955 0.394833779
+0.835777126 0.424015961
+0.845552297 0.453771467
+0.855327468 0.484100297
+0.865102639 0.515002451
+0.874877810 0.546477928
+0.884652981 0.578526730
+0.894428152 0.611148855
+0.904203324 0.644344304
+0.913978495 0.678113077
+0.923753666 0.712455173
+0.933528837 0.747370594
+0.943304008 0.782859338
+0.953079179 0.818921406
+0.962854350 0.855556798
+0.972629521 0.892765513
+0.982404692 0.930547553
+0.992179863 0.968902916
+1.001955034 0.996124331
+1.011730205 0.977777969
+1.021505376 0.961151578
+1.031280547 0.946245159
+1.041055718 0.933058711
+1.050830890 0.921592235
+1.060606061 0.911845730
+1.070381232 0.903819197
+1.080156403 0.897512635
+1.089931574 0.892926044
+1.099706745 0.890059425
+1.109481916 0.888912777
+1.119257087 0.889486101
+1.129032258 0.891779396
+1.138807429 0.895792663
+1.148582600 0.901525901
+1.158357771 0.908979111
+1.168132942 0.918152292
+1.177908113 0.929045445
+1.187683284 0.941658568
+1.197458456 0.955991664
+1.207233627 0.972044731
+1.217008798 0.989817769
+1.226783969 1.009310779
+1.236559140 1.030523760
+1.246334311 1.053456713
+1.256109482 1.078109637
+1.265884653 1.104482532
+1.275659824 1.132575399
+1.285434995 1.162388238
+1.295210166 1.193921048
+1.304985337 1.227173829
+1.314760508 1.262146582
+1.324535679 1.298839306
+1.334310850 1.337252002
+1.344086022 1.377384669
+1.353861193 1.419237307
+1.363636364 1.462809917
+1.373411535 1.508102499
+1.383186706 1.555115052
+1.392961877 1.603847576
+1.402737048 1.654300072
+1.412512219 1.706472539
+1.422287390 1.760364978
+1.432062561 1.815977388
+1.441837732 1.873309770
+1.451612903 1.932362123
+1.461388074 1.993134447
+1.471163245 2.055626743
+1.480938416 2.119839011
+1.490713587 2.185771250
+1.500488759 2.253423460
+1.510263930 2.322795642
+1.520039101 2.393887795
+1.529814272 2.466699919
+1.539589443 2.541232016
+1.549364614 2.617484083
+1.559139785 2.695456122
+1.568914956 2.775148133
+1.578690127 2.856560114
+1.588465298 2.939692068
+1.598240469 3.024543993
+1.608015640 3.111115889
+1.617790811 3.199407756
+1.627565982 3.289419596
+1.637341153 3.381151406
+1.647116325 3.474603188
+1.656891496 3.569774942
+1.666666667 3.666666667
+1.676441838 3.765278363
+1.686217009 3.865610031
+1.695992180 3.967661670
+1.705767351 4.071433281
+1.715542522 4.176924863
+1.725317693 4.284136417
+1.735092864 4.393067942
+1.744868035 4.503719438
+1.754643206 4.616090906
+1.764418377 4.730182346
+1.774193548 4.845993757
+1.783968719 4.963525139
+1.793743891 5.082776493
+1.803519062 5.203747818
+1.813294233 5.326439114
+1.823069404 5.450850383
+1.832844575 5.576981622
+1.842619746 5.704832833
+1.852394917 5.834404016
+1.862170088 5.965695169
+1.871945259 6.098706295
+1.881720430 6.233437392
+1.891495601 6.369888460
+1.901270772 6.508059500
+1.911045943 6.647950511
+1.920821114 6.789561493
+1.930596285 6.932892447
+1.940371457 7.077943373
+1.950146628 7.224714270
+1.959921799 7.373205138
+1.969696970 7.523415978
+1.979472141 7.675346789
+1.989247312 7.828997572
+1.999022483 7.984368326
+2.008797654 8.036351597
+2.018572825 8.079465548
+2.028347996 8.125446118
+2.038123167 8.174293307
+2.047898338 8.226007115
+2.057673509 8.280587542
+2.067448680 8.338034589
+2.077223851 8.398348254
+2.086999022 8.461528539
+2.096774194 8.527575442
+2.106549365 8.596488965
+2.116324536 8.668269107
+2.126099707 8.742915868
+2.135874878 8.820429248
+2.145650049 8.900809247
+2.155425220 8.984055865
+2.165200391 9.070169102
+2.174975562 9.159148958
+2.184750733 9.250995433
+2.194525904 9.345708528
+2.204301075 9.443288241
+2.214076246 9.543734574
+2.223851417 9.647047526
+2.233626588 9.753227096
+2.243401760 9.862273286
+2.253176931 9.974186095
+2.262952102 10.088965523
+2.272727273 10.206611570
+2.282502444 10.327124236
+2.292277615 10.450503522
+2.302052786 10.576749426
+2.311827957 10.705861949
+2.321603128 10.837841092
+2.331378299 10.972686853
+2.341153470 11.110399234
+2.350928641 11.250978234
+2.360703812 11.394423853
+2.370478983 11.540736090
+2.380254154 11.689914947
+2.390029326 11.841960423
+2.399804497 11.996872519
+2.409579668 12.154651233
+2.419354839 12.315296566
+2.429130010 12.478808518
+2.438905181 12.645187090
+2.448680352 12.814432280
+2.458455523 12.986544090
+2.468230694 13.161522519
+2.478005865 13.339367566
+2.487781036 13.520079233
+2.497556207 13.703657519
+2.507331378 13.890102424
+2.517106549 14.079413948
+2.526881720 14.271592092
+2.536656891 14.466636854
+2.546432063 14.664548235
+2.556207234 14.865326236
+2.565982405 15.068970855
+2.575757576 15.275482094
+2.585532747 15.484859951
+2.595307918 15.697104428
+2.605083089 15.912215524
+2.614858260 16.130193239
+2.624633431 16.351037573
+2.634408602 16.574748526
+2.644183773 16.801326098
+2.653958944 17.030770289
+2.663734115 17.263081100
+2.673509286 17.498258529
+2.683284457 17.736302577
+2.693059629 17.977213245
+2.702834800 18.220990532
+2.712609971 18.467634437
+2.722385142 18.717144962
+2.732160313 18.969522106
+2.741935484 19.224765869
+2.751710655 19.482876251
+2.761485826 19.743853252
+2.771260997 20.007696872
+2.781036168 20.274407112
+2.790811339 20.543983970
+2.800586510 20.816427447
+2.810361681 21.091737544
+2.820136852 21.369914259
+2.829912023 21.650957594
+2.839687195 21.934867548
+2.849462366 22.221644121
+2.859237537 22.511287313
+2.869012708 22.803797124
+2.878787879 23.099173554
+2.888563050 23.397416603
+2.898338221 23.698526271
+2.908113392 24.002502558
+2.917888563 24.309345465
+2.927663734 24.619054990
+2.937438905 24.931631135
+2.947214076 25.247073899
+2.956989247 25.565383281
+2.966764418 25.886559283
+2.976539589 26.210601904
+2.986314761 26.537511144
+2.996089932 26.867287003
+3.005865103 27.094564030
+3.015640274 27.255381361
+3.025415445 27.420211958
+3.035190616 27.589055822
+3.044965787 27.761912952
+3.054740958 27.938783350
+3.064516129 28.119667014
+3.074291300 28.304563944
+3.084066471 28.493474142
+3.093841642 28.686397606
+3.103616813 28.883334337
+3.113391984 29.084284334
+3.123167155 29.289247598
+3.132942326 29.498224129
+3.142717498 29.711213927
+3.152492669 29.928216992
+3.162267840 30.149233323
+3.172043011 30.374262921
+3.181818182 30.603305785
+3.191593353 30.836361916
+3.201368524 31.073431314
+3.211143695 31.314513979
+3.220918866 31.559609910
+3.230694037 31.808719109
+3.240469208 32.061841573
+3.250244379 32.318977305
+3.260019550 32.580126303
+3.269794721 32.845288568
+3.279569892 33.114464100
+3.289345064 33.387652898
+3.299120235 33.664854963
+3.308895406 33.946070295
+3.318670577 34.231298894
+3.328445748 34.520540759
+3.338220919 34.813795891
+3.347996090 35.111064290
+3.357771261 35.412345955
+3.367546432 35.717640887
+3.377321603 36.026949086
+3.387096774 36.340270552
+3.396871945 36.657605284
+3.406647116 36.978953283
+3.416422287 37.304314548
+3.426197458 37.633689081
+3.435972630 37.967076880
+3.445747801 38.304477946
+3.455522972 38.645892278
+3.465298143 38.991319877
+3.475073314 39.340760743
+3.484848485 39.694214876
+3.494623656 40.051682275
+3.504398827 40.413162941
+3.514173998 40.778656874
+3.523949169 41.148164074
+3.533724340 41.521684540
+3.543499511 41.899218273
+3.553274682 42.280765273
+3.563049853 42.666325539
+3.572825024 43.055899072
+3.582600196 43.449485872
+3.592375367 43.847085938
+3.602150538 44.248699272
+3.611925709 44.654325872
+3.621700880 45.063965738
+3.631476051 45.477618872
+3.641251222 45.895285272
+3.651026393 46.316964938
+3.660801564 46.742657872
+3.670576735 47.172364072
+3.680351906 47.606083539
+3.690127077 48.043816273
+3.699902248 48.485562273
+3.709677419 48.931321540
+3.719452590 49.381094074
+3.729227761 49.834879874
+3.739002933 50.292678942
+3.748778104 50.754491275
+3.758553275 51.220316876
+3.768328446 51.690155743
+3.778103617 52.164007877
+3.787878788 52.641873278
+3.797653959 53.123751946
+3.807429130 53.609643880
+3.817204301 54.099549081
+3.826979472 54.593467548
+3.836754643 55.091399283
+3.846529814 55.593344284
+3.856304985 56.099302552
+3.866080156 56.609274086
+3.875855327 57.123258887
+3.885630499 57.641256955
+3.895405670 58.163268290
+3.905180841 58.689292891
+3.914956012 59.219330759
+3.924731183 59.753381894
+3.934506354 60.291446295
+3.944281525 60.833523964
+3.954056696 61.379614898
+3.963831867 61.929719100
+3.973607038 62.483836568
+3.983382209 63.041967303
+3.993157380 63.604111305
+4.002932551 64.099938941
+4.012707722 64.436422689
+4.022482893 64.778066351
+4.032258065 65.124869927
+4.042033236 65.476833418
+4.051808407 65.833956823
+4.061583578 66.196240142
+4.071358749 66.563683376
+4.081133920 66.936286524
+4.090909091 67.314049587
+4.100684262 67.696972564
+4.110459433 68.085055455
+4.120234604 68.478298260
+4.130009775 68.876700980
+4.139784946 69.280263614
+4.149560117 69.688986163
+4.159335288 70.102868626
+4.169110459 70.521911003
+4.178885630 70.946113295
+4.188660802 71.375475500
+4.198435973 71.809997621
+4.208211144 72.249679655
+4.217986315 72.694521604
+4.227761486 73.144523468
+4.237536657 73.599685245
+4.247311828 74.060006937
+4.257086999 74.525488544
+4.266862170 74.996130064
+4.276637341 75.471931499
+4.286412512 75.952892849
+4.296187683 76.439014112
+4.305962854 76.930295290
+4.315738025 77.426736383
+4.325513196 77.928337390
+4.335288368 78.435098311
+4.345063539 78.947019146
+4.354838710 79.464099896
+4.364613881 79.986340560
+4.374389052 80.513741139
+4.384164223 81.046301631
+4.393939394 81.584022039
+4.403714565 82.126902360
+4.413489736 82.674942596
+4.423264907 83.228142746
+4.433040078 83.786502811
+4.442815249 84.350022790
+4.452590420 84.918702683
+4.462365591 85.492542490
+4.472140762 86.071542212
+4.481915934 86.655701849
+4.491691105 87.245021399
+4.501466276 87.839500864
+4.511241447 88.439140244
+4.521016618 89.043939537
+4.530791789 89.653898745
+4.540566960 90.269017868
+4.550342131 90.889296904
+4.560117302 91.514735855
+4.569892473 92.145334721
+4.579667644 92.781093501
+4.589442815 93.422012195
+4.599217986 94.068090803
+4.608993157 94.719329326
+4.618768328 95.375727763
+4.628543500 96.037286114
+4.638318671 96.704004380
+4.648093842 97.375882560
+4.657869013 98.052920655
+4.667644184 98.735118664
+4.677419355 99.422476587
+4.687194526 100.114994424
+4.696969697 100.812672176
+4.706744868 101.515509843
+4.716520039 102.223507423
+4.726295210 102.936664918
+4.736070381 103.654982327
+4.745845552 104.378459651
+4.755620723 105.107096889
+4.765395894 105.840894041
+4.775171065 106.579851108
+4.784946237 107.323968089
+4.794721408 108.073244984
+4.804496579 108.827681794
+4.814271750 109.587278518
+4.824046921 110.352035156
+4.833822092 111.121951709
+4.843597263 111.897028176
+4.853372434 112.677264557
+4.863147605 113.462660853
+4.872922776 114.253217063
+4.882697947 115.048933188
+4.892473118 115.849809227
+4.902248289 116.655845180
+4.912023460 117.467041047
+4.921798631 118.283396829
+4.931573803 119.104912525
+4.941348974 119.931588136
+4.951124145 120.763423661
+4.960899316 121.600419100
+4.970674487 122.442574453
+4.980449658 123.289889721
+4.990224829 124.142364903
+5.000000000 125.000000000
diff --git a/examples/takagi-sugeno/octave/cubic_approximator.fll b/examples/takagi-sugeno/octave/cubic_approximator.fll
index 073e70e..22b8fa6 100644
--- a/examples/takagi-sugeno/octave/cubic_approximator.fll
+++ b/examples/takagi-sugeno/octave/cubic_approximator.fll
@@ -1,7 +1,8 @@
-Engine: Cubic-Approximator
+Engine: cubic_approximator
InputVariable: X
enabled: true
range: -5.000 5.000
+ lock-range: false
term: AboutNegFive Triangle -6.000 -5.000 -4.000
term: AboutNegFour Triangle -5.000 -4.000 -3.000
term: AboutNegThree Triangle -4.000 -3.000 -2.000
@@ -16,11 +17,11 @@ InputVariable: X
OutputVariable: ApproxXCubed
enabled: true
range: -5.000 5.000
- accumulation: none
+ lock-range: false
+ aggregation: none
defuzzifier: WeightedAverage TakagiSugeno
default: nan
lock-previous: false
- lock-range: false
term: TangentatNegFive Linear 75.000 250.000
term: TangentatNegFour Linear 48.000 128.000
term: TangentatNegThree Linear 27.000 54.000
@@ -36,7 +37,8 @@ RuleBlock:
enabled: true
conjunction: none
disjunction: none
- activation: none
+ implication: none
+ activation: General
rule: if X is AboutNegFive then ApproxXCubed is TangentatNegFive
rule: if X is AboutNegFour then ApproxXCubed is TangentatNegFour
rule: if X is AboutNegThree then ApproxXCubed is TangentatNegThree
diff --git a/examples/takagi-sugeno/octave/cubic_approximator.java b/examples/takagi-sugeno/octave/cubic_approximator.java
index 1955a24..ed64870 100644
--- a/examples/takagi-sugeno/octave/cubic_approximator.java
+++ b/examples/takagi-sugeno/octave/cubic_approximator.java
@@ -1,4 +1,5 @@
import com.fuzzylite.*;
+import com.fuzzylite.activation.*
import com.fuzzylite.defuzzifier.*;
import com.fuzzylite.factory.*;
import com.fuzzylite.hedge.*;
@@ -12,54 +13,62 @@ import com.fuzzylite.variable.*;
public class cubic_approximator{
public static void main(String[] args){
+//Code automatically generated with fuzzylite 6.0.
+
Engine engine = new Engine();
-engine.setName("Cubic-Approximator");
+engine.setName("cubic_approximator");
+engine.setDescription("");
-InputVariable inputVariable = new InputVariable();
-inputVariable.setEnabled(true);
-inputVariable.setName("X");
-inputVariable.setRange(-5.000, 5.000);
-inputVariable.addTerm(new Triangle("AboutNegFive", -6.000, -5.000, -4.000));
-inputVariable.addTerm(new Triangle("AboutNegFour", -5.000, -4.000, -3.000));
-inputVariable.addTerm(new Triangle("AboutNegThree", -4.000, -3.000, -2.000));
-inputVariable.addTerm(new Triangle("AboutNegTwo", -3.000, -2.000, -1.000));
-inputVariable.addTerm(new Triangle("AboutNegOne", -2.000, -1.000, 0.000));
-inputVariable.addTerm(new Triangle("AboutZero", -1.000, 0.000, 1.000));
-inputVariable.addTerm(new Triangle("AboutOne", 0.000, 1.000, 2.000));
-inputVariable.addTerm(new Triangle("AboutTwo", 1.000, 2.000, 3.000));
-inputVariable.addTerm(new Triangle("AboutThree", 2.000, 3.000, 4.000));
-inputVariable.addTerm(new Triangle("AboutFour", 3.000, 4.000, 5.000));
-inputVariable.addTerm(new Triangle("AboutFive", 4.000, 5.000, 6.000));
-engine.addInputVariable(inputVariable);
+InputVariable X = new InputVariable();
+X.setName("X");
+X.setDescription("");
+X.setEnabled(true);
+X.setRange(-5.000, 5.000);
+X.setLockValueInRange(false);
+X.addTerm(new Triangle("AboutNegFive", -6.000, -5.000, -4.000));
+X.addTerm(new Triangle("AboutNegFour", -5.000, -4.000, -3.000));
+X.addTerm(new Triangle("AboutNegThree", -4.000, -3.000, -2.000));
+X.addTerm(new Triangle("AboutNegTwo", -3.000, -2.000, -1.000));
+X.addTerm(new Triangle("AboutNegOne", -2.000, -1.000, 0.000));
+X.addTerm(new Triangle("AboutZero", -1.000, 0.000, 1.000));
+X.addTerm(new Triangle("AboutOne", 0.000, 1.000, 2.000));
+X.addTerm(new Triangle("AboutTwo", 1.000, 2.000, 3.000));
+X.addTerm(new Triangle("AboutThree", 2.000, 3.000, 4.000));
+X.addTerm(new Triangle("AboutFour", 3.000, 4.000, 5.000));
+X.addTerm(new Triangle("AboutFive", 4.000, 5.000, 6.000));
+engine.addInputVariable(X);
-OutputVariable outputVariable = new OutputVariable();
-outputVariable.setEnabled(true);
-outputVariable.setName("ApproxXCubed");
-outputVariable.setRange(-5.000, 5.000);
-outputVariable.fuzzyOutput().setAccumulation(null);
-outputVariable.setDefuzzifier(new WeightedAverage("TakagiSugeno"));
-outputVariable.setDefaultValue(Double.NaN);
-outputVariable.setLockPreviousOutputValue(false);
-outputVariable.setLockOutputValueInRange(false);
-outputVariable.addTerm(Linear.create("TangentatNegFive", engine, 75.000, 250.000));
-outputVariable.addTerm(Linear.create("TangentatNegFour", engine, 48.000, 128.000));
-outputVariable.addTerm(Linear.create("TangentatNegThree", engine, 27.000, 54.000));
-outputVariable.addTerm(Linear.create("TangentatNegTwo", engine, 12.000, 16.000));
-outputVariable.addTerm(Linear.create("TangentatNegOne", engine, 3.000, 2.000));
-outputVariable.addTerm(Linear.create("TangentatZero", engine, 0.000, 0.000));
-outputVariable.addTerm(Linear.create("TangentatOne", engine, 3.000, -2.000));
-outputVariable.addTerm(Linear.create("TangentatTwo", engine, 12.000, -16.000));
-outputVariable.addTerm(Linear.create("TangentatThree", engine, 27.000, -54.000));
-outputVariable.addTerm(Linear.create("TangentatFour", engine, 48.000, -128.000));
-outputVariable.addTerm(Linear.create("TangentatFive", engine, 75.000, -250.000));
-engine.addOutputVariable(outputVariable);
+OutputVariable ApproxXCubed = new OutputVariable();
+ApproxXCubed.setName("ApproxXCubed");
+ApproxXCubed.setDescription("");
+ApproxXCubed.setEnabled(true);
+ApproxXCubed.setRange(-5.000, 5.000);
+ApproxXCubed.setLockValueInRange(false);
+ApproxXCubed.setAggregation(null);
+ApproxXCubed.setDefuzzifier(new WeightedAverage("TakagiSugeno"));
+ApproxXCubed.setDefaultValue(Double.NaN);
+ApproxXCubed.setLockPreviousValue(false);
+ApproxXCubed.addTerm(Linear.create("TangentatNegFive", engine, 75.000, 250.000));
+ApproxXCubed.addTerm(Linear.create("TangentatNegFour", engine, 48.000, 128.000));
+ApproxXCubed.addTerm(Linear.create("TangentatNegThree", engine, 27.000, 54.000));
+ApproxXCubed.addTerm(Linear.create("TangentatNegTwo", engine, 12.000, 16.000));
+ApproxXCubed.addTerm(Linear.create("TangentatNegOne", engine, 3.000, 2.000));
+ApproxXCubed.addTerm(Linear.create("TangentatZero", engine, 0.000, 0.000));
+ApproxXCubed.addTerm(Linear.create("TangentatOne", engine, 3.000, -2.000));
+ApproxXCubed.addTerm(Linear.create("TangentatTwo", engine, 12.000, -16.000));
+ApproxXCubed.addTerm(Linear.create("TangentatThree", engine, 27.000, -54.000));
+ApproxXCubed.addTerm(Linear.create("TangentatFour", engine, 48.000, -128.000));
+ApproxXCubed.addTerm(Linear.create("TangentatFive", engine, 75.000, -250.000));
+engine.addOutputVariable(ApproxXCubed);
RuleBlock ruleBlock = new RuleBlock();
-ruleBlock.setEnabled(true);
ruleBlock.setName("");
+ruleBlock.setDescription("");
+ruleBlock.setEnabled(true);
ruleBlock.setConjunction(null);
ruleBlock.setDisjunction(null);
-ruleBlock.setActivation(null);
+ruleBlock.setImplication(null);
+ruleBlock.setActivation(new General());
ruleBlock.addRule(Rule.parse("if X is AboutNegFive then ApproxXCubed is TangentatNegFive", engine));
ruleBlock.addRule(Rule.parse("if X is AboutNegFour then ApproxXCubed is TangentatNegFour", engine));
ruleBlock.addRule(Rule.parse("if X is AboutNegThree then ApproxXCubed is TangentatNegThree", engine));
diff --git a/examples/takagi-sugeno/octave/cubic_approximator.pdf b/examples/takagi-sugeno/octave/cubic_approximator.pdf
new file mode 100644
index 0000000..62d12ee
--- /dev/null
+++ b/examples/takagi-sugeno/octave/cubic_approximator.pdf
Binary files differ
diff --git a/examples/takagi-sugeno/octave/heart_disease_risk.R b/examples/takagi-sugeno/octave/heart_disease_risk.R
new file mode 100644
index 0000000..6ea4240
--- /dev/null
+++ b/examples/takagi-sugeno/octave/heart_disease_risk.R
@@ -0,0 +1,84 @@
+#Code automatically generated with fuzzylite 6.0.
+
+library(ggplot2);
+
+engine.name = "heart_disease_risk"
+engine.fll = "Engine: heart_disease_risk
+InputVariable: LDLLevel
+ enabled: true
+ range: 0.000 300.000
+ lock-range: false
+ term: Low Trapezoid -1.000 0.000 90.000 110.000
+ term: LowBorderline Trapezoid 90.000 110.000 120.000 140.000
+ term: Borderline Trapezoid 120.000 140.000 150.000 170.000
+ term: HighBorderline Trapezoid 150.000 170.000 180.000 200.000
+ term: High Trapezoid 180.000 200.000 300.000 301.000
+InputVariable: HDLLevel
+ enabled: true
+ range: 0.000 100.000
+ lock-range: false
+ term: LowHDL Trapezoid -1.000 0.000 35.000 45.000
+ term: ModerateHDL Trapezoid 35.000 45.000 55.000 65.000
+ term: HighHDL Trapezoid 55.000 65.000 100.000 101.000
+OutputVariable: HeartDiseaseRisk
+ enabled: true
+ range: 0.000 10.000
+ lock-range: false
+ aggregation: none
+ defuzzifier: WeightedAverage TakagiSugeno
+ default: nan
+ lock-previous: false
+ term: NoRisk Constant 0.000
+ term: LowRisk Constant 2.500
+ term: MediumRisk Constant 5.000
+ term: HighRisk Constant 7.500
+ term: ExtremeRisk Constant 10.000
+RuleBlock:
+ enabled: true
+ conjunction: Minimum
+ disjunction: none
+ implication: none
+ activation: General
+ rule: if LDLLevel is Low and HDLLevel is LowHDL then HeartDiseaseRisk is MediumRisk
+ rule: if LDLLevel is Low and HDLLevel is ModerateHDL then HeartDiseaseRisk is LowRisk
+ rule: if LDLLevel is Low and HDLLevel is HighHDL then HeartDiseaseRisk is NoRisk
+ rule: if LDLLevel is LowBorderline and HDLLevel is LowHDL then HeartDiseaseRisk is MediumRisk
+ rule: if LDLLevel is LowBorderline and HDLLevel is ModerateHDL then HeartDiseaseRisk is LowRisk
+ rule: if LDLLevel is LowBorderline and HDLLevel is HighHDL then HeartDiseaseRisk is LowRisk
+ rule: if LDLLevel is Borderline and HDLLevel is LowHDL then HeartDiseaseRisk is HighRisk
+ rule: if LDLLevel is Borderline and HDLLevel is ModerateHDL then HeartDiseaseRisk is MediumRisk
+ rule: if LDLLevel is Borderline and HDLLevel is HighHDL then HeartDiseaseRisk is LowRisk
+ rule: if LDLLevel is HighBorderline and HDLLevel is LowHDL then HeartDiseaseRisk is HighRisk
+ rule: if LDLLevel is HighBorderline and HDLLevel is ModerateHDL then HeartDiseaseRisk is HighRisk
+ rule: if LDLLevel is HighBorderline and HDLLevel is HighHDL then HeartDiseaseRisk is MediumRisk
+ rule: if LDLLevel is High and HDLLevel is LowHDL then HeartDiseaseRisk is ExtremeRisk
+ rule: if LDLLevel is High and HDLLevel is ModerateHDL then HeartDiseaseRisk is HighRisk
+ rule: if LDLLevel is High and HDLLevel is HighHDL then HeartDiseaseRisk is MediumRisk"
+
+engine.fldFile = "heart_disease_risk.fld"
+if (require(data.table)) {
+ engine.df = data.table::fread(engine.fldFile, sep="auto", header="auto")
+} else {
+ engine.df = read.table(engine.fldFile, header=TRUE)
+}
+
+engine.plot.i1i2_o1 = ggplot(engine.df, aes(LDLLevel, HDLLevel)) +
+ geom_tile(aes(fill=HeartDiseaseRisk)) +
+ scale_fill_gradient(low="yellow", high="red") +
+ stat_contour(aes(x=LDLLevel, y=HDLLevel, z=HeartDiseaseRisk), color="black") +
+ ggtitle("(LDLLevel, HDLLevel) = HeartDiseaseRisk")
+
+engine.plot.i2i1_o1 = ggplot(engine.df, aes(HDLLevel, LDLLevel)) +
+ geom_tile(aes(fill=HeartDiseaseRisk)) +
+ scale_fill_gradient(low="yellow", high="red") +
+ stat_contour(aes(x=HDLLevel, y=LDLLevel, z=HeartDiseaseRisk), color="black") +
+ ggtitle("(HDLLevel, LDLLevel) = HeartDiseaseRisk")
+
+if (require(gridExtra)) {
+ engine.plots = arrangeGrob(engine.plot.i1i2_o1, engine.plot.i2i1_o1, ncol=2, top=engine.name)
+ ggsave(paste0(engine.name, ".pdf"), engine.plots)
+ if (require(grid)) {
+ grid.newpage()
+ grid.draw(engine.plots)
+ }
+}
diff --git a/examples/takagi-sugeno/octave/heart_disease_risk.cpp b/examples/takagi-sugeno/octave/heart_disease_risk.cpp
index 397b303..12e7f72 100644
--- a/examples/takagi-sugeno/octave/heart_disease_risk.cpp
+++ b/examples/takagi-sugeno/octave/heart_disease_risk.cpp
@@ -1,68 +1,78 @@
#include <fl/Headers.h>
int main(int argc, char** argv){
+//Code automatically generated with fuzzylite 6.0.
+
using namespace fl;
Engine* engine = new Engine;
-engine->setName("Heart-Disease-Risk");
+engine->setName("heart_disease_risk");
+engine->setDescription("");
-InputVariable* inputVariable1 = new InputVariable;
-inputVariable1->setEnabled(true);
-inputVariable1->setName("LDLLevel");
-inputVariable1->setRange(0.000, 300.000);
-inputVariable1->addTerm(new Trapezoid("Low", -1.000, 0.000, 90.000, 110.000));
-inputVariable1->addTerm(new Trapezoid("LowBorderline", 90.000, 110.000, 120.000, 140.000));
-inputVariable1->addTerm(new Trapezoid("Borderline", 120.000, 140.000, 150.000, 170.000));
-inputVariable1->addTerm(new Trapezoid("HighBorderline", 150.000, 170.000, 180.000, 200.000));
-inputVariable1->addTerm(new Trapezoid("High", 180.000, 200.000, 300.000, 301.000));
-engine->addInputVariable(inputVariable1);
+InputVariable* LDLLevel = new InputVariable;
+LDLLevel->setName("LDLLevel");
+LDLLevel->setDescription("");
+LDLLevel->setEnabled(true);
+LDLLevel->setRange(0.000, 300.000);
+LDLLevel->setLockValueInRange(false);
+LDLLevel->addTerm(new Trapezoid("Low", -1.000, 0.000, 90.000, 110.000));
+LDLLevel->addTerm(new Trapezoid("LowBorderline", 90.000, 110.000, 120.000, 140.000));
+LDLLevel->addTerm(new Trapezoid("Borderline", 120.000, 140.000, 150.000, 170.000));
+LDLLevel->addTerm(new Trapezoid("HighBorderline", 150.000, 170.000, 180.000, 200.000));
+LDLLevel->addTerm(new Trapezoid("High", 180.000, 200.000, 300.000, 301.000));
+engine->addInputVariable(LDLLevel);
-InputVariable* inputVariable2 = new InputVariable;
-inputVariable2->setEnabled(true);
-inputVariable2->setName("HDLLevel");
-inputVariable2->setRange(0.000, 100.000);
-inputVariable2->addTerm(new Trapezoid("LowHDL", -1.000, 0.000, 35.000, 45.000));
-inputVariable2->addTerm(new Trapezoid("ModerateHDL", 35.000, 45.000, 55.000, 65.000));
-inputVariable2->addTerm(new Trapezoid("HighHDL", 55.000, 65.000, 100.000, 101.000));
-engine->addInputVariable(inputVariable2);
+InputVariable* HDLLevel = new InputVariable;
+HDLLevel->setName("HDLLevel");
+HDLLevel->setDescription("");
+HDLLevel->setEnabled(true);
+HDLLevel->setRange(0.000, 100.000);
+HDLLevel->setLockValueInRange(false);
+HDLLevel->addTerm(new Trapezoid("LowHDL", -1.000, 0.000, 35.000, 45.000));
+HDLLevel->addTerm(new Trapezoid("ModerateHDL", 35.000, 45.000, 55.000, 65.000));
+HDLLevel->addTerm(new Trapezoid("HighHDL", 55.000, 65.000, 100.000, 101.000));
+engine->addInputVariable(HDLLevel);
-OutputVariable* outputVariable = new OutputVariable;
-outputVariable->setEnabled(true);
-outputVariable->setName("HeartDiseaseRisk");
-outputVariable->setRange(0.000, 10.000);
-outputVariable->fuzzyOutput()->setAccumulation(fl::null);
-outputVariable->setDefuzzifier(new WeightedAverage("TakagiSugeno"));
-outputVariable->setDefaultValue(fl::nan);
-outputVariable->setLockPreviousOutputValue(false);
-outputVariable->setLockOutputValueInRange(false);
-outputVariable->addTerm(new Constant("NoRisk", 0.000));
-outputVariable->addTerm(new Constant("LowRisk", 2.500));
-outputVariable->addTerm(new Constant("MediumRisk", 5.000));
-outputVariable->addTerm(new Constant("HighRisk", 7.500));
-outputVariable->addTerm(new Constant("ExtremeRisk", 10.000));
-engine->addOutputVariable(outputVariable);
+OutputVariable* HeartDiseaseRisk = new OutputVariable;
+HeartDiseaseRisk->setName("HeartDiseaseRisk");
+HeartDiseaseRisk->setDescription("");
+HeartDiseaseRisk->setEnabled(true);
+HeartDiseaseRisk->setRange(0.000, 10.000);
+HeartDiseaseRisk->setLockValueInRange(false);
+HeartDiseaseRisk->setAggregation(fl::null);
+HeartDiseaseRisk->setDefuzzifier(new WeightedAverage("TakagiSugeno"));
+HeartDiseaseRisk->setDefaultValue(fl::nan);
+HeartDiseaseRisk->setLockPreviousValue(false);
+HeartDiseaseRisk->addTerm(new Constant("NoRisk", 0.000));
+HeartDiseaseRisk->addTerm(new Constant("LowRisk", 2.500));
+HeartDiseaseRisk->addTerm(new Constant("MediumRisk", 5.000));
+HeartDiseaseRisk->addTerm(new Constant("HighRisk", 7.500));
+HeartDiseaseRisk->addTerm(new Constant("ExtremeRisk", 10.000));
+engine->addOutputVariable(HeartDiseaseRisk);
RuleBlock* ruleBlock = new RuleBlock;
-ruleBlock->setEnabled(true);
ruleBlock->setName("");
+ruleBlock->setDescription("");
+ruleBlock->setEnabled(true);
ruleBlock->setConjunction(new Minimum);
ruleBlock->setDisjunction(fl::null);
-ruleBlock->setActivation(fl::null);
-ruleBlock->addRule(fl::Rule::parse("if LDLLevel is Low and HDLLevel is LowHDL then HeartDiseaseRisk is MediumRisk", engine));
-ruleBlock->addRule(fl::Rule::parse("if LDLLevel is Low and HDLLevel is ModerateHDL then HeartDiseaseRisk is LowRisk", engine));
-ruleBlock->addRule(fl::Rule::parse("if LDLLevel is Low and HDLLevel is HighHDL then HeartDiseaseRisk is NoRisk", engine));
-ruleBlock->addRule(fl::Rule::parse("if LDLLevel is LowBorderline and HDLLevel is LowHDL then HeartDiseaseRisk is MediumRisk", engine));
-ruleBlock->addRule(fl::Rule::parse("if LDLLevel is LowBorderline and HDLLevel is ModerateHDL then HeartDiseaseRisk is LowRisk", engine));
-ruleBlock->addRule(fl::Rule::parse("if LDLLevel is LowBorderline and HDLLevel is HighHDL then HeartDiseaseRisk is LowRisk", engine));
-ruleBlock->addRule(fl::Rule::parse("if LDLLevel is Borderline and HDLLevel is LowHDL then HeartDiseaseRisk is HighRisk", engine));
-ruleBlock->addRule(fl::Rule::parse("if LDLLevel is Borderline and HDLLevel is ModerateHDL then HeartDiseaseRisk is MediumRisk", engine));
-ruleBlock->addRule(fl::Rule::parse("if LDLLevel is Borderline and HDLLevel is HighHDL then HeartDiseaseRisk is LowRisk", engine));
-ruleBlock->addRule(fl::Rule::parse("if LDLLevel is HighBorderline and HDLLevel is LowHDL then HeartDiseaseRisk is HighRisk", engine));
-ruleBlock->addRule(fl::Rule::parse("if LDLLevel is HighBorderline and HDLLevel is ModerateHDL then HeartDiseaseRisk is HighRisk", engine));
-ruleBlock->addRule(fl::Rule::parse("if LDLLevel is HighBorderline and HDLLevel is HighHDL then HeartDiseaseRisk is MediumRisk", engine));
-ruleBlock->addRule(fl::Rule::parse("if LDLLevel is High and HDLLevel is LowHDL then HeartDiseaseRisk is ExtremeRisk", engine));
-ruleBlock->addRule(fl::Rule::parse("if LDLLevel is High and HDLLevel is ModerateHDL then HeartDiseaseRisk is HighRisk", engine));
-ruleBlock->addRule(fl::Rule::parse("if LDLLevel is High and HDLLevel is HighHDL then HeartDiseaseRisk is MediumRisk", engine));
+ruleBlock->setImplication(fl::null);
+ruleBlock->setActivation(new General);
+ruleBlock->addRule(Rule::parse("if LDLLevel is Low and HDLLevel is LowHDL then HeartDiseaseRisk is MediumRisk", engine));
+ruleBlock->addRule(Rule::parse("if LDLLevel is Low and HDLLevel is ModerateHDL then HeartDiseaseRisk is LowRisk", engine));
+ruleBlock->addRule(Rule::parse("if LDLLevel is Low and HDLLevel is HighHDL then HeartDiseaseRisk is NoRisk", engine));
+ruleBlock->addRule(Rule::parse("if LDLLevel is LowBorderline and HDLLevel is LowHDL then HeartDiseaseRisk is MediumRisk", engine));
+ruleBlock->addRule(Rule::parse("if LDLLevel is LowBorderline and HDLLevel is ModerateHDL then HeartDiseaseRisk is LowRisk", engine));
+ruleBlock->addRule(Rule::parse("if LDLLevel is LowBorderline and HDLLevel is HighHDL then HeartDiseaseRisk is LowRisk", engine));
+ruleBlock->addRule(Rule::parse("if LDLLevel is Borderline and HDLLevel is LowHDL then HeartDiseaseRisk is HighRisk", engine));
+ruleBlock->addRule(Rule::parse("if LDLLevel is Borderline and HDLLevel is ModerateHDL then HeartDiseaseRisk is MediumRisk", engine));
+ruleBlock->addRule(Rule::parse("if LDLLevel is Borderline and HDLLevel is HighHDL then HeartDiseaseRisk is LowRisk", engine));
+ruleBlock->addRule(Rule::parse("if LDLLevel is HighBorderline and HDLLevel is LowHDL then HeartDiseaseRisk is HighRisk", engine));
+ruleBlock->addRule(Rule::parse("if LDLLevel is HighBorderline and HDLLevel is ModerateHDL then HeartDiseaseRisk is HighRisk", engine));
+ruleBlock->addRule(Rule::parse("if LDLLevel is HighBorderline and HDLLevel is HighHDL then HeartDiseaseRisk is MediumRisk", engine));
+ruleBlock->addRule(Rule::parse("if LDLLevel is High and HDLLevel is LowHDL then HeartDiseaseRisk is ExtremeRisk", engine));
+ruleBlock->addRule(Rule::parse("if LDLLevel is High and HDLLevel is ModerateHDL then HeartDiseaseRisk is HighRisk", engine));
+ruleBlock->addRule(Rule::parse("if LDLLevel is High and HDLLevel is HighHDL then HeartDiseaseRisk is MediumRisk", engine));
engine->addRuleBlock(ruleBlock);
diff --git a/examples/takagi-sugeno/octave/heart_disease_risk.fcl b/examples/takagi-sugeno/octave/heart_disease_risk.fcl
index 9629a47..4e09d59 100644
--- a/examples/takagi-sugeno/octave/heart_disease_risk.fcl
+++ b/examples/takagi-sugeno/octave/heart_disease_risk.fcl
@@ -1,4 +1,6 @@
-FUNCTION_BLOCK Heart-Disease-Risk
+//Code automatically generated with fuzzylite 6.0.
+
+FUNCTION_BLOCK heart_disease_risk
VAR_INPUT
LDLLevel: REAL;
diff --git a/examples/takagi-sugeno/octave/heart_disease_risk.fis b/examples/takagi-sugeno/octave/heart_disease_risk.fis
index 11686f1..485d8d9 100644
--- a/examples/takagi-sugeno/octave/heart_disease_risk.fis
+++ b/examples/takagi-sugeno/octave/heart_disease_risk.fis
@@ -1,13 +1,16 @@
+#Code automatically generated with fuzzylite 6.0.
+
[System]
-Name='Heart-Disease-Risk'
+Name='heart_disease_risk'
Type='sugeno'
+Version=6.0
NumInputs=2
NumOutputs=1
NumRules=15
AndMethod='min'
-OrMethod=''
-ImpMethod=''
-AggMethod=''
+OrMethod='max'
+ImpMethod='min'
+AggMethod='max'
DefuzzMethod='wtaver'
[Input1]
diff --git a/examples/takagi-sugeno/octave/heart_disease_risk.fld b/examples/takagi-sugeno/octave/heart_disease_risk.fld
index afc1fe0..7b9a00e 100644
--- a/examples/takagi-sugeno/octave/heart_disease_risk.fld
+++ b/examples/takagi-sugeno/octave/heart_disease_risk.fld
@@ -1,1026 +1,1025 @@
-#@Engine: Heart-Disease-Risk;
-#@InputVariable: LDLLevel; @InputVariable: HDLLevel; @OutputVariable: HeartDiseaseRisk;
-0.00000000 0.00000000 5.00000000
-0.00000000 3.22580645 5.00000000
-0.00000000 6.45161290 5.00000000
-0.00000000 9.67741935 5.00000000
-0.00000000 12.90322581 5.00000000
-0.00000000 16.12903226 5.00000000
-0.00000000 19.35483871 5.00000000
-0.00000000 22.58064516 5.00000000
-0.00000000 25.80645161 5.00000000
-0.00000000 29.03225806 5.00000000
-0.00000000 32.25806452 5.00000000
-0.00000000 35.48387097 4.87903226
-0.00000000 38.70967742 4.07258065
-0.00000000 41.93548387 3.26612903
-0.00000000 45.16129032 2.50000000
-0.00000000 48.38709677 2.50000000
-0.00000000 51.61290323 2.50000000
-0.00000000 54.83870968 2.50000000
-0.00000000 58.06451613 1.73387097
-0.00000000 61.29032258 0.92741935
-0.00000000 64.51612903 0.12096774
-0.00000000 67.74193548 0.00000000
-0.00000000 70.96774194 0.00000000
-0.00000000 74.19354839 0.00000000
-0.00000000 77.41935484 0.00000000
-0.00000000 80.64516129 0.00000000
-0.00000000 83.87096774 0.00000000
-0.00000000 87.09677419 0.00000000
-0.00000000 90.32258065 0.00000000
-0.00000000 93.54838710 0.00000000
-0.00000000 96.77419355 0.00000000
-0.00000000 100.00000000 0.00000000
-9.67741935 0.00000000 5.00000000
-9.67741935 3.22580645 5.00000000
-9.67741935 6.45161290 5.00000000
-9.67741935 9.67741935 5.00000000
-9.67741935 12.90322581 5.00000000
-9.67741935 16.12903226 5.00000000
-9.67741935 19.35483871 5.00000000
-9.67741935 22.58064516 5.00000000
-9.67741935 25.80645161 5.00000000
-9.67741935 29.03225806 5.00000000
-9.67741935 32.25806452 5.00000000
-9.67741935 35.48387097 4.87903226
-9.67741935 38.70967742 4.07258065
-9.67741935 41.93548387 3.26612903
-9.67741935 45.16129032 2.50000000
-9.67741935 48.38709677 2.50000000
-9.67741935 51.61290323 2.50000000
-9.67741935 54.83870968 2.50000000
-9.67741935 58.06451613 1.73387097
-9.67741935 61.29032258 0.92741935
-9.67741935 64.51612903 0.12096774
-9.67741935 67.74193548 0.00000000
-9.67741935 70.96774194 0.00000000
-9.67741935 74.19354839 0.00000000
-9.67741935 77.41935484 0.00000000
-9.67741935 80.64516129 0.00000000
-9.67741935 83.87096774 0.00000000
-9.67741935 87.09677419 0.00000000
-9.67741935 90.32258065 0.00000000
-9.67741935 93.54838710 0.00000000
-9.67741935 96.77419355 0.00000000
-9.67741935 100.00000000 0.00000000
-19.35483871 0.00000000 5.00000000
-19.35483871 3.22580645 5.00000000
-19.35483871 6.45161290 5.00000000
-19.35483871 9.67741935 5.00000000
-19.35483871 12.90322581 5.00000000
-19.35483871 16.12903226 5.00000000
-19.35483871 19.35483871 5.00000000
-19.35483871 22.58064516 5.00000000
-19.35483871 25.80645161 5.00000000
-19.35483871 29.03225806 5.00000000
-19.35483871 32.25806452 5.00000000
-19.35483871 35.48387097 4.87903226
-19.35483871 38.70967742 4.07258065
-19.35483871 41.93548387 3.26612903
-19.35483871 45.16129032 2.50000000
-19.35483871 48.38709677 2.50000000
-19.35483871 51.61290323 2.50000000
-19.35483871 54.83870968 2.50000000
-19.35483871 58.06451613 1.73387097
-19.35483871 61.29032258 0.92741935
-19.35483871 64.51612903 0.12096774
-19.35483871 67.74193548 0.00000000
-19.35483871 70.96774194 0.00000000
-19.35483871 74.19354839 0.00000000
-19.35483871 77.41935484 0.00000000
-19.35483871 80.64516129 0.00000000
-19.35483871 83.87096774 0.00000000
-19.35483871 87.09677419 0.00000000
-19.35483871 90.32258065 0.00000000
-19.35483871 93.54838710 0.00000000
-19.35483871 96.77419355 0.00000000
-19.35483871 100.00000000 0.00000000
-29.03225806 0.00000000 5.00000000
-29.03225806 3.22580645 5.00000000
-29.03225806 6.45161290 5.00000000
-29.03225806 9.67741935 5.00000000
-29.03225806 12.90322581 5.00000000
-29.03225806 16.12903226 5.00000000
-29.03225806 19.35483871 5.00000000
-29.03225806 22.58064516 5.00000000
-29.03225806 25.80645161 5.00000000
-29.03225806 29.03225806 5.00000000
-29.03225806 32.25806452 5.00000000
-29.03225806 35.48387097 4.87903226
-29.03225806 38.70967742 4.07258065
-29.03225806 41.93548387 3.26612903
-29.03225806 45.16129032 2.50000000
-29.03225806 48.38709677 2.50000000
-29.03225806 51.61290323 2.50000000
-29.03225806 54.83870968 2.50000000
-29.03225806 58.06451613 1.73387097
-29.03225806 61.29032258 0.92741935
-29.03225806 64.51612903 0.12096774
-29.03225806 67.74193548 0.00000000
-29.03225806 70.96774194 0.00000000
-29.03225806 74.19354839 0.00000000
-29.03225806 77.41935484 0.00000000
-29.03225806 80.64516129 0.00000000
-29.03225806 83.87096774 0.00000000
-29.03225806 87.09677419 0.00000000
-29.03225806 90.32258065 0.00000000
-29.03225806 93.54838710 0.00000000
-29.03225806 96.77419355 0.00000000
-29.03225806 100.00000000 0.00000000
-38.70967742 0.00000000 5.00000000
-38.70967742 3.22580645 5.00000000
-38.70967742 6.45161290 5.00000000
-38.70967742 9.67741935 5.00000000
-38.70967742 12.90322581 5.00000000
-38.70967742 16.12903226 5.00000000
-38.70967742 19.35483871 5.00000000
-38.70967742 22.58064516 5.00000000
-38.70967742 25.80645161 5.00000000
-38.70967742 29.03225806 5.00000000
-38.70967742 32.25806452 5.00000000
-38.70967742 35.48387097 4.87903226
-38.70967742 38.70967742 4.07258065
-38.70967742 41.93548387 3.26612903
-38.70967742 45.16129032 2.50000000
-38.70967742 48.38709677 2.50000000
-38.70967742 51.61290323 2.50000000
-38.70967742 54.83870968 2.50000000
-38.70967742 58.06451613 1.73387097
-38.70967742 61.29032258 0.92741935
-38.70967742 64.51612903 0.12096774
-38.70967742 67.74193548 0.00000000
-38.70967742 70.96774194 0.00000000
-38.70967742 74.19354839 0.00000000
-38.70967742 77.41935484 0.00000000
-38.70967742 80.64516129 0.00000000
-38.70967742 83.87096774 0.00000000
-38.70967742 87.09677419 0.00000000
-38.70967742 90.32258065 0.00000000
-38.70967742 93.54838710 0.00000000
-38.70967742 96.77419355 0.00000000
-38.70967742 100.00000000 0.00000000
-48.38709677 0.00000000 5.00000000
-48.38709677 3.22580645 5.00000000
-48.38709677 6.45161290 5.00000000
-48.38709677 9.67741935 5.00000000
-48.38709677 12.90322581 5.00000000
-48.38709677 16.12903226 5.00000000
-48.38709677 19.35483871 5.00000000
-48.38709677 22.58064516 5.00000000
-48.38709677 25.80645161 5.00000000
-48.38709677 29.03225806 5.00000000
-48.38709677 32.25806452 5.00000000
-48.38709677 35.48387097 4.87903226
-48.38709677 38.70967742 4.07258065
-48.38709677 41.93548387 3.26612903
-48.38709677 45.16129032 2.50000000
-48.38709677 48.38709677 2.50000000
-48.38709677 51.61290323 2.50000000
-48.38709677 54.83870968 2.50000000
-48.38709677 58.06451613 1.73387097
-48.38709677 61.29032258 0.92741935
-48.38709677 64.51612903 0.12096774
-48.38709677 67.74193548 0.00000000
-48.38709677 70.96774194 0.00000000
-48.38709677 74.19354839 0.00000000
-48.38709677 77.41935484 0.00000000
-48.38709677 80.64516129 0.00000000
-48.38709677 83.87096774 0.00000000
-48.38709677 87.09677419 0.00000000
-48.38709677 90.32258065 0.00000000
-48.38709677 93.54838710 0.00000000
-48.38709677 96.77419355 0.00000000
-48.38709677 100.00000000 0.00000000
-58.06451613 0.00000000 5.00000000
-58.06451613 3.22580645 5.00000000
-58.06451613 6.45161290 5.00000000
-58.06451613 9.67741935 5.00000000
-58.06451613 12.90322581 5.00000000
-58.06451613 16.12903226 5.00000000
-58.06451613 19.35483871 5.00000000
-58.06451613 22.58064516 5.00000000
-58.06451613 25.80645161 5.00000000
-58.06451613 29.03225806 5.00000000
-58.06451613 32.25806452 5.00000000
-58.06451613 35.48387097 4.87903226
-58.06451613 38.70967742 4.07258065
-58.06451613 41.93548387 3.26612903
-58.06451613 45.16129032 2.50000000
-58.06451613 48.38709677 2.50000000
-58.06451613 51.61290323 2.50000000
-58.06451613 54.83870968 2.50000000
-58.06451613 58.06451613 1.73387097
-58.06451613 61.29032258 0.92741935
-58.06451613 64.51612903 0.12096774
-58.06451613 67.74193548 0.00000000
-58.06451613 70.96774194 0.00000000
-58.06451613 74.19354839 0.00000000
-58.06451613 77.41935484 0.00000000
-58.06451613 80.64516129 0.00000000
-58.06451613 83.87096774 0.00000000
-58.06451613 87.09677419 0.00000000
-58.06451613 90.32258065 0.00000000
-58.06451613 93.54838710 0.00000000
-58.06451613 96.77419355 0.00000000
-58.06451613 100.00000000 0.00000000
-67.74193548 0.00000000 5.00000000
-67.74193548 3.22580645 5.00000000
-67.74193548 6.45161290 5.00000000
-67.74193548 9.67741935 5.00000000
-67.74193548 12.90322581 5.00000000
-67.74193548 16.12903226 5.00000000
-67.74193548 19.35483871 5.00000000
-67.74193548 22.58064516 5.00000000
-67.74193548 25.80645161 5.00000000
-67.74193548 29.03225806 5.00000000
-67.74193548 32.25806452 5.00000000
-67.74193548 35.48387097 4.87903226
-67.74193548 38.70967742 4.07258065
-67.74193548 41.93548387 3.26612903
-67.74193548 45.16129032 2.50000000
-67.74193548 48.38709677 2.50000000
-67.74193548 51.61290323 2.50000000
-67.74193548 54.83870968 2.50000000
-67.74193548 58.06451613 1.73387097
-67.74193548 61.29032258 0.92741935
-67.74193548 64.51612903 0.12096774
-67.74193548 67.74193548 0.00000000
-67.74193548 70.96774194 0.00000000
-67.74193548 74.19354839 0.00000000
-67.74193548 77.41935484 0.00000000
-67.74193548 80.64516129 0.00000000
-67.74193548 83.87096774 0.00000000
-67.74193548 87.09677419 0.00000000
-67.74193548 90.32258065 0.00000000
-67.74193548 93.54838710 0.00000000
-67.74193548 96.77419355 0.00000000
-67.74193548 100.00000000 0.00000000
-77.41935484 0.00000000 5.00000000
-77.41935484 3.22580645 5.00000000
-77.41935484 6.45161290 5.00000000
-77.41935484 9.67741935 5.00000000
-77.41935484 12.90322581 5.00000000
-77.41935484 16.12903226 5.00000000
-77.41935484 19.35483871 5.00000000
-77.41935484 22.58064516 5.00000000
-77.41935484 25.80645161 5.00000000
-77.41935484 29.03225806 5.00000000
-77.41935484 32.25806452 5.00000000
-77.41935484 35.48387097 4.87903226
-77.41935484 38.70967742 4.07258065
-77.41935484 41.93548387 3.26612903
-77.41935484 45.16129032 2.50000000
-77.41935484 48.38709677 2.50000000
-77.41935484 51.61290323 2.50000000
-77.41935484 54.83870968 2.50000000
-77.41935484 58.06451613 1.73387097
-77.41935484 61.29032258 0.92741935
-77.41935484 64.51612903 0.12096774
-77.41935484 67.74193548 0.00000000
-77.41935484 70.96774194 0.00000000
-77.41935484 74.19354839 0.00000000
-77.41935484 77.41935484 0.00000000
-77.41935484 80.64516129 0.00000000
-77.41935484 83.87096774 0.00000000
-77.41935484 87.09677419 0.00000000
-77.41935484 90.32258065 0.00000000
-77.41935484 93.54838710 0.00000000
-77.41935484 96.77419355 0.00000000
-77.41935484 100.00000000 0.00000000
-87.09677419 0.00000000 5.00000000
-87.09677419 3.22580645 5.00000000
-87.09677419 6.45161290 5.00000000
-87.09677419 9.67741935 5.00000000
-87.09677419 12.90322581 5.00000000
-87.09677419 16.12903226 5.00000000
-87.09677419 19.35483871 5.00000000
-87.09677419 22.58064516 5.00000000
-87.09677419 25.80645161 5.00000000
-87.09677419 29.03225806 5.00000000
-87.09677419 32.25806452 5.00000000
-87.09677419 35.48387097 4.87903226
-87.09677419 38.70967742 4.07258065
-87.09677419 41.93548387 3.26612903
-87.09677419 45.16129032 2.50000000
-87.09677419 48.38709677 2.50000000
-87.09677419 51.61290323 2.50000000
-87.09677419 54.83870968 2.50000000
-87.09677419 58.06451613 1.73387097
-87.09677419 61.29032258 0.92741935
-87.09677419 64.51612903 0.12096774
-87.09677419 67.74193548 0.00000000
-87.09677419 70.96774194 0.00000000
-87.09677419 74.19354839 0.00000000
-87.09677419 77.41935484 0.00000000
-87.09677419 80.64516129 0.00000000
-87.09677419 83.87096774 0.00000000
-87.09677419 87.09677419 0.00000000
-87.09677419 90.32258065 0.00000000
-87.09677419 93.54838710 0.00000000
-87.09677419 96.77419355 0.00000000
-87.09677419 100.00000000 0.00000000
-96.77419355 0.00000000 5.00000000
-96.77419355 3.22580645 5.00000000
-96.77419355 6.45161290 5.00000000
-96.77419355 9.67741935 5.00000000
-96.77419355 12.90322581 5.00000000
-96.77419355 16.12903226 5.00000000
-96.77419355 19.35483871 5.00000000
-96.77419355 22.58064516 5.00000000
-96.77419355 25.80645161 5.00000000
-96.77419355 29.03225806 5.00000000
-96.77419355 32.25806452 5.00000000
-96.77419355 35.48387097 4.77941176
-96.77419355 38.70967742 3.94230769
-96.77419355 41.93548387 3.45000000
-96.77419355 45.16129032 2.50000000
-96.77419355 48.38709677 2.50000000
-96.77419355 51.61290323 2.50000000
-96.77419355 54.83870968 2.50000000
-96.77419355 58.06451613 2.02500000
-96.77419355 61.29032258 1.56250000
-96.77419355 64.51612903 0.99264706
-96.77419355 67.74193548 0.84677419
-96.77419355 70.96774194 0.84677419
-96.77419355 74.19354839 0.84677419
-96.77419355 77.41935484 0.84677419
-96.77419355 80.64516129 0.84677419
-96.77419355 83.87096774 0.84677419
-96.77419355 87.09677419 0.84677419
-96.77419355 90.32258065 0.84677419
-96.77419355 93.54838710 0.84677419
-96.77419355 96.77419355 0.84677419
-96.77419355 100.00000000 0.84677419
-106.45161290 0.00000000 5.00000000
-106.45161290 3.22580645 5.00000000
-106.45161290 6.45161290 5.00000000
-106.45161290 9.67741935 5.00000000
-106.45161290 12.90322581 5.00000000
-106.45161290 16.12903226 5.00000000
-106.45161290 19.35483871 5.00000000
-106.45161290 22.58064516 5.00000000
-106.45161290 25.80645161 5.00000000
-106.45161290 29.03225806 5.00000000
-106.45161290 32.25806452 5.00000000
-106.45161290 35.48387097 4.77941176
-106.45161290 38.70967742 3.98809524
-106.45161290 41.93548387 3.39285714
-106.45161290 45.16129032 2.50000000
-106.45161290 48.38709677 2.50000000
-106.45161290 51.61290323 2.50000000
-106.45161290 54.83870968 2.50000000
-106.45161290 58.06451613 2.17261905
-106.45161290 61.29032258 2.17261905
-106.45161290 64.51612903 2.09558824
-106.45161290 67.74193548 2.05645161
-106.45161290 70.96774194 2.05645161
-106.45161290 74.19354839 2.05645161
-106.45161290 77.41935484 2.05645161
-106.45161290 80.64516129 2.05645161
-106.45161290 83.87096774 2.05645161
-106.45161290 87.09677419 2.05645161
-106.45161290 90.32258065 2.05645161
-106.45161290 93.54838710 2.05645161
-106.45161290 96.77419355 2.05645161
-106.45161290 100.00000000 2.05645161
-116.12903226 0.00000000 5.00000000
-116.12903226 3.22580645 5.00000000
-116.12903226 6.45161290 5.00000000
-116.12903226 9.67741935 5.00000000
-116.12903226 12.90322581 5.00000000
-116.12903226 16.12903226 5.00000000
-116.12903226 19.35483871 5.00000000
-116.12903226 22.58064516 5.00000000
-116.12903226 25.80645161 5.00000000
-116.12903226 29.03225806 5.00000000
-116.12903226 32.25806452 5.00000000
-116.12903226 35.48387097 4.87903226
-116.12903226 38.70967742 4.07258065
-116.12903226 41.93548387 3.26612903
-116.12903226 45.16129032 2.50000000
-116.12903226 48.38709677 2.50000000
-116.12903226 51.61290323 2.50000000
-116.12903226 54.83870968 2.50000000
-116.12903226 58.06451613 2.50000000
-116.12903226 61.29032258 2.50000000
-116.12903226 64.51612903 2.50000000
-116.12903226 67.74193548 2.50000000
-116.12903226 70.96774194 2.50000000
-116.12903226 74.19354839 2.50000000
-116.12903226 77.41935484 2.50000000
-116.12903226 80.64516129 2.50000000
-116.12903226 83.87096774 2.50000000
-116.12903226 87.09677419 2.50000000
-116.12903226 90.32258065 2.50000000
-116.12903226 93.54838710 2.50000000
-116.12903226 96.77419355 2.50000000
-116.12903226 100.00000000 2.50000000
-125.80645161 0.00000000 5.72580645
-125.80645161 3.22580645 5.72580645
-125.80645161 6.45161290 5.72580645
-125.80645161 9.67741935 5.72580645
-125.80645161 12.90322581 5.72580645
-125.80645161 16.12903226 5.72580645
-125.80645161 19.35483871 5.72580645
-125.80645161 22.58064516 5.72580645
-125.80645161 25.80645161 5.72580645
-125.80645161 29.03225806 5.72580645
-125.80645161 32.25806452 5.72580645
-125.80645161 35.48387097 5.55147059
-125.80645161 38.70967742 4.87244898
-125.80645161 41.93548387 4.36224490
-125.80645161 45.16129032 3.22580645
-125.80645161 48.38709677 3.22580645
-125.80645161 51.61290323 3.22580645
-125.80645161 54.83870968 3.22580645
-125.80645161 58.06451613 2.95918367
-125.80645161 61.29032258 2.95918367
-125.80645161 64.51612903 2.61029412
-125.80645161 67.74193548 2.50000000
-125.80645161 70.96774194 2.50000000
-125.80645161 74.19354839 2.50000000
-125.80645161 77.41935484 2.50000000
-125.80645161 80.64516129 2.50000000
-125.80645161 83.87096774 2.50000000
-125.80645161 87.09677419 2.50000000
-125.80645161 90.32258065 2.50000000
-125.80645161 93.54838710 2.50000000
-125.80645161 96.77419355 2.50000000
-125.80645161 100.00000000 2.50000000
-135.48387097 0.00000000 6.93548387
-135.48387097 3.22580645 6.93548387
-135.48387097 6.45161290 6.93548387
-135.48387097 9.67741935 6.93548387
-135.48387097 12.90322581 6.93548387
-135.48387097 16.12903226 6.93548387
-135.48387097 19.35483871 6.93548387
-135.48387097 22.58064516 6.93548387
-135.48387097 25.80645161 6.93548387
-135.48387097 29.03225806 6.93548387
-135.48387097 32.25806452 6.93548387
-135.48387097 35.48387097 6.65441176
-135.48387097 38.70967742 5.69444444
-135.48387097 41.93548387 5.13888889
-135.48387097 45.16129032 4.43548387
-135.48387097 48.38709677 4.43548387
-135.48387097 51.61290323 4.43548387
-135.48387097 54.83870968 4.43548387
-135.48387097 58.06451613 3.69444444
-135.48387097 61.29032258 3.13888889
-135.48387097 64.51612903 2.61029412
-135.48387097 67.74193548 2.50000000
-135.48387097 70.96774194 2.50000000
-135.48387097 74.19354839 2.50000000
-135.48387097 77.41935484 2.50000000
-135.48387097 80.64516129 2.50000000
-135.48387097 83.87096774 2.50000000
-135.48387097 87.09677419 2.50000000
-135.48387097 90.32258065 2.50000000
-135.48387097 93.54838710 2.50000000
-135.48387097 96.77419355 2.50000000
-135.48387097 100.00000000 2.50000000
-145.16129032 0.00000000 7.50000000
-145.16129032 3.22580645 7.50000000
-145.16129032 6.45161290 7.50000000
-145.16129032 9.67741935 7.50000000
-145.16129032 12.90322581 7.50000000
-145.16129032 16.12903226 7.50000000
-145.16129032 19.35483871 7.50000000
-145.16129032 22.58064516 7.50000000
-145.16129032 25.80645161 7.50000000
-145.16129032 29.03225806 7.50000000
-145.16129032 32.25806452 7.50000000
-145.16129032 35.48387097 7.37903226
-145.16129032 38.70967742 6.57258065
-145.16129032 41.93548387 5.76612903
-145.16129032 45.16129032 5.00000000
-145.16129032 48.38709677 5.00000000
-145.16129032 51.61290323 5.00000000
-145.16129032 54.83870968 5.00000000
-145.16129032 58.06451613 4.23387097
-145.16129032 61.29032258 3.42741935
-145.16129032 64.51612903 2.62096774
-145.16129032 67.74193548 2.50000000
-145.16129032 70.96774194 2.50000000
-145.16129032 74.19354839 2.50000000
-145.16129032 77.41935484 2.50000000
-145.16129032 80.64516129 2.50000000
-145.16129032 83.87096774 2.50000000
-145.16129032 87.09677419 2.50000000
-145.16129032 90.32258065 2.50000000
-145.16129032 93.54838710 2.50000000
-145.16129032 96.77419355 2.50000000
-145.16129032 100.00000000 2.50000000
-154.83870968 0.00000000 7.50000000
-154.83870968 3.22580645 7.50000000
-154.83870968 6.45161290 7.50000000
-154.83870968 9.67741935 7.50000000
-154.83870968 12.90322581 7.50000000
-154.83870968 16.12903226 7.50000000
-154.83870968 19.35483871 7.50000000
-154.83870968 22.58064516 7.50000000
-154.83870968 25.80645161 7.50000000
-154.83870968 29.03225806 7.50000000
-154.83870968 32.25806452 7.50000000
-154.83870968 35.48387097 7.38970588
-154.83870968 38.70967742 6.87500000
-154.83870968 41.93548387 6.33152174
-154.83870968 45.16129032 5.60483871
-154.83870968 48.38709677 5.60483871
-154.83870968 51.61290323 5.60483871
-154.83870968 54.83870968 5.60483871
-154.83870968 58.06451613 4.89130435
-154.83870968 61.29032258 4.34782609
-154.83870968 64.51612903 3.38235294
-154.83870968 67.74193548 3.10483871
-154.83870968 70.96774194 3.10483871
-154.83870968 74.19354839 3.10483871
-154.83870968 77.41935484 3.10483871
-154.83870968 80.64516129 3.10483871
-154.83870968 83.87096774 3.10483871
-154.83870968 87.09677419 3.10483871
-154.83870968 90.32258065 3.10483871
-154.83870968 93.54838710 3.10483871
-154.83870968 96.77419355 3.10483871
-154.83870968 100.00000000 3.10483871
-164.51612903 0.00000000 7.50000000
-164.51612903 3.22580645 7.50000000
-164.51612903 6.45161290 7.50000000
-164.51612903 9.67741935 7.50000000
-164.51612903 12.90322581 7.50000000
-164.51612903 16.12903226 7.50000000
-164.51612903 19.35483871 7.50000000
-164.51612903 22.58064516 7.50000000
-164.51612903 25.80645161 7.50000000
-164.51612903 29.03225806 7.50000000
-164.51612903 32.25806452 7.50000000
-164.51612903 35.48387097 7.38970588
-164.51612903 38.70967742 7.05729167
-164.51612903 41.93548387 7.05729167
-164.51612903 45.16129032 6.81451613
-164.51612903 48.38709677 6.81451613
-164.51612903 51.61290323 6.81451613
-164.51612903 54.83870968 6.81451613
-164.51612903 58.06451613 5.67708333
-164.51612903 61.29032258 5.15625000
-164.51612903 64.51612903 4.48529412
-164.51612903 67.74193548 4.31451613
-164.51612903 70.96774194 4.31451613
-164.51612903 74.19354839 4.31451613
-164.51612903 77.41935484 4.31451613
-164.51612903 80.64516129 4.31451613
-164.51612903 83.87096774 4.31451613
-164.51612903 87.09677419 4.31451613
-164.51612903 90.32258065 4.31451613
-164.51612903 93.54838710 4.31451613
-164.51612903 96.77419355 4.31451613
-164.51612903 100.00000000 4.31451613
-174.19354839 0.00000000 7.50000000
-174.19354839 3.22580645 7.50000000
-174.19354839 6.45161290 7.50000000
-174.19354839 9.67741935 7.50000000
-174.19354839 12.90322581 7.50000000
-174.19354839 16.12903226 7.50000000
-174.19354839 19.35483871 7.50000000
-174.19354839 22.58064516 7.50000000
-174.19354839 25.80645161 7.50000000
-174.19354839 29.03225806 7.50000000
-174.19354839 32.25806452 7.50000000
-174.19354839 35.48387097 7.50000000
-174.19354839 38.70967742 7.50000000
-174.19354839 41.93548387 7.50000000
-174.19354839 45.16129032 7.50000000
-174.19354839 48.38709677 7.50000000
-174.19354839 51.61290323 7.50000000
-174.19354839 54.83870968 7.50000000
-174.19354839 58.06451613 6.73387097
-174.19354839 61.29032258 5.92741935
-174.19354839 64.51612903 5.12096774
-174.19354839 67.74193548 5.00000000
-174.19354839 70.96774194 5.00000000
-174.19354839 74.19354839 5.00000000
-174.19354839 77.41935484 5.00000000
-174.19354839 80.64516129 5.00000000
-174.19354839 83.87096774 5.00000000
-174.19354839 87.09677419 5.00000000
-174.19354839 90.32258065 5.00000000
-174.19354839 93.54838710 5.00000000
-174.19354839 96.77419355 5.00000000
-174.19354839 100.00000000 5.00000000
-183.87096774 0.00000000 7.98387097
-183.87096774 3.22580645 7.98387097
-183.87096774 6.45161290 7.98387097
-183.87096774 9.67741935 7.98387097
-183.87096774 12.90322581 7.98387097
-183.87096774 16.12903226 7.98387097
-183.87096774 19.35483871 7.98387097
-183.87096774 22.58064516 7.98387097
-183.87096774 25.80645161 7.98387097
-183.87096774 29.03225806 7.98387097
-183.87096774 32.25806452 7.98387097
-183.87096774 35.48387097 7.94117647
-183.87096774 38.70967742 7.84883721
-183.87096774 41.93548387 7.84883721
-183.87096774 45.16129032 7.50000000
-183.87096774 48.38709677 7.50000000
-183.87096774 51.61290323 7.50000000
-183.87096774 54.83870968 7.50000000
-183.87096774 58.06451613 6.59883721
-183.87096774 61.29032258 6.01744186
-183.87096774 64.51612903 5.22058824
-183.87096774 67.74193548 5.00000000
-183.87096774 70.96774194 5.00000000
-183.87096774 74.19354839 5.00000000
-183.87096774 77.41935484 5.00000000
-183.87096774 80.64516129 5.00000000
-183.87096774 83.87096774 5.00000000
-183.87096774 87.09677419 5.00000000
-183.87096774 90.32258065 5.00000000
-183.87096774 93.54838710 5.00000000
-183.87096774 96.77419355 5.00000000
-183.87096774 100.00000000 5.00000000
-193.54838710 0.00000000 9.19354839
-193.54838710 3.22580645 9.19354839
-193.54838710 6.45161290 9.19354839
-193.54838710 9.67741935 9.19354839
-193.54838710 12.90322581 9.19354839
-193.54838710 16.12903226 9.19354839
-193.54838710 19.35483871 9.19354839
-193.54838710 22.58064516 9.19354839
-193.54838710 25.80645161 9.19354839
-193.54838710 29.03225806 9.19354839
-193.54838710 32.25806452 9.19354839
-193.54838710 35.48387097 9.04411765
-193.54838710 38.70967742 8.45588235
-193.54838710 41.93548387 7.97500000
-193.54838710 45.16129032 7.50000000
-193.54838710 48.38709677 7.50000000
-193.54838710 51.61290323 7.50000000
-193.54838710 54.83870968 7.50000000
-193.54838710 58.06451613 6.55000000
-193.54838710 61.29032258 6.05392157
-193.54838710 64.51612903 5.22058824
-193.54838710 67.74193548 5.00000000
-193.54838710 70.96774194 5.00000000
-193.54838710 74.19354839 5.00000000
-193.54838710 77.41935484 5.00000000
-193.54838710 80.64516129 5.00000000
-193.54838710 83.87096774 5.00000000
-193.54838710 87.09677419 5.00000000
-193.54838710 90.32258065 5.00000000
-193.54838710 93.54838710 5.00000000
-193.54838710 96.77419355 5.00000000
-193.54838710 100.00000000 5.00000000
-203.22580645 0.00000000 10.00000000
-203.22580645 3.22580645 10.00000000
-203.22580645 6.45161290 10.00000000
-203.22580645 9.67741935 10.00000000
-203.22580645 12.90322581 10.00000000
-203.22580645 16.12903226 10.00000000
-203.22580645 19.35483871 10.00000000
-203.22580645 22.58064516 10.00000000
-203.22580645 25.80645161 10.00000000
-203.22580645 29.03225806 10.00000000
-203.22580645 32.25806452 10.00000000
-203.22580645 35.48387097 9.87903226
-203.22580645 38.70967742 9.07258065
-203.22580645 41.93548387 8.26612903
-203.22580645 45.16129032 7.50000000
-203.22580645 48.38709677 7.50000000
-203.22580645 51.61290323 7.50000000
-203.22580645 54.83870968 7.50000000
-203.22580645 58.06451613 6.73387097
-203.22580645 61.29032258 5.92741935
-203.22580645 64.51612903 5.12096774
-203.22580645 67.74193548 5.00000000
-203.22580645 70.96774194 5.00000000
-203.22580645 74.19354839 5.00000000
-203.22580645 77.41935484 5.00000000
-203.22580645 80.64516129 5.00000000
-203.22580645 83.87096774 5.00000000
-203.22580645 87.09677419 5.00000000
-203.22580645 90.32258065 5.00000000
-203.22580645 93.54838710 5.00000000
-203.22580645 96.77419355 5.00000000
-203.22580645 100.00000000 5.00000000
-212.90322581 0.00000000 10.00000000
-212.90322581 3.22580645 10.00000000
-212.90322581 6.45161290 10.00000000
-212.90322581 9.67741935 10.00000000
-212.90322581 12.90322581 10.00000000
-212.90322581 16.12903226 10.00000000
-212.90322581 19.35483871 10.00000000
-212.90322581 22.58064516 10.00000000
-212.90322581 25.80645161 10.00000000
-212.90322581 29.03225806 10.00000000
-212.90322581 32.25806452 10.00000000
-212.90322581 35.48387097 9.87903226
-212.90322581 38.70967742 9.07258065
-212.90322581 41.93548387 8.26612903
-212.90322581 45.16129032 7.50000000
-212.90322581 48.38709677 7.50000000
-212.90322581 51.61290323 7.50000000
-212.90322581 54.83870968 7.50000000
-212.90322581 58.06451613 6.73387097
-212.90322581 61.29032258 5.92741935
-212.90322581 64.51612903 5.12096774
-212.90322581 67.74193548 5.00000000
-212.90322581 70.96774194 5.00000000
-212.90322581 74.19354839 5.00000000
-212.90322581 77.41935484 5.00000000
-212.90322581 80.64516129 5.00000000
-212.90322581 83.87096774 5.00000000
-212.90322581 87.09677419 5.00000000
-212.90322581 90.32258065 5.00000000
-212.90322581 93.54838710 5.00000000
-212.90322581 96.77419355 5.00000000
-212.90322581 100.00000000 5.00000000
-222.58064516 0.00000000 10.00000000
-222.58064516 3.22580645 10.00000000
-222.58064516 6.45161290 10.00000000
-222.58064516 9.67741935 10.00000000
-222.58064516 12.90322581 10.00000000
-222.58064516 16.12903226 10.00000000
-222.58064516 19.35483871 10.00000000
-222.58064516 22.58064516 10.00000000
-222.58064516 25.80645161 10.00000000
-222.58064516 29.03225806 10.00000000
-222.58064516 32.25806452 10.00000000
-222.58064516 35.48387097 9.87903226
-222.58064516 38.70967742 9.07258065
-222.58064516 41.93548387 8.26612903
-222.58064516 45.16129032 7.50000000
-222.58064516 48.38709677 7.50000000
-222.58064516 51.61290323 7.50000000
-222.58064516 54.83870968 7.50000000
-222.58064516 58.06451613 6.73387097
-222.58064516 61.29032258 5.92741935
-222.58064516 64.51612903 5.12096774
-222.58064516 67.74193548 5.00000000
-222.58064516 70.96774194 5.00000000
-222.58064516 74.19354839 5.00000000
-222.58064516 77.41935484 5.00000000
-222.58064516 80.64516129 5.00000000
-222.58064516 83.87096774 5.00000000
-222.58064516 87.09677419 5.00000000
-222.58064516 90.32258065 5.00000000
-222.58064516 93.54838710 5.00000000
-222.58064516 96.77419355 5.00000000
-222.58064516 100.00000000 5.00000000
-232.25806452 0.00000000 10.00000000
-232.25806452 3.22580645 10.00000000
-232.25806452 6.45161290 10.00000000
-232.25806452 9.67741935 10.00000000
-232.25806452 12.90322581 10.00000000
-232.25806452 16.12903226 10.00000000
-232.25806452 19.35483871 10.00000000
-232.25806452 22.58064516 10.00000000
-232.25806452 25.80645161 10.00000000
-232.25806452 29.03225806 10.00000000
-232.25806452 32.25806452 10.00000000
-232.25806452 35.48387097 9.87903226
-232.25806452 38.70967742 9.07258065
-232.25806452 41.93548387 8.26612903
-232.25806452 45.16129032 7.50000000
-232.25806452 48.38709677 7.50000000
-232.25806452 51.61290323 7.50000000
-232.25806452 54.83870968 7.50000000
-232.25806452 58.06451613 6.73387097
-232.25806452 61.29032258 5.92741935
-232.25806452 64.51612903 5.12096774
-232.25806452 67.74193548 5.00000000
-232.25806452 70.96774194 5.00000000
-232.25806452 74.19354839 5.00000000
-232.25806452 77.41935484 5.00000000
-232.25806452 80.64516129 5.00000000
-232.25806452 83.87096774 5.00000000
-232.25806452 87.09677419 5.00000000
-232.25806452 90.32258065 5.00000000
-232.25806452 93.54838710 5.00000000
-232.25806452 96.77419355 5.00000000
-232.25806452 100.00000000 5.00000000
-241.93548387 0.00000000 10.00000000
-241.93548387 3.22580645 10.00000000
-241.93548387 6.45161290 10.00000000
-241.93548387 9.67741935 10.00000000
-241.93548387 12.90322581 10.00000000
-241.93548387 16.12903226 10.00000000
-241.93548387 19.35483871 10.00000000
-241.93548387 22.58064516 10.00000000
-241.93548387 25.80645161 10.00000000
-241.93548387 29.03225806 10.00000000
-241.93548387 32.25806452 10.00000000
-241.93548387 35.48387097 9.87903226
-241.93548387 38.70967742 9.07258065
-241.93548387 41.93548387 8.26612903
-241.93548387 45.16129032 7.50000000
-241.93548387 48.38709677 7.50000000
-241.93548387 51.61290323 7.50000000
-241.93548387 54.83870968 7.50000000
-241.93548387 58.06451613 6.73387097
-241.93548387 61.29032258 5.92741935
-241.93548387 64.51612903 5.12096774
-241.93548387 67.74193548 5.00000000
-241.93548387 70.96774194 5.00000000
-241.93548387 74.19354839 5.00000000
-241.93548387 77.41935484 5.00000000
-241.93548387 80.64516129 5.00000000
-241.93548387 83.87096774 5.00000000
-241.93548387 87.09677419 5.00000000
-241.93548387 90.32258065 5.00000000
-241.93548387 93.54838710 5.00000000
-241.93548387 96.77419355 5.00000000
-241.93548387 100.00000000 5.00000000
-251.61290323 0.00000000 10.00000000
-251.61290323 3.22580645 10.00000000
-251.61290323 6.45161290 10.00000000
-251.61290323 9.67741935 10.00000000
-251.61290323 12.90322581 10.00000000
-251.61290323 16.12903226 10.00000000
-251.61290323 19.35483871 10.00000000
-251.61290323 22.58064516 10.00000000
-251.61290323 25.80645161 10.00000000
-251.61290323 29.03225806 10.00000000
-251.61290323 32.25806452 10.00000000
-251.61290323 35.48387097 9.87903226
-251.61290323 38.70967742 9.07258065
-251.61290323 41.93548387 8.26612903
-251.61290323 45.16129032 7.50000000
-251.61290323 48.38709677 7.50000000
-251.61290323 51.61290323 7.50000000
-251.61290323 54.83870968 7.50000000
-251.61290323 58.06451613 6.73387097
-251.61290323 61.29032258 5.92741935
-251.61290323 64.51612903 5.12096774
-251.61290323 67.74193548 5.00000000
-251.61290323 70.96774194 5.00000000
-251.61290323 74.19354839 5.00000000
-251.61290323 77.41935484 5.00000000
-251.61290323 80.64516129 5.00000000
-251.61290323 83.87096774 5.00000000
-251.61290323 87.09677419 5.00000000
-251.61290323 90.32258065 5.00000000
-251.61290323 93.54838710 5.00000000
-251.61290323 96.77419355 5.00000000
-251.61290323 100.00000000 5.00000000
-261.29032258 0.00000000 10.00000000
-261.29032258 3.22580645 10.00000000
-261.29032258 6.45161290 10.00000000
-261.29032258 9.67741935 10.00000000
-261.29032258 12.90322581 10.00000000
-261.29032258 16.12903226 10.00000000
-261.29032258 19.35483871 10.00000000
-261.29032258 22.58064516 10.00000000
-261.29032258 25.80645161 10.00000000
-261.29032258 29.03225806 10.00000000
-261.29032258 32.25806452 10.00000000
-261.29032258 35.48387097 9.87903226
-261.29032258 38.70967742 9.07258065
-261.29032258 41.93548387 8.26612903
-261.29032258 45.16129032 7.50000000
-261.29032258 48.38709677 7.50000000
-261.29032258 51.61290323 7.50000000
-261.29032258 54.83870968 7.50000000
-261.29032258 58.06451613 6.73387097
-261.29032258 61.29032258 5.92741935
-261.29032258 64.51612903 5.12096774
-261.29032258 67.74193548 5.00000000
-261.29032258 70.96774194 5.00000000
-261.29032258 74.19354839 5.00000000
-261.29032258 77.41935484 5.00000000
-261.29032258 80.64516129 5.00000000
-261.29032258 83.87096774 5.00000000
-261.29032258 87.09677419 5.00000000
-261.29032258 90.32258065 5.00000000
-261.29032258 93.54838710 5.00000000
-261.29032258 96.77419355 5.00000000
-261.29032258 100.00000000 5.00000000
-270.96774194 0.00000000 10.00000000
-270.96774194 3.22580645 10.00000000
-270.96774194 6.45161290 10.00000000
-270.96774194 9.67741935 10.00000000
-270.96774194 12.90322581 10.00000000
-270.96774194 16.12903226 10.00000000
-270.96774194 19.35483871 10.00000000
-270.96774194 22.58064516 10.00000000
-270.96774194 25.80645161 10.00000000
-270.96774194 29.03225806 10.00000000
-270.96774194 32.25806452 10.00000000
-270.96774194 35.48387097 9.87903226
-270.96774194 38.70967742 9.07258065
-270.96774194 41.93548387 8.26612903
-270.96774194 45.16129032 7.50000000
-270.96774194 48.38709677 7.50000000
-270.96774194 51.61290323 7.50000000
-270.96774194 54.83870968 7.50000000
-270.96774194 58.06451613 6.73387097
-270.96774194 61.29032258 5.92741935
-270.96774194 64.51612903 5.12096774
-270.96774194 67.74193548 5.00000000
-270.96774194 70.96774194 5.00000000
-270.96774194 74.19354839 5.00000000
-270.96774194 77.41935484 5.00000000
-270.96774194 80.64516129 5.00000000
-270.96774194 83.87096774 5.00000000
-270.96774194 87.09677419 5.00000000
-270.96774194 90.32258065 5.00000000
-270.96774194 93.54838710 5.00000000
-270.96774194 96.77419355 5.00000000
-270.96774194 100.00000000 5.00000000
-280.64516129 0.00000000 10.00000000
-280.64516129 3.22580645 10.00000000
-280.64516129 6.45161290 10.00000000
-280.64516129 9.67741935 10.00000000
-280.64516129 12.90322581 10.00000000
-280.64516129 16.12903226 10.00000000
-280.64516129 19.35483871 10.00000000
-280.64516129 22.58064516 10.00000000
-280.64516129 25.80645161 10.00000000
-280.64516129 29.03225806 10.00000000
-280.64516129 32.25806452 10.00000000
-280.64516129 35.48387097 9.87903226
-280.64516129 38.70967742 9.07258065
-280.64516129 41.93548387 8.26612903
-280.64516129 45.16129032 7.50000000
-280.64516129 48.38709677 7.50000000
-280.64516129 51.61290323 7.50000000
-280.64516129 54.83870968 7.50000000
-280.64516129 58.06451613 6.73387097
-280.64516129 61.29032258 5.92741935
-280.64516129 64.51612903 5.12096774
-280.64516129 67.74193548 5.00000000
-280.64516129 70.96774194 5.00000000
-280.64516129 74.19354839 5.00000000
-280.64516129 77.41935484 5.00000000
-280.64516129 80.64516129 5.00000000
-280.64516129 83.87096774 5.00000000
-280.64516129 87.09677419 5.00000000
-280.64516129 90.32258065 5.00000000
-280.64516129 93.54838710 5.00000000
-280.64516129 96.77419355 5.00000000
-280.64516129 100.00000000 5.00000000
-290.32258065 0.00000000 10.00000000
-290.32258065 3.22580645 10.00000000
-290.32258065 6.45161290 10.00000000
-290.32258065 9.67741935 10.00000000
-290.32258065 12.90322581 10.00000000
-290.32258065 16.12903226 10.00000000
-290.32258065 19.35483871 10.00000000
-290.32258065 22.58064516 10.00000000
-290.32258065 25.80645161 10.00000000
-290.32258065 29.03225806 10.00000000
-290.32258065 32.25806452 10.00000000
-290.32258065 35.48387097 9.87903226
-290.32258065 38.70967742 9.07258065
-290.32258065 41.93548387 8.26612903
-290.32258065 45.16129032 7.50000000
-290.32258065 48.38709677 7.50000000
-290.32258065 51.61290323 7.50000000
-290.32258065 54.83870968 7.50000000
-290.32258065 58.06451613 6.73387097
-290.32258065 61.29032258 5.92741935
-290.32258065 64.51612903 5.12096774
-290.32258065 67.74193548 5.00000000
-290.32258065 70.96774194 5.00000000
-290.32258065 74.19354839 5.00000000
-290.32258065 77.41935484 5.00000000
-290.32258065 80.64516129 5.00000000
-290.32258065 83.87096774 5.00000000
-290.32258065 87.09677419 5.00000000
-290.32258065 90.32258065 5.00000000
-290.32258065 93.54838710 5.00000000
-290.32258065 96.77419355 5.00000000
-290.32258065 100.00000000 5.00000000
-300.00000000 0.00000000 10.00000000
-300.00000000 3.22580645 10.00000000
-300.00000000 6.45161290 10.00000000
-300.00000000 9.67741935 10.00000000
-300.00000000 12.90322581 10.00000000
-300.00000000 16.12903226 10.00000000
-300.00000000 19.35483871 10.00000000
-300.00000000 22.58064516 10.00000000
-300.00000000 25.80645161 10.00000000
-300.00000000 29.03225806 10.00000000
-300.00000000 32.25806452 10.00000000
-300.00000000 35.48387097 9.87903226
-300.00000000 38.70967742 9.07258065
-300.00000000 41.93548387 8.26612903
-300.00000000 45.16129032 7.50000000
-300.00000000 48.38709677 7.50000000
-300.00000000 51.61290323 7.50000000
-300.00000000 54.83870968 7.50000000
-300.00000000 58.06451613 6.73387097
-300.00000000 61.29032258 5.92741935
-300.00000000 64.51612903 5.12096774
-300.00000000 67.74193548 5.00000000
-300.00000000 70.96774194 5.00000000
-300.00000000 74.19354839 5.00000000
-300.00000000 77.41935484 5.00000000
-300.00000000 80.64516129 5.00000000
-300.00000000 83.87096774 5.00000000
-300.00000000 87.09677419 5.00000000
-300.00000000 90.32258065 5.00000000
-300.00000000 93.54838710 5.00000000
-300.00000000 96.77419355 5.00000000
-300.00000000 100.00000000 5.00000000
+LDLLevel HDLLevel HeartDiseaseRisk
+0.000000000 0.000000000 5.000000000
+0.000000000 3.225806452 5.000000000
+0.000000000 6.451612903 5.000000000
+0.000000000 9.677419355 5.000000000
+0.000000000 12.903225806 5.000000000
+0.000000000 16.129032258 5.000000000
+0.000000000 19.354838710 5.000000000
+0.000000000 22.580645161 5.000000000
+0.000000000 25.806451613 5.000000000
+0.000000000 29.032258065 5.000000000
+0.000000000 32.258064516 5.000000000
+0.000000000 35.483870968 4.879032258
+0.000000000 38.709677419 4.072580645
+0.000000000 41.935483871 3.266129032
+0.000000000 45.161290323 2.500000000
+0.000000000 48.387096774 2.500000000
+0.000000000 51.612903226 2.500000000
+0.000000000 54.838709677 2.500000000
+0.000000000 58.064516129 1.733870968
+0.000000000 61.290322581 0.927419355
+0.000000000 64.516129032 0.120967742
+0.000000000 67.741935484 0.000000000
+0.000000000 70.967741935 0.000000000
+0.000000000 74.193548387 0.000000000
+0.000000000 77.419354839 0.000000000
+0.000000000 80.645161290 0.000000000
+0.000000000 83.870967742 0.000000000
+0.000000000 87.096774194 0.000000000
+0.000000000 90.322580645 0.000000000
+0.000000000 93.548387097 0.000000000
+0.000000000 96.774193548 0.000000000
+0.000000000 100.000000000 0.000000000
+9.677419355 0.000000000 5.000000000
+9.677419355 3.225806452 5.000000000
+9.677419355 6.451612903 5.000000000
+9.677419355 9.677419355 5.000000000
+9.677419355 12.903225806 5.000000000
+9.677419355 16.129032258 5.000000000
+9.677419355 19.354838710 5.000000000
+9.677419355 22.580645161 5.000000000
+9.677419355 25.806451613 5.000000000
+9.677419355 29.032258065 5.000000000
+9.677419355 32.258064516 5.000000000
+9.677419355 35.483870968 4.879032258
+9.677419355 38.709677419 4.072580645
+9.677419355 41.935483871 3.266129032
+9.677419355 45.161290323 2.500000000
+9.677419355 48.387096774 2.500000000
+9.677419355 51.612903226 2.500000000
+9.677419355 54.838709677 2.500000000
+9.677419355 58.064516129 1.733870968
+9.677419355 61.290322581 0.927419355
+9.677419355 64.516129032 0.120967742
+9.677419355 67.741935484 0.000000000
+9.677419355 70.967741935 0.000000000
+9.677419355 74.193548387 0.000000000
+9.677419355 77.419354839 0.000000000
+9.677419355 80.645161290 0.000000000
+9.677419355 83.870967742 0.000000000
+9.677419355 87.096774194 0.000000000
+9.677419355 90.322580645 0.000000000
+9.677419355 93.548387097 0.000000000
+9.677419355 96.774193548 0.000000000
+9.677419355 100.000000000 0.000000000
+19.354838710 0.000000000 5.000000000
+19.354838710 3.225806452 5.000000000
+19.354838710 6.451612903 5.000000000
+19.354838710 9.677419355 5.000000000
+19.354838710 12.903225806 5.000000000
+19.354838710 16.129032258 5.000000000
+19.354838710 19.354838710 5.000000000
+19.354838710 22.580645161 5.000000000
+19.354838710 25.806451613 5.000000000
+19.354838710 29.032258065 5.000000000
+19.354838710 32.258064516 5.000000000
+19.354838710 35.483870968 4.879032258
+19.354838710 38.709677419 4.072580645
+19.354838710 41.935483871 3.266129032
+19.354838710 45.161290323 2.500000000
+19.354838710 48.387096774 2.500000000
+19.354838710 51.612903226 2.500000000
+19.354838710 54.838709677 2.500000000
+19.354838710 58.064516129 1.733870968
+19.354838710 61.290322581 0.927419355
+19.354838710 64.516129032 0.120967742
+19.354838710 67.741935484 0.000000000
+19.354838710 70.967741935 0.000000000
+19.354838710 74.193548387 0.000000000
+19.354838710 77.419354839 0.000000000
+19.354838710 80.645161290 0.000000000
+19.354838710 83.870967742 0.000000000
+19.354838710 87.096774194 0.000000000
+19.354838710 90.322580645 0.000000000
+19.354838710 93.548387097 0.000000000
+19.354838710 96.774193548 0.000000000
+19.354838710 100.000000000 0.000000000
+29.032258065 0.000000000 5.000000000
+29.032258065 3.225806452 5.000000000
+29.032258065 6.451612903 5.000000000
+29.032258065 9.677419355 5.000000000
+29.032258065 12.903225806 5.000000000
+29.032258065 16.129032258 5.000000000
+29.032258065 19.354838710 5.000000000
+29.032258065 22.580645161 5.000000000
+29.032258065 25.806451613 5.000000000
+29.032258065 29.032258065 5.000000000
+29.032258065 32.258064516 5.000000000
+29.032258065 35.483870968 4.879032258
+29.032258065 38.709677419 4.072580645
+29.032258065 41.935483871 3.266129032
+29.032258065 45.161290323 2.500000000
+29.032258065 48.387096774 2.500000000
+29.032258065 51.612903226 2.500000000
+29.032258065 54.838709677 2.500000000
+29.032258065 58.064516129 1.733870968
+29.032258065 61.290322581 0.927419355
+29.032258065 64.516129032 0.120967742
+29.032258065 67.741935484 0.000000000
+29.032258065 70.967741935 0.000000000
+29.032258065 74.193548387 0.000000000
+29.032258065 77.419354839 0.000000000
+29.032258065 80.645161290 0.000000000
+29.032258065 83.870967742 0.000000000
+29.032258065 87.096774194 0.000000000
+29.032258065 90.322580645 0.000000000
+29.032258065 93.548387097 0.000000000
+29.032258065 96.774193548 0.000000000
+29.032258065 100.000000000 0.000000000
+38.709677419 0.000000000 5.000000000
+38.709677419 3.225806452 5.000000000
+38.709677419 6.451612903 5.000000000
+38.709677419 9.677419355 5.000000000
+38.709677419 12.903225806 5.000000000
+38.709677419 16.129032258 5.000000000
+38.709677419 19.354838710 5.000000000
+38.709677419 22.580645161 5.000000000
+38.709677419 25.806451613 5.000000000
+38.709677419 29.032258065 5.000000000
+38.709677419 32.258064516 5.000000000
+38.709677419 35.483870968 4.879032258
+38.709677419 38.709677419 4.072580645
+38.709677419 41.935483871 3.266129032
+38.709677419 45.161290323 2.500000000
+38.709677419 48.387096774 2.500000000
+38.709677419 51.612903226 2.500000000
+38.709677419 54.838709677 2.500000000
+38.709677419 58.064516129 1.733870968
+38.709677419 61.290322581 0.927419355
+38.709677419 64.516129032 0.120967742
+38.709677419 67.741935484 0.000000000
+38.709677419 70.967741935 0.000000000
+38.709677419 74.193548387 0.000000000
+38.709677419 77.419354839 0.000000000
+38.709677419 80.645161290 0.000000000
+38.709677419 83.870967742 0.000000000
+38.709677419 87.096774194 0.000000000
+38.709677419 90.322580645 0.000000000
+38.709677419 93.548387097 0.000000000
+38.709677419 96.774193548 0.000000000
+38.709677419 100.000000000 0.000000000
+48.387096774 0.000000000 5.000000000
+48.387096774 3.225806452 5.000000000
+48.387096774 6.451612903 5.000000000
+48.387096774 9.677419355 5.000000000
+48.387096774 12.903225806 5.000000000
+48.387096774 16.129032258 5.000000000
+48.387096774 19.354838710 5.000000000
+48.387096774 22.580645161 5.000000000
+48.387096774 25.806451613 5.000000000
+48.387096774 29.032258065 5.000000000
+48.387096774 32.258064516 5.000000000
+48.387096774 35.483870968 4.879032258
+48.387096774 38.709677419 4.072580645
+48.387096774 41.935483871 3.266129032
+48.387096774 45.161290323 2.500000000
+48.387096774 48.387096774 2.500000000
+48.387096774 51.612903226 2.500000000
+48.387096774 54.838709677 2.500000000
+48.387096774 58.064516129 1.733870968
+48.387096774 61.290322581 0.927419355
+48.387096774 64.516129032 0.120967742
+48.387096774 67.741935484 0.000000000
+48.387096774 70.967741935 0.000000000
+48.387096774 74.193548387 0.000000000
+48.387096774 77.419354839 0.000000000
+48.387096774 80.645161290 0.000000000
+48.387096774 83.870967742 0.000000000
+48.387096774 87.096774194 0.000000000
+48.387096774 90.322580645 0.000000000
+48.387096774 93.548387097 0.000000000
+48.387096774 96.774193548 0.000000000
+48.387096774 100.000000000 0.000000000
+58.064516129 0.000000000 5.000000000
+58.064516129 3.225806452 5.000000000
+58.064516129 6.451612903 5.000000000
+58.064516129 9.677419355 5.000000000
+58.064516129 12.903225806 5.000000000
+58.064516129 16.129032258 5.000000000
+58.064516129 19.354838710 5.000000000
+58.064516129 22.580645161 5.000000000
+58.064516129 25.806451613 5.000000000
+58.064516129 29.032258065 5.000000000
+58.064516129 32.258064516 5.000000000
+58.064516129 35.483870968 4.879032258
+58.064516129 38.709677419 4.072580645
+58.064516129 41.935483871 3.266129032
+58.064516129 45.161290323 2.500000000
+58.064516129 48.387096774 2.500000000
+58.064516129 51.612903226 2.500000000
+58.064516129 54.838709677 2.500000000
+58.064516129 58.064516129 1.733870968
+58.064516129 61.290322581 0.927419355
+58.064516129 64.516129032 0.120967742
+58.064516129 67.741935484 0.000000000
+58.064516129 70.967741935 0.000000000
+58.064516129 74.193548387 0.000000000
+58.064516129 77.419354839 0.000000000
+58.064516129 80.645161290 0.000000000
+58.064516129 83.870967742 0.000000000
+58.064516129 87.096774194 0.000000000
+58.064516129 90.322580645 0.000000000
+58.064516129 93.548387097 0.000000000
+58.064516129 96.774193548 0.000000000
+58.064516129 100.000000000 0.000000000
+67.741935484 0.000000000 5.000000000
+67.741935484 3.225806452 5.000000000
+67.741935484 6.451612903 5.000000000
+67.741935484 9.677419355 5.000000000
+67.741935484 12.903225806 5.000000000
+67.741935484 16.129032258 5.000000000
+67.741935484 19.354838710 5.000000000
+67.741935484 22.580645161 5.000000000
+67.741935484 25.806451613 5.000000000
+67.741935484 29.032258065 5.000000000
+67.741935484 32.258064516 5.000000000
+67.741935484 35.483870968 4.879032258
+67.741935484 38.709677419 4.072580645
+67.741935484 41.935483871 3.266129032
+67.741935484 45.161290323 2.500000000
+67.741935484 48.387096774 2.500000000
+67.741935484 51.612903226 2.500000000
+67.741935484 54.838709677 2.500000000
+67.741935484 58.064516129 1.733870968
+67.741935484 61.290322581 0.927419355
+67.741935484 64.516129032 0.120967742
+67.741935484 67.741935484 0.000000000
+67.741935484 70.967741935 0.000000000
+67.741935484 74.193548387 0.000000000
+67.741935484 77.419354839 0.000000000
+67.741935484 80.645161290 0.000000000
+67.741935484 83.870967742 0.000000000
+67.741935484 87.096774194 0.000000000
+67.741935484 90.322580645 0.000000000
+67.741935484 93.548387097 0.000000000
+67.741935484 96.774193548 0.000000000
+67.741935484 100.000000000 0.000000000
+77.419354839 0.000000000 5.000000000
+77.419354839 3.225806452 5.000000000
+77.419354839 6.451612903 5.000000000
+77.419354839 9.677419355 5.000000000
+77.419354839 12.903225806 5.000000000
+77.419354839 16.129032258 5.000000000
+77.419354839 19.354838710 5.000000000
+77.419354839 22.580645161 5.000000000
+77.419354839 25.806451613 5.000000000
+77.419354839 29.032258065 5.000000000
+77.419354839 32.258064516 5.000000000
+77.419354839 35.483870968 4.879032258
+77.419354839 38.709677419 4.072580645
+77.419354839 41.935483871 3.266129032
+77.419354839 45.161290323 2.500000000
+77.419354839 48.387096774 2.500000000
+77.419354839 51.612903226 2.500000000
+77.419354839 54.838709677 2.500000000
+77.419354839 58.064516129 1.733870968
+77.419354839 61.290322581 0.927419355
+77.419354839 64.516129032 0.120967742
+77.419354839 67.741935484 0.000000000
+77.419354839 70.967741935 0.000000000
+77.419354839 74.193548387 0.000000000
+77.419354839 77.419354839 0.000000000
+77.419354839 80.645161290 0.000000000
+77.419354839 83.870967742 0.000000000
+77.419354839 87.096774194 0.000000000
+77.419354839 90.322580645 0.000000000
+77.419354839 93.548387097 0.000000000
+77.419354839 96.774193548 0.000000000
+77.419354839 100.000000000 0.000000000
+87.096774194 0.000000000 5.000000000
+87.096774194 3.225806452 5.000000000
+87.096774194 6.451612903 5.000000000
+87.096774194 9.677419355 5.000000000
+87.096774194 12.903225806 5.000000000
+87.096774194 16.129032258 5.000000000
+87.096774194 19.354838710 5.000000000
+87.096774194 22.580645161 5.000000000
+87.096774194 25.806451613 5.000000000
+87.096774194 29.032258065 5.000000000
+87.096774194 32.258064516 5.000000000
+87.096774194 35.483870968 4.879032258
+87.096774194 38.709677419 4.072580645
+87.096774194 41.935483871 3.266129032
+87.096774194 45.161290323 2.500000000
+87.096774194 48.387096774 2.500000000
+87.096774194 51.612903226 2.500000000
+87.096774194 54.838709677 2.500000000
+87.096774194 58.064516129 1.733870968
+87.096774194 61.290322581 0.927419355
+87.096774194 64.516129032 0.120967742
+87.096774194 67.741935484 0.000000000
+87.096774194 70.967741935 0.000000000
+87.096774194 74.193548387 0.000000000
+87.096774194 77.419354839 0.000000000
+87.096774194 80.645161290 0.000000000
+87.096774194 83.870967742 0.000000000
+87.096774194 87.096774194 0.000000000
+87.096774194 90.322580645 0.000000000
+87.096774194 93.548387097 0.000000000
+87.096774194 96.774193548 0.000000000
+87.096774194 100.000000000 0.000000000
+96.774193548 0.000000000 5.000000000
+96.774193548 3.225806452 5.000000000
+96.774193548 6.451612903 5.000000000
+96.774193548 9.677419355 5.000000000
+96.774193548 12.903225806 5.000000000
+96.774193548 16.129032258 5.000000000
+96.774193548 19.354838710 5.000000000
+96.774193548 22.580645161 5.000000000
+96.774193548 25.806451613 5.000000000
+96.774193548 29.032258065 5.000000000
+96.774193548 32.258064516 5.000000000
+96.774193548 35.483870968 4.779411765
+96.774193548 38.709677419 3.942307692
+96.774193548 41.935483871 3.450000000
+96.774193548 45.161290323 2.500000000
+96.774193548 48.387096774 2.500000000
+96.774193548 51.612903226 2.500000000
+96.774193548 54.838709677 2.500000000
+96.774193548 58.064516129 2.025000000
+96.774193548 61.290322581 1.562500000
+96.774193548 64.516129032 0.992647059
+96.774193548 67.741935484 0.846774194
+96.774193548 70.967741935 0.846774194
+96.774193548 74.193548387 0.846774194
+96.774193548 77.419354839 0.846774194
+96.774193548 80.645161290 0.846774194
+96.774193548 83.870967742 0.846774194
+96.774193548 87.096774194 0.846774194
+96.774193548 90.322580645 0.846774194
+96.774193548 93.548387097 0.846774194
+96.774193548 96.774193548 0.846774194
+96.774193548 100.000000000 0.846774194
+106.451612903 0.000000000 5.000000000
+106.451612903 3.225806452 5.000000000
+106.451612903 6.451612903 5.000000000
+106.451612903 9.677419355 5.000000000
+106.451612903 12.903225806 5.000000000
+106.451612903 16.129032258 5.000000000
+106.451612903 19.354838710 5.000000000
+106.451612903 22.580645161 5.000000000
+106.451612903 25.806451613 5.000000000
+106.451612903 29.032258065 5.000000000
+106.451612903 32.258064516 5.000000000
+106.451612903 35.483870968 4.779411765
+106.451612903 38.709677419 3.988095238
+106.451612903 41.935483871 3.392857143
+106.451612903 45.161290323 2.500000000
+106.451612903 48.387096774 2.500000000
+106.451612903 51.612903226 2.500000000
+106.451612903 54.838709677 2.500000000
+106.451612903 58.064516129 2.172619048
+106.451612903 61.290322581 2.172619048
+106.451612903 64.516129032 2.095588235
+106.451612903 67.741935484 2.056451613
+106.451612903 70.967741935 2.056451613
+106.451612903 74.193548387 2.056451613
+106.451612903 77.419354839 2.056451613
+106.451612903 80.645161290 2.056451613
+106.451612903 83.870967742 2.056451613
+106.451612903 87.096774194 2.056451613
+106.451612903 90.322580645 2.056451613
+106.451612903 93.548387097 2.056451613
+106.451612903 96.774193548 2.056451613
+106.451612903 100.000000000 2.056451613
+116.129032258 0.000000000 5.000000000
+116.129032258 3.225806452 5.000000000
+116.129032258 6.451612903 5.000000000
+116.129032258 9.677419355 5.000000000
+116.129032258 12.903225806 5.000000000
+116.129032258 16.129032258 5.000000000
+116.129032258 19.354838710 5.000000000
+116.129032258 22.580645161 5.000000000
+116.129032258 25.806451613 5.000000000
+116.129032258 29.032258065 5.000000000
+116.129032258 32.258064516 5.000000000
+116.129032258 35.483870968 4.879032258
+116.129032258 38.709677419 4.072580645
+116.129032258 41.935483871 3.266129032
+116.129032258 45.161290323 2.500000000
+116.129032258 48.387096774 2.500000000
+116.129032258 51.612903226 2.500000000
+116.129032258 54.838709677 2.500000000
+116.129032258 58.064516129 2.500000000
+116.129032258 61.290322581 2.500000000
+116.129032258 64.516129032 2.500000000
+116.129032258 67.741935484 2.500000000
+116.129032258 70.967741935 2.500000000
+116.129032258 74.193548387 2.500000000
+116.129032258 77.419354839 2.500000000
+116.129032258 80.645161290 2.500000000
+116.129032258 83.870967742 2.500000000
+116.129032258 87.096774194 2.500000000
+116.129032258 90.322580645 2.500000000
+116.129032258 93.548387097 2.500000000
+116.129032258 96.774193548 2.500000000
+116.129032258 100.000000000 2.500000000
+125.806451613 0.000000000 5.725806452
+125.806451613 3.225806452 5.725806452
+125.806451613 6.451612903 5.725806452
+125.806451613 9.677419355 5.725806452
+125.806451613 12.903225806 5.725806452
+125.806451613 16.129032258 5.725806452
+125.806451613 19.354838710 5.725806452
+125.806451613 22.580645161 5.725806452
+125.806451613 25.806451613 5.725806452
+125.806451613 29.032258065 5.725806452
+125.806451613 32.258064516 5.725806452
+125.806451613 35.483870968 5.551470588
+125.806451613 38.709677419 4.872448980
+125.806451613 41.935483871 4.362244898
+125.806451613 45.161290323 3.225806452
+125.806451613 48.387096774 3.225806452
+125.806451613 51.612903226 3.225806452
+125.806451613 54.838709677 3.225806452
+125.806451613 58.064516129 2.959183673
+125.806451613 61.290322581 2.959183673
+125.806451613 64.516129032 2.610294118
+125.806451613 67.741935484 2.500000000
+125.806451613 70.967741935 2.500000000
+125.806451613 74.193548387 2.500000000
+125.806451613 77.419354839 2.500000000
+125.806451613 80.645161290 2.500000000
+125.806451613 83.870967742 2.500000000
+125.806451613 87.096774194 2.500000000
+125.806451613 90.322580645 2.500000000
+125.806451613 93.548387097 2.500000000
+125.806451613 96.774193548 2.500000000
+125.806451613 100.000000000 2.500000000
+135.483870968 0.000000000 6.935483871
+135.483870968 3.225806452 6.935483871
+135.483870968 6.451612903 6.935483871
+135.483870968 9.677419355 6.935483871
+135.483870968 12.903225806 6.935483871
+135.483870968 16.129032258 6.935483871
+135.483870968 19.354838710 6.935483871
+135.483870968 22.580645161 6.935483871
+135.483870968 25.806451613 6.935483871
+135.483870968 29.032258065 6.935483871
+135.483870968 32.258064516 6.935483871
+135.483870968 35.483870968 6.654411765
+135.483870968 38.709677419 5.694444444
+135.483870968 41.935483871 5.138888889
+135.483870968 45.161290323 4.435483871
+135.483870968 48.387096774 4.435483871
+135.483870968 51.612903226 4.435483871
+135.483870968 54.838709677 4.435483871
+135.483870968 58.064516129 3.694444444
+135.483870968 61.290322581 3.138888889
+135.483870968 64.516129032 2.610294118
+135.483870968 67.741935484 2.500000000
+135.483870968 70.967741935 2.500000000
+135.483870968 74.193548387 2.500000000
+135.483870968 77.419354839 2.500000000
+135.483870968 80.645161290 2.500000000
+135.483870968 83.870967742 2.500000000
+135.483870968 87.096774194 2.500000000
+135.483870968 90.322580645 2.500000000
+135.483870968 93.548387097 2.500000000
+135.483870968 96.774193548 2.500000000
+135.483870968 100.000000000 2.500000000
+145.161290323 0.000000000 7.500000000
+145.161290323 3.225806452 7.500000000
+145.161290323 6.451612903 7.500000000
+145.161290323 9.677419355 7.500000000
+145.161290323 12.903225806 7.500000000
+145.161290323 16.129032258 7.500000000
+145.161290323 19.354838710 7.500000000
+145.161290323 22.580645161 7.500000000
+145.161290323 25.806451613 7.500000000
+145.161290323 29.032258065 7.500000000
+145.161290323 32.258064516 7.500000000
+145.161290323 35.483870968 7.379032258
+145.161290323 38.709677419 6.572580645
+145.161290323 41.935483871 5.766129032
+145.161290323 45.161290323 5.000000000
+145.161290323 48.387096774 5.000000000
+145.161290323 51.612903226 5.000000000
+145.161290323 54.838709677 5.000000000
+145.161290323 58.064516129 4.233870968
+145.161290323 61.290322581 3.427419355
+145.161290323 64.516129032 2.620967742
+145.161290323 67.741935484 2.500000000
+145.161290323 70.967741935 2.500000000
+145.161290323 74.193548387 2.500000000
+145.161290323 77.419354839 2.500000000
+145.161290323 80.645161290 2.500000000
+145.161290323 83.870967742 2.500000000
+145.161290323 87.096774194 2.500000000
+145.161290323 90.322580645 2.500000000
+145.161290323 93.548387097 2.500000000
+145.161290323 96.774193548 2.500000000
+145.161290323 100.000000000 2.500000000
+154.838709677 0.000000000 7.500000000
+154.838709677 3.225806452 7.500000000
+154.838709677 6.451612903 7.500000000
+154.838709677 9.677419355 7.500000000
+154.838709677 12.903225806 7.500000000
+154.838709677 16.129032258 7.500000000
+154.838709677 19.354838710 7.500000000
+154.838709677 22.580645161 7.500000000
+154.838709677 25.806451613 7.500000000
+154.838709677 29.032258065 7.500000000
+154.838709677 32.258064516 7.500000000
+154.838709677 35.483870968 7.389705882
+154.838709677 38.709677419 6.875000000
+154.838709677 41.935483871 6.331521739
+154.838709677 45.161290323 5.604838710
+154.838709677 48.387096774 5.604838710
+154.838709677 51.612903226 5.604838710
+154.838709677 54.838709677 5.604838710
+154.838709677 58.064516129 4.891304348
+154.838709677 61.290322581 4.347826087
+154.838709677 64.516129032 3.382352941
+154.838709677 67.741935484 3.104838710
+154.838709677 70.967741935 3.104838710
+154.838709677 74.193548387 3.104838710
+154.838709677 77.419354839 3.104838710
+154.838709677 80.645161290 3.104838710
+154.838709677 83.870967742 3.104838710
+154.838709677 87.096774194 3.104838710
+154.838709677 90.322580645 3.104838710
+154.838709677 93.548387097 3.104838710
+154.838709677 96.774193548 3.104838710
+154.838709677 100.000000000 3.104838710
+164.516129032 0.000000000 7.500000000
+164.516129032 3.225806452 7.500000000
+164.516129032 6.451612903 7.500000000
+164.516129032 9.677419355 7.500000000
+164.516129032 12.903225806 7.500000000
+164.516129032 16.129032258 7.500000000
+164.516129032 19.354838710 7.500000000
+164.516129032 22.580645161 7.500000000
+164.516129032 25.806451613 7.500000000
+164.516129032 29.032258065 7.500000000
+164.516129032 32.258064516 7.500000000
+164.516129032 35.483870968 7.389705882
+164.516129032 38.709677419 7.057291667
+164.516129032 41.935483871 7.057291667
+164.516129032 45.161290323 6.814516129
+164.516129032 48.387096774 6.814516129
+164.516129032 51.612903226 6.814516129
+164.516129032 54.838709677 6.814516129
+164.516129032 58.064516129 5.677083333
+164.516129032 61.290322581 5.156250000
+164.516129032 64.516129032 4.485294118
+164.516129032 67.741935484 4.314516129
+164.516129032 70.967741935 4.314516129
+164.516129032 74.193548387 4.314516129
+164.516129032 77.419354839 4.314516129
+164.516129032 80.645161290 4.314516129
+164.516129032 83.870967742 4.314516129
+164.516129032 87.096774194 4.314516129
+164.516129032 90.322580645 4.314516129
+164.516129032 93.548387097 4.314516129
+164.516129032 96.774193548 4.314516129
+164.516129032 100.000000000 4.314516129
+174.193548387 0.000000000 7.500000000
+174.193548387 3.225806452 7.500000000
+174.193548387 6.451612903 7.500000000
+174.193548387 9.677419355 7.500000000
+174.193548387 12.903225806 7.500000000
+174.193548387 16.129032258 7.500000000
+174.193548387 19.354838710 7.500000000
+174.193548387 22.580645161 7.500000000
+174.193548387 25.806451613 7.500000000
+174.193548387 29.032258065 7.500000000
+174.193548387 32.258064516 7.500000000
+174.193548387 35.483870968 7.500000000
+174.193548387 38.709677419 7.500000000
+174.193548387 41.935483871 7.500000000
+174.193548387 45.161290323 7.500000000
+174.193548387 48.387096774 7.500000000
+174.193548387 51.612903226 7.500000000
+174.193548387 54.838709677 7.500000000
+174.193548387 58.064516129 6.733870968
+174.193548387 61.290322581 5.927419355
+174.193548387 64.516129032 5.120967742
+174.193548387 67.741935484 5.000000000
+174.193548387 70.967741935 5.000000000
+174.193548387 74.193548387 5.000000000
+174.193548387 77.419354839 5.000000000
+174.193548387 80.645161290 5.000000000
+174.193548387 83.870967742 5.000000000
+174.193548387 87.096774194 5.000000000
+174.193548387 90.322580645 5.000000000
+174.193548387 93.548387097 5.000000000
+174.193548387 96.774193548 5.000000000
+174.193548387 100.000000000 5.000000000
+183.870967742 0.000000000 7.983870968
+183.870967742 3.225806452 7.983870968
+183.870967742 6.451612903 7.983870968
+183.870967742 9.677419355 7.983870968
+183.870967742 12.903225806 7.983870968
+183.870967742 16.129032258 7.983870968
+183.870967742 19.354838710 7.983870968
+183.870967742 22.580645161 7.983870968
+183.870967742 25.806451613 7.983870968
+183.870967742 29.032258065 7.983870968
+183.870967742 32.258064516 7.983870968
+183.870967742 35.483870968 7.941176471
+183.870967742 38.709677419 7.848837209
+183.870967742 41.935483871 7.848837209
+183.870967742 45.161290323 7.500000000
+183.870967742 48.387096774 7.500000000
+183.870967742 51.612903226 7.500000000
+183.870967742 54.838709677 7.500000000
+183.870967742 58.064516129 6.598837209
+183.870967742 61.290322581 6.017441860
+183.870967742 64.516129032 5.220588235
+183.870967742 67.741935484 5.000000000
+183.870967742 70.967741935 5.000000000
+183.870967742 74.193548387 5.000000000
+183.870967742 77.419354839 5.000000000
+183.870967742 80.645161290 5.000000000
+183.870967742 83.870967742 5.000000000
+183.870967742 87.096774194 5.000000000
+183.870967742 90.322580645 5.000000000
+183.870967742 93.548387097 5.000000000
+183.870967742 96.774193548 5.000000000
+183.870967742 100.000000000 5.000000000
+193.548387097 0.000000000 9.193548387
+193.548387097 3.225806452 9.193548387
+193.548387097 6.451612903 9.193548387
+193.548387097 9.677419355 9.193548387
+193.548387097 12.903225806 9.193548387
+193.548387097 16.129032258 9.193548387
+193.548387097 19.354838710 9.193548387
+193.548387097 22.580645161 9.193548387
+193.548387097 25.806451613 9.193548387
+193.548387097 29.032258065 9.193548387
+193.548387097 32.258064516 9.193548387
+193.548387097 35.483870968 9.044117647
+193.548387097 38.709677419 8.455882353
+193.548387097 41.935483871 7.975000000
+193.548387097 45.161290323 7.500000000
+193.548387097 48.387096774 7.500000000
+193.548387097 51.612903226 7.500000000
+193.548387097 54.838709677 7.500000000
+193.548387097 58.064516129 6.550000000
+193.548387097 61.290322581 6.053921569
+193.548387097 64.516129032 5.220588235
+193.548387097 67.741935484 5.000000000
+193.548387097 70.967741935 5.000000000
+193.548387097 74.193548387 5.000000000
+193.548387097 77.419354839 5.000000000
+193.548387097 80.645161290 5.000000000
+193.548387097 83.870967742 5.000000000
+193.548387097 87.096774194 5.000000000
+193.548387097 90.322580645 5.000000000
+193.548387097 93.548387097 5.000000000
+193.548387097 96.774193548 5.000000000
+193.548387097 100.000000000 5.000000000
+203.225806452 0.000000000 10.000000000
+203.225806452 3.225806452 10.000000000
+203.225806452 6.451612903 10.000000000
+203.225806452 9.677419355 10.000000000
+203.225806452 12.903225806 10.000000000
+203.225806452 16.129032258 10.000000000
+203.225806452 19.354838710 10.000000000
+203.225806452 22.580645161 10.000000000
+203.225806452 25.806451613 10.000000000
+203.225806452 29.032258065 10.000000000
+203.225806452 32.258064516 10.000000000
+203.225806452 35.483870968 9.879032258
+203.225806452 38.709677419 9.072580645
+203.225806452 41.935483871 8.266129032
+203.225806452 45.161290323 7.500000000
+203.225806452 48.387096774 7.500000000
+203.225806452 51.612903226 7.500000000
+203.225806452 54.838709677 7.500000000
+203.225806452 58.064516129 6.733870968
+203.225806452 61.290322581 5.927419355
+203.225806452 64.516129032 5.120967742
+203.225806452 67.741935484 5.000000000
+203.225806452 70.967741935 5.000000000
+203.225806452 74.193548387 5.000000000
+203.225806452 77.419354839 5.000000000
+203.225806452 80.645161290 5.000000000
+203.225806452 83.870967742 5.000000000
+203.225806452 87.096774194 5.000000000
+203.225806452 90.322580645 5.000000000
+203.225806452 93.548387097 5.000000000
+203.225806452 96.774193548 5.000000000
+203.225806452 100.000000000 5.000000000
+212.903225806 0.000000000 10.000000000
+212.903225806 3.225806452 10.000000000
+212.903225806 6.451612903 10.000000000
+212.903225806 9.677419355 10.000000000
+212.903225806 12.903225806 10.000000000
+212.903225806 16.129032258 10.000000000
+212.903225806 19.354838710 10.000000000
+212.903225806 22.580645161 10.000000000
+212.903225806 25.806451613 10.000000000
+212.903225806 29.032258065 10.000000000
+212.903225806 32.258064516 10.000000000
+212.903225806 35.483870968 9.879032258
+212.903225806 38.709677419 9.072580645
+212.903225806 41.935483871 8.266129032
+212.903225806 45.161290323 7.500000000
+212.903225806 48.387096774 7.500000000
+212.903225806 51.612903226 7.500000000
+212.903225806 54.838709677 7.500000000
+212.903225806 58.064516129 6.733870968
+212.903225806 61.290322581 5.927419355
+212.903225806 64.516129032 5.120967742
+212.903225806 67.741935484 5.000000000
+212.903225806 70.967741935 5.000000000
+212.903225806 74.193548387 5.000000000
+212.903225806 77.419354839 5.000000000
+212.903225806 80.645161290 5.000000000
+212.903225806 83.870967742 5.000000000
+212.903225806 87.096774194 5.000000000
+212.903225806 90.322580645 5.000000000
+212.903225806 93.548387097 5.000000000
+212.903225806 96.774193548 5.000000000
+212.903225806 100.000000000 5.000000000
+222.580645161 0.000000000 10.000000000
+222.580645161 3.225806452 10.000000000
+222.580645161 6.451612903 10.000000000
+222.580645161 9.677419355 10.000000000
+222.580645161 12.903225806 10.000000000
+222.580645161 16.129032258 10.000000000
+222.580645161 19.354838710 10.000000000
+222.580645161 22.580645161 10.000000000
+222.580645161 25.806451613 10.000000000
+222.580645161 29.032258065 10.000000000
+222.580645161 32.258064516 10.000000000
+222.580645161 35.483870968 9.879032258
+222.580645161 38.709677419 9.072580645
+222.580645161 41.935483871 8.266129032
+222.580645161 45.161290323 7.500000000
+222.580645161 48.387096774 7.500000000
+222.580645161 51.612903226 7.500000000
+222.580645161 54.838709677 7.500000000
+222.580645161 58.064516129 6.733870968
+222.580645161 61.290322581 5.927419355
+222.580645161 64.516129032 5.120967742
+222.580645161 67.741935484 5.000000000
+222.580645161 70.967741935 5.000000000
+222.580645161 74.193548387 5.000000000
+222.580645161 77.419354839 5.000000000
+222.580645161 80.645161290 5.000000000
+222.580645161 83.870967742 5.000000000
+222.580645161 87.096774194 5.000000000
+222.580645161 90.322580645 5.000000000
+222.580645161 93.548387097 5.000000000
+222.580645161 96.774193548 5.000000000
+222.580645161 100.000000000 5.000000000
+232.258064516 0.000000000 10.000000000
+232.258064516 3.225806452 10.000000000
+232.258064516 6.451612903 10.000000000
+232.258064516 9.677419355 10.000000000
+232.258064516 12.903225806 10.000000000
+232.258064516 16.129032258 10.000000000
+232.258064516 19.354838710 10.000000000
+232.258064516 22.580645161 10.000000000
+232.258064516 25.806451613 10.000000000
+232.258064516 29.032258065 10.000000000
+232.258064516 32.258064516 10.000000000
+232.258064516 35.483870968 9.879032258
+232.258064516 38.709677419 9.072580645
+232.258064516 41.935483871 8.266129032
+232.258064516 45.161290323 7.500000000
+232.258064516 48.387096774 7.500000000
+232.258064516 51.612903226 7.500000000
+232.258064516 54.838709677 7.500000000
+232.258064516 58.064516129 6.733870968
+232.258064516 61.290322581 5.927419355
+232.258064516 64.516129032 5.120967742
+232.258064516 67.741935484 5.000000000
+232.258064516 70.967741935 5.000000000
+232.258064516 74.193548387 5.000000000
+232.258064516 77.419354839 5.000000000
+232.258064516 80.645161290 5.000000000
+232.258064516 83.870967742 5.000000000
+232.258064516 87.096774194 5.000000000
+232.258064516 90.322580645 5.000000000
+232.258064516 93.548387097 5.000000000
+232.258064516 96.774193548 5.000000000
+232.258064516 100.000000000 5.000000000
+241.935483871 0.000000000 10.000000000
+241.935483871 3.225806452 10.000000000
+241.935483871 6.451612903 10.000000000
+241.935483871 9.677419355 10.000000000
+241.935483871 12.903225806 10.000000000
+241.935483871 16.129032258 10.000000000
+241.935483871 19.354838710 10.000000000
+241.935483871 22.580645161 10.000000000
+241.935483871 25.806451613 10.000000000
+241.935483871 29.032258065 10.000000000
+241.935483871 32.258064516 10.000000000
+241.935483871 35.483870968 9.879032258
+241.935483871 38.709677419 9.072580645
+241.935483871 41.935483871 8.266129032
+241.935483871 45.161290323 7.500000000
+241.935483871 48.387096774 7.500000000
+241.935483871 51.612903226 7.500000000
+241.935483871 54.838709677 7.500000000
+241.935483871 58.064516129 6.733870968
+241.935483871 61.290322581 5.927419355
+241.935483871 64.516129032 5.120967742
+241.935483871 67.741935484 5.000000000
+241.935483871 70.967741935 5.000000000
+241.935483871 74.193548387 5.000000000
+241.935483871 77.419354839 5.000000000
+241.935483871 80.645161290 5.000000000
+241.935483871 83.870967742 5.000000000
+241.935483871 87.096774194 5.000000000
+241.935483871 90.322580645 5.000000000
+241.935483871 93.548387097 5.000000000
+241.935483871 96.774193548 5.000000000
+241.935483871 100.000000000 5.000000000
+251.612903226 0.000000000 10.000000000
+251.612903226 3.225806452 10.000000000
+251.612903226 6.451612903 10.000000000
+251.612903226 9.677419355 10.000000000
+251.612903226 12.903225806 10.000000000
+251.612903226 16.129032258 10.000000000
+251.612903226 19.354838710 10.000000000
+251.612903226 22.580645161 10.000000000
+251.612903226 25.806451613 10.000000000
+251.612903226 29.032258065 10.000000000
+251.612903226 32.258064516 10.000000000
+251.612903226 35.483870968 9.879032258
+251.612903226 38.709677419 9.072580645
+251.612903226 41.935483871 8.266129032
+251.612903226 45.161290323 7.500000000
+251.612903226 48.387096774 7.500000000
+251.612903226 51.612903226 7.500000000
+251.612903226 54.838709677 7.500000000
+251.612903226 58.064516129 6.733870968
+251.612903226 61.290322581 5.927419355
+251.612903226 64.516129032 5.120967742
+251.612903226 67.741935484 5.000000000
+251.612903226 70.967741935 5.000000000
+251.612903226 74.193548387 5.000000000
+251.612903226 77.419354839 5.000000000
+251.612903226 80.645161290 5.000000000
+251.612903226 83.870967742 5.000000000
+251.612903226 87.096774194 5.000000000
+251.612903226 90.322580645 5.000000000
+251.612903226 93.548387097 5.000000000
+251.612903226 96.774193548 5.000000000
+251.612903226 100.000000000 5.000000000
+261.290322581 0.000000000 10.000000000
+261.290322581 3.225806452 10.000000000
+261.290322581 6.451612903 10.000000000
+261.290322581 9.677419355 10.000000000
+261.290322581 12.903225806 10.000000000
+261.290322581 16.129032258 10.000000000
+261.290322581 19.354838710 10.000000000
+261.290322581 22.580645161 10.000000000
+261.290322581 25.806451613 10.000000000
+261.290322581 29.032258065 10.000000000
+261.290322581 32.258064516 10.000000000
+261.290322581 35.483870968 9.879032258
+261.290322581 38.709677419 9.072580645
+261.290322581 41.935483871 8.266129032
+261.290322581 45.161290323 7.500000000
+261.290322581 48.387096774 7.500000000
+261.290322581 51.612903226 7.500000000
+261.290322581 54.838709677 7.500000000
+261.290322581 58.064516129 6.733870968
+261.290322581 61.290322581 5.927419355
+261.290322581 64.516129032 5.120967742
+261.290322581 67.741935484 5.000000000
+261.290322581 70.967741935 5.000000000
+261.290322581 74.193548387 5.000000000
+261.290322581 77.419354839 5.000000000
+261.290322581 80.645161290 5.000000000
+261.290322581 83.870967742 5.000000000
+261.290322581 87.096774194 5.000000000
+261.290322581 90.322580645 5.000000000
+261.290322581 93.548387097 5.000000000
+261.290322581 96.774193548 5.000000000
+261.290322581 100.000000000 5.000000000
+270.967741935 0.000000000 10.000000000
+270.967741935 3.225806452 10.000000000
+270.967741935 6.451612903 10.000000000
+270.967741935 9.677419355 10.000000000
+270.967741935 12.903225806 10.000000000
+270.967741935 16.129032258 10.000000000
+270.967741935 19.354838710 10.000000000
+270.967741935 22.580645161 10.000000000
+270.967741935 25.806451613 10.000000000
+270.967741935 29.032258065 10.000000000
+270.967741935 32.258064516 10.000000000
+270.967741935 35.483870968 9.879032258
+270.967741935 38.709677419 9.072580645
+270.967741935 41.935483871 8.266129032
+270.967741935 45.161290323 7.500000000
+270.967741935 48.387096774 7.500000000
+270.967741935 51.612903226 7.500000000
+270.967741935 54.838709677 7.500000000
+270.967741935 58.064516129 6.733870968
+270.967741935 61.290322581 5.927419355
+270.967741935 64.516129032 5.120967742
+270.967741935 67.741935484 5.000000000
+270.967741935 70.967741935 5.000000000
+270.967741935 74.193548387 5.000000000
+270.967741935 77.419354839 5.000000000
+270.967741935 80.645161290 5.000000000
+270.967741935 83.870967742 5.000000000
+270.967741935 87.096774194 5.000000000
+270.967741935 90.322580645 5.000000000
+270.967741935 93.548387097 5.000000000
+270.967741935 96.774193548 5.000000000
+270.967741935 100.000000000 5.000000000
+280.645161290 0.000000000 10.000000000
+280.645161290 3.225806452 10.000000000
+280.645161290 6.451612903 10.000000000
+280.645161290 9.677419355 10.000000000
+280.645161290 12.903225806 10.000000000
+280.645161290 16.129032258 10.000000000
+280.645161290 19.354838710 10.000000000
+280.645161290 22.580645161 10.000000000
+280.645161290 25.806451613 10.000000000
+280.645161290 29.032258065 10.000000000
+280.645161290 32.258064516 10.000000000
+280.645161290 35.483870968 9.879032258
+280.645161290 38.709677419 9.072580645
+280.645161290 41.935483871 8.266129032
+280.645161290 45.161290323 7.500000000
+280.645161290 48.387096774 7.500000000
+280.645161290 51.612903226 7.500000000
+280.645161290 54.838709677 7.500000000
+280.645161290 58.064516129 6.733870968
+280.645161290 61.290322581 5.927419355
+280.645161290 64.516129032 5.120967742
+280.645161290 67.741935484 5.000000000
+280.645161290 70.967741935 5.000000000
+280.645161290 74.193548387 5.000000000
+280.645161290 77.419354839 5.000000000
+280.645161290 80.645161290 5.000000000
+280.645161290 83.870967742 5.000000000
+280.645161290 87.096774194 5.000000000
+280.645161290 90.322580645 5.000000000
+280.645161290 93.548387097 5.000000000
+280.645161290 96.774193548 5.000000000
+280.645161290 100.000000000 5.000000000
+290.322580645 0.000000000 10.000000000
+290.322580645 3.225806452 10.000000000
+290.322580645 6.451612903 10.000000000
+290.322580645 9.677419355 10.000000000
+290.322580645 12.903225806 10.000000000
+290.322580645 16.129032258 10.000000000
+290.322580645 19.354838710 10.000000000
+290.322580645 22.580645161 10.000000000
+290.322580645 25.806451613 10.000000000
+290.322580645 29.032258065 10.000000000
+290.322580645 32.258064516 10.000000000
+290.322580645 35.483870968 9.879032258
+290.322580645 38.709677419 9.072580645
+290.322580645 41.935483871 8.266129032
+290.322580645 45.161290323 7.500000000
+290.322580645 48.387096774 7.500000000
+290.322580645 51.612903226 7.500000000
+290.322580645 54.838709677 7.500000000
+290.322580645 58.064516129 6.733870968
+290.322580645 61.290322581 5.927419355
+290.322580645 64.516129032 5.120967742
+290.322580645 67.741935484 5.000000000
+290.322580645 70.967741935 5.000000000
+290.322580645 74.193548387 5.000000000
+290.322580645 77.419354839 5.000000000
+290.322580645 80.645161290 5.000000000
+290.322580645 83.870967742 5.000000000
+290.322580645 87.096774194 5.000000000
+290.322580645 90.322580645 5.000000000
+290.322580645 93.548387097 5.000000000
+290.322580645 96.774193548 5.000000000
+290.322580645 100.000000000 5.000000000
+300.000000000 0.000000000 10.000000000
+300.000000000 3.225806452 10.000000000
+300.000000000 6.451612903 10.000000000
+300.000000000 9.677419355 10.000000000
+300.000000000 12.903225806 10.000000000
+300.000000000 16.129032258 10.000000000
+300.000000000 19.354838710 10.000000000
+300.000000000 22.580645161 10.000000000
+300.000000000 25.806451613 10.000000000
+300.000000000 29.032258065 10.000000000
+300.000000000 32.258064516 10.000000000
+300.000000000 35.483870968 9.879032258
+300.000000000 38.709677419 9.072580645
+300.000000000 41.935483871 8.266129032
+300.000000000 45.161290323 7.500000000
+300.000000000 48.387096774 7.500000000
+300.000000000 51.612903226 7.500000000
+300.000000000 54.838709677 7.500000000
+300.000000000 58.064516129 6.733870968
+300.000000000 61.290322581 5.927419355
+300.000000000 64.516129032 5.120967742
+300.000000000 67.741935484 5.000000000
+300.000000000 70.967741935 5.000000000
+300.000000000 74.193548387 5.000000000
+300.000000000 77.419354839 5.000000000
+300.000000000 80.645161290 5.000000000
+300.000000000 83.870967742 5.000000000
+300.000000000 87.096774194 5.000000000
+300.000000000 90.322580645 5.000000000
+300.000000000 93.548387097 5.000000000
+300.000000000 96.774193548 5.000000000
+300.000000000 100.000000000 5.000000000
diff --git a/examples/takagi-sugeno/octave/heart_disease_risk.fll b/examples/takagi-sugeno/octave/heart_disease_risk.fll
index 5bc3207..4ab822f 100644
--- a/examples/takagi-sugeno/octave/heart_disease_risk.fll
+++ b/examples/takagi-sugeno/octave/heart_disease_risk.fll
@@ -1,7 +1,8 @@
-Engine: Heart-Disease-Risk
+Engine: heart_disease_risk
InputVariable: LDLLevel
enabled: true
range: 0.000 300.000
+ lock-range: false
term: Low Trapezoid -1.000 0.000 90.000 110.000
term: LowBorderline Trapezoid 90.000 110.000 120.000 140.000
term: Borderline Trapezoid 120.000 140.000 150.000 170.000
@@ -10,17 +11,18 @@ InputVariable: LDLLevel
InputVariable: HDLLevel
enabled: true
range: 0.000 100.000
+ lock-range: false
term: LowHDL Trapezoid -1.000 0.000 35.000 45.000
term: ModerateHDL Trapezoid 35.000 45.000 55.000 65.000
term: HighHDL Trapezoid 55.000 65.000 100.000 101.000
OutputVariable: HeartDiseaseRisk
enabled: true
range: 0.000 10.000
- accumulation: none
+ lock-range: false
+ aggregation: none
defuzzifier: WeightedAverage TakagiSugeno
default: nan
lock-previous: false
- lock-range: false
term: NoRisk Constant 0.000
term: LowRisk Constant 2.500
term: MediumRisk Constant 5.000
@@ -30,7 +32,8 @@ RuleBlock:
enabled: true
conjunction: Minimum
disjunction: none
- activation: none
+ implication: none
+ activation: General
rule: if LDLLevel is Low and HDLLevel is LowHDL then HeartDiseaseRisk is MediumRisk
rule: if LDLLevel is Low and HDLLevel is ModerateHDL then HeartDiseaseRisk is LowRisk
rule: if LDLLevel is Low and HDLLevel is HighHDL then HeartDiseaseRisk is NoRisk
diff --git a/examples/takagi-sugeno/octave/heart_disease_risk.java b/examples/takagi-sugeno/octave/heart_disease_risk.java
index fcd67c9..febd1c7 100644
--- a/examples/takagi-sugeno/octave/heart_disease_risk.java
+++ b/examples/takagi-sugeno/octave/heart_disease_risk.java
@@ -1,4 +1,5 @@
import com.fuzzylite.*;
+import com.fuzzylite.activation.*
import com.fuzzylite.defuzzifier.*;
import com.fuzzylite.factory.*;
import com.fuzzylite.hedge.*;
@@ -12,51 +13,61 @@ import com.fuzzylite.variable.*;
public class heart_disease_risk{
public static void main(String[] args){
+//Code automatically generated with fuzzylite 6.0.
+
Engine engine = new Engine();
-engine.setName("Heart-Disease-Risk");
+engine.setName("heart_disease_risk");
+engine.setDescription("");
-InputVariable inputVariable1 = new InputVariable();
-inputVariable1.setEnabled(true);
-inputVariable1.setName("LDLLevel");
-inputVariable1.setRange(0.000, 300.000);
-inputVariable1.addTerm(new Trapezoid("Low", -1.000, 0.000, 90.000, 110.000));
-inputVariable1.addTerm(new Trapezoid("LowBorderline", 90.000, 110.000, 120.000, 140.000));
-inputVariable1.addTerm(new Trapezoid("Borderline", 120.000, 140.000, 150.000, 170.000));
-inputVariable1.addTerm(new Trapezoid("HighBorderline", 150.000, 170.000, 180.000, 200.000));
-inputVariable1.addTerm(new Trapezoid("High", 180.000, 200.000, 300.000, 301.000));
-engine.addInputVariable(inputVariable1);
+InputVariable LDLLevel = new InputVariable();
+LDLLevel.setName("LDLLevel");
+LDLLevel.setDescription("");
+LDLLevel.setEnabled(true);
+LDLLevel.setRange(0.000, 300.000);
+LDLLevel.setLockValueInRange(false);
+LDLLevel.addTerm(new Trapezoid("Low", -1.000, 0.000, 90.000, 110.000));
+LDLLevel.addTerm(new Trapezoid("LowBorderline", 90.000, 110.000, 120.000, 140.000));
+LDLLevel.addTerm(new Trapezoid("Borderline", 120.000, 140.000, 150.000, 170.000));
+LDLLevel.addTerm(new Trapezoid("HighBorderline", 150.000, 170.000, 180.000, 200.000));
+LDLLevel.addTerm(new Trapezoid("High", 180.000, 200.000, 300.000, 301.000));
+engine.addInputVariable(LDLLevel);
-InputVariable inputVariable2 = new InputVariable();
-inputVariable2.setEnabled(true);
-inputVariable2.setName("HDLLevel");
-inputVariable2.setRange(0.000, 100.000);
-inputVariable2.addTerm(new Trapezoid("LowHDL", -1.000, 0.000, 35.000, 45.000));
-inputVariable2.addTerm(new Trapezoid("ModerateHDL", 35.000, 45.000, 55.000, 65.000));
-inputVariable2.addTerm(new Trapezoid("HighHDL", 55.000, 65.000, 100.000, 101.000));
-engine.addInputVariable(inputVariable2);
+InputVariable HDLLevel = new InputVariable();
+HDLLevel.setName("HDLLevel");
+HDLLevel.setDescription("");
+HDLLevel.setEnabled(true);
+HDLLevel.setRange(0.000, 100.000);
+HDLLevel.setLockValueInRange(false);
+HDLLevel.addTerm(new Trapezoid("LowHDL", -1.000, 0.000, 35.000, 45.000));
+HDLLevel.addTerm(new Trapezoid("ModerateHDL", 35.000, 45.000, 55.000, 65.000));
+HDLLevel.addTerm(new Trapezoid("HighHDL", 55.000, 65.000, 100.000, 101.000));
+engine.addInputVariable(HDLLevel);
-OutputVariable outputVariable = new OutputVariable();
-outputVariable.setEnabled(true);
-outputVariable.setName("HeartDiseaseRisk");
-outputVariable.setRange(0.000, 10.000);
-outputVariable.fuzzyOutput().setAccumulation(null);
-outputVariable.setDefuzzifier(new WeightedAverage("TakagiSugeno"));
-outputVariable.setDefaultValue(Double.NaN);
-outputVariable.setLockPreviousOutputValue(false);
-outputVariable.setLockOutputValueInRange(false);
-outputVariable.addTerm(new Constant("NoRisk", 0.000));
-outputVariable.addTerm(new Constant("LowRisk", 2.500));
-outputVariable.addTerm(new Constant("MediumRisk", 5.000));
-outputVariable.addTerm(new Constant("HighRisk", 7.500));
-outputVariable.addTerm(new Constant("ExtremeRisk", 10.000));
-engine.addOutputVariable(outputVariable);
+OutputVariable HeartDiseaseRisk = new OutputVariable();
+HeartDiseaseRisk.setName("HeartDiseaseRisk");
+HeartDiseaseRisk.setDescription("");
+HeartDiseaseRisk.setEnabled(true);
+HeartDiseaseRisk.setRange(0.000, 10.000);
+HeartDiseaseRisk.setLockValueInRange(false);
+HeartDiseaseRisk.setAggregation(null);
+HeartDiseaseRisk.setDefuzzifier(new WeightedAverage("TakagiSugeno"));
+HeartDiseaseRisk.setDefaultValue(Double.NaN);
+HeartDiseaseRisk.setLockPreviousValue(false);
+HeartDiseaseRisk.addTerm(new Constant("NoRisk", 0.000));
+HeartDiseaseRisk.addTerm(new Constant("LowRisk", 2.500));
+HeartDiseaseRisk.addTerm(new Constant("MediumRisk", 5.000));
+HeartDiseaseRisk.addTerm(new Constant("HighRisk", 7.500));
+HeartDiseaseRisk.addTerm(new Constant("ExtremeRisk", 10.000));
+engine.addOutputVariable(HeartDiseaseRisk);
RuleBlock ruleBlock = new RuleBlock();
-ruleBlock.setEnabled(true);
ruleBlock.setName("");
+ruleBlock.setDescription("");
+ruleBlock.setEnabled(true);
ruleBlock.setConjunction(new Minimum());
ruleBlock.setDisjunction(null);
-ruleBlock.setActivation(null);
+ruleBlock.setImplication(null);
+ruleBlock.setActivation(new General());
ruleBlock.addRule(Rule.parse("if LDLLevel is Low and HDLLevel is LowHDL then HeartDiseaseRisk is MediumRisk", engine));
ruleBlock.addRule(Rule.parse("if LDLLevel is Low and HDLLevel is ModerateHDL then HeartDiseaseRisk is LowRisk", engine));
ruleBlock.addRule(Rule.parse("if LDLLevel is Low and HDLLevel is HighHDL then HeartDiseaseRisk is NoRisk", engine));
diff --git a/examples/takagi-sugeno/octave/heart_disease_risk.pdf b/examples/takagi-sugeno/octave/heart_disease_risk.pdf
new file mode 100644
index 0000000..e712d54
--- /dev/null
+++ b/examples/takagi-sugeno/octave/heart_disease_risk.pdf
Binary files differ
diff --git a/examples/takagi-sugeno/octave/linear_tip_calculator.R b/examples/takagi-sugeno/octave/linear_tip_calculator.R
new file mode 100644
index 0000000..e6a7058
--- /dev/null
+++ b/examples/takagi-sugeno/octave/linear_tip_calculator.R
@@ -0,0 +1,67 @@
+#Code automatically generated with fuzzylite 6.0.
+
+library(ggplot2);
+
+engine.name = "linear_tip_calculator"
+engine.fll = "Engine: linear_tip_calculator
+InputVariable: FoodQuality
+ enabled: true
+ range: 1.000 10.000
+ lock-range: false
+ term: Bad Trapezoid 0.000 1.000 3.000 7.000
+ term: Good Trapezoid 3.000 7.000 10.000 11.000
+InputVariable: Service
+ enabled: true
+ range: 1.000 10.000
+ lock-range: false
+ term: Bad Trapezoid 0.000 1.000 3.000 7.000
+ term: Good Trapezoid 3.000 7.000 10.000 11.000
+OutputVariable: Tip
+ enabled: true
+ range: 10.000 20.000
+ lock-range: false
+ aggregation: none
+ defuzzifier: WeightedAverage TakagiSugeno
+ default: nan
+ lock-previous: false
+ term: TenPercent Linear 0.000 0.000 10.000
+ term: FifteenPercent Linear 0.000 0.000 15.000
+ term: TwentyPercent Linear 0.000 0.000 20.000
+RuleBlock:
+ enabled: true
+ conjunction: Minimum
+ disjunction: none
+ implication: none
+ activation: General
+ rule: if FoodQuality is Bad and Service is Bad then Tip is TenPercent
+ rule: if FoodQuality is Bad and Service is Good then Tip is FifteenPercent
+ rule: if FoodQuality is Good and Service is Bad then Tip is FifteenPercent
+ rule: if FoodQuality is Good and Service is Good then Tip is TwentyPercent"
+
+engine.fldFile = "linear_tip_calculator.fld"
+if (require(data.table)) {
+ engine.df = data.table::fread(engine.fldFile, sep="auto", header="auto")
+} else {
+ engine.df = read.table(engine.fldFile, header=TRUE)
+}
+
+engine.plot.i1i2_o1 = ggplot(engine.df, aes(FoodQuality, Service)) +
+ geom_tile(aes(fill=Tip)) +
+ scale_fill_gradient(low="yellow", high="red") +
+ stat_contour(aes(x=FoodQuality, y=Service, z=Tip), color="black") +
+ ggtitle("(FoodQuality, Service) = Tip")
+
+engine.plot.i2i1_o1 = ggplot(engine.df, aes(Service, FoodQuality)) +
+ geom_tile(aes(fill=Tip)) +
+ scale_fill_gradient(low="yellow", high="red") +
+ stat_contour(aes(x=Service, y=FoodQuality, z=Tip), color="black") +
+ ggtitle("(Service, FoodQuality) = Tip")
+
+if (require(gridExtra)) {
+ engine.plots = arrangeGrob(engine.plot.i1i2_o1, engine.plot.i2i1_o1, ncol=2, top=engine.name)
+ ggsave(paste0(engine.name, ".pdf"), engine.plots)
+ if (require(grid)) {
+ grid.newpage()
+ grid.draw(engine.plots)
+ }
+}
diff --git a/examples/takagi-sugeno/octave/linear_tip_calculator.cpp b/examples/takagi-sugeno/octave/linear_tip_calculator.cpp
index 6982766..f0d4a43 100644
--- a/examples/takagi-sugeno/octave/linear_tip_calculator.cpp
+++ b/examples/takagi-sugeno/octave/linear_tip_calculator.cpp
@@ -1,51 +1,61 @@
#include <fl/Headers.h>
int main(int argc, char** argv){
+//Code automatically generated with fuzzylite 6.0.
+
using namespace fl;
Engine* engine = new Engine;
-engine->setName("Linear-Tip-Calculator");
-
-InputVariable* inputVariable1 = new InputVariable;
-inputVariable1->setEnabled(true);
-inputVariable1->setName("FoodQuality");
-inputVariable1->setRange(1.000, 10.000);
-inputVariable1->addTerm(new Trapezoid("Bad", 0.000, 1.000, 3.000, 7.000));
-inputVariable1->addTerm(new Trapezoid("Good", 3.000, 7.000, 10.000, 11.000));
-engine->addInputVariable(inputVariable1);
-
-InputVariable* inputVariable2 = new InputVariable;
-inputVariable2->setEnabled(true);
-inputVariable2->setName("Service");
-inputVariable2->setRange(1.000, 10.000);
-inputVariable2->addTerm(new Trapezoid("Bad", 0.000, 1.000, 3.000, 7.000));
-inputVariable2->addTerm(new Trapezoid("Good", 3.000, 7.000, 10.000, 11.000));
-engine->addInputVariable(inputVariable2);
-
-OutputVariable* outputVariable = new OutputVariable;
-outputVariable->setEnabled(true);
-outputVariable->setName("Tip");
-outputVariable->setRange(10.000, 20.000);
-outputVariable->fuzzyOutput()->setAccumulation(fl::null);
-outputVariable->setDefuzzifier(new WeightedAverage("TakagiSugeno"));
-outputVariable->setDefaultValue(fl::nan);
-outputVariable->setLockPreviousOutputValue(false);
-outputVariable->setLockOutputValueInRange(false);
-outputVariable->addTerm(Linear::create("TenPercent", engine, 0.000, 0.000, 10.000));
-outputVariable->addTerm(Linear::create("FifteenPercent", engine, 0.000, 0.000, 15.000));
-outputVariable->addTerm(Linear::create("TwentyPercent", engine, 0.000, 0.000, 20.000));
-engine->addOutputVariable(outputVariable);
+engine->setName("linear_tip_calculator");
+engine->setDescription("");
+
+InputVariable* FoodQuality = new InputVariable;
+FoodQuality->setName("FoodQuality");
+FoodQuality->setDescription("");
+FoodQuality->setEnabled(true);
+FoodQuality->setRange(1.000, 10.000);
+FoodQuality->setLockValueInRange(false);
+FoodQuality->addTerm(new Trapezoid("Bad", 0.000, 1.000, 3.000, 7.000));
+FoodQuality->addTerm(new Trapezoid("Good", 3.000, 7.000, 10.000, 11.000));
+engine->addInputVariable(FoodQuality);
+
+InputVariable* Service = new InputVariable;
+Service->setName("Service");
+Service->setDescription("");
+Service->setEnabled(true);
+Service->setRange(1.000, 10.000);
+Service->setLockValueInRange(false);
+Service->addTerm(new Trapezoid("Bad", 0.000, 1.000, 3.000, 7.000));
+Service->addTerm(new Trapezoid("Good", 3.000, 7.000, 10.000, 11.000));
+engine->addInputVariable(Service);
+
+OutputVariable* Tip = new OutputVariable;
+Tip->setName("Tip");
+Tip->setDescription("");
+Tip->setEnabled(true);
+Tip->setRange(10.000, 20.000);
+Tip->setLockValueInRange(false);
+Tip->setAggregation(fl::null);
+Tip->setDefuzzifier(new WeightedAverage("TakagiSugeno"));
+Tip->setDefaultValue(fl::nan);
+Tip->setLockPreviousValue(false);
+Tip->addTerm(Linear::create("TenPercent", engine, 0.000, 0.000, 10.000));
+Tip->addTerm(Linear::create("FifteenPercent", engine, 0.000, 0.000, 15.000));
+Tip->addTerm(Linear::create("TwentyPercent", engine, 0.000, 0.000, 20.000));
+engine->addOutputVariable(Tip);
RuleBlock* ruleBlock = new RuleBlock;
-ruleBlock->setEnabled(true);
ruleBlock->setName("");
+ruleBlock->setDescription("");
+ruleBlock->setEnabled(true);
ruleBlock->setConjunction(new Minimum);
ruleBlock->setDisjunction(fl::null);
-ruleBlock->setActivation(fl::null);
-ruleBlock->addRule(fl::Rule::parse("if FoodQuality is Bad and Service is Bad then Tip is TenPercent", engine));
-ruleBlock->addRule(fl::Rule::parse("if FoodQuality is Bad and Service is Good then Tip is FifteenPercent", engine));
-ruleBlock->addRule(fl::Rule::parse("if FoodQuality is Good and Service is Bad then Tip is FifteenPercent", engine));
-ruleBlock->addRule(fl::Rule::parse("if FoodQuality is Good and Service is Good then Tip is TwentyPercent", engine));
+ruleBlock->setImplication(fl::null);
+ruleBlock->setActivation(new General);
+ruleBlock->addRule(Rule::parse("if FoodQuality is Bad and Service is Bad then Tip is TenPercent", engine));
+ruleBlock->addRule(Rule::parse("if FoodQuality is Bad and Service is Good then Tip is FifteenPercent", engine));
+ruleBlock->addRule(Rule::parse("if FoodQuality is Good and Service is Bad then Tip is FifteenPercent", engine));
+ruleBlock->addRule(Rule::parse("if FoodQuality is Good and Service is Good then Tip is TwentyPercent", engine));
engine->addRuleBlock(ruleBlock);
diff --git a/examples/takagi-sugeno/octave/linear_tip_calculator.fcl b/examples/takagi-sugeno/octave/linear_tip_calculator.fcl
index d326b2e..9b28c0e 100644
--- a/examples/takagi-sugeno/octave/linear_tip_calculator.fcl
+++ b/examples/takagi-sugeno/octave/linear_tip_calculator.fcl
@@ -1,4 +1,6 @@
-FUNCTION_BLOCK Linear-Tip-Calculator
+//Code automatically generated with fuzzylite 6.0.
+
+FUNCTION_BLOCK linear_tip_calculator
VAR_INPUT
FoodQuality: REAL;
diff --git a/examples/takagi-sugeno/octave/linear_tip_calculator.fis b/examples/takagi-sugeno/octave/linear_tip_calculator.fis
index 8df5a02..58b4016 100644
--- a/examples/takagi-sugeno/octave/linear_tip_calculator.fis
+++ b/examples/takagi-sugeno/octave/linear_tip_calculator.fis
@@ -1,13 +1,16 @@
+#Code automatically generated with fuzzylite 6.0.
+
[System]
-Name='Linear-Tip-Calculator'
+Name='linear_tip_calculator'
Type='sugeno'
+Version=6.0
NumInputs=2
NumOutputs=1
NumRules=4
AndMethod='min'
-OrMethod=''
-ImpMethod=''
-AggMethod=''
+OrMethod='max'
+ImpMethod='min'
+AggMethod='max'
DefuzzMethod='wtaver'
[Input1]
diff --git a/examples/takagi-sugeno/octave/linear_tip_calculator.fld b/examples/takagi-sugeno/octave/linear_tip_calculator.fld
index 27f51b4..60f4542 100644
--- a/examples/takagi-sugeno/octave/linear_tip_calculator.fld
+++ b/examples/takagi-sugeno/octave/linear_tip_calculator.fld
@@ -1,1026 +1,1025 @@
-#@Engine: Linear-Tip-Calculator;
-#@InputVariable: FoodQuality; @InputVariable: Service; @OutputVariable: Tip;
-1.00000000 1.00000000 10.00000000
-1.00000000 1.29032258 10.00000000
-1.00000000 1.58064516 10.00000000
-1.00000000 1.87096774 10.00000000
-1.00000000 2.16129032 10.00000000
-1.00000000 2.45161290 10.00000000
-1.00000000 2.74193548 10.00000000
-1.00000000 3.03225806 10.04032258
-1.00000000 3.32258065 10.40322581
-1.00000000 3.61290323 10.76612903
-1.00000000 3.90322581 11.12903226
-1.00000000 4.19354839 11.49193548
-1.00000000 4.48387097 11.85483871
-1.00000000 4.77419355 12.21774194
-1.00000000 5.06451613 12.58064516
-1.00000000 5.35483871 12.94354839
-1.00000000 5.64516129 13.30645161
-1.00000000 5.93548387 13.66935484
-1.00000000 6.22580645 14.03225806
-1.00000000 6.51612903 14.39516129
-1.00000000 6.80645161 14.75806452
-1.00000000 7.09677419 15.00000000
-1.00000000 7.38709677 15.00000000
-1.00000000 7.67741935 15.00000000
-1.00000000 7.96774194 15.00000000
-1.00000000 8.25806452 15.00000000
-1.00000000 8.54838710 15.00000000
-1.00000000 8.83870968 15.00000000
-1.00000000 9.12903226 15.00000000
-1.00000000 9.41935484 15.00000000
-1.00000000 9.70967742 15.00000000
-1.00000000 10.00000000 15.00000000
-1.29032258 1.00000000 10.00000000
-1.29032258 1.29032258 10.00000000
-1.29032258 1.58064516 10.00000000
-1.29032258 1.87096774 10.00000000
-1.29032258 2.16129032 10.00000000
-1.29032258 2.45161290 10.00000000
-1.29032258 2.74193548 10.00000000
-1.29032258 3.03225806 10.04032258
-1.29032258 3.32258065 10.40322581
-1.29032258 3.61290323 10.76612903
-1.29032258 3.90322581 11.12903226
-1.29032258 4.19354839 11.49193548
-1.29032258 4.48387097 11.85483871
-1.29032258 4.77419355 12.21774194
-1.29032258 5.06451613 12.58064516
-1.29032258 5.35483871 12.94354839
-1.29032258 5.64516129 13.30645161
-1.29032258 5.93548387 13.66935484
-1.29032258 6.22580645 14.03225806
-1.29032258 6.51612903 14.39516129
-1.29032258 6.80645161 14.75806452
-1.29032258 7.09677419 15.00000000
-1.29032258 7.38709677 15.00000000
-1.29032258 7.67741935 15.00000000
-1.29032258 7.96774194 15.00000000
-1.29032258 8.25806452 15.00000000
-1.29032258 8.54838710 15.00000000
-1.29032258 8.83870968 15.00000000
-1.29032258 9.12903226 15.00000000
-1.29032258 9.41935484 15.00000000
-1.29032258 9.70967742 15.00000000
-1.29032258 10.00000000 15.00000000
-1.58064516 1.00000000 10.00000000
-1.58064516 1.29032258 10.00000000
-1.58064516 1.58064516 10.00000000
-1.58064516 1.87096774 10.00000000
-1.58064516 2.16129032 10.00000000
-1.58064516 2.45161290 10.00000000
-1.58064516 2.74193548 10.00000000
-1.58064516 3.03225806 10.04032258
-1.58064516 3.32258065 10.40322581
-1.58064516 3.61290323 10.76612903
-1.58064516 3.90322581 11.12903226
-1.58064516 4.19354839 11.49193548
-1.58064516 4.48387097 11.85483871
-1.58064516 4.77419355 12.21774194
-1.58064516 5.06451613 12.58064516
-1.58064516 5.35483871 12.94354839
-1.58064516 5.64516129 13.30645161
-1.58064516 5.93548387 13.66935484
-1.58064516 6.22580645 14.03225806
-1.58064516 6.51612903 14.39516129
-1.58064516 6.80645161 14.75806452
-1.58064516 7.09677419 15.00000000
-1.58064516 7.38709677 15.00000000
-1.58064516 7.67741935 15.00000000
-1.58064516 7.96774194 15.00000000
-1.58064516 8.25806452 15.00000000
-1.58064516 8.54838710 15.00000000
-1.58064516 8.83870968 15.00000000
-1.58064516 9.12903226 15.00000000
-1.58064516 9.41935484 15.00000000
-1.58064516 9.70967742 15.00000000
-1.58064516 10.00000000 15.00000000
-1.87096774 1.00000000 10.00000000
-1.87096774 1.29032258 10.00000000
-1.87096774 1.58064516 10.00000000
-1.87096774 1.87096774 10.00000000
-1.87096774 2.16129032 10.00000000
-1.87096774 2.45161290 10.00000000
-1.87096774 2.74193548 10.00000000
-1.87096774 3.03225806 10.04032258
-1.87096774 3.32258065 10.40322581
-1.87096774 3.61290323 10.76612903
-1.87096774 3.90322581 11.12903226
-1.87096774 4.19354839 11.49193548
-1.87096774 4.48387097 11.85483871
-1.87096774 4.77419355 12.21774194
-1.87096774 5.06451613 12.58064516
-1.87096774 5.35483871 12.94354839
-1.87096774 5.64516129 13.30645161
-1.87096774 5.93548387 13.66935484
-1.87096774 6.22580645 14.03225806
-1.87096774 6.51612903 14.39516129
-1.87096774 6.80645161 14.75806452
-1.87096774 7.09677419 15.00000000
-1.87096774 7.38709677 15.00000000
-1.87096774 7.67741935 15.00000000
-1.87096774 7.96774194 15.00000000
-1.87096774 8.25806452 15.00000000
-1.87096774 8.54838710 15.00000000
-1.87096774 8.83870968 15.00000000
-1.87096774 9.12903226 15.00000000
-1.87096774 9.41935484 15.00000000
-1.87096774 9.70967742 15.00000000
-1.87096774 10.00000000 15.00000000
-2.16129032 1.00000000 10.00000000
-2.16129032 1.29032258 10.00000000
-2.16129032 1.58064516 10.00000000
-2.16129032 1.87096774 10.00000000
-2.16129032 2.16129032 10.00000000
-2.16129032 2.45161290 10.00000000
-2.16129032 2.74193548 10.00000000
-2.16129032 3.03225806 10.04032258
-2.16129032 3.32258065 10.40322581
-2.16129032 3.61290323 10.76612903
-2.16129032 3.90322581 11.12903226
-2.16129032 4.19354839 11.49193548
-2.16129032 4.48387097 11.85483871
-2.16129032 4.77419355 12.21774194
-2.16129032 5.06451613 12.58064516
-2.16129032 5.35483871 12.94354839
-2.16129032 5.64516129 13.30645161
-2.16129032 5.93548387 13.66935484
-2.16129032 6.22580645 14.03225806
-2.16129032 6.51612903 14.39516129
-2.16129032 6.80645161 14.75806452
-2.16129032 7.09677419 15.00000000
-2.16129032 7.38709677 15.00000000
-2.16129032 7.67741935 15.00000000
-2.16129032 7.96774194 15.00000000
-2.16129032 8.25806452 15.00000000
-2.16129032 8.54838710 15.00000000
-2.16129032 8.83870968 15.00000000
-2.16129032 9.12903226 15.00000000
-2.16129032 9.41935484 15.00000000
-2.16129032 9.70967742 15.00000000
-2.16129032 10.00000000 15.00000000
-2.45161290 1.00000000 10.00000000
-2.45161290 1.29032258 10.00000000
-2.45161290 1.58064516 10.00000000
-2.45161290 1.87096774 10.00000000
-2.45161290 2.16129032 10.00000000
-2.45161290 2.45161290 10.00000000
-2.45161290 2.74193548 10.00000000
-2.45161290 3.03225806 10.04032258
-2.45161290 3.32258065 10.40322581
-2.45161290 3.61290323 10.76612903
-2.45161290 3.90322581 11.12903226
-2.45161290 4.19354839 11.49193548
-2.45161290 4.48387097 11.85483871
-2.45161290 4.77419355 12.21774194
-2.45161290 5.06451613 12.58064516
-2.45161290 5.35483871 12.94354839
-2.45161290 5.64516129 13.30645161
-2.45161290 5.93548387 13.66935484
-2.45161290 6.22580645 14.03225806
-2.45161290 6.51612903 14.39516129
-2.45161290 6.80645161 14.75806452
-2.45161290 7.09677419 15.00000000
-2.45161290 7.38709677 15.00000000
-2.45161290 7.67741935 15.00000000
-2.45161290 7.96774194 15.00000000
-2.45161290 8.25806452 15.00000000
-2.45161290 8.54838710 15.00000000
-2.45161290 8.83870968 15.00000000
-2.45161290 9.12903226 15.00000000
-2.45161290 9.41935484 15.00000000
-2.45161290 9.70967742 15.00000000
-2.45161290 10.00000000 15.00000000
-2.74193548 1.00000000 10.00000000
-2.74193548 1.29032258 10.00000000
-2.74193548 1.58064516 10.00000000
-2.74193548 1.87096774 10.00000000
-2.74193548 2.16129032 10.00000000
-2.74193548 2.45161290 10.00000000
-2.74193548 2.74193548 10.00000000
-2.74193548 3.03225806 10.04032258
-2.74193548 3.32258065 10.40322581
-2.74193548 3.61290323 10.76612903
-2.74193548 3.90322581 11.12903226
-2.74193548 4.19354839 11.49193548
-2.74193548 4.48387097 11.85483871
-2.74193548 4.77419355 12.21774194
-2.74193548 5.06451613 12.58064516
-2.74193548 5.35483871 12.94354839
-2.74193548 5.64516129 13.30645161
-2.74193548 5.93548387 13.66935484
-2.74193548 6.22580645 14.03225806
-2.74193548 6.51612903 14.39516129
-2.74193548 6.80645161 14.75806452
-2.74193548 7.09677419 15.00000000
-2.74193548 7.38709677 15.00000000
-2.74193548 7.67741935 15.00000000
-2.74193548 7.96774194 15.00000000
-2.74193548 8.25806452 15.00000000
-2.74193548 8.54838710 15.00000000
-2.74193548 8.83870968 15.00000000
-2.74193548 9.12903226 15.00000000
-2.74193548 9.41935484 15.00000000
-2.74193548 9.70967742 15.00000000
-2.74193548 10.00000000 15.00000000
-3.03225806 1.00000000 10.04032258
-3.03225806 1.29032258 10.04032258
-3.03225806 1.58064516 10.04032258
-3.03225806 1.87096774 10.04032258
-3.03225806 2.16129032 10.04032258
-3.03225806 2.45161290 10.04032258
-3.03225806 2.74193548 10.04032258
-3.03225806 3.03225806 10.15873016
-3.03225806 3.32258065 10.51587302
-3.03225806 3.61290323 10.87301587
-3.03225806 3.90322581 11.23015873
-3.03225806 4.19354839 11.58730159
-3.03225806 4.48387097 11.94444444
-3.03225806 4.77419355 12.30158730
-3.03225806 5.06451613 12.65873016
-3.03225806 5.35483871 13.01587302
-3.03225806 5.64516129 13.37301587
-3.03225806 5.93548387 13.73015873
-3.03225806 6.22580645 14.08730159
-3.03225806 6.51612903 14.44444444
-3.03225806 6.80645161 14.80158730
-3.03225806 7.09677419 15.04032258
-3.03225806 7.38709677 15.04032258
-3.03225806 7.67741935 15.04032258
-3.03225806 7.96774194 15.04032258
-3.03225806 8.25806452 15.04032258
-3.03225806 8.54838710 15.04032258
-3.03225806 8.83870968 15.04032258
-3.03225806 9.12903226 15.04032258
-3.03225806 9.41935484 15.04032258
-3.03225806 9.70967742 15.04032258
-3.03225806 10.00000000 15.04032258
-3.32258065 1.00000000 10.40322581
-3.32258065 1.29032258 10.40322581
-3.32258065 1.58064516 10.40322581
-3.32258065 1.87096774 10.40322581
-3.32258065 2.16129032 10.40322581
-3.32258065 2.45161290 10.40322581
-3.32258065 2.74193548 10.40322581
-3.32258065 3.03225806 10.51587302
-3.32258065 3.32258065 11.38888889
-3.32258065 3.61290323 11.70138889
-3.32258065 3.90322581 12.01388889
-3.32258065 4.19354839 12.32638889
-3.32258065 4.48387097 12.63888889
-3.32258065 4.77419355 12.95138889
-3.32258065 5.06451613 13.26388889
-3.32258065 5.35483871 13.57638889
-3.32258065 5.64516129 13.88888889
-3.32258065 5.93548387 14.20138889
-3.32258065 6.22580645 14.51388889
-3.32258065 6.51612903 14.82638889
-3.32258065 6.80645161 15.14705882
-3.32258065 7.09677419 15.40322581
-3.32258065 7.38709677 15.40322581
-3.32258065 7.67741935 15.40322581
-3.32258065 7.96774194 15.40322581
-3.32258065 8.25806452 15.40322581
-3.32258065 8.54838710 15.40322581
-3.32258065 8.83870968 15.40322581
-3.32258065 9.12903226 15.40322581
-3.32258065 9.41935484 15.40322581
-3.32258065 9.70967742 15.40322581
-3.32258065 10.00000000 15.40322581
-3.61290323 1.00000000 10.76612903
-3.61290323 1.29032258 10.76612903
-3.61290323 1.58064516 10.76612903
-3.61290323 1.87096774 10.76612903
-3.61290323 2.16129032 10.76612903
-3.61290323 2.45161290 10.76612903
-3.61290323 2.74193548 10.76612903
-3.61290323 3.03225806 10.87301587
-3.61290323 3.32258065 11.70138889
-3.61290323 3.61290323 12.34567901
-3.61290323 3.90322581 12.62345679
-3.61290323 4.19354839 12.90123457
-3.61290323 4.48387097 13.17901235
-3.61290323 4.77419355 13.45679012
-3.61290323 5.06451613 13.73456790
-3.61290323 5.35483871 14.01234568
-3.61290323 5.64516129 14.29012346
-3.61290323 5.93548387 14.56790123
-3.61290323 6.22580645 14.84567901
-3.61290323 6.51612903 15.12987013
-3.61290323 6.80645161 15.47794118
-3.61290323 7.09677419 15.76612903
-3.61290323 7.38709677 15.76612903
-3.61290323 7.67741935 15.76612903
-3.61290323 7.96774194 15.76612903
-3.61290323 8.25806452 15.76612903
-3.61290323 8.54838710 15.76612903
-3.61290323 8.83870968 15.76612903
-3.61290323 9.12903226 15.76612903
-3.61290323 9.41935484 15.76612903
-3.61290323 9.70967742 15.76612903
-3.61290323 10.00000000 15.76612903
-3.90322581 1.00000000 11.12903226
-3.90322581 1.29032258 11.12903226
-3.90322581 1.58064516 11.12903226
-3.90322581 1.87096774 11.12903226
-3.90322581 2.16129032 11.12903226
-3.90322581 2.45161290 11.12903226
-3.90322581 2.74193548 11.12903226
-3.90322581 3.03225806 11.23015873
-3.90322581 3.32258065 12.01388889
-3.90322581 3.61290323 12.62345679
-3.90322581 3.90322581 13.11111111
-3.90322581 4.19354839 13.36111111
-3.90322581 4.48387097 13.61111111
-3.90322581 4.77419355 13.86111111
-3.90322581 5.06451613 14.11111111
-3.90322581 5.35483871 14.36111111
-3.90322581 5.64516129 14.61111111
-3.90322581 5.93548387 14.86111111
-3.90322581 6.22580645 15.11627907
-3.90322581 6.51612903 15.42207792
-3.90322581 6.80645161 15.80882353
-3.90322581 7.09677419 16.12903226
-3.90322581 7.38709677 16.12903226
-3.90322581 7.67741935 16.12903226
-3.90322581 7.96774194 16.12903226
-3.90322581 8.25806452 16.12903226
-3.90322581 8.54838710 16.12903226
-3.90322581 8.83870968 16.12903226
-3.90322581 9.12903226 16.12903226
-3.90322581 9.41935484 16.12903226
-3.90322581 9.70967742 16.12903226
-3.90322581 10.00000000 16.12903226
-4.19354839 1.00000000 11.49193548
-4.19354839 1.29032258 11.49193548
-4.19354839 1.58064516 11.49193548
-4.19354839 1.87096774 11.49193548
-4.19354839 2.16129032 11.49193548
-4.19354839 2.45161290 11.49193548
-4.19354839 2.74193548 11.49193548
-4.19354839 3.03225806 11.58730159
-4.19354839 3.32258065 12.32638889
-4.19354839 3.61290323 12.90123457
-4.19354839 3.90322581 13.36111111
-4.19354839 4.19354839 13.73737374
-4.19354839 4.48387097 13.96464646
-4.19354839 4.77419355 14.19191919
-4.19354839 5.06451613 14.41919192
-4.19354839 5.35483871 14.64646465
-4.19354839 5.64516129 14.87373737
-4.19354839 5.93548387 15.10526316
-4.19354839 6.22580645 15.37790698
-4.19354839 6.51612903 15.71428571
-4.19354839 6.80645161 16.13970588
-4.19354839 7.09677419 16.49193548
-4.19354839 7.38709677 16.49193548
-4.19354839 7.67741935 16.49193548
-4.19354839 7.96774194 16.49193548
-4.19354839 8.25806452 16.49193548
-4.19354839 8.54838710 16.49193548
-4.19354839 8.83870968 16.49193548
-4.19354839 9.12903226 16.49193548
-4.19354839 9.41935484 16.49193548
-4.19354839 9.70967742 16.49193548
-4.19354839 10.00000000 16.49193548
-4.48387097 1.00000000 11.85483871
-4.48387097 1.29032258 11.85483871
-4.48387097 1.58064516 11.85483871
-4.48387097 1.87096774 11.85483871
-4.48387097 2.16129032 11.85483871
-4.48387097 2.45161290 11.85483871
-4.48387097 2.74193548 11.85483871
-4.48387097 3.03225806 11.94444444
-4.48387097 3.32258065 12.63888889
-4.48387097 3.61290323 13.17901235
-4.48387097 3.90322581 13.61111111
-4.48387097 4.19354839 13.96464646
-4.48387097 4.48387097 14.25925926
-4.48387097 4.77419355 14.46759259
-4.48387097 5.06451613 14.67592593
-4.48387097 5.35483871 14.88425926
-4.48387097 5.64516129 15.09615385
-4.48387097 5.93548387 15.34210526
-4.48387097 6.22580645 15.63953488
-4.48387097 6.51612903 16.00649351
-4.48387097 6.80645161 16.47058824
-4.48387097 7.09677419 16.85483871
-4.48387097 7.38709677 16.85483871
-4.48387097 7.67741935 16.85483871
-4.48387097 7.96774194 16.85483871
-4.48387097 8.25806452 16.85483871
-4.48387097 8.54838710 16.85483871
-4.48387097 8.83870968 16.85483871
-4.48387097 9.12903226 16.85483871
-4.48387097 9.41935484 16.85483871
-4.48387097 9.70967742 16.85483871
-4.48387097 10.00000000 16.85483871
-4.77419355 1.00000000 12.21774194
-4.77419355 1.29032258 12.21774194
-4.77419355 1.58064516 12.21774194
-4.77419355 1.87096774 12.21774194
-4.77419355 2.16129032 12.21774194
-4.77419355 2.45161290 12.21774194
-4.77419355 2.74193548 12.21774194
-4.77419355 3.03225806 12.30158730
-4.77419355 3.32258065 12.95138889
-4.77419355 3.61290323 13.45679012
-4.77419355 3.90322581 13.86111111
-4.77419355 4.19354839 14.19191919
-4.77419355 4.48387097 14.46759259
-4.77419355 4.77419355 14.70085470
-4.77419355 5.06451613 14.89316239
-4.77419355 5.35483871 15.08849558
-4.77419355 5.64516129 15.31250000
-4.77419355 5.93548387 15.57894737
-4.77419355 6.22580645 15.90116279
-4.77419355 6.51612903 16.29870130
-4.77419355 6.80645161 16.80147059
-4.77419355 7.09677419 17.21774194
-4.77419355 7.38709677 17.21774194
-4.77419355 7.67741935 17.21774194
-4.77419355 7.96774194 17.21774194
-4.77419355 8.25806452 17.21774194
-4.77419355 8.54838710 17.21774194
-4.77419355 8.83870968 17.21774194
-4.77419355 9.12903226 17.21774194
-4.77419355 9.41935484 17.21774194
-4.77419355 9.70967742 17.21774194
-4.77419355 10.00000000 17.21774194
-5.06451613 1.00000000 12.58064516
-5.06451613 1.29032258 12.58064516
-5.06451613 1.58064516 12.58064516
-5.06451613 1.87096774 12.58064516
-5.06451613 2.16129032 12.58064516
-5.06451613 2.45161290 12.58064516
-5.06451613 2.74193548 12.58064516
-5.06451613 3.03225806 12.65873016
-5.06451613 3.32258065 13.26388889
-5.06451613 3.61290323 13.73456790
-5.06451613 3.90322581 14.11111111
-5.06451613 4.19354839 14.41919192
-5.06451613 4.48387097 14.67592593
-5.06451613 4.77419355 14.89316239
-5.06451613 5.06451613 15.08196721
-5.06451613 5.35483871 15.28761062
-5.06451613 5.64516129 15.52884615
-5.06451613 5.93548387 15.81578947
-5.06451613 6.22580645 16.16279070
-5.06451613 6.51612903 16.59090909
-5.06451613 6.80645161 17.13235294
-5.06451613 7.09677419 17.58064516
-5.06451613 7.38709677 17.58064516
-5.06451613 7.67741935 17.58064516
-5.06451613 7.96774194 17.58064516
-5.06451613 8.25806452 17.58064516
-5.06451613 8.54838710 17.58064516
-5.06451613 8.83870968 17.58064516
-5.06451613 9.12903226 17.58064516
-5.06451613 9.41935484 17.58064516
-5.06451613 9.70967742 17.58064516
-5.06451613 10.00000000 17.58064516
-5.35483871 1.00000000 12.94354839
-5.35483871 1.29032258 12.94354839
-5.35483871 1.58064516 12.94354839
-5.35483871 1.87096774 12.94354839
-5.35483871 2.16129032 12.94354839
-5.35483871 2.45161290 12.94354839
-5.35483871 2.74193548 12.94354839
-5.35483871 3.03225806 13.01587302
-5.35483871 3.32258065 13.57638889
-5.35483871 3.61290323 14.01234568
-5.35483871 3.90322581 14.36111111
-5.35483871 4.19354839 14.64646465
-5.35483871 4.48387097 14.88425926
-5.35483871 4.77419355 15.08849558
-5.35483871 5.06451613 15.28761062
-5.35483871 5.35483871 15.48672566
-5.35483871 5.64516129 15.74519231
-5.35483871 5.93548387 16.05263158
-5.35483871 6.22580645 16.42441860
-5.35483871 6.51612903 16.88311688
-5.35483871 6.80645161 17.46323529
-5.35483871 7.09677419 17.94354839
-5.35483871 7.38709677 17.94354839
-5.35483871 7.67741935 17.94354839
-5.35483871 7.96774194 17.94354839
-5.35483871 8.25806452 17.94354839
-5.35483871 8.54838710 17.94354839
-5.35483871 8.83870968 17.94354839
-5.35483871 9.12903226 17.94354839
-5.35483871 9.41935484 17.94354839
-5.35483871 9.70967742 17.94354839
-5.35483871 10.00000000 17.94354839
-5.64516129 1.00000000 13.30645161
-5.64516129 1.29032258 13.30645161
-5.64516129 1.58064516 13.30645161
-5.64516129 1.87096774 13.30645161
-5.64516129 2.16129032 13.30645161
-5.64516129 2.45161290 13.30645161
-5.64516129 2.74193548 13.30645161
-5.64516129 3.03225806 13.37301587
-5.64516129 3.32258065 13.88888889
-5.64516129 3.61290323 14.29012346
-5.64516129 3.90322581 14.61111111
-5.64516129 4.19354839 14.87373737
-5.64516129 4.48387097 15.09615385
-5.64516129 4.77419355 15.31250000
-5.64516129 5.06451613 15.52884615
-5.64516129 5.35483871 15.74519231
-5.64516129 5.64516129 15.96153846
-5.64516129 5.93548387 16.28947368
-5.64516129 6.22580645 16.68604651
-5.64516129 6.51612903 17.17532468
-5.64516129 6.80645161 17.79411765
-5.64516129 7.09677419 18.30645161
-5.64516129 7.38709677 18.30645161
-5.64516129 7.67741935 18.30645161
-5.64516129 7.96774194 18.30645161
-5.64516129 8.25806452 18.30645161
-5.64516129 8.54838710 18.30645161
-5.64516129 8.83870968 18.30645161
-5.64516129 9.12903226 18.30645161
-5.64516129 9.41935484 18.30645161
-5.64516129 9.70967742 18.30645161
-5.64516129 10.00000000 18.30645161
-5.93548387 1.00000000 13.66935484
-5.93548387 1.29032258 13.66935484
-5.93548387 1.58064516 13.66935484
-5.93548387 1.87096774 13.66935484
-5.93548387 2.16129032 13.66935484
-5.93548387 2.45161290 13.66935484
-5.93548387 2.74193548 13.66935484
-5.93548387 3.03225806 13.73015873
-5.93548387 3.32258065 14.20138889
-5.93548387 3.61290323 14.56790123
-5.93548387 3.90322581 14.86111111
-5.93548387 4.19354839 15.10526316
-5.93548387 4.48387097 15.34210526
-5.93548387 4.77419355 15.57894737
-5.93548387 5.06451613 15.81578947
-5.93548387 5.35483871 16.05263158
-5.93548387 5.64516129 16.28947368
-5.93548387 5.93548387 16.52631579
-5.93548387 6.22580645 16.94767442
-5.93548387 6.51612903 17.46753247
-5.93548387 6.80645161 18.12500000
-5.93548387 7.09677419 18.66935484
-5.93548387 7.38709677 18.66935484
-5.93548387 7.67741935 18.66935484
-5.93548387 7.96774194 18.66935484
-5.93548387 8.25806452 18.66935484
-5.93548387 8.54838710 18.66935484
-5.93548387 8.83870968 18.66935484
-5.93548387 9.12903226 18.66935484
-5.93548387 9.41935484 18.66935484
-5.93548387 9.70967742 18.66935484
-5.93548387 10.00000000 18.66935484
-6.22580645 1.00000000 14.03225806
-6.22580645 1.29032258 14.03225806
-6.22580645 1.58064516 14.03225806
-6.22580645 1.87096774 14.03225806
-6.22580645 2.16129032 14.03225806
-6.22580645 2.45161290 14.03225806
-6.22580645 2.74193548 14.03225806
-6.22580645 3.03225806 14.08730159
-6.22580645 3.32258065 14.51388889
-6.22580645 3.61290323 14.84567901
-6.22580645 3.90322581 15.11627907
-6.22580645 4.19354839 15.37790698
-6.22580645 4.48387097 15.63953488
-6.22580645 4.77419355 15.90116279
-6.22580645 5.06451613 16.16279070
-6.22580645 5.35483871 16.42441860
-6.22580645 5.64516129 16.68604651
-6.22580645 5.93548387 16.94767442
-6.22580645 6.22580645 17.20930233
-6.22580645 6.51612903 17.75974026
-6.22580645 6.80645161 18.45588235
-6.22580645 7.09677419 19.03225806
-6.22580645 7.38709677 19.03225806
-6.22580645 7.67741935 19.03225806
-6.22580645 7.96774194 19.03225806
-6.22580645 8.25806452 19.03225806
-6.22580645 8.54838710 19.03225806
-6.22580645 8.83870968 19.03225806
-6.22580645 9.12903226 19.03225806
-6.22580645 9.41935484 19.03225806
-6.22580645 9.70967742 19.03225806
-6.22580645 10.00000000 19.03225806
-6.51612903 1.00000000 14.39516129
-6.51612903 1.29032258 14.39516129
-6.51612903 1.58064516 14.39516129
-6.51612903 1.87096774 14.39516129
-6.51612903 2.16129032 14.39516129
-6.51612903 2.45161290 14.39516129
-6.51612903 2.74193548 14.39516129
-6.51612903 3.03225806 14.44444444
-6.51612903 3.32258065 14.82638889
-6.51612903 3.61290323 15.12987013
-6.51612903 3.90322581 15.42207792
-6.51612903 4.19354839 15.71428571
-6.51612903 4.48387097 16.00649351
-6.51612903 4.77419355 16.29870130
-6.51612903 5.06451613 16.59090909
-6.51612903 5.35483871 16.88311688
-6.51612903 5.64516129 17.17532468
-6.51612903 5.93548387 17.46753247
-6.51612903 6.22580645 17.75974026
-6.51612903 6.51612903 18.05194805
-6.51612903 6.80645161 18.78676471
-6.51612903 7.09677419 19.39516129
-6.51612903 7.38709677 19.39516129
-6.51612903 7.67741935 19.39516129
-6.51612903 7.96774194 19.39516129
-6.51612903 8.25806452 19.39516129
-6.51612903 8.54838710 19.39516129
-6.51612903 8.83870968 19.39516129
-6.51612903 9.12903226 19.39516129
-6.51612903 9.41935484 19.39516129
-6.51612903 9.70967742 19.39516129
-6.51612903 10.00000000 19.39516129
-6.80645161 1.00000000 14.75806452
-6.80645161 1.29032258 14.75806452
-6.80645161 1.58064516 14.75806452
-6.80645161 1.87096774 14.75806452
-6.80645161 2.16129032 14.75806452
-6.80645161 2.45161290 14.75806452
-6.80645161 2.74193548 14.75806452
-6.80645161 3.03225806 14.80158730
-6.80645161 3.32258065 15.14705882
-6.80645161 3.61290323 15.47794118
-6.80645161 3.90322581 15.80882353
-6.80645161 4.19354839 16.13970588
-6.80645161 4.48387097 16.47058824
-6.80645161 4.77419355 16.80147059
-6.80645161 5.06451613 17.13235294
-6.80645161 5.35483871 17.46323529
-6.80645161 5.64516129 17.79411765
-6.80645161 5.93548387 18.12500000
-6.80645161 6.22580645 18.45588235
-6.80645161 6.51612903 18.78676471
-6.80645161 6.80645161 19.11764706
-6.80645161 7.09677419 19.75806452
-6.80645161 7.38709677 19.75806452
-6.80645161 7.67741935 19.75806452
-6.80645161 7.96774194 19.75806452
-6.80645161 8.25806452 19.75806452
-6.80645161 8.54838710 19.75806452
-6.80645161 8.83870968 19.75806452
-6.80645161 9.12903226 19.75806452
-6.80645161 9.41935484 19.75806452
-6.80645161 9.70967742 19.75806452
-6.80645161 10.00000000 19.75806452
-7.09677419 1.00000000 15.00000000
-7.09677419 1.29032258 15.00000000
-7.09677419 1.58064516 15.00000000
-7.09677419 1.87096774 15.00000000
-7.09677419 2.16129032 15.00000000
-7.09677419 2.45161290 15.00000000
-7.09677419 2.74193548 15.00000000
-7.09677419 3.03225806 15.04032258
-7.09677419 3.32258065 15.40322581
-7.09677419 3.61290323 15.76612903
-7.09677419 3.90322581 16.12903226
-7.09677419 4.19354839 16.49193548
-7.09677419 4.48387097 16.85483871
-7.09677419 4.77419355 17.21774194
-7.09677419 5.06451613 17.58064516
-7.09677419 5.35483871 17.94354839
-7.09677419 5.64516129 18.30645161
-7.09677419 5.93548387 18.66935484
-7.09677419 6.22580645 19.03225806
-7.09677419 6.51612903 19.39516129
-7.09677419 6.80645161 19.75806452
-7.09677419 7.09677419 20.00000000
-7.09677419 7.38709677 20.00000000
-7.09677419 7.67741935 20.00000000
-7.09677419 7.96774194 20.00000000
-7.09677419 8.25806452 20.00000000
-7.09677419 8.54838710 20.00000000
-7.09677419 8.83870968 20.00000000
-7.09677419 9.12903226 20.00000000
-7.09677419 9.41935484 20.00000000
-7.09677419 9.70967742 20.00000000
-7.09677419 10.00000000 20.00000000
-7.38709677 1.00000000 15.00000000
-7.38709677 1.29032258 15.00000000
-7.38709677 1.58064516 15.00000000
-7.38709677 1.87096774 15.00000000
-7.38709677 2.16129032 15.00000000
-7.38709677 2.45161290 15.00000000
-7.38709677 2.74193548 15.00000000
-7.38709677 3.03225806 15.04032258
-7.38709677 3.32258065 15.40322581
-7.38709677 3.61290323 15.76612903
-7.38709677 3.90322581 16.12903226
-7.38709677 4.19354839 16.49193548
-7.38709677 4.48387097 16.85483871
-7.38709677 4.77419355 17.21774194
-7.38709677 5.06451613 17.58064516
-7.38709677 5.35483871 17.94354839
-7.38709677 5.64516129 18.30645161
-7.38709677 5.93548387 18.66935484
-7.38709677 6.22580645 19.03225806
-7.38709677 6.51612903 19.39516129
-7.38709677 6.80645161 19.75806452
-7.38709677 7.09677419 20.00000000
-7.38709677 7.38709677 20.00000000
-7.38709677 7.67741935 20.00000000
-7.38709677 7.96774194 20.00000000
-7.38709677 8.25806452 20.00000000
-7.38709677 8.54838710 20.00000000
-7.38709677 8.83870968 20.00000000
-7.38709677 9.12903226 20.00000000
-7.38709677 9.41935484 20.00000000
-7.38709677 9.70967742 20.00000000
-7.38709677 10.00000000 20.00000000
-7.67741935 1.00000000 15.00000000
-7.67741935 1.29032258 15.00000000
-7.67741935 1.58064516 15.00000000
-7.67741935 1.87096774 15.00000000
-7.67741935 2.16129032 15.00000000
-7.67741935 2.45161290 15.00000000
-7.67741935 2.74193548 15.00000000
-7.67741935 3.03225806 15.04032258
-7.67741935 3.32258065 15.40322581
-7.67741935 3.61290323 15.76612903
-7.67741935 3.90322581 16.12903226
-7.67741935 4.19354839 16.49193548
-7.67741935 4.48387097 16.85483871
-7.67741935 4.77419355 17.21774194
-7.67741935 5.06451613 17.58064516
-7.67741935 5.35483871 17.94354839
-7.67741935 5.64516129 18.30645161
-7.67741935 5.93548387 18.66935484
-7.67741935 6.22580645 19.03225806
-7.67741935 6.51612903 19.39516129
-7.67741935 6.80645161 19.75806452
-7.67741935 7.09677419 20.00000000
-7.67741935 7.38709677 20.00000000
-7.67741935 7.67741935 20.00000000
-7.67741935 7.96774194 20.00000000
-7.67741935 8.25806452 20.00000000
-7.67741935 8.54838710 20.00000000
-7.67741935 8.83870968 20.00000000
-7.67741935 9.12903226 20.00000000
-7.67741935 9.41935484 20.00000000
-7.67741935 9.70967742 20.00000000
-7.67741935 10.00000000 20.00000000
-7.96774194 1.00000000 15.00000000
-7.96774194 1.29032258 15.00000000
-7.96774194 1.58064516 15.00000000
-7.96774194 1.87096774 15.00000000
-7.96774194 2.16129032 15.00000000
-7.96774194 2.45161290 15.00000000
-7.96774194 2.74193548 15.00000000
-7.96774194 3.03225806 15.04032258
-7.96774194 3.32258065 15.40322581
-7.96774194 3.61290323 15.76612903
-7.96774194 3.90322581 16.12903226
-7.96774194 4.19354839 16.49193548
-7.96774194 4.48387097 16.85483871
-7.96774194 4.77419355 17.21774194
-7.96774194 5.06451613 17.58064516
-7.96774194 5.35483871 17.94354839
-7.96774194 5.64516129 18.30645161
-7.96774194 5.93548387 18.66935484
-7.96774194 6.22580645 19.03225806
-7.96774194 6.51612903 19.39516129
-7.96774194 6.80645161 19.75806452
-7.96774194 7.09677419 20.00000000
-7.96774194 7.38709677 20.00000000
-7.96774194 7.67741935 20.00000000
-7.96774194 7.96774194 20.00000000
-7.96774194 8.25806452 20.00000000
-7.96774194 8.54838710 20.00000000
-7.96774194 8.83870968 20.00000000
-7.96774194 9.12903226 20.00000000
-7.96774194 9.41935484 20.00000000
-7.96774194 9.70967742 20.00000000
-7.96774194 10.00000000 20.00000000
-8.25806452 1.00000000 15.00000000
-8.25806452 1.29032258 15.00000000
-8.25806452 1.58064516 15.00000000
-8.25806452 1.87096774 15.00000000
-8.25806452 2.16129032 15.00000000
-8.25806452 2.45161290 15.00000000
-8.25806452 2.74193548 15.00000000
-8.25806452 3.03225806 15.04032258
-8.25806452 3.32258065 15.40322581
-8.25806452 3.61290323 15.76612903
-8.25806452 3.90322581 16.12903226
-8.25806452 4.19354839 16.49193548
-8.25806452 4.48387097 16.85483871
-8.25806452 4.77419355 17.21774194
-8.25806452 5.06451613 17.58064516
-8.25806452 5.35483871 17.94354839
-8.25806452 5.64516129 18.30645161
-8.25806452 5.93548387 18.66935484
-8.25806452 6.22580645 19.03225806
-8.25806452 6.51612903 19.39516129
-8.25806452 6.80645161 19.75806452
-8.25806452 7.09677419 20.00000000
-8.25806452 7.38709677 20.00000000
-8.25806452 7.67741935 20.00000000
-8.25806452 7.96774194 20.00000000
-8.25806452 8.25806452 20.00000000
-8.25806452 8.54838710 20.00000000
-8.25806452 8.83870968 20.00000000
-8.25806452 9.12903226 20.00000000
-8.25806452 9.41935484 20.00000000
-8.25806452 9.70967742 20.00000000
-8.25806452 10.00000000 20.00000000
-8.54838710 1.00000000 15.00000000
-8.54838710 1.29032258 15.00000000
-8.54838710 1.58064516 15.00000000
-8.54838710 1.87096774 15.00000000
-8.54838710 2.16129032 15.00000000
-8.54838710 2.45161290 15.00000000
-8.54838710 2.74193548 15.00000000
-8.54838710 3.03225806 15.04032258
-8.54838710 3.32258065 15.40322581
-8.54838710 3.61290323 15.76612903
-8.54838710 3.90322581 16.12903226
-8.54838710 4.19354839 16.49193548
-8.54838710 4.48387097 16.85483871
-8.54838710 4.77419355 17.21774194
-8.54838710 5.06451613 17.58064516
-8.54838710 5.35483871 17.94354839
-8.54838710 5.64516129 18.30645161
-8.54838710 5.93548387 18.66935484
-8.54838710 6.22580645 19.03225806
-8.54838710 6.51612903 19.39516129
-8.54838710 6.80645161 19.75806452
-8.54838710 7.09677419 20.00000000
-8.54838710 7.38709677 20.00000000
-8.54838710 7.67741935 20.00000000
-8.54838710 7.96774194 20.00000000
-8.54838710 8.25806452 20.00000000
-8.54838710 8.54838710 20.00000000
-8.54838710 8.83870968 20.00000000
-8.54838710 9.12903226 20.00000000
-8.54838710 9.41935484 20.00000000
-8.54838710 9.70967742 20.00000000
-8.54838710 10.00000000 20.00000000
-8.83870968 1.00000000 15.00000000
-8.83870968 1.29032258 15.00000000
-8.83870968 1.58064516 15.00000000
-8.83870968 1.87096774 15.00000000
-8.83870968 2.16129032 15.00000000
-8.83870968 2.45161290 15.00000000
-8.83870968 2.74193548 15.00000000
-8.83870968 3.03225806 15.04032258
-8.83870968 3.32258065 15.40322581
-8.83870968 3.61290323 15.76612903
-8.83870968 3.90322581 16.12903226
-8.83870968 4.19354839 16.49193548
-8.83870968 4.48387097 16.85483871
-8.83870968 4.77419355 17.21774194
-8.83870968 5.06451613 17.58064516
-8.83870968 5.35483871 17.94354839
-8.83870968 5.64516129 18.30645161
-8.83870968 5.93548387 18.66935484
-8.83870968 6.22580645 19.03225806
-8.83870968 6.51612903 19.39516129
-8.83870968 6.80645161 19.75806452
-8.83870968 7.09677419 20.00000000
-8.83870968 7.38709677 20.00000000
-8.83870968 7.67741935 20.00000000
-8.83870968 7.96774194 20.00000000
-8.83870968 8.25806452 20.00000000
-8.83870968 8.54838710 20.00000000
-8.83870968 8.83870968 20.00000000
-8.83870968 9.12903226 20.00000000
-8.83870968 9.41935484 20.00000000
-8.83870968 9.70967742 20.00000000
-8.83870968 10.00000000 20.00000000
-9.12903226 1.00000000 15.00000000
-9.12903226 1.29032258 15.00000000
-9.12903226 1.58064516 15.00000000
-9.12903226 1.87096774 15.00000000
-9.12903226 2.16129032 15.00000000
-9.12903226 2.45161290 15.00000000
-9.12903226 2.74193548 15.00000000
-9.12903226 3.03225806 15.04032258
-9.12903226 3.32258065 15.40322581
-9.12903226 3.61290323 15.76612903
-9.12903226 3.90322581 16.12903226
-9.12903226 4.19354839 16.49193548
-9.12903226 4.48387097 16.85483871
-9.12903226 4.77419355 17.21774194
-9.12903226 5.06451613 17.58064516
-9.12903226 5.35483871 17.94354839
-9.12903226 5.64516129 18.30645161
-9.12903226 5.93548387 18.66935484
-9.12903226 6.22580645 19.03225806
-9.12903226 6.51612903 19.39516129
-9.12903226 6.80645161 19.75806452
-9.12903226 7.09677419 20.00000000
-9.12903226 7.38709677 20.00000000
-9.12903226 7.67741935 20.00000000
-9.12903226 7.96774194 20.00000000
-9.12903226 8.25806452 20.00000000
-9.12903226 8.54838710 20.00000000
-9.12903226 8.83870968 20.00000000
-9.12903226 9.12903226 20.00000000
-9.12903226 9.41935484 20.00000000
-9.12903226 9.70967742 20.00000000
-9.12903226 10.00000000 20.00000000
-9.41935484 1.00000000 15.00000000
-9.41935484 1.29032258 15.00000000
-9.41935484 1.58064516 15.00000000
-9.41935484 1.87096774 15.00000000
-9.41935484 2.16129032 15.00000000
-9.41935484 2.45161290 15.00000000
-9.41935484 2.74193548 15.00000000
-9.41935484 3.03225806 15.04032258
-9.41935484 3.32258065 15.40322581
-9.41935484 3.61290323 15.76612903
-9.41935484 3.90322581 16.12903226
-9.41935484 4.19354839 16.49193548
-9.41935484 4.48387097 16.85483871
-9.41935484 4.77419355 17.21774194
-9.41935484 5.06451613 17.58064516
-9.41935484 5.35483871 17.94354839
-9.41935484 5.64516129 18.30645161
-9.41935484 5.93548387 18.66935484
-9.41935484 6.22580645 19.03225806
-9.41935484 6.51612903 19.39516129
-9.41935484 6.80645161 19.75806452
-9.41935484 7.09677419 20.00000000
-9.41935484 7.38709677 20.00000000
-9.41935484 7.67741935 20.00000000
-9.41935484 7.96774194 20.00000000
-9.41935484 8.25806452 20.00000000
-9.41935484 8.54838710 20.00000000
-9.41935484 8.83870968 20.00000000
-9.41935484 9.12903226 20.00000000
-9.41935484 9.41935484 20.00000000
-9.41935484 9.70967742 20.00000000
-9.41935484 10.00000000 20.00000000
-9.70967742 1.00000000 15.00000000
-9.70967742 1.29032258 15.00000000
-9.70967742 1.58064516 15.00000000
-9.70967742 1.87096774 15.00000000
-9.70967742 2.16129032 15.00000000
-9.70967742 2.45161290 15.00000000
-9.70967742 2.74193548 15.00000000
-9.70967742 3.03225806 15.04032258
-9.70967742 3.32258065 15.40322581
-9.70967742 3.61290323 15.76612903
-9.70967742 3.90322581 16.12903226
-9.70967742 4.19354839 16.49193548
-9.70967742 4.48387097 16.85483871
-9.70967742 4.77419355 17.21774194
-9.70967742 5.06451613 17.58064516
-9.70967742 5.35483871 17.94354839
-9.70967742 5.64516129 18.30645161
-9.70967742 5.93548387 18.66935484
-9.70967742 6.22580645 19.03225806
-9.70967742 6.51612903 19.39516129
-9.70967742 6.80645161 19.75806452
-9.70967742 7.09677419 20.00000000
-9.70967742 7.38709677 20.00000000
-9.70967742 7.67741935 20.00000000
-9.70967742 7.96774194 20.00000000
-9.70967742 8.25806452 20.00000000
-9.70967742 8.54838710 20.00000000
-9.70967742 8.83870968 20.00000000
-9.70967742 9.12903226 20.00000000
-9.70967742 9.41935484 20.00000000
-9.70967742 9.70967742 20.00000000
-9.70967742 10.00000000 20.00000000
-10.00000000 1.00000000 15.00000000
-10.00000000 1.29032258 15.00000000
-10.00000000 1.58064516 15.00000000
-10.00000000 1.87096774 15.00000000
-10.00000000 2.16129032 15.00000000
-10.00000000 2.45161290 15.00000000
-10.00000000 2.74193548 15.00000000
-10.00000000 3.03225806 15.04032258
-10.00000000 3.32258065 15.40322581
-10.00000000 3.61290323 15.76612903
-10.00000000 3.90322581 16.12903226
-10.00000000 4.19354839 16.49193548
-10.00000000 4.48387097 16.85483871
-10.00000000 4.77419355 17.21774194
-10.00000000 5.06451613 17.58064516
-10.00000000 5.35483871 17.94354839
-10.00000000 5.64516129 18.30645161
-10.00000000 5.93548387 18.66935484
-10.00000000 6.22580645 19.03225806
-10.00000000 6.51612903 19.39516129
-10.00000000 6.80645161 19.75806452
-10.00000000 7.09677419 20.00000000
-10.00000000 7.38709677 20.00000000
-10.00000000 7.67741935 20.00000000
-10.00000000 7.96774194 20.00000000
-10.00000000 8.25806452 20.00000000
-10.00000000 8.54838710 20.00000000
-10.00000000 8.83870968 20.00000000
-10.00000000 9.12903226 20.00000000
-10.00000000 9.41935484 20.00000000
-10.00000000 9.70967742 20.00000000
-10.00000000 10.00000000 20.00000000
+FoodQuality Service Tip
+1.000000000 1.000000000 10.000000000
+1.000000000 1.290322581 10.000000000
+1.000000000 1.580645161 10.000000000
+1.000000000 1.870967742 10.000000000
+1.000000000 2.161290323 10.000000000
+1.000000000 2.451612903 10.000000000
+1.000000000 2.741935484 10.000000000
+1.000000000 3.032258065 10.040322581
+1.000000000 3.322580645 10.403225806
+1.000000000 3.612903226 10.766129032
+1.000000000 3.903225806 11.129032258
+1.000000000 4.193548387 11.491935484
+1.000000000 4.483870968 11.854838710
+1.000000000 4.774193548 12.217741935
+1.000000000 5.064516129 12.580645161
+1.000000000 5.354838710 12.943548387
+1.000000000 5.645161290 13.306451613
+1.000000000 5.935483871 13.669354839
+1.000000000 6.225806452 14.032258065
+1.000000000 6.516129032 14.395161290
+1.000000000 6.806451613 14.758064516
+1.000000000 7.096774194 15.000000000
+1.000000000 7.387096774 15.000000000
+1.000000000 7.677419355 15.000000000
+1.000000000 7.967741935 15.000000000
+1.000000000 8.258064516 15.000000000
+1.000000000 8.548387097 15.000000000
+1.000000000 8.838709677 15.000000000
+1.000000000 9.129032258 15.000000000
+1.000000000 9.419354839 15.000000000
+1.000000000 9.709677419 15.000000000
+1.000000000 10.000000000 15.000000000
+1.290322581 1.000000000 10.000000000
+1.290322581 1.290322581 10.000000000
+1.290322581 1.580645161 10.000000000
+1.290322581 1.870967742 10.000000000
+1.290322581 2.161290323 10.000000000
+1.290322581 2.451612903 10.000000000
+1.290322581 2.741935484 10.000000000
+1.290322581 3.032258065 10.040322581
+1.290322581 3.322580645 10.403225806
+1.290322581 3.612903226 10.766129032
+1.290322581 3.903225806 11.129032258
+1.290322581 4.193548387 11.491935484
+1.290322581 4.483870968 11.854838710
+1.290322581 4.774193548 12.217741935
+1.290322581 5.064516129 12.580645161
+1.290322581 5.354838710 12.943548387
+1.290322581 5.645161290 13.306451613
+1.290322581 5.935483871 13.669354839
+1.290322581 6.225806452 14.032258065
+1.290322581 6.516129032 14.395161290
+1.290322581 6.806451613 14.758064516
+1.290322581 7.096774194 15.000000000
+1.290322581 7.387096774 15.000000000
+1.290322581 7.677419355 15.000000000
+1.290322581 7.967741935 15.000000000
+1.290322581 8.258064516 15.000000000
+1.290322581 8.548387097 15.000000000
+1.290322581 8.838709677 15.000000000
+1.290322581 9.129032258 15.000000000
+1.290322581 9.419354839 15.000000000
+1.290322581 9.709677419 15.000000000
+1.290322581 10.000000000 15.000000000
+1.580645161 1.000000000 10.000000000
+1.580645161 1.290322581 10.000000000
+1.580645161 1.580645161 10.000000000
+1.580645161 1.870967742 10.000000000
+1.580645161 2.161290323 10.000000000
+1.580645161 2.451612903 10.000000000
+1.580645161 2.741935484 10.000000000
+1.580645161 3.032258065 10.040322581
+1.580645161 3.322580645 10.403225806
+1.580645161 3.612903226 10.766129032
+1.580645161 3.903225806 11.129032258
+1.580645161 4.193548387 11.491935484
+1.580645161 4.483870968 11.854838710
+1.580645161 4.774193548 12.217741935
+1.580645161 5.064516129 12.580645161
+1.580645161 5.354838710 12.943548387
+1.580645161 5.645161290 13.306451613
+1.580645161 5.935483871 13.669354839
+1.580645161 6.225806452 14.032258065
+1.580645161 6.516129032 14.395161290
+1.580645161 6.806451613 14.758064516
+1.580645161 7.096774194 15.000000000
+1.580645161 7.387096774 15.000000000
+1.580645161 7.677419355 15.000000000
+1.580645161 7.967741935 15.000000000
+1.580645161 8.258064516 15.000000000
+1.580645161 8.548387097 15.000000000
+1.580645161 8.838709677 15.000000000
+1.580645161 9.129032258 15.000000000
+1.580645161 9.419354839 15.000000000
+1.580645161 9.709677419 15.000000000
+1.580645161 10.000000000 15.000000000
+1.870967742 1.000000000 10.000000000
+1.870967742 1.290322581 10.000000000
+1.870967742 1.580645161 10.000000000
+1.870967742 1.870967742 10.000000000
+1.870967742 2.161290323 10.000000000
+1.870967742 2.451612903 10.000000000
+1.870967742 2.741935484 10.000000000
+1.870967742 3.032258065 10.040322581
+1.870967742 3.322580645 10.403225806
+1.870967742 3.612903226 10.766129032
+1.870967742 3.903225806 11.129032258
+1.870967742 4.193548387 11.491935484
+1.870967742 4.483870968 11.854838710
+1.870967742 4.774193548 12.217741935
+1.870967742 5.064516129 12.580645161
+1.870967742 5.354838710 12.943548387
+1.870967742 5.645161290 13.306451613
+1.870967742 5.935483871 13.669354839
+1.870967742 6.225806452 14.032258065
+1.870967742 6.516129032 14.395161290
+1.870967742 6.806451613 14.758064516
+1.870967742 7.096774194 15.000000000
+1.870967742 7.387096774 15.000000000
+1.870967742 7.677419355 15.000000000
+1.870967742 7.967741935 15.000000000
+1.870967742 8.258064516 15.000000000
+1.870967742 8.548387097 15.000000000
+1.870967742 8.838709677 15.000000000
+1.870967742 9.129032258 15.000000000
+1.870967742 9.419354839 15.000000000
+1.870967742 9.709677419 15.000000000
+1.870967742 10.000000000 15.000000000
+2.161290323 1.000000000 10.000000000
+2.161290323 1.290322581 10.000000000
+2.161290323 1.580645161 10.000000000
+2.161290323 1.870967742 10.000000000
+2.161290323 2.161290323 10.000000000
+2.161290323 2.451612903 10.000000000
+2.161290323 2.741935484 10.000000000
+2.161290323 3.032258065 10.040322581
+2.161290323 3.322580645 10.403225806
+2.161290323 3.612903226 10.766129032
+2.161290323 3.903225806 11.129032258
+2.161290323 4.193548387 11.491935484
+2.161290323 4.483870968 11.854838710
+2.161290323 4.774193548 12.217741935
+2.161290323 5.064516129 12.580645161
+2.161290323 5.354838710 12.943548387
+2.161290323 5.645161290 13.306451613
+2.161290323 5.935483871 13.669354839
+2.161290323 6.225806452 14.032258065
+2.161290323 6.516129032 14.395161290
+2.161290323 6.806451613 14.758064516
+2.161290323 7.096774194 15.000000000
+2.161290323 7.387096774 15.000000000
+2.161290323 7.677419355 15.000000000
+2.161290323 7.967741935 15.000000000
+2.161290323 8.258064516 15.000000000
+2.161290323 8.548387097 15.000000000
+2.161290323 8.838709677 15.000000000
+2.161290323 9.129032258 15.000000000
+2.161290323 9.419354839 15.000000000
+2.161290323 9.709677419 15.000000000
+2.161290323 10.000000000 15.000000000
+2.451612903 1.000000000 10.000000000
+2.451612903 1.290322581 10.000000000
+2.451612903 1.580645161 10.000000000
+2.451612903 1.870967742 10.000000000
+2.451612903 2.161290323 10.000000000
+2.451612903 2.451612903 10.000000000
+2.451612903 2.741935484 10.000000000
+2.451612903 3.032258065 10.040322581
+2.451612903 3.322580645 10.403225806
+2.451612903 3.612903226 10.766129032
+2.451612903 3.903225806 11.129032258
+2.451612903 4.193548387 11.491935484
+2.451612903 4.483870968 11.854838710
+2.451612903 4.774193548 12.217741935
+2.451612903 5.064516129 12.580645161
+2.451612903 5.354838710 12.943548387
+2.451612903 5.645161290 13.306451613
+2.451612903 5.935483871 13.669354839
+2.451612903 6.225806452 14.032258065
+2.451612903 6.516129032 14.395161290
+2.451612903 6.806451613 14.758064516
+2.451612903 7.096774194 15.000000000
+2.451612903 7.387096774 15.000000000
+2.451612903 7.677419355 15.000000000
+2.451612903 7.967741935 15.000000000
+2.451612903 8.258064516 15.000000000
+2.451612903 8.548387097 15.000000000
+2.451612903 8.838709677 15.000000000
+2.451612903 9.129032258 15.000000000
+2.451612903 9.419354839 15.000000000
+2.451612903 9.709677419 15.000000000
+2.451612903 10.000000000 15.000000000
+2.741935484 1.000000000 10.000000000
+2.741935484 1.290322581 10.000000000
+2.741935484 1.580645161 10.000000000
+2.741935484 1.870967742 10.000000000
+2.741935484 2.161290323 10.000000000
+2.741935484 2.451612903 10.000000000
+2.741935484 2.741935484 10.000000000
+2.741935484 3.032258065 10.040322581
+2.741935484 3.322580645 10.403225806
+2.741935484 3.612903226 10.766129032
+2.741935484 3.903225806 11.129032258
+2.741935484 4.193548387 11.491935484
+2.741935484 4.483870968 11.854838710
+2.741935484 4.774193548 12.217741935
+2.741935484 5.064516129 12.580645161
+2.741935484 5.354838710 12.943548387
+2.741935484 5.645161290 13.306451613
+2.741935484 5.935483871 13.669354839
+2.741935484 6.225806452 14.032258065
+2.741935484 6.516129032 14.395161290
+2.741935484 6.806451613 14.758064516
+2.741935484 7.096774194 15.000000000
+2.741935484 7.387096774 15.000000000
+2.741935484 7.677419355 15.000000000
+2.741935484 7.967741935 15.000000000
+2.741935484 8.258064516 15.000000000
+2.741935484 8.548387097 15.000000000
+2.741935484 8.838709677 15.000000000
+2.741935484 9.129032258 15.000000000
+2.741935484 9.419354839 15.000000000
+2.741935484 9.709677419 15.000000000
+2.741935484 10.000000000 15.000000000
+3.032258065 1.000000000 10.040322581
+3.032258065 1.290322581 10.040322581
+3.032258065 1.580645161 10.040322581
+3.032258065 1.870967742 10.040322581
+3.032258065 2.161290323 10.040322581
+3.032258065 2.451612903 10.040322581
+3.032258065 2.741935484 10.040322581
+3.032258065 3.032258065 10.158730159
+3.032258065 3.322580645 10.515873016
+3.032258065 3.612903226 10.873015873
+3.032258065 3.903225806 11.230158730
+3.032258065 4.193548387 11.587301587
+3.032258065 4.483870968 11.944444444
+3.032258065 4.774193548 12.301587302
+3.032258065 5.064516129 12.658730159
+3.032258065 5.354838710 13.015873016
+3.032258065 5.645161290 13.373015873
+3.032258065 5.935483871 13.730158730
+3.032258065 6.225806452 14.087301587
+3.032258065 6.516129032 14.444444444
+3.032258065 6.806451613 14.801587302
+3.032258065 7.096774194 15.040322581
+3.032258065 7.387096774 15.040322581
+3.032258065 7.677419355 15.040322581
+3.032258065 7.967741935 15.040322581
+3.032258065 8.258064516 15.040322581
+3.032258065 8.548387097 15.040322581
+3.032258065 8.838709677 15.040322581
+3.032258065 9.129032258 15.040322581
+3.032258065 9.419354839 15.040322581
+3.032258065 9.709677419 15.040322581
+3.032258065 10.000000000 15.040322581
+3.322580645 1.000000000 10.403225806
+3.322580645 1.290322581 10.403225806
+3.322580645 1.580645161 10.403225806
+3.322580645 1.870967742 10.403225806
+3.322580645 2.161290323 10.403225806
+3.322580645 2.451612903 10.403225806
+3.322580645 2.741935484 10.403225806
+3.322580645 3.032258065 10.515873016
+3.322580645 3.322580645 11.388888889
+3.322580645 3.612903226 11.701388889
+3.322580645 3.903225806 12.013888889
+3.322580645 4.193548387 12.326388889
+3.322580645 4.483870968 12.638888889
+3.322580645 4.774193548 12.951388889
+3.322580645 5.064516129 13.263888889
+3.322580645 5.354838710 13.576388889
+3.322580645 5.645161290 13.888888889
+3.322580645 5.935483871 14.201388889
+3.322580645 6.225806452 14.513888889
+3.322580645 6.516129032 14.826388889
+3.322580645 6.806451613 15.147058824
+3.322580645 7.096774194 15.403225806
+3.322580645 7.387096774 15.403225806
+3.322580645 7.677419355 15.403225806
+3.322580645 7.967741935 15.403225806
+3.322580645 8.258064516 15.403225806
+3.322580645 8.548387097 15.403225806
+3.322580645 8.838709677 15.403225806
+3.322580645 9.129032258 15.403225806
+3.322580645 9.419354839 15.403225806
+3.322580645 9.709677419 15.403225806
+3.322580645 10.000000000 15.403225806
+3.612903226 1.000000000 10.766129032
+3.612903226 1.290322581 10.766129032
+3.612903226 1.580645161 10.766129032
+3.612903226 1.870967742 10.766129032
+3.612903226 2.161290323 10.766129032
+3.612903226 2.451612903 10.766129032
+3.612903226 2.741935484 10.766129032
+3.612903226 3.032258065 10.873015873
+3.612903226 3.322580645 11.701388889
+3.612903226 3.612903226 12.345679012
+3.612903226 3.903225806 12.623456790
+3.612903226 4.193548387 12.901234568
+3.612903226 4.483870968 13.179012346
+3.612903226 4.774193548 13.456790123
+3.612903226 5.064516129 13.734567901
+3.612903226 5.354838710 14.012345679
+3.612903226 5.645161290 14.290123457
+3.612903226 5.935483871 14.567901235
+3.612903226 6.225806452 14.845679012
+3.612903226 6.516129032 15.129870130
+3.612903226 6.806451613 15.477941176
+3.612903226 7.096774194 15.766129032
+3.612903226 7.387096774 15.766129032
+3.612903226 7.677419355 15.766129032
+3.612903226 7.967741935 15.766129032
+3.612903226 8.258064516 15.766129032
+3.612903226 8.548387097 15.766129032
+3.612903226 8.838709677 15.766129032
+3.612903226 9.129032258 15.766129032
+3.612903226 9.419354839 15.766129032
+3.612903226 9.709677419 15.766129032
+3.612903226 10.000000000 15.766129032
+3.903225806 1.000000000 11.129032258
+3.903225806 1.290322581 11.129032258
+3.903225806 1.580645161 11.129032258
+3.903225806 1.870967742 11.129032258
+3.903225806 2.161290323 11.129032258
+3.903225806 2.451612903 11.129032258
+3.903225806 2.741935484 11.129032258
+3.903225806 3.032258065 11.230158730
+3.903225806 3.322580645 12.013888889
+3.903225806 3.612903226 12.623456790
+3.903225806 3.903225806 13.111111111
+3.903225806 4.193548387 13.361111111
+3.903225806 4.483870968 13.611111111
+3.903225806 4.774193548 13.861111111
+3.903225806 5.064516129 14.111111111
+3.903225806 5.354838710 14.361111111
+3.903225806 5.645161290 14.611111111
+3.903225806 5.935483871 14.861111111
+3.903225806 6.225806452 15.116279070
+3.903225806 6.516129032 15.422077922
+3.903225806 6.806451613 15.808823529
+3.903225806 7.096774194 16.129032258
+3.903225806 7.387096774 16.129032258
+3.903225806 7.677419355 16.129032258
+3.903225806 7.967741935 16.129032258
+3.903225806 8.258064516 16.129032258
+3.903225806 8.548387097 16.129032258
+3.903225806 8.838709677 16.129032258
+3.903225806 9.129032258 16.129032258
+3.903225806 9.419354839 16.129032258
+3.903225806 9.709677419 16.129032258
+3.903225806 10.000000000 16.129032258
+4.193548387 1.000000000 11.491935484
+4.193548387 1.290322581 11.491935484
+4.193548387 1.580645161 11.491935484
+4.193548387 1.870967742 11.491935484
+4.193548387 2.161290323 11.491935484
+4.193548387 2.451612903 11.491935484
+4.193548387 2.741935484 11.491935484
+4.193548387 3.032258065 11.587301587
+4.193548387 3.322580645 12.326388889
+4.193548387 3.612903226 12.901234568
+4.193548387 3.903225806 13.361111111
+4.193548387 4.193548387 13.737373737
+4.193548387 4.483870968 13.964646465
+4.193548387 4.774193548 14.191919192
+4.193548387 5.064516129 14.419191919
+4.193548387 5.354838710 14.646464646
+4.193548387 5.645161290 14.873737374
+4.193548387 5.935483871 15.105263158
+4.193548387 6.225806452 15.377906977
+4.193548387 6.516129032 15.714285714
+4.193548387 6.806451613 16.139705882
+4.193548387 7.096774194 16.491935484
+4.193548387 7.387096774 16.491935484
+4.193548387 7.677419355 16.491935484
+4.193548387 7.967741935 16.491935484
+4.193548387 8.258064516 16.491935484
+4.193548387 8.548387097 16.491935484
+4.193548387 8.838709677 16.491935484
+4.193548387 9.129032258 16.491935484
+4.193548387 9.419354839 16.491935484
+4.193548387 9.709677419 16.491935484
+4.193548387 10.000000000 16.491935484
+4.483870968 1.000000000 11.854838710
+4.483870968 1.290322581 11.854838710
+4.483870968 1.580645161 11.854838710
+4.483870968 1.870967742 11.854838710
+4.483870968 2.161290323 11.854838710
+4.483870968 2.451612903 11.854838710
+4.483870968 2.741935484 11.854838710
+4.483870968 3.032258065 11.944444444
+4.483870968 3.322580645 12.638888889
+4.483870968 3.612903226 13.179012346
+4.483870968 3.903225806 13.611111111
+4.483870968 4.193548387 13.964646465
+4.483870968 4.483870968 14.259259259
+4.483870968 4.774193548 14.467592593
+4.483870968 5.064516129 14.675925926
+4.483870968 5.354838710 14.884259259
+4.483870968 5.645161290 15.096153846
+4.483870968 5.935483871 15.342105263
+4.483870968 6.225806452 15.639534884
+4.483870968 6.516129032 16.006493506
+4.483870968 6.806451613 16.470588235
+4.483870968 7.096774194 16.854838710
+4.483870968 7.387096774 16.854838710
+4.483870968 7.677419355 16.854838710
+4.483870968 7.967741935 16.854838710
+4.483870968 8.258064516 16.854838710
+4.483870968 8.548387097 16.854838710
+4.483870968 8.838709677 16.854838710
+4.483870968 9.129032258 16.854838710
+4.483870968 9.419354839 16.854838710
+4.483870968 9.709677419 16.854838710
+4.483870968 10.000000000 16.854838710
+4.774193548 1.000000000 12.217741935
+4.774193548 1.290322581 12.217741935
+4.774193548 1.580645161 12.217741935
+4.774193548 1.870967742 12.217741935
+4.774193548 2.161290323 12.217741935
+4.774193548 2.451612903 12.217741935
+4.774193548 2.741935484 12.217741935
+4.774193548 3.032258065 12.301587302
+4.774193548 3.322580645 12.951388889
+4.774193548 3.612903226 13.456790123
+4.774193548 3.903225806 13.861111111
+4.774193548 4.193548387 14.191919192
+4.774193548 4.483870968 14.467592593
+4.774193548 4.774193548 14.700854701
+4.774193548 5.064516129 14.893162393
+4.774193548 5.354838710 15.088495575
+4.774193548 5.645161290 15.312500000
+4.774193548 5.935483871 15.578947368
+4.774193548 6.225806452 15.901162791
+4.774193548 6.516129032 16.298701299
+4.774193548 6.806451613 16.801470588
+4.774193548 7.096774194 17.217741935
+4.774193548 7.387096774 17.217741935
+4.774193548 7.677419355 17.217741935
+4.774193548 7.967741935 17.217741935
+4.774193548 8.258064516 17.217741935
+4.774193548 8.548387097 17.217741935
+4.774193548 8.838709677 17.217741935
+4.774193548 9.129032258 17.217741935
+4.774193548 9.419354839 17.217741935
+4.774193548 9.709677419 17.217741935
+4.774193548 10.000000000 17.217741935
+5.064516129 1.000000000 12.580645161
+5.064516129 1.290322581 12.580645161
+5.064516129 1.580645161 12.580645161
+5.064516129 1.870967742 12.580645161
+5.064516129 2.161290323 12.580645161
+5.064516129 2.451612903 12.580645161
+5.064516129 2.741935484 12.580645161
+5.064516129 3.032258065 12.658730159
+5.064516129 3.322580645 13.263888889
+5.064516129 3.612903226 13.734567901
+5.064516129 3.903225806 14.111111111
+5.064516129 4.193548387 14.419191919
+5.064516129 4.483870968 14.675925926
+5.064516129 4.774193548 14.893162393
+5.064516129 5.064516129 15.081967213
+5.064516129 5.354838710 15.287610619
+5.064516129 5.645161290 15.528846154
+5.064516129 5.935483871 15.815789474
+5.064516129 6.225806452 16.162790698
+5.064516129 6.516129032 16.590909091
+5.064516129 6.806451613 17.132352941
+5.064516129 7.096774194 17.580645161
+5.064516129 7.387096774 17.580645161
+5.064516129 7.677419355 17.580645161
+5.064516129 7.967741935 17.580645161
+5.064516129 8.258064516 17.580645161
+5.064516129 8.548387097 17.580645161
+5.064516129 8.838709677 17.580645161
+5.064516129 9.129032258 17.580645161
+5.064516129 9.419354839 17.580645161
+5.064516129 9.709677419 17.580645161
+5.064516129 10.000000000 17.580645161
+5.354838710 1.000000000 12.943548387
+5.354838710 1.290322581 12.943548387
+5.354838710 1.580645161 12.943548387
+5.354838710 1.870967742 12.943548387
+5.354838710 2.161290323 12.943548387
+5.354838710 2.451612903 12.943548387
+5.354838710 2.741935484 12.943548387
+5.354838710 3.032258065 13.015873016
+5.354838710 3.322580645 13.576388889
+5.354838710 3.612903226 14.012345679
+5.354838710 3.903225806 14.361111111
+5.354838710 4.193548387 14.646464646
+5.354838710 4.483870968 14.884259259
+5.354838710 4.774193548 15.088495575
+5.354838710 5.064516129 15.287610619
+5.354838710 5.354838710 15.486725664
+5.354838710 5.645161290 15.745192308
+5.354838710 5.935483871 16.052631579
+5.354838710 6.225806452 16.424418605
+5.354838710 6.516129032 16.883116883
+5.354838710 6.806451613 17.463235294
+5.354838710 7.096774194 17.943548387
+5.354838710 7.387096774 17.943548387
+5.354838710 7.677419355 17.943548387
+5.354838710 7.967741935 17.943548387
+5.354838710 8.258064516 17.943548387
+5.354838710 8.548387097 17.943548387
+5.354838710 8.838709677 17.943548387
+5.354838710 9.129032258 17.943548387
+5.354838710 9.419354839 17.943548387
+5.354838710 9.709677419 17.943548387
+5.354838710 10.000000000 17.943548387
+5.645161290 1.000000000 13.306451613
+5.645161290 1.290322581 13.306451613
+5.645161290 1.580645161 13.306451613
+5.645161290 1.870967742 13.306451613
+5.645161290 2.161290323 13.306451613
+5.645161290 2.451612903 13.306451613
+5.645161290 2.741935484 13.306451613
+5.645161290 3.032258065 13.373015873
+5.645161290 3.322580645 13.888888889
+5.645161290 3.612903226 14.290123457
+5.645161290 3.903225806 14.611111111
+5.645161290 4.193548387 14.873737374
+5.645161290 4.483870968 15.096153846
+5.645161290 4.774193548 15.312500000
+5.645161290 5.064516129 15.528846154
+5.645161290 5.354838710 15.745192308
+5.645161290 5.645161290 15.961538462
+5.645161290 5.935483871 16.289473684
+5.645161290 6.225806452 16.686046512
+5.645161290 6.516129032 17.175324675
+5.645161290 6.806451613 17.794117647
+5.645161290 7.096774194 18.306451613
+5.645161290 7.387096774 18.306451613
+5.645161290 7.677419355 18.306451613
+5.645161290 7.967741935 18.306451613
+5.645161290 8.258064516 18.306451613
+5.645161290 8.548387097 18.306451613
+5.645161290 8.838709677 18.306451613
+5.645161290 9.129032258 18.306451613
+5.645161290 9.419354839 18.306451613
+5.645161290 9.709677419 18.306451613
+5.645161290 10.000000000 18.306451613
+5.935483871 1.000000000 13.669354839
+5.935483871 1.290322581 13.669354839
+5.935483871 1.580645161 13.669354839
+5.935483871 1.870967742 13.669354839
+5.935483871 2.161290323 13.669354839
+5.935483871 2.451612903 13.669354839
+5.935483871 2.741935484 13.669354839
+5.935483871 3.032258065 13.730158730
+5.935483871 3.322580645 14.201388889
+5.935483871 3.612903226 14.567901235
+5.935483871 3.903225806 14.861111111
+5.935483871 4.193548387 15.105263158
+5.935483871 4.483870968 15.342105263
+5.935483871 4.774193548 15.578947368
+5.935483871 5.064516129 15.815789474
+5.935483871 5.354838710 16.052631579
+5.935483871 5.645161290 16.289473684
+5.935483871 5.935483871 16.526315789
+5.935483871 6.225806452 16.947674419
+5.935483871 6.516129032 17.467532468
+5.935483871 6.806451613 18.125000000
+5.935483871 7.096774194 18.669354839
+5.935483871 7.387096774 18.669354839
+5.935483871 7.677419355 18.669354839
+5.935483871 7.967741935 18.669354839
+5.935483871 8.258064516 18.669354839
+5.935483871 8.548387097 18.669354839
+5.935483871 8.838709677 18.669354839
+5.935483871 9.129032258 18.669354839
+5.935483871 9.419354839 18.669354839
+5.935483871 9.709677419 18.669354839
+5.935483871 10.000000000 18.669354839
+6.225806452 1.000000000 14.032258065
+6.225806452 1.290322581 14.032258065
+6.225806452 1.580645161 14.032258065
+6.225806452 1.870967742 14.032258065
+6.225806452 2.161290323 14.032258065
+6.225806452 2.451612903 14.032258065
+6.225806452 2.741935484 14.032258065
+6.225806452 3.032258065 14.087301587
+6.225806452 3.322580645 14.513888889
+6.225806452 3.612903226 14.845679012
+6.225806452 3.903225806 15.116279070
+6.225806452 4.193548387 15.377906977
+6.225806452 4.483870968 15.639534884
+6.225806452 4.774193548 15.901162791
+6.225806452 5.064516129 16.162790698
+6.225806452 5.354838710 16.424418605
+6.225806452 5.645161290 16.686046512
+6.225806452 5.935483871 16.947674419
+6.225806452 6.225806452 17.209302326
+6.225806452 6.516129032 17.759740260
+6.225806452 6.806451613 18.455882353
+6.225806452 7.096774194 19.032258065
+6.225806452 7.387096774 19.032258065
+6.225806452 7.677419355 19.032258065
+6.225806452 7.967741935 19.032258065
+6.225806452 8.258064516 19.032258065
+6.225806452 8.548387097 19.032258065
+6.225806452 8.838709677 19.032258065
+6.225806452 9.129032258 19.032258065
+6.225806452 9.419354839 19.032258065
+6.225806452 9.709677419 19.032258065
+6.225806452 10.000000000 19.032258065
+6.516129032 1.000000000 14.395161290
+6.516129032 1.290322581 14.395161290
+6.516129032 1.580645161 14.395161290
+6.516129032 1.870967742 14.395161290
+6.516129032 2.161290323 14.395161290
+6.516129032 2.451612903 14.395161290
+6.516129032 2.741935484 14.395161290
+6.516129032 3.032258065 14.444444444
+6.516129032 3.322580645 14.826388889
+6.516129032 3.612903226 15.129870130
+6.516129032 3.903225806 15.422077922
+6.516129032 4.193548387 15.714285714
+6.516129032 4.483870968 16.006493506
+6.516129032 4.774193548 16.298701299
+6.516129032 5.064516129 16.590909091
+6.516129032 5.354838710 16.883116883
+6.516129032 5.645161290 17.175324675
+6.516129032 5.935483871 17.467532468
+6.516129032 6.225806452 17.759740260
+6.516129032 6.516129032 18.051948052
+6.516129032 6.806451613 18.786764706
+6.516129032 7.096774194 19.395161290
+6.516129032 7.387096774 19.395161290
+6.516129032 7.677419355 19.395161290
+6.516129032 7.967741935 19.395161290
+6.516129032 8.258064516 19.395161290
+6.516129032 8.548387097 19.395161290
+6.516129032 8.838709677 19.395161290
+6.516129032 9.129032258 19.395161290
+6.516129032 9.419354839 19.395161290
+6.516129032 9.709677419 19.395161290
+6.516129032 10.000000000 19.395161290
+6.806451613 1.000000000 14.758064516
+6.806451613 1.290322581 14.758064516
+6.806451613 1.580645161 14.758064516
+6.806451613 1.870967742 14.758064516
+6.806451613 2.161290323 14.758064516
+6.806451613 2.451612903 14.758064516
+6.806451613 2.741935484 14.758064516
+6.806451613 3.032258065 14.801587302
+6.806451613 3.322580645 15.147058824
+6.806451613 3.612903226 15.477941176
+6.806451613 3.903225806 15.808823529
+6.806451613 4.193548387 16.139705882
+6.806451613 4.483870968 16.470588235
+6.806451613 4.774193548 16.801470588
+6.806451613 5.064516129 17.132352941
+6.806451613 5.354838710 17.463235294
+6.806451613 5.645161290 17.794117647
+6.806451613 5.935483871 18.125000000
+6.806451613 6.225806452 18.455882353
+6.806451613 6.516129032 18.786764706
+6.806451613 6.806451613 19.117647059
+6.806451613 7.096774194 19.758064516
+6.806451613 7.387096774 19.758064516
+6.806451613 7.677419355 19.758064516
+6.806451613 7.967741935 19.758064516
+6.806451613 8.258064516 19.758064516
+6.806451613 8.548387097 19.758064516
+6.806451613 8.838709677 19.758064516
+6.806451613 9.129032258 19.758064516
+6.806451613 9.419354839 19.758064516
+6.806451613 9.709677419 19.758064516
+6.806451613 10.000000000 19.758064516
+7.096774194 1.000000000 15.000000000
+7.096774194 1.290322581 15.000000000
+7.096774194 1.580645161 15.000000000
+7.096774194 1.870967742 15.000000000
+7.096774194 2.161290323 15.000000000
+7.096774194 2.451612903 15.000000000
+7.096774194 2.741935484 15.000000000
+7.096774194 3.032258065 15.040322581
+7.096774194 3.322580645 15.403225806
+7.096774194 3.612903226 15.766129032
+7.096774194 3.903225806 16.129032258
+7.096774194 4.193548387 16.491935484
+7.096774194 4.483870968 16.854838710
+7.096774194 4.774193548 17.217741935
+7.096774194 5.064516129 17.580645161
+7.096774194 5.354838710 17.943548387
+7.096774194 5.645161290 18.306451613
+7.096774194 5.935483871 18.669354839
+7.096774194 6.225806452 19.032258065
+7.096774194 6.516129032 19.395161290
+7.096774194 6.806451613 19.758064516
+7.096774194 7.096774194 20.000000000
+7.096774194 7.387096774 20.000000000
+7.096774194 7.677419355 20.000000000
+7.096774194 7.967741935 20.000000000
+7.096774194 8.258064516 20.000000000
+7.096774194 8.548387097 20.000000000
+7.096774194 8.838709677 20.000000000
+7.096774194 9.129032258 20.000000000
+7.096774194 9.419354839 20.000000000
+7.096774194 9.709677419 20.000000000
+7.096774194 10.000000000 20.000000000
+7.387096774 1.000000000 15.000000000
+7.387096774 1.290322581 15.000000000
+7.387096774 1.580645161 15.000000000
+7.387096774 1.870967742 15.000000000
+7.387096774 2.161290323 15.000000000
+7.387096774 2.451612903 15.000000000
+7.387096774 2.741935484 15.000000000
+7.387096774 3.032258065 15.040322581
+7.387096774 3.322580645 15.403225806
+7.387096774 3.612903226 15.766129032
+7.387096774 3.903225806 16.129032258
+7.387096774 4.193548387 16.491935484
+7.387096774 4.483870968 16.854838710
+7.387096774 4.774193548 17.217741935
+7.387096774 5.064516129 17.580645161
+7.387096774 5.354838710 17.943548387
+7.387096774 5.645161290 18.306451613
+7.387096774 5.935483871 18.669354839
+7.387096774 6.225806452 19.032258065
+7.387096774 6.516129032 19.395161290
+7.387096774 6.806451613 19.758064516
+7.387096774 7.096774194 20.000000000
+7.387096774 7.387096774 20.000000000
+7.387096774 7.677419355 20.000000000
+7.387096774 7.967741935 20.000000000
+7.387096774 8.258064516 20.000000000
+7.387096774 8.548387097 20.000000000
+7.387096774 8.838709677 20.000000000
+7.387096774 9.129032258 20.000000000
+7.387096774 9.419354839 20.000000000
+7.387096774 9.709677419 20.000000000
+7.387096774 10.000000000 20.000000000
+7.677419355 1.000000000 15.000000000
+7.677419355 1.290322581 15.000000000
+7.677419355 1.580645161 15.000000000
+7.677419355 1.870967742 15.000000000
+7.677419355 2.161290323 15.000000000
+7.677419355 2.451612903 15.000000000
+7.677419355 2.741935484 15.000000000
+7.677419355 3.032258065 15.040322581
+7.677419355 3.322580645 15.403225806
+7.677419355 3.612903226 15.766129032
+7.677419355 3.903225806 16.129032258
+7.677419355 4.193548387 16.491935484
+7.677419355 4.483870968 16.854838710
+7.677419355 4.774193548 17.217741935
+7.677419355 5.064516129 17.580645161
+7.677419355 5.354838710 17.943548387
+7.677419355 5.645161290 18.306451613
+7.677419355 5.935483871 18.669354839
+7.677419355 6.225806452 19.032258065
+7.677419355 6.516129032 19.395161290
+7.677419355 6.806451613 19.758064516
+7.677419355 7.096774194 20.000000000
+7.677419355 7.387096774 20.000000000
+7.677419355 7.677419355 20.000000000
+7.677419355 7.967741935 20.000000000
+7.677419355 8.258064516 20.000000000
+7.677419355 8.548387097 20.000000000
+7.677419355 8.838709677 20.000000000
+7.677419355 9.129032258 20.000000000
+7.677419355 9.419354839 20.000000000
+7.677419355 9.709677419 20.000000000
+7.677419355 10.000000000 20.000000000
+7.967741935 1.000000000 15.000000000
+7.967741935 1.290322581 15.000000000
+7.967741935 1.580645161 15.000000000
+7.967741935 1.870967742 15.000000000
+7.967741935 2.161290323 15.000000000
+7.967741935 2.451612903 15.000000000
+7.967741935 2.741935484 15.000000000
+7.967741935 3.032258065 15.040322581
+7.967741935 3.322580645 15.403225806
+7.967741935 3.612903226 15.766129032
+7.967741935 3.903225806 16.129032258
+7.967741935 4.193548387 16.491935484
+7.967741935 4.483870968 16.854838710
+7.967741935 4.774193548 17.217741935
+7.967741935 5.064516129 17.580645161
+7.967741935 5.354838710 17.943548387
+7.967741935 5.645161290 18.306451613
+7.967741935 5.935483871 18.669354839
+7.967741935 6.225806452 19.032258065
+7.967741935 6.516129032 19.395161290
+7.967741935 6.806451613 19.758064516
+7.967741935 7.096774194 20.000000000
+7.967741935 7.387096774 20.000000000
+7.967741935 7.677419355 20.000000000
+7.967741935 7.967741935 20.000000000
+7.967741935 8.258064516 20.000000000
+7.967741935 8.548387097 20.000000000
+7.967741935 8.838709677 20.000000000
+7.967741935 9.129032258 20.000000000
+7.967741935 9.419354839 20.000000000
+7.967741935 9.709677419 20.000000000
+7.967741935 10.000000000 20.000000000
+8.258064516 1.000000000 15.000000000
+8.258064516 1.290322581 15.000000000
+8.258064516 1.580645161 15.000000000
+8.258064516 1.870967742 15.000000000
+8.258064516 2.161290323 15.000000000
+8.258064516 2.451612903 15.000000000
+8.258064516 2.741935484 15.000000000
+8.258064516 3.032258065 15.040322581
+8.258064516 3.322580645 15.403225806
+8.258064516 3.612903226 15.766129032
+8.258064516 3.903225806 16.129032258
+8.258064516 4.193548387 16.491935484
+8.258064516 4.483870968 16.854838710
+8.258064516 4.774193548 17.217741935
+8.258064516 5.064516129 17.580645161
+8.258064516 5.354838710 17.943548387
+8.258064516 5.645161290 18.306451613
+8.258064516 5.935483871 18.669354839
+8.258064516 6.225806452 19.032258065
+8.258064516 6.516129032 19.395161290
+8.258064516 6.806451613 19.758064516
+8.258064516 7.096774194 20.000000000
+8.258064516 7.387096774 20.000000000
+8.258064516 7.677419355 20.000000000
+8.258064516 7.967741935 20.000000000
+8.258064516 8.258064516 20.000000000
+8.258064516 8.548387097 20.000000000
+8.258064516 8.838709677 20.000000000
+8.258064516 9.129032258 20.000000000
+8.258064516 9.419354839 20.000000000
+8.258064516 9.709677419 20.000000000
+8.258064516 10.000000000 20.000000000
+8.548387097 1.000000000 15.000000000
+8.548387097 1.290322581 15.000000000
+8.548387097 1.580645161 15.000000000
+8.548387097 1.870967742 15.000000000
+8.548387097 2.161290323 15.000000000
+8.548387097 2.451612903 15.000000000
+8.548387097 2.741935484 15.000000000
+8.548387097 3.032258065 15.040322581
+8.548387097 3.322580645 15.403225806
+8.548387097 3.612903226 15.766129032
+8.548387097 3.903225806 16.129032258
+8.548387097 4.193548387 16.491935484
+8.548387097 4.483870968 16.854838710
+8.548387097 4.774193548 17.217741935
+8.548387097 5.064516129 17.580645161
+8.548387097 5.354838710 17.943548387
+8.548387097 5.645161290 18.306451613
+8.548387097 5.935483871 18.669354839
+8.548387097 6.225806452 19.032258065
+8.548387097 6.516129032 19.395161290
+8.548387097 6.806451613 19.758064516
+8.548387097 7.096774194 20.000000000
+8.548387097 7.387096774 20.000000000
+8.548387097 7.677419355 20.000000000
+8.548387097 7.967741935 20.000000000
+8.548387097 8.258064516 20.000000000
+8.548387097 8.548387097 20.000000000
+8.548387097 8.838709677 20.000000000
+8.548387097 9.129032258 20.000000000
+8.548387097 9.419354839 20.000000000
+8.548387097 9.709677419 20.000000000
+8.548387097 10.000000000 20.000000000
+8.838709677 1.000000000 15.000000000
+8.838709677 1.290322581 15.000000000
+8.838709677 1.580645161 15.000000000
+8.838709677 1.870967742 15.000000000
+8.838709677 2.161290323 15.000000000
+8.838709677 2.451612903 15.000000000
+8.838709677 2.741935484 15.000000000
+8.838709677 3.032258065 15.040322581
+8.838709677 3.322580645 15.403225806
+8.838709677 3.612903226 15.766129032
+8.838709677 3.903225806 16.129032258
+8.838709677 4.193548387 16.491935484
+8.838709677 4.483870968 16.854838710
+8.838709677 4.774193548 17.217741935
+8.838709677 5.064516129 17.580645161
+8.838709677 5.354838710 17.943548387
+8.838709677 5.645161290 18.306451613
+8.838709677 5.935483871 18.669354839
+8.838709677 6.225806452 19.032258065
+8.838709677 6.516129032 19.395161290
+8.838709677 6.806451613 19.758064516
+8.838709677 7.096774194 20.000000000
+8.838709677 7.387096774 20.000000000
+8.838709677 7.677419355 20.000000000
+8.838709677 7.967741935 20.000000000
+8.838709677 8.258064516 20.000000000
+8.838709677 8.548387097 20.000000000
+8.838709677 8.838709677 20.000000000
+8.838709677 9.129032258 20.000000000
+8.838709677 9.419354839 20.000000000
+8.838709677 9.709677419 20.000000000
+8.838709677 10.000000000 20.000000000
+9.129032258 1.000000000 15.000000000
+9.129032258 1.290322581 15.000000000
+9.129032258 1.580645161 15.000000000
+9.129032258 1.870967742 15.000000000
+9.129032258 2.161290323 15.000000000
+9.129032258 2.451612903 15.000000000
+9.129032258 2.741935484 15.000000000
+9.129032258 3.032258065 15.040322581
+9.129032258 3.322580645 15.403225806
+9.129032258 3.612903226 15.766129032
+9.129032258 3.903225806 16.129032258
+9.129032258 4.193548387 16.491935484
+9.129032258 4.483870968 16.854838710
+9.129032258 4.774193548 17.217741935
+9.129032258 5.064516129 17.580645161
+9.129032258 5.354838710 17.943548387
+9.129032258 5.645161290 18.306451613
+9.129032258 5.935483871 18.669354839
+9.129032258 6.225806452 19.032258065
+9.129032258 6.516129032 19.395161290
+9.129032258 6.806451613 19.758064516
+9.129032258 7.096774194 20.000000000
+9.129032258 7.387096774 20.000000000
+9.129032258 7.677419355 20.000000000
+9.129032258 7.967741935 20.000000000
+9.129032258 8.258064516 20.000000000
+9.129032258 8.548387097 20.000000000
+9.129032258 8.838709677 20.000000000
+9.129032258 9.129032258 20.000000000
+9.129032258 9.419354839 20.000000000
+9.129032258 9.709677419 20.000000000
+9.129032258 10.000000000 20.000000000
+9.419354839 1.000000000 15.000000000
+9.419354839 1.290322581 15.000000000
+9.419354839 1.580645161 15.000000000
+9.419354839 1.870967742 15.000000000
+9.419354839 2.161290323 15.000000000
+9.419354839 2.451612903 15.000000000
+9.419354839 2.741935484 15.000000000
+9.419354839 3.032258065 15.040322581
+9.419354839 3.322580645 15.403225806
+9.419354839 3.612903226 15.766129032
+9.419354839 3.903225806 16.129032258
+9.419354839 4.193548387 16.491935484
+9.419354839 4.483870968 16.854838710
+9.419354839 4.774193548 17.217741935
+9.419354839 5.064516129 17.580645161
+9.419354839 5.354838710 17.943548387
+9.419354839 5.645161290 18.306451613
+9.419354839 5.935483871 18.669354839
+9.419354839 6.225806452 19.032258065
+9.419354839 6.516129032 19.395161290
+9.419354839 6.806451613 19.758064516
+9.419354839 7.096774194 20.000000000
+9.419354839 7.387096774 20.000000000
+9.419354839 7.677419355 20.000000000
+9.419354839 7.967741935 20.000000000
+9.419354839 8.258064516 20.000000000
+9.419354839 8.548387097 20.000000000
+9.419354839 8.838709677 20.000000000
+9.419354839 9.129032258 20.000000000
+9.419354839 9.419354839 20.000000000
+9.419354839 9.709677419 20.000000000
+9.419354839 10.000000000 20.000000000
+9.709677419 1.000000000 15.000000000
+9.709677419 1.290322581 15.000000000
+9.709677419 1.580645161 15.000000000
+9.709677419 1.870967742 15.000000000
+9.709677419 2.161290323 15.000000000
+9.709677419 2.451612903 15.000000000
+9.709677419 2.741935484 15.000000000
+9.709677419 3.032258065 15.040322581
+9.709677419 3.322580645 15.403225806
+9.709677419 3.612903226 15.766129032
+9.709677419 3.903225806 16.129032258
+9.709677419 4.193548387 16.491935484
+9.709677419 4.483870968 16.854838710
+9.709677419 4.774193548 17.217741935
+9.709677419 5.064516129 17.580645161
+9.709677419 5.354838710 17.943548387
+9.709677419 5.645161290 18.306451613
+9.709677419 5.935483871 18.669354839
+9.709677419 6.225806452 19.032258065
+9.709677419 6.516129032 19.395161290
+9.709677419 6.806451613 19.758064516
+9.709677419 7.096774194 20.000000000
+9.709677419 7.387096774 20.000000000
+9.709677419 7.677419355 20.000000000
+9.709677419 7.967741935 20.000000000
+9.709677419 8.258064516 20.000000000
+9.709677419 8.548387097 20.000000000
+9.709677419 8.838709677 20.000000000
+9.709677419 9.129032258 20.000000000
+9.709677419 9.419354839 20.000000000
+9.709677419 9.709677419 20.000000000
+9.709677419 10.000000000 20.000000000
+10.000000000 1.000000000 15.000000000
+10.000000000 1.290322581 15.000000000
+10.000000000 1.580645161 15.000000000
+10.000000000 1.870967742 15.000000000
+10.000000000 2.161290323 15.000000000
+10.000000000 2.451612903 15.000000000
+10.000000000 2.741935484 15.000000000
+10.000000000 3.032258065 15.040322581
+10.000000000 3.322580645 15.403225806
+10.000000000 3.612903226 15.766129032
+10.000000000 3.903225806 16.129032258
+10.000000000 4.193548387 16.491935484
+10.000000000 4.483870968 16.854838710
+10.000000000 4.774193548 17.217741935
+10.000000000 5.064516129 17.580645161
+10.000000000 5.354838710 17.943548387
+10.000000000 5.645161290 18.306451613
+10.000000000 5.935483871 18.669354839
+10.000000000 6.225806452 19.032258065
+10.000000000 6.516129032 19.395161290
+10.000000000 6.806451613 19.758064516
+10.000000000 7.096774194 20.000000000
+10.000000000 7.387096774 20.000000000
+10.000000000 7.677419355 20.000000000
+10.000000000 7.967741935 20.000000000
+10.000000000 8.258064516 20.000000000
+10.000000000 8.548387097 20.000000000
+10.000000000 8.838709677 20.000000000
+10.000000000 9.129032258 20.000000000
+10.000000000 9.419354839 20.000000000
+10.000000000 9.709677419 20.000000000
+10.000000000 10.000000000 20.000000000
diff --git a/examples/takagi-sugeno/octave/linear_tip_calculator.fll b/examples/takagi-sugeno/octave/linear_tip_calculator.fll
index 8c1f597..510d8a4 100644
--- a/examples/takagi-sugeno/octave/linear_tip_calculator.fll
+++ b/examples/takagi-sugeno/octave/linear_tip_calculator.fll
@@ -1,22 +1,24 @@
-Engine: Linear-Tip-Calculator
+Engine: linear_tip_calculator
InputVariable: FoodQuality
enabled: true
range: 1.000 10.000
+ lock-range: false
term: Bad Trapezoid 0.000 1.000 3.000 7.000
term: Good Trapezoid 3.000 7.000 10.000 11.000
InputVariable: Service
enabled: true
range: 1.000 10.000
+ lock-range: false
term: Bad Trapezoid 0.000 1.000 3.000 7.000
term: Good Trapezoid 3.000 7.000 10.000 11.000
OutputVariable: Tip
enabled: true
range: 10.000 20.000
- accumulation: none
+ lock-range: false
+ aggregation: none
defuzzifier: WeightedAverage TakagiSugeno
default: nan
lock-previous: false
- lock-range: false
term: TenPercent Linear 0.000 0.000 10.000
term: FifteenPercent Linear 0.000 0.000 15.000
term: TwentyPercent Linear 0.000 0.000 20.000
@@ -24,7 +26,8 @@ RuleBlock:
enabled: true
conjunction: Minimum
disjunction: none
- activation: none
+ implication: none
+ activation: General
rule: if FoodQuality is Bad and Service is Bad then Tip is TenPercent
rule: if FoodQuality is Bad and Service is Good then Tip is FifteenPercent
rule: if FoodQuality is Good and Service is Bad then Tip is FifteenPercent
diff --git a/examples/takagi-sugeno/octave/linear_tip_calculator.java b/examples/takagi-sugeno/octave/linear_tip_calculator.java
index 0600638..7046734 100644
--- a/examples/takagi-sugeno/octave/linear_tip_calculator.java
+++ b/examples/takagi-sugeno/octave/linear_tip_calculator.java
@@ -1,4 +1,5 @@
import com.fuzzylite.*;
+import com.fuzzylite.activation.*
import com.fuzzylite.defuzzifier.*;
import com.fuzzylite.factory.*;
import com.fuzzylite.hedge.*;
@@ -12,45 +13,55 @@ import com.fuzzylite.variable.*;
public class linear_tip_calculator{
public static void main(String[] args){
+//Code automatically generated with fuzzylite 6.0.
+
Engine engine = new Engine();
-engine.setName("Linear-Tip-Calculator");
-
-InputVariable inputVariable1 = new InputVariable();
-inputVariable1.setEnabled(true);
-inputVariable1.setName("FoodQuality");
-inputVariable1.setRange(1.000, 10.000);
-inputVariable1.addTerm(new Trapezoid("Bad", 0.000, 1.000, 3.000, 7.000));
-inputVariable1.addTerm(new Trapezoid("Good", 3.000, 7.000, 10.000, 11.000));
-engine.addInputVariable(inputVariable1);
-
-InputVariable inputVariable2 = new InputVariable();
-inputVariable2.setEnabled(true);
-inputVariable2.setName("Service");
-inputVariable2.setRange(1.000, 10.000);
-inputVariable2.addTerm(new Trapezoid("Bad", 0.000, 1.000, 3.000, 7.000));
-inputVariable2.addTerm(new Trapezoid("Good", 3.000, 7.000, 10.000, 11.000));
-engine.addInputVariable(inputVariable2);
-
-OutputVariable outputVariable = new OutputVariable();
-outputVariable.setEnabled(true);
-outputVariable.setName("Tip");
-outputVariable.setRange(10.000, 20.000);
-outputVariable.fuzzyOutput().setAccumulation(null);
-outputVariable.setDefuzzifier(new WeightedAverage("TakagiSugeno"));
-outputVariable.setDefaultValue(Double.NaN);
-outputVariable.setLockPreviousOutputValue(false);
-outputVariable.setLockOutputValueInRange(false);
-outputVariable.addTerm(Linear.create("TenPercent", engine, 0.000, 0.000, 10.000));
-outputVariable.addTerm(Linear.create("FifteenPercent", engine, 0.000, 0.000, 15.000));
-outputVariable.addTerm(Linear.create("TwentyPercent", engine, 0.000, 0.000, 20.000));
-engine.addOutputVariable(outputVariable);
+engine.setName("linear_tip_calculator");
+engine.setDescription("");
+
+InputVariable FoodQuality = new InputVariable();
+FoodQuality.setName("FoodQuality");
+FoodQuality.setDescription("");
+FoodQuality.setEnabled(true);
+FoodQuality.setRange(1.000, 10.000);
+FoodQuality.setLockValueInRange(false);
+FoodQuality.addTerm(new Trapezoid("Bad", 0.000, 1.000, 3.000, 7.000));
+FoodQuality.addTerm(new Trapezoid("Good", 3.000, 7.000, 10.000, 11.000));
+engine.addInputVariable(FoodQuality);
+
+InputVariable Service = new InputVariable();
+Service.setName("Service");
+Service.setDescription("");
+Service.setEnabled(true);
+Service.setRange(1.000, 10.000);
+Service.setLockValueInRange(false);
+Service.addTerm(new Trapezoid("Bad", 0.000, 1.000, 3.000, 7.000));
+Service.addTerm(new Trapezoid("Good", 3.000, 7.000, 10.000, 11.000));
+engine.addInputVariable(Service);
+
+OutputVariable Tip = new OutputVariable();
+Tip.setName("Tip");
+Tip.setDescription("");
+Tip.setEnabled(true);
+Tip.setRange(10.000, 20.000);
+Tip.setLockValueInRange(false);
+Tip.setAggregation(null);
+Tip.setDefuzzifier(new WeightedAverage("TakagiSugeno"));
+Tip.setDefaultValue(Double.NaN);
+Tip.setLockPreviousValue(false);
+Tip.addTerm(Linear.create("TenPercent", engine, 0.000, 0.000, 10.000));
+Tip.addTerm(Linear.create("FifteenPercent", engine, 0.000, 0.000, 15.000));
+Tip.addTerm(Linear.create("TwentyPercent", engine, 0.000, 0.000, 20.000));
+engine.addOutputVariable(Tip);
RuleBlock ruleBlock = new RuleBlock();
-ruleBlock.setEnabled(true);
ruleBlock.setName("");
+ruleBlock.setDescription("");
+ruleBlock.setEnabled(true);
ruleBlock.setConjunction(new Minimum());
ruleBlock.setDisjunction(null);
-ruleBlock.setActivation(null);
+ruleBlock.setImplication(null);
+ruleBlock.setActivation(new General());
ruleBlock.addRule(Rule.parse("if FoodQuality is Bad and Service is Bad then Tip is TenPercent", engine));
ruleBlock.addRule(Rule.parse("if FoodQuality is Bad and Service is Good then Tip is FifteenPercent", engine));
ruleBlock.addRule(Rule.parse("if FoodQuality is Good and Service is Bad then Tip is FifteenPercent", engine));
diff --git a/examples/takagi-sugeno/octave/linear_tip_calculator.pdf b/examples/takagi-sugeno/octave/linear_tip_calculator.pdf
new file mode 100644
index 0000000..357f529
--- /dev/null
+++ b/examples/takagi-sugeno/octave/linear_tip_calculator.pdf
Binary files differ
diff --git a/examples/takagi-sugeno/octave/sugeno_tip_calculator.R b/examples/takagi-sugeno/octave/sugeno_tip_calculator.R
new file mode 100644
index 0000000..1491a96
--- /dev/null
+++ b/examples/takagi-sugeno/octave/sugeno_tip_calculator.R
@@ -0,0 +1,119 @@
+#Code automatically generated with fuzzylite 6.0.
+
+library(ggplot2);
+
+engine.name = "sugeno_tip_calculator"
+engine.fll = "Engine: sugeno_tip_calculator
+InputVariable: FoodQuality
+ enabled: true
+ range: 1.000 10.000
+ lock-range: false
+ term: Bad Trapezoid 0.000 1.000 3.000 7.000
+ term: Good Trapezoid 3.000 7.000 10.000 11.000
+InputVariable: Service
+ enabled: true
+ range: 1.000 10.000
+ lock-range: false
+ term: Bad Trapezoid 0.000 1.000 3.000 7.000
+ term: Good Trapezoid 3.000 7.000 10.000 11.000
+OutputVariable: CheapTip
+ enabled: true
+ range: 5.000 25.000
+ lock-range: false
+ aggregation: none
+ defuzzifier: WeightedAverage TakagiSugeno
+ default: nan
+ lock-previous: false
+ term: Low Constant 10.000
+ term: Medium Constant 15.000
+ term: High Constant 20.000
+OutputVariable: AverageTip
+ enabled: true
+ range: 5.000 25.000
+ lock-range: false
+ aggregation: none
+ defuzzifier: WeightedAverage TakagiSugeno
+ default: nan
+ lock-previous: false
+ term: Low Constant 10.000
+ term: Medium Constant 15.000
+ term: High Constant 20.000
+OutputVariable: GenerousTip
+ enabled: true
+ range: 5.000 25.000
+ lock-range: false
+ aggregation: none
+ defuzzifier: WeightedAverage TakagiSugeno
+ default: nan
+ lock-previous: false
+ term: Low Constant 10.000
+ term: Medium Constant 15.000
+ term: High Constant 20.000
+RuleBlock:
+ enabled: true
+ conjunction: EinsteinProduct
+ disjunction: none
+ implication: none
+ activation: General
+ rule: if FoodQuality is extremely Bad and Service is extremely Bad then CheapTip is extremely Low and AverageTip is very Low and GenerousTip is Low
+ rule: if FoodQuality is Good and Service is extremely Bad then CheapTip is Low and AverageTip is Low and GenerousTip is Medium
+ rule: if FoodQuality is very Good and Service is very Bad then CheapTip is Low and AverageTip is Medium and GenerousTip is High
+ rule: if FoodQuality is Bad and Service is Bad then CheapTip is Low and AverageTip is Low and GenerousTip is Medium
+ rule: if FoodQuality is Good and Service is Bad then CheapTip is Low and AverageTip is Medium and GenerousTip is High
+ rule: if FoodQuality is extremely Good and Service is Bad then CheapTip is Low and AverageTip is Medium and GenerousTip is very High
+ rule: if FoodQuality is Bad and Service is Good then CheapTip is Low and AverageTip is Medium and GenerousTip is High
+ rule: if FoodQuality is Good and Service is Good then CheapTip is Medium and AverageTip is Medium and GenerousTip is very High
+ rule: if FoodQuality is very Bad and Service is very Good then CheapTip is Low and AverageTip is Medium and GenerousTip is High
+ rule: if FoodQuality is very very Good and Service is very very Good then CheapTip is High and AverageTip is very High and GenerousTip is extremely High"
+
+engine.fldFile = "sugeno_tip_calculator.fld"
+if (require(data.table)) {
+ engine.df = data.table::fread(engine.fldFile, sep="auto", header="auto")
+} else {
+ engine.df = read.table(engine.fldFile, header=TRUE)
+}
+
+engine.plot.i1i2_o1 = ggplot(engine.df, aes(FoodQuality, Service)) +
+ geom_tile(aes(fill=CheapTip)) +
+ scale_fill_gradient(low="yellow", high="red") +
+ stat_contour(aes(x=FoodQuality, y=Service, z=CheapTip), color="black") +
+ ggtitle("(FoodQuality, Service) = CheapTip")
+
+engine.plot.i2i1_o1 = ggplot(engine.df, aes(Service, FoodQuality)) +
+ geom_tile(aes(fill=CheapTip)) +
+ scale_fill_gradient(low="yellow", high="red") +
+ stat_contour(aes(x=Service, y=FoodQuality, z=CheapTip), color="black") +
+ ggtitle("(Service, FoodQuality) = CheapTip")
+
+engine.plot.i1i2_o2 = ggplot(engine.df, aes(FoodQuality, Service)) +
+ geom_tile(aes(fill=AverageTip)) +
+ scale_fill_gradient(low="yellow", high="red") +
+ stat_contour(aes(x=FoodQuality, y=Service, z=AverageTip), color="black") +
+ ggtitle("(FoodQuality, Service) = AverageTip")
+
+engine.plot.i2i1_o2 = ggplot(engine.df, aes(Service, FoodQuality)) +
+ geom_tile(aes(fill=AverageTip)) +
+ scale_fill_gradient(low="yellow", high="red") +
+ stat_contour(aes(x=Service, y=FoodQuality, z=AverageTip), color="black") +
+ ggtitle("(Service, FoodQuality) = AverageTip")
+
+engine.plot.i1i2_o3 = ggplot(engine.df, aes(FoodQuality, Service)) +
+ geom_tile(aes(fill=GenerousTip)) +
+ scale_fill_gradient(low="yellow", high="red") +
+ stat_contour(aes(x=FoodQuality, y=Service, z=GenerousTip), color="black") +
+ ggtitle("(FoodQuality, Service) = GenerousTip")
+
+engine.plot.i2i1_o3 = ggplot(engine.df, aes(Service, FoodQuality)) +
+ geom_tile(aes(fill=GenerousTip)) +
+ scale_fill_gradient(low="yellow", high="red") +
+ stat_contour(aes(x=Service, y=FoodQuality, z=GenerousTip), color="black") +
+ ggtitle("(Service, FoodQuality) = GenerousTip")
+
+if (require(gridExtra)) {
+ engine.plots = arrangeGrob(engine.plot.i1i2_o1, engine.plot.i2i1_o1, engine.plot.i1i2_o2, engine.plot.i2i1_o2, engine.plot.i1i2_o3, engine.plot.i2i1_o3, ncol=2, top=engine.name)
+ ggsave(paste0(engine.name, ".pdf"), engine.plots)
+ if (require(grid)) {
+ grid.newpage()
+ grid.draw(engine.plots)
+ }
+}
diff --git a/examples/takagi-sugeno/octave/sugeno_tip_calculator.cpp b/examples/takagi-sugeno/octave/sugeno_tip_calculator.cpp
index d92de0a..96536fa 100644
--- a/examples/takagi-sugeno/octave/sugeno_tip_calculator.cpp
+++ b/examples/takagi-sugeno/octave/sugeno_tip_calculator.cpp
@@ -1,85 +1,97 @@
#include <fl/Headers.h>
int main(int argc, char** argv){
+//Code automatically generated with fuzzylite 6.0.
+
using namespace fl;
Engine* engine = new Engine;
-engine->setName("Sugeno-Tip-Calculator");
+engine->setName("sugeno_tip_calculator");
+engine->setDescription("");
-InputVariable* inputVariable1 = new InputVariable;
-inputVariable1->setEnabled(true);
-inputVariable1->setName("FoodQuality");
-inputVariable1->setRange(1.000, 10.000);
-inputVariable1->addTerm(new Trapezoid("Bad", 0.000, 1.000, 3.000, 7.000));
-inputVariable1->addTerm(new Trapezoid("Good", 3.000, 7.000, 10.000, 11.000));
-engine->addInputVariable(inputVariable1);
+InputVariable* FoodQuality = new InputVariable;
+FoodQuality->setName("FoodQuality");
+FoodQuality->setDescription("");
+FoodQuality->setEnabled(true);
+FoodQuality->setRange(1.000, 10.000);
+FoodQuality->setLockValueInRange(false);
+FoodQuality->addTerm(new Trapezoid("Bad", 0.000, 1.000, 3.000, 7.000));
+FoodQuality->addTerm(new Trapezoid("Good", 3.000, 7.000, 10.000, 11.000));
+engine->addInputVariable(FoodQuality);
-InputVariable* inputVariable2 = new InputVariable;
-inputVariable2->setEnabled(true);
-inputVariable2->setName("Service");
-inputVariable2->setRange(1.000, 10.000);
-inputVariable2->addTerm(new Trapezoid("Bad", 0.000, 1.000, 3.000, 7.000));
-inputVariable2->addTerm(new Trapezoid("Good", 3.000, 7.000, 10.000, 11.000));
-engine->addInputVariable(inputVariable2);
+InputVariable* Service = new InputVariable;
+Service->setName("Service");
+Service->setDescription("");
+Service->setEnabled(true);
+Service->setRange(1.000, 10.000);
+Service->setLockValueInRange(false);
+Service->addTerm(new Trapezoid("Bad", 0.000, 1.000, 3.000, 7.000));
+Service->addTerm(new Trapezoid("Good", 3.000, 7.000, 10.000, 11.000));
+engine->addInputVariable(Service);
-OutputVariable* outputVariable1 = new OutputVariable;
-outputVariable1->setEnabled(true);
-outputVariable1->setName("CheapTip");
-outputVariable1->setRange(5.000, 25.000);
-outputVariable1->fuzzyOutput()->setAccumulation(fl::null);
-outputVariable1->setDefuzzifier(new WeightedAverage("TakagiSugeno"));
-outputVariable1->setDefaultValue(fl::nan);
-outputVariable1->setLockPreviousOutputValue(false);
-outputVariable1->setLockOutputValueInRange(false);
-outputVariable1->addTerm(new Constant("Low", 10.000));
-outputVariable1->addTerm(new Constant("Medium", 15.000));
-outputVariable1->addTerm(new Constant("High", 20.000));
-engine->addOutputVariable(outputVariable1);
+OutputVariable* CheapTip = new OutputVariable;
+CheapTip->setName("CheapTip");
+CheapTip->setDescription("");
+CheapTip->setEnabled(true);
+CheapTip->setRange(5.000, 25.000);
+CheapTip->setLockValueInRange(false);
+CheapTip->setAggregation(fl::null);
+CheapTip->setDefuzzifier(new WeightedAverage("TakagiSugeno"));
+CheapTip->setDefaultValue(fl::nan);
+CheapTip->setLockPreviousValue(false);
+CheapTip->addTerm(new Constant("Low", 10.000));
+CheapTip->addTerm(new Constant("Medium", 15.000));
+CheapTip->addTerm(new Constant("High", 20.000));
+engine->addOutputVariable(CheapTip);
-OutputVariable* outputVariable2 = new OutputVariable;
-outputVariable2->setEnabled(true);
-outputVariable2->setName("AverageTip");
-outputVariable2->setRange(5.000, 25.000);
-outputVariable2->fuzzyOutput()->setAccumulation(fl::null);
-outputVariable2->setDefuzzifier(new WeightedAverage("TakagiSugeno"));
-outputVariable2->setDefaultValue(fl::nan);
-outputVariable2->setLockPreviousOutputValue(false);
-outputVariable2->setLockOutputValueInRange(false);
-outputVariable2->addTerm(new Constant("Low", 10.000));
-outputVariable2->addTerm(new Constant("Medium", 15.000));
-outputVariable2->addTerm(new Constant("High", 20.000));
-engine->addOutputVariable(outputVariable2);
+OutputVariable* AverageTip = new OutputVariable;
+AverageTip->setName("AverageTip");
+AverageTip->setDescription("");
+AverageTip->setEnabled(true);
+AverageTip->setRange(5.000, 25.000);
+AverageTip->setLockValueInRange(false);
+AverageTip->setAggregation(fl::null);
+AverageTip->setDefuzzifier(new WeightedAverage("TakagiSugeno"));
+AverageTip->setDefaultValue(fl::nan);
+AverageTip->setLockPreviousValue(false);
+AverageTip->addTerm(new Constant("Low", 10.000));
+AverageTip->addTerm(new Constant("Medium", 15.000));
+AverageTip->addTerm(new Constant("High", 20.000));
+engine->addOutputVariable(AverageTip);
-OutputVariable* outputVariable3 = new OutputVariable;
-outputVariable3->setEnabled(true);
-outputVariable3->setName("GenerousTip");
-outputVariable3->setRange(5.000, 25.000);
-outputVariable3->fuzzyOutput()->setAccumulation(fl::null);
-outputVariable3->setDefuzzifier(new WeightedAverage("TakagiSugeno"));
-outputVariable3->setDefaultValue(fl::nan);
-outputVariable3->setLockPreviousOutputValue(false);
-outputVariable3->setLockOutputValueInRange(false);
-outputVariable3->addTerm(new Constant("Low", 10.000));
-outputVariable3->addTerm(new Constant("Medium", 15.000));
-outputVariable3->addTerm(new Constant("High", 20.000));
-engine->addOutputVariable(outputVariable3);
+OutputVariable* GenerousTip = new OutputVariable;
+GenerousTip->setName("GenerousTip");
+GenerousTip->setDescription("");
+GenerousTip->setEnabled(true);
+GenerousTip->setRange(5.000, 25.000);
+GenerousTip->setLockValueInRange(false);
+GenerousTip->setAggregation(fl::null);
+GenerousTip->setDefuzzifier(new WeightedAverage("TakagiSugeno"));
+GenerousTip->setDefaultValue(fl::nan);
+GenerousTip->setLockPreviousValue(false);
+GenerousTip->addTerm(new Constant("Low", 10.000));
+GenerousTip->addTerm(new Constant("Medium", 15.000));
+GenerousTip->addTerm(new Constant("High", 20.000));
+engine->addOutputVariable(GenerousTip);
RuleBlock* ruleBlock = new RuleBlock;
-ruleBlock->setEnabled(true);
ruleBlock->setName("");
+ruleBlock->setDescription("");
+ruleBlock->setEnabled(true);
ruleBlock->setConjunction(new EinsteinProduct);
ruleBlock->setDisjunction(fl::null);
-ruleBlock->setActivation(fl::null);
-ruleBlock->addRule(fl::Rule::parse("if FoodQuality is extremely Bad and Service is extremely Bad then CheapTip is extremely Low and AverageTip is very Low and GenerousTip is Low", engine));
-ruleBlock->addRule(fl::Rule::parse("if FoodQuality is Good and Service is extremely Bad then CheapTip is Low and AverageTip is Low and GenerousTip is Medium", engine));
-ruleBlock->addRule(fl::Rule::parse("if FoodQuality is very Good and Service is very Bad then CheapTip is Low and AverageTip is Medium and GenerousTip is High", engine));
-ruleBlock->addRule(fl::Rule::parse("if FoodQuality is Bad and Service is Bad then CheapTip is Low and AverageTip is Low and GenerousTip is Medium", engine));
-ruleBlock->addRule(fl::Rule::parse("if FoodQuality is Good and Service is Bad then CheapTip is Low and AverageTip is Medium and GenerousTip is High", engine));
-ruleBlock->addRule(fl::Rule::parse("if FoodQuality is extremely Good and Service is Bad then CheapTip is Low and AverageTip is Medium and GenerousTip is very High", engine));
-ruleBlock->addRule(fl::Rule::parse("if FoodQuality is Bad and Service is Good then CheapTip is Low and AverageTip is Medium and GenerousTip is High", engine));
-ruleBlock->addRule(fl::Rule::parse("if FoodQuality is Good and Service is Good then CheapTip is Medium and AverageTip is Medium and GenerousTip is very High", engine));
-ruleBlock->addRule(fl::Rule::parse("if FoodQuality is very Bad and Service is very Good then CheapTip is Low and AverageTip is Medium and GenerousTip is High", engine));
-ruleBlock->addRule(fl::Rule::parse("if FoodQuality is very very Good and Service is very very Good then CheapTip is High and AverageTip is very High and GenerousTip is extremely High", engine));
+ruleBlock->setImplication(fl::null);
+ruleBlock->setActivation(new General);
+ruleBlock->addRule(Rule::parse("if FoodQuality is extremely Bad and Service is extremely Bad then CheapTip is extremely Low and AverageTip is very Low and GenerousTip is Low", engine));
+ruleBlock->addRule(Rule::parse("if FoodQuality is Good and Service is extremely Bad then CheapTip is Low and AverageTip is Low and GenerousTip is Medium", engine));
+ruleBlock->addRule(Rule::parse("if FoodQuality is very Good and Service is very Bad then CheapTip is Low and AverageTip is Medium and GenerousTip is High", engine));
+ruleBlock->addRule(Rule::parse("if FoodQuality is Bad and Service is Bad then CheapTip is Low and AverageTip is Low and GenerousTip is Medium", engine));
+ruleBlock->addRule(Rule::parse("if FoodQuality is Good and Service is Bad then CheapTip is Low and AverageTip is Medium and GenerousTip is High", engine));
+ruleBlock->addRule(Rule::parse("if FoodQuality is extremely Good and Service is Bad then CheapTip is Low and AverageTip is Medium and GenerousTip is very High", engine));
+ruleBlock->addRule(Rule::parse("if FoodQuality is Bad and Service is Good then CheapTip is Low and AverageTip is Medium and GenerousTip is High", engine));
+ruleBlock->addRule(Rule::parse("if FoodQuality is Good and Service is Good then CheapTip is Medium and AverageTip is Medium and GenerousTip is very High", engine));
+ruleBlock->addRule(Rule::parse("if FoodQuality is very Bad and Service is very Good then CheapTip is Low and AverageTip is Medium and GenerousTip is High", engine));
+ruleBlock->addRule(Rule::parse("if FoodQuality is very very Good and Service is very very Good then CheapTip is High and AverageTip is very High and GenerousTip is extremely High", engine));
engine->addRuleBlock(ruleBlock);
diff --git a/examples/takagi-sugeno/octave/sugeno_tip_calculator.fcl b/examples/takagi-sugeno/octave/sugeno_tip_calculator.fcl
index ad98f68..fcb857c 100644
--- a/examples/takagi-sugeno/octave/sugeno_tip_calculator.fcl
+++ b/examples/takagi-sugeno/octave/sugeno_tip_calculator.fcl
@@ -1,4 +1,6 @@
-FUNCTION_BLOCK Sugeno-Tip-Calculator
+//Code automatically generated with fuzzylite 6.0.
+
+FUNCTION_BLOCK sugeno_tip_calculator
VAR_INPUT
FoodQuality: REAL;
diff --git a/examples/takagi-sugeno/octave/sugeno_tip_calculator.fis b/examples/takagi-sugeno/octave/sugeno_tip_calculator.fis
index 4349913..3d28f10 100644
--- a/examples/takagi-sugeno/octave/sugeno_tip_calculator.fis
+++ b/examples/takagi-sugeno/octave/sugeno_tip_calculator.fis
@@ -1,13 +1,16 @@
+#Code automatically generated with fuzzylite 6.0.
+
[System]
-Name='Sugeno-Tip-Calculator'
+Name='sugeno_tip_calculator'
Type='sugeno'
+Version=6.0
NumInputs=2
NumOutputs=3
NumRules=10
AndMethod='einstein_product'
-OrMethod=''
-ImpMethod=''
-AggMethod=''
+OrMethod='max'
+ImpMethod='min'
+AggMethod='max'
DefuzzMethod='wtaver'
[Input1]
diff --git a/examples/takagi-sugeno/octave/sugeno_tip_calculator.fld b/examples/takagi-sugeno/octave/sugeno_tip_calculator.fld
index 6816af5..ce942fd 100644
--- a/examples/takagi-sugeno/octave/sugeno_tip_calculator.fld
+++ b/examples/takagi-sugeno/octave/sugeno_tip_calculator.fld
@@ -1,1026 +1,1025 @@
-#@Engine: Sugeno-Tip-Calculator;
-#@InputVariable: FoodQuality; @InputVariable: Service; @OutputVariable: CheapTip; @OutputVariable: AverageTip; @OutputVariable: GenerousTip;
-1.00000000 1.00000000 10.00000000 10.00000000 12.50000000
-1.00000000 1.29032258 10.00000000 10.00000000 12.50000000
-1.00000000 1.58064516 10.00000000 10.00000000 12.50000000
-1.00000000 1.87096774 10.00000000 10.00000000 12.50000000
-1.00000000 2.16129032 10.00000000 10.00000000 12.50000000
-1.00000000 2.45161290 10.00000000 10.00000000 12.50000000
-1.00000000 2.74193548 10.00000000 10.00000000 12.50000000
-1.00000000 3.03225806 10.00000000 10.02032322 12.52040460
-1.00000000 3.32258065 10.00000000 10.21723908 12.72618837
-1.00000000 3.61290323 10.00000000 10.43854143 12.97859532
-1.00000000 3.90322581 10.00000000 10.68860515 13.30323372
-1.00000000 4.19354839 10.00000000 10.98519415 13.75455390
-1.00000000 4.48387097 10.00000000 11.36896201 14.43109544
-1.00000000 4.77419355 10.00000000 11.91319586 15.48909397
-1.00000000 5.06451613 10.00000000 12.68223479 17.02303230
-1.00000000 5.35483871 10.00000000 13.34274407 18.15544945
-1.00000000 5.64516129 10.00000000 13.79246624 18.75419392
-1.00000000 5.93548387 10.00000000 14.13081618 19.12558840
-1.00000000 6.22580645 10.00000000 14.41328213 19.41290031
-1.00000000 6.51612903 10.00000000 14.65879553 19.65878725
-1.00000000 6.80645161 10.00000000 14.87303754 19.87303753
-1.00000000 7.09677419 10.00000000 15.00000000 20.00000000
-1.00000000 7.38709677 10.00000000 15.00000000 20.00000000
-1.00000000 7.67741935 10.00000000 15.00000000 20.00000000
-1.00000000 7.96774194 10.00000000 15.00000000 20.00000000
-1.00000000 8.25806452 10.00000000 15.00000000 20.00000000
-1.00000000 8.54838710 10.00000000 15.00000000 20.00000000
-1.00000000 8.83870968 10.00000000 15.00000000 20.00000000
-1.00000000 9.12903226 10.00000000 15.00000000 20.00000000
-1.00000000 9.41935484 10.00000000 15.00000000 20.00000000
-1.00000000 9.70967742 10.00000000 15.00000000 20.00000000
-1.00000000 10.00000000 10.00000000 15.00000000 20.00000000
-1.29032258 1.00000000 10.00000000 10.00000000 12.50000000
-1.29032258 1.29032258 10.00000000 10.00000000 12.50000000
-1.29032258 1.58064516 10.00000000 10.00000000 12.50000000
-1.29032258 1.87096774 10.00000000 10.00000000 12.50000000
-1.29032258 2.16129032 10.00000000 10.00000000 12.50000000
-1.29032258 2.45161290 10.00000000 10.00000000 12.50000000
-1.29032258 2.74193548 10.00000000 10.00000000 12.50000000
-1.29032258 3.03225806 10.00000000 10.02032322 12.52040460
-1.29032258 3.32258065 10.00000000 10.21723908 12.72618837
-1.29032258 3.61290323 10.00000000 10.43854143 12.97859532
-1.29032258 3.90322581 10.00000000 10.68860515 13.30323372
-1.29032258 4.19354839 10.00000000 10.98519415 13.75455390
-1.29032258 4.48387097 10.00000000 11.36896201 14.43109544
-1.29032258 4.77419355 10.00000000 11.91319586 15.48909397
-1.29032258 5.06451613 10.00000000 12.68223479 17.02303230
-1.29032258 5.35483871 10.00000000 13.34274407 18.15544945
-1.29032258 5.64516129 10.00000000 13.79246624 18.75419392
-1.29032258 5.93548387 10.00000000 14.13081618 19.12558840
-1.29032258 6.22580645 10.00000000 14.41328213 19.41290031
-1.29032258 6.51612903 10.00000000 14.65879553 19.65878725
-1.29032258 6.80645161 10.00000000 14.87303754 19.87303753
-1.29032258 7.09677419 10.00000000 15.00000000 20.00000000
-1.29032258 7.38709677 10.00000000 15.00000000 20.00000000
-1.29032258 7.67741935 10.00000000 15.00000000 20.00000000
-1.29032258 7.96774194 10.00000000 15.00000000 20.00000000
-1.29032258 8.25806452 10.00000000 15.00000000 20.00000000
-1.29032258 8.54838710 10.00000000 15.00000000 20.00000000
-1.29032258 8.83870968 10.00000000 15.00000000 20.00000000
-1.29032258 9.12903226 10.00000000 15.00000000 20.00000000
-1.29032258 9.41935484 10.00000000 15.00000000 20.00000000
-1.29032258 9.70967742 10.00000000 15.00000000 20.00000000
-1.29032258 10.00000000 10.00000000 15.00000000 20.00000000
-1.58064516 1.00000000 10.00000000 10.00000000 12.50000000
-1.58064516 1.29032258 10.00000000 10.00000000 12.50000000
-1.58064516 1.58064516 10.00000000 10.00000000 12.50000000
-1.58064516 1.87096774 10.00000000 10.00000000 12.50000000
-1.58064516 2.16129032 10.00000000 10.00000000 12.50000000
-1.58064516 2.45161290 10.00000000 10.00000000 12.50000000
-1.58064516 2.74193548 10.00000000 10.00000000 12.50000000
-1.58064516 3.03225806 10.00000000 10.02032322 12.52040460
-1.58064516 3.32258065 10.00000000 10.21723908 12.72618837
-1.58064516 3.61290323 10.00000000 10.43854143 12.97859532
-1.58064516 3.90322581 10.00000000 10.68860515 13.30323372
-1.58064516 4.19354839 10.00000000 10.98519415 13.75455390
-1.58064516 4.48387097 10.00000000 11.36896201 14.43109544
-1.58064516 4.77419355 10.00000000 11.91319586 15.48909397
-1.58064516 5.06451613 10.00000000 12.68223479 17.02303230
-1.58064516 5.35483871 10.00000000 13.34274407 18.15544945
-1.58064516 5.64516129 10.00000000 13.79246624 18.75419392
-1.58064516 5.93548387 10.00000000 14.13081618 19.12558840
-1.58064516 6.22580645 10.00000000 14.41328213 19.41290031
-1.58064516 6.51612903 10.00000000 14.65879553 19.65878725
-1.58064516 6.80645161 10.00000000 14.87303754 19.87303753
-1.58064516 7.09677419 10.00000000 15.00000000 20.00000000
-1.58064516 7.38709677 10.00000000 15.00000000 20.00000000
-1.58064516 7.67741935 10.00000000 15.00000000 20.00000000
-1.58064516 7.96774194 10.00000000 15.00000000 20.00000000
-1.58064516 8.25806452 10.00000000 15.00000000 20.00000000
-1.58064516 8.54838710 10.00000000 15.00000000 20.00000000
-1.58064516 8.83870968 10.00000000 15.00000000 20.00000000
-1.58064516 9.12903226 10.00000000 15.00000000 20.00000000
-1.58064516 9.41935484 10.00000000 15.00000000 20.00000000
-1.58064516 9.70967742 10.00000000 15.00000000 20.00000000
-1.58064516 10.00000000 10.00000000 15.00000000 20.00000000
-1.87096774 1.00000000 10.00000000 10.00000000 12.50000000
-1.87096774 1.29032258 10.00000000 10.00000000 12.50000000
-1.87096774 1.58064516 10.00000000 10.00000000 12.50000000
-1.87096774 1.87096774 10.00000000 10.00000000 12.50000000
-1.87096774 2.16129032 10.00000000 10.00000000 12.50000000
-1.87096774 2.45161290 10.00000000 10.00000000 12.50000000
-1.87096774 2.74193548 10.00000000 10.00000000 12.50000000
-1.87096774 3.03225806 10.00000000 10.02032322 12.52040460
-1.87096774 3.32258065 10.00000000 10.21723908 12.72618837
-1.87096774 3.61290323 10.00000000 10.43854143 12.97859532
-1.87096774 3.90322581 10.00000000 10.68860515 13.30323372
-1.87096774 4.19354839 10.00000000 10.98519415 13.75455390
-1.87096774 4.48387097 10.00000000 11.36896201 14.43109544
-1.87096774 4.77419355 10.00000000 11.91319586 15.48909397
-1.87096774 5.06451613 10.00000000 12.68223479 17.02303230
-1.87096774 5.35483871 10.00000000 13.34274407 18.15544945
-1.87096774 5.64516129 10.00000000 13.79246624 18.75419392
-1.87096774 5.93548387 10.00000000 14.13081618 19.12558840
-1.87096774 6.22580645 10.00000000 14.41328213 19.41290031
-1.87096774 6.51612903 10.00000000 14.65879553 19.65878725
-1.87096774 6.80645161 10.00000000 14.87303754 19.87303753
-1.87096774 7.09677419 10.00000000 15.00000000 20.00000000
-1.87096774 7.38709677 10.00000000 15.00000000 20.00000000
-1.87096774 7.67741935 10.00000000 15.00000000 20.00000000
-1.87096774 7.96774194 10.00000000 15.00000000 20.00000000
-1.87096774 8.25806452 10.00000000 15.00000000 20.00000000
-1.87096774 8.54838710 10.00000000 15.00000000 20.00000000
-1.87096774 8.83870968 10.00000000 15.00000000 20.00000000
-1.87096774 9.12903226 10.00000000 15.00000000 20.00000000
-1.87096774 9.41935484 10.00000000 15.00000000 20.00000000
-1.87096774 9.70967742 10.00000000 15.00000000 20.00000000
-1.87096774 10.00000000 10.00000000 15.00000000 20.00000000
-2.16129032 1.00000000 10.00000000 10.00000000 12.50000000
-2.16129032 1.29032258 10.00000000 10.00000000 12.50000000
-2.16129032 1.58064516 10.00000000 10.00000000 12.50000000
-2.16129032 1.87096774 10.00000000 10.00000000 12.50000000
-2.16129032 2.16129032 10.00000000 10.00000000 12.50000000
-2.16129032 2.45161290 10.00000000 10.00000000 12.50000000
-2.16129032 2.74193548 10.00000000 10.00000000 12.50000000
-2.16129032 3.03225806 10.00000000 10.02032322 12.52040460
-2.16129032 3.32258065 10.00000000 10.21723908 12.72618837
-2.16129032 3.61290323 10.00000000 10.43854143 12.97859532
-2.16129032 3.90322581 10.00000000 10.68860515 13.30323372
-2.16129032 4.19354839 10.00000000 10.98519415 13.75455390
-2.16129032 4.48387097 10.00000000 11.36896201 14.43109544
-2.16129032 4.77419355 10.00000000 11.91319586 15.48909397
-2.16129032 5.06451613 10.00000000 12.68223479 17.02303230
-2.16129032 5.35483871 10.00000000 13.34274407 18.15544945
-2.16129032 5.64516129 10.00000000 13.79246624 18.75419392
-2.16129032 5.93548387 10.00000000 14.13081618 19.12558840
-2.16129032 6.22580645 10.00000000 14.41328213 19.41290031
-2.16129032 6.51612903 10.00000000 14.65879553 19.65878725
-2.16129032 6.80645161 10.00000000 14.87303754 19.87303753
-2.16129032 7.09677419 10.00000000 15.00000000 20.00000000
-2.16129032 7.38709677 10.00000000 15.00000000 20.00000000
-2.16129032 7.67741935 10.00000000 15.00000000 20.00000000
-2.16129032 7.96774194 10.00000000 15.00000000 20.00000000
-2.16129032 8.25806452 10.00000000 15.00000000 20.00000000
-2.16129032 8.54838710 10.00000000 15.00000000 20.00000000
-2.16129032 8.83870968 10.00000000 15.00000000 20.00000000
-2.16129032 9.12903226 10.00000000 15.00000000 20.00000000
-2.16129032 9.41935484 10.00000000 15.00000000 20.00000000
-2.16129032 9.70967742 10.00000000 15.00000000 20.00000000
-2.16129032 10.00000000 10.00000000 15.00000000 20.00000000
-2.45161290 1.00000000 10.00000000 10.00000000 12.50000000
-2.45161290 1.29032258 10.00000000 10.00000000 12.50000000
-2.45161290 1.58064516 10.00000000 10.00000000 12.50000000
-2.45161290 1.87096774 10.00000000 10.00000000 12.50000000
-2.45161290 2.16129032 10.00000000 10.00000000 12.50000000
-2.45161290 2.45161290 10.00000000 10.00000000 12.50000000
-2.45161290 2.74193548 10.00000000 10.00000000 12.50000000
-2.45161290 3.03225806 10.00000000 10.02032322 12.52040460
-2.45161290 3.32258065 10.00000000 10.21723908 12.72618837
-2.45161290 3.61290323 10.00000000 10.43854143 12.97859532
-2.45161290 3.90322581 10.00000000 10.68860515 13.30323372
-2.45161290 4.19354839 10.00000000 10.98519415 13.75455390
-2.45161290 4.48387097 10.00000000 11.36896201 14.43109544
-2.45161290 4.77419355 10.00000000 11.91319586 15.48909397
-2.45161290 5.06451613 10.00000000 12.68223479 17.02303230
-2.45161290 5.35483871 10.00000000 13.34274407 18.15544945
-2.45161290 5.64516129 10.00000000 13.79246624 18.75419392
-2.45161290 5.93548387 10.00000000 14.13081618 19.12558840
-2.45161290 6.22580645 10.00000000 14.41328213 19.41290031
-2.45161290 6.51612903 10.00000000 14.65879553 19.65878725
-2.45161290 6.80645161 10.00000000 14.87303754 19.87303753
-2.45161290 7.09677419 10.00000000 15.00000000 20.00000000
-2.45161290 7.38709677 10.00000000 15.00000000 20.00000000
-2.45161290 7.67741935 10.00000000 15.00000000 20.00000000
-2.45161290 7.96774194 10.00000000 15.00000000 20.00000000
-2.45161290 8.25806452 10.00000000 15.00000000 20.00000000
-2.45161290 8.54838710 10.00000000 15.00000000 20.00000000
-2.45161290 8.83870968 10.00000000 15.00000000 20.00000000
-2.45161290 9.12903226 10.00000000 15.00000000 20.00000000
-2.45161290 9.41935484 10.00000000 15.00000000 20.00000000
-2.45161290 9.70967742 10.00000000 15.00000000 20.00000000
-2.45161290 10.00000000 10.00000000 15.00000000 20.00000000
-2.74193548 1.00000000 10.00000000 10.00000000 12.50000000
-2.74193548 1.29032258 10.00000000 10.00000000 12.50000000
-2.74193548 1.58064516 10.00000000 10.00000000 12.50000000
-2.74193548 1.87096774 10.00000000 10.00000000 12.50000000
-2.74193548 2.16129032 10.00000000 10.00000000 12.50000000
-2.74193548 2.45161290 10.00000000 10.00000000 12.50000000
-2.74193548 2.74193548 10.00000000 10.00000000 12.50000000
-2.74193548 3.03225806 10.00000000 10.02032322 12.52040460
-2.74193548 3.32258065 10.00000000 10.21723908 12.72618837
-2.74193548 3.61290323 10.00000000 10.43854143 12.97859532
-2.74193548 3.90322581 10.00000000 10.68860515 13.30323372
-2.74193548 4.19354839 10.00000000 10.98519415 13.75455390
-2.74193548 4.48387097 10.00000000 11.36896201 14.43109544
-2.74193548 4.77419355 10.00000000 11.91319586 15.48909397
-2.74193548 5.06451613 10.00000000 12.68223479 17.02303230
-2.74193548 5.35483871 10.00000000 13.34274407 18.15544945
-2.74193548 5.64516129 10.00000000 13.79246624 18.75419392
-2.74193548 5.93548387 10.00000000 14.13081618 19.12558840
-2.74193548 6.22580645 10.00000000 14.41328213 19.41290031
-2.74193548 6.51612903 10.00000000 14.65879553 19.65878725
-2.74193548 6.80645161 10.00000000 14.87303754 19.87303753
-2.74193548 7.09677419 10.00000000 15.00000000 20.00000000
-2.74193548 7.38709677 10.00000000 15.00000000 20.00000000
-2.74193548 7.67741935 10.00000000 15.00000000 20.00000000
-2.74193548 7.96774194 10.00000000 15.00000000 20.00000000
-2.74193548 8.25806452 10.00000000 15.00000000 20.00000000
-2.74193548 8.54838710 10.00000000 15.00000000 20.00000000
-2.74193548 8.83870968 10.00000000 15.00000000 20.00000000
-2.74193548 9.12903226 10.00000000 15.00000000 20.00000000
-2.74193548 9.41935484 10.00000000 15.00000000 20.00000000
-2.74193548 9.70967742 10.00000000 15.00000000 20.00000000
-2.74193548 10.00000000 10.00000000 15.00000000 20.00000000
-3.03225806 1.00000000 10.00000000 10.02056414 12.53036255
-3.03225806 1.29032258 10.00000000 10.02056414 12.53036255
-3.03225806 1.58064516 10.00000000 10.02056414 12.53036255
-3.03225806 1.87096774 10.00000000 10.02056414 12.53036255
-3.03225806 2.16129032 10.00000000 10.02056414 12.53036255
-3.03225806 2.45161290 10.00000000 10.02056414 12.53036255
-3.03225806 2.74193548 10.00000000 10.02056414 12.53036255
-3.03225806 3.03225806 10.00008162 10.04023401 12.54971361
-3.03225806 3.32258065 10.00084536 10.23133043 12.74581753
-3.03225806 3.61290323 10.00166050 10.44709908 12.98846248
-3.03225806 3.90322581 10.00253632 10.69213103 13.30366093
-3.03225806 4.19354839 10.00350696 10.98431132 13.74623534
-3.03225806 4.48387097 10.00465122 11.36442108 14.41531219
-3.03225806 4.77419355 10.00613539 11.90630175 15.46893972
-3.03225806 5.06451613 10.00830466 12.67597755 17.00612582
-3.03225806 5.35483871 10.01079710 13.33923254 18.14567412
-3.03225806 5.64516129 10.01307288 13.79127531 18.74912170
-3.03225806 5.93548387 10.01499275 14.13114438 19.12316822
-3.03225806 6.22580645 10.01659745 14.41445725 19.41211259
-3.03225806 6.51612903 10.01801781 14.66014744 19.65891493
-3.03225806 6.80645161 10.01938833 14.87383528 19.87334753
-3.03225806 7.09677419 10.02032454 15.00000000 20.00000000
-3.03225806 7.38709677 10.02032454 15.00000000 20.00000000
-3.03225806 7.67741935 10.02032454 15.00000000 20.00000000
-3.03225806 7.96774194 10.02032454 15.00000000 20.00000000
-3.03225806 8.25806452 10.02032454 15.00000000 20.00000000
-3.03225806 8.54838710 10.02032454 15.00000000 20.00000000
-3.03225806 8.83870968 10.02032454 15.00000000 20.00000000
-3.03225806 9.12903226 10.02032454 15.00000000 20.00000000
-3.03225806 9.41935484 10.02032454 15.00000000 20.00000000
-3.03225806 9.70967742 10.02032454 15.00000000 20.00000000
-3.03225806 10.00000000 10.02032454 15.00000000 20.00000000
-3.32258065 1.00000000 10.00000000 10.23852600 12.81465712
-3.32258065 1.29032258 10.00000000 10.23852600 12.81465712
-3.32258065 1.58064516 10.00000000 10.23852600 12.81465712
-3.32258065 1.87096774 10.00000000 10.23852600 12.81465712
-3.32258065 2.16129032 10.00000000 10.23852600 12.81465712
-3.32258065 2.45161290 10.00000000 10.23852600 12.81465712
-3.32258065 2.74193548 10.00000000 10.23852600 12.81465712
-3.32258065 3.03225806 10.00081091 10.25216001 12.82509445
-3.32258065 3.32258065 10.00847573 10.39024810 12.94131554
-3.32258065 3.61290323 10.01682656 10.55678831 13.10652832
-3.32258065 3.90322581 10.02600789 10.75843537 13.34992628
-3.32258065 4.19354839 10.03642525 11.01464869 13.72980008
-3.32258065 4.48387097 10.04898564 11.36779630 14.35055538
-3.32258065 4.77419355 10.06563624 11.89543354 15.38280506
-3.32258065 5.06451613 10.09043159 12.66530578 16.93433074
-3.32258065 5.35483871 10.11905829 13.33050784 18.08725853
-3.32258065 5.64516129 10.14531886 13.79087513 18.71123750
-3.32258065 5.93548387 10.16705394 14.13888710 19.10302935
-3.32258065 6.22580645 10.18433380 14.42710664 19.40531141
-3.32258065 6.51612903 10.19847233 14.67287318 19.66004764
-3.32258065 6.80645161 10.21090121 14.88093570 19.87607311
-3.32258065 7.09677419 10.21874952 15.00000000 20.00000000
-3.32258065 7.38709677 10.21874952 15.00000000 20.00000000
-3.32258065 7.67741935 10.21874952 15.00000000 20.00000000
-3.32258065 7.96774194 10.21874952 15.00000000 20.00000000
-3.32258065 8.25806452 10.21874952 15.00000000 20.00000000
-3.32258065 8.54838710 10.21874952 15.00000000 20.00000000
-3.32258065 8.83870968 10.21874952 15.00000000 20.00000000
-3.32258065 9.12903226 10.21874952 15.00000000 20.00000000
-3.32258065 9.41935484 10.21874952 15.00000000 20.00000000
-3.32258065 9.70967742 10.21874952 15.00000000 20.00000000
-3.32258065 10.00000000 10.21874952 15.00000000 20.00000000
-3.61290323 1.00000000 10.00000000 10.50490830 13.12845546
-3.61290323 1.29032258 10.00000000 10.50490830 13.12845546
-3.61290323 1.58064516 10.00000000 10.50490830 13.12845546
-3.61290323 1.87096774 10.00000000 10.50490830 13.12845546
-3.61290323 2.16129032 10.00000000 10.50490830 13.12845546
-3.61290323 2.45161290 10.00000000 10.50490830 13.12845546
-3.61290323 2.74193548 10.00000000 10.50490830 13.12845546
-3.61290323 3.03225806 10.00151654 10.51262673 13.13088541
-3.61290323 3.32258065 10.01600168 10.59992682 13.17930400
-3.61290323 3.61290323 10.03212956 10.72120213 13.28528620
-3.61290323 3.90322581 10.05031902 10.88533698 13.48054126
-3.61290323 4.19354839 10.07154360 11.11425892 13.82721937
-3.61290323 4.48387097 10.09785029 11.45287584 14.43542451
-3.61290323 4.77419355 10.13366827 11.98002190 15.48143735
-3.61290323 5.06451613 10.18719850 12.73374607 17.00406518
-3.61290323 5.35483871 10.24796420 13.36174755 18.08140820
-3.61290323 5.64516129 10.30403654 13.80875389 18.68736063
-3.61290323 5.93548387 10.35025162 14.15521373 19.08606379
-3.61290323 6.22580645 10.38608863 14.44355382 19.39936608
-3.61290323 6.51612903 10.41383257 14.68673503 19.66149620
-3.61290323 6.80645161 10.43623515 14.88800549 19.87887528
-3.61290323 7.09677419 10.44926133 15.00000088 20.00000000
-3.61290323 7.38709677 10.44926133 15.00000088 20.00000000
-3.61290323 7.67741935 10.44926133 15.00000088 20.00000000
-3.61290323 7.96774194 10.44926133 15.00000088 20.00000000
-3.61290323 8.25806452 10.44926133 15.00000088 20.00000000
-3.61290323 8.54838710 10.44926133 15.00000088 20.00000000
-3.61290323 8.83870968 10.44926133 15.00000088 20.00000000
-3.61290323 9.12903226 10.44926133 15.00000088 20.00000000
-3.61290323 9.41935484 10.44926133 15.00000088 20.00000000
-3.61290323 9.70967742 10.44926133 15.00000088 20.00000000
-3.61290323 10.00000000 10.44926133 15.00000088 20.00000000
-3.90322581 1.00000000 10.00000000 10.81017051 13.50482619
-3.90322581 1.29032258 10.00000000 10.81017051 13.50482619
-3.90322581 1.58064516 10.00000000 10.81017051 13.50482619
-3.90322581 1.87096774 10.00000000 10.81017051 13.50482619
-3.90322581 2.16129032 10.00000000 10.81017051 13.50482619
-3.90322581 2.45161290 10.00000000 10.81017051 13.50482619
-3.90322581 2.74193548 10.00000000 10.81017051 13.50482619
-3.90322581 3.03225806 10.00219148 10.81256800 13.49994499
-3.90322581 3.32258065 10.02334161 10.85552124 13.49103677
-3.90322581 3.61290323 10.04741939 10.93971057 13.55528460
-3.90322581 3.90322581 10.07534164 11.07630295 13.72649949
-3.90322581 4.19354839 10.10893601 11.29025424 14.07090979
-3.90322581 4.48387097 10.15193928 11.62903831 14.70330070
-3.90322581 4.77419355 10.21233649 12.16677306 15.79128080
-3.90322581 5.06451613 10.30009318 12.86586763 17.18478750
-3.90322581 5.35483871 10.39754980 13.42561609 18.11553344
-3.90322581 5.64516129 10.48826068 13.84290562 18.67501261
-3.90322581 5.93548387 10.56389908 14.17975972 19.07251531
-3.90322581 6.22580645 10.62276486 14.46381877 19.39494339
-3.90322581 6.51612903 10.66748610 14.70188269 19.66385099
-3.90322581 6.80645161 10.70191101 14.89518965 19.88205071
-3.90322581 7.09677419 10.72100391 15.00002113 20.00000000
-3.90322581 7.38709677 10.72100391 15.00002113 20.00000000
-3.90322581 7.67741935 10.72100391 15.00002113 20.00000000
-3.90322581 7.96774194 10.72100391 15.00002113 20.00000000
-3.90322581 8.25806452 10.72100391 15.00002113 20.00000000
-3.90322581 8.54838710 10.72100391 15.00002113 20.00000000
-3.90322581 8.83870968 10.72100391 15.00002113 20.00000000
-3.90322581 9.12903226 10.72100391 15.00002113 20.00000000
-3.90322581 9.41935484 10.72100391 15.00002113 20.00000000
-3.90322581 9.70967742 10.72100391 15.00002113 20.00000000
-3.90322581 10.00000000 10.72100391 15.00002113 20.00000000
-4.19354839 1.00000000 10.00000000 11.15752390 14.00262973
-4.19354839 1.29032258 10.00000000 11.15752390 14.00262973
-4.19354839 1.58064516 10.00000000 11.15752390 14.00262973
-4.19354839 1.87096774 10.00000000 11.15752390 14.00262973
-4.19354839 2.16129032 10.00000000 11.15752390 14.00262973
-4.19354839 2.45161290 10.00000000 11.15752390 14.00262973
-4.19354839 2.74193548 10.00000000 11.15752390 14.00262973
-4.19354839 3.03225806 10.00284797 11.15550089 13.99105017
-4.19354839 3.32258065 10.03061130 11.16343190 13.93454481
-4.19354839 3.61290323 10.06293737 11.22200777 13.97446418
-4.19354839 3.90322581 10.10150367 11.34453978 14.14653042
-4.19354839 4.19354839 10.14947661 11.55849242 14.51982064
-4.19354839 4.48387097 10.21306769 11.91049442 15.20610247
-4.19354839 4.77419355 10.30455207 12.44702544 16.30551023
-4.19354839 5.06451613 10.42825336 13.03462310 17.41989968
-4.19354839 5.35483871 10.56483051 13.51054329 18.16893632
-4.19354839 5.64516129 10.69399611 13.89010562 18.67059669
-4.19354839 5.93548387 10.80488969 14.21182688 19.06294905
-4.19354839 6.22580645 10.89398583 14.48780444 19.39301254
-4.19354839 6.51612903 10.96315550 14.71842615 19.66783672
-4.19354839 6.80645161 11.01688740 14.90267275 19.88592684
-4.19354839 7.09677419 11.04734052 15.00021055 20.00000000
-4.19354839 7.38709677 11.04734052 15.00021055 20.00000000
-4.19354839 7.67741935 11.04734052 15.00021055 20.00000000
-4.19354839 7.96774194 11.04734052 15.00021055 20.00000000
-4.19354839 8.25806452 11.04734052 15.00021055 20.00000000
-4.19354839 8.54838710 11.04734052 15.00021055 20.00000000
-4.19354839 8.83870968 11.04734052 15.00021055 20.00000000
-4.19354839 9.12903226 11.04734052 15.00021055 20.00000000
-4.19354839 9.41935484 11.04734052 15.00021055 20.00000000
-4.19354839 9.70967742 11.04734052 15.00021055 20.00000000
-4.19354839 10.00000000 11.04734052 15.00021055 20.00000000
-4.48387097 1.00000000 10.00000000 11.56528482 14.70576330
-4.48387097 1.29032258 10.00000000 11.56528482 14.70576330
-4.48387097 1.58064516 10.00000000 11.56528482 14.70576330
-4.48387097 1.87096774 10.00000000 11.56528482 14.70576330
-4.48387097 2.16129032 10.00000000 11.56528482 14.70576330
-4.48387097 2.45161290 10.00000000 11.56528482 14.70576330
-4.48387097 2.74193548 10.00000000 11.56528482 14.70576330
-4.48387097 3.03225806 10.00351833 11.55997110 14.68853149
-4.48387097 3.32258065 10.03814879 11.54406758 14.59669714
-4.48387097 3.61290323 10.07937305 11.59012375 14.63057323
-4.48387097 3.90322581 10.12999914 11.71265167 14.82664243
-4.48387097 4.19354839 10.19514264 11.93798653 15.24939300
-4.48387097 4.48387097 10.28453809 12.29965873 15.97812311
-4.48387097 4.77419355 10.40728869 12.75130857 16.85678574
-4.48387097 5.06451613 10.56626545 13.21039199 17.64813719
-4.48387097 5.35483871 10.74201361 13.60560816 18.22456849
-4.48387097 5.64516129 10.91294483 13.94712330 18.67257728
-4.48387097 5.93548387 11.06666959 14.25051940 19.05879821
-4.48387097 6.22580645 11.19709582 14.51530775 19.39489256
-4.48387097 6.51612903 11.30393014 14.73651306 19.67429340
-4.48387097 6.80645161 11.39171986 14.91090478 19.89084781
-4.48387097 7.09677419 11.44506880 15.00128458 20.00000000
-4.48387097 7.38709677 11.44506880 15.00128458 20.00000000
-4.48387097 7.67741935 11.44506880 15.00128458 20.00000000
-4.48387097 7.96774194 11.44506880 15.00128458 20.00000000
-4.48387097 8.25806452 11.44506880 15.00128458 20.00000000
-4.48387097 8.54838710 11.44506880 15.00128458 20.00000000
-4.48387097 8.83870968 11.44506880 15.00128458 20.00000000
-4.48387097 9.12903226 11.44506880 15.00128458 20.00000000
-4.48387097 9.41935484 11.44506880 15.00128458 20.00000000
-4.48387097 9.70967742 11.44506880 15.00128458 20.00000000
-4.48387097 10.00000000 11.44506880 15.00128458 20.00000000
-4.77419355 1.00000000 10.00000000 12.05898046 15.70102169
-4.77419355 1.29032258 10.00000000 12.05898046 15.70102169
-4.77419355 1.58064516 10.00000000 12.05898046 15.70102169
-4.77419355 1.87096774 10.00000000 12.05898046 15.70102169
-4.77419355 2.16129032 10.00000000 12.05898046 15.70102169
-4.77419355 2.45161290 10.00000000 12.05898046 15.70102169
-4.77419355 2.74193548 10.00000000 12.05898046 15.70102169
-4.77419355 3.03225806 10.00425780 12.05183116 15.68076127
-4.77419355 3.32258065 10.04656050 12.02438408 15.57411145
-4.77419355 3.61290323 10.09802059 12.06833124 15.61725364
-4.77419355 3.90322581 10.16302652 12.19562117 15.84003779
-4.77419355 4.19354839 10.24884203 12.41521338 16.25899815
-4.77419355 4.48387097 10.36281190 12.69904450 16.77664315
-4.77419355 4.77419355 10.51269012 13.02442268 17.31761601
-4.77419355 5.06451613 10.70326374 13.37314904 17.83311892
-4.77419355 5.35483871 10.91644419 13.70398283 18.27798568
-4.77419355 5.64516129 11.13258860 14.01140956 18.68338981
-4.77419355 5.93548387 11.33885271 14.29485387 19.06262803
-4.77419355 6.22580645 11.52611738 14.54611158 19.40221067
-4.77419355 6.51612903 11.69068129 14.75656882 19.68409833
-4.77419355 6.80645161 11.83652379 14.92121904 19.89713492
-4.77419355 7.09677419 11.93184447 15.00571281 20.00000000
-4.77419355 7.38709677 11.93184447 15.00571281 20.00000000
-4.77419355 7.67741935 11.93184447 15.00571281 20.00000000
-4.77419355 7.96774194 11.93184447 15.00571281 20.00000000
-4.77419355 8.25806452 11.93184447 15.00571281 20.00000000
-4.77419355 8.54838710 11.93184447 15.00571281 20.00000000
-4.77419355 8.83870968 11.93184447 15.00571281 20.00000000
-4.77419355 9.12903226 11.93184447 15.00571281 20.00000000
-4.77419355 9.41935484 11.93184447 15.00571281 20.00000000
-4.77419355 9.70967742 11.93184447 15.00571281 20.00000000
-4.77419355 10.00000000 11.93184447 15.00571281 20.00000000
-5.06451613 1.00000000 10.00000000 12.62161977 16.93336867
-5.06451613 1.29032258 10.00000000 12.62161977 16.93336867
-5.06451613 1.58064516 10.00000000 12.62161977 16.93336867
-5.06451613 1.87096774 10.00000000 12.62161977 16.93336867
-5.06451613 2.16129032 10.00000000 12.62161977 16.93336867
-5.06451613 2.45161290 10.00000000 12.62161977 16.93336867
-5.06451613 2.74193548 10.00000000 12.62161977 16.93336867
-5.06451613 3.03225806 10.00514671 12.61436601 16.91498077
-5.06451613 3.32258065 10.05669829 12.58189344 16.81059366
-5.06451613 3.61290323 10.12016954 12.60900573 16.81743639
-5.06451613 3.90322581 10.20030048 12.69329287 16.92465057
-5.06451613 4.19354839 10.30333031 12.82979245 17.11064279
-5.06451613 4.48387097 10.43676106 13.01355965 17.35314038
-5.06451613 4.77419355 10.60858414 13.24246568 17.64074677
-5.06451613 5.06451613 10.82506593 13.51723830 17.97839577
-5.06451613 5.35483871 11.07335436 13.80267877 18.33779748
-5.06451613 5.64516129 11.33833932 14.08082078 18.70901812
-5.06451613 5.93548387 11.60813624 14.34372309 19.07791541
-5.06451613 6.22580645 11.87123458 14.58015261 19.41671660
-5.06451613 6.51612903 12.12014276 14.77981816 19.69800848
-5.06451613 6.80645161 12.35752048 14.93719431 19.90501710
-5.06451613 7.09677419 12.52110295 15.02031920 20.00000000
-5.06451613 7.38709677 12.52110295 15.02031920 20.00000000
-5.06451613 7.67741935 12.52110295 15.02031920 20.00000000
-5.06451613 7.96774194 12.52110295 15.02031920 20.00000000
-5.06451613 8.25806452 12.52110295 15.02031920 20.00000000
-5.06451613 8.54838710 12.52110295 15.02031920 20.00000000
-5.06451613 8.83870968 12.52110295 15.02031920 20.00000000
-5.06451613 9.12903226 12.52110295 15.02031920 20.00000000
-5.06451613 9.41935484 12.52110295 15.02031920 20.00000000
-5.06451613 9.70967742 12.52110295 15.02031920 20.00000000
-5.06451613 10.00000000 12.52110295 15.02031920 20.00000000
-5.35483871 1.00000000 10.00000000 13.01386190 17.72252667
-5.35483871 1.29032258 10.00000000 13.01386190 17.72252667
-5.35483871 1.58064516 10.00000000 13.01386190 17.72252667
-5.35483871 1.87096774 10.00000000 13.01386190 17.72252667
-5.35483871 2.16129032 10.00000000 13.01386190 17.72252667
-5.35483871 2.45161290 10.00000000 13.01386190 17.72252667
-5.35483871 2.74193548 10.00000000 13.01386190 17.72252667
-5.35483871 3.03225806 10.00601495 13.00686969 17.70685129
-5.35483871 3.32258065 10.06634293 12.96547134 17.59385080
-5.35483871 3.61290323 10.14023145 12.96440313 17.53452108
-5.35483871 3.90322581 10.23227056 13.00488842 17.52903392
-5.35483871 4.19354839 10.34858062 13.08810799 17.57595632
-5.35483871 4.48387097 10.49681892 13.21678700 17.67789446
-5.35483871 4.77419355 10.68605152 13.39618613 17.84588275
-5.35483871 5.06451613 10.92582927 13.63255921 18.09900113
-5.35483871 5.35483871 11.20991976 13.89010102 18.40855831
-5.35483871 5.64516129 11.52857074 14.14622502 18.75108786
-5.35483871 5.93548387 11.87259469 14.39188070 19.10579009
-5.35483871 6.22580645 12.23015522 14.61596607 19.43909490
-5.35483871 6.51612903 12.59107968 14.80868432 19.71627593
-5.35483871 6.80645161 12.95594174 14.96716502 19.91453659
-5.35483871 7.09677419 13.21476275 15.06095073 20.00000000
-5.35483871 7.38709677 13.21476275 15.06095073 20.00000000
-5.35483871 7.67741935 13.21476275 15.06095073 20.00000000
-5.35483871 7.96774194 13.21476275 15.06095073 20.00000000
-5.35483871 8.25806452 13.21476275 15.06095073 20.00000000
-5.35483871 8.54838710 13.21476275 15.06095073 20.00000000
-5.35483871 8.83870968 13.21476275 15.06095073 20.00000000
-5.35483871 9.12903226 13.21476275 15.06095073 20.00000000
-5.35483871 9.41935484 13.21476275 15.06095073 20.00000000
-5.35483871 9.70967742 13.21476275 15.06095073 20.00000000
-5.35483871 10.00000000 13.21476275 15.06095073 20.00000000
-5.64516129 1.00000000 10.00000000 13.24478345 18.10948914
-5.64516129 1.29032258 10.00000000 13.24478345 18.10948914
-5.64516129 1.58064516 10.00000000 13.24478345 18.10948914
-5.64516129 1.87096774 10.00000000 13.24478345 18.10948914
-5.64516129 2.16129032 10.00000000 13.24478345 18.10948914
-5.64516129 2.45161290 10.00000000 13.24478345 18.10948914
-5.64516129 2.74193548 10.00000000 13.24478345 18.10948914
-5.64516129 3.03225806 10.00676630 13.23777415 18.09507267
-5.64516129 3.32258065 10.07445919 13.19087287 17.97991142
-5.64516129 3.61290323 10.15668214 13.17534466 17.89493493
-5.64516129 3.90322581 10.25790645 13.19448141 17.84556990
-5.64516129 4.19354839 10.38436340 13.25231438 17.83870593
-5.64516129 4.48387097 10.54440886 13.35439086 17.88514140
-5.64516129 4.77419355 10.74903309 13.50842487 18.00199210
-5.64516129 5.06451613 11.01198391 13.72314620 18.21285792
-5.64516129 5.35483871 11.33358994 13.96248512 18.48921917
-5.64516129 5.64516129 11.71006848 14.20295570 18.80628061
-5.64516129 5.93548387 12.13699441 14.43664044 19.14441571
-5.64516129 6.22580645 12.60472073 14.65433972 19.46851033
-5.64516129 6.51612903 13.10163256 14.84960699 19.73841715
-5.64516129 6.80645161 13.62372773 15.02857701 19.92548914
-5.64516129 7.09677419 13.99614692 15.15882564 20.00000000
-5.64516129 7.38709677 13.99614692 15.15882564 20.00000000
-5.64516129 7.67741935 13.99614692 15.15882564 20.00000000
-5.64516129 7.96774194 13.99614692 15.15882564 20.00000000
-5.64516129 8.25806452 13.99614692 15.15882564 20.00000000
-5.64516129 8.54838710 13.99614692 15.15882564 20.00000000
-5.64516129 8.83870968 13.99614692 15.15882564 20.00000000
-5.64516129 9.12903226 13.99614692 15.15882564 20.00000000
-5.64516129 9.41935484 13.99614692 15.15882564 20.00000000
-5.64516129 9.70967742 13.99614692 15.15882564 20.00000000
-5.64516129 10.00000000 13.99614692 15.15882564 20.00000000
-5.93548387 1.00000000 10.00000000 13.40120867 18.33397089
-5.93548387 1.29032258 10.00000000 13.40120867 18.33397089
-5.93548387 1.58064516 10.00000000 13.40120867 18.33397089
-5.93548387 1.87096774 10.00000000 13.40120867 18.33397089
-5.93548387 2.16129032 10.00000000 13.40120867 18.33397089
-5.93548387 2.45161290 10.00000000 13.40120867 18.33397089
-5.93548387 2.74193548 10.00000000 13.40120867 18.33397089
-5.93548387 3.03225806 10.00744380 13.39407329 18.32019470
-5.93548387 3.32258065 10.08152139 13.34352984 18.20598565
-5.93548387 3.61290323 10.17060647 13.32009277 18.11340822
-5.93548387 3.90322581 10.27923715 13.32771096 18.04912878
-5.93548387 4.19354839 10.41406163 13.37128448 18.02197505
-5.93548387 4.48387097 10.58455108 13.45730945 18.04456687
-5.93548387 4.77419355 10.80408104 13.59471590 18.13562017
-5.93548387 5.06451613 11.09099369 13.79430829 18.32113067
-5.93548387 5.35483871 11.45208902 14.02065538 18.57338072
-5.93548387 5.64516129 11.89026400 14.25075408 18.86869733
-5.93548387 5.93548387 12.40745964 14.47898935 19.19011429
-5.93548387 6.22580645 12.99767141 14.70031056 19.50287840
-5.93548387 6.51612903 13.64712779 14.91660867 19.76327022
-5.93548387 6.80645161 14.34097951 15.15349351 19.93748440
-5.93548387 7.09677419 14.82768590 15.36421869 20.00000000
-5.93548387 7.38709677 14.82768590 15.36421869 20.00000000
-5.93548387 7.67741935 14.82768590 15.36421869 20.00000000
-5.93548387 7.96774194 14.82768590 15.36421869 20.00000000
-5.93548387 8.25806452 14.82768590 15.36421869 20.00000000
-5.93548387 8.54838710 14.82768590 15.36421869 20.00000000
-5.93548387 8.83870968 14.82768590 15.36421869 20.00000000
-5.93548387 9.12903226 14.82768590 15.36421869 20.00000000
-5.93548387 9.41935484 14.82768590 15.36421869 20.00000000
-5.93548387 9.70967742 14.82768590 15.36421869 20.00000000
-5.93548387 10.00000000 14.82768590 15.36421869 20.00000000
-6.22580645 1.00000000 10.00000000 13.52140723 18.49028183
-6.22580645 1.29032258 10.00000000 13.52140723 18.49028183
-6.22580645 1.58064516 10.00000000 13.52140723 18.49028183
-6.22580645 1.87096774 10.00000000 13.52140723 18.49028183
-6.22580645 2.16129032 10.00000000 13.52140723 18.49028183
-6.22580645 2.45161290 10.00000000 13.52140723 18.49028183
-6.22580645 2.74193548 10.00000000 13.52140723 18.49028183
-6.22580645 3.03225806 10.00810302 13.51414064 18.47696951
-6.22580645 3.32258065 10.08815300 13.46083531 18.36487771
-6.22580645 3.61290323 10.18335204 13.43182492 18.27056725
-6.22580645 3.90322581 10.29853084 13.43120310 18.20072122
-6.22580645 4.19354839 10.44105662 13.46414597 18.16435180
-6.22580645 4.48387097 10.62187043 13.53764372 18.17434053
-6.22580645 4.77419355 10.85711240 13.66162818 18.24992950
-6.22580645 5.06451613 11.17010593 13.84903800 18.41864073
-6.22580645 5.35483871 11.57429140 14.06601569 18.65350731
-6.22580645 5.64516129 12.07969940 14.29125163 18.93164466
-6.22580645 5.93548387 12.69488978 14.52340191 19.23816286
-6.22580645 6.22580645 13.41621771 14.76582129 19.53932638
-6.22580645 6.51612903 14.22291873 15.03682794 19.78943564
-6.22580645 6.80645161 15.07877121 15.39191301 19.95021830
-6.22580645 7.09677419 15.65721613 15.73541361 20.00000000
-6.22580645 7.38709677 15.65721613 15.73541361 20.00000000
-6.22580645 7.67741935 15.65721613 15.73541361 20.00000000
-6.22580645 7.96774194 15.65721613 15.73541361 20.00000000
-6.22580645 8.25806452 15.65721613 15.73541361 20.00000000
-6.22580645 8.54838710 15.65721613 15.73541361 20.00000000
-6.22580645 8.83870968 15.65721613 15.73541361 20.00000000
-6.22580645 9.12903226 15.65721613 15.73541361 20.00000000
-6.22580645 9.41935484 15.65721613 15.73541361 20.00000000
-6.22580645 9.70967742 15.65721613 15.73541361 20.00000000
-6.22580645 10.00000000 15.65721613 15.73541361 20.00000000
-6.51612903 1.00000000 10.00000000 13.61972094 18.60880619
-6.51612903 1.29032258 10.00000000 13.61972094 18.60880619
-6.51612903 1.58064516 10.00000000 13.61972094 18.60880619
-6.51612903 1.87096774 10.00000000 13.61972094 18.60880619
-6.51612903 2.16129032 10.00000000 13.61972094 18.60880619
-6.51612903 2.45161290 10.00000000 13.61972094 18.60880619
-6.51612903 2.74193548 10.00000000 13.61972094 18.60880619
-6.51612903 3.03225806 10.00879607 13.61234668 18.59585828
-6.51612903 3.32258065 10.09491449 13.55680524 18.48591333
-6.51612903 3.61290323 10.19606794 13.52317278 18.39148132
-6.51612903 3.90322581 10.31763361 13.51550375 18.31902161
-6.51612903 4.19354839 10.46805711 13.53910437 18.27742836
-6.51612903 4.48387097 10.66021718 13.60138870 18.27957680
-6.51612903 4.77419355 10.91360186 13.71334196 18.34495215
-6.51612903 5.06451613 11.25720210 13.89035326 18.50206810
-6.51612903 5.35483871 11.71156099 14.10154931 18.72464991
-6.51612903 5.64516129 12.29365018 14.32963573 18.99000850
-6.51612903 5.93548387 13.01651193 14.58179014 19.28447671
-6.51612903 6.22580645 13.87303537 14.87722915 19.57556793
-6.51612903 6.51612903 14.82531306 15.25898022 19.81660791
-6.51612903 6.80645161 15.80446772 15.80314051 19.96387362
-6.51612903 7.09677419 16.43160099 16.29997299 20.00000000
-6.51612903 7.38709677 16.43160099 16.29997299 20.00000000
-6.51612903 7.67741935 16.43160099 16.29997299 20.00000000
-6.51612903 7.96774194 16.43160099 16.29997299 20.00000000
-6.51612903 8.25806452 16.43160099 16.29997299 20.00000000
-6.51612903 8.54838710 16.43160099 16.29997299 20.00000000
-6.51612903 8.83870968 16.43160099 16.29997299 20.00000000
-6.51612903 9.12903226 16.43160099 16.29997299 20.00000000
-6.51612903 9.41935484 16.43160099 16.29997299 20.00000000
-6.51612903 9.70967742 16.43160099 16.29997299 20.00000000
-6.51612903 10.00000000 16.43160099 16.29997299 20.00000000
-6.80645161 1.00000000 10.00000000 13.70214059 18.70056855
-6.80645161 1.29032258 10.00000000 13.70214059 18.70056855
-6.80645161 1.58064516 10.00000000 13.70214059 18.70056855
-6.80645161 1.87096774 10.00000000 13.70214059 18.70056855
-6.80645161 2.16129032 10.00000000 13.70214059 18.70056855
-6.80645161 2.45161290 10.00000000 13.70214059 18.70056855
-6.80645161 2.74193548 10.00000000 13.70214059 18.70056855
-6.80645161 3.03225806 10.00956688 13.69469565 18.68788903
-6.80645161 3.32258065 10.10223923 13.63745767 18.57975796
-6.80645161 3.61290323 10.20959709 13.59997149 18.48577395
-6.80645161 3.90322581 10.33793179 13.58608880 18.41208791
-6.80645161 4.19354839 10.49735957 13.60114711 18.36739388
-6.80645161 4.48387097 10.70355023 13.65298813 18.36446614
-6.80645161 4.77419355 10.98045881 13.75389532 18.42285704
-6.80645161 5.06451613 11.36399277 13.92258835 18.57166481
-6.80645161 5.35483871 11.88233270 14.13399003 18.78543130
-6.80645161 5.64516129 12.55749197 14.38001472 19.04156376
-6.80645161 5.93548387 13.40037073 14.68481595 19.32760098
-6.80645161 6.22580645 14.38806526 15.09217911 19.61310066
-6.80645161 6.51612903 15.45207816 15.66063766 19.84876184
-6.80645161 6.80645161 16.48822744 16.42159603 19.97852673
-6.80645161 7.09677419 17.11075039 17.00762602 20.00000000
-6.80645161 7.38709677 17.11075039 17.00762602 20.00000000
-6.80645161 7.67741935 17.11075039 17.00762602 20.00000000
-6.80645161 7.96774194 17.11075039 17.00762602 20.00000000
-6.80645161 8.25806452 17.11075039 17.00762602 20.00000000
-6.80645161 8.54838710 17.11075039 17.00762602 20.00000000
-6.80645161 8.83870968 17.11075039 17.00762602 20.00000000
-6.80645161 9.12903226 17.11075039 17.00762602 20.00000000
-6.80645161 9.41935484 17.11075039 17.00762602 20.00000000
-6.80645161 9.70967742 17.11075039 17.00762602 20.00000000
-6.80645161 10.00000000 17.11075039 17.00762602 20.00000000
-7.09677419 1.00000000 10.00000000 13.75000000 18.75000000
-7.09677419 1.29032258 10.00000000 13.75000000 18.75000000
-7.09677419 1.58064516 10.00000000 13.75000000 18.75000000
-7.09677419 1.87096774 10.00000000 13.75000000 18.75000000
-7.09677419 2.16129032 10.00000000 13.75000000 18.75000000
-7.09677419 2.45161290 10.00000000 13.75000000 18.75000000
-7.09677419 2.74193548 10.00000000 13.75000000 18.75000000
-7.09677419 3.03225806 10.01014215 13.74253652 18.73745586
-7.09677419 3.32258065 10.10759368 13.68455725 18.63042380
-7.09677419 3.61290323 10.21937858 13.64503060 18.53708695
-7.09677419 3.90322581 10.35276814 13.62755769 18.46331909
-7.09677419 4.19354839 10.51962543 13.63742744 18.41759948
-7.09677419 4.48387097 10.73840842 13.68281858 18.41253579
-7.09677419 4.77419355 11.03721734 13.77727807 18.46758374
-7.09677419 5.06451613 11.45766304 13.94303282 18.61200965
-7.09677419 5.35483871 12.03283452 14.16229115 18.82112467
-7.09677419 5.64516129 12.78467382 14.43913152 19.07300014
-7.09677419 5.93548387 13.71462338 14.81596996 19.35739569
-7.09677419 6.22580645 14.77874402 15.35015506 19.64585006
-7.09677419 6.51612903 15.88319867 16.07541438 19.87869941
-7.09677419 6.80645161 16.90953845 16.93241475 19.98661180
-7.09677419 7.09677419 17.50000000 17.50000000 20.00000000
-7.09677419 7.38709677 17.50000000 17.50000000 20.00000000
-7.09677419 7.67741935 17.50000000 17.50000000 20.00000000
-7.09677419 7.96774194 17.50000000 17.50000000 20.00000000
-7.09677419 8.25806452 17.50000000 17.50000000 20.00000000
-7.09677419 8.54838710 17.50000000 17.50000000 20.00000000
-7.09677419 8.83870968 17.50000000 17.50000000 20.00000000
-7.09677419 9.12903226 17.50000000 17.50000000 20.00000000
-7.09677419 9.41935484 17.50000000 17.50000000 20.00000000
-7.09677419 9.70967742 17.50000000 17.50000000 20.00000000
-7.09677419 10.00000000 17.50000000 17.50000000 20.00000000
-7.38709677 1.00000000 10.00000000 13.75000000 18.75000000
-7.38709677 1.29032258 10.00000000 13.75000000 18.75000000
-7.38709677 1.58064516 10.00000000 13.75000000 18.75000000
-7.38709677 1.87096774 10.00000000 13.75000000 18.75000000
-7.38709677 2.16129032 10.00000000 13.75000000 18.75000000
-7.38709677 2.45161290 10.00000000 13.75000000 18.75000000
-7.38709677 2.74193548 10.00000000 13.75000000 18.75000000
-7.38709677 3.03225806 10.01014215 13.74253652 18.73745586
-7.38709677 3.32258065 10.10759368 13.68455725 18.63042380
-7.38709677 3.61290323 10.21937858 13.64503060 18.53708695
-7.38709677 3.90322581 10.35276814 13.62755769 18.46331909
-7.38709677 4.19354839 10.51962543 13.63742744 18.41759948
-7.38709677 4.48387097 10.73840842 13.68281858 18.41253579
-7.38709677 4.77419355 11.03721734 13.77727807 18.46758374
-7.38709677 5.06451613 11.45766304 13.94303282 18.61200965
-7.38709677 5.35483871 12.03283452 14.16229115 18.82112467
-7.38709677 5.64516129 12.78467382 14.43913152 19.07300014
-7.38709677 5.93548387 13.71462338 14.81596996 19.35739569
-7.38709677 6.22580645 14.77874402 15.35015506 19.64585006
-7.38709677 6.51612903 15.88319867 16.07541438 19.87869941
-7.38709677 6.80645161 16.90953845 16.93241475 19.98661180
-7.38709677 7.09677419 17.50000000 17.50000000 20.00000000
-7.38709677 7.38709677 17.50000000 17.50000000 20.00000000
-7.38709677 7.67741935 17.50000000 17.50000000 20.00000000
-7.38709677 7.96774194 17.50000000 17.50000000 20.00000000
-7.38709677 8.25806452 17.50000000 17.50000000 20.00000000
-7.38709677 8.54838710 17.50000000 17.50000000 20.00000000
-7.38709677 8.83870968 17.50000000 17.50000000 20.00000000
-7.38709677 9.12903226 17.50000000 17.50000000 20.00000000
-7.38709677 9.41935484 17.50000000 17.50000000 20.00000000
-7.38709677 9.70967742 17.50000000 17.50000000 20.00000000
-7.38709677 10.00000000 17.50000000 17.50000000 20.00000000
-7.67741935 1.00000000 10.00000000 13.75000000 18.75000000
-7.67741935 1.29032258 10.00000000 13.75000000 18.75000000
-7.67741935 1.58064516 10.00000000 13.75000000 18.75000000
-7.67741935 1.87096774 10.00000000 13.75000000 18.75000000
-7.67741935 2.16129032 10.00000000 13.75000000 18.75000000
-7.67741935 2.45161290 10.00000000 13.75000000 18.75000000
-7.67741935 2.74193548 10.00000000 13.75000000 18.75000000
-7.67741935 3.03225806 10.01014215 13.74253652 18.73745586
-7.67741935 3.32258065 10.10759368 13.68455725 18.63042380
-7.67741935 3.61290323 10.21937858 13.64503060 18.53708695
-7.67741935 3.90322581 10.35276814 13.62755769 18.46331909
-7.67741935 4.19354839 10.51962543 13.63742744 18.41759948
-7.67741935 4.48387097 10.73840842 13.68281858 18.41253579
-7.67741935 4.77419355 11.03721734 13.77727807 18.46758374
-7.67741935 5.06451613 11.45766304 13.94303282 18.61200965
-7.67741935 5.35483871 12.03283452 14.16229115 18.82112467
-7.67741935 5.64516129 12.78467382 14.43913152 19.07300014
-7.67741935 5.93548387 13.71462338 14.81596996 19.35739569
-7.67741935 6.22580645 14.77874402 15.35015506 19.64585006
-7.67741935 6.51612903 15.88319867 16.07541438 19.87869941
-7.67741935 6.80645161 16.90953845 16.93241475 19.98661180
-7.67741935 7.09677419 17.50000000 17.50000000 20.00000000
-7.67741935 7.38709677 17.50000000 17.50000000 20.00000000
-7.67741935 7.67741935 17.50000000 17.50000000 20.00000000
-7.67741935 7.96774194 17.50000000 17.50000000 20.00000000
-7.67741935 8.25806452 17.50000000 17.50000000 20.00000000
-7.67741935 8.54838710 17.50000000 17.50000000 20.00000000
-7.67741935 8.83870968 17.50000000 17.50000000 20.00000000
-7.67741935 9.12903226 17.50000000 17.50000000 20.00000000
-7.67741935 9.41935484 17.50000000 17.50000000 20.00000000
-7.67741935 9.70967742 17.50000000 17.50000000 20.00000000
-7.67741935 10.00000000 17.50000000 17.50000000 20.00000000
-7.96774194 1.00000000 10.00000000 13.75000000 18.75000000
-7.96774194 1.29032258 10.00000000 13.75000000 18.75000000
-7.96774194 1.58064516 10.00000000 13.75000000 18.75000000
-7.96774194 1.87096774 10.00000000 13.75000000 18.75000000
-7.96774194 2.16129032 10.00000000 13.75000000 18.75000000
-7.96774194 2.45161290 10.00000000 13.75000000 18.75000000
-7.96774194 2.74193548 10.00000000 13.75000000 18.75000000
-7.96774194 3.03225806 10.01014215 13.74253652 18.73745586
-7.96774194 3.32258065 10.10759368 13.68455725 18.63042380
-7.96774194 3.61290323 10.21937858 13.64503060 18.53708695
-7.96774194 3.90322581 10.35276814 13.62755769 18.46331909
-7.96774194 4.19354839 10.51962543 13.63742744 18.41759948
-7.96774194 4.48387097 10.73840842 13.68281858 18.41253579
-7.96774194 4.77419355 11.03721734 13.77727807 18.46758374
-7.96774194 5.06451613 11.45766304 13.94303282 18.61200965
-7.96774194 5.35483871 12.03283452 14.16229115 18.82112467
-7.96774194 5.64516129 12.78467382 14.43913152 19.07300014
-7.96774194 5.93548387 13.71462338 14.81596996 19.35739569
-7.96774194 6.22580645 14.77874402 15.35015506 19.64585006
-7.96774194 6.51612903 15.88319867 16.07541438 19.87869941
-7.96774194 6.80645161 16.90953845 16.93241475 19.98661180
-7.96774194 7.09677419 17.50000000 17.50000000 20.00000000
-7.96774194 7.38709677 17.50000000 17.50000000 20.00000000
-7.96774194 7.67741935 17.50000000 17.50000000 20.00000000
-7.96774194 7.96774194 17.50000000 17.50000000 20.00000000
-7.96774194 8.25806452 17.50000000 17.50000000 20.00000000
-7.96774194 8.54838710 17.50000000 17.50000000 20.00000000
-7.96774194 8.83870968 17.50000000 17.50000000 20.00000000
-7.96774194 9.12903226 17.50000000 17.50000000 20.00000000
-7.96774194 9.41935484 17.50000000 17.50000000 20.00000000
-7.96774194 9.70967742 17.50000000 17.50000000 20.00000000
-7.96774194 10.00000000 17.50000000 17.50000000 20.00000000
-8.25806452 1.00000000 10.00000000 13.75000000 18.75000000
-8.25806452 1.29032258 10.00000000 13.75000000 18.75000000
-8.25806452 1.58064516 10.00000000 13.75000000 18.75000000
-8.25806452 1.87096774 10.00000000 13.75000000 18.75000000
-8.25806452 2.16129032 10.00000000 13.75000000 18.75000000
-8.25806452 2.45161290 10.00000000 13.75000000 18.75000000
-8.25806452 2.74193548 10.00000000 13.75000000 18.75000000
-8.25806452 3.03225806 10.01014215 13.74253652 18.73745586
-8.25806452 3.32258065 10.10759368 13.68455725 18.63042380
-8.25806452 3.61290323 10.21937858 13.64503060 18.53708695
-8.25806452 3.90322581 10.35276814 13.62755769 18.46331909
-8.25806452 4.19354839 10.51962543 13.63742744 18.41759948
-8.25806452 4.48387097 10.73840842 13.68281858 18.41253579
-8.25806452 4.77419355 11.03721734 13.77727807 18.46758374
-8.25806452 5.06451613 11.45766304 13.94303282 18.61200965
-8.25806452 5.35483871 12.03283452 14.16229115 18.82112467
-8.25806452 5.64516129 12.78467382 14.43913152 19.07300014
-8.25806452 5.93548387 13.71462338 14.81596996 19.35739569
-8.25806452 6.22580645 14.77874402 15.35015506 19.64585006
-8.25806452 6.51612903 15.88319867 16.07541438 19.87869941
-8.25806452 6.80645161 16.90953845 16.93241475 19.98661180
-8.25806452 7.09677419 17.50000000 17.50000000 20.00000000
-8.25806452 7.38709677 17.50000000 17.50000000 20.00000000
-8.25806452 7.67741935 17.50000000 17.50000000 20.00000000
-8.25806452 7.96774194 17.50000000 17.50000000 20.00000000
-8.25806452 8.25806452 17.50000000 17.50000000 20.00000000
-8.25806452 8.54838710 17.50000000 17.50000000 20.00000000
-8.25806452 8.83870968 17.50000000 17.50000000 20.00000000
-8.25806452 9.12903226 17.50000000 17.50000000 20.00000000
-8.25806452 9.41935484 17.50000000 17.50000000 20.00000000
-8.25806452 9.70967742 17.50000000 17.50000000 20.00000000
-8.25806452 10.00000000 17.50000000 17.50000000 20.00000000
-8.54838710 1.00000000 10.00000000 13.75000000 18.75000000
-8.54838710 1.29032258 10.00000000 13.75000000 18.75000000
-8.54838710 1.58064516 10.00000000 13.75000000 18.75000000
-8.54838710 1.87096774 10.00000000 13.75000000 18.75000000
-8.54838710 2.16129032 10.00000000 13.75000000 18.75000000
-8.54838710 2.45161290 10.00000000 13.75000000 18.75000000
-8.54838710 2.74193548 10.00000000 13.75000000 18.75000000
-8.54838710 3.03225806 10.01014215 13.74253652 18.73745586
-8.54838710 3.32258065 10.10759368 13.68455725 18.63042380
-8.54838710 3.61290323 10.21937858 13.64503060 18.53708695
-8.54838710 3.90322581 10.35276814 13.62755769 18.46331909
-8.54838710 4.19354839 10.51962543 13.63742744 18.41759948
-8.54838710 4.48387097 10.73840842 13.68281858 18.41253579
-8.54838710 4.77419355 11.03721734 13.77727807 18.46758374
-8.54838710 5.06451613 11.45766304 13.94303282 18.61200965
-8.54838710 5.35483871 12.03283452 14.16229115 18.82112467
-8.54838710 5.64516129 12.78467382 14.43913152 19.07300014
-8.54838710 5.93548387 13.71462338 14.81596996 19.35739569
-8.54838710 6.22580645 14.77874402 15.35015506 19.64585006
-8.54838710 6.51612903 15.88319867 16.07541438 19.87869941
-8.54838710 6.80645161 16.90953845 16.93241475 19.98661180
-8.54838710 7.09677419 17.50000000 17.50000000 20.00000000
-8.54838710 7.38709677 17.50000000 17.50000000 20.00000000
-8.54838710 7.67741935 17.50000000 17.50000000 20.00000000
-8.54838710 7.96774194 17.50000000 17.50000000 20.00000000
-8.54838710 8.25806452 17.50000000 17.50000000 20.00000000
-8.54838710 8.54838710 17.50000000 17.50000000 20.00000000
-8.54838710 8.83870968 17.50000000 17.50000000 20.00000000
-8.54838710 9.12903226 17.50000000 17.50000000 20.00000000
-8.54838710 9.41935484 17.50000000 17.50000000 20.00000000
-8.54838710 9.70967742 17.50000000 17.50000000 20.00000000
-8.54838710 10.00000000 17.50000000 17.50000000 20.00000000
-8.83870968 1.00000000 10.00000000 13.75000000 18.75000000
-8.83870968 1.29032258 10.00000000 13.75000000 18.75000000
-8.83870968 1.58064516 10.00000000 13.75000000 18.75000000
-8.83870968 1.87096774 10.00000000 13.75000000 18.75000000
-8.83870968 2.16129032 10.00000000 13.75000000 18.75000000
-8.83870968 2.45161290 10.00000000 13.75000000 18.75000000
-8.83870968 2.74193548 10.00000000 13.75000000 18.75000000
-8.83870968 3.03225806 10.01014215 13.74253652 18.73745586
-8.83870968 3.32258065 10.10759368 13.68455725 18.63042380
-8.83870968 3.61290323 10.21937858 13.64503060 18.53708695
-8.83870968 3.90322581 10.35276814 13.62755769 18.46331909
-8.83870968 4.19354839 10.51962543 13.63742744 18.41759948
-8.83870968 4.48387097 10.73840842 13.68281858 18.41253579
-8.83870968 4.77419355 11.03721734 13.77727807 18.46758374
-8.83870968 5.06451613 11.45766304 13.94303282 18.61200965
-8.83870968 5.35483871 12.03283452 14.16229115 18.82112467
-8.83870968 5.64516129 12.78467382 14.43913152 19.07300014
-8.83870968 5.93548387 13.71462338 14.81596996 19.35739569
-8.83870968 6.22580645 14.77874402 15.35015506 19.64585006
-8.83870968 6.51612903 15.88319867 16.07541438 19.87869941
-8.83870968 6.80645161 16.90953845 16.93241475 19.98661180
-8.83870968 7.09677419 17.50000000 17.50000000 20.00000000
-8.83870968 7.38709677 17.50000000 17.50000000 20.00000000
-8.83870968 7.67741935 17.50000000 17.50000000 20.00000000
-8.83870968 7.96774194 17.50000000 17.50000000 20.00000000
-8.83870968 8.25806452 17.50000000 17.50000000 20.00000000
-8.83870968 8.54838710 17.50000000 17.50000000 20.00000000
-8.83870968 8.83870968 17.50000000 17.50000000 20.00000000
-8.83870968 9.12903226 17.50000000 17.50000000 20.00000000
-8.83870968 9.41935484 17.50000000 17.50000000 20.00000000
-8.83870968 9.70967742 17.50000000 17.50000000 20.00000000
-8.83870968 10.00000000 17.50000000 17.50000000 20.00000000
-9.12903226 1.00000000 10.00000000 13.75000000 18.75000000
-9.12903226 1.29032258 10.00000000 13.75000000 18.75000000
-9.12903226 1.58064516 10.00000000 13.75000000 18.75000000
-9.12903226 1.87096774 10.00000000 13.75000000 18.75000000
-9.12903226 2.16129032 10.00000000 13.75000000 18.75000000
-9.12903226 2.45161290 10.00000000 13.75000000 18.75000000
-9.12903226 2.74193548 10.00000000 13.75000000 18.75000000
-9.12903226 3.03225806 10.01014215 13.74253652 18.73745586
-9.12903226 3.32258065 10.10759368 13.68455725 18.63042380
-9.12903226 3.61290323 10.21937858 13.64503060 18.53708695
-9.12903226 3.90322581 10.35276814 13.62755769 18.46331909
-9.12903226 4.19354839 10.51962543 13.63742744 18.41759948
-9.12903226 4.48387097 10.73840842 13.68281858 18.41253579
-9.12903226 4.77419355 11.03721734 13.77727807 18.46758374
-9.12903226 5.06451613 11.45766304 13.94303282 18.61200965
-9.12903226 5.35483871 12.03283452 14.16229115 18.82112467
-9.12903226 5.64516129 12.78467382 14.43913152 19.07300014
-9.12903226 5.93548387 13.71462338 14.81596996 19.35739569
-9.12903226 6.22580645 14.77874402 15.35015506 19.64585006
-9.12903226 6.51612903 15.88319867 16.07541438 19.87869941
-9.12903226 6.80645161 16.90953845 16.93241475 19.98661180
-9.12903226 7.09677419 17.50000000 17.50000000 20.00000000
-9.12903226 7.38709677 17.50000000 17.50000000 20.00000000
-9.12903226 7.67741935 17.50000000 17.50000000 20.00000000
-9.12903226 7.96774194 17.50000000 17.50000000 20.00000000
-9.12903226 8.25806452 17.50000000 17.50000000 20.00000000
-9.12903226 8.54838710 17.50000000 17.50000000 20.00000000
-9.12903226 8.83870968 17.50000000 17.50000000 20.00000000
-9.12903226 9.12903226 17.50000000 17.50000000 20.00000000
-9.12903226 9.41935484 17.50000000 17.50000000 20.00000000
-9.12903226 9.70967742 17.50000000 17.50000000 20.00000000
-9.12903226 10.00000000 17.50000000 17.50000000 20.00000000
-9.41935484 1.00000000 10.00000000 13.75000000 18.75000000
-9.41935484 1.29032258 10.00000000 13.75000000 18.75000000
-9.41935484 1.58064516 10.00000000 13.75000000 18.75000000
-9.41935484 1.87096774 10.00000000 13.75000000 18.75000000
-9.41935484 2.16129032 10.00000000 13.75000000 18.75000000
-9.41935484 2.45161290 10.00000000 13.75000000 18.75000000
-9.41935484 2.74193548 10.00000000 13.75000000 18.75000000
-9.41935484 3.03225806 10.01014215 13.74253652 18.73745586
-9.41935484 3.32258065 10.10759368 13.68455725 18.63042380
-9.41935484 3.61290323 10.21937858 13.64503060 18.53708695
-9.41935484 3.90322581 10.35276814 13.62755769 18.46331909
-9.41935484 4.19354839 10.51962543 13.63742744 18.41759948
-9.41935484 4.48387097 10.73840842 13.68281858 18.41253579
-9.41935484 4.77419355 11.03721734 13.77727807 18.46758374
-9.41935484 5.06451613 11.45766304 13.94303282 18.61200965
-9.41935484 5.35483871 12.03283452 14.16229115 18.82112467
-9.41935484 5.64516129 12.78467382 14.43913152 19.07300014
-9.41935484 5.93548387 13.71462338 14.81596996 19.35739569
-9.41935484 6.22580645 14.77874402 15.35015506 19.64585006
-9.41935484 6.51612903 15.88319867 16.07541438 19.87869941
-9.41935484 6.80645161 16.90953845 16.93241475 19.98661180
-9.41935484 7.09677419 17.50000000 17.50000000 20.00000000
-9.41935484 7.38709677 17.50000000 17.50000000 20.00000000
-9.41935484 7.67741935 17.50000000 17.50000000 20.00000000
-9.41935484 7.96774194 17.50000000 17.50000000 20.00000000
-9.41935484 8.25806452 17.50000000 17.50000000 20.00000000
-9.41935484 8.54838710 17.50000000 17.50000000 20.00000000
-9.41935484 8.83870968 17.50000000 17.50000000 20.00000000
-9.41935484 9.12903226 17.50000000 17.50000000 20.00000000
-9.41935484 9.41935484 17.50000000 17.50000000 20.00000000
-9.41935484 9.70967742 17.50000000 17.50000000 20.00000000
-9.41935484 10.00000000 17.50000000 17.50000000 20.00000000
-9.70967742 1.00000000 10.00000000 13.75000000 18.75000000
-9.70967742 1.29032258 10.00000000 13.75000000 18.75000000
-9.70967742 1.58064516 10.00000000 13.75000000 18.75000000
-9.70967742 1.87096774 10.00000000 13.75000000 18.75000000
-9.70967742 2.16129032 10.00000000 13.75000000 18.75000000
-9.70967742 2.45161290 10.00000000 13.75000000 18.75000000
-9.70967742 2.74193548 10.00000000 13.75000000 18.75000000
-9.70967742 3.03225806 10.01014215 13.74253652 18.73745586
-9.70967742 3.32258065 10.10759368 13.68455725 18.63042380
-9.70967742 3.61290323 10.21937858 13.64503060 18.53708695
-9.70967742 3.90322581 10.35276814 13.62755769 18.46331909
-9.70967742 4.19354839 10.51962543 13.63742744 18.41759948
-9.70967742 4.48387097 10.73840842 13.68281858 18.41253579
-9.70967742 4.77419355 11.03721734 13.77727807 18.46758374
-9.70967742 5.06451613 11.45766304 13.94303282 18.61200965
-9.70967742 5.35483871 12.03283452 14.16229115 18.82112467
-9.70967742 5.64516129 12.78467382 14.43913152 19.07300014
-9.70967742 5.93548387 13.71462338 14.81596996 19.35739569
-9.70967742 6.22580645 14.77874402 15.35015506 19.64585006
-9.70967742 6.51612903 15.88319867 16.07541438 19.87869941
-9.70967742 6.80645161 16.90953845 16.93241475 19.98661180
-9.70967742 7.09677419 17.50000000 17.50000000 20.00000000
-9.70967742 7.38709677 17.50000000 17.50000000 20.00000000
-9.70967742 7.67741935 17.50000000 17.50000000 20.00000000
-9.70967742 7.96774194 17.50000000 17.50000000 20.00000000
-9.70967742 8.25806452 17.50000000 17.50000000 20.00000000
-9.70967742 8.54838710 17.50000000 17.50000000 20.00000000
-9.70967742 8.83870968 17.50000000 17.50000000 20.00000000
-9.70967742 9.12903226 17.50000000 17.50000000 20.00000000
-9.70967742 9.41935484 17.50000000 17.50000000 20.00000000
-9.70967742 9.70967742 17.50000000 17.50000000 20.00000000
-9.70967742 10.00000000 17.50000000 17.50000000 20.00000000
-10.00000000 1.00000000 10.00000000 13.75000000 18.75000000
-10.00000000 1.29032258 10.00000000 13.75000000 18.75000000
-10.00000000 1.58064516 10.00000000 13.75000000 18.75000000
-10.00000000 1.87096774 10.00000000 13.75000000 18.75000000
-10.00000000 2.16129032 10.00000000 13.75000000 18.75000000
-10.00000000 2.45161290 10.00000000 13.75000000 18.75000000
-10.00000000 2.74193548 10.00000000 13.75000000 18.75000000
-10.00000000 3.03225806 10.01014215 13.74253652 18.73745586
-10.00000000 3.32258065 10.10759368 13.68455725 18.63042380
-10.00000000 3.61290323 10.21937858 13.64503060 18.53708695
-10.00000000 3.90322581 10.35276814 13.62755769 18.46331909
-10.00000000 4.19354839 10.51962543 13.63742744 18.41759948
-10.00000000 4.48387097 10.73840842 13.68281858 18.41253579
-10.00000000 4.77419355 11.03721734 13.77727807 18.46758374
-10.00000000 5.06451613 11.45766304 13.94303282 18.61200965
-10.00000000 5.35483871 12.03283452 14.16229115 18.82112467
-10.00000000 5.64516129 12.78467382 14.43913152 19.07300014
-10.00000000 5.93548387 13.71462338 14.81596996 19.35739569
-10.00000000 6.22580645 14.77874402 15.35015506 19.64585006
-10.00000000 6.51612903 15.88319867 16.07541438 19.87869941
-10.00000000 6.80645161 16.90953845 16.93241475 19.98661180
-10.00000000 7.09677419 17.50000000 17.50000000 20.00000000
-10.00000000 7.38709677 17.50000000 17.50000000 20.00000000
-10.00000000 7.67741935 17.50000000 17.50000000 20.00000000
-10.00000000 7.96774194 17.50000000 17.50000000 20.00000000
-10.00000000 8.25806452 17.50000000 17.50000000 20.00000000
-10.00000000 8.54838710 17.50000000 17.50000000 20.00000000
-10.00000000 8.83870968 17.50000000 17.50000000 20.00000000
-10.00000000 9.12903226 17.50000000 17.50000000 20.00000000
-10.00000000 9.41935484 17.50000000 17.50000000 20.00000000
-10.00000000 9.70967742 17.50000000 17.50000000 20.00000000
-10.00000000 10.00000000 17.50000000 17.50000000 20.00000000
+FoodQuality Service CheapTip AverageTip GenerousTip
+1.000000000 1.000000000 10.000000000 10.000000000 12.500000000
+1.000000000 1.290322581 10.000000000 10.000000000 12.500000000
+1.000000000 1.580645161 10.000000000 10.000000000 12.500000000
+1.000000000 1.870967742 10.000000000 10.000000000 12.500000000
+1.000000000 2.161290323 10.000000000 10.000000000 12.500000000
+1.000000000 2.451612903 10.000000000 10.000000000 12.500000000
+1.000000000 2.741935484 10.000000000 10.000000000 12.500000000
+1.000000000 3.032258065 10.000000000 10.020323221 12.520404599
+1.000000000 3.322580645 10.000000000 10.217239082 12.726188365
+1.000000000 3.612903226 10.000000000 10.438541426 12.978595315
+1.000000000 3.903225806 10.000000000 10.688605148 13.303233716
+1.000000000 4.193548387 10.000000000 10.985194151 13.754553905
+1.000000000 4.483870968 10.000000000 11.368962007 14.431095437
+1.000000000 4.774193548 10.000000000 11.913195856 15.489093970
+1.000000000 5.064516129 10.000000000 12.682234786 17.023032304
+1.000000000 5.354838710 10.000000000 13.342744072 18.155449447
+1.000000000 5.645161290 10.000000000 13.792466240 18.754193916
+1.000000000 5.935483871 10.000000000 14.130816184 19.125588403
+1.000000000 6.225806452 10.000000000 14.413282130 19.412900315
+1.000000000 6.516129032 10.000000000 14.658795531 19.658787254
+1.000000000 6.806451613 10.000000000 14.873037538 19.873037533
+1.000000000 7.096774194 10.000000000 15.000000000 20.000000000
+1.000000000 7.387096774 10.000000000 15.000000000 20.000000000
+1.000000000 7.677419355 10.000000000 15.000000000 20.000000000
+1.000000000 7.967741935 10.000000000 15.000000000 20.000000000
+1.000000000 8.258064516 10.000000000 15.000000000 20.000000000
+1.000000000 8.548387097 10.000000000 15.000000000 20.000000000
+1.000000000 8.838709677 10.000000000 15.000000000 20.000000000
+1.000000000 9.129032258 10.000000000 15.000000000 20.000000000
+1.000000000 9.419354839 10.000000000 15.000000000 20.000000000
+1.000000000 9.709677419 10.000000000 15.000000000 20.000000000
+1.000000000 10.000000000 10.000000000 15.000000000 20.000000000
+1.290322581 1.000000000 10.000000000 10.000000000 12.500000000
+1.290322581 1.290322581 10.000000000 10.000000000 12.500000000
+1.290322581 1.580645161 10.000000000 10.000000000 12.500000000
+1.290322581 1.870967742 10.000000000 10.000000000 12.500000000
+1.290322581 2.161290323 10.000000000 10.000000000 12.500000000
+1.290322581 2.451612903 10.000000000 10.000000000 12.500000000
+1.290322581 2.741935484 10.000000000 10.000000000 12.500000000
+1.290322581 3.032258065 10.000000000 10.020323221 12.520404599
+1.290322581 3.322580645 10.000000000 10.217239082 12.726188365
+1.290322581 3.612903226 10.000000000 10.438541426 12.978595315
+1.290322581 3.903225806 10.000000000 10.688605148 13.303233716
+1.290322581 4.193548387 10.000000000 10.985194151 13.754553905
+1.290322581 4.483870968 10.000000000 11.368962007 14.431095437
+1.290322581 4.774193548 10.000000000 11.913195856 15.489093970
+1.290322581 5.064516129 10.000000000 12.682234786 17.023032304
+1.290322581 5.354838710 10.000000000 13.342744072 18.155449447
+1.290322581 5.645161290 10.000000000 13.792466240 18.754193916
+1.290322581 5.935483871 10.000000000 14.130816184 19.125588403
+1.290322581 6.225806452 10.000000000 14.413282130 19.412900315
+1.290322581 6.516129032 10.000000000 14.658795531 19.658787254
+1.290322581 6.806451613 10.000000000 14.873037538 19.873037533
+1.290322581 7.096774194 10.000000000 15.000000000 20.000000000
+1.290322581 7.387096774 10.000000000 15.000000000 20.000000000
+1.290322581 7.677419355 10.000000000 15.000000000 20.000000000
+1.290322581 7.967741935 10.000000000 15.000000000 20.000000000
+1.290322581 8.258064516 10.000000000 15.000000000 20.000000000
+1.290322581 8.548387097 10.000000000 15.000000000 20.000000000
+1.290322581 8.838709677 10.000000000 15.000000000 20.000000000
+1.290322581 9.129032258 10.000000000 15.000000000 20.000000000
+1.290322581 9.419354839 10.000000000 15.000000000 20.000000000
+1.290322581 9.709677419 10.000000000 15.000000000 20.000000000
+1.290322581 10.000000000 10.000000000 15.000000000 20.000000000
+1.580645161 1.000000000 10.000000000 10.000000000 12.500000000
+1.580645161 1.290322581 10.000000000 10.000000000 12.500000000
+1.580645161 1.580645161 10.000000000 10.000000000 12.500000000
+1.580645161 1.870967742 10.000000000 10.000000000 12.500000000
+1.580645161 2.161290323 10.000000000 10.000000000 12.500000000
+1.580645161 2.451612903 10.000000000 10.000000000 12.500000000
+1.580645161 2.741935484 10.000000000 10.000000000 12.500000000
+1.580645161 3.032258065 10.000000000 10.020323221 12.520404599
+1.580645161 3.322580645 10.000000000 10.217239082 12.726188365
+1.580645161 3.612903226 10.000000000 10.438541426 12.978595315
+1.580645161 3.903225806 10.000000000 10.688605148 13.303233716
+1.580645161 4.193548387 10.000000000 10.985194151 13.754553905
+1.580645161 4.483870968 10.000000000 11.368962007 14.431095437
+1.580645161 4.774193548 10.000000000 11.913195856 15.489093970
+1.580645161 5.064516129 10.000000000 12.682234786 17.023032304
+1.580645161 5.354838710 10.000000000 13.342744072 18.155449447
+1.580645161 5.645161290 10.000000000 13.792466240 18.754193916
+1.580645161 5.935483871 10.000000000 14.130816184 19.125588403
+1.580645161 6.225806452 10.000000000 14.413282130 19.412900315
+1.580645161 6.516129032 10.000000000 14.658795531 19.658787254
+1.580645161 6.806451613 10.000000000 14.873037538 19.873037533
+1.580645161 7.096774194 10.000000000 15.000000000 20.000000000
+1.580645161 7.387096774 10.000000000 15.000000000 20.000000000
+1.580645161 7.677419355 10.000000000 15.000000000 20.000000000
+1.580645161 7.967741935 10.000000000 15.000000000 20.000000000
+1.580645161 8.258064516 10.000000000 15.000000000 20.000000000
+1.580645161 8.548387097 10.000000000 15.000000000 20.000000000
+1.580645161 8.838709677 10.000000000 15.000000000 20.000000000
+1.580645161 9.129032258 10.000000000 15.000000000 20.000000000
+1.580645161 9.419354839 10.000000000 15.000000000 20.000000000
+1.580645161 9.709677419 10.000000000 15.000000000 20.000000000
+1.580645161 10.000000000 10.000000000 15.000000000 20.000000000
+1.870967742 1.000000000 10.000000000 10.000000000 12.500000000
+1.870967742 1.290322581 10.000000000 10.000000000 12.500000000
+1.870967742 1.580645161 10.000000000 10.000000000 12.500000000
+1.870967742 1.870967742 10.000000000 10.000000000 12.500000000
+1.870967742 2.161290323 10.000000000 10.000000000 12.500000000
+1.870967742 2.451612903 10.000000000 10.000000000 12.500000000
+1.870967742 2.741935484 10.000000000 10.000000000 12.500000000
+1.870967742 3.032258065 10.000000000 10.020323221 12.520404599
+1.870967742 3.322580645 10.000000000 10.217239082 12.726188365
+1.870967742 3.612903226 10.000000000 10.438541426 12.978595315
+1.870967742 3.903225806 10.000000000 10.688605148 13.303233716
+1.870967742 4.193548387 10.000000000 10.985194151 13.754553905
+1.870967742 4.483870968 10.000000000 11.368962007 14.431095437
+1.870967742 4.774193548 10.000000000 11.913195856 15.489093970
+1.870967742 5.064516129 10.000000000 12.682234786 17.023032304
+1.870967742 5.354838710 10.000000000 13.342744072 18.155449447
+1.870967742 5.645161290 10.000000000 13.792466240 18.754193916
+1.870967742 5.935483871 10.000000000 14.130816184 19.125588403
+1.870967742 6.225806452 10.000000000 14.413282130 19.412900315
+1.870967742 6.516129032 10.000000000 14.658795531 19.658787254
+1.870967742 6.806451613 10.000000000 14.873037538 19.873037533
+1.870967742 7.096774194 10.000000000 15.000000000 20.000000000
+1.870967742 7.387096774 10.000000000 15.000000000 20.000000000
+1.870967742 7.677419355 10.000000000 15.000000000 20.000000000
+1.870967742 7.967741935 10.000000000 15.000000000 20.000000000
+1.870967742 8.258064516 10.000000000 15.000000000 20.000000000
+1.870967742 8.548387097 10.000000000 15.000000000 20.000000000
+1.870967742 8.838709677 10.000000000 15.000000000 20.000000000
+1.870967742 9.129032258 10.000000000 15.000000000 20.000000000
+1.870967742 9.419354839 10.000000000 15.000000000 20.000000000
+1.870967742 9.709677419 10.000000000 15.000000000 20.000000000
+1.870967742 10.000000000 10.000000000 15.000000000 20.000000000
+2.161290323 1.000000000 10.000000000 10.000000000 12.500000000
+2.161290323 1.290322581 10.000000000 10.000000000 12.500000000
+2.161290323 1.580645161 10.000000000 10.000000000 12.500000000
+2.161290323 1.870967742 10.000000000 10.000000000 12.500000000
+2.161290323 2.161290323 10.000000000 10.000000000 12.500000000
+2.161290323 2.451612903 10.000000000 10.000000000 12.500000000
+2.161290323 2.741935484 10.000000000 10.000000000 12.500000000
+2.161290323 3.032258065 10.000000000 10.020323221 12.520404599
+2.161290323 3.322580645 10.000000000 10.217239082 12.726188365
+2.161290323 3.612903226 10.000000000 10.438541426 12.978595315
+2.161290323 3.903225806 10.000000000 10.688605148 13.303233716
+2.161290323 4.193548387 10.000000000 10.985194151 13.754553905
+2.161290323 4.483870968 10.000000000 11.368962007 14.431095437
+2.161290323 4.774193548 10.000000000 11.913195856 15.489093970
+2.161290323 5.064516129 10.000000000 12.682234786 17.023032304
+2.161290323 5.354838710 10.000000000 13.342744072 18.155449447
+2.161290323 5.645161290 10.000000000 13.792466240 18.754193916
+2.161290323 5.935483871 10.000000000 14.130816184 19.125588403
+2.161290323 6.225806452 10.000000000 14.413282130 19.412900315
+2.161290323 6.516129032 10.000000000 14.658795531 19.658787254
+2.161290323 6.806451613 10.000000000 14.873037538 19.873037533
+2.161290323 7.096774194 10.000000000 15.000000000 20.000000000
+2.161290323 7.387096774 10.000000000 15.000000000 20.000000000
+2.161290323 7.677419355 10.000000000 15.000000000 20.000000000
+2.161290323 7.967741935 10.000000000 15.000000000 20.000000000
+2.161290323 8.258064516 10.000000000 15.000000000 20.000000000
+2.161290323 8.548387097 10.000000000 15.000000000 20.000000000
+2.161290323 8.838709677 10.000000000 15.000000000 20.000000000
+2.161290323 9.129032258 10.000000000 15.000000000 20.000000000
+2.161290323 9.419354839 10.000000000 15.000000000 20.000000000
+2.161290323 9.709677419 10.000000000 15.000000000 20.000000000
+2.161290323 10.000000000 10.000000000 15.000000000 20.000000000
+2.451612903 1.000000000 10.000000000 10.000000000 12.500000000
+2.451612903 1.290322581 10.000000000 10.000000000 12.500000000
+2.451612903 1.580645161 10.000000000 10.000000000 12.500000000
+2.451612903 1.870967742 10.000000000 10.000000000 12.500000000
+2.451612903 2.161290323 10.000000000 10.000000000 12.500000000
+2.451612903 2.451612903 10.000000000 10.000000000 12.500000000
+2.451612903 2.741935484 10.000000000 10.000000000 12.500000000
+2.451612903 3.032258065 10.000000000 10.020323221 12.520404599
+2.451612903 3.322580645 10.000000000 10.217239082 12.726188365
+2.451612903 3.612903226 10.000000000 10.438541426 12.978595315
+2.451612903 3.903225806 10.000000000 10.688605148 13.303233716
+2.451612903 4.193548387 10.000000000 10.985194151 13.754553905
+2.451612903 4.483870968 10.000000000 11.368962007 14.431095437
+2.451612903 4.774193548 10.000000000 11.913195856 15.489093970
+2.451612903 5.064516129 10.000000000 12.682234786 17.023032304
+2.451612903 5.354838710 10.000000000 13.342744072 18.155449447
+2.451612903 5.645161290 10.000000000 13.792466240 18.754193916
+2.451612903 5.935483871 10.000000000 14.130816184 19.125588403
+2.451612903 6.225806452 10.000000000 14.413282130 19.412900315
+2.451612903 6.516129032 10.000000000 14.658795531 19.658787254
+2.451612903 6.806451613 10.000000000 14.873037538 19.873037533
+2.451612903 7.096774194 10.000000000 15.000000000 20.000000000
+2.451612903 7.387096774 10.000000000 15.000000000 20.000000000
+2.451612903 7.677419355 10.000000000 15.000000000 20.000000000
+2.451612903 7.967741935 10.000000000 15.000000000 20.000000000
+2.451612903 8.258064516 10.000000000 15.000000000 20.000000000
+2.451612903 8.548387097 10.000000000 15.000000000 20.000000000
+2.451612903 8.838709677 10.000000000 15.000000000 20.000000000
+2.451612903 9.129032258 10.000000000 15.000000000 20.000000000
+2.451612903 9.419354839 10.000000000 15.000000000 20.000000000
+2.451612903 9.709677419 10.000000000 15.000000000 20.000000000
+2.451612903 10.000000000 10.000000000 15.000000000 20.000000000
+2.741935484 1.000000000 10.000000000 10.000000000 12.500000000
+2.741935484 1.290322581 10.000000000 10.000000000 12.500000000
+2.741935484 1.580645161 10.000000000 10.000000000 12.500000000
+2.741935484 1.870967742 10.000000000 10.000000000 12.500000000
+2.741935484 2.161290323 10.000000000 10.000000000 12.500000000
+2.741935484 2.451612903 10.000000000 10.000000000 12.500000000
+2.741935484 2.741935484 10.000000000 10.000000000 12.500000000
+2.741935484 3.032258065 10.000000000 10.020323221 12.520404599
+2.741935484 3.322580645 10.000000000 10.217239082 12.726188365
+2.741935484 3.612903226 10.000000000 10.438541426 12.978595315
+2.741935484 3.903225806 10.000000000 10.688605148 13.303233716
+2.741935484 4.193548387 10.000000000 10.985194151 13.754553905
+2.741935484 4.483870968 10.000000000 11.368962007 14.431095437
+2.741935484 4.774193548 10.000000000 11.913195856 15.489093970
+2.741935484 5.064516129 10.000000000 12.682234786 17.023032304
+2.741935484 5.354838710 10.000000000 13.342744072 18.155449447
+2.741935484 5.645161290 10.000000000 13.792466240 18.754193916
+2.741935484 5.935483871 10.000000000 14.130816184 19.125588403
+2.741935484 6.225806452 10.000000000 14.413282130 19.412900315
+2.741935484 6.516129032 10.000000000 14.658795531 19.658787254
+2.741935484 6.806451613 10.000000000 14.873037538 19.873037533
+2.741935484 7.096774194 10.000000000 15.000000000 20.000000000
+2.741935484 7.387096774 10.000000000 15.000000000 20.000000000
+2.741935484 7.677419355 10.000000000 15.000000000 20.000000000
+2.741935484 7.967741935 10.000000000 15.000000000 20.000000000
+2.741935484 8.258064516 10.000000000 15.000000000 20.000000000
+2.741935484 8.548387097 10.000000000 15.000000000 20.000000000
+2.741935484 8.838709677 10.000000000 15.000000000 20.000000000
+2.741935484 9.129032258 10.000000000 15.000000000 20.000000000
+2.741935484 9.419354839 10.000000000 15.000000000 20.000000000
+2.741935484 9.709677419 10.000000000 15.000000000 20.000000000
+2.741935484 10.000000000 10.000000000 15.000000000 20.000000000
+3.032258065 1.000000000 10.000000000 10.020564138 12.530362554
+3.032258065 1.290322581 10.000000000 10.020564138 12.530362554
+3.032258065 1.580645161 10.000000000 10.020564138 12.530362554
+3.032258065 1.870967742 10.000000000 10.020564138 12.530362554
+3.032258065 2.161290323 10.000000000 10.020564138 12.530362554
+3.032258065 2.451612903 10.000000000 10.020564138 12.530362554
+3.032258065 2.741935484 10.000000000 10.020564138 12.530362554
+3.032258065 3.032258065 10.000081623 10.040234008 12.549713610
+3.032258065 3.322580645 10.000845356 10.231330430 12.745817533
+3.032258065 3.612903226 10.001660504 10.447099078 12.988462480
+3.032258065 3.903225806 10.002536324 10.692131028 13.303660935
+3.032258065 4.193548387 10.003506957 10.984311315 13.746235339
+3.032258065 4.483870968 10.004651223 11.364421081 14.415312194
+3.032258065 4.774193548 10.006135391 11.906301747 15.468939718
+3.032258065 5.064516129 10.008304662 12.675977549 17.006125822
+3.032258065 5.354838710 10.010797104 13.339232540 18.145674121
+3.032258065 5.645161290 10.013072877 13.791275308 18.749121698
+3.032258065 5.935483871 10.014992751 14.131144375 19.123168222
+3.032258065 6.225806452 10.016597454 14.414457255 19.412112587
+3.032258065 6.516129032 10.018017808 14.660147444 19.658914932
+3.032258065 6.806451613 10.019388331 14.873835282 19.873347530
+3.032258065 7.096774194 10.020324537 15.000000000 20.000000000
+3.032258065 7.387096774 10.020324537 15.000000000 20.000000000
+3.032258065 7.677419355 10.020324537 15.000000000 20.000000000
+3.032258065 7.967741935 10.020324537 15.000000000 20.000000000
+3.032258065 8.258064516 10.020324537 15.000000000 20.000000000
+3.032258065 8.548387097 10.020324537 15.000000000 20.000000000
+3.032258065 8.838709677 10.020324537 15.000000000 20.000000000
+3.032258065 9.129032258 10.020324537 15.000000000 20.000000000
+3.032258065 9.419354839 10.020324537 15.000000000 20.000000000
+3.032258065 9.709677419 10.020324537 15.000000000 20.000000000
+3.032258065 10.000000000 10.020324537 15.000000000 20.000000000
+3.322580645 1.000000000 10.000000000 10.238526001 12.814657118
+3.322580645 1.290322581 10.000000000 10.238526001 12.814657118
+3.322580645 1.580645161 10.000000000 10.238526001 12.814657118
+3.322580645 1.870967742 10.000000000 10.238526001 12.814657118
+3.322580645 2.161290323 10.000000000 10.238526001 12.814657118
+3.322580645 2.451612903 10.000000000 10.238526001 12.814657118
+3.322580645 2.741935484 10.000000000 10.238526001 12.814657118
+3.322580645 3.032258065 10.000810912 10.252160009 12.825094452
+3.322580645 3.322580645 10.008475729 10.390248102 12.941315539
+3.322580645 3.612903226 10.016826559 10.556788308 13.106528324
+3.322580645 3.903225806 10.026007885 10.758435372 13.349926281
+3.322580645 4.193548387 10.036425250 11.014648689 13.729800083
+3.322580645 4.483870968 10.048985641 11.367796303 14.350555384
+3.322580645 4.774193548 10.065636239 11.895433538 15.382805064
+3.322580645 5.064516129 10.090431587 12.665305783 16.934330737
+3.322580645 5.354838710 10.119058291 13.330507836 18.087258535
+3.322580645 5.645161290 10.145318864 13.790875134 18.711237499
+3.322580645 5.935483871 10.167053939 14.138887104 19.103029349
+3.322580645 6.225806452 10.184333797 14.427106637 19.405311407
+3.322580645 6.516129032 10.198472326 14.672873177 19.660047640
+3.322580645 6.806451613 10.210901210 14.880935703 19.876073110
+3.322580645 7.096774194 10.218749520 15.000000005 20.000000000
+3.322580645 7.387096774 10.218749520 15.000000005 20.000000000
+3.322580645 7.677419355 10.218749520 15.000000005 20.000000000
+3.322580645 7.967741935 10.218749520 15.000000005 20.000000000
+3.322580645 8.258064516 10.218749520 15.000000005 20.000000000
+3.322580645 8.548387097 10.218749520 15.000000005 20.000000000
+3.322580645 8.838709677 10.218749520 15.000000005 20.000000000
+3.322580645 9.129032258 10.218749520 15.000000005 20.000000000
+3.322580645 9.419354839 10.218749520 15.000000005 20.000000000
+3.322580645 9.709677419 10.218749520 15.000000005 20.000000000
+3.322580645 10.000000000 10.218749520 15.000000005 20.000000000
+3.612903226 1.000000000 10.000000000 10.504908296 13.128455463
+3.612903226 1.290322581 10.000000000 10.504908296 13.128455463
+3.612903226 1.580645161 10.000000000 10.504908296 13.128455463
+3.612903226 1.870967742 10.000000000 10.504908296 13.128455463
+3.612903226 2.161290323 10.000000000 10.504908296 13.128455463
+3.612903226 2.451612903 10.000000000 10.504908296 13.128455463
+3.612903226 2.741935484 10.000000000 10.504908296 13.128455463
+3.612903226 3.032258065 10.001516539 10.512626733 13.130885405
+3.612903226 3.322580645 10.016001683 10.599926822 13.179304000
+3.612903226 3.612903226 10.032129555 10.721202126 13.285286198
+3.612903226 3.903225806 10.050319022 10.885336976 13.480541261
+3.612903226 4.193548387 10.071543600 11.114258924 13.827219367
+3.612903226 4.483870968 10.097850290 11.452875842 14.435424511
+3.612903226 4.774193548 10.133668269 11.980021902 15.481437354
+3.612903226 5.064516129 10.187198497 12.733746068 17.004065185
+3.612903226 5.354838710 10.247964197 13.361747553 18.081408199
+3.612903226 5.645161290 10.304036539 13.808753893 18.687360629
+3.612903226 5.935483871 10.350251618 14.155213729 19.086063787
+3.612903226 6.225806452 10.386088635 14.443553815 19.399366077
+3.612903226 6.516129032 10.413832571 14.686735031 19.661496202
+3.612903226 6.806451613 10.436235155 14.888005490 19.878875276
+3.612903226 7.096774194 10.449261329 15.000000885 20.000000000
+3.612903226 7.387096774 10.449261329 15.000000885 20.000000000
+3.612903226 7.677419355 10.449261329 15.000000885 20.000000000
+3.612903226 7.967741935 10.449261329 15.000000885 20.000000000
+3.612903226 8.258064516 10.449261329 15.000000885 20.000000000
+3.612903226 8.548387097 10.449261329 15.000000885 20.000000000
+3.612903226 8.838709677 10.449261329 15.000000885 20.000000000
+3.612903226 9.129032258 10.449261329 15.000000885 20.000000000
+3.612903226 9.419354839 10.449261329 15.000000885 20.000000000
+3.612903226 9.709677419 10.449261329 15.000000885 20.000000000
+3.612903226 10.000000000 10.449261329 15.000000885 20.000000000
+3.903225806 1.000000000 10.000000000 10.810170511 13.504826188
+3.903225806 1.290322581 10.000000000 10.810170511 13.504826188
+3.903225806 1.580645161 10.000000000 10.810170511 13.504826188
+3.903225806 1.870967742 10.000000000 10.810170511 13.504826188
+3.903225806 2.161290323 10.000000000 10.810170511 13.504826188
+3.903225806 2.451612903 10.000000000 10.810170511 13.504826188
+3.903225806 2.741935484 10.000000000 10.810170511 13.504826188
+3.903225806 3.032258065 10.002191475 10.812567996 13.499944985
+3.903225806 3.322580645 10.023341607 10.855521242 13.491036767
+3.903225806 3.612903226 10.047419391 10.939710572 13.555284598
+3.903225806 3.903225806 10.075341637 11.076302955 13.726499490
+3.903225806 4.193548387 10.108936013 11.290254243 14.070909786
+3.903225806 4.483870968 10.151939277 11.629038311 14.703300699
+3.903225806 4.774193548 10.212336488 12.166773063 15.791280803
+3.903225806 5.064516129 10.300093175 12.865867633 17.184787504
+3.903225806 5.354838710 10.397549799 13.425616094 18.115533442
+3.903225806 5.645161290 10.488260676 13.842905617 18.675012612
+3.903225806 5.935483871 10.563899084 14.179759717 19.072515315
+3.903225806 6.225806452 10.622764862 14.463818768 19.394943387
+3.903225806 6.516129032 10.667486100 14.701882692 19.663850989
+3.903225806 6.806451613 10.701911006 14.895189653 19.882050715
+3.903225806 7.096774194 10.721003908 15.000021130 20.000000000
+3.903225806 7.387096774 10.721003908 15.000021130 20.000000000
+3.903225806 7.677419355 10.721003908 15.000021130 20.000000000
+3.903225806 7.967741935 10.721003908 15.000021130 20.000000000
+3.903225806 8.258064516 10.721003908 15.000021130 20.000000000
+3.903225806 8.548387097 10.721003908 15.000021130 20.000000000
+3.903225806 8.838709677 10.721003908 15.000021130 20.000000000
+3.903225806 9.129032258 10.721003908 15.000021130 20.000000000
+3.903225806 9.419354839 10.721003908 15.000021130 20.000000000
+3.903225806 9.709677419 10.721003908 15.000021130 20.000000000
+3.903225806 10.000000000 10.721003908 15.000021130 20.000000000
+4.193548387 1.000000000 10.000000000 11.157523904 14.002629729
+4.193548387 1.290322581 10.000000000 11.157523904 14.002629729
+4.193548387 1.580645161 10.000000000 11.157523904 14.002629729
+4.193548387 1.870967742 10.000000000 11.157523904 14.002629729
+4.193548387 2.161290323 10.000000000 11.157523904 14.002629729
+4.193548387 2.451612903 10.000000000 11.157523904 14.002629729
+4.193548387 2.741935484 10.000000000 11.157523904 14.002629729
+4.193548387 3.032258065 10.002847967 11.155500895 13.991050173
+4.193548387 3.322580645 10.030611301 11.163431904 13.934544815
+4.193548387 3.612903226 10.062937365 11.222007768 13.974464175
+4.193548387 3.903225806 10.101503669 11.344539784 14.146530424
+4.193548387 4.193548387 10.149476613 11.558492423 14.519820638
+4.193548387 4.483870968 10.213067693 11.910494416 15.206102473
+4.193548387 4.774193548 10.304552071 12.447025439 16.305510232
+4.193548387 5.064516129 10.428253360 13.034623096 17.419899680
+4.193548387 5.354838710 10.564830507 13.510543286 18.168936315
+4.193548387 5.645161290 10.693996106 13.890105622 18.670596691
+4.193548387 5.935483871 10.804889687 14.211826878 19.062949046
+4.193548387 6.225806452 10.893985831 14.487804439 19.393012538
+4.193548387 6.516129032 10.963155502 14.718426145 19.667836719
+4.193548387 6.806451613 11.016887401 14.902672746 19.885926843
+4.193548387 7.096774194 11.047340520 15.000210546 20.000000000
+4.193548387 7.387096774 11.047340520 15.000210546 20.000000000
+4.193548387 7.677419355 11.047340520 15.000210546 20.000000000
+4.193548387 7.967741935 11.047340520 15.000210546 20.000000000
+4.193548387 8.258064516 11.047340520 15.000210546 20.000000000
+4.193548387 8.548387097 11.047340520 15.000210546 20.000000000
+4.193548387 8.838709677 11.047340520 15.000210546 20.000000000
+4.193548387 9.129032258 11.047340520 15.000210546 20.000000000
+4.193548387 9.419354839 11.047340520 15.000210546 20.000000000
+4.193548387 9.709677419 11.047340520 15.000210546 20.000000000
+4.193548387 10.000000000 11.047340520 15.000210546 20.000000000
+4.483870968 1.000000000 10.000000000 11.565284816 14.705763295
+4.483870968 1.290322581 10.000000000 11.565284816 14.705763295
+4.483870968 1.580645161 10.000000000 11.565284816 14.705763295
+4.483870968 1.870967742 10.000000000 11.565284816 14.705763295
+4.483870968 2.161290323 10.000000000 11.565284816 14.705763295
+4.483870968 2.451612903 10.000000000 11.565284816 14.705763295
+4.483870968 2.741935484 10.000000000 11.565284816 14.705763295
+4.483870968 3.032258065 10.003518332 11.559971097 14.688531488
+4.483870968 3.322580645 10.038148789 11.544067577 14.596697135
+4.483870968 3.612903226 10.079373052 11.590123754 14.630573226
+4.483870968 3.903225806 10.129999142 11.712651674 14.826642427
+4.483870968 4.193548387 10.195142637 11.937986529 15.249393001
+4.483870968 4.483870968 10.284538090 12.299658730 15.978123106
+4.483870968 4.774193548 10.407288688 12.751308571 16.856785744
+4.483870968 5.064516129 10.566265451 13.210391988 17.648137186
+4.483870968 5.354838710 10.742013612 13.605608156 18.224568495
+4.483870968 5.645161290 10.912944832 13.947123303 18.672577283
+4.483870968 5.935483871 11.066669588 14.250519401 19.058798213
+4.483870968 6.225806452 11.197095817 14.515307747 19.394892563
+4.483870968 6.516129032 11.303930141 14.736513059 19.674293402
+4.483870968 6.806451613 11.391719855 14.910904783 19.890847813
+4.483870968 7.096774194 11.445068797 15.001284580 20.000000000
+4.483870968 7.387096774 11.445068797 15.001284580 20.000000000
+4.483870968 7.677419355 11.445068797 15.001284580 20.000000000
+4.483870968 7.967741935 11.445068797 15.001284580 20.000000000
+4.483870968 8.258064516 11.445068797 15.001284580 20.000000000
+4.483870968 8.548387097 11.445068797 15.001284580 20.000000000
+4.483870968 8.838709677 11.445068797 15.001284580 20.000000000
+4.483870968 9.129032258 11.445068797 15.001284580 20.000000000
+4.483870968 9.419354839 11.445068797 15.001284580 20.000000000
+4.483870968 9.709677419 11.445068797 15.001284580 20.000000000
+4.483870968 10.000000000 11.445068797 15.001284580 20.000000000
+4.774193548 1.000000000 10.000000000 12.058980464 15.701021693
+4.774193548 1.290322581 10.000000000 12.058980464 15.701021693
+4.774193548 1.580645161 10.000000000 12.058980464 15.701021693
+4.774193548 1.870967742 10.000000000 12.058980464 15.701021693
+4.774193548 2.161290323 10.000000000 12.058980464 15.701021693
+4.774193548 2.451612903 10.000000000 12.058980464 15.701021693
+4.774193548 2.741935484 10.000000000 12.058980464 15.701021693
+4.774193548 3.032258065 10.004257800 12.051831158 15.680761274
+4.774193548 3.322580645 10.046560497 12.024384078 15.574111451
+4.774193548 3.612903226 10.098020591 12.068331239 15.617253641
+4.774193548 3.903225806 10.163026519 12.195621174 15.840037790
+4.774193548 4.193548387 10.248842025 12.415213380 16.258998150
+4.774193548 4.483870968 10.362811901 12.699044498 16.776643149
+4.774193548 4.774193548 10.512690124 13.024422676 17.317616013
+4.774193548 5.064516129 10.703263743 13.373149036 17.833118921
+4.774193548 5.354838710 10.916444195 13.703982825 18.277985683
+4.774193548 5.645161290 11.132588599 14.011409556 18.683389813
+4.774193548 5.935483871 11.338852711 14.294853866 19.062628031
+4.774193548 6.225806452 11.526117376 14.546111577 19.402210670
+4.774193548 6.516129032 11.690681294 14.756568825 19.684098329
+4.774193548 6.806451613 11.836523788 14.921219044 19.897134924
+4.774193548 7.096774194 11.931844472 15.005712815 20.000000000
+4.774193548 7.387096774 11.931844472 15.005712815 20.000000000
+4.774193548 7.677419355 11.931844472 15.005712815 20.000000000
+4.774193548 7.967741935 11.931844472 15.005712815 20.000000000
+4.774193548 8.258064516 11.931844472 15.005712815 20.000000000
+4.774193548 8.548387097 11.931844472 15.005712815 20.000000000
+4.774193548 8.838709677 11.931844472 15.005712815 20.000000000
+4.774193548 9.129032258 11.931844472 15.005712815 20.000000000
+4.774193548 9.419354839 11.931844472 15.005712815 20.000000000
+4.774193548 9.709677419 11.931844472 15.005712815 20.000000000
+4.774193548 10.000000000 11.931844472 15.005712815 20.000000000
+5.064516129 1.000000000 10.000000000 12.621619769 16.933368673
+5.064516129 1.290322581 10.000000000 12.621619769 16.933368673
+5.064516129 1.580645161 10.000000000 12.621619769 16.933368673
+5.064516129 1.870967742 10.000000000 12.621619769 16.933368673
+5.064516129 2.161290323 10.000000000 12.621619769 16.933368673
+5.064516129 2.451612903 10.000000000 12.621619769 16.933368673
+5.064516129 2.741935484 10.000000000 12.621619769 16.933368673
+5.064516129 3.032258065 10.005146712 12.614366006 16.914980770
+5.064516129 3.322580645 10.056698295 12.581893441 16.810593662
+5.064516129 3.612903226 10.120169544 12.609005731 16.817436387
+5.064516129 3.903225806 10.200300484 12.693292869 16.924650571
+5.064516129 4.193548387 10.303330308 12.829792446 17.110642790
+5.064516129 4.483870968 10.436761057 13.013559654 17.353140381
+5.064516129 4.774193548 10.608584137 13.242465682 17.640746773
+5.064516129 5.064516129 10.825065934 13.517238305 17.978395774
+5.064516129 5.354838710 11.073354364 13.802678770 18.337797480
+5.064516129 5.645161290 11.338339319 14.080820782 18.709018123
+5.064516129 5.935483871 11.608136235 14.343723093 19.077915408
+5.064516129 6.225806452 11.871234576 14.580152615 19.416716601
+5.064516129 6.516129032 12.120142764 14.779818162 19.698008481
+5.064516129 6.806451613 12.357520482 14.937194312 19.905017104
+5.064516129 7.096774194 12.521102945 15.020319196 20.000000000
+5.064516129 7.387096774 12.521102945 15.020319196 20.000000000
+5.064516129 7.677419355 12.521102945 15.020319196 20.000000000
+5.064516129 7.967741935 12.521102945 15.020319196 20.000000000
+5.064516129 8.258064516 12.521102945 15.020319196 20.000000000
+5.064516129 8.548387097 12.521102945 15.020319196 20.000000000
+5.064516129 8.838709677 12.521102945 15.020319196 20.000000000
+5.064516129 9.129032258 12.521102945 15.020319196 20.000000000
+5.064516129 9.419354839 12.521102945 15.020319196 20.000000000
+5.064516129 9.709677419 12.521102945 15.020319196 20.000000000
+5.064516129 10.000000000 12.521102945 15.020319196 20.000000000
+5.354838710 1.000000000 10.000000000 13.013861899 17.722526667
+5.354838710 1.290322581 10.000000000 13.013861899 17.722526667
+5.354838710 1.580645161 10.000000000 13.013861899 17.722526667
+5.354838710 1.870967742 10.000000000 13.013861899 17.722526667
+5.354838710 2.161290323 10.000000000 13.013861899 17.722526667
+5.354838710 2.451612903 10.000000000 13.013861899 17.722526667
+5.354838710 2.741935484 10.000000000 13.013861899 17.722526667
+5.354838710 3.032258065 10.006014949 13.006869691 17.706851286
+5.354838710 3.322580645 10.066342933 12.965471340 17.593850801
+5.354838710 3.612903226 10.140231454 12.964403129 17.534521084
+5.354838710 3.903225806 10.232270564 13.004888418 17.529033919
+5.354838710 4.193548387 10.348580620 13.088107989 17.575956320
+5.354838710 4.483870968 10.496818921 13.216786998 17.677894459
+5.354838710 4.774193548 10.686051524 13.396186129 17.845882749
+5.354838710 5.064516129 10.925829268 13.632559211 18.099001135
+5.354838710 5.354838710 11.209919760 13.890101018 18.408558307
+5.354838710 5.645161290 11.528570742 14.146225018 18.751087862
+5.354838710 5.935483871 11.872594688 14.391880702 19.105790086
+5.354838710 6.225806452 12.230155222 14.615966067 19.439094903
+5.354838710 6.516129032 12.591079681 14.808684323 19.716275926
+5.354838710 6.806451613 12.955941737 14.967165018 19.914536590
+5.354838710 7.096774194 13.214762751 15.060950730 20.000000000
+5.354838710 7.387096774 13.214762751 15.060950730 20.000000000
+5.354838710 7.677419355 13.214762751 15.060950730 20.000000000
+5.354838710 7.967741935 13.214762751 15.060950730 20.000000000
+5.354838710 8.258064516 13.214762751 15.060950730 20.000000000
+5.354838710 8.548387097 13.214762751 15.060950730 20.000000000
+5.354838710 8.838709677 13.214762751 15.060950730 20.000000000
+5.354838710 9.129032258 13.214762751 15.060950730 20.000000000
+5.354838710 9.419354839 13.214762751 15.060950730 20.000000000
+5.354838710 9.709677419 13.214762751 15.060950730 20.000000000
+5.354838710 10.000000000 13.214762751 15.060950730 20.000000000
+5.645161290 1.000000000 10.000000000 13.244783448 18.109489138
+5.645161290 1.290322581 10.000000000 13.244783448 18.109489138
+5.645161290 1.580645161 10.000000000 13.244783448 18.109489138
+5.645161290 1.870967742 10.000000000 13.244783448 18.109489138
+5.645161290 2.161290323 10.000000000 13.244783448 18.109489138
+5.645161290 2.451612903 10.000000000 13.244783448 18.109489138
+5.645161290 2.741935484 10.000000000 13.244783448 18.109489138
+5.645161290 3.032258065 10.006766298 13.237774154 18.095072669
+5.645161290 3.322580645 10.074459191 13.190872866 17.979911424
+5.645161290 3.612903226 10.156682138 13.175344657 17.894934931
+5.645161290 3.903225806 10.257906448 13.194481414 17.845569901
+5.645161290 4.193548387 10.384363399 13.252314383 17.838705930
+5.645161290 4.483870968 10.544408861 13.354390862 17.885141400
+5.645161290 4.774193548 10.749033088 13.508424871 18.001992097
+5.645161290 5.064516129 11.011983915 13.723146199 18.212857917
+5.645161290 5.354838710 11.333589940 13.962485123 18.489219169
+5.645161290 5.645161290 11.710068477 14.202955697 18.806280615
+5.645161290 5.935483871 12.136994407 14.436640443 19.144415713
+5.645161290 6.225806452 12.604720729 14.654339717 19.468510328
+5.645161290 6.516129032 13.101632560 14.849606989 19.738417145
+5.645161290 6.806451613 13.623727732 15.028577014 19.925489144
+5.645161290 7.096774194 13.996146922 15.158825640 20.000000000
+5.645161290 7.387096774 13.996146922 15.158825640 20.000000000
+5.645161290 7.677419355 13.996146922 15.158825640 20.000000000
+5.645161290 7.967741935 13.996146922 15.158825640 20.000000000
+5.645161290 8.258064516 13.996146922 15.158825640 20.000000000
+5.645161290 8.548387097 13.996146922 15.158825640 20.000000000
+5.645161290 8.838709677 13.996146922 15.158825640 20.000000000
+5.645161290 9.129032258 13.996146922 15.158825640 20.000000000
+5.645161290 9.419354839 13.996146922 15.158825640 20.000000000
+5.645161290 9.709677419 13.996146922 15.158825640 20.000000000
+5.645161290 10.000000000 13.996146922 15.158825640 20.000000000
+5.935483871 1.000000000 10.000000000 13.401208666 18.333970891
+5.935483871 1.290322581 10.000000000 13.401208666 18.333970891
+5.935483871 1.580645161 10.000000000 13.401208666 18.333970891
+5.935483871 1.870967742 10.000000000 13.401208666 18.333970891
+5.935483871 2.161290323 10.000000000 13.401208666 18.333970891
+5.935483871 2.451612903 10.000000000 13.401208666 18.333970891
+5.935483871 2.741935484 10.000000000 13.401208666 18.333970891
+5.935483871 3.032258065 10.007443801 13.394073286 18.320194702
+5.935483871 3.322580645 10.081521395 13.343529838 18.205985651
+5.935483871 3.612903226 10.170606472 13.320092774 18.113408216
+5.935483871 3.903225806 10.279237154 13.327710961 18.049128779
+5.935483871 4.193548387 10.414061629 13.371284478 18.021975049
+5.935483871 4.483870968 10.584551085 13.457309453 18.044566871
+5.935483871 4.774193548 10.804081039 13.594715896 18.135620170
+5.935483871 5.064516129 11.090993693 13.794308290 18.321130673
+5.935483871 5.354838710 11.452089024 14.020655377 18.573380719
+5.935483871 5.645161290 11.890263995 14.250754084 18.868697334
+5.935483871 5.935483871 12.407459638 14.478989354 19.190114288
+5.935483871 6.225806452 12.997671406 14.700310557 19.502878399
+5.935483871 6.516129032 13.647127791 14.916608672 19.763270216
+5.935483871 6.806451613 14.340979512 15.153493506 19.937484405
+5.935483871 7.096774194 14.827685905 15.364218694 20.000000000
+5.935483871 7.387096774 14.827685905 15.364218694 20.000000000
+5.935483871 7.677419355 14.827685905 15.364218694 20.000000000
+5.935483871 7.967741935 14.827685905 15.364218694 20.000000000
+5.935483871 8.258064516 14.827685905 15.364218694 20.000000000
+5.935483871 8.548387097 14.827685905 15.364218694 20.000000000
+5.935483871 8.838709677 14.827685905 15.364218694 20.000000000
+5.935483871 9.129032258 14.827685905 15.364218694 20.000000000
+5.935483871 9.419354839 14.827685905 15.364218694 20.000000000
+5.935483871 9.709677419 14.827685905 15.364218694 20.000000000
+5.935483871 10.000000000 14.827685905 15.364218694 20.000000000
+6.225806452 1.000000000 10.000000000 13.521407226 18.490281826
+6.225806452 1.290322581 10.000000000 13.521407226 18.490281826
+6.225806452 1.580645161 10.000000000 13.521407226 18.490281826
+6.225806452 1.870967742 10.000000000 13.521407226 18.490281826
+6.225806452 2.161290323 10.000000000 13.521407226 18.490281826
+6.225806452 2.451612903 10.000000000 13.521407226 18.490281826
+6.225806452 2.741935484 10.000000000 13.521407226 18.490281826
+6.225806452 3.032258065 10.008103023 13.514140641 18.476969515
+6.225806452 3.322580645 10.088153003 13.460835310 18.364877707
+6.225806452 3.612903226 10.183352044 13.431824922 18.270567249
+6.225806452 3.903225806 10.298530841 13.431203100 18.200721216
+6.225806452 4.193548387 10.441056619 13.464145973 18.164351799
+6.225806452 4.483870968 10.621870428 13.537643724 18.174340531
+6.225806452 4.774193548 10.857112400 13.661628176 18.249929499
+6.225806452 5.064516129 11.170105930 13.849038003 18.418640731
+6.225806452 5.354838710 11.574291401 14.066015685 18.653507307
+6.225806452 5.645161290 12.079699400 14.291251628 18.931644662
+6.225806452 5.935483871 12.694889781 14.523401908 19.238162865
+6.225806452 6.225806452 13.416217710 14.765821293 19.539326380
+6.225806452 6.516129032 14.222918735 15.036827937 19.789435643
+6.225806452 6.806451613 15.078771212 15.391913006 19.950218302
+6.225806452 7.096774194 15.657216132 15.735413612 20.000000000
+6.225806452 7.387096774 15.657216132 15.735413612 20.000000000
+6.225806452 7.677419355 15.657216132 15.735413612 20.000000000
+6.225806452 7.967741935 15.657216132 15.735413612 20.000000000
+6.225806452 8.258064516 15.657216132 15.735413612 20.000000000
+6.225806452 8.548387097 15.657216132 15.735413612 20.000000000
+6.225806452 8.838709677 15.657216132 15.735413612 20.000000000
+6.225806452 9.129032258 15.657216132 15.735413612 20.000000000
+6.225806452 9.419354839 15.657216132 15.735413612 20.000000000
+6.225806452 9.709677419 15.657216132 15.735413612 20.000000000
+6.225806452 10.000000000 15.657216132 15.735413612 20.000000000
+6.516129032 1.000000000 10.000000000 13.619720941 18.608806194
+6.516129032 1.290322581 10.000000000 13.619720941 18.608806194
+6.516129032 1.580645161 10.000000000 13.619720941 18.608806194
+6.516129032 1.870967742 10.000000000 13.619720941 18.608806194
+6.516129032 2.161290323 10.000000000 13.619720941 18.608806194
+6.516129032 2.451612903 10.000000000 13.619720941 18.608806194
+6.516129032 2.741935484 10.000000000 13.619720941 18.608806194
+6.516129032 3.032258065 10.008796065 13.612346679 18.595858277
+6.516129032 3.322580645 10.094914486 13.556805241 18.485913330
+6.516129032 3.612903226 10.196067943 13.523172782 18.391481322
+6.516129032 3.903225806 10.317633610 13.515503749 18.319021613
+6.516129032 4.193548387 10.468057112 13.539104368 18.277428362
+6.516129032 4.483870968 10.660217177 13.601388696 18.279576799
+6.516129032 4.774193548 10.913601861 13.713341965 18.344952152
+6.516129032 5.064516129 11.257202098 13.890353256 18.502068098
+6.516129032 5.354838710 11.711560991 14.101549313 18.724649911
+6.516129032 5.645161290 12.293650185 14.329635734 18.990008501
+6.516129032 5.935483871 13.016511933 14.581790143 19.284476712
+6.516129032 6.225806452 13.873035372 14.877229146 19.575567933
+6.516129032 6.516129032 14.825313064 15.258980220 19.816607913
+6.516129032 6.806451613 15.804467725 15.803140508 19.963873617
+6.516129032 7.096774194 16.431600988 16.299972993 20.000000000
+6.516129032 7.387096774 16.431600988 16.299972993 20.000000000
+6.516129032 7.677419355 16.431600988 16.299972993 20.000000000
+6.516129032 7.967741935 16.431600988 16.299972993 20.000000000
+6.516129032 8.258064516 16.431600988 16.299972993 20.000000000
+6.516129032 8.548387097 16.431600988 16.299972993 20.000000000
+6.516129032 8.838709677 16.431600988 16.299972993 20.000000000
+6.516129032 9.129032258 16.431600988 16.299972993 20.000000000
+6.516129032 9.419354839 16.431600988 16.299972993 20.000000000
+6.516129032 9.709677419 16.431600988 16.299972993 20.000000000
+6.516129032 10.000000000 16.431600988 16.299972993 20.000000000
+6.806451613 1.000000000 10.000000000 13.702140588 18.700568553
+6.806451613 1.290322581 10.000000000 13.702140588 18.700568553
+6.806451613 1.580645161 10.000000000 13.702140588 18.700568553
+6.806451613 1.870967742 10.000000000 13.702140588 18.700568553
+6.806451613 2.161290323 10.000000000 13.702140588 18.700568553
+6.806451613 2.451612903 10.000000000 13.702140588 18.700568553
+6.806451613 2.741935484 10.000000000 13.702140588 18.700568553
+6.806451613 3.032258065 10.009566877 13.694695654 18.687889031
+6.806451613 3.322580645 10.102239226 13.637457673 18.579757963
+6.806451613 3.612903226 10.209597091 13.599971487 18.485773947
+6.806451613 3.903225806 10.337931790 13.586088799 18.412087907
+6.806451613 4.193548387 10.497359572 13.601147106 18.367393881
+6.806451613 4.483870968 10.703550229 13.652988131 18.364466144
+6.806451613 4.774193548 10.980458810 13.753895322 18.422857042
+6.806451613 5.064516129 11.363992774 13.922588347 18.571664806
+6.806451613 5.354838710 11.882332702 14.133990028 18.785431300
+6.806451613 5.645161290 12.557491974 14.380014720 19.041563761
+6.806451613 5.935483871 13.400370731 14.684815949 19.327600979
+6.806451613 6.225806452 14.388065262 15.092179113 19.613100661
+6.806451613 6.516129032 15.452078155 15.660637661 19.848761837
+6.806451613 6.806451613 16.488227443 16.421596031 19.978526735
+6.806451613 7.096774194 17.110750392 17.007626023 20.000000000
+6.806451613 7.387096774 17.110750392 17.007626023 20.000000000
+6.806451613 7.677419355 17.110750392 17.007626023 20.000000000
+6.806451613 7.967741935 17.110750392 17.007626023 20.000000000
+6.806451613 8.258064516 17.110750392 17.007626023 20.000000000
+6.806451613 8.548387097 17.110750392 17.007626023 20.000000000
+6.806451613 8.838709677 17.110750392 17.007626023 20.000000000
+6.806451613 9.129032258 17.110750392 17.007626023 20.000000000
+6.806451613 9.419354839 17.110750392 17.007626023 20.000000000
+6.806451613 9.709677419 17.110750392 17.007626023 20.000000000
+6.806451613 10.000000000 17.110750392 17.007626023 20.000000000
+7.096774194 1.000000000 10.000000000 13.750000000 18.750000000
+7.096774194 1.290322581 10.000000000 13.750000000 18.750000000
+7.096774194 1.580645161 10.000000000 13.750000000 18.750000000
+7.096774194 1.870967742 10.000000000 13.750000000 18.750000000
+7.096774194 2.161290323 10.000000000 13.750000000 18.750000000
+7.096774194 2.451612903 10.000000000 13.750000000 18.750000000
+7.096774194 2.741935484 10.000000000 13.750000000 18.750000000
+7.096774194 3.032258065 10.010142154 13.742536520 18.737455859
+7.096774194 3.322580645 10.107593677 13.684557246 18.630423796
+7.096774194 3.612903226 10.219378581 13.645030600 18.537086952
+7.096774194 3.903225806 10.352768137 13.627557695 18.463319088
+7.096774194 4.193548387 10.519625429 13.637427439 18.417599484
+7.096774194 4.483870968 10.738408418 13.682818578 18.412535791
+7.096774194 4.774193548 11.037217342 13.777278068 18.467583744
+7.096774194 5.064516129 11.457663040 13.943032824 18.612009655
+7.096774194 5.354838710 12.032834518 14.162291151 18.821124666
+7.096774194 5.645161290 12.784673825 14.439131521 19.073000135
+7.096774194 5.935483871 13.714623381 14.815969959 19.357395690
+7.096774194 6.225806452 14.778744019 15.350155064 19.645850060
+7.096774194 6.516129032 15.883198672 16.075414380 19.878699414
+7.096774194 6.806451613 16.909538446 16.932414748 19.986611801
+7.096774194 7.096774194 17.500000000 17.500000000 20.000000000
+7.096774194 7.387096774 17.500000000 17.500000000 20.000000000
+7.096774194 7.677419355 17.500000000 17.500000000 20.000000000
+7.096774194 7.967741935 17.500000000 17.500000000 20.000000000
+7.096774194 8.258064516 17.500000000 17.500000000 20.000000000
+7.096774194 8.548387097 17.500000000 17.500000000 20.000000000
+7.096774194 8.838709677 17.500000000 17.500000000 20.000000000
+7.096774194 9.129032258 17.500000000 17.500000000 20.000000000
+7.096774194 9.419354839 17.500000000 17.500000000 20.000000000
+7.096774194 9.709677419 17.500000000 17.500000000 20.000000000
+7.096774194 10.000000000 17.500000000 17.500000000 20.000000000
+7.387096774 1.000000000 10.000000000 13.750000000 18.750000000
+7.387096774 1.290322581 10.000000000 13.750000000 18.750000000
+7.387096774 1.580645161 10.000000000 13.750000000 18.750000000
+7.387096774 1.870967742 10.000000000 13.750000000 18.750000000
+7.387096774 2.161290323 10.000000000 13.750000000 18.750000000
+7.387096774 2.451612903 10.000000000 13.750000000 18.750000000
+7.387096774 2.741935484 10.000000000 13.750000000 18.750000000
+7.387096774 3.032258065 10.010142154 13.742536520 18.737455859
+7.387096774 3.322580645 10.107593677 13.684557246 18.630423796
+7.387096774 3.612903226 10.219378581 13.645030600 18.537086952
+7.387096774 3.903225806 10.352768137 13.627557695 18.463319088
+7.387096774 4.193548387 10.519625429 13.637427439 18.417599484
+7.387096774 4.483870968 10.738408418 13.682818578 18.412535791
+7.387096774 4.774193548 11.037217342 13.777278068 18.467583744
+7.387096774 5.064516129 11.457663040 13.943032824 18.612009655
+7.387096774 5.354838710 12.032834518 14.162291151 18.821124666
+7.387096774 5.645161290 12.784673825 14.439131521 19.073000135
+7.387096774 5.935483871 13.714623381 14.815969959 19.357395690
+7.387096774 6.225806452 14.778744019 15.350155064 19.645850060
+7.387096774 6.516129032 15.883198672 16.075414380 19.878699414
+7.387096774 6.806451613 16.909538446 16.932414748 19.986611801
+7.387096774 7.096774194 17.500000000 17.500000000 20.000000000
+7.387096774 7.387096774 17.500000000 17.500000000 20.000000000
+7.387096774 7.677419355 17.500000000 17.500000000 20.000000000
+7.387096774 7.967741935 17.500000000 17.500000000 20.000000000
+7.387096774 8.258064516 17.500000000 17.500000000 20.000000000
+7.387096774 8.548387097 17.500000000 17.500000000 20.000000000
+7.387096774 8.838709677 17.500000000 17.500000000 20.000000000
+7.387096774 9.129032258 17.500000000 17.500000000 20.000000000
+7.387096774 9.419354839 17.500000000 17.500000000 20.000000000
+7.387096774 9.709677419 17.500000000 17.500000000 20.000000000
+7.387096774 10.000000000 17.500000000 17.500000000 20.000000000
+7.677419355 1.000000000 10.000000000 13.750000000 18.750000000
+7.677419355 1.290322581 10.000000000 13.750000000 18.750000000
+7.677419355 1.580645161 10.000000000 13.750000000 18.750000000
+7.677419355 1.870967742 10.000000000 13.750000000 18.750000000
+7.677419355 2.161290323 10.000000000 13.750000000 18.750000000
+7.677419355 2.451612903 10.000000000 13.750000000 18.750000000
+7.677419355 2.741935484 10.000000000 13.750000000 18.750000000
+7.677419355 3.032258065 10.010142154 13.742536520 18.737455859
+7.677419355 3.322580645 10.107593677 13.684557246 18.630423796
+7.677419355 3.612903226 10.219378581 13.645030600 18.537086952
+7.677419355 3.903225806 10.352768137 13.627557695 18.463319088
+7.677419355 4.193548387 10.519625429 13.637427439 18.417599484
+7.677419355 4.483870968 10.738408418 13.682818578 18.412535791
+7.677419355 4.774193548 11.037217342 13.777278068 18.467583744
+7.677419355 5.064516129 11.457663040 13.943032824 18.612009655
+7.677419355 5.354838710 12.032834518 14.162291151 18.821124666
+7.677419355 5.645161290 12.784673825 14.439131521 19.073000135
+7.677419355 5.935483871 13.714623381 14.815969959 19.357395690
+7.677419355 6.225806452 14.778744019 15.350155064 19.645850060
+7.677419355 6.516129032 15.883198672 16.075414380 19.878699414
+7.677419355 6.806451613 16.909538446 16.932414748 19.986611801
+7.677419355 7.096774194 17.500000000 17.500000000 20.000000000
+7.677419355 7.387096774 17.500000000 17.500000000 20.000000000
+7.677419355 7.677419355 17.500000000 17.500000000 20.000000000
+7.677419355 7.967741935 17.500000000 17.500000000 20.000000000
+7.677419355 8.258064516 17.500000000 17.500000000 20.000000000
+7.677419355 8.548387097 17.500000000 17.500000000 20.000000000
+7.677419355 8.838709677 17.500000000 17.500000000 20.000000000
+7.677419355 9.129032258 17.500000000 17.500000000 20.000000000
+7.677419355 9.419354839 17.500000000 17.500000000 20.000000000
+7.677419355 9.709677419 17.500000000 17.500000000 20.000000000
+7.677419355 10.000000000 17.500000000 17.500000000 20.000000000
+7.967741935 1.000000000 10.000000000 13.750000000 18.750000000
+7.967741935 1.290322581 10.000000000 13.750000000 18.750000000
+7.967741935 1.580645161 10.000000000 13.750000000 18.750000000
+7.967741935 1.870967742 10.000000000 13.750000000 18.750000000
+7.967741935 2.161290323 10.000000000 13.750000000 18.750000000
+7.967741935 2.451612903 10.000000000 13.750000000 18.750000000
+7.967741935 2.741935484 10.000000000 13.750000000 18.750000000
+7.967741935 3.032258065 10.010142154 13.742536520 18.737455859
+7.967741935 3.322580645 10.107593677 13.684557246 18.630423796
+7.967741935 3.612903226 10.219378581 13.645030600 18.537086952
+7.967741935 3.903225806 10.352768137 13.627557695 18.463319088
+7.967741935 4.193548387 10.519625429 13.637427439 18.417599484
+7.967741935 4.483870968 10.738408418 13.682818578 18.412535791
+7.967741935 4.774193548 11.037217342 13.777278068 18.467583744
+7.967741935 5.064516129 11.457663040 13.943032824 18.612009655
+7.967741935 5.354838710 12.032834518 14.162291151 18.821124666
+7.967741935 5.645161290 12.784673825 14.439131521 19.073000135
+7.967741935 5.935483871 13.714623381 14.815969959 19.357395690
+7.967741935 6.225806452 14.778744019 15.350155064 19.645850060
+7.967741935 6.516129032 15.883198672 16.075414380 19.878699414
+7.967741935 6.806451613 16.909538446 16.932414748 19.986611801
+7.967741935 7.096774194 17.500000000 17.500000000 20.000000000
+7.967741935 7.387096774 17.500000000 17.500000000 20.000000000
+7.967741935 7.677419355 17.500000000 17.500000000 20.000000000
+7.967741935 7.967741935 17.500000000 17.500000000 20.000000000
+7.967741935 8.258064516 17.500000000 17.500000000 20.000000000
+7.967741935 8.548387097 17.500000000 17.500000000 20.000000000
+7.967741935 8.838709677 17.500000000 17.500000000 20.000000000
+7.967741935 9.129032258 17.500000000 17.500000000 20.000000000
+7.967741935 9.419354839 17.500000000 17.500000000 20.000000000
+7.967741935 9.709677419 17.500000000 17.500000000 20.000000000
+7.967741935 10.000000000 17.500000000 17.500000000 20.000000000
+8.258064516 1.000000000 10.000000000 13.750000000 18.750000000
+8.258064516 1.290322581 10.000000000 13.750000000 18.750000000
+8.258064516 1.580645161 10.000000000 13.750000000 18.750000000
+8.258064516 1.870967742 10.000000000 13.750000000 18.750000000
+8.258064516 2.161290323 10.000000000 13.750000000 18.750000000
+8.258064516 2.451612903 10.000000000 13.750000000 18.750000000
+8.258064516 2.741935484 10.000000000 13.750000000 18.750000000
+8.258064516 3.032258065 10.010142154 13.742536520 18.737455859
+8.258064516 3.322580645 10.107593677 13.684557246 18.630423796
+8.258064516 3.612903226 10.219378581 13.645030600 18.537086952
+8.258064516 3.903225806 10.352768137 13.627557695 18.463319088
+8.258064516 4.193548387 10.519625429 13.637427439 18.417599484
+8.258064516 4.483870968 10.738408418 13.682818578 18.412535791
+8.258064516 4.774193548 11.037217342 13.777278068 18.467583744
+8.258064516 5.064516129 11.457663040 13.943032824 18.612009655
+8.258064516 5.354838710 12.032834518 14.162291151 18.821124666
+8.258064516 5.645161290 12.784673825 14.439131521 19.073000135
+8.258064516 5.935483871 13.714623381 14.815969959 19.357395690
+8.258064516 6.225806452 14.778744019 15.350155064 19.645850060
+8.258064516 6.516129032 15.883198672 16.075414380 19.878699414
+8.258064516 6.806451613 16.909538446 16.932414748 19.986611801
+8.258064516 7.096774194 17.500000000 17.500000000 20.000000000
+8.258064516 7.387096774 17.500000000 17.500000000 20.000000000
+8.258064516 7.677419355 17.500000000 17.500000000 20.000000000
+8.258064516 7.967741935 17.500000000 17.500000000 20.000000000
+8.258064516 8.258064516 17.500000000 17.500000000 20.000000000
+8.258064516 8.548387097 17.500000000 17.500000000 20.000000000
+8.258064516 8.838709677 17.500000000 17.500000000 20.000000000
+8.258064516 9.129032258 17.500000000 17.500000000 20.000000000
+8.258064516 9.419354839 17.500000000 17.500000000 20.000000000
+8.258064516 9.709677419 17.500000000 17.500000000 20.000000000
+8.258064516 10.000000000 17.500000000 17.500000000 20.000000000
+8.548387097 1.000000000 10.000000000 13.750000000 18.750000000
+8.548387097 1.290322581 10.000000000 13.750000000 18.750000000
+8.548387097 1.580645161 10.000000000 13.750000000 18.750000000
+8.548387097 1.870967742 10.000000000 13.750000000 18.750000000
+8.548387097 2.161290323 10.000000000 13.750000000 18.750000000
+8.548387097 2.451612903 10.000000000 13.750000000 18.750000000
+8.548387097 2.741935484 10.000000000 13.750000000 18.750000000
+8.548387097 3.032258065 10.010142154 13.742536520 18.737455859
+8.548387097 3.322580645 10.107593677 13.684557246 18.630423796
+8.548387097 3.612903226 10.219378581 13.645030600 18.537086952
+8.548387097 3.903225806 10.352768137 13.627557695 18.463319088
+8.548387097 4.193548387 10.519625429 13.637427439 18.417599484
+8.548387097 4.483870968 10.738408418 13.682818578 18.412535791
+8.548387097 4.774193548 11.037217342 13.777278068 18.467583744
+8.548387097 5.064516129 11.457663040 13.943032824 18.612009655
+8.548387097 5.354838710 12.032834518 14.162291151 18.821124666
+8.548387097 5.645161290 12.784673825 14.439131521 19.073000135
+8.548387097 5.935483871 13.714623381 14.815969959 19.357395690
+8.548387097 6.225806452 14.778744019 15.350155064 19.645850060
+8.548387097 6.516129032 15.883198672 16.075414380 19.878699414
+8.548387097 6.806451613 16.909538446 16.932414748 19.986611801
+8.548387097 7.096774194 17.500000000 17.500000000 20.000000000
+8.548387097 7.387096774 17.500000000 17.500000000 20.000000000
+8.548387097 7.677419355 17.500000000 17.500000000 20.000000000
+8.548387097 7.967741935 17.500000000 17.500000000 20.000000000
+8.548387097 8.258064516 17.500000000 17.500000000 20.000000000
+8.548387097 8.548387097 17.500000000 17.500000000 20.000000000
+8.548387097 8.838709677 17.500000000 17.500000000 20.000000000
+8.548387097 9.129032258 17.500000000 17.500000000 20.000000000
+8.548387097 9.419354839 17.500000000 17.500000000 20.000000000
+8.548387097 9.709677419 17.500000000 17.500000000 20.000000000
+8.548387097 10.000000000 17.500000000 17.500000000 20.000000000
+8.838709677 1.000000000 10.000000000 13.750000000 18.750000000
+8.838709677 1.290322581 10.000000000 13.750000000 18.750000000
+8.838709677 1.580645161 10.000000000 13.750000000 18.750000000
+8.838709677 1.870967742 10.000000000 13.750000000 18.750000000
+8.838709677 2.161290323 10.000000000 13.750000000 18.750000000
+8.838709677 2.451612903 10.000000000 13.750000000 18.750000000
+8.838709677 2.741935484 10.000000000 13.750000000 18.750000000
+8.838709677 3.032258065 10.010142154 13.742536520 18.737455859
+8.838709677 3.322580645 10.107593677 13.684557246 18.630423796
+8.838709677 3.612903226 10.219378581 13.645030600 18.537086952
+8.838709677 3.903225806 10.352768137 13.627557695 18.463319088
+8.838709677 4.193548387 10.519625429 13.637427439 18.417599484
+8.838709677 4.483870968 10.738408418 13.682818578 18.412535791
+8.838709677 4.774193548 11.037217342 13.777278068 18.467583744
+8.838709677 5.064516129 11.457663040 13.943032824 18.612009655
+8.838709677 5.354838710 12.032834518 14.162291151 18.821124666
+8.838709677 5.645161290 12.784673825 14.439131521 19.073000135
+8.838709677 5.935483871 13.714623381 14.815969959 19.357395690
+8.838709677 6.225806452 14.778744019 15.350155064 19.645850060
+8.838709677 6.516129032 15.883198672 16.075414380 19.878699414
+8.838709677 6.806451613 16.909538446 16.932414748 19.986611801
+8.838709677 7.096774194 17.500000000 17.500000000 20.000000000
+8.838709677 7.387096774 17.500000000 17.500000000 20.000000000
+8.838709677 7.677419355 17.500000000 17.500000000 20.000000000
+8.838709677 7.967741935 17.500000000 17.500000000 20.000000000
+8.838709677 8.258064516 17.500000000 17.500000000 20.000000000
+8.838709677 8.548387097 17.500000000 17.500000000 20.000000000
+8.838709677 8.838709677 17.500000000 17.500000000 20.000000000
+8.838709677 9.129032258 17.500000000 17.500000000 20.000000000
+8.838709677 9.419354839 17.500000000 17.500000000 20.000000000
+8.838709677 9.709677419 17.500000000 17.500000000 20.000000000
+8.838709677 10.000000000 17.500000000 17.500000000 20.000000000
+9.129032258 1.000000000 10.000000000 13.750000000 18.750000000
+9.129032258 1.290322581 10.000000000 13.750000000 18.750000000
+9.129032258 1.580645161 10.000000000 13.750000000 18.750000000
+9.129032258 1.870967742 10.000000000 13.750000000 18.750000000
+9.129032258 2.161290323 10.000000000 13.750000000 18.750000000
+9.129032258 2.451612903 10.000000000 13.750000000 18.750000000
+9.129032258 2.741935484 10.000000000 13.750000000 18.750000000
+9.129032258 3.032258065 10.010142154 13.742536520 18.737455859
+9.129032258 3.322580645 10.107593677 13.684557246 18.630423796
+9.129032258 3.612903226 10.219378581 13.645030600 18.537086952
+9.129032258 3.903225806 10.352768137 13.627557695 18.463319088
+9.129032258 4.193548387 10.519625429 13.637427439 18.417599484
+9.129032258 4.483870968 10.738408418 13.682818578 18.412535791
+9.129032258 4.774193548 11.037217342 13.777278068 18.467583744
+9.129032258 5.064516129 11.457663040 13.943032824 18.612009655
+9.129032258 5.354838710 12.032834518 14.162291151 18.821124666
+9.129032258 5.645161290 12.784673825 14.439131521 19.073000135
+9.129032258 5.935483871 13.714623381 14.815969959 19.357395690
+9.129032258 6.225806452 14.778744019 15.350155064 19.645850060
+9.129032258 6.516129032 15.883198672 16.075414380 19.878699414
+9.129032258 6.806451613 16.909538446 16.932414748 19.986611801
+9.129032258 7.096774194 17.500000000 17.500000000 20.000000000
+9.129032258 7.387096774 17.500000000 17.500000000 20.000000000
+9.129032258 7.677419355 17.500000000 17.500000000 20.000000000
+9.129032258 7.967741935 17.500000000 17.500000000 20.000000000
+9.129032258 8.258064516 17.500000000 17.500000000 20.000000000
+9.129032258 8.548387097 17.500000000 17.500000000 20.000000000
+9.129032258 8.838709677 17.500000000 17.500000000 20.000000000
+9.129032258 9.129032258 17.500000000 17.500000000 20.000000000
+9.129032258 9.419354839 17.500000000 17.500000000 20.000000000
+9.129032258 9.709677419 17.500000000 17.500000000 20.000000000
+9.129032258 10.000000000 17.500000000 17.500000000 20.000000000
+9.419354839 1.000000000 10.000000000 13.750000000 18.750000000
+9.419354839 1.290322581 10.000000000 13.750000000 18.750000000
+9.419354839 1.580645161 10.000000000 13.750000000 18.750000000
+9.419354839 1.870967742 10.000000000 13.750000000 18.750000000
+9.419354839 2.161290323 10.000000000 13.750000000 18.750000000
+9.419354839 2.451612903 10.000000000 13.750000000 18.750000000
+9.419354839 2.741935484 10.000000000 13.750000000 18.750000000
+9.419354839 3.032258065 10.010142154 13.742536520 18.737455859
+9.419354839 3.322580645 10.107593677 13.684557246 18.630423796
+9.419354839 3.612903226 10.219378581 13.645030600 18.537086952
+9.419354839 3.903225806 10.352768137 13.627557695 18.463319088
+9.419354839 4.193548387 10.519625429 13.637427439 18.417599484
+9.419354839 4.483870968 10.738408418 13.682818578 18.412535791
+9.419354839 4.774193548 11.037217342 13.777278068 18.467583744
+9.419354839 5.064516129 11.457663040 13.943032824 18.612009655
+9.419354839 5.354838710 12.032834518 14.162291151 18.821124666
+9.419354839 5.645161290 12.784673825 14.439131521 19.073000135
+9.419354839 5.935483871 13.714623381 14.815969959 19.357395690
+9.419354839 6.225806452 14.778744019 15.350155064 19.645850060
+9.419354839 6.516129032 15.883198672 16.075414380 19.878699414
+9.419354839 6.806451613 16.909538446 16.932414748 19.986611801
+9.419354839 7.096774194 17.500000000 17.500000000 20.000000000
+9.419354839 7.387096774 17.500000000 17.500000000 20.000000000
+9.419354839 7.677419355 17.500000000 17.500000000 20.000000000
+9.419354839 7.967741935 17.500000000 17.500000000 20.000000000
+9.419354839 8.258064516 17.500000000 17.500000000 20.000000000
+9.419354839 8.548387097 17.500000000 17.500000000 20.000000000
+9.419354839 8.838709677 17.500000000 17.500000000 20.000000000
+9.419354839 9.129032258 17.500000000 17.500000000 20.000000000
+9.419354839 9.419354839 17.500000000 17.500000000 20.000000000
+9.419354839 9.709677419 17.500000000 17.500000000 20.000000000
+9.419354839 10.000000000 17.500000000 17.500000000 20.000000000
+9.709677419 1.000000000 10.000000000 13.750000000 18.750000000
+9.709677419 1.290322581 10.000000000 13.750000000 18.750000000
+9.709677419 1.580645161 10.000000000 13.750000000 18.750000000
+9.709677419 1.870967742 10.000000000 13.750000000 18.750000000
+9.709677419 2.161290323 10.000000000 13.750000000 18.750000000
+9.709677419 2.451612903 10.000000000 13.750000000 18.750000000
+9.709677419 2.741935484 10.000000000 13.750000000 18.750000000
+9.709677419 3.032258065 10.010142154 13.742536520 18.737455859
+9.709677419 3.322580645 10.107593677 13.684557246 18.630423796
+9.709677419 3.612903226 10.219378581 13.645030600 18.537086952
+9.709677419 3.903225806 10.352768137 13.627557695 18.463319088
+9.709677419 4.193548387 10.519625429 13.637427439 18.417599484
+9.709677419 4.483870968 10.738408418 13.682818578 18.412535791
+9.709677419 4.774193548 11.037217342 13.777278068 18.467583744
+9.709677419 5.064516129 11.457663040 13.943032824 18.612009655
+9.709677419 5.354838710 12.032834518 14.162291151 18.821124666
+9.709677419 5.645161290 12.784673825 14.439131521 19.073000135
+9.709677419 5.935483871 13.714623381 14.815969959 19.357395690
+9.709677419 6.225806452 14.778744019 15.350155064 19.645850060
+9.709677419 6.516129032 15.883198672 16.075414380 19.878699414
+9.709677419 6.806451613 16.909538446 16.932414748 19.986611801
+9.709677419 7.096774194 17.500000000 17.500000000 20.000000000
+9.709677419 7.387096774 17.500000000 17.500000000 20.000000000
+9.709677419 7.677419355 17.500000000 17.500000000 20.000000000
+9.709677419 7.967741935 17.500000000 17.500000000 20.000000000
+9.709677419 8.258064516 17.500000000 17.500000000 20.000000000
+9.709677419 8.548387097 17.500000000 17.500000000 20.000000000
+9.709677419 8.838709677 17.500000000 17.500000000 20.000000000
+9.709677419 9.129032258 17.500000000 17.500000000 20.000000000
+9.709677419 9.419354839 17.500000000 17.500000000 20.000000000
+9.709677419 9.709677419 17.500000000 17.500000000 20.000000000
+9.709677419 10.000000000 17.500000000 17.500000000 20.000000000
+10.000000000 1.000000000 10.000000000 13.750000000 18.750000000
+10.000000000 1.290322581 10.000000000 13.750000000 18.750000000
+10.000000000 1.580645161 10.000000000 13.750000000 18.750000000
+10.000000000 1.870967742 10.000000000 13.750000000 18.750000000
+10.000000000 2.161290323 10.000000000 13.750000000 18.750000000
+10.000000000 2.451612903 10.000000000 13.750000000 18.750000000
+10.000000000 2.741935484 10.000000000 13.750000000 18.750000000
+10.000000000 3.032258065 10.010142154 13.742536520 18.737455859
+10.000000000 3.322580645 10.107593677 13.684557246 18.630423796
+10.000000000 3.612903226 10.219378581 13.645030600 18.537086952
+10.000000000 3.903225806 10.352768137 13.627557695 18.463319088
+10.000000000 4.193548387 10.519625429 13.637427439 18.417599484
+10.000000000 4.483870968 10.738408418 13.682818578 18.412535791
+10.000000000 4.774193548 11.037217342 13.777278068 18.467583744
+10.000000000 5.064516129 11.457663040 13.943032824 18.612009655
+10.000000000 5.354838710 12.032834518 14.162291151 18.821124666
+10.000000000 5.645161290 12.784673825 14.439131521 19.073000135
+10.000000000 5.935483871 13.714623381 14.815969959 19.357395690
+10.000000000 6.225806452 14.778744019 15.350155064 19.645850060
+10.000000000 6.516129032 15.883198672 16.075414380 19.878699414
+10.000000000 6.806451613 16.909538446 16.932414748 19.986611801
+10.000000000 7.096774194 17.500000000 17.500000000 20.000000000
+10.000000000 7.387096774 17.500000000 17.500000000 20.000000000
+10.000000000 7.677419355 17.500000000 17.500000000 20.000000000
+10.000000000 7.967741935 17.500000000 17.500000000 20.000000000
+10.000000000 8.258064516 17.500000000 17.500000000 20.000000000
+10.000000000 8.548387097 17.500000000 17.500000000 20.000000000
+10.000000000 8.838709677 17.500000000 17.500000000 20.000000000
+10.000000000 9.129032258 17.500000000 17.500000000 20.000000000
+10.000000000 9.419354839 17.500000000 17.500000000 20.000000000
+10.000000000 9.709677419 17.500000000 17.500000000 20.000000000
+10.000000000 10.000000000 17.500000000 17.500000000 20.000000000
diff --git a/examples/takagi-sugeno/octave/sugeno_tip_calculator.fll b/examples/takagi-sugeno/octave/sugeno_tip_calculator.fll
index 611d6eb..1b51806 100644
--- a/examples/takagi-sugeno/octave/sugeno_tip_calculator.fll
+++ b/examples/takagi-sugeno/octave/sugeno_tip_calculator.fll
@@ -1,44 +1,46 @@
-Engine: Sugeno-Tip-Calculator
+Engine: sugeno_tip_calculator
InputVariable: FoodQuality
enabled: true
range: 1.000 10.000
+ lock-range: false
term: Bad Trapezoid 0.000 1.000 3.000 7.000
term: Good Trapezoid 3.000 7.000 10.000 11.000
InputVariable: Service
enabled: true
range: 1.000 10.000
+ lock-range: false
term: Bad Trapezoid 0.000 1.000 3.000 7.000
term: Good Trapezoid 3.000 7.000 10.000 11.000
OutputVariable: CheapTip
enabled: true
range: 5.000 25.000
- accumulation: none
+ lock-range: false
+ aggregation: none
defuzzifier: WeightedAverage TakagiSugeno
default: nan
lock-previous: false
- lock-range: false
term: Low Constant 10.000
term: Medium Constant 15.000
term: High Constant 20.000
OutputVariable: AverageTip
enabled: true
range: 5.000 25.000
- accumulation: none
+ lock-range: false
+ aggregation: none
defuzzifier: WeightedAverage TakagiSugeno
default: nan
lock-previous: false
- lock-range: false
term: Low Constant 10.000
term: Medium Constant 15.000
term: High Constant 20.000
OutputVariable: GenerousTip
enabled: true
range: 5.000 25.000
- accumulation: none
+ lock-range: false
+ aggregation: none
defuzzifier: WeightedAverage TakagiSugeno
default: nan
lock-previous: false
- lock-range: false
term: Low Constant 10.000
term: Medium Constant 15.000
term: High Constant 20.000
@@ -46,7 +48,8 @@ RuleBlock:
enabled: true
conjunction: EinsteinProduct
disjunction: none
- activation: none
+ implication: none
+ activation: General
rule: if FoodQuality is extremely Bad and Service is extremely Bad then CheapTip is extremely Low and AverageTip is very Low and GenerousTip is Low
rule: if FoodQuality is Good and Service is extremely Bad then CheapTip is Low and AverageTip is Low and GenerousTip is Medium
rule: if FoodQuality is very Good and Service is very Bad then CheapTip is Low and AverageTip is Medium and GenerousTip is High
diff --git a/examples/takagi-sugeno/octave/sugeno_tip_calculator.java b/examples/takagi-sugeno/octave/sugeno_tip_calculator.java
index 939649e..d64e722 100644
--- a/examples/takagi-sugeno/octave/sugeno_tip_calculator.java
+++ b/examples/takagi-sugeno/octave/sugeno_tip_calculator.java
@@ -1,4 +1,5 @@
import com.fuzzylite.*;
+import com.fuzzylite.activation.*
import com.fuzzylite.defuzzifier.*;
import com.fuzzylite.factory.*;
import com.fuzzylite.hedge.*;
@@ -12,73 +13,85 @@ import com.fuzzylite.variable.*;
public class sugeno_tip_calculator{
public static void main(String[] args){
+//Code automatically generated with fuzzylite 6.0.
+
Engine engine = new Engine();
-engine.setName("Sugeno-Tip-Calculator");
+engine.setName("sugeno_tip_calculator");
+engine.setDescription("");
-InputVariable inputVariable1 = new InputVariable();
-inputVariable1.setEnabled(true);
-inputVariable1.setName("FoodQuality");
-inputVariable1.setRange(1.000, 10.000);
-inputVariable1.addTerm(new Trapezoid("Bad", 0.000, 1.000, 3.000, 7.000));
-inputVariable1.addTerm(new Trapezoid("Good", 3.000, 7.000, 10.000, 11.000));
-engine.addInputVariable(inputVariable1);
+InputVariable FoodQuality = new InputVariable();
+FoodQuality.setName("FoodQuality");
+FoodQuality.setDescription("");
+FoodQuality.setEnabled(true);
+FoodQuality.setRange(1.000, 10.000);
+FoodQuality.setLockValueInRange(false);
+FoodQuality.addTerm(new Trapezoid("Bad", 0.000, 1.000, 3.000, 7.000));
+FoodQuality.addTerm(new Trapezoid("Good", 3.000, 7.000, 10.000, 11.000));
+engine.addInputVariable(FoodQuality);
-InputVariable inputVariable2 = new InputVariable();
-inputVariable2.setEnabled(true);
-inputVariable2.setName("Service");
-inputVariable2.setRange(1.000, 10.000);
-inputVariable2.addTerm(new Trapezoid("Bad", 0.000, 1.000, 3.000, 7.000));
-inputVariable2.addTerm(new Trapezoid("Good", 3.000, 7.000, 10.000, 11.000));
-engine.addInputVariable(inputVariable2);
+InputVariable Service = new InputVariable();
+Service.setName("Service");
+Service.setDescription("");
+Service.setEnabled(true);
+Service.setRange(1.000, 10.000);
+Service.setLockValueInRange(false);
+Service.addTerm(new Trapezoid("Bad", 0.000, 1.000, 3.000, 7.000));
+Service.addTerm(new Trapezoid("Good", 3.000, 7.000, 10.000, 11.000));
+engine.addInputVariable(Service);
-OutputVariable outputVariable1 = new OutputVariable();
-outputVariable1.setEnabled(true);
-outputVariable1.setName("CheapTip");
-outputVariable1.setRange(5.000, 25.000);
-outputVariable1.fuzzyOutput().setAccumulation(null);
-outputVariable1.setDefuzzifier(new WeightedAverage("TakagiSugeno"));
-outputVariable1.setDefaultValue(Double.NaN);
-outputVariable1.setLockPreviousOutputValue(false);
-outputVariable1.setLockOutputValueInRange(false);
-outputVariable1.addTerm(new Constant("Low", 10.000));
-outputVariable1.addTerm(new Constant("Medium", 15.000));
-outputVariable1.addTerm(new Constant("High", 20.000));
-engine.addOutputVariable(outputVariable1);
+OutputVariable CheapTip = new OutputVariable();
+CheapTip.setName("CheapTip");
+CheapTip.setDescription("");
+CheapTip.setEnabled(true);
+CheapTip.setRange(5.000, 25.000);
+CheapTip.setLockValueInRange(false);
+CheapTip.setAggregation(null);
+CheapTip.setDefuzzifier(new WeightedAverage("TakagiSugeno"));
+CheapTip.setDefaultValue(Double.NaN);
+CheapTip.setLockPreviousValue(false);
+CheapTip.addTerm(new Constant("Low", 10.000));
+CheapTip.addTerm(new Constant("Medium", 15.000));
+CheapTip.addTerm(new Constant("High", 20.000));
+engine.addOutputVariable(CheapTip);
-OutputVariable outputVariable2 = new OutputVariable();
-outputVariable2.setEnabled(true);
-outputVariable2.setName("AverageTip");
-outputVariable2.setRange(5.000, 25.000);
-outputVariable2.fuzzyOutput().setAccumulation(null);
-outputVariable2.setDefuzzifier(new WeightedAverage("TakagiSugeno"));
-outputVariable2.setDefaultValue(Double.NaN);
-outputVariable2.setLockPreviousOutputValue(false);
-outputVariable2.setLockOutputValueInRange(false);
-outputVariable2.addTerm(new Constant("Low", 10.000));
-outputVariable2.addTerm(new Constant("Medium", 15.000));
-outputVariable2.addTerm(new Constant("High", 20.000));
-engine.addOutputVariable(outputVariable2);
+OutputVariable AverageTip = new OutputVariable();
+AverageTip.setName("AverageTip");
+AverageTip.setDescription("");
+AverageTip.setEnabled(true);
+AverageTip.setRange(5.000, 25.000);
+AverageTip.setLockValueInRange(false);
+AverageTip.setAggregation(null);
+AverageTip.setDefuzzifier(new WeightedAverage("TakagiSugeno"));
+AverageTip.setDefaultValue(Double.NaN);
+AverageTip.setLockPreviousValue(false);
+AverageTip.addTerm(new Constant("Low", 10.000));
+AverageTip.addTerm(new Constant("Medium", 15.000));
+AverageTip.addTerm(new Constant("High", 20.000));
+engine.addOutputVariable(AverageTip);
-OutputVariable outputVariable3 = new OutputVariable();
-outputVariable3.setEnabled(true);
-outputVariable3.setName("GenerousTip");
-outputVariable3.setRange(5.000, 25.000);
-outputVariable3.fuzzyOutput().setAccumulation(null);
-outputVariable3.setDefuzzifier(new WeightedAverage("TakagiSugeno"));
-outputVariable3.setDefaultValue(Double.NaN);
-outputVariable3.setLockPreviousOutputValue(false);
-outputVariable3.setLockOutputValueInRange(false);
-outputVariable3.addTerm(new Constant("Low", 10.000));
-outputVariable3.addTerm(new Constant("Medium", 15.000));
-outputVariable3.addTerm(new Constant("High", 20.000));
-engine.addOutputVariable(outputVariable3);
+OutputVariable GenerousTip = new OutputVariable();
+GenerousTip.setName("GenerousTip");
+GenerousTip.setDescription("");
+GenerousTip.setEnabled(true);
+GenerousTip.setRange(5.000, 25.000);
+GenerousTip.setLockValueInRange(false);
+GenerousTip.setAggregation(null);
+GenerousTip.setDefuzzifier(new WeightedAverage("TakagiSugeno"));
+GenerousTip.setDefaultValue(Double.NaN);
+GenerousTip.setLockPreviousValue(false);
+GenerousTip.addTerm(new Constant("Low", 10.000));
+GenerousTip.addTerm(new Constant("Medium", 15.000));
+GenerousTip.addTerm(new Constant("High", 20.000));
+engine.addOutputVariable(GenerousTip);
RuleBlock ruleBlock = new RuleBlock();
-ruleBlock.setEnabled(true);
ruleBlock.setName("");
+ruleBlock.setDescription("");
+ruleBlock.setEnabled(true);
ruleBlock.setConjunction(new EinsteinProduct());
ruleBlock.setDisjunction(null);
-ruleBlock.setActivation(null);
+ruleBlock.setImplication(null);
+ruleBlock.setActivation(new General());
ruleBlock.addRule(Rule.parse("if FoodQuality is extremely Bad and Service is extremely Bad then CheapTip is extremely Low and AverageTip is very Low and GenerousTip is Low", engine));
ruleBlock.addRule(Rule.parse("if FoodQuality is Good and Service is extremely Bad then CheapTip is Low and AverageTip is Low and GenerousTip is Medium", engine));
ruleBlock.addRule(Rule.parse("if FoodQuality is very Good and Service is very Bad then CheapTip is Low and AverageTip is Medium and GenerousTip is High", engine));
diff --git a/examples/takagi-sugeno/octave/sugeno_tip_calculator.pdf b/examples/takagi-sugeno/octave/sugeno_tip_calculator.pdf
new file mode 100644
index 0000000..f138223
--- /dev/null
+++ b/examples/takagi-sugeno/octave/sugeno_tip_calculator.pdf
Binary files differ
diff --git a/examples/tsukamoto/tsukamoto.R b/examples/tsukamoto/tsukamoto.R
new file mode 100644
index 0000000..51fbdd4
--- /dev/null
+++ b/examples/tsukamoto/tsukamoto.R
@@ -0,0 +1,126 @@
+#Code automatically generated with fuzzylite 6.0.
+
+library(ggplot2);
+
+engine.name = "tsukamoto"
+engine.fll = "Engine: tsukamoto
+InputVariable: X
+ enabled: true
+ range: -10.000 10.000
+ lock-range: false
+ term: small Bell -10.000 5.000 3.000
+ term: medium Bell 0.000 5.000 3.000
+ term: large Bell 10.000 5.000 3.000
+OutputVariable: Ramps
+ enabled: true
+ range: 0.000 1.000
+ lock-range: false
+ aggregation: none
+ defuzzifier: WeightedAverage Automatic
+ default: nan
+ lock-previous: false
+ term: b Ramp 0.600 0.400
+ term: a Ramp 0.000 0.250
+ term: c Ramp 0.700 1.000
+OutputVariable: Sigmoids
+ enabled: true
+ range: 0.020 1.000
+ lock-range: false
+ aggregation: none
+ defuzzifier: WeightedAverage Automatic
+ default: nan
+ lock-previous: false
+ term: b Sigmoid 0.500 -30.000
+ term: a Sigmoid 0.130 30.000
+ term: c Sigmoid 0.830 30.000
+OutputVariable: ZSShapes
+ enabled: true
+ range: 0.000 1.000
+ lock-range: false
+ aggregation: none
+ defuzzifier: WeightedAverage Automatic
+ default: nan
+ lock-previous: false
+ term: b ZShape 0.300 0.600
+ term: a SShape 0.000 0.250
+ term: c SShape 0.700 1.000
+OutputVariable: Concaves
+ enabled: true
+ range: 0.000 1.000
+ lock-range: false
+ aggregation: none
+ defuzzifier: WeightedAverage Automatic
+ default: nan
+ lock-previous: false
+ term: b Concave 0.500 0.400
+ term: a Concave 0.240 0.250
+ term: c Concave 0.900 1.000
+RuleBlock:
+ enabled: true
+ conjunction: none
+ disjunction: none
+ implication: none
+ activation: General
+ rule: if X is small then Ramps is a and Sigmoids is a and ZSShapes is a and Concaves is a
+ rule: if X is medium then Ramps is b and Sigmoids is b and ZSShapes is b and Concaves is b
+ rule: if X is large then Ramps is c and Sigmoids is c and ZSShapes is c and Concaves is c"
+
+engine.fldFile = "tsukamoto.fld"
+if (require(data.table)) {
+ engine.df = data.table::fread(engine.fldFile, sep="auto", header="auto")
+} else {
+ engine.df = read.table(engine.fldFile, header=TRUE)
+}
+
+engine.plot.i1_o1 = ggplot(engine.df, aes(X, Ramps)) +
+ geom_line(aes(color=Ramps), size=3, lineend="round", linejoin="mitre") +
+ scale_color_gradient(low="yellow", high="red") +
+ ggtitle("X vs Ramps")
+
+engine.plot.o1_i1 = ggplot(engine.df, aes(X, Ramps)) +
+ geom_line(aes(color=Ramps), size=3, lineend="round", linejoin="mitre") +
+ scale_color_gradient(low="yellow", high="red") +
+ coord_flip() +
+ ggtitle("Ramps vs X")
+
+engine.plot.i1_o2 = ggplot(engine.df, aes(X, Sigmoids)) +
+ geom_line(aes(color=Sigmoids), size=3, lineend="round", linejoin="mitre") +
+ scale_color_gradient(low="yellow", high="red") +
+ ggtitle("X vs Sigmoids")
+
+engine.plot.o2_i1 = ggplot(engine.df, aes(X, Sigmoids)) +
+ geom_line(aes(color=Sigmoids), size=3, lineend="round", linejoin="mitre") +
+ scale_color_gradient(low="yellow", high="red") +
+ coord_flip() +
+ ggtitle("Sigmoids vs X")
+
+engine.plot.i1_o3 = ggplot(engine.df, aes(X, ZSShapes)) +
+ geom_line(aes(color=ZSShapes), size=3, lineend="round", linejoin="mitre") +
+ scale_color_gradient(low="yellow", high="red") +
+ ggtitle("X vs ZSShapes")
+
+engine.plot.o3_i1 = ggplot(engine.df, aes(X, ZSShapes)) +
+ geom_line(aes(color=ZSShapes), size=3, lineend="round", linejoin="mitre") +
+ scale_color_gradient(low="yellow", high="red") +
+ coord_flip() +
+ ggtitle("ZSShapes vs X")
+
+engine.plot.i1_o4 = ggplot(engine.df, aes(X, Concaves)) +
+ geom_line(aes(color=Concaves), size=3, lineend="round", linejoin="mitre") +
+ scale_color_gradient(low="yellow", high="red") +
+ ggtitle("X vs Concaves")
+
+engine.plot.o4_i1 = ggplot(engine.df, aes(X, Concaves)) +
+ geom_line(aes(color=Concaves), size=3, lineend="round", linejoin="mitre") +
+ scale_color_gradient(low="yellow", high="red") +
+ coord_flip() +
+ ggtitle("Concaves vs X")
+
+if (require(gridExtra)) {
+ engine.plots = arrangeGrob(engine.plot.i1_o1, engine.plot.o1_i1, engine.plot.i1_o2, engine.plot.o2_i1, engine.plot.i1_o3, engine.plot.o3_i1, engine.plot.i1_o4, engine.plot.o4_i1, ncol=2, top=engine.name)
+ ggsave(paste0(engine.name, ".pdf"), engine.plots)
+ if (require(grid)) {
+ grid.newpage()
+ grid.draw(engine.plots)
+ }
+}
diff --git a/examples/tsukamoto/tsukamoto.cpp b/examples/tsukamoto/tsukamoto.cpp
index 4432936..a50c53d 100644
--- a/examples/tsukamoto/tsukamoto.cpp
+++ b/examples/tsukamoto/tsukamoto.cpp
@@ -1,85 +1,96 @@
#include <fl/Headers.h>
int main(int argc, char** argv){
+//Code automatically generated with fuzzylite 6.0.
+
using namespace fl;
Engine* engine = new Engine;
-engine->setName("");
+engine->setName("tsukamoto");
+engine->setDescription("");
-InputVariable* inputVariable = new InputVariable;
-inputVariable->setEnabled(true);
-inputVariable->setName("X");
-inputVariable->setRange(-10.000, 10.000);
-inputVariable->addTerm(new Bell("small", -10.000, 5.000, 3.000));
-inputVariable->addTerm(new Bell("medium", 0.000, 5.000, 3.000));
-inputVariable->addTerm(new Bell("large", 10.000, 5.000, 3.000));
-engine->addInputVariable(inputVariable);
+InputVariable* X = new InputVariable;
+X->setName("X");
+X->setDescription("");
+X->setEnabled(true);
+X->setRange(-10.000, 10.000);
+X->setLockValueInRange(false);
+X->addTerm(new Bell("small", -10.000, 5.000, 3.000));
+X->addTerm(new Bell("medium", 0.000, 5.000, 3.000));
+X->addTerm(new Bell("large", 10.000, 5.000, 3.000));
+engine->addInputVariable(X);
-OutputVariable* outputVariable1 = new OutputVariable;
-outputVariable1->setEnabled(true);
-outputVariable1->setName("Ramps");
-outputVariable1->setRange(0.000, 1.000);
-outputVariable1->fuzzyOutput()->setAccumulation(fl::null);
-outputVariable1->setDefuzzifier(new WeightedAverage("Automatic"));
-outputVariable1->setDefaultValue(fl::nan);
-outputVariable1->setLockPreviousOutputValue(false);
-outputVariable1->setLockOutputValueInRange(false);
-outputVariable1->addTerm(new Ramp("b", 0.600, 0.400));
-outputVariable1->addTerm(new Ramp("a", 0.000, 0.250));
-outputVariable1->addTerm(new Ramp("c", 0.700, 1.000));
-engine->addOutputVariable(outputVariable1);
+OutputVariable* Ramps = new OutputVariable;
+Ramps->setName("Ramps");
+Ramps->setDescription("");
+Ramps->setEnabled(true);
+Ramps->setRange(0.000, 1.000);
+Ramps->setLockValueInRange(false);
+Ramps->setAggregation(fl::null);
+Ramps->setDefuzzifier(new WeightedAverage("Automatic"));
+Ramps->setDefaultValue(fl::nan);
+Ramps->setLockPreviousValue(false);
+Ramps->addTerm(new Ramp("b", 0.600, 0.400));
+Ramps->addTerm(new Ramp("a", 0.000, 0.250));
+Ramps->addTerm(new Ramp("c", 0.700, 1.000));
+engine->addOutputVariable(Ramps);
-OutputVariable* outputVariable2 = new OutputVariable;
-outputVariable2->setEnabled(true);
-outputVariable2->setName("Sigmoids");
-outputVariable2->setRange(0.020, 1.000);
-outputVariable2->fuzzyOutput()->setAccumulation(fl::null);
-outputVariable2->setDefuzzifier(new WeightedAverage("Automatic"));
-outputVariable2->setDefaultValue(fl::nan);
-outputVariable2->setLockPreviousOutputValue(false);
-outputVariable2->setLockOutputValueInRange(false);
-outputVariable2->addTerm(new Sigmoid("b", 0.500, -30.000));
-outputVariable2->addTerm(new Sigmoid("a", 0.130, 30.000));
-outputVariable2->addTerm(new Sigmoid("c", 0.830, 30.000));
-engine->addOutputVariable(outputVariable2);
+OutputVariable* Sigmoids = new OutputVariable;
+Sigmoids->setName("Sigmoids");
+Sigmoids->setDescription("");
+Sigmoids->setEnabled(true);
+Sigmoids->setRange(0.020, 1.000);
+Sigmoids->setLockValueInRange(false);
+Sigmoids->setAggregation(fl::null);
+Sigmoids->setDefuzzifier(new WeightedAverage("Automatic"));
+Sigmoids->setDefaultValue(fl::nan);
+Sigmoids->setLockPreviousValue(false);
+Sigmoids->addTerm(new Sigmoid("b", 0.500, -30.000));
+Sigmoids->addTerm(new Sigmoid("a", 0.130, 30.000));
+Sigmoids->addTerm(new Sigmoid("c", 0.830, 30.000));
+engine->addOutputVariable(Sigmoids);
-OutputVariable* outputVariable3 = new OutputVariable;
-outputVariable3->setEnabled(true);
-outputVariable3->setName("ZSShapes");
-outputVariable3->setRange(0.000, 1.000);
-outputVariable3->fuzzyOutput()->setAccumulation(fl::null);
-outputVariable3->setDefuzzifier(new WeightedAverage("Automatic"));
-outputVariable3->setDefaultValue(fl::nan);
-outputVariable3->setLockPreviousOutputValue(false);
-outputVariable3->setLockOutputValueInRange(false);
-outputVariable3->addTerm(new ZShape("b", 0.300, 0.600));
-outputVariable3->addTerm(new SShape("a", 0.000, 0.250));
-outputVariable3->addTerm(new SShape("c", 0.700, 1.000));
-engine->addOutputVariable(outputVariable3);
+OutputVariable* ZSShapes = new OutputVariable;
+ZSShapes->setName("ZSShapes");
+ZSShapes->setDescription("");
+ZSShapes->setEnabled(true);
+ZSShapes->setRange(0.000, 1.000);
+ZSShapes->setLockValueInRange(false);
+ZSShapes->setAggregation(fl::null);
+ZSShapes->setDefuzzifier(new WeightedAverage("Automatic"));
+ZSShapes->setDefaultValue(fl::nan);
+ZSShapes->setLockPreviousValue(false);
+ZSShapes->addTerm(new ZShape("b", 0.300, 0.600));
+ZSShapes->addTerm(new SShape("a", 0.000, 0.250));
+ZSShapes->addTerm(new SShape("c", 0.700, 1.000));
+engine->addOutputVariable(ZSShapes);
-OutputVariable* outputVariable4 = new OutputVariable;
-outputVariable4->setEnabled(true);
-outputVariable4->setName("Concaves");
-outputVariable4->setRange(0.000, 1.000);
-outputVariable4->fuzzyOutput()->setAccumulation(fl::null);
-outputVariable4->setDefuzzifier(new WeightedAverage("Automatic"));
-outputVariable4->setDefaultValue(fl::nan);
-outputVariable4->setLockPreviousOutputValue(false);
-outputVariable4->setLockOutputValueInRange(false);
-outputVariable4->addTerm(new Concave("b", 0.500, 0.400));
-outputVariable4->addTerm(new Concave("a", 0.240, 0.250));
-outputVariable4->addTerm(new Concave("c", 0.900, 1.000));
-engine->addOutputVariable(outputVariable4);
+OutputVariable* Concaves = new OutputVariable;
+Concaves->setName("Concaves");
+Concaves->setDescription("");
+Concaves->setEnabled(true);
+Concaves->setRange(0.000, 1.000);
+Concaves->setLockValueInRange(false);
+Concaves->setAggregation(fl::null);
+Concaves->setDefuzzifier(new WeightedAverage("Automatic"));
+Concaves->setDefaultValue(fl::nan);
+Concaves->setLockPreviousValue(false);
+Concaves->addTerm(new Concave("b", 0.500, 0.400));
+Concaves->addTerm(new Concave("a", 0.240, 0.250));
+Concaves->addTerm(new Concave("c", 0.900, 1.000));
+engine->addOutputVariable(Concaves);
RuleBlock* ruleBlock = new RuleBlock;
-ruleBlock->setEnabled(true);
ruleBlock->setName("");
+ruleBlock->setDescription("");
+ruleBlock->setEnabled(true);
ruleBlock->setConjunction(fl::null);
ruleBlock->setDisjunction(fl::null);
-ruleBlock->setActivation(fl::null);
-ruleBlock->addRule(fl::Rule::parse("if X is small then Ramps is a and Sigmoids is a and ZSShapes is a and Concaves is a", engine));
-ruleBlock->addRule(fl::Rule::parse("if X is medium then Ramps is b and Sigmoids is b and ZSShapes is b and Concaves is b", engine));
-ruleBlock->addRule(fl::Rule::parse("if X is large then Ramps is c and Sigmoids is c and ZSShapes is c and Concaves is c", engine));
+ruleBlock->setImplication(fl::null);
+ruleBlock->setActivation(new General);
+ruleBlock->addRule(Rule::parse("if X is small then Ramps is a and Sigmoids is a and ZSShapes is a and Concaves is a", engine));
+ruleBlock->addRule(Rule::parse("if X is medium then Ramps is b and Sigmoids is b and ZSShapes is b and Concaves is b", engine));
+ruleBlock->addRule(Rule::parse("if X is large then Ramps is c and Sigmoids is c and ZSShapes is c and Concaves is c", engine));
engine->addRuleBlock(ruleBlock);
diff --git a/examples/tsukamoto/tsukamoto.fcl b/examples/tsukamoto/tsukamoto.fcl
index 16a4bbd..b26fc60 100644
--- a/examples/tsukamoto/tsukamoto.fcl
+++ b/examples/tsukamoto/tsukamoto.fcl
@@ -1,4 +1,6 @@
-FUNCTION_BLOCK
+//Code automatically generated with fuzzylite 6.0.
+
+FUNCTION_BLOCK tsukamoto
VAR_INPUT
X: REAL;
diff --git a/examples/tsukamoto/tsukamoto.fis b/examples/tsukamoto/tsukamoto.fis
index 6dc1b4f..0127bdd 100644
--- a/examples/tsukamoto/tsukamoto.fis
+++ b/examples/tsukamoto/tsukamoto.fis
@@ -1,13 +1,16 @@
+#Code automatically generated with fuzzylite 6.0.
+
[System]
-Name=''
+Name='tsukamoto'
Type='tsukamoto'
+Version=6.0
NumInputs=1
NumOutputs=4
NumRules=3
-AndMethod=''
-OrMethod=''
-ImpMethod=''
-AggMethod=''
+AndMethod='min'
+OrMethod='max'
+ImpMethod='min'
+AggMethod='max'
DefuzzMethod='wtaver'
[Input1]
diff --git a/examples/tsukamoto/tsukamoto.fld b/examples/tsukamoto/tsukamoto.fld
index 85e0cc3..a62de71 100644
--- a/examples/tsukamoto/tsukamoto.fld
+++ b/examples/tsukamoto/tsukamoto.fld
@@ -1,1026 +1,1025 @@
-#@Engine: ;
-#@InputVariable: X; @OutputVariable: Ramps; @OutputVariable: Sigmoids; @OutputVariable: ZSShapes; @OutputVariable: Concaves;
--10.00000000 0.25536331 0.99441852 0.25580927 0.25221216
--9.98044966 0.25542354 0.99434929 0.25587749 0.25223783
--9.96089932 0.25548454 0.99427909 0.25594671 0.25226383
--9.94134897 0.25554631 0.99420791 0.25601699 0.25229018
--9.92179863 0.25560889 0.99413572 0.25608842 0.25231688
--9.90224829 0.25567226 0.99406252 0.25616107 0.25234393
--9.88269795 0.25573645 0.99398828 0.25623502 0.25237134
--9.86314761 0.25580146 0.99391299 0.25631034 0.25239911
--9.84359726 0.25586731 0.99383664 0.25638712 0.25242725
--9.82404692 0.25593401 0.99375920 0.25646543 0.25245576
--9.80449658 0.25600158 0.99368066 0.25654534 0.25248466
--9.78494624 0.25607001 0.99360101 0.25662695 0.25251393
--9.76539589 0.25613933 0.99352023 0.25671031 0.25254360
--9.74584555 0.25620954 0.99343829 0.25679552 0.25257366
--9.72629521 0.25628067 0.99335519 0.25688266 0.25260413
--9.70674487 0.25635271 0.99327090 0.25697179 0.25263500
--9.68719453 0.25642570 0.99318540 0.25706301 0.25266629
--9.66764418 0.25649962 0.99309868 0.25715639 0.25269800
--9.64809384 0.25657451 0.99301071 0.25725200 0.25273013
--9.62854350 0.25665038 0.99292148 0.25734994 0.25276269
--9.60899316 0.25672722 0.99283097 0.25745027 0.25279570
--9.58944282 0.25680507 0.99273915 0.25755308 0.25282915
--9.56989247 0.25688393 0.99264601 0.25765846 0.25286305
--9.55034213 0.25696382 0.99255153 0.25776647 0.25289740
--9.53079179 0.25704474 0.99245567 0.25787721 0.25293223
--9.51124145 0.25712672 0.99235844 0.25799075 0.25296752
--9.49169110 0.25720976 0.58805202 0.25810718 0.25300329
--9.47214076 0.25729388 0.58066402 0.25822657 0.25303955
--9.45259042 0.25737909 0.57354840 0.25834901 0.25307630
--9.43304008 0.25746541 0.56668617 0.25847459 0.25311356
--9.41348974 0.25755285 0.56006026 0.25860337 0.25315132
--9.39393939 0.25764143 0.55365530 0.25873546 0.25318959
--9.37438905 0.25773114 0.54745738 0.25887092 0.25322839
--9.35483871 0.25782202 0.54145387 0.25900985 0.25326772
--9.33528837 0.25791407 0.53563327 0.25915232 0.25330758
--9.31573803 0.25800731 0.52998510 0.25929843 0.25334800
--9.29618768 0.25810174 0.52449975 0.25944825 0.25338896
--9.27663734 0.25819739 0.51916841 0.25960187 0.25343050
--9.25708700 0.25829425 0.51398297 0.25975938 0.25347260
--9.23753666 0.25839236 0.50893596 0.25992086 0.25351528
--9.21798631 0.25849171 0.50402049 0.26008639 0.25355855
--9.19843597 0.25859233 0.49923015 0.26025607 0.25360242
--9.17888563 0.25869422 0.49455902 0.26042997 0.25364689
--9.15933529 0.25879739 0.49000161 0.26060819 0.25369198
--9.13978495 0.25890186 0.48555278 0.26079081 0.25373769
--9.12023460 0.25900763 0.48120775 0.26097791 0.25378404
--9.10068426 0.25911473 0.47696208 0.26116960 0.25383103
--9.08113392 0.25922315 0.47281158 0.26136594 0.25387867
--9.06158358 0.25933291 0.46875235 0.26156704 0.25392698
--9.04203324 0.25944402 0.46478074 0.26177298 0.25397596
--9.02248289 0.25955649 0.46089330 0.26198385 0.25402563
--9.00293255 0.25967032 0.45708680 0.26219974 0.25407598
--8.98338221 0.25978553 0.45335820 0.26242074 0.25412704
--8.96383187 0.25990212 0.44970464 0.26264693 0.25417882
--8.94428152 0.26002010 0.44612342 0.26287842 0.25423132
--8.92473118 0.26013948 0.44261197 0.26311528 0.25428456
--8.90518084 0.26026027 0.43916789 0.26335761 0.25433855
--8.88563050 0.26038246 0.43578890 0.26360551 0.25439330
--8.86608016 0.26050607 0.43247284 0.26385906 0.25444882
--8.84652981 0.26063110 0.42921765 0.26411836 0.25450512
--8.82697947 0.26075756 0.42602140 0.26438350 0.25456221
--8.80742913 0.26088545 0.42288224 0.26465457 0.25462012
--8.78787879 0.26101476 0.41979841 0.26493167 0.25467884
--8.76832845 0.26114551 0.41676826 0.26521489 0.25473840
--8.74877810 0.26127769 0.41379019 0.26550432 0.25479880
--8.72922776 0.26141131 0.41086270 0.26580007 0.25486006
--8.70967742 0.26154637 0.40798435 0.26610222 0.25492219
--8.69012708 0.26168285 0.40515377 0.26641087 0.25498521
--8.67057674 0.26182077 0.40236964 0.26672612 0.25504913
--8.65102639 0.26196012 0.39963073 0.26704806 0.25511396
--8.63147605 0.26210090 0.39693583 0.26737680 0.25517972
--8.61192571 0.26224309 0.39428381 0.26771243 0.25524642
--8.59237537 0.26238670 0.39167359 0.26805504 0.25531408
--8.57282502 0.26253172 0.38910410 0.26840474 0.25538271
--8.55327468 0.26267815 0.38657437 0.26876163 0.25545233
--8.53372434 0.26282596 0.38408343 0.26912580 0.25552295
--8.51417400 0.26297516 0.38163037 0.26949735 0.25559459
--8.49462366 0.26312573 0.37921432 0.26987640 0.25566727
--8.47507331 0.26327766 0.37683443 0.27026303 0.25574100
--8.45552297 0.26343094 0.37448990 0.27065735 0.25581580
--8.43597263 0.26358556 0.37217995 0.27105946 0.25589168
--8.41642229 0.26374149 0.36990385 0.27146946 0.25596867
--8.39687195 0.26389873 0.36766087 0.27188746 0.25604678
--8.37732160 0.26405725 0.36545035 0.27231356 0.25612603
--8.35777126 0.26421704 0.36327163 0.27274787 0.25620644
--8.33822092 0.26437808 0.36112406 0.27319049 0.25628802
--8.31867058 0.26454034 0.35900705 0.27364153 0.25637081
--8.29912023 0.26470380 0.35692002 0.27410108 0.25645480
--8.27956989 0.26486844 0.35486241 0.27456927 0.25654004
--8.26001955 0.26503424 0.35283367 0.27504619 0.25662653
--8.24046921 0.26520116 0.35083330 0.27553195 0.25671429
--8.22091887 0.26536918 0.34886080 0.27602666 0.25680336
--8.20136852 0.26553826 0.34691568 0.27653044 0.25689375
--8.18181818 0.26570839 0.34499749 0.27704338 0.25698547
--8.16226784 0.26587952 0.34310579 0.27756560 0.25707856
--8.14271750 0.26605163 0.34124015 0.27809722 0.25717304
--8.12316716 0.26622467 0.33940016 0.27863833 0.25726893
--8.10361681 0.26639862 0.33758544 0.27918905 0.25736625
--8.08406647 0.26657343 0.33579560 0.27974951 0.25746504
--8.06451613 0.26674906 0.33403029 0.28031979 0.25756530
--8.04496579 0.26692548 0.33228915 0.28090003 0.25766708
--8.02541544 0.26710264 0.33057184 0.28149034 0.25777038
--8.00586510 0.26728050 0.32887806 0.28209082 0.25787525
--7.98631476 0.26745901 0.32720748 0.28270160 0.25798171
--7.96676442 0.26763813 0.32555981 0.28332279 0.25808978
--7.94721408 0.26781782 0.32393477 0.28395451 0.25819950
--7.92766373 0.26799801 0.32233209 0.28459687 0.25831088
--7.90811339 0.26817867 0.32075149 0.28524999 0.25842397
--7.88856305 0.26835973 0.31919274 0.28591400 0.25853879
--7.86901271 0.26854116 0.31765559 0.28658900 0.25865536
--7.84946237 0.26872288 0.31613980 0.28727512 0.25877373
--7.82991202 0.26890486 0.31464517 0.28797248 0.25889393
--7.81036168 0.26908703 0.31317148 0.28868119 0.25901598
--7.79081134 0.26926933 0.31171853 0.28940139 0.25913991
--7.77126100 0.26945171 0.31028613 0.29013319 0.25926577
--7.75171065 0.26963410 0.30887410 0.29087671 0.25939359
--7.73216031 0.26981645 0.30748225 0.29163208 0.25952340
--7.71260997 0.26999870 0.30611044 0.29239941 0.25965524
--7.69305963 0.27018077 0.30475850 0.29317884 0.25978914
--7.67350929 0.27036262 0.30342628 0.29397049 0.25992514
--7.65395894 0.27054417 0.30211365 0.29477449 0.26006328
--7.63440860 0.27072536 0.30082047 0.29559095 0.26020361
--7.61485826 0.27090613 0.29954662 0.29642001 0.26034615
--7.59530792 0.27108641 0.29829198 0.29726179 0.26049095
--7.57575758 0.27126613 0.29705644 0.29811642 0.26063805
--7.55620723 0.27144524 0.29583991 0.29898403 0.26078749
--7.53665689 0.27162365 0.29464228 0.29986474 0.26093932
--7.51710655 0.27180131 0.29346347 0.30075869 0.26109358
--7.49755621 0.27197815 0.29230341 0.30166600 0.26125032
--7.47800587 0.27215410 0.29116201 0.30258681 0.26140958
--7.45845552 0.27232911 0.29003921 0.30352124 0.26157141
--7.43890518 0.27250309 0.28893495 0.30446943 0.26173586
--7.41935484 0.27267600 0.28784918 0.30543150 0.26190297
--7.39980450 0.27284776 0.28678185 0.30640760 0.26207280
--7.38025415 0.27301831 0.28573293 0.30739784 0.26224540
--7.36070381 0.27318759 0.28470237 0.30840237 0.26242082
--7.34115347 0.27335555 0.28369016 0.30942131 0.26259911
--7.32160313 0.27352212 0.28269627 0.31045480 0.26278032
--7.30205279 0.27368724 0.28172069 0.31150298 0.26296452
--7.28250244 0.27385086 0.28076341 0.31256597 0.26315176
--7.26295210 0.27401293 0.27982443 0.31364392 0.26334210
--7.24340176 0.27417340 0.27890375 0.31473695 0.26353559
--7.22385142 0.27433221 0.27800139 0.31584521 0.26373230
--7.20430108 0.27448932 0.27711736 0.31696883 0.26393229
--7.18475073 0.27464470 0.27625167 0.31810794 0.26413562
--7.16520039 0.27479829 0.27540437 0.31926268 0.26434235
--7.14565005 0.27495007 0.27457548 0.32043318 0.26455255
--7.12609971 0.27510001 0.27376505 0.32161959 0.26476629
--7.10654936 0.27524806 0.27297311 0.32282204 0.26498362
--7.08699902 0.27539422 0.27219973 0.32404067 0.26520463
--7.06744868 0.27553845 0.27144495 0.30753520 0.26542938
--7.04789834 0.27568076 0.27070885 0.30845025 0.26565794
--7.02834800 0.27582111 0.26999148 0.30937445 0.26589039
--7.00879765 0.27595952 0.26929292 0.31030773 0.26612679
--6.98924731 0.27609598 0.26861326 0.31125006 0.26636723
--6.96969697 0.27623051 0.26795257 0.31220136 0.26661178
--6.95014663 0.27636310 0.26731094 0.31316160 0.26686051
--6.93059629 0.27649379 0.26668847 0.31413068 0.26711352
--6.91104594 0.27662260 0.26608527 0.31510855 0.26737086
--6.89149560 0.27674956 0.26550142 0.31609512 0.26763264
--6.87194526 0.27687471 0.26493705 0.31709032 0.26789893
--6.85239492 0.27699811 0.26439227 0.31809405 0.26816981
--6.83284457 0.27711981 0.26386720 0.31910623 0.26844537
--6.81329423 0.27723987 0.26336196 0.32012674 0.26872570
--6.79374389 0.27735837 0.26287669 0.32115549 0.26901088
--6.77419355 0.27747540 0.26241151 0.32219236 0.26930100
--6.75464321 0.27759103 0.26196656 0.32323723 0.26959616
--6.73509286 0.27770537 0.26154199 0.32428998 0.26989644
--6.71554252 0.27781854 0.26113794 0.32535049 0.27020193
--6.69599218 0.27793065 0.26075456 0.32641860 0.27051273
--6.67644184 0.27804182 0.26039201 0.32749418 0.27082893
--6.65689150 0.27815221 0.26005044 0.32857707 0.27115063
--6.63734115 0.27826197 0.25973002 0.32966712 0.27147791
--6.61779081 0.27837124 0.25943090 0.33076416 0.27181089
--6.59824047 0.27848021 0.25915325 0.33186801 0.27214965
--6.57869013 0.27858906 0.25889725 0.33297850 0.27249429
--6.55913978 0.27869798 0.25866306 0.33409544 0.27284492
--6.53958944 0.27880717 0.25845086 0.33521862 0.27320162
--6.52003910 0.27891685 0.25826082 0.33634786 0.27356450
--6.50048876 0.27902726 0.25809313 0.33748292 0.27393366
--6.48093842 0.27913862 0.25794795 0.33862361 0.27430919
--6.46138807 0.27925118 0.25782548 0.22105200 0.27469120
--6.44183773 0.27936521 0.25772589 0.22159093 0.27507979
--6.42228739 0.27948098 0.25764936 0.22213788 0.27547505
--6.40273705 0.27959877 0.25759607 0.22269302 0.27587708
--6.38318671 0.27971888 0.25756620 0.22325651 0.27628599
--6.36363636 0.27984160 0.25755993 0.22382853 0.27670186
--6.34408602 0.27996726 0.25757744 0.22440924 0.27712480
--6.32453568 0.28009616 0.25761891 0.22499883 0.27755490
--6.30498534 0.28022866 0.25768450 0.22559746 0.27799226
--6.28543500 0.28036509 0.25777439 0.22620530 0.27843697
--6.26588465 0.28050581 0.25788874 0.22682253 0.27888913
--6.24633431 0.28065117 0.25802772 0.22744932 0.27934881
--6.22678397 0.28080154 0.25819149 0.22808583 0.27981612
--6.20723363 0.28095730 0.25838019 0.22873224 0.28029113
--6.18768328 0.28111883 0.25859399 0.22938871 0.28077394
--6.16813294 0.28128652 0.25883301 0.23005539 0.28126462
--6.14858260 0.28146076 0.25909739 0.23073246 0.28176325
--6.12903226 0.28164195 0.25938726 0.23142006 0.28226991
--6.10948192 0.28183050 0.25970274 0.23211835 0.28278467
--6.08993157 0.28202680 0.26004394 0.23282747 0.28330760
--6.07038123 0.28223127 0.26041095 0.23354755 0.28383876
--6.05083089 0.28244431 0.26080387 0.23427874 0.28437822
--6.03128055 0.28266633 0.26122278 0.23502115 0.28492603
--6.01173021 0.28289774 0.26166773 0.23577491 0.28548224
--5.99217986 0.28313895 0.26213878 0.23654012 0.28604690
--5.97262952 0.28339035 0.26263598 0.23731689 0.28662005
--5.95307918 0.28365234 0.26315935 0.23810530 0.28720173
--5.93352884 0.28392532 0.26370889 0.23890543 0.28779197
--5.91397849 0.28420967 0.26428461 0.23971736 0.28839080
--5.89442815 0.28450577 0.26488648 0.24054113 0.28899822
--5.87487781 0.28481399 0.26551446 0.24137679 0.28961426
--5.85532747 0.28513468 0.26616849 0.24222438 0.29023892
--5.83577713 0.28546820 0.26684850 0.24308390 0.29087220
--5.81622678 0.28581486 0.26755440 0.24395535 0.29151408
--5.79667644 0.28617500 0.26828606 0.24483872 0.29216456
--5.77712610 0.28654892 0.26904334 0.24573397 0.29282359
--5.75757576 0.28693689 0.26982610 0.24664106 0.29349116
--5.73802542 0.28733919 0.27063415 0.24755991 0.29416722
--5.71847507 0.28775607 0.27146727 0.24849044 0.29485171
--5.69892473 0.28818775 0.27232525 0.24943254 0.29554458
--5.67937439 0.28863444 0.27320784 0.25038609 0.29624576
--5.65982405 0.28909631 0.27411475 0.25135093 0.29695517
--5.64027370 0.28957354 0.27504568 0.25232690 0.29767272
--5.62072336 0.29006624 0.27600031 0.25331381 0.29839832
--5.60117302 0.29057452 0.27697829 0.25431144 0.29913186
--5.58162268 0.29109847 0.27797922 0.25531956 0.29987322
--5.56207234 0.29163813 0.27900271 0.25633792 0.30062228
--5.54252199 0.29219351 0.28004832 0.25736622 0.30137889
--5.52297165 0.29276463 0.28111560 0.25840417 0.30214291
--5.50342131 0.29335143 0.28220405 0.25945144 0.30291419
--5.48387097 0.29395384 0.28331316 0.26050768 0.30369256
--5.46432063 0.29457176 0.28444240 0.26157251 0.30447783
--5.44477028 0.29520506 0.28559119 0.26264553 0.30526982
--5.42521994 0.29585357 0.28675895 0.26372632 0.30606834
--5.40566960 0.29651711 0.28794504 0.26481444 0.30687318
--5.38611926 0.29719542 0.28914883 0.26590941 0.30768412
--5.36656891 0.29788827 0.29036965 0.26701075 0.30850093
--5.34701857 0.29859534 0.29160680 0.26811794 0.30959606
--5.32746823 0.29931632 0.29285957 0.26923045 0.31255914
--5.30791789 0.30005086 0.29412720 0.27034772 0.31560324
--5.28836755 0.30079856 0.29540894 0.27146917 0.31872899
--5.26881720 0.30155902 0.29670400 0.27259421 0.32193695
--5.24926686 0.30233179 0.29801157 0.27372222 0.32522758
--5.22971652 0.30311639 0.29933084 0.27485258 0.32860128
--5.21016618 0.30391234 0.30066094 0.27598463 0.33205837
--5.19061584 0.30471910 0.30200102 0.27711771 0.33559908
--5.17106549 0.30553614 0.30335020 0.27825115 0.33922353
--5.15151515 0.30636288 0.30470760 0.27938424 0.34293178
--5.13196481 0.30719873 0.30607229 0.28051629 0.34672379
--5.11241447 0.30804308 0.30744337 0.28164658 0.35059941
--5.09286413 0.30889530 0.30881991 0.28277439 0.35455840
--5.07331378 0.30975474 0.31020096 0.28389899 0.35860043
--5.05376344 0.31062076 0.31158558 0.28501965 0.36272505
--5.03421310 0.31149268 0.31297283 0.28613561 0.36693173
--5.01466276 0.31236980 0.31436174 0.28724615 0.37121982
--4.99511241 0.31325146 0.31575135 0.28835051 0.37558859
--4.97556207 0.31413694 0.31714072 0.28944794 0.38003717
--4.95601173 0.31502554 0.31852887 0.29053772 0.38456461
--4.93646139 0.31591657 0.31991485 0.29161908 0.38916987
--4.91691105 0.31680931 0.32129770 0.29269131 0.39385177
--4.89736070 0.31770307 0.32267649 0.29375368 0.39860905
--4.87781036 0.31859713 0.32405026 0.29480546 0.40344034
--4.85826002 0.31949082 0.32541809 0.29584595 0.40834419
--4.83870968 0.32038343 0.32677905 0.29687444 0.41331902
--4.81915934 0.32127429 0.32813223 0.29789027 0.41836318
--4.79960899 0.32216274 0.32947674 0.29889274 0.42347491
--4.78005865 0.32304812 0.33081168 0.29988122 0.42865235
--4.76050831 0.32392979 0.33213619 0.30085506 0.43389358
--4.74095797 0.32480712 0.33344941 0.30181365 0.43919656
--4.72140762 0.32567952 0.33475052 0.30275638 0.44455918
--4.70185728 0.32654638 0.33603870 0.30368268 0.44997927
--4.68230694 0.32740716 0.33731315 0.30459200 0.45545454
--4.66275660 0.32826130 0.33857310 0.30548380 0.46098267
--4.64320626 0.32910828 0.33981780 0.30635758 0.46656124
--4.62365591 0.32994760 0.34104652 0.30721284 0.47218778
--4.60410557 0.33077879 0.34225856 0.30804914 0.47785976
--4.58455523 0.33160141 0.34345323 0.30886605 0.48357458
--4.56500489 0.33241502 0.34462988 0.30966315 0.48932962
--4.54545455 0.33321925 0.34578788 0.31044008 0.49512217
--4.52590420 0.33401372 0.34692662 0.31119648 0.50094952
--4.50635386 0.33479809 0.34804554 0.31193203 0.50680889
--4.48680352 0.33557205 0.34914407 0.31264645 0.51269748
--4.46725318 0.33633532 0.35022169 0.31333947 0.51861248
--4.44770283 0.33708765 0.35127791 0.31401085 0.52455103
--4.42815249 0.33782881 0.35231226 0.31466039 0.53051027
--4.40860215 0.33855860 0.35332428 0.31528792 0.53648733
--4.38905181 0.33927686 0.35431358 0.31589329 0.54247930
--4.36950147 0.33998343 0.35527974 0.31647638 0.54848332
--4.34995112 0.34067821 0.35622242 0.31703709 0.55449650
--4.33040078 0.34136111 0.35714127 0.31757537 0.56051596
--4.31085044 0.34203205 0.35803598 0.31809118 0.56653883
--4.29130010 0.34269101 0.35890626 0.31858450 0.57256227
--4.27174976 0.34333796 0.35975186 0.31905537 0.57858345
--4.25219941 0.34397292 0.36057253 0.31950381 0.58459957
--4.23264907 0.34459593 0.36136807 0.31992991 0.59060786
--4.21309873 0.34520703 0.36213827 0.32033374 0.59660557
--4.19354839 0.34580630 0.36288299 0.32071544 0.60259002
--4.17399804 0.34639383 0.36360206 0.32107514 0.60855853
--4.15444770 0.34696975 0.36429536 0.32141299 0.61450850
--4.13489736 0.34753417 0.36496280 0.32172919 0.62043736
--4.11534702 0.34808726 0.36560429 0.32202393 0.62634260
--4.09579668 0.34862917 0.36621977 0.32229745 0.63222176
--4.07624633 0.34916008 0.36680918 0.32254997 0.63807243
--4.05669599 0.34968019 0.36737251 0.32278177 0.64389229
--4.03714565 0.35018970 0.36790973 0.32299311 0.64967904
--4.01759531 0.35068883 0.36842087 0.32318430 0.65543047
--3.99804497 0.35117780 0.36890593 0.32335563 0.66114445
--3.97849462 0.35165685 0.36936495 0.32350743 0.66607967
--3.95894428 0.35212622 0.36979798 0.32364003 0.67088865
--3.93939394 0.35258618 0.37020509 0.32375378 0.67569095
--3.91984360 0.35303697 0.37058635 0.32384905 0.68048353
--3.90029326 0.35347885 0.37094184 0.32392619 0.68526345
--3.88074291 0.35391210 0.37127166 0.32398558 0.69002788
--3.86119257 0.35433698 0.37157593 0.32402762 0.69477409
--3.84164223 0.35475378 0.37185474 0.32405270 0.69949943
--3.82209189 0.35516275 0.37210824 0.32406121 0.70420138
--3.80254154 0.35556419 0.37233655 0.32405358 0.70887750
--3.78299120 0.35595836 0.37253982 0.32403020 0.71352546
--3.76344086 0.35634554 0.37271818 0.32399150 0.71814304
--3.74389052 0.35672600 0.37287180 0.32393791 0.72272810
--3.72434018 0.35710002 0.37300083 0.32386984 0.72727863
--3.70478983 0.35746787 0.37310544 0.32378772 0.73179269
--3.68523949 0.35782980 0.37318579 0.32369198 0.73626848
--3.66568915 0.35818609 0.37324205 0.32358305 0.74070425
--3.64613881 0.35853699 0.37327440 0.32346137 0.74509839
--3.62658847 0.35888275 0.37328302 0.32332736 0.74944936
--3.60703812 0.35922362 0.37326808 0.32318145 0.75375574
--3.58748778 0.35955985 0.37322976 0.32302407 0.75801618
--3.56793744 0.35989167 0.37316825 0.32285564 0.76222942
--3.54838710 0.36021932 0.37308373 0.32267660 0.76639432
--3.52883675 0.36054301 0.37297638 0.32248736 0.77050981
--3.50928641 0.36086296 0.37284639 0.32228834 0.77457490
--3.48973607 0.36117939 0.37269393 0.32207995 0.77858868
--3.47018573 0.36149250 0.37251919 0.32186261 0.78255036
--3.45063539 0.36180248 0.37232235 0.32163672 0.78645919
--3.43108504 0.36210952 0.37210359 0.32140268 0.79031451
--3.41153470 0.36241382 0.37186308 0.32116089 0.79411575
--3.39198436 0.36271553 0.37160101 0.32091174 0.79786239
--3.37243402 0.36301483 0.37131753 0.32065561 0.80155400
--3.35288368 0.36331188 0.37101284 0.32039289 0.80519021
--3.33333333 0.36360682 0.37068708 0.32012395 0.80877072
--3.31378299 0.36389981 0.37034043 0.31984915 0.81229530
--3.29423265 0.36419098 0.36997305 0.31956887 0.81576376
--3.27468231 0.36448046 0.36958509 0.31928344 0.81917600
--3.25513196 0.36476837 0.36917672 0.31899322 0.82253195
--3.23558162 0.36505483 0.36874807 0.31869855 0.82583161
--3.21603128 0.36533994 0.36829930 0.31839976 0.82907504
--3.19648094 0.36562381 0.36783056 0.31809719 0.83226232
--3.17693060 0.36590653 0.36734197 0.31779114 0.83539361
--3.15738025 0.36618819 0.36683367 0.31748193 0.83846910
--3.13782991 0.36646888 0.36630580 0.31716987 0.84148902
--3.11827957 0.36674865 0.36575847 0.31685526 0.84445365
--3.09872923 0.36702760 0.36519182 0.31653838 0.84736331
--3.07917889 0.36730577 0.36460594 0.31621951 0.85021835
--3.05962854 0.36758323 0.36400096 0.31589894 0.85301915
--3.04007820 0.36786002 0.36337697 0.31557693 0.85576614
--3.02052786 0.36813620 0.36273409 0.31525375 0.85845977
--3.00097752 0.36841181 0.36207240 0.31492964 0.86110051
--2.98142717 0.36868687 0.36139199 0.31460485 0.86368888
--2.96187683 0.36896143 0.36069296 0.31427963 0.86622540
--2.94232649 0.36923551 0.35997537 0.31395420 0.86871062
--2.92277615 0.36950913 0.35923931 0.31362880 0.87114513
--2.90322581 0.36978231 0.35848484 0.31330363 0.87352952
--2.88367546 0.37005506 0.35771203 0.31297891 0.87586441
--2.86412512 0.37032740 0.35692093 0.31265485 0.87815042
--2.84457478 0.37059933 0.35611159 0.31233164 0.88038820
--2.82502444 0.37087086 0.35528407 0.31200948 0.88257841
--2.80547410 0.37114199 0.35443839 0.31168854 0.88472172
--2.78592375 0.37141271 0.35357461 0.31136901 0.88681882
--2.76637341 0.37168301 0.35269274 0.31105106 0.88887039
--2.74682307 0.37195290 0.35179281 0.31073485 0.89087714
--2.72727273 0.37222235 0.35087484 0.31042055 0.89283977
--2.70772239 0.37249137 0.34993884 0.31010831 0.89475900
--2.68817204 0.37275992 0.34898482 0.30979827 0.89663554
--2.66862170 0.37302800 0.34801277 0.30949058 0.89847013
--2.64907136 0.37329558 0.34702268 0.30918537 0.90026347
--2.62952102 0.37356265 0.34601456 0.30888278 0.90201630
--2.60997067 0.37382919 0.34498837 0.30858292 0.90372935
--2.59042033 0.37409516 0.34394409 0.30828592 0.90540334
--2.57086999 0.37436055 0.34288169 0.30799190 0.90703900
--2.55131965 0.37462533 0.34180113 0.30770095 0.90863705
--2.53176931 0.37488947 0.34070238 0.30741319 0.91019823
--2.51221896 0.37515294 0.33958537 0.30712872 0.91172323
--2.49266862 0.37541573 0.33845005 0.30684763 0.91321279
--2.47311828 0.37567779 0.33729635 0.30657001 0.91466762
--2.45356794 0.37593911 0.33612422 0.30629594 0.91608841
--2.43401760 0.37619964 0.33493356 0.30602552 0.91747588
--2.41446725 0.37645936 0.33372429 0.30575880 0.91883071
--2.39491691 0.37671824 0.33249633 0.30549587 0.92015360
--2.37536657 0.37697625 0.33124957 0.30523680 0.92144523
--2.35581623 0.37723336 0.32998391 0.30498165 0.92270627
--2.33626588 0.37748954 0.32869922 0.30473048 0.92393739
--2.31671554 0.37774476 0.32739540 0.30448334 0.92513926
--2.29716520 0.37799899 0.32607232 0.30424029 0.92631251
--2.27761486 0.37825219 0.32472983 0.30400139 0.92745780
--2.25806452 0.37850435 0.32336779 0.30376667 0.92857575
--2.23851417 0.37875542 0.32198605 0.30353617 0.92966700
--2.21896383 0.37900539 0.32058445 0.30330995 0.93073215
--2.19941349 0.37925422 0.31916281 0.30308803 0.93177181
--2.17986315 0.37950189 0.31772096 0.30287045 0.93278658
--2.16031281 0.37974838 0.31625872 0.30265723 0.93377705
--2.14076246 0.37999364 0.31477587 0.30244841 0.93474379
--2.12121212 0.38023766 0.31327223 0.30224402 0.93568736
--2.10166178 0.38048042 0.31174757 0.30204406 0.93660833
--2.08211144 0.38072189 0.31020166 0.30184856 0.93750724
--2.06256109 0.38096205 0.30863427 0.30165754 0.93838462
--2.04301075 0.38120086 0.30704516 0.30147101 0.93924099
--2.02346041 0.38143833 0.30543406 0.30128899 0.94007688
--2.00391007 0.38167441 0.30380071 0.30111147 0.94089279
--1.98435973 0.38190910 0.30214483 0.30093848 0.94168921
--1.96480938 0.38214237 0.30046612 0.30077001 0.94246662
--1.94525904 0.38237421 0.29876429 0.30060607 0.94322550
--1.92570870 0.38260459 0.29703900 0.30044665 0.94396631
--1.90615836 0.38283351 0.29528995 0.30029176 0.94468950
--1.88660802 0.38306095 0.29351677 0.30014139 0.94539552
--1.86705767 0.38328689 0.29171912 0.29999555 0.94608479
--1.84750733 0.38351131 0.28989661 0.29985421 0.94675774
--1.82795699 0.38373422 0.28804887 0.29971737 0.94741478
--1.80840665 0.38395559 0.28617550 0.29958503 0.94805630
--1.78885630 0.38417542 0.28427606 0.29945716 0.94868271
--1.76930596 0.38439369 0.28235013 0.29933377 0.94929439
--1.74975562 0.38461040 0.28039725 0.29921482 0.94989169
--1.73020528 0.38482553 0.27841695 0.29910031 0.95047500
--1.71065494 0.38503909 0.27640875 0.29899021 0.95104466
--1.69110459 0.38525107 0.27437212 0.29888451 0.95160102
--1.67155425 0.38546146 0.27230653 0.29878319 0.95214440
--1.65200391 0.38567026 0.27021144 0.29868623 0.95267514
--1.63245357 0.38587746 0.26808627 0.29859359 0.95319355
--1.61290323 0.38608307 0.26593042 0.29850526 0.95369994
--1.59335288 0.38628708 0.26374326 0.29842122 0.95419460
--1.57380254 0.38648949 0.26152415 0.29834142 0.95467784
--1.55425220 0.38669030 0.25927240 0.29826586 0.95514992
--1.53470186 0.38688951 0.25698731 0.29819449 0.95561113
--1.51515152 0.38708713 0.25466815 0.29812729 0.95606172
--1.49560117 0.38728316 0.25231415 0.29806423 0.95650196
--1.47605083 0.38747760 0.24992451 0.29800528 0.95693210
--1.45650049 0.38767046 0.24749839 0.29795039 0.95735237
--1.43695015 0.38786174 0.24503493 0.29789955 0.95776302
--1.41739980 0.38805144 0.24253321 0.29785271 0.95816426
--1.39784946 0.38823958 0.23999229 0.29780985 0.95855632
--1.37829912 0.38842616 0.23741118 0.29777091 0.95893941
--1.35874878 0.38861120 0.23478883 0.29773588 0.95931374
--1.33919844 0.38879469 0.23212416 0.29770470 0.95967950
--1.31964809 0.38897665 0.22941604 0.29767735 0.96003688
--1.30009775 0.38915709 0.22666328 0.29765378 0.96038608
--1.28054741 0.38933602 0.22386463 0.29763395 0.96072727
--1.26099707 0.38951345 0.22101879 0.29761783 0.96106062
--1.24144673 0.38968940 0.21812439 0.29760537 0.96138631
--1.22189638 0.38986387 0.21518000 0.29759653 0.96170448
--1.20234604 0.39003688 0.21218409 0.29759127 0.96201530
--1.18279570 0.39020844 0.20913510 0.29758955 0.96231892
--1.16324536 0.39037857 0.20603135 0.29759132 0.96261547
--1.14369501 0.39054728 0.20287109 0.29759655 0.96290511
--1.12414467 0.39071459 0.19965248 0.29760518 0.96318796
--1.10459433 0.39088052 0.19637355 0.29761717 0.96346415
--1.08504399 0.39104507 0.19303228 0.29763248 0.96373380
--1.06549365 0.39120826 0.18962647 0.29765106 0.96399703
--1.04594330 0.39137012 0.18615385 0.29767287 0.96425397
--1.02639296 0.39153066 0.18261198 0.29769787 0.96450470
--1.00684262 0.39168990 0.17899831 0.29772599 0.96474935
--0.98729228 0.39184786 0.17531012 0.29775720 0.96498801
--0.96774194 0.39200455 0.17154451 0.29779146 0.96522078
--0.94819159 0.39215999 0.16769843 0.29782870 0.96544775
--0.92864125 0.39231420 0.16376861 0.29786890 0.96566902
--0.90909091 0.39246721 0.15975159 0.29791198 0.96588465
--0.88954057 0.39261903 0.15564368 0.29795792 0.96609474
--0.86999022 0.39276968 0.15144091 0.29800666 0.96629937
--0.85043988 0.39291918 0.14713908 0.29805815 0.96649861
--0.83088954 0.39306756 0.14273366 0.29811234 0.96669252
--0.81133920 0.39321483 0.13821982 0.29816918 0.96688118
--0.79178886 0.39336101 0.13359235 0.29822862 0.96706465
--0.77223851 0.39350614 0.12884566 0.29829062 0.96724300
--0.75268817 0.39365021 0.12397373 0.29835512 0.96741628
--0.73313783 0.39379327 0.11897006 0.29842207 0.96758455
--0.71358749 0.39393532 0.11382760 0.29849142 0.96774786
--0.69403715 0.39407640 0.10853873 0.29856312 0.96790626
--0.67448680 0.39421653 0.10309517 0.29863712 0.96805980
--0.65493646 0.39435571 0.09748790 0.29871337 0.96820853
--0.63538612 0.39449399 0.09170709 0.29879182 0.96835249
--0.61583578 0.39463138 0.08574196 0.29887242 0.96849172
--0.59628543 0.39476790 0.07958071 0.29895510 0.96862627
--0.57673509 0.39490358 0.07321033 0.29903984 0.96875616
--0.55718475 0.39503843 0.06661648 0.29912656 0.96888143
--0.53763441 0.39517249 0.05978327 0.29921522 0.96900212
--0.51808407 0.39530577 0.05269303 0.29930577 0.96911826
--0.49853372 0.39543829 0.02702221 0.29939816 0.96922987
--0.47898338 0.39557009 0.02710570 0.29949233 0.96933699
--0.45943304 0.39570118 0.02719048 0.29958823 0.96943964
--0.43988270 0.39583158 0.02727658 0.29968581 0.96953785
--0.42033236 0.39596132 0.02736399 0.29978501 0.96963164
--0.40078201 0.39609042 0.02745275 0.29988580 0.96972102
--0.38123167 0.39621890 0.02754285 0.29998810 0.96980603
--0.36168133 0.39634679 0.02763432 0.30009187 0.96988668
--0.34213099 0.39647411 0.02772717 0.30019707 0.96996299
--0.32258065 0.39660088 0.02782142 0.30030362 0.97003498
--0.30303030 0.39672712 0.02791707 0.30041150 0.97010265
--0.28347996 0.39685287 0.02801416 0.30052063 0.97016603
--0.26392962 0.39697813 0.02811268 0.30063097 0.97022513
--0.24437928 0.39710294 0.02821267 0.30074246 0.97027996
--0.22482893 0.39722731 0.02831413 0.30085507 0.97033053
--0.20527859 0.39735127 0.02841709 0.30096872 0.97037685
--0.18572825 0.39747485 0.02852157 0.30108337 0.97041893
--0.16617791 0.39759805 0.02862757 0.30119897 0.97045678
--0.14662757 0.39772092 0.02873512 0.30131547 0.97049041
--0.12707722 0.39784346 0.02884424 0.30143281 0.97051982
--0.10752688 0.39796571 0.02895495 0.30155094 0.97054502
--0.08797654 0.39808768 0.02906727 0.30166981 0.97056601
--0.06842620 0.39820940 0.02918122 0.30178937 0.97058280
--0.04887586 0.39833089 0.02929681 0.30190957 0.97059539
--0.02932551 0.39845217 0.02941408 0.30203035 0.97060378
--0.00977517 0.39857327 0.02953303 0.30215167 0.97060797
-0.00977517 0.39869420 0.02965370 0.30227347 0.97060797
-0.02932551 0.39881500 0.02977611 0.30239578 0.97060378
-0.04887586 0.39893568 0.02990027 0.30251870 0.97059539
-0.06842620 0.39905626 0.03002622 0.30264232 0.97058280
-0.08797654 0.39917677 0.03015397 0.30276673 0.97056601
-0.10752688 0.39929724 0.03028355 0.30289204 0.97054502
-0.12707722 0.39941767 0.03041499 0.30301833 0.97051982
-0.14662757 0.39953811 0.03054831 0.30314572 0.97049041
-0.16617791 0.39965856 0.03068353 0.30327430 0.97045678
-0.18572825 0.39977905 0.03082068 0.30340416 0.97041893
-0.20527859 0.39989961 0.03095980 0.30353540 0.97037685
-0.22482893 0.40002026 0.03110089 0.30366813 0.97033053
-0.24437928 0.40014101 0.03124400 0.30380243 0.97027996
-0.26392962 0.40026190 0.03138915 0.30393841 0.97022513
-0.28347996 0.40038295 0.03153637 0.30407617 0.97016603
-0.30303030 0.40050418 0.03168569 0.30421581 0.97010265
-0.32258065 0.40062561 0.03183714 0.30435742 0.97003498
-0.34213099 0.40074727 0.03199074 0.30450111 0.96996299
-0.36168133 0.40086919 0.03214654 0.30464697 0.96988668
-0.38123167 0.40099137 0.03230455 0.30479511 0.96980603
-0.40078201 0.40111386 0.03246482 0.30494562 0.96972102
-0.42033236 0.40123667 0.03262737 0.30509860 0.96963164
-0.43988270 0.40135983 0.03279223 0.30525416 0.96953785
-0.45943304 0.40148337 0.03295945 0.30541239 0.96943964
-0.47898338 0.40160730 0.03312905 0.30557341 0.96933699
-0.49853372 0.40173166 0.03330108 0.30573729 0.96922987
-0.51808407 0.40185647 0.05922858 0.30590416 0.96911826
-0.53763441 0.40198175 0.06657672 0.30607411 0.96900212
-0.55718475 0.40210754 0.07366911 0.30624724 0.96888143
-0.57673509 0.40223386 0.08052345 0.30642365 0.96875616
-0.59628543 0.40236073 0.08715568 0.30660345 0.96862627
-0.61583578 0.40248819 0.09358021 0.30678673 0.96849172
-0.63538612 0.40261626 0.09981007 0.30697361 0.96835249
-0.65493646 0.40274497 0.10585714 0.30716418 0.96820853
-0.67448680 0.40287435 0.11173223 0.30735855 0.96805980
-0.69403715 0.40300443 0.11744524 0.30755682 0.96790626
-0.71358749 0.40313524 0.12300522 0.30775909 0.96774786
-0.73313783 0.40326681 0.12842052 0.30796547 0.96758455
-0.75268817 0.40339917 0.13369880 0.30817607 0.96741628
-0.77223851 0.40353235 0.13884717 0.30839098 0.96724300
-0.79178886 0.40366639 0.14387218 0.30861031 0.96706465
-0.81133920 0.40380131 0.14877990 0.30883417 0.96688118
-0.83088954 0.40393715 0.15357598 0.30906267 0.96669252
-0.85043988 0.40407395 0.15826569 0.30929590 0.96649861
-0.86999022 0.40421174 0.16285390 0.30953397 0.96629937
-0.88954057 0.40435056 0.16734521 0.30977699 0.96609474
-0.90909091 0.40449043 0.17174388 0.31002508 0.96588465
-0.92864125 0.40463141 0.17605391 0.31027832 0.96566902
-0.94819159 0.40477353 0.18027907 0.31053684 0.96544775
-0.96774194 0.40491682 0.18442287 0.31080073 0.96522078
-0.98729228 0.40506134 0.18848864 0.31107011 0.96498801
-1.00684262 0.40520711 0.19247951 0.31134509 0.96474935
-1.02639296 0.40535418 0.19639840 0.31162577 0.96450470
-1.04594330 0.40550260 0.20024811 0.31191226 0.96425397
-1.06549365 0.40565241 0.20403127 0.31220468 0.96399703
-1.08504399 0.40580365 0.20775035 0.31250312 0.96373380
-1.10459433 0.40595638 0.21140771 0.31280771 0.96346415
-1.12414467 0.40611063 0.21500558 0.31311855 0.96318796
-1.14369501 0.40626646 0.21854609 0.31343575 0.96290511
-1.16324536 0.40642392 0.22203123 0.31375942 0.96261547
-1.18279570 0.40658305 0.22546293 0.31408968 0.96231892
-1.20234604 0.40674392 0.22884301 0.31442663 0.96201530
-1.22189638 0.40690658 0.23217320 0.31477040 0.96170448
-1.24144673 0.40707108 0.23545515 0.31512109 0.96138631
-1.26099707 0.40723748 0.23869044 0.31547881 0.96106062
-1.28054741 0.40740583 0.24188058 0.31584368 0.96072727
-1.30009775 0.40757621 0.24502701 0.31621581 0.96038608
-1.31964809 0.40774867 0.24813110 0.31659532 0.96003688
-1.33919844 0.40792327 0.25119417 0.31698232 0.95967950
-1.35874878 0.40810008 0.25421749 0.31737693 0.95931374
-1.37829912 0.40827917 0.25720227 0.31777926 0.95893941
-1.39784946 0.40846060 0.26014966 0.31818942 0.95855632
-1.41739980 0.40864445 0.26306079 0.31860755 0.95816426
-1.43695015 0.40883079 0.26593671 0.31903374 0.95776302
-1.45650049 0.40901969 0.26877848 0.31946812 0.95735237
-1.47605083 0.40921123 0.27158706 0.31991081 0.95693210
-1.49560117 0.40940549 0.27436342 0.32036193 0.95650196
-1.51515152 0.40960255 0.27710847 0.32082159 0.95606172
-1.53470186 0.40980249 0.27982310 0.32128991 0.95561113
-1.55425220 0.41000539 0.28250816 0.32176702 0.95514992
-1.57380254 0.41021136 0.28516447 0.32225302 0.95467784
-1.59335288 0.41042046 0.28779284 0.32274806 0.95419460
-1.61290323 0.41063280 0.29039402 0.32325223 0.95369994
-1.63245357 0.41084847 0.29296875 0.32376568 0.95319355
-1.65200391 0.41106757 0.29551777 0.32428851 0.95267514
-1.67155425 0.41129019 0.29804175 0.32482085 0.95214440
-1.69110459 0.41151644 0.30054138 0.32536283 0.95160102
-1.71065494 0.41174642 0.30301730 0.32591456 0.95104466
-1.73020528 0.41198024 0.30547015 0.32647618 0.95047500
-1.74975562 0.41221802 0.30790053 0.32704780 0.94989169
-1.76930596 0.41245985 0.31030905 0.32762956 0.94929439
-1.78885630 0.41270586 0.31269628 0.32822157 0.94868271
-1.80840665 0.41295616 0.31506279 0.32882396 0.94805630
-1.82795699 0.41321089 0.31740911 0.32943686 0.94741478
-1.84750733 0.41347015 0.31973578 0.33006040 0.94675774
-1.86705767 0.41373409 0.32204331 0.33069471 0.94608479
-1.88660802 0.41400282 0.32433220 0.33133990 0.94539552
-1.90615836 0.41427649 0.32660296 0.33199611 0.94468950
-1.92570870 0.41455522 0.32885604 0.33266348 0.94396631
-1.94525904 0.41483917 0.33109193 0.33334212 0.94322550
-1.96480938 0.41512847 0.33331107 0.33403217 0.94246662
-1.98435973 0.41542327 0.33551390 0.33473375 0.94168921
-2.00391007 0.41572373 0.33770086 0.33544701 0.94089279
-2.02346041 0.41602999 0.33987237 0.33617207 0.94007688
-2.04301075 0.41634221 0.34202886 0.33690906 0.93924099
-2.06256109 0.41666056 0.34417071 0.33765812 0.93838462
-2.08211144 0.41698519 0.34629833 0.33841937 0.93750724
-2.10166178 0.41731628 0.34841211 0.33919295 0.93660833
-2.12121212 0.41765400 0.35051242 0.33997900 0.93568736
-2.14076246 0.41799853 0.35259965 0.34077764 0.93474379
-2.16031281 0.41835004 0.35467416 0.34158902 0.93377705
-2.17986315 0.41870872 0.35673630 0.34241327 0.93278658
-2.19941349 0.41907476 0.35878644 0.34325051 0.93177181
-2.21896383 0.41944834 0.36082491 0.34410090 0.93073215
-2.23851417 0.41982967 0.36285207 0.34496456 0.92966700
-2.25806452 0.42021893 0.36486824 0.34584163 0.92857575
-2.27761486 0.42061635 0.36687376 0.34673225 0.92745780
-2.29716520 0.42102212 0.36886895 0.34763655 0.92631251
-2.31671554 0.42143645 0.37085414 0.34855468 0.92513926
-2.33626588 0.42185957 0.37282964 0.34948677 0.92393739
-2.35581623 0.42229169 0.37479577 0.35043295 0.92270627
-2.37536657 0.42273303 0.37675284 0.35139337 0.92144523
-2.39491691 0.42318383 0.37870114 0.35236817 0.92015360
-2.41446725 0.42364432 0.38064099 0.35335748 0.91883071
-2.43401760 0.42411473 0.38257267 0.35436144 0.91747588
-2.45356794 0.42459530 0.38449650 0.35538020 0.91608841
-2.47311828 0.42508629 0.38641275 0.35641389 0.91466762
-2.49266862 0.42558794 0.38832172 0.35746266 0.91321279
-2.51221896 0.42610050 0.39022370 0.35852664 0.91172323
-2.53176931 0.42662423 0.39211897 0.35960597 0.91019823
-2.55131965 0.42715941 0.39400781 0.36070079 0.90863705
-2.57086999 0.42770628 0.39589052 0.36181125 0.90703900
-2.59042033 0.42826512 0.39776735 0.36293748 0.90540334
-2.60997067 0.42883622 0.39963860 0.36407963 0.90372935
-2.62952102 0.42941984 0.40150454 0.36523784 0.90201630
-2.64907136 0.43001627 0.40336544 0.36641224 0.90026347
-2.66862170 0.43062579 0.40522158 0.36760298 0.89847013
-2.68817204 0.43124871 0.40707323 0.36881020 0.89663554
-2.70772239 0.43188530 0.40892066 0.37003404 0.89475900
-2.72727273 0.43253588 0.41076414 0.37127464 0.89283977
-2.74682307 0.43320075 0.41260394 0.37253214 0.89087714
-2.76637341 0.43388020 0.41444034 0.37380669 0.88887039
-2.78592375 0.43457456 0.41627360 0.37509841 0.88681882
-2.80547410 0.43528413 0.41810399 0.37640745 0.88472172
-2.82502444 0.43600923 0.41993178 0.37773396 0.88257841
-2.84457478 0.43675018 0.42175723 0.37907806 0.88038820
-2.86412512 0.43750731 0.42358063 0.38043990 0.87815042
-2.88367546 0.43828094 0.42540223 0.38181962 0.87586441
-2.90322581 0.43907140 0.42722230 0.38321736 0.87352952
-2.92277615 0.43987902 0.42904112 0.38463325 0.87114513
-2.94232649 0.44070415 0.43085895 0.38606743 0.86871062
-2.96187683 0.44154710 0.43267607 0.38752004 0.86622540
-2.98142717 0.44240824 0.43449274 0.38899122 0.86368888
-3.00097752 0.44328789 0.43630924 0.39048109 0.86110051
-3.02052786 0.44418641 0.43812584 0.39198980 0.85845977
-3.04007820 0.44510413 0.43994281 0.39351747 0.85576614
-3.05962854 0.44604141 0.44176043 0.39506425 0.85301915
-3.07917889 0.44699859 0.44357897 0.39663027 0.85021835
-3.09872923 0.44797603 0.44539870 0.39821565 0.84736331
-3.11827957 0.44897407 0.44721990 0.39982052 0.84445365
-3.13782991 0.44999308 0.44904286 0.40144503 0.84148902
-3.15738025 0.45103339 0.45086784 0.40308929 0.83846910
-3.17693060 0.45209536 0.45269513 0.40475343 0.83539361
-3.19648094 0.45317935 0.45452500 0.40643757 0.83226232
-3.21603128 0.45428571 0.45635774 0.40814185 0.82907504
-3.23558162 0.45541479 0.45819363 0.40986639 0.82583161
-3.25513196 0.45656693 0.46003295 0.41161130 0.82253195
-3.27468231 0.45774250 0.46187599 0.41337671 0.81917600
-3.29423265 0.45894184 0.46372302 0.41516274 0.81576376
-3.31378299 0.46016529 0.46557435 0.41696950 0.81229530
-3.33333333 0.46141320 0.46743024 0.41879711 0.80877072
-3.35288368 0.46268591 0.46929099 0.42064567 0.80519021
-3.37243402 0.46398377 0.47115689 0.42251531 0.80155400
-3.39198436 0.46530710 0.47302822 0.42440612 0.79786239
-3.41153470 0.46665624 0.47490527 0.42631822 0.79411575
-3.43108504 0.46803152 0.47678833 0.42825170 0.79031451
-3.45063539 0.46943327 0.47867768 0.43020668 0.78645919
-3.47018573 0.47086180 0.48057362 0.43218323 0.78255036
-3.48973607 0.47231743 0.48247644 0.43418147 0.77858868
-3.50928641 0.47380048 0.48438641 0.43620148 0.77457490
-3.52883675 0.47531124 0.48630384 0.43824335 0.77050981
-3.54838710 0.47685002 0.48822899 0.44030716 0.76639432
-3.56793744 0.47841710 0.49016217 0.44239299 0.76222942
-3.58748778 0.48001278 0.49210365 0.44450093 0.75801618
-3.60703812 0.48163733 0.49405371 0.44663104 0.75375574
-3.62658847 0.48329102 0.49601264 0.44878339 0.74944936
-3.64613881 0.48497412 0.49798072 0.45095805 0.74509839
-3.66568915 0.48668688 0.49995821 0.45315507 0.74070425
-3.68523949 0.48842954 0.50194540 0.45537451 0.73626848
-3.70478983 0.49020234 0.50394256 0.45761641 0.73179269
-3.72434018 0.49200551 0.50594994 0.45988082 0.72727863
-3.74389052 0.49383927 0.50796783 0.46216778 0.72272810
-3.76344086 0.49570382 0.50999646 0.46447730 0.71814304
-3.78299120 0.49759935 0.51203610 0.46680943 0.71352546
-3.80254154 0.49952606 0.51408701 0.46916416 0.70887750
-3.82209189 0.50148411 0.51614941 0.47154152 0.70420138
-3.84164223 0.50347366 0.51822356 0.47394150 0.69949943
-3.86119257 0.50549486 0.52030968 0.47636409 0.69477409
-3.88074291 0.50754785 0.52240801 0.47880928 0.69002788
-3.90029326 0.50963274 0.52451875 0.48127704 0.68526345
-3.91984360 0.51174965 0.52664211 0.48376734 0.68048353
-3.93939394 0.51389867 0.52877831 0.48628014 0.67569095
-3.95894428 0.51607987 0.53092754 0.48881538 0.67088865
-3.97849462 0.51829332 0.53308997 0.49137299 0.66607967
-3.99804497 0.52053908 0.53526579 0.49395290 0.66126712
-4.01759531 0.52281717 0.53745515 0.49655503 0.65645423
-4.03714565 0.52512761 0.53965822 0.49917927 0.65164432
-4.05669599 0.52747040 0.54187512 0.50182551 0.64684078
-4.07624633 0.52984553 0.54410600 0.50449362 0.64204710
-4.09579668 0.53225297 0.54635096 0.50718347 0.63726685
-4.11534702 0.53469265 0.54861012 0.50989490 0.63250367
-4.13489736 0.53716452 0.55088356 0.51262775 0.62776129
-4.15444770 0.53966849 0.55317135 0.51538183 0.62304350
-4.17399804 0.54220446 0.55547356 0.51815694 0.61835416
-4.19354839 0.54477229 0.55779023 0.52095288 0.61369720
-4.21309873 0.54737185 0.56012140 0.52376941 0.60907659
-4.23264907 0.55000298 0.56246706 0.52660628 0.60449637
-4.25219941 0.55266550 0.56482723 0.52946322 0.59996060
-4.27174976 0.55535920 0.56720187 0.53233996 0.59547341
-4.29130010 0.55808386 0.56959095 0.53523620 0.59103894
-4.31085044 0.56083925 0.57199441 0.53815161 0.58666137
-4.33040078 0.56362510 0.57441217 0.54108585 0.58234490
-4.34995112 0.56644112 0.57684414 0.54403858 0.57809373
-4.36950147 0.56928702 0.57929020 0.54700940 0.57391209
-4.38905181 0.57216247 0.58175021 0.54999792 0.56980419
-4.40860215 0.57506712 0.58422403 0.55300373 0.56577423
-4.42815249 0.57800060 0.58671148 0.55602638 0.56182640
-4.44770283 0.58096254 0.58921236 0.55906541 0.55796486
-4.46725318 0.58395251 0.59172646 0.56212036 0.55419374
-4.48680352 0.58697008 0.59425354 0.56519070 0.55051713
-4.50635386 0.59001480 0.59679334 0.56827592 0.54693907
-4.52590420 0.59308621 0.59934560 0.57137549 0.54346354
-4.54545455 0.59618378 0.60191000 0.57448882 0.54009445
-4.56500489 0.59930702 0.60448623 0.57761535 0.53683563
-4.58455523 0.60245538 0.60707397 0.58075446 0.53369084
-4.60410557 0.60562829 0.60967284 0.58390552 0.53066374
-4.62365591 0.60882517 0.61228247 0.58706790 0.52775789
-4.64320626 0.61204543 0.61490247 0.59024092 0.52497674
-4.66275660 0.61528842 0.61753242 0.59342389 0.52232362
-4.68230694 0.61855351 0.62017190 0.59661613 0.51980173
-4.70185728 0.62184004 0.62282044 0.59981689 0.51741416
-4.72140762 0.62514730 0.62547759 0.60302544 0.51516383
-4.74095797 0.62847459 0.62814287 0.60624103 0.51305353
-4.76050831 0.63182120 0.63081577 0.60946287 0.51108589
-4.78005865 0.63518636 0.63349578 0.61269018 0.50926338
-4.79960899 0.63856932 0.63618238 0.61592215 0.50758830
-4.81915934 0.64196929 0.63887503 0.61915797 0.50606278
-4.83870968 0.64538547 0.64157318 0.62239680 0.50468876
-4.85826002 0.64881705 0.64427626 0.62563779 0.50346801
-4.87781036 0.65226318 0.64698371 0.62888010 0.50240209
-4.89736070 0.65572301 0.64969495 0.63212285 0.50149240
-4.91691105 0.65919569 0.65240939 0.63536518 0.50074011
-4.93646139 0.66268033 0.65512643 0.63860621 0.50014620
-4.95601173 0.66617603 0.65784548 0.64184504 0.49971146
-4.97556207 0.66968188 0.66056593 0.64508078 0.49943646
-4.99511241 0.67319697 0.66328718 0.64831254 0.49932156
-5.01466276 0.67672036 0.66600862 0.65153943 0.49936694
-5.03421310 0.68025111 0.66872965 0.65476053 0.49957254
-5.05376344 0.68378826 0.67144964 0.65797495 0.49993810
-5.07331378 0.68733086 0.67416801 0.66118179 0.50046317
-5.09286413 0.69087793 0.67688415 0.66438017 0.50114708
-5.11241447 0.69442850 0.67959745 0.66756917 0.50198896
-5.13196481 0.69798158 0.68230734 0.67074794 0.50298772
-5.15151515 0.70153618 0.68501322 0.67391557 0.50414211
-5.17106549 0.70509133 0.68771452 0.67707121 0.50545064
-5.19061584 0.70864600 0.69041066 0.68021399 0.50691167
-5.21016618 0.71219922 0.69310110 0.68334306 0.50852334
-5.22971652 0.71574999 0.69578529 0.68645759 0.51028363
-5.24926686 0.71929730 0.69846268 0.68955675 0.51219033
-5.26881720 0.72284016 0.70113276 0.69263974 0.51424107
-5.28836755 0.72637758 0.70379502 0.69570575 0.51643329
-5.30791789 0.72990856 0.70644897 0.69875400 0.51876431
-5.32746823 0.73343212 0.70909413 0.70178375 0.52123127
-5.34701857 0.73694728 0.71173004 0.70479424 0.52383116
-5.36656891 0.74045306 0.71435626 0.70778476 0.52834849
-5.38611926 0.74394850 0.71697236 0.71075459 0.53319112
-5.40566960 0.74743264 0.71957793 0.71370307 0.53808403
-5.42521994 0.75090453 0.72217258 0.71662953 0.54302486
-5.44477028 0.75436324 0.72475594 0.71953333 0.54801114
-5.46432063 0.75780784 0.72732767 0.72241387 0.55304039
-5.48387097 0.76123741 0.72988742 0.72527054 0.55811004
-5.50342131 0.76465106 0.73243490 0.72810280 0.56321751
-5.52297165 0.76804790 0.73496980 0.73091008 0.56836017
-5.54252199 0.77142706 0.73749186 0.73369189 0.57353534
-5.56207234 0.77478769 0.74000083 0.73644772 0.57874032
-5.58162268 0.77812895 0.74249647 0.73917711 0.58397239
-5.60117302 0.78145002 0.74497859 0.74187963 0.58922882
-5.62072336 0.78475011 0.74744698 0.74455485 0.59450683
-5.64027370 0.78802843 0.74990149 0.74720240 0.59980366
-5.65982405 0.79128423 0.75234195 0.74982190 0.60511654
-5.67937439 0.79451675 0.75476825 0.75241302 0.61044269
-5.69892473 0.79772529 0.75718028 0.75497545 0.61577935
-5.71847507 0.80090915 0.75957794 0.75750891 0.62112374
-5.73802542 0.80406764 0.76196116 0.76001313 0.62647314
-5.75757576 0.80720013 0.76432990 0.76248788 0.63182481
-5.77712610 0.81030597 0.76668411 0.76493294 0.63717604
-5.79667644 0.81338457 0.76902378 0.76734814 0.64252415
-5.81622678 0.81643535 0.77134891 0.76973330 0.64786651
-5.83577713 0.81945775 0.77365952 0.77208829 0.65320049
-5.85532747 0.82245123 0.77595565 0.77441300 0.65852353
-5.87487781 0.82541529 0.77823733 0.77670732 0.66383309
-5.89442815 0.82834944 0.78050464 0.77897120 0.66912668
-5.91397849 0.83125324 0.78275765 0.78120457 0.67440188
-5.93352884 0.83412624 0.78499646 0.78340742 0.67965630
-5.95307918 0.83696804 0.78722118 0.78557972 0.68488761
-5.97262952 0.83977827 0.78943193 0.78772150 0.69009354
-5.99217986 0.84255656 0.79162883 0.78983279 0.69527187
-6.01173021 0.84530258 0.79381204 0.79191363 0.70042046
-6.03128055 0.84801604 0.79598171 0.79396409 0.70553722
-6.05083089 0.85069664 0.79813800 0.79598427 0.71062014
-6.07038123 0.85334414 0.80028109 0.79797425 0.71566727
-6.08993157 0.85595830 0.80241118 0.79993416 0.72067672
-6.10948192 0.85853893 0.80452845 0.80186413 0.72564668
-6.12903226 0.86108583 0.80663311 0.80376431 0.73057543
-6.14858260 0.86359885 0.80872538 0.80563486 0.73546128
-6.16813294 0.86607786 0.81080547 0.80747596 0.74030266
-6.18768328 0.86852275 0.81287361 0.80928779 0.74509805
-6.20723363 0.87093343 0.81493003 0.81107057 0.74984600
-6.22678397 0.87330984 0.81697498 0.81282449 0.75454514
-6.24633431 0.87565193 0.81900870 0.81454979 0.75919419
-6.26588465 0.87795968 0.82103143 0.81624669 0.76379192
-6.28543500 0.88023310 0.82304345 0.81791545 0.76833719
-6.30498534 0.88247220 0.82504500 0.81955631 0.77282893
-6.32453568 0.88467703 0.82703636 0.82116954 0.77726615
-6.34408602 0.88684765 0.82901778 0.82275541 0.78164793
-6.36363636 0.88898414 0.83098955 0.82431419 0.78597341
-6.38318671 0.89108660 0.83295193 0.82584617 0.79024181
-6.40273705 0.89315515 0.83490520 0.82735164 0.79445242
-6.42228739 0.89518992 0.83684964 0.82883089 0.79860462
-6.44183773 0.89719107 0.83878553 0.83028423 0.80269781
-6.46138807 0.89915876 0.84071316 0.83171196 0.80673151
-6.48093842 0.90109317 0.84263280 0.97483764 0.81070526
-6.50048876 0.90299452 0.84454476 0.97547436 0.81461869
-6.52003910 0.90486301 0.84644930 0.97608412 0.81847150
-6.53958944 0.90669887 0.84834672 0.97666772 0.82226342
-6.55913978 0.90850234 0.85023730 0.97722592 0.82599427
-6.57869013 0.91027368 0.85212134 0.97775947 0.82966390
-6.59824047 0.91201316 0.85399912 0.97826913 0.83327224
-6.61779081 0.91372105 0.85587093 0.97875562 0.83681926
-6.63734115 0.91539764 0.85773706 0.97921968 0.84030499
-6.65689150 0.91704323 0.85959780 0.97966202 0.84372951
-6.67644184 0.91865814 0.86145344 0.98008333 0.84709293
-6.69599218 0.92024267 0.86330426 0.98048432 0.85039543
-6.71554252 0.92179717 0.86515054 0.98086564 0.85363723
-6.73509286 0.92332196 0.86699259 0.98122798 0.85681859
-6.75464321 0.92481739 0.86883067 0.98157197 0.85993981
-6.77419355 0.92628380 0.87066509 0.98189825 0.86300123
-6.79374389 0.92772156 0.87249611 0.98220746 0.86600323
-6.81329423 0.92913103 0.87432403 0.98250020 0.86894621
-6.83284457 0.93051258 0.87614913 0.98277707 0.87183064
-6.85239492 0.93186657 0.87797168 0.98303866 0.87465700
-6.87194526 0.93319339 0.87979197 0.98328553 0.87742578
-6.89149560 0.93449342 0.88161029 0.98351826 0.88013753
-6.91104594 0.93576703 0.88342689 0.98373738 0.88279282
-6.93059629 0.93701463 0.88524208 0.98394343 0.88539223
-6.95014663 0.93823660 0.88705612 0.98413693 0.88793639
-6.96969697 0.93943333 0.88886929 0.98431839 0.89042593
-6.98924731 0.94060521 0.89068186 0.98448831 0.89286151
-7.00879765 0.94175264 0.89249411 0.98464716 0.89524380
-7.02834800 0.94287603 0.89430632 0.98479541 0.89757349
-7.04789834 0.94397575 0.89611875 0.98493353 0.89985130
-7.06744868 0.94505222 0.89793168 0.98506196 0.90207795
-7.08699902 0.94610582 0.89974539 1.00259247 0.90425418
-7.10654936 0.94713696 0.90156014 1.00238083 0.90638073
-7.12609971 0.94814602 0.90337620 1.00216769 0.90845837
-7.14565005 0.94913341 0.90519386 1.00195327 0.91048786
-7.16520039 0.95009951 0.90701337 1.00173781 0.91246998
-7.18475073 0.95104471 0.90883501 1.00152151 0.91440550
-7.20430108 0.95196941 0.91065904 1.00130460 0.91629523
-7.22385142 0.95287399 0.91248575 1.00108726 0.91813995
-7.24340176 0.95375884 0.91431540 1.00086971 0.91994046
-7.26295210 0.95462433 0.91614827 1.00065213 0.92169756
-7.28250244 0.95547085 0.91798461 1.00043469 0.92341204
-7.30205279 0.95629877 0.91982472 1.00021759 0.92508472
-7.32160313 0.95710846 0.92166885 1.00000098 0.92671639
-7.34115347 0.95790029 0.92351729 0.99978504 0.92830784
-7.36070381 0.95867463 0.92537030 0.99956992 0.92985989
-7.38025415 0.95943184 0.92722817 0.99935578 0.93137332
-7.39980450 0.96017227 0.92909117 0.99914275 0.93284893
-7.41935484 0.96089627 0.93095958 0.99893099 0.93428750
-7.43890518 0.96160420 0.93283368 0.99872062 0.93568982
-7.45845552 0.96229640 0.93471375 0.99851177 0.93705667
-7.47800587 0.96297321 0.93660007 0.99830458 0.93838882
-7.49755621 0.96363497 0.93849292 0.99809915 0.93968703
-7.51710655 0.96428200 0.94039260 0.99789560 0.94095207
-7.53665689 0.96491463 0.94229940 0.99769404 0.94218468
-7.55620723 0.96553319 0.94421361 0.99749457 0.94338562
-7.57575758 0.96613799 0.94613551 0.99729729 0.94455562
-7.59530792 0.96672933 0.94806541 0.99710230 0.94569540
-7.61485826 0.96730754 0.95000362 0.99690968 0.94680568
-7.63440860 0.96787291 0.95195042 0.99671952 0.94788718
-7.65395894 0.96842573 0.95390614 0.99653190 0.94894060
-7.67350929 0.96896631 0.95587107 0.99634690 0.94996661
-7.69305963 0.96949491 0.95784555 0.99616458 0.95096592
-7.71260997 0.97001184 0.95982988 0.99598502 0.95193918
-7.73216031 0.97051736 0.96182438 0.99580829 0.95288706
-7.75171065 0.97101174 0.96382940 0.99563443 0.95381020
-7.77126100 0.97149526 0.96584525 0.99546352 0.95470925
-7.79081134 0.97196816 0.96787229 0.99529559 0.95558483
-7.81036168 0.97243072 0.96991084 0.99513071 0.95643756
-7.82991202 0.97288318 0.97196127 0.99496892 0.95726805
-7.84946237 0.97332579 0.97402392 0.99481026 0.95807688
-7.86901271 0.97375878 0.97609916 0.99465476 0.95886465
-7.88856305 0.97418240 0.97818736 0.99450248 0.95963193
-7.90811339 0.97459688 0.98028888 0.99435344 0.96037927
-7.92766373 0.97500244 0.98240413 0.99420766 0.96110724
-7.94721408 0.97539930 0.98453348 0.99406519 0.96181636
-7.96676442 0.97578769 0.98667733 0.99392605 0.96250716
-7.98631476 0.97616781 0.98883609 0.99379025 0.96318017
-8.00586510 0.97653987 0.99101018 0.99365782 0.96383588
-8.02541544 0.97690408 0.99320002 0.99352877 0.96447478
-8.04496579 0.97726064 0.99540605 0.99340312 0.96509738
-8.06451613 0.97760973 0.99762871 0.99328089 0.96570412
-8.08406647 0.97795155 0.99986845 0.99316207 0.96629548
-8.10361681 0.97828628 1.00212575 0.99304669 0.96687191
-8.12316716 0.97861410 1.00440109 0.99293474 0.96743383
-8.14271750 0.97893519 1.00669495 0.99282623 0.96798170
-8.16226784 0.97924973 1.00900784 0.99272116 0.96851591
-8.18181818 0.97955787 1.01134027 0.99261953 0.96903688
-8.20136852 0.97985979 1.01369278 0.99252134 0.96954500
-8.22091887 0.98015563 1.01606592 0.99242658 0.97004067
-8.24046921 0.98044557 1.01846025 0.99233525 0.97052425
-8.26001955 0.98072974 1.02087634 0.99224733 0.97099612
-8.27956989 0.98100831 1.02331480 0.99216283 0.97145664
-8.29912023 0.98128140 1.02577623 0.99208172 0.97190614
-8.31867058 0.98154917 1.02826127 0.99200400 0.97234497
-8.33822092 0.98181174 1.03077057 0.99192965 0.97277346
-8.35777126 0.98206926 1.03330481 0.99185866 0.97319192
-8.37732160 0.98232185 1.03586468 0.99179100 0.97360067
-8.39687195 0.98256963 1.03845090 0.99172666 0.97400001
-8.41642229 0.98281274 1.04106421 0.99166562 0.97439022
-8.43597263 0.98305128 1.04370538 0.99160786 0.97477159
-8.45552297 0.98328538 1.04637521 0.99155335 0.97514441
-8.47507331 0.98351515 1.04907452 0.99150208 0.97550893
-8.49462366 0.98374070 1.05180416 0.99145401 0.97586541
-8.51417400 0.98396213 1.05456502 0.99140911 0.97621410
-8.53372434 0.98417955 1.05735801 0.99136737 0.97655526
-8.55327468 0.98439305 1.06018409 0.99132875 0.97688910
-8.57282502 0.98460275 1.06304425 0.99129323 0.97721587
-8.59237537 0.98480873 1.06593951 0.99126076 0.97753578
-8.61192571 0.98501108 1.06887095 0.99123133 0.97784904
-8.63147605 0.98520990 1.07183967 0.99120489 0.97815586
-8.65102639 0.98540526 1.07484684 0.99118142 0.97845644
-8.67057674 0.98559727 1.07789367 0.99116087 0.97875098
-8.69012708 0.98578599 1.08098141 0.99114322 0.97903965
-8.70967742 0.98597150 1.08411138 0.99112843 0.97932265
-8.72922776 0.98615390 1.08728495 0.99111645 0.97960014
-8.74877810 0.98633324 1.09050355 0.99110726 0.97987228
-8.76832845 0.98650960 1.09376870 0.99110080 0.98013926
-8.78787879 0.98668306 1.09708195 0.99109706 0.98040121
-8.80742913 0.98685368 1.10044496 0.99109597 0.98065828
-8.82697947 0.98702152 1.10385944 0.99109750 0.98091064
-8.84652981 0.98718666 1.10732722 0.99110161 0.98115841
-8.86608016 0.98734915 1.11085019 0.99110826 0.98140172
-8.88563050 0.98750905 1.11443035 0.99111740 0.98164072
-8.90518084 0.98766643 1.11806981 0.99112899 0.98187552
-8.92473118 0.98782133 1.12177078 0.99114299 0.98210624
-8.94428152 0.98797382 1.12553560 0.99115934 0.98233301
-8.96383187 0.98812395 1.12936673 0.99117801 0.98255592
-8.98338221 0.98827177 1.13326677 0.99119894 0.98277510
-9.00293255 0.98841732 1.13723848 0.99122209 0.98299063
-9.02248289 0.98856067 1.14128478 0.99124742 0.98320263
-9.04203324 0.98870185 1.14540875 0.99127487 0.98341118
-9.06158358 0.98884091 1.14961369 0.99130439 0.98361638
-9.08113392 0.98897789 1.15390306 0.99133594 0.98381831
-9.10068426 0.98911284 1.15828058 0.99136946 0.98401706
-9.12023460 0.98924580 1.16275020 0.99140491 0.98421271
-9.13978495 0.98937681 1.16731614 0.99144224 0.98440534
-9.15933529 0.98950591 1.17198289 0.99148138 0.98459502
-9.17888563 0.98963313 1.17675529 0.99152230 0.98478183
-9.19843597 0.98975852 1.18163850 0.99156495 0.98496583
-9.21798631 0.98988210 1.18663807 0.99160925 0.98514709
-9.23753666 0.99000391 1.19175996 0.99165518 0.98532567
-9.25708700 0.99012399 1.19701060 0.99170266 0.98550164
-9.27663734 0.99024237 1.20239694 0.99175165 0.98567504
-9.29618768 0.99035907 1.20792650 0.99180209 0.98584595
-9.31573803 0.99047414 1.21360740 0.99185393 0.98601441
-9.33528837 0.99058759 1.21944852 0.99190712 0.98618047
-9.35483871 0.99069947 1.22545948 0.99196159 0.98634419
-9.37438905 0.99080979 1.23165082 0.99201729 0.98650560
-9.39393939 0.99091858 1.23803406 0.99207417 0.98666477
-9.41348974 0.99102587 1.24462188 0.99213217 0.98682172
-9.43304008 0.99113169 1.25142821 0.99219123 0.98697651
-9.45259042 0.99123605 1.25846848 0.99225130 0.98712918
-9.47214076 0.99133899 1.26575977 0.99231231 0.98727976
-9.49169110 0.99144053 1.27332111 0.99237422 0.98742829
-9.51124145 0.99154069 0.99216431 0.99243695 0.98757567
-9.53079179 0.99163949 0.99226267 0.99250046 0.98772003
-9.55034213 0.99173696 0.99235962 0.99256469 0.98786248
-9.56989247 0.99183312 0.99245521 0.99262957 0.98800306
-9.58944282 0.99192798 0.99254945 0.99269504 0.98814178
-9.60899316 0.99202157 0.99264235 0.99276106 0.98827868
-9.62854350 0.99211391 0.99273394 0.99282754 0.98841378
-9.64809384 0.99220501 0.99282425 0.99289445 0.98854710
-9.66764418 0.99229491 0.99291328 0.99296171 0.98867868
-9.68719453 0.99238360 0.99300107 0.99302927 0.98880853
-9.70674487 0.99247112 0.99308762 0.99309706 0.98893669
-9.72629521 0.99255748 0.99317296 0.99316502 0.98906317
-9.74584555 0.99264269 0.99325711 0.99323309 0.98918801
-9.76539589 0.99272679 0.99334008 0.99330122 0.98931121
-9.78494624 0.99280977 0.99342189 0.99336933 0.98943282
-9.80449658 0.99289166 0.99350256 0.99343736 0.98955285
-9.82404692 0.99297248 0.99358211 0.99350526 0.98967131
-9.84359726 0.99305223 0.99366056 0.99357296 0.98978825
-9.86314761 0.99313094 0.99373791 0.99364040 0.98990367
-9.88269795 0.99320862 0.99381420 0.99370751 0.99001760
-9.90224829 0.99328529 0.99388943 0.99377423 0.99013005
-9.92179863 0.99336096 0.99396362 0.99384049 0.99024106
-9.94134897 0.99343565 0.99403678 0.99390625 0.99035064
-9.96089932 0.99350936 0.99410894 0.99397142 0.99045881
-9.98044966 0.99358212 0.99418010 0.99403594 0.99056560
-10.00000000 0.99365393 0.99425029 0.99409976 0.99067101
+X Ramps Sigmoids ZSShapes Concaves
+-10.000000000 0.255363311 0.994418517 0.255809266 0.252212158
+-9.980449658 0.255423538 0.994349291 0.255877491 0.252237827
+-9.960899316 0.255484536 0.994279093 0.255946708 0.252263834
+-9.941348974 0.255546315 0.994207907 0.256016992 0.252290183
+-9.921798631 0.255608886 0.994135720 0.256088420 0.252316880
+-9.902248289 0.255672260 0.994062515 0.256161070 0.252343930
+-9.882697947 0.255736449 0.993988277 0.256235018 0.252371338
+-9.863147605 0.255801463 0.993912989 0.256310342 0.252399110
+-9.843597263 0.255867314 0.993836635 0.256387118 0.252427249
+-9.824046921 0.255934014 0.993759200 0.256465426 0.252455763
+-9.804496579 0.256001575 0.993680665 0.256545342 0.252484655
+-9.784946237 0.256070009 0.993601014 0.256626945 0.252513932
+-9.765395894 0.256139328 0.993520229 0.256710313 0.252543600
+-9.745845552 0.256209543 0.993438294 0.256795525 0.252573664
+-9.726295210 0.256280668 0.993355189 0.256882659 0.252604130
+-9.706744868 0.256352715 0.993270897 0.256971794 0.252635003
+-9.687194526 0.256425696 0.993185399 0.257063010 0.252666290
+-9.667644184 0.256499625 0.993098676 0.257156386 0.252697997
+-9.648093842 0.256574514 0.993010710 0.257252001 0.252730129
+-9.628543500 0.256650376 0.992921480 0.257349935 0.252762694
+-9.608993157 0.256727223 0.992830967 0.257450269 0.252795698
+-9.589442815 0.256805071 0.992739150 0.257553083 0.252829146
+-9.569892473 0.256883930 0.992646010 0.257658457 0.252863046
+-9.550342131 0.256963815 0.992551525 0.257766473 0.252897404
+-9.530791789 0.257044740 0.992455675 0.257877210 0.252932226
+-9.511241447 0.257126716 0.992358437 0.257990751 0.252967521
+-9.491691105 0.257209759 0.588052019 0.258107177 0.253003294
+-9.472140762 0.257293880 0.580664022 0.258226570 0.253039553
+-9.452590420 0.257379094 0.573548403 0.258349012 0.253076305
+-9.433040078 0.257465414 0.566686170 0.258474586 0.253113557
+-9.413489736 0.257552853 0.560060263 0.258603373 0.253151317
+-9.393939394 0.257641426 0.553655304 0.258735458 0.253189591
+-9.374389052 0.257731144 0.547457382 0.258870922 0.253228389
+-9.354838710 0.257822021 0.541453869 0.259009850 0.253267717
+-9.335288368 0.257914071 0.535633273 0.259152325 0.253307584
+-9.315738025 0.258007306 0.529985101 0.259298431 0.253347997
+-9.296187683 0.258101740 0.524499751 0.259448253 0.253388965
+-9.276637341 0.258197385 0.519168409 0.259601875 0.253430495
+-9.257086999 0.258294254 0.513982971 0.259759382 0.253472597
+-9.237536657 0.258392360 0.508935965 0.259920859 0.253515278
+-9.217986315 0.258491714 0.504020487 0.260086393 0.253558549
+-9.198435973 0.258592329 0.499230149 0.260256068 0.253602416
+-9.178885630 0.258694217 0.494559024 0.260429971 0.253646889
+-9.159335288 0.258797390 0.490001608 0.260608188 0.253691978
+-9.139784946 0.258901859 0.485552776 0.260790807 0.253737692
+-9.120234604 0.259007634 0.481207751 0.260977914 0.253784039
+-9.100684262 0.259114728 0.476962075 0.261169597 0.253831030
+-9.081133920 0.259223150 0.472811577 0.261365945 0.253878674
+-9.061583578 0.259332910 0.468752351 0.261567044 0.253926982
+-9.042033236 0.259444019 0.464780737 0.261772983 0.253975962
+-9.022482893 0.259556486 0.460893297 0.261983853 0.254025626
+-9.002932551 0.259670319 0.457086800 0.262199741 0.254075983
+-8.983382209 0.259785527 0.453358204 0.262420737 0.254127045
+-8.963831867 0.259902119 0.449704644 0.262646932 0.254178821
+-8.944281525 0.260020101 0.446123417 0.262878416 0.254231324
+-8.924731183 0.260139481 0.442611971 0.263115280 0.254284563
+-8.905180841 0.260260266 0.439167894 0.263357615 0.254338550
+-8.885630499 0.260382462 0.435788903 0.263605512 0.254393298
+-8.866080156 0.260506073 0.432472838 0.263859064 0.254448816
+-8.846529814 0.260631104 0.429217651 0.264118363 0.254505117
+-8.826979472 0.260757561 0.426021398 0.264383501 0.254562214
+-8.807429130 0.260885446 0.422882236 0.264654573 0.254620118
+-8.787878788 0.261014762 0.419798412 0.264931671 0.254678842
+-8.768328446 0.261145511 0.416768259 0.265214890 0.254738398
+-8.748778104 0.261277695 0.413790193 0.265504324 0.254798800
+-8.729227761 0.261411313 0.410862703 0.265800069 0.254860061
+-8.709677419 0.261546367 0.407984352 0.266102219 0.254922193
+-8.690127077 0.261682855 0.405153768 0.266410871 0.254985212
+-8.670576735 0.261820774 0.402369643 0.266726120 0.255049129
+-8.651026393 0.261960123 0.399630729 0.267048064 0.255113960
+-8.631476051 0.262100897 0.396935833 0.267376801 0.255179719
+-8.611925709 0.262243093 0.394283815 0.267712426 0.255246420
+-8.592375367 0.262386704 0.391673585 0.268055040 0.255314078
+-8.572825024 0.262531724 0.389104103 0.268404740 0.255382709
+-8.553274682 0.262678146 0.386574370 0.268761626 0.255452328
+-8.533724340 0.262825961 0.384083432 0.269125797 0.255522950
+-8.514173998 0.262975160 0.381630374 0.269497353 0.255594592
+-8.494623656 0.263125731 0.379214319 0.269876396 0.255667269
+-8.475073314 0.263277664 0.376834428 0.270263026 0.255740998
+-8.455522972 0.263430945 0.374489895 0.270657345 0.255815797
+-8.435972630 0.263585560 0.372179948 0.271059456 0.255891682
+-8.416422287 0.263741495 0.369903845 0.271469460 0.255968670
+-8.396871945 0.263898732 0.367660875 0.271887462 0.256046780
+-8.377321603 0.264057254 0.365450354 0.272313565 0.256126030
+-8.357771261 0.264217043 0.363271626 0.272747873 0.256206439
+-8.338220919 0.264378078 0.361124062 0.273190492 0.256288024
+-8.318670577 0.264540339 0.359007055 0.273641526 0.256370806
+-8.299120235 0.264703801 0.356920024 0.274101082 0.256454804
+-8.279569892 0.264868442 0.354862409 0.274569267 0.256540038
+-8.260019550 0.265034236 0.352833675 0.275046187 0.256626528
+-8.240469208 0.265201156 0.350833302 0.275531949 0.256714295
+-8.220918866 0.265369175 0.348860796 0.276026663 0.256803360
+-8.201368524 0.265538263 0.346915677 0.276530437 0.256893746
+-8.181818182 0.265708390 0.344997488 0.277043381 0.256985473
+-8.162267840 0.265879523 0.343105787 0.277565603 0.257078564
+-8.142717498 0.266051628 0.341240148 0.278097216 0.257173043
+-8.123167155 0.266224672 0.339400163 0.278638329 0.257268931
+-8.103616813 0.266398617 0.337585441 0.279189055 0.257366255
+-8.084066471 0.266573427 0.335795604 0.279749506 0.257465037
+-8.064516129 0.266749060 0.334030289 0.280319794 0.257565302
+-8.044965787 0.266925479 0.332289147 0.280900034 0.257667076
+-8.025415445 0.267102639 0.330571844 0.281490338 0.257770384
+-8.005865103 0.267280498 0.328878058 0.282090823 0.257875253
+-7.986314761 0.267459012 0.327207479 0.282701602 0.257981710
+-7.966764418 0.267638134 0.325559813 0.283322792 0.258089781
+-7.947214076 0.267817816 0.323934772 0.283954510 0.258199496
+-7.927663734 0.267998010 0.322332086 0.284596871 0.258310882
+-7.908113392 0.268178666 0.320751491 0.285249995 0.258423969
+-7.888563050 0.268359732 0.319192738 0.285913998 0.258538786
+-7.869012708 0.268541155 0.317655585 0.286589000 0.258655364
+-7.849462366 0.268722883 0.316139803 0.287275119 0.258773734
+-7.829912023 0.268904858 0.314645172 0.287972477 0.258893927
+-7.810361681 0.269087026 0.313171482 0.288681194 0.259015976
+-7.790811339 0.269269328 0.311718532 0.289401390 0.259139914
+-7.771260997 0.269451706 0.310286130 0.290133187 0.259265774
+-7.751710655 0.269634101 0.308874096 0.290876708 0.259393591
+-7.732160313 0.269816452 0.307482254 0.291632076 0.259523400
+-7.712609971 0.269998697 0.306110441 0.292399413 0.259655237
+-7.693059629 0.270180774 0.304758500 0.293178844 0.259789138
+-7.673509286 0.270362620 0.303426284 0.293970494 0.259925141
+-7.653958944 0.270544172 0.302113652 0.294774488 0.260063283
+-7.634408602 0.270725364 0.300820472 0.295590951 0.260203605
+-7.614858260 0.270906132 0.299546621 0.296420009 0.260346146
+-7.595307918 0.271086411 0.298291981 0.297261790 0.260490946
+-7.575757576 0.271266134 0.297056445 0.298116421 0.260638047
+-7.556207234 0.271445235 0.295839910 0.298984029 0.260787491
+-7.536656891 0.271623649 0.294642282 0.299864743 0.260939322
+-7.517106549 0.271801309 0.293463474 0.300758692 0.261093584
+-7.497556207 0.271978149 0.292303406 0.301666005 0.261250322
+-7.478005865 0.272154103 0.291162006 0.302586812 0.261409582
+-7.458455523 0.272329105 0.290039206 0.303521243 0.261571412
+-7.438905181 0.272503091 0.288934948 0.304469430 0.261735858
+-7.419354839 0.272675996 0.287849178 0.305431504 0.261902971
+-7.399804497 0.272847756 0.286781851 0.306407596 0.262072801
+-7.380254154 0.273018309 0.285732927 0.307397839 0.262245398
+-7.360703812 0.273187593 0.284702372 0.308402365 0.262420815
+-7.341153470 0.273355548 0.283690161 0.309421308 0.262599105
+-7.321603128 0.273522115 0.282696272 0.310454800 0.262780323
+-7.302052786 0.273687238 0.281720692 0.311502976 0.262964523
+-7.282502444 0.273850860 0.280763413 0.312565971 0.263151763
+-7.262952102 0.274012930 0.279824432 0.313643918 0.263342101
+-7.243401760 0.274173395 0.278903754 0.314736952 0.263535594
+-7.223851417 0.274332208 0.278001390 0.315845209 0.263732304
+-7.204301075 0.274489324 0.277117355 0.316968825 0.263932292
+-7.184750733 0.274644699 0.276251673 0.318107935 0.264135619
+-7.165200391 0.274798294 0.275404370 0.319262675 0.264342350
+-7.145650049 0.274950074 0.274575482 0.320433182 0.264552551
+-7.126099707 0.275100006 0.273765048 0.321619592 0.264766285
+-7.106549365 0.275248062 0.272973113 0.322822043 0.264983623
+-7.086999022 0.275394218 0.272199729 0.324040670 0.265204631
+-7.067448680 0.275538454 0.271444953 0.307535201 0.265429380
+-7.047898338 0.275680755 0.270708847 0.308450253 0.265657942
+-7.028347996 0.275821113 0.269991479 0.309374445 0.265890388
+-7.008797654 0.275959522 0.269292923 0.310307730 0.266126792
+-6.989247312 0.276095984 0.268613257 0.311250056 0.266367230
+-6.969696970 0.276230505 0.267952566 0.312201365 0.266611778
+-6.950146628 0.276363100 0.267310940 0.313161596 0.266860514
+-6.930596285 0.276493788 0.266688473 0.314130682 0.267113515
+-6.911045943 0.276622596 0.266085265 0.315108551 0.267370864
+-6.891495601 0.276749557 0.265501422 0.316095125 0.267632640
+-6.871945259 0.276874713 0.264937052 0.317090322 0.267898927
+-6.852394917 0.276998112 0.264392272 0.318094054 0.268169809
+-6.832844575 0.277119810 0.263867201 0.319106226 0.268445370
+-6.813294233 0.277239873 0.263361963 0.320126738 0.268725698
+-6.793743891 0.277358374 0.262876688 0.321155486 0.269010879
+-6.774193548 0.277475395 0.262411508 0.322192355 0.269301002
+-6.754643206 0.277591028 0.261966562 0.323237230 0.269596157
+-6.735092864 0.277705372 0.261541991 0.324289983 0.269896435
+-6.715542522 0.277818538 0.261137942 0.325350486 0.270201928
+-6.695992180 0.277930645 0.260754565 0.326418598 0.270512728
+-6.676441838 0.278041824 0.260392013 0.327494177 0.270828929
+-6.656891496 0.278152214 0.260050443 0.328577070 0.271150626
+-6.637341153 0.278261967 0.259730017 0.329667118 0.271477914
+-6.617790811 0.278371242 0.259430897 0.330764156 0.271810890
+-6.598240469 0.278480211 0.259153251 0.331868010 0.272149651
+-6.578690127 0.278589058 0.258897247 0.332978499 0.272494294
+-6.559139785 0.278697976 0.258663058 0.334095435 0.272844918
+-6.539589443 0.278807169 0.258450858 0.335218622 0.273201620
+-6.520039101 0.278916853 0.258260822 0.336347856 0.273564501
+-6.500488759 0.279027256 0.258093128 0.337482925 0.273933658
+-6.480938416 0.279138616 0.257947954 0.338623608 0.274309192
+-6.461388074 0.279251182 0.257825481 0.221051999 0.274691202
+-6.441837732 0.279365214 0.257725889 0.221590933 0.275079788
+-6.422287390 0.279480984 0.257649358 0.222137883 0.275475048
+-6.402737048 0.279598775 0.257596069 0.222693019 0.275877081
+-6.383186706 0.279718880 0.257566201 0.223256511 0.276285986
+-6.363636364 0.279841602 0.257559934 0.223828528 0.276701860
+-6.344086022 0.279967255 0.257577444 0.224409243 0.277124800
+-6.324535679 0.280096164 0.257618909 0.224998829 0.277554903
+-6.304985337 0.280228662 0.257684501 0.225597457 0.277992263
+-6.285434995 0.280365093 0.257774389 0.226205300 0.278436973
+-6.265884653 0.280505807 0.257888742 0.226822530 0.278889126
+-6.246334311 0.280651166 0.258027723 0.227449317 0.279348812
+-6.226783969 0.280801538 0.258191489 0.228085831 0.279816119
+-6.207233627 0.280957297 0.258380194 0.228732239 0.280291134
+-6.187683284 0.281118828 0.258593987 0.229388706 0.280773941
+-6.168132942 0.281286517 0.258833007 0.230055394 0.281264621
+-6.148582600 0.281460758 0.259097390 0.230732461 0.281763253
+-6.129032258 0.281641951 0.259387263 0.231420063 0.282269913
+-6.109481916 0.281830496 0.259702743 0.232118350 0.282784672
+-6.089931574 0.282026799 0.260043940 0.232827466 0.283307600
+-6.070381232 0.282231267 0.260410954 0.233547551 0.283838762
+-6.050830890 0.282444309 0.260803873 0.234278737 0.284378218
+-6.031280547 0.282666331 0.261222776 0.235021150 0.284926025
+-6.011730205 0.282897743 0.261667729 0.235774908 0.285482236
+-5.992179863 0.283138948 0.262138784 0.236540120 0.286046897
+-5.972629521 0.283390349 0.262635982 0.237316886 0.286620050
+-5.953079179 0.283652343 0.263159348 0.238105297 0.287201731
+-5.933528837 0.283925323 0.263708892 0.238905431 0.287791972
+-5.913978495 0.284209675 0.264284609 0.239717357 0.288390797
+-5.894428152 0.284505775 0.264886477 0.240541130 0.288998224
+-5.874877810 0.284813992 0.265514457 0.241376794 0.289614265
+-5.855327468 0.285134684 0.266168491 0.242224377 0.290238925
+-5.835777126 0.285468197 0.266848503 0.243083895 0.290872201
+-5.816226784 0.285814864 0.267554397 0.243955347 0.291514085
+-5.796676442 0.286175003 0.268286057 0.244838717 0.292164558
+-5.777126100 0.286548917 0.269043344 0.245733970 0.292823594
+-5.757575758 0.286936891 0.269826101 0.246641058 0.293491162
+-5.738025415 0.287339193 0.270634145 0.247559911 0.294167217
+-5.718475073 0.287756071 0.271467272 0.248490441 0.294851710
+-5.698924731 0.288187751 0.272325255 0.249432542 0.295544581
+-5.679374389 0.288634438 0.273207839 0.250386088 0.296245761
+-5.659824047 0.289096314 0.274114750 0.251350930 0.296955171
+-5.640273705 0.289573537 0.275045684 0.252326899 0.297672725
+-5.620723363 0.290066237 0.276000313 0.253313807 0.298398324
+-5.601173021 0.290574522 0.276978285 0.254311439 0.299131862
+-5.581622678 0.291098468 0.277979219 0.255319561 0.299873222
+-5.562072336 0.291638125 0.279002709 0.256337915 0.300622278
+-5.542521994 0.292193515 0.280048322 0.257366220 0.301378891
+-5.522971652 0.292764628 0.281115598 0.258404172 0.302142915
+-5.503421310 0.293351425 0.282204050 0.259451443 0.302914192
+-5.483870968 0.293953836 0.283313164 0.260507680 0.303692556
+-5.464320626 0.294571759 0.284442401 0.261572509 0.304477830
+-5.444770283 0.295205060 0.285591192 0.262645531 0.305269824
+-5.425219941 0.295853575 0.286758945 0.263726323 0.306068343
+-5.405669599 0.296517105 0.287945040 0.264814441 0.306873179
+-5.386119257 0.297195423 0.289148832 0.265909414 0.307684115
+-5.366568915 0.297888265 0.290369651 0.267010752 0.308500925
+-5.347018573 0.298595340 0.291606802 0.268117942 0.309596055
+-5.327468231 0.299316323 0.292859566 0.269230449 0.312559135
+-5.307917889 0.300050859 0.294127200 0.270347716 0.315603239
+-5.288367546 0.300798562 0.295408941 0.271469168 0.318728992
+-5.268817204 0.301559019 0.296704001 0.272594208 0.321936947
+-5.249266862 0.302331786 0.298011575 0.273722223 0.325227579
+-5.229716520 0.303116392 0.299330835 0.274852580 0.328601284
+-5.210166178 0.303912338 0.300660938 0.275984632 0.332058374
+-5.190615836 0.304719103 0.302001020 0.277117713 0.335599077
+-5.171065494 0.305536140 0.303350205 0.278251145 0.339223532
+-5.151515152 0.306362878 0.304707598 0.279384238 0.342931785
+-5.131964809 0.307198726 0.306072293 0.280516287 0.346723791
+-5.112414467 0.308043075 0.307443373 0.281646579 0.350599408
+-5.092864125 0.308895296 0.308819908 0.282774390 0.354558399
+-5.073313783 0.309754745 0.310200960 0.283898991 0.358600425
+-5.053763441 0.310620761 0.311585585 0.285019646 0.362725048
+-5.034213099 0.311492675 0.312972829 0.286135612 0.366931729
+-5.014662757 0.312369804 0.314361738 0.287246147 0.371219824
+-4.995112414 0.313251457 0.315751354 0.288350506 0.375588587
+-4.975562072 0.314136938 0.317140716 0.289447943 0.380037168
+-4.956011730 0.315025543 0.318528866 0.290537715 0.384564614
+-4.936461388 0.315916570 0.319914846 0.291619084 0.389169867
+-4.916911046 0.316809312 0.321297703 0.292691315 0.393851765
+-4.897360704 0.317703066 0.322676489 0.293753680 0.398609045
+-4.877810362 0.318597132 0.324050262 0.294805461 0.403440342
+-4.858260020 0.319490815 0.325418091 0.295845948 0.408344189
+-4.838709677 0.320383428 0.326779051 0.296874445 0.413319022
+-4.819159335 0.321274292 0.328132233 0.297890266 0.418363180
+-4.799608993 0.322162740 0.329476736 0.298892742 0.423474905
+-4.780058651 0.323048118 0.330811677 0.299881219 0.428652350
+-4.760508309 0.323929786 0.332136187 0.300855059 0.433893576
+-4.740957967 0.324807121 0.333449414 0.301813645 0.439196556
+-4.721407625 0.325679516 0.334750524 0.302756379 0.444559184
+-4.701857283 0.326546384 0.336038701 0.303682682 0.449979267
+-4.682306940 0.327407160 0.337313152 0.304592000 0.455454542
+-4.662756598 0.328261298 0.338573103 0.305483801 0.460982668
+-4.643206256 0.329108277 0.339817802 0.306357577 0.466561238
+-4.623655914 0.329947599 0.341046522 0.307212843 0.472187778
+-4.604105572 0.330778792 0.342258557 0.308049144 0.477859756
+-4.584555230 0.331601407 0.343453227 0.308866048 0.483574582
+-4.565004888 0.332415024 0.344629876 0.309663151 0.489329616
+-4.545454545 0.333219249 0.345787876 0.310440077 0.495122171
+-4.525904203 0.334013717 0.346926622 0.311196477 0.500949516
+-4.506353861 0.334798087 0.348045536 0.311932032 0.506808887
+-4.486803519 0.335572050 0.349144067 0.312646449 0.512697484
+-4.467253177 0.336335323 0.350221692 0.313339466 0.518612482
+-4.447702835 0.337087653 0.351277912 0.314010850 0.524551034
+-4.428152493 0.337828813 0.352312257 0.314660394 0.530510274
+-4.408602151 0.338558605 0.353324284 0.315287924 0.536487326
+-4.389051808 0.339276860 0.354313575 0.315893291 0.542479305
+-4.369501466 0.339983434 0.355279741 0.316476377 0.548483325
+-4.349951124 0.340678212 0.356222417 0.317037090 0.554496502
+-4.330400782 0.341361105 0.357141266 0.317575368 0.560515958
+-4.310850440 0.342032049 0.358035977 0.318091175 0.566538831
+-4.291300098 0.342691006 0.358906261 0.318584502 0.572562270
+-4.271749756 0.343337961 0.359751858 0.319055367 0.578583450
+-4.252199413 0.343972925 0.360572531 0.319503812 0.584599570
+-4.232649071 0.344595929 0.361368066 0.319929907 0.590607856
+-4.213098729 0.345207029 0.362138273 0.320333744 0.596605571
+-4.193548387 0.345806299 0.362882985 0.320715440 0.602590015
+-4.173998045 0.346393834 0.363602057 0.321075135 0.608558530
+-4.154447703 0.346969748 0.364295364 0.321412990 0.614508500
+-4.134897361 0.347534173 0.364962804 0.321729188 0.620437361
+-4.115347019 0.348087259 0.365604293 0.322023932 0.626342600
+-4.095796676 0.348629168 0.366219767 0.322297447 0.632221758
+-4.076246334 0.349160080 0.366809181 0.322549972 0.638072433
+-4.056695992 0.349680189 0.367372507 0.322781769 0.643892285
+-4.037145650 0.350189698 0.367909733 0.322993113 0.649679036
+-4.017595308 0.350688825 0.368420866 0.323184297 0.655430473
+-3.998044966 0.351177796 0.368905927 0.323355628 0.661144451
+-3.978494624 0.351656848 0.369364949 0.323507428 0.666079666
+-3.958944282 0.352126225 0.369797984 0.323640031 0.670888651
+-3.939393939 0.352586178 0.370205092 0.323753785 0.675690949
+-3.919843597 0.353036965 0.370586349 0.323849047 0.680483527
+-3.900293255 0.353478850 0.370941841 0.323926187 0.685263450
+-3.880742913 0.353912099 0.371271664 0.323985583 0.690027883
+-3.861192571 0.354336983 0.371575927 0.324027622 0.694774089
+-3.841642229 0.354753776 0.371854744 0.324052698 0.699499433
+-3.822091887 0.355162752 0.372108242 0.324061214 0.704201381
+-3.802541544 0.355564188 0.372336553 0.324053577 0.708877501
+-3.782991202 0.355958358 0.372539817 0.324030201 0.713525463
+-3.763440860 0.356345538 0.372718183 0.323991504 0.718143038
+-3.743890518 0.356726002 0.372871802 0.323937907 0.722728101
+-3.724340176 0.357100021 0.373000833 0.323869836 0.727278628
+-3.704789834 0.357467865 0.373105440 0.323787717 0.731792694
+-3.685239492 0.357829800 0.373185789 0.323691979 0.736268477
+-3.665689150 0.358186087 0.373242052 0.323583053 0.740704251
+-3.646138807 0.358536986 0.373274403 0.323461369 0.745098390
+-3.626588465 0.358882748 0.373283019 0.323327357 0.749449365
+-3.607038123 0.359223622 0.373268079 0.323181447 0.753755740
+-3.587487781 0.359559852 0.373229764 0.323024067 0.758016176
+-3.567937439 0.359891672 0.373168254 0.322855643 0.762229423
+-3.548387097 0.360219316 0.373083733 0.322676600 0.766394324
+-3.528836755 0.360543005 0.372976384 0.322487358 0.770509809
+-3.509286413 0.360862959 0.372846389 0.322288336 0.774574896
+-3.489736070 0.361179388 0.372693931 0.322079949 0.778588685
+-3.470185728 0.361492495 0.372519192 0.321862607 0.782550361
+-3.450635386 0.361802477 0.372322351 0.321636715 0.786459190
+-3.431085044 0.362109524 0.372103589 0.321402676 0.790314512
+-3.411534702 0.362413816 0.371863082 0.321160886 0.794115748
+-3.391984360 0.362715529 0.371601006 0.320911736 0.797862389
+-3.372434018 0.363014830 0.371317533 0.320655611 0.801553999
+-3.352883675 0.363311877 0.371012835 0.320392891 0.805190210
+-3.333333333 0.363606822 0.370687079 0.320123950 0.808770721
+-3.313782991 0.363899811 0.370340429 0.319849154 0.812295296
+-3.294232649 0.364190979 0.369973047 0.319568865 0.815763759
+-3.274682307 0.364480457 0.369585091 0.319283438 0.819175996
+-3.255131965 0.364768368 0.369176715 0.318993219 0.822531948
+-3.235581623 0.365054826 0.368748070 0.318698549 0.825831611
+-3.216031281 0.365339939 0.368299304 0.318399763 0.829075035
+-3.196480938 0.365623810 0.367830557 0.318097186 0.832262318
+-3.176930596 0.365906532 0.367341969 0.317791138 0.835393608
+-3.157380254 0.366188194 0.366833674 0.317481932 0.838469096
+-3.137829912 0.366468876 0.366305800 0.317169872 0.841489018
+-3.118279570 0.366748655 0.365758474 0.316855256 0.844453651
+-3.098729228 0.367027599 0.365191816 0.316538375 0.847363310
+-3.079178886 0.367305771 0.364605940 0.316219511 0.850218348
+-3.059628543 0.367583229 0.364000957 0.315898941 0.853019152
+-3.040078201 0.367860024 0.363376974 0.315576933 0.855766142
+-3.020527859 0.368136203 0.362734089 0.315253747 0.858459769
+-3.000977517 0.368411807 0.362072400 0.314929638 0.861100512
+-2.981427175 0.368686873 0.361391995 0.314604853 0.863688877
+-2.961876833 0.368961431 0.360692960 0.314279630 0.866225396
+-2.942326491 0.369235508 0.359975374 0.313954203 0.868710622
+-2.922776149 0.369509128 0.359239312 0.313628796 0.871145133
+-2.903225806 0.369782308 0.358484842 0.313303629 0.873529524
+-2.883675464 0.370055062 0.357712027 0.312978912 0.875864408
+-2.864125122 0.370327403 0.356920926 0.312654850 0.878150418
+-2.844574780 0.370599335 0.356111589 0.312331640 0.880388198
+-2.825024438 0.370870863 0.355284065 0.312009475 0.882578408
+-2.805474096 0.371141988 0.354438393 0.311688539 0.884721720
+-2.785923754 0.371412706 0.353574609 0.311369010 0.886818816
+-2.766373412 0.371683012 0.352692741 0.311051060 0.888870388
+-2.746823069 0.371952898 0.351792813 0.310734855 0.890877137
+-2.727272727 0.372222354 0.350874844 0.310420554 0.892839769
+-2.707722385 0.372491367 0.349938843 0.310108310 0.894758999
+-2.688172043 0.372759921 0.348984818 0.309798272 0.896635544
+-2.668621701 0.373027999 0.348012767 0.309490580 0.898470126
+-2.649071359 0.373295584 0.347022684 0.309185371 0.900263470
+-2.629521017 0.373562653 0.346014557 0.308882776 0.902016302
+-2.609970674 0.373829186 0.344988366 0.308582920 0.903729349
+-2.590420332 0.374095160 0.343944087 0.308285921 0.905403340
+-2.570869990 0.374360548 0.342881689 0.307991895 0.907039000
+-2.551319648 0.374625326 0.341801133 0.307700951 0.908637054
+-2.531769306 0.374889468 0.340702376 0.307413194 0.910198225
+-2.512218964 0.375152945 0.339585366 0.307128722 0.911723233
+-2.492668622 0.375415730 0.338450047 0.306847630 0.913212792
+-2.473118280 0.375677793 0.337296355 0.306570009 0.914667616
+-2.453567937 0.375939106 0.336124218 0.306295944 0.916088410
+-2.434017595 0.376199638 0.334933559 0.306025517 0.917475877
+-2.414467253 0.376459360 0.333724294 0.305758803 0.918830710
+-2.394916911 0.376718242 0.332496330 0.305495875 0.920153600
+-2.375366569 0.376976253 0.331249569 0.305236802 0.921445229
+-2.355816227 0.377233364 0.329983905 0.304981649 0.922706271
+-2.336265885 0.377489543 0.328699224 0.304730476 0.923937393
+-2.316715543 0.377744760 0.327395405 0.304483339 0.925139256
+-2.297165200 0.377998986 0.326072319 0.304240293 0.926312509
+-2.277614858 0.378252192 0.324729829 0.304001387 0.927457796
+-2.258064516 0.378504347 0.323367790 0.303766666 0.928575750
+-2.238514174 0.378755423 0.321986050 0.303536174 0.929666996
+-2.218963832 0.379005391 0.320584447 0.303309949 0.930732148
+-2.199413490 0.379254224 0.319162811 0.303088030 0.931771812
+-2.179863148 0.379501895 0.317720964 0.302870448 0.932786585
+-2.160312805 0.379748375 0.316258717 0.302657234 0.933777052
+-2.140762463 0.379993640 0.314775875 0.302448415 0.934743790
+-2.121212121 0.380237664 0.313272230 0.302244016 0.935687364
+-2.101661779 0.380480422 0.311747568 0.302044058 0.936608331
+-2.082111437 0.380721890 0.310201661 0.301848561 0.937507236
+-2.062561095 0.380962045 0.308634274 0.301657541 0.938384615
+-2.043010753 0.381200865 0.307045161 0.301471013 0.939240993
+-2.023460411 0.381438328 0.305434064 0.301288987 0.940076883
+-2.003910068 0.381674413 0.303800713 0.301111474 0.940892790
+-1.984359726 0.381909101 0.302144831 0.300938480 0.941689209
+-1.964809384 0.382142372 0.300466123 0.300770010 0.942466622
+-1.945259042 0.382374209 0.298764287 0.300606066 0.943225502
+-1.925708700 0.382604595 0.297039004 0.300446651 0.943966312
+-1.906158358 0.382833513 0.295289947 0.300291761 0.944689503
+-1.886608016 0.383060948 0.293516769 0.300141395 0.945395519
+-1.867057674 0.383286886 0.291719115 0.299995546 0.946084790
+-1.847507331 0.383511314 0.289896612 0.299854208 0.946757739
+-1.827956989 0.383734219 0.288048873 0.299717372 0.947414776
+-1.808406647 0.383955590 0.286175495 0.299585028 0.948056303
+-1.788856305 0.384175416 0.284276059 0.299457164 0.948682713
+-1.769305963 0.384393687 0.282350129 0.299333766 0.949294386
+-1.749755621 0.384610396 0.280397251 0.299214820 0.949891695
+-1.730205279 0.384825534 0.278416954 0.299100308 0.950475002
+-1.710654936 0.385039095 0.276408745 0.298990212 0.951044661
+-1.691104594 0.385251073 0.274372115 0.298884514 0.951601015
+-1.671554252 0.385461463 0.272306532 0.298783193 0.952144399
+-1.652003910 0.385670261 0.270211443 0.298686226 0.952675137
+-1.632453568 0.385877464 0.268086272 0.298593591 0.953193547
+-1.612903226 0.386083071 0.265930419 0.298505263 0.953699936
+-1.593352884 0.386287079 0.263743260 0.298421216 0.954194602
+-1.573802542 0.386489488 0.261524145 0.298341424 0.954677836
+-1.554252199 0.386690300 0.259272397 0.298265859 0.955149920
+-1.534701857 0.386889514 0.256987311 0.298194492 0.955611127
+-1.515151515 0.387087133 0.254668150 0.298127293 0.956061722
+-1.495601173 0.387283161 0.252314149 0.298064232 0.956501963
+-1.476050831 0.387477601 0.249924508 0.298005277 0.956932100
+-1.456500489 0.387670457 0.247498391 0.297950394 0.957352373
+-1.436950147 0.387861735 0.245034930 0.297899552 0.957763018
+-1.417399804 0.388051441 0.242533214 0.297852715 0.958164261
+-1.397849462 0.388239582 0.239992294 0.297809848 0.958556321
+-1.378299120 0.388426164 0.237411179 0.297770915 0.958939411
+-1.358748778 0.388611197 0.234788830 0.297735879 0.959313737
+-1.339198436 0.388794690 0.232124163 0.297704704 0.959679498
+-1.319648094 0.388976651 0.229416043 0.297677350 0.960036884
+-1.300097752 0.389157091 0.226663282 0.297653780 0.960386082
+-1.280547410 0.389336021 0.223864633 0.297633953 0.960727271
+-1.260997067 0.389513452 0.221018793 0.297617830 0.961060623
+-1.241446725 0.389689397 0.218124393 0.297605370 0.961386306
+-1.221896383 0.389863868 0.215179996 0.297596531 0.961704480
+-1.202346041 0.390036878 0.212184094 0.297591272 0.962015301
+-1.182795699 0.390208441 0.209135102 0.297589550 0.962318918
+-1.163245357 0.390378571 0.206031353 0.297591322 0.962615475
+-1.143695015 0.390547284 0.202871093 0.297596546 0.962905110
+-1.124144673 0.390714593 0.199652476 0.297605176 0.963187958
+-1.104594330 0.390880516 0.196373555 0.297617169 0.963464147
+-1.085043988 0.391045067 0.193032275 0.297632480 0.963733799
+-1.065493646 0.391208264 0.189626469 0.297651063 0.963997034
+-1.045943304 0.391370124 0.186153846 0.297672874 0.964253966
+-1.026392962 0.391530664 0.182611982 0.297697865 0.964504704
+-1.006842620 0.391689902 0.178998311 0.297725991 0.964749353
+-0.987292278 0.391847857 0.175310115 0.297757204 0.964988014
+-0.967741935 0.392004545 0.171544508 0.297791458 0.965220784
+-0.948191593 0.392159988 0.167698426 0.297828704 0.965447755
+-0.928641251 0.392314203 0.163768611 0.297868896 0.965669016
+-0.909090909 0.392467210 0.159751593 0.297911985 0.965884652
+-0.889540567 0.392619030 0.155643675 0.297957922 0.966094744
+-0.869990225 0.392769681 0.151440909 0.298006659 0.966299371
+-0.850439883 0.392919184 0.147139076 0.298058147 0.966498605
+-0.830889541 0.393067561 0.142733659 0.298112336 0.966692519
+-0.811339198 0.393214831 0.138219816 0.298169178 0.966881180
+-0.791788856 0.393361015 0.133592348 0.298228621 0.967064653
+-0.772238514 0.393506135 0.128845663 0.298290618 0.967243000
+-0.752688172 0.393650212 0.123973734 0.298355116 0.967416279
+-0.733137830 0.393793268 0.118970057 0.298422067 0.967584547
+-0.713587488 0.393935324 0.113827597 0.298491418 0.967747856
+-0.694037146 0.394076403 0.108538729 0.298563120 0.967906258
+-0.674486804 0.394216525 0.103095170 0.298637122 0.968059801
+-0.654936461 0.394355714 0.097487905 0.298713373 0.968208531
+-0.635386119 0.394493991 0.091707092 0.298791821 0.968352491
+-0.615835777 0.394631379 0.085741965 0.298872415 0.968491723
+-0.596285435 0.394767900 0.079580712 0.298955104 0.968626265
+-0.576735093 0.394903577 0.073210334 0.299039836 0.968756156
+-0.557184751 0.395038432 0.066616483 0.299126559 0.968881429
+-0.537634409 0.395172488 0.059783269 0.299215221 0.969002119
+-0.518084066 0.395305768 0.052693032 0.299305771 0.969118256
+-0.498533724 0.395438294 0.027022210 0.299398157 0.969229871
+-0.478983382 0.395570089 0.027105698 0.299492326 0.969336990
+-0.459433040 0.395701176 0.027190482 0.299588227 0.969439642
+-0.439882698 0.395831578 0.027276576 0.299685807 0.969537849
+-0.420332356 0.395961317 0.027363993 0.299785014 0.969631636
+-0.400782014 0.396090417 0.027452746 0.299885796 0.969721024
+-0.381231672 0.396218900 0.027542850 0.299988100 0.969806034
+-0.361681329 0.396346790 0.027634320 0.300091874 0.969886685
+-0.342130987 0.396474108 0.027727170 0.300197067 0.969962994
+-0.322580645 0.396600879 0.027821415 0.300303624 0.970034979
+-0.303030303 0.396727124 0.027917072 0.300411495 0.970102654
+-0.283479961 0.396852867 0.028014156 0.300520627 0.970166034
+-0.263929619 0.396978131 0.028112683 0.300630968 0.970225132
+-0.244379277 0.397102938 0.028212670 0.300742464 0.970279960
+-0.224828935 0.397227311 0.028314135 0.300855065 0.970330530
+-0.205278592 0.397351272 0.028417094 0.300968718 0.970376851
+-0.185728250 0.397474846 0.028521567 0.301083370 0.970418933
+-0.166177908 0.397598053 0.028627570 0.301198970 0.970456784
+-0.146627566 0.397720918 0.028735122 0.301315466 0.970490410
+-0.127077224 0.397843462 0.028844244 0.301432806 0.970519820
+-0.107526882 0.397965709 0.028954953 0.301550937 0.970545018
+-0.087976540 0.398087681 0.029067270 0.301669809 0.970566009
+-0.068426197 0.398209400 0.029181216 0.301789369 0.970582797
+-0.048875855 0.398330889 0.029296811 0.301909567 0.970595386
+-0.029325513 0.398452171 0.029414076 0.302030350 0.970603777
+-0.009775171 0.398573268 0.029533032 0.302151666 0.970607972
+0.009775171 0.398694203 0.029653702 0.302273469 0.970607972
+0.029325513 0.398814999 0.029776108 0.302395784 0.970603777
+0.048875855 0.398935677 0.029900272 0.302518700 0.970595386
+0.068426197 0.399056261 0.030026219 0.302642316 0.970582797
+0.087976540 0.399176774 0.030153971 0.302766728 0.970566009
+0.107526882 0.399297237 0.030283554 0.302892036 0.970545018
+0.127077224 0.399417674 0.030414991 0.303018334 0.970519820
+0.146627566 0.399538106 0.030548308 0.303145722 0.970490410
+0.166177908 0.399658558 0.030683531 0.303274297 0.970456784
+0.185728250 0.399779052 0.030820685 0.303404158 0.970418933
+0.205278592 0.399899611 0.030959797 0.303535401 0.970376851
+0.224828935 0.400020257 0.031100894 0.303668126 0.970330530
+0.244379277 0.400141014 0.031244004 0.303802430 0.970279960
+0.263929619 0.400261905 0.031389154 0.303938413 0.970225132
+0.283479961 0.400382953 0.031536374 0.304076173 0.970166034
+0.303030303 0.400504181 0.031685692 0.304215810 0.970102654
+0.322580645 0.400625614 0.031837138 0.304357422 0.970034979
+0.342130987 0.400747274 0.031990743 0.304501109 0.969962994
+0.361681329 0.400869186 0.032146536 0.304646971 0.969886685
+0.381231672 0.400991373 0.032304550 0.304795106 0.969806034
+0.400782014 0.401113861 0.032464815 0.304945616 0.969721024
+0.420332356 0.401236673 0.032627365 0.305098601 0.969631636
+0.439882698 0.401359833 0.032792232 0.305254160 0.969537849
+0.459433040 0.401483368 0.032959451 0.305412395 0.969439642
+0.478983382 0.401607302 0.033129054 0.305573406 0.969336990
+0.498533724 0.401731660 0.033301077 0.305737294 0.969229871
+0.518084066 0.401856469 0.059228582 0.305904161 0.969118256
+0.537634409 0.401981754 0.066576722 0.306074108 0.969002119
+0.557184751 0.402107541 0.073669107 0.306247236 0.968881429
+0.576735093 0.402233859 0.080523447 0.306423648 0.968756156
+0.596285435 0.402360733 0.087155681 0.306603447 0.968626265
+0.615835777 0.402488191 0.093580208 0.306786733 0.968491723
+0.635386119 0.402616261 0.099810074 0.306973611 0.968352491
+0.654936461 0.402744973 0.105857144 0.307164182 0.968208531
+0.674486804 0.402874354 0.111732235 0.307358550 0.968059801
+0.694037146 0.403004434 0.117445237 0.307556820 0.967906258
+0.713587488 0.403135242 0.123005220 0.307759093 0.967747856
+0.733137830 0.403266811 0.128420516 0.307965475 0.967584547
+0.752688172 0.403399170 0.133698805 0.308176069 0.967416279
+0.772238514 0.403532350 0.138847172 0.308390980 0.967243000
+0.791788856 0.403666386 0.143872177 0.308610313 0.967064653
+0.811339198 0.403801308 0.148779899 0.308834173 0.966881180
+0.830889541 0.403937152 0.153575984 0.309062665 0.966692519
+0.850439883 0.404073951 0.158265687 0.309295896 0.966498605
+0.869990225 0.404211740 0.162853905 0.309533970 0.966299371
+0.889540567 0.404350555 0.167345209 0.309776995 0.966094744
+0.909090909 0.404490433 0.171743876 0.310025076 0.965884652
+0.928641251 0.404631412 0.176053910 0.310278321 0.965669016
+0.948191593 0.404773529 0.180279066 0.310536838 0.965447755
+0.967741935 0.404916824 0.184422872 0.310800733 0.965220784
+0.987292278 0.405061338 0.188488644 0.311070115 0.964988014
+1.006842620 0.405207110 0.192479506 0.311345091 0.964749353
+1.026392962 0.405354184 0.196398403 0.311625771 0.964504704
+1.045943304 0.405502603 0.200248115 0.311912263 0.964253966
+1.065493646 0.405652411 0.204031268 0.312204677 0.963997034
+1.085043988 0.405803653 0.207750348 0.312503122 0.963733799
+1.104594330 0.405956376 0.211407710 0.312807708 0.963464147
+1.124144673 0.406110628 0.215005583 0.313118546 0.963187958
+1.143695015 0.406266458 0.218546087 0.313435746 0.962905110
+1.163245357 0.406423915 0.222031233 0.313759420 0.962615475
+1.182795699 0.406583053 0.225462935 0.314089679 0.962318918
+1.202346041 0.406743922 0.228843012 0.314426634 0.962015301
+1.221896383 0.406906579 0.232173199 0.314770399 0.961704480
+1.241446725 0.407071078 0.235455149 0.315121086 0.961386306
+1.260997067 0.407237476 0.238690441 0.315478807 0.961060623
+1.280547410 0.407405833 0.241880579 0.315843677 0.960727271
+1.300097752 0.407576209 0.245027006 0.316215809 0.960386082
+1.319648094 0.407748666 0.248131097 0.316595318 0.960036884
+1.339198436 0.407923267 0.251194171 0.316982319 0.959679498
+1.358748778 0.408100078 0.254217491 0.317376926 0.959313737
+1.378299120 0.408279166 0.257202267 0.317779255 0.958939411
+1.397849462 0.408460599 0.260149660 0.318189423 0.958556321
+1.417399804 0.408644448 0.263060786 0.318607545 0.958164261
+1.436950147 0.408830786 0.265936714 0.319033739 0.957763018
+1.456500489 0.409019687 0.268778475 0.319468122 0.957352373
+1.476050831 0.409211228 0.271587059 0.319910813 0.956932100
+1.495601173 0.409405488 0.274363417 0.320361928 0.956501963
+1.515151515 0.409602546 0.277108469 0.320821587 0.956061722
+1.534701857 0.409802487 0.279823099 0.321289910 0.955611127
+1.554252199 0.410005394 0.282508160 0.321767015 0.955149920
+1.573802542 0.410211355 0.285164474 0.322253024 0.954677836
+1.593352884 0.410420460 0.287792837 0.322748056 0.954194602
+1.612903226 0.410632801 0.290394016 0.323252234 0.953699936
+1.632453568 0.410848471 0.292968754 0.323765677 0.953193547
+1.652003910 0.411067568 0.295517767 0.324288509 0.952675137
+1.671554252 0.411290190 0.298041750 0.324820852 0.952144399
+1.691104594 0.411516441 0.300541377 0.325362830 0.951601015
+1.710654936 0.411746423 0.303017299 0.325914565 0.951044661
+1.730205279 0.411980245 0.305470146 0.326476181 0.950475002
+1.749755621 0.412218016 0.307900533 0.327047804 0.949891695
+1.769305963 0.412459849 0.310309053 0.327629558 0.949294386
+1.788856305 0.412705859 0.312696285 0.328221569 0.948682713
+1.808406647 0.412956165 0.315062788 0.328823962 0.948056303
+1.827956989 0.413210888 0.317409108 0.329436865 0.947414776
+1.847507331 0.413470153 0.319735776 0.330060404 0.946757739
+1.867057674 0.413734086 0.322043307 0.330694706 0.946084790
+1.886608016 0.414002820 0.324332205 0.331339900 0.945395519
+1.906158358 0.414276486 0.326602958 0.331996114 0.944689503
+1.925708700 0.414555223 0.328856044 0.332663476 0.943966312
+1.945259042 0.414839170 0.331091928 0.333342117 0.943225502
+1.964809384 0.415128472 0.333311065 0.334032167 0.942466622
+1.984359726 0.415423274 0.335513898 0.334733755 0.941689209
+2.003910068 0.415723728 0.337700860 0.335447012 0.940892790
+2.023460411 0.416029987 0.339872375 0.336172070 0.940076883
+2.043010753 0.416342210 0.342028856 0.336909060 0.939240993
+2.062561095 0.416660556 0.344170709 0.337658115 0.938384615
+2.082111437 0.416985191 0.346298330 0.338419368 0.937507236
+2.101661779 0.417316283 0.348412108 0.339192951 0.936608331
+2.121212121 0.417654004 0.350512425 0.339978998 0.935687364
+2.140762463 0.417998530 0.352599653 0.340777643 0.934743790
+2.160312805 0.418350041 0.354674158 0.341589020 0.933777052
+2.179863148 0.418708720 0.356736302 0.342413266 0.932786585
+2.199413490 0.419074756 0.358786437 0.343250513 0.931771812
+2.218963832 0.419448339 0.360824911 0.344100899 0.930732148
+2.238514174 0.419829666 0.362852066 0.344964560 0.929666996
+2.258064516 0.420218934 0.364868237 0.345841631 0.928575750
+2.277614858 0.420616350 0.366873757 0.346732250 0.927457796
+2.297165200 0.421022118 0.368868951 0.347636554 0.926312509
+2.316715543 0.421436453 0.370854140 0.348554680 0.925139256
+2.336265885 0.421859569 0.372829643 0.349486766 0.923937393
+2.355816227 0.422291687 0.374795771 0.350432950 0.922706271
+2.375366569 0.422733031 0.376752835 0.351393371 0.921445229
+2.394916911 0.423183830 0.378701139 0.352368168 0.920153600
+2.414467253 0.423644316 0.380640986 0.353357479 0.918830710
+2.434017595 0.424114726 0.382572673 0.354361444 0.917475877
+2.453567937 0.424595302 0.384496496 0.355380202 0.916088410
+2.473118280 0.425086289 0.386412749 0.356413894 0.914667616
+2.492668622 0.425587937 0.388321721 0.357462658 0.913212792
+2.512218964 0.426100499 0.390223699 0.358526635 0.911723233
+2.531769306 0.426624235 0.392118970 0.359605966 0.910198225
+2.551319648 0.427159405 0.394007815 0.360700791 0.908637054
+2.570869990 0.427706278 0.395890515 0.361811249 0.907039000
+2.590420332 0.428265123 0.397767351 0.362937483 0.905403340
+2.609970674 0.428836216 0.399638600 0.364079633 0.903729349
+2.629521017 0.429419836 0.401504537 0.365237839 0.902016302
+2.649071359 0.430016265 0.403365439 0.366412243 0.900263470
+2.668621701 0.430625792 0.405221577 0.367602984 0.898470126
+2.688172043 0.431248706 0.407073225 0.368810204 0.896635544
+2.707722385 0.431885303 0.408920655 0.370034044 0.894758999
+2.727272727 0.432535882 0.410764137 0.371274644 0.892839769
+2.746823069 0.433200746 0.412603942 0.372532144 0.890877137
+2.766373412 0.433880201 0.414440339 0.373806686 0.888870388
+2.785923754 0.434574556 0.416273598 0.375098408 0.886818816
+2.805474096 0.435284126 0.418103987 0.376407451 0.884721720
+2.825024438 0.436009227 0.419931775 0.377733955 0.882578408
+2.844574780 0.436750180 0.421757232 0.379078059 0.880388198
+2.864125122 0.437507308 0.423580626 0.380439902 0.878150418
+2.883675464 0.438280938 0.425402225 0.381819623 0.875864408
+2.903225806 0.439071398 0.427222300 0.383217359 0.873529524
+2.922776149 0.439879023 0.429041118 0.384633250 0.871145133
+2.942326491 0.440704145 0.430858952 0.386067432 0.868710622
+2.961876833 0.441547104 0.432676069 0.387520041 0.866225396
+2.981427175 0.442408239 0.434492743 0.388991215 0.863688877
+3.000977517 0.443287892 0.436309243 0.390481089 0.861100512
+3.020527859 0.444186407 0.438125842 0.391989797 0.858459769
+3.040078201 0.445104130 0.439942814 0.393517475 0.855766142
+3.059628543 0.446041409 0.441760430 0.395064254 0.853019152
+3.079178886 0.446998592 0.443578968 0.396630268 0.850218348
+3.098729228 0.447976030 0.445398700 0.398215648 0.847363310
+3.118279570 0.448974074 0.447219905 0.399820525 0.844453651
+3.137829912 0.449993075 0.449042858 0.401445028 0.841489018
+3.157380254 0.451033387 0.450867839 0.403089286 0.838469096
+3.176930596 0.452095362 0.452695126 0.404753425 0.835393608
+3.196480938 0.453179351 0.454524999 0.406437573 0.832262318
+3.216031281 0.454285709 0.456357739 0.408141854 0.829075035
+3.235581623 0.455414786 0.458193628 0.409866390 0.825831611
+3.255131965 0.456566933 0.460032949 0.411611303 0.822531948
+3.274682307 0.457742501 0.461875986 0.413376714 0.819175996
+3.294232649 0.458941837 0.463723023 0.415162741 0.815763759
+3.313782991 0.460165288 0.465574345 0.416969500 0.812295296
+3.333333333 0.461413199 0.467430239 0.418797106 0.808770721
+3.352883675 0.462685911 0.469290991 0.420645672 0.805190210
+3.372434018 0.463983765 0.471156887 0.422515308 0.801553999
+3.391984360 0.465307097 0.473028217 0.424406122 0.797862389
+3.411534702 0.466656239 0.474905267 0.426318219 0.794115748
+3.431085044 0.468031521 0.476788326 0.428251704 0.790314512
+3.450635386 0.469433268 0.478677682 0.430206676 0.786459190
+3.470185728 0.470861801 0.480573623 0.432183234 0.782550361
+3.489736070 0.472317434 0.482476438 0.434181471 0.778588685
+3.509286413 0.473800480 0.484386413 0.436201479 0.774574896
+3.528836755 0.475311241 0.486303836 0.438243346 0.770509809
+3.548387097 0.476850018 0.488228994 0.440307158 0.766394324
+3.567937439 0.478417103 0.490162170 0.442392993 0.762229423
+3.587487781 0.480012780 0.492103649 0.444500930 0.758016176
+3.607038123 0.481637330 0.494053714 0.446631040 0.753755740
+3.626588465 0.483291022 0.496012644 0.448783392 0.749449365
+3.646138807 0.484974119 0.497980719 0.450958049 0.745098390
+3.665689150 0.486686876 0.499958215 0.453155071 0.740704251
+3.685239492 0.488429538 0.501945405 0.455374509 0.736268477
+3.704789834 0.490202342 0.503942559 0.457616413 0.731792694
+3.724340176 0.492005515 0.505949945 0.459880823 0.727278628
+3.743890518 0.493839272 0.507967825 0.462167777 0.722728101
+3.763440860 0.495703820 0.509996460 0.464477305 0.718143038
+3.782991202 0.497599355 0.512036104 0.466809428 0.713525463
+3.802541544 0.499526060 0.514087007 0.469164163 0.708877501
+3.822091887 0.501484108 0.516149413 0.471541519 0.704201381
+3.841642229 0.503473659 0.518223561 0.473941496 0.699499433
+3.861192571 0.505494860 0.520309683 0.476364087 0.694774089
+3.880742913 0.507547847 0.522408005 0.478809276 0.690027883
+3.900293255 0.509632741 0.524518745 0.481277039 0.685263450
+3.919843597 0.511749649 0.526642114 0.483767340 0.680483527
+3.939393939 0.513898666 0.528778314 0.486280137 0.675690949
+3.958944282 0.516079869 0.530927538 0.488815375 0.670888651
+3.978494624 0.518293325 0.533089972 0.491372989 0.666079666
+3.998044966 0.520539081 0.535265788 0.493952902 0.661267120
+4.017595308 0.522817171 0.537455152 0.496555028 0.656454235
+4.037145650 0.525127612 0.539658217 0.499179267 0.651644322
+4.056695992 0.527470405 0.541875123 0.501825506 0.646840782
+4.076246334 0.529845534 0.544106000 0.504493619 0.642047101
+4.095796676 0.532252966 0.546350965 0.507183468 0.637266847
+4.115347019 0.534692652 0.548610121 0.509894901 0.632503669
+4.134897361 0.537164523 0.550883558 0.512627748 0.627761289
+4.154447703 0.539668492 0.553171352 0.515381829 0.623043500
+4.173998045 0.542204456 0.555473562 0.518156944 0.618354164
+4.193548387 0.544772290 0.557790233 0.520952880 0.613697201
+4.213098729 0.547371853 0.560121396 0.523769406 0.609076592
+4.232649071 0.550002983 0.562467062 0.526606275 0.604496365
+4.252199413 0.552665499 0.564827226 0.529463222 0.599960598
+4.271749756 0.555359199 0.567201868 0.532339963 0.595473405
+4.291300098 0.558083863 0.569590947 0.535236199 0.591038937
+4.310850440 0.560839249 0.571994406 0.538151608 0.586661369
+4.330400782 0.563625096 0.574412168 0.541085853 0.582344899
+4.349951124 0.566441120 0.576844136 0.544038576 0.578093735
+4.369501466 0.569287018 0.579290197 0.547009398 0.573912094
+4.389051808 0.572162465 0.581750215 0.549997921 0.569804190
+4.408602151 0.575067116 0.584224035 0.553003728 0.565774228
+4.428152493 0.578000602 0.586711483 0.556026379 0.561826396
+4.447702835 0.580962535 0.589212364 0.559065415 0.557964857
+4.467253177 0.583952505 0.591726462 0.562120355 0.554193739
+4.486803519 0.586970080 0.594253541 0.565190699 0.550517132
+4.506353861 0.590014805 0.596793345 0.568275924 0.546939073
+4.525904203 0.593086205 0.599345597 0.571375487 0.543463541
+4.545454545 0.596183783 0.601909999 0.574488824 0.540094448
+4.565004888 0.599307020 0.604486235 0.577615349 0.536835632
+4.584555230 0.602455376 0.607073967 0.580754457 0.533690844
+4.604105572 0.605628288 0.609672837 0.583905522 0.530663745
+4.623655914 0.608825173 0.612282470 0.587067897 0.527757894
+4.643206256 0.612045427 0.614902469 0.590240917 0.524976740
+4.662756598 0.615288423 0.617532422 0.593423894 0.522323618
+4.682306940 0.618553515 0.620171896 0.596616126 0.519801732
+4.701857283 0.621840036 0.622820441 0.599816889 0.517414159
+4.721407625 0.625147298 0.625477592 0.603025442 0.515163830
+4.740957967 0.628474594 0.628142866 0.606241027 0.513053531
+4.760508309 0.631821196 0.630815766 0.609462869 0.511085893
+4.780058651 0.635186360 0.633495779 0.612690179 0.509263383
+4.799608993 0.638569318 0.636182379 0.615922152 0.507588303
+4.819159335 0.641969289 0.638875028 0.619157968 0.506062780
+4.838709677 0.645385471 0.641573176 0.622396796 0.504688760
+4.858260020 0.648817045 0.644276261 0.625637791 0.503468006
+4.877810362 0.652263177 0.646983713 0.628880099 0.502402092
+4.897360704 0.655723015 0.649694950 0.632122854 0.501492397
+4.916911046 0.659195692 0.652409387 0.635365185 0.500740105
+4.936461388 0.662680328 0.655126430 0.638606208 0.500146198
+4.956011730 0.666176028 0.657845479 0.641845038 0.499711457
+4.975562072 0.669681882 0.660565932 0.645080783 0.499436455
+4.995112414 0.673196970 0.663287182 0.648312545 0.499321562
+5.014662757 0.676720360 0.666008622 0.651539426 0.499366939
+5.034213099 0.680251108 0.668729645 0.654760527 0.499572537
+5.053763441 0.683788262 0.671449643 0.657974949 0.499938103
+5.073313783 0.687330859 0.674168011 0.661181793 0.500463174
+5.092864125 0.690877929 0.676884147 0.664380165 0.501147082
+5.112414467 0.694428497 0.679597454 0.667569174 0.501988956
+5.131964809 0.697981578 0.682307340 0.670747935 0.502987722
+5.151515152 0.701536185 0.685013220 0.673915569 0.504142106
+5.171065494 0.705091325 0.687714518 0.677071207 0.505450642
+5.190615836 0.708646004 0.690410664 0.680213988 0.506911670
+5.210166178 0.712199225 0.693101102 0.683343063 0.508523343
+5.229716520 0.715749989 0.695785285 0.686457593 0.510283632
+5.249266862 0.719297300 0.698462678 0.689556754 0.512190333
+5.268817204 0.722840161 0.701132759 0.692639737 0.514241067
+5.288367546 0.726377577 0.703795021 0.695705746 0.516433293
+5.307917889 0.729908558 0.706448971 0.698754004 0.518764310
+5.327468231 0.733432118 0.709094133 0.701783750 0.521231265
+5.347018573 0.736947277 0.711730044 0.704794242 0.523831163
+5.366568915 0.740453059 0.714356261 0.707784757 0.528348490
+5.386119257 0.743948500 0.716972359 0.710754595 0.533191116
+5.405669599 0.747432640 0.719577928 0.713703072 0.538084034
+5.425219941 0.750904533 0.722172580 0.716629531 0.543024859
+5.444770283 0.754363240 0.724755944 0.719533334 0.548011143
+5.464320626 0.757807835 0.727327669 0.722413869 0.553040388
+5.483870968 0.761237407 0.729887424 0.725270545 0.558110043
+5.503421310 0.764651055 0.732434899 0.728102796 0.563217514
+5.522971652 0.768047895 0.734969801 0.730910082 0.568360169
+5.542521994 0.771427056 0.737491860 0.733691887 0.573535337
+5.562072336 0.774787686 0.740000828 0.736447718 0.578740320
+5.581622678 0.778128948 0.742496473 0.739177112 0.583972395
+5.601173021 0.781450023 0.744978587 0.741879629 0.589228817
+5.620723363 0.784750112 0.747446980 0.744554853 0.594506829
+5.640273705 0.788028433 0.749901485 0.747202397 0.599803661
+5.659824047 0.791284227 0.752341953 0.749821899 0.605116539
+5.679374389 0.794516752 0.754768254 0.752413022 0.610442691
+5.698924731 0.797725290 0.757180280 0.754975454 0.615779346
+5.718475073 0.800909145 0.759577940 0.757508910 0.621123745
+5.738025415 0.804067641 0.761961164 0.760013130 0.626473140
+5.757575758 0.807200126 0.764329899 0.762487877 0.631824806
+5.777126100 0.810305972 0.766684110 0.764932941 0.637176035
+5.796676442 0.813384574 0.769023782 0.767348137 0.642524151
+5.816226784 0.816435351 0.771348914 0.769733300 0.647866507
+5.835777126 0.819457745 0.773659524 0.772088292 0.653200489
+5.855327468 0.822451226 0.775955646 0.774412998 0.658523526
+5.874877810 0.825415285 0.778237329 0.776707323 0.663833086
+5.894428152 0.828349441 0.780504638 0.778971198 0.669126684
+5.913978495 0.831253236 0.782757652 0.781204571 0.674401884
+5.933528837 0.834126239 0.784996464 0.783407415 0.679656302
+5.953079179 0.836968044 0.787221183 0.785579722 0.684887610
+5.972629521 0.839778269 0.789431928 0.787721503 0.690093535
+5.992179863 0.842556558 0.791628832 0.789832789 0.695271867
+6.011730205 0.845302583 0.793812039 0.791913630 0.700420458
+6.031280547 0.848016037 0.795981706 0.793964094 0.705537222
+6.050830890 0.850696641 0.798137998 0.795984266 0.710620141
+6.070381232 0.853344140 0.800281095 0.797974247 0.715667266
+6.089931574 0.855958305 0.802411181 0.799934156 0.720676716
+6.109481916 0.858538928 0.804528452 0.801864127 0.725646682
+6.129032258 0.861085830 0.806633115 0.803764306 0.730575427
+6.148582600 0.863598854 0.808725380 0.805634858 0.735461284
+6.168132942 0.866077865 0.810805468 0.807475957 0.740302664
+6.187683284 0.868522753 0.812873607 0.809287792 0.745098049
+6.207233627 0.870933433 0.814930030 0.811070565 0.749845997
+6.226783969 0.873309839 0.816974977 0.812824489 0.754545140
+6.246334311 0.875651928 0.819008695 0.814549786 0.759194186
+6.265884653 0.877959681 0.821031434 0.816246692 0.763791917
+6.285434995 0.880233099 0.823043450 0.817915450 0.768337189
+6.304985337 0.882472202 0.825045003 0.819556313 0.772828933
+6.324535679 0.884677032 0.827036357 0.821169543 0.777266154
+6.344086022 0.886847652 0.829017781 0.822755409 0.781647928
+6.363636364 0.888984143 0.830989546 0.824314190 0.785973406
+6.383186706 0.891086603 0.832951925 0.825846168 0.790241807
+6.402737048 0.893155150 0.834905196 0.827351636 0.794452424
+6.422287390 0.895189920 0.836849638 0.828830889 0.798604616
+6.441837732 0.897191066 0.838785531 0.830284230 0.802697811
+6.461388074 0.899158755 0.840713158 0.831711965 0.806731506
+6.480938416 0.901093173 0.842632805 0.974837636 0.810705259
+6.500488759 0.902994519 0.844544755 0.975474355 0.814618695
+6.520039101 0.904863008 0.846449296 0.976084124 0.818471500
+6.539589443 0.906698868 0.848346715 0.976667723 0.822263423
+6.559139785 0.908502341 0.850237300 0.977225919 0.825994269
+6.578690127 0.910273681 0.852121339 0.977759471 0.829663902
+6.598240469 0.912013157 0.853999120 0.978269126 0.833272243
+6.617790811 0.913721045 0.855870932 0.978755621 0.836819264
+6.637341153 0.915397636 0.857737064 0.979219681 0.840304993
+6.656891496 0.917043229 0.859597803 0.979662018 0.843729506
+6.676441838 0.918658135 0.861453438 0.980083334 0.847092928
+6.695992180 0.920242672 0.863304256 0.980484317 0.850395431
+6.715542522 0.921797168 0.865150544 0.980865643 0.853637232
+6.735092864 0.923321958 0.866992589 0.981227976 0.856818591
+6.754643206 0.924817387 0.868830675 0.981571966 0.859939810
+6.774193548 0.926283803 0.870665088 0.981898253 0.863001228
+6.793743891 0.927721565 0.872496112 0.982207459 0.866003225
+6.813294233 0.929131034 0.874324031 0.982500198 0.868946215
+6.832844575 0.930512579 0.876149127 0.982777068 0.871830645
+6.852394917 0.931866572 0.877971680 0.983038655 0.874656996
+6.871945259 0.933193391 0.879791973 0.983285532 0.877425778
+6.891495601 0.934493417 0.881610285 0.983518258 0.880137530
+6.911045943 0.935767035 0.883426895 0.983737380 0.882792818
+6.930596285 0.937014632 0.885242080 0.983943431 0.885392235
+6.950146628 0.938236598 0.887056119 0.984136933 0.887936394
+6.969696970 0.939433326 0.888869286 0.984318393 0.890425933
+6.989247312 0.940605210 0.890681859 0.984488306 0.892861508
+7.008797654 0.941752645 0.892494111 0.984647156 0.895243797
+7.028347996 0.942876027 0.894306317 0.984795412 0.897573493
+7.047898338 0.943975752 0.896118751 0.984933532 0.899851304
+7.067448680 0.945052218 0.897931684 0.985061963 0.902077955
+7.086999022 0.946105820 0.899745389 1.002592474 0.904254182
+7.106549365 0.947136956 0.901560139 1.002380834 0.906380735
+7.126099707 0.948146019 0.903376205 1.002167690 0.908458371
+7.145650049 0.949133405 0.905193857 1.001953273 0.910487860
+7.165200391 0.950099506 0.907013367 1.001737809 0.912469977
+7.184750733 0.951044712 0.908835006 1.001521514 0.914405505
+7.204301075 0.951969413 0.910659044 1.001304598 0.916295232
+7.223851417 0.952873994 0.912485753 1.001087265 0.918139952
+7.243401760 0.953758841 0.914315403 1.000869711 0.919940461
+7.262952102 0.954624335 0.916148265 1.000652126 0.921697558
+7.282502444 0.955470853 0.917984613 1.000434693 0.923412044
+7.302052786 0.956298772 0.919824717 1.000217589 0.925084719
+7.321603128 0.957108463 0.921668851 1.000000985 0.926716386
+7.341153470 0.957900295 0.923517288 0.999785044 0.928307843
+7.360703812 0.958674632 0.925370304 0.999569925 0.929859890
+7.380254154 0.959431837 0.927228173 0.999355780 0.931373321
+7.399804497 0.960172265 0.929091173 0.999142754 0.932848928
+7.419354839 0.960896270 0.930959582 0.998930989 0.934287501
+7.438905181 0.961604200 0.932833679 0.998720619 0.935689822
+7.458455523 0.962296401 0.934713745 0.998511774 0.937056670
+7.478005865 0.962973211 0.936600065 0.998304577 0.938388818
+7.497556207 0.963634966 0.938492922 0.998099147 0.939687031
+7.517106549 0.964281998 0.940392605 0.997895597 0.940952069
+7.536656891 0.964914631 0.942299402 0.997694036 0.942184685
+7.556207234 0.965533188 0.944213605 0.997494567 0.943385622
+7.575757576 0.966137986 0.946135510 0.997297289 0.944555617
+7.595307918 0.966729334 0.948065413 0.997102296 0.945695397
+7.614858260 0.967307542 0.950003616 0.996909678 0.946805682
+7.634408602 0.967872909 0.951950421 0.996719519 0.947887182
+7.653958944 0.968425733 0.953906137 0.996531899 0.948940596
+7.673509286 0.968966306 0.955871074 0.996346896 0.949966615
+7.693059629 0.969494914 0.957845548 0.996164582 0.950965920
+7.712609971 0.970011839 0.959829876 0.995985025 0.951939181
+7.732160313 0.970517358 0.961824384 0.995808288 0.952887058
+7.751710655 0.971011741 0.963829399 0.995634434 0.953810202
+7.771260997 0.971495257 0.965845253 0.995463518 0.954709250
+7.790811339 0.971968165 0.967872286 0.995295594 0.955584830
+7.810361681 0.972430722 0.969910840 0.995130712 0.956437560
+7.829912023 0.972883181 0.971961266 0.994968918 0.957268046
+7.849462366 0.973325786 0.974023918 0.994810255 0.958076882
+7.869012708 0.973758780 0.976099158 0.994654763 0.958864652
+7.888563050 0.974182400 0.978187355 0.994502479 0.959631929
+7.908113392 0.974596876 0.980288884 0.994353435 0.960379274
+7.927663734 0.975002435 0.982404128 0.994207664 0.961107238
+7.947214076 0.975399300 0.984533476 0.994065193 0.961816357
+7.966764418 0.975787687 0.986677328 0.993926047 0.962507161
+7.986314761 0.976167809 0.988836091 0.993790249 0.963180165
+8.005865103 0.976539873 0.991010180 0.993657817 0.963835875
+8.025415445 0.976904083 0.993200021 0.993528771 0.964474784
+8.044965787 0.977260637 0.995406048 0.993403123 0.965097376
+8.064516129 0.977609728 0.997628707 0.993280887 0.965704121
+8.084066471 0.977951547 0.999868453 0.993162074 0.966295481
+8.103616813 0.978286278 1.002125754 0.993046689 0.966871906
+8.123167155 0.978614101 1.004401089 0.992934740 0.967433834
+8.142717498 0.978935194 1.006694948 0.992826230 0.967981696
+8.162267840 0.979249728 1.009007836 0.992721160 0.968515908
+8.181818182 0.979557870 1.011340271 0.992619530 0.969036877
+8.201368524 0.979859786 1.013692784 0.992521337 0.969545002
+8.220918866 0.980155633 1.016065922 0.992426578 0.970040668
+8.240469208 0.980445569 1.018460248 0.992335245 0.970524254
+8.260019550 0.980729744 1.020876341 0.992247331 0.970996125
+8.279569892 0.981008307 1.023314795 0.992162827 0.971456638
+8.299120235 0.981281401 1.025776226 0.992081721 0.971906142
+8.318670577 0.981549168 1.028261267 0.992004001 0.972344973
+8.338220919 0.981811743 1.030770569 0.991929651 0.972773460
+8.357771261 0.982069259 1.033304807 0.991858657 0.973191923
+8.377321603 0.982321847 1.035864677 0.991791000 0.973600671
+8.396871945 0.982569632 1.038450896 0.991726662 0.974000006
+8.416422287 0.982812738 1.041064207 0.991665623 0.974390219
+8.435972630 0.983051282 1.043705380 0.991607861 0.974771595
+8.455522972 0.983285382 1.046375209 0.991553354 0.975144408
+8.475073314 0.983515150 1.049074518 0.991502077 0.975508927
+8.494623656 0.983740696 1.051804159 0.991454006 0.975865408
+8.514173998 0.983962127 1.054565017 0.991409113 0.976214104
+8.533724340 0.984179547 1.057358011 0.991367372 0.976555258
+8.553274682 0.984393055 1.060184091 0.991328752 0.976889103
+8.572825024 0.984602750 1.063044249 0.991293226 0.977215870
+8.592375367 0.984808728 1.065939511 0.991260762 0.977535777
+8.611925709 0.985011080 1.068870948 0.991231327 0.977849039
+8.631476051 0.985209896 1.071839672 0.991204890 0.978155861
+8.651026393 0.985405263 1.074846843 0.991181417 0.978456444
+8.670576735 0.985597266 1.077893668 0.991160872 0.978750979
+8.690127077 0.985785986 1.080981408 0.991143221 0.979039655
+8.709677419 0.985971504 1.084111376 0.991128426 0.979322649
+8.729227761 0.986153896 1.087284946 0.991116451 0.979600136
+8.748778104 0.986333238 1.090503553 0.991107257 0.979872285
+8.768328446 0.986509602 1.093768697 0.991100805 0.980139256
+8.787878788 0.986683058 1.097081949 0.991097055 0.980401206
+8.807429130 0.986853675 1.100444956 0.991095968 0.980658285
+8.826979472 0.987021520 1.103859443 0.991097502 0.980910639
+8.846529814 0.987186656 1.107327221 0.991101614 0.981158407
+8.866080156 0.987349145 1.110850192 0.991108263 0.981401724
+8.885630499 0.987509049 1.114430354 0.991117404 0.981640720
+8.905180841 0.987666426 1.118069812 0.991128994 0.981875520
+8.924731183 0.987821332 1.121770781 0.991142989 0.982106245
+8.944281525 0.987973822 1.125535597 0.991159342 0.982333009
+8.963831867 0.988123950 1.129366725 0.991178008 0.982555924
+8.983382209 0.988271767 1.133266769 0.991198941 0.982775098
+9.002932551 0.988417324 1.137238482 0.991222093 0.982990633
+9.022482893 0.988560669 1.141284781 0.991247417 0.983202628
+9.042033236 0.988701848 1.145408755 0.991274865 0.983411179
+9.061583578 0.988840908 1.149613685 0.991304388 0.983616377
+9.081133920 0.988977892 1.153903056 0.991335936 0.983818309
+9.100684262 0.989112843 1.158280577 0.991369461 0.984017061
+9.120234604 0.989245803 1.162750199 0.991404910 0.984212713
+9.139784946 0.989376812 1.167316136 0.991442235 0.984405342
+9.159335288 0.989505909 1.171982895 0.991481384 0.984595024
+9.178885630 0.989633131 1.176755294 0.991522305 0.984781831
+9.198435973 0.989758516 1.181638503 0.991564945 0.984965831
+9.217986315 0.989882097 1.186638068 0.991609253 0.985147090
+9.237536657 0.990003911 1.191759957 0.991655175 0.985325671
+9.257086999 0.990123990 1.197010601 0.991702658 0.985501637
+9.276637341 0.990242367 1.202396944 0.991751648 0.985675044
+9.296187683 0.990359073 1.207926497 0.991802091 0.985845950
+9.315738025 0.990474139 1.213607404 0.991853933 0.986014408
+9.335288368 0.990587594 1.219448518 0.991907117 0.986180470
+9.354838710 0.990699467 1.225459479 0.991961589 0.986344185
+9.374389052 0.990809786 1.231650818 0.992017292 0.986505602
+9.393939394 0.990918578 1.238034064 0.992074172 0.986664767
+9.413489736 0.991025869 1.244621880 0.992132171 0.986821723
+9.433040078 0.991131686 1.251428214 0.992191233 0.986976513
+9.452590420 0.991236052 1.258468479 0.992251299 0.987129179
+9.472140762 0.991338993 1.265759770 0.992312314 0.987279759
+9.491691105 0.991440532 1.273321111 0.992374218 0.987428291
+9.511241447 0.991540692 0.992164312 0.992436955 0.987575668
+9.530791789 0.991639495 0.992262666 0.992500464 0.987720028
+9.550342131 0.991736963 0.992359625 0.992564688 0.987862482
+9.569892473 0.991833119 0.992455211 0.992629568 0.988003057
+9.589442815 0.991927981 0.992549446 0.992695043 0.988141779
+9.608993157 0.992021572 0.992642351 0.992761056 0.988278677
+9.628543500 0.992113910 0.992733945 0.992827544 0.988413775
+9.648093842 0.992205015 0.992824249 0.992894449 0.988547100
+9.667644184 0.992294906 0.992913284 0.992961710 0.988678678
+9.687194526 0.992383601 0.993001068 0.993029266 0.988808533
+9.706744868 0.992471119 0.993087620 0.993097056 0.988936690
+9.726295210 0.992557478 0.993172960 0.993165018 0.989063173
+9.745845552 0.992642695 0.993257106 0.993233092 0.989188007
+9.765395894 0.992726786 0.993340077 0.993301216 0.989311215
+9.784946237 0.992809769 0.993421890 0.993369327 0.989432820
+9.804496579 0.992891660 0.993502563 0.993437363 0.989552846
+9.824046921 0.992972476 0.993582113 0.993505262 0.989671314
+9.843597263 0.993052231 0.993660558 0.993572961 0.989788247
+9.863147605 0.993130943 0.993737915 0.993640397 0.989903667
+9.882697947 0.993208625 0.993814199 0.993707507 0.990017596
+9.902248289 0.993285293 0.993889428 0.993774227 0.990130054
+9.921798631 0.993360962 0.993963617 0.993840495 0.990241062
+9.941348974 0.993435646 0.994036782 0.993906246 0.990350642
+9.960899316 0.993509359 0.994108939 0.993971416 0.990458813
+9.980449658 0.993582116 0.994180103 0.994035940 0.990565596
+10.000000000 0.993653931 0.994250289 0.994099756 0.990671009
diff --git a/examples/tsukamoto/tsukamoto.fll b/examples/tsukamoto/tsukamoto.fll
index 29ce437..0437d5d 100644
--- a/examples/tsukamoto/tsukamoto.fll
+++ b/examples/tsukamoto/tsukamoto.fll
@@ -1,51 +1,52 @@
-Engine:
+Engine: tsukamoto
InputVariable: X
enabled: true
range: -10.000 10.000
+ lock-range: false
term: small Bell -10.000 5.000 3.000
term: medium Bell 0.000 5.000 3.000
term: large Bell 10.000 5.000 3.000
OutputVariable: Ramps
enabled: true
range: 0.000 1.000
- accumulation: none
+ lock-range: false
+ aggregation: none
defuzzifier: WeightedAverage Automatic
default: nan
lock-previous: false
- lock-range: false
term: b Ramp 0.600 0.400
term: a Ramp 0.000 0.250
term: c Ramp 0.700 1.000
OutputVariable: Sigmoids
enabled: true
range: 0.020 1.000
- accumulation: none
+ lock-range: false
+ aggregation: none
defuzzifier: WeightedAverage Automatic
default: nan
lock-previous: false
- lock-range: false
term: b Sigmoid 0.500 -30.000
term: a Sigmoid 0.130 30.000
term: c Sigmoid 0.830 30.000
OutputVariable: ZSShapes
enabled: true
range: 0.000 1.000
- accumulation: none
+ lock-range: false
+ aggregation: none
defuzzifier: WeightedAverage Automatic
default: nan
lock-previous: false
- lock-range: false
term: b ZShape 0.300 0.600
term: a SShape 0.000 0.250
term: c SShape 0.700 1.000
OutputVariable: Concaves
enabled: true
range: 0.000 1.000
- accumulation: none
+ lock-range: false
+ aggregation: none
defuzzifier: WeightedAverage Automatic
default: nan
lock-previous: false
- lock-range: false
term: b Concave 0.500 0.400
term: a Concave 0.240 0.250
term: c Concave 0.900 1.000
@@ -53,7 +54,8 @@ RuleBlock:
enabled: true
conjunction: none
disjunction: none
- activation: none
+ implication: none
+ activation: General
rule: if X is small then Ramps is a and Sigmoids is a and ZSShapes is a and Concaves is a
rule: if X is medium then Ramps is b and Sigmoids is b and ZSShapes is b and Concaves is b
rule: if X is large then Ramps is c and Sigmoids is c and ZSShapes is c and Concaves is c \ No newline at end of file
diff --git a/examples/tsukamoto/tsukamoto.java b/examples/tsukamoto/tsukamoto.java
index e8cc824..f51d968 100644
--- a/examples/tsukamoto/tsukamoto.java
+++ b/examples/tsukamoto/tsukamoto.java
@@ -1,4 +1,5 @@
import com.fuzzylite.*;
+import com.fuzzylite.activation.*
import com.fuzzylite.defuzzifier.*;
import com.fuzzylite.factory.*;
import com.fuzzylite.hedge.*;
@@ -12,80 +13,91 @@ import com.fuzzylite.variable.*;
public class tsukamoto{
public static void main(String[] args){
+//Code automatically generated with fuzzylite 6.0.
+
Engine engine = new Engine();
-engine.setName("");
+engine.setName("tsukamoto");
+engine.setDescription("");
-InputVariable inputVariable = new InputVariable();
-inputVariable.setEnabled(true);
-inputVariable.setName("X");
-inputVariable.setRange(-10.000, 10.000);
-inputVariable.addTerm(new Bell("small", -10.000, 5.000, 3.000));
-inputVariable.addTerm(new Bell("medium", 0.000, 5.000, 3.000));
-inputVariable.addTerm(new Bell("large", 10.000, 5.000, 3.000));
-engine.addInputVariable(inputVariable);
+InputVariable X = new InputVariable();
+X.setName("X");
+X.setDescription("");
+X.setEnabled(true);
+X.setRange(-10.000, 10.000);
+X.setLockValueInRange(false);
+X.addTerm(new Bell("small", -10.000, 5.000, 3.000));
+X.addTerm(new Bell("medium", 0.000, 5.000, 3.000));
+X.addTerm(new Bell("large", 10.000, 5.000, 3.000));
+engine.addInputVariable(X);
-OutputVariable outputVariable1 = new OutputVariable();
-outputVariable1.setEnabled(true);
-outputVariable1.setName("Ramps");
-outputVariable1.setRange(0.000, 1.000);
-outputVariable1.fuzzyOutput().setAccumulation(null);
-outputVariable1.setDefuzzifier(new WeightedAverage("Automatic"));
-outputVariable1.setDefaultValue(Double.NaN);
-outputVariable1.setLockPreviousOutputValue(false);
-outputVariable1.setLockOutputValueInRange(false);
-outputVariable1.addTerm(new Ramp("b", 0.600, 0.400));
-outputVariable1.addTerm(new Ramp("a", 0.000, 0.250));
-outputVariable1.addTerm(new Ramp("c", 0.700, 1.000));
-engine.addOutputVariable(outputVariable1);
+OutputVariable Ramps = new OutputVariable();
+Ramps.setName("Ramps");
+Ramps.setDescription("");
+Ramps.setEnabled(true);
+Ramps.setRange(0.000, 1.000);
+Ramps.setLockValueInRange(false);
+Ramps.setAggregation(null);
+Ramps.setDefuzzifier(new WeightedAverage("Automatic"));
+Ramps.setDefaultValue(Double.NaN);
+Ramps.setLockPreviousValue(false);
+Ramps.addTerm(new Ramp("b", 0.600, 0.400));
+Ramps.addTerm(new Ramp("a", 0.000, 0.250));
+Ramps.addTerm(new Ramp("c", 0.700, 1.000));
+engine.addOutputVariable(Ramps);
-OutputVariable outputVariable2 = new OutputVariable();
-outputVariable2.setEnabled(true);
-outputVariable2.setName("Sigmoids");
-outputVariable2.setRange(0.020, 1.000);
-outputVariable2.fuzzyOutput().setAccumulation(null);
-outputVariable2.setDefuzzifier(new WeightedAverage("Automatic"));
-outputVariable2.setDefaultValue(Double.NaN);
-outputVariable2.setLockPreviousOutputValue(false);
-outputVariable2.setLockOutputValueInRange(false);
-outputVariable2.addTerm(new Sigmoid("b", 0.500, -30.000));
-outputVariable2.addTerm(new Sigmoid("a", 0.130, 30.000));
-outputVariable2.addTerm(new Sigmoid("c", 0.830, 30.000));
-engine.addOutputVariable(outputVariable2);
+OutputVariable Sigmoids = new OutputVariable();
+Sigmoids.setName("Sigmoids");
+Sigmoids.setDescription("");
+Sigmoids.setEnabled(true);
+Sigmoids.setRange(0.020, 1.000);
+Sigmoids.setLockValueInRange(false);
+Sigmoids.setAggregation(null);
+Sigmoids.setDefuzzifier(new WeightedAverage("Automatic"));
+Sigmoids.setDefaultValue(Double.NaN);
+Sigmoids.setLockPreviousValue(false);
+Sigmoids.addTerm(new Sigmoid("b", 0.500, -30.000));
+Sigmoids.addTerm(new Sigmoid("a", 0.130, 30.000));
+Sigmoids.addTerm(new Sigmoid("c", 0.830, 30.000));
+engine.addOutputVariable(Sigmoids);
-OutputVariable outputVariable3 = new OutputVariable();
-outputVariable3.setEnabled(true);
-outputVariable3.setName("ZSShapes");
-outputVariable3.setRange(0.000, 1.000);
-outputVariable3.fuzzyOutput().setAccumulation(null);
-outputVariable3.setDefuzzifier(new WeightedAverage("Automatic"));
-outputVariable3.setDefaultValue(Double.NaN);
-outputVariable3.setLockPreviousOutputValue(false);
-outputVariable3.setLockOutputValueInRange(false);
-outputVariable3.addTerm(new ZShape("b", 0.300, 0.600));
-outputVariable3.addTerm(new SShape("a", 0.000, 0.250));
-outputVariable3.addTerm(new SShape("c", 0.700, 1.000));
-engine.addOutputVariable(outputVariable3);
+OutputVariable ZSShapes = new OutputVariable();
+ZSShapes.setName("ZSShapes");
+ZSShapes.setDescription("");
+ZSShapes.setEnabled(true);
+ZSShapes.setRange(0.000, 1.000);
+ZSShapes.setLockValueInRange(false);
+ZSShapes.setAggregation(null);
+ZSShapes.setDefuzzifier(new WeightedAverage("Automatic"));
+ZSShapes.setDefaultValue(Double.NaN);
+ZSShapes.setLockPreviousValue(false);
+ZSShapes.addTerm(new ZShape("b", 0.300, 0.600));
+ZSShapes.addTerm(new SShape("a", 0.000, 0.250));
+ZSShapes.addTerm(new SShape("c", 0.700, 1.000));
+engine.addOutputVariable(ZSShapes);
-OutputVariable outputVariable4 = new OutputVariable();
-outputVariable4.setEnabled(true);
-outputVariable4.setName("Concaves");
-outputVariable4.setRange(0.000, 1.000);
-outputVariable4.fuzzyOutput().setAccumulation(null);
-outputVariable4.setDefuzzifier(new WeightedAverage("Automatic"));
-outputVariable4.setDefaultValue(Double.NaN);
-outputVariable4.setLockPreviousOutputValue(false);
-outputVariable4.setLockOutputValueInRange(false);
-outputVariable4.addTerm(new Concave("b", 0.500, 0.400));
-outputVariable4.addTerm(new Concave("a", 0.240, 0.250));
-outputVariable4.addTerm(new Concave("c", 0.900, 1.000));
-engine.addOutputVariable(outputVariable4);
+OutputVariable Concaves = new OutputVariable();
+Concaves.setName("Concaves");
+Concaves.setDescription("");
+Concaves.setEnabled(true);
+Concaves.setRange(0.000, 1.000);
+Concaves.setLockValueInRange(false);
+Concaves.setAggregation(null);
+Concaves.setDefuzzifier(new WeightedAverage("Automatic"));
+Concaves.setDefaultValue(Double.NaN);
+Concaves.setLockPreviousValue(false);
+Concaves.addTerm(new Concave("b", 0.500, 0.400));
+Concaves.addTerm(new Concave("a", 0.240, 0.250));
+Concaves.addTerm(new Concave("c", 0.900, 1.000));
+engine.addOutputVariable(Concaves);
RuleBlock ruleBlock = new RuleBlock();
-ruleBlock.setEnabled(true);
ruleBlock.setName("");
+ruleBlock.setDescription("");
+ruleBlock.setEnabled(true);
ruleBlock.setConjunction(null);
ruleBlock.setDisjunction(null);
-ruleBlock.setActivation(null);
+ruleBlock.setImplication(null);
+ruleBlock.setActivation(new General());
ruleBlock.addRule(Rule.parse("if X is small then Ramps is a and Sigmoids is a and ZSShapes is a and Concaves is a", engine));
ruleBlock.addRule(Rule.parse("if X is medium then Ramps is b and Sigmoids is b and ZSShapes is b and Concaves is b", engine));
ruleBlock.addRule(Rule.parse("if X is large then Ramps is c and Sigmoids is c and ZSShapes is c and Concaves is c", engine));
diff --git a/examples/tsukamoto/tsukamoto.pdf b/examples/tsukamoto/tsukamoto.pdf
new file mode 100644
index 0000000..9c4f375
--- /dev/null
+++ b/examples/tsukamoto/tsukamoto.pdf
Binary files differ