From 5dd9a6f0a732e173a5cc5acb3d3e711f94a52a9e Mon Sep 17 00:00:00 2001 From: Angelos Chatzimparmpas Date: Fri, 8 Nov 2019 15:16:47 +0100 Subject: [PATCH] update Former-commit-id: e880794bc97197453feb2b82ada94694316d98f3 --- LICENSE.txt | 27 + Makefile.win | 26 + README.md | 101 +- __pycache__/bhtsne.cpython-37.pyc | Bin 0 -> 6558 bytes __pycache__/tsne.cpython-37.pyc | Bin 0 -> 3878 bytes __pycache__/tsneGrid.cpython-37.pyc | Bin 0 -> 7548 bytes bh_tsne | Bin 0 -> 85792 bytes bhtsne.py | 241 ++ css/style.css | 72 +- css/w3.css | 232 ++ data/winequality-red.csv | 1600 ------------ fast_tsne.m | 129 + index.html | 120 +- js/tsne_vis.js | 3540 +++++++++++++++++++++++---- modules/d3-lasso/lasso.js | 7 +- sptree.cpp | 428 ++++ sptree.h | 115 + tsne.cpp | 704 ++++++ tsne.h | 63 + tsneGrid.py | 287 +++ tsne_main.cpp | 44 + vptree.h | 272 ++ 22 files changed, 5911 insertions(+), 2097 deletions(-) create mode 100644 LICENSE.txt create mode 100644 Makefile.win create mode 100644 __pycache__/bhtsne.cpython-37.pyc create mode 100644 __pycache__/tsne.cpython-37.pyc create mode 100644 __pycache__/tsneGrid.cpython-37.pyc create mode 100755 bh_tsne create mode 100755 bhtsne.py create mode 100755 css/w3.css delete mode 100644 data/winequality-red.csv create mode 100644 fast_tsne.m create mode 100644 sptree.cpp create mode 100644 sptree.h create mode 100644 tsne.cpp create mode 100644 tsne.h create mode 100644 tsneGrid.py create mode 100644 tsne_main.cpp create mode 100644 vptree.h diff --git a/LICENSE.txt b/LICENSE.txt new file mode 100644 index 0000000..a327e30 --- /dev/null +++ b/LICENSE.txt @@ -0,0 +1,27 @@ + Copyright (c) 2014, Laurens van der Maaten (Delft University of Technology) + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + 3. All advertising materials mentioning features or use of this software + must display the following acknowledgement: + This product includes software developed by the Delft University of Technology. + 4. Neither the name of the Delft University of Technology nor the names of + its contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY LAURENS VAN DER MAATEN ''AS IS'' AND ANY EXPRESS + OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO + EVENT SHALL LAURENS VAN DER MAATEN BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY + OF SUCH DAMAGE. \ No newline at end of file diff --git a/Makefile.win b/Makefile.win new file mode 100644 index 0000000..c4ae5d7 --- /dev/null +++ b/Makefile.win @@ -0,0 +1,26 @@ +CXX = cl.exe +CFLAGS = /nologo /O2 /EHsc /D "_CRT_SECURE_NO_DEPRECATE" /D "USEOMP" /openmp + +TARGET = windows + +all: $(TARGET) $(TARGET)\bh_tsne.exe + +$(TARGET)\bh_tsne.exe: tsne_main.obj tsne.obj sptree.obj + $(CXX) $(CFLAGS) tsne_main.obj tsne.obj sptree.obj -Fe$(TARGET)\bh_tsne.exe + +sptree.obj: sptree.cpp sptree.h + $(CXX) $(CFLAGS) -c sptree.cpp + +tsne.obj: tsne.cpp tsne.h sptree.h vptree.h + $(CXX) $(CFLAGS) -c tsne.cpp + +tsne_main.obj: tsne_main.cpp tsne.h sptree.h vptree.h + $(CXX) $(CFLAGS) -c tsne_main.cpp + +.PHONY: $(TARGET) +$(TARGET): + -mkdir $(TARGET) + +clean: + -erase /Q *.obj *.exe $(TARGET)\. + -rd $(TARGET) diff --git a/README.md b/README.md index d453540..a724f35 100644 --- a/README.md +++ b/README.md @@ -1,27 +1,88 @@ -Introduction: -- -This is a visualization tool for interactive assessment and interpretation of t-SNE projections named as "t-viSNE" developed by the ISOVIS Group (http://cs.lnu.se/isovis/), Linnaeus University (https://lnu.se/en/), Sweden. -Instructions: -- -The visualization has been tested by using Google Chrome and works well for 2560x1440 (2K) resolution and 27'' monitors. -If you want to try the tool in different browsers and resolutions try to zoom out or zoom in until you reach the aforementioned resolution. +[![Build Status](https://travis-ci.org/lvdmaaten/bhtsne.svg)](https://travis-ci.org/lvdmaaten/bhtsne) -Usage: -- -Execute a localhost server with python, nodejs, etc... For example: python -m SimpleHTTPServer 8000 and then use the following url to http://localhost:8000 (in this exampe the port is set to 8000) from your browser. +This software package contains a Barnes-Hut implementation of the t-SNE algorithm. The implementation is described in [this paper](http://lvdmaaten.github.io/publications/papers/JMLR_2014.pdf). + + +# Installation # + +On Linux or OS X, compile the source using the following command: + +``` +g++ sptree.cpp tsne.cpp tsne_main.cpp -o bh_tsne -O2 +``` + +The executable will be called `bh_tsne`. + +On Windows using Visual C++, do the following in your command line: + +- Find the `vcvars64.bat` file in your Visual C++ installation directory. This file may be named `vcvars64.bat` or something similar. For example: + +``` + // Visual Studio 12 + "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\amd64\vcvars64.bat" + + // Visual Studio 2013 Express: + C:\VisualStudioExp2013\VC\bin\x86_amd64\vcvarsx86_amd64.bat +``` + +- From `cmd.exe`, go to the directory containing that .bat file and run it. + +- Go to `bhtsne` directory and run: -Online link for the journal paper publication: -- +``` + nmake -f Makefile.win all +``` + +The executable will be called `windows\bh_tsne.exe`. + +# Usage # + +The code comes with wrappers for Matlab and Python. These wrappers write your data to a file called `data.dat`, run the `bh_tsne` binary, and read the result file `result.dat` that the binary produces. There are also external wrappers available for [Torch](https://github.com/clementfarabet/manifold), [R](https://github.com/jkrijthe/Rtsne), and [Julia](https://github.com/zhmz90/BHTsne.jl). Writing your own wrapper should be straightforward; please refer to one of the existing wrappers for the format of the data and result files. + +Demonstration of usage in Matlab: + +```matlab +filename = websave('mnist_train.mat', 'https://github.com/awni/cs224n-pa4/blob/master/Simple_tSNE/mnist_train.mat?raw=true'); +load(filename); +numDims = 2; pcaDims = 50; perplexity = 50; theta = .5; alg = 'svd'; +map = fast_tsne(digits', numDims, pcaDims, perplexity, theta, alg); +gscatter(map(:,1), map(:,2), labels'); +``` + +Demonstration of usage in Python: + +```python +import numpy as np +import bhtsne + +data = np.loadtxt("mnist2500_X.txt", skiprows=1) + +embedding_array = bhtsne.run_bh_tsne(data, initial_dims=data.shape[1]) +``` + +### Python Wrapper + +Usage: -Cite as: -- -Additional Comments: -- -Please, feel free to download the project or even fork it and apply any changes. Thank you! +```bash +python bhtsne.py [-h] [-d NO_DIMS] [-p PERPLEXITY] [-t THETA] + [-r RANDSEED] [-n INITIAL_DIMS] [-v] [-i INPUT] + [-o OUTPUT] [--use_pca] [--no_pca] [-m MAX_ITER] +``` -References: -- -The data sets included in this project belong to UCI Machine Learning Repository (http://archive.ics.uci.edu/ml) and NOT to the ISOVIS Group (or Linnaeus University). +Below are the various options the wrapper program `bhtsne.py` expects: +- `-h, --help` show this help message and exit +- `-d NO_DIMS, --no_dims` NO_DIMS +- `-p PERPLEXITY, --perplexity` PERPLEXITY +- `-t THETA, --theta` THETA +- `-r RANDSEED, --randseed` RANDSEED +- `-n INITIAL_DIMS, --initial_dims` INITIAL_DIMS +- `-v, --verbose` +- `-i INPUT, --input` INPUT: the input file, expects a TSV with the first row as the header. +- `-o OUTPUT, --output` OUTPUT: A TSV file having each row as the `d` dimensional embedding. +- `--use_pca` +- `--no_pca` +- `-m MAX_ITER, --max_iter` MAX_ITER diff --git a/__pycache__/bhtsne.cpython-37.pyc b/__pycache__/bhtsne.cpython-37.pyc new file mode 100644 index 0000000000000000000000000000000000000000..eded6717f9000527e970439902f78e89a998a51f GIT binary patch literal 6558 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 literal 0 HcmV?d00001 diff --git a/__pycache__/tsne.cpython-37.pyc b/__pycache__/tsne.cpython-37.pyc new file mode 100644 index 0000000000000000000000000000000000000000..7ace798b2f7b8c7d4746ac1d73132bc1698b7f0f GIT binary patch literal 3878 zcma)9O>7)V6|U-^neqI4GVxCmLc?w#mJ&xqNJt@@7~*Avv}-y0!zN84)1K;?>3F7l zT-}q{rdkM`NSq)yv}g}D;=+X+2P6)N8;Ikc`UKkLU`~s~VZ{Z$S3RD1vmnueZ`$Ki`{g)@o&jr}op|KDcw5u@7l-{FE?QL5m-u6HM>{bGd#SuHo|ov&Rm(FuH~? zh4qBH)|6(8LJvE-wkV1cR_y7@47kgp0$O28tBM&>5H(TPdrG1qnpiIi{uW!BJ;K>+ ztw%j$AK&a4`H0zg7tn5@#jm4F*a27Uz&KX$+6;lSS zx0y1}vU!$T%AiqdD2%!Wj^%r*>`b0p(Qq_Qd?)Gq&d8UefxiJrCP&`4r64x*42Jm)oU9LIqdIwFV@8ElRdEG=v9B|9_1 zQD*u(qs;0=qutDm$HUAVL_I9=)y&%T6EEZIt_Avf#&7?M$qGKgzt*q36Zd^*TjRlCW8K5`Hok-HP~=JyhyF57 zwr|r}r|2_lS1Go6i92Yr23qeQ{SSZqn@>KvF|p8%l@3{ko)#MI&=&fHlZ6D|=bS0_ zkl!~_J1ryztYIs=YrtAX%q(S-Lt$3J%vLm-dB%6%PYTN3=d0`)fAEvEtjfZiW5U`p zWEWCxRVEp8jHD;V!(xS{6?&&tWvVhHLE6I^VX5*{W05#!AiQ4l811wnCqLD0slV4p+)TiKg`!$(+8b3h#QhTb*jLU*Z=*&~U)nH~2j z*eIE0_MR`JIJ2VAk0qtF%$8o*^D{FDyKV*d?0AVEqPd3L&{3C}-exQ<; z__}t|58`##zAb`oH?xtdpeH4pysKiAnLAfUU%()~j*b;eyv*zPmCcq}ccfXAvA}K^5S)_Fg!3 zw>QUO?5yAVhJ*A?NU*lE>UdJZHSdzEMpF2ad|3Ko-0__tiQ!sEy_8G60Rcu5O@)Qg z1{P0n#1jvFXwqh?0!Iy;PKoSj&nN4dgl6`8gu-LB`+6_`T1VcGU5{3x=2s%?f1N zb1)xFbrJI;I(6dtFR$c-l^?8h$h+t{gEj?$Uw}CQI46AHkaLNV!+`+c0;mBENUNq? z2Hm7YuIVr+ARH!42{sBaTq#8&Ps_qiE25BAlj6hD!3+{0huLaL@t{m&4I%YU%^H|h zrfbcl3Rfut9tx_sZ>O_r7V9-Nd&p4`P!?b&N^QKs(ZF~HC(Qzs{**MQp!B=6 zg;nBcsT!)HGI&mj3g)K(DYb{~LzEn8TT}%!J~&NHwbiLZqg$ZOtD4rQlxqy0 z8uTaw*jgw78h}GX{)ld^Ex15mg#btwfQ#^@Q#rRN*dc^-f_N(Jd-t4I99^4Hck%9}V`-O86sJp$Q+ zaR?g@$3safN~(slLcBfpq%Xfnl$VHNdO}D-Or5K9*e?LN@mFB!jLy;WWvsf@AViVl z4K!Xz%BJ{Nka%thhinA6uZDMdmLyGcx!XM6HH@hGhf?(}fx*UfUINx{^t>RHU#4RW zanCh^d#+8SSQiMHMdDqX3Ws}{3A1PXj%%#nk>_bg=~z_8Z@mZ^7P)2suJ}GWRw@JD zEr33Hlmlgq=|=?uerA)`jk+!XS||is{5)@iUPZA`=l4-86by^c0dcCJmry>m_yTWZ z74i)Eb;w^TWj53s?P>^g?a}VQ+sth3>AGCXiwc4(&3{5&UB>7NrgVK6iSfX{LA8he Pr&Ho3vt2)PtzG{Q+mYBK literal 0 HcmV?d00001 diff --git a/__pycache__/tsneGrid.cpython-37.pyc b/__pycache__/tsneGrid.cpython-37.pyc new file mode 100644 index 0000000000000000000000000000000000000000..6a6cdb15e77062737c73e3539db3051a419f0890 GIT binary patch literal 7548 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 literal 0 HcmV?d00001 diff --git a/bhtsne.py b/bhtsne.py new file mode 100755 index 0000000..871ec41 --- /dev/null +++ b/bhtsne.py @@ -0,0 +1,241 @@ +#!/usr/bin/env python + +''' +A simple Python wrapper for the bh_tsne binary that makes it easier to use it +for TSV files in a pipeline without any shell script trickery. + +Note: The script does some minimal sanity checking of the input, but don't + expect it to cover all cases. After all, it is a just a wrapper. + +Example: + + > echo -e '1.0\t0.0\n0.0\t1.0' | ./bhtsne.py -d 2 -p 0.1 + -2458.83181442 -6525.87718385 + 2458.83181442 6525.87718385 + +The output will not be normalised, maybe the below one-liner is of interest?: + + python -c 'import numpy; from sys import stdin, stdout; + d = numpy.loadtxt(stdin); d -= d.min(axis=0); d /= d.max(axis=0); + numpy.savetxt(stdout, d, fmt="%.8f", delimiter="\t")' + +Authors: Pontus Stenetorp + Philippe Remy +Version: 2016-03-08 +''' + +# Copyright (c) 2013, Pontus Stenetorp +# +# Permission to use, copy, modify, and/or distribute this software for any +# purpose with or without fee is hereby granted, provided that the above +# copyright notice and this permission notice appear in all copies. +# +# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +from argparse import ArgumentParser, FileType +from os.path import abspath, dirname, isfile, join as path_join +from shutil import rmtree +from struct import calcsize, pack, unpack +from subprocess import Popen +from sys import stderr, stdin, stdout +from tempfile import mkdtemp +from platform import system +from os import devnull +import numpy as np +import os, sys +import io + +### Constants +IS_WINDOWS = True if system() == 'Windows' else False +BH_TSNE_BIN_PATH = path_join(dirname(__file__), 'windows', 'bh_tsne.exe') if IS_WINDOWS else path_join(dirname(__file__), 'bh_tsne') +assert isfile(BH_TSNE_BIN_PATH), ('Unable to find the bh_tsne binary in the ' + 'same directory as this script, have you forgotten to compile it?: {}' + ).format(BH_TSNE_BIN_PATH) +# Default hyper-parameter values from van der Maaten (2014) +# https://lvdmaaten.github.io/publications/papers/JMLR_2014.pdf (Experimental Setup, page 13) +DEFAULT_NO_DIMS = 2 +INITIAL_DIMENSIONS = 50 +DEFAULT_PERPLEXITY = 50 +DEFAULT_THETA = 0.5 +EMPTY_SEED = -1 +DEFAULT_USE_PCA = False +DEFAULT_MAX_ITERATIONS = 1000 + +### + +def _argparse(): + argparse = ArgumentParser('bh_tsne Python wrapper') + argparse.add_argument('-d', '--no_dims', type=int, + default=DEFAULT_NO_DIMS) + argparse.add_argument('-p', '--perplexity', type=float, + default=DEFAULT_PERPLEXITY) + # 0.0 for theta is equivalent to vanilla t-SNE + argparse.add_argument('-t', '--theta', type=float, default=DEFAULT_THETA) + argparse.add_argument('-r', '--randseed', type=int, default=EMPTY_SEED) + argparse.add_argument('-n', '--initial_dims', type=int, default=INITIAL_DIMENSIONS) + argparse.add_argument('-v', '--verbose', action='store_true') + argparse.add_argument('-i', '--input', type=FileType('r'), default=stdin) + argparse.add_argument('-o', '--output', type=FileType('w'), + default=stdout) + argparse.add_argument('--use_pca', action='store_true') + argparse.add_argument('--no_pca', dest='use_pca', action='store_false') + argparse.set_defaults(use_pca=DEFAULT_USE_PCA) + argparse.add_argument('-m', '--max_iter', type=int, default=DEFAULT_MAX_ITERATIONS) + return argparse + + +def _read_unpack(fmt, fh): + return unpack(fmt, fh.read(calcsize(fmt))) + + +def _is_filelike_object(f): + try: + return isinstance(f, (file, io.IOBase)) + except NameError: + # 'file' is not a class in python3 + return isinstance(f, io.IOBase) + + +def init_bh_tsne(samples, workdir, no_dims, initial_dims, perplexity, theta, randseed, verbose, use_pca, max_iter): + + if use_pca: + samples = samples - np.mean(samples, axis=0) + cov_x = np.dot(np.transpose(samples), samples) + [eig_val, eig_vec] = np.linalg.eig(cov_x) + + # sorting the eigen-values in the descending order + eig_vec = eig_vec[:, eig_val.argsort()[::-1]] + + if initial_dims > len(eig_vec): + initial_dims = len(eig_vec) + + # truncating the eigen-vectors matrix to keep the most important vectors + eig_vec = np.real(eig_vec[:, :initial_dims]) + samples = np.dot(samples, eig_vec) + + # Assume that the dimensionality of the first sample is representative for + # the whole batch + sample_dim = len(samples[0]) + sample_count = len(samples) + + # Note: The binary format used by bh_tsne is roughly the same as for + # vanilla tsne + with open(path_join(workdir, 'data.dat'), 'wb') as data_file: + # Write the bh_tsne header + data_file.write(pack('iiddii', sample_count, sample_dim, theta, perplexity, no_dims, max_iter)) + # Then write the data + for sample in samples: + data_file.write(pack('{}d'.format(len(sample)), *sample)) + # Write random seed if specified + if randseed != EMPTY_SEED: + data_file.write(pack('i', randseed)) + +def load_data(input_file): + # Read the data, using numpy's good judgement + return np.loadtxt(input_file) + +def bh_tsne(workdir, verbose=False): + + # Call bh_tsne and let it do its thing + with open(devnull, 'w') as dev_null: + bh_tsne_p = Popen((abspath(BH_TSNE_BIN_PATH), ), cwd=workdir, + # bh_tsne is very noisy on stdout, tell it to use stderr + # if it is to print any output + stdout=stderr if verbose else dev_null) + bh_tsne_p.wait() + assert not bh_tsne_p.returncode, ('ERROR: Call to bh_tsne exited ' + 'with a non-zero return code exit status, please ' + + ('enable verbose mode and ' if not verbose else '') + + 'refer to the bh_tsne output for further details') + + # Read and pass on the results + with open(path_join(workdir, 'result.dat'), 'rb') as output_file: + # The first two integers are just the number of samples and the + # dimensionality + result_samples, result_dims = _read_unpack('ii', output_file) + # Collect the results, but they may be out of order + results = [_read_unpack('{}d'.format(result_dims), output_file) + for _ in range(result_samples)] + # Now collect the landmark data so that we can return the data in + # the order it arrived + results = [(_read_unpack('i', output_file), e) for e in results] + # Put the results in order and yield it + results.sort() + for _, result in results: + yield result + # The last piece of data is the cost for each sample, we ignore it + #read_unpack('{}d'.format(sample_count), output_file) + +def run_bh_tsne(data, no_dims=2, perplexity=50, theta=0.5, randseed=-1, verbose=False, initial_dims=50, use_pca=True, max_iter=1000): + ''' + Run TSNE based on the Barnes-HT algorithm + + Parameters: + ---------- + data: file or numpy.array + The data used to run TSNE, one sample per row + no_dims: int + perplexity: int + randseed: int + theta: float + initial_dims: int + verbose: boolean + use_pca: boolean + max_iter: int + ''' + + # bh_tsne works with fixed input and output paths, give it a temporary + # directory to work in so we don't clutter the filesystem + tmp_dir_path = mkdtemp() + + # Load data in forked process to free memory for actual bh_tsne calculation + child_pid = os.fork() + if child_pid == 0: + if _is_filelike_object(data): + data = load_data(data) + + init_bh_tsne(data, tmp_dir_path, no_dims, perplexity, theta, randseed, verbose, initial_dims, use_pca, max_iter) + sys.exit(0) + else: + try: + os.waitpid(child_pid, 0) + except KeyboardInterrupt: + print("Please run this program directly from python and not from ipython or jupyter.") + print("This is an issue due to asynchronous error handling.") + + res = [] + for result in bh_tsne(tmp_dir_path, verbose): + sample_res = [] + for r in result: + sample_res.append(r) + res.append(sample_res) + rmtree(tmp_dir_path) + return np.asarray(res, dtype='float64') + + +def main(args): + parser = _argparse() + + if len(args) <= 1: + print(parser.print_help()) + return + + argp = parser.parse_args(args[1:]) + + for result in run_bh_tsne(argp.input, no_dims=argp.no_dims, perplexity=argp.perplexity, theta=argp.theta, randseed=argp.randseed, + verbose=argp.verbose, initial_dims=argp.initial_dims, use_pca=argp.use_pca, max_iter=argp.max_iter): + fmt = '' + for i in range(1, len(result)): + fmt = fmt + '{}\t' + fmt = fmt + '{}\n' + argp.output.write(fmt.format(*result)) + +if __name__ == '__main__': + from sys import argv + exit(main(argv)) diff --git a/css/style.css b/css/style.css index 8048a00..7b8beab 100755 --- a/css/style.css +++ b/css/style.css @@ -130,7 +130,7 @@ cursor: default; /* Styling of the main canvas */ #modtSNEcanvas { width: 50vw !important; - height: 50vw !important; + height: 42.8vw !important; border: 1px solid black; position: absolute; margin-left: -15px; @@ -178,18 +178,26 @@ cursor: default; height: 5.4vw !important; } +.med-bottomProv { + margin-top: 6.7vw; + margin-left: -16px; + width: 50.1vw !important; + height: 6.4vw !important; +} + /* Styling of the main SVG behind canvas */ #modtSNEcanvas_svg { width: 50vw ; - height: 50vw ; + height: 42.8vw ; opacity: 1.0; + margin-top: 178px; position:absolute; z-index: 2; } #modtSNEcanvas_svg_Schema { width: 50vw; - height: 50vw; + height: 42.8vw; opacity: 1.0; position:absolute; margin-left: -15px; @@ -440,6 +448,16 @@ svg#legend3 { margin-left:10px; } +/* Load and Save Analysis Buttons Styling */ +.buttonOptimize { + text-align: center; + text-decoration: none; + display: inline-block; + font-size: 15px; + margin-left:10px; + margin-top: -2px; +} + /* Draw a red colored button for reset */ #FactRes{ color: red; @@ -485,3 +503,51 @@ ul { width: 6vw; height: 9.55vw; } + +#loader { + border: 16px solid #f3f3f3; + border-radius: 50%; + border-top: 16px solid #3498db; + width: 120px; + height: 120px; + -webkit-animation: spin 2s linear infinite; /* Safari */ + animation: spin 2s linear infinite; + margin-left: 375px; + margin-top: 500px; + margin-bottom: 500px; +} + + +@-webkit-keyframes spin { + 0% { -webkit-transform: rotate(0deg); } + 100% { -webkit-transform: rotate(360deg); } +} + +@keyframes spin { + 0% { transform: rotate(0deg); } + 100% { transform: rotate(360deg); } +} + +/* Add animation to "page content" */ +.animate-bottom { + position: relative; + -webkit-animation-name: animatebottom; + -webkit-animation-duration: 1s; + animation-name: animatebottom; + animation-duration: 1s +} + +@-webkit-keyframes animatebottom { + from { bottom:-100px; opacity:0 } + to { bottom:0px; opacity:1 } +} + +@keyframes animatebottom { + from{ bottom:-100px; opacity:0 } + to{ bottom:0; opacity:1 } +} + +#myDiv { + display: none; + text-align: center; +} \ No newline at end of file diff --git a/css/w3.css b/css/w3.css new file mode 100755 index 0000000..26837ef --- /dev/null +++ b/css/w3.css @@ -0,0 +1,232 @@ +/* W3.CSS 4.13 June 2019 by Jan Egil and Borge Refsnes */ +html{box-sizing:border-box}*,*:before,*:after{box-sizing:inherit} +/* Extract from normalize.css by Nicolas Gallagher and Jonathan Neal git.io/normalize */ +html{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0} +article,aside,details,figcaption,figure,footer,header,main,menu,nav,section{display:block}summary{display:list-item} +audio,canvas,progress,video{display:inline-block}progress{vertical-align:baseline} +audio:not([controls]){display:none;height:0}[hidden],template{display:none} +a{background-color:transparent}a:active,a:hover{outline-width:0} +abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted} +b,strong{font-weight:bolder}dfn{font-style:italic}mark{background:#ff0;color:#000} +small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline} +sub{bottom:-0.25em}sup{top:-0.5em}figure{margin:1em 40px}img{border-style:none} +code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}hr{box-sizing:content-box;height:0;overflow:visible} +button,input,select,textarea,optgroup{font:inherit;margin:0}optgroup{font-weight:bold} +button,input{overflow:visible}button,select{text-transform:none} +button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button} +button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0} +button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText} +fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:.35em .625em .75em} +legend{color:inherit;display:table;max-width:100%;padding:0;white-space:normal}textarea{overflow:auto} +[type=checkbox],[type=radio]{padding:0} +[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto} +[type=search]{-webkit-appearance:textfield;outline-offset:-2px} +[type=search]::-webkit-search-decoration{-webkit-appearance:none} +::-webkit-file-upload-button{-webkit-appearance:button;font:inherit} +/* End extract */ +html,body{font-family:Verdana,sans-serif;font-size:15px;line-height:1.5}html{overflow-x:hidden} +h1{font-size:36px}h2{font-size:30px}h3{font-size:24px}h4{font-size:20px}h5{font-size:18px}h6{font-size:16px}.w3-serif{font-family:serif} +h1,h2,h3,h4,h5,h6{font-family:"Segoe UI",Arial,sans-serif;font-weight:400;margin:10px 0}.w3-wide{letter-spacing:4px} +hr{border:0;border-top:1px solid #eee;margin:20px 0} +.w3-image{max-width:100%;height:auto}img{vertical-align:middle}a{color:inherit} +.w3-table,.w3-table-all{border-collapse:collapse;border-spacing:0;width:100%;display:table}.w3-table-all{border:1px solid #ccc} +.w3-bordered tr,.w3-table-all tr{border-bottom:1px solid #ddd}.w3-striped tbody tr:nth-child(even){background-color:#f1f1f1} +.w3-table-all tr:nth-child(odd){background-color:#fff}.w3-table-all tr:nth-child(even){background-color:#f1f1f1} +.w3-hoverable tbody tr:hover,.w3-ul.w3-hoverable li:hover{background-color:#ccc}.w3-centered tr th,.w3-centered tr td{text-align:center} +.w3-table td,.w3-table th,.w3-table-all td,.w3-table-all th{padding:8px 8px;display:table-cell;text-align:left;vertical-align:top} +.w3-table th:first-child,.w3-table td:first-child,.w3-table-all th:first-child,.w3-table-all td:first-child{padding-left:16px} +.w3-btn,.w3-button{border:none;display:inline-block;padding:8px 16px;vertical-align:middle;overflow:hidden;text-decoration:none;color:inherit;background-color:inherit;text-align:center;cursor:pointer;white-space:nowrap} +.w3-btn:hover{box-shadow:0 8px 16px 0 rgba(0,0,0,0.2),0 6px 20px 0 rgba(0,0,0,0.19)} +.w3-btn,.w3-button{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none} +.w3-disabled,.w3-btn:disabled,.w3-button:disabled{cursor:not-allowed;opacity:0.3}.w3-disabled *,:disabled *{pointer-events:none} +.w3-btn.w3-disabled:hover,.w3-btn:disabled:hover{box-shadow:none} +.w3-badge,.w3-tag{background-color:#000;color:#fff;display:inline-block;padding-left:8px;padding-right:8px;text-align:center}.w3-badge{border-radius:50%} +.w3-ul{list-style-type:none;padding:0;margin:0}.w3-ul li{padding:8px 16px;border-bottom:1px solid #ddd}.w3-ul li:last-child{border-bottom:none} +.w3-tooltip,.w3-display-container{position:relative}.w3-tooltip .w3-text{display:none}.w3-tooltip:hover .w3-text{display:inline-block} +.w3-ripple:active{opacity:0.5}.w3-ripple{transition:opacity 0s} +.w3-input{padding:8px;display:block;border:none;border-bottom:1px solid #ccc;width:100%} +.w3-select{padding:9px 0;width:100%;border:none;border-bottom:1px solid #ccc} +.w3-dropdown-click,.w3-dropdown-hover{position:relative;display:inline-block;cursor:pointer} +.w3-dropdown-hover:hover .w3-dropdown-content{display:block} +.w3-dropdown-hover:first-child,.w3-dropdown-click:hover{background-color:#ccc;color:#000} +.w3-dropdown-hover:hover > .w3-button:first-child,.w3-dropdown-click:hover > .w3-button:first-child{background-color:#ccc;color:#000} +.w3-dropdown-content{cursor:auto;color:#000;background-color:#fff;display:none;position:absolute;min-width:160px;margin:0;padding:0;z-index:1} +.w3-check,.w3-radio{width:24px;height:24px;position:relative;top:6px} +.w3-sidebar{height:100%;width:200px;background-color:#fff;position:fixed!important;z-index:1;overflow:auto} +.w3-bar-block .w3-dropdown-hover,.w3-bar-block .w3-dropdown-click{width:100%} +.w3-bar-block .w3-dropdown-hover .w3-dropdown-content,.w3-bar-block .w3-dropdown-click .w3-dropdown-content{min-width:100%} +.w3-bar-block .w3-dropdown-hover .w3-button,.w3-bar-block .w3-dropdown-click .w3-button{width:100%;text-align:left;padding:8px 16px} +.w3-main,#main{transition:margin-left .4s} +.w3-modal{z-index:3;display:none;padding-top:100px;position:fixed;left:0;top:0;width:100%;height:100%;overflow:auto;background-color:rgb(0,0,0);background-color:rgba(0,0,0,0.4)} +.w3-modal-content{margin:auto;background-color:#fff;position:relative;padding:0;outline:0;width:600px} +.w3-bar{width:100%;overflow:hidden}.w3-center .w3-bar{display:inline-block;width:auto} +.w3-bar .w3-bar-item{padding:8px 16px;float:left;width:auto;border:none;display:block;outline:0} +.w3-bar .w3-dropdown-hover,.w3-bar .w3-dropdown-click{position:static;float:left} +.w3-bar .w3-button{white-space:normal} +.w3-bar-block .w3-bar-item{width:100%;display:block;padding:8px 16px;text-align:left;border:none;white-space:normal;float:none;outline:0} +.w3-bar-block.w3-center .w3-bar-item{text-align:center}.w3-block{display:block;width:100%} +.w3-responsive{display:block;overflow-x:auto} +.w3-container:after,.w3-container:before,.w3-panel:after,.w3-panel:before,.w3-row:after,.w3-row:before,.w3-row-padding:after,.w3-row-padding:before, +.w3-cell-row:before,.w3-cell-row:after,.w3-clear:after,.w3-clear:before,.w3-bar:before,.w3-bar:after{content:"";display:table;clear:both} +.w3-col,.w3-half,.w3-third,.w3-twothird,.w3-threequarter,.w3-quarter{float:left;width:100%} +.w3-col.s1{width:8.33333%}.w3-col.s2{width:16.66666%}.w3-col.s3{width:24.99999%}.w3-col.s4{width:33.33333%} +.w3-col.s5{width:41.66666%}.w3-col.s6{width:49.99999%}.w3-col.s7{width:58.33333%}.w3-col.s8{width:66.66666%} +.w3-col.s9{width:74.99999%}.w3-col.s10{width:83.33333%}.w3-col.s11{width:91.66666%}.w3-col.s12{width:99.99999%} +@media (min-width:601px){.w3-col.m1{width:8.33333%}.w3-col.m2{width:16.66666%}.w3-col.m3,.w3-quarter{width:24.99999%}.w3-col.m4,.w3-third{width:33.33333%} +.w3-col.m5{width:41.66666%}.w3-col.m6,.w3-half{width:49.99999%}.w3-col.m7{width:58.33333%}.w3-col.m8,.w3-twothird{width:66.66666%} +.w3-col.m9,.w3-threequarter{width:74.99999%}.w3-col.m10{width:83.33333%}.w3-col.m11{width:91.66666%}.w3-col.m12{width:99.99999%}} +@media (min-width:993px){.w3-col.l1{width:8.33333%}.w3-col.l2{width:16.66666%}.w3-col.l3{width:24.99999%}.w3-col.l4{width:33.33333%} +.w3-col.l5{width:41.66666%}.w3-col.l6{width:49.99999%}.w3-col.l7{width:58.33333%}.w3-col.l8{width:66.66666%} +.w3-col.l9{width:74.99999%}.w3-col.l10{width:83.33333%}.w3-col.l11{width:91.66666%}.w3-col.l12{width:99.99999%}} +.w3-rest{overflow:hidden}.w3-stretch{margin-left:-16px;margin-right:-16px} +.w3-content,.w3-auto{margin-left:auto;margin-right:auto}.w3-content{max-width:980px}.w3-auto{max-width:1140px} +.w3-cell-row{display:table;width:100%}.w3-cell{display:table-cell} +.w3-cell-top{vertical-align:top}.w3-cell-middle{vertical-align:middle}.w3-cell-bottom{vertical-align:bottom} +.w3-hide{display:none!important}.w3-show-block,.w3-show{display:block!important}.w3-show-inline-block{display:inline-block!important} +@media (max-width:1205px){.w3-auto{max-width:95%}} +@media (max-width:600px){.w3-modal-content{margin:0 10px;width:auto!important}.w3-modal{padding-top:30px} +.w3-dropdown-hover.w3-mobile .w3-dropdown-content,.w3-dropdown-click.w3-mobile .w3-dropdown-content{position:relative} +.w3-hide-small{display:none!important}.w3-mobile{display:block;width:100%!important}.w3-bar-item.w3-mobile,.w3-dropdown-hover.w3-mobile,.w3-dropdown-click.w3-mobile{text-align:center} +.w3-dropdown-hover.w3-mobile,.w3-dropdown-hover.w3-mobile .w3-btn,.w3-dropdown-hover.w3-mobile .w3-button,.w3-dropdown-click.w3-mobile,.w3-dropdown-click.w3-mobile .w3-btn,.w3-dropdown-click.w3-mobile .w3-button{width:100%}} +@media (max-width:768px){.w3-modal-content{width:500px}.w3-modal{padding-top:50px}} +@media (min-width:993px){.w3-modal-content{width:900px}.w3-hide-large{display:none!important}.w3-sidebar.w3-collapse{display:block!important}} +@media (max-width:992px) and (min-width:601px){.w3-hide-medium{display:none!important}} +@media (max-width:992px){.w3-sidebar.w3-collapse{display:none}.w3-main{margin-left:0!important;margin-right:0!important}.w3-auto{max-width:100%}} +.w3-top,.w3-bottom{position:fixed;width:100%;z-index:1}.w3-top{top:0}.w3-bottom{bottom:0} +.w3-overlay{position:fixed;display:none;width:100%;height:100%;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,0.5);z-index:2} +.w3-display-topleft{position:absolute;left:0;top:0}.w3-display-topright{position:absolute;right:0;top:0} +.w3-display-bottomleft{position:absolute;left:0;bottom:0}.w3-display-bottomright{position:absolute;right:0;bottom:0} +.w3-display-middle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%)} +.w3-display-left{position:absolute;top:50%;left:0%;transform:translate(0%,-50%);-ms-transform:translate(-0%,-50%)} +.w3-display-right{position:absolute;top:50%;right:0%;transform:translate(0%,-50%);-ms-transform:translate(0%,-50%)} +.w3-display-topmiddle{position:absolute;left:50%;top:0;transform:translate(-50%,0%);-ms-transform:translate(-50%,0%)} +.w3-display-bottommiddle{position:absolute;left:50%;bottom:0;transform:translate(-50%,0%);-ms-transform:translate(-50%,0%)} +.w3-display-container:hover .w3-display-hover{display:block}.w3-display-container:hover span.w3-display-hover{display:inline-block}.w3-display-hover{display:none} +.w3-display-position{position:absolute} +.w3-circle{border-radius:50%} +.w3-round-small{border-radius:2px}.w3-round,.w3-round-medium{border-radius:4px}.w3-round-large{border-radius:8px}.w3-round-xlarge{border-radius:16px}.w3-round-xxlarge{border-radius:32px} +.w3-row-padding,.w3-row-padding>.w3-half,.w3-row-padding>.w3-third,.w3-row-padding>.w3-twothird,.w3-row-padding>.w3-threequarter,.w3-row-padding>.w3-quarter,.w3-row-padding>.w3-col{padding:0 8px} +.w3-container,.w3-panel{padding:0.01em 16px}.w3-panel{margin-top:16px;margin-bottom:16px} +.w3-code,.w3-codespan{font-family:Consolas,"courier new";font-size:16px} +.w3-code{width:auto;background-color:#fff;padding:8px 12px;border-left:4px solid #4CAF50;word-wrap:break-word} +.w3-codespan{color:crimson;background-color:#f1f1f1;padding-left:4px;padding-right:4px;font-size:110%} +.w3-card,.w3-card-2{box-shadow:0 2px 5px 0 rgba(0,0,0,0.16),0 2px 10px 0 rgba(0,0,0,0.12)} +.w3-card-4,.w3-hover-shadow:hover{box-shadow:0 4px 10px 0 rgba(0,0,0,0.2),0 4px 20px 0 rgba(0,0,0,0.19)} +.w3-spin{animation:w3-spin 2s infinite linear}@keyframes w3-spin{0%{transform:rotate(0deg)}100%{transform:rotate(359deg)}} +.w3-animate-fading{animation:fading 10s infinite}@keyframes fading{0%{opacity:0}50%{opacity:1}100%{opacity:0}} +.w3-animate-opacity{animation:opac 0.8s}@keyframes opac{from{opacity:0} to{opacity:1}} +.w3-animate-top{position:relative;animation:animatetop 0.4s}@keyframes animatetop{from{top:-300px;opacity:0} to{top:0;opacity:1}} +.w3-animate-left{position:relative;animation:animateleft 0.4s}@keyframes animateleft{from{left:-300px;opacity:0} to{left:0;opacity:1}} +.w3-animate-right{position:relative;animation:animateright 0.4s}@keyframes animateright{from{right:-300px;opacity:0} to{right:0;opacity:1}} +.w3-animate-bottom{position:relative;animation:animatebottom 0.4s}@keyframes animatebottom{from{bottom:-300px;opacity:0} to{bottom:0;opacity:1}} +.w3-animate-zoom {animation:animatezoom 0.6s}@keyframes animatezoom{from{transform:scale(0)} to{transform:scale(1)}} +.w3-animate-input{transition:width 0.4s ease-in-out}.w3-animate-input:focus{width:100%!important} +.w3-opacity,.w3-hover-opacity:hover{opacity:0.60}.w3-opacity-off,.w3-hover-opacity-off:hover{opacity:1} +.w3-opacity-max{opacity:0.25}.w3-opacity-min{opacity:0.75} +.w3-greyscale-max,.w3-grayscale-max,.w3-hover-greyscale:hover,.w3-hover-grayscale:hover{filter:grayscale(100%)} +.w3-greyscale,.w3-grayscale{filter:grayscale(75%)}.w3-greyscale-min,.w3-grayscale-min{filter:grayscale(50%)} +.w3-sepia{filter:sepia(75%)}.w3-sepia-max,.w3-hover-sepia:hover{filter:sepia(100%)}.w3-sepia-min{filter:sepia(50%)} +.w3-tiny{font-size:10px!important}.w3-small{font-size:12px!important}.w3-medium{font-size:15px!important}.w3-large{font-size:18px!important} +.w3-xlarge{font-size:24px!important}.w3-xxlarge{font-size:36px!important}.w3-xxxlarge{font-size:48px!important}.w3-jumbo{font-size:64px!important} +.w3-left-align{text-align:left!important}.w3-right-align{text-align:right!important}.w3-justify{text-align:justify!important}.w3-center{text-align:center!important} +.w3-border-0{border:0!important}.w3-border{border:1px solid #ccc!important} +.w3-border-top{border-top:1px solid #ccc!important}.w3-border-bottom{border-bottom:1px solid #ccc!important} +.w3-border-left{border-left:1px solid #ccc!important}.w3-border-right{border-right:1px solid #ccc!important} +.w3-topbar{border-top:6px solid #ccc!important}.w3-bottombar{border-bottom:6px solid #ccc!important} +.w3-leftbar{border-left:6px solid #ccc!important}.w3-rightbar{border-right:6px solid #ccc!important} +.w3-section,.w3-code{margin-top:16px!important;margin-bottom:16px!important} +.w3-margin{margin:16px!important}.w3-margin-top{margin-top:16px!important}.w3-margin-bottom{margin-bottom:16px!important} +.w3-margin-left{margin-left:16px!important}.w3-margin-right{margin-right:16px!important} +.w3-padding-small{padding:4px 8px!important}.w3-padding{padding:8px 16px!important}.w3-padding-large{padding:12px 24px!important} +.w3-padding-16{padding-top:16px!important;padding-bottom:16px!important}.w3-padding-24{padding-top:24px!important;padding-bottom:24px!important} +.w3-padding-32{padding-top:32px!important;padding-bottom:32px!important}.w3-padding-48{padding-top:48px!important;padding-bottom:48px!important} +.w3-padding-64{padding-top:64px!important;padding-bottom:64px!important} +.w3-left{float:left!important}.w3-right{float:right!important} +.w3-button:hover{color:#000!important;background-color:#ccc!important} +.w3-transparent,.w3-hover-none:hover{background-color:transparent!important} +.w3-hover-none:hover{box-shadow:none!important} +/* Colors */ +.w3-amber,.w3-hover-amber:hover{color:#000!important;background-color:#ffc107!important} +.w3-aqua,.w3-hover-aqua:hover{color:#000!important;background-color:#00ffff!important} +.w3-blue,.w3-hover-blue:hover{color:#fff!important;background-color:#2196F3!important} +.w3-light-blue,.w3-hover-light-blue:hover{color:#000!important;background-color:#87CEEB!important} +.w3-brown,.w3-hover-brown:hover{color:#fff!important;background-color:#795548!important} +.w3-cyan,.w3-hover-cyan:hover{color:#000!important;background-color:#00bcd4!important} +.w3-blue-grey,.w3-hover-blue-grey:hover,.w3-blue-gray,.w3-hover-blue-gray:hover{color:#fff!important;background-color:#607d8b!important} +.w3-green,.w3-hover-green:hover{color:#fff!important;background-color:#4CAF50!important} +.w3-light-green,.w3-hover-light-green:hover{color:#000!important;background-color:#8bc34a!important} +.w3-indigo,.w3-hover-indigo:hover{color:#fff!important;background-color:#3f51b5!important} +.w3-khaki,.w3-hover-khaki:hover{color:#000!important;background-color:#f0e68c!important} +.w3-lime,.w3-hover-lime:hover{color:#000!important;background-color:#cddc39!important} +.w3-orange,.w3-hover-orange:hover{color:#000!important;background-color:#ff9800!important} +.w3-deep-orange,.w3-hover-deep-orange:hover{color:#fff!important;background-color:#ff5722!important} +.w3-pink,.w3-hover-pink:hover{color:#fff!important;background-color:#e91e63!important} +.w3-purple,.w3-hover-purple:hover{color:#fff!important;background-color:#9c27b0!important} +.w3-deep-purple,.w3-hover-deep-purple:hover{color:#fff!important;background-color:#673ab7!important} +.w3-red,.w3-hover-red:hover{color:#fff!important;background-color:#f44336!important} +.w3-sand,.w3-hover-sand:hover{color:#000!important;background-color:#fdf5e6!important} +.w3-teal,.w3-hover-teal:hover{color:#fff!important;background-color:#009688!important} +.w3-yellow,.w3-hover-yellow:hover{color:#000!important;background-color:#ffeb3b!important} +.w3-white,.w3-hover-white:hover{color:#000!important;background-color:#fff!important} +.w3-black,.w3-hover-black:hover{color:#fff!important;background-color:#000!important} +.w3-grey,.w3-hover-grey:hover,.w3-gray,.w3-hover-gray:hover{color:#000!important;background-color:#9e9e9e!important} +.w3-light-grey,.w3-hover-light-grey:hover,.w3-light-gray,.w3-hover-light-gray:hover{color:#000!important;background-color:#f1f1f1!important} +.w3-dark-grey,.w3-hover-dark-grey:hover,.w3-dark-gray,.w3-hover-dark-gray:hover{color:#fff!important;background-color:#616161!important} +.w3-pale-red,.w3-hover-pale-red:hover{color:#000!important;background-color:#ffdddd!important} +.w3-pale-green,.w3-hover-pale-green:hover{color:#000!important;background-color:#ddffdd!important} +.w3-pale-yellow,.w3-hover-pale-yellow:hover{color:#000!important;background-color:#ffffcc!important} +.w3-pale-blue,.w3-hover-pale-blue:hover{color:#000!important;background-color:#ddffff!important} +.w3-text-amber,.w3-hover-text-amber:hover{color:#ffc107!important} +.w3-text-aqua,.w3-hover-text-aqua:hover{color:#00ffff!important} +.w3-text-blue,.w3-hover-text-blue:hover{color:#2196F3!important} +.w3-text-light-blue,.w3-hover-text-light-blue:hover{color:#87CEEB!important} +.w3-text-brown,.w3-hover-text-brown:hover{color:#795548!important} +.w3-text-cyan,.w3-hover-text-cyan:hover{color:#00bcd4!important} +.w3-text-blue-grey,.w3-hover-text-blue-grey:hover,.w3-text-blue-gray,.w3-hover-text-blue-gray:hover{color:#607d8b!important} +.w3-text-green,.w3-hover-text-green:hover{color:#4CAF50!important} +.w3-text-light-green,.w3-hover-text-light-green:hover{color:#8bc34a!important} +.w3-text-indigo,.w3-hover-text-indigo:hover{color:#3f51b5!important} +.w3-text-khaki,.w3-hover-text-khaki:hover{color:#b4aa50!important} +.w3-text-lime,.w3-hover-text-lime:hover{color:#cddc39!important} +.w3-text-orange,.w3-hover-text-orange:hover{color:#ff9800!important} +.w3-text-deep-orange,.w3-hover-text-deep-orange:hover{color:#ff5722!important} +.w3-text-pink,.w3-hover-text-pink:hover{color:#e91e63!important} +.w3-text-purple,.w3-hover-text-purple:hover{color:#9c27b0!important} +.w3-text-deep-purple,.w3-hover-text-deep-purple:hover{color:#673ab7!important} +.w3-text-red,.w3-hover-text-red:hover{color:#f44336!important} +.w3-text-sand,.w3-hover-text-sand:hover{color:#fdf5e6!important} +.w3-text-teal,.w3-hover-text-teal:hover{color:#009688!important} +.w3-text-yellow,.w3-hover-text-yellow:hover{color:#d2be0e!important} +.w3-text-white,.w3-hover-text-white:hover{color:#fff!important} +.w3-text-black,.w3-hover-text-black:hover{color:#000!important} +.w3-text-grey,.w3-hover-text-grey:hover,.w3-text-gray,.w3-hover-text-gray:hover{color:#757575!important} +.w3-text-light-grey,.w3-hover-text-light-grey:hover,.w3-text-light-gray,.w3-hover-text-light-gray:hover{color:#f1f1f1!important} +.w3-text-dark-grey,.w3-hover-text-dark-grey:hover,.w3-text-dark-gray,.w3-hover-text-dark-gray:hover{color:#3a3a3a!important} +.w3-border-amber,.w3-hover-border-amber:hover{border-color:#ffc107!important} +.w3-border-aqua,.w3-hover-border-aqua:hover{border-color:#00ffff!important} +.w3-border-blue,.w3-hover-border-blue:hover{border-color:#2196F3!important} +.w3-border-light-blue,.w3-hover-border-light-blue:hover{border-color:#87CEEB!important} +.w3-border-brown,.w3-hover-border-brown:hover{border-color:#795548!important} +.w3-border-cyan,.w3-hover-border-cyan:hover{border-color:#00bcd4!important} +.w3-border-blue-grey,.w3-hover-border-blue-grey:hover,.w3-border-blue-gray,.w3-hover-border-blue-gray:hover{border-color:#607d8b!important} +.w3-border-green,.w3-hover-border-green:hover{border-color:#4CAF50!important} +.w3-border-light-green,.w3-hover-border-light-green:hover{border-color:#8bc34a!important} +.w3-border-indigo,.w3-hover-border-indigo:hover{border-color:#3f51b5!important} +.w3-border-khaki,.w3-hover-border-khaki:hover{border-color:#f0e68c!important} +.w3-border-lime,.w3-hover-border-lime:hover{border-color:#cddc39!important} +.w3-border-orange,.w3-hover-border-orange:hover{border-color:#ff9800!important} +.w3-border-deep-orange,.w3-hover-border-deep-orange:hover{border-color:#ff5722!important} +.w3-border-pink,.w3-hover-border-pink:hover{border-color:#e91e63!important} +.w3-border-purple,.w3-hover-border-purple:hover{border-color:#9c27b0!important} +.w3-border-deep-purple,.w3-hover-border-deep-purple:hover{border-color:#673ab7!important} +.w3-border-red,.w3-hover-border-red:hover{border-color:#f44336!important} +.w3-border-sand,.w3-hover-border-sand:hover{border-color:#fdf5e6!important} +.w3-border-teal,.w3-hover-border-teal:hover{border-color:#009688!important} +.w3-border-yellow,.w3-hover-border-yellow:hover{border-color:#ffeb3b!important} +.w3-border-white,.w3-hover-border-white:hover{border-color:#fff!important} +.w3-border-black,.w3-hover-border-black:hover{border-color:#000!important} +.w3-border-grey,.w3-hover-border-grey:hover,.w3-border-gray,.w3-hover-border-gray:hover{border-color:#9e9e9e!important} +.w3-border-light-grey,.w3-hover-border-light-grey:hover,.w3-border-light-gray,.w3-hover-border-light-gray:hover{border-color:#f1f1f1!important} +.w3-border-dark-grey,.w3-hover-border-dark-grey:hover,.w3-border-dark-gray,.w3-hover-border-dark-gray:hover{border-color:#616161!important} +.w3-border-pale-red,.w3-hover-border-pale-red:hover{border-color:#ffe7e7!important}.w3-border-pale-green,.w3-hover-border-pale-green:hover{border-color:#e7ffe7!important} +.w3-border-pale-yellow,.w3-hover-border-pale-yellow:hover{border-color:#ffffcc!important}.w3-border-pale-blue,.w3-hover-border-pale-blue:hover{border-color:#e7ffff!important} \ No newline at end of file diff --git a/data/winequality-red.csv b/data/winequality-red.csv deleted file mode 100644 index 955bff3..0000000 --- a/data/winequality-red.csv +++ /dev/null @@ -1,1600 +0,0 @@ -"fix ac";"vol ac";"cit ac";"res sugar";"chlor";"f sul diox";"t sul diox";"dens";"pH";"sulph";"alc";"quality*" -7.4;0.7;0;1.9;0.076;11;34;0.9978;3.51;0.56;9.4;5 -7.8;0.88;0;2.6;0.098;25;67;0.9968;3.2;0.68;9.8;5 -7.8;0.76;0.04;2.3;0.092;15;54;0.997;3.26;0.65;9.8;5 -11.2;0.28;0.56;1.9;0.075;17;60;0.998;3.16;0.58;9.8;6 -7.4;0.7;0;1.9;0.076;11;34;0.9978;3.51;0.56;9.4;5 -7.4;0.66;0;1.8;0.075;13;40;0.9978;3.51;0.56;9.4;5 -7.9;0.6;0.06;1.6;0.069;15;59;0.9964;3.3;0.46;9.4;5 -7.3;0.65;0;1.2;0.065;15;21;0.9946;3.39;0.47;10;7 -7.8;0.58;0.02;2;0.073;9;18;0.9968;3.36;0.57;9.5;7 -7.5;0.5;0.36;6.1;0.071;17;102;0.9978;3.35;0.8;10.5;5 -6.7;0.58;0.08;1.8;0.097;15;65;0.9959;3.28;0.54;9.2;5 -7.5;0.5;0.36;6.1;0.071;17;102;0.9978;3.35;0.8;10.5;5 -5.6;0.615;0;1.6;0.089;16;59;0.9943;3.58;0.52;9.9;5 -7.8;0.61;0.29;1.6;0.114;9;29;0.9974;3.26;1.56;9.1;5 -8.9;0.62;0.18;3.8;0.176;52;145;0.9986;3.16;0.88;9.2;5 -8.9;0.62;0.19;3.9;0.17;51;148;0.9986;3.17;0.93;9.2;5 -8.5;0.28;0.56;1.8;0.092;35;103;0.9969;3.3;0.75;10.5;7 -8.1;0.56;0.28;1.7;0.368;16;56;0.9968;3.11;1.28;9.3;5 -7.4;0.59;0.08;4.4;0.086;6;29;0.9974;3.38;0.5;9;4 -7.9;0.32;0.51;1.8;0.341;17;56;0.9969;3.04;1.08;9.2;6 -8.9;0.22;0.48;1.8;0.077;29;60;0.9968;3.39;0.53;9.4;6 -7.6;0.39;0.31;2.3;0.082;23;71;0.9982;3.52;0.65;9.7;5 -7.9;0.43;0.21;1.6;0.106;10;37;0.9966;3.17;0.91;9.5;5 -8.5;0.49;0.11;2.3;0.084;9;67;0.9968;3.17;0.53;9.4;5 -6.9;0.4;0.14;2.4;0.085;21;40;0.9968;3.43;0.63;9.7;6 -6.3;0.39;0.16;1.4;0.08;11;23;0.9955;3.34;0.56;9.3;5 -7.6;0.41;0.24;1.8;0.08;4;11;0.9962;3.28;0.59;9.5;5 -7.9;0.43;0.21;1.6;0.106;10;37;0.9966;3.17;0.91;9.5;5 -7.1;0.71;0;1.9;0.08;14;35;0.9972;3.47;0.55;9.4;5 -7.8;0.645;0;2;0.082;8;16;0.9964;3.38;0.59;9.8;6 -6.7;0.675;0.07;2.4;0.089;17;82;0.9958;3.35;0.54;10.1;5 -6.9;0.685;0;2.5;0.105;22;37;0.9966;3.46;0.57;10.6;6 -8.3;0.655;0.12;2.3;0.083;15;113;0.9966;3.17;0.66;9.8;5 -6.9;0.605;0.12;10.7;0.073;40;83;0.9993;3.45;0.52;9.4;6 -5.2;0.32;0.25;1.8;0.103;13;50;0.9957;3.38;0.55;9.2;5 -7.8;0.645;0;5.5;0.086;5;18;0.9986;3.4;0.55;9.6;6 -7.8;0.6;0.14;2.4;0.086;3;15;0.9975;3.42;0.6;10.8;6 -8.1;0.38;0.28;2.1;0.066;13;30;0.9968;3.23;0.73;9.7;7 -5.7;1.13;0.09;1.5;0.172;7;19;0.994;3.5;0.48;9.8;4 -7.3;0.45;0.36;5.9;0.074;12;87;0.9978;3.33;0.83;10.5;5 -7.3;0.45;0.36;5.9;0.074;12;87;0.9978;3.33;0.83;10.5;5 -8.8;0.61;0.3;2.8;0.088;17;46;0.9976;3.26;0.51;9.3;4 -7.5;0.49;0.2;2.6;0.332;8;14;0.9968;3.21;0.9;10.5;6 -8.1;0.66;0.22;2.2;0.069;9;23;0.9968;3.3;1.2;10.3;5 -6.8;0.67;0.02;1.8;0.05;5;11;0.9962;3.48;0.52;9.5;5 -4.6;0.52;0.15;2.1;0.054;8;65;0.9934;3.9;0.56;13.1;4 -7.7;0.935;0.43;2.2;0.114;22;114;0.997;3.25;0.73;9.2;5 -8.7;0.29;0.52;1.6;0.113;12;37;0.9969;3.25;0.58;9.5;5 -6.4;0.4;0.23;1.6;0.066;5;12;0.9958;3.34;0.56;9.2;5 -5.6;0.31;0.37;1.4;0.074;12;96;0.9954;3.32;0.58;9.2;5 -8.8;0.66;0.26;1.7;0.074;4;23;0.9971;3.15;0.74;9.2;5 -6.6;0.52;0.04;2.2;0.069;8;15;0.9956;3.4;0.63;9.4;6 -6.6;0.5;0.04;2.1;0.068;6;14;0.9955;3.39;0.64;9.4;6 -8.6;0.38;0.36;3;0.081;30;119;0.997;3.2;0.56;9.4;5 -7.6;0.51;0.15;2.8;0.11;33;73;0.9955;3.17;0.63;10.2;6 -7.7;0.62;0.04;3.8;0.084;25;45;0.9978;3.34;0.53;9.5;5 -10.2;0.42;0.57;3.4;0.07;4;10;0.9971;3.04;0.63;9.6;5 -7.5;0.63;0.12;5.1;0.111;50;110;0.9983;3.26;0.77;9.4;5 -7.8;0.59;0.18;2.3;0.076;17;54;0.9975;3.43;0.59;10;5 -7.3;0.39;0.31;2.4;0.074;9;46;0.9962;3.41;0.54;9.4;6 -8.8;0.4;0.4;2.2;0.079;19;52;0.998;3.44;0.64;9.2;5 -7.7;0.69;0.49;1.8;0.115;20;112;0.9968;3.21;0.71;9.3;5 -7.5;0.52;0.16;1.9;0.085;12;35;0.9968;3.38;0.62;9.5;7 -7;0.735;0.05;2;0.081;13;54;0.9966;3.39;0.57;9.8;5 -7.2;0.725;0.05;4.65;0.086;4;11;0.9962;3.41;0.39;10.9;5 -7.2;0.725;0.05;4.65;0.086;4;11;0.9962;3.41;0.39;10.9;5 -7.5;0.52;0.11;1.5;0.079;11;39;0.9968;3.42;0.58;9.6;5 -6.6;0.705;0.07;1.6;0.076;6;15;0.9962;3.44;0.58;10.7;5 -9.3;0.32;0.57;2;0.074;27;65;0.9969;3.28;0.79;10.7;5 -8;0.705;0.05;1.9;0.074;8;19;0.9962;3.34;0.95;10.5;6 -7.7;0.63;0.08;1.9;0.076;15;27;0.9967;3.32;0.54;9.5;6 -7.7;0.67;0.23;2.1;0.088;17;96;0.9962;3.32;0.48;9.5;5 -7.7;0.69;0.22;1.9;0.084;18;94;0.9961;3.31;0.48;9.5;5 -8.3;0.675;0.26;2.1;0.084;11;43;0.9976;3.31;0.53;9.2;4 -9.7;0.32;0.54;2.5;0.094;28;83;0.9984;3.28;0.82;9.6;5 -8.8;0.41;0.64;2.2;0.093;9;42;0.9986;3.54;0.66;10.5;5 -8.8;0.41;0.64;2.2;0.093;9;42;0.9986;3.54;0.66;10.5;5 -6.8;0.785;0;2.4;0.104;14;30;0.9966;3.52;0.55;10.7;6 -6.7;0.75;0.12;2;0.086;12;80;0.9958;3.38;0.52;10.1;5 -8.3;0.625;0.2;1.5;0.08;27;119;0.9972;3.16;1.12;9.1;4 -6.2;0.45;0.2;1.6;0.069;3;15;0.9958;3.41;0.56;9.2;5 -7.8;0.43;0.7;1.9;0.464;22;67;0.9974;3.13;1.28;9.4;5 -7.4;0.5;0.47;2;0.086;21;73;0.997;3.36;0.57;9.1;5 -7.3;0.67;0.26;1.8;0.401;16;51;0.9969;3.16;1.14;9.4;5 -6.3;0.3;0.48;1.8;0.069;18;61;0.9959;3.44;0.78;10.3;6 -6.9;0.55;0.15;2.2;0.076;19;40;0.9961;3.41;0.59;10.1;5 -8.6;0.49;0.28;1.9;0.11;20;136;0.9972;2.93;1.95;9.9;6 -7.7;0.49;0.26;1.9;0.062;9;31;0.9966;3.39;0.64;9.6;5 -9.3;0.39;0.44;2.1;0.107;34;125;0.9978;3.14;1.22;9.5;5 -7;0.62;0.08;1.8;0.076;8;24;0.9978;3.48;0.53;9;5 -7.9;0.52;0.26;1.9;0.079;42;140;0.9964;3.23;0.54;9.5;5 -8.6;0.49;0.28;1.9;0.11;20;136;0.9972;2.93;1.95;9.9;6 -8.6;0.49;0.29;2;0.11;19;133;0.9972;2.93;1.98;9.8;5 -7.7;0.49;0.26;1.9;0.062;9;31;0.9966;3.39;0.64;9.6;5 -5;1.02;0.04;1.4;0.045;41;85;0.9938;3.75;0.48;10.5;4 -4.7;0.6;0.17;2.3;0.058;17;106;0.9932;3.85;0.6;12.9;6 -6.8;0.775;0;3;0.102;8;23;0.9965;3.45;0.56;10.7;5 -7;0.5;0.25;2;0.07;3;22;0.9963;3.25;0.63;9.2;5 -7.6;0.9;0.06;2.5;0.079;5;10;0.9967;3.39;0.56;9.8;5 -8.1;0.545;0.18;1.9;0.08;13;35;0.9972;3.3;0.59;9;6 -8.3;0.61;0.3;2.1;0.084;11;50;0.9972;3.4;0.61;10.2;6 -7.8;0.5;0.3;1.9;0.075;8;22;0.9959;3.31;0.56;10.4;6 -8.1;0.545;0.18;1.9;0.08;13;35;0.9972;3.3;0.59;9;6 -8.1;0.575;0.22;2.1;0.077;12;65;0.9967;3.29;0.51;9.2;5 -7.2;0.49;0.24;2.2;0.07;5;36;0.996;3.33;0.48;9.4;5 -8.1;0.575;0.22;2.1;0.077;12;65;0.9967;3.29;0.51;9.2;5 -7.8;0.41;0.68;1.7;0.467;18;69;0.9973;3.08;1.31;9.3;5 -6.2;0.63;0.31;1.7;0.088;15;64;0.9969;3.46;0.79;9.3;5 -8;0.33;0.53;2.5;0.091;18;80;0.9976;3.37;0.8;9.6;6 -8.1;0.785;0.52;2;0.122;37;153;0.9969;3.21;0.69;9.3;5 -7.8;0.56;0.19;1.8;0.104;12;47;0.9964;3.19;0.93;9.5;5 -8.4;0.62;0.09;2.2;0.084;11;108;0.9964;3.15;0.66;9.8;5 -8.4;0.6;0.1;2.2;0.085;14;111;0.9964;3.15;0.66;9.8;5 -10.1;0.31;0.44;2.3;0.08;22;46;0.9988;3.32;0.67;9.7;6 -7.8;0.56;0.19;1.8;0.104;12;47;0.9964;3.19;0.93;9.5;5 -9.4;0.4;0.31;2.2;0.09;13;62;0.9966;3.07;0.63;10.5;6 -8.3;0.54;0.28;1.9;0.077;11;40;0.9978;3.39;0.61;10;6 -7.8;0.56;0.12;2;0.082;7;28;0.997;3.37;0.5;9.4;6 -8.8;0.55;0.04;2.2;0.119;14;56;0.9962;3.21;0.6;10.9;6 -7;0.69;0.08;1.8;0.097;22;89;0.9959;3.34;0.54;9.2;6 -7.3;1.07;0.09;1.7;0.178;10;89;0.9962;3.3;0.57;9;5 -8.8;0.55;0.04;2.2;0.119;14;56;0.9962;3.21;0.6;10.9;6 -7.3;0.695;0;2.5;0.075;3;13;0.998;3.49;0.52;9.2;5 -8;0.71;0;2.6;0.08;11;34;0.9976;3.44;0.53;9.5;5 -7.8;0.5;0.17;1.6;0.082;21;102;0.996;3.39;0.48;9.5;5 -9;0.62;0.04;1.9;0.146;27;90;0.9984;3.16;0.7;9.4;5 -8.2;1.33;0;1.7;0.081;3;12;0.9964;3.53;0.49;10.9;5 -8.1;1.33;0;1.8;0.082;3;12;0.9964;3.54;0.48;10.9;5 -8;0.59;0.16;1.8;0.065;3;16;0.9962;3.42;0.92;10.5;7 -6.1;0.38;0.15;1.8;0.072;6;19;0.9955;3.42;0.57;9.4;5 -8;0.745;0.56;2;0.118;30;134;0.9968;3.24;0.66;9.4;5 -5.6;0.5;0.09;2.3;0.049;17;99;0.9937;3.63;0.63;13;5 -5.6;0.5;0.09;2.3;0.049;17;99;0.9937;3.63;0.63;13;5 -6.6;0.5;0.01;1.5;0.06;17;26;0.9952;3.4;0.58;9.8;6 -7.9;1.04;0.05;2.2;0.084;13;29;0.9959;3.22;0.55;9.9;6 -8.4;0.745;0.11;1.9;0.09;16;63;0.9965;3.19;0.82;9.6;5 -8.3;0.715;0.15;1.8;0.089;10;52;0.9968;3.23;0.77;9.5;5 -7.2;0.415;0.36;2;0.081;13;45;0.9972;3.48;0.64;9.2;5 -7.8;0.56;0.19;2.1;0.081;15;105;0.9962;3.33;0.54;9.5;5 -7.8;0.56;0.19;2;0.081;17;108;0.9962;3.32;0.54;9.5;5 -8.4;0.745;0.11;1.9;0.09;16;63;0.9965;3.19;0.82;9.6;5 -8.3;0.715;0.15;1.8;0.089;10;52;0.9968;3.23;0.77;9.5;5 -5.2;0.34;0;1.8;0.05;27;63;0.9916;3.68;0.79;14;6 -6.3;0.39;0.08;1.7;0.066;3;20;0.9954;3.34;0.58;9.4;5 -5.2;0.34;0;1.8;0.05;27;63;0.9916;3.68;0.79;14;6 -8.1;0.67;0.55;1.8;0.117;32;141;0.9968;3.17;0.62;9.4;5 -5.8;0.68;0.02;1.8;0.087;21;94;0.9944;3.54;0.52;10;5 -7.6;0.49;0.26;1.6;0.236;10;88;0.9968;3.11;0.8;9.3;5 -6.9;0.49;0.1;2.3;0.074;12;30;0.9959;3.42;0.58;10.2;6 -8.2;0.4;0.44;2.8;0.089;11;43;0.9975;3.53;0.61;10.5;6 -7.3;0.33;0.47;2.1;0.077;5;11;0.9958;3.33;0.53;10.3;6 -9.2;0.52;1;3.4;0.61;32;69;0.9996;2.74;2.0;9.4;4 -7.5;0.6;0.03;1.8;0.095;25;99;0.995;3.35;0.54;10.1;5 -7.5;0.6;0.03;1.8;0.095;25;99;0.995;3.35;0.54;10.1;5 -7.1;0.43;0.42;5.5;0.07;29;129;0.9973;3.42;0.72;10.5;5 -7.1;0.43;0.42;5.5;0.071;28;128;0.9973;3.42;0.71;10.5;5 -7.1;0.43;0.42;5.5;0.07;29;129;0.9973;3.42;0.72;10.5;5 -7.1;0.43;0.42;5.5;0.071;28;128;0.9973;3.42;0.71;10.5;5 -7.1;0.68;0;2.2;0.073;12;22;0.9969;3.48;0.5;9.3;5 -6.8;0.6;0.18;1.9;0.079;18;86;0.9968;3.59;0.57;9.3;6 -7.6;0.95;0.03;2;0.09;7;20;0.9959;3.2;0.56;9.6;5 -7.6;0.68;0.02;1.3;0.072;9;20;0.9965;3.17;1.08;9.2;4 -7.8;0.53;0.04;1.7;0.076;17;31;0.9964;3.33;0.56;10;6 -7.4;0.6;0.26;7.3;0.07;36;121;0.9982;3.37;0.49;9.4;5 -7.3;0.59;0.26;7.2;0.07;35;121;0.9981;3.37;0.49;9.4;5 -7.8;0.63;0.48;1.7;0.1;14;96;0.9961;3.19;0.62;9.5;5 -6.8;0.64;0.1;2.1;0.085;18;101;0.9956;3.34;0.52;10.2;5 -7.3;0.55;0.03;1.6;0.072;17;42;0.9956;3.37;0.48;9;4 -6.8;0.63;0.07;2.1;0.089;11;44;0.9953;3.47;0.55;10.4;6 -7.5;0.705;0.24;1.8;0.36;15;63;0.9964;3;1.59;9.5;5 -7.9;0.885;0.03;1.8;0.058;4;8;0.9972;3.36;0.33;9.1;4 -8;0.42;0.17;2;0.073;6;18;0.9972;3.29;0.61;9.2;6 -8;0.42;0.17;2;0.073;6;18;0.9972;3.29;0.61;9.2;6 -7.4;0.62;0.05;1.9;0.068;24;42;0.9961;3.42;0.57;11.5;6 -7.3;0.38;0.21;2;0.08;7;35;0.9961;3.33;0.47;9.5;5 -6.9;0.5;0.04;1.5;0.085;19;49;0.9958;3.35;0.78;9.5;5 -7.3;0.38;0.21;2;0.08;7;35;0.9961;3.33;0.47;9.5;5 -7.5;0.52;0.42;2.3;0.087;8;38;0.9972;3.58;0.61;10.5;6 -7;0.805;0;2.5;0.068;7;20;0.9969;3.48;0.56;9.6;5 -8.8;0.61;0.14;2.4;0.067;10;42;0.9969;3.19;0.59;9.5;5 -8.8;0.61;0.14;2.4;0.067;10;42;0.9969;3.19;0.59;9.5;5 -8.9;0.61;0.49;2;0.27;23;110;0.9972;3.12;1.02;9.3;5 -7.2;0.73;0.02;2.5;0.076;16;42;0.9972;3.44;0.52;9.3;5 -6.8;0.61;0.2;1.8;0.077;11;65;0.9971;3.54;0.58;9.3;5 -6.7;0.62;0.21;1.9;0.079;8;62;0.997;3.52;0.58;9.3;6 -8.9;0.31;0.57;2;0.111;26;85;0.9971;3.26;0.53;9.7;5 -7.4;0.39;0.48;2;0.082;14;67;0.9972;3.34;0.55;9.2;5 -7.7;0.705;0.1;2.6;0.084;9;26;0.9976;3.39;0.49;9.7;5 -7.9;0.5;0.33;2;0.084;15;143;0.9968;3.2;0.55;9.5;5 -7.9;0.49;0.32;1.9;0.082;17;144;0.9968;3.2;0.55;9.5;5 -8.2;0.5;0.35;2.9;0.077;21;127;0.9976;3.23;0.62;9.4;5 -6.4;0.37;0.25;1.9;0.074;21;49;0.9974;3.57;0.62;9.8;6 -6.8;0.63;0.12;3.8;0.099;16;126;0.9969;3.28;0.61;9.5;5 -7.6;0.55;0.21;2.2;0.071;7;28;0.9964;3.28;0.55;9.7;5 -7.6;0.55;0.21;2.2;0.071;7;28;0.9964;3.28;0.55;9.7;5 -7.8;0.59;0.33;2;0.074;24;120;0.9968;3.25;0.54;9.4;5 -7.3;0.58;0.3;2.4;0.074;15;55;0.9968;3.46;0.59;10.2;5 -11.5;0.3;0.6;2;0.067;12;27;0.9981;3.11;0.97;10.1;6 -5.4;0.835;0.08;1.2;0.046;13;93;0.9924;3.57;0.85;13;7 -6.9;1.09;0.06;2.1;0.061;12;31;0.9948;3.51;0.43;11.4;4 -9.6;0.32;0.47;1.4;0.056;9;24;0.99695;3.22;0.82;10.3;7 -8.8;0.37;0.48;2.1;0.097;39;145;0.9975;3.04;1.03;9.3;5 -6.8;0.5;0.11;1.5;0.075;16;49;0.99545;3.36;0.79;9.5;5 -7;0.42;0.35;1.6;0.088;16;39;0.9961;3.34;0.55;9.2;5 -7;0.43;0.36;1.6;0.089;14;37;0.99615;3.34;0.56;9.2;6 -12.8;0.3;0.74;2.6;0.095;9;28;0.9994;3.2;0.77;10.8;7 -12.8;0.3;0.74;2.6;0.095;9;28;0.9994;3.2;0.77;10.8;7 -7.8;0.57;0.31;1.8;0.069;26;120;0.99625;3.29;0.53;9.3;5 -7.8;0.44;0.28;2.7;0.1;18;95;0.9966;3.22;0.67;9.4;5 -11;0.3;0.58;2.1;0.054;7;19;0.998;3.31;0.88;10.5;7 -9.7;0.53;0.6;2;0.039;5;19;0.99585;3.3;0.86;12.4;6 -8;0.725;0.24;2.8;0.083;10;62;0.99685;3.35;0.56;10;6 -11.6;0.44;0.64;2.1;0.059;5;15;0.998;3.21;0.67;10.2;6 -8.2;0.57;0.26;2.2;0.06;28;65;0.9959;3.3;0.43;10.1;5 -7.8;0.735;0.08;2.4;0.092;10;41;0.9974;3.24;0.71;9.8;6 -7;0.49;0.49;5.6;0.06;26;121;0.9974;3.34;0.76;10.5;5 -8.7;0.625;0.16;2;0.101;13;49;0.9962;3.14;0.57;11;5 -8.1;0.725;0.22;2.2;0.072;11;41;0.9967;3.36;0.55;9.1;5 -7.5;0.49;0.19;1.9;0.076;10;44;0.9957;3.39;0.54;9.7;5 -7.8;0.53;0.33;2.4;0.08;24;144;0.99655;3.3;0.6;9.5;5 -7.8;0.34;0.37;2;0.082;24;58;0.9964;3.34;0.59;9.4;6 -7.4;0.53;0.26;2;0.101;16;72;0.9957;3.15;0.57;9.4;5 -6.8;0.61;0.04;1.5;0.057;5;10;0.99525;3.42;0.6;9.5;5 -8.6;0.645;0.25;2;0.083;8;28;0.99815;3.28;0.6;10;6 -8.4;0.635;0.36;2;0.089;15;55;0.99745;3.31;0.57;10.4;4 -7.7;0.43;0.25;2.6;0.073;29;63;0.99615;3.37;0.58;10.5;6 -8.9;0.59;0.5;2;0.337;27;81;0.9964;3.04;1.61;9.5;6 -9;0.82;0.14;2.6;0.089;9;23;0.9984;3.39;0.63;9.8;5 -7.7;0.43;0.25;2.6;0.073;29;63;0.99615;3.37;0.58;10.5;6 -6.9;0.52;0.25;2.6;0.081;10;37;0.99685;3.46;0.5;11;5 -5.2;0.48;0.04;1.6;0.054;19;106;0.9927;3.54;0.62;12.2;7 -8;0.38;0.06;1.8;0.078;12;49;0.99625;3.37;0.52;9.9;6 -8.5;0.37;0.2;2.8;0.09;18;58;0.998;3.34;0.7;9.6;6 -6.9;0.52;0.25;2.6;0.081;10;37;0.99685;3.46;0.5;11;5 -8.2;1;0.09;2.3;0.065;7;37;0.99685;3.32;0.55;9;6 -7.2;0.63;0;1.9;0.097;14;38;0.99675;3.37;0.58;9;6 -7.2;0.63;0;1.9;0.097;14;38;0.99675;3.37;0.58;9;6 -7.2;0.645;0;1.9;0.097;15;39;0.99675;3.37;0.58;9.2;6 -7.2;0.63;0;1.9;0.097;14;38;0.99675;3.37;0.58;9;6 -8.2;1;0.09;2.3;0.065;7;37;0.99685;3.32;0.55;9;6 -8.9;0.635;0.37;1.7;0.263;5;62;0.9971;3;1.09;9.3;5 -12;0.38;0.56;2.1;0.093;6;24;0.99925;3.14;0.71;10.9;6 -7.7;0.58;0.1;1.8;0.102;28;109;0.99565;3.08;0.49;9.8;6 -15;0.21;0.44;2.2;0.075;10;24;1.00005;3.07;0.84;9.2;7 -15;0.21;0.44;2.2;0.075;10;24;1.00005;3.07;0.84;9.2;7 -7.3;0.66;0;2;0.084;6;23;0.9983;3.61;0.96;9.9;6 -7.1;0.68;0.07;1.9;0.075;16;51;0.99685;3.38;0.52;9.5;5 -8.2;0.6;0.17;2.3;0.072;11;73;0.9963;3.2;0.45;9.3;5 -7.7;0.53;0.06;1.7;0.074;9;39;0.99615;3.35;0.48;9.8;6 -7.3;0.66;0;2;0.084;6;23;0.9983;3.61;0.96;9.9;6 -10.8;0.32;0.44;1.6;0.063;16;37;0.9985;3.22;0.78;10;6 -7.1;0.6;0;1.8;0.074;16;34;0.9972;3.47;0.7;9.9;6 -11.1;0.35;0.48;3.1;0.09;5;21;0.9986;3.17;0.53;10.5;5 -7.7;0.775;0.42;1.9;0.092;8;86;0.9959;3.23;0.59;9.5;5 -7.1;0.6;0;1.8;0.074;16;34;0.9972;3.47;0.7;9.9;6 -8;0.57;0.23;3.2;0.073;17;119;0.99675;3.26;0.57;9.3;5 -9.4;0.34;0.37;2.2;0.075;5;13;0.998;3.22;0.62;9.2;5 -6.6;0.695;0;2.1;0.075;12;56;0.9968;3.49;0.67;9.2;5 -7.7;0.41;0.76;1.8;0.611;8;45;0.9968;3.06;1.26;9.4;5 -10;0.31;0.47;2.6;0.085;14;33;0.99965;3.36;0.8;10.5;7 -7.9;0.33;0.23;1.7;0.077;18;45;0.99625;3.29;0.65;9.3;5 -7;0.975;0.04;2;0.087;12;67;0.99565;3.35;0.6;9.4;4 -8;0.52;0.03;1.7;0.07;10;35;0.99575;3.34;0.57;10;5 -7.9;0.37;0.23;1.8;0.077;23;49;0.9963;3.28;0.67;9.3;5 -12.5;0.56;0.49;2.4;0.064;5;27;0.9999;3.08;0.87;10.9;5 -11.8;0.26;0.52;1.8;0.071;6;10;0.9968;3.2;0.72;10.2;7 -8.1;0.87;0;3.3;0.096;26;61;1.00025;3.6;0.72;9.8;4 -7.9;0.35;0.46;3.6;0.078;15;37;0.9973;3.35;0.86;12.8;8 -6.9;0.54;0.04;3;0.077;7;27;0.9987;3.69;0.91;9.4;6 -11.5;0.18;0.51;4;0.104;4;23;0.9996;3.28;0.97;10.1;6 -7.9;0.545;0.06;4;0.087;27;61;0.9965;3.36;0.67;10.7;6 -11.5;0.18;0.51;4;0.104;4;23;0.9996;3.28;0.97;10.1;6 -10.9;0.37;0.58;4;0.071;17;65;0.99935;3.22;0.78;10.1;5 -8.4;0.715;0.2;2.4;0.076;10;38;0.99735;3.31;0.64;9.4;5 -7.5;0.65;0.18;7;0.088;27;94;0.99915;3.38;0.77;9.4;5 -7.9;0.545;0.06;4;0.087;27;61;0.9965;3.36;0.67;10.7;6 -6.9;0.54;0.04;3;0.077;7;27;0.9987;3.69;0.91;9.4;6 -11.5;0.18;0.51;4;0.104;4;23;0.9996;3.28;0.97;10.1;6 -10.3;0.32;0.45;6.4;0.073;5;13;0.9976;3.23;0.82;12.6;8 -8.9;0.4;0.32;5.6;0.087;10;47;0.9991;3.38;0.77;10.5;7 -11.4;0.26;0.44;3.6;0.071;6;19;0.9986;3.12;0.82;9.3;6 -7.7;0.27;0.68;3.5;0.358;5;10;0.9972;3.25;1.08;9.9;7 -7.6;0.52;0.12;3;0.067;12;53;0.9971;3.36;0.57;9.1;5 -8.9;0.4;0.32;5.6;0.087;10;47;0.9991;3.38;0.77;10.5;7 -9.9;0.59;0.07;3.4;0.102;32;71;1.00015;3.31;0.71;9.8;5 -9.9;0.59;0.07;3.4;0.102;32;71;1.00015;3.31;0.71;9.8;5 -12;0.45;0.55;2;0.073;25;49;0.9997;3.1;0.76;10.3;6 -7.5;0.4;0.12;3;0.092;29;53;0.9967;3.37;0.7;10.3;6 -8.7;0.52;0.09;2.5;0.091;20;49;0.9976;3.34;0.86;10.6;7 -11.6;0.42;0.53;3.3;0.105;33;98;1.001;3.2;0.95;9.2;5 -8.7;0.52;0.09;2.5;0.091;20;49;0.9976;3.34;0.86;10.6;7 -11;0.2;0.48;2;0.343;6;18;0.9979;3.3;0.71;10.5;5 -10.4;0.55;0.23;2.7;0.091;18;48;0.9994;3.22;0.64;10.3;6 -6.9;0.36;0.25;2.4;0.098;5;16;0.9964;3.41;0.6;10.1;6 -13.3;0.34;0.52;3.2;0.094;17;53;1.0014;3.05;0.81;9.5;6 -10.8;0.5;0.46;2.5;0.073;5;27;1.0001;3.05;0.64;9.5;5 -10.6;0.83;0.37;2.6;0.086;26;70;0.9981;3.16;0.52;9.9;5 -7.1;0.63;0.06;2;0.083;8;29;0.99855;3.67;0.73;9.6;5 -7.2;0.65;0.02;2.3;0.094;5;31;0.9993;3.67;0.8;9.7;5 -6.9;0.67;0.06;2.1;0.08;8;33;0.99845;3.68;0.71;9.6;5 -7.5;0.53;0.06;2.6;0.086;20;44;0.9965;3.38;0.59;10.7;6 -11.1;0.18;0.48;1.5;0.068;7;15;0.9973;3.22;0.64;10.1;6 -8.3;0.705;0.12;2.6;0.092;12;28;0.9994;3.51;0.72;10;5 -7.4;0.67;0.12;1.6;0.186;5;21;0.996;3.39;0.54;9.5;5 -8.4;0.65;0.6;2.1;0.112;12;90;0.9973;3.2;0.52;9.2;5 -10.3;0.53;0.48;2.5;0.063;6;25;0.9998;3.12;0.59;9.3;6 -7.6;0.62;0.32;2.2;0.082;7;54;0.9966;3.36;0.52;9.4;5 -10.3;0.41;0.42;2.4;0.213;6;14;0.9994;3.19;0.62;9.5;6 -10.3;0.43;0.44;2.4;0.214;5;12;0.9994;3.19;0.63;9.5;6 -7.4;0.29;0.38;1.7;0.062;9;30;0.9968;3.41;0.53;9.5;6 -10.3;0.53;0.48;2.5;0.063;6;25;0.9998;3.12;0.59;9.3;6 -7.9;0.53;0.24;2;0.072;15;105;0.996;3.27;0.54;9.4;6 -9;0.46;0.31;2.8;0.093;19;98;0.99815;3.32;0.63;9.5;6 -8.6;0.47;0.3;3;0.076;30;135;0.9976;3.3;0.53;9.4;5 -7.4;0.36;0.29;2.6;0.087;26;72;0.99645;3.39;0.68;11;5 -7.1;0.35;0.29;2.5;0.096;20;53;0.9962;3.42;0.65;11;6 -9.6;0.56;0.23;3.4;0.102;37;92;0.9996;3.3;0.65;10.1;5 -9.6;0.77;0.12;2.9;0.082;30;74;0.99865;3.3;0.64;10.4;6 -9.8;0.66;0.39;3.2;0.083;21;59;0.9989;3.37;0.71;11.5;7 -9.6;0.77;0.12;2.9;0.082;30;74;0.99865;3.3;0.64;10.4;6 -9.8;0.66;0.39;3.2;0.083;21;59;0.9989;3.37;0.71;11.5;7 -9.3;0.61;0.26;3.4;0.09;25;87;0.99975;3.24;0.62;9.7;5 -7.8;0.62;0.05;2.3;0.079;6;18;0.99735;3.29;0.63;9.3;5 -10.3;0.59;0.42;2.8;0.09;35;73;0.999;3.28;0.7;9.5;6 -10;0.49;0.2;11;0.071;13;50;1.0015;3.16;0.69;9.2;6 -10;0.49;0.2;11;0.071;13;50;1.0015;3.16;0.69;9.2;6 -11.6;0.53;0.66;3.65;0.121;6;14;0.9978;3.05;0.74;11.5;7 -10.3;0.44;0.5;4.5;0.107;5;13;0.998;3.28;0.83;11.5;5 -13.4;0.27;0.62;2.6;0.082;6;21;1.0002;3.16;0.67;9.7;6 -10.7;0.46;0.39;2;0.061;7;15;0.9981;3.18;0.62;9.5;5 -10.2;0.36;0.64;2.9;0.122;10;41;0.998;3.23;0.66;12.5;6 -10.2;0.36;0.64;2.9;0.122;10;41;0.998;3.23;0.66;12.5;6 -8;0.58;0.28;3.2;0.066;21;114;0.9973;3.22;0.54;9.4;6 -8.4;0.56;0.08;2.1;0.105;16;44;0.9958;3.13;0.52;11;5 -7.9;0.65;0.01;2.5;0.078;17;38;0.9963;3.34;0.74;11.7;7 -11.9;0.695;0.53;3.4;0.128;7;21;0.9992;3.17;0.84;12.2;7 -8.9;0.43;0.45;1.9;0.052;6;16;0.9948;3.35;0.7;12.5;6 -7.8;0.43;0.32;2.8;0.08;29;58;0.9974;3.31;0.64;10.3;5 -12.4;0.49;0.58;3;0.103;28;99;1.0008;3.16;1;11.5;6 -12.5;0.28;0.54;2.3;0.082;12;29;0.9997;3.11;1.36;9.8;7 -12.2;0.34;0.5;2.4;0.066;10;21;1;3.12;1.18;9.2;6 -10.6;0.42;0.48;2.7;0.065;5;18;0.9972;3.21;0.87;11.3;6 -10.9;0.39;0.47;1.8;0.118;6;14;0.9982;3.3;0.75;9.8;6 -10.9;0.39;0.47;1.8;0.118;6;14;0.9982;3.3;0.75;9.8;6 -11.9;0.57;0.5;2.6;0.082;6;32;1.0006;3.12;0.78;10.7;6 -7;0.685;0;1.9;0.067;40;63;0.9979;3.6;0.81;9.9;5 -6.6;0.815;0.02;2.7;0.072;17;34;0.9955;3.58;0.89;12.3;7 -13.8;0.49;0.67;3;0.093;6;15;0.9986;3.02;0.93;12;6 -9.6;0.56;0.31;2.8;0.089;15;46;0.9979;3.11;0.92;10;6 -9.1;0.785;0;2.6;0.093;11;28;0.9994;3.36;0.86;9.4;6 -10.7;0.67;0.22;2.7;0.107;17;34;1.0004;3.28;0.98;9.9;6 -9.1;0.795;0;2.6;0.096;11;26;0.9994;3.35;0.83;9.4;6 -7.7;0.665;0;2.4;0.09;8;19;0.9974;3.27;0.73;9.3;5 -13.5;0.53;0.79;4.8;0.12;23;77;1.0018;3.18;0.77;13;5 -6.1;0.21;0.4;1.4;0.066;40.5;165;0.9912;3.25;0.59;11.9;6 -6.7;0.75;0.01;2.4;0.078;17;32;0.9955;3.55;0.61;12.8;6 -11.5;0.41;0.52;3;0.08;29;55;1.0001;3.26;0.88;11;5 -10.5;0.42;0.66;2.95;0.116;12;29;0.997;3.24;0.75;11.7;7 -11.9;0.43;0.66;3.1;0.109;10;23;1;3.15;0.85;10.4;7 -12.6;0.38;0.66;2.6;0.088;10;41;1.001;3.17;0.68;9.8;6 -8.2;0.7;0.23;2;0.099;14;81;0.9973;3.19;0.7;9.4;5 -8.6;0.45;0.31;2.6;0.086;21;50;0.9982;3.37;0.91;9.9;6 -11.9;0.58;0.66;2.5;0.072;6;37;0.9992;3.05;0.56;10;5 -12.5;0.46;0.63;2;0.071;6;15;0.9988;2.99;0.87;10.2;5 -12.8;0.615;0.66;5.8;0.083;7;42;1.0022;3.07;0.73;10;7 -10;0.42;0.5;3.4;0.107;7;21;0.9979;3.26;0.93;11.8;6 -12.8;0.615;0.66;5.8;0.083;7;42;1.0022;3.07;0.73;10;7 -10.4;0.575;0.61;2.6;0.076;11;24;1;3.16;0.69;9;5 -10.3;0.34;0.52;2.8;0.159;15;75;0.9998;3.18;0.64;9.4;5 -9.4;0.27;0.53;2.4;0.074;6;18;0.9962;3.2;1.13;12;7 -6.9;0.765;0.02;2.3;0.063;35;63;0.9975;3.57;0.78;9.9;5 -7.9;0.24;0.4;1.6;0.056;11;25;0.9967;3.32;0.87;8.7;6 -9.1;0.28;0.48;1.8;0.067;26;46;0.9967;3.32;1.04;10.6;6 -7.4;0.55;0.22;2.2;0.106;12;72;0.9959;3.05;0.63;9.2;5 -14;0.41;0.63;3.8;0.089;6;47;1.0014;3.01;0.81;10.8;6 -11.5;0.54;0.71;4.4;0.124;6;15;0.9984;3.01;0.83;11.8;7 -11.5;0.45;0.5;3;0.078;19;47;1.0003;3.26;1.11;11;6 -9.4;0.27;0.53;2.4;0.074;6;18;0.9962;3.2;1.13;12;7 -11.4;0.625;0.66;6.2;0.088;6;24;0.9988;3.11;0.99;13.3;6 -8.3;0.42;0.38;2.5;0.094;24;60;0.9979;3.31;0.7;10.8;6 -8.3;0.26;0.42;2;0.08;11;27;0.9974;3.21;0.8;9.4;6 -13.7;0.415;0.68;2.9;0.085;17;43;1.0014;3.06;0.8;10;6 -8.3;0.26;0.42;2;0.08;11;27;0.9974;3.21;0.8;9.4;6 -8.3;0.26;0.42;2;0.08;11;27;0.9974;3.21;0.8;9.4;6 -7.7;0.51;0.28;2.1;0.087;23;54;0.998;3.42;0.74;9.2;5 -7.4;0.63;0.07;2.4;0.09;11;37;0.9979;3.43;0.76;9.7;6 -7.8;0.54;0.26;2;0.088;23;48;0.9981;3.41;0.74;9.2;6 -8.3;0.66;0.15;1.9;0.079;17;42;0.9972;3.31;0.54;9.6;6 -7.8;0.46;0.26;1.9;0.088;23;53;0.9981;3.43;0.74;9.2;6 -9.6;0.38;0.31;2.5;0.096;16;49;0.9982;3.19;0.7;10;7 -5.6;0.85;0.05;1.4;0.045;12;88;0.9924;3.56;0.82;12.9;8 -13.7;0.415;0.68;2.9;0.085;17;43;1.0014;3.06;0.8;10;6 -9.5;0.37;0.52;2;0.082;6;26;0.998;3.18;0.51;9.5;5 -8.4;0.665;0.61;2;0.112;13;95;0.997;3.16;0.54;9.1;5 -12.7;0.6;0.65;2.3;0.063;6;25;0.9997;3.03;0.57;9.9;5 -12;0.37;0.76;4.2;0.066;7;38;1.0004;3.22;0.6;13;7 -6.6;0.735;0.02;7.9;0.122;68;124;0.9994;3.47;0.53;9.9;5 -11.5;0.59;0.59;2.6;0.087;13;49;0.9988;3.18;0.65;11;6 -11.5;0.59;0.59;2.6;0.087;13;49;0.9988;3.18;0.65;11;6 -8.7;0.765;0.22;2.3;0.064;9;42;0.9963;3.1;0.55;9.4;5 -6.6;0.735;0.02;7.9;0.122;68;124;0.9994;3.47;0.53;9.9;5 -7.7;0.26;0.3;1.7;0.059;20;38;0.9949;3.29;0.47;10.8;6 -12.2;0.48;0.54;2.6;0.085;19;64;1;3.1;0.61;10.5;6 -11.4;0.6;0.49;2.7;0.085;10;41;0.9994;3.15;0.63;10.5;6 -7.7;0.69;0.05;2.7;0.075;15;27;0.9974;3.26;0.61;9.1;5 -8.7;0.31;0.46;1.4;0.059;11;25;0.9966;3.36;0.76;10.1;6 -9.8;0.44;0.47;2.5;0.063;9;28;0.9981;3.24;0.65;10.8;6 -12;0.39;0.66;3;0.093;12;30;0.9996;3.18;0.63;10.8;7 -10.4;0.34;0.58;3.7;0.174;6;16;0.997;3.19;0.7;11.3;6 -12.5;0.46;0.49;4.5;0.07;26;49;0.9981;3.05;0.57;9.6;4 -9;0.43;0.34;2.5;0.08;26;86;0.9987;3.38;0.62;9.5;6 -9.1;0.45;0.35;2.4;0.08;23;78;0.9987;3.38;0.62;9.5;5 -7.1;0.735;0.16;1.9;0.1;15;77;0.9966;3.27;0.64;9.3;5 -9.9;0.4;0.53;6.7;0.097;6;19;0.9986;3.27;0.82;11.7;7 -8.8;0.52;0.34;2.7;0.087;24;122;0.9982;3.26;0.61;9.5;5 -8.6;0.725;0.24;6.6;0.117;31;134;1.0014;3.32;1.07;9.3;5 -10.6;0.48;0.64;2.2;0.111;6;20;0.997;3.26;0.66;11.7;6 -7;0.58;0.12;1.9;0.091;34;124;0.9956;3.44;0.48;10.5;5 -11.9;0.38;0.51;2;0.121;7;20;0.9996;3.24;0.76;10.4;6 -6.8;0.77;0;1.8;0.066;34;52;0.9976;3.62;0.68;9.9;5 -9.5;0.56;0.33;2.4;0.089;35;67;0.9972;3.28;0.73;11.8;7 -6.6;0.84;0.03;2.3;0.059;32;48;0.9952;3.52;0.56;12.3;7 -7.7;0.96;0.2;2;0.047;15;60;0.9955;3.36;0.44;10.9;5 -10.5;0.24;0.47;2.1;0.066;6;24;0.9978;3.15;0.9;11;7 -7.7;0.96;0.2;2;0.047;15;60;0.9955;3.36;0.44;10.9;5 -6.6;0.84;0.03;2.3;0.059;32;48;0.9952;3.52;0.56;12.3;7 -6.4;0.67;0.08;2.1;0.045;19;48;0.9949;3.49;0.49;11.4;6 -9.5;0.78;0.22;1.9;0.077;6;32;0.9988;3.26;0.56;10.6;6 -9.1;0.52;0.33;1.3;0.07;9;30;0.9978;3.24;0.6;9.3;5 -12.8;0.84;0.63;2.4;0.088;13;35;0.9997;3.1;0.6;10.4;6 -10.5;0.24;0.47;2.1;0.066;6;24;0.9978;3.15;0.9;11;7 -7.8;0.55;0.35;2.2;0.074;21;66;0.9974;3.25;0.56;9.2;5 -11.9;0.37;0.69;2.3;0.078;12;24;0.9958;3;0.65;12.8;6 -12.3;0.39;0.63;2.3;0.091;6;18;1.0004;3.16;0.49;9.5;5 -10.4;0.41;0.55;3.2;0.076;22;54;0.9996;3.15;0.89;9.9;6 -12.3;0.39;0.63;2.3;0.091;6;18;1.0004;3.16;0.49;9.5;5 -8;0.67;0.3;2;0.06;38;62;0.9958;3.26;0.56;10.2;6 -11.1;0.45;0.73;3.2;0.066;6;22;0.9986;3.17;0.66;11.2;6 -10.4;0.41;0.55;3.2;0.076;22;54;0.9996;3.15;0.89;9.9;6 -7;0.62;0.18;1.5;0.062;7;50;0.9951;3.08;0.6;9.3;5 -12.6;0.31;0.72;2.2;0.072;6;29;0.9987;2.88;0.82;9.8;8 -11.9;0.4;0.65;2.15;0.068;7;27;0.9988;3.06;0.68;11.3;6 -15.6;0.685;0.76;3.7;0.1;6;43;1.0032;2.95;0.68;11.2;7 -10;0.44;0.49;2.7;0.077;11;19;0.9963;3.23;0.63;11.6;7 -5.3;0.57;0.01;1.7;0.054;5;27;0.9934;3.57;0.84;12.5;7 -9.5;0.735;0.1;2.1;0.079;6;31;0.9986;3.23;0.56;10.1;6 -12.5;0.38;0.6;2.6;0.081;31;72;0.9996;3.1;0.73;10.5;5 -9.3;0.48;0.29;2.1;0.127;6;16;0.9968;3.22;0.72;11.2;5 -8.6;0.53;0.22;2;0.1;7;27;0.9967;3.2;0.56;10.2;6 -11.9;0.39;0.69;2.8;0.095;17;35;0.9994;3.1;0.61;10.8;6 -11.9;0.39;0.69;2.8;0.095;17;35;0.9994;3.1;0.61;10.8;6 -8.4;0.37;0.53;1.8;0.413;9;26;0.9979;3.06;1.06;9.1;6 -6.8;0.56;0.03;1.7;0.084;18;35;0.9968;3.44;0.63;10;6 -10.4;0.33;0.63;2.8;0.084;5;22;0.9998;3.26;0.74;11.2;7 -7;0.23;0.4;1.6;0.063;21;67;0.9952;3.5;0.63;11.1;5 -11.3;0.62;0.67;5.2;0.086;6;19;0.9988;3.22;0.69;13.4;8 -8.9;0.59;0.39;2.3;0.095;5;22;0.9986;3.37;0.58;10.3;5 -9.2;0.63;0.21;2.7;0.097;29;65;0.9988;3.28;0.58;9.6;5 -10.4;0.33;0.63;2.8;0.084;5;22;0.9998;3.26;0.74;11.2;7 -11.6;0.58;0.66;2.2;0.074;10;47;1.0008;3.25;0.57;9;3 -9.2;0.43;0.52;2.3;0.083;14;23;0.9976;3.35;0.61;11.3;6 -8.3;0.615;0.22;2.6;0.087;6;19;0.9982;3.26;0.61;9.3;5 -11;0.26;0.68;2.55;0.085;10;25;0.997;3.18;0.61;11.8;5 -8.1;0.66;0.7;2.2;0.098;25;129;0.9972;3.08;0.53;9;5 -11.5;0.315;0.54;2.1;0.084;5;15;0.9987;2.98;0.7;9.2;6 -10;0.29;0.4;2.9;0.098;10;26;1.0006;3.48;0.91;9.7;5 -10.3;0.5;0.42;2;0.069;21;51;0.9982;3.16;0.72;11.5;6 -8.8;0.46;0.45;2.6;0.065;7;18;0.9947;3.32;0.79;14;6 -11.4;0.36;0.69;2.1;0.09;6;21;1;3.17;0.62;9.2;6 -8.7;0.82;0.02;1.2;0.07;36;48;0.9952;3.2;0.58;9.8;5 -13;0.32;0.65;2.6;0.093;15;47;0.9996;3.05;0.61;10.6;5 -9.6;0.54;0.42;2.4;0.081;25;52;0.997;3.2;0.71;11.4;6 -12.5;0.37;0.55;2.6;0.083;25;68;0.9995;3.15;0.82;10.4;6 -9.9;0.35;0.55;2.1;0.062;5;14;0.9971;3.26;0.79;10.6;5 -10.5;0.28;0.51;1.7;0.08;10;24;0.9982;3.2;0.89;9.4;6 -9.6;0.68;0.24;2.2;0.087;5;28;0.9988;3.14;0.6;10.2;5 -9.3;0.27;0.41;2;0.091;6;16;0.998;3.28;0.7;9.7;5 -10.4;0.24;0.49;1.8;0.075;6;20;0.9977;3.18;1.06;11;6 -9.6;0.68;0.24;2.2;0.087;5;28;0.9988;3.14;0.6;10.2;5 -9.4;0.685;0.11;2.7;0.077;6;31;0.9984;3.19;0.7;10.1;6 -10.6;0.28;0.39;15.5;0.069;6;23;1.0026;3.12;0.66;9.2;5 -9.4;0.3;0.56;2.8;0.08;6;17;0.9964;3.15;0.92;11.7;8 -10.6;0.36;0.59;2.2;0.152;6;18;0.9986;3.04;1.05;9.4;5 -10.6;0.36;0.6;2.2;0.152;7;18;0.9986;3.04;1.06;9.4;5 -10.6;0.44;0.68;4.1;0.114;6;24;0.997;3.06;0.66;13.4;6 -10.2;0.67;0.39;1.9;0.054;6;17;0.9976;3.17;0.47;10;5 -10.2;0.67;0.39;1.9;0.054;6;17;0.9976;3.17;0.47;10;5 -10.2;0.645;0.36;1.8;0.053;5;14;0.9982;3.17;0.42;10;6 -11.6;0.32;0.55;2.8;0.081;35;67;1.0002;3.32;0.92;10.8;7 -9.3;0.39;0.4;2.6;0.073;10;26;0.9984;3.34;0.75;10.2;6 -9.3;0.775;0.27;2.8;0.078;24;56;0.9984;3.31;0.67;10.6;6 -9.2;0.41;0.5;2.5;0.055;12;25;0.9952;3.34;0.79;13.3;7 -8.9;0.4;0.51;2.6;0.052;13;27;0.995;3.32;0.9;13.4;7 -8.7;0.69;0.31;3;0.086;23;81;1.0002;3.48;0.74;11.6;6 -6.5;0.39;0.23;8.3;0.051;28;91;0.9952;3.44;0.55;12.1;6 -10.7;0.35;0.53;2.6;0.07;5;16;0.9972;3.15;0.65;11;8 -7.8;0.52;0.25;1.9;0.081;14;38;0.9984;3.43;0.65;9;6 -7.2;0.34;0.32;2.5;0.09;43;113;0.9966;3.32;0.79;11.1;5 -10.7;0.35;0.53;2.6;0.07;5;16;0.9972;3.15;0.65;11;8 -8.7;0.69;0.31;3;0.086;23;81;1.0002;3.48;0.74;11.6;6 -7.8;0.52;0.25;1.9;0.081;14;38;0.9984;3.43;0.65;9;6 -10.4;0.44;0.73;6.55;0.074;38;76;0.999;3.17;0.85;12;7 -10.4;0.44;0.73;6.55;0.074;38;76;0.999;3.17;0.85;12;7 -10.5;0.26;0.47;1.9;0.078;6;24;0.9976;3.18;1.04;10.9;7 -10.5;0.24;0.42;1.8;0.077;6;22;0.9976;3.21;1.05;10.8;7 -10.2;0.49;0.63;2.9;0.072;10;26;0.9968;3.16;0.78;12.5;7 -10.4;0.24;0.46;1.8;0.075;6;21;0.9976;3.25;1.02;10.8;7 -11.2;0.67;0.55;2.3;0.084;6;13;1;3.17;0.71;9.5;6 -10;0.59;0.31;2.2;0.09;26;62;0.9994;3.18;0.63;10.2;6 -13.3;0.29;0.75;2.8;0.084;23;43;0.9986;3.04;0.68;11.4;7 -12.4;0.42;0.49;4.6;0.073;19;43;0.9978;3.02;0.61;9.5;5 -10;0.59;0.31;2.2;0.09;26;62;0.9994;3.18;0.63;10.2;6 -10.7;0.4;0.48;2.1;0.125;15;49;0.998;3.03;0.81;9.7;6 -10.5;0.51;0.64;2.4;0.107;6;15;0.9973;3.09;0.66;11.8;7 -10.5;0.51;0.64;2.4;0.107;6;15;0.9973;3.09;0.66;11.8;7 -8.5;0.655;0.49;6.1;0.122;34;151;1.001;3.31;1.14;9.3;5 -12.5;0.6;0.49;4.3;0.1;5;14;1.001;3.25;0.74;11.9;6 -10.4;0.61;0.49;2.1;0.2;5;16;0.9994;3.16;0.63;8.4;3 -10.9;0.21;0.49;2.8;0.088;11;32;0.9972;3.22;0.68;11.7;6 -7.3;0.365;0.49;2.5;0.088;39;106;0.9966;3.36;0.78;11;5 -9.8;0.25;0.49;2.7;0.088;15;33;0.9982;3.42;0.9;10;6 -7.6;0.41;0.49;2;0.088;16;43;0.998;3.48;0.64;9.1;5 -8.2;0.39;0.49;2.3;0.099;47;133;0.9979;3.38;0.99;9.8;5 -9.3;0.4;0.49;2.5;0.085;38;142;0.9978;3.22;0.55;9.4;5 -9.2;0.43;0.49;2.4;0.086;23;116;0.9976;3.23;0.64;9.5;5 -10.4;0.64;0.24;2.8;0.105;29;53;0.9998;3.24;0.67;9.9;5 -7.3;0.365;0.49;2.5;0.088;39;106;0.9966;3.36;0.78;11;5 -7;0.38;0.49;2.5;0.097;33;85;0.9962;3.39;0.77;11.4;6 -8.2;0.42;0.49;2.6;0.084;32;55;0.9988;3.34;0.75;8.7;6 -9.9;0.63;0.24;2.4;0.077;6;33;0.9974;3.09;0.57;9.4;5 -9.1;0.22;0.24;2.1;0.078;1;28;0.999;3.41;0.87;10.3;6 -11.9;0.38;0.49;2.7;0.098;12;42;1.0004;3.16;0.61;10.3;5 -11.9;0.38;0.49;2.7;0.098;12;42;1.0004;3.16;0.61;10.3;5 -10.3;0.27;0.24;2.1;0.072;15;33;0.9956;3.22;0.66;12.8;6 -10;0.48;0.24;2.7;0.102;13;32;1;3.28;0.56;10;6 -9.1;0.22;0.24;2.1;0.078;1;28;0.999;3.41;0.87;10.3;6 -9.9;0.63;0.24;2.4;0.077;6;33;0.9974;3.09;0.57;9.4;5 -8.1;0.825;0.24;2.1;0.084;5;13;0.9972;3.37;0.77;10.7;6 -12.9;0.35;0.49;5.8;0.066;5;35;1.0014;3.2;0.66;12;7 -11.2;0.5;0.74;5.15;0.1;5;17;0.9996;3.22;0.62;11.2;5 -9.2;0.59;0.24;3.3;0.101;20;47;0.9988;3.26;0.67;9.6;5 -9.5;0.46;0.49;6.3;0.064;5;17;0.9988;3.21;0.73;11;6 -9.3;0.715;0.24;2.1;0.07;5;20;0.9966;3.12;0.59;9.9;5 -11.2;0.66;0.24;2.5;0.085;16;53;0.9993;3.06;0.72;11;6 -14.3;0.31;0.74;1.8;0.075;6;15;1.0008;2.86;0.79;8.4;6 -9.1;0.47;0.49;2.6;0.094;38;106;0.9982;3.08;0.59;9.1;5 -7.5;0.55;0.24;2;0.078;10;28;0.9983;3.45;0.78;9.5;6 -10.6;0.31;0.49;2.5;0.067;6;21;0.9987;3.26;0.86;10.7;6 -12.4;0.35;0.49;2.6;0.079;27;69;0.9994;3.12;0.75;10.4;6 -9;0.53;0.49;1.9;0.171;6;25;0.9975;3.27;0.61;9.4;6 -6.8;0.51;0.01;2.1;0.074;9;25;0.9958;3.33;0.56;9.5;6 -9.4;0.43;0.24;2.8;0.092;14;45;0.998;3.19;0.73;10;6 -9.5;0.46;0.24;2.7;0.092;14;44;0.998;3.12;0.74;10;6 -5;1.04;0.24;1.6;0.05;32;96;0.9934;3.74;0.62;11.5;5 -15.5;0.645;0.49;4.2;0.095;10;23;1.00315;2.92;0.74;11.1;5 -15.5;0.645;0.49;4.2;0.095;10;23;1.00315;2.92;0.74;11.1;5 -10.9;0.53;0.49;4.6;0.118;10;17;1.0002;3.07;0.56;11.7;6 -15.6;0.645;0.49;4.2;0.095;10;23;1.00315;2.92;0.74;11.1;5 -10.9;0.53;0.49;4.6;0.118;10;17;1.0002;3.07;0.56;11.7;6 -13;0.47;0.49;4.3;0.085;6;47;1.0021;3.3;0.68;12.7;6 -12.7;0.6;0.49;2.8;0.075;5;19;0.9994;3.14;0.57;11.4;5 -9;0.44;0.49;2.4;0.078;26;121;0.9978;3.23;0.58;9.2;5 -9;0.54;0.49;2.9;0.094;41;110;0.9982;3.08;0.61;9.2;5 -7.6;0.29;0.49;2.7;0.092;25;60;0.9971;3.31;0.61;10.1;6 -13;0.47;0.49;4.3;0.085;6;47;1.0021;3.3;0.68;12.7;6 -12.7;0.6;0.49;2.8;0.075;5;19;0.9994;3.14;0.57;11.4;5 -8.7;0.7;0.24;2.5;0.226;5;15;0.9991;3.32;0.6;9;6 -8.7;0.7;0.24;2.5;0.226;5;15;0.9991;3.32;0.6;9;6 -9.8;0.5;0.49;2.6;0.25;5;20;0.999;3.31;0.79;10.7;6 -6.2;0.36;0.24;2.2;0.095;19;42;0.9946;3.57;0.57;11.7;6 -11.5;0.35;0.49;3.3;0.07;10;37;1.0003;3.32;0.91;11;6 -6.2;0.36;0.24;2.2;0.095;19;42;0.9946;3.57;0.57;11.7;6 -10.2;0.24;0.49;2.4;0.075;10;28;0.9978;3.14;0.61;10.4;5 -10.5;0.59;0.49;2.1;0.07;14;47;0.9991;3.3;0.56;9.6;4 -10.6;0.34;0.49;3.2;0.078;20;78;0.9992;3.19;0.7;10;6 -12.3;0.27;0.49;3.1;0.079;28;46;0.9993;3.2;0.8;10.2;6 -9.9;0.5;0.24;2.3;0.103;6;14;0.9978;3.34;0.52;10;4 -8.8;0.44;0.49;2.8;0.083;18;111;0.9982;3.3;0.6;9.5;5 -8.8;0.47;0.49;2.9;0.085;17;110;0.9982;3.29;0.6;9.8;5 -10.6;0.31;0.49;2.2;0.063;18;40;0.9976;3.14;0.51;9.8;6 -12.3;0.5;0.49;2.2;0.089;5;14;1.0002;3.19;0.44;9.6;5 -12.3;0.5;0.49;2.2;0.089;5;14;1.0002;3.19;0.44;9.6;5 -11.7;0.49;0.49;2.2;0.083;5;15;1;3.19;0.43;9.2;5 -12;0.28;0.49;1.9;0.074;10;21;0.9976;2.98;0.66;9.9;7 -11.8;0.33;0.49;3.4;0.093;54;80;1.0002;3.3;0.76;10.7;7 -7.6;0.51;0.24;2.4;0.091;8;38;0.998;3.47;0.66;9.6;6 -11.1;0.31;0.49;2.7;0.094;16;47;0.9986;3.12;1.02;10.6;7 -7.3;0.73;0.24;1.9;0.108;18;102;0.9967;3.26;0.59;9.3;5 -5;0.42;0.24;2;0.06;19;50;0.9917;3.72;0.74;14;8 -10.2;0.29;0.49;2.6;0.059;5;13;0.9976;3.05;0.74;10.5;7 -9;0.45;0.49;2.6;0.084;21;75;0.9987;3.35;0.57;9.7;5 -6.6;0.39;0.49;1.7;0.07;23;149;0.9922;3.12;0.5;11.5;6 -9;0.45;0.49;2.6;0.084;21;75;0.9987;3.35;0.57;9.7;5 -9.9;0.49;0.58;3.5;0.094;9;43;1.0004;3.29;0.58;9;5 -7.9;0.72;0.17;2.6;0.096;20;38;0.9978;3.4;0.53;9.5;5 -8.9;0.595;0.41;7.9;0.086;30;109;0.9998;3.27;0.57;9.3;5 -12.4;0.4;0.51;2;0.059;6;24;0.9994;3.04;0.6;9.3;6 -11.9;0.58;0.58;1.9;0.071;5;18;0.998;3.09;0.63;10;6 -8.5;0.585;0.18;2.1;0.078;5;30;0.9967;3.2;0.48;9.8;6 -12.7;0.59;0.45;2.3;0.082;11;22;1;3;0.7;9.3;6 -8.2;0.915;0.27;2.1;0.088;7;23;0.9962;3.26;0.47;10;4 -13.2;0.46;0.52;2.2;0.071;12;35;1.0006;3.1;0.56;9;6 -7.7;0.835;0;2.6;0.081;6;14;0.9975;3.3;0.52;9.3;5 -13.2;0.46;0.52;2.2;0.071;12;35;1.0006;3.1;0.56;9;6 -8.3;0.58;0.13;2.9;0.096;14;63;0.9984;3.17;0.62;9.1;6 -8.3;0.6;0.13;2.6;0.085;6;24;0.9984;3.31;0.59;9.2;6 -9.4;0.41;0.48;4.6;0.072;10;20;0.9973;3.34;0.79;12.2;7 -8.8;0.48;0.41;3.3;0.092;26;52;0.9982;3.31;0.53;10.5;6 -10.1;0.65;0.37;5.1;0.11;11;65;1.0026;3.32;0.64;10.4;6 -6.3;0.36;0.19;3.2;0.075;15;39;0.9956;3.56;0.52;12.7;6 -8.8;0.24;0.54;2.5;0.083;25;57;0.9983;3.39;0.54;9.2;5 -13.2;0.38;0.55;2.7;0.081;5;16;1.0006;2.98;0.54;9.4;5 -7.5;0.64;0;2.4;0.077;18;29;0.9965;3.32;0.6;10;6 -8.2;0.39;0.38;1.5;0.058;10;29;0.9962;3.26;0.74;9.8;5 -9.2;0.755;0.18;2.2;0.148;10;103;0.9969;2.87;1.36;10.2;6 -9.6;0.6;0.5;2.3;0.079;28;71;0.9997;3.5;0.57;9.7;5 -9.6;0.6;0.5;2.3;0.079;28;71;0.9997;3.5;0.57;9.7;5 -11.5;0.31;0.51;2.2;0.079;14;28;0.9982;3.03;0.93;9.8;6 -11.4;0.46;0.5;2.7;0.122;4;17;1.0006;3.13;0.7;10.2;5 -11.3;0.37;0.41;2.3;0.088;6;16;0.9988;3.09;0.8;9.3;5 -8.3;0.54;0.24;3.4;0.076;16;112;0.9976;3.27;0.61;9.4;5 -8.2;0.56;0.23;3.4;0.078;14;104;0.9976;3.28;0.62;9.4;5 -10;0.58;0.22;1.9;0.08;9;32;0.9974;3.13;0.55;9.5;5 -7.9;0.51;0.25;2.9;0.077;21;45;0.9974;3.49;0.96;12.1;6 -6.8;0.69;0;5.6;0.124;21;58;0.9997;3.46;0.72;10.2;5 -6.8;0.69;0;5.6;0.124;21;58;0.9997;3.46;0.72;10.2;5 -8.8;0.6;0.29;2.2;0.098;5;15;0.9988;3.36;0.49;9.1;5 -8.8;0.6;0.29;2.2;0.098;5;15;0.9988;3.36;0.49;9.1;5 -8.7;0.54;0.26;2.5;0.097;7;31;0.9976;3.27;0.6;9.3;6 -7.6;0.685;0.23;2.3;0.111;20;84;0.9964;3.21;0.61;9.3;5 -8.7;0.54;0.26;2.5;0.097;7;31;0.9976;3.27;0.6;9.3;6 -10.4;0.28;0.54;2.7;0.105;5;19;0.9988;3.25;0.63;9.5;5 -7.6;0.41;0.14;3;0.087;21;43;0.9964;3.32;0.57;10.5;6 -10.1;0.935;0.22;3.4;0.105;11;86;1.001;3.43;0.64;11.3;4 -7.9;0.35;0.21;1.9;0.073;46;102;0.9964;3.27;0.58;9.5;5 -8.7;0.84;0;1.4;0.065;24;33;0.9954;3.27;0.55;9.7;5 -9.6;0.88;0.28;2.4;0.086;30;147;0.9979;3.24;0.53;9.4;5 -9.5;0.885;0.27;2.3;0.084;31;145;0.9978;3.24;0.53;9.4;5 -7.7;0.915;0.12;2.2;0.143;7;23;0.9964;3.35;0.65;10.2;7 -8.9;0.29;0.35;1.9;0.067;25;57;0.997;3.18;1.36;10.3;6 -9.9;0.54;0.45;2.3;0.071;16;40;0.9991;3.39;0.62;9.4;5 -9.5;0.59;0.44;2.3;0.071;21;68;0.9992;3.46;0.63;9.5;5 -9.9;0.54;0.45;2.3;0.071;16;40;0.9991;3.39;0.62;9.4;5 -9.5;0.59;0.44;2.3;0.071;21;68;0.9992;3.46;0.63;9.5;5 -9.9;0.54;0.45;2.3;0.071;16;40;0.9991;3.39;0.62;9.4;5 -7.8;0.64;0.1;6;0.115;5;11;0.9984;3.37;0.69;10.1;7 -7.3;0.67;0.05;3.6;0.107;6;20;0.9972;3.4;0.63;10.1;5 -8.3;0.845;0.01;2.2;0.07;5;14;0.9967;3.32;0.58;11;4 -8.7;0.48;0.3;2.8;0.066;10;28;0.9964;3.33;0.67;11.2;7 -6.7;0.42;0.27;8.6;0.068;24;148;0.9948;3.16;0.57;11.3;6 -10.7;0.43;0.39;2.2;0.106;8;32;0.9986;2.89;0.5;9.6;5 -9.8;0.88;0.25;2.5;0.104;35;155;1.001;3.41;0.67;11.2;5 -15.9;0.36;0.65;7.5;0.096;22;71;0.9976;2.98;0.84;14.9;5 -9.4;0.33;0.59;2.8;0.079;9;30;0.9976;3.12;0.54;12;6 -8.6;0.47;0.47;2.4;0.074;7;29;0.9979;3.08;0.46;9.5;5 -9.7;0.55;0.17;2.9;0.087;20;53;1.0004;3.14;0.61;9.4;5 -10.7;0.43;0.39;2.2;0.106;8;32;0.9986;2.89;0.5;9.6;5 -12;0.5;0.59;1.4;0.073;23;42;0.998;2.92;0.68;10.5;7 -7.2;0.52;0.07;1.4;0.074;5;20;0.9973;3.32;0.81;9.6;6 -7.1;0.84;0.02;4.4;0.096;5;13;0.997;3.41;0.57;11;4 -7.2;0.52;0.07;1.4;0.074;5;20;0.9973;3.32;0.81;9.6;6 -7.5;0.42;0.31;1.6;0.08;15;42;0.9978;3.31;0.64;9;5 -7.2;0.57;0.06;1.6;0.076;9;27;0.9972;3.36;0.7;9.6;6 -10.1;0.28;0.46;1.8;0.05;5;13;0.9974;3.04;0.79;10.2;6 -12.1;0.4;0.52;2;0.092;15;54;1;3.03;0.66;10.2;5 -9.4;0.59;0.14;2;0.084;25;48;0.9981;3.14;0.56;9.7;5 -8.3;0.49;0.36;1.8;0.222;6;16;0.998;3.18;0.6;9.5;6 -11.3;0.34;0.45;2;0.082;6;15;0.9988;2.94;0.66;9.2;6 -10;0.73;0.43;2.3;0.059;15;31;0.9966;3.15;0.57;11;5 -11.3;0.34;0.45;2;0.082;6;15;0.9988;2.94;0.66;9.2;6 -6.9;0.4;0.24;2.5;0.083;30;45;0.9959;3.26;0.58;10;5 -8.2;0.73;0.21;1.7;0.074;5;13;0.9968;3.2;0.52;9.5;5 -9.8;1.24;0.34;2;0.079;32;151;0.998;3.15;0.53;9.5;5 -8.2;0.73;0.21;1.7;0.074;5;13;0.9968;3.2;0.52;9.5;5 -10.8;0.4;0.41;2.2;0.084;7;17;0.9984;3.08;0.67;9.3;6 -9.3;0.41;0.39;2.2;0.064;12;31;0.9984;3.26;0.65;10.2;5 -10.8;0.4;0.41;2.2;0.084;7;17;0.9984;3.08;0.67;9.3;6 -8.6;0.8;0.11;2.3;0.084;12;31;0.9979;3.4;0.48;9.9;5 -8.3;0.78;0.1;2.6;0.081;45;87;0.9983;3.48;0.53;10;5 -10.8;0.26;0.45;3.3;0.06;20;49;0.9972;3.13;0.54;9.6;5 -13.3;0.43;0.58;1.9;0.07;15;40;1.0004;3.06;0.49;9;5 -8;0.45;0.23;2.2;0.094;16;29;0.9962;3.21;0.49;10.2;6 -8.5;0.46;0.31;2.25;0.078;32;58;0.998;3.33;0.54;9.8;5 -8.1;0.78;0.23;2.6;0.059;5;15;0.997;3.37;0.56;11.3;5 -9.8;0.98;0.32;2.3;0.078;35;152;0.998;3.25;0.48;9.4;5 -8.1;0.78;0.23;2.6;0.059;5;15;0.997;3.37;0.56;11.3;5 -7.1;0.65;0.18;1.8;0.07;13;40;0.997;3.44;0.6;9.1;5 -9.1;0.64;0.23;3.1;0.095;13;38;0.9998;3.28;0.59;9.7;5 -7.7;0.66;0.04;1.6;0.039;4;9;0.9962;3.4;0.47;9.4;5 -8.1;0.38;0.48;1.8;0.157;5;17;0.9976;3.3;1.05;9.4;5 -7.4;1.185;0;4.25;0.097;5;14;0.9966;3.63;0.54;10.7;3 -9.2;0.92;0.24;2.6;0.087;12;93;0.9998;3.48;0.54;9.8;5 -8.6;0.49;0.51;2;0.422;16;62;0.9979;3.03;1.17;9;5 -9;0.48;0.32;2.8;0.084;21;122;0.9984;3.32;0.62;9.4;5 -9;0.47;0.31;2.7;0.084;24;125;0.9984;3.31;0.61;9.4;5 -5.1;0.47;0.02;1.3;0.034;18;44;0.9921;3.9;0.62;12.8;6 -7;0.65;0.02;2.1;0.066;8;25;0.9972;3.47;0.67;9.5;6 -7;0.65;0.02;2.1;0.066;8;25;0.9972;3.47;0.67;9.5;6 -9.4;0.615;0.28;3.2;0.087;18;72;1.0001;3.31;0.53;9.7;5 -11.8;0.38;0.55;2.1;0.071;5;19;0.9986;3.11;0.62;10.8;6 -10.6;1.02;0.43;2.9;0.076;26;88;0.9984;3.08;0.57;10.1;6 -7;0.65;0.02;2.1;0.066;8;25;0.9972;3.47;0.67;9.5;6 -7;0.64;0.02;2.1;0.067;9;23;0.997;3.47;0.67;9.4;6 -7.5;0.38;0.48;2.6;0.073;22;84;0.9972;3.32;0.7;9.6;4 -9.1;0.765;0.04;1.6;0.078;4;14;0.998;3.29;0.54;9.7;4 -8.4;1.035;0.15;6;0.073;11;54;0.999;3.37;0.49;9.9;5 -7;0.78;0.08;2;0.093;10;19;0.9956;3.4;0.47;10;5 -7.4;0.49;0.19;3;0.077;16;37;0.9966;3.37;0.51;10.5;5 -7.8;0.545;0.12;2.5;0.068;11;35;0.996;3.34;0.61;11.6;6 -9.7;0.31;0.47;1.6;0.062;13;33;0.9983;3.27;0.66;10;6 -10.6;1.025;0.43;2.8;0.08;21;84;0.9985;3.06;0.57;10.1;5 -8.9;0.565;0.34;3;0.093;16;112;0.9998;3.38;0.61;9.5;5 -8.7;0.69;0;3.2;0.084;13;33;0.9992;3.36;0.45;9.4;5 -8;0.43;0.36;2.3;0.075;10;48;0.9976;3.34;0.46;9.4;5 -9.9;0.74;0.28;2.6;0.078;21;77;0.998;3.28;0.51;9.8;5 -7.2;0.49;0.18;2.7;0.069;13;34;0.9967;3.29;0.48;9.2;6 -8;0.43;0.36;2.3;0.075;10;48;0.9976;3.34;0.46;9.4;5 -7.6;0.46;0.11;2.6;0.079;12;49;0.9968;3.21;0.57;10;5 -8.4;0.56;0.04;2;0.082;10;22;0.9976;3.22;0.44;9.6;5 -7.1;0.66;0;3.9;0.086;17;45;0.9976;3.46;0.54;9.5;5 -8.4;0.56;0.04;2;0.082;10;22;0.9976;3.22;0.44;9.6;5 -8.9;0.48;0.24;2.85;0.094;35;106;0.9982;3.1;0.53;9.2;5 -7.6;0.42;0.08;2.7;0.084;15;48;0.9968;3.21;0.59;10;5 -7.1;0.31;0.3;2.2;0.053;36;127;0.9965;2.94;1.62;9.5;5 -7.5;1.115;0.1;3.1;0.086;5;12;0.9958;3.54;0.6;11.2;4 -9;0.66;0.17;3;0.077;5;13;0.9976;3.29;0.55;10.4;5 -8.1;0.72;0.09;2.8;0.084;18;49;0.9994;3.43;0.72;11.1;6 -6.4;0.57;0.02;1.8;0.067;4;11;0.997;3.46;0.68;9.5;5 -6.4;0.57;0.02;1.8;0.067;4;11;0.997;3.46;0.68;9.5;5 -6.4;0.865;0.03;3.2;0.071;27;58;0.995;3.61;0.49;12.7;6 -9.5;0.55;0.66;2.3;0.387;12;37;0.9982;3.17;0.67;9.6;5 -8.9;0.875;0.13;3.45;0.088;4;14;0.9994;3.44;0.52;11.5;5 -7.3;0.835;0.03;2.1;0.092;10;19;0.9966;3.39;0.47;9.6;5 -7;0.45;0.34;2.7;0.082;16;72;0.998;3.55;0.6;9.5;5 -7.7;0.56;0.2;2;0.075;9;39;0.9987;3.48;0.62;9.3;5 -7.7;0.965;0.1;2.1;0.112;11;22;0.9963;3.26;0.5;9.5;5 -7.7;0.965;0.1;2.1;0.112;11;22;0.9963;3.26;0.5;9.5;5 -8.2;0.59;0;2.5;0.093;19;58;1.0002;3.5;0.65;9.3;6 -9;0.46;0.23;2.8;0.092;28;104;0.9983;3.1;0.56;9.2;5 -9;0.69;0;2.4;0.088;19;38;0.999;3.35;0.6;9.3;5 -8.3;0.76;0.29;4.2;0.075;12;16;0.9965;3.45;0.68;11.5;6 -9.2;0.53;0.24;2.6;0.078;28;139;0.99788;3.21;0.57;9.5;5 -6.5;0.615;0;1.9;0.065;9;18;0.9972;3.46;0.65;9.2;5 -11.6;0.41;0.58;2.8;0.096;25;101;1.00024;3.13;0.53;10;5 -11.1;0.39;0.54;2.7;0.095;21;101;1.0001;3.13;0.51;9.5;5 -7.3;0.51;0.18;2.1;0.07;12;28;0.99768;3.52;0.73;9.5;6 -8.2;0.34;0.38;2.5;0.08;12;57;0.9978;3.3;0.47;9;6 -8.6;0.33;0.4;2.6;0.083;16;68;0.99782;3.3;0.48;9.4;5 -7.2;0.5;0.18;2.1;0.071;12;31;0.99761;3.52;0.72;9.6;6 -7.3;0.51;0.18;2.1;0.07;12;28;0.99768;3.52;0.73;9.5;6 -8.3;0.65;0.1;2.9;0.089;17;40;0.99803;3.29;0.55;9.5;5 -8.3;0.65;0.1;2.9;0.089;17;40;0.99803;3.29;0.55;9.5;5 -7.6;0.54;0.13;2.5;0.097;24;66;0.99785;3.39;0.61;9.4;5 -8.3;0.65;0.1;2.9;0.089;17;40;0.99803;3.29;0.55;9.5;5 -7.8;0.48;0.68;1.7;0.415;14;32;0.99656;3.09;1.06;9.1;6 -7.8;0.91;0.07;1.9;0.058;22;47;0.99525;3.51;0.43;10.7;6 -6.3;0.98;0.01;2;0.057;15;33;0.99488;3.6;0.46;11.2;6 -8.1;0.87;0;2.2;0.084;10;31;0.99656;3.25;0.5;9.8;5 -8.1;0.87;0;2.2;0.084;10;31;0.99656;3.25;0.5;9.8;5 -8.8;0.42;0.21;2.5;0.092;33;88;0.99823;3.19;0.52;9.2;5 -9;0.58;0.25;2.8;0.075;9;104;0.99779;3.23;0.57;9.7;5 -9.3;0.655;0.26;2;0.096;5;35;0.99738;3.25;0.42;9.6;5 -8.8;0.7;0;1.7;0.069;8;19;0.99701;3.31;0.53;10;6 -9.3;0.655;0.26;2;0.096;5;35;0.99738;3.25;0.42;9.6;5 -9.1;0.68;0.11;2.8;0.093;11;44;0.99888;3.31;0.55;9.5;6 -9.2;0.67;0.1;3;0.091;12;48;0.99888;3.31;0.54;9.5;6 -8.8;0.59;0.18;2.9;0.089;12;74;0.99738;3.14;0.54;9.4;5 -7.5;0.6;0.32;2.7;0.103;13;98;0.99938;3.45;0.62;9.5;5 -7.1;0.59;0.02;2.3;0.082;24;94;0.99744;3.55;0.53;9.7;6 -7.9;0.72;0.01;1.9;0.076;7;32;0.99668;3.39;0.54;9.6;5 -7.1;0.59;0.02;2.3;0.082;24;94;0.99744;3.55;0.53;9.7;6 -9.4;0.685;0.26;2.4;0.082;23;143;0.9978;3.28;0.55;9.4;5 -9.5;0.57;0.27;2.3;0.082;23;144;0.99782;3.27;0.55;9.4;5 -7.9;0.4;0.29;1.8;0.157;1;44;0.9973;3.3;0.92;9.5;6 -7.9;0.4;0.3;1.8;0.157;2;45;0.99727;3.31;0.91;9.5;6 -7.2;1;0;3;0.102;7;16;0.99586;3.43;0.46;10;5 -6.9;0.765;0.18;2.4;0.243;5.5;48;0.99612;3.4;0.6;10.3;6 -6.9;0.635;0.17;2.4;0.241;6;18;0.9961;3.4;0.59;10.3;6 -8.3;0.43;0.3;3.4;0.079;7;34;0.99788;3.36;0.61;10.5;5 -7.1;0.52;0.03;2.6;0.076;21;92;0.99745;3.5;0.6;9.8;5 -7;0.57;0;2;0.19;12;45;0.99676;3.31;0.6;9.4;6 -6.5;0.46;0.14;2.4;0.114;9;37;0.99732;3.66;0.65;9.8;5 -9;0.82;0.05;2.4;0.081;26;96;0.99814;3.36;0.53;10;5 -6.5;0.46;0.14;2.4;0.114;9;37;0.99732;3.66;0.65;9.8;5 -7.1;0.59;0.01;2.5;0.077;20;85;0.99746;3.55;0.59;9.8;5 -9.9;0.35;0.41;2.3;0.083;11;61;0.9982;3.21;0.5;9.5;5 -9.9;0.35;0.41;2.3;0.083;11;61;0.9982;3.21;0.5;9.5;5 -10;0.56;0.24;2.2;0.079;19;58;0.9991;3.18;0.56;10.1;6 -10;0.56;0.24;2.2;0.079;19;58;0.9991;3.18;0.56;10.1;6 -8.6;0.63;0.17;2.9;0.099;21;119;0.998;3.09;0.52;9.3;5 -7.4;0.37;0.43;2.6;0.082;18;82;0.99708;3.33;0.68;9.7;6 -8.8;0.64;0.17;2.9;0.084;25;130;0.99818;3.23;0.54;9.6;5 -7.1;0.61;0.02;2.5;0.081;17;87;0.99745;3.48;0.6;9.7;6 -7.7;0.6;0;2.6;0.055;7;13;0.99639;3.38;0.56;10.8;5 -10.1;0.27;0.54;2.3;0.065;7;26;0.99531;3.17;0.53;12.5;6 -10.8;0.89;0.3;2.6;0.132;7;60;0.99786;2.99;1.18;10.2;5 -8.7;0.46;0.31;2.5;0.126;24;64;0.99746;3.1;0.74;9.6;5 -9.3;0.37;0.44;1.6;0.038;21;42;0.99526;3.24;0.81;10.8;7 -9.4;0.5;0.34;3.6;0.082;5;14;0.9987;3.29;0.52;10.7;6 -9.4;0.5;0.34;3.6;0.082;5;14;0.9987;3.29;0.52;10.7;6 -7.2;0.61;0.08;4;0.082;26;108;0.99641;3.25;0.51;9.4;5 -8.6;0.55;0.09;3.3;0.068;8;17;0.99735;3.23;0.44;10;5 -5.1;0.585;0;1.7;0.044;14;86;0.99264;3.56;0.94;12.9;7 -7.7;0.56;0.08;2.5;0.114;14;46;0.9971;3.24;0.66;9.6;6 -8.4;0.52;0.22;2.7;0.084;4;18;0.99682;3.26;0.57;9.9;6 -8.2;0.28;0.4;2.4;0.052;4;10;0.99356;3.33;0.7;12.8;7 -8.4;0.25;0.39;2;0.041;4;10;0.99386;3.27;0.71;12.5;7 -8.2;0.28;0.4;2.4;0.052;4;10;0.99356;3.33;0.7;12.8;7 -7.4;0.53;0.12;1.9;0.165;4;12;0.99702;3.26;0.86;9.2;5 -7.6;0.48;0.31;2.8;0.07;4;15;0.99693;3.22;0.55;10.3;6 -7.3;0.49;0.1;2.6;0.068;4;14;0.99562;3.3;0.47;10.5;5 -12.9;0.5;0.55;2.8;0.072;7;24;1.00012;3.09;0.68;10.9;6 -10.8;0.45;0.33;2.5;0.099;20;38;0.99818;3.24;0.71;10.8;5 -6.9;0.39;0.24;2.1;0.102;4;7;0.99462;3.44;0.58;11.4;4 -12.6;0.41;0.54;2.8;0.103;19;41;0.99939;3.21;0.76;11.3;6 -10.8;0.45;0.33;2.5;0.099;20;38;0.99818;3.24;0.71;10.8;5 -9.8;0.51;0.19;3.2;0.081;8;30;0.9984;3.23;0.58;10.5;6 -10.8;0.29;0.42;1.6;0.084;19;27;0.99545;3.28;0.73;11.9;6 -7.1;0.715;0;2.35;0.071;21;47;0.99632;3.29;0.45;9.4;5 -9.1;0.66;0.15;3.2;0.097;9;59;0.99976;3.28;0.54;9.6;5 -7;0.685;0;1.9;0.099;9;22;0.99606;3.34;0.6;9.7;5 -4.9;0.42;0;2.1;0.048;16;42;0.99154;3.71;0.74;14;7 -6.7;0.54;0.13;2;0.076;15;36;0.9973;3.61;0.64;9.8;5 -6.7;0.54;0.13;2;0.076;15;36;0.9973;3.61;0.64;9.8;5 -7.1;0.48;0.28;2.8;0.068;6;16;0.99682;3.24;0.53;10.3;5 -7.1;0.46;0.14;2.8;0.076;15;37;0.99624;3.36;0.49;10.7;5 -7.5;0.27;0.34;2.3;0.05;4;8;0.9951;3.4;0.64;11;7 -7.1;0.46;0.14;2.8;0.076;15;37;0.99624;3.36;0.49;10.7;5 -7.8;0.57;0.09;2.3;0.065;34;45;0.99417;3.46;0.74;12.7;8 -5.9;0.61;0.08;2.1;0.071;16;24;0.99376;3.56;0.77;11.1;6 -7.5;0.685;0.07;2.5;0.058;5;9;0.99632;3.38;0.55;10.9;4 -5.9;0.61;0.08;2.1;0.071;16;24;0.99376;3.56;0.77;11.1;6 -10.4;0.44;0.42;1.5;0.145;34;48;0.99832;3.38;0.86;9.9;3 -11.6;0.47;0.44;1.6;0.147;36;51;0.99836;3.38;0.86;9.9;4 -8.8;0.685;0.26;1.6;0.088;16;23;0.99694;3.32;0.47;9.4;5 -7.6;0.665;0.1;1.5;0.066;27;55;0.99655;3.39;0.51;9.3;5 -6.7;0.28;0.28;2.4;0.012;36;100;0.99064;3.26;0.39;11.7;7 -6.7;0.28;0.28;2.4;0.012;36;100;0.99064;3.26;0.39;11.7;7 -10.1;0.31;0.35;1.6;0.075;9;28;0.99672;3.24;0.83;11.2;7 -6;0.5;0.04;2.2;0.092;13;26;0.99647;3.46;0.47;10;5 -11.1;0.42;0.47;2.65;0.085;9;34;0.99736;3.24;0.77;12.1;7 -6.6;0.66;0;3;0.115;21;31;0.99629;3.45;0.63;10.3;5 -10.6;0.5;0.45;2.6;0.119;34;68;0.99708;3.23;0.72;10.9;6 -7.1;0.685;0.35;2;0.088;9;92;0.9963;3.28;0.62;9.4;5 -9.9;0.25;0.46;1.7;0.062;26;42;0.9959;3.18;0.83;10.6;6 -6.4;0.64;0.21;1.8;0.081;14;31;0.99689;3.59;0.66;9.8;5 -6.4;0.64;0.21;1.8;0.081;14;31;0.99689;3.59;0.66;9.8;5 -7.4;0.68;0.16;1.8;0.078;12;39;0.9977;3.5;0.7;9.9;6 -6.4;0.64;0.21;1.8;0.081;14;31;0.99689;3.59;0.66;9.8;5 -6.4;0.63;0.21;1.6;0.08;12;32;0.99689;3.58;0.66;9.8;5 -9.3;0.43;0.44;1.9;0.085;9;22;0.99708;3.28;0.55;9.5;5 -9.3;0.43;0.44;1.9;0.085;9;22;0.99708;3.28;0.55;9.5;5 -8;0.42;0.32;2.5;0.08;26;122;0.99801;3.22;1.07;9.7;5 -9.3;0.36;0.39;1.5;0.08;41;55;0.99652;3.47;0.73;10.9;6 -9.3;0.36;0.39;1.5;0.08;41;55;0.99652;3.47;0.73;10.9;6 -7.6;0.735;0.02;2.5;0.071;10;14;0.99538;3.51;0.71;11.7;7 -9.3;0.36;0.39;1.5;0.08;41;55;0.99652;3.47;0.73;10.9;6 -8.2;0.26;0.34;2.5;0.073;16;47;0.99594;3.4;0.78;11.3;7 -11.7;0.28;0.47;1.7;0.054;17;32;0.99686;3.15;0.67;10.6;7 -6.8;0.56;0.22;1.8;0.074;15;24;0.99438;3.4;0.82;11.2;6 -7.2;0.62;0.06;2.7;0.077;15;85;0.99746;3.51;0.54;9.5;5 -5.8;1.01;0.66;2;0.039;15;88;0.99357;3.66;0.6;11.5;6 -7.5;0.42;0.32;2.7;0.067;7;25;0.99628;3.24;0.44;10.4;5 -7.2;0.62;0.06;2.5;0.078;17;84;0.99746;3.51;0.53;9.7;5 -7.2;0.62;0.06;2.7;0.077;15;85;0.99746;3.51;0.54;9.5;5 -7.2;0.635;0.07;2.6;0.077;16;86;0.99748;3.51;0.54;9.7;5 -6.8;0.49;0.22;2.3;0.071;13;24;0.99438;3.41;0.83;11.3;6 -6.9;0.51;0.23;2;0.072;13;22;0.99438;3.4;0.84;11.2;6 -6.8;0.56;0.22;1.8;0.074;15;24;0.99438;3.4;0.82;11.2;6 -7.6;0.63;0.03;2;0.08;27;43;0.99578;3.44;0.64;10.9;6 -7.7;0.715;0.01;2.1;0.064;31;43;0.99371;3.41;0.57;11.8;6 -6.9;0.56;0.03;1.5;0.086;36;46;0.99522;3.53;0.57;10.6;5 -7.3;0.35;0.24;2;0.067;28;48;0.99576;3.43;0.54;10;4 -9.1;0.21;0.37;1.6;0.067;6;10;0.99552;3.23;0.58;11.1;7 -10.4;0.38;0.46;2.1;0.104;6;10;0.99664;3.12;0.65;11.8;7 -8.8;0.31;0.4;2.8;0.109;7;16;0.99614;3.31;0.79;11.8;7 -7.1;0.47;0;2.2;0.067;7;14;0.99517;3.4;0.58;10.9;4 -7.7;0.715;0.01;2.1;0.064;31;43;0.99371;3.41;0.57;11.8;6 -8.8;0.61;0.19;4;0.094;30;69;0.99787;3.22;0.5;10;6 -7.2;0.6;0.04;2.5;0.076;18;88;0.99745;3.53;0.55;9.5;5 -9.2;0.56;0.18;1.6;0.078;10;21;0.99576;3.15;0.49;9.9;5 -7.6;0.715;0;2.1;0.068;30;35;0.99533;3.48;0.65;11.4;6 -8.4;0.31;0.29;3.1;0.194;14;26;0.99536;3.22;0.78;12;6 -7.2;0.6;0.04;2.5;0.076;18;88;0.99745;3.53;0.55;9.5;5 -8.8;0.61;0.19;4;0.094;30;69;0.99787;3.22;0.5;10;6 -8.9;0.75;0.14;2.5;0.086;9;30;0.99824;3.34;0.64;10.5;5 -9;0.8;0.12;2.4;0.083;8;28;0.99836;3.33;0.65;10.4;6 -10.7;0.52;0.38;2.6;0.066;29;56;0.99577;3.15;0.79;12.1;7 -6.8;0.57;0;2.5;0.072;32;64;0.99491;3.43;0.56;11.2;6 -10.7;0.9;0.34;6.6;0.112;23;99;1.00289;3.22;0.68;9.3;5 -7.2;0.34;0.24;2;0.071;30;52;0.99576;3.44;0.58;10.1;5 -7.2;0.66;0.03;2.3;0.078;16;86;0.99743;3.53;0.57;9.7;5 -10.1;0.45;0.23;1.9;0.082;10;18;0.99774;3.22;0.65;9.3;6 -7.2;0.66;0.03;2.3;0.078;16;86;0.99743;3.53;0.57;9.7;5 -7.2;0.63;0.03;2.2;0.08;17;88;0.99745;3.53;0.58;9.8;6 -7.1;0.59;0.01;2.3;0.08;27;43;0.9955;3.42;0.58;10.7;6 -8.3;0.31;0.39;2.4;0.078;17;43;0.99444;3.31;0.77;12.5;7 -7.1;0.59;0.01;2.3;0.08;27;43;0.9955;3.42;0.58;10.7;6 -8.3;0.31;0.39;2.4;0.078;17;43;0.99444;3.31;0.77;12.5;7 -8.3;1.02;0.02;3.4;0.084;6;11;0.99892;3.48;0.49;11;3 -8.9;0.31;0.36;2.6;0.056;10;39;0.99562;3.4;0.69;11.8;5 -7.4;0.635;0.1;2.4;0.08;16;33;0.99736;3.58;0.69;10.8;7 -7.4;0.635;0.1;2.4;0.08;16;33;0.99736;3.58;0.69;10.8;7 -6.8;0.59;0.06;6;0.06;11;18;0.9962;3.41;0.59;10.8;7 -6.8;0.59;0.06;6;0.06;11;18;0.9962;3.41;0.59;10.8;7 -9.2;0.58;0.2;3;0.081;15;115;0.998;3.23;0.59;9.5;5 -7.2;0.54;0.27;2.6;0.084;12;78;0.9964;3.39;0.71;11;5 -6.1;0.56;0;2.2;0.079;6;9;0.9948;3.59;0.54;11.5;6 -7.4;0.52;0.13;2.4;0.078;34;61;0.99528;3.43;0.59;10.8;6 -7.3;0.305;0.39;1.2;0.059;7;11;0.99331;3.29;0.52;11.5;6 -9.3;0.38;0.48;3.8;0.132;3;11;0.99577;3.23;0.57;13.2;6 -9.1;0.28;0.46;9;0.114;3;9;0.99901;3.18;0.6;10.9;6 -10;0.46;0.44;2.9;0.065;4;8;0.99674;3.33;0.62;12.2;6 -9.4;0.395;0.46;4.6;0.094;3;10;0.99639;3.27;0.64;12.2;7 -7.3;0.305;0.39;1.2;0.059;7;11;0.99331;3.29;0.52;11.5;6 -8.6;0.315;0.4;2.2;0.079;3;6;0.99512;3.27;0.67;11.9;6 -5.3;0.715;0.19;1.5;0.161;7;62;0.99395;3.62;0.61;11;5 -6.8;0.41;0.31;8.8;0.084;26;45;0.99824;3.38;0.64;10.1;6 -8.4;0.36;0.32;2.2;0.081;32;79;0.9964;3.3;0.72;11;6 -8.4;0.62;0.12;1.8;0.072;38;46;0.99504;3.38;0.89;11.8;6 -9.6;0.41;0.37;2.3;0.091;10;23;0.99786;3.24;0.56;10.5;5 -8.4;0.36;0.32;2.2;0.081;32;79;0.9964;3.3;0.72;11;6 -8.4;0.62;0.12;1.8;0.072;38;46;0.99504;3.38;0.89;11.8;6 -6.8;0.41;0.31;8.8;0.084;26;45;0.99824;3.38;0.64;10.1;6 -8.6;0.47;0.27;2.3;0.055;14;28;0.99516;3.18;0.8;11.2;5 -8.6;0.22;0.36;1.9;0.064;53;77;0.99604;3.47;0.87;11;7 -9.4;0.24;0.33;2.3;0.061;52;73;0.99786;3.47;0.9;10.2;6 -8.4;0.67;0.19;2.2;0.093;11;75;0.99736;3.2;0.59;9.2;4 -8.6;0.47;0.27;2.3;0.055;14;28;0.99516;3.18;0.8;11.2;5 -8.7;0.33;0.38;3.3;0.063;10;19;0.99468;3.3;0.73;12;7 -6.6;0.61;0.01;1.9;0.08;8;25;0.99746;3.69;0.73;10.5;5 -7.4;0.61;0.01;2;0.074;13;38;0.99748;3.48;0.65;9.8;5 -7.6;0.4;0.29;1.9;0.078;29;66;0.9971;3.45;0.59;9.5;6 -7.4;0.61;0.01;2;0.074;13;38;0.99748;3.48;0.65;9.8;5 -6.6;0.61;0.01;1.9;0.08;8;25;0.99746;3.69;0.73;10.5;5 -8.8;0.3;0.38;2.3;0.06;19;72;0.99543;3.39;0.72;11.8;6 -8.8;0.3;0.38;2.3;0.06;19;72;0.99543;3.39;0.72;11.8;6 -12;0.63;0.5;1.4;0.071;6;26;0.99791;3.07;0.6;10.4;4 -7.2;0.38;0.38;2.8;0.068;23;42;0.99356;3.34;0.72;12.9;7 -6.2;0.46;0.17;1.6;0.073;7;11;0.99425;3.61;0.54;11.4;5 -9.6;0.33;0.52;2.2;0.074;13;25;0.99509;3.36;0.76;12.4;7 -9.9;0.27;0.49;5;0.082;9;17;0.99484;3.19;0.52;12.5;7 -10.1;0.43;0.4;2.6;0.092;13;52;0.99834;3.22;0.64;10;7 -9.8;0.5;0.34;2.3;0.094;10;45;0.99864;3.24;0.6;9.7;7 -8.3;0.3;0.49;3.8;0.09;11;24;0.99498;3.27;0.64;12.1;7 -10.2;0.44;0.42;2;0.071;7;20;0.99566;3.14;0.79;11.1;7 -10.2;0.44;0.58;4.1;0.092;11;24;0.99745;3.29;0.99;12;7 -8.3;0.28;0.48;2.1;0.093;6;12;0.99408;3.26;0.62;12.4;7 -8.9;0.12;0.45;1.8;0.075;10;21;0.99552;3.41;0.76;11.9;7 -8.9;0.12;0.45;1.8;0.075;10;21;0.99552;3.41;0.76;11.9;7 -8.9;0.12;0.45;1.8;0.075;10;21;0.99552;3.41;0.76;11.9;7 -8.3;0.28;0.48;2.1;0.093;6;12;0.99408;3.26;0.62;12.4;7 -8.2;0.31;0.4;2.2;0.058;6;10;0.99536;3.31;0.68;11.2;7 -10.2;0.34;0.48;2.1;0.052;5;9;0.99458;3.2;0.69;12.1;7 -7.6;0.43;0.4;2.7;0.082;6;11;0.99538;3.44;0.54;12.2;6 -8.5;0.21;0.52;1.9;0.09;9;23;0.99648;3.36;0.67;10.4;5 -9;0.36;0.52;2.1;0.111;5;10;0.99568;3.31;0.62;11.3;6 -9.5;0.37;0.52;2;0.088;12;51;0.99613;3.29;0.58;11.1;6 -6.4;0.57;0.12;2.3;0.12;25;36;0.99519;3.47;0.71;11.3;7 -8;0.59;0.05;2;0.089;12;32;0.99735;3.36;0.61;10;5 -8.5;0.47;0.27;1.9;0.058;18;38;0.99518;3.16;0.85;11.1;6 -7.1;0.56;0.14;1.6;0.078;7;18;0.99592;3.27;0.62;9.3;5 -6.6;0.57;0.02;2.1;0.115;6;16;0.99654;3.38;0.69;9.5;5 -8.8;0.27;0.39;2;0.1;20;27;0.99546;3.15;0.69;11.2;6 -8.5;0.47;0.27;1.9;0.058;18;38;0.99518;3.16;0.85;11.1;6 -8.3;0.34;0.4;2.4;0.065;24;48;0.99554;3.34;0.86;11;6 -9;0.38;0.41;2.4;0.103;6;10;0.99604;3.13;0.58;11.9;7 -8.5;0.66;0.2;2.1;0.097;23;113;0.99733;3.13;0.48;9.2;5 -9;0.4;0.43;2.4;0.068;29;46;0.9943;3.2;0.6;12.2;6 -6.7;0.56;0.09;2.9;0.079;7;22;0.99669;3.46;0.61;10.2;5 -10.4;0.26;0.48;1.9;0.066;6;10;0.99724;3.33;0.87;10.9;6 -10.4;0.26;0.48;1.9;0.066;6;10;0.99724;3.33;0.87;10.9;6 -10.1;0.38;0.5;2.4;0.104;6;13;0.99643;3.22;0.65;11.6;7 -8.5;0.34;0.44;1.7;0.079;6;12;0.99605;3.52;0.63;10.7;5 -8.8;0.33;0.41;5.9;0.073;7;13;0.99658;3.3;0.62;12.1;7 -7.2;0.41;0.3;2.1;0.083;35;72;0.997;3.44;0.52;9.4;5 -7.2;0.41;0.3;2.1;0.083;35;72;0.997;3.44;0.52;9.4;5 -8.4;0.59;0.29;2.6;0.109;31;119;0.99801;3.15;0.5;9.1;5 -7;0.4;0.32;3.6;0.061;9;29;0.99416;3.28;0.49;11.3;7 -12.2;0.45;0.49;1.4;0.075;3;6;0.9969;3.13;0.63;10.4;5 -9.1;0.5;0.3;1.9;0.065;8;17;0.99774;3.32;0.71;10.5;6 -9.5;0.86;0.26;1.9;0.079;13;28;0.99712;3.25;0.62;10;5 -7.3;0.52;0.32;2.1;0.07;51;70;0.99418;3.34;0.82;12.9;6 -9.1;0.5;0.3;1.9;0.065;8;17;0.99774;3.32;0.71;10.5;6 -12.2;0.45;0.49;1.4;0.075;3;6;0.9969;3.13;0.63;10.4;5 -7.4;0.58;0;2;0.064;7;11;0.99562;3.45;0.58;11.3;6 -9.8;0.34;0.39;1.4;0.066;3;7;0.9947;3.19;0.55;11.4;7 -7.1;0.36;0.3;1.6;0.08;35;70;0.99693;3.44;0.5;9.4;5 -7.7;0.39;0.12;1.7;0.097;19;27;0.99596;3.16;0.49;9.4;5 -9.7;0.295;0.4;1.5;0.073;14;21;0.99556;3.14;0.51;10.9;6 -7.7;0.39;0.12;1.7;0.097;19;27;0.99596;3.16;0.49;9.4;5 -7.1;0.34;0.28;2;0.082;31;68;0.99694;3.45;0.48;9.4;5 -6.5;0.4;0.1;2;0.076;30;47;0.99554;3.36;0.48;9.4;6 -7.1;0.34;0.28;2;0.082;31;68;0.99694;3.45;0.48;9.4;5 -10;0.35;0.45;2.5;0.092;20;88;0.99918;3.15;0.43;9.4;5 -7.7;0.6;0.06;2;0.079;19;41;0.99697;3.39;0.62;10.1;6 -5.6;0.66;0;2.2;0.087;3;11;0.99378;3.71;0.63;12.8;7 -5.6;0.66;0;2.2;0.087;3;11;0.99378;3.71;0.63;12.8;7 -8.9;0.84;0.34;1.4;0.05;4;10;0.99554;3.12;0.48;9.1;6 -6.4;0.69;0;1.65;0.055;7;12;0.99162;3.47;0.53;12.9;6 -7.5;0.43;0.3;2.2;0.062;6;12;0.99495;3.44;0.72;11.5;7 -9.9;0.35;0.38;1.5;0.058;31;47;0.99676;3.26;0.82;10.6;7 -9.1;0.29;0.33;2.05;0.063;13;27;0.99516;3.26;0.84;11.7;7 -6.8;0.36;0.32;1.8;0.067;4;8;0.9928;3.36;0.55;12.8;7 -8.2;0.43;0.29;1.6;0.081;27;45;0.99603;3.25;0.54;10.3;5 -6.8;0.36;0.32;1.8;0.067;4;8;0.9928;3.36;0.55;12.8;7 -9.1;0.29;0.33;2.05;0.063;13;27;0.99516;3.26;0.84;11.7;7 -9.1;0.3;0.34;2;0.064;12;25;0.99516;3.26;0.84;11.7;7 -8.9;0.35;0.4;3.6;0.11;12;24;0.99549;3.23;0.7;12;7 -9.6;0.5;0.36;2.8;0.116;26;55;0.99722;3.18;0.68;10.9;5 -8.9;0.28;0.45;1.7;0.067;7;12;0.99354;3.25;0.55;12.3;7 -8.9;0.32;0.31;2;0.088;12;19;0.9957;3.17;0.55;10.4;6 -7.7;1.005;0.15;2.1;0.102;11;32;0.99604;3.23;0.48;10;5 -7.5;0.71;0;1.6;0.092;22;31;0.99635;3.38;0.58;10;6 -8;0.58;0.16;2;0.12;3;7;0.99454;3.22;0.58;11.2;6 -10.5;0.39;0.46;2.2;0.075;14;27;0.99598;3.06;0.84;11.4;6 -8.9;0.38;0.4;2.2;0.068;12;28;0.99486;3.27;0.75;12.6;7 -8;0.18;0.37;0.9;0.049;36;109;0.99007;2.89;0.44;12.7;6 -8;0.18;0.37;0.9;0.049;36;109;0.99007;2.89;0.44;12.7;6 -7;0.5;0.14;1.8;0.078;10;23;0.99636;3.53;0.61;10.4;5 -11.3;0.36;0.66;2.4;0.123;3;8;0.99642;3.2;0.53;11.9;6 -11.3;0.36;0.66;2.4;0.123;3;8;0.99642;3.2;0.53;11.9;6 -7;0.51;0.09;2.1;0.062;4;9;0.99584;3.35;0.54;10.5;5 -8.2;0.32;0.42;2.3;0.098;3;9;0.99506;3.27;0.55;12.3;6 -7.7;0.58;0.01;1.8;0.088;12;18;0.99568;3.32;0.56;10.5;7 -8.6;0.83;0;2.8;0.095;17;43;0.99822;3.33;0.6;10.4;6 -7.9;0.31;0.32;1.9;0.066;14;36;0.99364;3.41;0.56;12.6;6 -6.4;0.795;0;2.2;0.065;28;52;0.99378;3.49;0.52;11.6;5 -7.2;0.34;0.21;2.5;0.075;41;68;0.99586;3.37;0.54;10.1;6 -7.7;0.58;0.01;1.8;0.088;12;18;0.99568;3.32;0.56;10.5;7 -7.1;0.59;0;2.1;0.091;9;14;0.99488;3.42;0.55;11.5;7 -7.3;0.55;0.01;1.8;0.093;9;15;0.99514;3.35;0.58;11;7 -8.1;0.82;0;4.1;0.095;5;14;0.99854;3.36;0.53;9.6;5 -7.5;0.57;0.08;2.6;0.089;14;27;0.99592;3.3;0.59;10.4;6 -8.9;0.745;0.18;2.5;0.077;15;48;0.99739;3.2;0.47;9.7;6 -10.1;0.37;0.34;2.4;0.085;5;17;0.99683;3.17;0.65;10.6;7 -7.6;0.31;0.34;2.5;0.082;26;35;0.99356;3.22;0.59;12.5;7 -7.3;0.91;0.1;1.8;0.074;20;56;0.99672;3.35;0.56;9.2;5 -8.7;0.41;0.41;6.2;0.078;25;42;0.9953;3.24;0.77;12.6;7 -8.9;0.5;0.21;2.2;0.088;21;39;0.99692;3.33;0.83;11.1;6 -7.4;0.965;0;2.2;0.088;16;32;0.99756;3.58;0.67;10.2;5 -6.9;0.49;0.19;1.7;0.079;13;26;0.99547;3.38;0.64;9.8;6 -8.9;0.5;0.21;2.2;0.088;21;39;0.99692;3.33;0.83;11.1;6 -9.5;0.39;0.41;8.9;0.069;18;39;0.99859;3.29;0.81;10.9;7 -6.4;0.39;0.33;3.3;0.046;12;53;0.99294;3.36;0.62;12.2;6 -6.9;0.44;0;1.4;0.07;32;38;0.99438;3.32;0.58;11.4;6 -7.6;0.78;0;1.7;0.076;33;45;0.99612;3.31;0.62;10.7;6 -7.1;0.43;0.17;1.8;0.082;27;51;0.99634;3.49;0.64;10.4;5 -9.3;0.49;0.36;1.7;0.081;3;14;0.99702;3.27;0.78;10.9;6 -9.3;0.5;0.36;1.8;0.084;6;17;0.99704;3.27;0.77;10.8;6 -7.1;0.43;0.17;1.8;0.082;27;51;0.99634;3.49;0.64;10.4;5 -8.5;0.46;0.59;1.4;0.414;16;45;0.99702;3.03;1.34;9.2;5 -5.6;0.605;0.05;2.4;0.073;19;25;0.99258;3.56;0.55;12.9;5 -8.3;0.33;0.42;2.3;0.07;9;20;0.99426;3.38;0.77;12.7;7 -8.2;0.64;0.27;2;0.095;5;77;0.99747;3.13;0.62;9.1;6 -8.2;0.64;0.27;2;0.095;5;77;0.99747;3.13;0.62;9.1;6 -8.9;0.48;0.53;4;0.101;3;10;0.99586;3.21;0.59;12.1;7 -7.6;0.42;0.25;3.9;0.104;28;90;0.99784;3.15;0.57;9.1;5 -9.9;0.53;0.57;2.4;0.093;30;52;0.9971;3.19;0.76;11.6;7 -8.9;0.48;0.53;4;0.101;3;10;0.99586;3.21;0.59;12.1;7 -11.6;0.23;0.57;1.8;0.074;3;8;0.9981;3.14;0.7;9.9;6 -9.1;0.4;0.5;1.8;0.071;7;16;0.99462;3.21;0.69;12.5;8 -8;0.38;0.44;1.9;0.098;6;15;0.9956;3.3;0.64;11.4;6 -10.2;0.29;0.65;2.4;0.075;6;17;0.99565;3.22;0.63;11.8;6 -8.2;0.74;0.09;2;0.067;5;10;0.99418;3.28;0.57;11.8;6 -7.7;0.61;0.18;2.4;0.083;6;20;0.9963;3.29;0.6;10.2;6 -6.6;0.52;0.08;2.4;0.07;13;26;0.99358;3.4;0.72;12.5;7 -11.1;0.31;0.53;2.2;0.06;3;10;0.99572;3.02;0.83;10.9;7 -11.1;0.31;0.53;2.2;0.06;3;10;0.99572;3.02;0.83;10.9;7 -8;0.62;0.35;2.8;0.086;28;52;0.997;3.31;0.62;10.8;5 -9.3;0.33;0.45;1.5;0.057;19;37;0.99498;3.18;0.89;11.1;7 -7.5;0.77;0.2;8.1;0.098;30;92;0.99892;3.2;0.58;9.2;5 -7.2;0.35;0.26;1.8;0.083;33;75;0.9968;3.4;0.58;9.5;6 -8;0.62;0.33;2.7;0.088;16;37;0.9972;3.31;0.58;10.7;6 -7.5;0.77;0.2;8.1;0.098;30;92;0.99892;3.2;0.58;9.2;5 -9.1;0.25;0.34;2;0.071;45;67;0.99769;3.44;0.86;10.2;7 -9.9;0.32;0.56;2;0.073;3;8;0.99534;3.15;0.73;11.4;6 -8.6;0.37;0.65;6.4;0.08;3;8;0.99817;3.27;0.58;11;5 -8.6;0.37;0.65;6.4;0.08;3;8;0.99817;3.27;0.58;11;5 -7.9;0.3;0.68;8.3;0.05;37.5;278;0.99316;3.01;0.51;12.3;7 -10.3;0.27;0.56;1.4;0.047;3;8;0.99471;3.16;0.51;11.8;6 -7.9;0.3;0.68;8.3;0.05;37.5;289;0.99316;3.01;0.51;12.3;7 -7.2;0.38;0.3;1.8;0.073;31;70;0.99685;3.42;0.59;9.5;6 -8.7;0.42;0.45;2.4;0.072;32;59;0.99617;3.33;0.77;12;6 -7.2;0.38;0.3;1.8;0.073;31;70;0.99685;3.42;0.59;9.5;6 -6.8;0.48;0.08;1.8;0.074;40;64;0.99529;3.12;0.49;9.6;5 -8.5;0.34;0.4;4.7;0.055;3;9;0.99738;3.38;0.66;11.6;7 -7.9;0.19;0.42;1.6;0.057;18;30;0.994;3.29;0.69;11.2;6 -11.6;0.41;0.54;1.5;0.095;22;41;0.99735;3.02;0.76;9.9;7 -11.6;0.41;0.54;1.5;0.095;22;41;0.99735;3.02;0.76;9.9;7 -10;0.26;0.54;1.9;0.083;42;74;0.99451;2.98;0.63;11.8;8 -7.9;0.34;0.42;2;0.086;8;19;0.99546;3.35;0.6;11.4;6 -7;0.54;0.09;2;0.081;10;16;0.99479;3.43;0.59;11.5;6 -9.2;0.31;0.36;2.2;0.079;11;31;0.99615;3.33;0.86;12;7 -6.6;0.725;0.09;5.5;0.117;9;17;0.99655;3.35;0.49;10.8;6 -9.4;0.4;0.47;2.5;0.087;6;20;0.99772;3.15;0.5;10.5;5 -6.6;0.725;0.09;5.5;0.117;9;17;0.99655;3.35;0.49;10.8;6 -8.6;0.52;0.38;1.5;0.096;5;18;0.99666;3.2;0.52;9.4;5 -8;0.31;0.45;2.1;0.216;5;16;0.99358;3.15;0.81;12.5;7 -8.6;0.52;0.38;1.5;0.096;5;18;0.99666;3.2;0.52;9.4;5 -8.4;0.34;0.42;2.1;0.072;23;36;0.99392;3.11;0.78;12.4;6 -7.4;0.49;0.27;2.1;0.071;14;25;0.99388;3.35;0.63;12;6 -6.1;0.48;0.09;1.7;0.078;18;30;0.99402;3.45;0.54;11.2;6 -7.4;0.49;0.27;2.1;0.071;14;25;0.99388;3.35;0.63;12;6 -8;0.48;0.34;2.2;0.073;16;25;0.9936;3.28;0.66;12.4;6 -6.3;0.57;0.28;2.1;0.048;13;49;0.99374;3.41;0.6;12.8;5 -8.2;0.23;0.42;1.9;0.069;9;17;0.99376;3.21;0.54;12.3;6 -9.1;0.3;0.41;2;0.068;10;24;0.99523;3.27;0.85;11.7;7 -8.1;0.78;0.1;3.3;0.09;4;13;0.99855;3.36;0.49;9.5;5 -10.8;0.47;0.43;2.1;0.171;27;66;0.9982;3.17;0.76;10.8;6 -8.3;0.53;0;1.4;0.07;6;14;0.99593;3.25;0.64;10;6 -5.4;0.42;0.27;2;0.092;23;55;0.99471;3.78;0.64;12.3;7 -7.9;0.33;0.41;1.5;0.056;6;35;0.99396;3.29;0.71;11;6 -8.9;0.24;0.39;1.6;0.074;3;10;0.99698;3.12;0.59;9.5;6 -5;0.4;0.5;4.3;0.046;29;80;0.9902;3.49;0.66;13.6;6 -7;0.69;0.07;2.5;0.091;15;21;0.99572;3.38;0.6;11.3;6 -7;0.69;0.07;2.5;0.091;15;21;0.99572;3.38;0.6;11.3;6 -7;0.69;0.07;2.5;0.091;15;21;0.99572;3.38;0.6;11.3;6 -7.1;0.39;0.12;2.1;0.065;14;24;0.99252;3.3;0.53;13.3;6 -5.6;0.66;0;2.5;0.066;7;15;0.99256;3.52;0.58;12.9;5 -7.9;0.54;0.34;2.5;0.076;8;17;0.99235;3.2;0.72;13.1;8 -6.6;0.5;0;1.8;0.062;21;28;0.99352;3.44;0.55;12.3;6 -6.3;0.47;0;1.4;0.055;27;33;0.9922;3.45;0.48;12.3;6 -10.7;0.4;0.37;1.9;0.081;17;29;0.99674;3.12;0.65;11.2;6 -6.5;0.58;0;2.2;0.096;3;13;0.99557;3.62;0.62;11.5;4 -8.8;0.24;0.35;1.7;0.055;13;27;0.99394;3.14;0.59;11.3;7 -5.8;0.29;0.26;1.7;0.063;3;11;0.9915;3.39;0.54;13.5;6 -6.3;0.76;0;2.9;0.072;26;52;0.99379;3.51;0.6;11.5;6 -10;0.43;0.33;2.7;0.095;28;89;0.9984;3.22;0.68;10;5 -10.5;0.43;0.35;3.3;0.092;24;70;0.99798;3.21;0.69;10.5;6 -9.1;0.6;0;1.9;0.058;5;10;0.9977;3.18;0.63;10.4;6 -5.9;0.19;0.21;1.7;0.045;57;135;0.99341;3.32;0.44;9.5;5 -7.4;0.36;0.34;1.8;0.075;18;38;0.9933;3.38;0.88;13.6;7 -7.2;0.48;0.07;5.5;0.089;10;18;0.99684;3.37;0.68;11.2;7 -8.5;0.28;0.35;1.7;0.061;6;15;0.99524;3.3;0.74;11.8;7 -8;0.25;0.43;1.7;0.067;22;50;0.9946;3.38;0.6;11.9;6 -10.4;0.52;0.45;2;0.08;6;13;0.99774;3.22;0.76;11.4;6 -10.4;0.52;0.45;2;0.08;6;13;0.99774;3.22;0.76;11.4;6 -7.5;0.41;0.15;3.7;0.104;29;94;0.99786;3.14;0.58;9.1;5 -8.2;0.51;0.24;2;0.079;16;86;0.99764;3.34;0.64;9.5;6 -7.3;0.4;0.3;1.7;0.08;33;79;0.9969;3.41;0.65;9.5;6 -8.2;0.38;0.32;2.5;0.08;24;71;0.99624;3.27;0.85;11;6 -6.9;0.45;0.11;2.4;0.043;6;12;0.99354;3.3;0.65;11.4;6 -7;0.22;0.3;1.8;0.065;16;20;0.99672;3.61;0.82;10;6 -7.3;0.32;0.23;2.3;0.066;35;70;0.99588;3.43;0.62;10.1;5 -8.2;0.2;0.43;2.5;0.076;31;51;0.99672;3.53;0.81;10.4;6 -7.8;0.5;0.12;1.8;0.178;6;21;0.996;3.28;0.87;9.8;6 -10;0.41;0.45;6.2;0.071;6;14;0.99702;3.21;0.49;11.8;7 -7.8;0.39;0.42;2;0.086;9;21;0.99526;3.39;0.66;11.6;6 -10;0.35;0.47;2;0.061;6;11;0.99585;3.23;0.52;12;6 -8.2;0.33;0.32;2.8;0.067;4;12;0.99473;3.3;0.76;12.8;7 -6.1;0.58;0.23;2.5;0.044;16;70;0.99352;3.46;0.65;12.5;6 -8.3;0.6;0.25;2.2;0.118;9;38;0.99616;3.15;0.53;9.8;5 -9.6;0.42;0.35;2.1;0.083;17;38;0.99622;3.23;0.66;11.1;6 -6.6;0.58;0;2.2;0.1;50;63;0.99544;3.59;0.68;11.4;6 -8.3;0.6;0.25;2.2;0.118;9;38;0.99616;3.15;0.53;9.8;5 -8.5;0.18;0.51;1.75;0.071;45;88;0.99524;3.33;0.76;11.8;7 -5.1;0.51;0.18;2.1;0.042;16;101;0.9924;3.46;0.87;12.9;7 -6.7;0.41;0.43;2.8;0.076;22;54;0.99572;3.42;1.16;10.6;6 -10.2;0.41;0.43;2.2;0.11;11;37;0.99728;3.16;0.67;10.8;5 -10.6;0.36;0.57;2.3;0.087;6;20;0.99676;3.14;0.72;11.1;7 -8.8;0.45;0.43;1.4;0.076;12;21;0.99551;3.21;0.75;10.2;6 -8.5;0.32;0.42;2.3;0.075;12;19;0.99434;3.14;0.71;11.8;7 -9;0.785;0.24;1.7;0.078;10;21;0.99692;3.29;0.67;10;5 -9;0.785;0.24;1.7;0.078;10;21;0.99692;3.29;0.67;10;5 -8.5;0.44;0.5;1.9;0.369;15;38;0.99634;3.01;1.1;9.4;5 -9.9;0.54;0.26;2;0.111;7;60;0.99709;2.94;0.98;10.2;5 -8.2;0.33;0.39;2.5;0.074;29;48;0.99528;3.32;0.88;12.4;7 -6.5;0.34;0.27;2.8;0.067;8;44;0.99384;3.21;0.56;12;6 -7.6;0.5;0.29;2.3;0.086;5;14;0.99502;3.32;0.62;11.5;6 -9.2;0.36;0.34;1.6;0.062;5;12;0.99667;3.2;0.67;10.5;6 -7.1;0.59;0;2.2;0.078;26;44;0.99522;3.42;0.68;10.8;6 -9.7;0.42;0.46;2.1;0.074;5;16;0.99649;3.27;0.74;12.3;6 -7.6;0.36;0.31;1.7;0.079;26;65;0.99716;3.46;0.62;9.5;6 -7.6;0.36;0.31;1.7;0.079;26;65;0.99716;3.46;0.62;9.5;6 -6.5;0.61;0;2.2;0.095;48;59;0.99541;3.61;0.7;11.5;6 -6.5;0.88;0.03;5.6;0.079;23;47;0.99572;3.58;0.5;11.2;4 -7.1;0.66;0;2.4;0.052;6;11;0.99318;3.35;0.66;12.7;7 -5.6;0.915;0;2.1;0.041;17;78;0.99346;3.68;0.73;11.4;5 -8.2;0.35;0.33;2.4;0.076;11;47;0.99599;3.27;0.81;11;6 -8.2;0.35;0.33;2.4;0.076;11;47;0.99599;3.27;0.81;11;6 -9.8;0.39;0.43;1.65;0.068;5;11;0.99478;3.19;0.46;11.4;5 -10.2;0.4;0.4;2.5;0.068;41;54;0.99754;3.38;0.86;10.5;6 -6.8;0.66;0.07;1.6;0.07;16;61;0.99572;3.29;0.6;9.3;5 -6.7;0.64;0.23;2.1;0.08;11;119;0.99538;3.36;0.7;10.9;5 -7;0.43;0.3;2;0.085;6;39;0.99346;3.33;0.46;11.9;6 -6.6;0.8;0.03;7.8;0.079;6;12;0.9963;3.52;0.5;12.2;5 -7;0.43;0.3;2;0.085;6;39;0.99346;3.33;0.46;11.9;6 -6.7;0.64;0.23;2.1;0.08;11;119;0.99538;3.36;0.7;10.9;5 -8.8;0.955;0.05;1.8;0.075;5;19;0.99616;3.3;0.44;9.6;4 -9.1;0.4;0.57;4.6;0.08;6;20;0.99652;3.28;0.57;12.5;6 -6.5;0.885;0;2.3;0.166;6;12;0.99551;3.56;0.51;10.8;5 -7.2;0.25;0.37;2.5;0.063;11;41;0.99439;3.52;0.8;12.4;7 -6.4;0.885;0;2.3;0.166;6;12;0.99551;3.56;0.51;10.8;5 -7;0.745;0.12;1.8;0.114;15;64;0.99588;3.22;0.59;9.5;6 -6.2;0.43;0.22;1.8;0.078;21;56;0.99633;3.52;0.6;9.5;6 -7.9;0.58;0.23;2.3;0.076;23;94;0.99686;3.21;0.58;9.5;6 -7.7;0.57;0.21;1.5;0.069;4;9;0.99458;3.16;0.54;9.8;6 -7.7;0.26;0.26;2;0.052;19;77;0.9951;3.15;0.79;10.9;6 -7.9;0.58;0.23;2.3;0.076;23;94;0.99686;3.21;0.58;9.5;6 -7.7;0.57;0.21;1.5;0.069;4;9;0.99458;3.16;0.54;9.8;6 -7.9;0.34;0.36;1.9;0.065;5;10;0.99419;3.27;0.54;11.2;7 -8.6;0.42;0.39;1.8;0.068;6;12;0.99516;3.35;0.69;11.7;8 -9.9;0.74;0.19;5.8;0.111;33;76;0.99878;3.14;0.55;9.4;5 -7.2;0.36;0.46;2.1;0.074;24;44;0.99534;3.4;0.85;11;7 -7.2;0.36;0.46;2.1;0.074;24;44;0.99534;3.4;0.85;11;7 -7.2;0.36;0.46;2.1;0.074;24;44;0.99534;3.4;0.85;11;7 -9.9;0.72;0.55;1.7;0.136;24;52;0.99752;3.35;0.94;10;5 -7.2;0.36;0.46;2.1;0.074;24;44;0.99534;3.4;0.85;11;7 -6.2;0.39;0.43;2;0.071;14;24;0.99428;3.45;0.87;11.2;7 -6.8;0.65;0.02;2.1;0.078;8;15;0.99498;3.35;0.62;10.4;6 -6.6;0.44;0.15;2.1;0.076;22;53;0.9957;3.32;0.62;9.3;5 -6.8;0.65;0.02;2.1;0.078;8;15;0.99498;3.35;0.62;10.4;6 -9.6;0.38;0.42;1.9;0.071;5;13;0.99659;3.15;0.75;10.5;6 -10.2;0.33;0.46;1.9;0.081;6;9;0.99628;3.1;0.48;10.4;6 -8.8;0.27;0.46;2.1;0.095;20;29;0.99488;3.26;0.56;11.3;6 -7.9;0.57;0.31;2;0.079;10;79;0.99677;3.29;0.69;9.5;6 -8.2;0.34;0.37;1.9;0.057;43;74;0.99408;3.23;0.81;12;6 -8.2;0.4;0.31;1.9;0.082;8;24;0.996;3.24;0.69;10.6;6 -9;0.39;0.4;1.3;0.044;25;50;0.99478;3.2;0.83;10.9;6 -10.9;0.32;0.52;1.8;0.132;17;44;0.99734;3.28;0.77;11.5;6 -10.9;0.32;0.52;1.8;0.132;17;44;0.99734;3.28;0.77;11.5;6 -8.1;0.53;0.22;2.2;0.078;33;89;0.99678;3.26;0.46;9.6;6 -10.5;0.36;0.47;2.2;0.074;9;23;0.99638;3.23;0.76;12;6 -12.6;0.39;0.49;2.5;0.08;8;20;0.9992;3.07;0.82;10.3;6 -9.2;0.46;0.23;2.6;0.091;18;77;0.99922;3.15;0.51;9.4;5 -7.5;0.58;0.03;4.1;0.08;27;46;0.99592;3.02;0.47;9.2;5 -9;0.58;0.25;2;0.104;8;21;0.99769;3.27;0.72;9.6;5 -5.1;0.42;0;1.8;0.044;18;88;0.99157;3.68;0.73;13.6;7 -7.6;0.43;0.29;2.1;0.075;19;66;0.99718;3.4;0.64;9.5;5 -7.7;0.18;0.34;2.7;0.066;15;58;0.9947;3.37;0.78;11.8;6 -7.8;0.815;0.01;2.6;0.074;48;90;0.99621;3.38;0.62;10.8;5 -7.6;0.43;0.29;2.1;0.075;19;66;0.99718;3.4;0.64;9.5;5 -10.2;0.23;0.37;2.2;0.057;14;36;0.99614;3.23;0.49;9.3;4 -7.1;0.75;0.01;2.2;0.059;11;18;0.99242;3.39;0.4;12.8;6 -6;0.33;0.32;12.9;0.054;6;113;0.99572;3.3;0.56;11.5;4 -7.8;0.55;0;1.7;0.07;7;17;0.99659;3.26;0.64;9.4;6 -7.1;0.75;0.01;2.2;0.059;11;18;0.99242;3.39;0.4;12.8;6 -8.1;0.73;0;2.5;0.081;12;24;0.99798;3.38;0.46;9.6;4 -6.5;0.67;0;4.3;0.057;11;20;0.99488;3.45;0.56;11.8;4 -7.5;0.61;0.2;1.7;0.076;36;60;0.99494;3.1;0.4;9.3;5 -9.8;0.37;0.39;2.5;0.079;28;65;0.99729;3.16;0.59;9.8;5 -9;0.4;0.41;2;0.058;15;40;0.99414;3.22;0.6;12.2;6 -8.3;0.56;0.22;2.4;0.082;10;86;0.9983;3.37;0.62;9.5;5 -5.9;0.29;0.25;13.4;0.067;72;160;0.99721;3.33;0.54;10.3;6 -7.4;0.55;0.19;1.8;0.082;15;34;0.99655;3.49;0.68;10.5;5 -7.4;0.74;0.07;1.7;0.086;15;48;0.99502;3.12;0.48;10;5 -7.4;0.55;0.19;1.8;0.082;15;34;0.99655;3.49;0.68;10.5;5 -6.9;0.41;0.33;2.2;0.081;22;36;0.9949;3.41;0.75;11.1;6 -7.1;0.6;0.01;2.3;0.079;24;37;0.99514;3.4;0.61;10.9;6 -7.1;0.6;0.01;2.3;0.079;24;37;0.99514;3.4;0.61;10.9;6 -7.5;0.58;0.14;2.2;0.077;27;60;0.9963;3.28;0.59;9.8;5 -7.1;0.72;0;1.8;0.123;6;14;0.99627;3.45;0.58;9.8;5 -7.9;0.66;0;1.4;0.096;6;13;0.99569;3.43;0.58;9.5;5 -7.8;0.7;0.06;1.9;0.079;20;35;0.99628;3.4;0.69;10.9;5 -6.1;0.64;0.02;2.4;0.069;26;46;0.99358;3.47;0.45;11;5 -7.5;0.59;0.22;1.8;0.082;43;60;0.99499;3.1;0.42;9.2;5 -7;0.58;0.28;4.8;0.085;12;69;0.99633;3.32;0.7;11;6 -6.8;0.64;0;2.7;0.123;15;33;0.99538;3.44;0.63;11.3;6 -6.8;0.64;0;2.7;0.123;15;33;0.99538;3.44;0.63;11.3;6 -8.6;0.635;0.68;1.8;0.403;19;56;0.99632;3.02;1.15;9.3;5 -6.3;1.02;0;2;0.083;17;24;0.99437;3.59;0.55;11.2;4 -9.8;0.45;0.38;2.5;0.081;34;66;0.99726;3.15;0.58;9.8;5 -8.2;0.78;0;2.2;0.089;13;26;0.9978;3.37;0.46;9.6;4 -8.5;0.37;0.32;1.8;0.066;26;51;0.99456;3.38;0.72;11.8;6 -7.2;0.57;0.05;2.3;0.081;16;36;0.99564;3.38;0.6;10.3;6 -7.2;0.57;0.05;2.3;0.081;16;36;0.99564;3.38;0.6;10.3;6 -10.4;0.43;0.5;2.3;0.068;13;19;0.996;3.1;0.87;11.4;6 -6.9;0.41;0.31;2;0.079;21;51;0.99668;3.47;0.55;9.5;6 -5.5;0.49;0.03;1.8;0.044;28;87;0.9908;3.5;0.82;14;8 -5;0.38;0.01;1.6;0.048;26;60;0.99084;3.7;0.75;14;6 -7.3;0.44;0.2;1.6;0.049;24;64;0.9935;3.38;0.57;11.7;6 -5.9;0.46;0;1.9;0.077;25;44;0.99385;3.5;0.53;11.2;5 -7.5;0.58;0.2;2;0.073;34;44;0.99494;3.1;0.43;9.3;5 -7.8;0.58;0.13;2.1;0.102;17;36;0.9944;3.24;0.53;11.2;6 -8;0.715;0.22;2.3;0.075;13;81;0.99688;3.24;0.54;9.5;6 -8.5;0.4;0.4;6.3;0.05;3;10;0.99566;3.28;0.56;12;4 -7;0.69;0;1.9;0.114;3;10;0.99636;3.35;0.6;9.7;6 -8;0.715;0.22;2.3;0.075;13;81;0.99688;3.24;0.54;9.5;6 -9.8;0.3;0.39;1.7;0.062;3;9;0.9948;3.14;0.57;11.5;7 -7.1;0.46;0.2;1.9;0.077;28;54;0.9956;3.37;0.64;10.4;6 -7.1;0.46;0.2;1.9;0.077;28;54;0.9956;3.37;0.64;10.4;6 -7.9;0.765;0;2;0.084;9;22;0.99619;3.33;0.68;10.9;6 -8.7;0.63;0.28;2.7;0.096;17;69;0.99734;3.26;0.63;10.2;6 -7;0.42;0.19;2.3;0.071;18;36;0.99476;3.39;0.56;10.9;5 -11.3;0.37;0.5;1.8;0.09;20;47;0.99734;3.15;0.57;10.5;5 -7.1;0.16;0.44;2.5;0.068;17;31;0.99328;3.35;0.54;12.4;6 -8;0.6;0.08;2.6;0.056;3;7;0.99286;3.22;0.37;13;5 -7;0.6;0.3;4.5;0.068;20;110;0.99914;3.3;1.17;10.2;5 -7;0.6;0.3;4.5;0.068;20;110;0.99914;3.3;1.17;10.2;5 -7.6;0.74;0;1.9;0.1;6;12;0.99521;3.36;0.59;11;5 -8.2;0.635;0.1;2.1;0.073;25;60;0.99638;3.29;0.75;10.9;6 -5.9;0.395;0.13;2.4;0.056;14;28;0.99362;3.62;0.67;12.4;6 -7.5;0.755;0;1.9;0.084;6;12;0.99672;3.34;0.49;9.7;4 -8.2;0.635;0.1;2.1;0.073;25;60;0.99638;3.29;0.75;10.9;6 -6.6;0.63;0;4.3;0.093;51;77.5;0.99558;3.2;0.45;9.5;5 -6.6;0.63;0;4.3;0.093;51;77.5;0.99558;3.2;0.45;9.5;5 -7.2;0.53;0.14;2.1;0.064;15;29;0.99323;3.35;0.61;12.1;6 -5.7;0.6;0;1.4;0.063;11;18;0.99191;3.45;0.56;12.2;6 -7.6;1.58;0;2.1;0.137;5;9;0.99476;3.5;0.4;10.9;3 -5.2;0.645;0;2.15;0.08;15;28;0.99444;3.78;0.61;12.5;6 -6.7;0.86;0.07;2;0.1;20;57;0.99598;3.6;0.74;11.7;6 -9.1;0.37;0.32;2.1;0.064;4;15;0.99576;3.3;0.8;11.2;6 -8;0.28;0.44;1.8;0.081;28;68;0.99501;3.36;0.66;11.2;5 -7.6;0.79;0.21;2.3;0.087;21;68;0.9955;3.12;0.44;9.2;5 -7.5;0.61;0.26;1.9;0.073;24;88;0.99612;3.3;0.53;9.8;5 -9.7;0.69;0.32;2.5;0.088;22;91;0.9979;3.29;0.62;10.1;5 -6.8;0.68;0.09;3.9;0.068;15;29;0.99524;3.41;0.52;11.1;4 -9.7;0.69;0.32;2.5;0.088;22;91;0.9979;3.29;0.62;10.1;5 -7;0.62;0.1;1.4;0.071;27;63;0.996;3.28;0.61;9.2;5 -7.5;0.61;0.26;1.9;0.073;24;88;0.99612;3.3;0.53;9.8;5 -6.5;0.51;0.15;3;0.064;12;27;0.9929;3.33;0.59;12.8;6 -8;1.18;0.21;1.9;0.083;14;41;0.99532;3.34;0.47;10.5;5 -7;0.36;0.21;2.3;0.086;20;65;0.99558;3.4;0.54;10.1;6 -7;0.36;0.21;2.4;0.086;24;69;0.99556;3.4;0.53;10.1;6 -7.5;0.63;0.27;2;0.083;17;91;0.99616;3.26;0.58;9.8;6 -5.4;0.74;0;1.2;0.041;16;46;0.99258;4.01;0.59;12.5;6 -9.9;0.44;0.46;2.2;0.091;10;41;0.99638;3.18;0.69;11.9;6 -7.5;0.63;0.27;2;0.083;17;91;0.99616;3.26;0.58;9.8;6 -9.1;0.76;0.68;1.7;0.414;18;64;0.99652;2.9;1.33;9.1;6 -9.7;0.66;0.34;2.6;0.094;12;88;0.99796;3.26;0.66;10.1;5 -5;0.74;0;1.2;0.041;16;46;0.99258;4.01;0.59;12.5;6 -9.1;0.34;0.42;1.8;0.058;9;18;0.99392;3.18;0.55;11.4;5 -9.1;0.36;0.39;1.8;0.06;21;55;0.99495;3.18;0.82;11;7 -6.7;0.46;0.24;1.7;0.077;18;34;0.9948;3.39;0.6;10.6;6 -6.7;0.46;0.24;1.7;0.077;18;34;0.9948;3.39;0.6;10.6;6 -6.7;0.46;0.24;1.7;0.077;18;34;0.9948;3.39;0.6;10.6;6 -6.7;0.46;0.24;1.7;0.077;18;34;0.9948;3.39;0.6;10.6;6 -6.5;0.52;0.11;1.8;0.073;13;38;0.9955;3.34;0.52;9.3;5 -7.4;0.6;0.26;2.1;0.083;17;91;0.99616;3.29;0.56;9.8;6 -7.4;0.6;0.26;2.1;0.083;17;91;0.99616;3.29;0.56;9.8;6 -7.8;0.87;0.26;3.8;0.107;31;67;0.99668;3.26;0.46;9.2;5 -8.4;0.39;0.1;1.7;0.075;6;25;0.99581;3.09;0.43;9.7;6 -9.1;0.775;0.22;2.2;0.079;12;48;0.9976;3.18;0.51;9.6;5 -7.2;0.835;0;2;0.166;4;11;0.99608;3.39;0.52;10;5 -6.6;0.58;0.02;2.4;0.069;19;40;0.99387;3.38;0.66;12.6;6 -6;0.5;0;1.4;0.057;15;26;0.99448;3.36;0.45;9.5;5 -6;0.5;0;1.4;0.057;15;26;0.99448;3.36;0.45;9.5;5 -6;0.5;0;1.4;0.057;15;26;0.99448;3.36;0.45;9.5;5 -7.5;0.51;0.02;1.7;0.084;13;31;0.99538;3.36;0.54;10.5;6 -7.5;0.51;0.02;1.7;0.084;13;31;0.99538;3.36;0.54;10.5;6 -7.5;0.51;0.02;1.7;0.084;13;31;0.99538;3.36;0.54;10.5;6 -7.6;0.54;0.02;1.7;0.085;17;31;0.99589;3.37;0.51;10.4;6 -7.5;0.51;0.02;1.7;0.084;13;31;0.99538;3.36;0.54;10.5;6 -11.5;0.42;0.48;2.6;0.077;8;20;0.99852;3.09;0.53;11;5 -8.2;0.44;0.24;2.3;0.063;10;28;0.99613;3.25;0.53;10.2;6 -6.1;0.59;0.01;2.1;0.056;5;13;0.99472;3.52;0.56;11.4;5 -7.2;0.655;0.03;1.8;0.078;7;12;0.99587;3.34;0.39;9.5;5 -7.2;0.655;0.03;1.8;0.078;7;12;0.99587;3.34;0.39;9.5;5 -6.9;0.57;0;2.8;0.081;21;41;0.99518;3.41;0.52;10.8;5 -9;0.6;0.29;2;0.069;32;73;0.99654;3.34;0.57;10;5 -7.2;0.62;0.01;2.3;0.065;8;46;0.99332;3.32;0.51;11.8;6 -7.6;0.645;0.03;1.9;0.086;14;57;0.9969;3.37;0.46;10.3;5 -7.6;0.645;0.03;1.9;0.086;14;57;0.9969;3.37;0.46;10.3;5 -7.2;0.58;0.03;2.3;0.077;7;28;0.99568;3.35;0.52;10;5 -6.1;0.32;0.25;1.8;0.086;5;32;0.99464;3.36;0.44;10.1;5 -6.1;0.34;0.25;1.8;0.084;4;28;0.99464;3.36;0.44;10.1;5 -7.3;0.43;0.24;2.5;0.078;27;67;0.99648;3.6;0.59;11.1;6 -7.4;0.64;0.17;5.4;0.168;52;98;0.99736;3.28;0.5;9.5;5 -11.6;0.475;0.4;1.4;0.091;6;28;0.99704;3.07;0.65;10.0333333333333;6 -9.2;0.54;0.31;2.3;0.112;11;38;0.99699;3.24;0.56;10.9;5 -8.3;0.85;0.14;2.5;0.093;13;54;0.99724;3.36;0.54;10.1;5 -11.6;0.475;0.4;1.4;0.091;6;28;0.99704;3.07;0.65;10.0333333333333;6 -8;0.83;0.27;2;0.08;11;63;0.99652;3.29;0.48;9.8;4 -7.2;0.605;0.02;1.9;0.096;10;31;0.995;3.46;0.53;11.8;6 -7.8;0.5;0.09;2.2;0.115;10;42;0.9971;3.18;0.62;9.5;5 -7.3;0.74;0.08;1.7;0.094;10;45;0.99576;3.24;0.5;9.8;5 -6.9;0.54;0.3;2.2;0.088;9;105;0.99725;3.25;1.18;10.5;6 -8;0.77;0.32;2.1;0.079;16;74;0.99656;3.27;0.5;9.8;6 -6.6;0.61;0;1.6;0.069;4;8;0.99396;3.33;0.37;10.4;4 -8.7;0.78;0.51;1.7;0.415;12;66;0.99623;3;1.17;9.2;5 -7.5;0.58;0.56;3.1;0.153;5;14;0.99476;3.21;1.03;11.6;6 -8.7;0.78;0.51;1.7;0.415;12;66;0.99623;3;1.17;9.2;5 -7.7;0.75;0.27;3.8;0.11;34;89;0.99664;3.24;0.45;9.3;5 -6.8;0.815;0;1.2;0.267;16;29;0.99471;3.32;0.51;9.8;3 -7.2;0.56;0.26;2;0.083;13;100;0.99586;3.26;0.52;9.9;5 -8.2;0.885;0.2;1.4;0.086;7;31;0.9946;3.11;0.46;10;5 -5.2;0.49;0.26;2.3;0.09;23;74;0.9953;3.71;0.62;12.2;6 -7.2;0.45;0.15;2;0.078;10;28;0.99609;3.29;0.51;9.9;6 -7.5;0.57;0.02;2.6;0.077;11;35;0.99557;3.36;0.62;10.8;6 -7.5;0.57;0.02;2.6;0.077;11;35;0.99557;3.36;0.62;10.8;6 -6.8;0.83;0.09;1.8;0.074;4;25;0.99534;3.38;0.45;9.6;5 -8;0.6;0.22;2.1;0.08;25;105;0.99613;3.3;0.49;9.9;5 -8;0.6;0.22;2.1;0.08;25;105;0.99613;3.3;0.49;9.9;5 -7.1;0.755;0.15;1.8;0.107;20;84;0.99593;3.19;0.5;9.5;5 -8;0.81;0.25;3.4;0.076;34;85;0.99668;3.19;0.42;9.2;5 -7.4;0.64;0.07;1.8;0.1;8;23;0.9961;3.3;0.58;9.6;5 -7.4;0.64;0.07;1.8;0.1;8;23;0.9961;3.3;0.58;9.6;5 -6.6;0.64;0.31;6.1;0.083;7;49;0.99718;3.35;0.68;10.3;5 -6.7;0.48;0.02;2.2;0.08;36;111;0.99524;3.1;0.53;9.7;5 -6;0.49;0;2.3;0.068;15;33;0.99292;3.58;0.59;12.5;6 -8;0.64;0.22;2.4;0.094;5;33;0.99612;3.37;0.58;11;5 -7.1;0.62;0.06;1.3;0.07;5;12;0.9942;3.17;0.48;9.8;5 -8;0.52;0.25;2;0.078;19;59;0.99612;3.3;0.48;10.2;5 -6.4;0.57;0.14;3.9;0.07;27;73;0.99669;3.32;0.48;9.2;5 -8.6;0.685;0.1;1.6;0.092;3;12;0.99745;3.31;0.65;9.55;6 -8.7;0.675;0.1;1.6;0.09;4;11;0.99745;3.31;0.65;9.55;5 -7.3;0.59;0.26;2;0.08;17;104;0.99584;3.28;0.52;9.9;5 -7;0.6;0.12;2.2;0.083;13;28;0.9966;3.52;0.62;10.2;7 -7.2;0.67;0;2.2;0.068;10;24;0.9956;3.42;0.72;11.1;6 -7.9;0.69;0.21;2.1;0.08;33;141;0.9962;3.25;0.51;9.9;5 -7.9;0.69;0.21;2.1;0.08;33;141;0.9962;3.25;0.51;9.9;5 -7.6;0.3;0.42;2;0.052;6;24;0.9963;3.44;0.82;11.9;6 -7.2;0.33;0.33;1.7;0.061;3;13;0.996;3.23;1.1;10;8 -8;0.5;0.39;2.6;0.082;12;46;0.9985;3.43;0.62;10.7;6 -7.7;0.28;0.3;2;0.062;18;34;0.9952;3.28;0.9;11.3;7 -8.2;0.24;0.34;5.1;0.062;8;22;0.9974;3.22;0.94;10.9;6 -6;0.51;0;2.1;0.064;40;54;0.995;3.54;0.93;10.7;6 -8.1;0.29;0.36;2.2;0.048;35;53;0.995;3.27;1.01;12.4;7 -6;0.51;0;2.1;0.064;40;54;0.995;3.54;0.93;10.7;6 -6.6;0.96;0;1.8;0.082;5;16;0.9936;3.5;0.44;11.9;6 -6.4;0.47;0.4;2.4;0.071;8;19;0.9963;3.56;0.73;10.6;6 -8.2;0.24;0.34;5.1;0.062;8;22;0.9974;3.22;0.94;10.9;6 -9.9;0.57;0.25;2;0.104;12;89;0.9963;3.04;0.9;10.1;5 -10;0.32;0.59;2.2;0.077;3;15;0.9994;3.2;0.78;9.6;5 -6.2;0.58;0;1.6;0.065;8;18;0.9966;3.56;0.84;9.4;5 -10;0.32;0.59;2.2;0.077;3;15;0.9994;3.2;0.78;9.6;5 -7.3;0.34;0.33;2.5;0.064;21;37;0.9952;3.35;0.77;12.1;7 -7.8;0.53;0.01;1.6;0.077;3;19;0.995;3.16;0.46;9.8;5 -7.7;0.64;0.21;2.2;0.077;32;133;0.9956;3.27;0.45;9.9;5 -7.8;0.53;0.01;1.6;0.077;3;19;0.995;3.16;0.46;9.8;5 -7.5;0.4;0.18;1.6;0.079;24;58;0.9965;3.34;0.58;9.4;5 -7;0.54;0;2.1;0.079;39;55;0.9956;3.39;0.84;11.4;6 -6.4;0.53;0.09;3.9;0.123;14;31;0.9968;3.5;0.67;11;4 -8.3;0.26;0.37;1.4;0.076;8;23;0.9974;3.26;0.7;9.6;6 -8.3;0.26;0.37;1.4;0.076;8;23;0.9974;3.26;0.7;9.6;6 -7.7;0.23;0.37;1.8;0.046;23;60;0.9971;3.41;0.71;12.1;6 -7.6;0.41;0.33;2.5;0.078;6;23;0.9957;3.3;0.58;11.2;5 -7.8;0.64;0;1.9;0.072;27;55;0.9962;3.31;0.63;11;5 -7.9;0.18;0.4;2.2;0.049;38;67;0.996;3.33;0.93;11.3;5 -7.4;0.41;0.24;1.8;0.066;18;47;0.9956;3.37;0.62;10.4;5 -7.6;0.43;0.31;2.1;0.069;13;74;0.9958;3.26;0.54;9.9;6 -5.9;0.44;0;1.6;0.042;3;11;0.9944;3.48;0.85;11.7;6 -6.1;0.4;0.16;1.8;0.069;11;25;0.9955;3.42;0.74;10.1;7 -10.2;0.54;0.37;15.4;0.214;55;95;1.00369;3.18;0.77;9;6 -10.2;0.54;0.37;15.4;0.214;55;95;1.00369;3.18;0.77;9;6 -10;0.38;0.38;1.6;0.169;27;90;0.99914;3.15;0.65;8.5;5 -6.8;0.915;0.29;4.8;0.07;15;39;0.99577;3.53;0.54;11.1;5 -7;0.59;0;1.7;0.052;3;8;0.996;3.41;0.47;10.3;5 -7.3;0.67;0.02;2.2;0.072;31;92;0.99566;3.32;0.68;11.0666666666667;6 -7.2;0.37;0.32;2;0.062;15;28;0.9947;3.23;0.73;11.3;7 -7.4;0.785;0.19;5.2;0.094;19;98;0.99713;3.16;0.52;9.56666666666667;6 -6.9;0.63;0.02;1.9;0.078;18;30;0.99712;3.4;0.75;9.8;5 -6.9;0.58;0.2;1.75;0.058;8;22;0.99322;3.38;0.49;11.7;5 -7.3;0.67;0.02;2.2;0.072;31;92;0.99566;3.32;0.68;11.1;6 -7.4;0.785;0.19;5.2;0.094;19;98;0.99713;3.16;0.52;9.6;6 -6.9;0.63;0.02;1.9;0.078;18;30;0.99712;3.4;0.75;9.8;5 -6.8;0.67;0;1.9;0.08;22;39;0.99701;3.4;0.74;9.7;5 -6.9;0.58;0.01;1.9;0.08;40;54;0.99683;3.4;0.73;9.7;5 -7.2;0.38;0.31;2;0.056;15;29;0.99472;3.23;0.76;11.3;8 -7.2;0.37;0.32;2;0.062;15;28;0.9947;3.23;0.73;11.3;7 -7.8;0.32;0.44;2.7;0.104;8;17;0.99732;3.33;0.78;11;7 -6.6;0.58;0.02;2;0.062;37;53;0.99374;3.35;0.76;11.6;7 -7.6;0.49;0.33;1.9;0.074;27;85;0.99706;3.41;0.58;9;5 -11.7;0.45;0.63;2.2;0.073;7;23;0.99974;3.21;0.69;10.9;6 -6.5;0.9;0;1.6;0.052;9;17;0.99467;3.5;0.63;10.9;6 -6;0.54;0.06;1.8;0.05;38;89;0.99236;3.3;0.5;10.55;6 -7.6;0.49;0.33;1.9;0.074;27;85;0.99706;3.41;0.58;9;5 -8.4;0.29;0.4;1.7;0.067;8;20;0.99603;3.39;0.6;10.5;5 -7.9;0.2;0.35;1.7;0.054;7;15;0.99458;3.32;0.8;11.9;7 -6.4;0.42;0.09;2.3;0.054;34;64;0.99724;3.41;0.68;10.4;6 -6.2;0.785;0;2.1;0.06;6;13;0.99664;3.59;0.61;10;4 -6.8;0.64;0.03;2.3;0.075;14;31;0.99545;3.36;0.58;10.4;6 -6.9;0.63;0.01;2.4;0.076;14;39;0.99522;3.34;0.53;10.8;6 -6.8;0.59;0.1;1.7;0.063;34;53;0.9958;3.41;0.67;9.7;5 -6.8;0.59;0.1;1.7;0.063;34;53;0.9958;3.41;0.67;9.7;5 -7.3;0.48;0.32;2.1;0.062;31;54;0.99728;3.3;0.65;10;7 -6.7;1.04;0.08;2.3;0.067;19;32;0.99648;3.52;0.57;11;4 -7.3;0.48;0.32;2.1;0.062;31;54;0.99728;3.3;0.65;10;7 -7.3;0.98;0.05;2.1;0.061;20;49;0.99705;3.31;0.55;9.7;3 -10;0.69;0.11;1.4;0.084;8;24;0.99578;2.88;0.47;9.7;5 -6.7;0.7;0.08;3.75;0.067;8;16;0.99334;3.43;0.52;12.6;5 -7.6;0.35;0.6;2.6;0.073;23;44;0.99656;3.38;0.79;11.1;6 -6.1;0.6;0.08;1.8;0.071;14;45;0.99336;3.38;0.54;11;5 -9.9;0.5;0.5;13.8;0.205;48;82;1.00242;3.16;0.75;8.8;5 -5.3;0.47;0.11;2.2;0.048;16;89;0.99182;3.54;0.88;13.5666666666667;7 -9.9;0.5;0.5;13.8;0.205;48;82;1.00242;3.16;0.75;8.8;5 -5.3;0.47;0.11;2.2;0.048;16;89;0.99182;3.54;0.88;13.6;7 -7.1;0.875;0.05;5.7;0.082;3;14;0.99808;3.4;0.52;10.2;3 -8.2;0.28;0.6;3;0.104;10;22;0.99828;3.39;0.68;10.6;5 -5.6;0.62;0.03;1.5;0.08;6;13;0.99498;3.66;0.62;10.1;4 -8.2;0.28;0.6;3;0.104;10;22;0.99828;3.39;0.68;10.6;5 -7.2;0.58;0.54;2.1;0.114;3;9;0.99719;3.33;0.57;10.3;4 -8.1;0.33;0.44;1.5;0.042;6;12;0.99542;3.35;0.61;10.7;5 -6.8;0.91;0.06;2;0.06;4;11;0.99592;3.53;0.64;10.9;4 -7;0.655;0.16;2.1;0.074;8;25;0.99606;3.37;0.55;9.7;5 -6.8;0.68;0.21;2.1;0.07;9;23;0.99546;3.38;0.6;10.3;5 -6;0.64;0.05;1.9;0.066;9;17;0.99496;3.52;0.78;10.6;5 -5.6;0.54;0.04;1.7;0.049;5;13;0.9942;3.72;0.58;11.4;5 -6.2;0.57;0.1;2.1;0.048;4;11;0.99448;3.44;0.76;10.8;6 -7.1;0.22;0.49;1.8;0.039;8;18;0.99344;3.39;0.56;12.4;6 -5.6;0.54;0.04;1.7;0.049;5;13;0.9942;3.72;0.58;11.4;5 -6.2;0.65;0.06;1.6;0.05;6;18;0.99348;3.57;0.54;11.95;5 -7.7;0.54;0.26;1.9;0.089;23;147;0.99636;3.26;0.59;9.7;5 -6.4;0.31;0.09;1.4;0.066;15;28;0.99459;3.42;0.7;10;7 -7;0.43;0.02;1.9;0.08;15;28;0.99492;3.35;0.81;10.6;6 -7.7;0.54;0.26;1.9;0.089;23;147;0.99636;3.26;0.59;9.7;5 -6.9;0.74;0.03;2.3;0.054;7;16;0.99508;3.45;0.63;11.5;6 -6.6;0.895;0.04;2.3;0.068;7;13;0.99582;3.53;0.58;10.8;6 -6.9;0.74;0.03;2.3;0.054;7;16;0.99508;3.45;0.63;11.5;6 -7.5;0.725;0.04;1.5;0.076;8;15;0.99508;3.26;0.53;9.6;5 -7.8;0.82;0.29;4.3;0.083;21;64;0.99642;3.16;0.53;9.4;5 -7.3;0.585;0.18;2.4;0.078;15;60;0.99638;3.31;0.54;9.8;5 -6.2;0.44;0.39;2.5;0.077;6;14;0.99555;3.51;0.69;11;6 -7.5;0.38;0.57;2.3;0.106;5;12;0.99605;3.36;0.55;11.4;6 -6.7;0.76;0.02;1.8;0.078;6;12;0.996;3.55;0.63;9.95;3 -6.8;0.81;0.05;2;0.07;6;14;0.99562;3.51;0.66;10.8;6 -7.5;0.38;0.57;2.3;0.106;5;12;0.99605;3.36;0.55;11.4;6 -7.1;0.27;0.6;2.1;0.074;17;25;0.99814;3.38;0.72;10.6;6 -7.9;0.18;0.4;1.8;0.062;7;20;0.9941;3.28;0.7;11.1;5 -6.4;0.36;0.21;2.2;0.047;26;48;0.99661;3.47;0.77;9.7;6 -7.1;0.69;0.04;2.1;0.068;19;27;0.99712;3.44;0.67;9.8;5 -6.4;0.79;0.04;2.2;0.061;11;17;0.99588;3.53;0.65;10.4;6 -6.4;0.56;0.15;1.8;0.078;17;65;0.99294;3.33;0.6;10.5;6 -6.9;0.84;0.21;4.1;0.074;16;65;0.99842;3.53;0.72;9.23333333333333;6 -6.9;0.84;0.21;4.1;0.074;16;65;0.99842;3.53;0.72;9.25;6 -6.1;0.32;0.25;2.3;0.071;23;58;0.99633;3.42;0.97;10.6;5 -6.5;0.53;0.06;2;0.063;29;44;0.99489;3.38;0.83;10.3;6 -7.4;0.47;0.46;2.2;0.114;7;20;0.99647;3.32;0.63;10.5;5 -6.6;0.7;0.08;2.6;0.106;14;27;0.99665;3.44;0.58;10.2;5 -6.5;0.53;0.06;2;0.063;29;44;0.99489;3.38;0.83;10.3;6 -6.9;0.48;0.2;1.9;0.082;9;23;0.99585;3.39;0.43;9.05;4 -6.1;0.32;0.25;2.3;0.071;23;58;0.99633;3.42;0.97;10.6;5 -6.8;0.48;0.25;2;0.076;29;61;0.9953;3.34;0.6;10.4;5 -6;0.42;0.19;2;0.075;22;47;0.99522;3.39;0.78;10;6 -6.7;0.48;0.08;2.1;0.064;18;34;0.99552;3.33;0.64;9.7;5 -6.8;0.47;0.08;2.2;0.064;18;38;0.99553;3.3;0.65;9.6;6 -7.1;0.53;0.07;1.7;0.071;15;24;0.9951;3.29;0.66;10.8;6 -7.9;0.29;0.49;2.2;0.096;21;59;0.99714;3.31;0.67;10.1;6 -7.1;0.69;0.08;2.1;0.063;42;52;0.99608;3.42;0.6;10.2;6 -6.6;0.44;0.09;2.2;0.063;9;18;0.99444;3.42;0.69;11.3;6 -6.1;0.705;0.1;2.8;0.081;13;28;0.99631;3.6;0.66;10.2;5 -7.2;0.53;0.13;2;0.058;18;22;0.99573;3.21;0.68;9.9;6 -8;0.39;0.3;1.9;0.074;32;84;0.99717;3.39;0.61;9;5 -6.6;0.56;0.14;2.4;0.064;13;29;0.99397;3.42;0.62;11.7;7 -7;0.55;0.13;2.2;0.075;15;35;0.9959;3.36;0.59;9.7;6 -6.1;0.53;0.08;1.9;0.077;24;45;0.99528;3.6;0.68;10.3;6 -5.4;0.58;0.08;1.9;0.059;20;31;0.99484;3.5;0.64;10.2;6 -6.2;0.64;0.09;2.5;0.081;15;26;0.99538;3.57;0.63;12;5 -7.2;0.39;0.32;1.8;0.065;34;60;0.99714;3.46;0.78;9.9;5 -6.2;0.52;0.08;4.4;0.071;11;32;0.99646;3.56;0.63;11.6;6 -7.4;0.25;0.29;2.2;0.054;19;49;0.99666;3.4;0.76;10.9;7 -6.7;0.855;0.02;1.9;0.064;29;38;0.99472;3.3;0.56;10.75;6 -11.1;0.44;0.42;2.2;0.064;14;19;0.99758;3.25;0.57;10.4;6 -8.4;0.37;0.43;2.3;0.063;12;19;0.9955;3.17;0.81;11.2;7 -6.5;0.63;0.33;1.8;0.059;16;28;0.99531;3.36;0.64;10.1;6 -7;0.57;0.02;2;0.072;17;26;0.99575;3.36;0.61;10.2;5 -6.3;0.6;0.1;1.6;0.048;12;26;0.99306;3.55;0.51;12.1;5 -11.2;0.4;0.5;2;0.099;19;50;0.99783;3.1;0.58;10.4;5 -7.4;0.36;0.3;1.8;0.074;17;24;0.99419;3.24;0.7;11.4;8 -7.1;0.68;0;2.3;0.087;17;26;0.99783;3.45;0.53;9.5;5 -7.1;0.67;0;2.3;0.083;18;27;0.99768;3.44;0.54;9.4;5 -6.3;0.68;0.01;3.7;0.103;32;54;0.99586;3.51;0.66;11.3;6 -7.3;0.735;0;2.2;0.08;18;28;0.99765;3.41;0.6;9.4;5 -6.6;0.855;0.02;2.4;0.062;15;23;0.99627;3.54;0.6;11;6 -7;0.56;0.17;1.7;0.065;15;24;0.99514;3.44;0.68;10.55;7 -6.6;0.88;0.04;2.2;0.066;12;20;0.99636;3.53;0.56;9.9;5 -6.6;0.855;0.02;2.4;0.062;15;23;0.99627;3.54;0.6;11;6 -6.9;0.63;0.33;6.7;0.235;66;115;0.99787;3.22;0.56;9.5;5 -7.8;0.6;0.26;2;0.08;31;131;0.99622;3.21;0.52;9.9;5 -7.8;0.6;0.26;2;0.08;31;131;0.99622;3.21;0.52;9.9;5 -7.8;0.6;0.26;2;0.08;31;131;0.99622;3.21;0.52;9.9;5 -7.2;0.695;0.13;2;0.076;12;20;0.99546;3.29;0.54;10.1;5 -7.2;0.695;0.13;2;0.076;12;20;0.99546;3.29;0.54;10.1;5 -7.2;0.695;0.13;2;0.076;12;20;0.99546;3.29;0.54;10.1;5 -6.7;0.67;0.02;1.9;0.061;26;42;0.99489;3.39;0.82;10.9;6 -6.7;0.16;0.64;2.1;0.059;24;52;0.99494;3.34;0.71;11.2;6 -7.2;0.695;0.13;2;0.076;12;20;0.99546;3.29;0.54;10.1;5 -7;0.56;0.13;1.6;0.077;25;42;0.99629;3.34;0.59;9.2;5 -6.2;0.51;0.14;1.9;0.056;15;34;0.99396;3.48;0.57;11.5;6 -6.4;0.36;0.53;2.2;0.23;19;35;0.9934;3.37;0.93;12.4;6 -6.4;0.38;0.14;2.2;0.038;15;25;0.99514;3.44;0.65;11.1;6 -7.3;0.69;0.32;2.2;0.069;35;104;0.99632;3.33;0.51;9.5;5 -6;0.58;0.2;2.4;0.075;15;50;0.99467;3.58;0.67;12.5;6 -5.6;0.31;0.78;13.9;0.074;23;92;0.99677;3.39;0.48;10.5;6 -7.5;0.52;0.4;2.2;0.06;12;20;0.99474;3.26;0.64;11.8;6 -8;0.3;0.63;1.6;0.081;16;29;0.99588;3.3;0.78;10.8;6 -6.2;0.7;0.15;5.1;0.076;13;27;0.99622;3.54;0.6;11.9;6 -6.8;0.67;0.15;1.8;0.118;13;20;0.9954;3.42;0.67;11.3;6 -6.2;0.56;0.09;1.7;0.053;24;32;0.99402;3.54;0.6;11.3;5 -7.4;0.35;0.33;2.4;0.068;9;26;0.9947;3.36;0.6;11.9;6 -6.2;0.56;0.09;1.7;0.053;24;32;0.99402;3.54;0.6;11.3;5 -6.1;0.715;0.1;2.6;0.053;13;27;0.99362;3.57;0.5;11.9;5 -6.2;0.46;0.29;2.1;0.074;32;98;0.99578;3.33;0.62;9.8;5 -6.7;0.32;0.44;2.4;0.061;24;34;0.99484;3.29;0.8;11.6;7 -7.2;0.39;0.44;2.6;0.066;22;48;0.99494;3.3;0.84;11.5;6 -7.5;0.31;0.41;2.4;0.065;34;60;0.99492;3.34;0.85;11.4;6 -5.8;0.61;0.11;1.8;0.066;18;28;0.99483;3.55;0.66;10.9;6 -7.2;0.66;0.33;2.5;0.068;34;102;0.99414;3.27;0.78;12.8;6 -6.6;0.725;0.2;7.8;0.073;29;79;0.9977;3.29;0.54;9.2;5 -6.3;0.55;0.15;1.8;0.077;26;35;0.99314;3.32;0.82;11.6;6 -5.4;0.74;0.09;1.7;0.089;16;26;0.99402;3.67;0.56;11.6;6 -6.3;0.51;0.13;2.3;0.076;29;40;0.99574;3.42;0.75;11;6 -6.8;0.62;0.08;1.9;0.068;28;38;0.99651;3.42;0.82;9.5;6 -6.2;0.6;0.08;2;0.09;32;44;0.9949;3.45;0.58;10.5;5 -5.9;0.55;0.1;2.2;0.062;39;51;0.99512;3.52;0.76;11.2;6 -6.3;0.51;0.13;2.3;0.076;29;40;0.99574;3.42;0.75;11;6 -5.9;0.645;0.12;2;0.075;32;44;0.99547;3.57;0.71;10.2;5 -6;0.31;0.47;3.6;0.067;18;42;0.99549;3.39;0.66;11;6 diff --git a/fast_tsne.m b/fast_tsne.m new file mode 100644 index 0000000..3993f07 --- /dev/null +++ b/fast_tsne.m @@ -0,0 +1,129 @@ +function mappedX = fast_tsne(X, no_dims, initial_dims, perplexity, theta, alg, max_iter) +%FAST_TSNE Runs the C++ implementation of Barnes-Hut t-SNE +% +% mappedX = fast_tsne(X, no_dims, initial_dims, perplexity, theta, alg) +% +% Runs the C++ implementation of Barnes-Hut-SNE. The high-dimensional +% datapoints are specified in the NxD matrix X. The dimensionality of the +% datapoints is reduced to initial_dims dimensions using PCA (default = 50) +% before t-SNE is performed. Next, t-SNE reduces the points to no_dims +% dimensions. The perplexity of the input similarities may be specified +% through the perplexity variable (default = 30). The variable theta sets +% the trade-off parameter between speed and accuracy: theta = 0 corresponds +% to standard, slow t-SNE, while theta = 1 makes very crude approximations. +% Appropriate values for theta are between 0.1 and 0.7 (default = 0.5). +% The variable alg determines the algorithm used for PCA. The default is set +% to 'svd'. Other options are 'eig' or 'als' (see 'doc pca' for more details). +% The function returns the two-dimensional data points in mappedX. +% +% NOTE: The function is designed to run on large (N > 5000) data sets. It +% may give poor performance on very small data sets (it is better to use a +% standard t-SNE implementation on such data). + + +% Copyright (c) 2014, Laurens van der Maaten (Delft University of Technology) +% All rights reserved. +% +% Redistribution and use in source and binary forms, with or without +% modification, are permitted provided that the following conditions are met: +% 1. Redistributions of source code must retain the above copyright +% notice, this list of conditions and the following disclaimer. +% 2. Redistributions in binary form must reproduce the above copyright +% notice, this list of conditions and the following disclaimer in the +% documentation and/or other materials provided with the distribution. +% 3. All advertising materials mentioning features or use of this software +% must display the following acknowledgement: +% This product includes software developed by the Delft University of Technology. +% 4. Neither the name of the Delft University of Technology nor the names of +% its contributors may be used to endorse or promote products derived from +% this software without specific prior written permission. +% +% THIS SOFTWARE IS PROVIDED BY LAURENS VAN DER MAATEN ''AS IS'' AND ANY EXPRESS +% OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +% OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +% EVENT SHALL LAURENS VAN DER MAATEN BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +% SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +% PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR +% BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +% CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING +% IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY +% OF SUCH DAMAGE. + + + if ~exist('no_dims', 'var') || isempty(no_dims) + no_dims = 2; + end + if ~exist('initial_dims', 'var') || isempty(initial_dims) + initial_dims = 50; + end + if ~exist('perplexity', 'var') || isempty(perplexity) + perplexity = 30; + end + if ~exist('theta', 'var') || isempty(theta) + theta = 0.5; + end + if ~exist('alg', 'var') || isempty(alg) + alg = 'svd'; + end + if ~exist('max_iter', 'var') || isempty(max_iter) + max_iter=1000; + end + + % Perform the initial dimensionality reduction using PCA + X = double(X); + X = bsxfun(@minus, X, mean(X, 1)); + M = pca(X,'NumComponents',initial_dims,'Algorithm',alg); + X = X * M; + + tsne_path = which('fast_tsne'); + tsne_path = fileparts(tsne_path); + + % Compile t-SNE C code + if(~exist(fullfile(tsne_path,'./bh_tsne'),'file') && isunix) + system(sprintf('g++ %s %s -o %s -O2',... + fullfile(tsne_path,'./sptree.cpp'),... + fullfile(tsne_path,'./tsne.cpp'),... + fullfile(tsne_path,'./bh_tsne'))); + end + + % Run the fast diffusion SNE implementation + write_data(X, no_dims, theta, perplexity, max_iter); + tic + [flag, cmdout] = system(['"' fullfile(tsne_path,'./bh_tsne') '"']); + if(flag~=0) + error(cmdout); + end + toc + [mappedX, landmarks, costs] = read_data; + landmarks = landmarks + 1; % correct for Matlab indexing + delete('data.dat'); + delete('result.dat'); +end + + +% Writes the datafile for the fast t-SNE implementation +function write_data(X, no_dims, theta, perplexity, max_iter) + [n, d] = size(X); + h = fopen('data.dat', 'wb'); + fwrite(h, n, 'integer*4'); + fwrite(h, d, 'integer*4'); + fwrite(h, theta, 'double'); + fwrite(h, perplexity, 'double'); + fwrite(h, no_dims, 'integer*4'); + fwrite(h, max_iter, 'integer*4'); + fwrite(h, X', 'double'); + fclose(h); +end + + +% Reads the result file from the fast t-SNE implementation +function [X, landmarks, costs] = read_data + h = fopen('result.dat', 'rb'); + n = fread(h, 1, 'integer*4'); + d = fread(h, 1, 'integer*4'); + X = fread(h, n * d, 'double'); + landmarks = fread(h, n, 'integer*4'); + costs = fread(h, n, 'double'); % this vector contains only zeros + X = reshape(X, [d n])'; + fclose(h); +end diff --git a/index.html b/index.html index 6c90e98..6efae10 100755 --- a/index.html +++ b/index.html @@ -29,27 +29,60 @@ + - - +
+ +
+
+
+

t-SNE Grid Search Resulting Diverse Projections

+ [Sorting Metric: + + ] +
+
+
+
+ + +
+
+
+ +
+
-

t-SNE Parameters

+

t-SNE Parameters

+ [Mode: + + ] +
@@ -59,7 +92,6 @@ - @@ -131,6 +163,27 @@
+
+
+

Projections Provenance

+ [Sorting Metric: + + ] +
+ +
+
+
+
+
+
+
@@ -174,7 +227,7 @@
-
+

Visual Mapping

@@ -190,21 +243,31 @@
-
+
+
+ + +
-
+
- + +
- + +
50 +
@@ -229,7 +292,7 @@
-
+