From 70edaa5d524c08a6b1fa2680053f2880a95bb348 Mon Sep 17 00:00:00 2001 From: jpan <jpan@253336fb-580f-4252-a368-f3cef5a2a82b> Date: Sat, 10 Sep 2011 05:52:53 +0000 Subject: [PATCH] add PQP and svm_light wrapper git-svn-id: https://kforge.ros.org/fcl/fcl_ros@27 253336fb-580f-4252-a368-f3cef5a2a82b --- trunk/PQP/Makefile | 36 + trunk/PQP/PQP/include/BV.h | 94 + trunk/PQP/PQP/include/PQP.h | 338 + trunk/PQP/PQP/include/PQP_Compile.h | 101 + trunk/PQP/PQP/include/PQP_Internal.h | 203 + trunk/PQP/PQP/include/Tri.h | 54 + trunk/PQP/build/pqp-1.3.tar.gz | Bin 0 -> 326131 bytes trunk/PQP/build/pqp-tar/PQP_v1.3/Makefile | 33 + trunk/PQP/build/pqp-tar/PQP_v1.3/PQP.DSP | 154 + trunk/PQP/build/pqp-tar/PQP_v1.3/PQP.PLG | 43 + trunk/PQP/build/pqp-tar/PQP_v1.3/PQP.dsw | 29 + trunk/PQP/build/pqp-tar/PQP_v1.3/PQP.ncb | Bin 0 -> 287744 bytes trunk/PQP/build/pqp-tar/PQP_v1.3/PQP.opt | Bin 0 -> 48640 bytes trunk/PQP/build/pqp-tar/PQP_v1.3/README.txt | 206 + .../PQP/build/pqp-tar/PQP_v1.3/demos/Makefile | 16 + .../build/pqp-tar/PQP_v1.3/demos/demos.dsp | 83 + .../build/pqp-tar/PQP_v1.3/demos/demos.dsw | 53 + .../build/pqp-tar/PQP_v1.3/demos/demos.ncb | Bin 0 -> 377856 bytes .../build/pqp-tar/PQP_v1.3/demos/demos.opt | Bin 0 -> 58880 bytes .../pqp-tar/PQP_v1.3/demos/falling/Makefile | 33 + .../pqp-tar/PQP_v1.3/demos/falling/MatVec.h | 881 ++ .../PQP_v1.3/demos/falling/falling.dsp | 95 + .../PQP_v1.3/demos/falling/falling.plg | 21 + .../pqp-tar/PQP_v1.3/demos/falling/main.cpp | 537 + .../pqp-tar/PQP_v1.3/demos/falling/model.cpp | 144 + .../pqp-tar/PQP_v1.3/demos/falling/model.h | 63 + .../PQP_v1.3/demos/falling/torus1.path | 11991 ++++++++++++++ .../PQP_v1.3/demos/falling/torus1.tris | 5329 +++++++ .../PQP_v1.3/demos/falling/torus2.path | 11991 ++++++++++++++ .../PQP_v1.3/demos/falling/torus2.tris | 12961 ++++++++++++++++ .../pqp-tar/PQP_v1.3/demos/sample/Makefile | 28 + .../pqp-tar/PQP_v1.3/demos/sample/main.cpp | 301 + .../pqp-tar/PQP_v1.3/demos/sample/sample.dsp | 91 + .../pqp-tar/PQP_v1.3/demos/sample/sample.plg | 20 + .../pqp-tar/PQP_v1.3/demos/spinning/Makefile | 36 + .../pqp-tar/PQP_v1.3/demos/spinning/MatVec.h | 881 ++ .../PQP_v1.3/demos/spinning/bunny.tris | 8817 +++++++++++ .../pqp-tar/PQP_v1.3/demos/spinning/main.cpp | 372 + .../pqp-tar/PQP_v1.3/demos/spinning/model.cpp | 144 + .../pqp-tar/PQP_v1.3/demos/spinning/model.h | 63 + .../PQP_v1.3/demos/spinning/spinning.dsp | 98 + .../PQP_v1.3/demos/spinning/spinning.plg | 27 + .../PQP_v1.3/demos/spinning/torus.tris | 5329 +++++++ trunk/PQP/build/pqp-tar/PQP_v1.3/include/BV.h | 94 + .../PQP/build/pqp-tar/PQP_v1.3/include/PQP.h | 338 + .../pqp-tar/PQP_v1.3/include/PQP_Compile.h | 101 + .../pqp-tar/PQP_v1.3/include/PQP_Internal.h | 203 + .../PQP/build/pqp-tar/PQP_v1.3/include/Tri.h | 54 + trunk/PQP/build/pqp-tar/PQP_v1.3/src/BV.cpp | 323 + trunk/PQP/build/pqp-tar/PQP_v1.3/src/BV.h | 94 + trunk/PQP/build/pqp-tar/PQP_v1.3/src/BVTQ.h | 214 + .../PQP/build/pqp-tar/PQP_v1.3/src/Build.cpp | 551 + trunk/PQP/build/pqp-tar/PQP_v1.3/src/Build.h | 49 + .../PQP/build/pqp-tar/PQP_v1.3/src/GetTime.h | 71 + trunk/PQP/build/pqp-tar/PQP_v1.3/src/MatVec.h | 877 ++ .../build/pqp-tar/PQP_v1.3/src/OBB_Disjoint.h | 216 + trunk/PQP/build/pqp-tar/PQP_v1.3/src/PQP.cpp | 1376 ++ trunk/PQP/build/pqp-tar/PQP_v1.3/src/PQP.h | 338 + .../build/pqp-tar/PQP_v1.3/src/PQP_Compile.h | 101 + .../build/pqp-tar/PQP_v1.3/src/PQP_Internal.h | 203 + .../PQP/build/pqp-tar/PQP_v1.3/src/RectDist.h | 753 + trunk/PQP/build/pqp-tar/PQP_v1.3/src/Tri.h | 54 + .../build/pqp-tar/PQP_v1.3/src/TriDist.cpp | 407 + .../PQP/build/pqp-tar/PQP_v1.3/src/TriDist.h | 63 + trunk/PQP/build/pqp-tar/unpacked | 0 trunk/PQP/installed | 0 trunk/PQP/mainpage.dox | 26 + trunk/PQP/manifest.xml | 15 + trunk/PQP/pqp.diff | 10 + trunk/PQP/wiped | 0 trunk/fcl/include/fcl/broad_phase_collision.h | 135 +- trunk/fcl/include/fcl/collision_object.h | 10 + trunk/fcl/include/fcl/transform.h | 7 + trunk/svm_light/Makefile | 37 + .../svm_light/build/svm_light-tar/LICENSE.txt | 59 + trunk/svm_light/build/svm_light-tar/Makefile | 105 + trunk/svm_light/build/svm_light-tar/kernel.h | 40 + .../build/svm_light-tar/svm_classify.c | 197 + .../build/svm_light-tar/svm_common.c | 985 ++ .../build/svm_light-tar/svm_common.h | 301 + .../svm_light/build/svm_light-tar/svm_hideo.c | 1062 ++ .../svm_light/build/svm_light-tar/svm_learn.c | 4650 ++++++ .../svm_light/build/svm_light-tar/svm_learn.h | 173 + .../build/svm_light-tar/svm_learn_main.c | 397 + .../svm_light/build/svm_light-tar/svm_loqo.c | 211 + trunk/svm_light/build/svm_light-tar/unpacked | 0 trunk/svm_light/build/svm_light.tar.gz | Bin 0 -> 51026 bytes trunk/svm_light/installed | 0 trunk/svm_light/mainpage.dox | 26 + trunk/svm_light/manifest.xml | 15 + trunk/svm_light/svm_light.diff | 543 + .../svm_light/include/svm_light/kernel.h | 40 + .../svm_light/include/svm_light/svm_common.h | 301 + .../svm_light/include/svm_light/svm_learn.h | 173 + trunk/svm_light/wiped | 0 95 files changed, 77677 insertions(+), 17 deletions(-) create mode 100644 trunk/PQP/Makefile create mode 100644 trunk/PQP/PQP/include/BV.h create mode 100644 trunk/PQP/PQP/include/PQP.h create mode 100644 trunk/PQP/PQP/include/PQP_Compile.h create mode 100644 trunk/PQP/PQP/include/PQP_Internal.h create mode 100644 trunk/PQP/PQP/include/Tri.h create mode 100644 trunk/PQP/build/pqp-1.3.tar.gz create mode 100644 trunk/PQP/build/pqp-tar/PQP_v1.3/Makefile create mode 100644 trunk/PQP/build/pqp-tar/PQP_v1.3/PQP.DSP create mode 100644 trunk/PQP/build/pqp-tar/PQP_v1.3/PQP.PLG create mode 100644 trunk/PQP/build/pqp-tar/PQP_v1.3/PQP.dsw create mode 100644 trunk/PQP/build/pqp-tar/PQP_v1.3/PQP.ncb create mode 100644 trunk/PQP/build/pqp-tar/PQP_v1.3/PQP.opt create mode 100644 trunk/PQP/build/pqp-tar/PQP_v1.3/README.txt create mode 100644 trunk/PQP/build/pqp-tar/PQP_v1.3/demos/Makefile create mode 100644 trunk/PQP/build/pqp-tar/PQP_v1.3/demos/demos.dsp create mode 100644 trunk/PQP/build/pqp-tar/PQP_v1.3/demos/demos.dsw create mode 100644 trunk/PQP/build/pqp-tar/PQP_v1.3/demos/demos.ncb create mode 100644 trunk/PQP/build/pqp-tar/PQP_v1.3/demos/demos.opt create mode 100644 trunk/PQP/build/pqp-tar/PQP_v1.3/demos/falling/Makefile create mode 100644 trunk/PQP/build/pqp-tar/PQP_v1.3/demos/falling/MatVec.h create mode 100644 trunk/PQP/build/pqp-tar/PQP_v1.3/demos/falling/falling.dsp create mode 100644 trunk/PQP/build/pqp-tar/PQP_v1.3/demos/falling/falling.plg create mode 100644 trunk/PQP/build/pqp-tar/PQP_v1.3/demos/falling/main.cpp create mode 100644 trunk/PQP/build/pqp-tar/PQP_v1.3/demos/falling/model.cpp create mode 100644 trunk/PQP/build/pqp-tar/PQP_v1.3/demos/falling/model.h create mode 100644 trunk/PQP/build/pqp-tar/PQP_v1.3/demos/falling/torus1.path create mode 100644 trunk/PQP/build/pqp-tar/PQP_v1.3/demos/falling/torus1.tris create mode 100644 trunk/PQP/build/pqp-tar/PQP_v1.3/demos/falling/torus2.path create mode 100644 trunk/PQP/build/pqp-tar/PQP_v1.3/demos/falling/torus2.tris create mode 100644 trunk/PQP/build/pqp-tar/PQP_v1.3/demos/sample/Makefile create mode 100644 trunk/PQP/build/pqp-tar/PQP_v1.3/demos/sample/main.cpp create mode 100644 trunk/PQP/build/pqp-tar/PQP_v1.3/demos/sample/sample.dsp create mode 100644 trunk/PQP/build/pqp-tar/PQP_v1.3/demos/sample/sample.plg create mode 100644 trunk/PQP/build/pqp-tar/PQP_v1.3/demos/spinning/Makefile create mode 100644 trunk/PQP/build/pqp-tar/PQP_v1.3/demos/spinning/MatVec.h create mode 100644 trunk/PQP/build/pqp-tar/PQP_v1.3/demos/spinning/bunny.tris create mode 100644 trunk/PQP/build/pqp-tar/PQP_v1.3/demos/spinning/main.cpp create mode 100644 trunk/PQP/build/pqp-tar/PQP_v1.3/demos/spinning/model.cpp create mode 100644 trunk/PQP/build/pqp-tar/PQP_v1.3/demos/spinning/model.h create mode 100644 trunk/PQP/build/pqp-tar/PQP_v1.3/demos/spinning/spinning.dsp create mode 100644 trunk/PQP/build/pqp-tar/PQP_v1.3/demos/spinning/spinning.plg create mode 100644 trunk/PQP/build/pqp-tar/PQP_v1.3/demos/spinning/torus.tris create mode 100644 trunk/PQP/build/pqp-tar/PQP_v1.3/include/BV.h create mode 100644 trunk/PQP/build/pqp-tar/PQP_v1.3/include/PQP.h create mode 100644 trunk/PQP/build/pqp-tar/PQP_v1.3/include/PQP_Compile.h create mode 100644 trunk/PQP/build/pqp-tar/PQP_v1.3/include/PQP_Internal.h create mode 100644 trunk/PQP/build/pqp-tar/PQP_v1.3/include/Tri.h create mode 100644 trunk/PQP/build/pqp-tar/PQP_v1.3/src/BV.cpp create mode 100644 trunk/PQP/build/pqp-tar/PQP_v1.3/src/BV.h create mode 100644 trunk/PQP/build/pqp-tar/PQP_v1.3/src/BVTQ.h create mode 100644 trunk/PQP/build/pqp-tar/PQP_v1.3/src/Build.cpp create mode 100644 trunk/PQP/build/pqp-tar/PQP_v1.3/src/Build.h create mode 100644 trunk/PQP/build/pqp-tar/PQP_v1.3/src/GetTime.h create mode 100644 trunk/PQP/build/pqp-tar/PQP_v1.3/src/MatVec.h create mode 100644 trunk/PQP/build/pqp-tar/PQP_v1.3/src/OBB_Disjoint.h create mode 100644 trunk/PQP/build/pqp-tar/PQP_v1.3/src/PQP.cpp create mode 100644 trunk/PQP/build/pqp-tar/PQP_v1.3/src/PQP.h create mode 100644 trunk/PQP/build/pqp-tar/PQP_v1.3/src/PQP_Compile.h create mode 100644 trunk/PQP/build/pqp-tar/PQP_v1.3/src/PQP_Internal.h create mode 100644 trunk/PQP/build/pqp-tar/PQP_v1.3/src/RectDist.h create mode 100644 trunk/PQP/build/pqp-tar/PQP_v1.3/src/Tri.h create mode 100644 trunk/PQP/build/pqp-tar/PQP_v1.3/src/TriDist.cpp create mode 100644 trunk/PQP/build/pqp-tar/PQP_v1.3/src/TriDist.h create mode 100644 trunk/PQP/build/pqp-tar/unpacked create mode 100644 trunk/PQP/installed create mode 100644 trunk/PQP/mainpage.dox create mode 100644 trunk/PQP/manifest.xml create mode 100644 trunk/PQP/pqp.diff create mode 100644 trunk/PQP/wiped create mode 100644 trunk/svm_light/Makefile create mode 100755 trunk/svm_light/build/svm_light-tar/LICENSE.txt create mode 100755 trunk/svm_light/build/svm_light-tar/Makefile create mode 100755 trunk/svm_light/build/svm_light-tar/kernel.h create mode 100755 trunk/svm_light/build/svm_light-tar/svm_classify.c create mode 100755 trunk/svm_light/build/svm_light-tar/svm_common.c create mode 100755 trunk/svm_light/build/svm_light-tar/svm_common.h create mode 100755 trunk/svm_light/build/svm_light-tar/svm_hideo.c create mode 100755 trunk/svm_light/build/svm_light-tar/svm_learn.c create mode 100755 trunk/svm_light/build/svm_light-tar/svm_learn.h create mode 100755 trunk/svm_light/build/svm_light-tar/svm_learn_main.c create mode 100755 trunk/svm_light/build/svm_light-tar/svm_loqo.c create mode 100644 trunk/svm_light/build/svm_light-tar/unpacked create mode 100644 trunk/svm_light/build/svm_light.tar.gz create mode 100644 trunk/svm_light/installed create mode 100644 trunk/svm_light/mainpage.dox create mode 100644 trunk/svm_light/manifest.xml create mode 100644 trunk/svm_light/svm_light.diff create mode 100755 trunk/svm_light/svm_light/include/svm_light/kernel.h create mode 100755 trunk/svm_light/svm_light/include/svm_light/svm_common.h create mode 100755 trunk/svm_light/svm_light/include/svm_light/svm_learn.h create mode 100644 trunk/svm_light/wiped diff --git a/trunk/PQP/Makefile b/trunk/PQP/Makefile new file mode 100644 index 00000000..2790aafa --- /dev/null +++ b/trunk/PQP/Makefile @@ -0,0 +1,36 @@ +all: installed + +# +# Download, extract and compile from a released tarball: +# +TARBALL = build/pqp-1.3.tar.gz +TARBALL_URL = http://gamma.cs.unc.edu/software/downloads/SSV/pqp-1.3.tar.gz +TARBALL_PATCH = pqp.diff +INITIAL_DIR = build/pqp-1.3 +SOURCE_DIR = build/pqp-tar +include $(shell rospack find mk)/download_unpack_build.mk + +INSTALL_DIR = PQP +CMAKE = cmake +CMAKE_ARGS = -D CMAKE_BUILD_TYPE="Release" -D CMAKE_INSTALL_PREFIX=`rospack find PQP`/$(INSTALL_DIR) +MAKE = make + +installed: wiped $(SOURCE_DIR)/unpacked + cd $(SOURCE_DIR)/PQP_v1.3 && make $(ROS_PARALLEL_JOBS) + mkdir -p $(INSTALL_DIR)/lib + mkdir -p $(INSTALL_DIR)/include + mkdir -p $(INSTALL_DIR)/include/PQP + cp -r $(SOURCE_DIR)/PQP_v1.3/include/*.h $(INSTALL_DIR)/include + cp -r $(SOURCE_DIR)/PQP_v1.3/lib/*.a $(INSTALL_DIR)/lib + touch installed + +clean: + rm -rf build + rm -rf $(INSTALL_DIR) installed + +wiped: Makefile + make wipe + touch wiped + +wipe: clean + rm -rf build patched diff --git a/trunk/PQP/PQP/include/BV.h b/trunk/PQP/PQP/include/BV.h new file mode 100644 index 00000000..cfe42c73 --- /dev/null +++ b/trunk/PQP/PQP/include/BV.h @@ -0,0 +1,94 @@ +/*************************************************************************\ + + Copyright 1999 The University of North Carolina at Chapel Hill. + All Rights Reserved. + + Permission to use, copy, modify and distribute this software and its + documentation for educational, research and non-profit purposes, without + fee, and without a written agreement is hereby granted, provided that the + above copyright notice and the following three paragraphs appear in all + copies. + + IN NO EVENT SHALL THE UNIVERSITY OF NORTH CAROLINA AT CHAPEL HILL BE + LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR + CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF THE + USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY + OF NORTH CAROLINA HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH + DAMAGES. + + THE UNIVERSITY OF NORTH CAROLINA SPECIFICALLY DISCLAIM ANY + WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE + PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF + NORTH CAROLINA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT, + UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + + The authors may be contacted via: + + US Mail: E. Larsen + Department of Computer Science + Sitterson Hall, CB #3175 + University of N. Carolina + Chapel Hill, NC 27599-3175 + + Phone: (919)962-1749 + + EMail: geom@cs.unc.edu + + +\**************************************************************************/ + +#ifndef PQP_BV_H +#define PQP_BV_H + +#include <math.h> +#include "Tri.h" +#include "PQP_Compile.h" + +struct BV +{ + PQP_REAL R[3][3]; // orientation of RSS & OBB + +#if PQP_BV_TYPE & RSS_TYPE + PQP_REAL Tr[3]; // position of rectangle + PQP_REAL l[2]; // side lengths of rectangle + PQP_REAL r; // radius of sphere summed with rectangle to form RSS +#endif + +#if PQP_BV_TYPE & OBB_TYPE + PQP_REAL To[3]; // position of obb + PQP_REAL d[3]; // (half) dimensions of obb +#endif + + int first_child; // positive value is index of first_child bv + // negative value is -(index + 1) of triangle + + BV(); + ~BV(); + int Leaf() { return first_child < 0; } + PQP_REAL GetSize(); + void FitToTris(PQP_REAL O[3][3], Tri *tris, int num_tris); +}; + +inline +PQP_REAL +BV::GetSize() +{ +#if PQP_BV_TYPE & RSS_TYPE + return (sqrt(l[0]*l[0] + l[1]*l[1]) + 2*r); +#else + return (d[0]*d[0] + d[1]*d[1] + d[2]*d[2]); +#endif +} + +int +BV_Overlap(PQP_REAL R[3][3], PQP_REAL T[3], BV *b1, BV *b2); + +#if PQP_BV_TYPE & RSS_TYPE +PQP_REAL +BV_Distance(PQP_REAL R[3][3], PQP_REAL T[3], BV *b1, BV *b2); +#endif + +#endif + + diff --git a/trunk/PQP/PQP/include/PQP.h b/trunk/PQP/PQP/include/PQP.h new file mode 100644 index 00000000..f6f3e539 --- /dev/null +++ b/trunk/PQP/PQP/include/PQP.h @@ -0,0 +1,338 @@ +/*************************************************************************\ + + Copyright 1999 The University of North Carolina at Chapel Hill. + All Rights Reserved. + + Permission to use, copy, modify and distribute this software and its + documentation for educational, research and non-profit purposes, without + fee, and without a written agreement is hereby granted, provided that the + above copyright notice and the following three paragraphs appear in all + copies. + + IN NO EVENT SHALL THE UNIVERSITY OF NORTH CAROLINA AT CHAPEL HILL BE + LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR + CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF THE + USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY + OF NORTH CAROLINA HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH + DAMAGES. + + THE UNIVERSITY OF NORTH CAROLINA SPECIFICALLY DISCLAIM ANY + WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE + PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF + NORTH CAROLINA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT, + UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + + The authors may be contacted via: + + US Mail: S. Gottschalk, E. Larsen + Department of Computer Science + Sitterson Hall, CB #3175 + University of N. Carolina + Chapel Hill, NC 27599-3175 + + Phone: (919)962-1749 + + EMail: geom@cs.unc.edu + + +\**************************************************************************/ + +#ifndef PQP_H +#define PQP_H + +#include "PQP_Compile.h" +#include "PQP_Internal.h" + +//---------------------------------------------------------------------------- +// +// PQP API Return Values +// +//---------------------------------------------------------------------------- + +const int PQP_OK = 0; + // Used by all API routines upon successful completion except + // constructors and destructors + +const int PQP_ERR_MODEL_OUT_OF_MEMORY = -1; + // Returned when an API function cannot obtain enough memory to + // store or process a PQP_Model object. + +const int PQP_ERR_OUT_OF_MEMORY = -2; + // Returned when a PQP query cannot allocate enough storage to + // compute or hold query information. In this case, the returned + // data should not be trusted. + +const int PQP_ERR_UNPROCESSED_MODEL = -3; + // Returned when an unprocessed model is passed to a function which + // expects only processed models, such as PQP_Collide() or + // PQP_Distance(). + +const int PQP_ERR_BUILD_OUT_OF_SEQUENCE = -4; + // Returned when: + // 1. AddTri() is called before BeginModel(). + // 2. BeginModel() is called immediately after AddTri(). + // This error code is something like a warning: the invoked + // operation takes place anyway, and PQP does what makes "most + // sense", but the returned error code may tip off the client that + // something out of the ordinary is happenning. + +const int PQP_ERR_BUILD_EMPTY_MODEL = -5; + // Returned when EndModel() is called on a model to which no + // triangles have been added. This is similar in spirit to the + // OUT_OF_SEQUENCE return code, except that the requested operation + // has FAILED -- the model remains "unprocessed", and the client may + // NOT use it in queries. + +//---------------------------------------------------------------------------- +// +// PQP_REAL +// +// The floating point type used throughout the package. The type is defined +// in PQP_Compile.h, and by default is "double" +// +//---------------------------------------------------------------------------- + +//---------------------------------------------------------------------------- +// +// PQP_Model +// +// A PQP_Model stores geometry to be used in a proximity query. +// The geometry is loaded with a call to BeginModel(), at least one call to +// AddTri(), and then a call to EndModel(). +// +// // create a two triangle model, m +// +// PQP_Model m; +// +// PQP_REAL p1[3],p2[3],p3[3]; // 3 points will make triangle p +// PQP_REAL q1[3],q2[3],q3[3]; // another 3 points for triangle q +// +// // some initialization of these vertices not shown +// +// m.BeginModel(); // begin the model +// m.AddTri(p1,p2,p3,0); // add triangle p +// m.AddTri(q1,q2,q3,1); // add triangle q +// m.EndModel(); // end (build) the model +// +// The last parameter of AddTri() is the number to be associated with the +// triangle. These numbers are used to identify the triangles that overlap. +// +// AddTri() copies into the PQP_Model the data pointed to by the three vertex +// pointers, so that it is safe to delete vertex data after you have +// passed it to AddTri(). +// +//---------------------------------------------------------------------------- +// +// class PQP_Model - declaration contained in PQP_Internal.h +// { +// +// public: +// PQP_Model(); +// ~PQP_Model(); +// +// int BeginModel(int num_tris = 8); // preallocate for num_tris triangles; +// // the parameter is optional, since +// // arrays are reallocated as needed +// +// int AddTri(const PQP_REAL *p1, const PQP_REAL *p2, const PQP_REAL *p3, +// int id); +// +// int EndModel(); +// int MemUsage(int msg); // returns model mem usage in bytes +// // prints message to stderr if msg == TRUE +// }; + +//---------------------------------------------------------------------------- +// +// PQP_CollideResult +// +// This saves and reports results from a collision query. +// +//---------------------------------------------------------------------------- +// +// struct PQP_CollideResult - declaration contained in PQP_Internal.h +// { +// // statistics +// +// int NumBVTests(); +// int NumTriTests(); +// PQP_REAL QueryTimeSecs(); +// +// // free the list of contact pairs; ordinarily this list is reused +// // for each query, and only deleted in the destructor. +// +// void FreePairsList(); +// +// // query results +// +// int Colliding(); +// int NumPairs(); +// int Id1(int k); +// int Id2(int k); +// }; + +//---------------------------------------------------------------------------- +// +// PQP_Collide() - detects collision between two PQP_Models +// +// +// Declare a PQP_CollideResult struct and pass its pointer to collect +// collision data. +// +// [R1, T1] is the placement of model 1 in the world & +// [R2, T2] is the placement of model 2 in the world. +// The columns of each 3x3 matrix are the basis vectors for the model +// in world coordinates, and the matrices are in row-major order: +// R(row r, col c) = R[r][c]. +// +// If PQP_ALL_CONTACTS is the flag value, after calling PQP_Collide(), +// the PQP_CollideResult object will contain an array with all +// colliding triangle pairs. Suppose CR is a pointer to the +// PQP_CollideResult object. The number of pairs is gotten from +// CR->NumPairs(), and the ids of the 15'th pair of colliding +// triangles is gotten from CR->Id1(14) and CR->Id2(14). +// +// If PQP_FIRST_CONTACT is the flag value, the PQP_CollideResult array +// will only get the first colliding triangle pair found. Thus +// CR->NumPairs() will be at most 1, and if 1, CR->Id1(0) and +// CR->Id2(0) give the ids of the colliding triangle pair. +// +//---------------------------------------------------------------------------- + +const int PQP_ALL_CONTACTS = 1; // find all pairwise intersecting triangles +const int PQP_FIRST_CONTACT = 2; // report first intersecting tri pair found + +int +PQP_Collide(PQP_CollideResult *result, + PQP_REAL R1[3][3], PQP_REAL T1[3], PQP_Model *o1, + PQP_REAL R2[3][3], PQP_REAL T2[3], PQP_Model *o2, + int flag = PQP_ALL_CONTACTS); + + +#if PQP_BV_TYPE & RSS_TYPE // this is true by default, + // and explained in PQP_Compile.h + +//---------------------------------------------------------------------------- +// +// PQP_DistanceResult +// +// This saves and reports results from a distance query. +// +//---------------------------------------------------------------------------- +// +// struct PQP_DistanceResult - declaration contained in PQP_Internal.h +// { +// // statistics +// +// int NumBVTests(); +// int NumTriTests(); +// PQP_REAL QueryTimeSecs(); +// +// // The following distance and points established the minimum distance +// // for the models, within the relative and absolute error bounds +// // specified. +// +// PQP_REAL Distance(); +// const PQP_REAL *P1(); // pointers to three PQP_REALs +// const PQP_REAL *P2(); +// }; + +//---------------------------------------------------------------------------- +// +// PQP_Distance() - computes the distance between two PQP_Models +// +// +// Declare a PQP_DistanceResult struct and pass its pointer to collect +// distance information. +// +// "rel_err" is the relative error margin from actual distance. +// "abs_err" is the absolute error margin from actual distance. The +// smaller of the two will be satisfied, so set one large to nullify +// its effect. +// +// "qsize" is an optional parameter controlling the size of a priority +// queue used to direct the search for closest points. A larger queue +// can help the algorithm discover the minimum with fewer steps, but +// will increase the cost of each step. It is not beneficial to increase +// qsize if the application has frame-to-frame coherence, i.e., the +// pair of models take small steps between each call, since another +// speedup trick already accelerates this situation with no overhead. +// +// However, a queue size of 100 to 200 has been seen to save time in a +// planning application with "non-coherent" placements of models. +// +//---------------------------------------------------------------------------- + +int +PQP_Distance(PQP_DistanceResult *result, + PQP_REAL R1[3][3], PQP_REAL T1[3], PQP_Model *o1, + PQP_REAL R2[3][3], PQP_REAL T2[3], PQP_Model *o2, + PQP_REAL rel_err, PQP_REAL abs_err, + int qsize = 2); + +//---------------------------------------------------------------------------- +// +// PQP_ToleranceResult +// +// This saves and reports results from a tolerance query. +// +//---------------------------------------------------------------------------- +// +// struct PQP_ToleranceResult - declaration contained in PQP_Internal.h +// { +// // statistics +// +// int NumBVTests(); +// int NumTriTests(); +// PQP_REAL QueryTimeSecs(); +// +// // If the models are closer than ( <= ) tolerance, these points +// // and distance were what established this. Otherwise, +// // distance and point values are not meaningful. +// +// PQP_REAL Distance(); +// const PQP_REAL *P1(); +// const PQP_REAL *P2(); +// +// // boolean says whether models are closer than tolerance distance +// +// int CloserThanTolerance(); +// }; + +//---------------------------------------------------------------------------- +// +// PQP_Tolerance() - checks if distance between PQP_Models is <= tolerance +// +// +// Declare a PQP_ToleranceResult and pass its pointer to collect +// tolerance information. +// +// The algorithm returns whether the true distance is <= or > +// "tolerance". This routine does not simply compute true distance +// and compare to the tolerance - models can often be shown closer or +// farther than the tolerance more trivially. In most cases this +// query should run faster than a distance query would on the same +// models and configurations. +// +// "qsize" again controls the size of a priority queue used for +// searching. Not setting qsize is the current recommendation, since +// increasing it has only slowed down our applications. +// +//---------------------------------------------------------------------------- + +int +PQP_Tolerance(PQP_ToleranceResult *res, + PQP_REAL R1[3][3], PQP_REAL T1[3], PQP_Model *o1, + PQP_REAL R2[3][3], PQP_REAL T2[3], PQP_Model *o2, + PQP_REAL tolerance, + int qsize = 2); + +#endif +#endif + + + + + + diff --git a/trunk/PQP/PQP/include/PQP_Compile.h b/trunk/PQP/PQP/include/PQP_Compile.h new file mode 100644 index 00000000..f76c9813 --- /dev/null +++ b/trunk/PQP/PQP/include/PQP_Compile.h @@ -0,0 +1,101 @@ +/*************************************************************************\ + + Copyright 1999 The University of North Carolina at Chapel Hill. + All Rights Reserved. + + Permission to use, copy, modify and distribute this software and its + documentation for educational, research and non-profit purposes, without + fee, and without a written agreement is hereby granted, provided that the + above copyright notice and the following three paragraphs appear in all + copies. + + IN NO EVENT SHALL THE UNIVERSITY OF NORTH CAROLINA AT CHAPEL HILL BE + LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR + CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF THE + USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY + OF NORTH CAROLINA HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH + DAMAGES. + + THE UNIVERSITY OF NORTH CAROLINA SPECIFICALLY DISCLAIM ANY + WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE + PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF + NORTH CAROLINA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT, + UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + + The authors may be contacted via: + + US Mail: S. Gottschalk, E. Larsen + Department of Computer Science + Sitterson Hall, CB #3175 + University of N. Carolina + Chapel Hill, NC 27599-3175 + + Phone: (919)962-1749 + + EMail: geom@cs.unc.edu + + +\**************************************************************************/ + +#ifndef PQP_COMPILE_H +#define PQP_COMPILE_H + +// prevents compiler warnings when PQP_REAL is float + +#include <math.h> +inline float sqrt(float x) { return (float)sqrt((double)x); } +inline float cos(float x) { return (float)cos((double)x); } +inline float sin(float x) { return (float)sin((double)x); } +inline float fabs(float x) { return (float)fabs((double)x); } + +//------------------------------------------------------------------------- +// +// PQP_REAL +// +// This is the floating point type used throughout PQP. doubles are +// recommended, both for their precision and because the software has +// mainly been tested using them. However, floats appear to be faster +// (by 60% on some machines). +// +//------------------------------------------------------------------------- + +typedef double PQP_REAL; + +//------------------------------------------------------------------------- +// +// PQP_BV_TYPE +// +// PQP introduces a bounding volume (BV) type known as the "rectangle +// swept sphere" (RSS) - the volume created by sweeping a sphere so +// that its center visits every point on a rectangle; it looks +// something like a rounded box. +// +// In our experiments, the RSS type is comparable to the oriented +// bounding box (OBB) in terms of the number of BV-pair and triangle-pair +// tests incurred. However, with our present implementations, overlap +// tests are cheaper for OBBs, while distance tests are cheaper for the +// RSS type (we used a public gjk implementation for the OBB distance test). +// +// Consequently, PQP is configured to use the RSS type in distance and +// tolerance queries (which use BV distance tests) and to use OBBs for +// collision queries (which use BV overlap tests). Using both requires six +// more PQP_REALs per BV node than using just one type. +// +// To save space, you can configure PQP to use only one type, however, +// with RSS alone, collision queries will typically be slower. With OBB's +// alone, distance and tolerance queries are currently not supported, since +// we have not developed our own OBB distance test. The three options are: +// +// #define PQP_BV_TYPE RSS_TYPE +// #define PQP_BV_TYPE OBB_TYPE +// #define PQP_BV_TYPE RSS_TYPE | OBB_TYPE +// +//------------------------------------------------------------------------- + +#define RSS_TYPE 1 +#define OBB_TYPE 2 + +#define PQP_BV_TYPE RSS_TYPE | OBB_TYPE + +#endif diff --git a/trunk/PQP/PQP/include/PQP_Internal.h b/trunk/PQP/PQP/include/PQP_Internal.h new file mode 100644 index 00000000..90cedcfa --- /dev/null +++ b/trunk/PQP/PQP/include/PQP_Internal.h @@ -0,0 +1,203 @@ +/*************************************************************************\ + + Copyright 1999 The University of North Carolina at Chapel Hill. + All Rights Reserved. + + Permission to use, copy, modify and distribute this software and its + documentation for educational, research and non-profit purposes, without + fee, and without a written agreement is hereby granted, provided that the + above copyright notice and the following three paragraphs appear in all + copies. + + IN NO EVENT SHALL THE UNIVERSITY OF NORTH CAROLINA AT CHAPEL HILL BE + LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR + CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF THE + USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY + OF NORTH CAROLINA HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH + DAMAGES. + + THE UNIVERSITY OF NORTH CAROLINA SPECIFICALLY DISCLAIM ANY + WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE + PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF + NORTH CAROLINA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT, + UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + + The authors may be contacted via: + + US Mail: S. Gottschalk, E. Larsen + Department of Computer Science + Sitterson Hall, CB #3175 + University of N. Carolina + Chapel Hill, NC 27599-3175 + + Phone: (919)962-1749 + + EMail: geom@cs.unc.edu + + +\**************************************************************************/ + +#include "Tri.h" +#include "BV.h" + +class PQP_Model +{ + +public: + + int build_state; + + Tri *tris; + int num_tris; + int num_tris_alloced; + + BV *b; + int num_bvs; + int num_bvs_alloced; + + Tri *last_tri; // closest tri on this model in last distance test + + BV *child(int n) { return &b[n]; } + + PQP_Model(); + ~PQP_Model(); + + int BeginModel(int num_tris = 8); // preallocate for num_tris triangles; + // the parameter is optional, since + // arrays are reallocated as needed + int AddTri(const PQP_REAL *p1, const PQP_REAL *p2, const PQP_REAL *p3, + int id); + int EndModel(); + int MemUsage(int msg); // returns model mem usage. + // prints message to stderr if msg == TRUE +}; + +struct CollisionPair +{ + int id1; + int id2; +}; + +struct PQP_CollideResult +{ + // stats + + int num_bv_tests; + int num_tri_tests; + double query_time_secs; + + // xform from model 1 to model 2 + + PQP_REAL R[3][3]; + PQP_REAL T[3]; + + int num_pairs_alloced; + int num_pairs; + CollisionPair *pairs; + + void SizeTo(int n); + void Add(int i1, int i2); + + PQP_CollideResult(); + ~PQP_CollideResult(); + + // statistics + + int NumBVTests() { return num_bv_tests; } + int NumTriTests() { return num_tri_tests; } + double QueryTimeSecs() { return query_time_secs; } + + // free the list of contact pairs; ordinarily this list is reused + // for each query, and only deleted in the destructor. + + void FreePairsList(); + + // query results + + int Colliding() { return (num_pairs > 0); } + int NumPairs() { return num_pairs; } + int Id1(int k) { return pairs[k].id1; } + int Id2(int k) { return pairs[k].id2; } +}; + +#if PQP_BV_TYPE & RSS_TYPE // distance/tolerance are only available with RSS + +struct PQP_DistanceResult +{ + // stats + + int num_bv_tests; + int num_tri_tests; + double query_time_secs; + + // xform from model 1 to model 2 + + PQP_REAL R[3][3]; + PQP_REAL T[3]; + + PQP_REAL rel_err; + PQP_REAL abs_err; + + PQP_REAL distance; + PQP_REAL p1[3]; + PQP_REAL p2[3]; + int qsize; + + // statistics + + int NumBVTests() { return num_bv_tests; } + int NumTriTests() { return num_tri_tests; } + double QueryTimeSecs() { return query_time_secs; } + + // The following distance and points established the minimum distance + // for the models, within the relative and absolute error bounds + // specified. + // Points are defined: PQP_REAL p1[3], p2[3]; + + PQP_REAL Distance() { return distance; } + const PQP_REAL *P1() { return p1; } + const PQP_REAL *P2() { return p2; } +}; + +struct PQP_ToleranceResult +{ + // stats + + int num_bv_tests; + int num_tri_tests; + double query_time_secs; + + // xform from model 1 to model 2 + + PQP_REAL R[3][3]; + PQP_REAL T[3]; + + int closer_than_tolerance; + PQP_REAL tolerance; + + PQP_REAL distance; + PQP_REAL p1[3]; + PQP_REAL p2[3]; + int qsize; + + // statistics + + int NumBVTests() { return num_bv_tests; } + int NumTriTests() { return num_tri_tests; } + double QueryTimeSecs() { return query_time_secs; } + + // If the models are closer than ( <= ) tolerance, these points + // and distance were what established this. Otherwise, + // distance and point values are not meaningful. + + PQP_REAL Distance() { return distance; } + const PQP_REAL *P1() { return p1; } + const PQP_REAL *P2() { return p2; } + + // boolean says whether models are closer than tolerance distance + + int CloserThanTolerance() { return closer_than_tolerance; } +}; + +#endif diff --git a/trunk/PQP/PQP/include/Tri.h b/trunk/PQP/PQP/include/Tri.h new file mode 100644 index 00000000..496cddd9 --- /dev/null +++ b/trunk/PQP/PQP/include/Tri.h @@ -0,0 +1,54 @@ +/*************************************************************************\ + + Copyright 1999 The University of North Carolina at Chapel Hill. + All Rights Reserved. + + Permission to use, copy, modify and distribute this software and its + documentation for educational, research and non-profit purposes, without + fee, and without a written agreement is hereby granted, provided that the + above copyright notice and the following three paragraphs appear in all + copies. + + IN NO EVENT SHALL THE UNIVERSITY OF NORTH CAROLINA AT CHAPEL HILL BE + LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR + CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF THE + USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY + OF NORTH CAROLINA HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH + DAMAGES. + + THE UNIVERSITY OF NORTH CAROLINA SPECIFICALLY DISCLAIM ANY + WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE + PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF + NORTH CAROLINA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT, + UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + + The authors may be contacted via: + + US Mail: S. Gottschalk + Department of Computer Science + Sitterson Hall, CB #3175 + University of N. Carolina + Chapel Hill, NC 27599-3175 + + Phone: (919)962-1749 + + EMail: geom@cs.unc.edu + + +\**************************************************************************/ + +#ifndef PQP_TRI_H +#define PQP_TRI_H + +#include "PQP_Compile.h" + +struct Tri +{ + PQP_REAL p1[3]; + PQP_REAL p2[3]; + PQP_REAL p3[3]; + int id; +}; + +#endif diff --git a/trunk/PQP/build/pqp-1.3.tar.gz b/trunk/PQP/build/pqp-1.3.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..5d6a386167dbc1fdc61ae05638d30ae37f8b2e69 GIT binary patch literal 326131 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	C3oq8z%nj{`!!wKOyhh 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	#Nf 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⋙EU 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 z	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%0A?YG#A2tH|3yU1^k3bK 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 U?DWqz7eCwoxV1u_p+SKG0EWRR9RL6T literal 0 HcmV?d00001 diff --git a/trunk/PQP/build/pqp-tar/PQP_v1.3/Makefile b/trunk/PQP/build/pqp-tar/PQP_v1.3/Makefile new file mode 100644 index 00000000..5f1f4397 --- /dev/null +++ b/trunk/PQP/build/pqp-tar/PQP_v1.3/Makefile @@ -0,0 +1,33 @@ +CC = g++ + +CFLAGS = -O2 -fPIC -I. + +.SUFFIXES: .C .cpp + +OBJECTS = lib/PQP.o \ + lib/BV.o \ + lib/Build.o \ + lib/TriDist.o + +CLEAN = $(OBJECTS) lib/libPQP.a include/*.h + +library: $(OBJECTS) + /bin/rm -f lib/libPQP.a + ar ruv lib/libPQP.a $(OBJECTS) + cp src/PQP.h include/ + cp src/PQP_Compile.h include/ + cp src/PQP_Internal.h include/ + cp src/BV.h include/ + cp src/Tri.h include/ + +lib/BV.o: src/BV.cpp + $(CC) $(CFLAGS) -c src/BV.cpp -o lib/BV.o +lib/PQP.o: src/PQP.cpp + $(CC) $(CFLAGS) -c src/PQP.cpp -o lib/PQP.o +lib/Build.o: src/Build.cpp + $(CC) $(CFLAGS) -c src/Build.cpp -o lib/Build.o +lib/TriDist.o: src/TriDist.cpp + $(CC) $(CFLAGS) -c src/TriDist.cpp -o lib/TriDist.o + +clean: + /bin/rm -f $(CLEAN) diff --git a/trunk/PQP/build/pqp-tar/PQP_v1.3/PQP.DSP b/trunk/PQP/build/pqp-tar/PQP_v1.3/PQP.DSP new file mode 100644 index 00000000..ddd11ad2 --- /dev/null +++ b/trunk/PQP/build/pqp-tar/PQP_v1.3/PQP.DSP @@ -0,0 +1,154 @@ +# Microsoft Developer Studio Project File - Name="PQP" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 5.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Static Library" 0x0104 + +CFG=PQP - Win32 Debug +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "PQP.MAK". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "PQP.MAK" CFG="PQP - Win32 Debug" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "PQP - Win32 Release" (based on "Win32 (x86) Static Library") +!MESSAGE "PQP - Win32 Debug" (based on "Win32 (x86) Static Library") +!MESSAGE + +# Begin Project +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe + +!IF "$(CFG)" == "PQP - Win32 Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "Release" +# PROP BASE Intermediate_Dir "Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "lib" +# PROP Intermediate_Dir "lib" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c +# ADD CPP /nologo /W3 /GX /Ot /Ob2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo +# Begin Special Build Tool +SOURCE=$(InputPath) +PostBuild_Cmds=copy src\PQP.h include copy src\PQP_Internal.h include\ + copy src\PQP_Compile.h include copy src\Tri.h include copy src\BV.h\ + include +# End Special Build Tool + +!ELSEIF "$(CFG)" == "PQP - Win32 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "Debug" +# PROP BASE Intermediate_Dir "Debug" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "lib" +# PROP Intermediate_Dir "lib" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /W3 /GX /Z7 /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c +# ADD CPP /nologo /W3 /GX /Z7 /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo +# Begin Special Build Tool +SOURCE=$(InputPath) +PostBuild_Cmds=copy src\PQP.h include copy src\PQP_Internal.h include\ + copy src\PQP_Compile.h include copy src\Tri.h include copy src\BV.h\ + include +# End Special Build Tool + +!ENDIF + +# Begin Target + +# Name "PQP - Win32 Release" +# Name "PQP - Win32 Debug" +# Begin Source File + +SOURCE=.\src\Build.cpp +# End Source File +# Begin Source File + +SOURCE=.\src\Build.h +# End Source File +# Begin Source File + +SOURCE=.\src\BV.cpp +# End Source File +# Begin Source File + +SOURCE=.\src\BV.h +# End Source File +# Begin Source File + +SOURCE=.\src\BVTQ.h +# End Source File +# Begin Source File + +SOURCE=.\src\GetTime.h +# End Source File +# Begin Source File + +SOURCE=.\src\MatVec.h +# End Source File +# Begin Source File + +SOURCE=.\src\OBB_Disjoint.h +# End Source File +# Begin Source File + +SOURCE=.\src\PQP.cpp +# End Source File +# Begin Source File + +SOURCE=.\src\PQP.h +# End Source File +# Begin Source File + +SOURCE=.\src\PQP_Compile.h +# End Source File +# Begin Source File + +SOURCE=.\src\PQP_Internal.h +# End Source File +# Begin Source File + +SOURCE=.\src\RectDist.h +# End Source File +# Begin Source File + +SOURCE=.\src\Tri.h +# End Source File +# Begin Source File + +SOURCE=.\src\TriDist.cpp +# End Source File +# Begin Source File + +SOURCE=.\src\TriDist.h +# End Source File +# End Target +# End Project diff --git a/trunk/PQP/build/pqp-tar/PQP_v1.3/PQP.PLG b/trunk/PQP/build/pqp-tar/PQP_v1.3/PQP.PLG new file mode 100644 index 00000000..f2175cfe --- /dev/null +++ b/trunk/PQP/build/pqp-tar/PQP_v1.3/PQP.PLG @@ -0,0 +1,43 @@ +--------------------Configuration: PQP - Win32 Release-------------------- +Begining build with project "C:\WIN95\DESKTOP\PQP_v1.2.1\PQP.DSP", at root. +Active configuration is Win32 (x86) Static Library (based on Win32 (x86) Static Library) + +Project's tools are: + "32-bit C/C++ Compiler for 80x86" with flags "/nologo /ML /W3 /GX /Ot /Ob2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /Fp"lib/PQP.pch" /YX /Fo"lib/" /Fd"lib/" /FD /c " + "Browser Database Maker" with flags "/nologo /o"lib/PQP.bsc" " + "Library Manager" with flags "/nologo /out:"lib\PQP.lib" " + "Custom Build" with flags "" + "<Component 0xa>" with flags "" + +Creating temp file "C:\WIN95\TEMP\RSP4244.TMP" with contents </nologo /ML /W3 /GX /Ot /Ob2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /Fp"lib/PQP.pch" /YX /Fo"lib/" /Fd"lib/" /FD /c +"C:\WIN95\DESKTOP\PQP_v1.2.1\src\Build.cpp" +"C:\WIN95\DESKTOP\PQP_v1.2.1\src\BV.cpp" +"C:\WIN95\DESKTOP\PQP_v1.2.1\src\PQP.cpp" +"C:\WIN95\DESKTOP\PQP_v1.2.1\src\TriDist.cpp" +> +Creating command line "cl.exe @C:\WIN95\TEMP\RSP4244.TMP" +Creating command line "link.exe -lib /nologo /out:"lib\PQP.lib" .\lib\Build.obj .\lib\BV.obj .\lib\PQP.obj .\lib\TriDist.obj" +Compiling... +Build.cpp +BV.cpp +PQP.cpp +TriDist.cpp +Creating library... +Creating temp file "C:\WIN95\TEMP\RSP4280.BAT" with contents <@echo off +copy src\PQP.h include +copy src\PQP_Internal.h include +copy src\PQP_Compile.h include +copy src\Tri.h include +copy src\BV.h include +> +Creating command line "C:\WIN95\TEMP\RSP4280.BAT" + + 1 file(s) copied + 1 file(s) copied + 1 file(s) copied + 1 file(s) copied + 1 file(s) copied + + + +PQP.lib - 0 error(s), 0 warning(s) diff --git a/trunk/PQP/build/pqp-tar/PQP_v1.3/PQP.dsw b/trunk/PQP/build/pqp-tar/PQP_v1.3/PQP.dsw new file mode 100644 index 00000000..a1af0d1b --- /dev/null +++ b/trunk/PQP/build/pqp-tar/PQP_v1.3/PQP.dsw @@ -0,0 +1,29 @@ +Microsoft Developer Studio Workspace File, Format Version 5.00 +# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE! + +############################################################################### + +Project: "PQP"=.\PQP.DSP - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ +}}} + +############################################################################### + +Global: + +Package=<5> +{{{ +}}} + +Package=<3> +{{{ +}}} + +############################################################################### + diff --git a/trunk/PQP/build/pqp-tar/PQP_v1.3/PQP.ncb b/trunk/PQP/build/pqp-tar/PQP_v1.3/PQP.ncb new file mode 100644 index 0000000000000000000000000000000000000000..f74bfd3b1d5d6f97792d2e80eafd5033771bdd8a GIT binary patch literal 287744 zcmeaxOfJeV&QB{*aMpL$)>bGe%1<v!%vDH9EJ;jCEKXH0(lapN<&yGpXJBApVPIfn zkYsFNVqoC;(9W34FbYOPU^E1Vb_no+obSN!;e#y00sepgN5N<ajE2By2#kinXb6mk zz-S1JhQMeDjE2By2#kinXb6mkz-S1JhQMeDjE2By2#kinXb6mkz-S1JhQMeDjE2By z2#kinXb6mkz>o_8(BwZDvoI+9|35naKjb2C)WM@6Fd71*Aut*OqaiRF0;3@?8Umvs zFd71*Aut*OqaiRF0;3@?8UmvsFd71*Aut*OqaiRF0;3@?8UmvsFd71*Aut*OqapDB z|NqYu4H)mvE;0w50>I13z@VR(n44P6pr4nVq+gO)l%86WnU|Ii;pgV3l;)(O^Yz`V zV$xIdb7KMm1LDgJV~UHCV?v5DT{4SH^fHh&VpHf;nwgVAgt9Qb<bnc%hJ_JhQb-_S zRqm-JA(^?UgcbTGmV~7y6ISQ%<P`6cS)7%hnMXvZ1Ox^U<6n?6f*}lw73ciig3KHu zyaQ6~nOBlpl$V%8*i%8N$tB=uCL(U&Y6&_xq$rcH)vyFcgw2p723H74)cOH|0SdYb z;hA~HMhY&eNu}wK#DzsRC^aWFu{aeXUzS=_oSC18kq6u{^8lK?kj$fxQz2@&U{i*f z2e7Lm!X%75fW;*2c>s$-ta$*7Iy`v*i)v8fhDRFizym2G=wVQ@#-0bTTO5xg4`5M^ zBVA)riJ7jkE5e$i@F+#~y|YzJcxIlZX^cy1adt_50kl-sGtz^U%-B;Uak@yf2{XMC zv<AHZC#(S@B@@zuJy{ddg*A;6(u60$6VeJw*66997(Jv#5$=3Jgk88Y2_daGattAD znAwL29a!@cvHCI?%o!LM;ushhm>C!t?lb;5^k4qN$1jXEwx9)*znB;pBpDbOn%Ec^ z^cff!1X&pv)EO8UESVS>L>L$tezP+$m@zOg$gwdn=rS-c*sw4#C^0ZFSTHg$fEruR z85kIN7#J8{GczzKFfcImGBPj-FfcGoWMN=XVPIfLU}a#?WME+EU}9hpV_;wqXJBAp zV_;xd$jrbX$H2famw|zSi-Cb5gqeXshJk@0fPsO5gMoqJ6)OXS4g&+jbq)pwD+UIJ z%}fxzTiF;G3>YA8WM^Pt=w@YL&|+X<$YNn&P-b9YNMmGR;Adc9&}L>}kY-?DILOYx zV9LP2FrR~g!IFW2!Hk0e93Fve3=Db<3=GLk3=E<S3=Gz+3=A3!3=Gli3=GB$3=EH1 z7#P$*0R%ZOj^REd1A`FApKJ^ah71f0Qp^ktQVa|Xyi5!X!VC-y{p<`3CJYP=0*nj{ zybKHsA}kCHiVO@4TUZ$wv>6x}HZd|V2r@7*Y-3?yP-S3X0J)u&fq~%;69a<;0|SEs zI|G9e0|P@Y2Lpoz$lVMK4BQM13`dz67~~lk7|IzK7&sXi7^;~W7-XUD8l~VNAR_^e zb_E*-M{qL#E)L<FGFX9=n>i%<6m%GL!2CN5;OJD)X3z%nZ!tmm8Vnj>z6?~oCW9uJ zAH@NY*J98D^OYn((dnRI$6(LE#=yv+4dvT2I54m=Ffo`w`3?+@3~UU{48anhGY1(I z0vHk**cjLto-jc8JWOg#Yz!O>1(Fbc8{;KLHU?e>Tafx@1_f6J9|krCeuk?cJ_Cb7 zBf}O3Hc-Zds^7uzl!1*wf?)+nzJ)=doS~M1jX|104J!YKL70(^L7u@E$`@nwWn^Pe zW|$1+-(ciqVq?%`5afc`|B~SY0~>=L!wisloeT<j48;s=42BHZApUy>g;a(t1~vv0 z1_h}4PYgd9*cdDs{)t1v!<@l_fsMh6fdlG)3kFLDHU?`3At>Jx93M6esZjgF8S5F@ z7#tax7}yz@7&sW17&sZ27$g{&7$g~(7^E0t7#J8*m>3v5m>3x5FfuTBN-!`aNH8#b zU|?YQ!hoRbBpDc5B^ekFGa}T1)IX76U`S<PU?^i?V0bS9krR+)VA#QkP`gh8VlGI% z4Vv5!7F4w$J3)4>kYr#uEy=*}Qj!7e#tKFThGs?v22m~s25Cu%JvB(?g4n$h*wrHY z5#%qJ+hjQ)=D`#BC<A8*Am?Y0B53|%&;u9pOz`xg3$DZ%7z{vXfLbvq*fKbQb0V0} zz@T6VuI!i?ELa%87*rmB%u4`OYYGes`rtyEk)aR7XJAlpV$fn_U|?lPhw@Fp`q>zS znIQSeiqW1CRFGd_gz$A4&A=-2L3~vv1#1R-22ce8ig!@@TgZq=Zy+&H+PKZg!0?HY zfq|Kcfq|O|lIGFHK<Z#=5aixbJQ@NcDFh6l^);w|2KgIS--GIR5Z@mv56k~fP(G+V z0FqaS@<H`Ih!3m(QS!e8TK-Q%%l|D53MA!!M%v_m9tHte`NI&w5W&F1Aj$wOe;7g- zLKt`$q!^g&LG>&*0}}%u0}~@Z0}}%m0}}%e1Ct>y0}}%a0~3P)v_58IV6tKbm!Ih6 z6R6AqVNf{*s-HpiGz^2pDw!bl9f%E5hhAoZ#L>k-VLysTLx9u}uxEm__w^avz}-<7 zX!{<N-$C6|b7=b>l;1&oSbhhU4<J6cerEu+)*Tsm7@+n0dj|$r23H0i23CeGOrUP9 z1A_~L3j+@W8-(A<py0(2$iTzE&afIJ-|V2^%;3zx!@$Ad!~|&%8#0(M@Gx*P^nv({ z4hmKb)(kuhTnw=wK7)gT34<vE4+A&DR4Ct?!H$84frnu>lyAoXat|*<F^DhWpkT^i z#=yhC2kuS_wm2x5F<3G1Fz`d$9}Wyo3{DI<^M4BiBL9Qh+0&r;p8=Zx8F?6(7_j7j z20G?{Mg|6XCI)c$3NtW*%PLq}01Yd^*ywZvRG<+=JAeofW&{z?0fmMJ7VroK2Lpqn z0tW*JKGUGupj3KskvRh+1H%C(28M7c(69m%gAizNfeGAngs6JC-YXQ;uZQqxN`i(* zKo-<)EC##l4>JRUJqxH63K9i53Pe+Y1(?9WNUjN|z7~Mp<-@|j&<!0<VPKd6HjV{M z!U&j8V0<JRG?s+KMKA>znHU5F7#lhm8Uz?r7&syE_#c}8Z5dp_{c{s$NO|DS5DOl* zK`swK!#J@1J}Cc#_^|pOR6c<Cpy3@s1_uR41}6p~21W)&W=MW^VsK^<0@apKz5{~; zgAfBVgAknW$RNbP!oUpWgT@1d7+4uJpnPWrR|X*lHiiex3=9HH4h%62F$_Ws91uPW zgF+%h4TBH^7eg^fp20!EpCOb%h=GS;B9tG_5Y8aPz{_wN#AkG1h-Qdp5Mtni@);Bw z7%nmhG4M0Y1<5lxD1hpJAqD}4^&mc@gF+-jB!duxAj4iLKZ+rWL5M+!AsFmF1{H4x z9|j=?VTL3q--p4EL5M+w!3E0qV(?}VVi0Apgz`NZycmQS#28vZ<}o-ZgfWCM2r-C* z^9dukKV`xo#30G=i3!sGu>g$)Fi1oD`LI4eD+3dF)CAN95ocgx5My9s5Mf|q5QUaU zpz#1c1||kU22jppVi0Cv0+(6b;Bf&^n*-FA0AWx&14M(`D({#f{qQf$kUmo#lm?|0 z5C*9OVUV6!W(I~_s60pvhTlN@TR*X6t3pJg1halY^P>VE1A~hw1A{*UD}x6^2v`n$ z=>!7<ykvq3Vp0t*91KED3LTg-U=dZJNgWeZ6gh+(IRu<I6kVJIT%0;OIGh9;Jp@=L zHV7ywaX5CMWvdfA%fb0ESCoMP)b53qieLkYAW-ux5gLe85>*8$ztY4Q80L#XhC~@a zgVA93g9e3(G>8FG{s}QKC|H39iy0V{SRmtdkp4ddgCvv>Y7c-+h4uFd_5ZcSLBrLI z3@o5aL%{9=>83Ys0F7ib#7PvIGcY<R7>hG71c^h2^TC7f;8Zm*jsw}cdKV;p-4bU2 zk1NW6bF(8TkQx|4W8NSZ&O`^xSfIghkU}zXLB5iPK#M{vl6I|XNWIO#5X)f23Mqe< zGOPeiN-!j|LHIWq?=mtlq%cf{^8YY0GBGfuGxS6GUl_kLGB9K@+y{*pF)%2UGE{&D z=^6N;=Jhc2GcYjZGh{>6KVp2!$iPs@pabQvXWYWbz);H20_DGCe9s6P%r}7YcQEc{ zWMHUfFoE(9G9F`OU}#`?4z;g_p&m3j!*Bq~&tm|UIxP%yq3T(gxR@9iIv5n8{0WS+ z85tOQ8PuWt`HZU=85kxpa6<X{jJ1rQx)@YG8nZJn1hYfRNLf|}hUIL8+1)G%HF>NI z3_Yw6z8xzA1Biba%0I@&z;Kg|fngOZ149{-9%TKAtPBhwKB#O3xd&thGJg^~1H&42 z28ILdkn$Uu4^qDY)V_e4ja<Kjl0XJDzng$3Wf&Nc+xsASSp5&G??HTBc1U_iW@=^v z<*ZH6@RDFsWCE1{JD_}3COsz5M9e}EUw}b@n@I$8ix7h;G(F5=SjYfsd7OgswHZAa zLF0QeAoZZ}d&V9{&_vcgDBp<5g$dN6EMx)K5DEqiz6_v=FiEKX$>4UAJVQ8?zm;JZ z188C`0Lov(u#o{YaRq8;f$CdP<}_x|#2JjgfQg$KG-0*^ntq}f5*R=eT<@U#W(H7A zW6H1-%1>d)VgOB$HADHJ_6KO<EDIVw?Mzdc7#M6ATtV(<V^BE7c$txb!JgqD)IBd4 zSQ!}@oEeTn`CN>kkauUufb#c&XFhxw&O`Y=jNy!+Nx#=nehgz4BLhPy!#9xm3=9e$ zOp#0s43P|4?2zz@XG&yZV2EN6hw@{XKs~8w1{EkjmMIQA>Yxtg$1%k-k&^#^GX7&k z&i|hnzmk;yA2L3{o&SXy6kagC!=3+y85Bs(|4dBmgFgRzNI}X7P#FWt-=Mq;VpB8! zgXU>K=EBT}(I9(Dpk*9LjSo^82P&^%<rhdDE<UIX1DOpfpFnD0WgIg9BedLujc5I1 zV_=YCN5wERPC&~nkbaO^AibbAC^j}o52&1j=>g3HfYcU4{ef%-NG&dLWOY_hy)ZLj zG)N7I4U-4)1=vu_bz;Q8{sAqY#J2ha%PLEdGSmeh*cHWNU;BhZF^;uQSX9GTa-gqN z!Kap>gE1F+U@>kmtp5Y8$N;T$05!x6{}lWMt+oJFiJ(;=pj8T>t}tk&18fBZY{dg? zr2}kb18gM)Y()vkT+m7n*oqL4nV_x&Y{kbx=n4ne$_Cg<2-u1e*a{Pn8$gXi*a{HX zN)p&g5AaGA^znXJdjM9y|Af|GwhR{;KqDof{v8_!WL^z4&#DKS-`8SL&;l<eVPI$h z@fkql{h&oL3=FXL0&G42wjKaBUoe3K)GC0@A2Kj}=7zK<IGE=%gBG-$g7Vv$SiwDI zA1L2|DHFT^=N%_#e33!HjM0S=RR3>=@+BB$89@s^GN61eMo_TJF<gQ26&Z~|)jmTn zlrO|6$_QF`!odTve-SgN_p8J3m;+*dEyETD&;pj@P<{wQ6}UZM0oA`9JkoE%-~;7< zW?*3iEdZJWRd2!I32q;3gz~)^0zr#`7+RtB{bliEWnge(SOfK6DN_p*1A`~Sd+2(B zvy8e-3=BaGu=NIBi~)=c3}Nu~1R;!3jG+2m1*$%lv4D|*A&DUuYJMuqFBVXH+!4zE z#hk>#z)-}{4^>~rc#4sMp%T1S;1)Ln1FSq2=Vo9~<7Qyc<z`^8;fB;l_~b$9<3ASz zLj*SiLjgAf14w@pHv_{gs2R>sGg!G87`VA0=7IEp%HX>kkoGEw53&Q78KOK43~D?K z4CXux;86bxN<*9s46>XI42GN#F=Vq6pkg3%K{%KPxBDhT%>~sJurS!c&A@Pw8?hb& z<W`U$Ve%k9B8L&kk0AZ9d1cVr26R5i9lBf$4Axu>44zyJ4B=c145?fU48>dw42{rm z0l5>G9UwR0lLwhUn~Q;AB^Lw3b}j~nqg)IOm$?`i9-<8oq(bv6Xgm*8(Bwh+u>4;E z<-^7UVC4mDJOH+SfLi&VT?&%_AnBbGtvnE9KrIg>8NlU1CW8W`JWyglEe})~P|E`~ z2GsIE9j!djL@N)p7*NXtQ?&BHiUGAeuwg(g4{XuO1A7M4^1y)swLEY{D-XOG)S=-4 z$-lu2Vo*LL|3)*|Liv#Vn}k+=WTKT9xoG7@Ap^L)U}I2#loycvPbh7J(jF*(;!B(O z<Uwf@WCyPN4az?tI|h3h0dgb0JV;0$6b`uZD5$)Eg)e&f1CpbpYystS7>3pNu>8ND z2QvN#%m2~5kpAN-hST6l8*qMOU|={0ZVzz5@&^MqBR^;r7lR{Iy+6Y#2GGJ)Whmc` z!5_Sc^*Rs4JPQUJ2G9b|&rm*S{UK-!lM|}mk--hLSd<|L%0JC;mI2h?zW`Nl0$%JX z1IsTAF5vM3HE`bn6s~o=xXbvNypTF#D;_nlI_4rTYF`AsZvwIllm>96Wl((rGNXZ^ zk%6UwfuRvJ;RYUe1jPVsa1S&Z2;!56BZ?v8b))lt_`?qt%A@mti1|P8`rjf3)b+n> z7!**}|4w2cZT+tTgMuc$^}odg*8jeBPynqcfUo~$Bys&OBZ=#O#i_jhml19KFDrrd zzswE_DC>V29TbRO|C`Uwz?2MK|H~}Fz{EDX{uk6Q1+}@6OM}t*KjhFrux0r{qwWj} z-VFW>pn;4)C_j*)61?riL=Ylh%dh~vy~T+S!q;Z-1h3dN7KZQ_F`QuVU|?W?ttSNK ze-IzGehAe62l2J}A?pEr8T=SL7#JDspnN|De+CZ*CTRQJfgzb8nZbjBmEpJmsQ>Mt zP|8rs;K9HKZO=O}6fzVtcz`y82twq`8Oj+v7&sYZLHq^>g$jlW1`h^qhD@mbEQTxw z4+b8FCs2MFLm7hy12026l%LIz&EUbn2kjp?Fr+f1GI%iXGc1G3=P=|jcrXYs90$3V z)j=VeA%?+&K@i%1a9~JcNMi6{5N5aol4o&Hh+&9h@L&*ONCxrQ927zs!WcXlL>a^c zApVbMNMP__5M%fVl4o*Ih+~Ln@L&*UXa?~aLF)m+89W#y7>uFn6Ts$6GAx10hciSo zcrZvo`zsC%X$)x$9t_e9H-s1%1R5L^<}%D>@L-T(C<pNw92BN7Okwa~kY$(#<xgdp z%HY8u$M6-z=WtM%$1sn<gF&7_Mi>&F^BLwdcrYk1Yy-(NI4DeGn8x72pvbUJkbyx^ z+Cib6p@YGLL5blAh|l1l(818f;K88G@D0lEX6R+`U{GNY5@KKw+~}at%h1Q*!Jx|E z4wY|YXkzeSP-Dn|@|zf%89W%&8T3Kw85|V)82TAJ7&I8%p!|M@2@D<#nhdc}{sgdp zv>3Xe`kNWr89W%Y8E!%OT@2j}9t^PY8_@bQR|XFTLuh{uRJ%AbcrX}4`)dviZVYY= z9t^PY8wUn=26qMz1~W*1P2YjRj=_$>gTb6(1s?;0APZ>ym^p(7g9U>Rh|l1lV8CF+ z;K5+Y@S6`3el`p?3?2;D49}tRR$#sj!%h&N2~ysBFxWDj0r43?<-HYy2ZJ3$1(a{h zV8Y<RV9(G4;xmEPyO}X~FgP$IgZK;%3PudZ3?2-Qkp3f=1A{$-J%a~>6L|fE0E2_V zafagz9t_S5-$WqpImmF3!GpntVG@+TlVK-=2ZJlaCMbUw!!8C71~&!~QHc6O42Kvz z7~C0jp!~xOhZ#H=JQyxR)$eB5&EUb{$*@rvlAhNvtYz?E@M1Ut<*#K}&)~t}&2S&e zU(c|C!GpnvK~n^xeiOrH1`h^b26w3ZGKS?09t?gAnNa?6h7}AR4E_x6Q1zP`wlH`w z1Te%y`CAyaGI%fqGL%F4TfzPbV(5YDU%{}3!Gj@~feR|XfngJPO$ietbnOfyXsryW zt^}>A0j-Mxt(lQvU}6ESqmhEHqXDh;6=YyC2hGfb*3p30_6jjDRdX{i#c(k&-36`x zgRT8jXJBH`U|?d<VPIlXW?*7aVPIm=Wnf}dWnf}ZV_;&?WME>@Vqjv@W?*8FV_;&C zXJBGbVqp3y%fKY1z`(?y2-^L`!1UIdfr-JAfr-hAfr-JGfr-JKfr-I_fr-J4fr-JC zfr-J0fr-I}fr&w%fr&wnfr-I@fr-J8feBoCdNMFE_%bjtxiBy>xH2#?xG^v>_%Sds zxHB*@crh?Bcr!3D_%JXr*fTIOI503VI5RLY*fB7H_YpZUFfrJI$J0Q48c^RgT7ZEe zNdVGU0`WoO;(`!9j0TCpFlg@wXgxDXEol4=d3_N~jgJ6ie+Y;V>c@g;5atnPU;ts5 z86dqNc@PH4gD^-8gh6bOI+z@`@jo7Zh&w@QVdH;W`5<B-8sxrWC?BK-hLOc!=7Z!w zZUbSEy&ylr+<~kHBnHAD^&oX1IYdoMJr*_B|G>ucVEug;r1ifb7lUS@LF<EH;{z>X zknuTF@TO1}1|=xJ1w4Px1745B$i$$qf#Dr!<t;<6C`5e}cqf@8czk(+7z4vbQ3i%1 zqLBE2v30~47(B%o7_NiFMHv`4#USh8SBNn%928?<xFW{D@Kg*kW;|V#fnkX#!W?8h zN&3+90<cURIfY^D7{{Ut`zCQL3bF1B$D$6;R&Xq;K@)pK%&CEt5u8rLy~i87#kjV0 zV^KXi{|Dab3~DwH+4(<y=zd>a24m1lJqB3*2jzFrq$6k@A80)<sJ+3$z{nsB-LI<8 zV88&{?II238!#AxR_`(>L-~dbM&Px7ObpD>eKDZ5s*wGJpfVDML1oM+9u0xf5Ez&c zfYtv7;KLyx>tjI^<8}-+;KLR`tFS@*K893A(3)9L+b%|&fgx9%fuT;EfnlmR1H&3| z28P4pkh)q$nt{Pont{Phnt>r%nt`F=+8M?O1_p)+*Um6bU}a!faP15usEpZg?F=Jm zhW)^`GmIIG3=9{ponZtGjX$_{hA{!OZt>a~M(_@W>t`6RfR2Z_4v|;5eufdW63^iJ z8Ai~;2Z!rt7(t6LI10{#X^DdKjG%H$qu@NFFoP0<GD84^9s{Vf0+mRC3_%RR3?U4% z3~~(e3<?Y;42}$-zLPD39fLKvhvv@U#$d%@#$d_d%HYD_%wWpk#30Qe13r>sU}9+0 z*3l54T?l~kq7Vav0;s+R*#gb);M@RO?*r<?z|MhaXJBAh0-6PkK->Qx4qLy2*#8e2 z|6^ldV1TXn(W2-19}Fap|1(f|{GS1B{GWlq_&)<=Jc#V`KSH46|D)%BfX^|(HvSJv z+oKpW1YqlTVEG@{`5*e=L#~(@r1>EIc|-7FPAm-KP(Gynzy?0s3e;YJtQX>7VC7?A z;O1k%NspfYiKSx=>e!F=|M3mujIRF$ZH59borRx-M%MaY(Eewkd=mHn1)|meR@m!* z(0m`(`9DSn1(f+e76%2Y&i^scc>a%p!2BNr+Wa2_+Wa4zg96I@9|MW=e+&)^c<28Z z(B}UX(B}W*9TZUJ{}>3&|7D`h|1pp_|HnY${GTh8=l|Hz=KomG=KmPc=KmPc=Kok7 zQ0M;`(B}WN(B}Wx9TZUJ|5!lhSAgaNq4R&x_8!jpKXV5Kl=(mKc^7!*|5!nNSn}ro zVDt5$_Bp6^02>d0wFjtj{ttLR0O*iL==mU&p8v%_oAZCb=jSnEng7d_VPMKfn*YlH zo&N#abB|^IuSAD|DNvb#$yJ4ciAk4%i2-f?j{$A|k3p7!$qH%yj{!RW$AC2dS8Tz+ zl!G+?$AoA8FUXgHi2-f?FUOsMsc3Zm4>a!wnwtaBLwWuWluxOJi8}ws9J2loblwm0 zd?1LA_52?OwDW(2K;<ve`9BP3=l?JeIRA$MRDR+)|A)~*0q^-g3~1;7fXi<@=l=*X z;6DEgbp8(mDF1`X1AYdkG*CIf!@$Hidj1c3nnXVT2Xt-=Xr%@C{2!=7@c1s2jYi>- zLQ{##Wf5RtY2aXCVPRqvU=m>9U|?b3U{GLSQebFcPyn5e3|eu$0ea5P==nbk450H| z_!&U$c?!<|NrsdUbUXit0qy)B1`^NzVL&_ohXL*U9|pAZe;Clt|6y=YAnE)cAqEw^ z=l=+S*8358{!a;LO%iks69Z^Yl?`;N5(5(hsNDiu(<H*c6b4$$1S*f9=l?LFo&Uo! zxX%AMRSem`FxbxjIot+u7wG&S&^i~;G4P<(agZVh=RsQ#X{wT-nK4kw1u^s%G`#3` z{*M`h0&Kq@vFHClTuL6f8G0@bXrnV|JQB3Pf&sib8K-#y<W?9sO~fKG{RQNFHYU)? zB;eCaK#D+z*n?=iSYUMj4`}xm=oB((NL0d-^XU11@PzXzvmbok7(LJbb3t40hxPm) zGsOHLct1b1z6Uv+tn+^u(9Zv{W>BE&`9IbS3Ml9QSTiV~od09Zpg_|3KhX>dDChs^ zF(^=U{tpA%`9E9?3V6@|v1U*h(DQ$+859Ve|AqJbA62yTzw{Us(9i$Ed;U)qf%AVD zM$iB0W?^7}od<?|-WO=R1DOw6zXLiK2c#av2A%B#qG5a(4La9n^!y(N2GF@Zu=9mr z=lg)p`T>O*j0ULzv0?HcKDp=rfbR5QU|<*&=l>-cF*t>Rt}QG{%u7yXz%o(k1iG+G z34CIY5`$A1gHxE5RS*Mc$#IaYqmM$gg0Vs@gak{46rst1MRSk^jTB<Rf<<65Bp*zr zfXTGXqT-VH<c!Q52;V0)F%2x?o>~%|S%t%a;N{*n#U&}3`Fa_43_kJBU;{GqN)!qh z0uqZ-^GX;%oMZ;4un-WovH}?&Vr7+N2;qW*Aq3<xr?3z!E2yG^%)FG;3XqCGFkxj? z3~~c#eYurYUTJPgYH>+1R3@pc1jNz;5rI}#No6GkAf^^f0Hg`*h~g@cc%YS49asoN zSXsH|7L-&%#obd&{7Q2}kj#d89-`JaGY=#QRqa|)Qk0lnf-2~kk^)nrpaxQ?pr%lQ zEpicy;B894mtop5*c4Y5>w`E+ps<80U`WX?P0C3{NP^_BBo_Eud8MkVsw%w<B?jO4 z08fVG{Ji241*jRm1x1;8CFxK>ctY}pBq9jO;F|_k#o*@Y<Eo&gkj4Pf#SjJ-#?TxF z)fNWT22sY~o0*cDSCUy$iAa8^)`Y<o_$K=zDJp`P2O$}JLy~<N!ji)f3c{cY7<`lS zbCSa#6o?Iu;^ZO*-wNM?FbppmLJWkE7_vqXaR`Yn8v+&ft?&gI9>U-o0%l=Y5(c$| z!M7p|(+OcvOBjkF((vFfHUya%#!&1VQUM|>!WhDG!x%tDgcXEU1S9-j%-~y`om!4z zaT(NwVaY}L#l>L^VL7RJ=_MHmjqpgy%P-1J%mHPku$26gFov*{%;J(TBL<K)zCrmV zQ3yRH3?P9BFd50<8&;C<@9qOljSBhcIk^ha3WjD1vFO1S1aS<6Wbk+QDarSRxfqfT zQFI4JKn=*uD`5zXWC)C62n+{X8i;U9N@{V5Z(>PNW(CAp2#Js{E=mq8O)OD}RxnYB zW$-P`%mZB|nu<^Wax9{>^i9o7Pt8NfmgSd%^dc0%<0b_zgHW9au^mEU%i3t$QSy_L z;!~iv(;`f9g6M~k2w|w<2!SN13M^S3wvff9xTGjEFCA1cD1izpQ07;HTt%6o#GnK% zNWh}7l^q#M3{Ih*J}&XWA&w!gVB382Q&MxRtUz7|Gm!=Bu!=gRrf23s)Pl-*NPvR* zR#u>LuqYE6wIJQ#DoabDzz~a=5f(9HaDL8AL3V~~UJBTFWHH~=+|c60^i;6&+~Rbw zoO6CoPG(AKP-<~$P6@<MC_>m2f&EBOm0MA2YCvLUQL#^EaS1kKKy_tEJ~kQ0loYTd z6TxH>LvCUPSQ$8Ek{NO{^B4+>^0QKtOUw}BS_;Ujz~P4+nnuVf3yhI@g@!0R6qSX> z3?)UG@yYplC5g!pZ-8B)r4WFkD*#1T0E+p6C@KR{R0bL|BtxPgz9==hw5S-86;VQ0 zK}(@1wHWM1aHJ||DdZbMf(BwTT+|363Zc?+5>et9YyjBtLD1qCnqlC<6ap1TQVA`J zF;qgu8KBt&+%O9%%2d!&C@};Hf*3{&pnEStQb9;wLx_Qr9Mo?x!NAhg(o}4!5l$*f z&52JfLTbS!CKZDPKsl=r-1sTU&q*x;*^3gUAuv%$Vu#v{P+JJH8@mpK?QrGTiZf6# zlfj?_3Qxr8l}cdE{@!59H7F?F*Wbm}C*D6aB;MaG-q+RFKPVC|hg~$(FCfU@*)=%W z)div(t{ze}L3IVY28O!&IYSC5kWCO-SKok;NF;rZK0fiz{(d2j&LNN*)6Fv|I0PmH zHX2LvE6stlPeG|l!Bzp}M+}2tv4|YNFn!>dQLt4o!Vz#thl3Uu7L_oh<>V(qNreiA z<osfW;><jTw8W%hTm~S59P9^hra-W)tdc-$JmZT?5=$U?46MM)s-!5h7?fhQkk#gu z=Ej31K>ma(go(u`=H%ojr=pa%NeoV57zQMjA!S-CP-8qksjL{A_MF7x5|Dk!PJnbU zK#3Y=v4X9F1p_#0KzDzG%2rgKl~rbnA*K+dyaDTj74%?xP()zPi-+_VK;Fh84=M_A zDkv;XEvk$MwaVj*Q<EWHM>7M`Cqokq!R49)Q0;*dTxdE$0RvWq%>;-9SO+Y)w7|t< zCZz1l#1bx6R(_?qPGO*a30C)m`aDIMIHdzYArO+8n;MM6|6tdoWagoi%aGgxwi*<t zSS|KUfjBxFn@>GcAYMVueqfcTLRcahn*!8WMpuC?n$guj;u&2O64B_Q$mKb@9IR*u zB}a5QP<tFy#$)wo0i<F?*HeHkpscLGWfN9&(2@hXdFbf@T^=(*psRrKvDzMh-UNgc zF)%%_gad7Rpw(|+6Vb%5Bmk@`P*VVg5^PBTLlGnmU<gAJ0fumLPJVG}QG7{8VqQF= zjs?X#hEf93DCq)2Gc;jfibGNchBzW=U`U~*4Q%ou$b|)l0?gEbp#&Dy*dr6#1jW#W zJwaGmIfDZ^BqK2ot_53Vin5<RI5pilKffpiQY?X+kDzfHP|QF%rRaSUHHAb>p(IQp z$M}@|l6WUv5+RrpPGB7&44!#m`9=A8`54_MH3dgd#~rK;o566&5WF7GU~taKEC|UD zO3X`#G!~$KElbQ{fCUdYPQc<piO{|$Ml%^Eflv$Twt@y1;Q<KJ3KGE5Z3Pc#g4!k^ zY-LpdZdqGd6&OMJ#t=F)1)FD}Ept8429Ds=^nm=#yb`2Hj6ip5Bvb%04hDB#0Cr(V z?81TAg`r(|Y|e!AzLU+N_jkh9`-0~K6(H+*K=XUVod2C`WmU|OoRgYZ6rY%!T$;-O zCKW)*5zLCu&Cdl5vqC5ZHH9RG+|<Op__U(@T$mi(-_S8Q2Dsu}B*kFk7?ShL5{oiH zbr8e|h$!3yXGmB;NQUJ6+=9}QRG2+*W06MmVB>YDN{eAm&{9BBo5GNuS`wd}npaYk zpP2$`JC>yuA;)hr)LyVMghNY;G9e0!3vx2SZO&o_NW&P`{RFi*lk&hVCCEs3Nl_+4 zZen(7d;xfrI=(11C$S{6EEPR_LZnd#wa^k1L`ew3qo5&Icz{7=^Pw(3%ESOZMhSFv zIq3K|P%;2v&~Ypv8iXZT8NgQqftHVb6Jr2hg919*40K#M=*n)88f+MJT?y#gaF`tE zI4ckvbQ}bT1|6>kqCv-ofsQf*9ls3X!!YQIaL}>hpexBhSGj=1K}&N$H0a!Y(9&Me z5woCUm_f^9K-Wuyt~dcLa|Io@4Z5xlbmSc9S|HH1grMu-KwH>B`f*{<74x{{ki|hq zfq|~80ZqAqjyVGzl>@py3v?w6=$JRqRYIWak3d-rbWAx&FX$*7(3LVEHZlesqYLAM zjtm2_L08#<mg|GqFbvwh2V;Y1&~-?lBlbYoDuMW*tJ^_adO=6*fUcDV9S09ORv2{b zXAtP30gz*a)*<HiL5dmIFyP()%gVq2x`G5`KInQo&=J_6ZGa#?=sF(|{e%f}JOGG| zj6vH0L09yFj`Bek2VJQI<AavhfY_j8bwS5>gV>;Jpg=U}P6ZGR!=R&qK*#IOkbsDQ zuDA!WK*uA4u95>CO90~ALghhh7zQ2j3uD7*&{jnln^+ojEIztg(DW&2g^P~><me*M zu|=Sx`#{HO*+?>gkNJb?0UfCax~d7rhtc4p^`OVKD@ibbk46M7qXiwm06HcOrmh)e z5sbsYzyLbl7{&!%0|mMg2(+vNCI-4v6~>0qpkvrTNA$z^pre>TQ=Fh{)j>z_fsUXC z9SsPQ2VD;cqR}yEYdGloc4YCxjF2OpU}B)-;Xv0%fR0H7Eggr6gRY4L9lZtPgRY^2 zu|Z4DU~CZm1w<fW(3LSTF6g-B@1S%I6#!jlbc!3wfl{FD?4T<Npj_|~iC-XV`@q*b zf{us>UBv=A>Jl{d3p&CNbgdca7%|WhV4y3NK*#2oNHBn}v%k*Hz#t&Wz~CtXxh5f1 z5@IqJ)J)J3d!TErKv!J~^Fic5<TB9uc@P5$gO1AvaY0KVK{V)CD-ey0^P%w#I;xwQ zi2-~i8#naoSJ3o5=!yr>(q_;x>L7ifW41sv10MqesJaKU86a1C{Ratv_Wwin?=pbz z#{=!(rPlc$91IMgD+FM6f@shcnV@4sLEE%J*I|OLzyw{>1v&~5)Z73a-3C$z!k{aJ zKu1J^*vJ@kZ5HVG?#Yr2;49rga-gfRKu3{)ju-?Td)O<%z;K_Jf#C^K-UnUp7RA8; zzGf73L^wzv=t?dS4Z6k>wA~5B23;!#qE|>VFo3SO1YQ3K;)5_~$pmO=1n4TV526g< zBlkhaq=T+f0LkORpzGXVa<FS3K*w={j*0^vGYYx_0{J+2&{k{E_DRr@te|UEKv#i+ zt{VkidjUFD4RoC$=ol85nJ^l3r5)(nFwoJdATiL9=^z?(lmqDcJkSx9J$ww{tH40V zL9UQsU;tfz1UlLsbo~Qp=>kYS2!oE}1RW6yx&{Tr2VEBcx}FYnj4J5JbI^5tpkvrT z$8v&>h5{W21v&x>v=joQ9)#;8A=l-B*dPqL;u&-o4TufHpli}VSI>g34fTcQAJ8#- zpyM!MYS3xW)>Y7Tt)MHQk>z0527s2sfR1YiT>%Z+?gKhX9;B{}0dl=A=m<j)AA~{2 zmV#&y1|8W7I(8Ct)FkLQOwbXSple+~av%&_@CiCv62u2x{|BN$7<3f~1N7=f(A6p+ zF%SkVAqLSPtc{c&L442^I3OBy)GCMuVbD<<pd;=;OG!XiWP@(^1YJcBk^^DTm60GC zgh5wcgJ@(7x^4?}MHgr(A!rFL=o(#Qc{m$<{x2()&;MnCoc}$#{}+1x@96$t($4=K z-TzCs{lB0}3snEZ`v0H`0K|u#2MVgZL43%09*_nEh!5Kj0P27UDNuO-mmci=00suw z{XY*G{lWKz!tMhTXI=-sIUCfN1GP`4F^MpP?h64`S|EN9Q#TU>1MTkr*~rYy!oWbk z`+s;?V_6v(5cmI-uyC?6Fd**#;bZ|dQE=b?a}InzFOm2EFpS>+18UrZI_@wG>U@G4 zIH17>P^Av)Fn~HppnK3joeWST4AemasRMPWLHA37)FIykMo1oH7jlCS`Hn77V-035 zsPlz<{}@OP)WHRH{6O~{pz}fIf(AQajZ9F(68Ua1M(~mS4B-3!!2N%u^S?ly3Q+!r z<$qAamc^Gr0p<Q5Pqh1g6c|wN|50F2K)L@%fk6T9{XYtj`$s_e8GQdwDuV*v`+sy9 z6j1K}DPkD(_y52fT%(N95Ew)u02-VC-4{U7`Tr~q3Ml9Qvp6WAod3_}pg_|3|EvxQ z6rKOi>Y#vf{y(dO0{r~{RM_5G&|X<A=l_qM{{g-O091F4p8pRypB_}7f(HIT7&KS| z8khi0Sb)SqbuWkpVUQRIgV-Q-Ah|)5)v-DSe4a->Vt+5l&Fl;e;PZ|^8bAY<p!PMb z&i|9R0XhFy;|An>UyB=%^M5^VoM9|rU|@*20XhFS11etul4oFG=(qtn|98d>$oao3 zp!AL#XTazGp15&_(UL)kL6|`o>HJ^NsY<2{W(*n(nhaVD+6;mWBA`2Y7{nPQ7$g~_ zz$g8}&IVQlpB}8jpvs`epw6HJ3XD-a8Un*C1i<ZoV?_Q3O%#FJ|0WD3V4s4^2c-T1 zc>ga0VtoKr_Wv?adH*j1+Wub#wEe#fnEQVhFmW?8Fz7IJL+?8mWlm#eU@%}<!2&t& z6lMP}1C{sxG7#AR%P_$Ee;Fv;|I2{3|CfQp{lB2_VSL93I`R@UfdQ(Ib};T`WMHUf z08My<_y-w}F)}bTFg%CGR}Diw0|P@718AZjB%jAn$iTqR0-h`a@tK&|nHU&47(kOH zApQi#*^CSfy$qlUA`pK*<0?i5hDi*dNqZ1KpRtyafnf&t{u<C^buc^R9vaX@FK7Y) z)Lz2J22ISt)W8PkL442vKZp;SXaw<(u`w`!CRjidUmj8jJCOB*Cf`AP&;$oa56BD{ zAJq0h-|vggAKm|px~~@$hM);B5Df}TP+Wi}fYJG&NiC2VXs<6a4blS=gUN&Vph-03 zcqK**WM?Z6q`djd;s+l8Tf+_Emol|5F)#$7-RB*KcAs|?<UViscwQ0%Xu$_4{X*^! z&td>g4uklR`@@SEK$BD;KIH!J(fhwa`3HnS<9dX~|3GbJT8+_x(ig}LF!QN7wg|4+ zp#*3F7s2ztv>@#R(D`1l`X4l30OErdR0%Oc+5;dyXn_vsz92^iCk7z~Mh4Kr4iMjo z!I?n_bW#;~6d!cIuLFY+12Y3?Q3OaHbRw$|=msH>Jd=ZhJp)Ldl>szy36ghaaAgo; zU}FF+fDwS7_r(F>v%<~;<6;0UE&`2b_%nnu2r=+5fEG=G_~8uU3_=XN44?&H0?DxR zzW5+~_<3Ob44?^RkopLQ2nHbr0fzO=pc9`6od0FdpyJKo1MY2r7B>hoFsS%2_%R4E zh%kT_NP+lx&;Mc|aQ+t~gMtNvH3R7EJSOn@gU~SyCOqeVh43;kF+$J(vJzxq$`@i_ zVg%iD2)e_NhXJ_{3rg>xv<#v_=?=6Q21J7v`hdhhi|s%(D6N1nhz-IZJ)p%ApoJ44 zJ~9SP<b(L2Ito4Qg2exG;l7_8v~UGvKWri�KdB(V&TZ5F3PVapN`vw75%+hk*e! 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 literal 0 HcmV?d00001 diff --git a/trunk/PQP/build/pqp-tar/PQP_v1.3/PQP.opt b/trunk/PQP/build/pqp-tar/PQP_v1.3/PQP.opt new file mode 100644 index 0000000000000000000000000000000000000000..3c0d0a739a15af438cfb023f06a35fed161d9c35 GIT binary patch literal 48640 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 Xs&06N!07nj@QTk--;9O;DIov=K6qz4 literal 0 HcmV?d00001 diff --git a/trunk/PQP/build/pqp-tar/PQP_v1.3/README.txt b/trunk/PQP/build/pqp-tar/PQP_v1.3/README.txt new file mode 100644 index 00000000..aeca6bbf --- /dev/null +++ b/trunk/PQP/build/pqp-tar/PQP_v1.3/README.txt @@ -0,0 +1,206 @@ +--------------------------------------------------------------------------- + + + PQP v. 1.3 + + Eric Larsen, Stefan Gottschalk + UNC - Chapel Hill Computer Science + geom@cs.unc.edu + +--------------------------------------------------------------------------- +Changes: + +1.0 - first release of library +1.1 - fixed a bug in calculating query times on Win32 machines. + added a demo 'falling' which can demonstrate all of the proximity + query types. +1.2 - altered the triangle distance routine due to a degeneracy problem + when edges of two triangles nearly intersect. +1.3 - now use isnan() to test for NaN, instead of a comparison that was + sometimes optimized away. +--------------------------------------------------------------------------- + + +I. Introduction + + PQP, which stands for Proximity Query Package, is a library for three + types of proximity queries performed on geometric models composed of + triangles: + + * collision detection - detect whether two models overlap, and + optionally, which triangles of the models + overlap. + + * distance computation - compute the distance between two models, + i. e., the length of the shortest translation + that makes the models overlap + + * tolerance verification - detect whether two models are closer or + farther than a tolerance value. + + By default, the library uses "RSS" bounding volumes for distance and + tolerance queries, and OBBs for collision detection (see PQP_Compile.h). + Descriptions of the bounding volumes and algorithms used in this package + are contained in: + + Eric Larsen, Stefan Gottschalk, Ming Lin, Dinesh Manocha, + "Fast Proximity Queries with Swept Sphere Volumes", + Technical report TR99-018, Department of Computer Science, + UNC Chapel Hill + + S. Gottschalk, M. C. Lin and D. Manocha, + "OBB-Tree: A Hierarchical Structure for Rapid Interference Detection", + Technical report TR96-013, Department of Computer Science, University + of N. Carolina, Chapel Hill. + Proc. of ACM Siggraph'96. + +II. Layout of Files + + PQP_v1.3/ + Makefile Unix makefile to build PQP library + PQP.dsw PQP.dsp MS VC++ 5.0 workspace and project files for PQP + + src/ + PQP source + + lib/ + libPQP.a after Unix compilation + PQP.lib after Win32 compilation + + include/ + PQP.h include this file to use PQP classes and functions. + PQP_Internal.h + PQP_Compile.h *WARNING* you should only modify PQP_Compile.h in + Tri.h the src directory, not here, because these files + BV.h are copied here from src when you perform a build + + demos/ + Makefile Unix makefile for both demos + demos.dsw MS VC++ 5.0 workspace for demos + + falling/ source and project files + sample/ " " " " + spinning/ " " " " + +III. Building the PQP Library + + In the top level directory, there is a Unix Makefile for building the PQP + library. Type 'make' to create a 'libPQP.a' in the lib directory. + The compiler is currently set to g++ with -O2 level optimization. + + In Visual C++ 5.0 or higher, open PQP.dsw to build the library. + + Building on either platform has a side effect of copying the include + files needed for a client application to the include/ directory. + +IV. Building the Demos + + In the demos directory is a Unix Makefile. Typing 'make' will perform a + 'make' in the 'sample' and 'spinning' directories. For VC++5.0 + users, the demos directory contains a demos.dsw file which contains + projects for both demos. + + sample + + This demo is adapted from the sample client included with RAPID. Two + tori are created, and proximity queries are performed on them at + several configurations + + spinning + + The spinning demo is a GLUT application, so paths to the GLUT & OpenGL + libraries and includes must be set in spinning/Makefile, or in the + VC++ project settings. When run, a bunny and a torus should appear in + the GLUT window, with a line drawn between their closest points. + Pressing a key alternately starts and stops them spinning. + + falling + + This demo is also a GLUT application, showing a bent torus + falling through the center of a knobby torus. Each of the three + proximity query types can be demonstrated. + +V. Creating a PQP Client Application + + "PQP.h" contains the most complete information on constructing client + applications. Here is a summary of the steps involved. + + 1. Include the PQP API header. + + #include "PQP.h" + + 2. Create two instances of PQP_Model. + + PQP_Model m1, m2; + + 3. Specify the triangles of each PQP_Model. + + Note that PQP uses the PQP_REAL type for all its floating point + values. This can be set in "PQP_Compile.h", and is "double" by + default + + // begin m1 + + m1.BeginModel(); + + // create some triangles + + PQP_REAL p1[3], p2[3], p3[3]; + PQP_REAL q1[3], q2[3], q3[3]; + PQP_REAL r1[3], r2[3], r3[3]; + + // initialize the points + . + . + . + + // add triangles that will belong to m1 + + m1.AddTri(p1, p2, p3, 0); + m1.AddTri(q1, q2, q3, 1); + m1.AddTri(r1, r2, r3, 2); + + // end m1, which builds the model + + m1.EndModel(); + + 4. Specify the orientation and position of each model. + + The position of a model is specified as a 3 vector giving the + position of its frame in the world, stored in a PQP_REAL [3]. + + The rotation for a model is specified as a 3x3 matrix, whose columns + are the model frame's basis vectors, stored in row major order in + a PQP_REAL [3][3]; + + Note that an OpenGL 4x4 matrix has column major storage. + + 5. Perform any of the three proximity queries. + + // collision + + PQP_CollideResult cres; + PQP_Collide(&cres,R1,T1,&m1,R2,T2,&m2); + + // distance + + PQP_DistanceResult dres; + double rel_err = 0.0, abs_err = 0.0; + PQP_Distance(&dres,R1,T1,&m1,R2,T2,&m2,rel_err,abs_err); + + // tolerance + + PQP_ToleranceResult tres; + double tolerance = 1.0; + PQP_Tolerance(&tres,R1,T1,&m1,R2,T2,&m2,tolerance); + + See "PQP.h" for complete information. + + 6. Access the result structure passed in the query call. + + int colliding = cres.Colliding(); + double distance = dres.Distance(); + int closer = tres.CloserThanTolerance(); + + See "PQP.h" for the complete interface to each result structure. + diff --git a/trunk/PQP/build/pqp-tar/PQP_v1.3/demos/Makefile b/trunk/PQP/build/pqp-tar/PQP_v1.3/demos/Makefile new file mode 100644 index 00000000..15bdeebb --- /dev/null +++ b/trunk/PQP/build/pqp-tar/PQP_v1.3/demos/Makefile @@ -0,0 +1,16 @@ +all: + cd sample; \ + make + cd spinning; \ + make + cd falling; \ + make + +clean: + cd sample; \ + make clean + cd spinning; \ + make clean + cd falling; \ + make clean + diff --git a/trunk/PQP/build/pqp-tar/PQP_v1.3/demos/demos.dsp b/trunk/PQP/build/pqp-tar/PQP_v1.3/demos/demos.dsp new file mode 100644 index 00000000..34512688 --- /dev/null +++ b/trunk/PQP/build/pqp-tar/PQP_v1.3/demos/demos.dsp @@ -0,0 +1,83 @@ +# Microsoft Developer Studio Project File - Name="demos" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 5.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Console Application" 0x0103 + +CFG=demos - Win32 Debug +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "demos.mak". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "demos.mak" CFG="demos - Win32 Debug" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "demos - Win32 Release" (based on "Win32 (x86) Console Application") +!MESSAGE "demos - Win32 Debug" (based on "Win32 (x86) Console Application") +!MESSAGE + +# Begin Project +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +RSC=rc.exe + +!IF "$(CFG)" == "demos - Win32 Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "Release" +# PROP BASE Intermediate_Dir "Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "Release" +# PROP Intermediate_Dir "Release" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c +# ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 + +!ELSEIF "$(CFG)" == "demos - Win32 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "Debug" +# PROP BASE Intermediate_Dir "Debug" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "Debug" +# PROP Intermediate_Dir "Debug" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c +# ADD CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c +# ADD BASE RSC /l 0x409 /d "_DEBUG" +# ADD RSC /l 0x409 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept + +!ENDIF + +# Begin Target + +# Name "demos - Win32 Release" +# Name "demos - Win32 Debug" +# End Target +# End Project diff --git a/trunk/PQP/build/pqp-tar/PQP_v1.3/demos/demos.dsw b/trunk/PQP/build/pqp-tar/PQP_v1.3/demos/demos.dsw new file mode 100644 index 00000000..9aad33f8 --- /dev/null +++ b/trunk/PQP/build/pqp-tar/PQP_v1.3/demos/demos.dsw @@ -0,0 +1,53 @@ +Microsoft Developer Studio Workspace File, Format Version 5.00 +# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE! + +############################################################################### + +Project: "falling"=.\falling\falling.dsp - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ +}}} + +############################################################################### + +Project: "sample"=.\sample\sample.dsp - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ +}}} + +############################################################################### + +Project: "spinning"=.\spinning\spinning.dsp - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ +}}} + +############################################################################### + +Global: + +Package=<5> +{{{ +}}} + +Package=<3> +{{{ +}}} + +############################################################################### + diff --git a/trunk/PQP/build/pqp-tar/PQP_v1.3/demos/demos.ncb b/trunk/PQP/build/pqp-tar/PQP_v1.3/demos/demos.ncb new file mode 100644 index 0000000000000000000000000000000000000000..40973a4585e91f24a69abe9182fb8287ab8bc0e0 GIT binary patch literal 377856 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¨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 M4S~@R7>E!60HeDCM*si- literal 0 HcmV?d00001 diff --git a/trunk/PQP/build/pqp-tar/PQP_v1.3/demos/demos.opt b/trunk/PQP/build/pqp-tar/PQP_v1.3/demos/demos.opt new file mode 100644 index 0000000000000000000000000000000000000000..237033d492a5833edc67a26a5e6693866af97436 GIT binary patch literal 58880 zcmca`Uhu)fjZzO8(10BSGsD0CoD6J8;*1Oo3?K{^5@2BX_y7NY5F18=*#AetkP3mn z|NsA2U|?WiW?*1oVPIfjWnciuIXeRb0|x^G11AFm0~Z4W12+RCzIhoK82A_%82A|& z7z7v?7z7y@7=#!Y7=#%Z7(^Ht7(}7!#2FYEBp4VNBpDbOq!<_&q!}0(WEdD2WEmJ3 z<QNzj<e}<385kIp7#J9o85kH;7#J8-85kJU7#JAT85kHe7#J8d85kI}plWp(7#MUJ z7#Q>z7#Q>!7#Iu~7#Iv07#NHg7#NHh7#K{T>dY7z7|a<M7%UhV7%UkW7_1l=7_1o> z7;G3A7;G6B80?_x92giF92poGoER7woEaDxTo@P_Tp1V`+!z=b+!+`cJfP}8>D!xu zfx(A?fx(x7fx(Y~fx(}Ffgyl_fgzBAfgy;2fgu>GHk5&ZA&h~6A)JAMA%cN{A(DZC zA&P;4A)0}KA%=m0Ar`7Go`HcOfq{V`k%56BiGhJ3nSp^Jg@J(~m4SgFje&t79jY#q zfq@~5fq@~Lfq@~1fq@~Hfq@~9fq@~Pfq|ibfq|hAs*c=57sQaykk3%UpuphDkjGHM zP{dFP%Em-vF$Pu!nBAbXgHPiD-iG(7FAp+;!V{)0oFSi~h#{Myn4y3nks+BOl|g|a zn4yFrk)Z?}7BF?VXaxo)Mo?M>rCpFaaH&HUX996Ri4`38MGW~2<qX9PsSHIRaT2ir z0}~@C?|||LvG((T?10+u%8<g4$xs3g1&}bQn2&*p5tL6sc7rf6`o%zsp!PE|u!8eG zds<>nPG(-Zsk2o~xTl|`X^e|&uy=@mKukbjKzx~@o{^qmOiF5QesK&`C5+ZfDJ}rj z3LM1+nR$7cdFkeajeseQfiYl)uoWlf7UZNF6JZ2cVGKk)OgjU^0SUkSyyX16lFYo) z#H5^51=ot?)Pj=C{5+5wL0FA};efDbURh#JW{QGKW^qA&aVD~S4+FyiQOBa9#7YIH z{L;LXVz3dZDXA$S-5}h{z;Hm!Ehj&*M8PFBFTW@^F-O6_Ahjql53Zz-f#HA%R7qx8 zW=g6;Ql&yvYEeE&KM40D6nN&PRwO2uC<LVzm*$j!Btdur1H%DvhzT&qg6%+d>O=;H z1AGuQ{$;5}X*v1jAgv%giGksOAVey-Br!Q#!8s!}IU6Jc!jl;o4)8-{L-SHlbxr~K z&NHthH9fUR!3C@1r!p`c5P&H`w|N>!e?U=YS!PaZdTNS-XI^nhQE4)=yZ?gR4RIE_ zZc|2v1H3LiJ_>&MB?@k!@CUgUgq;`}4oHGzJo7S3G81z$s}ezGD!3(P<{;uGxj6TM zxNl~1QGRiLT8V<Qwl+BWP*MOW`Gd*}w(!J~<P1Xw1_;9l#xRC4Oc)qmGB7aw2Df@r ziwcS|i&GVR6Y~<&Q;US15|gt_3ltLbQWSzxlk>|`iz-=dT>XRW_|ozVQuA~a;>*Dd zmg2&q5{L{ElOw)3wInw`B^4qAAvxSKb5g@HQ_CUT(h@5rJ$-0)(@U*LRZ`H;$xJFp zEXlA^($kC4(~HT;Oj1%%;^O4wRB|pYF3HbTa4OBrNl{WL&n(GMNXtn~FIG^3$lEyQ z=N9DWrRJ3=7*r(Mp)28XE=o--$;?YvC`rvNP)N(nNmWpSXTuOz-+-8)-~bb2GXuR4 z-vFp?P)1A5D=Aj6NzW-QF*ef6$xKoJ`93`d%E?YG%1ecDN{dsApyKH%nNU`FW?peY zetr&EZ*qQaN=`adCNZTfu>hv5I3qO&W=?)iDpW~+PHH0D;?mO06tF4zDM`sN1u03% z$puhOL16({UOz8CCqF%3LBF^(skpMZBsJG6IX|yBKPOc|KQk}6C^a`VuOu<YDlcC_ zzaS+EITi|1l9Uwma}$#@GV@ZcJdG{P6!i0njVLa?n4r|0)WqV{nB2t7JiYv+EM%el zl++xMm>nW6lJj$OK`AUJGcQ#^DJL^88<Y+d9PmU8mrrJ1c4l6>o}L~T7Z(>&@=?%L zFi=P>D#|a?DAv?bFi<E@ECLnS8pWDiqcH%A6pCWN(7+6mHMl@IEfZ9mg5m%i)5!$| zT%g>ZqX%Lk#gLDupSOaQLRw-;Vh$v36ny-=4Gk>}trU_I^YZdb!1+lbGq0eu1ez<M z$ykZY6%>~WsTHZorQn<kOCMMw-VkCqX2gRE!%;jM0;3@?8UmvsFd71*AuyssU}F!* z0v?78h7vu{h|-Ai`lx3|Ltw;*05f=O0~`#XL6*_+KZeoqKZXNhu))32@xRgWKhR{r z==dLGdPJ{abo>uI#ydI!3!5i{XN}SEKX5Z*lo$<x(GVC7fzc2c4S~@R80;Z1I{r7< zV`$WUqai@M5a3{7X7Kg#0xfMF9sdK5g^rH@jgJ38R|Jl(|HByM7+wE2y8aKe#&dN1 z4<l=gj{niFnKEkfXb6mkz-S1JhQMeDjD`ReLtu3LkBWggYSd^546zWvw*NYuA(J7G zAqBiInvi#t7?>DAX9R%u9)mC;^&ojg5CPqP?8y+o;K>lrkj9Y6ki(Dzwi&ed9i)U9 zEWyCU2-?pL8oVUder=G!X!aK~Br@bO6foovwd)*Y00fIMFv0h~6KlUINGpc@1z^AD zfl1;+K#GBh5o9k6gN!DG?Li8l_A@iEGQjqJb2{fF78fJ-p9;WsXDcLwBvOkZ+fpGU z4oMusXggcw!}E)>iwhEyQx(*~o66O#6pR%Lit@8klS?#;H6d2;Lia9$x4l6v$0kOc zX&jz;Y554x3Av<}rRL-pq!uXz6y>LsCYKa*g=H3(Cgy-P4a*{!AnEj?#N6D}BK2Yg z_tMOiR57R2bjV(Jg~<F;umK<ylJG6Gi3-6bi6xoI3O<=hMTtd~>@KM#iJ3XYw&2~l z3c;x*p#6Hq3ht?SsYQt;sVNHK8L4?7!xX?~q$(sTV7fpms5DPEBr`V^W~@R`YFcVh zYF=`xtYc0=Mq*Mb$WFJ?Jn(L7ge<qKLP<tZerbA!f*WJ7g0ntoTeMGNUV3R_dMbDa zGgtuZ*38smk>HZVyp+VE6i`UO?BcXZ&IfJHudowBa#=8V7k)8!u#2|>l+6!f`}?@U z_$mQ8i6v?IMY%c(!7ko9VC!65ycJyXlS{$-Y(cxYd0>h_YUEuKOA?b3iy=<)O)V}? zOb2aD4o)p9%S=u!)<o>@4i5BD00~245fllKXbQ>C&&kd#kqOU8EKx63@JlUM$jnnf zQf;PZsuqw~RH9(4prC-HDlNZA!7(K_GcU8aq$sf@zo=LYq{}t0WOV=c=>G5Y(e<Cu zJ^rKPzoX;7pk~A<9u0xf5Eu=C(GVC7fzc2cdLb}6{yX&IY}Cc0AwaDVh&&8A(^nie z)~2fvo|$KCqyRmrj2kKrIbo55!8rgjNQX;3E^+V}Z3D>FAl55Z(0DC~^&89riHkyQ zQh>R@B{iuu9i)a4uRb;ok>FsbAO=PTZU*O&#G>@n63>#<TwD&pZ52ocY8Z1$Y5^mI z2!pdrYC&pVN@`wmrE`8>Nn&PRY7tZkD~E`SS2)oMA<7}-==k60_}}RHkFbLsN6&wR z9SKR%>4WfvxufSlf{w_<aa1buahudWfpc{IC#VJ;#iJoG8UmvsFd71*Aut*OgFXaC z$NvU>6pcD?Gz4fC0<iHvF~~(K@WD6e@E;dM7=82)hiV+cpfNmbBYq+f!{K(q2mFu~ z!+Z`Mc0(WL!(k;z7gPsXLv*9#f1~UFM%Vw1-v2Us|I6qNJjC9>GdlhUs&z;4Xb6mk zz-S1JhQMeDjE2CV4}sC~zd;{GqYfMm0h)yXZ2V6GzSkGF{0=$-$ODr=9|Odx1E&P8 zaX>Mc75GO2K}!Zf;Q$@iLmvsmX)Q<(4l6)XP~(UmCL~%RWU(KF42Mt<a&-OQ==#6W z^?#%5|3G&=BQHoBUH><vZ{Qvs{{vO0qj)p~MnhmU1V%$(Gz3ONV9<xa==k5DkD^fr zj)nluLI8IDBDofDk#YW^7sxW``Gd|3ISh#m#SFy^VGNlJsSM=|3JfHkKS}cWiy=t% zyD+3OBr%jSq%)*5q%stNWJtn7WcWW0WCPUyE)4k$$qc0oxeTccc?=~C#UMEnum}Sa zBNqb$0~-SaI2?%4ngLP-wI4SA%M3pSl7WGNkqxpk6Qqs<HaH97Amji485r{NK<DzI zjTqw`h#ejO9UcE2J^vAMw(02j@96mN==iUKesO71ab<ByYOYmseqQnD_-}rZf{&lK zp`nGLl|pi2US58QLViJNo<e3`L1_v2AY=ulg2Dp5oXjL8F4v->{33<aiqzy%(0RfN zIhlFcpv~`kTwGjS(Bo7<d<9(vLxoh3VvS-=9R&l0^28!g&8<<a32Hka*XpC}(GVC7 zfzc2c4S~@R7!85p9|EJ}zr#O{M}0UN0=Pnek%5(g89a6fK0nbpr`RngB{(NP33e$A zNF!qd(tsdi1ImzKUOIf$CUnK<==dLGm=Bp8UH>_H|4Wb^OL1XQ$>{iBPG*uqddled z-{|<?==h(Hr=Pcil|ou#Nn#FUh;DTJ57gus#iJoG8UmvsFd71*Aut*Ov<rdJ@ju#y z?WoD4Au!lOfD1hO2XdtZ0|Nsq1ET{c=%$mR{2X0pkSJ)=H3tKu120U}sVFru8z#fV zz|bHHx~;dQvLIE#H?ue~Co??{bgM5&9|*HDFdPtYOioTME>;N3%+E;#-S!KT0AV%; zh6B8wc?tobYly*%89<^SEY84ifYUEu!8bKGzo-%<0>ZKk3<rcgb8=GC6LS<i^NLG~ zO2IcBgXBP1m4V@agkOGMa(-S(W?pGxQckLZYejNu0kWlPU_<iC5_2+B6kIZk3-XII zk>z_B7!HU!78NB{Dmdkr=A{&ajYv&NO#xW}!o3U(2gKZR@)JuGTvGG$i*gfl6#NTP zixTtTO8OWW4v0XNWR_*7q$(s;Dnz9g<%9Hta6dwUXI^SWVseQ>P-<~$P6<d7geNdC z91w??;0bjs*bZc;PGn#>zz0#|UzS>wmXlu&(h9<p7#I!+LZpIA5|gtPoHJ6Bvq3T- zJeh&v06#=FG%p2J=M<3dJo8FY(^HEST(CNRDkxH6O3-bd2GSo;lv$RUlbW8If-Ro@ zg4_*p7P@XzMur2tE<QdAe)%N|ZlLf7xfg_;7#R*of@D1NGD|WOb26*IX-UB?F*64d zH_64h55y7oLxb+M#z+C6)XM@|GaH^*lAK}4z`zD(7{M6EFop>O!%GGRhTjYz`$zA8 z9=-p0^!{h#(fgmlE9xAaNAG_Im7}A0Gz3ONU^E0qLtr!nMnhoeg}~_e-_VP*Q5TPf z0JTDZ4Lr7y&%nSiI{pW_343(>kKuqAY;bRM{BLyp&(G2{CdAb@AZB#@Z*=@`bo>vz v!&YH*{Eu2KkWq6+Ltr!nMnhmU1V%$(Gz91!0;A)9^bYY+`$j`x@Pq&W&pl1} literal 0 HcmV?d00001 diff --git a/trunk/PQP/build/pqp-tar/PQP_v1.3/demos/falling/Makefile b/trunk/PQP/build/pqp-tar/PQP_v1.3/demos/falling/Makefile new file mode 100644 index 00000000..89b45db8 --- /dev/null +++ b/trunk/PQP/build/pqp-tar/PQP_v1.3/demos/falling/Makefile @@ -0,0 +1,33 @@ +# Must set these gl and glut locations to build 'falling' + +GL_INCPATH = -I/usr/local/include/ +GL_LIBPATH = -L/usr/local/lib/ -L/usr/X11R6/lib/ +GL_LIBS = -lglut -lGLU -lGL -lXext -lXmu -lXi -lX11 + +.SUFFIXES: .cpp + +CC = g++ +CFLAGS = -O2 -I. -I../../include $(GL_INCPATH) +LDFLAGS = -L. -L../../lib $(GL_LIBPATH) +LDLIBS = -lPQP -lm $(GL_LIBS) + +SRCS = main.cpp model.cpp + +OBJECTS = main.o model.o + +TARGET = falling + +CLEAN = $(OBJECTS) $(TARGET) + +.cpp.o: + $(CC) ${CFLAGS} -c $< + +$(TARGET): $(OBJECTS) + $(CC) $(CFLAGS) -o $(TARGET) $(OBJECTS) -L. $(LDFLAGS) $(LDLIBS) + +run: $(TARGET) + $(TARGET) + +clean: + /bin/rm -f $(CLEAN) + diff --git a/trunk/PQP/build/pqp-tar/PQP_v1.3/demos/falling/MatVec.h b/trunk/PQP/build/pqp-tar/PQP_v1.3/demos/falling/MatVec.h new file mode 100644 index 00000000..3d90522f --- /dev/null +++ b/trunk/PQP/build/pqp-tar/PQP_v1.3/demos/falling/MatVec.h @@ -0,0 +1,881 @@ +/*************************************************************************\ + + Copyright 1999 The University of North Carolina at Chapel Hill. + All Rights Reserved. + + Permission to use, copy, modify and distribute this software and its + documentation for educational, research and non-profit purposes, without + fee, and without a written agreement is hereby granted, provided that the + above copyright notice and the following three paragraphs appear in all + copies. + + IN NO EVENT SHALL THE UNIVERSITY OF NORTH CAROLINA AT CHAPEL HILL BE + LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR + CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF THE + USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY + OF NORTH CAROLINA HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH + DAMAGES. + + THE UNIVERSITY OF NORTH CAROLINA SPECIFICALLY DISCLAIM ANY + WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE + PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF + NORTH CAROLINA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT, + UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + + The authors may be contacted via: + + US Mail: S. Gottschalk + Department of Computer Science + Sitterson Hall, CB #3175 + University of N. Carolina + Chapel Hill, NC 27599-3175 + + Phone: (919)962-1749 + + EMail: geom@cs.unc.edu + + +\**************************************************************************/ + +#ifndef PQP_MATVEC_H +#define PQP_MATVEC_H + +#include <math.h> +#include <stdio.h> +#include "PQP_Compile.h" + +#ifndef M_PI +const double M_PI = 3.14159265359; +#endif + +#ifdef gnu +#include "zzzz.h" + +#ifdef hppa +#define myfabs(x) \ + ({double __value, __arg = (x); \ + asm("fabs,dbl %1, %0": "=f" (__value): "f" (__arg)); \ + __value; \ +}); +#endif + +#ifdef mips +#define myfabs(x) \ + ({double __value, __arg = (x); \ + asm("abs.d %0, %1": "=f" (__value): "f" (__arg)); \ + __value; \ +}); +#endif + +#else + +#define myfabs(x) ((x < 0) ? -x : x) + +#endif + + +inline +void +Mprintg(const PQP_REAL M[3][3]) +{ + printf("%g %g %g\n%g %g %g\n%g %g %g\n", + M[0][0], M[0][1], M[0][2], + M[1][0], M[1][1], M[1][2], + M[2][0], M[2][1], M[2][2]); +} + + +inline +void +Mfprint(FILE *f, const PQP_REAL M[3][3]) +{ + fprintf(f, "%g %g %g\n%g %g %g\n%g %g %g\n", + M[0][0], M[0][1], M[0][2], + M[1][0], M[1][1], M[1][2], + M[2][0], M[2][1], M[2][2]); +} + +inline +void +Mprint(const PQP_REAL M[3][3]) +{ + printf("%g %g %g\n%g %g %g\n%g %g %g\n", + M[0][0], M[0][1], M[0][2], + M[1][0], M[1][1], M[1][2], + M[2][0], M[2][1], M[2][2]); +} + +inline +void +Vprintg(const PQP_REAL V[3]) +{ + printf("%g %g %g\n", V[0], V[1], V[2]); +} + +inline +void +Vfprint(FILE *f, const PQP_REAL V[3]) +{ + fprintf(f, "%g %g %g\n", V[0], V[1], V[2]); +} + +inline +void +Vprint(const PQP_REAL V[3]) +{ + printf("%g %g %g\n", V[0], V[1], V[2]); +} + +inline +void +Midentity(PQP_REAL M[3][3]) +{ + M[0][0] = M[1][1] = M[2][2] = 1.0; + M[0][1] = M[1][2] = M[2][0] = 0.0; + M[0][2] = M[1][0] = M[2][1] = 0.0; +} + +inline +void +Videntity(PQP_REAL T[3]) +{ + T[0] = T[1] = T[2] = 0.0; +} + +inline +void +McM(PQP_REAL Mr[3][3], const PQP_REAL M[3][3]) +{ + Mr[0][0] = M[0][0]; Mr[0][1] = M[0][1]; Mr[0][2] = M[0][2]; + Mr[1][0] = M[1][0]; Mr[1][1] = M[1][1]; Mr[1][2] = M[1][2]; + Mr[2][0] = M[2][0]; Mr[2][1] = M[2][1]; Mr[2][2] = M[2][2]; +} + +inline +void +MTcM(PQP_REAL Mr[3][3], const PQP_REAL M[3][3]) +{ + Mr[0][0] = M[0][0]; Mr[1][0] = M[0][1]; Mr[2][0] = M[0][2]; + Mr[0][1] = M[1][0]; Mr[1][1] = M[1][1]; Mr[2][1] = M[1][2]; + Mr[0][2] = M[2][0]; Mr[1][2] = M[2][1]; Mr[2][2] = M[2][2]; +} + +inline +void +VcV(PQP_REAL Vr[3], const PQP_REAL V[3]) +{ + Vr[0] = V[0]; Vr[1] = V[1]; Vr[2] = V[2]; +} + +inline +void +McolcV(PQP_REAL Vr[3], const PQP_REAL M[3][3], int c) +{ + Vr[0] = M[0][c]; + Vr[1] = M[1][c]; + Vr[2] = M[2][c]; +} + +inline +void +McolcMcol(PQP_REAL Mr[3][3], int cr, const PQP_REAL M[3][3], int c) +{ + Mr[0][cr] = M[0][c]; + Mr[1][cr] = M[1][c]; + Mr[2][cr] = M[2][c]; +} + +inline +void +MxMpV(PQP_REAL Mr[3][3], const PQP_REAL M1[3][3], const PQP_REAL M2[3][3], const PQP_REAL T[3]) +{ + Mr[0][0] = (M1[0][0] * M2[0][0] + + M1[0][1] * M2[1][0] + + M1[0][2] * M2[2][0] + + T[0]); + Mr[1][0] = (M1[1][0] * M2[0][0] + + M1[1][1] * M2[1][0] + + M1[1][2] * M2[2][0] + + T[1]); + Mr[2][0] = (M1[2][0] * M2[0][0] + + M1[2][1] * M2[1][0] + + M1[2][2] * M2[2][0] + + T[2]); + Mr[0][1] = (M1[0][0] * M2[0][1] + + M1[0][1] * M2[1][1] + + M1[0][2] * M2[2][1] + + T[0]); + Mr[1][1] = (M1[1][0] * M2[0][1] + + M1[1][1] * M2[1][1] + + M1[1][2] * M2[2][1] + + T[1]); + Mr[2][1] = (M1[2][0] * M2[0][1] + + M1[2][1] * M2[1][1] + + M1[2][2] * M2[2][1] + + T[2]); + Mr[0][2] = (M1[0][0] * M2[0][2] + + M1[0][1] * M2[1][2] + + M1[0][2] * M2[2][2] + + T[0]); + Mr[1][2] = (M1[1][0] * M2[0][2] + + M1[1][1] * M2[1][2] + + M1[1][2] * M2[2][2] + + T[1]); + Mr[2][2] = (M1[2][0] * M2[0][2] + + M1[2][1] * M2[1][2] + + M1[2][2] * M2[2][2] + + T[2]); +} + +inline +void +MxM(PQP_REAL Mr[3][3], const PQP_REAL M1[3][3], const PQP_REAL M2[3][3]) +{ + Mr[0][0] = (M1[0][0] * M2[0][0] + + M1[0][1] * M2[1][0] + + M1[0][2] * M2[2][0]); + Mr[1][0] = (M1[1][0] * M2[0][0] + + M1[1][1] * M2[1][0] + + M1[1][2] * M2[2][0]); + Mr[2][0] = (M1[2][0] * M2[0][0] + + M1[2][1] * M2[1][0] + + M1[2][2] * M2[2][0]); + Mr[0][1] = (M1[0][0] * M2[0][1] + + M1[0][1] * M2[1][1] + + M1[0][2] * M2[2][1]); + Mr[1][1] = (M1[1][0] * M2[0][1] + + M1[1][1] * M2[1][1] + + M1[1][2] * M2[2][1]); + Mr[2][1] = (M1[2][0] * M2[0][1] + + M1[2][1] * M2[1][1] + + M1[2][2] * M2[2][1]); + Mr[0][2] = (M1[0][0] * M2[0][2] + + M1[0][1] * M2[1][2] + + M1[0][2] * M2[2][2]); + Mr[1][2] = (M1[1][0] * M2[0][2] + + M1[1][1] * M2[1][2] + + M1[1][2] * M2[2][2]); + Mr[2][2] = (M1[2][0] * M2[0][2] + + M1[2][1] * M2[1][2] + + M1[2][2] * M2[2][2]); +} + + +inline +void +MxMT(PQP_REAL Mr[3][3], const PQP_REAL M1[3][3], const PQP_REAL M2[3][3]) +{ + Mr[0][0] = (M1[0][0] * M2[0][0] + + M1[0][1] * M2[0][1] + + M1[0][2] * M2[0][2]); + Mr[1][0] = (M1[1][0] * M2[0][0] + + M1[1][1] * M2[0][1] + + M1[1][2] * M2[0][2]); + Mr[2][0] = (M1[2][0] * M2[0][0] + + M1[2][1] * M2[0][1] + + M1[2][2] * M2[0][2]); + Mr[0][1] = (M1[0][0] * M2[1][0] + + M1[0][1] * M2[1][1] + + M1[0][2] * M2[1][2]); + Mr[1][1] = (M1[1][0] * M2[1][0] + + M1[1][1] * M2[1][1] + + M1[1][2] * M2[1][2]); + Mr[2][1] = (M1[2][0] * M2[1][0] + + M1[2][1] * M2[1][1] + + M1[2][2] * M2[1][2]); + Mr[0][2] = (M1[0][0] * M2[2][0] + + M1[0][1] * M2[2][1] + + M1[0][2] * M2[2][2]); + Mr[1][2] = (M1[1][0] * M2[2][0] + + M1[1][1] * M2[2][1] + + M1[1][2] * M2[2][2]); + Mr[2][2] = (M1[2][0] * M2[2][0] + + M1[2][1] * M2[2][1] + + M1[2][2] * M2[2][2]); +} + +inline +void +MTxM(PQP_REAL Mr[3][3], const PQP_REAL M1[3][3], const PQP_REAL M2[3][3]) +{ + Mr[0][0] = (M1[0][0] * M2[0][0] + + M1[1][0] * M2[1][0] + + M1[2][0] * M2[2][0]); + Mr[1][0] = (M1[0][1] * M2[0][0] + + M1[1][1] * M2[1][0] + + M1[2][1] * M2[2][0]); + Mr[2][0] = (M1[0][2] * M2[0][0] + + M1[1][2] * M2[1][0] + + M1[2][2] * M2[2][0]); + Mr[0][1] = (M1[0][0] * M2[0][1] + + M1[1][0] * M2[1][1] + + M1[2][0] * M2[2][1]); + Mr[1][1] = (M1[0][1] * M2[0][1] + + M1[1][1] * M2[1][1] + + M1[2][1] * M2[2][1]); + Mr[2][1] = (M1[0][2] * M2[0][1] + + M1[1][2] * M2[1][1] + + M1[2][2] * M2[2][1]); + Mr[0][2] = (M1[0][0] * M2[0][2] + + M1[1][0] * M2[1][2] + + M1[2][0] * M2[2][2]); + Mr[1][2] = (M1[0][1] * M2[0][2] + + M1[1][1] * M2[1][2] + + M1[2][1] * M2[2][2]); + Mr[2][2] = (M1[0][2] * M2[0][2] + + M1[1][2] * M2[1][2] + + M1[2][2] * M2[2][2]); +} + +inline +void +MxV(PQP_REAL Vr[3], const PQP_REAL M1[3][3], const PQP_REAL V1[3]) +{ + Vr[0] = (M1[0][0] * V1[0] + + M1[0][1] * V1[1] + + M1[0][2] * V1[2]); + Vr[1] = (M1[1][0] * V1[0] + + M1[1][1] * V1[1] + + M1[1][2] * V1[2]); + Vr[2] = (M1[2][0] * V1[0] + + M1[2][1] * V1[1] + + M1[2][2] * V1[2]); +} + + +inline +void +MxVpV(PQP_REAL Vr[3], const PQP_REAL M1[3][3], const PQP_REAL V1[3], const PQP_REAL V2[3]) +{ + Vr[0] = (M1[0][0] * V1[0] + + M1[0][1] * V1[1] + + M1[0][2] * V1[2] + + V2[0]); + Vr[1] = (M1[1][0] * V1[0] + + M1[1][1] * V1[1] + + M1[1][2] * V1[2] + + V2[1]); + Vr[2] = (M1[2][0] * V1[0] + + M1[2][1] * V1[1] + + M1[2][2] * V1[2] + + V2[2]); +} + + +inline +void +sMxVpV(PQP_REAL Vr[3], PQP_REAL s1, const PQP_REAL M1[3][3], const PQP_REAL V1[3], const PQP_REAL V2[3]) +{ + Vr[0] = s1 * (M1[0][0] * V1[0] + + M1[0][1] * V1[1] + + M1[0][2] * V1[2]) + + V2[0]; + Vr[1] = s1 * (M1[1][0] * V1[0] + + M1[1][1] * V1[1] + + M1[1][2] * V1[2]) + + V2[1]; + Vr[2] = s1 * (M1[2][0] * V1[0] + + M1[2][1] * V1[1] + + M1[2][2] * V1[2]) + + V2[2]; +} + +inline +void +MTxV(PQP_REAL Vr[3], const PQP_REAL M1[3][3], const PQP_REAL V1[3]) +{ + Vr[0] = (M1[0][0] * V1[0] + + M1[1][0] * V1[1] + + M1[2][0] * V1[2]); + Vr[1] = (M1[0][1] * V1[0] + + M1[1][1] * V1[1] + + M1[2][1] * V1[2]); + Vr[2] = (M1[0][2] * V1[0] + + M1[1][2] * V1[1] + + M1[2][2] * V1[2]); +} + +inline +void +sMTxV(PQP_REAL Vr[3], PQP_REAL s1, const PQP_REAL M1[3][3], const PQP_REAL V1[3]) +{ + Vr[0] = s1*(M1[0][0] * V1[0] + + M1[1][0] * V1[1] + + M1[2][0] * V1[2]); + Vr[1] = s1*(M1[0][1] * V1[0] + + M1[1][1] * V1[1] + + M1[2][1] * V1[2]); + Vr[2] = s1*(M1[0][2] * V1[0] + + M1[1][2] * V1[1] + + M1[2][2] * V1[2]); +} + +inline +void +sMxV(PQP_REAL Vr[3], PQP_REAL s1, const PQP_REAL M1[3][3], const PQP_REAL V1[3]) +{ + Vr[0] = s1*(M1[0][0] * V1[0] + + M1[0][1] * V1[1] + + M1[0][2] * V1[2]); + Vr[1] = s1*(M1[1][0] * V1[0] + + M1[1][1] * V1[1] + + M1[1][2] * V1[2]); + Vr[2] = s1*(M1[2][0] * V1[0] + + M1[2][1] * V1[1] + + M1[2][2] * V1[2]); +} + + +inline +void +VmV(PQP_REAL Vr[3], const PQP_REAL V1[3], const PQP_REAL V2[3]) +{ + Vr[0] = V1[0] - V2[0]; + Vr[1] = V1[1] - V2[1]; + Vr[2] = V1[2] - V2[2]; +} + +inline +void +VpV(PQP_REAL Vr[3], const PQP_REAL V1[3], const PQP_REAL V2[3]) +{ + Vr[0] = V1[0] + V2[0]; + Vr[1] = V1[1] + V2[1]; + Vr[2] = V1[2] + V2[2]; +} + +inline +void +VpVxS(PQP_REAL Vr[3], const PQP_REAL V1[3], const PQP_REAL V2[3], PQP_REAL s) +{ + Vr[0] = V1[0] + V2[0] * s; + Vr[1] = V1[1] + V2[1] * s; + Vr[2] = V1[2] + V2[2] * s; +} + +inline +void +MskewV(PQP_REAL M[3][3], const PQP_REAL v[3]) +{ + M[0][0] = M[1][1] = M[2][2] = 0.0; + M[1][0] = v[2]; + M[0][1] = -v[2]; + M[0][2] = v[1]; + M[2][0] = -v[1]; + M[1][2] = -v[0]; + M[2][1] = v[0]; +} + + +inline +void +VcrossV(PQP_REAL Vr[3], const PQP_REAL V1[3], const PQP_REAL V2[3]) +{ + Vr[0] = V1[1]*V2[2] - V1[2]*V2[1]; + Vr[1] = V1[2]*V2[0] - V1[0]*V2[2]; + Vr[2] = V1[0]*V2[1] - V1[1]*V2[0]; +} + + +inline +PQP_REAL +Vlength(PQP_REAL V[3]) +{ + return sqrt(V[0]*V[0] + V[1]*V[1] + V[2]*V[2]); +} + +inline +void +Vnormalize(PQP_REAL V[3]) +{ + PQP_REAL d = (PQP_REAL)1.0 / sqrt(V[0]*V[0] + V[1]*V[1] + V[2]*V[2]); + V[0] *= d; + V[1] *= d; + V[2] *= d; +} + + +inline +PQP_REAL +VdotV(const PQP_REAL V1[3], const PQP_REAL V2[3]) +{ + return (V1[0]*V2[0] + V1[1]*V2[1] + V1[2]*V2[2]); +} + + +inline +PQP_REAL +VdistV2(const PQP_REAL V1[3], const PQP_REAL V2[3]) +{ + return ( (V1[0]-V2[0]) * (V1[0]-V2[0]) + + (V1[1]-V2[1]) * (V1[1]-V2[1]) + + (V1[2]-V2[2]) * (V1[2]-V2[2])); +} + +inline +void +VxS(PQP_REAL Vr[3], const PQP_REAL V[3], PQP_REAL s) +{ + Vr[0] = V[0] * s; + Vr[1] = V[1] * s; + Vr[2] = V[2] * s; +} + +inline +void +MRotZ(PQP_REAL Mr[3][3], PQP_REAL t) +{ + Mr[0][0] = cos(t); + Mr[1][0] = sin(t); + Mr[0][1] = -Mr[1][0]; + Mr[1][1] = Mr[0][0]; + Mr[2][0] = Mr[2][1] = 0.0; + Mr[0][2] = Mr[1][2] = 0.0; + Mr[2][2] = 1.0; +} + + +inline +void +MRotX(PQP_REAL Mr[3][3], PQP_REAL t) +{ + Mr[1][1] = cos(t); + Mr[2][1] = sin(t); + Mr[1][2] = -Mr[2][1]; + Mr[2][2] = Mr[1][1]; + Mr[0][1] = Mr[0][2] = 0.0; + Mr[1][0] = Mr[2][0] = 0.0; + Mr[0][0] = 1.0; +} + +inline +void +MRotY(PQP_REAL Mr[3][3], PQP_REAL t) +{ + Mr[2][2] = cos(t); + Mr[0][2] = sin(t); + Mr[2][0] = -Mr[0][2]; + Mr[0][0] = Mr[2][2]; + Mr[1][2] = Mr[1][0] = 0.0; + Mr[2][1] = Mr[0][1] = 0.0; + Mr[1][1] = 1.0; +} + +inline +void +MVtoOGL(double oglm[16], const PQP_REAL R[3][3], const PQP_REAL T[3]) +{ + oglm[0] = (double)R[0][0]; + oglm[1] = (double)R[1][0]; + oglm[2] = (double)R[2][0]; + oglm[3] = 0.0; + oglm[4] = (double)R[0][1]; + oglm[5] = (double)R[1][1]; + oglm[6] = (double)R[2][1]; + oglm[7] = 0.0; + oglm[8] = (double)R[0][2]; + oglm[9] = (double)R[1][2]; + oglm[10] = (double)R[2][2]; + oglm[11] = 0.0; + oglm[12] = (double)T[0]; + oglm[13] = (double)T[1]; + oglm[14] = (double)T[2]; + oglm[15] = 1.0; +} + +inline +void +OGLtoMV(PQP_REAL R[3][3], PQP_REAL T[3], const double oglm[16]) +{ + R[0][0] = (PQP_REAL)oglm[0]; + R[1][0] = (PQP_REAL)oglm[1]; + R[2][0] = (PQP_REAL)oglm[2]; + + R[0][1] = (PQP_REAL)oglm[4]; + R[1][1] = (PQP_REAL)oglm[5]; + R[2][1] = (PQP_REAL)oglm[6]; + + R[0][2] = (PQP_REAL)oglm[8]; + R[1][2] = (PQP_REAL)oglm[9]; + R[2][2] = (PQP_REAL)oglm[10]; + + T[0] = (PQP_REAL)oglm[12]; + T[1] = (PQP_REAL)oglm[13]; + T[2] = (PQP_REAL)oglm[14]; +} + +// taken from quatlib, written by Richard Holloway +const int QX = 0; +const int QY = 1; +const int QZ = 2; +const int QW = 3; + +inline +void +MRotQ(PQP_REAL destMatrix[3][3], PQP_REAL srcQuat[4]) +{ + PQP_REAL s; + PQP_REAL xs, ys, zs, + wx, wy, wz, + xx, xy, xz, + yy, yz, zz; + + /* + * For unit srcQuat, just set s = 2.0; or set xs = srcQuat[QX] + + * srcQuat[QX], etc. + */ + + s = (PQP_REAL)2.0 / (srcQuat[QX]*srcQuat[QX] + srcQuat[QY]*srcQuat[QY] + + srcQuat[QZ]*srcQuat[QZ] + srcQuat[QW]*srcQuat[QW]); + + xs = srcQuat[QX] * s; ys = srcQuat[QY] * s; zs = srcQuat[QZ] * s; + wx = srcQuat[QW] * xs; wy = srcQuat[QW] * ys; wz = srcQuat[QW] * zs; + xx = srcQuat[QX] * xs; xy = srcQuat[QX] * ys; xz = srcQuat[QX] * zs; + yy = srcQuat[QY] * ys; yz = srcQuat[QY] * zs; zz = srcQuat[QZ] * zs; + + destMatrix[QX][QX] = (PQP_REAL)1.0 - (yy + zz); + destMatrix[QX][QY] = xy + wz; + destMatrix[QX][QZ] = xz - wy; + + destMatrix[QY][QX] = xy - wz; + destMatrix[QY][QY] = (PQP_REAL)1.0 - (xx + zz); + destMatrix[QY][QZ] = yz + wx; + + destMatrix[QZ][QX] = xz + wy; + destMatrix[QZ][QY] = yz - wx; + destMatrix[QZ][QZ] = (PQP_REAL)1.0 - (xx + yy); +} + +inline +void +Mqinverse(PQP_REAL Mr[3][3], PQP_REAL m[3][3]) +{ + int i,j; + + for(i=0; i<3; i++) + for(j=0; j<3; j++) + { + int i1 = (i+1)%3; + int i2 = (i+2)%3; + int j1 = (j+1)%3; + int j2 = (j+2)%3; + Mr[i][j] = (m[j1][i1]*m[j2][i2] - m[j1][i2]*m[j2][i1]); + } +} + +// Meigen from Numerical Recipes in C + +#if 0 + +#define rfabs(x) ((x < 0) ? -x : x) + +#define ROT(a,i,j,k,l) g=a[i][j]; h=a[k][l]; a[i][j]=g-s*(h+g*tau); a[k][l]=h+s*(g-h*tau); + +int +inline +Meigen(PQP_REAL vout[3][3], PQP_REAL dout[3], PQP_REAL a[3][3]) +{ + int i; + PQP_REAL tresh,theta,tau,t,sm,s,h,g,c; + int nrot; + PQP_REAL b[3]; + PQP_REAL z[3]; + PQP_REAL v[3][3]; + PQP_REAL d[3]; + + v[0][0] = v[1][1] = v[2][2] = 1.0; + v[0][1] = v[1][2] = v[2][0] = 0.0; + v[0][2] = v[1][0] = v[2][1] = 0.0; + + b[0] = a[0][0]; d[0] = a[0][0]; z[0] = 0.0; + b[1] = a[1][1]; d[1] = a[1][1]; z[1] = 0.0; + b[2] = a[2][2]; d[2] = a[2][2]; z[2] = 0.0; + + nrot = 0; + + + for(i=0; i<50; i++) + { + + printf("2\n"); + + sm=0.0; sm+=fabs(a[0][1]); sm+=fabs(a[0][2]); sm+=fabs(a[1][2]); + if (sm == 0.0) { McM(vout,v); VcV(dout,d); return i; } + + if (i < 3) tresh=0.2*sm/(3*3); else tresh=0.0; + + { + g = 100.0*rfabs(a[0][1]); + if (i>3 && rfabs(d[0])+g==rfabs(d[0]) && rfabs(d[1])+g==rfabs(d[1])) + a[0][1]=0.0; + else if (rfabs(a[0][1])>tresh) + { + h = d[1]-d[0]; + if (rfabs(h)+g == rfabs(h)) t=(a[0][1])/h; + else + { + theta=0.5*h/(a[0][1]); + t=1.0/(rfabs(theta)+sqrt(1.0+theta*theta)); + if (theta < 0.0) t = -t; + } + c=1.0/sqrt(1+t*t); s=t*c; tau=s/(1.0+c); h=t*a[0][1]; + z[0] -= h; z[1] += h; d[0] -= h; d[1] += h; + a[0][1]=0.0; + ROT(a,0,2,1,2); ROT(v,0,0,0,1); ROT(v,1,0,1,1); ROT(v,2,0,2,1); + nrot++; + } + } + + { + g = 100.0*rfabs(a[0][2]); + if (i>3 && rfabs(d[0])+g==rfabs(d[0]) && rfabs(d[2])+g==rfabs(d[2])) + a[0][2]=0.0; + else if (rfabs(a[0][2])>tresh) + { + h = d[2]-d[0]; + if (rfabs(h)+g == rfabs(h)) t=(a[0][2])/h; + else + { + theta=0.5*h/(a[0][2]); + t=1.0/(rfabs(theta)+sqrt(1.0+theta*theta)); + if (theta < 0.0) t = -t; + } + c=1.0/sqrt(1+t*t); s=t*c; tau=s/(1.0+c); h=t*a[0][2]; + z[0] -= h; z[2] += h; d[0] -= h; d[2] += h; + a[0][2]=0.0; + ROT(a,0,1,1,2); ROT(v,0,0,0,2); ROT(v,1,0,1,2); ROT(v,2,0,2,2); + nrot++; + } + } + + + { + g = 100.0*rfabs(a[1][2]); + if (i>3 && rfabs(d[1])+g==rfabs(d[1]) && rfabs(d[2])+g==rfabs(d[2])) + a[1][2]=0.0; + else if (rfabs(a[1][2])>tresh) + { + h = d[2]-d[1]; + if (rfabs(h)+g == rfabs(h)) t=(a[1][2])/h; + else + { + theta=0.5*h/(a[1][2]); + t=1.0/(rfabs(theta)+sqrt(1.0+theta*theta)); + if (theta < 0.0) t = -t; + } + c=1.0/sqrt(1+t*t); s=t*c; tau=s/(1.0+c); h=t*a[1][2]; + z[1] -= h; z[2] += h; d[1] -= h; d[2] += h; + a[1][2]=0.0; + ROT(a,0,1,0,2); ROT(v,0,1,0,2); ROT(v,1,1,1,2); ROT(v,2,1,2,2); + nrot++; + } + } + + b[0] += z[0]; d[0] = b[0]; z[0] = 0.0; + b[1] += z[1]; d[1] = b[1]; z[1] = 0.0; + b[2] += z[2]; d[2] = b[2]; z[2] = 0.0; + + } + + fprintf(stderr, "eigen: too many iterations in Jacobi transform (%d).\n", i); + + return i; +} + +#else + + + +#define ROTATE(a,i,j,k,l) g=a[i][j]; h=a[k][l]; a[i][j]=g-s*(h+g*tau); a[k][l]=h+s*(g-h*tau); + +void +inline +Meigen(PQP_REAL vout[3][3], PQP_REAL dout[3], PQP_REAL a[3][3]) +{ + int n = 3; + int j,iq,ip,i; + PQP_REAL tresh,theta,tau,t,sm,s,h,g,c; + int nrot; + PQP_REAL b[3]; + PQP_REAL z[3]; + PQP_REAL v[3][3]; + PQP_REAL d[3]; + + Midentity(v); + for(ip=0; ip<n; ip++) + { + b[ip] = a[ip][ip]; + d[ip] = a[ip][ip]; + z[ip] = 0.0; + } + + nrot = 0; + + for(i=0; i<50; i++) + { + + sm=0.0; + for(ip=0;ip<n;ip++) for(iq=ip+1;iq<n;iq++) sm+=fabs(a[ip][iq]); + if (sm == 0.0) + { + McM(vout, v); + VcV(dout, d); + return; + } + + + if (i < 3) tresh=(PQP_REAL)0.2*sm/(n*n); + else tresh=0.0; + + for(ip=0; ip<n; ip++) for(iq=ip+1; iq<n; iq++) + { + g = (PQP_REAL)100.0*fabs(a[ip][iq]); + if (i>3 && + fabs(d[ip])+g==fabs(d[ip]) && + fabs(d[iq])+g==fabs(d[iq])) + a[ip][iq]=0.0; + else if (fabs(a[ip][iq])>tresh) + { + h = d[iq]-d[ip]; + if (fabs(h)+g == fabs(h)) t=(a[ip][iq])/h; + else + { + theta=(PQP_REAL)0.5*h/(a[ip][iq]); + t=(PQP_REAL)(1.0/(fabs(theta)+sqrt(1.0+theta*theta))); + if (theta < 0.0) t = -t; + } + c=(PQP_REAL)1.0/sqrt(1+t*t); + s=t*c; + tau=s/((PQP_REAL)1.0+c); + h=t*a[ip][iq]; + z[ip] -= h; + z[iq] += h; + d[ip] -= h; + d[iq] += h; + a[ip][iq]=0.0; + for(j=0;j<ip;j++) { ROTATE(a,j,ip,j,iq); } + for(j=ip+1;j<iq;j++) { ROTATE(a,ip,j,j,iq); } + for(j=iq+1;j<n;j++) { ROTATE(a,ip,j,iq,j); } + for(j=0;j<n;j++) { ROTATE(v,j,ip,j,iq); } + nrot++; + } + } + for(ip=0;ip<n;ip++) + { + b[ip] += z[ip]; + d[ip] = b[ip]; + z[ip] = 0.0; + } + } + + fprintf(stderr, "eigen: too many iterations in Jacobi transform.\n"); + + return; +} + + +#endif + +#endif +/* MATVEC_H */ diff --git a/trunk/PQP/build/pqp-tar/PQP_v1.3/demos/falling/falling.dsp b/trunk/PQP/build/pqp-tar/PQP_v1.3/demos/falling/falling.dsp new file mode 100644 index 00000000..f7108cdd --- /dev/null +++ b/trunk/PQP/build/pqp-tar/PQP_v1.3/demos/falling/falling.dsp @@ -0,0 +1,95 @@ +# Microsoft Developer Studio Project File - Name="falling" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 5.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Console Application" 0x0103 + +CFG=falling - Win32 Debug +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "falling.mak". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "falling.mak" CFG="falling - Win32 Debug" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "falling - Win32 Release" (based on "Win32 (x86) Console Application") +!MESSAGE "falling - Win32 Debug" (based on "Win32 (x86) Console Application") +!MESSAGE + +# Begin Project +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=xicl5.exe +RSC=rc.exe + +!IF "$(CFG)" == "falling - Win32 Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "Release" +# PROP BASE Intermediate_Dir "Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "./" +# PROP Intermediate_Dir "Release" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c +# ADD CPP /nologo /W3 /GX /O2 /I "..\..\include" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=xilink5.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 +# ADD LINK32 glut32.lib opengl32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib pqp.lib /nologo /subsystem:console /machine:I386 /libpath:"..\..\lib" + +!ELSEIF "$(CFG)" == "falling - Win32 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "Debug" +# PROP BASE Intermediate_Dir "Debug" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "./" +# PROP Intermediate_Dir "Debug" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c +# ADD CPP /nologo /W3 /Gm /GX /Zi /Od /I "..\..\include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c +# ADD BASE RSC /l 0x409 /d "_DEBUG" +# ADD RSC /l 0x409 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=xilink5.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept +# ADD LINK32 glut32.lib opengl32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib pqp.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\..\lib" + +!ENDIF + +# Begin Target + +# Name "falling - Win32 Release" +# Name "falling - Win32 Debug" +# Begin Source File + +SOURCE=.\main.cpp +# End Source File +# Begin Source File + +SOURCE=.\model.cpp +# End Source File +# Begin Source File + +SOURCE=.\model.h +# End Source File +# End Target +# End Project diff --git a/trunk/PQP/build/pqp-tar/PQP_v1.3/demos/falling/falling.plg b/trunk/PQP/build/pqp-tar/PQP_v1.3/demos/falling/falling.plg new file mode 100644 index 00000000..b133bcb0 --- /dev/null +++ b/trunk/PQP/build/pqp-tar/PQP_v1.3/demos/falling/falling.plg @@ -0,0 +1,21 @@ +--------------------Configuration: falling - Win32 Release-------------------- +Begining build with project "C:\WIN95\DESKTOP\PQP_v1.2.1\demos\falling\falling.dsp", at root. +Active configuration is Win32 (x86) Console Application (based on Win32 (x86) Console Application) + +Project's tools are: + "32-bit C/C++ Compiler for 80x86" with flags "/nologo /ML /W3 /GX /O2 /I "..\..\include" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /Fp"Release/falling.pch" /YX /Fo"Release/" /Fd"Release/" /FD /c " + "Win32 Resource Compiler" with flags "/l 0x409 /d "NDEBUG" " + "Browser Database Maker" with flags "/nologo /o"./falling.bsc" " + "COFF Linker for 80x86" with flags "glut32.lib opengl32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib pqp.lib /nologo /subsystem:console /incremental:no /pdb:"./falling.pdb" /machine:I386 /out:"./falling.exe" /libpath:"..\..\lib" " + "Custom Build" with flags "" + "<Component 0xa>" with flags "" + +Creating temp file "C:\WIN95\TEMP\RSP4360.TMP" with contents <glut32.lib opengl32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib pqp.lib /nologo /subsystem:console /incremental:no /pdb:"./falling.pdb" /machine:I386 /out:"./falling.exe" /libpath:"..\..\lib" +.\Release\main.obj +.\Release\model.obj> +Creating command line "link.exe @C:\WIN95\TEMP\RSP4360.TMP" +Linking... + + + +falling.exe - 0 error(s), 0 warning(s) diff --git a/trunk/PQP/build/pqp-tar/PQP_v1.3/demos/falling/main.cpp b/trunk/PQP/build/pqp-tar/PQP_v1.3/demos/falling/main.cpp new file mode 100644 index 00000000..ee0ea92e --- /dev/null +++ b/trunk/PQP/build/pqp-tar/PQP_v1.3/demos/falling/main.cpp @@ -0,0 +1,537 @@ +/*************************************************************************\ + + Copyright 1999 The University of North Carolina at Chapel Hill. + All Rights Reserved. + + Permission to use, copy, modify and distribute this software and its + documentation for educational, research and non-profit purposes, without + fee, and without a written agreement is hereby granted, provided that the + above copyright notice and the following three paragraphs appear in all + copies. + + IN NO EVENT SHALL THE UNIVERSITY OF NORTH CAROLINA AT CHAPEL HILL BE + LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR + CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF THE + USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY + OF NORTH CAROLINA HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH + DAMAGES. + + THE UNIVERSITY OF NORTH CAROLINA SPECIFICALLY DISCLAIM ANY + WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE + PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF + NORTH CAROLINA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT, + UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + + The authors may be contacted via: + + US Mail: E. Larsen + Department of Computer Science + Sitterson Hall, CB #3175 + University of N. Carolina + Chapel Hill, NC 27599-3175 + + Phone: (919)962-1749 + + EMail: geom@cs.unc.edu + + +\**************************************************************************/ + +#include <stdio.h> +#include <stdlib.h> +#include <math.h> +#include <GL/glut.h> +#include "model.h" +#include "PQP.h" +#include "MatVec.h" + +PQP_Model *torus1_tested,*torus2_tested; +Model *torus1_drawn, *torus2_drawn; + +int mode; +double beginx, beginy; +double dis = 10.0, azim = 0.0, elev = 0.0; +double ddis = 0.0, dazim = 0.0, delev = 0.0; + +int animating = 1; +int step = 0; +int number_of_steps; +int query_type = 0; +double tolerance = .05; + +PQP_REAL (*R1)[3][3]; +PQP_REAL (*T1)[3]; +PQP_REAL (*R2)[3][3]; +PQP_REAL (*T2)[3]; + +void +init_viewer_window() +{ + GLfloat Ambient[] = { 0.2f, 0.2f, 0.2f, 1.0f }; + GLfloat Diffuse[] = { 0.8f, 0.8f, 0.8f, 1.0f }; + GLfloat Specular[] = { 0.1f, 0.1f, 0.1f, 1.0f }; + GLfloat SpecularExp[] = { 50 }; + GLfloat Emission[] = { 0.1f, 0.1f, 0.1f, 1.0f }; + + glMaterialfv(GL_FRONT, GL_AMBIENT, Ambient); + glMaterialfv(GL_FRONT, GL_DIFFUSE, Diffuse); + glMaterialfv(GL_FRONT, GL_SPECULAR, Specular); + glMaterialfv(GL_FRONT, GL_SHININESS, SpecularExp); + glMaterialfv(GL_FRONT, GL_EMISSION, Emission); + + glMaterialfv(GL_BACK, GL_AMBIENT, Ambient); + glMaterialfv(GL_BACK, GL_DIFFUSE, Diffuse); + glMaterialfv(GL_BACK, GL_SPECULAR, Specular); + glMaterialfv(GL_BACK, GL_SHININESS, SpecularExp); + glMaterialfv(GL_BACK, GL_EMISSION, Emission); + + glColorMaterial(GL_FRONT_AND_BACK, GL_DIFFUSE); + + glEnable(GL_COLOR_MATERIAL); + + GLfloat light_position[] = { 1.0, 1.0, 1.0, 0.0 }; + glLightfv(GL_LIGHT0, GL_POSITION, light_position); + glEnable(GL_LIGHT0); + glEnable(GL_LIGHTING); + glLightModeli(GL_LIGHT_MODEL_TWO_SIDE, GL_TRUE); + + glDepthFunc(GL_LEQUAL); + glEnable(GL_DEPTH_TEST); + glEnable(GL_CULL_FACE); + glCullFace(GL_BACK); + + glShadeModel(GL_FLAT); + glClearColor(0.0, 0.0, 0.0, 0.0); + + glMatrixMode(GL_PROJECTION); + glLoadIdentity(); + glFrustum(-0.004,0.004,-0.004,0.004,.01,100.0); + + glMatrixMode(GL_MODELVIEW); +} + +void +cb_mouse(int _b, int _s, int _x, int _y) +{ + if (_s == GLUT_UP) + { + dis += ddis; + if (dis < .1) dis = .1; + azim += dazim; + elev += delev; + ddis = 0.0; + dazim = 0.0; + delev = 0.0; + return; + } + + if (_b == GLUT_RIGHT_BUTTON) + { + mode = 0; + beginy = _y; + return; + } + else + { + mode = 1; + beginx = _x; + beginy = _y; + } +} + +void +cb_motion(int _x, int _y) +{ + if (mode == 0) + { + ddis = dis * (double)(_y - beginy)/200.0; + } + else + { + dazim = (_x - beginx)/5; + delev = (_y - beginy)/5; + } + + glutPostRedisplay(); +} + +void cb_keyboard(unsigned char key, int x, int y) +{ + switch(key) + { + case 'q': + delete torus1_drawn; + delete torus2_drawn; + delete torus1_tested; + delete torus2_tested; + delete [] R1; + delete [] T1; + delete [] R2; + delete [] T2; + exit(0); + case '0': query_type = 0; break; + case '1': query_type = 1; break; + case '2': query_type = 2; break; + case '3': query_type = 3; break; + case '-': + tolerance -= .01; + if (tolerance < 0.0) tolerance = 0.0; + break; + case '=': + tolerance += .01; + break; + default: animating = 1 - animating; + } + + glutPostRedisplay(); +} + +void cb_idle() +{ + if (animating) + { + step = (step + 1) % number_of_steps; + glutPostRedisplay(); + } +} + +void +BeginDraw() +{ + glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); + + glLoadIdentity(); + glTranslatef(0.0, 0.0, -(dis+ddis)); + glRotated(elev+delev, 1.0, 0.0, 0.0); + glRotated(azim+dazim, 0.0, 1.0, 0.0); + glRotated(90.0,-1.0,0.0,0.0); +} + +void +EndDraw() +{ + glFlush(); + glutSwapBuffers(); +} + +inline void glVertex3v(float V[3]) { glVertex3fv(V); } +inline void glVertex3v(double V[3]) { glVertex3dv(V); } + +void +cb_display() +{ + BeginDraw(); + + int i; + PQP_CollideResult cres; + PQP_DistanceResult dres; + PQP_ToleranceResult tres; + double oglm[16]; + + switch(query_type) + { + case 0: + + // draw model 1 + + glColor3f(1,1,1); // setup color and transform + MVtoOGL(oglm,R1[step],T1[step]); + glPushMatrix(); + glMultMatrixd(oglm); + torus1_drawn->Draw(); // do gl rendering + glPopMatrix(); // restore transform + + // draw model 2 + + MVtoOGL(oglm,R2[step],T2[step]); + glPushMatrix(); + glMultMatrixd(oglm); + torus2_drawn->Draw(); + glPopMatrix(); + + break; + + case 1: + + // perform collision query + + PQP_Collide(&cres,R1[step],T1[step],torus1_tested, + R2[step],T2[step],torus2_tested, + PQP_ALL_CONTACTS); + + // draw model 1 and its overlapping tris + + MVtoOGL(oglm,R1[step],T1[step]); + glPushMatrix(); + glMultMatrixd(oglm); + glColor3f(1,1,1); + torus1_drawn->Draw(); + glColor3f(1,0,0); + for(i = 0; i < cres.NumPairs(); i++) + { + torus1_drawn->DrawTri(cres.Id1(i)); + } + glPopMatrix(); + + // draw model 2 and its overlapping tris + + MVtoOGL(oglm,R2[step],T2[step]); + glPushMatrix(); + glMultMatrixd(oglm); + glColor3f(1,1,1); + torus2_drawn->Draw(); + glColor3f(1,0,0); + for(i = 0; i < cres.NumPairs(); i++) + { + torus2_drawn->DrawTri(cres.Id2(i)); + } + glPopMatrix(); + + break; + + case 2: + + // perform distance query + + PQP_Distance(&dres,R1[step],T1[step],torus1_tested, + R2[step],T2[step],torus2_tested, + 0.0,0.0); + + // draw models + + glColor3f(1,1,1); + + MVtoOGL(oglm,R1[step],T1[step]); + glPushMatrix(); + glMultMatrixd(oglm); + torus1_drawn->Draw(); + glPopMatrix(); + + MVtoOGL(oglm,R2[step],T2[step]); + glPushMatrix(); + glMultMatrixd(oglm); + torus2_drawn->Draw(); + glPopMatrix(); + + // draw the closest points as small spheres + + glColor3f(0,1,0); + + PQP_REAL P1[3],P2[3],V1[3],V2[3]; + VcV(P1,dres.P1()); + VcV(P2,dres.P2()); + + // each point is in the space of its model; + // transform to world space + + MxVpV(V1,R1[step],P1,T1[step]); + + glPushMatrix(); + glTranslated(V1[0],V1[1],V1[2]); + glutSolidSphere(.01,15,15); + glPopMatrix(); + + MxVpV(V2,R2[step],P2,T2[step]); + + glPushMatrix(); + glTranslated(V2[0],V2[1],V2[2]); + glutSolidSphere(.01,15,15); + glPopMatrix(); + + // draw the line between the closest points + + glDisable(GL_LIGHTING); + glBegin(GL_LINES); + glVertex3v(V1); + glVertex3v(V2); + glEnd(); + glEnable(GL_LIGHTING); + break; + + case 3: + + // perform tolerance query + + PQP_Tolerance(&tres,R1[step],T1[step],torus1_tested, + R2[step],T2[step],torus2_tested, + tolerance); + + if (tres.CloserThanTolerance()) + glColor3f(0,0,1); + else + glColor3f(1,1,1); + + // draw models + + MVtoOGL(oglm,R1[step],T1[step]); + glPushMatrix(); + glMultMatrixd(oglm); + torus1_drawn->Draw(); + glPopMatrix(); + + MVtoOGL(oglm,R2[step],T2[step]); + glPushMatrix(); + glMultMatrixd(oglm); + torus2_drawn->Draw(); + glPopMatrix(); + + break; + + } + + EndDraw(); +} + +void LoadPath(PQP_REAL (* &R)[3][3], PQP_REAL (* &T)[3], char *filename) +{ + FILE *fp; + if ( (fp = fopen(filename, "r")) == NULL ) + { + fprintf(stderr, "Error opening file %s\n", filename); + exit(1); + } + fscanf(fp, "%d", &number_of_steps); + + R = new PQP_REAL[number_of_steps][3][3]; + T = new PQP_REAL[number_of_steps][3]; + + for (int i = 0; i < number_of_steps; i++) + { + double a, b, c; + fscanf(fp,"%lf %lf %lf",&a,&b,&c); + R[i][0][0] = (PQP_REAL)a; + R[i][0][1] = (PQP_REAL)b; + R[i][0][2] = (PQP_REAL)c; + fscanf(fp,"%lf %lf %lf",&a,&b,&c); + R[i][1][0] = (PQP_REAL)a; + R[i][1][1] = (PQP_REAL)b; + R[i][1][2] = (PQP_REAL)c; + fscanf(fp,"%lf %lf %lf",&a,&b,&c); + R[i][2][0] = (PQP_REAL)a; + R[i][2][1] = (PQP_REAL)b; + R[i][2][2] = (PQP_REAL)c; + fscanf(fp,"%lf %lf %lf",&a,&b,&c); + T[i][0] = (PQP_REAL)a; + T[i][1] = (PQP_REAL)b; + T[i][2] = (PQP_REAL)c; + } + + fclose(fp); +} + +void main(int argc, char **argv) +{ + // init glut + + glutInit(&argc, argv); + glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH | GLUT_MULTISAMPLE); + + // create the window + + glutCreateWindow("PQP Demo - Falling"); + + // set OpenGL graphics state -- material props, perspective, etc. + + init_viewer_window(); + + // set the callbacks + + glutDisplayFunc(cb_display); + glutMouseFunc(cb_mouse); + glutMotionFunc(cb_motion); + glutKeyboardFunc(cb_keyboard); + glutIdleFunc(cb_idle); + + // create models + + FILE *fp; + int ntris, i; + double a,b,c; + PQP_REAL p1[3],p2[3],p3[3]; + + // model 1 + + torus1_drawn = new Model("torus1.tris"); + + torus1_tested = new PQP_Model(); + + fp = fopen("torus1.tris","r"); + fscanf(fp,"%d",&ntris); + + torus1_tested->BeginModel(); + for (i = 0; i < ntris; i++) + { + fscanf(fp,"%lf %lf %lf",&a,&b,&c); + p1[0] = (PQP_REAL)a; + p1[1] = (PQP_REAL)b; + p1[2] = (PQP_REAL)c; + fscanf(fp,"%lf %lf %lf",&a,&b,&c); + p2[0] = (PQP_REAL)a; + p2[1] = (PQP_REAL)b; + p2[2] = (PQP_REAL)c; + fscanf(fp,"%lf %lf %lf",&a,&b,&c); + p3[0] = (PQP_REAL)a; + p3[1] = (PQP_REAL)b; + p3[2] = (PQP_REAL)c; + torus1_tested->AddTri(p1,p2,p3,i); + } + torus1_tested->EndModel(); + + fclose(fp); + + // model 2 + + torus2_drawn = new Model("torus2.tris"); + + torus2_tested = new PQP_Model(); + + fp = fopen("torus2.tris","r"); + fscanf(fp,"%d",&ntris); + + torus2_tested->BeginModel(); + for (i = 0; i < ntris; i++) + { + fscanf(fp,"%lf %lf %lf",&a,&b,&c); + p1[0] = (PQP_REAL)a; + p1[1] = (PQP_REAL)b; + p1[2] = (PQP_REAL)c; + fscanf(fp,"%lf %lf %lf",&a,&b,&c); + p2[0] = (PQP_REAL)a; + p2[1] = (PQP_REAL)b; + p2[2] = (PQP_REAL)c; + fscanf(fp,"%lf %lf %lf",&a,&b,&c); + p3[0] = (PQP_REAL)a; + p3[1] = (PQP_REAL)b; + p3[2] = (PQP_REAL)c; + torus2_tested->AddTri(p1,p2,p3,i); + } + torus2_tested->EndModel(); + + fclose(fp); + + // load paths + + LoadPath(R1,T1,"torus1.path"); + LoadPath(R2,T2,"torus2.path"); + + // print instructions + + printf("PQP Demo - Falling:\n" + "Press:\n" + "0 - no proximity query, just animation\n" + "1 - collision query\n" + " overlapping triangles shown in red.\n" + "2 - distance query\n" + " closest points connected by a line.\n" + "3 - tolerance query\n" + " reduce/increase tolerance with -/= keys.\n" + " models turn blue when closer than the tolerance.\n" + "any other key to toggle animation on/off\n"); + + // Enter the main loop. + + glutMainLoop(); +} + + diff --git a/trunk/PQP/build/pqp-tar/PQP_v1.3/demos/falling/model.cpp b/trunk/PQP/build/pqp-tar/PQP_v1.3/demos/falling/model.cpp new file mode 100644 index 00000000..e145b31b --- /dev/null +++ b/trunk/PQP/build/pqp-tar/PQP_v1.3/demos/falling/model.cpp @@ -0,0 +1,144 @@ +/*************************************************************************\ + + Copyright 1999 The University of North Carolina at Chapel Hill. + All Rights Reserved. + + Permission to use, copy, modify and distribute this software and its + documentation for educational, research and non-profit purposes, without + fee, and without a written agreement is hereby granted, provided that the + above copyright notice and the following three paragraphs appear in all + copies. + + IN NO EVENT SHALL THE UNIVERSITY OF NORTH CAROLINA AT CHAPEL HILL BE + LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR + CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF THE + USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY + OF NORTH CAROLINA HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH + DAMAGES. + + THE UNIVERSITY OF NORTH CAROLINA SPECIFICALLY DISCLAIM ANY + WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE + PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF + NORTH CAROLINA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT, + UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + + The authors may be contacted via: + + US Mail: E. Larsen + Department of Computer Science + Sitterson Hall, CB #3175 + University of N. Carolina + Chapel Hill, NC 27599-3175 + + Phone: (919)962-1749 + + EMail: geom@cs.unc.edu + + +\**************************************************************************/ + +#include <stdio.h> +#include <stdlib.h> +#include <math.h> +#include "GL/glut.h" +#include "model.h" + +inline +void +VmV(double Vr[3], const double V1[3], const double V2[3]) +{ + Vr[0] = V1[0] - V2[0]; + Vr[1] = V1[1] - V2[1]; + Vr[2] = V1[2] - V2[2]; +} + +inline +void +VcrossV(double Vr[3], const double V1[3], const double V2[3]) +{ + Vr[0] = V1[1]*V2[2] - V1[2]*V2[1]; + Vr[1] = V1[2]*V2[0] - V1[0]*V2[2]; + Vr[2] = V1[0]*V2[1] - V1[1]*V2[0]; +} + +inline +void +Vnormalize(double V[3]) +{ + double d = 1.0 / sqrt(V[0]*V[0] + V[1]*V[1] + V[2]*V[2]); + V[0] *= d; + V[1] *= d; + V[2] *= d; +} + +Model::Model(char *tris_file) +{ + FILE *fp = fopen(tris_file,"r"); + if (fp == NULL) + { + fprintf(stderr,"Model Constructor: Couldn't open %s\n",tris_file); + exit(-1); + } + + fscanf(fp,"%d",&ntris); + tri = new ModelTri[ntris]; + + int i; + + for (i = 0; i < ntris; i++) + { + // read the tri verts + + fscanf(fp,"%lf %lf %lf %lf %lf %lf %lf %lf %lf", + &tri[i].p0[0], &tri[i].p0[1], &tri[i].p0[2], + &tri[i].p1[0], &tri[i].p1[1], &tri[i].p1[2], + &tri[i].p2[0], &tri[i].p2[1], &tri[i].p2[2]); + + // set the normal + + double a[3],b[3]; + VmV(a,tri[i].p1,tri[i].p0); + VmV(b,tri[i].p2,tri[i].p0); + VcrossV(tri[i].n,a,b); + Vnormalize(tri[i].n); + } + + fclose(fp); + + // generate display list + + display_list = glGenLists(1); + glNewList(display_list,GL_COMPILE); + glBegin(GL_TRIANGLES); + for (i = 0; i < ntris; i++) + { + glNormal3dv(tri[i].n); + glVertex3dv(tri[i].p0); + glVertex3dv(tri[i].p1); + glVertex3dv(tri[i].p2); + } + glEnd(); + glEndList(); +} + +Model::~Model() +{ + delete [] tri; +} + +void +Model::Draw() +{ + glCallList(display_list); +} + +void +Model::DrawTri(int index) +{ + glBegin(GL_TRIANGLES); + glVertex3dv(tri[index].p0); + glVertex3dv(tri[index].p1); + glVertex3dv(tri[index].p2); + glEnd(); +} diff --git a/trunk/PQP/build/pqp-tar/PQP_v1.3/demos/falling/model.h b/trunk/PQP/build/pqp-tar/PQP_v1.3/demos/falling/model.h new file mode 100644 index 00000000..df352e4e --- /dev/null +++ b/trunk/PQP/build/pqp-tar/PQP_v1.3/demos/falling/model.h @@ -0,0 +1,63 @@ +/*************************************************************************\ + + Copyright 1999 The University of North Carolina at Chapel Hill. + All Rights Reserved. + + Permission to use, copy, modify and distribute this software and its + documentation for educational, research and non-profit purposes, without + fee, and without a written agreement is hereby granted, provided that the + above copyright notice and the following three paragraphs appear in all + copies. + + IN NO EVENT SHALL THE UNIVERSITY OF NORTH CAROLINA AT CHAPEL HILL BE + LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR + CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF THE + USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY + OF NORTH CAROLINA HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH + DAMAGES. + + THE UNIVERSITY OF NORTH CAROLINA SPECIFICALLY DISCLAIM ANY + WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE + PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF + NORTH CAROLINA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT, + UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + + The authors may be contacted via: + + US Mail: E. Larsen + Department of Computer Science + Sitterson Hall, CB #3175 + University of N. Carolina + Chapel Hill, NC 27599-3175 + + Phone: (919)962-1749 + + EMail: geom@cs.unc.edu + + +\**************************************************************************/ + +#ifndef MODEL_H +#define MODEL_H + +struct ModelTri +{ + double p0[3], p1[3], p2[3]; + double n[3]; +}; + +class Model +{ + int ntris; + ModelTri *tri; + int display_list; + +public: + Model(char *tris_file); + ~Model(); + void Draw(); + void DrawTri(int index); +}; + +#endif diff --git a/trunk/PQP/build/pqp-tar/PQP_v1.3/demos/falling/torus1.path b/trunk/PQP/build/pqp-tar/PQP_v1.3/demos/falling/torus1.path new file mode 100644 index 00000000..3cc39f84 --- /dev/null +++ b/trunk/PQP/build/pqp-tar/PQP_v1.3/demos/falling/torus1.path @@ -0,0 +1,11991 @@ +2398 +0.990268 0.139173 0 +-0.139173 0.990268 0 +0 0 1 +0 0 0.559976 + +0.990268 0.139173 0 +-0.139173 0.990268 0 +0 0 1 +0 0 0.559927 + +0.990268 0.139173 0 +-0.139173 0.990268 0 +0 0 1 +0 0 0.559855 + +0.990268 0.139173 0 +-0.139173 0.990268 0 +0 0 1 +0 0 0.559758 + +0.990268 0.139173 0 +-0.139173 0.990268 0 +0 0 1 +0 0 0.559637 + +0.990268 0.139173 0 +-0.139173 0.990268 0 +0 0 1 +0 0 0.559492 + +0.990268 0.139173 0 +-0.139173 0.990268 0 +0 0 1 +0 0 0.559323 + +0.990268 0.139173 0 +-0.139173 0.990268 0 +0 0 1 +0 0 0.559129 + +0.990268 0.139173 0 +-0.139173 0.990268 0 +0 0 1 +0 0 0.558912 + +0.990268 0.139173 0 +-0.139173 0.990268 0 +0 0 1 +0 0 0.55867 + +0.990268 0.139173 0 +-0.139173 0.990268 0 +0 0 1 +0 0 0.558404 + +0.990268 0.139173 0 +-0.139173 0.990268 0 +0 0 1 +0 0 0.558114 + +0.990268 0.139173 0 +-0.139173 0.990268 0 +0 0 1 +0 0 0.557799 + +0.990268 0.139173 0 +-0.139173 0.990268 0 +0 0 1 +0 0 0.557461 + +0.990268 0.139173 0 +-0.139173 0.990268 0 +0 0 1 +0 0 0.557098 + +0.990268 0.139173 0 +-0.139173 0.990268 0 +0 0 1 +0 0 0.556711 + +0.990268 0.139173 0 +-0.139173 0.990268 0 +0 0 1 +0 0 0.5563 + +0.990268 0.139173 0 +-0.139173 0.990268 0 +0 0 1 +0 0 0.555864 + +0.990268 0.139173 0 +-0.139173 0.990268 0 +0 0 1 +0 0 0.555405 + +0.990268 0.139173 0 +-0.139173 0.990268 0 +0 0 1 +0 0 0.554921 + +0.990268 0.139173 0 +-0.139173 0.990268 0 +0 0 1 +0 0 0.554413 + +0.990268 0.139173 0 +-0.139173 0.990268 0 +0 0 1 +0 0 0.553881 + +0.990268 0.139173 0 +-0.139173 0.990268 0 +0 0 1 +0 0 0.553325 + +0.990268 0.139173 0 +-0.139173 0.990268 0 +0 0 1 +0 0 0.552744 + +0.990268 0.139173 0 +-0.139173 0.990268 0 +0 0 1 +0 0 0.55214 + +0.990268 0.139173 0 +-0.139173 0.990268 0 +0 0 1 +0 0 0.551511 + +0.990268 0.139173 0 +-0.139173 0.990268 0 +0 0 1 +0 0 0.550858 + +0.990268 0.139173 0 +-0.139173 0.990268 0 +0 0 1 +0 0 0.550181 + +0.990268 0.139173 0 +-0.139173 0.990268 0 +0 0 1 +0 0 0.549479 + +0.990268 0.139173 0 +-0.139173 0.990268 0 +0 0 1 +0 0 0.548754 + +0.990268 0.139173 0 +-0.139173 0.990268 0 +0 0 1 +0 0 0.548004 + +0.990268 0.139173 0 +-0.139173 0.990268 0 +0 0 1 +0 0 0.54723 + +0.990268 0.139173 0 +-0.139173 0.990268 0 +0 0 1 +0 0 0.546432 + +0.990268 0.139173 0 +-0.139173 0.990268 0 +0 0 1 +0 0 0.54561 + +0.990268 0.139173 0 +-0.139173 0.990268 0 +0 0 1 +0 0 0.544763 + +0.990268 0.139173 0 +-0.139173 0.990268 0 +0 0 1 +0 0 0.543892 + +0.990268 0.139173 0 +-0.139173 0.990268 0 +0 0 1 +0 0 0.542998 + +0.990268 0.139173 0 +-0.139173 0.990268 0 +0 0 1 +0 0 0.542079 + +0.990268 0.139173 0 +-0.139173 0.990268 0 +0 0 1 +0 0 0.541135 + +0.990268 0.139173 0 +-0.139173 0.990268 0 +0 0 1 +0 0 0.540168 + +0.990268 0.139173 0 +-0.139173 0.990268 0 +0 0 1 +0 0 0.539176 + +0.990268 0.139173 0 +-0.139173 0.990268 0 +0 0 1 +0 0 0.53816 + +0.990268 0.139173 0 +-0.139173 0.990268 0 +0 0 1 +0 0 0.537121 + +0.990268 0.139173 0 +-0.139173 0.990268 0 +0 0 1 +0 0 0.536056 + +0.990268 0.139173 0 +-0.139173 0.990268 0 +0 0 1 +0 0 0.534968 + +0.990268 0.139173 0 +-0.139173 0.990268 0 +0 0 1 +0 0 0.533855 + +0.990268 0.139173 0 +-0.139173 0.990268 0 +0 0 1 +0 0 0.532719 + +0.990268 0.139173 0 +-0.139173 0.990268 0 +0 0 1 +0 0 0.531558 + +0.990268 0.139173 0 +-0.139173 0.990268 0 +0 0 1 +0 0 0.530373 + +0.990268 0.139173 0 +-0.139173 0.990268 0 +0 0 1 +0 0 0.529163 + +0.990268 0.139173 0 +-0.139173 0.990268 0 +0 0 1 +0 0 0.52793 + +0.989936 0.141515 0.000593893 +-0.141515 0.989936 -0.000519689 +-0.00066146 0.000430414 1 +7.91318e-05 -5.04108e-06 0.526793 + +0.989158 0.146842 0.00196527 +-0.146839 0.989159 -0.00174679 +-0.00220047 0.00143928 0.999997 +0.000262615 -2.14122e-05 0.525795 + +0.987984 0.154504 0.00392549 +-0.154491 0.987988 -0.00349908 +-0.00441897 0.00285059 0.999986 +0.000525427 -4.36487e-05 0.524893 + +0.986747 0.16216 0.00588377 +-0.16213 0.986755 -0.00525338 +-0.00665773 0.00422982 0.999969 +0.000788239 -6.58851e-05 0.523967 + +0.985446 0.169809 0.00784009 +-0.169755 0.985461 -0.00700965 +-0.00891641 0.00557674 0.999945 +0.00105105 -8.81216e-05 0.523016 + +0.984081 0.177449 0.00979444 +-0.177366 0.984106 -0.0087679 +-0.0111946 0.00689113 0.999914 +0.00131386 -0.000110358 0.522042 + +0.982653 0.185082 0.0117468 +-0.184963 0.982689 -0.0105281 +-0.013492 0.00817276 0.999876 +0.00157667 -0.000132595 0.521043 + +0.981161 0.192706 0.0136971 +-0.192544 0.981211 -0.0122903 +-0.0158082 0.00942143 0.999831 +0.00183949 -0.000154831 0.52002 + +0.979606 0.20032 0.0156455 +-0.200109 0.979673 -0.0140543 +-0.0181428 0.0106369 0.999779 +0.0021023 -0.000177067 0.518973 + +0.977987 0.207924 0.0175917 +-0.207658 0.978073 -0.0158203 +-0.0204955 0.011819 0.99972 +0.00236511 -0.000199304 0.517902 + +0.976304 0.215518 0.019536 +-0.215191 0.976414 -0.0175882 +-0.0228658 0.0129675 0.999654 +0.00262792 -0.00022154 0.516807 + +0.974559 0.223101 0.0214781 +-0.222706 0.974694 -0.019358 +-0.0252534 0.0140822 0.999582 +0.00289073 -0.000243777 0.515687 + +0.97275 0.230673 0.0234182 +-0.230203 0.972913 -0.0211297 +-0.0276579 0.015163 0.999502 +0.00315355 -0.000266013 0.514543 + +0.970877 0.238232 0.0253562 +-0.237682 0.971073 -0.0229032 +-0.030079 0.0162095 0.999416 +0.00341636 -0.00028825 0.513375 + +0.970015 0.241539 0.0270236 +-0.240942 0.970254 -0.0235414 +-0.0319059 0.0163244 0.999358 +0.00374567 -0.000166828 0.512364 + +0.970626 0.238937 0.028192 +-0.238356 0.970918 -0.0224596 +-0.0327385 0.0150802 0.99935 +0.00415481 0.00018866 0.511615 + +0.972572 0.230798 0.0289044 +-0.230293 0.972921 -0.0197626 +-0.0326829 0.012564 0.999387 +0.00464566 0.000736041 0.511103 + +0.975424 0.218374 0.0293345 +-0.217984 0.975822 -0.015928 +-0.0321035 0.00914215 0.999443 +0.00520252 0.00142812 0.510747 + +0.978118 0.205913 0.0297574 +-0.205637 0.978554 -0.0120928 +-0.0316093 0.00570899 0.999484 +0.00575937 0.0021202 0.510367 + +0.980652 0.193418 0.0301732 +-0.193255 0.981114 -0.00825704 +-0.0312004 0.00226616 0.999511 +0.00631622 0.00281228 0.509962 + +0.983028 0.18089 0.0305819 +-0.18084 0.983503 -0.00442071 +-0.030877 -0.00118475 0.999522 +0.00687307 0.00350436 0.509534 + +0.984714 0.17126 0.0317495 +-0.171305 0.985217 -0.00132122 +-0.0315065 -0.00413782 0.999495 +0.00753812 0.00418046 0.50924 + +0.985627 0.165506 0.0338726 +-0.16563 0.986188 0.000877665 +-0.0332595 -0.00647538 0.999426 +0.00834163 0.00484375 0.50912 + +0.985859 0.163451 0.0369643 +-0.163642 0.986517 0.00216961 +-0.0361113 -0.00818783 0.999314 +0.00928208 0.00549153 0.509174 + +0.985392 0.165289 0.0410211 +-0.165532 0.986201 0.00256789 +-0.0400306 -0.00932065 0.999155 +0.0103621 0.00612824 0.509401 + +0.984357 0.170116 0.0458363 +-0.170396 0.985373 0.00223921 +-0.0447849 -0.0100145 0.998946 +0.0115527 0.00675158 0.509761 + +0.983276 0.174935 0.0506501 +-0.175254 0.984521 0.00190724 +-0.0495325 -0.010752 0.998715 +0.0127432 0.00737492 0.510097 + +0.982149 0.179744 0.0554625 +-0.180107 0.983646 0.00157196 +-0.0542729 -0.0115331 0.99846 +0.0139338 0.00799827 0.510409 + +0.980974 0.184545 0.0602734 +-0.184954 0.982746 0.00123339 +-0.0590058 -0.0123577 0.998181 +0.0151243 0.00862161 0.510697 + +0.979753 0.189335 0.0650825 +-0.189794 0.981823 0.000891545 +-0.0637307 -0.0132258 0.997879 +0.0163149 0.00924495 0.510961 + +0.978486 0.194116 0.0698898 +-0.194629 0.980877 0.00054642 +-0.0684472 -0.0141372 0.997555 +0.0175054 0.0098683 0.5112 + +0.977172 0.198885 0.0746952 +-0.199457 0.979907 0.000198027 +-0.0731549 -0.015092 0.997206 +0.018696 0.0104916 0.511415 + +0.975812 0.203644 0.0794986 +-0.204279 0.978913 -0.000153627 +-0.0778534 -0.01609 0.996835 +0.0198865 0.011115 0.511606 + +0.974406 0.208392 0.0842998 +-0.209094 0.977895 -0.000508535 +-0.0825423 -0.0171311 0.99644 +0.0210771 0.0117383 0.511773 + +0.972953 0.213127 0.0890987 +-0.213902 0.976855 -0.000866689 +-0.0872212 -0.0182152 0.996022 +0.0222677 0.0123617 0.511916 + +0.971455 0.21785 0.0938953 +-0.218704 0.97579 -0.00122808 +-0.0918897 -0.0193422 0.995581 +0.0234582 0.012985 0.512034 + +0.969911 0.222561 0.0986894 +-0.223498 0.974703 -0.0015927 +-0.0965473 -0.0205121 0.995117 +0.0246488 0.0136084 0.512128 + +0.968321 0.227258 0.103481 +-0.228286 0.973592 -0.00196055 +-0.101194 -0.0217248 0.99463 +0.0258393 0.0142317 0.512199 + +0.966685 0.231942 0.10827 +-0.233066 0.972458 -0.00233161 +-0.105828 -0.0229801 0.994119 +0.0270299 0.014855 0.512244 + +0.965004 0.236612 0.113056 +-0.237839 0.971301 -0.00270588 +-0.110451 -0.0242778 0.993585 +0.0282204 0.0154784 0.512266 + +0.963278 0.241268 0.117839 +-0.242604 0.97012 -0.00308334 +-0.115061 -0.025618 0.993028 +0.029411 0.0161017 0.512264 + +0.961506 0.245909 0.122618 +-0.247362 0.968917 -0.003464 +-0.119659 -0.0270005 0.992448 +0.0306015 0.0167251 0.512237 + +0.959689 0.250534 0.127395 +-0.252112 0.96769 -0.00384784 +-0.124243 -0.0284251 0.991845 +0.0317921 0.0173484 0.512186 + +0.957827 0.255144 0.132169 +-0.256854 0.966441 -0.00423486 +-0.128814 -0.0298918 0.991218 +0.0329826 0.0179718 0.512111 + +0.95592 0.259738 0.136939 +-0.261589 0.965168 -0.00462504 +-0.13337 -0.0314004 0.990569 +0.0341732 0.0185951 0.512012 + +0.953969 0.264316 0.141705 +-0.266315 0.963873 -0.00501838 +-0.137912 -0.0329508 0.989896 +0.0353637 0.0192184 0.511889 + +0.951973 0.268877 0.146468 +-0.271033 0.962555 -0.00541486 +-0.14244 -0.0345428 0.989201 +0.0365543 0.0198418 0.511741 + +0.949932 0.27342 0.151227 +-0.275742 0.961214 -0.00581449 +-0.146952 -0.0361763 0.988482 +0.0377448 0.0204651 0.511569 + +0.947848 0.277946 0.155983 +-0.280443 0.959851 -0.00621725 +-0.151448 -0.0378512 0.98774 +0.0389354 0.0210885 0.511373 + +0.945719 0.282454 0.160734 +-0.285135 0.958464 -0.00662314 +-0.155928 -0.0395673 0.986976 +0.040126 0.0217118 0.511153 + +0.943546 0.286944 0.165481 +-0.289819 0.957056 -0.00703213 +-0.160393 -0.0413245 0.986188 +0.0413165 0.0223352 0.510909 + +0.941329 0.291415 0.170224 +-0.294494 0.955624 -0.00744424 +-0.16484 -0.0431225 0.985377 +0.0425071 0.0229585 0.51064 + +0.939069 0.295866 0.174963 +-0.29916 0.954171 -0.00785944 +-0.16927 -0.0449614 0.984544 +0.0436976 0.0235818 0.510348 + +0.936766 0.300298 0.179697 +-0.303817 0.952695 -0.00827773 +-0.173683 -0.0468408 0.983687 +0.0448882 0.0242052 0.510031 + +0.934419 0.30471 0.184427 +-0.308464 0.951196 -0.00869909 +-0.178077 -0.0487606 0.982808 +0.0460787 0.0248285 0.50969 + +0.932029 0.309102 0.189152 +-0.313103 0.949676 -0.00912353 +-0.182454 -0.0507207 0.981905 +0.0472693 0.0254519 0.509325 + +0.929596 0.313472 0.193873 +-0.317731 0.948133 -0.00955103 +-0.186811 -0.0527209 0.98098 +0.0484598 0.0260752 0.508935 + +0.92712 0.317822 0.198588 +-0.322351 0.946568 -0.00998157 +-0.19115 -0.054761 0.980032 +0.0496504 0.0266986 0.508522 + +0.924602 0.32215 0.203299 +-0.32696 0.944981 -0.0104152 +-0.195469 -0.0568408 0.979061 +0.0508409 0.0273219 0.508084 + +0.922042 0.326456 0.208004 +-0.33156 0.943372 -0.0108518 +-0.199768 -0.0589602 0.978068 +0.0520315 0.0279453 0.507622 + +0.919439 0.33074 0.212705 +-0.33615 0.941741 -0.0112914 +-0.204047 -0.0611189 0.977051 +0.053222 0.0285686 0.507136 + +0.916794 0.335001 0.2174 +-0.34073 0.940088 -0.0117341 +-0.208306 -0.0633168 0.976012 +0.0544126 0.0291919 0.506625 + +0.914108 0.339239 0.222089 +-0.345299 0.938414 -0.0121797 +-0.212543 -0.0655537 0.97495 +0.0556031 0.0298153 0.506091 + +0.91138 0.343453 0.226773 +-0.349859 0.936717 -0.0126284 +-0.21676 -0.0678294 0.973866 +0.0567937 0.0304386 0.505532 + +0.908611 0.347644 0.231452 +-0.354408 0.934999 -0.01308 +-0.220954 -0.0701437 0.972758 +0.0579843 0.031062 0.504949 + +0.905801 0.35181 0.236124 +-0.358947 0.93326 -0.0135346 +-0.225127 -0.0724963 0.971629 +0.0591748 0.0316853 0.504342 + +0.90295 0.355952 0.240791 +-0.363475 0.931499 -0.0139922 +-0.229277 -0.0748872 0.970476 +0.0603654 0.0323087 0.503711 + +0.900058 0.360068 0.245452 +-0.367992 0.929717 -0.0144528 +-0.233405 -0.077316 0.969301 +0.0615559 0.032932 0.503055 + +0.897126 0.36416 0.250106 +-0.372499 0.927913 -0.0149162 +-0.237509 -0.0797826 0.968103 +0.0627465 0.0335553 0.502376 + +0.894153 0.368226 0.254755 +-0.376994 0.926088 -0.0153826 +-0.24159 -0.0822867 0.966883 +0.063937 0.0341787 0.501672 + +0.891141 0.372265 0.259397 +-0.381479 0.924242 -0.015852 +-0.245647 -0.0848281 0.965641 +0.0651276 0.034802 0.500944 + +0.888088 0.376278 0.264033 +-0.385952 0.922374 -0.0163242 +-0.24968 -0.0874067 0.964376 +0.0663181 0.0354254 0.500191 + +0.884997 0.380265 0.268662 +-0.390414 0.920486 -0.0167994 +-0.253688 -0.0900221 0.963088 +0.0675087 0.0360487 0.499415 + +0.882963 0.382894 0.271603 +-0.393034 0.919341 -0.0183206 +-0.256711 -0.090573 0.962235 +0.0686088 0.0366123 0.49888 + +0.882191 0.384232 0.272222 +-0.39373 0.918983 -0.021151 +-0.258294 -0.0885226 0.962002 +0.0695979 0.0370989 0.498681 + +0.882693 0.384285 0.270516 +-0.392514 0.919398 -0.0252899 +-0.25843 -0.0838582 0.962383 +0.0704762 0.0375077 0.498817 + +0.884286 0.383 0.267114 +-0.389492 0.920526 -0.0304723 +-0.257556 -0.0770925 0.963183 +0.0712643 0.0378552 0.499194 + +0.886629 0.380739 0.262538 +-0.385207 0.922113 -0.0363728 +-0.255939 -0.0688823 0.964236 +0.0719974 0.038164 0.49973 + +0.888961 0.378431 0.257951 +-0.380927 0.923638 -0.0422742 +-0.254251 -0.0606805 0.965233 +0.0727305 0.0384729 0.500241 + +0.891279 0.376077 0.253353 +-0.376654 0.925101 -0.048176 +-0.252495 -0.0524879 0.966174 +0.0734636 0.0387818 0.500729 + +0.893584 0.373676 0.248744 +-0.372387 0.926501 -0.0540781 +-0.250669 -0.0443056 0.967059 +0.0741968 0.0390906 0.501192 + +0.895876 0.371228 0.244124 +-0.368128 0.927838 -0.0599799 +-0.248774 -0.0361343 0.967887 +0.0749299 0.0393995 0.501631 + +0.898153 0.368733 0.239494 +-0.363877 0.929114 -0.0658813 +-0.24681 -0.0279749 0.96866 +0.075663 0.0397083 0.502046 + +0.901867 0.362712 0.234682 +-0.356305 0.93169 -0.0707163 +-0.244301 -0.0198416 0.969497 +0.0764947 0.0402186 0.502622 + +0.905528 0.356625 0.229864 +-0.348728 0.934174 -0.0755532 +-0.241677 -0.0117446 0.970286 +0.0773265 0.0407288 0.503173 + +0.909134 0.350473 0.225041 +-0.341148 0.936566 -0.0803919 +-0.238941 -0.00368536 0.971027 +0.0781582 0.0412391 0.503701 + +0.912685 0.344256 0.220212 +-0.333567 0.938866 -0.0852321 +-0.236092 0.00433451 0.971721 +0.07899 0.0417494 0.504204 + +0.916179 0.337975 0.215379 +-0.325984 0.941074 -0.0900735 +-0.23313 0.0123134 0.972368 +0.0798217 0.0422596 0.504684 + +0.919616 0.331631 0.21054 +-0.318402 0.943192 -0.0949161 +-0.230057 0.0202498 0.972966 +0.0806534 0.0427699 0.505139 + +0.922994 0.325223 0.205697 +-0.310822 0.945218 -0.0997594 +-0.226873 0.0281422 0.973518 +0.0814852 0.0432801 0.505569 + +0.926313 0.318753 0.20085 +-0.303244 0.947154 -0.104603 +-0.223579 0.0359888 0.974021 +0.0823169 0.0437904 0.505976 + +0.929571 0.312222 0.195999 +-0.295671 0.949 -0.109448 +-0.220175 0.0437883 0.974477 +0.0831486 0.0443006 0.506358 + +0.932767 0.305629 0.191143 +-0.288102 0.950755 -0.114292 +-0.216661 0.0515391 0.974885 +0.0839804 0.0448109 0.506717 + +0.935901 0.298976 0.186285 +-0.28054 0.95242 -0.119136 +-0.21304 0.0592397 0.975246 +0.0848121 0.0453211 0.507051 + +0.938972 0.292263 0.181422 +-0.272985 0.953996 -0.12398 +-0.209311 0.0668885 0.975559 +0.0856438 0.0458314 0.507361 + +0.941978 0.285492 0.176557 +-0.265439 0.955482 -0.128824 +-0.205475 0.074484 0.975824 +0.0864756 0.0463416 0.507646 + +0.944918 0.278662 0.171688 +-0.257902 0.95688 -0.133666 +-0.201533 0.0820248 0.976041 +0.0873073 0.0468519 0.507908 + +0.947793 0.271774 0.166817 +-0.250377 0.958189 -0.138508 +-0.197485 0.0895094 0.976211 +0.088139 0.0473621 0.508145 + +0.9506 0.264829 0.161944 +-0.242863 0.959411 -0.143348 +-0.193334 0.0969362 0.976333 +0.0889708 0.0478724 0.508358 + +0.953338 0.257829 0.157068 +-0.235363 0.960544 -0.148187 +-0.189078 0.104304 0.976407 +0.0898025 0.0483826 0.508547 + +0.956008 0.250773 0.152191 +-0.227877 0.96159 -0.153024 +-0.184719 0.111611 0.976433 +0.0906342 0.0488929 0.508712 + +0.958607 0.243662 0.147311 +-0.220406 0.96255 -0.157859 +-0.180259 0.118856 0.976412 +0.091466 0.0494031 0.508853 + +0.961136 0.236498 0.142431 +-0.212952 0.963423 -0.162691 +-0.175697 0.126038 0.976343 +0.0922977 0.0499134 0.508969 + +0.963593 0.229281 0.137549 +-0.205515 0.96421 -0.167522 +-0.171035 0.133154 0.976226 +0.0931294 0.0504236 0.509061 + +0.965977 0.222012 0.132666 +-0.198097 0.964911 -0.172349 +-0.166274 0.140205 0.976061 +0.0939612 0.0509339 0.509129 + +0.968287 0.214691 0.127782 +-0.190698 0.965528 -0.177174 +-0.161415 0.147188 0.975849 +0.0947929 0.0514441 0.509173 + +0.970523 0.20732 0.122897 +-0.18332 0.96606 -0.181996 +-0.156458 0.154101 0.975589 +0.0956246 0.0519544 0.509193 + +0.972684 0.199899 0.118013 +-0.175964 0.966508 -0.186814 +-0.151404 0.160945 0.975281 +0.0964564 0.0524646 0.509188 + +0.974768 0.19243 0.113128 +-0.168631 0.966872 -0.191628 +-0.146256 0.167716 0.974926 +0.0972881 0.0529749 0.509159 + +0.976776 0.184912 0.108244 +-0.161322 0.967154 -0.196439 +-0.141012 0.174415 0.974523 +0.0981199 0.0534851 0.509107 + +0.978705 0.177348 0.10336 +-0.154038 0.967353 -0.201246 +-0.135676 0.181039 0.974072 +0.0989516 0.0539954 0.509029 + +0.980557 0.169738 0.0984764 +-0.146779 0.967471 -0.206048 +-0.130247 0.187588 0.973574 +0.0997833 0.0545056 0.508928 + +0.982329 0.162082 0.0935939 +-0.139548 0.967507 -0.210846 +-0.124727 0.194059 0.973028 +0.100615 0.0550159 0.508803 + +0.98402 0.154383 0.0887126 +-0.132344 0.967463 -0.215639 +-0.119117 0.200453 0.972435 +0.101447 0.0555261 0.508653 + +0.985631 0.14664 0.0838327 +-0.12517 0.967339 -0.220428 +-0.113418 0.206767 0.971794 +0.102279 0.0560364 0.508479 + +0.98716 0.138854 0.0789544 +-0.118025 0.967135 -0.22521 +-0.107631 0.213 0.971106 +0.10311 0.0565466 0.508281 + +0.988607 0.131028 0.074078 +-0.110911 0.966853 -0.229988 +-0.101757 0.219152 0.97037 +0.103942 0.0570569 0.508059 + +0.989971 0.123161 0.0692036 +-0.103829 0.966492 -0.23476 +-0.095798 0.22522 0.969587 +0.104774 0.0575671 0.507813 + +0.991251 0.115255 0.0643316 +-0.0967799 0.966054 -0.239526 +-0.0897543 0.231204 0.968756 +0.105605 0.0580774 0.507542 + +0.992446 0.10731 0.0594622 +-0.0897644 0.96554 -0.244285 +-0.0836274 0.237102 0.967879 +0.106437 0.0585876 0.507247 + +0.993556 0.0993281 0.0545956 +-0.0827835 0.964949 -0.249039 +-0.0774185 0.242914 0.966953 +0.107269 0.0590979 0.506928 + +0.99458 0.0913098 0.049732 +-0.0758382 0.964283 -0.253786 +-0.0711288 0.248639 0.965981 +0.108101 0.0596081 0.506585 + +0.995517 0.0832562 0.0448717 +-0.0689293 0.963542 -0.258526 +-0.0647597 0.254274 0.964962 +0.108932 0.0601184 0.506218 + +0.996368 0.0751683 0.040015 +-0.0620577 0.962727 -0.263259 +-0.0583122 0.259819 0.963895 +0.109764 0.0606286 0.505826 + +0.99713 0.0670473 0.035162 +-0.0552244 0.961839 -0.267984 +-0.0517878 0.265274 0.962781 +0.110596 0.0611389 0.505411 + +0.997804 0.0588941 0.030313 +-0.0484301 0.960879 -0.272703 +-0.0451877 0.270636 0.961621 +0.111428 0.0616491 0.504971 + +0.998389 0.0507099 0.0254682 +-0.0416757 0.959846 -0.277413 +-0.0385132 0.275905 0.960413 +0.112259 0.0621594 0.504507 + +0.998884 0.0424957 0.0206279 +-0.0349621 0.958743 -0.282116 +-0.0317656 0.28108 0.959159 +0.113091 0.0626696 0.504019 + +0.999288 0.0342527 0.0157923 +-0.02829 0.95757 -0.28681 +-0.0249462 0.286159 0.957857 +0.113923 0.0631799 0.503506 + +0.999602 0.0259818 0.0109616 +-0.0216604 0.956327 -0.291496 +-0.0180565 0.291143 0.956509 +0.114755 0.0636901 0.50297 + +0.999825 0.0176843 0.00613613 +-0.015074 0.955015 -0.296174 +-0.0110977 0.296029 0.955114 +0.115586 0.0642004 0.502409 + +0.999955 0.00936119 0.00131605 +-0.00853163 0.953636 -0.300842 +-0.00407127 0.300818 0.953673 +0.116418 0.0647106 0.501824 + +0.999993 0.00101369 -0.00349839 +-0.002034 0.952189 -0.305502 +0.00302145 0.305507 0.952185 +0.11725 0.0652209 0.501215 + +0.999938 -0.0073571 -0.00830696 +0.00441808 0.950677 -0.310152 +0.0101791 0.310096 0.950651 +0.118081 0.0657311 0.500581 + +0.99979 -0.01575 -0.0131094 +0.0108239 0.949099 -0.314793 +0.0174001 0.314585 0.94907 +0.118913 0.0662414 0.499924 + +0.999548 -0.024164 -0.0179055 +0.0171826 0.947456 -0.319424 +0.0246832 0.318972 0.947443 +0.119745 0.0667516 0.499242 + +0.999211 -0.0325977 -0.022695 +0.0234936 0.94575 -0.324045 +0.032027 0.323256 0.945769 +0.120577 0.0672619 0.498536 + +0.998779 -0.0410502 -0.0274778 +0.0297562 0.943981 -0.328656 +0.0394298 0.327437 0.94405 +0.121408 0.0677721 0.497806 + +0.998252 -0.0495201 -0.0322534 +0.0359695 0.94215 -0.333256 +0.0468904 0.331514 0.942284 +0.12224 0.0682824 0.497052 + +0.99763 -0.0580063 -0.0370218 +0.0421331 0.940258 -0.337846 +0.0544073 0.335485 0.940473 +0.123072 0.0687926 0.496273 + +0.996911 -0.0665076 -0.0417827 +0.0482461 0.938306 -0.342425 +0.0619788 0.339352 0.938616 +0.123904 0.0693029 0.495471 + +0.996095 -0.0750229 -0.0465359 +0.0543079 0.936294 -0.346993 +0.0696037 0.343111 0.936712 +0.124735 0.0698131 0.494644 + +0.995183 -0.0835509 -0.051281 +0.0603179 0.934224 -0.35155 +0.0772803 0.346764 0.934763 +0.125567 0.0703234 0.493793 + +0.994174 -0.0920904 -0.056018 +0.0662755 0.932096 -0.356095 +0.0850072 0.350308 0.932769 +0.126399 0.0708336 0.492917 + +0.993067 -0.10064 -0.0607466 +0.07218 0.929912 -0.360629 +0.0927828 0.353744 0.930729 +0.127231 0.0713439 0.492018 + +0.991862 -0.109199 -0.0654665 +0.0780309 0.927672 -0.365151 +0.100606 0.357071 0.928644 +0.128062 0.0718541 0.491094 + +0.990559 -0.117766 -0.0701775 +0.0838275 0.925378 -0.369661 +0.108474 0.360288 0.926513 +0.128894 0.0723644 0.490147 + +0.989157 -0.126339 -0.0748793 +0.0895693 0.923029 -0.374158 +0.116387 0.363394 0.924337 +0.129726 0.0728746 0.489175 + +0.987657 -0.134918 -0.0795719 +0.0952557 0.920628 -0.378643 +0.124342 0.366389 0.922116 +0.130558 0.0733849 0.488179 + +0.986057 -0.143501 -0.0842548 +0.100886 0.918175 -0.383115 +0.132338 0.369273 0.91985 +0.131389 0.0738951 0.487158 + +0.984358 -0.152087 -0.088928 +0.10646 0.915671 -0.387574 +0.140374 0.372044 0.917539 +0.132221 0.0744054 0.486114 + +0.98256 -0.160674 -0.0935911 +0.111977 0.913117 -0.392019 +0.148447 0.374703 0.915184 +0.133053 0.0749156 0.485045 + +0.980662 -0.169262 -0.098244 +0.117437 0.910513 -0.396452 +0.156557 0.377248 0.912784 +0.133884 0.0754259 0.483952 + +0.978664 -0.177849 -0.102886 +0.122839 0.907862 -0.400871 +0.164701 0.379679 0.910339 +0.134716 0.0759361 0.482835 + +0.976567 -0.186434 -0.107518 +0.128182 0.905163 -0.405276 +0.172879 0.381997 0.90785 +0.135548 0.0764464 0.481694 + +0.974368 -0.195015 -0.112139 +0.133467 0.902419 -0.409667 +0.181087 0.3842 0.905317 +0.13638 0.0769566 0.480528 + +0.97207 -0.203592 -0.116748 +0.138692 0.899629 -0.414044 +0.189326 0.386287 0.902739 +0.137211 0.0774669 0.479339 + +0.969671 -0.212163 -0.121347 +0.143858 0.896795 -0.418406 +0.197593 0.388259 0.900118 +0.138043 0.0779771 0.478125 + +0.967171 -0.220727 -0.125933 +0.148963 0.893918 -0.422754 +0.205887 0.390116 0.897452 +0.138875 0.0784874 0.476887 + +0.964571 -0.229282 -0.130508 +0.154008 0.890999 -0.427086 +0.214206 0.391856 0.894743 +0.139707 0.0789976 0.475625 + +0.96187 -0.237827 -0.135071 +0.158992 0.888038 -0.431404 +0.222548 0.39348 0.89199 +0.140538 0.0795079 0.474338 + +0.959068 -0.246361 -0.139621 +0.163914 0.885038 -0.435707 +0.230912 0.394986 0.889194 +0.14137 0.0800181 0.473028 + +0.956166 -0.254883 -0.144159 +0.168776 0.881998 -0.439994 +0.239295 0.396376 0.886354 +0.142202 0.0805284 0.471693 + +0.953162 -0.263392 -0.148685 +0.173575 0.87892 -0.444265 +0.247698 0.397649 0.883471 +0.143034 0.0810386 0.470334 + +0.950057 -0.271885 -0.153197 +0.178312 0.875805 -0.448521 +0.256117 0.398803 0.880545 +0.143865 0.0815489 0.468951 + +0.946852 -0.280363 -0.157696 +0.182986 0.872654 -0.45276 +0.264551 0.39984 0.877576 +0.144697 0.0820592 0.467544 + +0.943546 -0.288822 -0.162182 +0.187598 0.869467 -0.456983 +0.272999 0.400759 0.874565 +0.145529 0.0825694 0.466112 + +0.940139 -0.297263 -0.166655 +0.192146 0.866247 -0.46119 +0.281459 0.40156 0.87151 +0.14636 0.0830797 0.464657 + +0.937184 -0.303427 -0.172101 +0.194251 0.863729 -0.465015 +0.289747 0.402374 0.868414 +0.147179 0.0834856 0.463277 + +0.93481 -0.306825 -0.178852 +0.193376 0.862145 -0.468307 +0.297885 0.403193 0.865275 +0.147988 0.0837531 0.462008 + +0.933022 -0.307466 -0.186907 +0.189534 0.861501 -0.471054 +0.305854 0.404079 0.862075 +0.148787 0.0838815 0.460849 + +0.931795 -0.305351 -0.196261 +0.182729 0.861775 -0.473238 +0.313636 0.405098 0.858794 +0.149575 0.0838704 0.4598 + +0.930469 -0.303247 -0.205595 +0.175903 0.862022 -0.475369 +0.321381 0.406152 0.855427 +0.150362 0.0838593 0.458726 + +0.929043 -0.301154 -0.214909 +0.169056 0.862243 -0.477449 +0.329089 0.407239 0.851972 +0.15115 0.0838482 0.457628 + +0.927518 -0.299073 -0.224202 +0.162188 0.862437 -0.479476 +0.336758 0.40836 0.848431 +0.151938 0.0838371 0.456506 + +0.925894 -0.297004 -0.233473 +0.1553 0.862604 -0.481451 +0.344388 0.409515 0.844805 +0.152725 0.083826 0.45536 + +0.924171 -0.294948 -0.242721 +0.148392 0.862745 -0.483374 +0.351977 0.410702 0.841092 +0.153513 0.0838148 0.45419 + +0.92235 -0.292905 -0.251945 +0.141466 0.862859 -0.485244 +0.359524 0.411923 0.837295 +0.154301 0.0838037 0.452995 + +0.920465 -0.29082 -0.261091 +0.134587 0.863057 -0.486846 +0.366921 0.412985 0.833554 +0.155122 0.0839105 0.451855 + +0.918571 -0.28857 -0.2701 +0.127758 0.863443 -0.488 +0.374038 0.413755 0.830001 +0.156001 0.0842083 0.45083 + +0.91673 -0.286029 -0.278913 +0.120983 0.864122 -0.488524 +0.380747 0.414101 0.826772 +0.156958 0.0847693 0.449982 + +0.914948 -0.283188 -0.287531 +0.114266 0.865093 -0.488424 +0.387057 0.414028 0.823874 +0.157994 0.0855925 0.449312 + +0.913188 -0.28018 -0.29595 +0.10776 0.866349 -0.487676 +0.393033 0.413448 0.821332 +0.159121 0.0867206 0.448842 + +0.911449 -0.277018 -0.304175 +0.101481 0.867876 -0.486306 +0.398701 0.412375 0.819136 +0.160329 0.0881093 0.448551 + +0.909666 -0.273879 -0.312247 +0.0955343 0.8696 -0.484426 +0.404204 0.410836 0.817211 +0.161606 0.0897242 0.448407 + +0.907851 -0.270654 -0.32024 +0.0896604 0.871406 -0.482299 +0.409595 0.409142 0.815374 +0.162919 0.0914543 0.44832 + +0.905963 -0.267413 -0.328209 +0.0837959 0.873184 -0.480134 +0.414981 0.407481 0.81348 +0.164231 0.0931844 0.448209 + +0.904003 -0.264156 -0.336155 +0.0779415 0.874932 -0.477933 +0.420361 0.405852 0.81153 +0.165544 0.0949145 0.448074 + +0.901971 -0.260884 -0.344076 +0.0720973 0.876651 -0.475695 +0.425736 0.404256 0.809522 +0.166857 0.0966446 0.447915 + +0.899866 -0.257598 -0.351972 +0.0662638 0.878341 -0.47342 +0.431103 0.402692 0.807459 +0.168169 0.0983747 0.447731 + +0.897689 -0.254298 -0.359842 +0.0604415 0.880002 -0.471109 +0.436464 0.40116 0.805338 +0.169482 0.100105 0.447524 + +0.89544 -0.250984 -0.367687 +0.0546307 0.881634 -0.468762 +0.441817 0.399661 0.803162 +0.170794 0.101835 0.447292 + +0.89312 -0.247657 -0.375504 +0.0488319 0.883236 -0.466379 +0.447161 0.398195 0.800929 +0.172107 0.103565 0.447036 + +0.890727 -0.244318 -0.383295 +0.0430454 0.88481 -0.463959 +0.452496 0.396762 0.798641 +0.17342 0.105295 0.446756 + +0.888262 -0.240966 -0.391057 +0.0372716 0.886355 -0.461505 +0.457822 0.395362 0.796296 +0.174732 0.107025 0.446452 + +0.885726 -0.237603 -0.398791 +0.0315109 0.88787 -0.459014 +0.463138 0.393994 0.793896 +0.176045 0.108755 0.446123 + +0.883118 -0.234229 -0.406497 +0.0257637 0.889356 -0.456488 +0.468443 0.39266 0.791441 +0.177358 0.110485 0.445771 + +0.880438 -0.230845 -0.414172 +0.0200304 0.890813 -0.453927 +0.473737 0.391359 0.78893 +0.17867 0.112216 0.445394 + +0.877688 -0.227451 -0.421818 +0.0143115 0.892242 -0.451332 +0.479019 0.390091 0.786365 +0.179983 0.113946 0.444993 + +0.874866 -0.224047 -0.429433 +0.00860718 0.893641 -0.448701 +0.484289 0.388857 0.783744 +0.181296 0.115676 0.444567 + +0.871973 -0.220634 -0.437017 +0.00291798 0.89501 -0.446036 +0.489545 0.387656 0.781069 +0.182608 0.117406 0.444118 + +0.869009 -0.217213 -0.444569 +-0.00275575 0.896351 -0.443336 +0.494789 0.386488 0.778339 +0.183921 0.119136 0.443644 + +0.865974 -0.213783 -0.452089 +-0.00841363 0.897663 -0.440602 +0.500017 0.385354 0.775555 +0.185233 0.120866 0.443147 + +0.862869 -0.210347 -0.459577 +-0.0140553 0.898946 -0.437834 +0.505232 0.384253 0.772716 +0.186546 0.122596 0.442625 + +0.859694 -0.206903 -0.467031 +-0.0196803 0.9002 -0.435032 +0.510431 0.383186 0.769824 +0.187859 0.124326 0.442078 + +0.856448 -0.203453 -0.474451 +-0.0252883 0.901425 -0.432197 +0.515614 0.382152 0.766878 +0.189171 0.126056 0.441508 + +0.853132 -0.199998 -0.481837 +-0.0308789 0.902621 -0.429328 +0.52078 0.381152 0.763879 +0.190484 0.127787 0.440914 + +0.849747 -0.196536 -0.489187 +-0.0364518 0.903788 -0.426426 +0.52593 0.380185 0.760827 +0.191797 0.129517 0.440295 + +0.846291 -0.19307 -0.496503 +-0.0420065 0.904926 -0.42349 +0.531062 0.379253 0.757721 +0.193109 0.131247 0.439652 + +0.842767 -0.1896 -0.503782 +-0.0475427 0.906036 -0.420522 +0.536176 0.378353 0.754562 +0.194422 0.132977 0.438985 + +0.839173 -0.186126 -0.511025 +-0.05306 0.907116 -0.417522 +0.541271 0.377488 0.751351 +0.195734 0.134707 0.438294 + +0.83551 -0.182648 -0.518231 +-0.058558 0.908168 -0.414489 +0.546347 0.376656 0.748088 +0.197047 0.136437 0.437578 + +0.831778 -0.179168 -0.525399 +-0.0640364 0.909192 -0.411424 +0.551403 0.375858 0.744772 +0.19836 0.138167 0.436839 + +0.827978 -0.175685 -0.53253 +-0.0694947 0.910187 -0.408327 +0.556438 0.375093 0.741405 +0.199672 0.139897 0.436075 + +0.824109 -0.1722 -0.539622 +-0.0749327 0.911153 -0.405198 +0.561453 0.374362 0.737986 +0.200985 0.141627 0.435287 + +0.820172 -0.168714 -0.546674 +-0.08035 0.912091 -0.402038 +0.566446 0.373665 0.734515 +0.202298 0.143358 0.434474 + +0.816168 -0.165228 -0.553688 +-0.0857461 0.913 -0.398846 +0.571417 0.373002 0.730994 +0.20361 0.145088 0.433638 + +0.812096 -0.16174 -0.560661 +-0.0911208 0.913881 -0.395623 +0.576366 0.372372 0.727421 +0.204923 0.146818 0.432777 + +0.807957 -0.158254 -0.567593 +-0.0964736 0.914734 -0.39237 +0.581291 0.371776 0.723798 +0.206235 0.148548 0.431893 + +0.80375 -0.154767 -0.574485 +-0.101804 0.915559 -0.389086 +0.586192 0.371213 0.720125 +0.207548 0.150278 0.430984 + +0.799477 -0.151282 -0.581335 +-0.107112 0.916355 -0.385771 +0.59107 0.370684 0.716401 +0.208861 0.152008 0.430051 + +0.795138 -0.147799 -0.588142 +-0.112398 0.917124 -0.382427 +0.595922 0.370188 0.712628 +0.210173 0.153738 0.429093 + +0.790732 -0.144318 -0.594908 +-0.11766 0.917865 -0.379052 +0.600749 0.369726 0.708805 +0.211486 0.155468 0.428112 + +0.786261 -0.140839 -0.60163 +-0.122898 0.918577 -0.375648 +0.60555 0.369297 0.704932 +0.212799 0.157198 0.427106 + +0.781724 -0.137364 -0.608309 +-0.128112 0.919262 -0.372215 +0.610324 0.368901 0.701011 +0.214111 0.158928 0.426076 + +0.777121 -0.133892 -0.614944 +-0.133302 0.91992 -0.368752 +0.615072 0.368539 0.697041 +0.215424 0.160659 0.425022 + +0.772454 -0.130424 -0.621534 +-0.138468 0.920549 -0.365261 +0.619791 0.36821 0.693022 +0.216736 0.162389 0.423944 + +0.767722 -0.126961 -0.628079 +-0.143608 0.921152 -0.361741 +0.624483 0.367914 0.688956 +0.218049 0.164119 0.422842 + +0.762926 -0.123503 -0.634579 +-0.148724 0.921726 -0.358192 +0.629146 0.367651 0.684841 +0.219362 0.165849 0.421715 + +0.758066 -0.120051 -0.641033 +-0.153813 0.922274 -0.354616 +0.63378 0.367422 0.680679 +0.220674 0.167579 0.420564 + +0.753143 -0.116605 -0.647441 +-0.158877 0.922794 -0.351011 +0.638384 0.367225 0.67647 +0.221987 0.169309 0.419389 + +0.748156 -0.113165 -0.653802 +-0.163914 0.923288 -0.347379 +0.642958 0.367061 0.672214 +0.2233 0.171039 0.41819 + +0.743106 -0.109732 -0.660115 +-0.168925 0.923754 -0.34372 +0.647501 0.36693 0.667911 +0.224612 0.172769 0.416967 + +0.737994 -0.106307 -0.666381 +-0.173908 0.924193 -0.340033 +0.652013 0.366831 0.663561 +0.225925 0.174499 0.415719 + +0.732819 -0.10289 -0.672599 +-0.178864 0.924606 -0.33632 +0.656493 0.366766 0.659166 +0.227238 0.17623 0.414447 + +0.727583 -0.0994813 -0.678768 +-0.183793 0.924992 -0.332579 +0.660941 0.366732 0.654725 +0.22855 0.17796 0.413151 + +0.722286 -0.0960816 -0.684888 +-0.188694 0.925352 -0.328813 +0.665356 0.366731 0.650239 +0.229863 0.17969 0.411831 + +0.716927 -0.0926912 -0.690959 +-0.193566 0.925685 -0.325021 +0.669737 0.366763 0.645707 +0.231175 0.18142 0.410487 + +0.711508 -0.0893107 -0.696979 +-0.19841 0.925993 -0.321203 +0.674085 0.366826 0.641131 +0.232488 0.18315 0.409119 + +0.706028 -0.0859406 -0.70295 +-0.203225 0.926274 -0.317359 +0.678398 0.366922 0.63651 +0.233801 0.18488 0.407726 + +0.700489 -0.0825812 -0.708869 +-0.208011 0.926529 -0.31349 +0.682676 0.367049 0.631845 +0.235113 0.18661 0.406309 + +0.69489 -0.0792332 -0.714737 +-0.212767 0.926758 -0.309596 +0.686919 0.367208 0.627137 +0.236426 0.18834 0.404868 + +0.689233 -0.0758968 -0.720554 +-0.217494 0.926961 -0.305678 +0.691126 0.367399 0.622385 +0.237739 0.19007 0.403403 + +0.683516 -0.0725726 -0.726318 +-0.22219 0.927139 -0.301735 +0.695296 0.367622 0.61759 +0.239051 0.191801 0.401913 + +0.677742 -0.069261 -0.73203 +-0.226856 0.927292 -0.297768 +0.69943 0.367876 0.612752 +0.240364 0.193531 0.4004 + +0.67191 -0.0659626 -0.73769 +-0.231492 0.927419 -0.293777 +0.703526 0.368161 0.607872 +0.241676 0.195261 0.398862 + +0.66602 -0.0626776 -0.743296 +-0.236096 0.927521 -0.289763 +0.707584 0.368477 0.60295 +0.242989 0.196991 0.3973 + +0.660074 -0.0594067 -0.748848 +-0.240669 0.927599 -0.285726 +0.711604 0.368825 0.597987 +0.244302 0.198721 0.395714 + +0.654071 -0.0561501 -0.754346 +-0.245211 0.927651 -0.281665 +0.715585 0.369203 0.592981 +0.245614 0.200451 0.394104 + +0.648013 -0.0529085 -0.759789 +-0.24972 0.927679 -0.277582 +0.719527 0.369612 0.587935 +0.246927 0.202181 0.392469 + +0.641899 -0.0496821 -0.765178 +-0.254198 0.927682 -0.273477 +0.723429 0.370051 0.582849 +0.24824 0.203911 0.39081 + +0.636342 -0.0469435 -0.769977 +-0.258604 0.927406 -0.270263 +0.726768 0.3711 0.578008 +0.249431 0.205625 0.389206 + +0.632721 -0.0455115 -0.773041 +-0.263187 0.926209 -0.269943 +0.728283 0.374253 0.574054 +0.250255 0.207244 0.387854 + +0.632129 -0.0448178 -0.773566 +-0.269659 0.923198 -0.273842 +0.726427 0.381703 0.571495 +0.250536 0.208776 0.386888 + +0.634605 -0.0446989 -0.771543 +-0.278155 0.918213 -0.281983 +0.721045 0.393557 0.57027 +0.250276 0.210225 0.386309 + +0.639578 -0.0450972 -0.767402 +-0.287971 0.911531 -0.293571 +0.71275 0.408751 0.570009 +0.249587 0.211568 0.38605 + +0.645059 -0.0453201 -0.762788 +-0.297999 0.904281 -0.305732 +0.703631 0.424525 0.569809 +0.248821 0.212902 0.385824 + +0.65061 -0.0453565 -0.758057 +-0.30782 0.896784 -0.317846 +0.694229 0.440139 0.569494 +0.248055 0.214235 0.385575 + +0.656226 -0.0452036 -0.753209 +-0.317428 0.889043 -0.329912 +0.684549 0.455587 0.569064 +0.247289 0.215569 0.385301 + +0.661902 -0.0448589 -0.748247 +-0.326818 0.881065 -0.341926 +0.674593 0.470863 0.568518 +0.246522 0.216903 0.385003 + +0.667634 -0.0443198 -0.743169 +-0.335984 0.872856 -0.353888 +0.664364 0.485961 0.567858 +0.245756 0.218237 0.384681 + +0.673415 -0.0435839 -0.737979 +-0.34492 0.864421 -0.365795 +0.653867 0.500876 0.567081 +0.24499 0.219571 0.384335 + +0.679241 -0.0426491 -0.732675 +-0.353621 0.855767 -0.377645 +0.643105 0.515601 0.56619 +0.244223 0.220905 0.383964 + +0.685106 -0.0415131 -0.72726 +-0.362081 0.846898 -0.389436 +0.632082 0.530132 0.565184 +0.243457 0.222239 0.383569 + +0.691004 -0.0401742 -0.721733 +-0.370296 0.837823 -0.401166 +0.620801 0.544462 0.564063 +0.242691 0.223573 0.383151 + +0.696931 -0.0386304 -0.716097 +-0.37826 0.828546 -0.412832 +0.609268 0.558586 0.562827 +0.241925 0.224907 0.382707 + +0.70288 -0.0368802 -0.710352 +-0.385969 0.819075 -0.424434 +0.597485 0.572499 0.561477 +0.241158 0.226241 0.38224 + +0.708136 -0.0346436 -0.705226 +-0.39332 0.810124 -0.43474 +0.586381 0.585234 0.560052 +0.240329 0.227422 0.381852 + +0.711334 -0.0327033 -0.702093 +-0.398653 0.803922 -0.441346 +0.578862 0.593835 0.558819 +0.239272 0.228218 0.381777 + +0.712106 -0.0301868 -0.701423 +-0.403051 0.800459 -0.443638 +0.574853 0.598626 0.557845 +0.237992 0.228481 0.382041 + +0.710434 -0.0270889 -0.703243 +-0.406665 0.799742 -0.441629 +0.574376 0.599732 0.557147 +0.236482 0.228214 0.382644 + +0.706452 -0.0232477 -0.707379 +-0.409781 0.801464 -0.435585 +0.577065 0.59759 0.55667 +0.234745 0.227458 0.383563 + +0.700685 -0.019316 -0.71321 +-0.411863 0.805306 -0.42644 +0.582589 0.592545 0.55631 +0.232829 0.226345 0.384719 + +0.694884 -0.0153254 -0.718958 +-0.413857 0.809091 -0.417246 +0.588097 0.587484 0.555882 +0.230914 0.225232 0.385852 + +0.689053 -0.0112765 -0.724623 +-0.415764 0.812818 -0.408004 +0.593588 0.582408 0.555386 +0.228998 0.224119 0.38696 + +0.683191 -0.00716952 -0.730204 +-0.417583 0.816487 -0.398714 +0.599061 0.577319 0.554823 +0.227082 0.223006 0.388044 + +0.677301 -0.00300493 -0.7357 +-0.419314 0.820097 -0.389379 +0.604516 0.572216 0.554192 +0.225167 0.221893 0.389104 + +0.671381 0.00121689 -0.741111 +-0.420958 0.823648 -0.379998 +0.609952 0.5671 0.553494 +0.223251 0.22078 0.390139 + +0.665435 0.00549552 -0.746436 +-0.422513 0.827138 -0.370574 +0.615369 0.561971 0.552729 +0.221335 0.219667 0.391151 + +0.659462 0.00983053 -0.751674 +-0.42398 0.830568 -0.361106 +0.620766 0.556831 0.551896 +0.21942 0.218554 0.392138 + +0.653463 0.0142215 -0.756825 +-0.42536 0.833936 -0.351597 +0.626143 0.551679 0.550996 +0.217504 0.217441 0.393101 + +0.64744 0.018668 -0.761887 +-0.426651 0.837241 -0.342047 +0.631498 0.546515 0.550028 +0.215588 0.216328 0.39404 + +0.641394 0.0231695 -0.766862 +-0.427854 0.840483 -0.332458 +0.636832 0.541342 0.548994 +0.213673 0.215214 0.394955 + +0.635325 0.0277256 -0.771747 +-0.428969 0.843662 -0.322831 +0.642143 0.536158 0.547893 +0.211757 0.214101 0.395845 + +0.629234 0.0323359 -0.776543 +-0.429996 0.846777 -0.313166 +0.647432 0.530965 0.546725 +0.209841 0.212988 0.396711 + +0.623123 0.0369999 -0.781248 +-0.430935 0.849826 -0.303465 +0.652697 0.525763 0.54549 +0.207926 0.211875 0.397553 + +0.616992 0.041717 -0.785863 +-0.431785 0.85281 -0.29373 +0.657938 0.520553 0.544189 +0.20601 0.210762 0.398371 + +0.610842 0.0464868 -0.790386 +-0.432547 0.855727 -0.28396 +0.663155 0.515334 0.542822 +0.204094 0.209649 0.399165 + +0.604675 0.0513087 -0.794818 +-0.433222 0.858578 -0.274158 +0.668347 0.510109 0.541389 +0.202179 0.208536 0.399935 + +0.598491 0.0561824 -0.799157 +-0.433808 0.861361 -0.264325 +0.673513 0.504877 0.539889 +0.200263 0.207423 0.40068 + +0.592291 0.0611072 -0.803403 +-0.434306 0.864076 -0.254461 +0.678652 0.499638 0.538324 +0.198347 0.20631 0.401401 + +0.586077 0.0660826 -0.807556 +-0.434717 0.866722 -0.244568 +0.683766 0.494394 0.536693 +0.196432 0.205197 0.402098 + +0.579848 0.0711081 -0.811615 +-0.43504 0.869299 -0.234647 +0.688851 0.489145 0.534997 +0.194516 0.204084 0.402771 + +0.573607 0.0761831 -0.81558 +-0.435275 0.871806 -0.224699 +0.69391 0.483891 0.533235 +0.1926 0.202971 0.40342 + +0.567354 0.0813071 -0.81945 +-0.435423 0.874243 -0.214726 +0.698939 0.478633 0.531408 +0.190685 0.201857 0.404044 + +0.561091 0.0864795 -0.823225 +-0.435483 0.876608 -0.204728 +0.70394 0.473371 0.529517 +0.188769 0.200744 0.404645 + +0.554817 0.0916998 -0.826903 +-0.435456 0.878901 -0.194706 +0.708912 0.468107 0.52756 +0.186854 0.199631 0.405221 + +0.548534 0.0969673 -0.830486 +-0.435342 0.881122 -0.184663 +0.713854 0.46284 0.52554 +0.184938 0.198518 0.405772 + +0.542244 0.102282 -0.833972 +-0.435142 0.883271 -0.174599 +0.718765 0.457571 0.523455 +0.183022 0.197405 0.4063 + +0.535947 0.107642 -0.837361 +-0.434854 0.885345 -0.164515 +0.723645 0.452302 0.521307 +0.181107 0.196292 0.406804 + +0.529644 0.113048 -0.840653 +-0.43448 0.887346 -0.154413 +0.728495 0.447031 0.519094 +0.179191 0.195179 0.407283 + +0.523336 0.118498 -0.843847 +-0.43402 0.889273 -0.144293 +0.733312 0.44176 0.516819 +0.177275 0.194066 0.407738 + +0.517023 0.123993 -0.846943 +-0.433474 0.891124 -0.134157 +0.738097 0.43649 0.51448 +0.17536 0.192953 0.408169 + +0.510708 0.129532 -0.84994 +-0.432842 0.8929 -0.124006 +0.742849 0.431221 0.512078 +0.173444 0.19184 0.408576 + +0.504391 0.135113 -0.852839 +-0.432125 0.894599 -0.113841 +0.747568 0.425953 0.509614 +0.171528 0.190727 0.408959 + +0.498073 0.140737 -0.855638 +-0.431322 0.896223 -0.103664 +0.752253 0.420688 0.507087 +0.169613 0.189614 0.409317 + +0.491755 0.146403 -0.858338 +-0.430435 0.897768 -0.0934748 +0.756903 0.415425 0.504499 +0.167697 0.188501 0.409651 + +0.485438 0.152109 -0.860937 +-0.429463 0.899237 -0.0832759 +0.76152 0.410166 0.501849 +0.165781 0.187387 0.409961 + +0.479122 0.157856 -0.863437 +-0.428406 0.900627 -0.073068 +0.766101 0.40491 0.499137 +0.163866 0.186274 0.410247 + +0.47281 0.163642 -0.865836 +-0.427266 0.901939 -0.0628523 +0.770646 0.399659 0.496364 +0.16195 0.185161 0.410509 + +0.468566 0.168641 -0.867183 +-0.428821 0.90163 -0.056365 +0.772372 0.398277 0.494789 +0.159582 0.184 0.411088 + +0.466335 0.172795 -0.867568 +-0.433146 0.899727 -0.0536244 +0.771308 0.40079 0.49442 +0.156762 0.182792 0.411985 + +0.464077 0.176933 -0.867944 +-0.437458 0.897798 -0.050883 +0.770236 0.403303 0.494048 +0.153942 0.181585 0.412858 + +0.46179 0.181056 -0.868314 +-0.441757 0.895842 -0.0481409 +0.769156 0.405814 0.493674 +0.151121 0.180377 0.413707 + +0.459476 0.185163 -0.868675 +-0.446043 0.89386 -0.0453981 +0.768068 0.408326 0.493297 +0.148301 0.179169 0.414532 + +0.457133 0.189254 -0.869029 +-0.450315 0.89185 -0.0426546 +0.766972 0.410836 0.492918 +0.145481 0.177962 0.415332 + +0.454763 0.193329 -0.869376 +-0.454574 0.889814 -0.0399105 +0.765867 0.413346 0.492537 +0.142661 0.176754 0.416108 + +0.452366 0.197387 -0.869715 +-0.45882 0.887752 -0.0371657 +0.764755 0.415855 0.492154 +0.139841 0.175547 0.41686 + +0.449941 0.201429 -0.870046 +-0.463051 0.885663 -0.0344203 +0.763634 0.418363 0.491768 +0.13702 0.174339 0.417588 + +0.447488 0.205455 -0.870369 +-0.467269 0.883548 -0.0316744 +0.762505 0.42087 0.49138 +0.1342 0.173132 0.418292 + +0.44485 0.207233 -0.8713 +-0.468428 0.883021 -0.0291398 +0.763337 0.421104 0.489885 +0.131658 0.171882 0.419024 + +0.441911 0.205936 -0.873101 +-0.465429 0.884676 -0.0269057 +0.766871 0.418256 0.486797 +0.129488 0.170569 0.419777 + +0.438724 0.201618 -0.875712 +-0.458221 0.888487 -0.0250052 +0.773017 0.41224 0.482186 +0.127685 0.169196 0.420561 + +0.435194 0.194802 -0.87901 +-0.447416 0.89402 -0.023385 +0.781297 0.40346 0.47623 +0.126205 0.167773 0.421377 + +0.431223 0.18554 -0.882962 +-0.432941 0.901152 -0.0220783 +0.791587 0.391791 0.468925 +0.125047 0.166302 0.422227 + +0.426853 0.174992 -0.887228 +-0.416265 0.909001 -0.0209824 +0.80282 0.378278 0.460853 +0.124075 0.164805 0.423092 + +0.422213 0.164637 -0.891421 +-0.39943 0.916547 -0.0199091 +0.813751 0.364466 0.452739 +0.123103 0.163309 0.423934 + +0.417308 0.154482 -0.895539 +-0.382443 0.923787 -0.0188586 +0.824373 0.350362 0.444584 +0.12213 0.161812 0.424752 + +0.412144 0.144533 -0.899582 +-0.365308 0.930716 -0.0178308 +0.834678 0.335974 0.436388 +0.121158 0.160316 0.425545 + +0.406726 0.134798 -0.90355 +-0.348032 0.937332 -0.016826 +0.844658 0.321308 0.428151 +0.120186 0.158819 0.426314 + +0.401062 0.125284 -0.907443 +-0.33062 0.943631 -0.0158441 +0.854307 0.306373 0.419876 +0.119213 0.157323 0.427059 + +0.395158 0.115996 -0.91126 +-0.313078 0.949611 -0.0148853 +0.863616 0.291178 0.411562 +0.118241 0.155827 0.42778 + +0.389019 0.106941 -0.915001 +-0.295412 0.955268 -0.0139496 +0.87258 0.275729 0.403209 +0.117269 0.15433 0.428477 + +0.382654 0.0981249 -0.918666 +-0.277628 0.9606 -0.0130371 +0.881191 0.260036 0.39482 +0.116296 0.152834 0.429149 + +0.376069 0.089554 -0.922254 +-0.259732 0.965604 -0.012148 +0.889444 0.244107 0.386394 +0.115324 0.151337 0.429798 + +0.369272 0.081234 -0.925764 +-0.24173 0.970278 -0.0112822 +0.897332 0.227951 0.377933 +0.114351 0.149841 0.430422 + +0.362269 0.0731703 -0.929197 +-0.223629 0.974618 -0.0104399 +0.904849 0.211578 0.369437 +0.113379 0.148345 0.431022 + +0.355067 0.0653683 -0.932552 +-0.205435 0.978624 -0.00962109 +0.911989 0.194995 0.360906 +0.112407 0.146848 0.431597 + +0.347676 0.0578332 -0.93583 +-0.187153 0.982291 -0.00882591 +0.918747 0.178212 0.352343 +0.111434 0.145352 0.432149 + +0.340101 0.05057 -0.939028 +-0.168791 0.985619 -0.00805438 +0.925117 0.161239 0.343746 +0.110462 0.143855 0.432676 + +0.332352 0.0435835 -0.942148 +-0.150355 0.988605 -0.00730659 +0.931094 0.144085 0.335118 +0.10949 0.142359 0.433179 + +0.324436 0.0368782 -0.945189 +-0.131851 0.991248 -0.0065826 +0.936673 0.12676 0.326458 +0.108517 0.140862 0.433658 + +0.31636 0.0304585 -0.94815 +-0.113287 0.993545 -0.00588246 +0.94185 0.109274 0.317769 +0.107545 0.139366 0.434113 + +0.308134 0.0243286 -0.951032 +-0.0946674 0.995495 -0.00520623 +0.946621 0.0916359 0.309049 +0.106573 0.13787 0.434544 + +0.299766 0.0184922 -0.953833 +-0.0760003 0.997097 -0.00455398 +0.950981 0.0738568 0.300301 +0.1056 0.136373 0.43495 + +0.291264 0.0129533 -0.956555 +-0.0572921 0.99835 -0.00392576 +0.954926 0.0559465 0.291525 +0.104628 0.134877 0.435332 + +0.282636 0.00771517 -0.959196 +-0.0385494 0.999251 -0.00332162 +0.958452 0.0379153 0.282722 +0.103656 0.13338 0.43569 + +0.273892 0.00278114 -0.961756 +-0.0197791 0.999801 -0.00274161 +0.961557 0.0197736 0.273892 +0.102683 0.131884 0.436024 + +0.26504 -0.00184578 -0.964236 +-0.00098787 0.999997 -0.00218577 +0.964237 0.00153186 0.265037 +0.101711 0.130388 0.436334 + +0.256088 -0.0061628 -0.966634 +0.0178174 0.99984 -0.00165416 +0.966489 -0.0167993 0.256157 +0.100739 0.128891 0.436619 + +0.247046 -0.0101674 -0.96895 +0.03663 0.999328 -0.00114682 +0.968311 -0.0352093 0.247253 +0.0997663 0.127395 0.436881 + +0.237923 -0.0138571 -0.971185 +0.0554429 0.998462 -0.000663794 +0.9697 -0.0536874 0.238325 +0.098794 0.125898 0.437118 + +0.230184 -0.018568 -0.97297 +0.0738513 0.997268 -0.00156006 +0.970341 -0.071496 0.230927 +0.0975447 0.124407 0.437402 + +0.224051 -0.0245159 -0.974269 +0.0915416 0.995793 -0.00400585 +0.970269 -0.0882886 0.225353 +0.0959736 0.122926 0.437742 + +0.219473 -0.0318306 -0.975099 +0.108742 0.994038 -0.00797353 +0.96954 -0.104284 0.221626 +0.0940799 0.121444 0.438144 + +0.214713 -0.0390071 -0.975898 +0.125896 0.991971 -0.0119505 +0.968529 -0.120295 0.2179 +0.0921862 0.119962 0.438521 + +0.209777 -0.0460413 -0.976665 +0.142998 0.989595 -0.0159366 +0.967236 -0.136318 0.214178 +0.0902925 0.11848 0.438874 + +0.204666 -0.0529292 -0.9774 +0.160042 0.986909 -0.0199317 +0.96566 -0.152345 0.210457 +0.0883988 0.116999 0.439202 + +0.199384 -0.0596666 -0.978103 +0.177022 0.983916 -0.0239357 +0.963799 -0.168373 0.20674 +0.0865051 0.115517 0.439507 + +0.193936 -0.0662498 -0.978775 +0.193933 0.980617 -0.0279483 +0.961654 -0.184397 0.203025 +0.0846114 0.114035 0.439787 + +0.188324 -0.0726749 -0.979414 +0.210769 0.977013 -0.0319696 +0.959224 -0.200409 0.199313 +0.0827177 0.112553 0.440043 + +0.182553 -0.0789381 -0.980022 +0.227524 0.973107 -0.0359993 +0.956508 -0.216407 0.195604 +0.080824 0.111071 0.440275 + +0.176626 -0.0850358 -0.980598 +0.244192 0.9689 -0.0400373 +0.953506 -0.232383 0.191898 +0.0789302 0.10959 0.440483 + +0.170547 -0.0909644 -0.981142 +0.260769 0.964394 -0.0440835 +0.950217 -0.248333 0.188195 +0.0770365 0.108108 0.440667 + +0.164321 -0.0967203 -0.981654 +0.277248 0.959592 -0.0481377 +0.946643 -0.264251 0.184496 +0.0751428 0.106626 0.440826 + +0.15795 -0.1023 -0.982134 +0.293624 0.954495 -0.0521997 +0.942781 -0.280133 0.180801 +0.0732491 0.105144 0.440961 + +0.151441 -0.107701 -0.982581 +0.309891 0.949106 -0.0562695 +0.938634 -0.295971 0.177109 +0.0713554 0.103662 0.441072 + +0.145715 -0.111971 -0.98297 +0.326326 0.943408 -0.0590901 +0.933958 -0.312159 0.174008 +0.0693565 0.102413 0.441301 + +0.141095 -0.114846 -0.983312 +0.343025 0.937391 -0.0602626 +0.928669 -0.328798 0.171656 +0.0672365 0.10153 0.441711 + +0.137566 -0.116456 -0.983623 +0.359663 0.931155 -0.0599428 +0.922886 -0.345527 0.16998 +0.0650016 0.10097 0.442278 + +0.135236 -0.116805 -0.983904 +0.376178 0.924726 -0.0580741 +0.916625 -0.362269 0.168995 +0.0626428 0.100733 0.442999 + +0.133788 -0.116324 -0.984159 +0.392656 0.918032 -0.05513 +0.909902 -0.37906 0.168497 +0.0602082 0.100742 0.443832 + +0.132857 -0.115431 -0.98439 +0.408871 0.911129 -0.051657 +0.902869 -0.395626 0.168247 +0.0577362 0.100873 0.444711 + +0.131993 -0.114538 -0.984611 +0.424961 0.903928 -0.0481837 +0.895537 -0.412062 0.167986 +0.0552642 0.101005 0.445566 + +0.131193 -0.113647 -0.984821 +0.44092 0.896432 -0.04471 +0.887906 -0.428362 0.167715 +0.0527921 0.101137 0.446396 + +0.130459 -0.112761 -0.985021 +0.456743 0.888643 -0.0412362 +0.879981 -0.444521 0.167434 +0.0503201 0.101269 0.447203 + +0.129788 -0.111882 -0.985209 +0.472423 0.880563 -0.0377623 +0.871763 -0.460535 0.167142 +0.0478481 0.1014 0.447985 + +0.129182 -0.11101 -0.985388 +0.487956 0.872194 -0.0342882 +0.863256 -0.476396 0.16684 +0.0453761 0.101532 0.448743 + +0.12864 -0.110149 -0.985555 +0.503336 0.863541 -0.0308141 +0.854462 -0.492102 0.166528 +0.0429041 0.101664 0.449476 + +0.128161 -0.1093 -0.985712 +0.518558 0.854605 -0.0273401 +0.845383 -0.507645 0.166205 +0.040432 0.101795 0.450186 + +0.127744 -0.108465 -0.985858 +0.533616 0.84539 -0.0238662 +0.836024 -0.523021 0.165872 +0.03796 0.101927 0.450871 + +0.127389 -0.107645 -0.985994 +0.548505 0.835899 -0.0203925 +0.826386 -0.538225 0.165529 +0.035488 0.102059 0.451532 + +0.127096 -0.106844 -0.986119 +0.56322 0.826134 -0.0169189 +0.816474 -0.553252 0.165175 +0.033016 0.102191 0.452169 + +0.126863 -0.106061 -0.986234 +0.577756 0.816099 -0.0134457 +0.80629 -0.568096 0.16481 +0.0305439 0.102322 0.452782 + +0.12669 -0.1053 -0.986337 +0.592107 0.805798 -0.00997286 +0.795838 -0.582754 0.164436 +0.0280719 0.102454 0.453371 + +0.126577 -0.104563 -0.98643 +0.606269 0.795233 -0.00650042 +0.785122 -0.59722 0.164051 +0.0255999 0.102586 0.453935 + +0.126521 -0.10385 -0.986513 +0.620237 0.784409 -0.00302846 +0.774144 -0.611489 0.163656 +0.0231279 0.102717 0.454475 + +0.126523 -0.103163 -0.986585 +0.634005 0.773328 0.000442957 +0.762908 -0.625556 0.16325 +0.0206559 0.102849 0.454991 + +0.126581 -0.102506 -0.986646 +0.64757 0.761996 0.00391376 +0.751419 -0.639417 0.162834 +0.0181838 0.102981 0.455483 + +0.126695 -0.101878 -0.986696 +0.660925 0.750415 0.0073839 +0.73968 -0.653068 0.162408 +0.0157118 0.103112 0.455951 + +0.126864 -0.101282 -0.986736 +0.674068 0.73859 0.0108533 +0.727694 -0.666504 0.161971 +0.0132398 0.103244 0.456394 + +0.127086 -0.100719 -0.986765 +0.686992 0.726524 0.0143219 +0.715466 -0.679719 0.161524 +0.0107678 0.103376 0.456813 + +0.127361 -0.100191 -0.986783 +0.699693 0.714222 0.0177897 +0.703 -0.692711 0.161067 +0.00829575 0.103508 0.457209 + +0.127686 -0.0997003 -0.986791 +0.712168 0.701688 0.0212565 +0.690299 -0.705475 0.160599 +0.00582373 0.103639 0.457579 + +0.128062 -0.0992475 -0.986788 +0.724411 0.688925 0.0247223 +0.677369 -0.718006 0.160121 +0.0033517 0.103771 0.457926 + +0.128487 -0.0988345 -0.986774 +0.736418 0.675939 0.0281871 +0.664213 -0.7303 0.159633 +0.000879681 0.103903 0.458249 + +0.12896 -0.0984628 -0.986749 +0.748185 0.662734 0.0316508 +0.650836 -0.742353 0.159135 +-0.00159234 0.104034 0.458547 + +0.129479 -0.0981339 -0.986714 +0.759709 0.649315 0.0351133 +0.637242 -0.754162 0.158626 +-0.00406436 0.104166 0.458821 + +0.130044 -0.0978491 -0.986668 +0.770984 0.635685 0.0385746 +0.623436 -0.765722 0.158107 +-0.00653639 0.104298 0.459071 + +0.130652 -0.0976101 -0.986612 +0.782007 0.62185 0.0420345 +0.609422 -0.777029 0.157578 +-0.00900841 0.10443 0.459297 + +0.131302 -0.097418 -0.986544 +0.792775 0.607815 0.0454931 +0.595204 -0.788081 0.157038 +-0.0114804 0.104561 0.459499 + +0.131994 -0.0972744 -0.986466 +0.803282 0.593584 0.0489503 +0.580788 -0.798872 0.156488 +-0.0139525 0.104693 0.459676 + +0.132725 -0.0971805 -0.986377 +0.813527 0.579161 0.052406 +0.566179 -0.8094 0.155928 +-0.0164245 0.104825 0.459829 + +0.133494 -0.0971375 -0.986278 +0.823504 0.564553 0.0558601 +0.55138 -0.819661 0.155358 +-0.0188965 0.104956 0.459958 + +0.1343 -0.0971468 -0.986167 +0.833211 0.549764 0.0593127 +0.536398 -0.829651 0.154777 +-0.0213685 0.105088 0.460063 + +0.13514 -0.0972096 -0.986046 +0.842645 0.5348 0.0627635 +0.521236 -0.839368 0.154186 +-0.0238405 0.10522 0.460144 + +0.136015 -0.097327 -0.985915 +0.851801 0.519665 0.0662126 +0.505901 -0.848809 0.153585 +-0.0263126 0.105352 0.460201 + +0.136921 -0.0975002 -0.985772 +0.860677 0.504364 0.0696599 +0.490396 -0.857969 0.152974 +-0.0287846 0.105483 0.460233 + +0.137857 -0.0977302 -0.985619 +0.869269 0.488903 0.0731053 +0.474728 -0.866846 0.152352 +-0.0312566 0.105615 0.460241 + +0.138821 -0.0980181 -0.985455 +0.877576 0.473288 0.0765488 +0.458901 -0.875438 0.151721 +-0.0337286 0.105747 0.460225 + +0.139813 -0.098365 -0.98528 +0.885593 0.457523 0.0799903 +0.44292 -0.88374 0.151079 +-0.0362007 0.105878 0.460185 + +0.140829 -0.0987718 -0.985095 +0.893317 0.441615 0.0834297 +0.426792 -0.891751 0.150427 +-0.0386727 0.10601 0.46012 + +0.141869 -0.0992394 -0.984898 +0.900748 0.425568 0.0868671 +0.41052 -0.899469 0.149765 +-0.0411447 0.106142 0.460032 + +0.142931 -0.0997688 -0.984691 +0.90788 0.409388 0.0903022 +0.394112 -0.906889 0.149092 +-0.0436167 0.106274 0.459919 + +0.144012 -0.100361 -0.984474 +0.914714 0.393081 0.0937351 +0.377571 -0.91401 0.14841 +-0.0460887 0.106405 0.459782 + +0.145111 -0.101016 -0.984245 +0.921244 0.376653 0.0971657 +0.360904 -0.92083 0.147717 +-0.0485608 0.106537 0.459621 + +0.146227 -0.101736 -0.984006 +0.927471 0.360109 0.100594 +0.344115 -0.927346 0.147014 +-0.0510328 0.106669 0.459435 + +0.147356 -0.10252 -0.983756 +0.933391 0.343455 0.10402 +0.327212 -0.933557 0.146301 +-0.0535048 0.1068 0.459226 + +0.148498 -0.10337 -0.983495 +0.939002 0.326697 0.107443 +0.310198 -0.939459 0.145578 +-0.0559768 0.106932 0.458992 + +0.149651 -0.104286 -0.983224 +0.944303 0.30984 0.110864 +0.293081 -0.945052 0.144845 +-0.0584489 0.107064 0.458734 + +0.150812 -0.105269 -0.982942 +0.949292 0.292891 0.114282 +0.275864 -0.950333 0.144102 +-0.0609209 0.107196 0.458452 + +0.15198 -0.106319 -0.982649 +0.953966 0.275855 0.117697 +0.258555 -0.955301 0.143349 +-0.0633929 0.107327 0.458146 + +0.15422 -0.105785 -0.982357 +0.957264 0.262203 0.122046 +0.244666 -0.959197 0.141701 +-0.0656746 0.107471 0.457855 + +0.158443 -0.102205 -0.982064 +0.958356 0.255259 0.128053 +0.237593 -0.961456 0.138393 +-0.0675955 0.107608 0.457658 + +0.16534 -0.0941131 -0.981736 +0.956417 0.258233 0.13632 +0.240687 -0.961488 0.132707 +-0.0690151 0.107766 0.457587 + +0.173448 -0.0838426 -0.981268 +0.953042 0.265444 0.145779 +0.248249 -0.960474 0.125946 +-0.0701972 0.107937 0.457542 + +0.181395 -0.0734487 -0.980664 +0.949541 0.272538 0.155226 +0.255867 -0.959337 0.11918 +-0.0713792 0.108107 0.457473 + +0.189178 -0.0629346 -0.979924 +0.945917 0.279514 0.164661 +0.263539 -0.958077 0.112409 +-0.0725612 0.108278 0.45738 + +0.196793 -0.0523033 -0.979049 +0.942172 0.286369 0.174082 +0.271264 -0.956691 0.105634 +-0.0737433 0.108449 0.457263 + +0.204238 -0.0415581 -0.978039 +0.938309 0.293102 0.183487 +0.279039 -0.955178 0.0988568 +-0.0749253 0.108619 0.457122 + +0.211511 -0.030702 -0.976893 +0.93433 0.29971 0.192876 +0.286863 -0.953536 0.0920779 +-0.0761073 0.10879 0.456956 + +0.21861 -0.0197385 -0.975613 +0.930238 0.306192 0.202248 +0.294733 -0.951765 0.0852982 +-0.0772894 0.108961 0.456766 + +0.225532 -0.00867086 -0.974197 +0.926035 0.312546 0.2116 +0.302647 -0.949863 0.0785187 +-0.0784714 0.109131 0.456553 + +0.232274 0.00249758 -0.972647 +0.921723 0.318771 0.220932 +0.310603 -0.947829 0.0717402 +-0.0796534 0.109302 0.456314 + +0.238836 0.0137634 -0.970962 +0.917307 0.324864 0.230242 +0.3186 -0.945661 0.0649638 +-0.0808355 0.109472 0.456052 + +0.245213 0.0251231 -0.969144 +0.912787 0.330824 0.23953 +0.326634 -0.943358 0.0581903 +-0.0820175 0.109643 0.455766 + +0.251405 0.0365732 -0.967191 +0.908168 0.336649 0.248793 +0.334703 -0.94092 0.0514208 +-0.0831995 0.109814 0.455455 + +0.257409 0.0481102 -0.965104 +0.903451 0.342339 0.258031 +0.342807 -0.938344 0.044656 +-0.0843816 0.109984 0.45512 + +0.263224 0.0597305 -0.962884 +0.89864 0.347891 0.267242 +0.350941 -0.93563 0.037897 +-0.0855636 0.110155 0.454761 + +0.268847 0.0714304 -0.960531 +0.893737 0.353304 0.276426 +0.359104 -0.932778 0.0311447 +-0.0867456 0.110326 0.454378 + +0.274277 0.0832063 -0.958044 +0.888745 0.358576 0.28558 +0.367294 -0.929785 0.0244 +-0.0879277 0.110496 0.453971 + +0.279511 0.0950544 -0.955426 +0.883667 0.363707 0.294703 +0.375508 -0.926651 0.0176638 +-0.0891097 0.110667 0.453539 + +0.284549 0.106971 -0.952675 +0.878506 0.368695 0.303795 +0.383744 -0.923375 0.0109371 +-0.0902917 0.110838 0.453083 + +0.289388 0.118953 -0.949792 +0.873265 0.373539 0.312854 +0.391999 -0.919956 0.00422077 +-0.0914738 0.111008 0.452603 + +0.294028 0.130995 -0.946778 +0.867946 0.378238 0.321878 +0.400272 -0.916393 -0.00248425 +-0.0926558 0.111179 0.452099 + +0.298465 0.143095 -0.943633 +0.862553 0.38279 0.330868 +0.408559 -0.912686 -0.00917704 +-0.0938378 0.11135 0.451571 + +0.3027 0.155247 -0.940357 +0.857089 0.387195 0.33982 +0.416858 -0.908833 -0.0158567 +-0.0950199 0.11152 0.451018 + +0.306731 0.167449 -0.936951 +0.851557 0.391452 0.348735 +0.425167 -0.904835 -0.0225222 +-0.0962019 0.111691 0.450442 + +0.310556 0.179697 -0.933415 +0.845959 0.39556 0.35761 +0.433483 -0.900689 -0.0291728 +-0.0973839 0.111862 0.449841 + +0.314175 0.191986 -0.92975 +0.8403 0.399518 0.366445 +0.441804 -0.896397 -0.0358075 +-0.098566 0.112032 0.449216 + +0.317585 0.204312 -0.925957 +0.834581 0.403325 0.375239 +0.450127 -0.891956 -0.0424253 +-0.099748 0.112203 0.448567 + +0.320787 0.216672 -0.922035 +0.828806 0.40698 0.383989 +0.45845 -0.887367 -0.0490254 +-0.10093 0.112373 0.447893 + +0.323779 0.229062 -0.917986 +0.822978 0.410483 0.392696 +0.466769 -0.882629 -0.0556069 +-0.102112 0.112544 0.447195 + +0.326561 0.241476 -0.913809 +0.817101 0.413833 0.401357 +0.475083 -0.877742 -0.0621688 +-0.103294 0.112715 0.446474 + +0.329131 0.253912 -0.909506 +0.811177 0.417031 0.409973 +0.483389 -0.872705 -0.0687103 +-0.104476 0.112885 0.445728 + +0.331489 0.266366 -0.905077 +0.805209 0.420074 0.41854 +0.491684 -0.867518 -0.0752304 +-0.105658 0.113056 0.444958 + +0.333634 0.278832 -0.900523 +0.799202 0.422963 0.427059 +0.499965 -0.86218 -0.0817283 +-0.10684 0.113227 0.444163 + +0.335565 0.291307 -0.895844 +0.793157 0.425697 0.435528 +0.508231 -0.856692 -0.088203 +-0.108022 0.113397 0.443345 + +0.337283 0.303787 -0.891041 +0.787078 0.428277 0.443945 +0.516477 -0.851054 -0.0946537 +-0.109204 0.113568 0.442502 + +0.338787 0.316268 -0.886114 +0.780968 0.430701 0.452311 +0.524702 -0.845264 -0.101079 +-0.110386 0.113739 0.441635 + +0.340076 0.328746 -0.881064 +0.774831 0.432971 0.460623 +0.532903 -0.839323 -0.107479 +-0.111568 0.113909 0.440744 + +0.34115 0.341215 -0.875893 +0.768669 0.435085 0.468881 +0.541077 -0.833231 -0.113853 +-0.11275 0.11408 0.439829 + +0.342009 0.353673 -0.8706 +0.762486 0.437043 0.477082 +0.549221 -0.826988 -0.120198 +-0.113932 0.114251 0.438889 + +0.342654 0.366115 -0.865187 +0.756286 0.438846 0.485227 +0.557333 -0.820593 -0.126516 +-0.115114 0.114421 0.437925 + +0.343083 0.378537 -0.859653 +0.75007 0.440494 0.493315 +0.56541 -0.814048 -0.132803 +-0.116296 0.114592 0.436938 + +0.343297 0.390934 -0.854001 +0.743843 0.441987 0.501343 +0.573449 -0.807352 -0.139061 +-0.117479 0.114763 0.435926 + +0.343296 0.403303 -0.84823 +0.737608 0.443325 0.509311 +0.581448 -0.800506 -0.145288 +-0.118661 0.114933 0.434889 + +0.343081 0.415639 -0.842342 +0.731368 0.444508 0.517217 +0.589404 -0.793509 -0.151483 +-0.119843 0.115104 0.433829 + +0.342652 0.427938 -0.836336 +0.725125 0.445537 0.525062 +0.597313 -0.786362 -0.157645 +-0.121025 0.115274 0.432744 + +0.342009 0.440196 -0.830215 +0.718884 0.446413 0.532842 +0.605174 -0.779066 -0.163773 +-0.122207 0.115445 0.431636 + +0.341153 0.452409 -0.823979 +0.712648 0.447135 0.540559 +0.612983 -0.77162 -0.169867 +-0.123389 0.115616 0.430503 + +0.340084 0.464572 -0.817629 +0.706419 0.447704 0.54821 +0.620738 -0.764025 -0.175925 +-0.124571 0.115786 0.429346 + +0.338803 0.476681 -0.811165 +0.700201 0.448121 0.555794 +0.628436 -0.756283 -0.181948 +-0.125753 0.115957 0.428164 + +0.337311 0.488732 -0.804588 +0.693997 0.448386 0.563311 +0.636074 -0.748392 -0.187933 +-0.126935 0.116128 0.426959 + +0.335608 0.500722 -0.7979 +0.68781 0.4485 0.570758 +0.64365 -0.740355 -0.193881 +-0.128117 0.116298 0.425729 + +0.333696 0.512645 -0.791102 +0.681643 0.448465 0.578137 +0.65116 -0.732171 -0.19979 +-0.129299 0.116469 0.424475 + +0.331576 0.524498 -0.784194 +0.6755 0.44828 0.585444 +0.658603 -0.723841 -0.205659 +-0.130481 0.11664 0.423197 + +0.329248 0.536277 -0.777176 +0.669383 0.447948 0.59268 +0.665975 -0.715367 -0.211489 +-0.131663 0.11681 0.421895 + +0.326714 0.547977 -0.770052 +0.663296 0.447468 0.599843 +0.673273 -0.706749 -0.217277 +-0.132845 0.116981 0.420568 + +0.323975 0.559595 -0.76282 +0.657241 0.446842 0.606932 +0.680496 -0.697987 -0.223023 +-0.134027 0.117152 0.419218 + +0.321032 0.571126 -0.755482 +0.651223 0.44607 0.613946 +0.687639 -0.689084 -0.228727 +-0.135209 0.117322 0.417843 + +0.317887 0.582567 -0.74804 +0.645243 0.445155 0.620885 +0.694701 -0.680039 -0.234387 +-0.136391 0.117493 0.416444 + +0.314542 0.593913 -0.740494 +0.639304 0.444098 0.627748 +0.701679 -0.670854 -0.240003 +-0.137573 0.117663 0.415021 + +0.310997 0.60516 -0.732845 +0.633411 0.442899 0.634532 +0.70857 -0.66153 -0.245574 +-0.138755 0.117834 0.413573 + +0.307255 0.616305 -0.725095 +0.627565 0.44156 0.641239 +0.715371 -0.652068 -0.2511 +-0.139937 0.118005 0.412102 + +0.303318 0.627344 -0.717243 +0.62177 0.440083 0.647865 +0.722081 -0.642469 -0.256578 +-0.141119 0.118175 0.410606 + +0.299186 0.638272 -0.709293 +0.616028 0.438468 0.654412 +0.728695 -0.632735 -0.26201 +-0.142301 0.118346 0.409086 + +0.294863 0.649087 -0.701243 +0.610343 0.436719 0.660877 +0.735213 -0.622867 -0.267393 +-0.143483 0.118517 0.407542 + +0.29035 0.659783 -0.693097 +0.604717 0.434835 0.66726 +0.74163 -0.612866 -0.272728 +-0.144665 0.118687 0.405974 + +0.285648 0.670358 -0.684854 +0.599153 0.432819 0.67356 +0.747944 -0.602734 -0.278013 +-0.145847 0.118858 0.404381 + +0.280761 0.680807 -0.676517 +0.593654 0.430673 0.679777 +0.754154 -0.592472 -0.283248 +-0.147029 0.119029 0.402765 + +0.275691 0.691127 -0.668085 +0.588222 0.428398 0.685908 +0.760256 -0.582081 -0.288431 +-0.148211 0.119199 0.401124 + +0.270439 0.701315 -0.65956 +0.582861 0.425996 0.691954 +0.766248 -0.571564 -0.293563 +-0.149393 0.11937 0.399459 + +0.265009 0.711366 -0.650944 +0.577573 0.423469 0.697914 +0.772127 -0.560921 -0.298643 +-0.150575 0.119541 0.39777 + +0.259402 0.721277 -0.642238 +0.57236 0.420819 0.703786 +0.777891 -0.550155 -0.303669 +-0.151758 0.119711 0.396056 + +0.253621 0.731045 -0.633443 +0.567226 0.418048 0.709571 +0.783538 -0.539267 -0.308642 +-0.15294 0.119882 0.394319 + +0.247669 0.740666 -0.624559 +0.562172 0.415158 0.715266 +0.789064 -0.528259 -0.31356 +-0.154122 0.120053 0.392557 + +0.242405 0.748854 -0.616813 +0.559174 0.411709 0.719597 +0.79282 -0.51934 -0.318939 +-0.155205 0.120025 0.390868 + +0.238742 0.75448 -0.61136 +0.559959 0.407397 0.721439 +0.793378 -0.514575 -0.325215 +-0.156057 0.119643 0.389368 + +0.237198 0.756785 -0.609109 +0.565723 0.402112 0.719906 +0.789743 -0.515347 -0.33275 +-0.156609 0.118756 0.388122 + +0.237592 0.756058 -0.609858 +0.575937 0.395928 0.715219 +0.782207 -0.52117 -0.341372 +-0.156853 0.117419 0.387133 + +0.239718 0.753131 -0.612642 +0.589314 0.388603 0.708306 +0.771521 -0.530832 -0.350675 +-0.156891 0.115772 0.386324 + +0.241913 0.749801 -0.615854 +0.603126 0.380994 0.700773 +0.760077 -0.540963 -0.360057 +-0.156886 0.114047 0.38553 + +0.244027 0.746529 -0.618988 +0.616745 0.373103 0.693123 +0.748382 -0.550898 -0.369371 +-0.156882 0.112322 0.384712 + +0.246062 0.743315 -0.622042 +0.630166 0.364933 0.685357 +0.73644 -0.560631 -0.378616 +-0.156877 0.110597 0.383869 + +0.248022 0.740161 -0.625017 +0.643383 0.356491 0.677475 +0.724254 -0.570154 -0.38779 +-0.156872 0.108871 0.383003 + +0.249908 0.73707 -0.627912 +0.656389 0.347779 0.66948 +0.711828 -0.579463 -0.396892 +-0.156868 0.107146 0.382112 + +0.251724 0.734043 -0.630727 +0.669178 0.338804 0.661372 +0.699168 -0.588551 -0.40592 +-0.156863 0.105421 0.381197 + +0.253472 0.731081 -0.63346 +0.681744 0.329571 0.653152 +0.686278 -0.597414 -0.414873 +-0.156859 0.103696 0.380258 + +0.255156 0.728187 -0.636113 +0.694082 0.320084 0.644823 +0.673161 -0.606044 -0.42375 +-0.156854 0.101971 0.379294 + +0.256778 0.725362 -0.638683 +0.706185 0.310349 0.636385 +0.659824 -0.614438 -0.432549 +-0.15685 0.100245 0.378307 + +0.258341 0.722606 -0.641171 +0.718049 0.300372 0.627839 +0.64627 -0.622589 -0.441269 +-0.156845 0.0985202 0.377295 + +0.259848 0.719922 -0.643577 +0.729668 0.290158 0.619187 +0.632505 -0.630492 -0.449908 +-0.156841 0.096795 0.376259 + +0.261303 0.717311 -0.645899 +0.741037 0.279713 0.61043 +0.618534 -0.638142 -0.458464 +-0.156836 0.0950698 0.375199 + +0.262708 0.714774 -0.648138 +0.75215 0.269042 0.60157 +0.604363 -0.645535 -0.466938 +-0.156832 0.0933446 0.374115 + +0.264067 0.712311 -0.650293 +0.763003 0.258152 0.592608 +0.589996 -0.652664 -0.475326 +-0.156827 0.0916194 0.373007 + +0.265382 0.709925 -0.652364 +0.773591 0.247049 0.583545 +0.575439 -0.659525 -0.483628 +-0.156823 0.0898941 0.371874 + +0.266658 0.707615 -0.654351 +0.783908 0.235739 0.574382 +0.560698 -0.666114 -0.491843 +-0.156818 0.0881689 0.370717 + +0.267114 0.705583 -0.656356 +0.793398 0.225565 0.565368 +0.546965 -0.671769 -0.499556 +-0.15687 0.0865726 0.369573 + +0.264576 0.704458 -0.658589 +0.800628 0.22024 0.557216 +0.537582 -0.67471 -0.505738 +-0.157075 0.0853706 0.368448 + +0.258688 0.704298 -0.661093 +0.805475 0.220491 0.550085 +0.533189 -0.674795 -0.510256 +-0.157463 0.0846317 0.367363 + +0.248952 0.705192 -0.663872 +0.807781 0.226984 0.544029 +0.534334 -0.671701 -0.513133 +-0.158038 0.0843957 0.366333 + +0.235364 0.706957 -0.666945 +0.807434 0.23973 0.539055 +0.540975 -0.665388 -0.514398 +-0.158804 0.084661 0.365359 + +0.218248 0.709257 -0.670315 +0.80436 0.25821 0.535101 +0.552606 -0.655959 -0.514144 +-0.159756 0.0853834 0.364424 + +0.19784 0.711762 -0.673984 +0.798388 0.281913 0.532073 +0.568715 -0.643366 -0.512488 +-0.160883 0.0865224 0.363523 + +0.175326 0.714012 -0.677826 +0.790158 0.308652 0.529512 +0.587291 -0.628427 -0.510068 +-0.162135 0.0879543 0.362692 + +0.151032 0.715775 -0.681803 +0.779577 0.337846 0.52737 +0.607823 -0.611167 -0.506977 +-0.163474 0.0896062 0.361883 + +0.126793 0.716697 -0.685762 +0.767936 0.366667 0.525195 +0.627852 -0.593212 -0.503886 +-0.164813 0.0912581 0.36105 + +0.102641 0.716782 -0.689702 +0.755248 0.395078 0.522986 +0.647353 -0.574575 -0.500797 +-0.166152 0.0929101 0.360192 + +0.078603 0.716037 -0.693623 +0.741527 0.423041 0.520743 +0.666302 -0.555273 -0.497708 +-0.167491 0.094562 0.359311 + +0.0547093 0.714468 -0.697526 +0.726791 0.450519 0.518467 +0.684677 -0.53532 -0.494621 +-0.16883 0.0962139 0.358405 + +0.0309882 0.712085 -0.701409 +0.711055 0.477475 0.516157 +0.702453 -0.514735 -0.491535 +-0.170169 0.0978658 0.357475 + +0.00746794 0.708896 -0.705273 +0.694339 0.503874 0.513814 +0.719609 -0.493536 -0.488451 +-0.171508 0.0995177 0.356521 + +-0.0148007 0.704709 -0.709342 +0.677224 0.528991 0.511405 +0.735628 -0.472815 -0.485076 +-0.172943 0.101169 0.355557 + +-0.0357923 0.699623 -0.713615 +0.659816 0.552852 0.508918 +0.750574 -0.452639 -0.48141 +-0.174475 0.102817 0.354581 + +-0.0554881 0.693735 -0.71809 +0.642213 0.575484 0.50634 +0.764515 -0.433071 -0.477458 +-0.176104 0.10446 0.353593 + +-0.0734221 0.687098 -0.722845 +0.62482 0.596611 0.503641 +0.777309 -0.41467 -0.473117 +-0.177876 0.106089 0.352605 + +-0.0893401 0.679742 -0.72799 +0.607831 0.616233 0.500798 +0.789025 -0.397753 -0.468222 +-0.179839 0.107717 0.351623 + +-0.103367 0.671772 -0.733511 +0.591254 0.634522 0.497795 +0.799833 -0.382236 -0.462777 +-0.181993 0.109342 0.35065 + +-0.117069 0.663473 -0.738985 +0.574168 0.652355 0.494736 +0.810325 -0.366383 -0.457316 +-0.184147 0.110967 0.349652 + +-0.130438 0.654856 -0.744412 +0.556584 0.669718 0.491622 +0.820488 -0.350201 -0.451839 +-0.186301 0.112593 0.34863 + +-0.143466 0.645933 -0.749792 +0.538515 0.686598 0.488452 +0.830313 -0.333698 -0.446348 +-0.188456 0.114218 0.347584 + +-0.156144 0.636714 -0.755125 +0.519974 0.702981 0.485227 +0.839789 -0.31688 -0.440842 +-0.19061 0.115843 0.346513 + +-0.168466 0.627213 -0.760409 +0.500976 0.718853 0.481947 +0.848906 -0.299755 -0.435322 +-0.192764 0.117468 0.345418 + +-0.180424 0.617442 -0.765646 +0.481535 0.734203 0.478612 +0.857654 -0.282332 -0.429788 +-0.194918 0.119093 0.3443 + +-0.192012 0.607411 -0.770833 +0.461665 0.749019 0.475223 +0.866024 -0.264618 -0.424241 +-0.197073 0.120719 0.343157 + +-0.203223 0.597135 -0.775971 +0.44138 0.763288 0.471779 +0.874004 -0.246622 -0.418681 +-0.199227 0.122344 0.341989 + +-0.214052 0.586625 -0.781059 +0.420697 0.776998 0.468281 +0.881587 -0.228353 -0.41311 +-0.201381 0.123969 0.340798 + +-0.224493 0.575894 -0.786097 +0.399631 0.79014 0.46473 +0.888762 -0.20982 -0.407526 +-0.203535 0.125594 0.339582 + +-0.234541 0.564956 -0.791085 +0.378196 0.802703 0.461125 +0.895521 -0.191033 -0.40193 +-0.205689 0.12722 0.338343 + +-0.244191 0.553823 -0.796022 +0.35641 0.814675 0.457467 +0.901855 -0.172002 -0.396324 +-0.207844 0.128845 0.337079 + +-0.253439 0.542508 -0.800908 +0.334289 0.826049 0.453755 +0.907755 -0.152736 -0.390707 +-0.209998 0.13047 0.335791 + +-0.262281 0.531025 -0.805742 +0.31185 0.836814 0.449992 +0.913213 -0.133246 -0.38508 +-0.212152 0.132095 0.334478 + +-0.270714 0.519388 -0.810525 +0.289108 0.846962 0.446175 +0.918221 -0.113544 -0.379444 +-0.214306 0.133721 0.333142 + +-0.278735 0.507609 -0.815255 +0.266082 0.856484 0.442306 +0.922771 -0.0936387 -0.373798 +-0.21646 0.135346 0.331781 + +-0.286341 0.495702 -0.819932 +0.242789 0.865373 0.438386 +0.926856 -0.0735429 -0.368143 +-0.218615 0.136971 0.330396 + +-0.29353 0.48368 -0.824556 +0.219247 0.873622 0.434414 +0.930468 -0.0532676 -0.36248 +-0.220769 0.138596 0.328987 + +-0.300301 0.471558 -0.829127 +0.195472 0.881224 0.43039 +0.933601 -0.0328247 -0.356809 +-0.222923 0.140222 0.327554 + +-0.30368 0.462147 -0.833186 +0.182623 0.886504 0.425159 +0.935108 -0.0230462 -0.353612 +-0.224833 0.14144 0.326115 + +-0.303294 0.456114 -0.836644 +0.183996 0.889509 0.418234 +0.934964 -0.0270914 -0.353706 +-0.226407 0.14211 0.324631 + +-0.299136 0.453764 -0.839414 +0.200933 0.889925 0.409463 +0.932815 -0.0461807 -0.357385 +-0.227617 0.142195 0.323122 + +-0.29236 0.454167 -0.841581 +0.229086 0.887668 0.399455 +0.928464 -0.0760094 -0.363562 +-0.228574 0.14188 0.321615 + +-0.285231 0.455083 -0.84353 +0.259346 0.883904 0.38917 +0.922704 -0.107763 -0.37014 +-0.229479 0.141485 0.320076 + +-0.278295 0.455947 -0.845378 +0.289491 0.879036 0.378801 +0.915831 -0.13931 -0.376624 +-0.230383 0.14109 0.318512 + +-0.271551 0.456773 -0.847124 +0.319479 0.873069 0.368352 +0.907851 -0.170612 -0.383013 +-0.231287 0.140694 0.316924 + +-0.264994 0.457573 -0.848767 +0.34927 0.86601 0.357823 +0.898771 -0.201628 -0.389304 +-0.232192 0.140299 0.315312 + +-0.25862 0.458359 -0.850307 +0.378821 0.857867 0.347216 +0.8886 -0.232317 -0.395498 +-0.233096 0.139904 0.313675 + +-0.252423 0.459145 -0.851744 +0.408093 0.848649 0.336534 +0.87735 -0.262642 -0.401593 +-0.234 0.139508 0.312015 + +-0.246398 0.459941 -0.853078 +0.437045 0.838368 0.325777 +0.865032 -0.292563 -0.407587 +-0.234904 0.139113 0.31033 + +-0.240538 0.46076 -0.854308 +0.465636 0.827037 0.314948 +0.85166 -0.32204 -0.413481 +-0.235809 0.138718 0.308621 + +-0.234837 0.461612 -0.855433 +0.493828 0.814671 0.304048 +0.837249 -0.351036 -0.419272 +-0.236713 0.138322 0.306888 + +-0.229286 0.462508 -0.856454 +0.521582 0.801284 0.293079 +0.821815 -0.379512 -0.424959 +-0.237617 0.137927 0.305131 + +-0.224827 0.464736 -0.856431 +0.542954 0.789585 0.285929 +0.809107 -0.400718 -0.42985 +-0.238088 0.137587 0.303711 + +-0.221166 0.468896 -0.855115 +0.55689 0.780536 0.283967 +0.800599 -0.413402 -0.433751 +-0.237986 0.137293 0.302746 + +-0.218363 0.475308 -0.852291 +0.562491 0.774991 0.288085 +0.797447 -0.416499 -0.436586 +-0.237214 0.137062 0.30232 + +-0.216344 0.484016 -0.847894 +0.560016 0.772908 0.29832 +0.799736 -0.410294 -0.438271 +-0.235766 0.136882 0.302428 + +-0.215186 0.494484 -0.842129 +0.550954 0.773461 0.31338 +0.806315 -0.396539 -0.438876 +-0.233777 0.136757 0.302947 + +-0.215066 0.505768 -0.835431 +0.537708 0.775432 0.331022 +0.81524 -0.378026 -0.438725 +-0.231497 0.136661 0.303689 + +-0.215338 0.517012 -0.828449 +0.524338 0.776904 0.348553 +0.823832 -0.359331 -0.438386 +-0.229218 0.136566 0.304407 + +-0.216003 0.528201 -0.821186 +0.51086 0.777875 0.365967 +0.832084 -0.340461 -0.43786 +-0.226939 0.13647 0.305101 + +-0.21706 0.539322 -0.813644 +0.49729 0.778342 0.383258 +0.839993 -0.321427 -0.437146 +-0.22466 0.136375 0.305771 + +-0.218509 0.550362 -0.805826 +0.483642 0.778303 0.400419 +0.847552 -0.302236 -0.436244 +-0.22238 0.136279 0.306416 + +-0.220351 0.561306 -0.797735 +0.469932 0.777756 0.417444 +0.854757 -0.282897 -0.435155 +-0.220101 0.136184 0.307038 + +-0.222584 0.572142 -0.789373 +0.456176 0.776701 0.434326 +0.861603 -0.263419 -0.433879 +-0.217822 0.136088 0.307635 + +-0.225207 0.582856 -0.780744 +0.442391 0.775135 0.45106 +0.868085 -0.243812 -0.432416 +-0.215543 0.135992 0.308208 + +-0.228218 0.593434 -0.77185 +0.428592 0.77306 0.46764 +0.8742 -0.224084 -0.430767 +-0.213263 0.135897 0.308757 + +-0.231615 0.603863 -0.762695 +0.414794 0.770476 0.484059 +0.879943 -0.204246 -0.428933 +-0.210984 0.135801 0.309281 + +-0.235395 0.61413 -0.753282 +0.401014 0.767382 0.500312 +0.885312 -0.184306 -0.426913 +-0.208705 0.135706 0.309782 + +-0.239554 0.624221 -0.743615 +0.387269 0.763782 0.516392 +0.890302 -0.164275 -0.424708 +-0.206426 0.13561 0.310258 + +-0.244089 0.634122 -0.733696 +0.373573 0.759675 0.532294 +0.89491 -0.144161 -0.422319 +-0.204146 0.135514 0.31071 + +-0.248997 0.643821 -0.72353 +0.359943 0.755066 0.548012 +0.899134 -0.123976 -0.419748 +-0.201867 0.135419 0.311138 + +-0.254272 0.653305 -0.713119 +0.346395 0.749956 0.56354 +0.902971 -0.103729 -0.416994 +-0.199588 0.135323 0.311542 + +-0.259909 0.662559 -0.702469 +0.332945 0.744349 0.578872 +0.906419 -0.0834292 -0.414059 +-0.197309 0.135228 0.311921 + +-0.268702 0.668737 -0.693246 +0.319552 0.740844 0.590794 +0.908673 -0.0627805 -0.412762 +-0.194904 0.134723 0.312371 + +-0.27864 0.671707 -0.686418 +0.306614 0.739539 0.599225 +0.910136 -0.0434971 -0.41202 +-0.192738 0.133913 0.312882 + +-0.290101 0.671185 -0.682167 +0.29338 0.740873 0.604182 +0.910917 -0.0248611 -0.41184 +-0.190921 0.132811 0.313516 + +-0.303026 0.66727 -0.680387 +0.279915 0.744784 0.60576 +0.910946 -0.00688984 -0.412468 +-0.189474 0.131379 0.314304 + +-0.317476 0.659585 -0.68129 +0.266127 0.751559 0.603602 +0.910157 0.01032 -0.414135 +-0.188459 0.129579 0.31527 + +-0.329685 0.650936 -0.683805 +0.252306 0.758705 0.60059 +0.909752 0.025477 -0.414369 +-0.188185 0.127823 0.316356 + +-0.339519 0.641415 -0.687978 +0.238507 0.766228 0.596665 +0.909858 0.0384915 -0.413131 +-0.188657 0.126107 0.31755 + +-0.347212 0.631037 -0.693712 +0.224577 0.77416 0.591813 +0.910499 0.0496932 -0.410514 +-0.189833 0.124425 0.318833 + +-0.353394 0.619728 -0.70075 +0.210023 0.782523 0.58613 +0.911594 0.0599616 -0.406696 +-0.191634 0.122773 0.320218 + +-0.358672 0.607386 -0.708828 +0.194369 0.791303 0.579707 +0.913003 0.0701504 -0.401875 +-0.193933 0.121162 0.321687 + +-0.363067 0.593992 -0.717882 +0.177574 0.800445 0.572499 +0.914686 0.080378 -0.396093 +-0.196604 0.119616 0.32317 + +-0.367087 0.580502 -0.726818 +0.160596 0.809186 0.565178 +0.916218 0.0907459 -0.390268 +-0.199274 0.118069 0.324628 + +-0.370729 0.566925 -0.735633 +0.143442 0.817523 0.557746 +0.917597 0.101252 -0.384401 +-0.201945 0.116523 0.326062 + +-0.373991 0.553273 -0.744325 +0.126124 0.825451 0.550203 +0.918816 0.111893 -0.378492 +-0.204616 0.114977 0.327472 + +-0.37687 0.539555 -0.752894 +0.108652 0.832966 0.542552 +0.919872 0.122668 -0.372544 +-0.207287 0.113431 0.328857 + +-0.379365 0.525783 -0.761337 +0.0910347 0.840066 0.534792 +0.920758 0.133573 -0.366556 +-0.209957 0.111884 0.330219 + +-0.37961 0.513644 -0.769459 +0.0791384 0.846695 0.52616 +0.921756 0.138842 -0.362063 +-0.2125 0.110078 0.331531 + +-0.377106 0.503831 -0.777139 +0.0753685 0.853 0.51644 +0.923098 0.136181 -0.359645 +-0.214869 0.107929 0.332815 + +-0.372068 0.496317 -0.784369 +0.0799169 0.859029 0.50565 +0.924759 0.125452 -0.359282 +-0.21706 0.105441 0.334072 + +-0.367118 0.488672 -0.79147 +0.0845723 0.864895 0.494778 +0.926322 0.114706 -0.358847 +-0.219252 0.102953 0.335305 + +-0.362259 0.480897 -0.79844 +0.0893323 0.870594 0.483824 +0.927787 0.103943 -0.35834 +-0.221443 0.100465 0.336513 + +-0.357492 0.472995 -0.805279 +0.0941947 0.876125 0.472791 +0.929154 0.0931663 -0.357762 +-0.223634 0.0979768 0.337698 + +-0.352821 0.464969 -0.811986 +0.099157 0.881486 0.461681 +0.930422 0.0823768 -0.357112 +-0.225825 0.0954886 0.338858 + +-0.348247 0.45682 -0.818559 +0.104217 0.886675 0.450496 +0.931592 0.0715764 -0.35639 +-0.228017 0.0930004 0.339994 + +-0.343773 0.448552 -0.824998 +0.109371 0.891689 0.439237 +0.932662 0.0607667 -0.355597 +-0.230208 0.0905122 0.341106 + +-0.339401 0.440166 -0.831301 +0.114618 0.896526 0.427906 +0.933632 0.0499495 -0.354733 +-0.232399 0.0880241 0.342194 + +-0.335133 0.431666 -0.837466 +0.119955 0.901184 0.416506 +0.934503 0.0391265 -0.353798 +-0.234591 0.0855359 0.343258 + +-0.330972 0.423054 -0.843494 +0.125379 0.905662 0.405038 +0.935274 0.0282995 -0.352791 +-0.236782 0.0830477 0.344297 + +-0.326919 0.414333 -0.849383 +0.130888 0.909958 0.393504 +0.935945 0.01747 -0.351714 +-0.238973 0.0805596 0.345312 + +-0.322977 0.405505 -0.855133 +0.136478 0.914069 0.381906 +0.936515 0.00664 -0.350566 +-0.241165 0.0780714 0.346303 + +-0.319147 0.396573 -0.860741 +0.142147 0.917993 0.370246 +0.936984 -0.00418893 -0.349347 +-0.243356 0.0755832 0.34727 + +-0.315432 0.387541 -0.866207 +0.147893 0.92173 0.358526 +0.937353 -0.015015 -0.348058 +-0.245547 0.073095 0.348213 + +-0.311834 0.37841 -0.87153 +0.153712 0.925277 0.346748 +0.93762 -0.0258365 -0.346699 +-0.247739 0.0706069 0.349131 + +-0.308354 0.369184 -0.87671 +0.159601 0.928633 0.334914 +0.937787 -0.0366517 -0.34527 +-0.24993 0.0681187 0.350025 + +-0.304995 0.359866 -0.881745 +0.165558 0.931796 0.323027 +0.937853 -0.0474589 -0.343772 +-0.252121 0.0656305 0.350895 + +-0.301757 0.350458 -0.886635 +0.17158 0.934765 0.311087 +0.937818 -0.0582562 -0.342203 +-0.254312 0.0631424 0.351741 + +-0.298643 0.340964 -0.891379 +0.177663 0.937538 0.299097 +0.937682 -0.069042 -0.340566 +-0.256504 0.0606542 0.352563 + +-0.295655 0.331387 -0.895975 +0.183805 0.940113 0.287059 +0.937445 -0.0798145 -0.33886 +-0.258695 0.058166 0.353361 + +-0.292794 0.321729 -0.900423 +0.190003 0.94249 0.274976 +0.937107 -0.090572 -0.337085 +-0.260886 0.0556778 0.354134 + +-0.290062 0.311994 -0.904723 +0.196253 0.944667 0.262848 +0.936669 -0.101313 -0.335242 +-0.263078 0.0531897 0.354883 + +-0.28746 0.302185 -0.908873 +0.202553 0.946643 0.250679 +0.93613 -0.112035 -0.333331 +-0.265269 0.0507015 0.355608 + +-0.28499 0.292305 -0.912874 +0.208899 0.948416 0.23847 +0.93549 -0.122737 -0.331352 +-0.26746 0.0482133 0.356309 + +-0.282653 0.282358 -0.916723 +0.215289 0.949986 0.226223 +0.93475 -0.133417 -0.329305 +-0.269652 0.0457252 0.356985 + +-0.280451 0.272345 -0.920421 +0.221718 0.951352 0.213941 +0.93391 -0.144074 -0.327191 +-0.271843 0.043237 0.357638 + +-0.278991 0.262288 -0.92378 +0.222757 0.953413 0.203426 +0.9341 -0.149025 -0.32442 +-0.273836 0.0408039 0.358475 + +-0.278833 0.252179 -0.926638 +0.212712 0.957157 0.196478 +0.936486 -0.142322 -0.320528 +-0.275427 0.0384417 0.359693 + +-0.279551 0.242186 -0.929084 +0.192336 0.962175 0.19294 +0.940669 -0.12476 -0.315558 +-0.276639 0.0361987 0.361277 + +-0.28109 0.232126 -0.931185 +0.162111 0.967848 0.192329 +0.94589 -0.0968939 -0.309682 +-0.277523 0.0340301 0.363182 + +-0.28244 0.222153 -0.933207 +0.129838 0.972716 0.192262 +0.950458 -0.066863 -0.303578 +-0.278343 0.0318856 0.365132 + +-0.283436 0.212304 -0.935196 +0.0974171 0.976517 0.19216 +0.95403 -0.036639 -0.297462 +-0.279163 0.029741 0.367058 + +-0.284086 0.20259 -0.937151 +0.0648842 0.979244 0.192021 +0.956601 -0.00625577 -0.291335 +-0.279983 0.0275965 0.36896 + +-0.284683 0.194509 -0.938681 +0.0364446 0.980687 0.19216 +0.957929 0.0204949 -0.286274 +-0.280635 0.0253554 0.370828 + +-0.285788 0.190211 -0.939226 +0.0192841 0.981046 0.192813 +0.958099 0.0369914 -0.284039 +-0.280897 0.0228399 0.372714 + +-0.2876 0.1896 -0.938796 +0.0135443 0.980916 0.193957 +0.957655 0.0430668 -0.28468 +-0.280779 0.0200481 0.374629 + +-0.290203 0.19267 -0.937369 +0.0192183 0.980498 0.195586 +0.956772 0.0387449 -0.288246 +-0.280274 0.0169804 0.376563 + +-0.29317 0.197639 -0.935409 +0.0301464 0.979824 0.197575 +0.955585 0.0297237 -0.293213 +-0.27956 0.0137908 0.378461 + +-0.296058 0.202676 -0.93342 +0.0410755 0.979026 0.199551 +0.954286 0.0207378 -0.298173 +-0.278845 0.0106012 0.380335 + +-0.298866 0.207781 -0.9314 +0.0520041 0.978104 0.201513 +0.952877 0.0117886 -0.303127 +-0.278131 0.00741154 0.382185 + +-0.301593 0.212952 -0.929351 +0.0629307 0.977058 0.203461 +0.951358 0.00287774 -0.308075 +-0.277417 0.00422193 0.38401 + +-0.304237 0.218188 -0.927272 +0.0738537 0.975888 0.205396 +0.949729 -0.00599335 -0.313015 +-0.276702 0.00103232 0.385812 + +-0.306798 0.223488 -0.925164 +0.0847717 0.974594 0.207317 +0.947992 -0.0148232 -0.317949 +-0.275988 -0.00215729 0.387589 + +-0.309274 0.228851 -0.923026 +0.0956832 0.973175 0.209225 +0.946147 -0.0236102 -0.322875 +-0.275273 -0.00534691 0.389342 + +-0.311665 0.234275 -0.920858 +0.106587 0.971632 0.211118 +0.944195 -0.032353 -0.327794 +-0.274559 -0.00853652 0.391071 + +-0.313969 0.23976 -0.918661 +0.117481 0.969964 0.212998 +0.942137 -0.0410502 -0.332705 +-0.273845 -0.0117261 0.392775 + +-0.316185 0.245303 -0.916435 +0.128363 0.968172 0.214863 +0.939973 -0.0497002 -0.337609 +-0.27313 -0.0149157 0.394455 + +-0.318312 0.250903 -0.91418 +0.139234 0.966255 0.216715 +0.937705 -0.0583017 -0.342505 +-0.272416 -0.0181054 0.396112 + +-0.32035 0.25656 -0.911895 +0.15009 0.964214 0.218552 +0.935333 -0.0668532 -0.347393 +-0.271702 -0.021295 0.397744 + +-0.322297 0.262271 -0.909582 +0.160931 0.962048 0.220376 +0.932859 -0.0753534 -0.352273 +-0.270987 -0.0244846 0.399351 + +-0.324152 0.268035 -0.907239 +0.171755 0.959757 0.222184 +0.930283 -0.0838008 -0.357144 +-0.270273 -0.0276742 0.400935 + +-0.325915 0.273852 -0.904867 +0.18256 0.957343 0.223979 +0.927605 -0.0921941 -0.362007 +-0.269559 -0.0308638 0.402495 + +-0.327584 0.279719 -0.902467 +0.193345 0.954804 0.225759 +0.924828 -0.100532 -0.366861 +-0.268844 -0.0340534 0.40403 + +-0.329159 0.285635 -0.900037 +0.204108 0.952141 0.227525 +0.921951 -0.108813 -0.371706 +-0.26813 -0.037243 0.405541 + +-0.330638 0.291599 -0.897579 +0.214848 0.949354 0.229276 +0.918977 -0.117036 -0.376542 +-0.267416 -0.0404326 0.407028 + +-0.332021 0.297609 -0.895093 +0.225564 0.946443 0.231013 +0.915906 -0.125199 -0.381369 +-0.266701 -0.0436222 0.40849 + +-0.333307 0.303663 -0.892578 +0.236253 0.943408 0.232735 +0.912738 -0.133302 -0.386186 +-0.265987 -0.0468119 0.409929 + +-0.334496 0.309761 -0.890034 +0.246915 0.94025 0.234442 +0.909475 -0.141343 -0.390994 +-0.265273 -0.0500015 0.411343 + +-0.335586 0.315901 -0.887462 +0.257547 0.936969 0.236134 +0.906119 -0.14932 -0.395793 +-0.264558 -0.0531911 0.412733 + +-0.336576 0.322081 -0.884862 +0.268149 0.933564 0.237812 +0.90267 -0.157233 -0.400581 +-0.263844 -0.0563807 0.414099 + +-0.337466 0.3283 -0.882233 +0.278718 0.930036 0.239475 +0.899129 -0.16508 -0.405359 +-0.263129 -0.0595703 0.415441 + +-0.338256 0.334556 -0.879577 +0.289254 0.926386 0.241123 +0.895497 -0.17286 -0.410127 +-0.262415 -0.0627599 0.416759 + +-0.338944 0.340847 -0.876892 +0.299755 0.922614 0.242756 +0.891776 -0.180572 -0.414885 +-0.261701 -0.0659495 0.418052 + +-0.338589 0.348025 -0.874206 +0.309607 0.918555 0.245766 +0.888539 -0.187447 -0.418763 +-0.261081 -0.0687217 0.419527 + +-0.33698 0.356162 -0.871546 +0.318348 0.914269 0.250533 +0.886058 -0.19303 -0.421474 +-0.260591 -0.0709582 0.42125 + +-0.333985 0.36533 -0.8689 +0.325666 0.909789 0.257343 +0.884531 -0.197023 -0.422832 +-0.260259 -0.0726189 0.423215 + +-0.329636 0.375379 -0.866274 +0.330798 0.905314 0.26642 +0.884258 -0.19874 -0.422598 +-0.260113 -0.0736649 0.425422 + +-0.323963 0.386338 -0.863592 +0.334239 0.900694 0.277552 +0.88506 -0.19873 -0.420921 +-0.260125 -0.0741353 0.427873 + +-0.317637 0.397629 -0.860813 +0.336464 0.896016 0.289736 +0.886509 -0.197602 -0.418396 +-0.260225 -0.0743092 0.43044 + +-0.311243 0.408843 -0.85789 +0.338592 0.891195 0.301873 +0.887966 -0.196519 -0.415809 +-0.260326 -0.0744831 0.432983 + +-0.304782 0.419979 -0.854825 +0.340622 0.88623 0.313962 +0.889429 -0.195483 -0.413161 +-0.260427 -0.0746569 0.435502 + +-0.298256 0.431035 -0.851617 +0.342553 0.881125 0.326 +0.890899 -0.194493 -0.410453 +-0.260528 -0.0748308 0.437996 + +-0.291667 0.442009 -0.848268 +0.344383 0.875881 0.337985 +0.892374 -0.19355 -0.407685 +-0.260628 -0.0750047 0.440467 + +-0.285015 0.452899 -0.844778 +0.34611 0.870498 0.349916 +0.893854 -0.192655 -0.404858 +-0.260729 -0.0751786 0.442913 + +-0.278302 0.463704 -0.841146 +0.347734 0.864979 0.361791 +0.895337 -0.191809 -0.401971 +-0.26083 -0.0753525 0.445335 + +-0.27153 0.474421 -0.837375 +0.349254 0.859325 0.373607 +0.896824 -0.191012 -0.399026 +-0.260931 -0.0755264 0.447733 + +-0.264699 0.485048 -0.833464 +0.350669 0.853538 0.385362 +0.898313 -0.190264 -0.396022 +-0.261031 -0.0757003 0.450107 + +-0.257813 0.495585 -0.829414 +0.351976 0.84762 0.397056 +0.899803 -0.189568 -0.392961 +-0.261132 -0.0758742 0.452456 + +-0.250871 0.506028 -0.825226 +0.353176 0.841572 0.408685 +0.901294 -0.188922 -0.389843 +-0.261233 -0.0760481 0.454782 + +-0.243876 0.516377 -0.820901 +0.354266 0.835396 0.420248 +0.902784 -0.188329 -0.386668 +-0.261334 -0.076222 0.457083 + +-0.23683 0.52663 -0.816439 +0.355247 0.829094 0.431744 +0.904274 -0.187787 -0.383438 +-0.261434 -0.0763958 0.45936 + +-0.229733 0.536784 -0.811841 +0.356116 0.822668 0.44317 +0.905762 -0.187299 -0.380151 +-0.261535 -0.0765697 0.461612 + +-0.222588 0.546838 -0.807107 +0.356873 0.816119 0.454524 +0.907246 -0.186864 -0.37681 +-0.261636 -0.0767436 0.463841 + +-0.215396 0.556791 -0.802239 +0.357517 0.809449 0.465804 +0.908728 -0.186482 -0.373414 +-0.261737 -0.0769175 0.466046 + +-0.208158 0.566641 -0.797238 +0.358048 0.802661 0.477009 +0.910204 -0.186156 -0.369965 +-0.261837 -0.0770914 0.468226 + +-0.200877 0.576386 -0.792103 +0.358463 0.795755 0.488137 +0.911676 -0.185884 -0.366462 +-0.261938 -0.0772653 0.470382 + +-0.193554 0.586025 -0.786836 +0.358762 0.788735 0.499187 +0.913141 -0.185668 -0.362906 +-0.262039 -0.0774392 0.472514 + +-0.186191 0.595556 -0.781439 +0.358945 0.781601 0.510155 +0.914599 -0.185507 -0.359299 +-0.26214 -0.0776131 0.474621 + +-0.178789 0.604977 -0.77591 +0.35901 0.774356 0.521041 +0.916049 -0.185404 -0.355639 +-0.26224 -0.077787 0.476705 + +-0.17135 0.614288 -0.770253 +0.358957 0.767003 0.531843 +0.91749 -0.185357 -0.351929 +-0.262341 -0.0779609 0.478764 + +-0.163876 0.623487 -0.764467 +0.358785 0.759542 0.542558 +0.918922 -0.185367 -0.348169 +-0.262442 -0.0781348 0.480799 + +-0.156369 0.632571 -0.758553 +0.358493 0.751976 0.553186 +0.920343 -0.185435 -0.344358 +-0.262543 -0.0783086 0.48281 + +-0.148831 0.641541 -0.752513 +0.358081 0.744307 0.563724 +0.921752 -0.185561 -0.340499 +-0.262643 -0.0784825 0.484797 + +-0.141262 0.650394 -0.746347 +0.357548 0.736537 0.574172 +0.923149 -0.185746 -0.336591 +-0.262744 -0.0786564 0.48676 + +-0.133666 0.659129 -0.740056 +0.356892 0.728668 0.584526 +0.924533 -0.185989 -0.332636 +-0.262845 -0.0788303 0.488698 + +-0.126043 0.667744 -0.733642 +0.356115 0.720703 0.594785 +0.925903 -0.186292 -0.328633 +-0.262946 -0.0790042 0.490612 + +-0.118396 0.67624 -0.727105 +0.355214 0.712643 0.604949 +0.927257 -0.186654 -0.324584 +-0.263046 -0.0791781 0.492502 + +-0.110727 0.684613 -0.720447 +0.35419 0.704491 0.615014 +0.928595 -0.187077 -0.320489 +-0.263147 -0.079352 0.494368 + +-0.103036 0.692864 -0.713669 +0.353042 0.696248 0.62498 +0.929917 -0.187559 -0.316349 +-0.263248 -0.0795259 0.49621 + +-0.0953275 0.70099 -0.706771 +0.351769 0.687918 0.634845 +0.93122 -0.188102 -0.312164 +-0.263349 -0.0796998 0.498027 + +-0.0876016 0.708991 -0.699755 +0.350372 0.679501 0.644607 +0.932505 -0.188706 -0.307936 +-0.263449 -0.0798737 0.49982 + +-0.0798606 0.716865 -0.692623 +0.348849 0.671001 0.654264 +0.93377 -0.189371 -0.303664 +-0.26355 -0.0800475 0.501589 + +-0.0721064 0.724612 -0.685374 +0.3472 0.66242 0.663816 +0.935015 -0.190097 -0.29935 +-0.263651 -0.0802214 0.503334 + +-0.0643409 0.732231 -0.678011 +0.345426 0.65376 0.67326 +0.936238 -0.190884 -0.294995 +-0.263752 -0.0803953 0.505055 + +-0.056566 0.739719 -0.670534 +0.343525 0.645022 0.682596 +0.937439 -0.191733 -0.290598 +-0.263852 -0.0805692 0.506751 + +-0.0487837 0.747077 -0.662945 +0.341497 0.636211 0.691821 +0.938616 -0.192644 -0.286161 +-0.263953 -0.0807431 0.508424 + +-0.0409958 0.754303 -0.655245 +0.339343 0.627327 0.700933 +0.939769 -0.193617 -0.281685 +-0.264054 -0.080917 0.510072 + +-0.0332042 0.761397 -0.647435 +0.337061 0.618373 0.709933 +0.940897 -0.194653 -0.27717 +-0.264155 -0.0810909 0.511696 + +-0.025411 0.768357 -0.639517 +0.334653 0.609352 0.718817 +0.941999 -0.19575 -0.272617 +-0.264255 -0.0812648 0.513296 + +-0.0176179 0.775183 -0.631492 +0.332117 0.600265 0.727585 +0.943074 -0.19691 -0.268027 +-0.264356 -0.0814387 0.514871 + +-0.00982712 0.781873 -0.62336 +0.329453 0.591116 0.736235 +0.944121 -0.198133 -0.2634 +-0.264457 -0.0816126 0.516423 + +-0.00204042 0.788427 -0.615125 +0.326662 0.581906 0.744766 +0.945139 -0.199418 -0.258737 +-0.264558 -0.0817865 0.51795 + +0.0057402 0.794845 -0.606786 +0.323744 0.572638 0.753177 +0.946127 -0.200767 -0.254039 +-0.264658 -0.0819603 0.519453 + +0.0135128 0.801125 -0.598345 +0.320698 0.563315 0.761465 +0.947085 -0.202178 -0.249307 +-0.264759 -0.0821342 0.520932 + +0.0212753 0.807267 -0.589803 +0.317525 0.553938 0.769631 +0.948011 -0.203651 -0.244542 +-0.26486 -0.0823081 0.522386 + +0.0290259 0.813269 -0.581163 +0.314224 0.54451 0.777671 +0.948905 -0.205188 -0.239744 +-0.26496 -0.082482 0.523817 + +0.0367626 0.819133 -0.572425 +0.310796 0.535034 0.785586 +0.949765 -0.206787 -0.234914 +-0.265061 -0.0826559 0.525223 + +0.0444833 0.824856 -0.563591 +0.307241 0.525511 0.793373 +0.950592 -0.20845 -0.230053 +-0.265162 -0.0828298 0.526605 + +0.0521861 0.830438 -0.554662 +0.303559 0.515945 0.801032 +0.951383 -0.210175 -0.225161 +-0.265263 -0.0830037 0.527963 + +0.0598691 0.835879 -0.545639 +0.29975 0.506338 0.808562 +0.952137 -0.211963 -0.22024 +-0.265363 -0.0831776 0.529297 + +0.0675303 0.841178 -0.536525 +0.295814 0.496692 0.81596 +0.952855 -0.213814 -0.215291 +-0.265464 -0.0833515 0.530607 + +0.0751676 0.846335 -0.52732 +0.291753 0.48701 0.823226 +0.953536 -0.215727 -0.210313 +-0.265565 -0.0835254 0.531892 + +0.0827792 0.85135 -0.518026 +0.287566 0.477294 0.83036 +0.954177 -0.217703 -0.205309 +-0.265666 -0.0836992 0.533153 + +0.090363 0.856221 -0.508645 +0.283253 0.467546 0.837358 +0.954779 -0.219741 -0.200278 +-0.265766 -0.0838731 0.53439 + +0.0979171 0.860949 -0.499178 +0.278815 0.45777 0.844221 +0.95534 -0.221842 -0.195222 +-0.265867 -0.084047 0.535603 + +0.10544 0.865533 -0.489627 +0.274252 0.447967 0.850947 +0.95586 -0.224005 -0.190141 +-0.265968 -0.0842209 0.536792 + +0.112928 0.869973 -0.479993 +0.269565 0.43814 0.857536 +0.956338 -0.22623 -0.185036 +-0.266069 -0.0843948 0.537956 + +0.120381 0.874269 -0.470278 +0.264755 0.428291 0.863986 +0.956772 -0.228516 -0.179909 +-0.266169 -0.0845687 0.539096 + +0.127797 0.878421 -0.460483 +0.259821 0.418424 0.870296 +0.957163 -0.230864 -0.174759 +-0.26627 -0.0847426 0.540212 + +0.135173 0.882428 -0.45061 +0.254765 0.40854 0.876465 +0.957509 -0.233274 -0.169588 +-0.266371 -0.0849165 0.541304 + +0.142507 0.88629 -0.440661 +0.249587 0.398641 0.882492 +0.957809 -0.235745 -0.164397 +-0.266472 -0.0850904 0.542372 + +0.149798 0.890007 -0.430637 +0.244288 0.388731 0.888376 +0.958063 -0.238277 -0.159186 +-0.266572 -0.0852643 0.543415 + +0.157044 0.893579 -0.42054 +0.238867 0.378812 0.894116 +0.958269 -0.240869 -0.153957 +-0.266673 -0.0854381 0.544435 + +0.164242 0.897006 -0.410371 +0.233327 0.368886 0.899712 +0.958427 -0.243522 -0.148709 +-0.266774 -0.085612 0.54543 + +0.171392 0.900288 -0.400132 +0.227668 0.358956 0.905162 +0.958536 -0.246234 -0.143445 +-0.266875 -0.0857859 0.546401 + +0.17849 0.903426 -0.389825 +0.221891 0.349024 0.910465 +0.958596 -0.249007 -0.138165 +-0.266975 -0.0859598 0.547348 + +0.185534 0.906418 -0.379452 +0.215995 0.339092 0.915621 +0.958605 -0.251839 -0.132869 +-0.267076 -0.0861337 0.54827 + +0.192524 0.909265 -0.369013 +0.209983 0.329164 0.920629 +0.958562 -0.25473 -0.127559 +-0.267177 -0.0863076 0.549169 + +0.199457 0.911968 -0.358512 +0.203856 0.319241 0.925488 +0.958467 -0.25768 -0.122235 +-0.267278 -0.0864815 0.550043 + +0.206331 0.914527 -0.347949 +0.197613 0.309326 0.930197 +0.95832 -0.260688 -0.116899 +-0.267378 -0.0866554 0.550893 + +0.213145 0.916941 -0.337326 +0.191256 0.299422 0.934755 +0.958118 -0.263754 -0.111551 +-0.267479 -0.0868293 0.551719 + +0.219896 0.919211 -0.326646 +0.184787 0.28953 0.939162 +0.957862 -0.266878 -0.106192 +-0.26758 -0.0870032 0.55252 + +0.226582 0.921337 -0.315909 +0.178205 0.279654 0.943417 +0.957551 -0.270059 -0.100822 +-0.267681 -0.0871771 0.553298 + +0.233203 0.92332 -0.305117 +0.171513 0.269795 0.94752 +0.957183 -0.273296 -0.0954443 +-0.267781 -0.0873509 0.554051 + +0.239755 0.92516 -0.294273 +0.164711 0.259957 0.951469 +0.956759 -0.27659 -0.0900578 +-0.267882 -0.0875248 0.55478 + +0.246238 0.926857 -0.283378 +0.1578 0.25014 0.955264 +0.956277 -0.279939 -0.0846639 +-0.267983 -0.0876987 0.555485 + +0.252648 0.928412 -0.272433 +0.150781 0.240349 0.958904 +0.955737 -0.283343 -0.0792635 +-0.268084 -0.0878726 0.556166 + +0.258986 0.929825 -0.261441 +0.143657 0.230585 0.962389 +0.955138 -0.286803 -0.0738575 +-0.268184 -0.0880465 0.556822 + +0.265247 0.931097 -0.250404 +0.136427 0.22085 0.965719 +0.95448 -0.290316 -0.0684468 +-0.268285 -0.0882204 0.557455 + +0.271432 0.932228 -0.239322 +0.129093 0.211147 0.968892 +0.953761 -0.293883 -0.0630322 +-0.268386 -0.0883943 0.558063 + +0.277538 0.933219 -0.228198 +0.121657 0.201478 0.971908 +0.952981 -0.297504 -0.0576146 +-0.268487 -0.0885682 0.558647 + +0.283564 0.93407 -0.217035 +0.114119 0.191846 0.974768 +0.952139 -0.301177 -0.0521949 +-0.268587 -0.0887421 0.559207 + +0.289507 0.934783 -0.205832 +0.106482 0.182253 0.977469 +0.951235 -0.304902 -0.046774 +-0.268688 -0.088916 0.559742 + +0.30059 0.93341 -0.195938 +0.101288 0.173035 0.979694 +0.94836 -0.314332 -0.0425304 +-0.268654 -0.0893457 0.560497 + +0.316784 0.929807 -0.187367 +0.0984063 0.164257 0.981497 +0.943379 -0.329361 -0.039465 +-0.268485 -0.0900341 0.561466 + +0.337988 0.923756 -0.180107 +0.0976895 0.155901 0.98293 +0.936067 -0.349814 -0.0375484 +-0.268176 -0.0909779 0.562652 + +0.359051 0.917176 -0.172832 +0.0966682 0.147639 0.984306 +0.928298 -0.370124 -0.0356518 +-0.267866 -0.0919218 0.563813 + +0.379959 0.91007 -0.165543 +0.095346 0.139479 0.985624 +0.920076 -0.39028 -0.0337752 +-0.267557 -0.0928657 0.56495 + +0.400698 0.902442 -0.15824 +0.0937267 0.131431 0.986885 +0.911404 -0.410274 -0.0319188 +-0.267247 -0.0938096 0.566062 + +0.421254 0.894297 -0.150924 +0.0918143 0.123504 0.988087 +0.902283 -0.430093 -0.0300827 +-0.266938 -0.0947535 0.567151 + +0.441614 0.885639 -0.143596 +0.0896134 0.115707 0.989233 +0.892718 -0.449727 -0.0282671 +-0.266628 -0.0956974 0.568215 + +0.461765 0.876475 -0.136255 +0.0871284 0.10805 0.99032 +0.882713 -0.469167 -0.0264721 +-0.266319 -0.0966413 0.569255 + +0.481694 0.866808 -0.128902 +0.0843643 0.100541 0.99135 +0.872269 -0.488401 -0.0246978 +-0.266009 -0.0975851 0.570271 + +0.501386 0.856645 -0.121539 +0.0813263 0.0931885 0.992321 +0.861393 -0.507421 -0.0229443 +-0.2657 -0.098529 0.571263 + +0.52083 0.845992 -0.114164 +0.0780198 0.0860018 0.993235 +0.850088 -0.526214 -0.0212118 +-0.26539 -0.0994729 0.572231 + +0.540013 0.834856 -0.10678 +0.0744506 0.0789891 0.994091 +0.838358 -0.544772 -0.0195004 +-0.265081 -0.100417 0.573174 + +0.558921 0.823243 -0.0993856 +0.0706245 0.0721587 0.99489 +0.826208 -0.563084 -0.0178102 +-0.264771 -0.101361 0.574094 + +0.577543 0.811162 -0.0919823 +0.0665478 0.0655185 0.99563 +0.813643 -0.58114 -0.0161413 +-0.264462 -0.102305 0.574989 + +0.595866 0.798618 -0.0845704 +0.0622269 0.0590766 0.996312 +0.800669 -0.598931 -0.0144938 +-0.264152 -0.103248 0.575859 + +0.613879 0.785621 -0.0771504 +0.0576684 0.0528405 0.996936 +0.787291 -0.616447 -0.0128679 +-0.263843 -0.104192 0.576706 + +0.631569 0.772178 -0.0697227 +0.0528793 0.0468178 0.997503 +0.773514 -0.633679 -0.0112636 +-0.263533 -0.105136 0.577529 + +0.648925 0.758298 -0.0622879 +0.0478668 0.0410157 0.998011 +0.759345 -0.650616 -0.00968118 +-0.263224 -0.10608 0.578327 + +0.665936 0.74399 -0.0548466 +0.042638 0.0354413 0.998462 +0.74479 -0.66725 -0.00812062 +-0.262914 -0.107024 0.579101 + +0.68259 0.729263 -0.0473991 +0.0372007 0.0301016 0.998854 +0.729854 -0.683571 -0.00658206 +-0.262605 -0.107968 0.579851 + +0.698876 0.714126 -0.039946 +0.0315625 0.025003 0.999189 +0.714546 -0.69957 -0.00506562 +-0.262295 -0.108912 0.580577 + +0.714785 0.698589 -0.0324878 +0.0257315 0.020152 0.999466 +0.698871 -0.715239 -0.00357141 +-0.261986 -0.109856 0.581278 + +0.730305 0.682663 -0.025025 +0.0197157 0.0155547 0.999685 +0.682837 -0.730568 -0.00209952 +-0.261676 -0.1108 0.581956 + +0.745427 0.666356 -0.0175581 +0.0135236 0.0112171 0.999846 +0.66645 -0.745549 -0.000650061 +-0.261367 -0.111743 0.582609 + +0.76014 0.649681 -0.0100877 +0.00716369 0.0071447 0.999949 +0.64972 -0.760173 0.00077686 +-0.261057 -0.112687 0.583238 + +0.774436 0.632647 -0.00261415 +0.000644591 0.00334301 0.999994 +0.632652 -0.774433 0.00218114 +-0.260748 -0.113631 0.583843 + +0.788304 0.615266 0.00486197 +-0.00602479 -0.000182871 0.999982 +0.615256 -0.788319 0.00356269 +-0.260438 -0.114575 0.584424 + +0.801737 0.597549 0.0123402 +-0.0128354 -0.00342806 0.999912 +0.597539 -0.801825 0.0049214 +-0.260129 -0.115519 0.58498 + +0.814725 0.579508 0.01982 +-0.0197782 -0.00638797 0.999784 +0.579509 -0.814941 0.00625718 +-0.259819 -0.116463 0.585512 + +0.827261 0.561154 0.0273008 +-0.0268438 -0.00905827 0.999599 +0.561176 -0.827662 0.00756994 +-0.25951 -0.117407 0.58602 + +0.839335 0.5425 0.0347823 +-0.0340227 -0.0114349 0.999356 +0.542548 -0.839978 0.00885957 +-0.2592 -0.118351 0.586504 + +0.850942 0.523557 0.0422638 +-0.0413054 -0.0135141 0.999055 +0.523634 -0.851883 0.010126 +-0.258891 -0.119295 0.586964 + +0.862072 0.504339 0.0497449 +-0.0486822 -0.0152925 0.998697 +0.504442 -0.863371 0.0113691 +-0.258581 -0.120238 0.5874 + +0.872719 0.484857 0.0572251 +-0.0561433 -0.0167667 0.998282 +0.484983 -0.874433 0.0125888 +-0.258272 -0.121182 0.587811 + +0.882878 0.465124 0.0647039 +-0.0636789 -0.017934 0.997809 +0.465266 -0.885064 0.0137851 +-0.257962 -0.122126 0.588198 + +0.89254 0.445154 0.0721808 +-0.0712789 -0.0187917 0.997279 +0.445299 -0.895257 0.0149578 +-0.257653 -0.12307 0.588561 + +0.901701 0.42496 0.0796553 +-0.0789333 -0.0193375 0.996692 +0.425094 -0.905006 0.0161068 +-0.257343 -0.124014 0.5889 + +0.910354 0.404554 0.087127 +-0.0866319 -0.0195695 0.996048 +0.40466 -0.914305 0.0172321 +-0.257034 -0.124958 0.589215 + +0.918495 0.383951 0.0945952 +-0.0943645 -0.019486 0.995347 +0.384008 -0.923148 0.0183336 +-0.256724 -0.125902 0.589505 + +0.926119 0.363163 0.10206 +-0.102121 -0.0190855 0.994589 +0.363146 -0.93153 0.0194112 +-0.256415 -0.126846 0.589771 + +0.933221 0.342206 0.10952 +-0.109891 -0.018367 0.993774 +0.342087 -0.939446 0.0204648 +-0.256105 -0.12779 0.590013 + +0.939796 0.321091 0.116975 +-0.117664 -0.0173298 0.992902 +0.320839 -0.94689 0.0214944 +-0.255796 -0.128733 0.590231 + +0.945842 0.299834 0.124424 +-0.125429 -0.0159733 0.991974 +0.299415 -0.953858 0.0224998 +-0.255486 -0.129677 0.590425 + +0.951355 0.278448 0.131868 +-0.133177 -0.0142975 0.990989 +0.277825 -0.960345 0.0234811 +-0.255177 -0.130621 0.590594 + +0.956332 0.256948 0.139306 +-0.140897 -0.0123025 0.989948 +0.256079 -0.966347 0.0244381 +-0.254867 -0.131565 0.59074 + +0.96077 0.235347 0.146737 +-0.148579 -0.00998877 0.98885 +0.234189 -0.97186 0.0253707 +-0.254558 -0.132509 0.590861 + +0.964668 0.213661 0.154161 +-0.156211 -0.00735718 0.987696 +0.212166 -0.97688 0.026279 +-0.254248 -0.133453 0.590958 + +0.968022 0.191902 0.161576 +-0.163784 -0.0044088 0.986486 +0.190021 -0.981404 0.0271627 +-0.253939 -0.134397 0.59103 + +0.970832 0.170086 0.168984 +-0.171288 -0.00114507 0.98522 +0.167766 -0.985429 0.028022 +-0.253629 -0.135341 0.591079 + +0.973097 0.148227 0.176383 +-0.178711 0.00243228 0.983899 +0.145411 -0.98895 0.0288566 +-0.25332 -0.136285 0.591103 + +0.974816 0.126339 0.183772 +-0.186044 0.00632118 0.982521 +0.122969 -0.991967 0.0296666 +-0.25301 -0.137228 0.591104 + +0.975989 0.104437 0.191152 +-0.193277 0.0105193 0.981088 +0.100451 -0.994476 0.0304518 +-0.252701 -0.138172 0.59108 + +0.976615 0.0825344 0.198522 +-0.200398 0.0150239 0.979599 +0.077868 -0.996475 0.0312123 +-0.252391 -0.139116 0.591031 + +0.976696 0.0606467 0.205881 +-0.207399 0.019832 0.978055 +0.0552328 -0.997962 0.0319479 +-0.252082 -0.14006 0.590959 + +0.976232 0.0387879 0.213229 +-0.214269 0.0249404 0.976456 +0.0325567 -0.998936 0.0326587 +-0.251772 -0.141004 0.590863 + +0.975224 0.0169724 0.220566 +-0.220998 0.0303454 0.974802 +0.00985155 -0.999395 0.0333444 +-0.251463 -0.141948 0.590742 + +0.973675 -0.00478566 0.22789 +-0.227577 0.0360432 0.973093 +-0.0128708 -0.999339 0.0340052 +-0.251153 -0.142892 0.590597 + +0.971586 -0.0264719 0.235202 +-0.233995 0.0420295 0.971329 +-0.0355983 -0.998766 0.034641 +-0.250844 -0.143836 0.590428 + +0.968959 -0.0480722 0.242501 +-0.240243 0.0482998 0.969511 +-0.0583192 -0.997675 0.0352516 +-0.250534 -0.14478 0.590235 + +0.965798 -0.0695724 0.249786 +-0.246311 0.0548495 0.967638 +-0.0810215 -0.996068 0.0358371 +-0.250225 -0.145723 0.590017 + +0.962106 -0.0909584 0.257058 +-0.25219 0.0616733 0.96571 +-0.103693 -0.993943 0.0363974 +-0.249915 -0.146667 0.589775 + +0.957886 -0.112216 0.264315 +-0.257871 0.0687659 0.963729 +-0.126322 -0.991302 0.0369324 +-0.249606 -0.147611 0.58951 + +0.953142 -0.133333 0.271557 +-0.263345 0.0761216 0.961694 +-0.148896 -0.988144 0.0374422 +-0.249296 -0.148555 0.58922 + +0.947878 -0.154293 0.278784 +-0.268603 0.0837347 0.959605 +-0.171404 -0.98447 0.0379266 +-0.248987 -0.149499 0.588905 + +0.9421 -0.175084 0.285996 +-0.273636 0.0915987 0.957462 +-0.193833 -0.980283 0.0383857 +-0.248677 -0.150443 0.588567 + +0.935812 -0.195693 0.293191 +-0.278435 0.0997073 0.955266 +-0.216172 -0.975583 0.0388194 +-0.248368 -0.151387 0.588204 + +0.929019 -0.216106 0.300369 +-0.282992 0.108054 0.953016 +-0.238408 -0.970372 0.0392277 +-0.248058 -0.152331 0.587818 + +0.921728 -0.236309 0.30753 +-0.2873 0.116631 0.950714 +-0.26053 -0.964653 0.0396105 +-0.247749 -0.153275 0.587407 + +0.913945 -0.256291 0.314674 +-0.291348 0.125432 0.948358 +-0.282525 -0.958427 0.0399677 +-0.24744 -0.154218 0.586971 + +0.905676 -0.276037 0.321799 +-0.295131 0.134448 0.94595 +-0.304383 -0.951697 0.0402995 +-0.24713 -0.155162 0.586512 + +0.896927 -0.295536 0.328907 +-0.298641 0.143674 0.943489 +-0.32609 -0.944466 0.0406057 +-0.246821 -0.156106 0.586029 + +0.887707 -0.314775 0.335995 +-0.301869 0.153099 0.940976 +-0.347636 -0.936738 0.0408863 +-0.246511 -0.15705 0.585521 + +0.878023 -0.333742 0.343064 +-0.304809 0.162717 0.938411 +-0.369009 -0.928515 0.0411413 +-0.246202 -0.157994 0.584989 + +0.867882 -0.352424 0.350113 +-0.307454 0.172518 0.935794 +-0.390197 -0.919802 0.0413706 +-0.245892 -0.158938 0.584433 + +0.857292 -0.370811 0.357141 +-0.309797 0.182494 0.933125 +-0.411189 -0.910602 0.0415743 +-0.245583 -0.159882 0.583853 + +0.846263 -0.388889 0.36415 +-0.311833 0.192636 0.930404 +-0.431973 -0.90092 0.0417523 +-0.245273 -0.160826 0.583248 + +0.834802 -0.406649 0.371136 +-0.313553 0.202935 0.927632 +-0.452537 -0.89076 0.0419046 +-0.244964 -0.161769 0.58262 + +0.822919 -0.424079 0.378102 +-0.314953 0.213382 0.924809 +-0.472872 -0.880128 0.0420311 +-0.244654 -0.162713 0.581967 + +0.810624 -0.441168 0.385045 +-0.316028 0.223967 0.921936 +-0.492966 -0.869028 0.0421319 +-0.244345 -0.163657 0.58129 + +0.797926 -0.457905 0.391966 +-0.316771 0.234681 0.919011 +-0.512807 -0.857466 0.042207 +-0.244035 -0.164601 0.580589 + +0.784835 -0.474281 0.398864 +-0.317177 0.245513 0.916036 +-0.532385 -0.845447 0.0422563 +-0.243726 -0.165545 0.579863 + +0.77136 -0.490285 0.405739 +-0.317242 0.256454 0.913011 +-0.551689 -0.832978 0.0422798 +-0.243416 -0.166489 0.579114 + +0.757514 -0.505907 0.41259 +-0.316962 0.267494 0.909935 +-0.570708 -0.820064 0.0422775 +-0.243107 -0.167433 0.57834 + +0.743306 -0.521138 0.419417 +-0.316331 0.278622 0.90681 +-0.589432 -0.806712 0.0422495 +-0.242797 -0.168377 0.577542 + +0.735017 -0.528839 0.424358 +-0.315826 0.286793 0.904436 +-0.600003 -0.798799 0.0437763 +-0.242406 -0.168991 0.576993 + +0.73475 -0.527186 0.42687 +-0.315892 0.290969 0.903078 +-0.600296 -0.798381 0.0472553 +-0.241928 -0.169177 0.576796 + +0.74326 -0.515311 0.426637 +-0.316809 0.290569 0.902885 +-0.589234 -0.806241 0.0527129 +-0.24135 -0.168901 0.576982 + +0.757578 -0.49596 0.424382 +-0.318243 0.287006 0.90352 +-0.56991 -0.819543 0.0595933 +-0.240689 -0.168299 0.57742 + +0.771391 -0.476235 0.422085 +-0.319672 0.283519 0.904117 +-0.550241 -0.832356 0.0664645 +-0.240029 -0.167697 0.577835 + +0.784691 -0.45615 0.419746 +-0.321099 0.280105 0.904675 +-0.530241 -0.84467 0.0733261 +-0.239368 -0.167094 0.578225 + +0.797468 -0.435719 0.417366 +-0.322529 0.276763 0.905195 +-0.509922 -0.856476 0.0801777 +-0.238707 -0.166492 0.578591 + +0.809713 -0.414953 0.414945 +-0.323966 0.273492 0.905676 +-0.489297 -0.867765 0.0870189 +-0.238047 -0.16589 0.578933 + +0.821417 -0.393869 0.412482 +-0.325413 0.270288 0.906118 +-0.468381 -0.878528 0.0938491 +-0.237386 -0.165288 0.579251 + +0.832572 -0.37248 0.409979 +-0.326875 0.267151 0.906523 +-0.447187 -0.888757 0.100668 +-0.236726 -0.164685 0.579545 + +0.843171 -0.3508 0.407435 +-0.328355 0.264077 0.906888 +-0.42573 -0.898445 0.107475 +-0.236065 -0.164083 0.579814 + +0.853205 -0.328844 0.40485 +-0.329858 0.261065 0.907215 +-0.404024 -0.907583 0.11427 +-0.235404 -0.163481 0.580059 + +0.862668 -0.306627 0.402224 +-0.331386 0.258111 0.907503 +-0.382083 -0.916165 0.121052 +-0.234744 -0.162879 0.580281 + +0.871553 -0.284163 0.399559 +-0.332944 0.255214 0.907752 +-0.359923 -0.924185 0.127822 +-0.234083 -0.162276 0.580477 + +0.879853 -0.261469 0.396853 +-0.334534 0.252369 0.907963 +-0.337558 -0.931635 0.134577 +-0.233422 -0.161674 0.58065 + +0.887563 -0.238559 0.394107 +-0.336161 0.249575 0.908135 +-0.315003 -0.93851 0.141319 +-0.232762 -0.161072 0.580799 + +0.894678 -0.215449 0.391322 +-0.337826 0.246827 0.908267 +-0.292275 -0.944806 0.148047 +-0.232101 -0.16047 0.580923 + +0.901192 -0.192155 0.388496 +-0.339534 0.244124 0.908361 +-0.269388 -0.950516 0.154759 +-0.231441 -0.159867 0.581023 + +0.9071 -0.168692 0.385632 +-0.341287 0.241461 0.908416 +-0.246358 -0.955636 0.161457 +-0.23078 -0.159265 0.581099 + +0.912399 -0.145077 0.382728 +-0.343088 0.238835 0.908432 +-0.223201 -0.960162 0.168139 +-0.230119 -0.158663 0.581151 + +0.917084 -0.121324 0.379785 +-0.344939 0.236242 0.908409 +-0.199933 -0.96409 0.174804 +-0.229459 -0.158061 0.581178 + +0.921153 -0.0974515 0.376803 +-0.346843 0.233679 0.908347 +-0.176571 -0.967418 0.181453 +-0.228798 -0.157458 0.581182 + +0.924602 -0.0734742 0.373783 +-0.348803 0.231141 0.908246 +-0.153129 -0.970142 0.188086 +-0.228137 -0.156856 0.581161 + +0.927428 -0.0494088 0.370724 +-0.35082 0.228626 0.908106 +-0.129625 -0.97226 0.194701 +-0.227477 -0.156254 0.581116 + +0.92963 -0.0252717 0.367626 +-0.352896 0.226129 0.907926 +-0.106076 -0.97377 0.201298 +-0.226816 -0.155652 0.581047 + +0.931206 -0.00107911 0.364491 +-0.355034 0.223645 0.907708 +-0.082496 -0.97467 0.207876 +-0.226156 -0.155049 0.580954 + +0.932155 0.0231524 0.361317 +-0.357235 0.221171 0.907451 +-0.0589033 -0.97496 0.214437 +-0.225495 -0.154447 0.580836 + +0.932476 0.0474065 0.358106 +-0.3595 0.218703 0.907154 +-0.0353139 -0.974639 0.220978 +-0.224834 -0.153845 0.580694 + +0.932169 0.0716666 0.354858 +-0.361832 0.216236 0.906819 +-0.0117443 -0.973707 0.227499 +-0.224174 -0.153243 0.580528 + +0.931234 0.0959163 0.351572 +-0.364231 0.213765 0.906444 +0.0117888 -0.972165 0.234001 +-0.223513 -0.15264 0.580338 + +0.929671 0.120139 0.348249 +-0.366697 0.211287 0.90603 +0.035269 -0.970012 0.240483 +-0.222852 -0.152038 0.580124 + +0.927482 0.144319 0.34489 +-0.369233 0.208797 0.905577 +0.0586797 -0.967252 0.246943 +-0.222192 -0.151436 0.579886 + +0.924668 0.168439 0.341493 +-0.371839 0.206291 0.905085 +0.0820043 -0.963884 0.253383 +-0.221531 -0.150834 0.579623 + +0.921231 0.192482 0.33806 +-0.374515 0.203763 0.904555 +0.105227 -0.959912 0.2598 +-0.220871 -0.150231 0.579336 + +0.917172 0.216434 0.334591 +-0.377262 0.20121 0.903985 +0.12833 -0.955338 0.266196 +-0.22021 -0.149629 0.579025 + +0.912496 0.240277 0.331086 +-0.380079 0.198626 0.903376 +0.151298 -0.950166 0.27257 +-0.219549 -0.149027 0.57869 + +0.907205 0.263995 0.327546 +-0.382967 0.196007 0.902728 +0.174114 -0.944398 0.27892 +-0.218889 -0.148425 0.57833 + +0.901302 0.287573 0.323969 +-0.385925 0.193349 0.902041 +0.196763 -0.93804 0.285247 +-0.218228 -0.147822 0.577947 + +0.894793 0.310994 0.320358 +-0.388954 0.190646 0.901315 +0.219228 -0.931095 0.291551 +-0.217568 -0.14722 0.577539 + +0.88768 0.334242 0.316711 +-0.392052 0.187894 0.90055 +0.241494 -0.923568 0.29783 +-0.216907 -0.146618 0.577107 + +0.87997 0.357302 0.31303 +-0.395218 0.185089 0.899747 +0.263543 -0.915466 0.304085 +-0.216246 -0.146016 0.576651 + +0.871667 0.380159 0.309314 +-0.398453 0.182225 0.898905 +0.285362 -0.906793 0.310315 +-0.215586 -0.145413 0.576171 + +0.862778 0.402796 0.305564 +-0.401754 0.179298 0.898023 +0.306934 -0.897556 0.31652 +-0.214925 -0.144811 0.575666 + +0.853308 0.4252 0.301779 +-0.40512 0.176304 0.897104 +0.328243 -0.887762 0.322699 +-0.214264 -0.144209 0.575138 + +0.843264 0.447354 0.297961 +-0.408549 0.173238 0.896145 +0.349276 -0.877419 0.328851 +-0.213604 -0.143607 0.574585 + +0.832653 0.469243 0.294109 +-0.412041 0.170095 0.895148 +0.370016 -0.866532 0.334978 +-0.212943 -0.143004 0.574008 + +0.821482 0.490854 0.290224 +-0.415593 0.166871 0.894112 +0.390449 -0.855112 0.341077 +-0.212283 -0.142402 0.573406 + +0.809759 0.512172 0.286306 +-0.419203 0.163561 0.893038 +0.410561 -0.843165 0.347149 +-0.211622 -0.1418 0.572781 + +0.797492 0.533182 0.282354 +-0.422868 0.160161 0.891925 +0.430336 -0.830702 0.353193 +-0.210961 -0.141198 0.572131 + +0.784689 0.55387 0.278371 +-0.426587 0.156667 0.890774 +0.449762 -0.817731 0.359209 +-0.210301 -0.140595 0.571458 + +0.77136 0.574224 0.274354 +-0.430357 0.153074 0.889585 +0.468824 -0.804261 0.365196 +-0.20964 -0.139993 0.57076 + +0.759474 0.592015 0.269661 +-0.432754 0.150274 0.888899 +0.485718 -0.791793 0.370327 +-0.208856 -0.139638 0.570232 + +0.750783 0.605555 0.26387 +-0.432816 0.149216 0.889047 +0.498994 -0.781689 0.374123 +-0.207937 -0.13966 0.569934 + +0.745696 0.614745 0.256955 +-0.430487 0.150173 0.890016 +0.508545 -0.774297 0.376623 +-0.20685 -0.140084 0.569887 + +0.744347 0.619661 0.248933 +-0.425768 0.153194 0.89177 +0.51446 -0.769774 0.377862 +-0.205593 -0.140908 0.570088 + +0.745612 0.621615 0.240121 +-0.419352 0.157651 0.89403 +0.517888 -0.767294 0.378222 +-0.204163 -0.142043 0.570515 + +0.746808 0.623525 0.231289 +-0.412926 0.16213 0.896218 +0.521315 -0.764808 0.37855 +-0.202733 -0.143178 0.570918 + +0.747936 0.62539 0.222438 +-0.406493 0.16663 0.898331 +0.524742 -0.762314 0.378845 +-0.201303 -0.144312 0.571296 + +0.748997 0.62721 0.213568 +-0.400052 0.171151 0.90037 +0.528169 -0.759812 0.379108 +-0.199873 -0.145447 0.571651 + +0.749989 0.628985 0.204681 +-0.393604 0.175693 0.902335 +0.531594 -0.757304 0.379339 +-0.198443 -0.146582 0.571981 + +0.750913 0.630715 0.195777 +-0.38715 0.180255 0.904225 +0.535019 -0.754789 0.379537 +-0.197013 -0.147716 0.572287 + +0.751769 0.632399 0.186857 +-0.38069 0.184837 0.906041 +0.538442 -0.752268 0.379703 +-0.195583 -0.148851 0.572568 + +0.752556 0.634037 0.177921 +-0.374225 0.189439 0.907782 +0.541863 -0.74974 0.379836 +-0.194153 -0.149986 0.572826 + +0.753275 0.63563 0.168971 +-0.367755 0.19406 0.909449 +0.545282 -0.747205 0.379937 +-0.192723 -0.15112 0.573059 + +0.753926 0.637176 0.160007 +-0.361281 0.1987 0.91104 +0.548699 -0.744665 0.380005 +-0.191293 -0.152255 0.573268 + +0.754509 0.638675 0.151029 +-0.354804 0.203359 0.912556 +0.552114 -0.742118 0.380041 +-0.189863 -0.15339 0.573453 + +0.755024 0.640128 0.14204 +-0.348324 0.208036 0.913998 +0.555526 -0.739566 0.380044 +-0.188433 -0.154524 0.573614 + +0.755471 0.641533 0.133038 +-0.341842 0.21273 0.915363 +0.558935 -0.737008 0.380015 +-0.187003 -0.155659 0.573751 + +0.755849 0.642892 0.124025 +-0.335358 0.217442 0.916653 +0.562341 -0.734445 0.379953 +-0.185573 -0.156794 0.573863 + +0.756159 0.644203 0.115003 +-0.328874 0.222172 0.917868 +0.565743 -0.731876 0.379859 +-0.184143 -0.157928 0.573951 + +0.756402 0.645467 0.105971 +-0.322389 0.226917 0.919007 +0.569142 -0.729302 0.379732 +-0.182713 -0.159063 0.574015 + +0.756576 0.646682 0.0969296 +-0.315904 0.23168 0.92007 +0.572536 -0.726723 0.379573 +-0.181283 -0.160197 0.574055 + +0.756682 0.64785 0.0878807 +-0.30942 0.236458 0.921058 +0.575927 -0.72414 0.379381 +-0.179853 -0.161332 0.574071 + +0.75672 0.648969 0.0788246 +-0.302937 0.241251 0.921969 +0.579313 -0.721552 0.379157 +-0.178423 -0.162467 0.574062 + +0.756691 0.65004 0.0697621 +-0.296456 0.24606 0.922804 +0.582694 -0.718959 0.3789 +-0.176993 -0.163601 0.57403 + +0.756593 0.651063 0.0606938 +-0.289978 0.250884 0.923564 +0.586071 -0.716362 0.378611 +-0.175563 -0.164736 0.573973 + +0.756428 0.652036 0.0516205 +-0.283503 0.255722 0.924247 +0.589442 -0.713761 0.37829 +-0.174133 -0.165871 0.573892 + +0.756196 0.652961 0.0425431 +-0.277032 0.260574 0.924854 +0.592808 -0.711156 0.377936 +-0.172703 -0.167005 0.573787 + +0.755896 0.653837 0.0334622 +-0.270565 0.265439 0.925385 +0.596168 -0.708548 0.37755 +-0.171273 -0.16814 0.573657 + +0.755528 0.654663 0.0243786 +-0.264103 0.270318 0.925839 +0.599522 -0.705936 0.377131 +-0.169843 -0.169275 0.573504 + +0.755093 0.655439 0.015293 +-0.257647 0.275209 0.926217 +0.60287 -0.70332 0.376681 +-0.168413 -0.170409 0.573326 + +0.754591 0.656166 0.00620624 +-0.251197 0.280113 0.926519 +0.606212 -0.700701 0.376198 +-0.166983 -0.171544 0.573124 + +0.754021 0.656843 -0.00288097 +-0.244753 0.285029 0.926744 +0.609547 -0.69808 0.375682 +-0.165552 -0.172679 0.572898 + +0.753385 0.657471 -0.0119679 +-0.238317 0.289956 0.926893 +0.612875 -0.695455 0.375135 +-0.164122 -0.173813 0.572647 + +0.752682 0.658048 -0.0210537 +-0.231889 0.294895 0.926965 +0.616196 -0.692828 0.374556 +-0.162692 -0.174948 0.572373 + +0.751912 0.658574 -0.0301377 +-0.225469 0.299844 0.926961 +0.619509 -0.690198 0.373944 +-0.161262 -0.176083 0.572074 + +0.751076 0.65905 -0.0392192 +-0.219058 0.304803 0.926881 +0.622815 -0.687566 0.373301 +-0.159832 -0.177217 0.571751 + +0.750173 0.659476 -0.0482973 +-0.212657 0.309773 0.926724 +0.626113 -0.684932 0.372625 +-0.158402 -0.178352 0.571404 + +0.749203 0.659851 -0.0573713 +-0.206266 0.314752 0.926491 +0.629403 -0.682296 0.371918 +-0.156972 -0.179486 0.571033 + +0.748168 0.660175 -0.0664406 +-0.199886 0.31974 0.926181 +0.632685 -0.679659 0.371179 +-0.155542 -0.180621 0.570637 + +0.747066 0.660447 -0.0755042 +-0.193517 0.324737 0.925795 +0.635958 -0.677019 0.370408 +-0.154112 -0.181756 0.570218 + +0.745899 0.660669 -0.0845615 +-0.18716 0.329742 0.925333 +0.639223 -0.674379 0.369605 +-0.152682 -0.18289 0.569774 + +0.744666 0.66084 -0.0936118 +-0.180816 0.334755 0.924795 +0.642478 -0.671737 0.368771 +-0.151252 -0.184025 0.569306 + +0.743368 0.660959 -0.102654 +-0.174484 0.339775 0.92418 +0.645724 -0.669094 0.367905 +-0.149822 -0.18516 0.568813 + +0.742004 0.661026 -0.111688 +-0.168167 0.344802 0.923489 +0.64896 -0.66645 0.367007 +-0.148392 -0.186294 0.568297 + +0.740576 0.661042 -0.120712 +-0.161863 0.349836 0.922722 +0.652187 -0.663806 0.366078 +-0.146962 -0.187429 0.567756 + +0.739082 0.661006 -0.129727 +-0.155575 0.354876 0.921878 +0.655404 -0.661162 0.365118 +-0.145532 -0.188564 0.567192 + +0.737524 0.660918 -0.13873 +-0.149301 0.359921 0.920959 +0.658611 -0.658517 0.364126 +-0.144102 -0.189698 0.566603 + +0.735901 0.660778 -0.147722 +-0.143044 0.364972 0.919964 +0.661807 -0.655872 0.363104 +-0.142672 -0.190833 0.56599 + +0.734214 0.660586 -0.156702 +-0.136803 0.370028 0.918893 +0.664992 -0.653227 0.36205 +-0.141242 -0.191968 0.565352 + +0.732463 0.660343 -0.165669 +-0.130579 0.375088 0.917746 +0.668167 -0.650582 0.360965 +-0.139812 -0.193102 0.564691 + +0.730648 0.660046 -0.174622 +-0.124373 0.380152 0.916524 +0.671331 -0.647938 0.359849 +-0.138382 -0.194237 0.564005 + +0.728769 0.659698 -0.18356 +-0.118185 0.385219 0.915226 +0.674483 -0.645295 0.358702 +-0.136952 -0.195372 0.563295 + +0.726827 0.659297 -0.192483 +-0.112015 0.39029 0.913853 +0.677624 -0.642652 0.357525 +-0.135522 -0.196506 0.562561 + +0.724822 0.658843 -0.20139 +-0.105865 0.395363 0.912404 +0.680753 -0.640011 0.356316 +-0.134092 -0.197641 0.561803 + +0.722755 0.658337 -0.21028 +-0.0997347 0.400438 0.91088 +0.68387 -0.63737 0.355078 +-0.132662 -0.198776 0.56102 + +0.720624 0.657779 -0.219153 +-0.0936246 0.405515 0.909281 +0.686975 -0.634732 0.353809 +-0.131232 -0.19991 0.560214 + +0.718431 0.657168 -0.228007 +-0.0875354 0.410594 0.907607 +0.690068 -0.632095 0.352509 +-0.129802 -0.201045 0.559383 + +0.716177 0.656503 -0.236843 +-0.0814676 0.415673 0.905858 +0.693148 -0.629459 0.351179 +-0.128372 -0.202179 0.558528 + +0.71386 0.655787 -0.245658 +-0.0754218 0.420753 0.904035 +0.696215 -0.626826 0.349819 +-0.126942 -0.203314 0.557649 + +0.711482 0.655017 -0.254454 +-0.0693984 0.425833 0.902137 +0.699269 -0.624195 0.348429 +-0.125512 -0.204449 0.556745 + +0.709042 0.654194 -0.263228 +-0.0633981 0.430912 0.900164 +0.70231 -0.621566 0.347009 +-0.124082 -0.205583 0.555818 + +0.706542 0.653319 -0.27198 +-0.0574213 0.43599 0.898118 +0.705338 -0.61894 0.34556 +-0.122652 -0.206718 0.554866 + +0.703981 0.65239 -0.28071 +-0.0514687 0.441067 0.895997 +0.708352 -0.616317 0.34408 +-0.121222 -0.207853 0.55389 + +0.701359 0.651409 -0.289416 +-0.0455406 0.446142 0.893803 +0.711352 -0.613697 0.342572 +-0.119792 -0.208987 0.55289 + +0.698678 0.650374 -0.298098 +-0.0396376 0.451215 0.891535 +0.714338 -0.61108 0.341033 +-0.118362 -0.210122 0.551866 + +0.695937 0.649287 -0.306756 +-0.0337602 0.456285 0.889193 +0.717309 -0.608466 0.339466 +-0.116932 -0.211257 0.550817 + +0.693136 0.648146 -0.315387 +-0.0279091 0.461352 0.886778 +0.720266 -0.605856 0.337869 +-0.115502 -0.212391 0.549745 + +0.690276 0.646952 -0.323993 +-0.0220846 0.466415 0.88429 +0.723209 -0.603249 0.336243 +-0.114071 -0.213526 0.548648 + +0.687358 0.645705 -0.332572 +-0.0162872 0.471474 0.881729 +0.726137 -0.600647 0.334588 +-0.112641 -0.214661 0.547527 + +0.68438 0.644406 -0.341123 +-0.0105176 0.476529 0.879096 +0.729049 -0.598048 0.332905 +-0.111211 -0.215795 0.546382 + +0.681345 0.643052 -0.349646 +-0.0047761 0.481579 0.87639 +0.731947 -0.595454 0.331193 +-0.109781 -0.21693 0.545212 + +0.678252 0.641646 -0.35814 +0.000936686 0.486623 0.873612 +0.734829 -0.592865 0.329452 +-0.108351 -0.218065 0.544019 + +0.675102 0.640187 -0.366604 +0.00662029 0.491661 0.870762 +0.737695 -0.59028 0.327683 +-0.106921 -0.219199 0.542801 + +0.67269 0.637839 -0.375032 +0.0117018 0.497618 0.867317 +0.739832 -0.587824 0.327279 +-0.105572 -0.220158 0.54158 + +0.671243 0.634374 -0.383408 +0.0160485 0.504695 0.863149 +0.741063 -0.585536 0.328592 +-0.104328 -0.2209 0.540371 + +0.670405 0.630191 -0.391685 +0.0190635 0.513077 0.858131 +0.741751 -0.582762 0.331956 +-0.103195 -0.221377 0.539175 + +0.670332 0.625118 -0.399855 +0.0208713 0.522747 0.852232 +0.741768 -0.579624 0.337367 +-0.102182 -0.22159 0.537994 + +0.671071 0.619063 -0.407952 +0.0221842 0.533237 0.845675 +0.741061 -0.576558 0.344107 +-0.101257 -0.221635 0.536828 + +0.671789 0.612908 -0.415985 +0.0235237 0.543642 0.838987 +0.740369 -0.573408 0.350795 +-0.100332 -0.221679 0.535637 + +0.672485 0.606654 -0.423952 +0.0248892 0.553961 0.83217 +0.739692 -0.570174 0.357431 +-0.0994076 -0.221724 0.534422 + +0.673158 0.600301 -0.431853 +0.0262803 0.564192 0.825225 +0.739031 -0.566856 0.364014 +-0.0984829 -0.221769 0.533183 + +0.673809 0.593851 -0.439685 +0.0276964 0.574332 0.818153 +0.738386 -0.563457 0.370543 +-0.0975582 -0.221813 0.53192 + +0.674437 0.587303 -0.447448 +0.0291372 0.584382 0.810956 +0.737758 -0.559976 0.377016 +-0.0966334 -0.221858 0.530633 + +0.675041 0.58066 -0.455141 +0.030602 0.594338 0.803633 +0.737146 -0.556413 0.383433 +-0.0957087 -0.221902 0.529321 + +0.675621 0.573923 -0.462762 +0.0320904 0.6042 0.796186 +0.73655 -0.55277 0.389793 +-0.094784 -0.221947 0.527986 + +0.676177 0.567091 -0.470311 +0.0336017 0.613965 0.788617 +0.735972 -0.549048 0.396094 +-0.0938593 -0.221992 0.526626 + +0.676709 0.560167 -0.477785 +0.0351356 0.623633 0.780927 +0.735412 -0.545247 0.402336 +-0.0929346 -0.222036 0.525242 + +0.677215 0.55315 -0.485184 +0.0366914 0.633202 0.773116 +0.734869 -0.541368 0.408518 +-0.0920099 -0.222081 0.523833 + +0.677697 0.546043 -0.492508 +0.0382685 0.64267 0.765187 +0.734345 -0.537412 0.414639 +-0.0910852 -0.222126 0.522401 + +0.678153 0.538847 -0.499753 +0.0398665 0.652036 0.757139 +0.733839 -0.533379 0.420698 +-0.0901605 -0.22217 0.520944 + +0.678583 0.531561 -0.506921 +0.0414847 0.661298 0.748975 +0.733352 -0.529271 0.426694 +-0.0892358 -0.222215 0.519463 + +0.678986 0.524188 -0.514008 +0.0431225 0.670455 0.740696 +0.732883 -0.525088 0.432625 +-0.0883111 -0.22226 0.517958 + +0.679364 0.516728 -0.521015 +0.0447795 0.679505 0.732303 +0.732434 -0.520831 0.438492 +-0.0873864 -0.222304 0.516429 + +0.679714 0.509183 -0.52794 +0.0464549 0.688447 0.723797 +0.732004 -0.516501 0.444293 +-0.0864617 -0.222349 0.514876 + +0.680038 0.501554 -0.534783 +0.0481482 0.69728 0.71518 +0.731594 -0.512098 0.450028 +-0.085537 -0.222394 0.513298 + +0.680334 0.493841 -0.541541 +0.0498588 0.706002 0.706453 +0.731204 -0.507624 0.455695 +-0.0846122 -0.222438 0.511697 + +0.680602 0.486046 -0.548215 +0.051586 0.714612 0.697617 +0.730835 -0.50308 0.461293 +-0.0836875 -0.222483 0.510071 + +0.680843 0.47817 -0.554803 +0.0533293 0.723108 0.688673 +0.730485 -0.498466 0.466823 +-0.0827628 -0.222528 0.508421 + +0.681056 0.470215 -0.561303 +0.055088 0.731489 0.679624 +0.730156 -0.493783 0.472282 +-0.0818381 -0.222572 0.506746 + +0.68124 0.462181 -0.567716 +0.0568616 0.739755 0.67047 +0.729849 -0.489032 0.47767 +-0.0809134 -0.222617 0.505048 + +0.681395 0.454069 -0.57404 +0.0586492 0.747902 0.661213 +0.729562 -0.484215 0.482986 +-0.0799887 -0.222662 0.503325 + +0.681522 0.445881 -0.580274 +0.0604504 0.755931 0.651854 +0.729296 -0.479331 0.48823 +-0.079064 -0.222706 0.501578 + +0.68162 0.437618 -0.586417 +0.0622645 0.76384 0.642395 +0.729052 -0.474382 0.493401 +-0.0781393 -0.222751 0.499807 + +0.681689 0.429282 -0.592468 +0.0640908 0.771628 0.632837 +0.72883 -0.46937 0.498497 +-0.0772146 -0.222796 0.498012 + +0.681728 0.420872 -0.598426 +0.0659286 0.779293 0.623182 +0.728629 -0.464294 0.503518 +-0.0762899 -0.22284 0.496193 + +0.681737 0.412392 -0.604291 +0.0677774 0.786835 0.613431 +0.728451 -0.459156 0.508464 +-0.0753652 -0.222885 0.494349 + +0.681717 0.403841 -0.610061 +0.0696363 0.794252 0.603585 +0.728295 -0.453957 0.513333 +-0.0744405 -0.22293 0.492481 + +0.681667 0.395222 -0.615736 +0.0715049 0.801542 0.593647 +0.728161 -0.448697 0.518124 +-0.0735157 -0.222974 0.490589 + +0.681586 0.386535 -0.621314 +0.0733823 0.808706 0.583617 +0.728049 -0.443379 0.522838 +-0.072591 -0.223019 0.488673 + +0.681475 0.377782 -0.626795 +0.075268 0.815742 0.573498 +0.72796 -0.438002 0.527473 +-0.0716663 -0.223064 0.486733 + +0.681334 0.368964 -0.632178 +0.0771611 0.822648 0.56329 +0.727894 -0.432569 0.532029 +-0.0707416 -0.223108 0.484768 + +0.681163 0.360082 -0.637463 +0.0790611 0.829424 0.552996 +0.727851 -0.427079 0.536504 +-0.0698169 -0.223153 0.482779 + +0.68096 0.351138 -0.642647 +0.0809673 0.836069 0.542617 +0.727831 -0.421534 0.540899 +-0.0688922 -0.223198 0.480767 + +0.680727 0.342133 -0.647731 +0.0828789 0.842581 0.532154 +0.727834 -0.415935 0.545212 +-0.0679675 -0.223242 0.47873 + +0.680463 0.333069 -0.652714 +0.0847953 0.84896 0.52161 +0.72786 -0.410283 0.549443 +-0.0670428 -0.223287 0.476668 + +0.680168 0.323946 -0.657595 +0.0867158 0.855204 0.510985 +0.727909 -0.404579 0.553591 +-0.0661181 -0.223332 0.474583 + +0.679842 0.314766 -0.662373 +0.0886397 0.861314 0.500282 +0.727982 -0.398825 0.557656 +-0.0651934 -0.223376 0.472473 + +0.679484 0.30553 -0.667047 +0.0905662 0.867287 0.489502 +0.728079 -0.393021 0.561637 +-0.0642687 -0.223421 0.470339 + +0.679096 0.296241 -0.671618 +0.0924947 0.873122 0.478646 +0.728199 -0.387168 0.565533 +-0.063344 -0.223466 0.468181 + +0.678676 0.286898 -0.676083 +0.0944245 0.87882 0.467717 +0.728343 -0.381267 0.569344 +-0.0624193 -0.22351 0.465999 + +0.678225 0.277504 -0.680443 +0.0963549 0.884379 0.456716 +0.72851 -0.37532 0.573069 +-0.0614945 -0.223555 0.463793 + +0.677742 0.26806 -0.684696 +0.0982851 0.889798 0.445645 +0.728701 -0.369328 0.576707 +-0.0605698 -0.2236 0.461562 + +0.677228 0.258568 -0.688843 +0.100214 0.895077 0.434505 +0.728916 -0.363291 0.580259 +-0.0596451 -0.223644 0.459307 + +0.676683 0.249028 -0.692882 +0.102142 0.900214 0.423299 +0.729155 -0.357212 0.583723 +-0.0587204 -0.223689 0.457029 + +0.676106 0.239442 -0.696813 +0.104068 0.905209 0.412028 +0.729418 -0.35109 0.587099 +-0.0577957 -0.223734 0.454725 + +0.675498 0.229812 -0.700635 +0.10599 0.910061 0.400693 +0.729705 -0.344928 0.590386 +-0.056871 -0.223778 0.452398 + +0.674858 0.220139 -0.704347 +0.107909 0.91477 0.389297 +0.730015 -0.338725 0.593585 +-0.0559463 -0.223823 0.450047 + +0.674187 0.210425 -0.70795 +0.109824 0.919334 0.37784 +0.73035 -0.332485 0.596694 +-0.0550216 -0.223868 0.447671 + +0.673485 0.20067 -0.711442 +0.111733 0.923754 0.366326 +0.730708 -0.326207 0.599712 +-0.0540969 -0.223912 0.445271 + +0.672751 0.190877 -0.714823 +0.113636 0.928028 0.354756 +0.73109 -0.319892 0.602641 +-0.0531722 -0.223957 0.442847 + +0.671986 0.181046 -0.718093 +0.115533 0.932155 0.343131 +0.731497 -0.313543 0.605478 +-0.0522475 -0.224002 0.440399 + +0.671189 0.17118 -0.72125 +0.117423 0.936136 0.331453 +0.731927 -0.307159 0.608224 +-0.0513228 -0.224046 0.437926 + +0.670362 0.161279 -0.724295 +0.119305 0.939969 0.319725 +0.732381 -0.300743 0.610878 +-0.0503981 -0.224091 0.43543 + +0.669503 0.151346 -0.727227 +0.121178 0.943655 0.307947 +0.732858 -0.294296 0.61344 +-0.0494733 -0.224136 0.432909 + +0.668614 0.141381 -0.730046 +0.123042 0.947192 0.296122 +0.73336 -0.287818 0.61591 +-0.0485486 -0.22418 0.430364 + +0.667693 0.131387 -0.73275 +0.124896 0.95058 0.284252 +0.733885 -0.281311 0.618286 +-0.0476239 -0.224225 0.427795 + +0.668726 0.114621 -0.734621 +0.140123 0.950911 0.275922 +0.730186 -0.287453 0.619838 +-0.0468975 -0.224124 0.425726 + +0.6714 0.091107 -0.735473 +0.168814 0.947523 0.271482 +0.721612 -0.306431 0.620787 +-0.0464084 -0.223891 0.424192 + +0.67474 0.0619723 -0.735449 +0.208431 0.939907 0.270427 +0.708013 -0.335758 0.621276 +-0.0461226 -0.22354 0.423109 + +0.677201 0.0338412 -0.735019 +0.246341 0.930866 0.269822 +0.693336 -0.363789 0.622047 +-0.0458736 -0.223121 0.422062 + +0.680357 0.0113884 -0.732792 +0.276513 0.921992 0.271055 +0.678716 -0.387041 0.624135 +-0.0458147 -0.222405 0.421239 + +0.685413 -0.00318407 -0.728148 +0.296014 0.914849 0.27464 +0.665271 -0.403783 0.627992 +-0.0459716 -0.22126 0.420737 + +0.692625 -0.0103399 -0.721224 +0.305435 0.91003 0.280277 +0.653438 -0.414414 0.633467 +-0.0463295 -0.21973 0.420531 + +0.701977 -0.010841 -0.712117 +0.305973 0.907498 0.2878 +0.643125 -0.419918 0.640359 +-0.0468901 -0.217856 0.420568 + +0.711217 -0.0114638 -0.702879 +0.306401 0.904947 0.295277 +0.632683 -0.425369 0.647127 +-0.0474507 -0.215982 0.42058 + +0.720343 -0.0122076 -0.693511 +0.306722 0.902381 0.302705 +0.622115 -0.430766 0.653768 +-0.0480113 -0.214108 0.420569 + +0.729351 -0.0130715 -0.684014 +0.306934 0.8998 0.310083 +0.611423 -0.436107 0.660282 +-0.048572 -0.212234 0.420533 + +0.73824 -0.0140545 -0.674392 +0.307039 0.897205 0.31741 +0.600607 -0.44139 0.666668 +-0.0491326 -0.21036 0.420472 + +0.747005 -0.0151558 -0.664645 +0.307037 0.8946 0.324684 +0.589671 -0.446612 0.672924 +-0.0496932 -0.208485 0.420388 + +0.755645 -0.0163743 -0.654776 +0.306928 0.891983 0.331905 +0.578615 -0.451771 0.679049 +-0.0502538 -0.206611 0.420279 + +0.764158 -0.017709 -0.644786 +0.306713 0.889359 0.33907 +0.567442 -0.456867 0.685042 +-0.0508145 -0.204737 0.420147 + +0.77254 -0.0191588 -0.634677 +0.306392 0.886727 0.346178 +0.556153 -0.461896 0.690902 +-0.0513751 -0.202863 0.41999 + +0.780788 -0.0207225 -0.624452 +0.305966 0.88409 0.353228 +0.544752 -0.466857 0.696628 +-0.0519357 -0.200989 0.419809 + +0.788902 -0.0223991 -0.614111 +0.305435 0.881449 0.360219 +0.533239 -0.471748 0.702218 +-0.0524963 -0.199115 0.419603 + +0.796877 -0.0241872 -0.603657 +0.3048 0.878805 0.367149 +0.521617 -0.476567 0.707672 +-0.053057 -0.197241 0.419374 + +0.804711 -0.0260856 -0.593093 +0.304062 0.876161 0.374017 +0.509888 -0.481313 0.712988 +-0.0536176 -0.195367 0.41912 + +0.812403 -0.0280929 -0.582419 +0.303221 0.873517 0.380822 +0.498054 -0.485983 0.718166 +-0.0541782 -0.193493 0.418842 + +0.81995 -0.0302079 -0.571638 +0.302278 0.870875 0.387563 +0.486118 -0.490575 0.723205 +-0.0547388 -0.191619 0.41854 + +0.827349 -0.032429 -0.560752 +0.301234 0.868237 0.394237 +0.474081 -0.495089 0.728103 +-0.0552995 -0.189744 0.418214 + +0.834598 -0.0347549 -0.549763 +0.300089 0.865604 0.400845 +0.461945 -0.499522 0.73286 +-0.0558601 -0.18787 0.417864 + +0.841694 -0.037184 -0.538673 +0.298845 0.862977 0.407385 +0.449714 -0.503873 0.737475 +-0.0564207 -0.185996 0.417489 + +0.848636 -0.0397148 -0.527484 +0.297501 0.860359 0.413855 +0.437389 -0.508139 0.741947 +-0.0569813 -0.184122 0.41709 + +0.855422 -0.0423457 -0.516198 +0.29606 0.85775 0.420254 +0.424973 -0.51232 0.746275 +-0.057542 -0.182248 0.416667 + +0.862048 -0.0450751 -0.504818 +0.294522 0.855152 0.426581 +0.412468 -0.516414 0.750458 +-0.0581026 -0.180374 0.41622 + +0.868514 -0.0479014 -0.493345 +0.292887 0.852567 0.432836 +0.399876 -0.520418 0.754496 +-0.0586632 -0.1785 0.415749 + +0.874816 -0.0508228 -0.481782 +0.291157 0.849995 0.439016 +0.3872 -0.524333 0.758387 +-0.0592238 -0.176626 0.415253 + +0.880953 -0.0538375 -0.47013 +0.289333 0.847439 0.445121 +0.374443 -0.528155 0.762132 +-0.0597845 -0.174752 0.414734 + +0.886923 -0.0569439 -0.458393 +0.287416 0.8449 0.45115 +0.361606 -0.531885 0.765728 +-0.0603451 -0.172877 0.41419 + +0.892651 -0.0573978 -0.44708 +0.283537 0.84255 0.457947 +0.350402 -0.535551 0.768377 +-0.060717 -0.171209 0.413691 + +0.898175 -0.054825 -0.436207 +0.277406 0.840412 0.465568 +0.341068 -0.539168 0.770045 +-0.0608965 -0.169743 0.413221 + +0.90345 -0.0477868 -0.426021 +0.26806 0.838496 0.474413 +0.334546 -0.542808 0.770349 +-0.060793 -0.168582 0.412811 + +0.908355 -0.0362333 -0.416628 +0.255613 0.836588 0.484544 +0.33099 -0.546633 0.76918 +-0.0603766 -0.167755 0.412485 + +0.91275 -0.0206592 -0.407995 +0.240528 0.834436 0.495846 +0.330202 -0.550718 0.7666 +-0.0596741 -0.16723 0.412218 + +0.916522 -0.00149687 -0.399981 +0.223131 0.831849 0.508173 +0.331964 -0.555 0.762742 +-0.0587226 -0.166979 0.412004 + +0.919859 0.0176757 -0.391852 +0.205747 0.828784 0.52037 +0.333958 -0.559289 0.758728 +-0.0577711 -0.166727 0.411766 + +0.922761 0.0368477 -0.383608 +0.188389 0.825241 0.532435 +0.336188 -0.563578 0.754558 +-0.0568196 -0.166476 0.411504 + +0.925229 0.0560085 -0.375253 +0.171071 0.821219 0.544366 +0.338654 -0.567858 0.750234 +-0.0558681 -0.166224 0.411217 + +0.927265 0.0751471 -0.366788 +0.153805 0.81672 0.556159 +0.341356 -0.572121 0.745757 +-0.0549166 -0.165973 0.410906 + +0.92887 0.094253 -0.358214 +0.136606 0.811744 0.567813 +0.344296 -0.576358 0.741128 +-0.0539651 -0.165721 0.410571 + +0.930045 0.113316 -0.349535 +0.119487 0.806292 0.579323 +0.347474 -0.580562 0.736349 +-0.0530137 -0.16547 0.410212 + +0.930794 0.132324 -0.340753 +0.102462 0.800368 0.590688 +0.35089 -0.584723 0.73142 +-0.0520622 -0.165218 0.409829 + +0.931118 0.151268 -0.331868 +0.0855427 0.793972 0.601906 +0.354543 -0.588834 0.726342 +-0.0511107 -0.164967 0.409422 + +0.93102 0.170138 -0.322884 +0.0687442 0.787108 0.612972 +0.358434 -0.592886 0.721118 +-0.0501592 -0.164715 0.40899 + +0.930503 0.188922 -0.313803 +0.0520791 0.779779 0.623885 +0.362562 -0.59687 0.715748 +-0.0492077 -0.164464 0.408534 + +0.92957 0.20761 -0.304626 +0.0355609 0.771987 0.634643 +0.366925 -0.600778 0.710233 +-0.0482562 -0.164212 0.408054 + +0.928225 0.226193 -0.295356 +0.0192025 0.763736 0.645243 +0.371523 -0.604602 0.704575 +-0.0473047 -0.163961 0.40755 + +0.926471 0.244661 -0.285995 +0.00301707 0.755031 0.655682 +0.376355 -0.608333 0.698776 +-0.0463532 -0.163709 0.407021 + +0.924312 0.263003 -0.276545 +-0.0129824 0.745876 0.665958 +0.381417 -0.611963 0.692837 +-0.0454017 -0.163458 0.406469 + +0.921753 0.281209 -0.267009 +-0.0287831 0.736276 0.676069 +0.386709 -0.615483 0.686758 +-0.0444502 -0.163206 0.405892 + +0.918797 0.299271 -0.257388 +-0.0443724 0.726235 0.686013 +0.392228 -0.618885 0.680542 +-0.0434987 -0.162955 0.405291 + +0.915451 0.317178 -0.247686 +-0.0597376 0.715761 0.695786 +0.397972 -0.622162 0.674191 +-0.0425472 -0.162703 0.404666 + +0.911718 0.334921 -0.237904 +-0.0748662 0.704857 0.705388 +0.403937 -0.625304 0.667705 +-0.0415958 -0.162452 0.404016 + +0.907605 0.352491 -0.228044 +-0.0897461 0.693531 0.714815 +0.410121 -0.628303 0.661087 +-0.0406443 -0.1622 0.403343 + +0.903116 0.369879 -0.21811 +-0.104365 0.681789 0.724066 +0.416521 -0.631152 0.654337 +-0.0396928 -0.161949 0.402645 + +0.898269 0.386885 -0.208403 +-0.11851 0.669944 0.732892 +0.423164 -0.633637 0.64764 +-0.0389186 -0.161829 0.402024 + +0.893115 0.403459 -0.198916 +-0.132151 0.658021 0.741312 +0.42998 -0.63579 0.641006 +-0.0383501 -0.161876 0.401499 + +0.887662 0.419632 -0.189645 +-0.145313 0.646038 0.749345 +0.436967 -0.637608 0.634442 +-0.0379878 -0.162086 0.401075 + +0.882066 0.435043 -0.180823 +-0.157701 0.634313 0.756821 +0.443948 -0.63905 0.628112 +-0.0379708 -0.162549 0.400851 + +0.875661 0.45123 -0.172074 +-0.170544 0.622298 0.763977 +0.45181 -0.639638 0.621876 +-0.0383214 -0.163369 0.400838 + +0.868585 0.467797 -0.163479 +-0.183516 0.610104 0.770776 +0.460306 -0.639484 0.615775 +-0.0390729 -0.164562 0.401084 + +0.860243 0.48584 -0.154733 +-0.197436 0.597184 0.777425 +0.470108 -0.638224 0.609646 +-0.0401167 -0.166074 0.40151 + +0.851358 0.503854 -0.146018 +-0.211146 0.583937 0.783859 +0.480216 -0.636513 0.603526 +-0.0413162 -0.167724 0.402034 + +0.842072 0.521608 -0.13726 +-0.224474 0.570315 0.79016 +0.490435 -0.63456 0.597333 +-0.0425156 -0.169375 0.402534 + +0.832393 0.539092 -0.128459 +-0.237408 0.556329 0.796326 +0.500758 -0.632359 0.591069 +-0.043715 -0.171026 0.40301 + +0.822329 0.556297 -0.119617 +-0.249939 0.541991 0.802357 +0.51118 -0.629905 0.584735 +-0.0449144 -0.172676 0.403462 + +0.811889 0.573213 -0.110736 +-0.262055 0.527311 0.808251 +0.521693 -0.627192 0.578332 +-0.0461138 -0.174327 0.40389 + +0.801081 0.589833 -0.101816 +-0.273747 0.512302 0.814009 +0.53229 -0.624215 0.57186 +-0.0473133 -0.175978 0.404294 + +0.789913 0.606148 -0.0928603 +-0.285004 0.496974 0.819628 +0.542965 -0.620969 0.565321 +-0.0485127 -0.177628 0.404673 + +0.778394 0.622148 -0.0838691 +-0.295819 0.48134 0.825108 +0.553709 -0.617449 0.558715 +-0.0497121 -0.179279 0.405028 + +0.766535 0.637826 -0.074844 +-0.306181 0.465412 0.830449 +0.564515 -0.613652 0.552045 +-0.0509115 -0.18093 0.405359 + +0.754344 0.653175 -0.0657867 +-0.316081 0.449204 0.835649 +0.575376 -0.609572 0.54531 +-0.0521109 -0.18258 0.405666 + +0.741831 0.668186 -0.0566985 +-0.325513 0.432727 0.840707 +0.586284 -0.605206 0.538513 +-0.0533104 -0.184231 0.405949 + +0.729005 0.682853 -0.0475809 +-0.334467 0.415995 0.845624 +0.59723 -0.60055 0.531654 +-0.0545098 -0.185882 0.406207 + +0.715877 0.697168 -0.0384354 +-0.342936 0.399022 0.850398 +0.608207 -0.595599 0.524734 +-0.0557092 -0.187532 0.406441 + +0.702456 0.711125 -0.0292634 +-0.350913 0.38182 0.855028 +0.619205 -0.590351 0.517755 +-0.0569086 -0.189183 0.406651 + +0.688754 0.724717 -0.0200664 +-0.358391 0.364405 0.859515 +0.630217 -0.584803 0.510717 +-0.058108 -0.190834 0.406837 + +0.674781 0.737939 -0.0108458 +-0.365363 0.346789 0.863856 +0.641234 -0.57895 0.503622 +-0.0593075 -0.192484 0.406999 + +0.660546 0.750784 -0.00160326 +-0.371824 0.328988 0.868052 +0.652247 -0.572792 0.496471 +-0.0605069 -0.194135 0.407136 + +0.646061 0.763247 0.00765989 +-0.377768 0.311015 0.872102 +0.663247 -0.566325 0.489265 +-0.0617063 -0.195786 0.40725 + +0.631338 0.775323 0.0169421 +-0.383189 0.292885 0.876005 +0.674224 -0.559547 0.482005 +-0.0629057 -0.197436 0.407339 + +0.616386 0.787007 0.026242 +-0.388084 0.274613 0.87976 +0.685171 -0.552456 0.474692 +-0.0641051 -0.199087 0.407404 + +0.601217 0.798294 0.035558 +-0.392447 0.256215 0.883368 +0.696078 -0.545051 0.467328 +-0.0653046 -0.200738 0.407445 + +0.585842 0.809181 0.0448887 +-0.396274 0.237704 0.886828 +0.706934 -0.537329 0.459914 +-0.066504 -0.202388 0.407461 + +0.570273 0.819663 0.0542325 +-0.399562 0.219096 0.890139 +0.717732 -0.529291 0.452451 +-0.0677034 -0.204039 0.407454 + +0.555082 0.829389 0.0632231 +-0.403275 0.201861 0.892537 +0.727498 -0.520927 0.446521 +-0.0688806 -0.205447 0.407416 + +0.541949 0.837379 0.071336 +-0.408103 0.188017 0.893365 +0.734672 -0.51327 0.443632 +-0.0700284 -0.206379 0.407374 + +0.530342 0.844157 0.0783368 +-0.415034 0.177947 0.892234 +0.739246 -0.505702 0.444726 +-0.0711125 -0.206701 0.407334 + +0.51973 0.850172 0.0841915 +-0.424318 0.171343 0.889155 +0.741509 -0.497844 0.449795 +-0.0721164 -0.206415 0.407298 + +0.51076 0.855116 0.0888893 +-0.435654 0.168299 0.88424 +0.741168 -0.490359 0.458495 +-0.0730546 -0.205567 0.407272 + +0.502587 0.859534 0.0927803 +-0.448465 0.167456 0.877973 +0.739111 -0.482867 0.469633 +-0.0739404 -0.204338 0.407244 + +0.494866 0.863635 0.0961387 +-0.462167 0.167892 0.870755 +0.735873 -0.475339 0.482228 +-0.0747867 -0.202868 0.40719 + +0.489701 0.866267 0.0988697 +-0.474685 0.169771 0.863627 +0.731347 -0.469851 0.49434 +-0.0755749 -0.201575 0.407167 + +0.489055 0.866423 0.100681 +-0.485338 0.174392 0.856758 +0.724757 -0.467866 0.505795 +-0.0762188 -0.200603 0.407253 + +0.492997 0.86408 0.101589 +-0.494068 0.181934 0.850175 +0.716136 -0.469325 0.516607 +-0.0767225 -0.199955 0.407446 + +0.501632 0.859097 0.101581 +-0.500703 0.192576 0.843926 +0.705452 -0.474202 0.526754 +-0.0770587 -0.199662 0.407767 + +0.515829 0.850775 0.100507 +-0.50465 0.206955 0.838152 +0.692278 -0.483064 0.536097 +-0.0772311 -0.199776 0.408223 + +0.535429 0.838833 0.0983566 +-0.505657 0.225107 0.832849 +0.676481 -0.495667 0.544691 +-0.0772336 -0.200295 0.408804 + +0.559937 0.823057 0.0951154 +-0.503465 0.246827 0.828009 +0.658022 -0.51152 0.552588 +-0.07709 -0.20119 0.409481 + +0.587565 0.804028 0.0911443 +-0.49853 0.27097 0.823433 +0.637366 -0.529259 0.560045 +-0.0768468 -0.20234 0.41022 + +0.614564 0.784032 0.0872083 +-0.492537 0.295004 0.818767 +0.616213 -0.546138 0.567464 +-0.0766037 -0.20349 0.410935 + +0.6409 0.763091 0.0833076 +-0.485489 0.318883 0.814011 +0.594599 -0.562144 0.574844 +-0.0763605 -0.20464 0.411625 + +0.666538 0.741226 0.0794429 +-0.47739 0.342562 0.809166 +0.572561 -0.577265 0.582185 +-0.0761173 -0.20579 0.412292 + +0.691445 0.718461 0.0756144 +-0.468247 0.365998 0.804232 +0.550135 -0.591489 0.589485 +-0.0758741 -0.20694 0.412934 + +0.715588 0.69482 0.0718227 +-0.458069 0.389147 0.799211 +0.527358 -0.604805 0.596744 +-0.0756309 -0.20809 0.413552 + +0.738935 0.670329 0.0680682 +-0.446865 0.411964 0.794102 +0.504268 -0.617207 0.603961 +-0.0753877 -0.209239 0.414146 + +0.761456 0.645014 0.0643512 +-0.434648 0.434406 0.788906 +0.480901 -0.628687 0.611135 +-0.0751445 -0.210389 0.414716 + +0.78312 0.618904 0.0606723 +-0.421431 0.45643 0.783624 +0.457296 -0.639241 0.618265 +-0.0749013 -0.211539 0.415261 + +0.803897 0.592028 0.0570318 +-0.40723 0.477994 0.778257 +0.433489 -0.648864 0.62535 +-0.0746582 -0.212689 0.415782 + +0.82376 0.564415 0.0534301 +-0.392063 0.499057 0.772806 +0.409519 -0.657555 0.632389 +-0.074415 -0.213839 0.416279 + +0.842682 0.536097 0.0498677 +-0.375949 0.519576 0.76727 +0.385422 -0.665313 0.639382 +-0.0741718 -0.214989 0.416752 + +0.860636 0.507107 0.0463449 +-0.358907 0.539511 0.761652 +0.361235 -0.672138 0.646327 +-0.0739286 -0.216139 0.417201 + +0.877598 0.477478 0.0428621 +-0.340962 0.558824 0.75595 +0.336997 -0.678034 0.653224 +-0.0736854 -0.217288 0.417626 + +0.893543 0.447244 0.0394196 +-0.322137 0.577475 0.750167 +0.312744 -0.683005 0.660072 +-0.0734422 -0.218438 0.418026 + +0.90845 0.41644 0.036018 +-0.302458 0.595426 0.744303 +0.288511 -0.687056 0.66687 +-0.073199 -0.219588 0.418402 + +0.922296 0.385102 0.0326575 +-0.281951 0.612642 0.738359 +0.264336 -0.690193 0.673617 +-0.0729559 -0.220738 0.418754 + +0.935062 0.353268 0.0293385 +-0.260647 0.629085 0.732335 +0.240254 -0.692426 0.680312 +-0.0727127 -0.221888 0.419082 + +0.946729 0.320974 0.0260614 +-0.238575 0.644723 0.726233 +0.216299 -0.693763 0.686955 +-0.0724695 -0.223038 0.419386 + +0.95728 0.28826 0.0228265 +-0.215768 0.659522 0.720052 +0.192508 -0.694217 0.693544 +-0.0722263 -0.224187 0.419665 + +0.966698 0.255164 0.0196342 +-0.192257 0.67345 0.713795 +0.168912 -0.693799 0.70008 +-0.0719831 -0.225337 0.41992 + +0.97497 0.221726 0.0164849 +-0.168079 0.686476 0.707461 +0.145546 -0.692524 0.70656 +-0.0717399 -0.226487 0.420151 + +0.98208 0.187986 0.0133788 +-0.143268 0.698571 0.701051 +0.122442 -0.690406 0.712985 +-0.0714967 -0.227637 0.420358 + +0.988019 0.153986 0.0103163 +-0.117863 0.709707 0.694568 +0.0996322 -0.687462 0.719354 +-0.0712535 -0.228787 0.420541 + +0.992775 0.119766 0.00729769 +-0.0918997 0.719859 0.68801 +0.0771471 -0.68371 0.725665 +-0.0710104 -0.229937 0.4207 + +0.99634 0.0853687 0.00432335 +-0.0654191 0.729001 0.681379 +0.0550167 -0.679168 0.731918 +-0.0707672 -0.231087 0.420834 + +0.998706 0.0508354 0.00139357 +-0.0384613 0.737111 0.674676 +0.0332702 -0.673857 0.738112 +-0.070524 -0.232236 0.420944 + +0.999868 0.016209 -0.00149135 +-0.0110676 0.744167 0.667902 +0.0119358 -0.667797 0.744247 +-0.0702808 -0.233386 0.42103 + +0.99982 -0.018468 -0.00433109 +0.0167199 0.750148 0.661058 +-0.00895947 -0.661012 0.750322 +-0.0700376 -0.234536 0.421092 + +0.998561 -0.0531526 -0.00712537 +0.0448578 0.755038 0.654144 +-0.0293896 -0.653523 0.756336 +-0.0697944 -0.235686 0.421129 + +0.996089 -0.0878018 -0.0098739 +0.0733025 0.75882 0.647162 +-0.0493295 -0.645355 0.762288 +-0.0695512 -0.236836 0.421143 + +0.992405 -0.122372 -0.0125764 +0.102009 0.761479 0.640112 +-0.0687555 -0.636533 0.768178 +-0.0693081 -0.237986 0.421132 + +0.98751 -0.156821 -0.0152326 +0.130933 0.763003 0.632996 +-0.0876448 -0.627084 0.774005 +-0.0690649 -0.239136 0.421097 + +0.981407 -0.191105 -0.0178422 +0.160027 0.76338 0.625813 +-0.105976 -0.617033 0.779769 +-0.0688217 -0.240285 0.421038 + +0.974103 -0.225182 -0.0204049 +0.189247 0.762602 0.618566 +-0.123729 -0.606409 0.785468 +-0.0685785 -0.241435 0.420955 + +0.965603 -0.259007 -0.0229205 +0.218544 0.760661 0.611255 +-0.140885 -0.595239 0.791102 +-0.0683353 -0.242585 0.420847 + +0.955917 -0.292539 -0.0253888 +0.247872 0.757553 0.603881 +-0.157425 -0.583553 0.79667 +-0.0680921 -0.243735 0.420715 + +0.945052 -0.325734 -0.0278094 +0.277185 0.753274 0.596445 +-0.173335 -0.57138 0.802172 +-0.0678489 -0.244885 0.42056 + +0.933022 -0.358552 -0.0301822 +0.306433 0.747822 0.588948 +-0.188598 -0.55875 0.807607 +-0.0676057 -0.246035 0.420379 + +0.919838 -0.39095 -0.0325069 +0.335571 0.741199 0.581391 +-0.203201 -0.545694 0.812975 +-0.0673626 -0.247185 0.420175 + +0.905515 -0.422886 -0.0347833 +0.36455 0.733407 0.573775 +-0.217131 -0.532242 0.818274 +-0.0671194 -0.248334 0.419947 + +0.890069 -0.454321 -0.0370112 +0.393323 0.724449 0.566101 +-0.230379 -0.518426 0.823505 +-0.0668762 -0.249484 0.419694 + +0.873517 -0.485213 -0.0391903 +0.421843 0.714333 0.55837 +-0.242933 -0.504278 0.828666 +-0.066633 -0.250634 0.419417 + +0.855879 -0.515523 -0.0413205 +0.450062 0.703067 0.550582 +-0.254787 -0.489828 0.833758 +-0.0663898 -0.251784 0.419116 + +0.837174 -0.545213 -0.0434015 +0.477933 0.690661 0.54274 +-0.265933 -0.47511 0.838779 +-0.0661466 -0.252934 0.418791 + +0.817424 -0.574242 -0.0454332 +0.505411 0.677128 0.534843 +-0.276366 -0.460156 0.843729 +-0.0659034 -0.254084 0.418442 + +0.796652 -0.602575 -0.0474153 +0.53245 0.66248 0.526894 +-0.286082 -0.444997 0.848608 +-0.0656602 -0.255234 0.418068 + +0.774884 -0.630175 -0.0493477 +0.559003 0.646735 0.518892 +-0.295078 -0.429667 0.853414 +-0.0654171 -0.256383 0.41767 + +0.752144 -0.657005 -0.0512302 +0.585027 0.62991 0.51084 +-0.303354 -0.414196 0.858148 +-0.0651739 -0.257533 0.417248 + +0.72846 -0.68303 -0.0530627 +0.610477 0.612024 0.502737 +-0.310909 -0.398617 0.862809 +-0.0649307 -0.258683 0.416802 + +0.70386 -0.708218 -0.0548449 +0.635309 0.5931 0.494586 +-0.317746 -0.382963 0.867397 +-0.0646875 -0.259833 0.416332 + +0.678375 -0.732534 -0.0565767 +0.659482 0.573159 0.486386 +-0.323867 -0.367264 0.87191 +-0.0644443 -0.260983 0.415838 + +0.652035 -0.755947 -0.058258 +0.682954 0.552228 0.47814 +-0.329277 -0.351552 0.876349 +-0.0642011 -0.262133 0.415319 + +0.624873 -0.778426 -0.0598886 +0.705684 0.530332 0.469848 +-0.333981 -0.335858 0.880713 +-0.0639579 -0.263283 0.414776 + +0.596921 -0.799942 -0.0614684 +0.727633 0.5075 0.461511 +-0.337987 -0.320212 0.885002 +-0.0637148 -0.264432 0.414209 + +0.568213 -0.820466 -0.0629972 +0.748763 0.483763 0.453131 +-0.341303 -0.304645 0.889215 +-0.0634716 -0.265582 0.413618 + +0.538786 -0.839972 -0.0644749 +0.769035 0.45915 0.444708 +-0.343939 -0.289186 0.893352 +-0.0632284 -0.266732 0.413002 + +0.508676 -0.858432 -0.0659015 +0.788415 0.433696 0.436244 +-0.345904 -0.273864 0.897412 +-0.0629852 -0.267882 0.412363 + +0.47792 -0.875823 -0.0672767 +0.806868 0.407435 0.427739 +-0.347213 -0.258708 0.901395 +-0.062742 -0.269032 0.411699 + +0.446556 -0.892122 -0.0686006 +0.82436 0.380403 0.419194 +-0.347877 -0.243745 0.905301 +-0.0624988 -0.270182 0.411011 + +0.414623 -0.907307 -0.0698729 +0.84086 0.352636 0.410612 +-0.347911 -0.229002 0.909129 +-0.0622556 -0.271332 0.410299 + +0.382161 -0.921357 -0.0710936 +0.856337 0.324174 0.401992 +-0.347331 -0.214506 0.912879 +-0.0620124 -0.272481 0.409563 + +0.349212 -0.934253 -0.0722627 +0.870763 0.295056 0.393336 +-0.346154 -0.200281 0.916551 +-0.0617693 -0.273631 0.408802 + +0.315815 -0.945979 -0.07338 +0.884111 0.265324 0.384644 +-0.344396 -0.186353 0.920143 +-0.0615261 -0.274781 0.408017 + +0.282014 -0.956518 -0.0744454 +0.896354 0.235018 0.375919 +-0.342077 -0.172744 0.923657 +-0.0612829 -0.275931 0.407208 + +0.258169 -0.963345 -0.0729101 +0.904119 0.214321 0.369642 +-0.340466 -0.16135 0.926309 +-0.0613301 -0.27691 0.406779 + +0.247294 -0.96652 -0.0684478 +0.907269 0.206175 0.366545 +-0.340161 -0.152745 0.927879 +-0.0617279 -0.277686 0.406832 + +0.252394 -0.965751 -0.0601927 +0.90522 0.213681 0.36731 +-0.341868 -0.147194 0.928149 +-0.0625032 -0.278137 0.407507 + +0.26761 -0.962253 -0.0495414 +0.899646 0.231127 0.37043 +-0.344997 -0.1437 0.927538 +-0.0635643 -0.278444 0.408565 + +0.282717 -0.958415 -0.0388787 +0.893736 0.248487 0.373483 +-0.348291 -0.140337 0.926822 +-0.0646255 -0.27875 0.4096 + +0.297706 -0.954241 -0.0282058 +0.887494 0.265755 0.376468 +-0.351745 -0.137109 0.926 +-0.0656866 -0.279057 0.41061 + +0.31257 -0.949733 -0.0175242 +0.880921 0.282923 0.379386 +-0.355357 -0.134022 0.925073 +-0.0667478 -0.279363 0.411596 + +0.327301 -0.944895 -0.00683523 +0.874017 0.299985 0.382235 +-0.359121 -0.13108 0.92404 +-0.0678089 -0.27967 0.412558 + +0.341892 -0.939731 0.00385977 +0.866785 0.316934 0.385015 +-0.363034 -0.128288 0.922902 +-0.0688701 -0.279976 0.413495 + +0.356334 -0.934245 0.0145594 +0.859227 0.333763 0.387727 +-0.367091 -0.12565 0.921659 +-0.0699312 -0.280283 0.414409 + +0.37062 -0.928441 0.0252624 +0.851344 0.350465 0.390369 +-0.371288 -0.123171 0.920312 +-0.0709923 -0.280589 0.415298 + +0.384742 -0.922323 0.0359672 +0.843139 0.367034 0.392941 +-0.37562 -0.120856 0.91886 +-0.0720535 -0.280896 0.416163 + +0.398694 -0.915896 0.0466727 +0.834614 0.383463 0.395444 +-0.380083 -0.118707 0.917304 +-0.0731146 -0.281202 0.417004 + +0.412468 -0.909164 0.0573774 +0.825772 0.399744 0.397876 +-0.384671 -0.11673 0.915643 +-0.0741758 -0.281509 0.417821 + +0.426056 -0.902132 0.0680799 +0.816615 0.415873 0.400237 +-0.389379 -0.114929 0.913879 +-0.0752369 -0.281815 0.418613 + +0.439453 -0.894805 0.0787789 +0.807146 0.431841 0.402528 +-0.394204 -0.113306 0.912012 +-0.0762981 -0.282122 0.419382 + +0.452651 -0.887188 0.089473 +0.797368 0.447643 0.404747 +-0.399139 -0.111866 0.910041 +-0.0773592 -0.282428 0.420126 + +0.465643 -0.879286 0.100161 +0.787284 0.463271 0.406895 +-0.404179 -0.110613 0.907967 +-0.0784203 -0.282734 0.420846 + +0.478423 -0.871106 0.110841 +0.776897 0.47872 0.408972 +-0.40932 -0.109549 0.905791 +-0.0794815 -0.283041 0.421542 + +0.490984 -0.862652 0.121513 +0.766211 0.493984 0.410976 +-0.414554 -0.108678 0.903512 +-0.0805426 -0.283347 0.422213 + +0.503321 -0.853931 0.132174 +0.755228 0.509055 0.412907 +-0.419878 -0.108003 0.901131 +-0.0816038 -0.283654 0.422861 + +0.515427 -0.844948 0.142824 +0.743954 0.523929 0.414767 +-0.425286 -0.107528 0.898649 +-0.0826649 -0.28396 0.423484 + +0.527296 -0.835709 0.15346 +0.73239 0.538598 0.416553 +-0.430771 -0.107254 0.896065 +-0.083726 -0.284267 0.424083 + +0.538922 -0.82622 0.164083 +0.720542 0.553056 0.418267 +-0.436328 -0.107185 0.893381 +-0.0847872 -0.284573 0.424658 + +0.550299 -0.816489 0.17469 +0.708414 0.567299 0.419907 +-0.441951 -0.107322 0.890596 +-0.0858483 -0.28488 0.425209 + +0.5561 -0.810629 0.183396 +0.700245 0.575842 0.421974 +-0.447671 -0.106238 0.887865 +-0.0867753 -0.284988 0.425904 + +0.551883 -0.812448 0.188026 +0.700128 0.573899 0.424808 +-0.453042 -0.102802 0.885542 +-0.0873661 -0.284711 0.426928 + +0.537549 -0.821878 0.188567 +0.708048 0.561385 0.428387 +-0.45794 -0.0967645 0.883701 +-0.0876187 -0.284049 0.428277 + +0.51479 -0.836932 0.185837 +0.72199 0.540112 0.432445 +-0.4623 -0.0884455 0.882302 +-0.0876391 -0.283065 0.42988 + +0.491615 -0.851348 0.183088 +0.735302 0.518472 0.436483 +-0.466525 -0.0799563 0.880887 +-0.0876596 -0.282081 0.431458 + +0.468043 -0.865113 0.18032 +0.747973 0.496483 0.4405 +-0.470608 -0.0712984 0.879457 +-0.08768 -0.281098 0.433012 + +0.444092 -0.878217 0.177532 +0.759994 0.474165 0.444497 +-0.474544 -0.0624738 0.878012 +-0.0877005 -0.280114 0.434542 + +0.41978 -0.890649 0.174726 +0.771355 0.451535 0.448473 +-0.478327 -0.0534845 0.876552 +-0.087721 -0.27913 0.436048 + +0.395128 -0.902399 0.1719 +0.782048 0.428615 0.452428 +-0.481949 -0.0443325 0.875077 +-0.0877414 -0.278147 0.437529 + +0.370154 -0.913458 0.169056 +0.792065 0.405423 0.456361 +-0.485406 -0.0350205 0.873587 +-0.0877619 -0.277163 0.438987 + +0.344878 -0.923818 0.166193 +0.801399 0.381979 0.460274 +-0.488692 -0.025551 0.872082 +-0.0877824 -0.276179 0.44042 + +0.319319 -0.933469 0.163312 +0.810043 0.358304 0.464165 +-0.491799 -0.0159268 0.870563 +-0.0878028 -0.275196 0.441829 + +0.293497 -0.942405 0.160412 +0.817991 0.334417 0.468035 +-0.494723 -0.00615108 0.869029 +-0.0878233 -0.274212 0.443214 + +0.267433 -0.950618 0.157494 +0.825237 0.31034 0.471883 +-0.497457 0.00377296 0.86748 +-0.0878438 -0.273228 0.444574 + +0.241147 -0.958102 0.154558 +0.831776 0.286092 0.475709 +-0.499996 0.0138418 0.865917 +-0.0878642 -0.272245 0.445911 + +0.21466 -0.964851 0.151604 +0.837605 0.261695 0.479514 +-0.502333 0.0240518 0.86434 +-0.0878847 -0.271261 0.447223 + +0.187992 -0.970859 0.148632 +0.842719 0.237169 0.483296 +-0.504463 0.0343991 0.862748 +-0.0879052 -0.270277 0.448511 + +0.161164 -0.976122 0.145642 +0.847115 0.212536 0.487056 +-0.506381 0.0448795 0.861141 +-0.0879256 -0.269294 0.449775 + +0.134198 -0.980636 0.142635 +0.850791 0.187816 0.490794 +-0.50808 0.0554887 0.859521 +-0.0879461 -0.26831 0.451015 + +0.107114 -0.984396 0.13961 +0.853745 0.16303 0.49451 +-0.509554 0.0662222 0.857886 +-0.0879666 -0.267327 0.45223 + +0.0799337 -0.987401 0.136567 +0.855976 0.138201 0.498203 +-0.5108 0.0770752 0.856238 +-0.087987 -0.266343 0.453421 + +0.052678 -0.989647 0.133508 +0.857482 0.113348 0.501873 +-0.51181 0.088043 0.854575 +-0.0880075 -0.265359 0.454588 + +0.0253686 -0.991133 0.130431 +0.858264 0.0884934 0.505521 +-0.512581 0.0991202 0.852899 +-0.088028 -0.264376 0.455731 + +-0.0019733 -0.991857 0.127338 +0.858323 0.0636581 0.509146 +-0.513106 0.110302 0.851208 +-0.0880484 -0.263392 0.45685 + +-0.0293262 -0.99182 0.124227 +0.85766 0.0388632 0.512747 +-0.513381 0.121582 0.849504 +-0.0880689 -0.262408 0.457945 + +-0.0566688 -0.991021 0.1211 +0.856276 0.01413 0.516326 +-0.513401 0.132955 0.847787 +-0.0880893 -0.261425 0.459015 + +-0.0839797 -0.989461 0.117957 +0.854174 -0.0105206 0.519881 +-0.513161 0.144415 0.846055 +-0.0881098 -0.260441 0.460061 + +-0.111237 -0.987141 0.114797 +0.851357 -0.0350676 0.523413 +-0.512657 0.155956 0.844311 +-0.0881303 -0.259457 0.461083 + +-0.138421 -0.984063 0.11162 +0.847829 -0.0594901 0.526921 +-0.511884 0.167572 0.842553 +-0.0881507 -0.258474 0.462081 + +-0.165508 -0.98023 0.108428 +0.843595 -0.0837672 0.530406 +-0.510837 0.179256 0.840781 +-0.0881712 -0.25749 0.463055 + +-0.192479 -0.975644 0.105219 +0.838658 -0.107878 0.533867 +-0.509513 0.191001 0.838996 +-0.0881917 -0.256506 0.464004 + +-0.219312 -0.970309 0.101995 +0.833026 -0.131803 0.537304 +-0.507908 0.202802 0.837198 +-0.0882121 -0.255523 0.464929 + +-0.245986 -0.96423 0.0987547 +0.826703 -0.155522 0.540718 +-0.506018 0.21465 0.835387 +-0.0882326 -0.254539 0.465831 + +-0.27248 -0.95741 0.095499 +0.819696 -0.179013 0.544107 +-0.503838 0.226538 0.833563 +-0.0882531 -0.253555 0.466707 + +-0.298773 -0.949857 0.0922278 +0.812014 -0.202258 0.547472 +-0.501366 0.23846 0.831726 +-0.0882735 -0.252572 0.46756 + +-0.324846 -0.941576 0.0889413 +0.803663 -0.225236 0.550813 +-0.498599 0.250408 0.829876 +-0.088294 -0.251588 0.468389 + +-0.350677 -0.932572 0.0856395 +0.794652 -0.247928 0.554129 +-0.495533 0.262374 0.828014 +-0.0883145 -0.250604 0.469193 + +-0.376247 -0.922855 0.0823228 +0.784991 -0.270316 0.557421 +-0.492166 0.274351 0.826138 +-0.0883349 -0.249621 0.469973 + +-0.401536 -0.91243 0.0789911 +0.774689 -0.29238 0.560688 +-0.488494 0.28633 0.82425 +-0.0883554 -0.248637 0.470729 + +-0.426524 -0.901308 0.0756446 +0.763756 -0.314101 0.563931 +-0.484515 0.298304 0.82235 +-0.0883759 -0.247653 0.471461 + +-0.451191 -0.889495 0.0722835 +0.752202 -0.335461 0.567149 +-0.480228 0.310264 0.820437 +-0.0883963 -0.24667 0.472169 + +-0.475518 -0.877003 0.068908 +0.74004 -0.356442 0.570342 +-0.47563 0.322202 0.818512 +-0.0884168 -0.245686 0.472852 + +-0.499487 -0.863841 0.0655181 +0.72728 -0.377028 0.57351 +-0.470719 0.33411 0.816575 +-0.0884372 -0.244702 0.473511 + +-0.523078 -0.850018 0.0621139 +0.713936 -0.397199 0.576653 +-0.465494 0.34598 0.814625 +-0.0884577 -0.243719 0.474146 + +-0.546274 -0.835547 0.0586958 +0.70002 -0.41694 0.57977 +-0.459953 0.357802 0.812663 +-0.0884782 -0.242735 0.474757 + +-0.569057 -0.820439 0.0552637 +0.685545 -0.436233 0.582862 +-0.454095 0.369567 0.810689 +-0.0884986 -0.241751 0.475344 + +-0.591408 -0.804706 0.0518178 +0.670525 -0.455064 0.585929 +-0.44792 0.381268 0.808704 +-0.0885191 -0.240768 0.475906 + +-0.613311 -0.78836 0.0483583 +0.654975 -0.473415 0.588971 +-0.441427 0.392896 0.806706 +-0.0885396 -0.239784 0.476445 + +-0.634748 -0.771414 0.0448852 +0.638908 -0.491272 0.591987 +-0.434616 0.40444 0.804697 +-0.08856 -0.2388 0.476959 + +-0.655704 -0.753882 0.0413989 +0.622341 -0.50862 0.594977 +-0.427486 0.415893 0.802676 +-0.0885805 -0.237817 0.477449 + +-0.676161 -0.735778 0.0378993 +0.605288 -0.525445 0.597941 +-0.420038 0.427245 0.800644 +-0.088601 -0.236833 0.477914 + +-0.696105 -0.717116 0.0343867 +0.587767 -0.541732 0.60088 +-0.412272 0.438487 0.7986 +-0.0886214 -0.235849 0.478356 + +-0.715519 -0.697911 0.0308612 +0.569792 -0.557469 0.603792 +-0.404189 0.449609 0.796544 +-0.0886419 -0.234866 0.478773 + +-0.73439 -0.678178 0.0273228 +0.551382 -0.572642 0.606679 +-0.39579 0.460604 0.794477 +-0.0886624 -0.233882 0.479167 + +-0.752701 -0.657933 0.0237719 +0.532553 -0.587239 0.609539 +-0.387076 0.471461 0.7924 +-0.0886828 -0.232898 0.479536 + +-0.770441 -0.637191 0.0202085 +0.513323 -0.601247 0.612373 +-0.378049 0.482171 0.79031 +-0.0887033 -0.231915 0.47988 + +-0.787594 -0.61597 0.0166327 +0.49371 -0.614657 0.615181 +-0.36871 0.492724 0.78821 +-0.0887238 -0.230931 0.480201 + +-0.804148 -0.594287 0.0130448 +0.473731 -0.627456 0.617963 +-0.359062 0.503113 0.786099 +-0.0887442 -0.229947 0.480497 + +-0.82009 -0.572157 0.00944478 +0.453406 -0.639634 0.620718 +-0.349107 0.513327 0.783977 +-0.0887647 -0.228964 0.48077 + +-0.835408 -0.549599 0.00583289 +0.432754 -0.651183 0.623446 +-0.338847 0.523356 0.781845 +-0.0887851 -0.22798 0.481018 + +-0.850091 -0.526631 0.00220924 +0.411793 -0.662092 0.626148 +-0.328286 0.533193 0.779701 +-0.0888056 -0.226996 0.481242 + +-0.864127 -0.503271 -0.00142601 +0.390543 -0.672352 0.628823 +-0.317427 0.542826 0.777547 +-0.0888261 -0.226013 0.481441 + +-0.877507 -0.479537 -0.00507272 +0.369023 -0.681957 0.631472 +-0.306273 0.552249 0.775382 +-0.0888465 -0.225029 0.481617 + +-0.890219 -0.455448 -0.00873074 +0.347254 -0.690898 0.634093 +-0.294829 0.56145 0.773207 +-0.088867 -0.224045 0.481768 + +-0.902255 -0.431023 -0.0123999 +0.325255 -0.699169 0.636688 +-0.283097 0.570422 0.771022 +-0.0888875 -0.223062 0.481895 + +-0.913606 -0.406282 -0.0160801 +0.303048 -0.706764 0.639255 +-0.271083 0.579154 0.768827 +-0.0889079 -0.222078 0.481998 + +-0.924263 -0.381244 -0.0197712 +0.280651 -0.713676 0.641796 +-0.258791 0.587639 0.766621 +-0.0889284 -0.221094 0.482077 + +-0.934219 -0.355928 -0.023473 +0.258086 -0.719901 0.644309 +-0.246226 0.595867 0.764405 +-0.0889489 -0.220111 0.482132 + +-0.943465 -0.330355 -0.0271854 +0.235374 -0.725434 0.646795 +-0.233393 0.60383 0.762179 +-0.0889693 -0.219127 0.482162 + +-0.951996 -0.304545 -0.0309082 +0.212536 -0.730273 0.649254 +-0.220298 0.611518 0.759944 +-0.0889898 -0.218143 0.482168 + +-0.959806 -0.278517 -0.0346412 +0.189592 -0.734412 0.651685 +-0.206946 0.618924 0.757698 +-0.0890103 -0.21716 0.48215 + +-0.966889 -0.252293 -0.0383844 +0.166563 -0.737851 0.654089 +-0.193344 0.626038 0.755443 +-0.0890307 -0.216176 0.482108 + +-0.97324 -0.225894 -0.0421376 +0.143471 -0.740587 0.656466 +-0.179498 0.632853 0.753178 +-0.0890512 -0.215192 0.482042 + +-0.978855 -0.199339 -0.0459006 +0.120338 -0.742619 0.658814 +-0.165414 0.63936 0.750904 +-0.0890717 -0.214209 0.481951 + +-0.98373 -0.17265 -0.0496733 +0.0971828 -0.743946 0.661136 +-0.1511 0.645552 0.74862 +-0.0890921 -0.213225 0.481837 + +-0.987862 -0.145848 -0.0534555 +0.0740284 -0.744568 0.663429 +-0.136561 0.651419 0.746327 +-0.0891126 -0.212241 0.481698 + +-0.991248 -0.118953 -0.0572471 +0.0508955 -0.744486 0.665695 +-0.121806 0.656955 0.744025 +-0.0891331 -0.211258 0.481535 + +-0.993887 -0.0919876 -0.061048 +0.0278054 -0.743702 0.667933 +-0.106843 0.662152 0.741713 +-0.0891535 -0.210274 0.481347 + +-0.995777 -0.0649717 -0.0648579 +0.00477916 -0.742217 0.670143 +-0.0916789 0.667003 0.739393 +-0.089174 -0.20929 0.481136 + +-0.996918 -0.0379266 -0.0686768 +-0.0181621 -0.740033 0.672325 +-0.0763221 0.6715 0.737064 +-0.0891944 -0.208307 0.4809 + +-0.997309 -0.0108737 -0.0725045 +-0.0409975 -0.737155 0.674479 +-0.0607811 0.675636 0.734725 +-0.0892149 -0.207323 0.48064 + +-0.996951 0.0161661 -0.0763407 +-0.063706 -0.733585 0.676605 +-0.0450644 0.679405 0.732378 +-0.0892354 -0.206339 0.480356 + +-0.995845 0.0431717 -0.0801855 +-0.086267 -0.729329 0.678703 +-0.0291809 0.6828 0.730023 +-0.0892558 -0.205356 0.480048 + +-0.993992 0.070122 -0.0840386 +-0.10866 -0.724391 0.680772 +-0.0131397 0.685814 0.727658 +-0.0892763 -0.204372 0.479716 + +-0.991396 0.0969961 -0.0879 +-0.130864 -0.718777 0.682814 +0.00304984 0.688442 0.725285 +-0.0892968 -0.203388 0.479359 + +-0.988058 0.123773 -0.0917693 +-0.152859 -0.712493 0.684827 +0.0193782 0.690676 0.722904 +-0.0893172 -0.202405 0.478979 + +-0.983983 0.150432 -0.0956465 +-0.174625 -0.705546 0.686812 +0.0358356 0.692513 0.720515 +-0.0893377 -0.201421 0.478574 + +-0.979174 0.176953 -0.0995315 +-0.196142 -0.697945 0.688768 +0.0524121 0.693946 0.718117 +-0.0893582 -0.200437 0.478145 + +-0.973636 0.203315 -0.103424 +-0.217391 -0.689696 0.690696 +0.0690975 0.69497 0.715711 +-0.0893786 -0.199454 0.477691 + +-0.967374 0.229497 -0.107324 +-0.238352 -0.680808 0.692595 +0.0858815 0.69558 0.713297 +-0.0893991 -0.19847 0.477214 + +-0.960395 0.25548 -0.111231 +-0.259006 -0.671292 0.694466 +0.102754 0.695771 0.710876 +-0.0894196 -0.197486 0.476712 + +-0.952703 0.281243 -0.115146 +-0.279334 -0.661156 0.696309 +0.119703 0.69554 0.708446 +-0.08944 -0.196503 0.476186 + +-0.944308 0.306767 -0.119067 +-0.299318 -0.650411 0.698122 +0.136718 0.694881 0.706009 +-0.0894605 -0.195519 0.475636 + +-0.935215 0.332032 -0.122995 +-0.318939 -0.639068 0.699907 +0.153789 0.693792 0.703564 +-0.089481 -0.194535 0.475062 + +-0.925433 0.357019 -0.12693 +-0.33818 -0.627139 0.701663 +0.170904 0.692268 0.701111 +-0.0895014 -0.193552 0.474464 + +-0.915328 0.380831 -0.130928 +-0.356429 -0.614801 0.703547 +0.187437 0.690643 0.698484 +-0.0894758 -0.192644 0.47388 + +-0.905429 0.402432 -0.13508 +-0.373001 -0.602324 0.705745 +0.202652 0.689387 0.69547 +-0.0893501 -0.191889 0.473339 + +-0.896235 0.42109 -0.139451 +-0.387434 -0.590018 0.70836 +0.216004 0.688885 0.691939 +-0.0890729 -0.191355 0.472888 + +-0.888262 0.436152 -0.144089 +-0.39933 -0.578227 0.711469 +0.226993 0.68951 0.687786 +-0.0885977 -0.191111 0.472574 + +-0.881301 0.448485 -0.148898 +-0.409258 -0.566843 0.71498 +0.236256 0.69105 0.683105 +-0.0879014 -0.19121 0.472471 + +-0.875688 0.457699 -0.153887 +-0.417026 -0.556177 0.718858 +0.243432 0.69367 0.67791 +-0.0869727 -0.191685 0.472611 + +-0.87176 0.463377 -0.159113 +-0.422422 -0.546377 0.723209 +0.248182 0.697677 0.67205 +-0.0858474 -0.192455 0.47288 + +-0.869036 0.466606 -0.164483 +-0.426197 -0.5372 0.727854 +0.251261 0.702634 0.665713 +-0.0845783 -0.193444 0.47325 + +-0.867378 0.467717 -0.169987 +-0.428621 -0.528567 0.732735 +0.252863 0.708419 0.658941 +-0.0831815 -0.19461 0.473699 + +-0.865715 0.468769 -0.175478 +-0.431001 -0.519877 0.737541 +0.254509 0.714132 0.652105 +-0.0817848 -0.195776 0.474124 + +-0.864049 0.46976 -0.180955 +-0.433339 -0.511129 0.74227 +0.256197 0.719773 0.645206 +-0.080388 -0.196942 0.474525 + +-0.862379 0.470692 -0.186418 +-0.435632 -0.502325 0.746923 +0.257928 0.725341 0.638243 +-0.0789912 -0.198108 0.474902 + +-0.860706 0.471564 -0.191866 +-0.437882 -0.493466 0.751499 +0.2597 0.730835 0.631218 +-0.0775945 -0.199274 0.475255 + +-0.859031 0.472376 -0.197299 +-0.440087 -0.484552 0.755998 +0.261514 0.736254 0.624132 +-0.0761977 -0.20044 0.475583 + +-0.857354 0.473129 -0.202715 +-0.442246 -0.475585 0.760419 +0.263368 0.741598 0.616984 +-0.0748009 -0.201606 0.475887 + +-0.855675 0.473823 -0.208115 +-0.44436 -0.466566 0.764762 +0.265262 0.746866 0.609777 +-0.0734042 -0.202772 0.476167 + +-0.853996 0.474457 -0.213498 +-0.446428 -0.457495 0.769026 +0.267195 0.752056 0.60251 +-0.0720074 -0.203938 0.476423 + +-0.852316 0.475033 -0.218863 +-0.448449 -0.448374 0.773211 +0.269168 0.757169 0.595184 +-0.0706106 -0.205104 0.476655 + +-0.850636 0.47555 -0.224211 +-0.450422 -0.439203 0.777316 +0.271179 0.762202 0.587801 +-0.0692139 -0.20627 0.476862 + +-0.848957 0.476009 -0.229539 +-0.452349 -0.429984 0.781341 +0.273227 0.767157 0.58036 +-0.0678171 -0.207435 0.477045 + +-0.847278 0.476409 -0.234848 +-0.454227 -0.420717 0.785286 +0.275313 0.772031 0.572862 +-0.0664203 -0.208601 0.477204 + +-0.845602 0.476751 -0.240138 +-0.456057 -0.411404 0.789151 +0.277435 0.776824 0.565309 +-0.0650236 -0.209767 0.477339 + +-0.843927 0.477035 -0.245408 +-0.457838 -0.402045 0.792934 +0.279593 0.781535 0.557701 +-0.0636268 -0.210933 0.47745 + +-0.842254 0.477262 -0.250656 +-0.45957 -0.392641 0.796636 +0.281786 0.786164 0.550039 +-0.06223 -0.212099 0.477536 + +-0.840585 0.477431 -0.255884 +-0.461252 -0.383194 0.800256 +0.284014 0.790709 0.542323 +-0.0608333 -0.213265 0.477599 + +-0.838919 0.477543 -0.261089 +-0.462884 -0.373705 0.803793 +0.286276 0.795171 0.534555 +-0.0594365 -0.214431 0.477637 + +-0.837257 0.477599 -0.266272 +-0.464465 -0.364174 0.807248 +0.288571 0.799548 0.526735 +-0.0580397 -0.215597 0.477651 + +-0.835599 0.477597 -0.271433 +-0.465996 -0.354602 0.81062 +0.290899 0.80384 0.518863 +-0.056643 -0.216763 0.477641 + +-0.833946 0.477539 -0.276569 +-0.467475 -0.344991 0.813909 +0.293259 0.808046 0.510942 +-0.0552462 -0.217929 0.477606 + +-0.832298 0.477425 -0.281683 +-0.468903 -0.335342 0.817114 +0.295651 0.812165 0.50297 +-0.0538494 -0.219095 0.477548 + +-0.830656 0.477255 -0.286771 +-0.470279 -0.325655 0.820236 +0.298073 0.816196 0.49495 +-0.0524527 -0.220261 0.477465 + +-0.829021 0.477029 -0.291835 +-0.471603 -0.315932 0.823273 +0.300525 0.82014 0.486882 +-0.0510559 -0.221427 0.477358 + +-0.827392 0.476748 -0.296873 +-0.472874 -0.306173 0.826225 +0.303007 0.823996 0.478767 +-0.0496591 -0.222593 0.477227 + +-0.82577 0.476413 -0.301886 +-0.474092 -0.296381 0.829093 +0.305517 0.827762 0.470606 +-0.0482624 -0.223759 0.477071 + +-0.824156 0.476022 -0.306872 +-0.475257 -0.286555 0.831876 +0.308056 0.831438 0.462399 +-0.0468656 -0.224925 0.476892 + +-0.82255 0.475577 -0.311831 +-0.476368 -0.276698 0.834573 +0.310621 0.835024 0.454147 +-0.0454688 -0.226091 0.476688 + +-0.820952 0.475078 -0.316762 +-0.477426 -0.266809 0.837184 +0.313213 0.838519 0.445852 +-0.0440721 -0.227257 0.47646 + +-0.819363 0.474526 -0.321666 +-0.478429 -0.25689 0.83971 +0.315831 0.841922 0.437514 +-0.0426753 -0.228423 0.476208 + +-0.817784 0.47392 -0.326542 +-0.479378 -0.246943 0.842149 +0.318474 0.845233 0.429133 +-0.0412786 -0.229589 0.475932 + +-0.816214 0.473261 -0.331388 +-0.480273 -0.236968 0.844502 +0.321142 0.848452 0.420711 +-0.0398818 -0.230755 0.475631 + +-0.814655 0.47255 -0.336205 +-0.481112 -0.226966 0.846769 +0.323833 0.851577 0.412249 +-0.038485 -0.231921 0.475307 + +-0.813107 0.471786 -0.340992 +-0.481897 -0.216939 0.848948 +0.326547 0.854609 0.403746 +-0.0370883 -0.233087 0.474958 + +-0.811569 0.47097 -0.345749 +-0.482626 -0.206887 0.851041 +0.329283 0.857546 0.395206 +-0.0356915 -0.234253 0.474585 + +-0.810043 0.470103 -0.350476 +-0.483299 -0.196812 0.853046 +0.332041 0.860389 0.386627 +-0.0342947 -0.235419 0.474188 + +-0.80853 0.469184 -0.35517 +-0.483917 -0.186715 0.854963 +0.33482 0.863136 0.378011 +-0.032898 -0.236585 0.473766 + +-0.807028 0.468215 -0.359834 +-0.484479 -0.176596 0.856793 +0.337618 0.865788 0.369358 +-0.0315012 -0.237751 0.473321 + +-0.80554 0.467195 -0.364464 +-0.484984 -0.166458 0.858535 +0.340435 0.868343 0.360671 +-0.0301044 -0.238917 0.472851 + +-0.802535 0.470615 -0.366686 +-0.484686 -0.155921 0.860679 +0.347874 0.868453 0.353232 +-0.0288835 -0.23981 0.472556 + +-0.797867 0.478862 -0.366196 +-0.483301 -0.145036 0.863357 +0.360317 0.865827 0.347154 +-0.0278499 -0.240389 0.47246 + +-0.791088 0.492579 -0.362693 +-0.48062 -0.133738 0.866671 +0.378398 0.85993 0.342542 +-0.0270188 -0.240619 0.472593 + +-0.782152 0.510853 -0.356745 +-0.476782 -0.122088 0.870502 +0.401144 0.850954 0.339057 +-0.0263621 -0.240575 0.472901 + +-0.772009 0.530637 -0.349895 +-0.472292 -0.110498 0.874489 +0.425374 0.840366 0.335921 +-0.0257482 -0.240421 0.47327 + +-0.761304 0.550221 -0.343036 +-0.467491 -0.0991868 0.878416 +0.449298 0.829108 0.332734 +-0.0251343 -0.240267 0.473615 + +-0.750042 0.569586 -0.336167 +-0.46239 -0.0881645 0.882283 +0.472898 0.81719 0.329498 +-0.0245204 -0.240113 0.473935 + +-0.738228 0.588717 -0.32929 +-0.456999 -0.0774393 0.88609 +0.496156 0.804621 0.326211 +-0.0239064 -0.23996 0.474232 + +-0.725866 0.607597 -0.322404 +-0.451333 -0.0670191 0.889836 +0.519054 0.791413 0.322875 +-0.0232925 -0.239806 0.474504 + +-0.712962 0.626209 -0.315511 +-0.445401 -0.0569115 0.893521 +0.541575 0.777575 0.31949 +-0.0226786 -0.239652 0.474752 + +-0.699522 0.644538 -0.308611 +-0.439216 -0.0471237 0.897145 +0.563701 0.763119 0.316056 +-0.0220647 -0.239498 0.474976 + +-0.685552 0.662566 -0.301704 +-0.432792 -0.0376624 0.900707 +0.585415 0.748056 0.312573 +-0.0214507 -0.239344 0.475176 + +-0.671059 0.680278 -0.294792 +-0.426139 -0.028534 0.904207 +0.606701 0.732399 0.309041 +-0.0208368 -0.23919 0.475352 + +-0.656051 0.697657 -0.287875 +-0.419272 -0.0197443 0.907646 +0.627542 0.71616 0.305461 +-0.0202229 -0.239036 0.475503 + +-0.640535 0.714689 -0.280954 +-0.412203 -0.0112988 0.911022 +0.647923 0.699351 0.301834 +-0.0196089 -0.238882 0.47563 + +-0.624521 0.731357 -0.274028 +-0.404944 -0.00320249 0.914336 +0.667828 0.681988 0.298159 +-0.018995 -0.238728 0.475733 + +-0.608016 0.747645 -0.2671 +-0.39751 0.00454014 0.917586 +0.687242 0.664083 0.294436 +-0.0183811 -0.238575 0.475812 + +-0.591032 0.76354 -0.260169 +-0.389914 0.011925 0.920774 +0.706151 0.64565 0.290667 +-0.0177672 -0.238421 0.475867 + +-0.573576 0.779026 -0.253236 +-0.382169 0.0189484 0.923898 +0.72454 0.626705 0.286851 +-0.0171532 -0.238267 0.475897 + +-0.55566 0.794089 -0.246301 +-0.374288 0.0256073 0.926959 +0.742395 0.607262 0.282989 +-0.0165393 -0.238113 0.475904 + +-0.537295 0.808714 -0.239366 +-0.366285 0.0318988 0.929956 +0.759704 0.587337 0.27908 +-0.0159254 -0.237959 0.475886 + +-0.518491 0.822887 -0.232431 +-0.358173 0.0378209 0.932889 +0.776453 0.566945 0.275126 +-0.0153115 -0.237805 0.475844 + +-0.499261 0.836594 -0.225496 +-0.349967 0.0433715 0.935757 +0.792629 0.546104 0.271127 +-0.0146975 -0.237651 0.475777 + +-0.479617 0.849823 -0.218562 +-0.34168 0.0485496 0.938561 +0.808222 0.524828 0.267082 +-0.0140836 -0.237497 0.475687 + +-0.45957 0.862559 -0.21163 +-0.333326 0.0533541 0.941301 +0.823219 0.503135 0.262993 +-0.0134697 -0.237343 0.475572 + +-0.439135 0.874791 -0.2047 +-0.324917 0.0577848 0.943975 +0.837609 0.481043 0.258859 +-0.0128557 -0.23719 0.475434 + +-0.418324 0.886505 -0.197773 +-0.316469 0.0618416 0.946585 +0.851383 0.458568 0.254682 +-0.0122418 -0.237036 0.475271 + +-0.397151 0.89769 -0.19085 +-0.307994 0.065525 0.949129 +0.864529 0.435728 0.25046 +-0.0116279 -0.236882 0.475083 + +-0.37563 0.908334 -0.183931 +-0.299507 0.0688362 0.951608 +0.877039 0.412541 0.246195 +-0.011014 -0.236728 0.474872 + +-0.353776 0.918427 -0.177016 +-0.29102 0.0717765 0.954021 +0.888904 0.389025 0.241887 +-0.0104 -0.236574 0.474636 + +-0.331604 0.927956 -0.170107 +-0.282547 0.0743478 0.956368 +0.900114 0.365199 0.237537 +-0.00978611 -0.23642 0.474377 + +-0.309129 0.936912 -0.163204 +-0.274101 0.0765524 0.958649 +0.910663 0.341081 0.233144 +-0.00917219 -0.236266 0.474093 + +-0.286366 0.945284 -0.156307 +-0.265696 0.0783932 0.960864 +0.920543 0.316689 0.228709 +-0.00855826 -0.236112 0.473785 + +-0.263332 0.953064 -0.149418 +-0.257345 0.0798733 0.963013 +0.929747 0.292044 0.224233 +-0.00794433 -0.235958 0.473452 + +-0.240042 0.960241 -0.142536 +-0.24906 0.0809965 0.965095 +0.938269 0.267163 0.219715 +-0.00733041 -0.235805 0.473096 + +-0.216513 0.966808 -0.135663 +-0.240855 0.0817668 0.967111 +0.946103 0.242067 0.215157 +-0.00671648 -0.235651 0.472715 + +-0.192762 0.972756 -0.128798 +-0.232741 0.0821887 0.96906 +0.953244 0.216775 0.210558 +-0.00610255 -0.235497 0.47231 + +-0.168806 0.978077 -0.121944 +-0.224733 0.0822673 0.970941 +0.959687 0.191305 0.205919 +-0.00548862 -0.235343 0.471881 + +-0.144662 0.982764 -0.115099 +-0.216841 0.0820079 0.972756 +0.965429 0.165679 0.20124 +-0.0048747 -0.235189 0.471428 + +-0.120348 0.986811 -0.108265 +-0.209077 0.0814162 0.974504 +0.970465 0.139916 0.196522 +-0.00426077 -0.235035 0.470951 + +-0.0958818 0.99021 -0.101442 +-0.201455 0.0804984 0.976184 +0.974794 0.114034 0.191764 +-0.00364684 -0.234881 0.470449 + +-0.0761349 0.992567 -0.0949439 +-0.19559 0.0785036 0.977539 +0.977726 0.0929949 0.18816 +-0.00295799 -0.234556 0.469966 + +-0.0668634 0.9938 -0.0888262 +-0.193424 0.0744261 0.978288 +0.978834 0.0825929 0.187249 +-0.0021043 -0.233847 0.469536 + +-0.0693505 0.994119 -0.083177 +-0.19523 0.0682407 0.978381 +0.978302 0.0840898 0.189349 +-0.00106004 -0.23271 0.469155 + +-0.0826554 0.993524 -0.0779646 +-0.20048 0.0600563 0.977855 +0.976205 0.0964554 0.194218 +0.000154671 -0.231192 0.468852 + +-0.0959815 0.99272 -0.0727579 +-0.20555 0.0517525 0.977277 +0.973929 0.108756 0.199086 +0.00136938 -0.229674 0.468526 + +-0.109325 0.991708 -0.0675571 +-0.210436 0.0433328 0.976647 +0.971476 0.120989 0.203954 +0.0025841 -0.228156 0.468175 + +-0.122683 0.990485 -0.0623624 +-0.215137 0.0348009 0.975964 +0.968847 0.133151 0.208821 +0.00379881 -0.226638 0.4678 + +-0.136051 0.989051 -0.0571742 +-0.219651 0.0261605 0.975228 +0.966045 0.145239 0.213687 +0.00501352 -0.22512 0.467401 + +-0.149427 0.987405 -0.0519927 +-0.223975 0.0174153 0.974439 +0.963072 0.157252 0.218551 +0.00622823 -0.223602 0.466978 + +-0.162805 0.985547 -0.0468182 +-0.228107 0.00856909 0.973598 +0.959928 0.169186 0.223415 +0.00744294 -0.222084 0.466531 + +-0.176183 0.983476 -0.0416511 +-0.232045 -0.000374304 0.972705 +0.956616 0.181039 0.228276 +0.00865766 -0.220566 0.466059 + +-0.189557 0.981191 -0.0364915 +-0.235786 -0.00941103 0.971759 +0.953138 0.192808 0.233136 +0.00987237 -0.219048 0.465563 + +-0.202923 0.978693 -0.0313399 +-0.23933 -0.0185372 0.970761 +0.949496 0.204491 0.237993 +0.0110871 -0.21753 0.465043 + +-0.216278 0.97598 -0.0261964 +-0.242675 -0.0277489 0.969711 +0.945692 0.216085 0.242847 +0.0123018 -0.216012 0.464499 + +-0.229618 0.973053 -0.0210613 +-0.245817 -0.0370421 0.968608 +0.941727 0.227587 0.247699 +0.0135165 -0.214494 0.463931 + +-0.242939 0.969911 -0.015935 +-0.248757 -0.0464128 0.967453 +0.937604 0.238996 0.252547 +0.0147312 -0.212976 0.463338 + +-0.256237 0.966553 -0.0108178 +-0.251491 -0.055857 0.966246 +0.933324 0.250309 0.257392 +0.0159459 -0.211458 0.462722 + +-0.269509 0.962981 -0.00570979 +-0.254019 -0.0653707 0.964987 +0.928891 0.261523 0.262234 +0.0171606 -0.20994 0.462081 + +-0.282751 0.959193 -0.000611417 +-0.25634 -0.0749496 0.963677 +0.924306 0.272637 0.267071 +0.0183754 -0.208422 0.461416 + +-0.295959 0.95519 0.00447709 +-0.258451 -0.0845897 0.962314 +0.919571 0.283648 0.271905 +0.0195901 -0.206904 0.460726 + +-0.30913 0.950972 0.00955545 +-0.260351 -0.0942868 0.960899 +0.914689 0.294555 0.276733 +0.0208048 -0.205386 0.460013 + +-0.322258 0.946539 0.0146234 +-0.26204 -0.104037 0.959433 +0.909662 0.305353 0.281558 +0.0220195 -0.203868 0.459275 + +-0.335342 0.941891 0.0196806 +-0.263516 -0.113835 0.957915 +0.904492 0.316043 0.286377 +0.0232342 -0.20235 0.458513 + +-0.348377 0.937028 0.0247268 +-0.264778 -0.123678 0.956345 +0.899181 0.326622 0.291191 +0.0244489 -0.200832 0.457727 + +-0.361359 0.931952 0.0297618 +-0.265824 -0.133561 0.954724 +0.893732 0.337087 0.295999 +0.0256636 -0.199314 0.456917 + +-0.374284 0.926661 0.0347852 +-0.266656 -0.14348 0.953052 +0.888148 0.347437 0.300802 +0.0268783 -0.197796 0.456083 + +-0.387149 0.921158 0.0397967 +-0.26727 -0.15343 0.951329 +0.88243 0.35767 0.305598 +0.028093 -0.196278 0.455224 + +-0.39995 0.915442 0.0447962 +-0.267667 -0.163407 0.949554 +0.876581 0.367784 0.310388 +0.0293078 -0.19476 0.454341 + +-0.412683 0.909513 0.0497833 +-0.267846 -0.173408 0.947728 +0.870604 0.377777 0.315172 +0.0305225 -0.193242 0.453435 + +-0.425344 0.903374 0.0547578 +-0.267807 -0.183426 0.945851 +0.864501 0.387648 0.319949 +0.0317372 -0.191724 0.452503 + +-0.43793 0.897024 0.0597193 +-0.267548 -0.193459 0.943923 +0.858275 0.397394 0.324719 +0.0329519 -0.190206 0.451548 + +-0.450436 0.890464 0.0646677 +-0.26707 -0.203502 0.941945 +0.851928 0.407015 0.329481 +0.0341666 -0.188688 0.450569 + +-0.462859 0.883695 0.0696025 +-0.266372 -0.21355 0.939916 +0.845463 0.416509 0.334236 +0.0353813 -0.18717 0.449565 + +-0.475196 0.876719 0.0745236 +-0.265455 -0.223599 0.937836 +0.838882 0.425873 0.338982 +0.036596 -0.185652 0.448537 + +-0.487441 0.869535 0.0794308 +-0.264317 -0.233645 0.935706 +0.832188 0.435107 0.343721 +0.0378107 -0.184134 0.447485 + +-0.499593 0.862146 0.0843236 +-0.262959 -0.243683 0.933526 +0.825385 0.444209 0.348451 +0.0390255 -0.182616 0.446409 + +-0.511646 0.854553 0.0892019 +-0.261381 -0.253709 0.931296 +0.818473 0.453179 0.353173 +0.0402402 -0.181098 0.445308 + +-0.523598 0.846757 0.0940653 +-0.259583 -0.263718 0.929015 +0.811457 0.462013 0.357886 +0.0414549 -0.17958 0.444184 + +-0.535444 0.838758 0.0989137 +-0.257565 -0.273706 0.926685 +0.804338 0.470712 0.362589 +0.0426696 -0.178062 0.443035 + +-0.547182 0.830559 0.103747 +-0.255327 -0.283669 0.924305 +0.79712 0.479273 0.367283 +0.0438843 -0.176544 0.441862 + +-0.558806 0.822161 0.108564 +-0.252871 -0.293602 0.921875 +0.789805 0.487697 0.371967 +0.045099 -0.175026 0.440665 + +-0.570314 0.813566 0.113366 +-0.250196 -0.303501 0.919396 +0.782396 0.495981 0.376642 +0.0463137 -0.173508 0.439444 + +-0.581702 0.804775 0.118151 +-0.247302 -0.313361 0.916868 +0.774896 0.504125 0.381306 +0.0475284 -0.17199 0.438198 + +-0.592967 0.79579 0.12292 +-0.244192 -0.323178 0.91429 +0.767308 0.512127 0.385959 +0.0487432 -0.170472 0.436928 + +-0.604104 0.786612 0.127672 +-0.240864 -0.332948 0.911663 +0.759633 0.519988 0.390602 +0.0499579 -0.168954 0.435634 + +-0.615111 0.777243 0.132408 +-0.237321 -0.342667 0.908987 +0.751876 0.527705 0.395234 +0.0511726 -0.167436 0.434316 + +-0.625983 0.767686 0.137126 +-0.233563 -0.352329 0.906263 +0.744039 0.535278 0.399855 +0.0523873 -0.165918 0.432974 + +-0.636717 0.757942 0.141827 +-0.22959 -0.361931 0.90349 +0.736125 0.542706 0.404464 +0.053602 -0.1644 0.431608 + +-0.647311 0.748013 0.14651 +-0.225405 -0.371469 0.900669 +0.728136 0.549988 0.409061 +0.0548167 -0.162882 0.430217 + +-0.657759 0.737902 0.151175 +-0.221007 -0.380937 0.897799 +0.720075 0.557125 0.413647 +0.0560314 -0.161364 0.428802 + +-0.66806 0.727609 0.155822 +-0.216399 -0.390332 0.894881 +0.711946 0.564114 0.41822 +0.0572461 -0.159846 0.427363 + +-0.674445 0.720622 0.160708 +-0.212543 -0.397951 0.892447 +0.707071 0.567749 0.421559 +0.0582775 -0.15859 0.42599 + +-0.675602 0.718333 0.166011 +-0.20982 -0.403193 0.890736 +0.70678 0.566951 0.423118 +0.0590674 -0.15767 0.42466 + +-0.67186 0.720507 0.171678 +-0.208226 -0.406173 0.889756 +0.710806 0.562044 0.42292 +0.0596244 -0.157091 0.423378 + +-0.662116 0.728009 0.17778 +-0.208124 -0.406531 0.889616 +0.719921 0.552029 0.420687 +0.059886 -0.156919 0.422184 + +-0.64689 0.739996 0.184225 +-0.209377 -0.404647 0.890181 +0.733276 0.537277 0.4167 +0.0599034 -0.157081 0.421037 + +-0.626671 0.755528 0.190946 +-0.211701 -0.400865 0.891341 +0.749977 0.518154 0.411157 +0.0597087 -0.157542 0.419942 + +-0.60602 0.770508 0.197632 +-0.213958 -0.397191 0.892447 +0.766135 0.498556 0.405561 +0.059514 -0.158003 0.418822 + +-0.584951 0.784922 0.204281 +-0.216153 -0.393624 0.893498 +0.781736 0.478496 0.399914 +0.0593193 -0.158464 0.417679 + +-0.56348 0.798758 0.210895 +-0.218294 -0.390166 0.894493 +0.796767 0.457992 0.394214 +0.0591246 -0.158925 0.416511 + +-0.541624 0.812004 0.217471 +-0.220386 -0.386818 0.895434 +0.811217 0.437061 0.388464 +0.0589298 -0.159386 0.415319 + +-0.519398 0.824649 0.22401 +-0.222438 -0.383579 0.896319 +0.825074 0.415718 0.382663 +0.0587351 -0.159847 0.414103 + +-0.49682 0.836681 0.23051 +-0.224455 -0.38045 0.89715 +0.838326 0.393983 0.376813 +0.0585404 -0.160308 0.412862 + +-0.473906 0.84809 0.236971 +-0.226444 -0.377431 0.897925 +0.850962 0.371872 0.370912 +0.0583457 -0.160769 0.411598 + +-0.450675 0.858866 0.243394 +-0.228412 -0.374521 0.898644 +0.862972 0.349403 0.364963 +0.058151 -0.16123 0.410309 + +-0.427143 0.869 0.249776 +-0.230365 -0.37172 0.899309 +0.874346 0.326594 0.358965 +0.0579562 -0.161691 0.408996 + +-0.403329 0.878481 0.256117 +-0.232311 -0.369026 0.899918 +0.885075 0.303464 0.352919 +0.0577615 -0.162152 0.407659 + +-0.379251 0.887302 0.262418 +-0.234254 -0.366437 0.900471 +0.89515 0.280033 0.346826 +0.0575668 -0.162612 0.406298 + +-0.354928 0.895455 0.268676 +-0.236203 -0.363954 0.900969 +0.904563 0.256317 0.340686 +0.0573721 -0.163073 0.404912 + +-0.330378 0.902931 0.274893 +-0.238162 -0.361573 0.901412 +0.913307 0.232338 0.3345 +0.0571774 -0.163534 0.403503 + +-0.305621 0.909724 0.281067 +-0.240139 -0.359293 0.901799 +0.921373 0.208114 0.328268 +0.0569826 -0.163995 0.402069 + +-0.280676 0.915827 0.287198 +-0.242139 -0.357112 0.902131 +0.928757 0.183664 0.32199 +0.0567879 -0.164456 0.400611 + +-0.255562 0.921234 0.293284 +-0.244169 -0.355026 0.902407 +0.935452 0.15901 0.315668 +0.0565932 -0.164917 0.399129 + +-0.230299 0.925941 0.299327 +-0.246234 -0.353033 0.902627 +0.941452 0.134169 0.309301 +0.0563985 -0.165378 0.397622 + +-0.205633 0.929806 0.305249 +-0.247967 -0.35124 0.902853 +0.946693 0.109964 0.302787 +0.0562952 -0.165941 0.396141 + +-0.182052 0.932811 0.311001 +-0.249142 -0.349725 0.903117 +0.951202 0.0869306 0.296071 +0.0563439 -0.166673 0.394716 + +-0.159582 0.935046 0.316579 +-0.249766 -0.348498 0.903419 +0.955066 0.0650989 0.289157 +0.056547 -0.167574 0.393345 + +-0.138156 0.936608 0.32199 +-0.249873 -0.347553 0.903753 +0.958372 0.0444026 0.28205 +0.056904 -0.168646 0.392027 + +-0.11756 0.937552 0.327378 +-0.249673 -0.346979 0.904029 +0.961167 0.0245403 0.274872 +0.0574211 -0.169871 0.390788 + +-0.0978071 0.937932 0.332742 +-0.249174 -0.346775 0.904245 +0.963507 0.00553099 0.267625 +0.0581005 -0.17125 0.389623 + +-0.07862 0.937812 0.338124 +-0.248545 -0.346903 0.904369 +0.965424 -0.0129375 0.260362 +0.0588832 -0.172713 0.388498 + +-0.0594208 0.937285 0.343462 +-0.24799 -0.347144 0.904429 +0.966939 -0.0314331 0.253064 +0.0596658 -0.174177 0.387349 + +-0.0402184 0.936351 0.348755 +-0.247512 -0.347495 0.904425 +0.96805 -0.0499465 0.245734 +0.0604485 -0.175641 0.386175 + +-0.0210218 0.935008 0.354002 +-0.247116 -0.347953 0.904357 +0.968758 -0.0684684 0.238371 +0.0612312 -0.177104 0.384978 + +-0.00191559 0.934076 0.357068 +-0.249015 -0.346266 0.904484 +0.968498 -0.0871827 0.233262 +0.0621564 -0.178178 0.383841 + +0.0174172 0.933731 0.357551 +-0.253712 -0.341773 0.904887 +0.967123 -0.106476 0.230946 +0.0632541 -0.178777 0.382776 + +0.0356611 0.934142 0.355115 +-0.261242 -0.334271 0.905547 +0.964614 -0.125064 0.232117 +0.06459 -0.178826 0.381788 + +0.0525532 0.935517 0.349352 +-0.271895 -0.323214 0.906425 +0.960891 -0.142622 0.237376 +0.0662096 -0.178241 0.38089 + +0.0690899 0.936828 0.342899 +-0.282877 -0.311216 0.907263 +0.956665 -0.159681 0.243505 +0.0678971 -0.177528 0.379982 + +0.0857292 0.937797 0.336434 +-0.293515 -0.298919 0.908018 +0.952103 -0.176592 0.249631 +0.0695846 -0.176816 0.37905 + +0.102463 0.938419 0.329957 +-0.303802 -0.286333 0.90869 +0.947209 -0.193349 0.255755 +0.0712722 -0.176103 0.378093 + +0.119284 0.93869 0.32347 +-0.31373 -0.273467 0.909279 +0.94199 -0.209945 0.261875 +0.0729597 -0.17539 0.377113 + +0.136184 0.938607 0.316971 +-0.323292 -0.260331 0.909786 +0.936449 -0.226373 0.267991 +0.0746473 -0.174677 0.376108 + +0.153155 0.938166 0.310463 +-0.33248 -0.246934 0.910209 +0.930591 -0.242626 0.274103 +0.0763348 -0.173965 0.37508 + +0.170189 0.937365 0.303946 +-0.341288 -0.233286 0.910549 +0.924423 -0.258698 0.280209 +0.0780223 -0.173252 0.374027 + +0.187277 0.936199 0.297419 +-0.349709 -0.219397 0.910807 +0.917949 -0.274583 0.28631 +0.0797099 -0.172539 0.372949 + +0.20441 0.934667 0.290885 +-0.357737 -0.205276 0.910981 +0.911175 -0.290274 0.292404 +0.0813974 -0.171826 0.371848 + +0.221581 0.932765 0.284342 +-0.365365 -0.190936 0.911072 +0.904107 -0.305765 0.298492 +0.0830849 -0.171113 0.370723 + +0.23878 0.930492 0.277793 +-0.372589 -0.176385 0.91108 +0.896751 -0.321051 0.304573 +0.0847725 -0.170401 0.369573 + +0.256 0.927844 0.271238 +-0.379401 -0.161635 0.911004 +0.889111 -0.336125 0.310646 +0.08646 -0.169688 0.368399 + +0.27323 0.92482 0.264676 +-0.385797 -0.146697 0.910846 +0.881196 -0.350982 0.316711 +0.0881476 -0.168975 0.367201 + +0.290462 0.921418 0.25811 +-0.391772 -0.131581 0.910605 +0.87301 -0.365617 0.322767 +0.0898351 -0.168262 0.365979 + +0.307688 0.917636 0.251538 +-0.397322 -0.116298 0.91028 +0.86456 -0.380024 0.328813 +0.0915226 -0.16755 0.364732 + +0.324897 0.913474 0.244963 +-0.402441 -0.10086 0.909873 +0.855852 -0.394198 0.33485 +0.0932102 -0.166837 0.363462 + +0.342082 0.90893 0.238384 +-0.407125 -0.0852785 0.909382 +0.846894 -0.408135 0.340876 +0.0948977 -0.166124 0.362167 + +0.359232 0.904002 0.231803 +-0.411372 -0.0695643 0.908809 +0.837691 -0.42183 0.346891 +0.0965853 -0.165411 0.360848 + +0.376339 0.898691 0.225219 +-0.415176 -0.0537291 0.908153 +0.82825 -0.435279 0.352895 +0.0982728 -0.164698 0.359504 + +0.393393 0.892996 0.218633 +-0.418536 -0.0377845 0.907414 +0.818578 -0.448476 0.358887 +0.0999603 -0.163986 0.358137 + +0.410385 0.886916 0.212046 +-0.421447 -0.0217424 0.906592 +0.808682 -0.461418 0.364866 +0.101648 -0.163273 0.356746 + +0.427306 0.880452 0.205459 +-0.423908 -0.00561455 0.905688 +0.798569 -0.474101 0.370832 +0.103335 -0.16256 0.35533 + +0.444145 0.873604 0.198872 +-0.425916 0.0105872 0.904701 +0.788245 -0.486521 0.376784 +0.105023 -0.161847 0.35389 + +0.460895 0.866373 0.192285 +-0.427468 0.026851 0.903631 +0.777719 -0.498675 0.382723 +0.10671 -0.161134 0.352426 + +0.477545 0.858759 0.1857 +-0.428564 0.0431646 0.90248 +0.766996 -0.510559 0.388646 +0.108398 -0.160422 0.350937 + +0.494086 0.850762 0.179117 +-0.429202 0.0595162 0.901246 +0.756085 -0.52217 0.394555 +0.110086 -0.159709 0.349425 + +0.510508 0.842385 0.172536 +-0.42938 0.0758935 0.89993 +0.744993 -0.533505 0.400447 +0.111773 -0.158996 0.347888 + +0.526803 0.833629 0.165958 +-0.429098 0.0922845 0.898531 +0.733726 -0.544561 0.406324 +0.113461 -0.158283 0.346327 + +0.54296 0.824495 0.159384 +-0.428355 0.108677 0.897052 +0.722293 -0.555336 0.412184 +0.115148 -0.157571 0.344742 + +0.55897 0.814985 0.152814 +-0.427151 0.125059 0.89549 +0.7107 -0.565826 0.418026 +0.116836 -0.156858 0.343133 + +0.574824 0.805102 0.146249 +-0.425487 0.141418 0.893847 +0.698955 -0.576031 0.423851 +0.118523 -0.156145 0.3415 + +0.590512 0.794848 0.139689 +-0.423363 0.157742 0.892122 +0.687066 -0.585948 0.429657 +0.120211 -0.155432 0.339842 + +0.603342 0.786164 0.133884 +-0.421468 0.171818 0.890418 +0.677011 -0.593654 0.435008 +0.121792 -0.154869 0.338226 + +0.611863 0.780335 0.129231 +-0.420392 0.182434 0.888813 +0.669996 -0.598159 0.439671 +0.123136 -0.154555 0.336738 + +0.612113 0.780527 0.126867 +-0.421619 0.186407 0.887406 +0.668996 -0.596683 0.443187 +0.124019 -0.154734 0.335488 + +0.604145 0.78674 0.126686 +-0.425254 0.183853 0.886204 +0.67392 -0.589269 0.445638 +0.124487 -0.155386 0.334456 + +0.587768 0.79873 0.128683 +-0.431203 0.174702 0.88518 +0.684539 -0.575768 0.447099 +0.124537 -0.156511 0.333638 + +0.564054 0.815033 0.132531 +-0.438693 0.159807 0.884313 +0.699565 -0.556941 0.447689 +0.124266 -0.158032 0.332999 + +0.535655 0.83318 0.137426 +-0.446587 0.141387 0.883498 +0.716683 -0.534623 0.447822 +0.123737 -0.159788 0.332482 + +0.506647 0.850327 0.142313 +-0.453747 0.122631 0.882652 +0.733091 -0.511768 0.447964 +0.123208 -0.161544 0.331942 + +0.477067 0.866453 0.147192 +-0.46016 0.103568 0.881775 +0.748772 -0.488397 0.448116 +0.122678 -0.1633 0.331377 + +0.44695 0.88154 0.152061 +-0.465813 0.0842271 0.880866 +0.763711 -0.464535 0.448278 +0.122149 -0.165057 0.330788 + +0.416333 0.895568 0.156922 +-0.470695 0.0646365 0.879925 +0.77789 -0.440205 0.44845 +0.12162 -0.166813 0.330175 + +0.385255 0.90852 0.161773 +-0.474795 0.0448265 0.878954 +0.791295 -0.41543 0.448631 +0.12109 -0.168569 0.329538 + +0.353751 0.92038 0.166615 +-0.478106 0.0248272 0.877951 +0.803912 -0.390236 0.448822 +0.120561 -0.170325 0.328876 + +0.321863 0.931134 0.171448 +-0.480618 0.00466912 0.876918 +0.815727 -0.364648 0.449022 +0.120032 -0.172081 0.32819 + +0.289628 0.940768 0.17627 +-0.482324 -0.0156169 0.875853 +0.826728 -0.338691 0.449232 +0.119502 -0.173837 0.327481 + +0.257087 0.949271 0.181082 +-0.483221 -0.0359998 0.874758 +0.836902 -0.312391 0.449452 +0.118973 -0.175593 0.326747 + +0.224279 0.956633 0.185884 +-0.483301 -0.0564482 0.873632 +0.846238 -0.285775 0.449682 +0.118443 -0.17735 0.325988 + +0.191245 0.962844 0.190676 +-0.482564 -0.0769305 0.872476 +0.854727 -0.258869 0.449921 +0.117914 -0.179106 0.325206 + +0.158025 0.967897 0.195456 +-0.481006 -0.0974151 0.871289 +0.862358 -0.231701 0.45017 +0.117385 -0.180862 0.324399 + +0.124661 0.971787 0.200226 +-0.478626 -0.11787 0.870071 +0.869124 -0.204298 0.450429 +0.116855 -0.182618 0.323568 + +0.0911946 0.974507 0.204985 +-0.475426 -0.138264 0.868823 +0.875016 -0.176687 0.450697 +0.116326 -0.184374 0.322713 + +0.0576662 0.976057 0.209732 +-0.471406 -0.158564 0.867545 +0.880029 -0.148897 0.450975 +0.115797 -0.18613 0.321834 + +0.0241175 0.976433 0.214468 +-0.466569 -0.17874 0.866236 +0.884156 -0.120956 0.451263 +0.115267 -0.187886 0.320931 + +-0.00940982 0.975636 0.219192 +-0.460919 -0.198758 0.864898 +0.887392 -0.0928913 0.45156 +0.114738 -0.189643 0.320003 + +-0.0428742 0.973668 0.223904 +-0.454462 -0.218588 0.863529 +0.889734 -0.0647328 0.451867 +0.114209 -0.191399 0.319052 + +-0.0762342 0.97053 0.228604 +-0.447204 -0.238199 0.862131 +0.891177 -0.0365088 0.452184 +0.113679 -0.193155 0.318076 + +-0.109448 0.966228 0.233292 +-0.439152 -0.257558 0.860703 +0.891721 -0.00824795 0.45251 +0.11315 -0.194911 0.317076 + +-0.142476 0.960767 0.237967 +-0.430315 -0.276635 0.859245 +0.891364 0.0200207 0.452846 +0.11262 -0.196667 0.316051 + +-0.175275 0.954154 0.24263 +-0.420703 -0.295399 0.857758 +0.890106 0.0482684 0.453191 +0.112091 -0.198423 0.315003 + +-0.207805 0.946399 0.247279 +-0.410327 -0.31382 0.856241 +0.887947 0.076466 0.453546 +0.111562 -0.20018 0.31393 + +-0.240026 0.937511 0.251915 +-0.399199 -0.331867 0.854695 +0.884888 0.104585 0.453911 +0.111032 -0.201936 0.312833 + +-0.271898 0.927502 0.256539 +-0.387334 -0.349512 0.85312 +0.880934 0.132595 0.454285 +0.110503 -0.203692 0.311712 + +-0.303381 0.916385 0.261148 +-0.374745 -0.366726 0.851515 +0.876086 0.160469 0.454668 +0.109974 -0.205448 0.310567 + +-0.334435 0.904175 0.265744 +-0.361448 -0.383479 0.849882 +0.870349 0.188178 0.455062 +0.109444 -0.207204 0.309398 + +-0.363313 0.892129 0.268534 +-0.349486 -0.397684 0.848356 +0.863634 0.21437 0.45627 +0.108875 -0.208669 0.308356 + +-0.389632 0.880805 0.269017 +-0.339587 -0.408922 0.847032 +0.856077 0.238676 0.458439 +0.10825 -0.20976 0.307478 + +-0.412929 0.870946 0.26635 +-0.332834 -0.416525 0.846007 +0.847768 0.260691 0.461876 +0.107509 -0.21033 0.306859 + +-0.43389 0.86249 0.260481 +-0.329166 -0.420879 0.845287 +0.838683 0.28102 0.466518 +0.10666 -0.210383 0.306506 + +-0.453206 0.85521 0.251437 +-0.328392 -0.42241 0.844825 +0.828712 0.30031 0.472282 +0.105746 -0.209954 0.306402 + +-0.471824 0.848205 0.240689 +-0.329098 -0.422679 0.844415 +0.817971 0.319205 0.478572 +0.104803 -0.209278 0.306418 + +-0.490229 0.840729 0.229892 +-0.329884 -0.423112 0.843891 +0.806754 0.337862 0.484765 +0.10386 -0.208601 0.30641 + +-0.508408 0.83279 0.219047 +-0.330744 -0.423715 0.843252 +0.795066 0.356268 0.49086 +0.102917 -0.207925 0.306378 + +-0.524713 0.82543 0.208184 +-0.332071 -0.423648 0.842764 +0.78384 0.373078 0.496395 +0.101919 -0.207328 0.30632 + +-0.535206 0.82133 0.197414 +-0.334814 -0.420821 0.843095 +0.775535 0.385132 0.500219 +0.100725 -0.20701 0.306229 + +-0.538508 0.82167 0.186726 +-0.339444 -0.414366 0.84444 +0.771224 0.391355 0.502051 +0.0992853 -0.207047 0.306119 + +-0.533555 0.827205 0.17621 +-0.346112 -0.403655 0.846917 +0.771703 0.390889 0.501678 +0.0975659 -0.207474 0.305973 + +-0.524589 0.835059 0.165778 +-0.35346 -0.390773 0.849919 +0.774514 0.387262 0.500156 +0.095714 -0.208104 0.3058 + +-0.51383 0.84371 0.155345 +-0.36091 -0.376865 0.853063 +0.778282 0.382264 0.498148 +0.0938099 -0.208816 0.3056 + +-0.502902 0.852113 0.144888 +-0.368078 -0.362798 0.856094 +0.782054 0.377201 0.496096 +0.0919058 -0.209528 0.305375 + +-0.491811 0.860265 0.134408 +-0.374963 -0.348576 0.85901 +0.785827 0.372073 0.494001 +0.0900017 -0.210239 0.305125 + +-0.480563 0.868163 0.123906 +-0.381559 -0.334208 0.861811 +0.789602 0.366877 0.491863 +0.0880976 -0.210951 0.304852 + +-0.469164 0.875802 0.113384 +-0.387863 -0.319698 0.864497 +0.793377 0.361613 0.489682 +0.0861935 -0.211663 0.304554 + +-0.457619 0.883181 0.102844 +-0.393873 -0.305052 0.867068 +0.797151 0.35628 0.487458 +0.0842893 -0.212375 0.304233 + +-0.445935 0.890295 0.0922857 +-0.399584 -0.290278 0.869524 +0.800921 0.350875 0.485192 +0.0823852 -0.213087 0.303887 + +-0.434117 0.897143 0.0817114 +-0.404994 -0.27538 0.871863 +0.804688 0.345398 0.482885 +0.0804811 -0.213798 0.303517 + +-0.422171 0.903722 0.0711222 +-0.4101 -0.260367 0.874087 +0.808449 0.339847 0.480535 +0.078577 -0.21451 0.303122 + +-0.410104 0.910028 0.0605195 +-0.414898 -0.245243 0.876194 +0.812203 0.334221 0.478145 +0.0766729 -0.215222 0.302704 + +-0.397923 0.916061 0.0499045 +-0.419387 -0.230016 0.878184 +0.815949 0.32852 0.475713 +0.0747688 -0.215934 0.302261 + +-0.385632 0.921816 0.0392787 +-0.423564 -0.214693 0.880057 +0.819684 0.322741 0.473241 +0.0728646 -0.216645 0.301794 + +-0.373238 0.927293 0.0286434 +-0.427426 -0.199279 0.881813 +0.823408 0.316884 0.470728 +0.0709605 -0.217357 0.301303 + +-0.360749 0.932489 0.0179999 +-0.430971 -0.183782 0.883452 +0.827118 0.310947 0.468175 +0.0690564 -0.218069 0.300788 + +-0.34817 0.937403 0.00734948 +-0.434198 -0.168208 0.884974 +0.830813 0.30493 0.465583 +0.0671523 -0.218781 0.300249 + +-0.335507 0.942032 -0.00330644 +-0.437103 -0.152564 0.886378 +0.834492 0.298831 0.462951 +0.0652482 -0.219493 0.299685 + +-0.322767 0.946375 -0.0139665 +-0.439686 -0.136857 0.887664 +0.838151 0.29265 0.460281 +0.0633441 -0.220204 0.299097 + +-0.309957 0.950431 -0.0246295 +-0.441944 -0.121095 0.888832 +0.841791 0.286385 0.457572 +0.06144 -0.220916 0.298485 + +-0.297083 0.954199 -0.0352939 +-0.443876 -0.105283 0.889882 +0.845408 0.280035 0.454824 +0.0595358 -0.221628 0.297849 + +-0.284152 0.957677 -0.0459586 +-0.445482 -0.089429 0.890813 +0.849002 0.2736 0.452039 +0.0576317 -0.22234 0.297189 + +-0.27117 0.960865 -0.056622 +-0.446759 -0.07354 0.891627 +0.852569 0.267079 0.449216 +0.0557276 -0.223051 0.296504 + +-0.258144 0.963761 -0.067283 +-0.447706 -0.0576229 0.892322 +0.856108 0.260471 0.446357 +0.0538235 -0.223763 0.295796 + +-0.245081 0.966365 -0.0779402 +-0.448323 -0.041685 0.892899 +0.859617 0.253775 0.44346 +0.0519194 -0.224475 0.295063 + +-0.231987 0.968676 -0.0885922 +-0.448609 -0.0257332 0.893357 +0.863094 0.246991 0.440527 +0.0500153 -0.225187 0.294306 + +-0.218869 0.970695 -0.0992377 +-0.448564 -0.00977484 0.893697 +0.866537 0.240117 0.437558 +0.0481111 -0.225899 0.293524 + +-0.205734 0.97242 -0.109875 +-0.448187 0.00618308 0.893919 +0.869944 0.233154 0.434554 +0.046207 -0.22661 0.292719 + +-0.192587 0.973853 -0.120504 +-0.447477 0.0221333 0.894022 +0.873312 0.2261 0.431514 +0.0443029 -0.227322 0.291889 + +-0.179437 0.974992 -0.131122 +-0.446435 0.0380688 0.894006 +0.87664 0.218955 0.42844 +0.0423988 -0.228034 0.291035 + +-0.16629 0.975839 -0.141728 +-0.445061 0.0539821 0.893872 +0.879925 0.211719 0.425331 +0.0404947 -0.228746 0.290157 + +-0.153152 0.976393 -0.152321 +-0.443354 0.0698663 0.893619 +0.883166 0.204392 0.422188 +0.0385906 -0.229457 0.289255 + +-0.140029 0.976655 -0.1629 +-0.441317 0.085714 0.893248 +0.886359 0.196972 0.419012 +0.0366865 -0.230169 0.288329 + +-0.12693 0.976627 -0.173463 +-0.438948 0.101518 0.892759 +0.889502 0.189459 0.415802 +0.0347823 -0.230881 0.287378 + +-0.11386 0.976308 -0.184009 +-0.436248 0.117271 0.892152 +0.892594 0.181854 0.41256 +0.0328782 -0.231593 0.286404 + +-0.100825 0.9757 -0.194537 +-0.433219 0.132967 0.891426 +0.895631 0.174155 0.409285 +0.0309741 -0.232305 0.285405 + +-0.0863614 0.97523 -0.203639 +-0.428616 0.148149 0.891258 +0.89935 0.164253 0.405205 +0.0289455 -0.232887 0.284545 + +-0.0705999 0.974918 -0.211071 +-0.422176 0.16251 0.891828 +0.90376 0.152072 0.400114 +0.0267647 -0.233314 0.283855 + +-0.053518 0.974734 -0.216862 +-0.41387 0.17599 0.893162 +0.908761 0.137553 0.393995 +0.0244319 -0.233586 0.283335 + +-0.0361891 0.974408 -0.221854 +-0.404477 0.188721 0.894864 +0.913832 0.122119 0.387296 +0.0220221 -0.233777 0.282884 + +-0.0189198 0.973747 -0.226847 +-0.39475 0.20118 0.896493 +0.918594 0.106509 0.38058 +0.0196122 -0.233968 0.282409 + +-0.00171713 0.972752 -0.231841 +-0.384696 0.213357 0.898047 +0.923042 0.0907301 0.373847 +0.0172024 -0.23416 0.28191 + +0.0154121 0.971428 -0.236834 +-0.374321 0.225243 0.899527 +0.927171 0.0747884 0.367097 +0.0147925 -0.234351 0.281387 + +0.0324611 0.969776 -0.241827 +-0.363634 0.236832 0.900933 +0.930976 0.0586913 0.360332 +0.0123827 -0.234542 0.280839 + +0.0494231 0.9678 -0.246819 +-0.352642 0.248114 0.902265 +0.934452 0.0424461 0.35355 +0.00997283 -0.234734 0.280268 + +0.0662917 0.965504 -0.25181 +-0.341354 0.259083 0.903523 +0.937594 0.0260603 0.346753 +0.00756298 -0.234925 0.279672 + +0.0830603 0.962889 -0.2568 +-0.329777 0.26973 0.904706 +0.940398 0.00954144 0.339942 +0.00515314 -0.235116 0.279052 + +0.0997225 0.95996 -0.261787 +-0.31792 0.280047 0.905815 +0.942859 -0.00710283 0.333117 +0.00274329 -0.235307 0.278408 + +0.116272 0.95672 -0.266772 +-0.305791 0.290029 0.906849 +0.944972 -0.0238647 0.326278 +0.000333447 -0.235499 0.277739 + +0.132703 0.953173 -0.271755 +-0.293399 0.299668 0.907808 +0.946735 -0.0407361 0.319427 +-0.0020764 -0.23569 0.277047 + +0.149008 0.949323 -0.276734 +-0.280753 0.308958 0.908693 +0.948142 -0.0577091 0.312563 +-0.00448624 -0.235881 0.27633 + +0.159357 0.946123 -0.28188 +-0.27139 0.316512 0.908937 +0.949185 -0.0683464 0.307207 +-0.00683254 -0.235791 0.275549 + +0.162205 0.944007 -0.287299 +-0.266578 0.322251 0.908345 +0.950066 -0.0707509 0.303922 +-0.00909708 -0.235326 0.274676 + +0.157643 0.943042 -0.292952 +-0.266474 0.326281 0.906936 +0.950863 -0.0649079 0.302732 +-0.0112835 -0.234487 0.273708 + +0.145722 0.943101 -0.298873 +-0.271178 0.328604 0.9047 +0.951435 -0.0507866 0.303633 +-0.0133911 -0.233273 0.272649 + +0.128299 0.943681 -0.304967 +-0.279567 0.329452 0.901833 +0.951515 -0.0304459 0.306091 +-0.0154415 -0.231778 0.271515 + +0.110916 0.943898 -0.311052 +-0.288067 0.330081 0.898924 +0.951165 -0.010101 0.308517 +-0.0174919 -0.230282 0.270357 + +0.0935792 0.943754 -0.317129 +-0.296671 0.330489 0.895971 +0.950384 0.0102385 0.310911 +-0.0195423 -0.228787 0.269175 + +0.0762974 0.943251 -0.323196 +-0.305372 0.33067 0.892975 +0.949171 0.0305635 0.313272 +-0.0215927 -0.227291 0.267968 + +0.0590785 0.942391 -0.329255 +-0.314167 0.330623 0.889937 +0.947528 0.0508647 0.315601 +-0.0236431 -0.225796 0.266738 + +0.0419303 0.941177 -0.335303 +-0.323047 0.330343 0.886856 +0.945453 0.0711327 0.317896 +-0.0256935 -0.2243 0.265483 + +0.0248607 0.93961 -0.341342 +-0.332009 0.329827 0.883733 +0.942949 0.0913583 0.320159 +-0.0277439 -0.222805 0.264204 + +0.00787739 0.937695 -0.34737 +-0.341045 0.329072 0.880568 +0.940014 0.111532 0.322388 +-0.0297943 -0.221309 0.262901 + +-0.00901191 0.935434 -0.353388 +-0.350149 0.328076 0.877361 +0.936651 0.131645 0.324584 +-0.0318447 -0.219814 0.261573 + +-0.0239634 0.933268 -0.358381 +-0.357832 0.326726 0.874761 +0.933479 0.149202 0.326123 +-0.0340058 -0.218225 0.260352 + +-0.0325674 0.932186 -0.360511 +-0.361216 0.325344 0.873884 +0.931913 0.158683 0.326125 +-0.0364237 -0.216342 0.259454 + +-0.0342085 0.932431 -0.359726 +-0.360104 0.324261 0.874746 +0.932285 0.159463 0.324679 +-0.0390894 -0.214159 0.258881 + +-0.0341696 0.933134 -0.357901 +-0.35755 0.322994 0.876261 +0.933269 0.157909 0.322606 +-0.0418702 -0.211883 0.258411 + +-0.0341246 0.933835 -0.356072 +-0.354996 0.32172 0.877767 +0.934245 0.156357 0.320529 +-0.0446511 -0.209608 0.257917 + +-0.0340737 0.934534 -0.354239 +-0.35244 0.320439 0.879264 +0.935214 0.154808 0.318448 +-0.0474319 -0.207333 0.257399 + +-0.0340168 0.93523 -0.352404 +-0.349883 0.31915 0.880752 +0.936176 0.153261 0.316365 +-0.0502127 -0.205057 0.256857 + +-0.0339539 0.935923 -0.350565 +-0.347325 0.317854 0.882232 +0.93713 0.151715 0.314277 +-0.0529936 -0.202782 0.25629 + +-0.033885 0.936613 -0.348724 +-0.344767 0.316551 0.883703 +0.938077 0.150173 0.312186 +-0.0557744 -0.200506 0.2557 + +-0.0338101 0.9373 -0.346879 +-0.342207 0.31524 0.885166 +0.939016 0.148632 0.310092 +-0.0585552 -0.198231 0.255085 + +-0.0337293 0.937985 -0.345031 +-0.339646 0.313923 0.886619 +0.939948 0.147093 0.307995 +-0.0613361 -0.195955 0.254446 + +-0.0336424 0.938667 -0.34318 +-0.337085 0.312597 0.888064 +0.940873 0.145557 0.305894 +-0.0641169 -0.19368 0.253782 + +-0.0335496 0.939346 -0.341325 +-0.334522 0.311265 0.889499 +0.94179 0.144023 0.30379 +-0.0668977 -0.191405 0.253095 + +-0.0334507 0.940023 -0.339468 +-0.331959 0.309925 0.890926 +0.9427 0.142492 0.301682 +-0.0696785 -0.189129 0.252383 + +-0.0333459 0.940696 -0.337608 +-0.329396 0.308578 0.892344 +0.943603 0.140962 0.299571 +-0.0724594 -0.186854 0.251647 + +-0.0332351 0.941367 -0.335744 +-0.326831 0.307224 0.893753 +0.944498 0.139436 0.297457 +-0.0752402 -0.184578 0.250887 + +-0.0331183 0.942034 -0.333878 +-0.324266 0.305862 0.895154 +0.945386 0.137911 0.29534 +-0.078021 -0.182303 0.250103 + +-0.0329956 0.942699 -0.332008 +-0.3217 0.304494 0.896545 +0.946267 0.136389 0.293219 +-0.0808019 -0.180027 0.249295 + +-0.0328668 0.943361 -0.330136 +-0.319133 0.303118 0.897927 +0.94714 0.134869 0.291095 +-0.0835827 -0.177752 0.248462 + +-0.0327321 0.94402 -0.328261 +-0.316566 0.301734 0.899301 +0.948005 0.133352 0.288968 +-0.0863635 -0.175477 0.247605 + +-0.0325914 0.944676 -0.326383 +-0.313999 0.300344 0.900665 +0.948864 0.131838 0.286838 +-0.0891443 -0.173201 0.246725 + +-0.0324447 0.945329 -0.324501 +-0.311431 0.298947 0.902021 +0.949715 0.130325 0.284705 +-0.0919252 -0.170926 0.245819 + +-0.0334242 0.945755 -0.323157 +-0.308704 0.297758 0.903351 +0.950571 0.129954 0.282006 +-0.094602 -0.168752 0.24489 + +-0.0358703 0.94549 -0.323671 +-0.304493 0.298139 0.904653 +0.951839 0.131006 0.2772 +-0.0969965 -0.166959 0.24394 + +-0.0402045 0.944436 -0.326228 +-0.298704 0.300201 0.9059 +0.953499 0.133867 0.270037 +-0.0990861 -0.165584 0.242957 + +-0.0471117 0.942436 -0.331051 +-0.291327 0.304047 0.907019 +0.955463 0.139175 0.260233 +-0.100848 -0.164662 0.241924 + +-0.0567694 0.939402 -0.338084 +-0.28247 0.309682 0.907914 +0.957595 0.14704 0.247773 +-0.102271 -0.164191 0.24085 + +-0.0680597 0.935853 -0.345755 +-0.273463 0.315787 0.908569 +0.959472 0.156388 0.234429 +-0.103557 -0.163857 0.239754 + +-0.0793989 0.932123 -0.35333 +-0.264548 0.322036 0.909014 +0.961098 0.165648 0.221022 +-0.104844 -0.163524 0.238634 + +-0.0907833 0.928211 -0.36081 +-0.255731 0.328428 0.909251 +0.962476 0.174815 0.207556 +-0.106131 -0.16319 0.237489 + +-0.102209 0.924115 -0.368191 +-0.247015 0.334959 0.909278 +0.963606 0.183885 0.194034 +-0.107418 -0.162857 0.236321 + +-0.113673 0.919836 -0.375472 +-0.238404 0.341626 0.909096 +0.964491 0.192854 0.180459 +-0.108705 -0.162523 0.235128 + +-0.125171 0.915374 -0.382652 +-0.229902 0.348426 0.908705 +0.965131 0.201716 0.166834 +-0.109992 -0.16219 0.233911 + +-0.1367 0.910728 -0.389728 +-0.221514 0.355357 0.908104 +0.965528 0.210468 0.153162 +-0.111279 -0.161856 0.23267 + +-0.148255 0.905897 -0.3967 +-0.213243 0.362413 0.907295 +0.965685 0.219105 0.139447 +-0.112565 -0.161523 0.231405 + +-0.159833 0.900882 -0.403564 +-0.205094 0.369593 0.906277 +0.965603 0.227621 0.125692 +-0.113852 -0.161189 0.230115 + +-0.17143 0.895683 -0.410321 +-0.197069 0.376893 0.90505 +0.965285 0.236014 0.1119 +-0.115139 -0.160856 0.228802 + +-0.183043 0.8903 -0.416967 +-0.189173 0.38431 0.903615 +0.964733 0.244279 0.0980753 +-0.116426 -0.160522 0.227464 + +-0.194667 0.884732 -0.423502 +-0.181409 0.391839 0.901972 +0.963948 0.252411 0.08422 +-0.117713 -0.160189 0.226102 + +-0.206299 0.87898 -0.429924 +-0.17378 0.399477 0.900121 +0.962934 0.260406 0.0703379 +-0.119 -0.159855 0.224716 + +-0.217934 0.873045 -0.436231 +-0.166291 0.407221 0.898063 +0.961692 0.26826 0.0564322 +-0.120287 -0.159522 0.223305 + +-0.22957 0.866926 -0.442422 +-0.158945 0.415067 0.895799 +0.960226 0.27597 0.0425063 +-0.121573 -0.159189 0.221871 + +-0.241203 0.860624 -0.448495 +-0.151744 0.42301 0.893329 +0.958538 0.28353 0.0285635 +-0.12286 -0.158855 0.220412 + +-0.252827 0.854139 -0.45445 +-0.144693 0.431047 0.890653 +0.956631 0.290937 0.0146072 +-0.124147 -0.158522 0.218929 + +-0.258613 0.850094 -0.458758 +-0.134775 0.438516 0.88856 +0.956533 0.291623 0.0011655 +-0.125288 -0.157849 0.217641 + +-0.254749 0.850401 -0.46035 +-0.119799 0.444635 0.887665 +0.959558 0.281281 -0.0113936 +-0.126227 -0.156619 0.216689 + +-0.24512 0.85328 -0.46025 +-0.101767 0.449464 0.887483 +0.964137 0.264378 -0.0233368 +-0.12695 -0.155003 0.215975 + +-0.230347 0.858258 -0.458622 +-0.0810607 0.452734 0.887953 +0.969726 0.241714 -0.0347151 +-0.127469 -0.153034 0.215473 + +-0.211769 0.864449 -0.455942 +-0.0583959 0.454497 0.888832 +0.975574 0.214852 -0.0457679 +-0.12793 -0.150862 0.215069 + +-0.192995 0.870245 -0.45324 +-0.0356913 0.455392 0.889575 +0.98055 0.187861 -0.0568283 +-0.128391 -0.148691 0.21464 + +-0.174035 0.875641 -0.450516 +-0.0129782 0.455418 0.890183 +0.984654 0.16077 -0.0678946 +-0.128852 -0.146519 0.214188 + +-0.154897 0.880629 -0.447771 +0.0097122 0.454577 0.890655 +0.987883 0.13361 -0.0789652 +-0.129312 -0.144348 0.213711 + +-0.135588 0.885204 -0.445005 +0.0323486 0.452869 0.89099 +0.990237 0.106412 -0.0900385 +-0.129773 -0.142176 0.21321 + +-0.116117 0.889359 -0.442219 +0.0549 0.450297 0.891189 +0.991717 0.0792043 -0.101113 +-0.130234 -0.140005 0.212685 + +-0.101835 0.892087 -0.440239 +0.0726686 0.448028 0.891061 +0.992144 0.05875 -0.110452 +-0.130669 -0.137553 0.21208 + +-0.0959101 0.893112 -0.439492 +0.0829893 0.447165 0.890593 +0.991924 0.0489438 -0.117006 +-0.131042 -0.134653 0.211304 + +-0.0992741 0.892403 -0.440183 +0.0851638 0.448365 0.889784 +0.991409 0.0508449 -0.120512 +-0.131364 -0.131252 0.210387 + +-0.108812 0.890528 -0.441724 +0.0819769 0.450887 0.888808 +0.990676 0.0605018 -0.122065 +-0.131651 -0.127529 0.209361 + +-0.118326 0.888549 -0.44326 +0.0787488 0.453387 0.887828 +0.989847 0.0701468 -0.12362 +-0.131939 -0.123806 0.20831 + +-0.127815 0.886467 -0.444792 +0.0754796 0.455864 0.886843 +0.988922 0.0797791 -0.125176 +-0.132226 -0.120083 0.207236 + +-0.137278 0.884282 -0.446319 +0.0721695 0.458317 0.885854 +0.9879 0.0893976 -0.126735 +-0.132514 -0.11636 0.206137 + +-0.146714 0.881994 -0.447842 +0.0688186 0.460745 0.88486 +0.986782 0.0990013 -0.128295 +-0.132801 -0.112637 0.205014 + +-0.156121 0.879603 -0.44936 +0.0654272 0.463148 0.883863 +0.985569 0.108589 -0.129857 +-0.133089 -0.108914 0.203867 + +-0.165499 0.877111 -0.450873 +0.0619955 0.465526 0.88286 +0.984259 0.118161 -0.131421 +-0.133376 -0.105191 0.202696 + +-0.174847 0.874517 -0.452381 +0.0585235 0.467877 0.881854 +0.982855 0.127714 -0.132987 +-0.133664 -0.101468 0.2015 + +-0.187641 0.871649 -0.45279 +0.0533981 0.469349 0.881397 +0.980785 0.141208 -0.134614 +-0.134053 -0.0979454 0.200374 + +-0.204946 0.86828 -0.45176 +0.046074 0.469604 0.881674 +0.977688 0.159881 -0.136248 +-0.134651 -0.0947225 0.199335 + +-0.227074 0.86418 -0.449033 +0.0366062 0.468325 0.882798 +0.973189 0.184023 -0.137979 +-0.135425 -0.0918104 0.19841 + +-0.253677 0.859023 -0.444665 +0.0252847 0.465434 0.884721 +0.966958 0.21319 -0.13979 +-0.136338 -0.0891812 0.197589 + +-0.284016 0.852512 -0.438815 +0.0126027 0.460941 0.887341 +0.958737 0.246488 -0.141658 +-0.137364 -0.0867967 0.196854 + +-0.314176 0.844899 -0.432941 +0.00023174 0.456101 0.889928 +0.949365 0.279494 -0.143492 +-0.138391 -0.0844121 0.196095 + +-0.344119 0.83619 -0.427045 +-0.0118187 0.450929 0.892481 +0.938852 0.312167 -0.145291 +-0.139417 -0.0820275 0.195311 + +-0.373803 0.826392 -0.421127 +-0.0235396 0.445442 0.895001 +0.927209 0.344467 -0.147055 +-0.140444 -0.0796429 0.194504 + +-0.403188 0.815512 -0.415186 +-0.034923 0.439655 0.897488 +0.914451 0.376355 -0.148783 +-0.141471 -0.0772583 0.193672 + +-0.432233 0.803561 -0.409224 +-0.0459613 0.433584 0.89994 +0.90059 0.407793 -0.150477 +-0.142497 -0.0748737 0.192816 + +-0.4609 0.790549 -0.403241 +-0.0566478 0.427247 0.902359 +0.885642 0.43874 -0.152135 +-0.143524 -0.0724891 0.191936 + +-0.489149 0.776489 -0.397238 +-0.0669765 0.420658 0.904743 +0.869625 0.46916 -0.153758 +-0.14455 -0.0701046 0.191032 + +-0.516941 0.761396 -0.391214 +-0.076942 0.413836 0.907094 +0.852556 0.499015 -0.155345 +-0.145577 -0.06772 0.190103 + +-0.544237 0.745285 -0.38517 +-0.0865398 0.406797 0.90941 +0.834456 0.528267 -0.156897 +-0.146603 -0.0653354 0.189151 + +-0.571 0.728173 -0.379107 +-0.0957659 0.399557 0.911692 +0.815345 0.556882 -0.158413 +-0.14763 -0.0629508 0.188174 + +-0.597193 0.710079 -0.373026 +-0.104617 0.392134 0.91394 +0.795246 0.584824 -0.159893 +-0.148656 -0.0605662 0.187173 + +-0.622779 0.691022 -0.366925 +-0.113092 0.384544 0.916153 +0.774181 0.612057 -0.161337 +-0.149683 -0.0581816 0.186148 + +-0.647722 0.671024 -0.360807 +-0.121187 0.376805 0.918331 +0.752176 0.638549 -0.162746 +-0.150709 -0.055797 0.185098 + +-0.671988 0.650108 -0.354672 +-0.128902 0.368932 0.920475 +0.729257 0.664266 -0.164118 +-0.151736 -0.0534125 0.184025 + +-0.695542 0.628297 -0.348519 +-0.136237 0.360943 0.922583 +0.705451 0.689176 -0.165453 +-0.152762 -0.0510279 0.182927 + +-0.71835 0.605616 -0.342349 +-0.143192 0.352854 0.924657 +0.680786 0.713249 -0.166753 +-0.153789 -0.0486433 0.181805 + +-0.74038 0.582092 -0.336164 +-0.149768 0.344681 0.926695 +0.655291 0.736454 -0.168016 +-0.154815 -0.0462587 0.180659 + +-0.761601 0.557753 -0.329962 +-0.155967 0.336441 0.928699 +0.628997 0.758762 -0.169243 +-0.155842 -0.0438741 0.179488 + +-0.781983 0.532627 -0.323746 +-0.161792 0.32815 0.930667 +0.601935 0.780145 -0.170433 +-0.156869 -0.0414895 0.178294 + +-0.801495 0.506745 -0.317514 +-0.167244 0.319823 0.9326 +0.574138 0.800577 -0.171586 +-0.157895 -0.0391049 0.177075 + +-0.82011 0.480137 -0.311268 +-0.172329 0.311476 0.934498 +0.545639 0.820031 -0.172703 +-0.158922 -0.0367203 0.175832 + +-0.8378 0.452836 -0.305008 +-0.17705 0.303124 0.93636 +0.516473 0.838484 -0.173783 +-0.159948 -0.0343358 0.174565 + +-0.85454 0.424875 -0.298735 +-0.181412 0.294782 0.938186 +0.486674 0.855912 -0.174826 +-0.160975 -0.0319512 0.173274 + +-0.868839 0.400481 -0.29109 +-0.18273 0.287047 0.940326 +0.46014 0.870183 -0.176218 +-0.162163 -0.0298064 0.171981 + +-0.880145 0.382263 -0.281461 +-0.179658 0.280581 0.942867 +0.439395 0.880426 -0.178275 +-0.163593 -0.0280218 0.170704 + +-0.888825 0.370364 -0.269852 +-0.172361 0.275437 0.945741 +0.424596 0.887111 -0.180979 +-0.165273 -0.0265905 0.16944 + +-0.895441 0.363692 -0.256737 +-0.161759 0.27148 0.948753 +0.414753 0.891082 -0.184264 +-0.167153 -0.0254303 0.168187 + +-0.899794 0.361677 -0.244051 +-0.149572 0.269762 0.95124 +0.409877 0.892423 -0.188633 +-0.16871 -0.024463 0.167117 + +-0.903033 0.359988 -0.234392 +-0.139479 0.270364 0.952601 +0.406297 0.892923 -0.193937 +-0.169497 -0.0234946 0.166311 + +-0.90486 0.359365 -0.228222 +-0.131667 0.273563 0.9528 +0.404836 0.8922 -0.200219 +-0.16949 -0.0225905 0.165778 + +-0.905356 0.359416 -0.226164 +-0.126664 0.279782 0.951671 +0.405322 0.890249 -0.207777 +-0.16865 -0.0218277 0.165561 + +-0.904486 0.360465 -0.22797 +-0.124184 0.288771 0.94931 +0.408024 0.886948 -0.216426 +-0.167004 -0.0211824 0.165636 + +-0.902441 0.362393 -0.232964 +-0.123673 0.300074 0.945865 +0.412681 0.882398 -0.225981 +-0.164634 -0.0205949 0.165969 + +-0.899123 0.365348 -0.241036 +-0.124935 0.313559 0.941314 +0.419486 0.876471 -0.236284 +-0.161648 -0.0201124 0.166516 + +-0.895776 0.36817 -0.249072 +-0.126014 0.32701 0.936581 +0.42627 0.870353 -0.246533 +-0.158662 -0.0196298 0.167039 + +-0.890564 0.376284 -0.255552 +-0.123352 0.340983 0.931941 +0.437814 0.861476 -0.257252 +-0.155812 -0.0194025 0.16755 + +-0.8831 0.39052 -0.260054 +-0.115988 0.355355 0.927507 +0.454622 0.849245 -0.268519 +-0.153083 -0.0194862 0.168045 + +-0.873345 0.410136 -0.262787 +-0.104097 0.369878 0.92323 +0.475849 0.833654 -0.280337 +-0.150441 -0.0198477 0.16852 + +-0.863166 0.42947 -0.26552 +-0.091585 0.383972 0.918791 +0.496545 0.817387 -0.292099 +-0.147799 -0.0202092 0.168971 + +-0.852572 0.448511 -0.268252 +-0.0784673 0.397614 0.914191 +0.516686 0.800463 -0.303801 +-0.145156 -0.0205706 0.169398 + +-0.841572 0.467252 -0.270982 +-0.0647609 0.410781 0.909431 +0.536248 0.782901 -0.315442 +-0.142514 -0.0209321 0.1698 + +-0.830176 0.485685 -0.273711 +-0.0504834 0.423451 0.904511 +0.555211 0.764721 -0.32702 +-0.139872 -0.0212936 0.170178 + +-0.818393 0.503802 -0.276437 +-0.0356533 0.435603 0.899432 +0.573552 0.745945 -0.338532 +-0.13723 -0.021655 0.170532 + +-0.806232 0.521594 -0.27916 +-0.0202897 0.447216 0.894196 +0.591252 0.726593 -0.349977 +-0.134588 -0.0220165 0.170862 + +-0.793702 0.539055 -0.28188 +-0.00441256 0.458271 0.888802 +0.60829 0.706688 -0.361352 +-0.131946 -0.022378 0.171168 + +-0.780815 0.556177 -0.284596 +0.0119573 0.468747 0.883252 +0.624648 0.686253 -0.372655 +-0.129303 -0.0227394 0.17145 + +-0.767579 0.572954 -0.287308 +0.0287987 0.478626 0.877546 +0.640307 0.665312 -0.383884 +-0.126661 -0.0231009 0.171707 + +-0.754005 0.58938 -0.290015 +0.0460895 0.487892 0.871687 +0.65525 0.643889 -0.395037 +-0.124019 -0.0234623 0.17194 + +-0.740102 0.605447 -0.292716 +0.063807 0.496526 0.865673 +0.669461 0.622009 -0.406112 +-0.121377 -0.0238238 0.172149 + +-0.725881 0.621151 -0.295412 +0.081928 0.504513 0.859508 +0.682923 0.599698 -0.417106 +-0.118735 -0.0241853 0.172334 + +-0.711352 0.636485 -0.298101 +0.100429 0.511839 0.853191 +0.695624 0.576982 -0.428019 +-0.116092 -0.0245467 0.172495 + +-0.698348 0.650404 -0.298806 +0.119149 0.517279 0.847482 +0.705771 0.556235 -0.438736 +-0.113613 -0.0251775 0.172748 + +-0.688496 0.661893 -0.296429 +0.137345 0.520334 0.842846 +0.712116 0.539583 -0.449156 +-0.111379 -0.0262308 0.17317 + +-0.681902 0.671078 -0.29097 +0.154802 0.521199 0.839278 +0.714875 0.527263 -0.459291 +-0.109392 -0.0277033 0.173764 + +-0.678586 0.677798 -0.283038 +0.170926 0.520473 0.836595 +0.714356 0.519324 -0.469039 +-0.107618 -0.0295153 0.174497 + +-0.678597 0.682052 -0.272601 +0.185659 0.518357 0.834767 +0.710659 0.51586 -0.478385 +-0.106061 -0.0316626 0.175373 + +-0.681186 0.684288 -0.26026 +0.199203 0.515321 0.833524 +0.704488 0.515941 -0.487342 +-0.104692 -0.0340669 0.176346 + +-0.683584 0.686497 -0.24786 +0.212716 0.512238 0.832084 +0.698187 0.516076 -0.496187 +-0.103322 -0.0364712 0.177294 + +-0.68579 0.688678 -0.235404 +0.226194 0.50911 0.830447 +0.691757 0.516265 -0.504918 +-0.101952 -0.0388755 0.178219 + +-0.687804 0.690828 -0.222895 +0.239635 0.505938 0.828615 +0.685201 0.516511 -0.513533 +-0.100583 -0.0412798 0.179119 + +-0.689624 0.692948 -0.210335 +0.253036 0.502721 0.826586 +0.678521 0.516812 -0.52203 +-0.0992132 -0.0436841 0.179995 + +-0.691252 0.695036 -0.197728 +0.266393 0.499462 0.824362 +0.671718 0.517168 -0.530407 +-0.0978435 -0.0460884 0.180847 + +-0.692686 0.697089 -0.185077 +0.279703 0.496161 0.821943 +0.664795 0.517582 -0.538661 +-0.0964739 -0.0484927 0.181674 + +-0.693925 0.699108 -0.172384 +0.292963 0.492819 0.81933 +0.657754 0.518052 -0.546793 +-0.0951042 -0.050897 0.182478 + +-0.695887 0.700136 -0.159846 +0.30495 0.489599 0.816883 +0.65019 0.519713 -0.554212 +-0.0937306 -0.0532104 0.183223 + +-0.701231 0.69739 -0.148062 +0.311691 0.486671 0.816089 +0.64119 0.526117 -0.558638 +-0.0923667 -0.055058 0.183855 + +-0.710785 0.689894 -0.137226 +0.312024 0.48408 0.817501 +0.630418 0.53825 -0.55934 +-0.0910027 -0.0563243 0.184308 + +-0.724869 0.676988 -0.127484 +0.305515 0.481784 0.821307 +0.617434 0.556392 -0.55606 +-0.0896362 -0.0569611 0.184573 + +-0.742111 0.659689 -0.118663 +0.293658 0.479135 0.827161 +0.602524 0.578999 -0.549295 +-0.0882797 -0.0570485 0.184687 + +-0.761053 0.639202 -0.11054 +0.278264 0.475619 0.834479 +0.585976 0.604324 -0.539838 +-0.0869418 -0.0567198 0.184697 + +-0.779882 0.617453 -0.102644 +0.26217 0.471141 0.842196 +0.568376 0.629903 -0.529312 +-0.085611 -0.056253 0.184636 + +-0.798093 0.595033 -0.0947803 +0.24654 0.466024 0.849729 +0.549787 0.654796 -0.51863 +-0.0842802 -0.0557862 0.184551 + +-0.815661 0.571958 -0.086951 +0.2314 0.460293 0.857079 +0.530236 0.678966 -0.507794 +-0.0829493 -0.0553194 0.184441 + +-0.830354 0.551503 -0.0797292 +0.217762 0.452857 0.864581 +0.512925 0.700546 -0.496128 +-0.0815555 -0.054932 0.184415 + +-0.840487 0.536799 -0.0736772 +0.20634 0.442833 0.872538 +0.501004 0.718154 -0.482959 +-0.080023 -0.0547232 0.184549 + +-0.846491 0.527939 -0.0688002 +0.196848 0.430422 0.880902 +0.494676 0.732132 -0.468272 +-0.0783572 -0.0546994 0.184841 + +-0.849864 0.523013 -0.0647224 +0.188514 0.416389 0.889428 +0.492132 0.743692 -0.452469 +-0.0766204 -0.0547961 0.185247 + +-0.853232 0.517994 -0.0606398 +0.180327 0.402118 0.897654 +0.489363 0.754973 -0.436509 +-0.0748837 -0.0548928 0.185629 + +-0.856595 0.51288 -0.0565538 +0.172294 0.387616 0.905576 +0.486373 0.765969 -0.420396 +-0.0731469 -0.0549895 0.185987 + +-0.859951 0.507673 -0.0524658 +0.16442 0.372887 0.913193 +0.483167 0.776674 -0.404137 +-0.0714101 -0.0550862 0.186321 + +-0.863298 0.502371 -0.0483771 +0.156711 0.35794 0.9205 +0.479749 0.787084 -0.387736 +-0.0696734 -0.0551829 0.18663 + +-0.866634 0.496975 -0.0442892 +0.14917 0.342781 0.927496 +0.476124 0.797193 -0.371199 +-0.0679366 -0.0552796 0.186916 + +-0.869958 0.491485 -0.0402034 +0.141803 0.327416 0.934179 +0.472298 0.806995 -0.354533 +-0.0661998 -0.0553763 0.187177 + +-0.873268 0.485899 -0.0361211 +0.134616 0.311853 0.940546 +0.468275 0.816486 -0.337741 +-0.0644631 -0.055473 0.187414 + +-0.876563 0.480219 -0.0320438 +0.127612 0.296099 0.946594 +0.464061 0.82566 -0.320831 +-0.0627263 -0.0555697 0.187627 + +-0.879841 0.474444 -0.0279728 +0.120796 0.280161 0.952323 +0.459661 0.834513 -0.303808 +-0.0609895 -0.0556664 0.187815 + +-0.8831 0.468575 -0.0239095 +0.114173 0.264046 0.957729 +0.45508 0.843041 -0.286678 +-0.0592528 -0.0557631 0.18798 + +-0.886339 0.46261 -0.0198553 +0.107747 0.247762 0.962811 +0.450325 0.851238 -0.269446 +-0.057516 -0.0558598 0.18812 + +-0.889557 0.456551 -0.0158116 +0.101521 0.231316 0.967567 +0.445401 0.859101 -0.252118 +-0.0557792 -0.0559565 0.188236 + +-0.89275 0.450398 -0.0117797 +0.0955003 0.214716 0.971996 +0.440314 0.866625 -0.234701 +-0.0540425 -0.0560532 0.188328 + +-0.895919 0.44415 -0.00776104 +0.0896878 0.19797 0.976096 +0.43507 0.873807 -0.2172 +-0.0523057 -0.0561499 0.188396 + +-0.89906 0.437808 -0.003757 +0.0840873 0.181086 0.979866 +0.429674 0.880643 -0.199621 +-0.0505689 -0.0562466 0.188439 + +-0.902174 0.431373 0.000231085 +0.0787023 0.164071 0.983304 +0.424133 0.887129 -0.181971 +-0.0488322 -0.0563433 0.188458 + +-0.905257 0.424845 0.00420184 +0.0735358 0.146934 0.986409 +0.418453 0.893262 -0.164254 +-0.0470954 -0.0564401 0.188454 + +-0.908308 0.418223 0.00815392 +0.0685911 0.129682 0.98918 +0.412641 0.899039 -0.146478 +-0.0453586 -0.0565368 0.188425 + +-0.911325 0.411509 0.012086 +0.0638709 0.112324 0.991617 +0.406702 0.904457 -0.128648 +-0.0436219 -0.0566335 0.188371 + +-0.914308 0.404703 0.0159967 +0.059378 0.0948687 0.993717 +0.400643 0.909514 -0.11077 +-0.0418851 -0.0567302 0.188294 + +-0.917254 0.397806 0.0198846 +0.055115 0.0773232 0.995482 +0.394471 0.914205 -0.0928501 +-0.0401483 -0.0568269 0.188192 + +-0.920162 0.390818 0.0237486 +0.0510841 0.0596965 0.996909 +0.388192 0.91853 -0.074895 +-0.0384116 -0.0569236 0.188066 + +-0.923029 0.38374 0.0275872 +0.0472876 0.0419969 0.997998 +0.381813 0.922486 -0.0569105 +-0.0366748 -0.0570203 0.187916 + +-0.925855 0.376572 0.0313991 +0.0437275 0.0242329 0.99875 +0.37534 0.92607 -0.0389027 +-0.034938 -0.057117 0.187742 + +-0.928638 0.369315 0.0351831 +0.0404055 0.00641299 0.999163 +0.36878 0.929282 -0.0208777 +-0.0332013 -0.0572137 0.187544 + +-0.928479 0.369179 0.040417 +0.0393824 -0.0103414 0.999171 +0.369291 0.929301 -0.00493734 +-0.0316171 -0.057663 0.187276 + +-0.924199 0.378901 0.0478505 +0.0411831 -0.0256866 0.998821 +0.379683 0.925081 0.00813521 +-0.0302225 -0.0585942 0.186884 + +-0.915484 0.398226 0.0574968 +0.0454191 -0.0397053 0.998179 +0.399783 0.916428 0.0182625 +-0.029007 -0.0600023 0.186352 + +-0.902951 0.424237 0.068574 +0.0509077 -0.0528525 0.997304 +0.426718 0.904007 0.0261262 +-0.0279528 -0.061758 0.185741 + +-0.889597 0.449745 0.0796659 +0.0556925 -0.0663105 0.996244 +0.453338 0.890692 0.0339422 +-0.0268986 -0.0635137 0.185105 + +-0.875443 0.474721 0.0907704 +0.0597592 -0.0800483 0.994998 +0.479613 0.876489 0.0417088 +-0.0258443 -0.0652693 0.184446 + +-0.860512 0.499138 0.101885 +0.0630948 -0.0940341 0.993568 +0.505508 0.861405 0.0494244 +-0.0247901 -0.067025 0.183762 + +-0.844826 0.52297 0.113008 +0.0656878 -0.108236 0.991953 +0.530993 0.845451 0.0570875 +-0.0237359 -0.0687807 0.183054 + +-0.828411 0.546192 0.124137 +0.0675279 -0.12262 0.990154 +0.556035 0.828637 0.0646966 +-0.0226817 -0.0705363 0.182322 + +-0.811291 0.568779 0.13527 +0.0686062 -0.137154 0.988171 +0.580604 0.810974 0.07225 +-0.0216274 -0.072292 0.181565 + +-0.793492 0.590709 0.146404 +0.0689153 -0.151804 0.986005 +0.604666 0.792476 0.0797463 +-0.0205732 -0.0740477 0.180785 + +-0.775041 0.611959 0.157538 +0.0684491 -0.166536 0.983657 +0.628193 0.773157 0.0871839 +-0.019519 -0.0758033 0.17998 + +-0.755965 0.632508 0.16867 +0.067203 -0.181315 0.981126 +0.651153 0.753033 0.0945613 +-0.0184648 -0.077559 0.179151 + +-0.736294 0.652338 0.179796 +0.0651739 -0.196107 0.978414 +0.673516 0.732118 0.101877 +-0.0174105 -0.0793147 0.178298 + +-0.716055 0.671428 0.190916 +0.0623602 -0.210877 0.975521 +0.695253 0.710433 0.10913 +-0.0163563 -0.0810703 0.177421 + +-0.706871 0.678795 0.198921 +0.0624046 -0.220281 0.973438 +0.704584 0.700509 0.11335 +-0.0149716 -0.0835053 0.176444 + +-0.709076 0.675109 0.203566 +0.0657442 -0.224138 0.972337 +0.702061 0.702844 0.114546 +-0.0132197 -0.0866432 0.175382 + +-0.720306 0.662419 0.205819 +0.0721623 -0.223546 0.972018 +0.689893 0.715003 0.11322 +-0.0112604 -0.0903053 0.174195 + +-0.731304 0.649539 0.208073 +0.0785769 -0.222803 0.971692 +0.67751 0.726951 0.111898 +-0.00930107 -0.0939675 0.172983 + +-0.742067 0.636474 0.210328 +0.0849848 -0.221908 0.971357 +0.664917 0.738686 0.11058 +-0.00734178 -0.0976296 0.171748 + +-0.752591 0.623229 0.212584 +0.0913828 -0.220863 0.971014 +0.652116 0.750203 0.109267 +-0.00538249 -0.101292 0.170488 + +-0.762875 0.609808 0.214841 +0.0977675 -0.219666 0.970664 +0.639112 0.761499 0.107958 +-0.0034232 -0.104954 0.169204 + +-0.772913 0.596215 0.2171 +0.104136 -0.218319 0.970305 +0.625908 0.77257 0.106655 +-0.00146391 -0.108616 0.167896 + +-0.782705 0.582455 0.219359 +0.110484 -0.216822 0.969939 +0.612508 0.783412 0.105355 +0.000495381 -0.112278 0.166563 + +-0.792246 0.568533 0.22162 +0.116809 -0.215174 0.969565 +0.598917 0.794022 0.104061 +0.00245467 -0.11594 0.165207 + +-0.801535 0.554453 0.223882 +0.123109 -0.213376 0.969183 +0.585137 0.804396 0.10277 +0.00441396 -0.119602 0.163826 + +-0.810568 0.54022 0.226145 +0.129378 -0.211429 0.968793 +0.571174 0.814531 0.101485 +0.00637325 -0.123264 0.162421 + +-0.819344 0.525838 0.228409 +0.135615 -0.209333 0.968395 +0.557032 0.824424 0.100204 +0.00833254 -0.126927 0.160992 + +-0.827859 0.511312 0.230674 +0.141816 -0.207088 0.967989 +0.542714 0.834071 0.098928 +0.0102918 -0.130589 0.159539 + +-0.836111 0.496647 0.23294 +0.147977 -0.204696 0.967575 +0.528225 0.84347 0.0976565 +0.0122511 -0.134251 0.158061 + +-0.844097 0.481848 0.235207 +0.154096 -0.202157 0.967154 +0.51357 0.852617 0.0963897 +0.0142104 -0.137913 0.156559 + +-0.851817 0.466919 0.237475 +0.160169 -0.199472 0.966725 +0.498752 0.861509 0.0951277 +0.0161697 -0.141575 0.155034 + +-0.859267 0.451867 0.239743 +0.166194 -0.196642 0.966287 +0.483777 0.870143 0.0938704 +0.018129 -0.145237 0.153484 + +-0.866446 0.436694 0.242013 +0.172167 -0.193667 0.965843 +0.468648 0.878516 0.0926178 +0.0200883 -0.148899 0.151909 + +-0.873351 0.421407 0.244283 +0.178084 -0.190549 0.96539 +0.45337 0.886627 0.09137 +0.0220476 -0.152562 0.150311 + +-0.879981 0.406011 0.246554 +0.183943 -0.187288 0.964929 +0.437948 0.894471 0.090127 +0.0240069 -0.156224 0.148688 + +-0.886334 0.39051 0.248826 +0.189741 -0.183886 0.964461 +0.422387 0.902047 0.0888887 +0.0259662 -0.159886 0.147041 + +-0.892408 0.374909 0.251099 +0.195474 -0.180344 0.963984 +0.406691 0.909351 0.0876553 +0.0279254 -0.163548 0.14537 + +-0.898202 0.359215 0.253372 +0.20114 -0.176663 0.9635 +0.390865 0.916381 0.0864267 +0.0298847 -0.16721 0.143675 + +-0.903715 0.34343 0.255646 +0.206735 -0.172844 0.963008 +0.374914 0.923136 0.085203 +0.031844 -0.170872 0.141956 + +-0.91083 0.323509 0.25638 +0.211711 -0.167069 0.962947 +0.354355 0.931359 0.0836816 +0.0338208 -0.174315 0.140313 + +-0.919276 0.299351 0.255579 +0.215946 -0.159316 0.96332 +0.329089 0.940748 0.0818114 +0.0358136 -0.177539 0.138746 + +-0.928144 0.272222 0.253858 +0.219568 -0.150305 0.963949 +0.300565 0.950423 0.0797334 +0.0378165 -0.180633 0.13722 + +-0.936206 0.244829 0.252144 +0.222854 -0.141216 0.964569 +0.271761 0.959227 0.0776466 +0.0398194 -0.183727 0.13567 + +-0.943455 0.217195 0.250438 +0.225802 -0.132062 0.96518 +0.242705 0.967154 0.075551 +0.0418222 -0.186821 0.134095 + +-0.949883 0.189344 0.248738 +0.228413 -0.122852 0.965782 +0.213423 0.974195 0.0734469 +0.0438251 -0.189916 0.132496 + +-0.955484 0.161301 0.247046 +0.230684 -0.113601 0.966375 +0.183942 0.980345 0.0713341 +0.045828 -0.19301 0.130874 + +-0.960252 0.133091 0.245361 +0.232616 -0.104318 0.966958 +0.154289 0.985599 0.0692127 +0.0478308 -0.196104 0.129226 + +-0.964183 0.104738 0.243684 +0.234209 -0.0950166 0.967532 +0.124491 0.98995 0.0670828 +0.0498337 -0.199198 0.127555 + +-0.967271 0.0762679 0.242014 +0.235462 -0.0857079 0.968097 +0.0945771 0.993397 0.0649445 +0.0518366 -0.202292 0.12586 + +-0.969513 0.0477053 0.240351 +0.236378 -0.0764036 0.968653 +0.0645736 0.995935 0.0627978 +0.0538394 -0.205386 0.12414 + +-0.970565 0.0262406 0.239405 +0.237076 -0.0709322 0.968898 +0.042406 0.997136 0.0626233 +0.0557031 -0.208159 0.122233 + +-0.970826 0.0128127 0.239444 +0.238005 -0.0699991 0.968738 +0.029173 0.997465 0.0649075 +0.0573994 -0.210539 0.120094 + +-0.970533 0.00965439 0.240775 +0.239408 -0.0749041 0.968025 +0.0273807 0.997144 0.0703855 +0.0588808 -0.21241 0.117683 + +-0.969791 0.0166851 0.243367 +0.241121 -0.0856411 0.966709 +0.0369718 0.996186 0.0790308 +0.0601482 -0.213771 0.114996 + +-0.968538 0.0313436 0.246885 +0.242684 -0.1008 0.964854 +0.0551281 0.994413 0.0900224 +0.061248 -0.214743 0.112071 + +-0.966618 0.0514627 0.251001 +0.243599 -0.119118 0.962533 +0.0794333 0.991546 0.102605 +0.062224 -0.215443 0.108968 + +-0.967215 0.0497953 0.249029 +0.240993 -0.129357 0.961868 +0.0801103 0.990347 0.113116 +0.0633086 -0.215282 0.106378 + +-0.970538 0.022965 0.239853 +0.23496 -0.130368 0.963223 +0.0533896 0.9912 0.121131 +0.0644592 -0.214128 0.104394 + +-0.973352 -0.00902488 0.22914 +0.228352 -0.129757 0.964893 +0.0210244 0.991505 0.12836 +0.0656721 -0.212782 0.102521 + +-0.975001 -0.0411024 0.218364 +0.221906 -0.129643 0.966411 +-0.0114124 0.990708 0.135523 +0.0668849 -0.211437 0.100625 + +-0.975485 -0.0732229 0.207528 +0.215647 -0.130017 0.967777 +-0.0438813 0.988804 0.14262 +0.0680978 -0.210092 0.0987047 + +-0.974802 -0.105342 0.196632 +0.209602 -0.130866 0.96899 +-0.0763424 0.985788 0.149649 +0.0693107 -0.208747 0.09676 + +-0.972954 -0.137414 0.18568 +0.203794 -0.132178 0.97005 +-0.108755 0.981655 0.156608 +0.0705235 -0.207402 0.0947912 + +-0.970064 -0.168457 0.174922 +0.198434 -0.134605 0.970827 +-0.139997 0.976475 0.164004 +0.0717013 -0.20598 0.0927488 + +-0.966323 -0.1979 0.164485 +0.193681 -0.138471 0.971243 +-0.169433 0.970392 0.172138 +0.0728298 -0.204439 0.0906146 + +-0.96189 -0.225708 0.154346 +0.189576 -0.143708 0.971292 +-0.197048 0.963537 0.18102 +0.0739105 -0.202778 0.0883875 + +-0.956582 -0.25332 0.144151 +0.185869 -0.14923 0.971176 +-0.224507 0.955803 0.189835 +0.0749913 -0.201117 0.0861361 + +-0.95111 -0.277612 0.135354 +0.183285 -0.154601 0.970827 +-0.248588 0.948172 0.197925 +0.0757862 -0.1997 0.0838478 + +-0.946434 -0.296106 0.128777 +0.181978 -0.159689 0.970249 +-0.266733 0.941712 0.20502 +0.0759278 -0.19868 0.081525 + +-0.942826 -0.308999 0.124898 +0.182178 -0.163995 0.969493 +-0.27909 0.936817 0.210911 +0.075365 -0.198142 0.0791609 + +-0.940623 -0.316011 0.123958 +0.183863 -0.167336 0.968604 +-0.285347 0.933882 0.215503 +0.0739933 -0.198139 0.0767646 + +-0.942395 -0.31023 0.1251 +0.183964 -0.168321 0.968414 +-0.279374 0.935642 0.215696 +0.0721486 -0.198356 0.0747142 + +-0.948261 -0.290716 0.127614 +0.181481 -0.166517 0.969194 +-0.260511 0.942208 0.210661 +0.0699926 -0.198635 0.0730666 + +-0.95734 -0.257535 0.13106 +0.176507 -0.162059 0.970867 +-0.228793 0.952582 0.200602 +0.0677218 -0.198886 0.0717877 + +-0.966577 -0.218223 0.134567 +0.17079 -0.156617 0.972781 +-0.191208 0.96325 0.188653 +0.0653713 -0.199108 0.0706184 + +-0.97421 -0.178535 0.137985 +0.165699 -0.15096 0.974554 +-0.153162 0.972284 0.17665 +0.0630208 -0.199329 0.0694248 + +-0.980223 -0.138538 0.141314 +0.161243 -0.145128 0.976186 +-0.11473 0.979666 0.164596 +0.0606703 -0.19955 0.0682071 + +-0.984602 -0.0982978 0.144554 +0.15743 -0.139162 0.977676 +-0.0759871 0.985379 0.152494 +0.0583198 -0.199771 0.0669651 + +-0.987337 -0.0578816 0.147703 +0.154262 -0.133101 0.979024 +-0.037008 0.989411 0.140345 +0.0559693 -0.199992 0.065699 + +-0.988418 -0.0173573 0.150761 +0.151742 -0.126988 0.980229 +0.0021308 0.991752 0.128151 +0.0536187 -0.200213 0.0644087 + +-0.987841 0.0232069 0.153728 +0.149869 -0.120863 0.981291 +0.0413528 0.992398 0.115916 +0.0512682 -0.200435 0.0630942 + +-0.985603 0.0637425 0.156602 +0.148641 -0.114767 0.982209 +0.0805813 0.991345 0.10364 +0.0489177 -0.200656 0.0617556 + +-0.981704 0.104181 0.159385 +0.148052 -0.108741 0.982983 +0.11974 0.988596 0.0913269 +0.0465672 -0.200877 0.0603927 + +-0.976148 0.144453 0.162074 +0.148097 -0.102824 0.983613 +0.158751 0.984155 0.0789781 +0.0442167 -0.201098 0.0590057 + +-0.971191 0.175032 0.161714 +0.147024 -0.0939496 0.984661 +0.18754 0.98007 0.065509 +0.0419028 -0.200894 0.0578148 + +-0.968846 0.191523 0.157024 +0.1439 -0.080699 0.986296 +0.20157 0.978165 0.0506248 +0.039552 -0.200057 0.0568944 + +-0.96946 0.195321 0.148316 +0.138438 -0.0633685 0.988342 +0.202443 0.97869 0.0343934 +0.0372455 -0.198663 0.0562264 + +-0.97002 0.198964 0.139554 +0.133001 -0.0459936 0.990048 +0.203403 0.978927 0.0181522 +0.034939 -0.197269 0.0555341 + +-0.970526 0.202452 0.13074 +0.127592 -0.0285803 0.991415 +0.20445 0.978875 0.00190659 +0.0326325 -0.195875 0.0548177 + +-0.970979 0.205783 0.121878 +0.122212 -0.0111346 0.992442 +0.205584 0.978534 -0.0143377 +0.030326 -0.194481 0.0540771 + +-0.971378 0.208956 0.11297 +0.116863 0.00633735 0.993128 +0.206804 0.977905 -0.0305752 +0.0280194 -0.193087 0.0533123 + +-0.971724 0.211971 0.104021 +0.111547 0.0238294 0.993473 +0.208108 0.976985 -0.0468002 +0.0257129 -0.191693 0.0525233 + +-0.972018 0.214826 0.0950317 +0.106265 0.0413353 0.993478 +0.209497 0.975777 -0.0630073 +0.0234064 -0.190299 0.0517101 + +-0.972259 0.217522 0.0860066 +0.10102 0.0588492 0.993142 +0.210969 0.97428 -0.0791908 +0.0210999 -0.188905 0.0508728 + +-0.972447 0.220058 0.0769485 +0.0958133 0.0763647 0.992466 +0.212524 0.972493 -0.0953451 +0.0187933 -0.187511 0.0500113 + +-0.972584 0.222432 0.0678605 +0.0906464 0.0938759 0.991449 +0.21416 0.970418 -0.111465 +0.0164868 -0.186116 0.0491255 + +-0.972668 0.224646 0.0587457 +0.0855213 0.111376 0.990092 +0.215877 0.968055 -0.127544 +0.0141803 -0.184722 0.0482156 + +-0.972701 0.226697 0.0496072 +0.0804397 0.12886 0.988395 +0.217674 0.965403 -0.143578 +0.0118738 -0.183328 0.0472815 + +-0.972683 0.228586 0.0404482 +0.0754034 0.146322 0.986359 +0.21955 0.962465 -0.159561 +0.00956725 -0.181934 0.0463233 + +-0.972614 0.230313 0.0312718 +0.070414 0.163754 0.983985 +0.221504 0.95924 -0.175486 +0.00726072 -0.18054 0.0453408 + +-0.972494 0.231877 0.0220812 +0.0654733 0.181151 0.981273 +0.223535 0.955729 -0.19135 +0.0049542 -0.179146 0.0443342 + +-0.972325 0.233278 0.0128795 +0.060583 0.198507 0.978225 +0.225642 0.951933 -0.207146 +0.00264768 -0.177752 0.0433033 + +-0.97057 0.24067 0.00843772 +0.0608034 0.211003 0.975592 +0.233016 0.947394 -0.219427 +5.07454e-05 -0.175651 0.0420046 + +-0.967123 0.254157 0.00876584 +0.0662905 0.218672 0.973544 +0.245516 0.942118 -0.228331 +-0.0028259 -0.172842 0.0404392 + +-0.962892 0.269603 0.0123942 +0.0750216 0.223262 0.971867 +0.259251 0.936733 -0.235203 +-0.00584945 -0.169559 0.0386868 + +-0.958394 0.285001 0.016006 +0.083893 0.22763 0.970127 +0.272843 0.931106 -0.242069 +-0.008873 -0.166276 0.0369102 + +-0.953629 0.300346 0.0196009 +0.0928997 0.231772 0.968324 +0.286289 0.925243 -0.248927 +-0.0118966 -0.162993 0.0351095 + +-0.948598 0.315634 0.0231787 +0.102036 0.235686 0.966458 +0.299584 0.919145 -0.255777 +-0.0149201 -0.15971 0.0332845 + +-0.943301 0.330859 0.0267391 +0.111298 0.239368 0.964529 +0.312722 0.912817 -0.26262 +-0.0179437 -0.156428 0.0314354 + +-0.93774 0.346017 0.0302819 +0.120679 0.242814 0.962537 +0.325701 0.906264 -0.269454 +-0.0209672 -0.153145 0.0295621 + +-0.931913 0.361102 0.0338068 +0.130174 0.246023 0.960483 +0.338515 0.899487 -0.276278 +-0.0239908 -0.149862 0.0276646 + +-0.925823 0.376111 0.0373137 +0.139777 0.248992 0.958366 +0.351161 0.892493 -0.283094 +-0.0270143 -0.146579 0.0257429 + +-0.91947 0.391037 0.0408023 +0.149483 0.251716 0.956187 +0.363634 0.885285 -0.289899 +-0.0300379 -0.143296 0.023797 + +-0.912855 0.405876 0.0442722 +0.159286 0.254195 0.953946 +0.37593 0.877866 -0.296694 +-0.0330614 -0.140014 0.021827 + +-0.905979 0.420623 0.0477234 +0.169181 0.256426 0.951643 +0.388046 0.870242 -0.303478 +-0.036085 -0.136731 0.0198327 + +-0.895509 0.442244 0.0498384 +0.179318 0.256059 0.949884 +0.407318 0.859566 -0.308605 +-0.0389347 -0.133765 0.017916 + +-0.880566 0.471231 0.05044 +0.189535 0.252614 0.948822 +0.434373 0.84506 -0.311758 +-0.0416017 -0.131163 0.016101 + +-0.859985 0.507918 0.0494485 +0.199617 0.245633 0.948587 +0.469658 0.825642 -0.31263 +-0.0440712 -0.128967 0.0144001 + +-0.833944 0.549821 0.0472654 +0.209287 0.235858 0.948984 +0.510623 0.801291 -0.311763 +-0.0464191 -0.127057 0.0128131 + +-0.80586 0.590387 0.0450911 +0.218481 0.22571 0.949379 +0.550324 0.774918 -0.310879 +-0.0487669 -0.125147 0.0112019 + +-0.775801 0.629515 0.0429256 +0.227184 0.215213 0.949774 +0.588659 0.746588 -0.309978 +-0.0511148 -0.123237 0.00956646 + +-0.743843 0.66711 0.0407692 +0.235384 0.204391 0.950168 +0.625534 0.716372 -0.309061 +-0.0534626 -0.121327 0.00790687 + +-0.710062 0.70308 0.0386219 +0.243069 0.193266 0.950561 +0.660855 0.684344 -0.308128 +-0.0558105 -0.119417 0.00622309 + +-0.674541 0.737335 0.0364837 +0.250229 0.181865 0.950952 +0.694535 0.650586 -0.307178 +-0.0581584 -0.117506 0.00451513 + +-0.637369 0.769793 0.0343549 +0.256855 0.170212 0.951343 +0.726489 0.615181 -0.306213 +-0.0605062 -0.115596 0.00278298 + +-0.598635 0.800373 0.0322356 +0.262937 0.158331 0.951733 +0.756637 0.578216 -0.30523 +-0.0628541 -0.113686 0.00102665 + +-0.558435 0.829001 0.0301257 +0.26847 0.146248 0.952121 +0.784904 0.539786 -0.304232 +-0.065202 -0.111776 -0.000753867 + +-0.516867 0.855607 0.0280255 +0.273447 0.133989 0.952509 +0.811218 0.499984 -0.303218 +-0.0675498 -0.109866 -0.00255857 + +-0.474034 0.880125 0.025935 +0.277864 0.121578 0.952896 +0.835514 0.458911 -0.302187 +-0.0698977 -0.107956 -0.00438746 + +-0.43004 0.902495 0.0238543 +0.281717 0.109042 0.953281 +0.85773 0.416669 -0.301141 +-0.0722456 -0.106045 -0.00624054 + +-0.384992 0.922663 0.0217835 +0.285004 0.0964059 0.953666 +0.877812 0.373362 -0.300078 +-0.0745934 -0.104135 -0.0081178 + +-0.340357 0.940104 0.0190091 +0.287345 0.0847395 0.954071 +0.895315 0.330187 -0.298976 +-0.0767607 -0.102296 -0.0100135 + +-0.299842 0.953887 0.0139433 +0.28799 0.0765726 0.954567 +0.909482 0.290234 -0.29767 +-0.0784753 -0.100712 -0.0119413 + +-0.264263 0.964429 0.00650153 +0.287353 0.0722991 0.955092 +0.920648 0.254264 -0.296237 +-0.0796638 -0.0993982 -0.0139041 + +-0.241834 0.970314 -0.00268097 +0.284062 0.0734388 0.955989 +0.927807 0.230429 -0.293389 +-0.0803765 -0.098718 -0.0158427 + +-0.238306 0.971106 -0.0127552 +0.277127 0.0805818 0.957448 +0.930812 0.224631 -0.288323 +-0.0806789 -0.0989003 -0.0176681 + +-0.253754 0.966988 -0.0232948 +0.266271 0.092986 0.959403 +0.929897 0.237249 -0.281077 +-0.0806285 -0.0999462 -0.0193827 + +-0.285709 0.957721 -0.033771 +0.251425 0.108918 0.961729 +0.924746 0.266284 -0.271914 +-0.0803722 -0.101729 -0.0209924 + +-0.323835 0.945108 -0.0436087 +0.234248 0.12475 0.96414 +0.916656 0.302006 -0.261788 +-0.0801389 -0.103792 -0.0225622 + +-0.361309 0.930911 -0.0534878 +0.216215 0.139442 0.966337 +0.907032 0.337582 -0.251658 +-0.0799056 -0.105856 -0.0241563 + +-0.398065 0.915163 -0.0634059 +0.197389 0.152946 0.968321 +0.895869 0.372939 -0.241526 +-0.0796723 -0.107919 -0.0257745 + +-0.434035 0.897904 -0.0733607 +0.177837 0.165223 0.97009 +0.883169 0.408007 -0.231393 +-0.0794389 -0.109983 -0.0274169 + +-0.469155 0.879174 -0.08335 +0.157628 0.176232 0.971646 +0.868935 0.442714 -0.221262 +-0.0792056 -0.112046 -0.0290835 + +-0.50336 0.859017 -0.0933715 +0.136833 0.18594 0.972987 +0.853174 0.476986 -0.211136 +-0.0789723 -0.11411 -0.0307743 + +-0.536591 0.83748 -0.103423 +0.115524 0.194315 0.974113 +0.835897 0.510753 -0.201017 +-0.0787389 -0.116173 -0.0324893 + +-0.568791 0.814613 -0.113502 +0.0937768 0.20133 0.975024 +0.817119 0.543941 -0.190907 +-0.0785056 -0.118237 -0.0342284 + +-0.599902 0.790468 -0.123606 +0.0716664 0.206963 0.97572 +0.796857 0.576478 -0.180808 +-0.0782723 -0.1203 -0.0359918 + +-0.629873 0.765098 -0.133733 +0.04927 0.211194 0.976202 +0.775134 0.608294 -0.170722 +-0.0780389 -0.122364 -0.0377793 + +-0.658654 0.738562 -0.143881 +0.026666 0.214009 0.976468 +0.751973 0.639318 -0.160652 +-0.0778056 -0.124428 -0.039591 + +-0.686197 0.710917 -0.154048 +0.0039332 0.215397 0.976519 +0.727405 0.669478 -0.150601 +-0.0775723 -0.126491 -0.0414269 + +-0.712337 0.682596 -0.16321 +-0.0180745 0.214628 0.976529 +0.701604 0.698568 -0.14055 +-0.0772701 -0.128375 -0.0433055 + +-0.737245 0.653795 -0.170359 +-0.0385126 0.211073 0.976711 +0.674527 0.726637 -0.130433 +-0.0767802 -0.129875 -0.0452488 + +-0.762541 0.622765 -0.175203 +-0.0574042 0.204616 0.977158 +0.644389 0.75518 -0.120279 +-0.0760484 -0.130931 -0.0473149 + +-0.788856 0.588636 -0.176678 +-0.0739573 0.194466 0.978117 +0.610112 0.78466 -0.109872 +-0.0751018 -0.131395 -0.0495273 + +-0.815816 0.551194 -0.175011 +-0.0879464 0.180857 0.979569 +0.571585 0.81454 -0.0990707 +-0.0739541 -0.131306 -0.0518686 + +-0.84099 0.512512 -0.173397 +-0.100849 0.166378 0.980891 +0.531568 0.842407 -0.0882357 +-0.0728064 -0.131216 -0.054234 + +-0.86432 0.472676 -0.171835 +-0.112614 0.1511 0.982083 +0.490172 0.868185 -0.0773685 +-0.0716587 -0.131126 -0.0566237 + +-0.885754 0.431775 -0.170325 +-0.123196 0.135099 0.983143 +0.447507 0.891806 -0.0664709 +-0.070511 -0.131036 -0.0590375 + +-0.905242 0.389899 -0.168868 +-0.132555 0.118452 0.984072 +0.403692 0.913207 -0.0555447 +-0.0693633 -0.130946 -0.0614755 + +-0.922739 0.347142 -0.167464 +-0.140653 0.10124 0.984869 +0.358844 0.932332 -0.0445916 +-0.0682156 -0.130856 -0.0639377 + +-0.938207 0.3036 -0.166113 +-0.147458 0.0835442 0.985534 +0.313086 0.94913 -0.0336135 +-0.0670679 -0.130766 -0.0664241 + +-0.951611 0.25937 -0.164816 +-0.152945 0.0654484 0.986065 +0.266542 0.963558 -0.0226122 +-0.0659202 -0.130676 -0.0689347 + +-0.962919 0.21455 -0.163572 +-0.157091 0.0470375 0.986463 +0.219339 0.97558 -0.0115894 +-0.0647725 -0.130586 -0.0714694 + +-0.972106 0.16924 -0.162382 +-0.159881 0.0283975 0.986728 +0.171606 0.985166 -0.00054709 +-0.0636248 -0.130496 -0.0740284 + +-0.979151 0.123543 -0.161246 +-0.161302 0.00961533 0.986858 +0.12347 0.992293 0.0105129 +-0.0624772 -0.130406 -0.0766115 + +-0.984039 0.0775601 -0.160164 +-0.161349 -0.00922168 0.986854 +0.0750636 0.996945 0.0215887 +-0.0613295 -0.130316 -0.0792188 + +-0.986757 0.0313939 -0.159136 +-0.160021 -0.028026 0.986716 +0.0265169 0.999114 0.0326785 +-0.0601818 -0.130226 -0.0818503 + +-0.987301 -0.0148523 -0.158163 +-0.157322 -0.0467101 0.986442 +-0.0220387 0.998798 0.0437803 +-0.0590341 -0.130136 -0.084506 + +-0.985669 -0.0610751 -0.157244 +-0.153263 -0.0651869 0.986033 +-0.0704723 0.996002 0.0548922 +-0.0578864 -0.130046 -0.0871858 + +-0.981865 -0.107171 -0.156379 +-0.147857 -0.0833702 0.985489 +-0.118654 0.990739 0.0660124 +-0.0567387 -0.129956 -0.0898899 + +-0.977573 -0.144507 -0.153194 +-0.139807 -0.0986966 0.985248 +-0.157495 0.984569 0.07628 +-0.0557854 -0.130291 -0.0927365 + +-0.976365 -0.156564 -0.148993 +-0.133317 -0.106311 0.985355 +-0.17011 0.98193 0.0829252 +-0.0545726 -0.131084 -0.0956326 + +-0.979501 -0.140795 -0.144062 +-0.129901 -0.105107 0.98594 +-0.153957 0.984444 0.0846629 +-0.0530278 -0.132182 -0.0984333 + +-0.984539 -0.107019 -0.138671 +-0.12852 -0.0965616 0.986995 +-0.119018 0.989557 0.0813145 +-0.0513939 -0.13307 -0.101023 + +-0.988914 -0.0629051 -0.134505 +-0.129073 -0.0836618 0.9881 +-0.0734095 0.994507 0.074615 +-0.0495523 -0.1335 -0.103401 + +-0.991285 -0.014173 -0.130973 +-0.129706 -0.0689191 0.989154 +-0.0230458 0.997522 0.0664801 +-0.0476137 -0.13373 -0.105701 + +-0.991234 0.0346574 -0.12749 +-0.129246 -0.0543043 0.990124 +0.0273919 0.997923 0.0583076 +-0.0456752 -0.13396 -0.108026 + +-0.988758 0.083465 -0.124058 +-0.127707 -0.0398876 0.99101 +0.0777663 0.995712 0.0500983 +-0.0437366 -0.13419 -0.110375 + +-0.98386 0.132128 -0.120675 +-0.125107 -0.0257385 0.991809 +0.12794 0.990898 0.0418532 +-0.041798 -0.13442 -0.112748 + +-0.976545 0.180527 -0.117344 +-0.121468 -0.011925 0.992524 +0.177778 0.983498 0.0335736 +-0.0398594 -0.13465 -0.115145 + +-0.96683 0.228539 -0.114064 +-0.116818 0.00148639 0.993152 +0.227143 0.973534 0.0252603 +-0.0379208 -0.13488 -0.117566 + +-0.954733 0.276044 -0.110835 +-0.111186 0.014431 0.993695 +0.275903 0.961037 0.0169144 +-0.0359822 -0.13511 -0.120012 + +-0.940281 0.322925 -0.107659 +-0.104607 0.0268463 0.994151 +0.323927 0.946044 0.00853703 +-0.0340436 -0.13534 -0.122482 + +-0.923507 0.369063 -0.104535 +-0.0971184 0.0386717 0.994521 +0.371084 0.928599 0.000129252 +-0.032105 -0.13557 -0.124976 + +-0.904448 0.414342 -0.101463 +-0.088763 0.0498494 0.994805 +0.417247 0.908755 -0.00830787 +-0.0301664 -0.135801 -0.127494 + +-0.883148 0.458649 -0.0984454 +-0.0795855 0.060324 0.995001 +0.462295 0.886568 -0.0167732 +-0.0282278 -0.136031 -0.130036 + +-0.859656 0.501871 -0.0954811 +-0.0696343 0.0700433 0.995111 +0.506105 0.862102 -0.0252657 +-0.0262892 -0.136261 -0.132603 + +-0.834029 0.543899 -0.0925707 +-0.0589609 0.0789578 0.995133 +0.548561 0.835428 -0.0337843 +-0.0243506 -0.136491 -0.135194 + +-0.806327 0.584627 -0.0897147 +-0.0476198 0.0870214 0.995068 +0.589551 0.806622 -0.0423278 +-0.0224121 -0.136721 -0.137808 + +-0.776615 0.623952 -0.0869133 +-0.0356683 0.0941913 0.994915 +0.628965 0.775766 -0.0508951 +-0.0204735 -0.136951 -0.140447 + +-0.744965 0.661773 -0.084167 +-0.023166 0.100429 0.994675 +0.666701 0.742947 -0.0594851 +-0.0185349 -0.137181 -0.143111 + +-0.711453 0.697994 -0.081476 +-0.0101751 0.105697 0.994346 +0.70266 0.70826 -0.0680966 +-0.0165963 -0.137411 -0.145798 + +-0.676161 0.732524 -0.0788407 +0.0032402 0.109966 0.99393 +0.736747 0.671801 -0.0767285 +-0.0146577 -0.137641 -0.14851 + +-0.639173 0.765273 -0.0762614 +0.0170139 0.113208 0.993426 +0.768875 0.633673 -0.0853796 +-0.0127191 -0.137871 -0.151246 + +-0.60058 0.796157 -0.0737384 +0.0310782 0.115398 0.992833 +0.79896 0.593984 -0.0940488 +-0.0107805 -0.138101 -0.154006 + +-0.560477 0.825098 -0.071272 +0.0453639 0.116517 0.992152 +0.826927 0.552845 -0.102735 +-0.00884191 -0.138332 -0.15679 + +-0.518961 0.85202 -0.0688626 +0.0598008 0.116551 0.991383 +0.852704 0.510371 -0.111437 +-0.00690332 -0.138562 -0.159598 + +-0.476135 0.876854 -0.0665104 +0.0743176 0.115487 0.990525 +0.876226 0.46668 -0.120153 +-0.00496473 -0.138792 -0.162431 + +-0.432103 0.899535 -0.0642157 +0.0888423 0.11332 0.989578 +0.897437 0.421895 -0.128883 +-0.00302614 -0.139022 -0.165288 + +-0.386975 0.920005 -0.0619787 +0.103303 0.110048 0.988543 +0.916285 0.376139 -0.137625 +-0.00108754 -0.139252 -0.168168 + +-0.340862 0.938209 -0.0597998 +0.117626 0.105671 0.98742 +0.932726 0.32954 -0.146377 +0.000851048 -0.139482 -0.171074 + +-0.301223 0.951905 -0.0560577 +0.129424 0.099058 0.986629 +0.94473 0.28994 -0.153038 +0.00262781 -0.140104 -0.173928 + +-0.269768 0.961622 -0.0500891 +0.1378 0.0900353 0.986359 +0.953014 0.259186 -0.1568 +0.00417783 -0.141289 -0.176746 + +-0.246876 0.968154 -0.0415926 +0.142487 0.0787213 0.986661 +0.958514 0.237656 -0.157383 +0.00550381 -0.143083 -0.179507 + +-0.232165 0.972192 -0.0306764 +0.143894 0.0655197 0.987422 +0.961974 0.224831 -0.155104 +0.00660755 -0.145437 -0.182222 + +-0.225148 0.974168 -0.0174803 +0.142423 0.0506543 0.988509 +0.963859 0.220071 -0.150149 +0.00749814 -0.148306 -0.184896 + +-0.223334 0.974739 -0.00243456 +0.138689 0.0342486 0.989744 +0.964825 0.220705 -0.142834 +0.00821727 -0.151619 -0.187567 + +-0.221575 0.975062 0.0126141 +0.134896 0.0178377 0.990699 +0.965768 0.221216 -0.135484 +0.0089364 -0.154931 -0.190262 + +-0.219874 0.975136 0.0276614 +0.131045 0.00142614 0.991375 +0.966686 0.221603 -0.128101 +0.00965553 -0.158244 -0.192981 + +-0.218232 0.974962 0.0427031 +0.127138 -0.0149813 0.991772 +0.96758 0.221865 -0.120685 +0.0103747 -0.161556 -0.195724 + +-0.216648 0.974541 0.0577349 +0.123175 -0.0313799 0.991889 +0.968448 0.222003 -0.113241 +0.0110938 -0.164868 -0.198492 + +-0.215126 0.973873 0.0727528 +0.119157 -0.047765 0.991726 +0.96929 0.222015 -0.105769 +0.0118129 -0.168181 -0.201284 + +-0.213665 0.972958 0.0877523 +0.115086 -0.0641319 0.991283 +0.970104 0.221901 -0.0982712 +0.012532 -0.171493 -0.2041 + +-0.212266 0.971797 0.102729 +0.110962 -0.0804758 0.990561 +0.970892 0.221662 -0.0907507 +0.0132512 -0.174805 -0.20694 + +-0.210931 0.970391 0.11768 +0.106787 -0.0967922 0.989559 +0.97165 0.221296 -0.0832092 +0.0139703 -0.178118 -0.209804 + +-0.209661 0.968741 0.132599 +0.102562 -0.113076 0.988279 +0.97238 0.220803 -0.0756487 +0.0146894 -0.18143 -0.212693 + +-0.208456 0.966848 0.147484 +0.0982883 -0.129324 0.986719 +0.97308 0.220184 -0.0680716 +0.0154086 -0.184743 -0.215606 + +-0.207318 0.964712 0.162329 +0.0939665 -0.145529 0.984881 +0.97375 0.219437 -0.0604798 +0.0161277 -0.188055 -0.218542 + +-0.206247 0.962334 0.17713 +0.0895981 -0.161689 0.982766 +0.974389 0.218563 -0.0528755 +0.0168468 -0.191367 -0.221504 + +-0.205244 0.959716 0.191885 +0.0851843 -0.177797 0.980373 +0.974997 0.217562 -0.0452609 +0.0175659 -0.19468 -0.224489 + +-0.204311 0.956859 0.206587 +0.0807265 -0.19385 0.977704 +0.975572 0.216433 -0.0376381 +0.0182851 -0.197992 -0.227498 + +-0.203448 0.953764 0.221233 +0.0762258 -0.209844 0.974759 +0.976114 0.215176 -0.0300093 +0.0190042 -0.201304 -0.230532 + +-0.21053 0.948639 0.236136 +0.0756968 -0.225006 0.971413 +0.974652 0.222386 -0.0244385 +0.0196158 -0.204268 -0.233494 + +-0.2262 0.941116 0.251265 +0.0799555 -0.239142 0.967687 +0.970794 0.238981 -0.0211536 +0.0201132 -0.206838 -0.236363 + +-0.251182 0.93049 0.266637 +0.0899627 -0.251834 0.96358 +0.96375 0.266021 -0.0204532 +0.0204913 -0.208962 -0.239147 + +-0.284953 0.916045 0.282247 +0.10599 -0.262538 0.959083 +0.952663 0.303209 -0.022281 +0.0207566 -0.210641 -0.241842 + +-0.319813 0.899454 0.29783 +0.124009 -0.271898 0.954302 +0.93933 0.342132 -0.024584 +0.0210038 -0.212226 -0.24455 + +-0.353754 0.881295 0.313333 +0.142853 -0.280157 0.949265 +0.924365 0.380567 -0.0267893 +0.021251 -0.21381 -0.247282 + +-0.374454 0.868347 0.325204 +0.157383 -0.286112 0.945183 +0.913791 0.405109 -0.0295268 +0.021653 -0.214891 -0.250338 + +-0.377559 0.864513 0.331763 +0.164865 -0.289797 0.942782 +0.911191 0.410652 -0.0331126 +0.0222568 -0.215229 -0.253865 + +-0.36314 0.870321 0.332672 +0.164543 -0.291531 0.942303 +0.91709 0.396927 -0.0373382 +0.0230364 -0.214777 -0.2579 + +-0.333717 0.883422 0.328936 +0.157585 -0.291749 0.943424 +0.929408 0.366672 -0.0418528 +0.0240052 -0.213709 -0.262327 + +-0.297506 0.898316 0.323292 +0.148059 -0.291116 0.945161 +0.94317 0.329057 -0.0463951 +0.0250514 -0.212401 -0.266927 + +-0.260652 0.911693 0.317611 +0.138797 -0.290178 0.946854 +0.955404 0.290883 -0.0509052 +0.0260976 -0.211093 -0.271552 + +-0.227806 0.922332 0.312102 +0.132814 -0.288101 0.948345 +0.964606 0.25749 -0.0568679 +0.0271029 -0.209548 -0.27616 + +-0.202454 0.929919 0.307023 +0.132125 -0.284711 0.949464 +0.970338 0.232788 -0.0652245 +0.0280361 -0.207622 -0.280762 + +-0.184937 0.935093 0.302322 +0.136653 -0.280171 0.950174 +0.973203 0.217035 -0.0759697 +0.0288935 -0.205316 -0.285359 + +-0.175496 0.938304 0.297972 +0.146304 -0.274451 0.950406 +0.973548 0.210387 -0.0891126 +0.0296726 -0.202631 -0.289954 + +-0.166077 0.941406 0.293554 +0.156027 -0.268852 0.95046 +0.973691 0.203652 -0.102235 +0.0304517 -0.199945 -0.294573 + +-0.156683 0.944399 0.289069 +0.16582 -0.263375 0.950335 +0.973629 0.196835 -0.115334 +0.0312309 -0.19726 -0.299216 + +-0.147314 0.947285 0.284518 +0.175679 -0.258023 0.950032 +0.973363 0.189937 -0.128408 +0.03201 -0.194574 -0.303884 + +-0.137974 0.950062 0.279901 +0.185601 -0.252796 0.949551 +0.97289 0.182963 -0.141453 +0.0327891 -0.191889 -0.308575 + +-0.128664 0.952733 0.27522 +0.195582 -0.247697 0.948891 +0.97221 0.175916 -0.154468 +0.0335683 -0.189203 -0.313291 + +-0.119385 0.955296 0.270475 +0.20562 -0.242728 0.948053 +0.971323 0.168798 -0.16745 +0.0343474 -0.186518 -0.318031 + +-0.11014 0.957752 0.265668 +0.21571 -0.237889 0.947036 +0.970226 0.161614 -0.180396 +0.0351265 -0.183832 -0.322795 + +-0.10093 0.960103 0.260799 +0.22585 -0.233183 0.945842 +0.968919 0.154366 -0.193304 +0.0359057 -0.181147 -0.327583 + +-0.091758 0.962347 0.255869 +0.236035 -0.228611 0.944471 +0.967403 0.147057 -0.206171 +0.0366848 -0.178461 -0.332395 + +-0.0826248 0.964486 0.250879 +0.246263 -0.224173 0.942921 +0.965675 0.139691 -0.218995 +0.0374639 -0.175776 -0.337232 + +-0.0735325 0.96652 0.245831 +0.25653 -0.219873 0.941195 +0.963735 0.132271 -0.231774 +0.0382431 -0.17309 -0.342093 + +-0.0644828 0.968449 0.240724 +0.266833 -0.21571 0.939292 +0.961583 0.124801 -0.244504 +0.0390222 -0.170405 -0.346978 + +-0.0554776 0.970275 0.235561 +0.277167 -0.211686 0.937213 +0.959219 0.117284 -0.257184 +0.0398013 -0.167719 -0.351887 + +-0.0465186 0.971997 0.230341 +0.28753 -0.207803 0.934957 +0.956641 0.109723 -0.269811 +0.0405805 -0.165034 -0.35682 + +-0.0376076 0.973617 0.225067 +0.297917 -0.204061 0.932526 +0.953851 0.102121 -0.282383 +0.0413596 -0.162348 -0.361778 + +-0.0287462 0.975135 0.219739 +0.308326 -0.200461 0.92992 +0.950846 0.0944828 -0.294897 +0.0421387 -0.159663 -0.366759 + +-0.0199362 0.976552 0.214358 +0.318752 -0.197004 0.927139 +0.947628 0.0868106 -0.307351 +0.0429179 -0.156977 -0.371765 + +-0.0100919 0.977739 0.209582 +0.328226 -0.194741 0.924307 +0.944545 0.0781183 -0.318954 +0.0436216 -0.154466 -0.376831 + +0.00335289 0.978403 0.206679 +0.334769 -0.195852 0.921722 +0.942294 0.0660991 -0.328196 +0.0441257 -0.152464 -0.382012 + +0.0206299 0.978401 0.205682 +0.33829 -0.200423 0.919451 +0.940816 0.050612 -0.335118 +0.0444395 -0.150972 -0.387296 + +0.0426871 0.977489 0.206625 +0.338461 -0.208733 0.917537 +0.940012 0.0307676 -0.339752 +0.0445532 -0.150014 -0.392709 + +0.0693838 0.975332 0.209556 +0.335112 -0.220643 0.915978 +0.93962 0.00667072 -0.342155 +0.0444602 -0.149587 -0.398247 + +0.0999077 0.971701 0.214045 +0.328676 -0.235275 0.914668 +0.939143 -0.0210311 -0.342881 +0.0441981 -0.149573 -0.403887 + +0.133505 0.966343 0.219902 +0.319342 -0.252 0.913519 +0.938188 -0.0517352 -0.342237 +0.0437911 -0.149907 -0.40962 + +0.166863 0.959789 0.225749 +0.309266 -0.268353 0.912327 +0.936222 -0.0824172 -0.341608 +0.0433841 -0.150241 -0.415377 + +0.199939 0.952047 0.231585 +0.298463 -0.284303 0.911094 +0.933244 -0.113043 -0.340994 +0.0429771 -0.150575 -0.421158 + +0.232689 0.943129 0.23741 +0.286948 -0.299821 0.909818 +0.929256 -0.14358 -0.340394 +0.0425701 -0.150909 -0.426964 + +0.26507 0.933049 0.243224 +0.274738 -0.314875 0.9085 +0.92426 -0.173993 -0.339808 +0.0421631 -0.151243 -0.432794 + +0.297041 0.92182 0.249027 +0.261852 -0.329438 0.907141 +0.91826 -0.20425 -0.339237 +0.0417561 -0.151577 -0.438648 + +0.328559 0.90946 0.254817 +0.248308 -0.343481 0.90574 +0.911259 -0.234316 -0.33868 +0.0413491 -0.151911 -0.444526 + +0.359584 0.895985 0.260595 +0.234128 -0.356975 0.904297 +0.903263 -0.264158 -0.338138 +0.0409421 -0.152245 -0.450428 + +0.390074 0.881416 0.266361 +0.219334 -0.369894 0.902813 +0.894279 -0.293742 -0.33761 +0.0405351 -0.152579 -0.456354 + +0.419992 0.865772 0.272114 +0.203947 -0.382213 0.901288 +0.884315 -0.323036 -0.337098 +0.0401281 -0.152913 -0.462305 + +0.449296 0.849076 0.277854 +0.187992 -0.393905 0.899721 +0.873379 -0.352007 -0.3366 +0.0397211 -0.153247 -0.46828 + +0.477951 0.831352 0.28358 +0.171494 -0.404946 0.898114 +0.861483 -0.380622 -0.336116 +0.0393141 -0.153581 -0.474279 + +0.505917 0.812624 0.289292 +0.154479 -0.415314 0.896466 +0.848637 -0.408848 -0.335648 +0.0389071 -0.153915 -0.480302 + +0.53316 0.792919 0.294991 +0.136973 -0.424986 0.894777 +0.834852 -0.436653 -0.335194 +0.0385001 -0.154249 -0.486349 + +0.559644 0.772265 0.300675 +0.119005 -0.433941 0.893047 +0.820144 -0.464007 -0.334756 +0.0380931 -0.154583 -0.492421 + +0.585335 0.75069 0.306344 +0.100602 -0.442158 0.891277 +0.804526 -0.490877 -0.334332 +0.0376861 -0.154917 -0.498517 + +0.6102 0.728226 0.311999 +0.0817953 -0.449619 0.889468 +0.788014 -0.517233 -0.333923 +0.0372791 -0.155251 -0.504637 + +0.634207 0.704903 0.317638 +0.0626139 -0.456306 0.887617 +0.770624 -0.543045 -0.333529 +0.0368721 -0.155585 -0.510781 + +0.657325 0.680754 0.323261 +0.0430894 -0.462201 0.885727 +0.752374 -0.568282 -0.33315 +0.0364651 -0.155918 -0.516949 + +0.679526 0.655812 0.328869 +0.0232533 -0.467291 0.883798 +0.733283 -0.592916 -0.332786 +0.0360581 -0.156252 -0.523141 + +0.70078 0.630114 0.334461 +0.00313824 -0.47156 0.881828 +0.713371 -0.616918 -0.332437 +0.0356511 -0.156586 -0.529358 + +0.721061 0.603694 0.340036 +-0.0172229 -0.474996 0.87982 +0.692658 -0.64026 -0.332103 +0.0352441 -0.15692 -0.535599 + +0.740344 0.57659 0.345595 +-0.0377965 -0.477586 0.877772 +0.671165 -0.662915 -0.331785 +0.0348371 -0.157254 -0.541864 + +0.758604 0.548838 0.351137 +-0.0585484 -0.479321 0.875684 +0.648917 -0.684856 -0.331481 +0.0344301 -0.157588 -0.548153 + +0.775818 0.520479 0.356661 +-0.0794442 -0.480192 0.873558 +0.625935 -0.706057 -0.331193 +0.0340231 -0.157922 -0.554467 + +0.791967 0.491551 0.362168 +-0.100449 -0.480191 0.871393 +0.602245 -0.726494 -0.33092 +0.0336162 -0.158256 -0.560804 + +0.807029 0.462095 0.367657 +-0.121527 -0.479312 0.86919 +0.577871 -0.746142 -0.330662 +0.0332092 -0.15859 -0.567166 + +0.820987 0.432152 0.373128 +-0.142643 -0.47755 0.866948 +0.552841 -0.764977 -0.330419 +0.0328022 -0.158924 -0.573552 + +0.833825 0.401763 0.378581 +-0.163762 -0.474902 0.864668 +0.52718 -0.782978 -0.330192 +0.0323952 -0.159258 -0.579962 + +0.845526 0.37097 0.384015 +-0.184846 -0.471366 0.862349 +0.500917 -0.800122 -0.32998 +0.0319882 -0.159592 -0.586396 + +0.856078 0.339817 0.38943 +-0.20586 -0.466941 0.859993 +0.474081 -0.816389 -0.329783 +0.0315812 -0.159926 -0.592855 + +0.865468 0.308346 0.394825 +-0.226768 -0.461628 0.857599 +0.4467 -0.831759 -0.329601 +0.0311742 -0.16026 -0.599338 + +0.873688 0.276601 0.400202 +-0.247533 -0.45543 0.855167 +0.418804 -0.846212 -0.329435 +0.0307672 -0.160594 -0.605845 + +0.880727 0.244627 0.405558 +-0.26812 -0.44835 0.852698 +0.390425 -0.859733 -0.329285 +0.0303602 -0.160928 -0.612376 + +0.886579 0.212467 0.410895 +-0.288491 -0.440394 0.850192 +0.361593 -0.872302 -0.329149 +0.0299532 -0.161262 -0.618931 + +0.89124 0.180166 0.416211 +-0.308612 -0.431568 0.847648 +0.332341 -0.883906 -0.329029 +0.0295462 -0.161596 -0.62551 + +0.894705 0.147768 0.421507 +-0.328446 -0.421881 0.845068 +0.3027 -0.894528 -0.328925 +0.0291392 -0.16193 -0.632114 + +0.896972 0.115319 0.426782 +-0.347957 -0.411342 0.842451 +0.272704 -0.904157 -0.328836 +0.0287322 -0.162264 -0.638742 + +0.898041 0.0828634 0.432036 +-0.367111 -0.399962 0.839798 +0.242387 -0.912778 -0.328762 +0.0283252 -0.162598 -0.645394 + +0.897915 0.0504456 0.437269 +-0.385873 -0.387754 0.837108 +0.211781 -0.920382 -0.328704 +0.0279182 -0.162932 -0.65207 + +0.896595 0.0181105 0.44248 +-0.404208 -0.374731 0.834382 +0.180922 -0.926957 -0.328662 +0.0275112 -0.163266 -0.65877 + +0.894088 -0.0140973 0.447669 +-0.422082 -0.360909 0.83162 +0.149844 -0.932495 -0.328635 +0.0271042 -0.1636 -0.665495 + +0.890399 -0.0461336 0.452837 +-0.439463 -0.346304 0.828822 +0.118583 -0.936987 -0.328623 +0.0266972 -0.163934 -0.672244 + +0.885537 -0.0779543 0.457981 +-0.456316 -0.330935 0.825989 +0.0871727 -0.940428 -0.328627 +0.0262902 -0.164268 -0.679017 + +0.879512 -0.109516 0.463104 +-0.472612 -0.31482 0.82312 +0.0556498 -0.942812 -0.328647 +0.0258832 -0.164602 -0.685814 + +0.872335 -0.140774 0.468203 +-0.488317 -0.297981 0.820216 +0.02405 -0.944135 -0.328682 +0.0254762 -0.164935 -0.692635 + +0.86402 -0.171688 0.473279 +-0.503401 -0.280439 0.817277 +-0.00759084 -0.944393 -0.328732 +0.0250692 -0.165269 -0.699481 + +0.854581 -0.202214 0.478332 +-0.517835 -0.262217 0.814303 +-0.0392366 -0.943585 -0.328799 +0.0246622 -0.165603 -0.70635 + +0.844034 -0.23231 0.483362 +-0.531589 -0.24334 0.811295 +-0.0708511 -0.94171 -0.32888 +0.0242552 -0.165937 -0.713244 + +0.832398 -0.261936 0.488367 +-0.544635 -0.223833 0.808252 +-0.102398 -0.93877 -0.328978 +0.0238482 -0.166271 -0.720162 + +0.819693 -0.291052 0.493349 +-0.556947 -0.203723 0.805175 +-0.133841 -0.934765 -0.329091 +0.0234412 -0.166605 -0.727104 + +0.805938 -0.319617 0.498306 +-0.568499 -0.183038 0.802064 +-0.165144 -0.9297 -0.329219 +0.0230342 -0.166939 -0.734071 + +0.791157 -0.347593 0.503238 +-0.579265 -0.161807 0.798919 +-0.196271 -0.923578 -0.329363 +0.0226272 -0.167273 -0.741061 + +0.775374 -0.374943 0.508146 +-0.589221 -0.14006 0.79574 +-0.227186 -0.916406 -0.329523 +0.0222202 -0.167607 -0.748076 + +0.758614 -0.401629 0.513029 +-0.598344 -0.117828 0.792528 +-0.257853 -0.908191 -0.329699 +0.0218132 -0.167941 -0.755115 + +0.740904 -0.427616 0.517886 +-0.606614 -0.0951429 0.789283 +-0.288237 -0.89894 -0.32989 +0.0214062 -0.168275 -0.762178 + +0.722272 -0.452868 0.522718 +-0.61401 -0.0720375 0.786004 +-0.318301 -0.888662 -0.330096 +0.0209992 -0.168609 -0.769266 + +0.702746 -0.477353 0.527524 +-0.620512 -0.0485457 0.782693 +-0.348012 -0.87737 -0.330319 +0.0205922 -0.168943 -0.776377 + +0.682359 -0.501037 0.532304 +-0.626103 -0.0247021 0.779349 +-0.377334 -0.865073 -0.330557 +0.0201852 -0.169277 -0.783513 + +0.661142 -0.523889 0.537058 +-0.630766 -0.000542091 0.775973 +-0.406232 -0.851786 -0.33081 +0.0197782 -0.169611 -0.790673 + +0.639128 -0.545879 0.541785 +-0.634487 0.0238983 0.772564 +-0.434674 -0.837523 -0.331079 +0.0193712 -0.169945 -0.797857 + +0.616351 -0.566978 0.546486 +-0.637251 0.0485823 0.769123 +-0.462626 -0.822299 -0.331364 +0.0189642 -0.170279 -0.805065 + +0.592846 -0.587159 0.55116 +-0.639046 0.0734724 0.765651 +-0.490054 -0.80613 -0.331664 +0.0185572 -0.170613 -0.812298 + +0.56865 -0.606396 0.555807 +-0.639862 0.0985308 0.762147 +-0.516927 -0.789035 -0.33198 +0.0181502 -0.170947 -0.819554 + +0.5438 -0.624663 0.560426 +-0.639689 0.123719 0.758612 +-0.543212 -0.771032 -0.332312 +0.0177432 -0.171281 -0.826835 + +0.518334 -0.641938 0.565018 +-0.638519 0.148998 0.755045 +-0.568878 -0.752141 -0.332659 +0.0173362 -0.171615 -0.83414 + +0.492292 -0.658198 0.569582 +-0.636346 0.174329 0.751447 +-0.593896 -0.732383 -0.333021 +0.0169292 -0.171949 -0.841469 + +0.465712 -0.673425 0.574118 +-0.633165 0.199671 0.747819 +-0.618234 -0.71178 -0.3334 +0.0165222 -0.172283 -0.848823 + +0.438636 -0.687598 0.578626 +-0.628973 0.224986 0.74416 +-0.641865 -0.690356 -0.333794 +0.0161152 -0.172617 -0.8562 + +0.411105 -0.700701 0.583105 +-0.623768 0.250232 0.740471 +-0.66476 -0.668134 -0.334203 +0.0157082 -0.172951 -0.863602 + +0.383161 -0.712718 0.587555 +-0.617551 0.27537 0.736752 +-0.686891 -0.64514 -0.334628 +0.0153012 -0.173285 -0.871028 + +0.354846 -0.723635 0.591977 +-0.610321 0.300359 0.733002 +-0.708232 -0.621399 -0.335069 +0.0148942 -0.173619 -0.878478 + +0.326203 -0.733441 0.596369 +-0.602084 0.325159 0.729223 +-0.728757 -0.596939 -0.335525 +0.0144872 -0.173952 -0.885952 + +0.297276 -0.742124 0.600733 +-0.592843 0.349729 0.725415 +-0.748441 -0.571788 -0.335996 +0.0140802 -0.174286 -0.893451 + +0.268108 -0.749675 0.605066 +-0.582604 0.37403 0.721577 +-0.767261 -0.545975 -0.336484 +0.0136732 -0.17462 -0.900974 + +0.238744 -0.756088 0.60937 +-0.571377 0.39802 0.717711 +-0.785194 -0.519529 -0.336986 +0.0132662 -0.174954 -0.90852 + +0.209227 -0.761357 0.613644 +-0.559169 0.421661 0.713815 +-0.802218 -0.49248 -0.337504 +0.0128592 -0.175288 -0.916091 + +0.179603 -0.765479 0.617888 +-0.545992 0.444912 0.709891 +-0.818312 -0.464861 -0.338038 +0.0124522 -0.175622 -0.923687 + +0.149916 -0.76845 0.622101 +-0.53186 0.467735 0.705939 +-0.833457 -0.436702 -0.338587 +0.0120452 -0.175956 -0.931306 + +0.12021 -0.770272 0.626284 +-0.516785 0.49009 0.701958 +-0.847634 -0.408036 -0.339151 +0.0116382 -0.17629 -0.93895 + +0.0905299 -0.770945 0.630435 +-0.500784 0.511939 0.69795 +-0.860825 -0.378898 -0.339731 +0.0112312 -0.176624 -0.946618 + +0.0609206 -0.770472 0.634556 +-0.483875 0.533244 0.693914 +-0.873014 -0.34932 -0.340326 +0.0108242 -0.176958 -0.95431 + +0.0314264 -0.768859 0.638646 +-0.466076 0.553968 0.68985 +-0.884187 -0.319337 -0.340937 +0.0104172 -0.177292 -0.962026 + +0.00209117 -0.766111 0.642704 +-0.447407 0.574074 0.685759 +-0.894328 -0.288984 -0.341563 +0.0100102 -0.177626 -0.969766 + +-0.0270411 -0.762239 0.646731 +-0.427891 0.593527 0.681641 +-0.903426 -0.258298 -0.342205 +0.00960321 -0.17796 -0.977531 + +-0.0559269 -0.75725 0.650726 +-0.40755 0.612291 0.677497 +-0.911469 -0.227313 -0.342861 +0.00919621 -0.178294 -0.985319 + +-0.0845233 -0.751158 0.654689 +-0.38641 0.630333 0.673326 +-0.918446 -0.196067 -0.343533 +0.00878921 -0.178628 -0.993132 + +-0.112788 -0.743975 0.658619 +-0.364497 0.647618 0.669128 +-0.924349 -0.164596 -0.34422 +0.00838221 -0.178962 -1.00097 + +-0.140678 -0.735717 0.662518 +-0.341839 0.664114 0.664905 +-0.92917 -0.132937 -0.344923 +0.00797521 -0.179296 -1.00883 + +-0.168153 -0.726401 0.666383 +-0.318463 0.679791 0.660656 +-0.932902 -0.101127 -0.345641 +0.00756822 -0.17963 -1.01672 + +-0.195172 -0.716043 0.670216 +-0.294401 0.694617 0.656381 +-0.935541 -0.0692049 -0.346374 +0.00716122 -0.179964 -1.02463 + +-0.221695 -0.704666 0.674016 +-0.269683 0.708563 0.65208 +-0.937082 -0.0372079 -0.347122 +0.00675422 -0.180298 -1.03256 + +-0.247683 -0.692289 0.677783 +-0.244344 0.721602 0.647755 +-0.937523 -0.00517393 -0.347885 +0.00634722 -0.180632 -1.04052 + +-0.273097 -0.678936 0.681516 +-0.218415 0.733706 0.643405 +-0.936863 0.0268589 -0.348663 +0.00594022 -0.180966 -1.0485 + +-0.297901 -0.664631 0.685216 +-0.191933 0.744851 0.63903 +-0.935102 0.0588523 -0.349457 +0.00553322 -0.1813 -1.05651 + +-0.322058 -0.6494 0.688882 +-0.164933 0.755011 0.634631 +-0.932242 0.0907684 -0.350265 +0.00512622 -0.181634 -1.06454 + +-0.345533 -0.63327 0.692514 +-0.137453 0.764163 0.630207 +-0.928285 0.122569 -0.351088 +0.00471922 -0.181968 -1.07259 + +-0.368291 -0.616271 0.696112 +-0.109531 0.772287 0.62576 +-0.923236 0.154216 -0.351927 +0.00431222 -0.182302 -1.08067 + +-0.390299 -0.598431 0.699676 +-0.081205 0.779363 0.621289 +-0.9171 0.185671 -0.35278 +0.00390522 -0.182636 -1.08877 + +-0.411526 -0.579783 0.703205 +-0.0525158 0.785371 0.616794 +-0.909884 0.216898 -0.353649 +0.00349823 -0.18297 -1.0969 + +-0.431942 -0.560358 0.7067 +-0.023504 0.790294 0.612276 +-0.901595 0.247857 -0.354532 +0.00309123 -0.183303 -1.10505 + +-0.451516 -0.540191 0.71016 +0.00578903 0.794118 0.607736 +-0.892244 0.278513 -0.35543 +0.00268423 -0.183637 -1.11323 + +-0.470221 -0.519316 0.713585 +0.035321 0.796829 0.603172 +-0.881842 0.308829 -0.356343 +0.00227723 -0.183971 -1.12143 + +-0.488031 -0.497769 0.716974 +0.0650492 0.798413 0.598586 +-0.870399 0.338767 -0.357271 +0.00187023 -0.184305 -1.12965 + +-0.50492 -0.475587 0.720329 +0.09493 0.79886 0.593978 +-0.85793 0.368292 -0.358213 +0.00146323 -0.184639 -1.1379 + +-0.520865 -0.452808 0.723647 +0.12492 0.798163 0.589348 +-0.84445 0.397368 -0.35917 +0.00105623 -0.184973 -1.14617 + +-0.535843 -0.42947 0.72693 +0.154974 0.796312 0.584697 +-0.829973 0.425961 -0.360142 +0.000649232 -0.185307 -1.15447 + +-0.549835 -0.405614 0.730178 +0.185047 0.793303 0.580023 +-0.814518 0.454034 -0.361128 +0.000242233 -0.185641 -1.16279 + +-0.562821 -0.381279 0.733389 +0.215095 0.789133 0.575329 +-0.798102 0.481556 -0.362129 +-0.000164766 -0.185975 -1.17114 + +-0.574784 -0.356507 0.736564 +0.245072 0.783798 0.570614 +-0.780745 0.508491 -0.363145 +-0.000571764 -0.186309 -1.1795 + +-0.585709 -0.33134 0.739702 +0.274933 0.777299 0.565878 +-0.762468 0.534808 -0.364175 +-0.000978763 -0.186643 -1.1879 + +-0.595581 -0.30582 0.742804 +0.304632 0.769638 0.561121 +-0.743292 0.560475 -0.365219 +-0.00138576 -0.186977 -1.19632 + +-0.604388 -0.279989 0.745869 +0.334123 0.760817 0.556345 +-0.723241 0.58546 -0.366278 +-0.00179276 -0.187311 -1.20476 + +-0.61212 -0.253892 0.748898 +0.36336 0.750842 0.551548 +-0.702338 0.609733 -0.367351 +-0.00219976 -0.187645 -1.21322 + +-0.618768 -0.227573 0.751889 +0.392298 0.73972 0.546732 +-0.680609 0.633265 -0.368439 +-0.00260676 -0.187979 -1.22171 + +-0.624324 -0.201074 0.754843 +0.420892 0.72746 0.541896 +-0.65808 0.656027 -0.36954 +-0.00301376 -0.188313 -1.23023 + +-0.628784 -0.174441 0.75776 +0.449096 0.714072 0.537041 +-0.634778 0.677991 -0.370656 +-0.00342076 -0.188647 -1.23877 + +-0.632145 -0.147719 0.760639 +0.476866 0.699569 0.532168 +-0.610731 0.69913 -0.371787 +-0.00382776 -0.188981 -1.24733 + +-0.634403 -0.120951 0.763481 +0.504157 0.683964 0.527275 +-0.585968 0.719419 -0.372931 +-0.00423476 -0.189315 -1.25592 + +-0.635561 -0.0941826 0.766285 +0.530924 0.667274 0.522365 +-0.56052 0.738834 -0.374089 +-0.00464175 -0.189649 -1.26453 + +-0.635618 -0.0674586 0.769051 +0.557125 0.649516 0.517436 +-0.534417 0.757349 -0.375262 +-0.00504875 -0.189983 -1.27316 + +-0.63458 -0.0408234 0.771778 +0.582717 0.630711 0.512489 +-0.50769 0.774943 -0.376448 +-0.00545575 -0.190317 -1.28182 + +-0.632452 -0.0143215 0.774468 +0.607656 0.610878 0.507525 +-0.480374 0.791595 -0.377648 +-0.00586275 -0.190651 -1.2905 + +-0.62924 0.0120031 0.777118 +0.631903 0.590041 0.502544 +-0.4525 0.807284 -0.378862 +-0.00626975 -0.190985 -1.29921 + +-0.624954 0.0381064 0.779731 +0.655415 0.568225 0.497545 +-0.424103 0.82199 -0.38009 +-0.00667675 -0.191319 -1.30794 + +-0.619605 0.063945 0.782304 +0.678154 0.545456 0.49253 +-0.395218 0.835697 -0.381332 +-0.00708375 -0.191653 -1.3167 + +-0.613206 0.089476 0.784839 +0.700079 0.521761 0.487498 +-0.365879 0.848387 -0.382587 +-0.00749075 -0.191987 -1.32548 + +-0.60577 0.114657 0.787335 +0.721154 0.49717 0.48245 +-0.336123 0.860044 -0.383856 +-0.00789775 -0.19232 -1.33429 + +-0.597314 0.139446 0.789791 +0.741342 0.471714 0.477387 +-0.305986 0.870655 -0.385139 +-0.00830475 -0.192654 -1.34311 + +-0.587856 0.163801 0.792209 +0.760606 0.445426 0.472307 +-0.275506 0.880207 -0.386435 +-0.00871174 -0.192988 -1.35197 + +-0.577415 0.187683 0.794586 +0.778913 0.418339 0.467212 +-0.244719 0.888688 -0.387744 +-0.00911874 -0.193322 -1.36084 + +-0.566011 0.211052 0.796924 +0.796228 0.39049 0.462102 +-0.213663 0.896089 -0.389067 +-0.00952574 -0.193656 -1.36975 + +-0.553668 0.233869 0.799223 +0.812521 0.361914 0.456977 +-0.182377 0.902399 -0.390403 +-0.00993274 -0.19399 -1.37867 + +-0.54041 0.256095 0.801481 +0.82776 0.33265 0.451838 +-0.1509 0.907612 -0.391753 +-0.0103397 -0.194324 -1.38762 + +-0.526262 0.277695 0.8037 +0.841916 0.302738 0.446684 +-0.119268 0.911721 -0.393116 +-0.0107467 -0.194658 -1.39659 + +-0.511252 0.298633 0.805878 +0.854963 0.272218 0.441516 +-0.0875232 0.914722 -0.394491 +-0.0111537 -0.194992 -1.40559 + +-0.495408 0.318873 0.808017 +0.866872 0.241131 0.436335 +-0.0557029 0.916611 -0.39588 +-0.0115607 -0.195326 -1.41461 + +-0.478761 0.338382 0.810114 +0.877621 0.209522 0.43114 +-0.0238467 0.917387 -0.397282 +-0.0119677 -0.19566 -1.42366 + +-0.461342 0.357129 0.812172 +0.887186 0.177433 0.425932 +0.00800599 0.917048 -0.398697 +-0.0123747 -0.195994 -1.43273 + +-0.443183 0.375081 0.814188 +0.895546 0.144911 0.420711 +0.0398159 0.915595 -0.400125 +-0.0127817 -0.196328 -1.44183 + +-0.424319 0.392211 0.816164 +0.902682 0.112001 0.415477 +0.0715437 0.913032 -0.401566 +-0.0131887 -0.196662 -1.45094 + +-0.404785 0.408488 0.818099 +0.908575 0.0787489 0.410231 +0.10315 0.90936 -0.403019 +-0.0135957 -0.196996 -1.46009 + +-0.384617 0.423888 0.819993 +0.91321 0.0452037 0.404973 +0.134597 0.904586 -0.404485 +-0.0140027 -0.19733 -1.46926 + +-0.363853 0.438384 0.821846 +0.916573 0.0114134 0.399704 +0.165844 0.898716 -0.405963 +-0.0144097 -0.197664 -1.47845 + +-0.342532 0.451952 0.823657 +0.918652 -0.0225731 0.394423 +0.196853 0.891757 -0.407455 +-0.0148167 -0.197998 -1.48766 + +-0.320691 0.464571 0.825427 +0.919436 -0.0567062 0.389131 +0.227586 0.883718 -0.408958 +-0.0152237 -0.198332 -1.4969 + +-0.298373 0.476221 0.827156 +0.918916 -0.0909356 0.383828 +0.258005 0.874611 -0.410474 +-0.0156307 -0.198666 -1.50617 + +-0.275618 0.486882 0.828843 +0.917087 -0.125211 0.378514 +0.288072 0.864447 -0.412003 +-0.0160377 -0.199 -1.51545 + +-0.252468 0.496537 0.830488 +0.913945 -0.159481 0.37319 +0.31775 0.853239 -0.413543 +-0.0164447 -0.199334 -1.52477 + +-0.228966 0.505171 0.832092 +0.909486 -0.193695 0.367857 +0.347002 0.841002 -0.415096 +-0.0168517 -0.199668 -1.5341 + +-0.205155 0.51277 0.833654 +0.90371 -0.227801 0.362513 +0.375793 0.827752 -0.416661 +-0.0172587 -0.200002 -1.54346 + +-0.181079 0.519323 0.835173 +0.896618 -0.261748 0.35716 +0.404086 0.813506 -0.418237 +-0.0176657 -0.200336 -1.55285 + +-0.156783 0.524819 0.83665 +0.888216 -0.295484 0.351798 +0.431847 0.798282 -0.419826 +-0.0180727 -0.20067 -1.56226 + +-0.13231 0.529251 0.838085 +0.878507 -0.328957 0.346428 +0.459041 0.7821 -0.421427 +-0.0184797 -0.201004 -1.57169 + +-0.107706 0.532612 0.839478 +0.867501 -0.362117 0.341049 +0.485636 0.764981 -0.423039 +-0.0188867 -0.201338 -1.58115 + +-0.0830171 0.534898 0.840828 +0.855206 -0.394911 0.335661 +0.511597 0.746947 -0.424663 +-0.0192937 -0.201671 -1.59063 + +-0.0582878 0.536106 0.842136 +0.841634 -0.427289 0.330266 +0.536893 0.728021 -0.426299 +-0.0197007 -0.202005 -1.60014 + +-0.0335642 0.536235 0.843401 +0.8268 -0.459201 0.324864 +0.561494 0.708228 -0.427946 +-0.0201077 -0.202339 -1.60967 + +-0.00889178 0.535287 0.844623 +0.810719 -0.490596 0.319454 +0.585368 0.687593 -0.429605 +-0.0205147 -0.202673 -1.61922 + +0.0156838 0.533265 0.845803 +0.793409 -0.521424 0.314037 +0.608487 0.666143 -0.431275 +-0.0209217 -0.203007 -1.6288 + +0.040117 0.530174 0.846939 +0.77489 -0.551636 0.308613 +0.630821 0.643905 -0.432957 +-0.0213287 -0.203341 -1.6384 + +0.0643626 0.526021 0.848033 +0.755184 -0.581185 0.303184 +0.652345 0.620908 -0.434649 +-0.0217357 -0.203675 -1.64803 + +0.0883756 0.520814 0.849083 +0.734315 -0.610022 0.297748 +0.673031 0.597181 -0.436353 +-0.0221427 -0.204009 -1.65768 + +0.112111 0.514565 0.85009 +0.712309 -0.638101 0.292306 +0.692855 0.572756 -0.438068 +-0.0225497 -0.204343 -1.66736 + +0.135526 0.507286 0.851054 +0.689192 -0.665376 0.28686 +0.711791 0.547663 -0.439793 +-0.0229567 -0.204677 -1.67705 + +0.158575 0.498992 0.851975 +0.664995 -0.691803 0.281408 +0.729819 0.521935 -0.44153 +-0.0233637 -0.205011 -1.68678 + +0.181216 0.489698 0.852852 +0.63975 -0.717336 0.275951 +0.746914 0.495605 -0.443277 +-0.0237707 -0.205345 -1.69653 + +0.203407 0.479424 0.853685 +0.613488 -0.741935 0.27049 +0.763058 0.468707 -0.445035 +-0.0241777 -0.205679 -1.7063 + +0.225105 0.468188 0.854475 +0.586246 -0.765557 0.265025 +0.778231 0.441274 -0.446804 +-0.0245847 -0.206013 -1.71609 + +0.246271 0.456012 0.855222 +0.55806 -0.788163 0.259556 +0.792414 0.413344 -0.448583 +-0.0249917 -0.206347 -1.72591 + +0.266863 0.44292 0.855924 +0.528967 -0.809713 0.254083 +0.805592 0.38495 -0.450373 +-0.0253987 -0.206681 -1.73576 + +0.286844 0.428936 0.856583 +0.499009 -0.830171 0.248608 +0.817747 0.356131 -0.452172 +-0.0258057 -0.207015 -1.74563 + +0.306174 0.414089 0.857198 +0.468226 -0.849501 0.24313 +0.828868 0.326922 -0.453982 +-0.0262127 -0.207349 -1.75552 + +0.324818 0.398404 0.857769 +0.436661 -0.867669 0.237649 +0.83894 0.297362 -0.455803 +-0.0266197 -0.207683 -1.76544 + +0.34274 0.381913 0.858296 +0.404359 -0.884643 0.232166 +0.847952 0.267487 -0.457633 +-0.0270267 -0.208017 -1.77538 + +0.359905 0.364647 0.858778 +0.371366 -0.900391 0.226681 +0.855895 0.237337 -0.459473 +-0.0274337 -0.208351 -1.78534 + +0.376281 0.346639 0.859217 +0.337728 -0.914884 0.221194 +0.862759 0.20695 -0.461323 +-0.0278407 -0.208685 -1.79533 + +0.391835 0.327922 0.859612 +0.303494 -0.928096 0.215707 +0.868537 0.176365 -0.463183 +-0.0282477 -0.209019 -1.80535 + +0.406537 0.308533 0.859962 +0.268713 -0.940001 0.210219 +0.873224 0.145621 -0.465052 +-0.0286547 -0.209353 -1.81539 + +0.420359 0.288509 0.860268 +0.233436 -0.950575 0.20473 +0.876816 0.114757 -0.466931 +-0.0290617 -0.209687 -1.82545 + +0.433273 0.267886 0.86053 +0.197714 -0.959798 0.199241 +0.879309 0.0838135 -0.468819 +-0.0294687 -0.210021 -1.83553 + +0.445254 0.246705 0.860747 +0.161601 -0.967649 0.193752 +0.880701 0.0528288 -0.470717 +-0.0298757 -0.210355 -1.84564 + +0.456277 0.225007 0.86092 +0.125149 -0.974112 0.188263 +0.880993 0.0218428 -0.472624 +-0.0302827 -0.210688 -1.85578 + +0.46632 0.202832 0.861049 +0.0884121 -0.979171 0.182776 +0.880187 -0.00910486 -0.47454 +-0.0306897 -0.211022 -1.86594 + +0.475364 0.180222 0.861133 +0.051446 -0.982813 0.177289 +0.878284 -0.0399749 -0.476465 +-0.0310967 -0.211356 -1.87612 + +0.483388 0.157222 0.861172 +0.014306 -0.985027 0.171804 +0.875289 -0.0707281 -0.478399 +-0.0315037 -0.21169 -1.88633 + +0.490376 0.133876 0.861167 +-0.0229519 -0.985805 0.166321 +0.871209 -0.101325 -0.480342 +-0.0319107 -0.212024 -1.89656 + +0.496314 0.110227 0.861117 +-0.0602713 -0.985138 0.16084 +0.866049 -0.131728 -0.482294 +-0.0323177 -0.212358 -1.90682 + +0.501187 0.0863219 0.861023 +-0.0975953 -0.983025 0.155362 +0.859818 -0.161897 -0.484254 +-0.0327247 -0.212692 -1.9171 + +0.504984 0.0622067 0.860884 +-0.134867 -0.979462 0.149886 +0.852527 -0.191795 -0.486223 +-0.0331317 -0.213026 -1.9274 + +0.507697 0.0379279 0.8607 +-0.172028 -0.974449 0.144414 +0.844186 -0.221383 -0.4882 +-0.0335387 -0.21336 -1.93773 + +0.509318 0.0135326 0.860472 +-0.209023 -0.96799 0.138945 +0.834808 -0.250625 -0.490186 +-0.0339457 -0.213694 -1.94808 + +0.509841 -0.0109318 0.860199 +-0.245792 -0.960088 0.13348 +0.824408 -0.279484 -0.492179 +-0.0343527 -0.214028 -1.95846 + +0.509264 -0.0354176 0.859881 +-0.28228 -0.950752 0.12802 +0.813 -0.307923 -0.494181 +-0.0347597 -0.214362 -1.96886 + +0.507584 -0.059877 0.859519 +-0.318429 -0.93999 0.122563 +0.800601 -0.335907 -0.496191 +-0.0351667 -0.214696 -1.97928 + +0.504804 -0.0842621 0.859112 +-0.354182 -0.927815 0.117112 +0.787228 -0.3634 -0.498208 +-0.0355737 -0.21503 -1.98973 + +0.500925 -0.108525 0.85866 +-0.389482 -0.91424 0.111667 +0.772902 -0.390369 -0.500234 +-0.0359807 -0.215364 -2.0002 + +0.495952 -0.132617 0.858163 +-0.424275 -0.899281 0.106226 +0.757643 -0.41678 -0.502266 +-0.0363877 -0.215698 -2.0107 + +0.489893 -0.156492 0.857622 +-0.458504 -0.882958 0.100792 +0.741471 -0.4426 -0.504307 +-0.0367947 -0.216032 -2.02122 + +0.482755 -0.180102 0.857036 +-0.492114 -0.865291 0.0953642 +0.724411 -0.467797 -0.506355 +-0.0372017 -0.216366 -2.03177 + +0.474552 -0.203398 0.856405 +-0.525052 -0.846304 0.089943 +0.706485 -0.49234 -0.50841 +-0.0376087 -0.2167 -2.04234 + +0.465294 -0.226336 0.85573 +-0.557265 -0.826021 0.0845289 +0.687718 -0.516199 -0.510472 +-0.0380157 -0.217034 -2.05293 + +0.454998 -0.248869 0.855009 +-0.588701 -0.80447 0.0791221 +0.668138 -0.539345 -0.512541 +-0.0384227 -0.217368 -2.06355 + +0.44368 -0.270951 0.854244 +-0.619307 -0.78168 0.0737231 +0.647771 -0.561749 -0.514618 +-0.0388297 -0.217702 -2.0742 + +0.43136 -0.292537 0.853435 +-0.649035 -0.757684 0.0683321 +0.626644 -0.583384 -0.516701 +-0.0392367 -0.218036 -2.08486 + +0.418057 -0.313583 0.852581 +-0.677834 -0.732515 0.0629497 +0.604788 -0.604225 -0.51879 +-0.0396437 -0.21837 -2.09555 + +0.403796 -0.334046 0.851682 +-0.705659 -0.706208 0.057576 +0.582232 -0.624246 -0.520887 +-0.0400507 -0.218704 -2.10627 + +0.388601 -0.353884 0.850738 +-0.732462 -0.678803 0.0522115 +0.559007 -0.643423 -0.52299 +-0.0404577 -0.219038 -2.11701 + +0.372498 -0.373054 0.84975 +-0.758199 -0.650337 0.0468565 +0.535144 -0.661734 -0.525099 +-0.0408647 -0.219372 -2.12777 + +0.355515 -0.391518 0.848718 +-0.782827 -0.620854 0.0415114 +0.510677 -0.679157 -0.527214 +-0.0412717 -0.219705 -2.13856 + +0.337684 -0.409236 0.847641 +-0.806303 -0.590395 0.0361765 +0.485638 -0.695672 -0.529336 +-0.0416787 -0.220039 -2.14937 + +0.319035 -0.42617 0.846519 +-0.828589 -0.559007 0.0308522 +0.460062 -0.71126 -0.531463 +-0.0420857 -0.220373 -2.16021 + +0.299603 -0.442284 0.845354 +-0.849646 -0.526735 0.0255388 +0.433982 -0.725903 -0.533596 +-0.0424927 -0.220707 -2.17107 + +0.279421 -0.457543 0.844144 +-0.869437 -0.493629 0.0202368 +0.407434 -0.739584 -0.535735 +-0.0428997 -0.221041 -2.18195 + +0.258528 -0.471913 0.842889 +-0.887929 -0.459738 0.0149463 +0.380455 -0.75229 -0.53788 +-0.0433067 -0.221375 -2.19286 + +0.23696 -0.485361 0.84159 +-0.905089 -0.425113 0.00966796 +0.353079 -0.764005 -0.54003 +-0.0437137 -0.221709 -2.20379 + +0.214758 -0.497859 0.840247 +-0.920886 -0.389808 0.00440195 +0.325343 -0.774717 -0.542185 +-0.0441207 -0.222043 -2.21475 + +0.191963 -0.509376 0.83886 +-0.935292 -0.353876 -0.000851335 +0.297286 -0.784416 -0.544346 +-0.0445277 -0.222377 -2.22573 + +0.168616 -0.519885 0.837429 +-0.948282 -0.317372 -0.00609153 +0.268943 -0.793092 -0.546512 +-0.0449347 -0.222711 -2.23674 + +0.144762 -0.529362 0.835954 +-0.95983 -0.280353 -0.0113183 +0.240354 -0.800736 -0.548682 +-0.0453417 -0.223045 -2.24777 + +0.120444 -0.537783 0.834435 +-0.969917 -0.242876 -0.0165312 +0.211554 -0.807341 -0.550858 +-0.0457487 -0.223379 -2.25882 + +0.0957082 -0.545127 0.832872 +-0.978521 -0.205 -0.02173 +0.182584 -0.812903 -0.553038 +-0.0461557 -0.223713 -2.2699 + +0.0706016 -0.551373 0.831266 +-0.985626 -0.166783 -0.0269142 +0.153481 -0.817417 -0.555223 +-0.0465627 -0.224047 -2.281 + +0.0451714 -0.556505 0.829616 +-0.991218 -0.128286 -0.0320836 +0.124283 -0.820881 -0.557412 +-0.0469696 -0.224381 -2.29213 + +0.0194661 -0.560506 0.827922 +-0.995284 -0.0895695 -0.0372377 +0.0950285 -0.823293 -0.559606 +-0.0473766 -0.224715 -2.30328 + +-0.00646536 -0.563363 0.826184 +-0.997815 -0.0506945 -0.0423762 +0.0657562 -0.824653 -0.561804 +-0.0477836 -0.225049 -2.31445 + +-0.0325732 -0.565064 0.824404 +-0.998803 -0.0117226 -0.0474988 +0.0365041 -0.824964 -0.564006 +-0.0481906 -0.225383 -2.32565 + +-0.058807 -0.565601 0.82258 +-0.998243 0.027284 -0.0526051 +0.00731026 -0.824227 -0.566212 +-0.0485976 -0.225717 -2.33687 + +-0.0851162 -0.564966 0.820712 +-0.996133 0.066263 -0.0576947 +-0.0217873 -0.822449 -0.568421 +-0.0490046 -0.226051 -2.34812 + +-0.11145 -0.563154 0.818802 +-0.992473 0.105152 -0.0627672 +-0.050751 -0.819634 -0.570635 +-0.0494116 -0.226385 -2.35939 + +-0.137756 -0.560163 0.816848 +-0.987267 0.143888 -0.0678224 +-0.0795435 -0.81579 -0.572851 +-0.0498186 -0.226719 -2.37069 + +-0.163983 -0.555991 0.814852 +-0.980519 0.18241 -0.0728598 +-0.108128 -0.810926 -0.575072 +-0.0502256 -0.227053 -2.38201 + +-0.190079 -0.55064 0.812813 +-0.972238 0.220654 -0.0778792 +-0.136467 -0.805051 -0.577295 +-0.0506326 -0.227387 -2.39335 + +-0.215993 -0.544116 0.810731 +-0.962434 0.258559 -0.0828801 +-0.164525 -0.798176 -0.579522 +-0.0510396 -0.227721 -2.40472 + +-0.241674 -0.536422 0.808607 +-0.951119 0.296062 -0.0878621 +-0.192267 -0.790315 -0.581752 +-0.0514466 -0.228055 -2.41611 + +-0.267068 -0.527569 0.80644 +-0.93831 0.333103 -0.0928251 +-0.219656 -0.781482 -0.583984 +-0.0518536 -0.228389 -2.42753 + +-0.292126 -0.517566 0.804231 +-0.924024 0.369622 -0.0977685 +-0.24666 -0.77169 -0.58622 +-0.0522606 -0.228723 -2.43897 + +-0.316797 -0.506426 0.80198 +-0.908283 0.405557 -0.102692 +-0.273242 -0.760957 -0.588458 +-0.0526676 -0.229056 -2.45043 + +-0.34103 -0.494165 0.799687 +-0.891109 0.440849 -0.107595 +-0.299372 -0.749301 -0.590698 +-0.0530746 -0.22939 -2.46192 + +-0.364776 -0.4808 0.797352 +-0.872527 0.475442 -0.112478 +-0.325015 -0.73674 -0.592941 +-0.0534816 -0.229724 -2.47344 + +-0.387985 -0.46635 0.794975 +-0.852566 0.509276 -0.11734 +-0.35014 -0.723295 -0.595186 +-0.0538886 -0.230058 -2.48497 + +-0.41061 -0.450836 0.792557 +-0.831256 0.542297 -0.12218 +-0.374717 -0.708986 -0.597433 +-0.0542956 -0.230392 -2.49654 + +-0.432602 -0.434283 0.790097 +-0.808629 0.574448 -0.126999 +-0.398716 -0.693836 -0.599682 +-0.0547026 -0.230726 -2.50812 + +-0.453916 -0.416717 0.787596 +-0.784721 0.605676 -0.131796 +-0.422106 -0.677867 -0.601932 +-0.0551096 -0.23106 -2.51973 + +-0.474506 -0.398164 0.785054 +-0.759568 0.635929 -0.136571 +-0.44486 -0.661105 -0.604185 +-0.0555166 -0.231394 -2.53137 + +-0.494328 -0.378656 0.78247 +-0.733209 0.665155 -0.141323 +-0.466952 -0.643574 -0.606439 +-0.0559236 -0.231728 -2.54302 + +-0.513338 -0.358223 0.779846 +-0.705687 0.693307 -0.146052 +-0.488354 -0.625302 -0.608694 +-0.0563306 -0.232062 -2.55471 + +-0.531495 -0.3369 0.777182 +-0.677045 0.720335 -0.150757 +-0.509041 -0.606314 -0.610951 +-0.0567376 -0.232396 -2.56641 + +-0.548759 -0.314721 0.774477 +-0.647328 0.746193 -0.155439 +-0.528989 -0.586639 -0.613208 +-0.0571446 -0.23273 -2.57814 + +-0.56509 -0.291726 0.771731 +-0.616584 0.770839 -0.160097 +-0.548176 -0.566307 -0.615467 +-0.0575516 -0.233064 -2.5899 + +-0.580452 -0.267952 0.768946 +-0.584862 0.794229 -0.164731 +-0.56658 -0.545345 -0.617726 +-0.0579586 -0.233398 -2.60168 + +-0.594808 -0.24344 0.766121 +-0.552213 0.816324 -0.169339 +-0.584179 -0.523786 -0.619987 +-0.0583656 -0.233732 -2.61348 + +-0.608124 -0.218233 0.763255 +-0.518689 0.837086 -0.173923 +-0.600954 -0.501659 -0.622247 +-0.0587726 -0.234066 -2.62531 + +-0.62037 -0.192375 0.760351 +-0.484346 0.856477 -0.178482 +-0.616888 -0.478997 -0.624509 +-0.0591796 -0.2344 -2.63716 + +-0.631513 -0.165912 0.757407 +-0.449239 0.874466 -0.183014 +-0.631962 -0.455832 -0.62677 +-0.0595866 -0.234734 -2.64904 + +-0.641525 -0.138889 0.754424 +-0.413425 0.891019 -0.187521 +-0.646162 -0.432197 -0.629032 +-0.0599936 -0.235068 -2.66094 + +-0.650381 -0.111356 0.751402 +-0.376964 0.906109 -0.192001 +-0.659472 -0.408125 -0.631293 +-0.0604006 -0.235402 -2.67286 + +-0.658055 -0.0833609 0.748341 +-0.339914 0.919709 -0.196454 +-0.671879 -0.38365 -0.633555 +-0.0608076 -0.235736 -2.68481 + +-0.664526 -0.0549551 0.745242 +-0.302338 0.931793 -0.200881 +-0.683372 -0.358805 -0.635816 +-0.0612146 -0.23607 -2.69678 + +-0.669773 -0.02619 0.742104 +-0.264297 0.942342 -0.20528 +-0.693939 -0.333626 -0.638077 +-0.0616216 -0.236404 -2.70878 + +-0.673778 0.00288213 0.738928 +-0.225854 0.951334 -0.209651 +-0.703572 -0.308148 -0.640337 +-0.0620286 -0.236738 -2.7208 + +-0.676525 0.0322078 0.735715 +-0.187073 0.958755 -0.213994 +-0.712262 -0.282404 -0.642596 +-0.0624356 -0.237072 -2.73285 + +-0.678001 0.0617328 0.732464 +-0.148018 0.964589 -0.218309 +-0.720003 -0.256432 -0.644855 +-0.0628426 -0.237406 -2.74492 + +-0.678196 0.0914025 0.729175 +-0.108756 0.968826 -0.222595 +-0.726789 -0.230265 -0.647113 +-0.0632496 -0.23774 -2.75701 + +-0.677099 0.121161 0.725849 +-0.0693511 0.971457 -0.226852 +-0.732617 -0.20394 -0.649369 +-0.0636566 -0.238073 -2.76913 + +-0.674704 0.150954 0.722487 +-0.0298702 0.972476 -0.23108 +-0.737483 -0.177492 -0.651625 +-0.0640636 -0.238407 -2.78127 + +-0.671009 0.180723 0.719087 +0.00962062 0.97188 -0.235279 +-0.741387 -0.150956 -0.653879 +-0.0644706 -0.238741 -2.79344 + +-0.66601 0.210413 0.715651 +0.0490547 0.969669 -0.239447 +-0.744328 -0.124368 -0.656131 +-0.0648776 -0.239075 -2.80563 + +-0.659709 0.239968 0.712179 +0.0883653 0.965846 -0.243585 +-0.746308 -0.0977635 -0.658382 +-0.0652846 -0.239409 -2.81784 + +-0.65211 0.269329 0.708671 +0.127486 0.960414 -0.247693 +-0.747329 -0.0711772 -0.660631 +-0.0656916 -0.239743 -2.83008 + +-0.643217 0.298441 0.705127 +0.16635 0.953383 -0.25177 +-0.747395 -0.0446443 -0.662878 +-0.0660986 -0.240077 -2.84234 + +-0.63304 0.327248 0.701548 +0.204892 0.944763 -0.255815 +-0.746512 -0.0181993 -0.665123 +-0.0665056 -0.240411 -2.85463 + +-0.621588 0.355692 0.697934 +0.243046 0.934568 -0.259829 +-0.744685 0.00812338 -0.667366 +-0.0669126 -0.240745 -2.86694 + diff --git a/trunk/PQP/build/pqp-tar/PQP_v1.3/demos/falling/torus1.tris b/trunk/PQP/build/pqp-tar/PQP_v1.3/demos/falling/torus1.tris new file mode 100644 index 00000000..cfb261e3 --- /dev/null +++ b/trunk/PQP/build/pqp-tar/PQP_v1.3/demos/falling/torus1.tris @@ -0,0 +1,5329 @@ +1332 +0.46 0 0 +0.453383 0.0777404 0.033314 +0.453969 0 0.034202 + +0.447439 0.0767212 0.067516 +0.453969 0 0.034202 +0.453383 0.0777404 0.033314 + +0.453969 0 0.034202 +0.447439 0.0767212 0.067516 +0.436604 0 0.0642788 + +0.430324 0.0737865 0.0975927 +0.436604 0 0.0642788 +0.447439 0.0767212 0.067516 + +0.436604 0 0.0642788 +0.430324 0.0737865 0.0975927 +0.41 0 0.0866025 + +0.404103 0.0692903 0.119917 +0.41 0 0.0866025 +0.430324 0.0737865 0.0975927 + +0.41 0 0.0866025 +0.404103 0.0692903 0.119917 +0.377365 0 0.0984808 + +0.371937 0.063775 0.131795 +0.377365 0 0.0984808 +0.404103 0.0692903 0.119917 + +0.377365 0 0.0984808 +0.371937 0.063775 0.131795 +0.342635 0 0.0984808 + +0.337707 0.0579056 0.131795 +0.342635 0 0.0984808 +0.371937 0.063775 0.131795 + +0.342635 0 0.0984808 +0.337707 0.0579056 0.131795 +0.31 0 0.0866025 + +0.305541 0.0523903 0.119917 +0.31 0 0.0866025 +0.337707 0.0579056 0.131795 + +0.31 0 0.0866025 +0.305541 0.0523903 0.119917 +0.283396 0 0.0642788 + +0.279319 0.0478941 0.0975927 +0.283396 0 0.0642788 +0.305541 0.0523903 0.119917 + +0.283396 0 0.0642788 +0.279319 0.0478941 0.0975927 +0.266031 0 0.034202 + +0.262204 0.0449594 0.067516 +0.266031 0 0.034202 +0.279319 0.0478941 0.0975927 + +0.266031 0 0.034202 +0.262204 0.0449594 0.067516 +0.26 0 0 + +0.25626 0.0439402 0.033314 +0.26 0 0 +0.262204 0.0449594 0.067516 + +0.26 0 0 +0.25626 0.0439402 0.033314 +0.266031 0 -0.034202 + +0.262204 0.0449594 -0.000888035 +0.266031 0 -0.034202 +0.25626 0.0439402 0.033314 + +0.266031 0 -0.034202 +0.262204 0.0449594 -0.000888035 +0.283396 0 -0.0642788 + +0.279319 0.0478941 -0.0309648 +0.283396 0 -0.0642788 +0.262204 0.0449594 -0.000888035 + +0.283396 0 -0.0642788 +0.279319 0.0478941 -0.0309648 +0.31 0 -0.0866025 + +0.305541 0.0523903 -0.0532886 +0.31 0 -0.0866025 +0.279319 0.0478941 -0.0309648 + +0.31 0 -0.0866025 +0.305541 0.0523903 -0.0532886 +0.342635 0 -0.0984808 + +0.337707 0.0579056 -0.0651668 +0.342635 0 -0.0984808 +0.305541 0.0523903 -0.0532886 + +0.342635 0 -0.0984808 +0.337707 0.0579056 -0.0651668 +0.377365 0 -0.0984808 + +0.371937 0.063775 -0.0651668 +0.377365 0 -0.0984808 +0.337707 0.0579056 -0.0651668 + +0.377365 0 -0.0984808 +0.371937 0.063775 -0.0651668 +0.41 0 -0.0866025 + +0.404103 0.0692903 -0.0532886 +0.41 0 -0.0866025 +0.371937 0.063775 -0.0651668 + +0.41 0 -0.0866025 +0.404103 0.0692903 -0.0532886 +0.436604 0 -0.0642788 + +0.430324 0.0737865 -0.0309648 +0.436604 0 -0.0642788 +0.404103 0.0692903 -0.0532886 + +0.436604 0 -0.0642788 +0.430324 0.0737865 -0.0309648 +0.453969 0 -0.034202 + +0.447439 0.0767212 -0.000888035 +0.453969 0 -0.034202 +0.430324 0.0737865 -0.0309648 + +0.453969 0 -0.034202 +0.447439 0.0767212 -0.000888035 +0.46 0 0 + +0.453383 0.0777404 0.033314 +0.46 0 0 +0.447439 0.0767212 -0.000888035 + +0.453383 0.0777404 0.033314 +0.433724 0.153244 0.062822 +0.447439 0.0767212 0.067516 + +0.428037 0.151235 0.097024 +0.447439 0.0767212 0.067516 +0.433724 0.153244 0.062822 + +0.447439 0.0767212 0.067516 +0.428037 0.151235 0.097024 +0.430324 0.0737865 0.0975927 + +0.411664 0.14545 0.127101 +0.430324 0.0737865 0.0975927 +0.428037 0.151235 0.097024 + +0.430324 0.0737865 0.0975927 +0.411664 0.14545 0.127101 +0.404103 0.0692903 0.119917 + +0.38658 0.136587 0.149425 +0.404103 0.0692903 0.119917 +0.411664 0.14545 0.127101 + +0.404103 0.0692903 0.119917 +0.38658 0.136587 0.149425 +0.371937 0.063775 0.131795 + +0.355809 0.125715 0.161303 +0.371937 0.063775 0.131795 +0.38658 0.136587 0.149425 + +0.371937 0.063775 0.131795 +0.355809 0.125715 0.161303 +0.337707 0.0579056 0.131795 + +0.323063 0.114145 0.161303 +0.337707 0.0579056 0.131795 +0.355809 0.125715 0.161303 + +0.337707 0.0579056 0.131795 +0.323063 0.114145 0.161303 +0.305541 0.0523903 0.119917 + +0.292292 0.103273 0.149425 +0.305541 0.0523903 0.119917 +0.323063 0.114145 0.161303 + +0.305541 0.0523903 0.119917 +0.292292 0.103273 0.149425 +0.279319 0.0478941 0.0975927 + +0.267207 0.0944103 0.127101 +0.279319 0.0478941 0.0975927 +0.292292 0.103273 0.149425 + +0.279319 0.0478941 0.0975927 +0.267207 0.0944103 0.127101 +0.262204 0.0449594 0.067516 + +0.250834 0.0886254 0.097024 +0.262204 0.0449594 0.067516 +0.267207 0.0944103 0.127101 + +0.262204 0.0449594 0.067516 +0.250834 0.0886254 0.097024 +0.25626 0.0439402 0.033314 + +0.245148 0.0866163 0.062822 +0.25626 0.0439402 0.033314 +0.250834 0.0886254 0.097024 + +0.25626 0.0439402 0.033314 +0.245148 0.0866163 0.062822 +0.262204 0.0449594 -0.000888035 + +0.250834 0.0886254 0.02862 +0.262204 0.0449594 -0.000888035 +0.245148 0.0866163 0.062822 + +0.262204 0.0449594 -0.000888035 +0.250834 0.0886254 0.02862 +0.279319 0.0478941 -0.0309648 + +0.267207 0.0944103 -0.00145676 +0.279319 0.0478941 -0.0309648 +0.250834 0.0886254 0.02862 + +0.279319 0.0478941 -0.0309648 +0.267207 0.0944103 -0.00145676 +0.305541 0.0523903 -0.0532886 + +0.292292 0.103273 -0.0237805 +0.305541 0.0523903 -0.0532886 +0.267207 0.0944103 -0.00145676 + +0.305541 0.0523903 -0.0532886 +0.292292 0.103273 -0.0237805 +0.337707 0.0579056 -0.0651668 + +0.323063 0.114145 -0.0356588 +0.337707 0.0579056 -0.0651668 +0.292292 0.103273 -0.0237805 + +0.337707 0.0579056 -0.0651668 +0.323063 0.114145 -0.0356588 +0.371937 0.063775 -0.0651668 + +0.355809 0.125715 -0.0356588 +0.371937 0.063775 -0.0651668 +0.323063 0.114145 -0.0356588 + +0.371937 0.063775 -0.0651668 +0.355809 0.125715 -0.0356588 +0.404103 0.0692903 -0.0532886 + +0.38658 0.136587 -0.0237805 +0.404103 0.0692903 -0.0532886 +0.355809 0.125715 -0.0356588 + +0.404103 0.0692903 -0.0532886 +0.38658 0.136587 -0.0237805 +0.430324 0.0737865 -0.0309648 + +0.411664 0.14545 -0.00145676 +0.430324 0.0737865 -0.0309648 +0.38658 0.136587 -0.0237805 + +0.430324 0.0737865 -0.0309648 +0.411664 0.14545 -0.00145676 +0.447439 0.0767212 -0.000888035 + +0.428037 0.151235 0.02862 +0.447439 0.0767212 -0.000888035 +0.411664 0.14545 -0.00145676 + +0.447439 0.0767212 -0.000888035 +0.428037 0.151235 0.02862 +0.453383 0.0777404 0.033314 + +0.433724 0.153244 0.062822 +0.453383 0.0777404 0.033314 +0.428037 0.151235 0.02862 + +0.433724 0.153244 0.062822 +0.401586 0.22434 0.0851529 +0.428037 0.151235 0.097024 + +0.396322 0.221399 0.119355 +0.428037 0.151235 0.097024 +0.401586 0.22434 0.0851529 + +0.428037 0.151235 0.097024 +0.396322 0.221399 0.119355 +0.411664 0.14545 0.127101 + +0.381162 0.21293 0.149432 +0.411664 0.14545 0.127101 +0.396322 0.221399 0.119355 + +0.411664 0.14545 0.127101 +0.381162 0.21293 0.149432 +0.38658 0.136587 0.149425 + +0.357936 0.199955 0.171755 +0.38658 0.136587 0.149425 +0.381162 0.21293 0.149432 + +0.38658 0.136587 0.149425 +0.357936 0.199955 0.171755 +0.355809 0.125715 0.161303 + +0.329445 0.184039 0.183634 +0.355809 0.125715 0.161303 +0.357936 0.199955 0.171755 + +0.355809 0.125715 0.161303 +0.329445 0.184039 0.183634 +0.323063 0.114145 0.161303 + +0.299125 0.167101 0.183634 +0.323063 0.114145 0.161303 +0.329445 0.184039 0.183634 + +0.323063 0.114145 0.161303 +0.299125 0.167101 0.183634 +0.292292 0.103273 0.149425 + +0.270634 0.151185 0.171755 +0.292292 0.103273 0.149425 +0.299125 0.167101 0.183634 + +0.292292 0.103273 0.149425 +0.270634 0.151185 0.171755 +0.267207 0.0944103 0.127101 + +0.247408 0.138211 0.149432 +0.267207 0.0944103 0.127101 +0.270634 0.151185 0.171755 + +0.267207 0.0944103 0.127101 +0.247408 0.138211 0.149432 +0.250834 0.0886254 0.097024 + +0.232249 0.129742 0.119355 +0.250834 0.0886254 0.097024 +0.247408 0.138211 0.149432 + +0.250834 0.0886254 0.097024 +0.232249 0.129742 0.119355 +0.245148 0.0866163 0.062822 + +0.226984 0.126801 0.0851529 +0.245148 0.0866163 0.062822 +0.232249 0.129742 0.119355 + +0.245148 0.0866163 0.062822 +0.226984 0.126801 0.0851529 +0.250834 0.0886254 0.02862 + +0.232249 0.129742 0.0509509 +0.250834 0.0886254 0.02862 +0.226984 0.126801 0.0851529 + +0.250834 0.0886254 0.02862 +0.232249 0.129742 0.0509509 +0.267207 0.0944103 -0.00145676 + +0.247408 0.138211 0.0208742 +0.267207 0.0944103 -0.00145676 +0.232249 0.129742 0.0509509 + +0.267207 0.0944103 -0.00145676 +0.247408 0.138211 0.0208742 +0.292292 0.103273 -0.0237805 + +0.270634 0.151185 -0.00144963 +0.292292 0.103273 -0.0237805 +0.247408 0.138211 0.0208742 + +0.292292 0.103273 -0.0237805 +0.270634 0.151185 -0.00144963 +0.323063 0.114145 -0.0356588 + +0.299125 0.167101 -0.0133279 +0.323063 0.114145 -0.0356588 +0.270634 0.151185 -0.00144963 + +0.323063 0.114145 -0.0356588 +0.299125 0.167101 -0.0133279 +0.355809 0.125715 -0.0356588 + +0.329445 0.184039 -0.0133279 +0.355809 0.125715 -0.0356588 +0.299125 0.167101 -0.0133279 + +0.355809 0.125715 -0.0356588 +0.329445 0.184039 -0.0133279 +0.38658 0.136587 -0.0237805 + +0.357936 0.199955 -0.00144963 +0.38658 0.136587 -0.0237805 +0.329445 0.184039 -0.0133279 + +0.38658 0.136587 -0.0237805 +0.357936 0.199955 -0.00144963 +0.411664 0.14545 -0.00145676 + +0.381162 0.21293 0.0208742 +0.411664 0.14545 -0.00145676 +0.357936 0.199955 -0.00144963 + +0.411664 0.14545 -0.00145676 +0.381162 0.21293 0.0208742 +0.428037 0.151235 0.02862 + +0.396322 0.221399 0.0509509 +0.428037 0.151235 0.02862 +0.381162 0.21293 0.0208742 + +0.428037 0.151235 0.02862 +0.396322 0.221399 0.0509509 +0.433724 0.153244 0.062822 + +0.401586 0.22434 0.0851529 +0.433724 0.153244 0.062822 +0.396322 0.221399 0.0509509 + +0.401586 0.22434 0.0851529 +0.357896 0.288981 0.0977555 +0.396322 0.221399 0.119355 + +0.353204 0.285193 0.131958 +0.396322 0.221399 0.119355 +0.357896 0.288981 0.0977555 + +0.396322 0.221399 0.119355 +0.353204 0.285193 0.131958 +0.381162 0.21293 0.149432 + +0.339694 0.274284 0.162034 +0.381162 0.21293 0.149432 +0.353204 0.285193 0.131958 + +0.381162 0.21293 0.149432 +0.339694 0.274284 0.162034 +0.357936 0.199955 0.171755 + +0.318995 0.25757 0.184358 +0.357936 0.199955 0.171755 +0.339694 0.274284 0.162034 + +0.357936 0.199955 0.171755 +0.318995 0.25757 0.184358 +0.329445 0.184039 0.183634 + +0.293603 0.237068 0.196236 +0.329445 0.184039 0.183634 +0.318995 0.25757 0.184358 + +0.329445 0.184039 0.183634 +0.293603 0.237068 0.196236 +0.299125 0.167101 0.183634 + +0.266582 0.21525 0.196236 +0.299125 0.167101 0.183634 +0.293603 0.237068 0.196236 + +0.299125 0.167101 0.183634 +0.266582 0.21525 0.196236 +0.270634 0.151185 0.171755 + +0.241191 0.194748 0.184358 +0.270634 0.151185 0.171755 +0.266582 0.21525 0.196236 + +0.270634 0.151185 0.171755 +0.241191 0.194748 0.184358 +0.247408 0.138211 0.149432 + +0.220492 0.178035 0.162034 +0.247408 0.138211 0.149432 +0.241191 0.194748 0.184358 + +0.247408 0.138211 0.149432 +0.220492 0.178035 0.162034 +0.232249 0.129742 0.119355 + +0.206981 0.167126 0.131958 +0.232249 0.129742 0.119355 +0.220492 0.178035 0.162034 + +0.232249 0.129742 0.119355 +0.206981 0.167126 0.131958 +0.226984 0.126801 0.0851529 + +0.202289 0.163337 0.0977555 +0.226984 0.126801 0.0851529 +0.206981 0.167126 0.131958 + +0.226984 0.126801 0.0851529 +0.202289 0.163337 0.0977555 +0.232249 0.129742 0.0509509 + +0.206981 0.167126 0.0635535 +0.232249 0.129742 0.0509509 +0.202289 0.163337 0.0977555 + +0.232249 0.129742 0.0509509 +0.206981 0.167126 0.0635535 +0.247408 0.138211 0.0208742 + +0.220492 0.178035 0.0334768 +0.247408 0.138211 0.0208742 +0.206981 0.167126 0.0635535 + +0.247408 0.138211 0.0208742 +0.220492 0.178035 0.0334768 +0.270634 0.151185 -0.00144963 + +0.241191 0.194748 0.011153 +0.270634 0.151185 -0.00144963 +0.220492 0.178035 0.0334768 + +0.270634 0.151185 -0.00144963 +0.241191 0.194748 0.011153 +0.299125 0.167101 -0.0133279 + +0.266582 0.21525 -0.000725251 +0.299125 0.167101 -0.0133279 +0.241191 0.194748 0.011153 + +0.299125 0.167101 -0.0133279 +0.266582 0.21525 -0.000725251 +0.329445 0.184039 -0.0133279 + +0.293603 0.237068 -0.000725251 +0.329445 0.184039 -0.0133279 +0.266582 0.21525 -0.000725251 + +0.329445 0.184039 -0.0133279 +0.293603 0.237068 -0.000725251 +0.357936 0.199955 -0.00144963 + +0.318995 0.25757 0.011153 +0.357936 0.199955 -0.00144963 +0.293603 0.237068 -0.000725251 + +0.357936 0.199955 -0.00144963 +0.318995 0.25757 0.011153 +0.381162 0.21293 0.0208742 + +0.339694 0.274284 0.0334768 +0.381162 0.21293 0.0208742 +0.318995 0.25757 0.011153 + +0.381162 0.21293 0.0208742 +0.339694 0.274284 0.0334768 +0.396322 0.221399 0.0509509 + +0.353204 0.285193 0.0635535 +0.396322 0.221399 0.0509509 +0.339694 0.274284 0.0334768 + +0.396322 0.221399 0.0509509 +0.353204 0.285193 0.0635535 +0.401586 0.22434 0.0851529 + +0.357896 0.288981 0.0977555 +0.401586 0.22434 0.0851529 +0.353204 0.285193 0.0635535 + +0.357896 0.288981 0.0977555 +0.30391 0.345309 0.09919 +0.353204 0.285193 0.131958 + +0.299926 0.340782 0.133392 +0.353204 0.285193 0.131958 +0.30391 0.345309 0.09919 + +0.353204 0.285193 0.131958 +0.299926 0.340782 0.133392 +0.339694 0.274284 0.162034 + +0.288454 0.327747 0.163469 +0.339694 0.274284 0.162034 +0.299926 0.340782 0.133392 + +0.339694 0.274284 0.162034 +0.288454 0.327747 0.163469 +0.318995 0.25757 0.184358 + +0.270877 0.307776 0.185793 +0.318995 0.25757 0.184358 +0.288454 0.327747 0.163469 + +0.318995 0.25757 0.184358 +0.270877 0.307776 0.185793 +0.293603 0.237068 0.196236 + +0.249315 0.283277 0.197671 +0.293603 0.237068 0.196236 +0.270877 0.307776 0.185793 + +0.293603 0.237068 0.196236 +0.249315 0.283277 0.197671 +0.266582 0.21525 0.196236 + +0.22637 0.257207 0.197671 +0.266582 0.21525 0.196236 +0.249315 0.283277 0.197671 + +0.266582 0.21525 0.196236 +0.22637 0.257207 0.197671 +0.241191 0.194748 0.184358 + +0.204809 0.232708 0.185793 +0.241191 0.194748 0.184358 +0.22637 0.257207 0.197671 + +0.241191 0.194748 0.184358 +0.204809 0.232708 0.185793 +0.220492 0.178035 0.162034 + +0.187232 0.212737 0.163469 +0.220492 0.178035 0.162034 +0.204809 0.232708 0.185793 + +0.220492 0.178035 0.162034 +0.187232 0.212737 0.163469 +0.206981 0.167126 0.131958 + +0.17576 0.199702 0.133392 +0.206981 0.167126 0.131958 +0.187232 0.212737 0.163469 + +0.206981 0.167126 0.131958 +0.17576 0.199702 0.133392 +0.202289 0.163337 0.0977555 + +0.171775 0.195175 0.09919 +0.202289 0.163337 0.0977555 +0.17576 0.199702 0.133392 + +0.202289 0.163337 0.0977555 +0.171775 0.195175 0.09919 +0.206981 0.167126 0.0635535 + +0.17576 0.199702 0.064988 +0.206981 0.167126 0.0635535 +0.171775 0.195175 0.09919 + +0.206981 0.167126 0.0635535 +0.17576 0.199702 0.064988 +0.220492 0.178035 0.0334768 + +0.187232 0.212737 0.0349113 +0.220492 0.178035 0.0334768 +0.17576 0.199702 0.064988 + +0.220492 0.178035 0.0334768 +0.187232 0.212737 0.0349113 +0.241191 0.194748 0.011153 + +0.204809 0.232708 0.0125875 +0.241191 0.194748 0.011153 +0.187232 0.212737 0.0349113 + +0.241191 0.194748 0.011153 +0.204809 0.232708 0.0125875 +0.266582 0.21525 -0.000725251 + +0.22637 0.257207 0.000709268 +0.266582 0.21525 -0.000725251 +0.204809 0.232708 0.0125875 + +0.266582 0.21525 -0.000725251 +0.22637 0.257207 0.000709268 +0.293603 0.237068 -0.000725251 + +0.249315 0.283277 0.000709268 +0.293603 0.237068 -0.000725251 +0.22637 0.257207 0.000709268 + +0.293603 0.237068 -0.000725251 +0.249315 0.283277 0.000709268 +0.318995 0.25757 0.011153 + +0.270877 0.307776 0.0125875 +0.318995 0.25757 0.011153 +0.249315 0.283277 0.000709268 + +0.318995 0.25757 0.011153 +0.270877 0.307776 0.0125875 +0.339694 0.274284 0.0334768 + +0.288454 0.327747 0.0349113 +0.339694 0.274284 0.0334768 +0.270877 0.307776 0.0125875 + +0.339694 0.274284 0.0334768 +0.288454 0.327747 0.0349113 +0.353204 0.285193 0.0635535 + +0.299926 0.340782 0.064988 +0.353204 0.285193 0.0635535 +0.288454 0.327747 0.0349113 + +0.353204 0.285193 0.0635535 +0.299926 0.340782 0.064988 +0.357896 0.288981 0.0977555 + +0.30391 0.345309 0.09919 +0.357896 0.288981 0.0977555 +0.299926 0.340782 0.064988 + +0.30391 0.345309 0.09919 +0.241181 0.391703 0.0892926 +0.299926 0.340782 0.133392 + +0.238019 0.386568 0.123495 +0.299926 0.340782 0.133392 +0.241181 0.391703 0.0892926 + +0.299926 0.340782 0.133392 +0.238019 0.386568 0.123495 +0.288454 0.327747 0.163469 + +0.228915 0.371781 0.153571 +0.288454 0.327747 0.163469 +0.238019 0.386568 0.123495 + +0.288454 0.327747 0.163469 +0.228915 0.371781 0.153571 +0.270877 0.307776 0.185793 + +0.214966 0.349127 0.175895 +0.270877 0.307776 0.185793 +0.228915 0.371781 0.153571 + +0.270877 0.307776 0.185793 +0.214966 0.349127 0.175895 +0.249315 0.283277 0.197671 + +0.197855 0.321337 0.187773 +0.249315 0.283277 0.197671 +0.214966 0.349127 0.175895 + +0.249315 0.283277 0.197671 +0.197855 0.321337 0.187773 +0.22637 0.257207 0.197671 + +0.179646 0.291764 0.187773 +0.22637 0.257207 0.197671 +0.197855 0.321337 0.187773 + +0.22637 0.257207 0.197671 +0.179646 0.291764 0.187773 +0.204809 0.232708 0.185793 + +0.162535 0.263974 0.175895 +0.204809 0.232708 0.185793 +0.179646 0.291764 0.187773 + +0.204809 0.232708 0.185793 +0.162535 0.263974 0.175895 +0.187232 0.212737 0.163469 + +0.148586 0.24132 0.153571 +0.187232 0.212737 0.163469 +0.162535 0.263974 0.175895 + +0.187232 0.212737 0.163469 +0.148586 0.24132 0.153571 +0.17576 0.199702 0.133392 + +0.139482 0.226533 0.123495 +0.17576 0.199702 0.133392 +0.148586 0.24132 0.153571 + +0.17576 0.199702 0.133392 +0.139482 0.226533 0.123495 +0.171775 0.195175 0.09919 + +0.13632 0.221398 0.0892926 +0.171775 0.195175 0.09919 +0.139482 0.226533 0.123495 + +0.171775 0.195175 0.09919 +0.13632 0.221398 0.0892926 +0.17576 0.199702 0.064988 + +0.139482 0.226533 0.0550906 +0.17576 0.199702 0.064988 +0.13632 0.221398 0.0892926 + +0.17576 0.199702 0.064988 +0.139482 0.226533 0.0550906 +0.187232 0.212737 0.0349113 + +0.148586 0.24132 0.0250138 +0.187232 0.212737 0.0349113 +0.139482 0.226533 0.0550906 + +0.187232 0.212737 0.0349113 +0.148586 0.24132 0.0250138 +0.204809 0.232708 0.0125875 + +0.162535 0.263974 0.00269005 +0.204809 0.232708 0.0125875 +0.148586 0.24132 0.0250138 + +0.204809 0.232708 0.0125875 +0.162535 0.263974 0.00269005 +0.22637 0.257207 0.000709268 + +0.179646 0.291764 -0.00918819 +0.22637 0.257207 0.000709268 +0.162535 0.263974 0.00269005 + +0.22637 0.257207 0.000709268 +0.179646 0.291764 -0.00918819 +0.249315 0.283277 0.000709268 + +0.197855 0.321337 -0.00918819 +0.249315 0.283277 0.000709268 +0.179646 0.291764 -0.00918819 + +0.249315 0.283277 0.000709268 +0.197855 0.321337 -0.00918819 +0.270877 0.307776 0.0125875 + +0.214966 0.349127 0.00269005 +0.270877 0.307776 0.0125875 +0.197855 0.321337 -0.00918819 + +0.270877 0.307776 0.0125875 +0.214966 0.349127 0.00269005 +0.288454 0.327747 0.0349113 + +0.228915 0.371781 0.0250138 +0.288454 0.327747 0.0349113 +0.214966 0.349127 0.00269005 + +0.288454 0.327747 0.0349113 +0.228915 0.371781 0.0250138 +0.299926 0.340782 0.064988 + +0.238019 0.386568 0.0550906 +0.299926 0.340782 0.064988 +0.228915 0.371781 0.0250138 + +0.299926 0.340782 0.064988 +0.238019 0.386568 0.0550906 +0.30391 0.345309 0.09919 + +0.241181 0.391703 0.0892926 +0.30391 0.345309 0.09919 +0.238019 0.386568 0.0550906 + +0.241181 0.391703 0.0892926 +0.171514 0.426829 0.0691939 +0.238019 0.386568 0.123495 + +0.169265 0.421233 0.103396 +0.238019 0.386568 0.123495 +0.171514 0.426829 0.0691939 + +0.238019 0.386568 0.123495 +0.169265 0.421233 0.103396 +0.228915 0.371781 0.153571 + +0.162791 0.40512 0.133473 +0.228915 0.371781 0.153571 +0.169265 0.421233 0.103396 + +0.228915 0.371781 0.153571 +0.162791 0.40512 0.133473 +0.214966 0.349127 0.175895 + +0.152871 0.380435 0.155796 +0.214966 0.349127 0.175895 +0.162791 0.40512 0.133473 + +0.214966 0.349127 0.175895 +0.152871 0.380435 0.155796 +0.197855 0.321337 0.187773 + +0.140703 0.350153 0.167675 +0.197855 0.321337 0.187773 +0.152871 0.380435 0.155796 + +0.197855 0.321337 0.187773 +0.140703 0.350153 0.167675 +0.179646 0.291764 0.187773 + +0.127754 0.317927 0.167675 +0.179646 0.291764 0.187773 +0.140703 0.350153 0.167675 + +0.179646 0.291764 0.187773 +0.127754 0.317927 0.167675 +0.162535 0.263974 0.175895 + +0.115586 0.287646 0.155796 +0.162535 0.263974 0.175895 +0.127754 0.317927 0.167675 + +0.162535 0.263974 0.175895 +0.115586 0.287646 0.155796 +0.148586 0.24132 0.153571 + +0.105666 0.26296 0.133473 +0.148586 0.24132 0.153571 +0.115586 0.287646 0.155796 + +0.148586 0.24132 0.153571 +0.105666 0.26296 0.133473 +0.139482 0.226533 0.123495 + +0.0991913 0.246847 0.103396 +0.139482 0.226533 0.123495 +0.105666 0.26296 0.133473 + +0.139482 0.226533 0.123495 +0.0991913 0.246847 0.103396 +0.13632 0.221398 0.0892926 + +0.0969427 0.241251 0.0691939 +0.13632 0.221398 0.0892926 +0.0991913 0.246847 0.103396 + +0.13632 0.221398 0.0892926 +0.0969427 0.241251 0.0691939 +0.139482 0.226533 0.0550906 + +0.0991913 0.246847 0.0349919 +0.139482 0.226533 0.0550906 +0.0969427 0.241251 0.0691939 + +0.139482 0.226533 0.0550906 +0.0991913 0.246847 0.0349919 +0.148586 0.24132 0.0250138 + +0.105666 0.26296 0.00491513 +0.148586 0.24132 0.0250138 +0.0991913 0.246847 0.0349919 + +0.148586 0.24132 0.0250138 +0.105666 0.26296 0.00491513 +0.162535 0.263974 0.00269005 + +0.115586 0.287646 -0.0174087 +0.162535 0.263974 0.00269005 +0.105666 0.26296 0.00491513 + +0.162535 0.263974 0.00269005 +0.115586 0.287646 -0.0174087 +0.179646 0.291764 -0.00918819 + +0.127754 0.317927 -0.0292869 +0.179646 0.291764 -0.00918819 +0.115586 0.287646 -0.0174087 + +0.179646 0.291764 -0.00918819 +0.127754 0.317927 -0.0292869 +0.197855 0.321337 -0.00918819 + +0.140703 0.350153 -0.0292869 +0.197855 0.321337 -0.00918819 +0.127754 0.317927 -0.0292869 + +0.197855 0.321337 -0.00918819 +0.140703 0.350153 -0.0292869 +0.214966 0.349127 0.00269005 + +0.152871 0.380435 -0.0174087 +0.214966 0.349127 0.00269005 +0.140703 0.350153 -0.0292869 + +0.214966 0.349127 0.00269005 +0.152871 0.380435 -0.0174087 +0.228915 0.371781 0.0250138 + +0.162791 0.40512 0.00491513 +0.228915 0.371781 0.0250138 +0.152871 0.380435 -0.0174087 + +0.228915 0.371781 0.0250138 +0.162791 0.40512 0.00491513 +0.238019 0.386568 0.0550906 + +0.169265 0.421233 0.0349919 +0.238019 0.386568 0.0550906 +0.162791 0.40512 0.00491513 + +0.238019 0.386568 0.0550906 +0.169265 0.421233 0.0349919 +0.241181 0.391703 0.0892926 + +0.171514 0.426829 0.0691939 +0.241181 0.391703 0.0892926 +0.169265 0.421233 0.0349919 + +0.171514 0.426829 0.0691939 +0.0969125 0.449675 0.0411901 +0.169265 0.421233 0.103396 + +0.0956419 0.44378 0.0753921 +0.169265 0.421233 0.103396 +0.0969125 0.449675 0.0411901 + +0.169265 0.421233 0.103396 +0.0956419 0.44378 0.0753921 +0.162791 0.40512 0.133473 + +0.0919835 0.426805 0.105469 +0.162791 0.40512 0.133473 +0.0956419 0.44378 0.0753921 + +0.162791 0.40512 0.133473 +0.0919835 0.426805 0.105469 +0.152871 0.380435 0.155796 + +0.0863785 0.400798 0.127793 +0.152871 0.380435 0.155796 +0.0919835 0.426805 0.105469 + +0.152871 0.380435 0.155796 +0.0863785 0.400798 0.127793 +0.140703 0.350153 0.167675 + +0.0795029 0.368895 0.139671 +0.140703 0.350153 0.167675 +0.0863785 0.400798 0.127793 + +0.140703 0.350153 0.167675 +0.0795029 0.368895 0.139671 +0.127754 0.317927 0.167675 + +0.0721861 0.334945 0.139671 +0.127754 0.317927 0.167675 +0.0795029 0.368895 0.139671 + +0.127754 0.317927 0.167675 +0.0721861 0.334945 0.139671 +0.115586 0.287646 0.155796 + +0.0653106 0.303042 0.127793 +0.115586 0.287646 0.155796 +0.0721861 0.334945 0.139671 + +0.115586 0.287646 0.155796 +0.0653106 0.303042 0.127793 +0.105666 0.26296 0.133473 + +0.0597056 0.277035 0.105469 +0.105666 0.26296 0.133473 +0.0653106 0.303042 0.127793 + +0.105666 0.26296 0.133473 +0.0597056 0.277035 0.105469 +0.0991913 0.246847 0.103396 + +0.0560472 0.26006 0.0753921 +0.0991913 0.246847 0.103396 +0.0597056 0.277035 0.105469 + +0.0991913 0.246847 0.103396 +0.0560472 0.26006 0.0753921 +0.0969427 0.241251 0.0691939 + +0.0547766 0.254164 0.0411901 +0.0969427 0.241251 0.0691939 +0.0560472 0.26006 0.0753921 + +0.0969427 0.241251 0.0691939 +0.0547766 0.254164 0.0411901 +0.0991913 0.246847 0.0349919 + +0.0560472 0.26006 0.00698811 +0.0991913 0.246847 0.0349919 +0.0547766 0.254164 0.0411901 + +0.0991913 0.246847 0.0349919 +0.0560472 0.26006 0.00698811 +0.105666 0.26296 0.00491513 + +0.0597056 0.277035 -0.0230886 +0.105666 0.26296 0.00491513 +0.0560472 0.26006 0.00698811 + +0.105666 0.26296 0.00491513 +0.0597056 0.277035 -0.0230886 +0.115586 0.287646 -0.0174087 + +0.0653106 0.303042 -0.0454124 +0.115586 0.287646 -0.0174087 +0.0597056 0.277035 -0.0230886 + +0.115586 0.287646 -0.0174087 +0.0653106 0.303042 -0.0454124 +0.127754 0.317927 -0.0292869 + +0.0721861 0.334945 -0.0572907 +0.127754 0.317927 -0.0292869 +0.0653106 0.303042 -0.0454124 + +0.127754 0.317927 -0.0292869 +0.0721861 0.334945 -0.0572907 +0.140703 0.350153 -0.0292869 + +0.0795029 0.368895 -0.0572907 +0.140703 0.350153 -0.0292869 +0.0721861 0.334945 -0.0572907 + +0.140703 0.350153 -0.0292869 +0.0795029 0.368895 -0.0572907 +0.152871 0.380435 -0.0174087 + +0.0863785 0.400798 -0.0454124 +0.152871 0.380435 -0.0174087 +0.0795029 0.368895 -0.0572907 + +0.152871 0.380435 -0.0174087 +0.0863785 0.400798 -0.0454124 +0.162791 0.40512 0.00491513 + +0.0919835 0.426805 -0.0230886 +0.162791 0.40512 0.00491513 +0.0863785 0.400798 -0.0454124 + +0.162791 0.40512 0.00491513 +0.0919835 0.426805 -0.0230886 +0.169265 0.421233 0.0349919 + +0.0956419 0.44378 0.00698811 +0.169265 0.421233 0.0349919 +0.0919835 0.426805 -0.0230886 + +0.169265 0.421233 0.0349919 +0.0956419 0.44378 0.00698811 +0.171514 0.426829 0.0691939 + +0.0969125 0.449675 0.0411901 +0.171514 0.426829 0.0691939 +0.0956419 0.44378 0.00698811 + +0.0969125 0.449675 0.0411901 +0.019523 0.459586 0.00848059 +0.0956419 0.44378 0.0753921 + +0.019267 0.45356 0.0426826 +0.0956419 0.44378 0.0753921 +0.019523 0.459586 0.00848059 + +0.0956419 0.44378 0.0753921 +0.019267 0.45356 0.0426826 +0.0919835 0.426805 0.105469 + +0.01853 0.436211 0.0727594 +0.0919835 0.426805 0.105469 +0.019267 0.45356 0.0426826 + +0.0919835 0.426805 0.105469 +0.01853 0.436211 0.0727594 +0.0863785 0.400798 0.127793 + +0.0174009 0.409631 0.0950831 +0.0863785 0.400798 0.127793 +0.01853 0.436211 0.0727594 + +0.0863785 0.400798 0.127793 +0.0174009 0.409631 0.0950831 +0.0795029 0.368895 0.139671 + +0.0160158 0.377025 0.106961 +0.0795029 0.368895 0.139671 +0.0174009 0.409631 0.0950831 + +0.0795029 0.368895 0.139671 +0.0160158 0.377025 0.106961 +0.0721861 0.334945 0.139671 + +0.0145418 0.342326 0.106961 +0.0721861 0.334945 0.139671 +0.0160158 0.377025 0.106961 + +0.0721861 0.334945 0.139671 +0.0145418 0.342326 0.106961 +0.0653106 0.303042 0.127793 + +0.0131568 0.309721 0.0950831 +0.0653106 0.303042 0.127793 +0.0145418 0.342326 0.106961 + +0.0653106 0.303042 0.127793 +0.0131568 0.309721 0.0950831 +0.0597056 0.277035 0.105469 + +0.0120276 0.28314 0.0727594 +0.0597056 0.277035 0.105469 +0.0131568 0.309721 0.0950831 + +0.0597056 0.277035 0.105469 +0.0120276 0.28314 0.0727594 +0.0560472 0.26006 0.0753921 + +0.0112907 0.265791 0.0426826 +0.0560472 0.26006 0.0753921 +0.0120276 0.28314 0.0727594 + +0.0560472 0.26006 0.0753921 +0.0112907 0.265791 0.0426826 +0.0547766 0.254164 0.0411901 + +0.0110347 0.259766 0.00848059 +0.0547766 0.254164 0.0411901 +0.0112907 0.265791 0.0426826 + +0.0547766 0.254164 0.0411901 +0.0110347 0.259766 0.00848059 +0.0560472 0.26006 0.00698811 + +0.0112907 0.265791 -0.0257214 +0.0560472 0.26006 0.00698811 +0.0110347 0.259766 0.00848059 + +0.0560472 0.26006 0.00698811 +0.0112907 0.265791 -0.0257214 +0.0597056 0.277035 -0.0230886 + +0.0120276 0.28314 -0.0557982 +0.0597056 0.277035 -0.0230886 +0.0112907 0.265791 -0.0257214 + +0.0597056 0.277035 -0.0230886 +0.0120276 0.28314 -0.0557982 +0.0653106 0.303042 -0.0454124 + +0.0131568 0.309721 -0.0781219 +0.0653106 0.303042 -0.0454124 +0.0120276 0.28314 -0.0557982 + +0.0653106 0.303042 -0.0454124 +0.0131568 0.309721 -0.0781219 +0.0721861 0.334945 -0.0572907 + +0.0145418 0.342326 -0.0900002 +0.0721861 0.334945 -0.0572907 +0.0131568 0.309721 -0.0781219 + +0.0721861 0.334945 -0.0572907 +0.0145418 0.342326 -0.0900002 +0.0795029 0.368895 -0.0572907 + +0.0160158 0.377025 -0.0900002 +0.0795029 0.368895 -0.0572907 +0.0145418 0.342326 -0.0900002 + +0.0795029 0.368895 -0.0572907 +0.0160158 0.377025 -0.0900002 +0.0863785 0.400798 -0.0454124 + +0.0174009 0.409631 -0.0781219 +0.0863785 0.400798 -0.0454124 +0.0160158 0.377025 -0.0900002 + +0.0863785 0.400798 -0.0454124 +0.0174009 0.409631 -0.0781219 +0.0919835 0.426805 -0.0230886 + +0.01853 0.436211 -0.0557982 +0.0919835 0.426805 -0.0230886 +0.0174009 0.409631 -0.0781219 + +0.0919835 0.426805 -0.0230886 +0.01853 0.436211 -0.0557982 +0.0956419 0.44378 0.00698811 + +0.019267 0.45356 -0.0257214 +0.0956419 0.44378 0.00698811 +0.01853 0.436211 -0.0557982 + +0.0956419 0.44378 0.00698811 +0.019267 0.45356 -0.0257214 +0.0969125 0.449675 0.0411901 + +0.019523 0.459586 0.00848059 +0.0969125 0.449675 0.0411901 +0.019267 0.45356 -0.0257214 + +0.019523 0.459586 0.00848059 +-0.0584282 0.456274 -0.0251978 +0.019267 0.45356 0.0426826 + +-0.0576622 0.450292 0.00900421 +0.019267 0.45356 0.0426826 +-0.0584282 0.456274 -0.0251978 + +0.019267 0.45356 0.0426826 +-0.0576622 0.450292 0.00900421 +0.01853 0.436211 0.0727594 + +-0.0554565 0.433068 0.039081 +0.01853 0.436211 0.0727594 +-0.0576622 0.450292 0.00900421 + +0.01853 0.436211 0.0727594 +-0.0554565 0.433068 0.039081 +0.0174009 0.409631 0.0950831 + +-0.0520773 0.406679 0.0614047 +0.0174009 0.409631 0.0950831 +-0.0554565 0.433068 0.039081 + +0.0174009 0.409631 0.0950831 +-0.0520773 0.406679 0.0614047 +0.0160158 0.377025 0.106961 + +-0.0479321 0.374308 0.073283 +0.0160158 0.377025 0.106961 +-0.0520773 0.406679 0.0614047 + +0.0160158 0.377025 0.106961 +-0.0479321 0.374308 0.073283 +0.0145418 0.342326 0.106961 + +-0.0435208 0.33986 0.073283 +0.0145418 0.342326 0.106961 +-0.0479321 0.374308 0.073283 + +0.0145418 0.342326 0.106961 +-0.0435208 0.33986 0.073283 +0.0131568 0.309721 0.0950831 + +-0.0393755 0.307489 0.0614047 +0.0131568 0.309721 0.0950831 +-0.0435208 0.33986 0.073283 + +0.0131568 0.309721 0.0950831 +-0.0393755 0.307489 0.0614047 +0.0120276 0.28314 0.0727594 + +-0.0359963 0.2811 0.039081 +0.0120276 0.28314 0.0727594 +-0.0393755 0.307489 0.0614047 + +0.0120276 0.28314 0.0727594 +-0.0359963 0.2811 0.039081 +0.0112907 0.265791 0.0426826 + +-0.0337906 0.263876 0.00900421 +0.0112907 0.265791 0.0426826 +-0.0359963 0.2811 0.039081 + +0.0112907 0.265791 0.0426826 +-0.0337906 0.263876 0.00900421 +0.0110347 0.259766 0.00848059 + +-0.0330246 0.257894 -0.0251978 +0.0110347 0.259766 0.00848059 +-0.0337906 0.263876 0.00900421 + +0.0110347 0.259766 0.00848059 +-0.0330246 0.257894 -0.0251978 +0.0112907 0.265791 -0.0257214 + +-0.0337906 0.263876 -0.0593998 +0.0112907 0.265791 -0.0257214 +-0.0330246 0.257894 -0.0251978 + +0.0112907 0.265791 -0.0257214 +-0.0337906 0.263876 -0.0593998 +0.0120276 0.28314 -0.0557982 + +-0.0359963 0.2811 -0.0894766 +0.0120276 0.28314 -0.0557982 +-0.0337906 0.263876 -0.0593998 + +0.0120276 0.28314 -0.0557982 +-0.0359963 0.2811 -0.0894766 +0.0131568 0.309721 -0.0781219 + +-0.0393755 0.307489 -0.1118 +0.0131568 0.309721 -0.0781219 +-0.0359963 0.2811 -0.0894766 + +0.0131568 0.309721 -0.0781219 +-0.0393755 0.307489 -0.1118 +0.0145418 0.342326 -0.0900002 + +-0.0435208 0.33986 -0.123679 +0.0145418 0.342326 -0.0900002 +-0.0393755 0.307489 -0.1118 + +0.0145418 0.342326 -0.0900002 +-0.0435208 0.33986 -0.123679 +0.0160158 0.377025 -0.0900002 + +-0.0479321 0.374308 -0.123679 +0.0160158 0.377025 -0.0900002 +-0.0435208 0.33986 -0.123679 + +0.0160158 0.377025 -0.0900002 +-0.0479321 0.374308 -0.123679 +0.0174009 0.409631 -0.0781219 + +-0.0520773 0.406679 -0.1118 +0.0174009 0.409631 -0.0781219 +-0.0479321 0.374308 -0.123679 + +0.0174009 0.409631 -0.0781219 +-0.0520773 0.406679 -0.1118 +0.01853 0.436211 -0.0557982 + +-0.0554565 0.433068 -0.0894766 +0.01853 0.436211 -0.0557982 +-0.0520773 0.406679 -0.1118 + +0.01853 0.436211 -0.0557982 +-0.0554565 0.433068 -0.0894766 +0.019267 0.45356 -0.0257214 + +-0.0576622 0.450292 -0.0593998 +0.019267 0.45356 -0.0257214 +-0.0554565 0.433068 -0.0894766 + +0.019267 0.45356 -0.0257214 +-0.0576622 0.450292 -0.0593998 +0.019523 0.459586 0.00848059 + +-0.0584282 0.456274 -0.0251978 +0.019523 0.459586 0.00848059 +-0.0576622 0.450292 -0.0593998 + +-0.0584282 0.456274 -0.0251978 +-0.134698 0.439837 -0.0559975 +-0.0576622 0.450292 0.00900421 + +-0.132933 0.43407 -0.0217955 +-0.0576622 0.450292 0.00900421 +-0.134698 0.439837 -0.0559975 + +-0.0576622 0.450292 0.00900421 +-0.132933 0.43407 -0.0217955 +-0.0554565 0.433068 0.039081 + +-0.127848 0.417467 0.00828128 +-0.0554565 0.433068 0.039081 +-0.132933 0.43407 -0.0217955 + +-0.0554565 0.433068 0.039081 +-0.127848 0.417467 0.00828128 +-0.0520773 0.406679 0.0614047 + +-0.120057 0.392028 0.0306051 +-0.0520773 0.406679 0.0614047 +-0.127848 0.417467 0.00828128 + +-0.0520773 0.406679 0.0614047 +-0.120057 0.392028 0.0306051 +-0.0479321 0.374308 0.073283 + +-0.110501 0.360824 0.0424833 +-0.0479321 0.374308 0.073283 +-0.120057 0.392028 0.0306051 + +-0.0479321 0.374308 0.073283 +-0.110501 0.360824 0.0424833 +-0.0435208 0.33986 0.073283 + +-0.100331 0.327616 0.0424833 +-0.0435208 0.33986 0.073283 +-0.110501 0.360824 0.0424833 + +-0.0435208 0.33986 0.073283 +-0.100331 0.327616 0.0424833 +-0.0393755 0.307489 0.0614047 + +-0.0907751 0.296412 0.0306051 +-0.0393755 0.307489 0.0614047 +-0.100331 0.327616 0.0424833 + +-0.0393755 0.307489 0.0614047 +-0.0907751 0.296412 0.0306051 +-0.0359963 0.2811 0.039081 + +-0.0829847 0.270973 0.00828128 +-0.0359963 0.2811 0.039081 +-0.0907751 0.296412 0.0306051 + +-0.0359963 0.2811 0.039081 +-0.0829847 0.270973 0.00828128 +-0.0337906 0.263876 0.00900421 + +-0.0778999 0.25437 -0.0217955 +-0.0337906 0.263876 0.00900421 +-0.0829847 0.270973 0.00828128 + +-0.0337906 0.263876 0.00900421 +-0.0778999 0.25437 -0.0217955 +-0.0330246 0.257894 -0.0251978 + +-0.0761339 0.248603 -0.0559975 +-0.0330246 0.257894 -0.0251978 +-0.0778999 0.25437 -0.0217955 + +-0.0330246 0.257894 -0.0251978 +-0.0761339 0.248603 -0.0559975 +-0.0337906 0.263876 -0.0593998 + +-0.0778999 0.25437 -0.0901995 +-0.0337906 0.263876 -0.0593998 +-0.0761339 0.248603 -0.0559975 + +-0.0337906 0.263876 -0.0593998 +-0.0778999 0.25437 -0.0901995 +-0.0359963 0.2811 -0.0894766 + +-0.0829847 0.270973 -0.120276 +-0.0359963 0.2811 -0.0894766 +-0.0778999 0.25437 -0.0901995 + +-0.0359963 0.2811 -0.0894766 +-0.0829847 0.270973 -0.120276 +-0.0393755 0.307489 -0.1118 + +-0.0907751 0.296412 -0.1426 +-0.0393755 0.307489 -0.1118 +-0.0829847 0.270973 -0.120276 + +-0.0393755 0.307489 -0.1118 +-0.0907751 0.296412 -0.1426 +-0.0435208 0.33986 -0.123679 + +-0.100331 0.327616 -0.154478 +-0.0435208 0.33986 -0.123679 +-0.0907751 0.296412 -0.1426 + +-0.0435208 0.33986 -0.123679 +-0.100331 0.327616 -0.154478 +-0.0479321 0.374308 -0.123679 + +-0.110501 0.360824 -0.154478 +-0.0479321 0.374308 -0.123679 +-0.100331 0.327616 -0.154478 + +-0.0479321 0.374308 -0.123679 +-0.110501 0.360824 -0.154478 +-0.0520773 0.406679 -0.1118 + +-0.120057 0.392028 -0.1426 +-0.0520773 0.406679 -0.1118 +-0.110501 0.360824 -0.154478 + +-0.0520773 0.406679 -0.1118 +-0.120057 0.392028 -0.1426 +-0.0554565 0.433068 -0.0894766 + +-0.127848 0.417467 -0.120276 +-0.0554565 0.433068 -0.0894766 +-0.120057 0.392028 -0.1426 + +-0.0554565 0.433068 -0.0894766 +-0.127848 0.417467 -0.120276 +-0.0576622 0.450292 -0.0593998 + +-0.132933 0.43407 -0.0901995 +-0.0576622 0.450292 -0.0593998 +-0.127848 0.417467 -0.120276 + +-0.0576622 0.450292 -0.0593998 +-0.132933 0.43407 -0.0901995 +-0.0584282 0.456274 -0.0251978 + +-0.134698 0.439837 -0.0559975 +-0.0584282 0.456274 -0.0251978 +-0.132933 0.43407 -0.0901995 + +-0.134698 0.439837 -0.0559975 +-0.207094 0.410746 -0.0803997 +-0.132933 0.43407 -0.0217955 + +-0.204379 0.405361 -0.0461977 +-0.132933 0.43407 -0.0217955 +-0.207094 0.410746 -0.0803997 + +-0.132933 0.43407 -0.0217955 +-0.204379 0.405361 -0.0461977 +-0.127848 0.417467 0.00828128 + +-0.196561 0.389855 -0.016121 +-0.127848 0.417467 0.00828128 +-0.204379 0.405361 -0.0461977 + +-0.127848 0.417467 0.00828128 +-0.196561 0.389855 -0.016121 +-0.120057 0.392028 0.0306051 + +-0.184584 0.3661 0.00620283 +-0.120057 0.392028 0.0306051 +-0.196561 0.389855 -0.016121 + +-0.120057 0.392028 0.0306051 +-0.184584 0.3661 0.00620283 +-0.110501 0.360824 0.0424833 + +-0.169891 0.336959 0.0180811 +-0.110501 0.360824 0.0424833 +-0.184584 0.3661 0.00620283 + +-0.110501 0.360824 0.0424833 +-0.169891 0.336959 0.0180811 +-0.100331 0.327616 0.0424833 + +-0.154256 0.305948 0.0180811 +-0.100331 0.327616 0.0424833 +-0.169891 0.336959 0.0180811 + +-0.100331 0.327616 0.0424833 +-0.154256 0.305948 0.0180811 +-0.0907751 0.296412 0.0306051 + +-0.139563 0.276807 0.00620283 +-0.0907751 0.296412 0.0306051 +-0.154256 0.305948 0.0180811 + +-0.0907751 0.296412 0.0306051 +-0.139563 0.276807 0.00620283 +-0.0829847 0.270973 0.00828128 + +-0.127586 0.253051 -0.016121 +-0.0829847 0.270973 0.00828128 +-0.139563 0.276807 0.00620283 + +-0.0829847 0.270973 0.00828128 +-0.127586 0.253051 -0.016121 +-0.0778999 0.25437 -0.0217955 + +-0.119768 0.237546 -0.0461977 +-0.0778999 0.25437 -0.0217955 +-0.127586 0.253051 -0.016121 + +-0.0778999 0.25437 -0.0217955 +-0.119768 0.237546 -0.0461977 +-0.0761339 0.248603 -0.0559975 + +-0.117053 0.232161 -0.0803997 +-0.0761339 0.248603 -0.0559975 +-0.119768 0.237546 -0.0461977 + +-0.0761339 0.248603 -0.0559975 +-0.117053 0.232161 -0.0803997 +-0.0778999 0.25437 -0.0901995 + +-0.119768 0.237546 -0.114602 +-0.0778999 0.25437 -0.0901995 +-0.117053 0.232161 -0.0803997 + +-0.0778999 0.25437 -0.0901995 +-0.119768 0.237546 -0.114602 +-0.0829847 0.270973 -0.120276 + +-0.127586 0.253051 -0.144678 +-0.0829847 0.270973 -0.120276 +-0.119768 0.237546 -0.114602 + +-0.0829847 0.270973 -0.120276 +-0.127586 0.253051 -0.144678 +-0.0907751 0.296412 -0.1426 + +-0.139563 0.276807 -0.167002 +-0.0907751 0.296412 -0.1426 +-0.127586 0.253051 -0.144678 + +-0.0907751 0.296412 -0.1426 +-0.139563 0.276807 -0.167002 +-0.100331 0.327616 -0.154478 + +-0.154256 0.305948 -0.17888 +-0.100331 0.327616 -0.154478 +-0.139563 0.276807 -0.167002 + +-0.100331 0.327616 -0.154478 +-0.154256 0.305948 -0.17888 +-0.110501 0.360824 -0.154478 + +-0.169891 0.336959 -0.17888 +-0.110501 0.360824 -0.154478 +-0.154256 0.305948 -0.17888 + +-0.110501 0.360824 -0.154478 +-0.169891 0.336959 -0.17888 +-0.120057 0.392028 -0.1426 + +-0.184584 0.3661 -0.167002 +-0.120057 0.392028 -0.1426 +-0.169891 0.336959 -0.17888 + +-0.120057 0.392028 -0.1426 +-0.184584 0.3661 -0.167002 +-0.127848 0.417467 -0.120276 + +-0.196561 0.389855 -0.144678 +-0.127848 0.417467 -0.120276 +-0.184584 0.3661 -0.167002 + +-0.127848 0.417467 -0.120276 +-0.196561 0.389855 -0.144678 +-0.132933 0.43407 -0.0901995 + +-0.204379 0.405361 -0.114602 +-0.132933 0.43407 -0.0901995 +-0.196561 0.389855 -0.144678 + +-0.132933 0.43407 -0.0901995 +-0.204379 0.405361 -0.114602 +-0.134698 0.439837 -0.0559975 + +-0.207094 0.410746 -0.0803997 +-0.134698 0.439837 -0.0559975 +-0.204379 0.405361 -0.114602 + +-0.207094 0.410746 -0.0803997 +-0.273531 0.369839 -0.0956167 +-0.204379 0.405361 -0.0461977 + +-0.269945 0.36499 -0.0614147 +-0.204379 0.405361 -0.0461977 +-0.273531 0.369839 -0.0956167 + +-0.204379 0.405361 -0.0461977 +-0.269945 0.36499 -0.0614147 +-0.196561 0.389855 -0.016121 + +-0.259619 0.351029 -0.0313379 +-0.196561 0.389855 -0.016121 +-0.269945 0.36499 -0.0614147 + +-0.196561 0.389855 -0.016121 +-0.259619 0.351029 -0.0313379 +-0.184584 0.3661 0.00620283 + +-0.2438 0.329639 -0.00901413 +-0.184584 0.3661 0.00620283 +-0.259619 0.351029 -0.0313379 + +-0.184584 0.3661 0.00620283 +-0.2438 0.329639 -0.00901413 +-0.169891 0.336959 0.0180811 + +-0.224394 0.3034 0.0028641 +-0.169891 0.336959 0.0180811 +-0.2438 0.329639 -0.00901413 + +-0.169891 0.336959 0.0180811 +-0.224394 0.3034 0.0028641 +-0.154256 0.305948 0.0180811 + +-0.203742 0.275478 0.0028641 +-0.154256 0.305948 0.0180811 +-0.224394 0.3034 0.0028641 + +-0.154256 0.305948 0.0180811 +-0.203742 0.275478 0.0028641 +-0.139563 0.276807 0.00620283 + +-0.184336 0.249239 -0.00901413 +-0.139563 0.276807 0.00620283 +-0.203742 0.275478 0.0028641 + +-0.139563 0.276807 0.00620283 +-0.184336 0.249239 -0.00901413 +-0.127586 0.253051 -0.016121 + +-0.168516 0.227849 -0.0313379 +-0.127586 0.253051 -0.016121 +-0.184336 0.249239 -0.00901413 + +-0.127586 0.253051 -0.016121 +-0.168516 0.227849 -0.0313379 +-0.119768 0.237546 -0.0461977 + +-0.158191 0.213888 -0.0614147 +-0.119768 0.237546 -0.0461977 +-0.168516 0.227849 -0.0313379 + +-0.119768 0.237546 -0.0461977 +-0.158191 0.213888 -0.0614147 +-0.117053 0.232161 -0.0803997 + +-0.154605 0.209039 -0.0956167 +-0.117053 0.232161 -0.0803997 +-0.158191 0.213888 -0.0614147 + +-0.117053 0.232161 -0.0803997 +-0.154605 0.209039 -0.0956167 +-0.119768 0.237546 -0.114602 + +-0.158191 0.213888 -0.129819 +-0.119768 0.237546 -0.114602 +-0.154605 0.209039 -0.0956167 + +-0.119768 0.237546 -0.114602 +-0.158191 0.213888 -0.129819 +-0.127586 0.253051 -0.144678 + +-0.168516 0.227849 -0.159895 +-0.127586 0.253051 -0.144678 +-0.158191 0.213888 -0.129819 + +-0.127586 0.253051 -0.144678 +-0.168516 0.227849 -0.159895 +-0.139563 0.276807 -0.167002 + +-0.184336 0.249239 -0.182219 +-0.139563 0.276807 -0.167002 +-0.168516 0.227849 -0.159895 + +-0.139563 0.276807 -0.167002 +-0.184336 0.249239 -0.182219 +-0.154256 0.305948 -0.17888 + +-0.203742 0.275478 -0.194097 +-0.154256 0.305948 -0.17888 +-0.184336 0.249239 -0.182219 + +-0.154256 0.305948 -0.17888 +-0.203742 0.275478 -0.194097 +-0.169891 0.336959 -0.17888 + +-0.224394 0.3034 -0.194097 +-0.169891 0.336959 -0.17888 +-0.203742 0.275478 -0.194097 + +-0.169891 0.336959 -0.17888 +-0.224394 0.3034 -0.194097 +-0.184584 0.3661 -0.167002 + +-0.2438 0.329639 -0.182219 +-0.184584 0.3661 -0.167002 +-0.224394 0.3034 -0.194097 + +-0.184584 0.3661 -0.167002 +-0.2438 0.329639 -0.182219 +-0.196561 0.389855 -0.144678 + +-0.259619 0.351029 -0.159895 +-0.196561 0.389855 -0.144678 +-0.2438 0.329639 -0.182219 + +-0.196561 0.389855 -0.144678 +-0.259619 0.351029 -0.159895 +-0.204379 0.405361 -0.114602 + +-0.269945 0.36499 -0.129819 +-0.204379 0.405361 -0.114602 +-0.259619 0.351029 -0.159895 + +-0.204379 0.405361 -0.114602 +-0.269945 0.36499 -0.129819 +-0.207094 0.410746 -0.0803997 + +-0.273531 0.369839 -0.0956167 +-0.207094 0.410746 -0.0803997 +-0.269945 0.36499 -0.129819 + +-0.273531 0.369839 -0.0956167 +-0.3321 0.318292 -0.0999099 +-0.269945 0.36499 -0.0614147 + +-0.327746 0.314119 -0.0657079 +-0.269945 0.36499 -0.0614147 +-0.3321 0.318292 -0.0999099 + +-0.269945 0.36499 -0.0614147 +-0.327746 0.314119 -0.0657079 +-0.259619 0.351029 -0.0313379 + +-0.315209 0.302104 -0.0356311 +-0.259619 0.351029 -0.0313379 +-0.327746 0.314119 -0.0657079 + +-0.259619 0.351029 -0.0313379 +-0.315209 0.302104 -0.0356311 +-0.2438 0.329639 -0.00901413 + +-0.296002 0.283695 -0.0133074 +-0.2438 0.329639 -0.00901413 +-0.315209 0.302104 -0.0356311 + +-0.2438 0.329639 -0.00901413 +-0.296002 0.283695 -0.0133074 +-0.224394 0.3034 0.0028641 + +-0.272441 0.261113 -0.00142912 +-0.224394 0.3034 0.0028641 +-0.296002 0.283695 -0.0133074 + +-0.224394 0.3034 0.0028641 +-0.272441 0.261113 -0.00142912 +-0.203742 0.275478 0.0028641 + +-0.247368 0.237083 -0.00142912 +-0.203742 0.275478 0.0028641 +-0.272441 0.261113 -0.00142912 + +-0.203742 0.275478 0.0028641 +-0.247368 0.237083 -0.00142912 +-0.184336 0.249239 -0.00901413 + +-0.223806 0.214501 -0.0133074 +-0.184336 0.249239 -0.00901413 +-0.247368 0.237083 -0.00142912 + +-0.184336 0.249239 -0.00901413 +-0.223806 0.214501 -0.0133074 +-0.168516 0.227849 -0.0313379 + +-0.204599 0.196092 -0.0356311 +-0.168516 0.227849 -0.0313379 +-0.223806 0.214501 -0.0133074 + +-0.168516 0.227849 -0.0313379 +-0.204599 0.196092 -0.0356311 +-0.158191 0.213888 -0.0614147 + +-0.192063 0.184077 -0.0657079 +-0.158191 0.213888 -0.0614147 +-0.204599 0.196092 -0.0356311 + +-0.158191 0.213888 -0.0614147 +-0.192063 0.184077 -0.0657079 +-0.154605 0.209039 -0.0956167 + +-0.187709 0.179904 -0.0999099 +-0.154605 0.209039 -0.0956167 +-0.192063 0.184077 -0.0657079 + +-0.154605 0.209039 -0.0956167 +-0.187709 0.179904 -0.0999099 +-0.158191 0.213888 -0.129819 + +-0.192063 0.184077 -0.134112 +-0.158191 0.213888 -0.129819 +-0.187709 0.179904 -0.0999099 + +-0.158191 0.213888 -0.129819 +-0.192063 0.184077 -0.134112 +-0.168516 0.227849 -0.159895 + +-0.204599 0.196092 -0.164189 +-0.168516 0.227849 -0.159895 +-0.192063 0.184077 -0.134112 + +-0.168516 0.227849 -0.159895 +-0.204599 0.196092 -0.164189 +-0.184336 0.249239 -0.182219 + +-0.223806 0.214501 -0.186512 +-0.184336 0.249239 -0.182219 +-0.204599 0.196092 -0.164189 + +-0.184336 0.249239 -0.182219 +-0.223806 0.214501 -0.186512 +-0.203742 0.275478 -0.194097 + +-0.247368 0.237083 -0.198391 +-0.203742 0.275478 -0.194097 +-0.223806 0.214501 -0.186512 + +-0.203742 0.275478 -0.194097 +-0.247368 0.237083 -0.198391 +-0.224394 0.3034 -0.194097 + +-0.272441 0.261113 -0.198391 +-0.224394 0.3034 -0.194097 +-0.247368 0.237083 -0.198391 + +-0.224394 0.3034 -0.194097 +-0.272441 0.261113 -0.198391 +-0.2438 0.329639 -0.182219 + +-0.296002 0.283695 -0.186512 +-0.2438 0.329639 -0.182219 +-0.272441 0.261113 -0.198391 + +-0.2438 0.329639 -0.182219 +-0.296002 0.283695 -0.186512 +-0.259619 0.351029 -0.159895 + +-0.315209 0.302104 -0.164189 +-0.259619 0.351029 -0.159895 +-0.296002 0.283695 -0.186512 + +-0.259619 0.351029 -0.159895 +-0.315209 0.302104 -0.164189 +-0.269945 0.36499 -0.129819 + +-0.327746 0.314119 -0.134112 +-0.269945 0.36499 -0.129819 +-0.315209 0.302104 -0.164189 + +-0.269945 0.36499 -0.129819 +-0.327746 0.314119 -0.134112 +-0.273531 0.369839 -0.0956167 + +-0.3321 0.318292 -0.0999099 +-0.273531 0.369839 -0.0956167 +-0.327746 0.314119 -0.134112 + +-0.3321 0.318292 -0.0999099 +-0.381114 0.257588 -0.0927889 +-0.327746 0.314119 -0.0657079 + +-0.376118 0.254211 -0.0585869 +-0.327746 0.314119 -0.0657079 +-0.381114 0.257588 -0.0927889 + +-0.327746 0.314119 -0.0657079 +-0.376118 0.254211 -0.0585869 +-0.315209 0.302104 -0.0356311 + +-0.361731 0.244487 -0.0285101 +-0.315209 0.302104 -0.0356311 +-0.376118 0.254211 -0.0585869 + +-0.315209 0.302104 -0.0356311 +-0.361731 0.244487 -0.0285101 +-0.296002 0.283695 -0.0133074 + +-0.339689 0.22959 -0.00618636 +-0.296002 0.283695 -0.0133074 +-0.361731 0.244487 -0.0285101 + +-0.296002 0.283695 -0.0133074 +-0.339689 0.22959 -0.00618636 +-0.272441 0.261113 -0.00142912 + +-0.31265 0.211315 0.00569187 +-0.272441 0.261113 -0.00142912 +-0.339689 0.22959 -0.00618636 + +-0.272441 0.261113 -0.00142912 +-0.31265 0.211315 0.00569187 +-0.247368 0.237083 -0.00142912 + +-0.283877 0.191867 0.00569187 +-0.247368 0.237083 -0.00142912 +-0.31265 0.211315 0.00569187 + +-0.247368 0.237083 -0.00142912 +-0.283877 0.191867 0.00569187 +-0.223806 0.214501 -0.0133074 + +-0.256838 0.173592 -0.00618636 +-0.223806 0.214501 -0.0133074 +-0.283877 0.191867 0.00569187 + +-0.223806 0.214501 -0.0133074 +-0.256838 0.173592 -0.00618636 +-0.204599 0.196092 -0.0356311 + +-0.234796 0.158694 -0.0285101 +-0.204599 0.196092 -0.0356311 +-0.256838 0.173592 -0.00618636 + +-0.204599 0.196092 -0.0356311 +-0.234796 0.158694 -0.0285101 +-0.192063 0.184077 -0.0657079 + +-0.220409 0.148971 -0.0585869 +-0.192063 0.184077 -0.0657079 +-0.234796 0.158694 -0.0285101 + +-0.192063 0.184077 -0.0657079 +-0.220409 0.148971 -0.0585869 +-0.187709 0.179904 -0.0999099 + +-0.215413 0.145593 -0.0927889 +-0.187709 0.179904 -0.0999099 +-0.220409 0.148971 -0.0585869 + +-0.187709 0.179904 -0.0999099 +-0.215413 0.145593 -0.0927889 +-0.192063 0.184077 -0.134112 + +-0.220409 0.148971 -0.126991 +-0.192063 0.184077 -0.134112 +-0.215413 0.145593 -0.0927889 + +-0.192063 0.184077 -0.134112 +-0.220409 0.148971 -0.126991 +-0.204599 0.196092 -0.164189 + +-0.234796 0.158694 -0.157068 +-0.204599 0.196092 -0.164189 +-0.220409 0.148971 -0.126991 + +-0.204599 0.196092 -0.164189 +-0.234796 0.158694 -0.157068 +-0.223806 0.214501 -0.186512 + +-0.256838 0.173592 -0.179391 +-0.223806 0.214501 -0.186512 +-0.234796 0.158694 -0.157068 + +-0.223806 0.214501 -0.186512 +-0.256838 0.173592 -0.179391 +-0.247368 0.237083 -0.198391 + +-0.283877 0.191867 -0.19127 +-0.247368 0.237083 -0.198391 +-0.256838 0.173592 -0.179391 + +-0.247368 0.237083 -0.198391 +-0.283877 0.191867 -0.19127 +-0.272441 0.261113 -0.198391 + +-0.31265 0.211315 -0.19127 +-0.272441 0.261113 -0.198391 +-0.283877 0.191867 -0.19127 + +-0.272441 0.261113 -0.198391 +-0.31265 0.211315 -0.19127 +-0.296002 0.283695 -0.186512 + +-0.339689 0.22959 -0.179391 +-0.296002 0.283695 -0.186512 +-0.31265 0.211315 -0.19127 + +-0.296002 0.283695 -0.186512 +-0.339689 0.22959 -0.179391 +-0.315209 0.302104 -0.164189 + +-0.361731 0.244487 -0.157068 +-0.315209 0.302104 -0.164189 +-0.339689 0.22959 -0.179391 + +-0.315209 0.302104 -0.164189 +-0.361731 0.244487 -0.157068 +-0.327746 0.314119 -0.134112 + +-0.376118 0.254211 -0.126991 +-0.327746 0.314119 -0.134112 +-0.361731 0.244487 -0.157068 + +-0.327746 0.314119 -0.134112 +-0.376118 0.254211 -0.126991 +-0.3321 0.318292 -0.0999099 + +-0.381114 0.257588 -0.0927889 +-0.3321 0.318292 -0.0999099 +-0.376118 0.254211 -0.126991 + +-0.381114 0.257588 -0.0927889 +-0.419165 0.189475 -0.0750672 +-0.376118 0.254211 -0.0585869 + +-0.41367 0.186991 -0.0408652 +-0.376118 0.254211 -0.0585869 +-0.419165 0.189475 -0.0750672 + +-0.376118 0.254211 -0.0585869 +-0.41367 0.186991 -0.0408652 +-0.361731 0.244487 -0.0285101 + +-0.397846 0.179838 -0.0107885 +-0.361731 0.244487 -0.0285101 +-0.41367 0.186991 -0.0408652 + +-0.361731 0.244487 -0.0285101 +-0.397846 0.179838 -0.0107885 +-0.339689 0.22959 -0.00618636 + +-0.373604 0.16888 0.0115353 +-0.339689 0.22959 -0.00618636 +-0.397846 0.179838 -0.0107885 + +-0.339689 0.22959 -0.00618636 +-0.373604 0.16888 0.0115353 +-0.31265 0.211315 0.00569187 + +-0.343866 0.155437 0.0234135 +-0.31265 0.211315 0.00569187 +-0.373604 0.16888 0.0115353 + +-0.31265 0.211315 0.00569187 +-0.343866 0.155437 0.0234135 +-0.283877 0.191867 0.00569187 + +-0.312219 0.141132 0.0234135 +-0.283877 0.191867 0.00569187 +-0.343866 0.155437 0.0234135 + +-0.283877 0.191867 0.00569187 +-0.312219 0.141132 0.0234135 +-0.256838 0.173592 -0.00618636 + +-0.282481 0.127689 0.0115353 +-0.256838 0.173592 -0.00618636 +-0.312219 0.141132 0.0234135 + +-0.256838 0.173592 -0.00618636 +-0.282481 0.127689 0.0115353 +-0.234796 0.158694 -0.0285101 + +-0.258238 0.116731 -0.0107885 +-0.234796 0.158694 -0.0285101 +-0.282481 0.127689 0.0115353 + +-0.234796 0.158694 -0.0285101 +-0.258238 0.116731 -0.0107885 +-0.220409 0.148971 -0.0585869 + +-0.242415 0.109578 -0.0408652 +-0.220409 0.148971 -0.0585869 +-0.258238 0.116731 -0.0107885 + +-0.220409 0.148971 -0.0585869 +-0.242415 0.109578 -0.0408652 +-0.215413 0.145593 -0.0927889 + +-0.236919 0.107094 -0.0750672 +-0.215413 0.145593 -0.0927889 +-0.242415 0.109578 -0.0408652 + +-0.215413 0.145593 -0.0927889 +-0.236919 0.107094 -0.0750672 +-0.220409 0.148971 -0.126991 + +-0.242415 0.109578 -0.109269 +-0.220409 0.148971 -0.126991 +-0.236919 0.107094 -0.0750672 + +-0.220409 0.148971 -0.126991 +-0.242415 0.109578 -0.109269 +-0.234796 0.158694 -0.157068 + +-0.258238 0.116731 -0.139346 +-0.234796 0.158694 -0.157068 +-0.242415 0.109578 -0.109269 + +-0.234796 0.158694 -0.157068 +-0.258238 0.116731 -0.139346 +-0.256838 0.173592 -0.179391 + +-0.282481 0.127689 -0.16167 +-0.256838 0.173592 -0.179391 +-0.258238 0.116731 -0.139346 + +-0.256838 0.173592 -0.179391 +-0.282481 0.127689 -0.16167 +-0.283877 0.191867 -0.19127 + +-0.312219 0.141132 -0.173548 +-0.283877 0.191867 -0.19127 +-0.282481 0.127689 -0.16167 + +-0.283877 0.191867 -0.19127 +-0.312219 0.141132 -0.173548 +-0.31265 0.211315 -0.19127 + +-0.343866 0.155437 -0.173548 +-0.31265 0.211315 -0.19127 +-0.312219 0.141132 -0.173548 + +-0.31265 0.211315 -0.19127 +-0.343866 0.155437 -0.173548 +-0.339689 0.22959 -0.179391 + +-0.373604 0.16888 -0.16167 +-0.339689 0.22959 -0.179391 +-0.343866 0.155437 -0.173548 + +-0.339689 0.22959 -0.179391 +-0.373604 0.16888 -0.16167 +-0.361731 0.244487 -0.157068 + +-0.397846 0.179838 -0.139346 +-0.361731 0.244487 -0.157068 +-0.373604 0.16888 -0.16167 + +-0.361731 0.244487 -0.157068 +-0.397846 0.179838 -0.139346 +-0.376118 0.254211 -0.126991 + +-0.41367 0.186991 -0.109269 +-0.376118 0.254211 -0.126991 +-0.397846 0.179838 -0.139346 + +-0.376118 0.254211 -0.126991 +-0.41367 0.186991 -0.109269 +-0.381114 0.257588 -0.0927889 + +-0.419165 0.189475 -0.0750672 +-0.381114 0.257588 -0.0927889 +-0.41367 0.186991 -0.109269 + +-0.419165 0.189475 -0.0750672 +-0.445157 0.11591 -0.0487695 +-0.41367 0.186991 -0.0408652 + +-0.439321 0.11439 -0.0145675 +-0.41367 0.186991 -0.0408652 +-0.445157 0.11591 -0.0487695 + +-0.41367 0.186991 -0.0408652 +-0.439321 0.11439 -0.0145675 +-0.397846 0.179838 -0.0107885 + +-0.422517 0.110015 0.0155093 +-0.397846 0.179838 -0.0107885 +-0.439321 0.11439 -0.0145675 + +-0.397846 0.179838 -0.0107885 +-0.422517 0.110015 0.0155093 +-0.373604 0.16888 0.0115353 + +-0.396771 0.103311 0.037833 +-0.373604 0.16888 0.0115353 +-0.422517 0.110015 0.0155093 + +-0.373604 0.16888 0.0115353 +-0.396771 0.103311 0.037833 +-0.343866 0.155437 0.0234135 + +-0.365188 0.0950877 0.0497113 +-0.343866 0.155437 0.0234135 +-0.396771 0.103311 0.037833 + +-0.343866 0.155437 0.0234135 +-0.365188 0.0950877 0.0497113 +-0.312219 0.141132 0.0234135 + +-0.331579 0.0863365 0.0497113 +-0.312219 0.141132 0.0234135 +-0.365188 0.0950877 0.0497113 + +-0.312219 0.141132 0.0234135 +-0.331579 0.0863365 0.0497113 +-0.282481 0.127689 0.0115353 + +-0.299997 0.0781132 0.037833 +-0.282481 0.127689 0.0115353 +-0.331579 0.0863365 0.0497113 + +-0.282481 0.127689 0.0115353 +-0.299997 0.0781132 0.037833 +-0.258238 0.116731 -0.0107885 + +-0.274251 0.0714095 0.0155093 +-0.258238 0.116731 -0.0107885 +-0.299997 0.0781132 0.037833 + +-0.258238 0.116731 -0.0107885 +-0.274251 0.0714095 0.0155093 +-0.242415 0.109578 -0.0408652 + +-0.257447 0.0670339 -0.0145675 +-0.242415 0.109578 -0.0408652 +-0.274251 0.0714095 0.0155093 + +-0.242415 0.109578 -0.0408652 +-0.257447 0.0670339 -0.0145675 +-0.236919 0.107094 -0.0750672 + +-0.251611 0.0655143 -0.0487695 +-0.236919 0.107094 -0.0750672 +-0.257447 0.0670339 -0.0145675 + +-0.236919 0.107094 -0.0750672 +-0.251611 0.0655143 -0.0487695 +-0.242415 0.109578 -0.109269 + +-0.257447 0.0670339 -0.0829715 +-0.242415 0.109578 -0.109269 +-0.251611 0.0655143 -0.0487695 + +-0.242415 0.109578 -0.109269 +-0.257447 0.0670339 -0.0829715 +-0.258238 0.116731 -0.139346 + +-0.274251 0.0714095 -0.113048 +-0.258238 0.116731 -0.139346 +-0.257447 0.0670339 -0.0829715 + +-0.258238 0.116731 -0.139346 +-0.274251 0.0714095 -0.113048 +-0.282481 0.127689 -0.16167 + +-0.299997 0.0781132 -0.135372 +-0.282481 0.127689 -0.16167 +-0.274251 0.0714095 -0.113048 + +-0.282481 0.127689 -0.16167 +-0.299997 0.0781132 -0.135372 +-0.312219 0.141132 -0.173548 + +-0.331579 0.0863365 -0.14725 +-0.312219 0.141132 -0.173548 +-0.299997 0.0781132 -0.135372 + +-0.312219 0.141132 -0.173548 +-0.331579 0.0863365 -0.14725 +-0.343866 0.155437 -0.173548 + +-0.365188 0.0950877 -0.14725 +-0.343866 0.155437 -0.173548 +-0.331579 0.0863365 -0.14725 + +-0.343866 0.155437 -0.173548 +-0.365188 0.0950877 -0.14725 +-0.373604 0.16888 -0.16167 + +-0.396771 0.103311 -0.135372 +-0.373604 0.16888 -0.16167 +-0.365188 0.0950877 -0.14725 + +-0.373604 0.16888 -0.16167 +-0.396771 0.103311 -0.135372 +-0.397846 0.179838 -0.139346 + +-0.422517 0.110015 -0.113048 +-0.397846 0.179838 -0.139346 +-0.396771 0.103311 -0.135372 + +-0.397846 0.179838 -0.139346 +-0.422517 0.110015 -0.113048 +-0.41367 0.186991 -0.109269 + +-0.439321 0.11439 -0.0829715 +-0.41367 0.186991 -0.109269 +-0.422517 0.110015 -0.113048 + +-0.41367 0.186991 -0.109269 +-0.439321 0.11439 -0.0829715 +-0.419165 0.189475 -0.0750672 + +-0.445157 0.11591 -0.0487695 +-0.419165 0.189475 -0.0750672 +-0.439321 0.11439 -0.0829715 + +-0.445157 0.11591 -0.0487695 +-0.458343 0.0390107 -0.0169001 +-0.439321 0.11439 -0.0145675 + +-0.452334 0.0384993 0.0173019 +-0.439321 0.11439 -0.0145675 +-0.458343 0.0390107 -0.0169001 + +-0.439321 0.11439 -0.0145675 +-0.452334 0.0384993 0.0173019 +-0.422517 0.110015 0.0155093 + +-0.435032 0.0370266 0.0473787 +-0.422517 0.110015 0.0155093 +-0.452334 0.0384993 0.0173019 + +-0.422517 0.110015 0.0155093 +-0.435032 0.0370266 0.0473787 +-0.396771 0.103311 0.037833 + +-0.408523 0.0347704 0.0697025 +-0.396771 0.103311 0.037833 +-0.435032 0.0370266 0.0473787 + +-0.396771 0.103311 0.037833 +-0.408523 0.0347704 0.0697025 +-0.365188 0.0950877 0.0497113 + +-0.376005 0.0320028 0.0815807 +-0.365188 0.0950877 0.0497113 +-0.408523 0.0347704 0.0697025 + +-0.365188 0.0950877 0.0497113 +-0.376005 0.0320028 0.0815807 +-0.331579 0.0863365 0.0497113 + +-0.341401 0.0290575 0.0815807 +-0.331579 0.0863365 0.0497113 +-0.376005 0.0320028 0.0815807 + +-0.331579 0.0863365 0.0497113 +-0.341401 0.0290575 0.0815807 +-0.299997 0.0781132 0.037833 + +-0.308883 0.0262898 0.0697025 +-0.299997 0.0781132 0.037833 +-0.341401 0.0290575 0.0815807 + +-0.299997 0.0781132 0.037833 +-0.308883 0.0262898 0.0697025 +-0.274251 0.0714095 0.0155093 + +-0.282375 0.0240336 0.0473787 +-0.274251 0.0714095 0.0155093 +-0.308883 0.0262898 0.0697025 + +-0.274251 0.0714095 0.0155093 +-0.282375 0.0240336 0.0473787 +-0.257447 0.0670339 -0.0145675 + +-0.265072 0.022561 0.0173019 +-0.257447 0.0670339 -0.0145675 +-0.282375 0.0240336 0.0473787 + +-0.257447 0.0670339 -0.0145675 +-0.265072 0.022561 0.0173019 +-0.251611 0.0655143 -0.0487695 + +-0.259063 0.0220495 -0.0169001 +-0.251611 0.0655143 -0.0487695 +-0.265072 0.022561 0.0173019 + +-0.251611 0.0655143 -0.0487695 +-0.259063 0.0220495 -0.0169001 +-0.257447 0.0670339 -0.0829715 + +-0.265072 0.022561 -0.0511021 +-0.257447 0.0670339 -0.0829715 +-0.259063 0.0220495 -0.0169001 + +-0.257447 0.0670339 -0.0829715 +-0.265072 0.022561 -0.0511021 +-0.274251 0.0714095 -0.113048 + +-0.282375 0.0240336 -0.0811788 +-0.274251 0.0714095 -0.113048 +-0.265072 0.022561 -0.0511021 + +-0.274251 0.0714095 -0.113048 +-0.282375 0.0240336 -0.0811788 +-0.299997 0.0781132 -0.135372 + +-0.308883 0.0262898 -0.103503 +-0.299997 0.0781132 -0.135372 +-0.282375 0.0240336 -0.0811788 + +-0.299997 0.0781132 -0.135372 +-0.308883 0.0262898 -0.103503 +-0.331579 0.0863365 -0.14725 + +-0.341401 0.0290575 -0.115381 +-0.331579 0.0863365 -0.14725 +-0.308883 0.0262898 -0.103503 + +-0.331579 0.0863365 -0.14725 +-0.341401 0.0290575 -0.115381 +-0.365188 0.0950877 -0.14725 + +-0.376005 0.0320028 -0.115381 +-0.365188 0.0950877 -0.14725 +-0.341401 0.0290575 -0.115381 + +-0.365188 0.0950877 -0.14725 +-0.376005 0.0320028 -0.115381 +-0.396771 0.103311 -0.135372 + +-0.408523 0.0347704 -0.103503 +-0.396771 0.103311 -0.135372 +-0.376005 0.0320028 -0.115381 + +-0.396771 0.103311 -0.135372 +-0.408523 0.0347704 -0.103503 +-0.422517 0.110015 -0.113048 + +-0.435032 0.0370266 -0.0811788 +-0.422517 0.110015 -0.113048 +-0.408523 0.0347704 -0.103503 + +-0.422517 0.110015 -0.113048 +-0.435032 0.0370266 -0.0811788 +-0.439321 0.11439 -0.0829715 + +-0.452334 0.0384993 -0.0511021 +-0.439321 0.11439 -0.0829715 +-0.435032 0.0370266 -0.0811788 + +-0.439321 0.11439 -0.0829715 +-0.452334 0.0384993 -0.0511021 +-0.445157 0.11591 -0.0487695 + +-0.458343 0.0390107 -0.0169001 +-0.445157 0.11591 -0.0487695 +-0.452334 0.0384993 -0.0511021 + +-0.458343 0.0390107 -0.0169001 +-0.458343 -0.0390107 0.0169001 +-0.452334 0.0384993 0.0173019 + +-0.452334 -0.0384993 0.0511021 +-0.452334 0.0384993 0.0173019 +-0.458343 -0.0390107 0.0169001 + +-0.452334 0.0384993 0.0173019 +-0.452334 -0.0384993 0.0511021 +-0.435032 0.0370266 0.0473787 + +-0.435032 -0.0370266 0.0811788 +-0.435032 0.0370266 0.0473787 +-0.452334 -0.0384993 0.0511021 + +-0.435032 0.0370266 0.0473787 +-0.435032 -0.0370266 0.0811788 +-0.408523 0.0347704 0.0697025 + +-0.408523 -0.0347704 0.103503 +-0.408523 0.0347704 0.0697025 +-0.435032 -0.0370266 0.0811788 + +-0.408523 0.0347704 0.0697025 +-0.408523 -0.0347704 0.103503 +-0.376005 0.0320028 0.0815807 + +-0.376005 -0.0320028 0.115381 +-0.376005 0.0320028 0.0815807 +-0.408523 -0.0347704 0.103503 + +-0.376005 0.0320028 0.0815807 +-0.376005 -0.0320028 0.115381 +-0.341401 0.0290575 0.0815807 + +-0.341401 -0.0290575 0.115381 +-0.341401 0.0290575 0.0815807 +-0.376005 -0.0320028 0.115381 + +-0.341401 0.0290575 0.0815807 +-0.341401 -0.0290575 0.115381 +-0.308883 0.0262898 0.0697025 + +-0.308883 -0.0262898 0.103503 +-0.308883 0.0262898 0.0697025 +-0.341401 -0.0290575 0.115381 + +-0.308883 0.0262898 0.0697025 +-0.308883 -0.0262898 0.103503 +-0.282375 0.0240336 0.0473787 + +-0.282375 -0.0240336 0.0811788 +-0.282375 0.0240336 0.0473787 +-0.308883 -0.0262898 0.103503 + +-0.282375 0.0240336 0.0473787 +-0.282375 -0.0240336 0.0811788 +-0.265072 0.022561 0.0173019 + +-0.265072 -0.022561 0.0511021 +-0.265072 0.022561 0.0173019 +-0.282375 -0.0240336 0.0811788 + +-0.265072 0.022561 0.0173019 +-0.265072 -0.022561 0.0511021 +-0.259063 0.0220495 -0.0169001 + +-0.259063 -0.0220495 0.0169001 +-0.259063 0.0220495 -0.0169001 +-0.265072 -0.022561 0.0511021 + +-0.259063 0.0220495 -0.0169001 +-0.259063 -0.0220495 0.0169001 +-0.265072 0.022561 -0.0511021 + +-0.265072 -0.022561 -0.0173019 +-0.265072 0.022561 -0.0511021 +-0.259063 -0.0220495 0.0169001 + +-0.265072 0.022561 -0.0511021 +-0.265072 -0.022561 -0.0173019 +-0.282375 0.0240336 -0.0811788 + +-0.282375 -0.0240336 -0.0473787 +-0.282375 0.0240336 -0.0811788 +-0.265072 -0.022561 -0.0173019 + +-0.282375 0.0240336 -0.0811788 +-0.282375 -0.0240336 -0.0473787 +-0.308883 0.0262898 -0.103503 + +-0.308883 -0.0262898 -0.0697025 +-0.308883 0.0262898 -0.103503 +-0.282375 -0.0240336 -0.0473787 + +-0.308883 0.0262898 -0.103503 +-0.308883 -0.0262898 -0.0697025 +-0.341401 0.0290575 -0.115381 + +-0.341401 -0.0290575 -0.0815807 +-0.341401 0.0290575 -0.115381 +-0.308883 -0.0262898 -0.0697025 + +-0.341401 0.0290575 -0.115381 +-0.341401 -0.0290575 -0.0815807 +-0.376005 0.0320028 -0.115381 + +-0.376005 -0.0320028 -0.0815807 +-0.376005 0.0320028 -0.115381 +-0.341401 -0.0290575 -0.0815807 + +-0.376005 0.0320028 -0.115381 +-0.376005 -0.0320028 -0.0815807 +-0.408523 0.0347704 -0.103503 + +-0.408523 -0.0347704 -0.0697025 +-0.408523 0.0347704 -0.103503 +-0.376005 -0.0320028 -0.0815807 + +-0.408523 0.0347704 -0.103503 +-0.408523 -0.0347704 -0.0697025 +-0.435032 0.0370266 -0.0811788 + +-0.435032 -0.0370266 -0.0473787 +-0.435032 0.0370266 -0.0811788 +-0.408523 -0.0347704 -0.0697025 + +-0.435032 0.0370266 -0.0811788 +-0.435032 -0.0370266 -0.0473787 +-0.452334 0.0384993 -0.0511021 + +-0.452334 -0.0384993 -0.0173019 +-0.452334 0.0384993 -0.0511021 +-0.435032 -0.0370266 -0.0473787 + +-0.452334 0.0384993 -0.0511021 +-0.452334 -0.0384993 -0.0173019 +-0.458343 0.0390107 -0.0169001 + +-0.458343 -0.0390107 0.0169001 +-0.458343 0.0390107 -0.0169001 +-0.452334 -0.0384993 -0.0173019 + +-0.458343 -0.0390107 0.0169001 +-0.445157 -0.11591 0.0487695 +-0.452334 -0.0384993 0.0511021 + +-0.439321 -0.11439 0.0829715 +-0.452334 -0.0384993 0.0511021 +-0.445157 -0.11591 0.0487695 + +-0.452334 -0.0384993 0.0511021 +-0.439321 -0.11439 0.0829715 +-0.435032 -0.0370266 0.0811788 + +-0.422517 -0.110015 0.113048 +-0.435032 -0.0370266 0.0811788 +-0.439321 -0.11439 0.0829715 + +-0.435032 -0.0370266 0.0811788 +-0.422517 -0.110015 0.113048 +-0.408523 -0.0347704 0.103503 + +-0.396771 -0.103311 0.135372 +-0.408523 -0.0347704 0.103503 +-0.422517 -0.110015 0.113048 + +-0.408523 -0.0347704 0.103503 +-0.396771 -0.103311 0.135372 +-0.376005 -0.0320028 0.115381 + +-0.365188 -0.0950877 0.14725 +-0.376005 -0.0320028 0.115381 +-0.396771 -0.103311 0.135372 + +-0.376005 -0.0320028 0.115381 +-0.365188 -0.0950877 0.14725 +-0.341401 -0.0290575 0.115381 + +-0.331579 -0.0863365 0.14725 +-0.341401 -0.0290575 0.115381 +-0.365188 -0.0950877 0.14725 + +-0.341401 -0.0290575 0.115381 +-0.331579 -0.0863365 0.14725 +-0.308883 -0.0262898 0.103503 + +-0.299997 -0.0781132 0.135372 +-0.308883 -0.0262898 0.103503 +-0.331579 -0.0863365 0.14725 + +-0.308883 -0.0262898 0.103503 +-0.299997 -0.0781132 0.135372 +-0.282375 -0.0240336 0.0811788 + +-0.274251 -0.0714095 0.113048 +-0.282375 -0.0240336 0.0811788 +-0.299997 -0.0781132 0.135372 + +-0.282375 -0.0240336 0.0811788 +-0.274251 -0.0714095 0.113048 +-0.265072 -0.022561 0.0511021 + +-0.257447 -0.0670339 0.0829715 +-0.265072 -0.022561 0.0511021 +-0.274251 -0.0714095 0.113048 + +-0.265072 -0.022561 0.0511021 +-0.257447 -0.0670339 0.0829715 +-0.259063 -0.0220495 0.0169001 + +-0.251611 -0.0655143 0.0487695 +-0.259063 -0.0220495 0.0169001 +-0.257447 -0.0670339 0.0829715 + +-0.259063 -0.0220495 0.0169001 +-0.251611 -0.0655143 0.0487695 +-0.265072 -0.022561 -0.0173019 + +-0.257447 -0.0670339 0.0145675 +-0.265072 -0.022561 -0.0173019 +-0.251611 -0.0655143 0.0487695 + +-0.265072 -0.022561 -0.0173019 +-0.257447 -0.0670339 0.0145675 +-0.282375 -0.0240336 -0.0473787 + +-0.274251 -0.0714095 -0.0155093 +-0.282375 -0.0240336 -0.0473787 +-0.257447 -0.0670339 0.0145675 + +-0.282375 -0.0240336 -0.0473787 +-0.274251 -0.0714095 -0.0155093 +-0.308883 -0.0262898 -0.0697025 + +-0.299997 -0.0781132 -0.037833 +-0.308883 -0.0262898 -0.0697025 +-0.274251 -0.0714095 -0.0155093 + +-0.308883 -0.0262898 -0.0697025 +-0.299997 -0.0781132 -0.037833 +-0.341401 -0.0290575 -0.0815807 + +-0.331579 -0.0863365 -0.0497113 +-0.341401 -0.0290575 -0.0815807 +-0.299997 -0.0781132 -0.037833 + +-0.341401 -0.0290575 -0.0815807 +-0.331579 -0.0863365 -0.0497113 +-0.376005 -0.0320028 -0.0815807 + +-0.365188 -0.0950877 -0.0497113 +-0.376005 -0.0320028 -0.0815807 +-0.331579 -0.0863365 -0.0497113 + +-0.376005 -0.0320028 -0.0815807 +-0.365188 -0.0950877 -0.0497113 +-0.408523 -0.0347704 -0.0697025 + +-0.396771 -0.103311 -0.037833 +-0.408523 -0.0347704 -0.0697025 +-0.365188 -0.0950877 -0.0497113 + +-0.408523 -0.0347704 -0.0697025 +-0.396771 -0.103311 -0.037833 +-0.435032 -0.0370266 -0.0473787 + +-0.422517 -0.110015 -0.0155093 +-0.435032 -0.0370266 -0.0473787 +-0.396771 -0.103311 -0.037833 + +-0.435032 -0.0370266 -0.0473787 +-0.422517 -0.110015 -0.0155093 +-0.452334 -0.0384993 -0.0173019 + +-0.439321 -0.11439 0.0145675 +-0.452334 -0.0384993 -0.0173019 +-0.422517 -0.110015 -0.0155093 + +-0.452334 -0.0384993 -0.0173019 +-0.439321 -0.11439 0.0145675 +-0.458343 -0.0390107 0.0169001 + +-0.445157 -0.11591 0.0487695 +-0.458343 -0.0390107 0.0169001 +-0.439321 -0.11439 0.0145675 + +-0.445157 -0.11591 0.0487695 +-0.419165 -0.189475 0.0750672 +-0.439321 -0.11439 0.0829715 + +-0.41367 -0.186991 0.109269 +-0.439321 -0.11439 0.0829715 +-0.419165 -0.189475 0.0750672 + +-0.439321 -0.11439 0.0829715 +-0.41367 -0.186991 0.109269 +-0.422517 -0.110015 0.113048 + +-0.397846 -0.179838 0.139346 +-0.422517 -0.110015 0.113048 +-0.41367 -0.186991 0.109269 + +-0.422517 -0.110015 0.113048 +-0.397846 -0.179838 0.139346 +-0.396771 -0.103311 0.135372 + +-0.373604 -0.16888 0.16167 +-0.396771 -0.103311 0.135372 +-0.397846 -0.179838 0.139346 + +-0.396771 -0.103311 0.135372 +-0.373604 -0.16888 0.16167 +-0.365188 -0.0950877 0.14725 + +-0.343866 -0.155437 0.173548 +-0.365188 -0.0950877 0.14725 +-0.373604 -0.16888 0.16167 + +-0.365188 -0.0950877 0.14725 +-0.343866 -0.155437 0.173548 +-0.331579 -0.0863365 0.14725 + +-0.312219 -0.141132 0.173548 +-0.331579 -0.0863365 0.14725 +-0.343866 -0.155437 0.173548 + +-0.331579 -0.0863365 0.14725 +-0.312219 -0.141132 0.173548 +-0.299997 -0.0781132 0.135372 + +-0.282481 -0.127689 0.16167 +-0.299997 -0.0781132 0.135372 +-0.312219 -0.141132 0.173548 + +-0.299997 -0.0781132 0.135372 +-0.282481 -0.127689 0.16167 +-0.274251 -0.0714095 0.113048 + +-0.258238 -0.116731 0.139346 +-0.274251 -0.0714095 0.113048 +-0.282481 -0.127689 0.16167 + +-0.274251 -0.0714095 0.113048 +-0.258238 -0.116731 0.139346 +-0.257447 -0.0670339 0.0829715 + +-0.242415 -0.109578 0.109269 +-0.257447 -0.0670339 0.0829715 +-0.258238 -0.116731 0.139346 + +-0.257447 -0.0670339 0.0829715 +-0.242415 -0.109578 0.109269 +-0.251611 -0.0655143 0.0487695 + +-0.236919 -0.107094 0.0750672 +-0.251611 -0.0655143 0.0487695 +-0.242415 -0.109578 0.109269 + +-0.251611 -0.0655143 0.0487695 +-0.236919 -0.107094 0.0750672 +-0.257447 -0.0670339 0.0145675 + +-0.242415 -0.109578 0.0408652 +-0.257447 -0.0670339 0.0145675 +-0.236919 -0.107094 0.0750672 + +-0.257447 -0.0670339 0.0145675 +-0.242415 -0.109578 0.0408652 +-0.274251 -0.0714095 -0.0155093 + +-0.258238 -0.116731 0.0107885 +-0.274251 -0.0714095 -0.0155093 +-0.242415 -0.109578 0.0408652 + +-0.274251 -0.0714095 -0.0155093 +-0.258238 -0.116731 0.0107885 +-0.299997 -0.0781132 -0.037833 + +-0.282481 -0.127689 -0.0115353 +-0.299997 -0.0781132 -0.037833 +-0.258238 -0.116731 0.0107885 + +-0.299997 -0.0781132 -0.037833 +-0.282481 -0.127689 -0.0115353 +-0.331579 -0.0863365 -0.0497113 + +-0.312219 -0.141132 -0.0234135 +-0.331579 -0.0863365 -0.0497113 +-0.282481 -0.127689 -0.0115353 + +-0.331579 -0.0863365 -0.0497113 +-0.312219 -0.141132 -0.0234135 +-0.365188 -0.0950877 -0.0497113 + +-0.343866 -0.155437 -0.0234135 +-0.365188 -0.0950877 -0.0497113 +-0.312219 -0.141132 -0.0234135 + +-0.365188 -0.0950877 -0.0497113 +-0.343866 -0.155437 -0.0234135 +-0.396771 -0.103311 -0.037833 + +-0.373604 -0.16888 -0.0115353 +-0.396771 -0.103311 -0.037833 +-0.343866 -0.155437 -0.0234135 + +-0.396771 -0.103311 -0.037833 +-0.373604 -0.16888 -0.0115353 +-0.422517 -0.110015 -0.0155093 + +-0.397846 -0.179838 0.0107885 +-0.422517 -0.110015 -0.0155093 +-0.373604 -0.16888 -0.0115353 + +-0.422517 -0.110015 -0.0155093 +-0.397846 -0.179838 0.0107885 +-0.439321 -0.11439 0.0145675 + +-0.41367 -0.186991 0.0408652 +-0.439321 -0.11439 0.0145675 +-0.397846 -0.179838 0.0107885 + +-0.439321 -0.11439 0.0145675 +-0.41367 -0.186991 0.0408652 +-0.445157 -0.11591 0.0487695 + +-0.419165 -0.189475 0.0750672 +-0.445157 -0.11591 0.0487695 +-0.41367 -0.186991 0.0408652 + +-0.419165 -0.189475 0.0750672 +-0.381114 -0.257588 0.0927889 +-0.41367 -0.186991 0.109269 + +-0.376118 -0.254211 0.126991 +-0.41367 -0.186991 0.109269 +-0.381114 -0.257588 0.0927889 + +-0.41367 -0.186991 0.109269 +-0.376118 -0.254211 0.126991 +-0.397846 -0.179838 0.139346 + +-0.361731 -0.244487 0.157068 +-0.397846 -0.179838 0.139346 +-0.376118 -0.254211 0.126991 + +-0.397846 -0.179838 0.139346 +-0.361731 -0.244487 0.157068 +-0.373604 -0.16888 0.16167 + +-0.339689 -0.22959 0.179391 +-0.373604 -0.16888 0.16167 +-0.361731 -0.244487 0.157068 + +-0.373604 -0.16888 0.16167 +-0.339689 -0.22959 0.179391 +-0.343866 -0.155437 0.173548 + +-0.31265 -0.211315 0.19127 +-0.343866 -0.155437 0.173548 +-0.339689 -0.22959 0.179391 + +-0.343866 -0.155437 0.173548 +-0.31265 -0.211315 0.19127 +-0.312219 -0.141132 0.173548 + +-0.283877 -0.191867 0.19127 +-0.312219 -0.141132 0.173548 +-0.31265 -0.211315 0.19127 + +-0.312219 -0.141132 0.173548 +-0.283877 -0.191867 0.19127 +-0.282481 -0.127689 0.16167 + +-0.256838 -0.173592 0.179391 +-0.282481 -0.127689 0.16167 +-0.283877 -0.191867 0.19127 + +-0.282481 -0.127689 0.16167 +-0.256838 -0.173592 0.179391 +-0.258238 -0.116731 0.139346 + +-0.234796 -0.158694 0.157068 +-0.258238 -0.116731 0.139346 +-0.256838 -0.173592 0.179391 + +-0.258238 -0.116731 0.139346 +-0.234796 -0.158694 0.157068 +-0.242415 -0.109578 0.109269 + +-0.220409 -0.148971 0.126991 +-0.242415 -0.109578 0.109269 +-0.234796 -0.158694 0.157068 + +-0.242415 -0.109578 0.109269 +-0.220409 -0.148971 0.126991 +-0.236919 -0.107094 0.0750672 + +-0.215413 -0.145593 0.0927889 +-0.236919 -0.107094 0.0750672 +-0.220409 -0.148971 0.126991 + +-0.236919 -0.107094 0.0750672 +-0.215413 -0.145593 0.0927889 +-0.242415 -0.109578 0.0408652 + +-0.220409 -0.148971 0.0585869 +-0.242415 -0.109578 0.0408652 +-0.215413 -0.145593 0.0927889 + +-0.242415 -0.109578 0.0408652 +-0.220409 -0.148971 0.0585869 +-0.258238 -0.116731 0.0107885 + +-0.234796 -0.158694 0.0285101 +-0.258238 -0.116731 0.0107885 +-0.220409 -0.148971 0.0585869 + +-0.258238 -0.116731 0.0107885 +-0.234796 -0.158694 0.0285101 +-0.282481 -0.127689 -0.0115353 + +-0.256838 -0.173592 0.00618636 +-0.282481 -0.127689 -0.0115353 +-0.234796 -0.158694 0.0285101 + +-0.282481 -0.127689 -0.0115353 +-0.256838 -0.173592 0.00618636 +-0.312219 -0.141132 -0.0234135 + +-0.283877 -0.191867 -0.00569187 +-0.312219 -0.141132 -0.0234135 +-0.256838 -0.173592 0.00618636 + +-0.312219 -0.141132 -0.0234135 +-0.283877 -0.191867 -0.00569187 +-0.343866 -0.155437 -0.0234135 + +-0.31265 -0.211315 -0.00569187 +-0.343866 -0.155437 -0.0234135 +-0.283877 -0.191867 -0.00569187 + +-0.343866 -0.155437 -0.0234135 +-0.31265 -0.211315 -0.00569187 +-0.373604 -0.16888 -0.0115353 + +-0.339689 -0.22959 0.00618636 +-0.373604 -0.16888 -0.0115353 +-0.31265 -0.211315 -0.00569187 + +-0.373604 -0.16888 -0.0115353 +-0.339689 -0.22959 0.00618636 +-0.397846 -0.179838 0.0107885 + +-0.361731 -0.244487 0.0285101 +-0.397846 -0.179838 0.0107885 +-0.339689 -0.22959 0.00618636 + +-0.397846 -0.179838 0.0107885 +-0.361731 -0.244487 0.0285101 +-0.41367 -0.186991 0.0408652 + +-0.376118 -0.254211 0.0585869 +-0.41367 -0.186991 0.0408652 +-0.361731 -0.244487 0.0285101 + +-0.41367 -0.186991 0.0408652 +-0.376118 -0.254211 0.0585869 +-0.419165 -0.189475 0.0750672 + +-0.381114 -0.257588 0.0927889 +-0.419165 -0.189475 0.0750672 +-0.376118 -0.254211 0.0585869 + +-0.381114 -0.257588 0.0927889 +-0.3321 -0.318292 0.0999099 +-0.376118 -0.254211 0.126991 + +-0.327746 -0.314119 0.134112 +-0.376118 -0.254211 0.126991 +-0.3321 -0.318292 0.0999099 + +-0.376118 -0.254211 0.126991 +-0.327746 -0.314119 0.134112 +-0.361731 -0.244487 0.157068 + +-0.315209 -0.302104 0.164189 +-0.361731 -0.244487 0.157068 +-0.327746 -0.314119 0.134112 + +-0.361731 -0.244487 0.157068 +-0.315209 -0.302104 0.164189 +-0.339689 -0.22959 0.179391 + +-0.296002 -0.283695 0.186512 +-0.339689 -0.22959 0.179391 +-0.315209 -0.302104 0.164189 + +-0.339689 -0.22959 0.179391 +-0.296002 -0.283695 0.186512 +-0.31265 -0.211315 0.19127 + +-0.272441 -0.261113 0.198391 +-0.31265 -0.211315 0.19127 +-0.296002 -0.283695 0.186512 + +-0.31265 -0.211315 0.19127 +-0.272441 -0.261113 0.198391 +-0.283877 -0.191867 0.19127 + +-0.247368 -0.237083 0.198391 +-0.283877 -0.191867 0.19127 +-0.272441 -0.261113 0.198391 + +-0.283877 -0.191867 0.19127 +-0.247368 -0.237083 0.198391 +-0.256838 -0.173592 0.179391 + +-0.223806 -0.214501 0.186512 +-0.256838 -0.173592 0.179391 +-0.247368 -0.237083 0.198391 + +-0.256838 -0.173592 0.179391 +-0.223806 -0.214501 0.186512 +-0.234796 -0.158694 0.157068 + +-0.204599 -0.196092 0.164189 +-0.234796 -0.158694 0.157068 +-0.223806 -0.214501 0.186512 + +-0.234796 -0.158694 0.157068 +-0.204599 -0.196092 0.164189 +-0.220409 -0.148971 0.126991 + +-0.192063 -0.184077 0.134112 +-0.220409 -0.148971 0.126991 +-0.204599 -0.196092 0.164189 + +-0.220409 -0.148971 0.126991 +-0.192063 -0.184077 0.134112 +-0.215413 -0.145593 0.0927889 + +-0.187709 -0.179904 0.0999099 +-0.215413 -0.145593 0.0927889 +-0.192063 -0.184077 0.134112 + +-0.215413 -0.145593 0.0927889 +-0.187709 -0.179904 0.0999099 +-0.220409 -0.148971 0.0585869 + +-0.192063 -0.184077 0.0657079 +-0.220409 -0.148971 0.0585869 +-0.187709 -0.179904 0.0999099 + +-0.220409 -0.148971 0.0585869 +-0.192063 -0.184077 0.0657079 +-0.234796 -0.158694 0.0285101 + +-0.204599 -0.196092 0.0356311 +-0.234796 -0.158694 0.0285101 +-0.192063 -0.184077 0.0657079 + +-0.234796 -0.158694 0.0285101 +-0.204599 -0.196092 0.0356311 +-0.256838 -0.173592 0.00618636 + +-0.223806 -0.214501 0.0133074 +-0.256838 -0.173592 0.00618636 +-0.204599 -0.196092 0.0356311 + +-0.256838 -0.173592 0.00618636 +-0.223806 -0.214501 0.0133074 +-0.283877 -0.191867 -0.00569187 + +-0.247368 -0.237083 0.00142912 +-0.283877 -0.191867 -0.00569187 +-0.223806 -0.214501 0.0133074 + +-0.283877 -0.191867 -0.00569187 +-0.247368 -0.237083 0.00142912 +-0.31265 -0.211315 -0.00569187 + +-0.272441 -0.261113 0.00142912 +-0.31265 -0.211315 -0.00569187 +-0.247368 -0.237083 0.00142912 + +-0.31265 -0.211315 -0.00569187 +-0.272441 -0.261113 0.00142912 +-0.339689 -0.22959 0.00618636 + +-0.296002 -0.283695 0.0133074 +-0.339689 -0.22959 0.00618636 +-0.272441 -0.261113 0.00142912 + +-0.339689 -0.22959 0.00618636 +-0.296002 -0.283695 0.0133074 +-0.361731 -0.244487 0.0285101 + +-0.315209 -0.302104 0.0356311 +-0.361731 -0.244487 0.0285101 +-0.296002 -0.283695 0.0133074 + +-0.361731 -0.244487 0.0285101 +-0.315209 -0.302104 0.0356311 +-0.376118 -0.254211 0.0585869 + +-0.327746 -0.314119 0.0657079 +-0.376118 -0.254211 0.0585869 +-0.315209 -0.302104 0.0356311 + +-0.376118 -0.254211 0.0585869 +-0.327746 -0.314119 0.0657079 +-0.381114 -0.257588 0.0927889 + +-0.3321 -0.318292 0.0999099 +-0.381114 -0.257588 0.0927889 +-0.327746 -0.314119 0.0657079 + +-0.3321 -0.318292 0.0999099 +-0.273531 -0.369839 0.0956167 +-0.327746 -0.314119 0.134112 + +-0.269945 -0.36499 0.129819 +-0.327746 -0.314119 0.134112 +-0.273531 -0.369839 0.0956167 + +-0.327746 -0.314119 0.134112 +-0.269945 -0.36499 0.129819 +-0.315209 -0.302104 0.164189 + +-0.259619 -0.351029 0.159895 +-0.315209 -0.302104 0.164189 +-0.269945 -0.36499 0.129819 + +-0.315209 -0.302104 0.164189 +-0.259619 -0.351029 0.159895 +-0.296002 -0.283695 0.186512 + +-0.2438 -0.329639 0.182219 +-0.296002 -0.283695 0.186512 +-0.259619 -0.351029 0.159895 + +-0.296002 -0.283695 0.186512 +-0.2438 -0.329639 0.182219 +-0.272441 -0.261113 0.198391 + +-0.224394 -0.3034 0.194097 +-0.272441 -0.261113 0.198391 +-0.2438 -0.329639 0.182219 + +-0.272441 -0.261113 0.198391 +-0.224394 -0.3034 0.194097 +-0.247368 -0.237083 0.198391 + +-0.203742 -0.275478 0.194097 +-0.247368 -0.237083 0.198391 +-0.224394 -0.3034 0.194097 + +-0.247368 -0.237083 0.198391 +-0.203742 -0.275478 0.194097 +-0.223806 -0.214501 0.186512 + +-0.184336 -0.249239 0.182219 +-0.223806 -0.214501 0.186512 +-0.203742 -0.275478 0.194097 + +-0.223806 -0.214501 0.186512 +-0.184336 -0.249239 0.182219 +-0.204599 -0.196092 0.164189 + +-0.168516 -0.227849 0.159895 +-0.204599 -0.196092 0.164189 +-0.184336 -0.249239 0.182219 + +-0.204599 -0.196092 0.164189 +-0.168516 -0.227849 0.159895 +-0.192063 -0.184077 0.134112 + +-0.158191 -0.213888 0.129819 +-0.192063 -0.184077 0.134112 +-0.168516 -0.227849 0.159895 + +-0.192063 -0.184077 0.134112 +-0.158191 -0.213888 0.129819 +-0.187709 -0.179904 0.0999099 + +-0.154605 -0.209039 0.0956167 +-0.187709 -0.179904 0.0999099 +-0.158191 -0.213888 0.129819 + +-0.187709 -0.179904 0.0999099 +-0.154605 -0.209039 0.0956167 +-0.192063 -0.184077 0.0657079 + +-0.158191 -0.213888 0.0614147 +-0.192063 -0.184077 0.0657079 +-0.154605 -0.209039 0.0956167 + +-0.192063 -0.184077 0.0657079 +-0.158191 -0.213888 0.0614147 +-0.204599 -0.196092 0.0356311 + +-0.168516 -0.227849 0.0313379 +-0.204599 -0.196092 0.0356311 +-0.158191 -0.213888 0.0614147 + +-0.204599 -0.196092 0.0356311 +-0.168516 -0.227849 0.0313379 +-0.223806 -0.214501 0.0133074 + +-0.184336 -0.249239 0.00901413 +-0.223806 -0.214501 0.0133074 +-0.168516 -0.227849 0.0313379 + +-0.223806 -0.214501 0.0133074 +-0.184336 -0.249239 0.00901413 +-0.247368 -0.237083 0.00142912 + +-0.203742 -0.275478 -0.0028641 +-0.247368 -0.237083 0.00142912 +-0.184336 -0.249239 0.00901413 + +-0.247368 -0.237083 0.00142912 +-0.203742 -0.275478 -0.0028641 +-0.272441 -0.261113 0.00142912 + +-0.224394 -0.3034 -0.0028641 +-0.272441 -0.261113 0.00142912 +-0.203742 -0.275478 -0.0028641 + +-0.272441 -0.261113 0.00142912 +-0.224394 -0.3034 -0.0028641 +-0.296002 -0.283695 0.0133074 + +-0.2438 -0.329639 0.00901413 +-0.296002 -0.283695 0.0133074 +-0.224394 -0.3034 -0.0028641 + +-0.296002 -0.283695 0.0133074 +-0.2438 -0.329639 0.00901413 +-0.315209 -0.302104 0.0356311 + +-0.259619 -0.351029 0.0313379 +-0.315209 -0.302104 0.0356311 +-0.2438 -0.329639 0.00901413 + +-0.315209 -0.302104 0.0356311 +-0.259619 -0.351029 0.0313379 +-0.327746 -0.314119 0.0657079 + +-0.269945 -0.36499 0.0614147 +-0.327746 -0.314119 0.0657079 +-0.259619 -0.351029 0.0313379 + +-0.327746 -0.314119 0.0657079 +-0.269945 -0.36499 0.0614147 +-0.3321 -0.318292 0.0999099 + +-0.273531 -0.369839 0.0956167 +-0.3321 -0.318292 0.0999099 +-0.269945 -0.36499 0.0614147 + +-0.273531 -0.369839 0.0956167 +-0.207094 -0.410746 0.0803997 +-0.269945 -0.36499 0.129819 + +-0.204379 -0.405361 0.114602 +-0.269945 -0.36499 0.129819 +-0.207094 -0.410746 0.0803997 + +-0.269945 -0.36499 0.129819 +-0.204379 -0.405361 0.114602 +-0.259619 -0.351029 0.159895 + +-0.196561 -0.389855 0.144678 +-0.259619 -0.351029 0.159895 +-0.204379 -0.405361 0.114602 + +-0.259619 -0.351029 0.159895 +-0.196561 -0.389855 0.144678 +-0.2438 -0.329639 0.182219 + +-0.184584 -0.3661 0.167002 +-0.2438 -0.329639 0.182219 +-0.196561 -0.389855 0.144678 + +-0.2438 -0.329639 0.182219 +-0.184584 -0.3661 0.167002 +-0.224394 -0.3034 0.194097 + +-0.169891 -0.336959 0.17888 +-0.224394 -0.3034 0.194097 +-0.184584 -0.3661 0.167002 + +-0.224394 -0.3034 0.194097 +-0.169891 -0.336959 0.17888 +-0.203742 -0.275478 0.194097 + +-0.154256 -0.305948 0.17888 +-0.203742 -0.275478 0.194097 +-0.169891 -0.336959 0.17888 + +-0.203742 -0.275478 0.194097 +-0.154256 -0.305948 0.17888 +-0.184336 -0.249239 0.182219 + +-0.139563 -0.276807 0.167002 +-0.184336 -0.249239 0.182219 +-0.154256 -0.305948 0.17888 + +-0.184336 -0.249239 0.182219 +-0.139563 -0.276807 0.167002 +-0.168516 -0.227849 0.159895 + +-0.127586 -0.253051 0.144678 +-0.168516 -0.227849 0.159895 +-0.139563 -0.276807 0.167002 + +-0.168516 -0.227849 0.159895 +-0.127586 -0.253051 0.144678 +-0.158191 -0.213888 0.129819 + +-0.119768 -0.237546 0.114602 +-0.158191 -0.213888 0.129819 +-0.127586 -0.253051 0.144678 + +-0.158191 -0.213888 0.129819 +-0.119768 -0.237546 0.114602 +-0.154605 -0.209039 0.0956167 + +-0.117053 -0.232161 0.0803997 +-0.154605 -0.209039 0.0956167 +-0.119768 -0.237546 0.114602 + +-0.154605 -0.209039 0.0956167 +-0.117053 -0.232161 0.0803997 +-0.158191 -0.213888 0.0614147 + +-0.119768 -0.237546 0.0461977 +-0.158191 -0.213888 0.0614147 +-0.117053 -0.232161 0.0803997 + +-0.158191 -0.213888 0.0614147 +-0.119768 -0.237546 0.0461977 +-0.168516 -0.227849 0.0313379 + +-0.127586 -0.253051 0.016121 +-0.168516 -0.227849 0.0313379 +-0.119768 -0.237546 0.0461977 + +-0.168516 -0.227849 0.0313379 +-0.127586 -0.253051 0.016121 +-0.184336 -0.249239 0.00901413 + +-0.139563 -0.276807 -0.00620283 +-0.184336 -0.249239 0.00901413 +-0.127586 -0.253051 0.016121 + +-0.184336 -0.249239 0.00901413 +-0.139563 -0.276807 -0.00620283 +-0.203742 -0.275478 -0.0028641 + +-0.154256 -0.305948 -0.0180811 +-0.203742 -0.275478 -0.0028641 +-0.139563 -0.276807 -0.00620283 + +-0.203742 -0.275478 -0.0028641 +-0.154256 -0.305948 -0.0180811 +-0.224394 -0.3034 -0.0028641 + +-0.169891 -0.336959 -0.0180811 +-0.224394 -0.3034 -0.0028641 +-0.154256 -0.305948 -0.0180811 + +-0.224394 -0.3034 -0.0028641 +-0.169891 -0.336959 -0.0180811 +-0.2438 -0.329639 0.00901413 + +-0.184584 -0.3661 -0.00620283 +-0.2438 -0.329639 0.00901413 +-0.169891 -0.336959 -0.0180811 + +-0.2438 -0.329639 0.00901413 +-0.184584 -0.3661 -0.00620283 +-0.259619 -0.351029 0.0313379 + +-0.196561 -0.389855 0.016121 +-0.259619 -0.351029 0.0313379 +-0.184584 -0.3661 -0.00620283 + +-0.259619 -0.351029 0.0313379 +-0.196561 -0.389855 0.016121 +-0.269945 -0.36499 0.0614147 + +-0.204379 -0.405361 0.0461977 +-0.269945 -0.36499 0.0614147 +-0.196561 -0.389855 0.016121 + +-0.269945 -0.36499 0.0614147 +-0.204379 -0.405361 0.0461977 +-0.273531 -0.369839 0.0956167 + +-0.207094 -0.410746 0.0803997 +-0.273531 -0.369839 0.0956167 +-0.204379 -0.405361 0.0461977 + +-0.207094 -0.410746 0.0803997 +-0.134698 -0.439837 0.0559975 +-0.204379 -0.405361 0.114602 + +-0.132933 -0.43407 0.0901995 +-0.204379 -0.405361 0.114602 +-0.134698 -0.439837 0.0559975 + +-0.204379 -0.405361 0.114602 +-0.132933 -0.43407 0.0901995 +-0.196561 -0.389855 0.144678 + +-0.127848 -0.417467 0.120276 +-0.196561 -0.389855 0.144678 +-0.132933 -0.43407 0.0901995 + +-0.196561 -0.389855 0.144678 +-0.127848 -0.417467 0.120276 +-0.184584 -0.3661 0.167002 + +-0.120057 -0.392028 0.1426 +-0.184584 -0.3661 0.167002 +-0.127848 -0.417467 0.120276 + +-0.184584 -0.3661 0.167002 +-0.120057 -0.392028 0.1426 +-0.169891 -0.336959 0.17888 + +-0.110501 -0.360824 0.154478 +-0.169891 -0.336959 0.17888 +-0.120057 -0.392028 0.1426 + +-0.169891 -0.336959 0.17888 +-0.110501 -0.360824 0.154478 +-0.154256 -0.305948 0.17888 + +-0.100331 -0.327616 0.154478 +-0.154256 -0.305948 0.17888 +-0.110501 -0.360824 0.154478 + +-0.154256 -0.305948 0.17888 +-0.100331 -0.327616 0.154478 +-0.139563 -0.276807 0.167002 + +-0.0907751 -0.296412 0.1426 +-0.139563 -0.276807 0.167002 +-0.100331 -0.327616 0.154478 + +-0.139563 -0.276807 0.167002 +-0.0907751 -0.296412 0.1426 +-0.127586 -0.253051 0.144678 + +-0.0829847 -0.270973 0.120276 +-0.127586 -0.253051 0.144678 +-0.0907751 -0.296412 0.1426 + +-0.127586 -0.253051 0.144678 +-0.0829847 -0.270973 0.120276 +-0.119768 -0.237546 0.114602 + +-0.0778999 -0.25437 0.0901995 +-0.119768 -0.237546 0.114602 +-0.0829847 -0.270973 0.120276 + +-0.119768 -0.237546 0.114602 +-0.0778999 -0.25437 0.0901995 +-0.117053 -0.232161 0.0803997 + +-0.0761339 -0.248603 0.0559975 +-0.117053 -0.232161 0.0803997 +-0.0778999 -0.25437 0.0901995 + +-0.117053 -0.232161 0.0803997 +-0.0761339 -0.248603 0.0559975 +-0.119768 -0.237546 0.0461977 + +-0.0778999 -0.25437 0.0217955 +-0.119768 -0.237546 0.0461977 +-0.0761339 -0.248603 0.0559975 + +-0.119768 -0.237546 0.0461977 +-0.0778999 -0.25437 0.0217955 +-0.127586 -0.253051 0.016121 + +-0.0829847 -0.270973 -0.00828128 +-0.127586 -0.253051 0.016121 +-0.0778999 -0.25437 0.0217955 + +-0.127586 -0.253051 0.016121 +-0.0829847 -0.270973 -0.00828128 +-0.139563 -0.276807 -0.00620283 + +-0.0907751 -0.296412 -0.0306051 +-0.139563 -0.276807 -0.00620283 +-0.0829847 -0.270973 -0.00828128 + +-0.139563 -0.276807 -0.00620283 +-0.0907751 -0.296412 -0.0306051 +-0.154256 -0.305948 -0.0180811 + +-0.100331 -0.327616 -0.0424833 +-0.154256 -0.305948 -0.0180811 +-0.0907751 -0.296412 -0.0306051 + +-0.154256 -0.305948 -0.0180811 +-0.100331 -0.327616 -0.0424833 +-0.169891 -0.336959 -0.0180811 + +-0.110501 -0.360824 -0.0424833 +-0.169891 -0.336959 -0.0180811 +-0.100331 -0.327616 -0.0424833 + +-0.169891 -0.336959 -0.0180811 +-0.110501 -0.360824 -0.0424833 +-0.184584 -0.3661 -0.00620283 + +-0.120057 -0.392028 -0.0306051 +-0.184584 -0.3661 -0.00620283 +-0.110501 -0.360824 -0.0424833 + +-0.184584 -0.3661 -0.00620283 +-0.120057 -0.392028 -0.0306051 +-0.196561 -0.389855 0.016121 + +-0.127848 -0.417467 -0.00828128 +-0.196561 -0.389855 0.016121 +-0.120057 -0.392028 -0.0306051 + +-0.196561 -0.389855 0.016121 +-0.127848 -0.417467 -0.00828128 +-0.204379 -0.405361 0.0461977 + +-0.132933 -0.43407 0.0217955 +-0.204379 -0.405361 0.0461977 +-0.127848 -0.417467 -0.00828128 + +-0.204379 -0.405361 0.0461977 +-0.132933 -0.43407 0.0217955 +-0.207094 -0.410746 0.0803997 + +-0.134698 -0.439837 0.0559975 +-0.207094 -0.410746 0.0803997 +-0.132933 -0.43407 0.0217955 + +-0.134698 -0.439837 0.0559975 +-0.0584282 -0.456274 0.0251978 +-0.132933 -0.43407 0.0901995 + +-0.0576622 -0.450292 0.0593998 +-0.132933 -0.43407 0.0901995 +-0.0584282 -0.456274 0.0251978 + +-0.132933 -0.43407 0.0901995 +-0.0576622 -0.450292 0.0593998 +-0.127848 -0.417467 0.120276 + +-0.0554565 -0.433068 0.0894766 +-0.127848 -0.417467 0.120276 +-0.0576622 -0.450292 0.0593998 + +-0.127848 -0.417467 0.120276 +-0.0554565 -0.433068 0.0894766 +-0.120057 -0.392028 0.1426 + +-0.0520773 -0.406679 0.1118 +-0.120057 -0.392028 0.1426 +-0.0554565 -0.433068 0.0894766 + +-0.120057 -0.392028 0.1426 +-0.0520773 -0.406679 0.1118 +-0.110501 -0.360824 0.154478 + +-0.0479321 -0.374308 0.123679 +-0.110501 -0.360824 0.154478 +-0.0520773 -0.406679 0.1118 + +-0.110501 -0.360824 0.154478 +-0.0479321 -0.374308 0.123679 +-0.100331 -0.327616 0.154478 + +-0.0435208 -0.33986 0.123679 +-0.100331 -0.327616 0.154478 +-0.0479321 -0.374308 0.123679 + +-0.100331 -0.327616 0.154478 +-0.0435208 -0.33986 0.123679 +-0.0907751 -0.296412 0.1426 + +-0.0393755 -0.307489 0.1118 +-0.0907751 -0.296412 0.1426 +-0.0435208 -0.33986 0.123679 + +-0.0907751 -0.296412 0.1426 +-0.0393755 -0.307489 0.1118 +-0.0829847 -0.270973 0.120276 + +-0.0359963 -0.2811 0.0894766 +-0.0829847 -0.270973 0.120276 +-0.0393755 -0.307489 0.1118 + +-0.0829847 -0.270973 0.120276 +-0.0359963 -0.2811 0.0894766 +-0.0778999 -0.25437 0.0901995 + +-0.0337906 -0.263876 0.0593998 +-0.0778999 -0.25437 0.0901995 +-0.0359963 -0.2811 0.0894766 + +-0.0778999 -0.25437 0.0901995 +-0.0337906 -0.263876 0.0593998 +-0.0761339 -0.248603 0.0559975 + +-0.0330246 -0.257894 0.0251978 +-0.0761339 -0.248603 0.0559975 +-0.0337906 -0.263876 0.0593998 + +-0.0761339 -0.248603 0.0559975 +-0.0330246 -0.257894 0.0251978 +-0.0778999 -0.25437 0.0217955 + +-0.0337906 -0.263876 -0.00900421 +-0.0778999 -0.25437 0.0217955 +-0.0330246 -0.257894 0.0251978 + +-0.0778999 -0.25437 0.0217955 +-0.0337906 -0.263876 -0.00900421 +-0.0829847 -0.270973 -0.00828128 + +-0.0359963 -0.2811 -0.039081 +-0.0829847 -0.270973 -0.00828128 +-0.0337906 -0.263876 -0.00900421 + +-0.0829847 -0.270973 -0.00828128 +-0.0359963 -0.2811 -0.039081 +-0.0907751 -0.296412 -0.0306051 + +-0.0393755 -0.307489 -0.0614047 +-0.0907751 -0.296412 -0.0306051 +-0.0359963 -0.2811 -0.039081 + +-0.0907751 -0.296412 -0.0306051 +-0.0393755 -0.307489 -0.0614047 +-0.100331 -0.327616 -0.0424833 + +-0.0435208 -0.33986 -0.073283 +-0.100331 -0.327616 -0.0424833 +-0.0393755 -0.307489 -0.0614047 + +-0.100331 -0.327616 -0.0424833 +-0.0435208 -0.33986 -0.073283 +-0.110501 -0.360824 -0.0424833 + +-0.0479321 -0.374308 -0.073283 +-0.110501 -0.360824 -0.0424833 +-0.0435208 -0.33986 -0.073283 + +-0.110501 -0.360824 -0.0424833 +-0.0479321 -0.374308 -0.073283 +-0.120057 -0.392028 -0.0306051 + +-0.0520773 -0.406679 -0.0614047 +-0.120057 -0.392028 -0.0306051 +-0.0479321 -0.374308 -0.073283 + +-0.120057 -0.392028 -0.0306051 +-0.0520773 -0.406679 -0.0614047 +-0.127848 -0.417467 -0.00828128 + +-0.0554565 -0.433068 -0.039081 +-0.127848 -0.417467 -0.00828128 +-0.0520773 -0.406679 -0.0614047 + +-0.127848 -0.417467 -0.00828128 +-0.0554565 -0.433068 -0.039081 +-0.132933 -0.43407 0.0217955 + +-0.0576622 -0.450292 -0.00900421 +-0.132933 -0.43407 0.0217955 +-0.0554565 -0.433068 -0.039081 + +-0.132933 -0.43407 0.0217955 +-0.0576622 -0.450292 -0.00900421 +-0.134698 -0.439837 0.0559975 + +-0.0584282 -0.456274 0.0251978 +-0.134698 -0.439837 0.0559975 +-0.0576622 -0.450292 -0.00900421 + +-0.0584282 -0.456274 0.0251978 +0.019523 -0.459586 -0.00848059 +-0.0576622 -0.450292 0.0593998 + +0.019267 -0.45356 0.0257214 +-0.0576622 -0.450292 0.0593998 +0.019523 -0.459586 -0.00848059 + +-0.0576622 -0.450292 0.0593998 +0.019267 -0.45356 0.0257214 +-0.0554565 -0.433068 0.0894766 + +0.01853 -0.436211 0.0557982 +-0.0554565 -0.433068 0.0894766 +0.019267 -0.45356 0.0257214 + +-0.0554565 -0.433068 0.0894766 +0.01853 -0.436211 0.0557982 +-0.0520773 -0.406679 0.1118 + +0.0174009 -0.409631 0.0781219 +-0.0520773 -0.406679 0.1118 +0.01853 -0.436211 0.0557982 + +-0.0520773 -0.406679 0.1118 +0.0174009 -0.409631 0.0781219 +-0.0479321 -0.374308 0.123679 + +0.0160158 -0.377025 0.0900002 +-0.0479321 -0.374308 0.123679 +0.0174009 -0.409631 0.0781219 + +-0.0479321 -0.374308 0.123679 +0.0160158 -0.377025 0.0900002 +-0.0435208 -0.33986 0.123679 + +0.0145418 -0.342326 0.0900002 +-0.0435208 -0.33986 0.123679 +0.0160158 -0.377025 0.0900002 + +-0.0435208 -0.33986 0.123679 +0.0145418 -0.342326 0.0900002 +-0.0393755 -0.307489 0.1118 + +0.0131568 -0.309721 0.0781219 +-0.0393755 -0.307489 0.1118 +0.0145418 -0.342326 0.0900002 + +-0.0393755 -0.307489 0.1118 +0.0131568 -0.309721 0.0781219 +-0.0359963 -0.2811 0.0894766 + +0.0120276 -0.28314 0.0557982 +-0.0359963 -0.2811 0.0894766 +0.0131568 -0.309721 0.0781219 + +-0.0359963 -0.2811 0.0894766 +0.0120276 -0.28314 0.0557982 +-0.0337906 -0.263876 0.0593998 + +0.0112907 -0.265791 0.0257214 +-0.0337906 -0.263876 0.0593998 +0.0120276 -0.28314 0.0557982 + +-0.0337906 -0.263876 0.0593998 +0.0112907 -0.265791 0.0257214 +-0.0330246 -0.257894 0.0251978 + +0.0110347 -0.259766 -0.00848059 +-0.0330246 -0.257894 0.0251978 +0.0112907 -0.265791 0.0257214 + +-0.0330246 -0.257894 0.0251978 +0.0110347 -0.259766 -0.00848059 +-0.0337906 -0.263876 -0.00900421 + +0.0112907 -0.265791 -0.0426826 +-0.0337906 -0.263876 -0.00900421 +0.0110347 -0.259766 -0.00848059 + +-0.0337906 -0.263876 -0.00900421 +0.0112907 -0.265791 -0.0426826 +-0.0359963 -0.2811 -0.039081 + +0.0120276 -0.28314 -0.0727594 +-0.0359963 -0.2811 -0.039081 +0.0112907 -0.265791 -0.0426826 + +-0.0359963 -0.2811 -0.039081 +0.0120276 -0.28314 -0.0727594 +-0.0393755 -0.307489 -0.0614047 + +0.0131568 -0.309721 -0.0950831 +-0.0393755 -0.307489 -0.0614047 +0.0120276 -0.28314 -0.0727594 + +-0.0393755 -0.307489 -0.0614047 +0.0131568 -0.309721 -0.0950831 +-0.0435208 -0.33986 -0.073283 + +0.0145418 -0.342326 -0.106961 +-0.0435208 -0.33986 -0.073283 +0.0131568 -0.309721 -0.0950831 + +-0.0435208 -0.33986 -0.073283 +0.0145418 -0.342326 -0.106961 +-0.0479321 -0.374308 -0.073283 + +0.0160158 -0.377025 -0.106961 +-0.0479321 -0.374308 -0.073283 +0.0145418 -0.342326 -0.106961 + +-0.0479321 -0.374308 -0.073283 +0.0160158 -0.377025 -0.106961 +-0.0520773 -0.406679 -0.0614047 + +0.0174009 -0.409631 -0.0950831 +-0.0520773 -0.406679 -0.0614047 +0.0160158 -0.377025 -0.106961 + +-0.0520773 -0.406679 -0.0614047 +0.0174009 -0.409631 -0.0950831 +-0.0554565 -0.433068 -0.039081 + +0.01853 -0.436211 -0.0727594 +-0.0554565 -0.433068 -0.039081 +0.0174009 -0.409631 -0.0950831 + +-0.0554565 -0.433068 -0.039081 +0.01853 -0.436211 -0.0727594 +-0.0576622 -0.450292 -0.00900421 + +0.019267 -0.45356 -0.0426826 +-0.0576622 -0.450292 -0.00900421 +0.01853 -0.436211 -0.0727594 + +-0.0576622 -0.450292 -0.00900421 +0.019267 -0.45356 -0.0426826 +-0.0584282 -0.456274 0.0251978 + +0.019523 -0.459586 -0.00848059 +-0.0584282 -0.456274 0.0251978 +0.019267 -0.45356 -0.0426826 + +0.019523 -0.459586 -0.00848059 +0.0969125 -0.449675 -0.0411901 +0.019267 -0.45356 0.0257214 + +0.0956419 -0.44378 -0.00698811 +0.019267 -0.45356 0.0257214 +0.0969125 -0.449675 -0.0411901 + +0.019267 -0.45356 0.0257214 +0.0956419 -0.44378 -0.00698811 +0.01853 -0.436211 0.0557982 + +0.0919835 -0.426805 0.0230886 +0.01853 -0.436211 0.0557982 +0.0956419 -0.44378 -0.00698811 + +0.01853 -0.436211 0.0557982 +0.0919835 -0.426805 0.0230886 +0.0174009 -0.409631 0.0781219 + +0.0863785 -0.400798 0.0454124 +0.0174009 -0.409631 0.0781219 +0.0919835 -0.426805 0.0230886 + +0.0174009 -0.409631 0.0781219 +0.0863785 -0.400798 0.0454124 +0.0160158 -0.377025 0.0900002 + +0.0795029 -0.368895 0.0572907 +0.0160158 -0.377025 0.0900002 +0.0863785 -0.400798 0.0454124 + +0.0160158 -0.377025 0.0900002 +0.0795029 -0.368895 0.0572907 +0.0145418 -0.342326 0.0900002 + +0.0721861 -0.334945 0.0572907 +0.0145418 -0.342326 0.0900002 +0.0795029 -0.368895 0.0572907 + +0.0145418 -0.342326 0.0900002 +0.0721861 -0.334945 0.0572907 +0.0131568 -0.309721 0.0781219 + +0.0653106 -0.303042 0.0454124 +0.0131568 -0.309721 0.0781219 +0.0721861 -0.334945 0.0572907 + +0.0131568 -0.309721 0.0781219 +0.0653106 -0.303042 0.0454124 +0.0120276 -0.28314 0.0557982 + +0.0597056 -0.277035 0.0230886 +0.0120276 -0.28314 0.0557982 +0.0653106 -0.303042 0.0454124 + +0.0120276 -0.28314 0.0557982 +0.0597056 -0.277035 0.0230886 +0.0112907 -0.265791 0.0257214 + +0.0560472 -0.26006 -0.00698811 +0.0112907 -0.265791 0.0257214 +0.0597056 -0.277035 0.0230886 + +0.0112907 -0.265791 0.0257214 +0.0560472 -0.26006 -0.00698811 +0.0110347 -0.259766 -0.00848059 + +0.0547766 -0.254164 -0.0411901 +0.0110347 -0.259766 -0.00848059 +0.0560472 -0.26006 -0.00698811 + +0.0110347 -0.259766 -0.00848059 +0.0547766 -0.254164 -0.0411901 +0.0112907 -0.265791 -0.0426826 + +0.0560472 -0.26006 -0.0753921 +0.0112907 -0.265791 -0.0426826 +0.0547766 -0.254164 -0.0411901 + +0.0112907 -0.265791 -0.0426826 +0.0560472 -0.26006 -0.0753921 +0.0120276 -0.28314 -0.0727594 + +0.0597056 -0.277035 -0.105469 +0.0120276 -0.28314 -0.0727594 +0.0560472 -0.26006 -0.0753921 + +0.0120276 -0.28314 -0.0727594 +0.0597056 -0.277035 -0.105469 +0.0131568 -0.309721 -0.0950831 + +0.0653106 -0.303042 -0.127793 +0.0131568 -0.309721 -0.0950831 +0.0597056 -0.277035 -0.105469 + +0.0131568 -0.309721 -0.0950831 +0.0653106 -0.303042 -0.127793 +0.0145418 -0.342326 -0.106961 + +0.0721861 -0.334945 -0.139671 +0.0145418 -0.342326 -0.106961 +0.0653106 -0.303042 -0.127793 + +0.0145418 -0.342326 -0.106961 +0.0721861 -0.334945 -0.139671 +0.0160158 -0.377025 -0.106961 + +0.0795029 -0.368895 -0.139671 +0.0160158 -0.377025 -0.106961 +0.0721861 -0.334945 -0.139671 + +0.0160158 -0.377025 -0.106961 +0.0795029 -0.368895 -0.139671 +0.0174009 -0.409631 -0.0950831 + +0.0863785 -0.400798 -0.127793 +0.0174009 -0.409631 -0.0950831 +0.0795029 -0.368895 -0.139671 + +0.0174009 -0.409631 -0.0950831 +0.0863785 -0.400798 -0.127793 +0.01853 -0.436211 -0.0727594 + +0.0919835 -0.426805 -0.105469 +0.01853 -0.436211 -0.0727594 +0.0863785 -0.400798 -0.127793 + +0.01853 -0.436211 -0.0727594 +0.0919835 -0.426805 -0.105469 +0.019267 -0.45356 -0.0426826 + +0.0956419 -0.44378 -0.0753921 +0.019267 -0.45356 -0.0426826 +0.0919835 -0.426805 -0.105469 + +0.019267 -0.45356 -0.0426826 +0.0956419 -0.44378 -0.0753921 +0.019523 -0.459586 -0.00848059 + +0.0969125 -0.449675 -0.0411901 +0.019523 -0.459586 -0.00848059 +0.0956419 -0.44378 -0.0753921 + +0.0969125 -0.449675 -0.0411901 +0.171514 -0.426829 -0.0691939 +0.0956419 -0.44378 -0.00698811 + +0.169265 -0.421233 -0.0349919 +0.0956419 -0.44378 -0.00698811 +0.171514 -0.426829 -0.0691939 + +0.0956419 -0.44378 -0.00698811 +0.169265 -0.421233 -0.0349919 +0.0919835 -0.426805 0.0230886 + +0.162791 -0.40512 -0.00491513 +0.0919835 -0.426805 0.0230886 +0.169265 -0.421233 -0.0349919 + +0.0919835 -0.426805 0.0230886 +0.162791 -0.40512 -0.00491513 +0.0863785 -0.400798 0.0454124 + +0.152871 -0.380435 0.0174087 +0.0863785 -0.400798 0.0454124 +0.162791 -0.40512 -0.00491513 + +0.0863785 -0.400798 0.0454124 +0.152871 -0.380435 0.0174087 +0.0795029 -0.368895 0.0572907 + +0.140703 -0.350153 0.0292869 +0.0795029 -0.368895 0.0572907 +0.152871 -0.380435 0.0174087 + +0.0795029 -0.368895 0.0572907 +0.140703 -0.350153 0.0292869 +0.0721861 -0.334945 0.0572907 + +0.127754 -0.317927 0.0292869 +0.0721861 -0.334945 0.0572907 +0.140703 -0.350153 0.0292869 + +0.0721861 -0.334945 0.0572907 +0.127754 -0.317927 0.0292869 +0.0653106 -0.303042 0.0454124 + +0.115586 -0.287646 0.0174087 +0.0653106 -0.303042 0.0454124 +0.127754 -0.317927 0.0292869 + +0.0653106 -0.303042 0.0454124 +0.115586 -0.287646 0.0174087 +0.0597056 -0.277035 0.0230886 + +0.105666 -0.26296 -0.00491513 +0.0597056 -0.277035 0.0230886 +0.115586 -0.287646 0.0174087 + +0.0597056 -0.277035 0.0230886 +0.105666 -0.26296 -0.00491513 +0.0560472 -0.26006 -0.00698811 + +0.0991913 -0.246847 -0.0349919 +0.0560472 -0.26006 -0.00698811 +0.105666 -0.26296 -0.00491513 + +0.0560472 -0.26006 -0.00698811 +0.0991913 -0.246847 -0.0349919 +0.0547766 -0.254164 -0.0411901 + +0.0969427 -0.241251 -0.0691939 +0.0547766 -0.254164 -0.0411901 +0.0991913 -0.246847 -0.0349919 + +0.0547766 -0.254164 -0.0411901 +0.0969427 -0.241251 -0.0691939 +0.0560472 -0.26006 -0.0753921 + +0.0991913 -0.246847 -0.103396 +0.0560472 -0.26006 -0.0753921 +0.0969427 -0.241251 -0.0691939 + +0.0560472 -0.26006 -0.0753921 +0.0991913 -0.246847 -0.103396 +0.0597056 -0.277035 -0.105469 + +0.105666 -0.26296 -0.133473 +0.0597056 -0.277035 -0.105469 +0.0991913 -0.246847 -0.103396 + +0.0597056 -0.277035 -0.105469 +0.105666 -0.26296 -0.133473 +0.0653106 -0.303042 -0.127793 + +0.115586 -0.287646 -0.155796 +0.0653106 -0.303042 -0.127793 +0.105666 -0.26296 -0.133473 + +0.0653106 -0.303042 -0.127793 +0.115586 -0.287646 -0.155796 +0.0721861 -0.334945 -0.139671 + +0.127754 -0.317927 -0.167675 +0.0721861 -0.334945 -0.139671 +0.115586 -0.287646 -0.155796 + +0.0721861 -0.334945 -0.139671 +0.127754 -0.317927 -0.167675 +0.0795029 -0.368895 -0.139671 + +0.140703 -0.350153 -0.167675 +0.0795029 -0.368895 -0.139671 +0.127754 -0.317927 -0.167675 + +0.0795029 -0.368895 -0.139671 +0.140703 -0.350153 -0.167675 +0.0863785 -0.400798 -0.127793 + +0.152871 -0.380435 -0.155796 +0.0863785 -0.400798 -0.127793 +0.140703 -0.350153 -0.167675 + +0.0863785 -0.400798 -0.127793 +0.152871 -0.380435 -0.155796 +0.0919835 -0.426805 -0.105469 + +0.162791 -0.40512 -0.133473 +0.0919835 -0.426805 -0.105469 +0.152871 -0.380435 -0.155796 + +0.0919835 -0.426805 -0.105469 +0.162791 -0.40512 -0.133473 +0.0956419 -0.44378 -0.0753921 + +0.169265 -0.421233 -0.103396 +0.0956419 -0.44378 -0.0753921 +0.162791 -0.40512 -0.133473 + +0.0956419 -0.44378 -0.0753921 +0.169265 -0.421233 -0.103396 +0.0969125 -0.449675 -0.0411901 + +0.171514 -0.426829 -0.0691939 +0.0969125 -0.449675 -0.0411901 +0.169265 -0.421233 -0.103396 + +0.171514 -0.426829 -0.0691939 +0.241181 -0.391703 -0.0892926 +0.169265 -0.421233 -0.0349919 + +0.238019 -0.386568 -0.0550906 +0.169265 -0.421233 -0.0349919 +0.241181 -0.391703 -0.0892926 + +0.169265 -0.421233 -0.0349919 +0.238019 -0.386568 -0.0550906 +0.162791 -0.40512 -0.00491513 + +0.228915 -0.371781 -0.0250138 +0.162791 -0.40512 -0.00491513 +0.238019 -0.386568 -0.0550906 + +0.162791 -0.40512 -0.00491513 +0.228915 -0.371781 -0.0250138 +0.152871 -0.380435 0.0174087 + +0.214966 -0.349127 -0.00269005 +0.152871 -0.380435 0.0174087 +0.228915 -0.371781 -0.0250138 + +0.152871 -0.380435 0.0174087 +0.214966 -0.349127 -0.00269005 +0.140703 -0.350153 0.0292869 + +0.197855 -0.321337 0.00918819 +0.140703 -0.350153 0.0292869 +0.214966 -0.349127 -0.00269005 + +0.140703 -0.350153 0.0292869 +0.197855 -0.321337 0.00918819 +0.127754 -0.317927 0.0292869 + +0.179646 -0.291764 0.00918819 +0.127754 -0.317927 0.0292869 +0.197855 -0.321337 0.00918819 + +0.127754 -0.317927 0.0292869 +0.179646 -0.291764 0.00918819 +0.115586 -0.287646 0.0174087 + +0.162535 -0.263974 -0.00269005 +0.115586 -0.287646 0.0174087 +0.179646 -0.291764 0.00918819 + +0.115586 -0.287646 0.0174087 +0.162535 -0.263974 -0.00269005 +0.105666 -0.26296 -0.00491513 + +0.148586 -0.24132 -0.0250138 +0.105666 -0.26296 -0.00491513 +0.162535 -0.263974 -0.00269005 + +0.105666 -0.26296 -0.00491513 +0.148586 -0.24132 -0.0250138 +0.0991913 -0.246847 -0.0349919 + +0.139482 -0.226533 -0.0550906 +0.0991913 -0.246847 -0.0349919 +0.148586 -0.24132 -0.0250138 + +0.0991913 -0.246847 -0.0349919 +0.139482 -0.226533 -0.0550906 +0.0969427 -0.241251 -0.0691939 + +0.13632 -0.221398 -0.0892926 +0.0969427 -0.241251 -0.0691939 +0.139482 -0.226533 -0.0550906 + +0.0969427 -0.241251 -0.0691939 +0.13632 -0.221398 -0.0892926 +0.0991913 -0.246847 -0.103396 + +0.139482 -0.226533 -0.123495 +0.0991913 -0.246847 -0.103396 +0.13632 -0.221398 -0.0892926 + +0.0991913 -0.246847 -0.103396 +0.139482 -0.226533 -0.123495 +0.105666 -0.26296 -0.133473 + +0.148586 -0.24132 -0.153571 +0.105666 -0.26296 -0.133473 +0.139482 -0.226533 -0.123495 + +0.105666 -0.26296 -0.133473 +0.148586 -0.24132 -0.153571 +0.115586 -0.287646 -0.155796 + +0.162535 -0.263974 -0.175895 +0.115586 -0.287646 -0.155796 +0.148586 -0.24132 -0.153571 + +0.115586 -0.287646 -0.155796 +0.162535 -0.263974 -0.175895 +0.127754 -0.317927 -0.167675 + +0.179646 -0.291764 -0.187773 +0.127754 -0.317927 -0.167675 +0.162535 -0.263974 -0.175895 + +0.127754 -0.317927 -0.167675 +0.179646 -0.291764 -0.187773 +0.140703 -0.350153 -0.167675 + +0.197855 -0.321337 -0.187773 +0.140703 -0.350153 -0.167675 +0.179646 -0.291764 -0.187773 + +0.140703 -0.350153 -0.167675 +0.197855 -0.321337 -0.187773 +0.152871 -0.380435 -0.155796 + +0.214966 -0.349127 -0.175895 +0.152871 -0.380435 -0.155796 +0.197855 -0.321337 -0.187773 + +0.152871 -0.380435 -0.155796 +0.214966 -0.349127 -0.175895 +0.162791 -0.40512 -0.133473 + +0.228915 -0.371781 -0.153571 +0.162791 -0.40512 -0.133473 +0.214966 -0.349127 -0.175895 + +0.162791 -0.40512 -0.133473 +0.228915 -0.371781 -0.153571 +0.169265 -0.421233 -0.103396 + +0.238019 -0.386568 -0.123495 +0.169265 -0.421233 -0.103396 +0.228915 -0.371781 -0.153571 + +0.169265 -0.421233 -0.103396 +0.238019 -0.386568 -0.123495 +0.171514 -0.426829 -0.0691939 + +0.241181 -0.391703 -0.0892926 +0.171514 -0.426829 -0.0691939 +0.238019 -0.386568 -0.123495 + +0.241181 -0.391703 -0.0892926 +0.30391 -0.345309 -0.09919 +0.238019 -0.386568 -0.0550906 + +0.299926 -0.340782 -0.064988 +0.238019 -0.386568 -0.0550906 +0.30391 -0.345309 -0.09919 + +0.238019 -0.386568 -0.0550906 +0.299926 -0.340782 -0.064988 +0.228915 -0.371781 -0.0250138 + +0.288454 -0.327747 -0.0349113 +0.228915 -0.371781 -0.0250138 +0.299926 -0.340782 -0.064988 + +0.228915 -0.371781 -0.0250138 +0.288454 -0.327747 -0.0349113 +0.214966 -0.349127 -0.00269005 + +0.270877 -0.307776 -0.0125875 +0.214966 -0.349127 -0.00269005 +0.288454 -0.327747 -0.0349113 + +0.214966 -0.349127 -0.00269005 +0.270877 -0.307776 -0.0125875 +0.197855 -0.321337 0.00918819 + +0.249315 -0.283277 -0.000709268 +0.197855 -0.321337 0.00918819 +0.270877 -0.307776 -0.0125875 + +0.197855 -0.321337 0.00918819 +0.249315 -0.283277 -0.000709268 +0.179646 -0.291764 0.00918819 + +0.22637 -0.257207 -0.000709268 +0.179646 -0.291764 0.00918819 +0.249315 -0.283277 -0.000709268 + +0.179646 -0.291764 0.00918819 +0.22637 -0.257207 -0.000709268 +0.162535 -0.263974 -0.00269005 + +0.204809 -0.232708 -0.0125875 +0.162535 -0.263974 -0.00269005 +0.22637 -0.257207 -0.000709268 + +0.162535 -0.263974 -0.00269005 +0.204809 -0.232708 -0.0125875 +0.148586 -0.24132 -0.0250138 + +0.187232 -0.212737 -0.0349113 +0.148586 -0.24132 -0.0250138 +0.204809 -0.232708 -0.0125875 + +0.148586 -0.24132 -0.0250138 +0.187232 -0.212737 -0.0349113 +0.139482 -0.226533 -0.0550906 + +0.17576 -0.199702 -0.064988 +0.139482 -0.226533 -0.0550906 +0.187232 -0.212737 -0.0349113 + +0.139482 -0.226533 -0.0550906 +0.17576 -0.199702 -0.064988 +0.13632 -0.221398 -0.0892926 + +0.171775 -0.195175 -0.09919 +0.13632 -0.221398 -0.0892926 +0.17576 -0.199702 -0.064988 + +0.13632 -0.221398 -0.0892926 +0.171775 -0.195175 -0.09919 +0.139482 -0.226533 -0.123495 + +0.17576 -0.199702 -0.133392 +0.139482 -0.226533 -0.123495 +0.171775 -0.195175 -0.09919 + +0.139482 -0.226533 -0.123495 +0.17576 -0.199702 -0.133392 +0.148586 -0.24132 -0.153571 + +0.187232 -0.212737 -0.163469 +0.148586 -0.24132 -0.153571 +0.17576 -0.199702 -0.133392 + +0.148586 -0.24132 -0.153571 +0.187232 -0.212737 -0.163469 +0.162535 -0.263974 -0.175895 + +0.204809 -0.232708 -0.185793 +0.162535 -0.263974 -0.175895 +0.187232 -0.212737 -0.163469 + +0.162535 -0.263974 -0.175895 +0.204809 -0.232708 -0.185793 +0.179646 -0.291764 -0.187773 + +0.22637 -0.257207 -0.197671 +0.179646 -0.291764 -0.187773 +0.204809 -0.232708 -0.185793 + +0.179646 -0.291764 -0.187773 +0.22637 -0.257207 -0.197671 +0.197855 -0.321337 -0.187773 + +0.249315 -0.283277 -0.197671 +0.197855 -0.321337 -0.187773 +0.22637 -0.257207 -0.197671 + +0.197855 -0.321337 -0.187773 +0.249315 -0.283277 -0.197671 +0.214966 -0.349127 -0.175895 + +0.270877 -0.307776 -0.185793 +0.214966 -0.349127 -0.175895 +0.249315 -0.283277 -0.197671 + +0.214966 -0.349127 -0.175895 +0.270877 -0.307776 -0.185793 +0.228915 -0.371781 -0.153571 + +0.288454 -0.327747 -0.163469 +0.228915 -0.371781 -0.153571 +0.270877 -0.307776 -0.185793 + +0.228915 -0.371781 -0.153571 +0.288454 -0.327747 -0.163469 +0.238019 -0.386568 -0.123495 + +0.299926 -0.340782 -0.133392 +0.238019 -0.386568 -0.123495 +0.288454 -0.327747 -0.163469 + +0.238019 -0.386568 -0.123495 +0.299926 -0.340782 -0.133392 +0.241181 -0.391703 -0.0892926 + +0.30391 -0.345309 -0.09919 +0.241181 -0.391703 -0.0892926 +0.299926 -0.340782 -0.133392 + +0.30391 -0.345309 -0.09919 +0.357896 -0.288981 -0.0977555 +0.299926 -0.340782 -0.064988 + +0.353204 -0.285193 -0.0635535 +0.299926 -0.340782 -0.064988 +0.357896 -0.288981 -0.0977555 + +0.299926 -0.340782 -0.064988 +0.353204 -0.285193 -0.0635535 +0.288454 -0.327747 -0.0349113 + +0.339694 -0.274284 -0.0334768 +0.288454 -0.327747 -0.0349113 +0.353204 -0.285193 -0.0635535 + +0.288454 -0.327747 -0.0349113 +0.339694 -0.274284 -0.0334768 +0.270877 -0.307776 -0.0125875 + +0.318995 -0.25757 -0.011153 +0.270877 -0.307776 -0.0125875 +0.339694 -0.274284 -0.0334768 + +0.270877 -0.307776 -0.0125875 +0.318995 -0.25757 -0.011153 +0.249315 -0.283277 -0.000709268 + +0.293603 -0.237068 0.000725251 +0.249315 -0.283277 -0.000709268 +0.318995 -0.25757 -0.011153 + +0.249315 -0.283277 -0.000709268 +0.293603 -0.237068 0.000725251 +0.22637 -0.257207 -0.000709268 + +0.266582 -0.21525 0.000725251 +0.22637 -0.257207 -0.000709268 +0.293603 -0.237068 0.000725251 + +0.22637 -0.257207 -0.000709268 +0.266582 -0.21525 0.000725251 +0.204809 -0.232708 -0.0125875 + +0.241191 -0.194748 -0.011153 +0.204809 -0.232708 -0.0125875 +0.266582 -0.21525 0.000725251 + +0.204809 -0.232708 -0.0125875 +0.241191 -0.194748 -0.011153 +0.187232 -0.212737 -0.0349113 + +0.220492 -0.178035 -0.0334768 +0.187232 -0.212737 -0.0349113 +0.241191 -0.194748 -0.011153 + +0.187232 -0.212737 -0.0349113 +0.220492 -0.178035 -0.0334768 +0.17576 -0.199702 -0.064988 + +0.206981 -0.167126 -0.0635535 +0.17576 -0.199702 -0.064988 +0.220492 -0.178035 -0.0334768 + +0.17576 -0.199702 -0.064988 +0.206981 -0.167126 -0.0635535 +0.171775 -0.195175 -0.09919 + +0.202289 -0.163337 -0.0977555 +0.171775 -0.195175 -0.09919 +0.206981 -0.167126 -0.0635535 + +0.171775 -0.195175 -0.09919 +0.202289 -0.163337 -0.0977555 +0.17576 -0.199702 -0.133392 + +0.206981 -0.167126 -0.131958 +0.17576 -0.199702 -0.133392 +0.202289 -0.163337 -0.0977555 + +0.17576 -0.199702 -0.133392 +0.206981 -0.167126 -0.131958 +0.187232 -0.212737 -0.163469 + +0.220492 -0.178035 -0.162034 +0.187232 -0.212737 -0.163469 +0.206981 -0.167126 -0.131958 + +0.187232 -0.212737 -0.163469 +0.220492 -0.178035 -0.162034 +0.204809 -0.232708 -0.185793 + +0.241191 -0.194748 -0.184358 +0.204809 -0.232708 -0.185793 +0.220492 -0.178035 -0.162034 + +0.204809 -0.232708 -0.185793 +0.241191 -0.194748 -0.184358 +0.22637 -0.257207 -0.197671 + +0.266582 -0.21525 -0.196236 +0.22637 -0.257207 -0.197671 +0.241191 -0.194748 -0.184358 + +0.22637 -0.257207 -0.197671 +0.266582 -0.21525 -0.196236 +0.249315 -0.283277 -0.197671 + +0.293603 -0.237068 -0.196236 +0.249315 -0.283277 -0.197671 +0.266582 -0.21525 -0.196236 + +0.249315 -0.283277 -0.197671 +0.293603 -0.237068 -0.196236 +0.270877 -0.307776 -0.185793 + +0.318995 -0.25757 -0.184358 +0.270877 -0.307776 -0.185793 +0.293603 -0.237068 -0.196236 + +0.270877 -0.307776 -0.185793 +0.318995 -0.25757 -0.184358 +0.288454 -0.327747 -0.163469 + +0.339694 -0.274284 -0.162034 +0.288454 -0.327747 -0.163469 +0.318995 -0.25757 -0.184358 + +0.288454 -0.327747 -0.163469 +0.339694 -0.274284 -0.162034 +0.299926 -0.340782 -0.133392 + +0.353204 -0.285193 -0.131958 +0.299926 -0.340782 -0.133392 +0.339694 -0.274284 -0.162034 + +0.299926 -0.340782 -0.133392 +0.353204 -0.285193 -0.131958 +0.30391 -0.345309 -0.09919 + +0.357896 -0.288981 -0.0977555 +0.30391 -0.345309 -0.09919 +0.353204 -0.285193 -0.131958 + +0.357896 -0.288981 -0.0977555 +0.401586 -0.22434 -0.0851529 +0.353204 -0.285193 -0.0635535 + +0.396322 -0.221399 -0.0509509 +0.353204 -0.285193 -0.0635535 +0.401586 -0.22434 -0.0851529 + +0.353204 -0.285193 -0.0635535 +0.396322 -0.221399 -0.0509509 +0.339694 -0.274284 -0.0334768 + +0.381162 -0.21293 -0.0208742 +0.339694 -0.274284 -0.0334768 +0.396322 -0.221399 -0.0509509 + +0.339694 -0.274284 -0.0334768 +0.381162 -0.21293 -0.0208742 +0.318995 -0.25757 -0.011153 + +0.357936 -0.199955 0.00144963 +0.318995 -0.25757 -0.011153 +0.381162 -0.21293 -0.0208742 + +0.318995 -0.25757 -0.011153 +0.357936 -0.199955 0.00144963 +0.293603 -0.237068 0.000725251 + +0.329445 -0.184039 0.0133279 +0.293603 -0.237068 0.000725251 +0.357936 -0.199955 0.00144963 + +0.293603 -0.237068 0.000725251 +0.329445 -0.184039 0.0133279 +0.266582 -0.21525 0.000725251 + +0.299125 -0.167101 0.0133279 +0.266582 -0.21525 0.000725251 +0.329445 -0.184039 0.0133279 + +0.266582 -0.21525 0.000725251 +0.299125 -0.167101 0.0133279 +0.241191 -0.194748 -0.011153 + +0.270634 -0.151185 0.00144963 +0.241191 -0.194748 -0.011153 +0.299125 -0.167101 0.0133279 + +0.241191 -0.194748 -0.011153 +0.270634 -0.151185 0.00144963 +0.220492 -0.178035 -0.0334768 + +0.247408 -0.138211 -0.0208742 +0.220492 -0.178035 -0.0334768 +0.270634 -0.151185 0.00144963 + +0.220492 -0.178035 -0.0334768 +0.247408 -0.138211 -0.0208742 +0.206981 -0.167126 -0.0635535 + +0.232249 -0.129742 -0.0509509 +0.206981 -0.167126 -0.0635535 +0.247408 -0.138211 -0.0208742 + +0.206981 -0.167126 -0.0635535 +0.232249 -0.129742 -0.0509509 +0.202289 -0.163337 -0.0977555 + +0.226984 -0.126801 -0.0851529 +0.202289 -0.163337 -0.0977555 +0.232249 -0.129742 -0.0509509 + +0.202289 -0.163337 -0.0977555 +0.226984 -0.126801 -0.0851529 +0.206981 -0.167126 -0.131958 + +0.232249 -0.129742 -0.119355 +0.206981 -0.167126 -0.131958 +0.226984 -0.126801 -0.0851529 + +0.206981 -0.167126 -0.131958 +0.232249 -0.129742 -0.119355 +0.220492 -0.178035 -0.162034 + +0.247408 -0.138211 -0.149432 +0.220492 -0.178035 -0.162034 +0.232249 -0.129742 -0.119355 + +0.220492 -0.178035 -0.162034 +0.247408 -0.138211 -0.149432 +0.241191 -0.194748 -0.184358 + +0.270634 -0.151185 -0.171755 +0.241191 -0.194748 -0.184358 +0.247408 -0.138211 -0.149432 + +0.241191 -0.194748 -0.184358 +0.270634 -0.151185 -0.171755 +0.266582 -0.21525 -0.196236 + +0.299125 -0.167101 -0.183634 +0.266582 -0.21525 -0.196236 +0.270634 -0.151185 -0.171755 + +0.266582 -0.21525 -0.196236 +0.299125 -0.167101 -0.183634 +0.293603 -0.237068 -0.196236 + +0.329445 -0.184039 -0.183634 +0.293603 -0.237068 -0.196236 +0.299125 -0.167101 -0.183634 + +0.293603 -0.237068 -0.196236 +0.329445 -0.184039 -0.183634 +0.318995 -0.25757 -0.184358 + +0.357936 -0.199955 -0.171755 +0.318995 -0.25757 -0.184358 +0.329445 -0.184039 -0.183634 + +0.318995 -0.25757 -0.184358 +0.357936 -0.199955 -0.171755 +0.339694 -0.274284 -0.162034 + +0.381162 -0.21293 -0.149432 +0.339694 -0.274284 -0.162034 +0.357936 -0.199955 -0.171755 + +0.339694 -0.274284 -0.162034 +0.381162 -0.21293 -0.149432 +0.353204 -0.285193 -0.131958 + +0.396322 -0.221399 -0.119355 +0.353204 -0.285193 -0.131958 +0.381162 -0.21293 -0.149432 + +0.353204 -0.285193 -0.131958 +0.396322 -0.221399 -0.119355 +0.357896 -0.288981 -0.0977555 + +0.401586 -0.22434 -0.0851529 +0.357896 -0.288981 -0.0977555 +0.396322 -0.221399 -0.119355 + +0.401586 -0.22434 -0.0851529 +0.433724 -0.153244 -0.062822 +0.396322 -0.221399 -0.0509509 + +0.428037 -0.151235 -0.02862 +0.396322 -0.221399 -0.0509509 +0.433724 -0.153244 -0.062822 + +0.396322 -0.221399 -0.0509509 +0.428037 -0.151235 -0.02862 +0.381162 -0.21293 -0.0208742 + +0.411664 -0.14545 0.00145676 +0.381162 -0.21293 -0.0208742 +0.428037 -0.151235 -0.02862 + +0.381162 -0.21293 -0.0208742 +0.411664 -0.14545 0.00145676 +0.357936 -0.199955 0.00144963 + +0.38658 -0.136587 0.0237805 +0.357936 -0.199955 0.00144963 +0.411664 -0.14545 0.00145676 + +0.357936 -0.199955 0.00144963 +0.38658 -0.136587 0.0237805 +0.329445 -0.184039 0.0133279 + +0.355809 -0.125715 0.0356588 +0.329445 -0.184039 0.0133279 +0.38658 -0.136587 0.0237805 + +0.329445 -0.184039 0.0133279 +0.355809 -0.125715 0.0356588 +0.299125 -0.167101 0.0133279 + +0.323063 -0.114145 0.0356588 +0.299125 -0.167101 0.0133279 +0.355809 -0.125715 0.0356588 + +0.299125 -0.167101 0.0133279 +0.323063 -0.114145 0.0356588 +0.270634 -0.151185 0.00144963 + +0.292292 -0.103273 0.0237805 +0.270634 -0.151185 0.00144963 +0.323063 -0.114145 0.0356588 + +0.270634 -0.151185 0.00144963 +0.292292 -0.103273 0.0237805 +0.247408 -0.138211 -0.0208742 + +0.267207 -0.0944103 0.00145676 +0.247408 -0.138211 -0.0208742 +0.292292 -0.103273 0.0237805 + +0.247408 -0.138211 -0.0208742 +0.267207 -0.0944103 0.00145676 +0.232249 -0.129742 -0.0509509 + +0.250834 -0.0886254 -0.02862 +0.232249 -0.129742 -0.0509509 +0.267207 -0.0944103 0.00145676 + +0.232249 -0.129742 -0.0509509 +0.250834 -0.0886254 -0.02862 +0.226984 -0.126801 -0.0851529 + +0.245148 -0.0866163 -0.062822 +0.226984 -0.126801 -0.0851529 +0.250834 -0.0886254 -0.02862 + +0.226984 -0.126801 -0.0851529 +0.245148 -0.0866163 -0.062822 +0.232249 -0.129742 -0.119355 + +0.250834 -0.0886254 -0.097024 +0.232249 -0.129742 -0.119355 +0.245148 -0.0866163 -0.062822 + +0.232249 -0.129742 -0.119355 +0.250834 -0.0886254 -0.097024 +0.247408 -0.138211 -0.149432 + +0.267207 -0.0944103 -0.127101 +0.247408 -0.138211 -0.149432 +0.250834 -0.0886254 -0.097024 + +0.247408 -0.138211 -0.149432 +0.267207 -0.0944103 -0.127101 +0.270634 -0.151185 -0.171755 + +0.292292 -0.103273 -0.149425 +0.270634 -0.151185 -0.171755 +0.267207 -0.0944103 -0.127101 + +0.270634 -0.151185 -0.171755 +0.292292 -0.103273 -0.149425 +0.299125 -0.167101 -0.183634 + +0.323063 -0.114145 -0.161303 +0.299125 -0.167101 -0.183634 +0.292292 -0.103273 -0.149425 + +0.299125 -0.167101 -0.183634 +0.323063 -0.114145 -0.161303 +0.329445 -0.184039 -0.183634 + +0.355809 -0.125715 -0.161303 +0.329445 -0.184039 -0.183634 +0.323063 -0.114145 -0.161303 + +0.329445 -0.184039 -0.183634 +0.355809 -0.125715 -0.161303 +0.357936 -0.199955 -0.171755 + +0.38658 -0.136587 -0.149425 +0.357936 -0.199955 -0.171755 +0.355809 -0.125715 -0.161303 + +0.357936 -0.199955 -0.171755 +0.38658 -0.136587 -0.149425 +0.381162 -0.21293 -0.149432 + +0.411664 -0.14545 -0.127101 +0.381162 -0.21293 -0.149432 +0.38658 -0.136587 -0.149425 + +0.381162 -0.21293 -0.149432 +0.411664 -0.14545 -0.127101 +0.396322 -0.221399 -0.119355 + +0.428037 -0.151235 -0.097024 +0.396322 -0.221399 -0.119355 +0.411664 -0.14545 -0.127101 + +0.396322 -0.221399 -0.119355 +0.428037 -0.151235 -0.097024 +0.401586 -0.22434 -0.0851529 + +0.433724 -0.153244 -0.062822 +0.401586 -0.22434 -0.0851529 +0.428037 -0.151235 -0.097024 + +0.433724 -0.153244 -0.062822 +0.453383 -0.0777404 -0.033314 +0.428037 -0.151235 -0.02862 + +0.447439 -0.0767212 0.000888035 +0.428037 -0.151235 -0.02862 +0.453383 -0.0777404 -0.033314 + +0.428037 -0.151235 -0.02862 +0.447439 -0.0767212 0.000888035 +0.411664 -0.14545 0.00145676 + +0.430324 -0.0737865 0.0309648 +0.411664 -0.14545 0.00145676 +0.447439 -0.0767212 0.000888035 + +0.411664 -0.14545 0.00145676 +0.430324 -0.0737865 0.0309648 +0.38658 -0.136587 0.0237805 + +0.404103 -0.0692903 0.0532886 +0.38658 -0.136587 0.0237805 +0.430324 -0.0737865 0.0309648 + +0.38658 -0.136587 0.0237805 +0.404103 -0.0692903 0.0532886 +0.355809 -0.125715 0.0356588 + +0.371937 -0.063775 0.0651668 +0.355809 -0.125715 0.0356588 +0.404103 -0.0692903 0.0532886 + +0.355809 -0.125715 0.0356588 +0.371937 -0.063775 0.0651668 +0.323063 -0.114145 0.0356588 + +0.337707 -0.0579056 0.0651668 +0.323063 -0.114145 0.0356588 +0.371937 -0.063775 0.0651668 + +0.323063 -0.114145 0.0356588 +0.337707 -0.0579056 0.0651668 +0.292292 -0.103273 0.0237805 + +0.305541 -0.0523903 0.0532886 +0.292292 -0.103273 0.0237805 +0.337707 -0.0579056 0.0651668 + +0.292292 -0.103273 0.0237805 +0.305541 -0.0523903 0.0532886 +0.267207 -0.0944103 0.00145676 + +0.279319 -0.0478941 0.0309648 +0.267207 -0.0944103 0.00145676 +0.305541 -0.0523903 0.0532886 + +0.267207 -0.0944103 0.00145676 +0.279319 -0.0478941 0.0309648 +0.250834 -0.0886254 -0.02862 + +0.262204 -0.0449594 0.000888035 +0.250834 -0.0886254 -0.02862 +0.279319 -0.0478941 0.0309648 + +0.250834 -0.0886254 -0.02862 +0.262204 -0.0449594 0.000888035 +0.245148 -0.0866163 -0.062822 + +0.25626 -0.0439402 -0.033314 +0.245148 -0.0866163 -0.062822 +0.262204 -0.0449594 0.000888035 + +0.245148 -0.0866163 -0.062822 +0.25626 -0.0439402 -0.033314 +0.250834 -0.0886254 -0.097024 + +0.262204 -0.0449594 -0.067516 +0.250834 -0.0886254 -0.097024 +0.25626 -0.0439402 -0.033314 + +0.250834 -0.0886254 -0.097024 +0.262204 -0.0449594 -0.067516 +0.267207 -0.0944103 -0.127101 + +0.279319 -0.0478941 -0.0975927 +0.267207 -0.0944103 -0.127101 +0.262204 -0.0449594 -0.067516 + +0.267207 -0.0944103 -0.127101 +0.279319 -0.0478941 -0.0975927 +0.292292 -0.103273 -0.149425 + +0.305541 -0.0523903 -0.119917 +0.292292 -0.103273 -0.149425 +0.279319 -0.0478941 -0.0975927 + +0.292292 -0.103273 -0.149425 +0.305541 -0.0523903 -0.119917 +0.323063 -0.114145 -0.161303 + +0.337707 -0.0579056 -0.131795 +0.323063 -0.114145 -0.161303 +0.305541 -0.0523903 -0.119917 + +0.323063 -0.114145 -0.161303 +0.337707 -0.0579056 -0.131795 +0.355809 -0.125715 -0.161303 + +0.371937 -0.063775 -0.131795 +0.355809 -0.125715 -0.161303 +0.337707 -0.0579056 -0.131795 + +0.355809 -0.125715 -0.161303 +0.371937 -0.063775 -0.131795 +0.38658 -0.136587 -0.149425 + +0.404103 -0.0692903 -0.119917 +0.38658 -0.136587 -0.149425 +0.371937 -0.063775 -0.131795 + +0.38658 -0.136587 -0.149425 +0.404103 -0.0692903 -0.119917 +0.411664 -0.14545 -0.127101 + +0.430324 -0.0737865 -0.0975927 +0.411664 -0.14545 -0.127101 +0.404103 -0.0692903 -0.119917 + +0.411664 -0.14545 -0.127101 +0.430324 -0.0737865 -0.0975927 +0.428037 -0.151235 -0.097024 + +0.447439 -0.0767212 -0.067516 +0.428037 -0.151235 -0.097024 +0.430324 -0.0737865 -0.0975927 + +0.428037 -0.151235 -0.097024 +0.447439 -0.0767212 -0.067516 +0.433724 -0.153244 -0.062822 + +0.453383 -0.0777404 -0.033314 +0.433724 -0.153244 -0.062822 +0.447439 -0.0767212 -0.067516 + +0.453383 -0.0777404 -0.033314 +0.46 0 0 +0.447439 -0.0767212 0.000888035 + +0.453969 0 0.034202 +0.447439 -0.0767212 0.000888035 +0.46 0 0 + +0.447439 -0.0767212 0.000888035 +0.453969 0 0.034202 +0.430324 -0.0737865 0.0309648 + +0.436604 0 0.0642788 +0.430324 -0.0737865 0.0309648 +0.453969 0 0.034202 + +0.430324 -0.0737865 0.0309648 +0.436604 0 0.0642788 +0.404103 -0.0692903 0.0532886 + +0.41 0 0.0866025 +0.404103 -0.0692903 0.0532886 +0.436604 0 0.0642788 + +0.404103 -0.0692903 0.0532886 +0.41 0 0.0866025 +0.371937 -0.063775 0.0651668 + +0.377365 0 0.0984808 +0.371937 -0.063775 0.0651668 +0.41 0 0.0866025 + +0.371937 -0.063775 0.0651668 +0.377365 0 0.0984808 +0.337707 -0.0579056 0.0651668 + +0.342635 0 0.0984808 +0.337707 -0.0579056 0.0651668 +0.377365 0 0.0984808 + +0.337707 -0.0579056 0.0651668 +0.342635 0 0.0984808 +0.305541 -0.0523903 0.0532886 + +0.31 0 0.0866025 +0.305541 -0.0523903 0.0532886 +0.342635 0 0.0984808 + +0.305541 -0.0523903 0.0532886 +0.31 0 0.0866025 +0.279319 -0.0478941 0.0309648 + +0.283396 0 0.0642788 +0.279319 -0.0478941 0.0309648 +0.31 0 0.0866025 + +0.279319 -0.0478941 0.0309648 +0.283396 0 0.0642788 +0.262204 -0.0449594 0.000888035 + +0.266031 0 0.034202 +0.262204 -0.0449594 0.000888035 +0.283396 0 0.0642788 + +0.262204 -0.0449594 0.000888035 +0.266031 0 0.034202 +0.25626 -0.0439402 -0.033314 + +0.26 0 0 +0.25626 -0.0439402 -0.033314 +0.266031 0 0.034202 + +0.25626 -0.0439402 -0.033314 +0.26 0 0 +0.262204 -0.0449594 -0.067516 + +0.266031 0 -0.034202 +0.262204 -0.0449594 -0.067516 +0.26 0 0 + +0.262204 -0.0449594 -0.067516 +0.266031 0 -0.034202 +0.279319 -0.0478941 -0.0975927 + +0.283396 0 -0.0642788 +0.279319 -0.0478941 -0.0975927 +0.266031 0 -0.034202 + +0.279319 -0.0478941 -0.0975927 +0.283396 0 -0.0642788 +0.305541 -0.0523903 -0.119917 + +0.31 0 -0.0866025 +0.305541 -0.0523903 -0.119917 +0.283396 0 -0.0642788 + +0.305541 -0.0523903 -0.119917 +0.31 0 -0.0866025 +0.337707 -0.0579056 -0.131795 + +0.342635 0 -0.0984808 +0.337707 -0.0579056 -0.131795 +0.31 0 -0.0866025 + +0.337707 -0.0579056 -0.131795 +0.342635 0 -0.0984808 +0.371937 -0.063775 -0.131795 + +0.377365 0 -0.0984808 +0.371937 -0.063775 -0.131795 +0.342635 0 -0.0984808 + +0.371937 -0.063775 -0.131795 +0.377365 0 -0.0984808 +0.404103 -0.0692903 -0.119917 + +0.41 0 -0.0866025 +0.404103 -0.0692903 -0.119917 +0.377365 0 -0.0984808 + +0.404103 -0.0692903 -0.119917 +0.41 0 -0.0866025 +0.430324 -0.0737865 -0.0975927 + +0.436604 0 -0.0642788 +0.430324 -0.0737865 -0.0975927 +0.41 0 -0.0866025 + +0.430324 -0.0737865 -0.0975927 +0.436604 0 -0.0642788 +0.447439 -0.0767212 -0.067516 + +0.453969 0 -0.034202 +0.447439 -0.0767212 -0.067516 +0.436604 0 -0.0642788 + +0.447439 -0.0767212 -0.067516 +0.453969 0 -0.034202 +0.453383 -0.0777404 -0.033314 + +0.46 0 0 +0.453383 -0.0777404 -0.033314 +0.453969 0 -0.034202 + diff --git a/trunk/PQP/build/pqp-tar/PQP_v1.3/demos/falling/torus2.path b/trunk/PQP/build/pqp-tar/PQP_v1.3/demos/falling/torus2.path new file mode 100644 index 00000000..54752acc --- /dev/null +++ b/trunk/PQP/build/pqp-tar/PQP_v1.3/demos/falling/torus2.path @@ -0,0 +1,11991 @@ +2398 +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + +1 0 0 +0 1 0 +0 0 1 +0 0 0 + diff --git a/trunk/PQP/build/pqp-tar/PQP_v1.3/demos/falling/torus2.tris b/trunk/PQP/build/pqp-tar/PQP_v1.3/demos/falling/torus2.tris new file mode 100644 index 00000000..115e4e2d --- /dev/null +++ b/trunk/PQP/build/pqp-tar/PQP_v1.3/demos/falling/torus2.tris @@ -0,0 +1,12961 @@ +3240 +1 0 0 +1.05291 0.110666 0 +0.992183 0 0.0668786 + +1.04357 0.109683 0.0804188 +0.992183 0 0.0668786 +1.05291 0.110666 0 + +0.992183 0 0.0668786 +1.04357 0.109683 0.0804188 +0.969153 0 0.130152 + +1.01602 0.106789 0.156502 +0.969153 0 0.130152 +1.04357 0.109683 0.0804188 + +0.969153 0 0.130152 +1.01602 0.106789 0.156502 +0.932153 0 0.186408 + +0.971777 0.102138 0.224149 +0.932153 0 0.186408 +1.01602 0.106789 0.156502 + +0.932153 0 0.186408 +0.971777 0.102138 0.224149 +0.883176 0 0.232616 + +0.913207 0.0959819 0.279711 +0.883176 0 0.232616 +0.971777 0.102138 0.224149 + +0.883176 0 0.232616 +0.913207 0.0959819 0.279711 +0.824863 0 0.266283 + +0.843472 0.0886525 0.320194 +0.824863 0 0.266283 +0.913207 0.0959819 0.279711 + +0.824863 0 0.266283 +0.843472 0.0886525 0.320194 +0.760358 0 0.285594 + +0.766332 0.0805448 0.343415 +0.760358 0 0.285594 +0.843472 0.0886525 0.320194 + +0.760358 0 0.285594 +0.766332 0.0805448 0.343415 +0.693138 0 0.289509 + +0.685946 0.0720958 0.348123 +0.693138 0 0.289509 +0.766332 0.0805448 0.343415 + +0.693138 0 0.289509 +0.685946 0.0720958 0.348123 +0.626827 0 0.277817 + +0.606646 0.0637611 0.334064 +0.626827 0 0.277817 +0.685946 0.0720958 0.348123 + +0.626827 0 0.277817 +0.606646 0.0637611 0.334064 +0.565 0 0.251147 + +0.532709 0.05599 0.301995 +0.565 0 0.251147 +0.606646 0.0637611 0.334064 + +0.565 0 0.251147 +0.532709 0.05599 0.301995 +0.51099 0 0.210938 + +0.46812 0.0492014 0.253645 +0.51099 0 0.210938 +0.532709 0.05599 0.301995 + +0.51099 0 0.210938 +0.46812 0.0492014 0.253645 +0.467709 0 0.159358 + +0.416361 0.0437613 0.191621 +0.467709 0 0.159358 +0.46812 0.0492014 0.253645 + +0.467709 0 0.159358 +0.416361 0.0437613 0.191621 +0.437489 0 0.0991858 + +0.380222 0.039963 0.119267 +0.437489 0 0.0991858 +0.416361 0.0437613 0.191621 + +0.437489 0 0.0991858 +0.380222 0.039963 0.119267 +0.421961 0 0.0336669 + +0.361653 0.0380112 0.0404831 +0.421961 0 0.0336669 +0.380222 0.039963 0.119267 + +0.421961 0 0.0336669 +0.361653 0.0380112 0.0404831 +0.421961 0 -0.0336669 + +0.361653 0.0380112 -0.0404831 +0.421961 0 -0.0336669 +0.361653 0.0380112 0.0404831 + +0.421961 0 -0.0336669 +0.361653 0.0380112 -0.0404831 +0.437489 0 -0.0991858 + +0.380222 0.039963 -0.119267 +0.437489 0 -0.0991858 +0.361653 0.0380112 -0.0404831 + +0.437489 0 -0.0991858 +0.380222 0.039963 -0.119267 +0.467709 0 -0.159358 + +0.416361 0.0437613 -0.191621 +0.467709 0 -0.159358 +0.380222 0.039963 -0.119267 + +0.467709 0 -0.159358 +0.416361 0.0437613 -0.191621 +0.51099 0 -0.210938 + +0.46812 0.0492014 -0.253645 +0.51099 0 -0.210938 +0.416361 0.0437613 -0.191621 + +0.51099 0 -0.210938 +0.46812 0.0492014 -0.253645 +0.565 0 -0.251147 + +0.532709 0.05599 -0.301995 +0.565 0 -0.251147 +0.46812 0.0492014 -0.253645 + +0.565 0 -0.251147 +0.532709 0.05599 -0.301995 +0.626827 0 -0.277817 + +0.606646 0.0637611 -0.334064 +0.626827 0 -0.277817 +0.532709 0.05599 -0.301995 + +0.626827 0 -0.277817 +0.606646 0.0637611 -0.334064 +0.693138 0 -0.289509 + +0.685946 0.0720958 -0.348123 +0.693138 0 -0.289509 +0.606646 0.0637611 -0.334064 + +0.693138 0 -0.289509 +0.685946 0.0720958 -0.348123 +0.760358 0 -0.285594 + +0.766332 0.0805448 -0.343415 +0.760358 0 -0.285594 +0.685946 0.0720958 -0.348123 + +0.760358 0 -0.285594 +0.766332 0.0805448 -0.343415 +0.824863 0 -0.266283 + +0.843472 0.0886525 -0.320194 +0.824863 0 -0.266283 +0.766332 0.0805448 -0.343415 + +0.824863 0 -0.266283 +0.843472 0.0886525 -0.320194 +0.883176 0 -0.232616 + +0.913207 0.0959819 -0.279711 +0.883176 0 -0.232616 +0.843472 0.0886525 -0.320194 + +0.883176 0 -0.232616 +0.913207 0.0959819 -0.279711 +0.932153 0 -0.186408 + +0.971777 0.102138 -0.224149 +0.932153 0 -0.186408 +0.913207 0.0959819 -0.279711 + +0.932153 0 -0.186408 +0.971777 0.102138 -0.224149 +0.969153 0 -0.130152 + +1.01602 0.106789 -0.156502 +0.969153 0 -0.130152 +0.971777 0.102138 -0.224149 + +0.969153 0 -0.130152 +1.01602 0.106789 -0.156502 +0.992183 0 -0.0668786 + +1.04357 0.109683 -0.0804188 +0.992183 0 -0.0668786 +1.01602 0.106789 -0.156502 + +0.992183 0 -0.0668786 +1.04357 0.109683 -0.0804188 +1 0 0 + +1.05291 0.110666 0 +1 0 0 +1.04357 0.109683 -0.0804188 + +1.05291 0.110666 0 +1.08739 0.231131 0 +1.04357 0.109683 0.0804188 + +1.0768 0.22888 0.0926336 +1.04357 0.109683 0.0804188 +1.08739 0.231131 0 + +1.04357 0.109683 0.0804188 +1.0768 0.22888 0.0926336 +1.01602 0.106789 0.156502 + +1.04559 0.222248 0.180273 +1.01602 0.106789 0.156502 +1.0768 0.22888 0.0926336 + +1.01602 0.106789 0.156502 +1.04559 0.222248 0.180273 +0.971777 0.102138 0.224149 + +0.995465 0.211593 0.258194 +0.971777 0.102138 0.224149 +1.04559 0.222248 0.180273 + +0.971777 0.102138 0.224149 +0.995465 0.211593 0.258194 +0.913207 0.0959819 0.279711 + +0.929109 0.197488 0.322196 +0.913207 0.0959819 0.279711 +0.995465 0.211593 0.258194 + +0.913207 0.0959819 0.279711 +0.929109 0.197488 0.322196 +0.843472 0.0886525 0.320194 + +0.850105 0.180695 0.368828 +0.843472 0.0886525 0.320194 +0.929109 0.197488 0.322196 + +0.843472 0.0886525 0.320194 +0.850105 0.180695 0.368828 +0.766332 0.0805448 0.343415 + +0.762711 0.162119 0.395577 +0.766332 0.0805448 0.343415 +0.850105 0.180695 0.368828 + +0.766332 0.0805448 0.343415 +0.762711 0.162119 0.395577 +0.685946 0.0720958 0.348123 + +0.67164 0.142761 0.401 +0.685946 0.0720958 0.348123 +0.762711 0.162119 0.395577 + +0.685946 0.0720958 0.348123 +0.67164 0.142761 0.401 +0.606646 0.0637611 0.334064 + +0.581799 0.123665 0.384804 +0.606646 0.0637611 0.334064 +0.67164 0.142761 0.401 + +0.606646 0.0637611 0.334064 +0.581799 0.123665 0.384804 +0.532709 0.05599 0.301995 + +0.498034 0.10586 0.347864 +0.532709 0.05599 0.301995 +0.581799 0.123665 0.384804 + +0.532709 0.05599 0.301995 +0.498034 0.10586 0.347864 +0.46812 0.0492014 0.253645 + +0.424859 0.0903067 0.292171 +0.46812 0.0492014 0.253645 +0.498034 0.10586 0.347864 + +0.46812 0.0492014 0.253645 +0.424859 0.0903067 0.292171 +0.416361 0.0437613 0.191621 + +0.36622 0.0778425 0.220726 +0.416361 0.0437613 0.191621 +0.424859 0.0903067 0.292171 + +0.416361 0.0437613 0.191621 +0.36622 0.0778425 0.220726 +0.380222 0.039963 0.119267 + +0.325278 0.06914 0.137382 +0.380222 0.039963 0.119267 +0.36622 0.0778425 0.220726 + +0.380222 0.039963 0.119267 +0.325278 0.06914 0.137382 +0.361653 0.0380112 0.0404831 + +0.30424 0.0646682 0.0466321 +0.361653 0.0380112 0.0404831 +0.325278 0.06914 0.137382 + +0.361653 0.0380112 0.0404831 +0.30424 0.0646682 0.0466321 +0.361653 0.0380112 -0.0404831 + +0.30424 0.0646682 -0.0466321 +0.361653 0.0380112 -0.0404831 +0.30424 0.0646682 0.0466321 + +0.361653 0.0380112 -0.0404831 +0.30424 0.0646682 -0.0466321 +0.380222 0.039963 -0.119267 + +0.325278 0.06914 -0.137382 +0.380222 0.039963 -0.119267 +0.30424 0.0646682 -0.0466321 + +0.380222 0.039963 -0.119267 +0.325278 0.06914 -0.137382 +0.416361 0.0437613 -0.191621 + +0.36622 0.0778425 -0.220726 +0.416361 0.0437613 -0.191621 +0.325278 0.06914 -0.137382 + +0.416361 0.0437613 -0.191621 +0.36622 0.0778425 -0.220726 +0.46812 0.0492014 -0.253645 + +0.424859 0.0903067 -0.292171 +0.46812 0.0492014 -0.253645 +0.36622 0.0778425 -0.220726 + +0.46812 0.0492014 -0.253645 +0.424859 0.0903067 -0.292171 +0.532709 0.05599 -0.301995 + +0.498034 0.10586 -0.347864 +0.532709 0.05599 -0.301995 +0.424859 0.0903067 -0.292171 + +0.532709 0.05599 -0.301995 +0.498034 0.10586 -0.347864 +0.606646 0.0637611 -0.334064 + +0.581799 0.123665 -0.384804 +0.606646 0.0637611 -0.334064 +0.498034 0.10586 -0.347864 + +0.606646 0.0637611 -0.334064 +0.581799 0.123665 -0.384804 +0.685946 0.0720958 -0.348123 + +0.67164 0.142761 -0.401 +0.685946 0.0720958 -0.348123 +0.581799 0.123665 -0.384804 + +0.685946 0.0720958 -0.348123 +0.67164 0.142761 -0.401 +0.766332 0.0805448 -0.343415 + +0.762711 0.162119 -0.395577 +0.766332 0.0805448 -0.343415 +0.67164 0.142761 -0.401 + +0.766332 0.0805448 -0.343415 +0.762711 0.162119 -0.395577 +0.843472 0.0886525 -0.320194 + +0.850105 0.180695 -0.368828 +0.843472 0.0886525 -0.320194 +0.762711 0.162119 -0.395577 + +0.843472 0.0886525 -0.320194 +0.850105 0.180695 -0.368828 +0.913207 0.0959819 -0.279711 + +0.929109 0.197488 -0.322196 +0.913207 0.0959819 -0.279711 +0.850105 0.180695 -0.368828 + +0.913207 0.0959819 -0.279711 +0.929109 0.197488 -0.322196 +0.971777 0.102138 -0.224149 + +0.995465 0.211593 -0.258194 +0.971777 0.102138 -0.224149 +0.929109 0.197488 -0.322196 + +0.971777 0.102138 -0.224149 +0.995465 0.211593 -0.258194 +1.01602 0.106789 -0.156502 + +1.04559 0.222248 -0.180273 +1.01602 0.106789 -0.156502 +0.995465 0.211593 -0.258194 + +1.01602 0.106789 -0.156502 +1.04559 0.222248 -0.180273 +1.04357 0.109683 -0.0804188 + +1.0768 0.22888 -0.0926336 +1.04357 0.109683 -0.0804188 +1.04559 0.222248 -0.180273 + +1.04357 0.109683 -0.0804188 +1.0768 0.22888 -0.0926336 +1.05291 0.110666 0 + +1.08739 0.231131 0 +1.05291 0.110666 0 +1.0768 0.22888 -0.0926336 + +1.08739 0.231131 0 +1.09725 0.356517 0 +1.0768 0.22888 0.0926336 + +1.08587 0.352821 0.102327 +1.0768 0.22888 0.0926336 +1.09725 0.356517 0 + +1.0768 0.22888 0.0926336 +1.08587 0.352821 0.102327 +1.04559 0.222248 0.180273 + +1.05236 0.341932 0.199138 +1.04559 0.222248 0.180273 +1.08587 0.352821 0.102327 + +1.04559 0.222248 0.180273 +1.05236 0.341932 0.199138 +0.995465 0.211593 0.258194 + +0.998518 0.324438 0.285213 +0.995465 0.211593 0.258194 +1.05236 0.341932 0.199138 + +0.995465 0.211593 0.258194 +0.998518 0.324438 0.285213 +0.929109 0.197488 0.322196 + +0.927249 0.301281 0.355913 +0.929109 0.197488 0.322196 +0.998518 0.324438 0.285213 + +0.929109 0.197488 0.322196 +0.927249 0.301281 0.355913 +0.850105 0.180695 0.368828 + +0.842394 0.273711 0.407425 +0.850105 0.180695 0.368828 +0.927249 0.301281 0.355913 + +0.850105 0.180695 0.368828 +0.842394 0.273711 0.407425 +0.762711 0.162119 0.395577 + +0.748529 0.243212 0.436972 +0.762711 0.162119 0.395577 +0.842394 0.273711 0.407425 + +0.762711 0.162119 0.395577 +0.748529 0.243212 0.436972 +0.67164 0.142761 0.401 + +0.650713 0.21143 0.442963 +0.67164 0.142761 0.401 +0.748529 0.243212 0.436972 + +0.67164 0.142761 0.401 +0.650713 0.21143 0.442963 +0.581799 0.123665 0.384804 + +0.55422 0.180077 0.425073 +0.581799 0.123665 0.384804 +0.650713 0.21143 0.442963 + +0.581799 0.123665 0.384804 +0.55422 0.180077 0.425073 +0.498034 0.10586 0.347864 + +0.464252 0.150845 0.384267 +0.498034 0.10586 0.347864 +0.55422 0.180077 0.425073 + +0.498034 0.10586 0.347864 +0.464252 0.150845 0.384267 +0.424859 0.0903067 0.292171 + +0.385659 0.125308 0.322745 +0.424859 0.0903067 0.292171 +0.464252 0.150845 0.384267 + +0.424859 0.0903067 0.292171 +0.385659 0.125308 0.322745 +0.36622 0.0778425 0.220726 + +0.322677 0.104844 0.243824 +0.36622 0.0778425 0.220726 +0.385659 0.125308 0.322745 + +0.36622 0.0778425 0.220726 +0.322677 0.104844 0.243824 +0.325278 0.06914 0.137382 + +0.278703 0.0905562 0.151759 +0.325278 0.06914 0.137382 +0.322677 0.104844 0.243824 + +0.325278 0.06914 0.137382 +0.278703 0.0905562 0.151759 +0.30424 0.0646682 0.0466321 + +0.256107 0.0832143 0.051512 +0.30424 0.0646682 0.0466321 +0.278703 0.0905562 0.151759 + +0.30424 0.0646682 0.0466321 +0.256107 0.0832143 0.051512 +0.30424 0.0646682 -0.0466321 + +0.256107 0.0832143 -0.051512 +0.30424 0.0646682 -0.0466321 +0.256107 0.0832143 0.051512 + +0.30424 0.0646682 -0.0466321 +0.256107 0.0832143 -0.051512 +0.325278 0.06914 -0.137382 + +0.278703 0.0905562 -0.151759 +0.325278 0.06914 -0.137382 +0.256107 0.0832143 -0.051512 + +0.325278 0.06914 -0.137382 +0.278703 0.0905562 -0.151759 +0.36622 0.0778425 -0.220726 + +0.322677 0.104844 -0.243824 +0.36622 0.0778425 -0.220726 +0.278703 0.0905562 -0.151759 + +0.36622 0.0778425 -0.220726 +0.322677 0.104844 -0.243824 +0.424859 0.0903067 -0.292171 + +0.385659 0.125308 -0.322745 +0.424859 0.0903067 -0.292171 +0.322677 0.104844 -0.243824 + +0.424859 0.0903067 -0.292171 +0.385659 0.125308 -0.322745 +0.498034 0.10586 -0.347864 + +0.464252 0.150845 -0.384267 +0.498034 0.10586 -0.347864 +0.385659 0.125308 -0.322745 + +0.498034 0.10586 -0.347864 +0.464252 0.150845 -0.384267 +0.581799 0.123665 -0.384804 + +0.55422 0.180077 -0.425073 +0.581799 0.123665 -0.384804 +0.464252 0.150845 -0.384267 + +0.581799 0.123665 -0.384804 +0.55422 0.180077 -0.425073 +0.67164 0.142761 -0.401 + +0.650713 0.21143 -0.442963 +0.67164 0.142761 -0.401 +0.55422 0.180077 -0.425073 + +0.67164 0.142761 -0.401 +0.650713 0.21143 -0.442963 +0.762711 0.162119 -0.395577 + +0.748529 0.243212 -0.436972 +0.762711 0.162119 -0.395577 +0.650713 0.21143 -0.442963 + +0.762711 0.162119 -0.395577 +0.748529 0.243212 -0.436972 +0.850105 0.180695 -0.368828 + +0.842394 0.273711 -0.407425 +0.850105 0.180695 -0.368828 +0.748529 0.243212 -0.436972 + +0.850105 0.180695 -0.368828 +0.842394 0.273711 -0.407425 +0.929109 0.197488 -0.322196 + +0.927249 0.301281 -0.355913 +0.929109 0.197488 -0.322196 +0.842394 0.273711 -0.407425 + +0.929109 0.197488 -0.322196 +0.927249 0.301281 -0.355913 +0.995465 0.211593 -0.258194 + +0.998518 0.324438 -0.285213 +0.995465 0.211593 -0.258194 +0.927249 0.301281 -0.355913 + +0.995465 0.211593 -0.258194 +0.998518 0.324438 -0.285213 +1.04559 0.222248 -0.180273 + +1.05236 0.341932 -0.199138 +1.04559 0.222248 -0.180273 +0.998518 0.324438 -0.285213 + +1.04559 0.222248 -0.180273 +1.05236 0.341932 -0.199138 +1.0768 0.22888 -0.0926336 + +1.08587 0.352821 -0.102327 +1.0768 0.22888 -0.0926336 +1.05236 0.341932 -0.199138 + +1.0768 0.22888 -0.0926336 +1.08587 0.352821 -0.102327 +1.08739 0.231131 0 + +1.09725 0.356517 0 +1.08739 0.231131 0 +1.08587 0.352821 -0.102327 + +1.09725 0.356517 0 +1.07862 0.480234 0 +1.08587 0.352821 0.102327 + +1.06703 0.475074 0.108551 +1.08587 0.352821 0.102327 +1.07862 0.480234 0 + +1.08587 0.352821 0.102327 +1.06703 0.475074 0.108551 +1.05236 0.341932 0.199138 + +1.03289 0.45987 0.21125 +1.05236 0.341932 0.199138 +1.06703 0.475074 0.108551 + +1.05236 0.341932 0.199138 +1.03289 0.45987 0.21125 +0.998518 0.324438 0.285213 + +0.978021 0.435443 0.302561 +0.998518 0.324438 0.285213 +1.03289 0.45987 0.21125 + +0.998518 0.324438 0.285213 +0.978021 0.435443 0.302561 +0.927249 0.301281 0.355913 + +0.905399 0.40311 0.37756 +0.927249 0.301281 0.355913 +0.978021 0.435443 0.302561 + +0.927249 0.301281 0.355913 +0.905399 0.40311 0.37756 +0.842394 0.273711 0.407425 + +0.818934 0.364613 0.432205 +0.842394 0.273711 0.407425 +0.905399 0.40311 0.37756 + +0.842394 0.273711 0.407425 +0.818934 0.364613 0.432205 +0.748529 0.243212 0.436972 + +0.723287 0.322028 0.46355 +0.748529 0.243212 0.436972 +0.818934 0.364613 0.432205 + +0.748529 0.243212 0.436972 +0.723287 0.322028 0.46355 +0.650713 0.21143 0.442963 + +0.623615 0.277651 0.469904 +0.650713 0.21143 0.442963 +0.723287 0.322028 0.46355 + +0.650713 0.21143 0.442963 +0.623615 0.277651 0.469904 +0.55422 0.180077 0.425073 + +0.52529 0.233874 0.450926 +0.55422 0.180077 0.425073 +0.623615 0.277651 0.469904 + +0.55422 0.180077 0.425073 +0.52529 0.233874 0.450926 +0.464252 0.150845 0.384267 + +0.433614 0.193057 0.407639 +0.464252 0.150845 0.384267 +0.52529 0.233874 0.450926 + +0.464252 0.150845 0.384267 +0.433614 0.193057 0.407639 +0.385659 0.125308 0.322745 + +0.353529 0.157401 0.342375 +0.385659 0.125308 0.322745 +0.433614 0.193057 0.407639 + +0.385659 0.125308 0.322745 +0.353529 0.157401 0.342375 +0.322677 0.104844 0.243824 + +0.289352 0.128828 0.258654 +0.322677 0.104844 0.243824 +0.353529 0.157401 0.342375 + +0.322677 0.104844 0.243824 +0.289352 0.128828 0.258654 +0.278703 0.0905562 0.151759 + +0.244543 0.108878 0.160989 +0.278703 0.0905562 0.151759 +0.289352 0.128828 0.258654 + +0.278703 0.0905562 0.151759 +0.244543 0.108878 0.160989 +0.256107 0.0832143 0.051512 + +0.221518 0.0986263 0.054645 +0.256107 0.0832143 0.051512 +0.244543 0.108878 0.160989 + +0.256107 0.0832143 0.051512 +0.221518 0.0986263 0.054645 +0.256107 0.0832143 -0.051512 + +0.221518 0.0986263 -0.054645 +0.256107 0.0832143 -0.051512 +0.221518 0.0986263 0.054645 + +0.256107 0.0832143 -0.051512 +0.221518 0.0986263 -0.054645 +0.278703 0.0905562 -0.151759 + +0.244543 0.108878 -0.160989 +0.278703 0.0905562 -0.151759 +0.221518 0.0986263 -0.054645 + +0.278703 0.0905562 -0.151759 +0.244543 0.108878 -0.160989 +0.322677 0.104844 -0.243824 + +0.289352 0.128828 -0.258654 +0.322677 0.104844 -0.243824 +0.244543 0.108878 -0.160989 + +0.322677 0.104844 -0.243824 +0.289352 0.128828 -0.258654 +0.385659 0.125308 -0.322745 + +0.353529 0.157401 -0.342375 +0.385659 0.125308 -0.322745 +0.289352 0.128828 -0.258654 + +0.385659 0.125308 -0.322745 +0.353529 0.157401 -0.342375 +0.464252 0.150845 -0.384267 + +0.433614 0.193057 -0.407639 +0.464252 0.150845 -0.384267 +0.353529 0.157401 -0.342375 + +0.464252 0.150845 -0.384267 +0.433614 0.193057 -0.407639 +0.55422 0.180077 -0.425073 + +0.52529 0.233874 -0.450926 +0.55422 0.180077 -0.425073 +0.433614 0.193057 -0.407639 + +0.55422 0.180077 -0.425073 +0.52529 0.233874 -0.450926 +0.650713 0.21143 -0.442963 + +0.623615 0.277651 -0.469904 +0.650713 0.21143 -0.442963 +0.52529 0.233874 -0.450926 + +0.650713 0.21143 -0.442963 +0.623615 0.277651 -0.469904 +0.748529 0.243212 -0.436972 + +0.723287 0.322028 -0.46355 +0.748529 0.243212 -0.436972 +0.623615 0.277651 -0.469904 + +0.748529 0.243212 -0.436972 +0.723287 0.322028 -0.46355 +0.842394 0.273711 -0.407425 + +0.818934 0.364613 -0.432205 +0.842394 0.273711 -0.407425 +0.723287 0.322028 -0.46355 + +0.842394 0.273711 -0.407425 +0.818934 0.364613 -0.432205 +0.927249 0.301281 -0.355913 + +0.905399 0.40311 -0.37756 +0.927249 0.301281 -0.355913 +0.818934 0.364613 -0.432205 + +0.927249 0.301281 -0.355913 +0.905399 0.40311 -0.37756 +0.998518 0.324438 -0.285213 + +0.978021 0.435443 -0.302561 +0.998518 0.324438 -0.285213 +0.905399 0.40311 -0.37756 + +0.998518 0.324438 -0.285213 +0.978021 0.435443 -0.302561 +1.05236 0.341932 -0.199138 + +1.03289 0.45987 -0.21125 +1.05236 0.341932 -0.199138 +0.978021 0.435443 -0.302561 + +1.05236 0.341932 -0.199138 +1.03289 0.45987 -0.21125 +1.08587 0.352821 -0.102327 + +1.06703 0.475074 -0.108551 +1.08587 0.352821 -0.102327 +1.03289 0.45987 -0.21125 + +1.08587 0.352821 -0.102327 +1.06703 0.475074 -0.108551 +1.09725 0.356517 0 + +1.07862 0.480234 0 +1.09725 0.356517 0 +1.06703 0.475074 -0.108551 + +1.07862 0.480234 0 +1.03057 0.595 0 +1.06703 0.475074 0.108551 + +1.01937 0.588531 0.110696 +1.06703 0.475074 0.108551 +1.03057 0.595 0 + +1.06703 0.475074 0.108551 +1.01937 0.588531 0.110696 +1.03289 0.45987 0.21125 + +0.986354 0.569472 0.215424 +1.03289 0.45987 0.21125 +1.01937 0.588531 0.110696 + +1.03289 0.45987 0.21125 +0.986354 0.569472 0.215424 +0.978021 0.435443 0.302561 + +0.933317 0.538851 0.308538 +0.978021 0.435443 0.302561 +0.986354 0.569472 0.215424 + +0.978021 0.435443 0.302561 +0.933317 0.538851 0.308538 +0.905399 0.40311 0.37756 + +0.863112 0.498318 0.385019 +0.905399 0.40311 0.37756 +0.933317 0.538851 0.308538 + +0.905399 0.40311 0.37756 +0.863112 0.498318 0.385019 +0.818934 0.364613 0.432205 + +0.779525 0.450059 0.440744 +0.818934 0.364613 0.432205 +0.863112 0.498318 0.385019 + +0.818934 0.364613 0.432205 +0.779525 0.450059 0.440744 +0.723287 0.322028 0.46355 + +0.687062 0.396676 0.472708 +0.723287 0.322028 0.46355 +0.779525 0.450059 0.440744 + +0.723287 0.322028 0.46355 +0.687062 0.396676 0.472708 +0.623615 0.277651 0.469904 + +0.590708 0.341045 0.479188 +0.623615 0.277651 0.469904 +0.687062 0.396676 0.472708 + +0.623615 0.277651 0.469904 +0.590708 0.341045 0.479188 +0.52529 0.233874 0.450926 + +0.495656 0.286167 0.459835 +0.52529 0.233874 0.450926 +0.590708 0.341045 0.479188 + +0.52529 0.233874 0.450926 +0.495656 0.286167 0.459835 +0.433614 0.193057 0.407639 + +0.407032 0.235 0.415692 +0.433614 0.193057 0.407639 +0.495656 0.286167 0.459835 + +0.433614 0.193057 0.407639 +0.407032 0.235 0.415692 +0.353529 0.157401 0.342375 + +0.329613 0.190302 0.349139 +0.353529 0.157401 0.342375 +0.407032 0.235 0.415692 + +0.353529 0.157401 0.342375 +0.329613 0.190302 0.349139 +0.289352 0.128828 0.258654 + +0.267572 0.154483 0.263764 +0.289352 0.128828 0.258654 +0.329613 0.190302 0.349139 + +0.289352 0.128828 0.258654 +0.267572 0.154483 0.263764 +0.244543 0.108878 0.160989 + +0.224255 0.129474 0.16417 +0.244543 0.108878 0.160989 +0.267572 0.154483 0.263764 + +0.244543 0.108878 0.160989 +0.224255 0.129474 0.16417 +0.221518 0.0986263 0.054645 + +0.201997 0.116623 0.0557246 +0.221518 0.0986263 0.054645 +0.224255 0.129474 0.16417 + +0.221518 0.0986263 0.054645 +0.201997 0.116623 0.0557246 +0.221518 0.0986263 -0.054645 + +0.201997 0.116623 -0.0557246 +0.221518 0.0986263 -0.054645 +0.201997 0.116623 0.0557246 + +0.221518 0.0986263 -0.054645 +0.201997 0.116623 -0.0557246 +0.244543 0.108878 -0.160989 + +0.224255 0.129474 -0.16417 +0.244543 0.108878 -0.160989 +0.201997 0.116623 -0.0557246 + +0.244543 0.108878 -0.160989 +0.224255 0.129474 -0.16417 +0.289352 0.128828 -0.258654 + +0.267572 0.154483 -0.263764 +0.289352 0.128828 -0.258654 +0.224255 0.129474 -0.16417 + +0.289352 0.128828 -0.258654 +0.267572 0.154483 -0.263764 +0.353529 0.157401 -0.342375 + +0.329613 0.190302 -0.349139 +0.353529 0.157401 -0.342375 +0.267572 0.154483 -0.263764 + +0.353529 0.157401 -0.342375 +0.329613 0.190302 -0.349139 +0.433614 0.193057 -0.407639 + +0.407032 0.235 -0.415692 +0.433614 0.193057 -0.407639 +0.329613 0.190302 -0.349139 + +0.433614 0.193057 -0.407639 +0.407032 0.235 -0.415692 +0.52529 0.233874 -0.450926 + +0.495656 0.286167 -0.459835 +0.52529 0.233874 -0.450926 +0.407032 0.235 -0.415692 + +0.52529 0.233874 -0.450926 +0.495656 0.286167 -0.459835 +0.623615 0.277651 -0.469904 + +0.590708 0.341045 -0.479188 +0.623615 0.277651 -0.469904 +0.495656 0.286167 -0.459835 + +0.623615 0.277651 -0.469904 +0.590708 0.341045 -0.479188 +0.723287 0.322028 -0.46355 + +0.687062 0.396676 -0.472708 +0.723287 0.322028 -0.46355 +0.590708 0.341045 -0.479188 + +0.723287 0.322028 -0.46355 +0.687062 0.396676 -0.472708 +0.818934 0.364613 -0.432205 + +0.779525 0.450059 -0.440744 +0.818934 0.364613 -0.432205 +0.687062 0.396676 -0.472708 + +0.818934 0.364613 -0.432205 +0.779525 0.450059 -0.440744 +0.905399 0.40311 -0.37756 + +0.863112 0.498318 -0.385019 +0.905399 0.40311 -0.37756 +0.779525 0.450059 -0.440744 + +0.905399 0.40311 -0.37756 +0.863112 0.498318 -0.385019 +0.978021 0.435443 -0.302561 + +0.933317 0.538851 -0.308538 +0.978021 0.435443 -0.302561 +0.863112 0.498318 -0.385019 + +0.978021 0.435443 -0.302561 +0.933317 0.538851 -0.308538 +1.03289 0.45987 -0.21125 + +0.986354 0.569472 -0.215424 +1.03289 0.45987 -0.21125 +0.933317 0.538851 -0.308538 + +1.03289 0.45987 -0.21125 +0.986354 0.569472 -0.215424 +1.06703 0.475074 -0.108551 + +1.01937 0.588531 -0.110696 +1.06703 0.475074 -0.108551 +0.986354 0.569472 -0.215424 + +1.06703 0.475074 -0.108551 +1.01937 0.588531 -0.110696 +1.07862 0.480234 0 + +1.03057 0.595 0 +1.07862 0.480234 0 +1.01937 0.588531 -0.110696 + +1.03057 0.595 0 +0.955207 0.693998 0 +1.01937 0.588531 0.110696 + +0.944942 0.686541 0.108551 +1.01937 0.588531 0.110696 +0.955207 0.693998 0 + +1.01937 0.588531 0.110696 +0.944942 0.686541 0.108551 +0.986354 0.569472 0.215424 + +0.914702 0.66457 0.21125 +0.986354 0.569472 0.215424 +0.944942 0.686541 0.108551 + +0.986354 0.569472 0.215424 +0.914702 0.66457 0.21125 +0.933317 0.538851 0.308538 + +0.866116 0.62927 0.302561 +0.933317 0.538851 0.308538 +0.914702 0.66457 0.21125 + +0.933317 0.538851 0.308538 +0.866116 0.62927 0.302561 +0.863112 0.498318 0.385019 + +0.801803 0.582544 0.37756 +0.863112 0.498318 0.385019 +0.866116 0.62927 0.302561 + +0.863112 0.498318 0.385019 +0.801803 0.582544 0.37756 +0.779525 0.450059 0.440744 + +0.725231 0.526911 0.432205 +0.779525 0.450059 0.440744 +0.801803 0.582544 0.37756 + +0.779525 0.450059 0.440744 +0.725231 0.526911 0.432205 +0.687062 0.396676 0.472708 + +0.640528 0.465371 0.46355 +0.687062 0.396676 0.472708 +0.725231 0.526911 0.432205 + +0.687062 0.396676 0.472708 +0.640528 0.465371 0.46355 +0.590708 0.341045 0.479188 + +0.55226 0.401241 0.469904 +0.590708 0.341045 0.479188 +0.640528 0.465371 0.46355 + +0.590708 0.341045 0.479188 +0.55226 0.401241 0.469904 +0.495656 0.286167 0.459835 + +0.465186 0.337977 0.450926 +0.495656 0.286167 0.459835 +0.55226 0.401241 0.469904 + +0.495656 0.286167 0.459835 +0.465186 0.337977 0.450926 +0.407032 0.235 0.415692 + +0.384 0.278992 0.407639 +0.407032 0.235 0.415692 +0.465186 0.337977 0.450926 + +0.407032 0.235 0.415692 +0.384 0.278992 0.407639 +0.329613 0.190302 0.349139 + +0.313078 0.227464 0.342375 +0.329613 0.190302 0.349139 +0.384 0.278992 0.407639 + +0.329613 0.190302 0.349139 +0.313078 0.227464 0.342375 +0.267572 0.154483 0.263764 + +0.256244 0.186172 0.258654 +0.267572 0.154483 0.263764 +0.313078 0.227464 0.342375 + +0.267572 0.154483 0.263764 +0.256244 0.186172 0.258654 +0.224255 0.129474 0.16417 + +0.216563 0.157342 0.160989 +0.224255 0.129474 0.16417 +0.256244 0.186172 0.258654 + +0.224255 0.129474 0.16417 +0.216563 0.157342 0.160989 +0.201997 0.116623 0.0557246 + +0.196172 0.142527 0.054645 +0.201997 0.116623 0.0557246 +0.216563 0.157342 0.160989 + +0.201997 0.116623 0.0557246 +0.196172 0.142527 0.054645 +0.201997 0.116623 -0.0557246 + +0.196172 0.142527 -0.054645 +0.201997 0.116623 -0.0557246 +0.196172 0.142527 0.054645 + +0.201997 0.116623 -0.0557246 +0.196172 0.142527 -0.054645 +0.224255 0.129474 -0.16417 + +0.216563 0.157342 -0.160989 +0.224255 0.129474 -0.16417 +0.196172 0.142527 -0.054645 + +0.224255 0.129474 -0.16417 +0.216563 0.157342 -0.160989 +0.267572 0.154483 -0.263764 + +0.256244 0.186172 -0.258654 +0.267572 0.154483 -0.263764 +0.216563 0.157342 -0.160989 + +0.267572 0.154483 -0.263764 +0.256244 0.186172 -0.258654 +0.329613 0.190302 -0.349139 + +0.313078 0.227464 -0.342375 +0.329613 0.190302 -0.349139 +0.256244 0.186172 -0.258654 + +0.329613 0.190302 -0.349139 +0.313078 0.227464 -0.342375 +0.407032 0.235 -0.415692 + +0.384 0.278992 -0.407639 +0.407032 0.235 -0.415692 +0.313078 0.227464 -0.342375 + +0.407032 0.235 -0.415692 +0.384 0.278992 -0.407639 +0.495656 0.286167 -0.459835 + +0.465186 0.337977 -0.450926 +0.495656 0.286167 -0.459835 +0.384 0.278992 -0.407639 + +0.495656 0.286167 -0.459835 +0.465186 0.337977 -0.450926 +0.590708 0.341045 -0.479188 + +0.55226 0.401241 -0.469904 +0.590708 0.341045 -0.479188 +0.465186 0.337977 -0.450926 + +0.590708 0.341045 -0.479188 +0.55226 0.401241 -0.469904 +0.687062 0.396676 -0.472708 + +0.640528 0.465371 -0.46355 +0.687062 0.396676 -0.472708 +0.55226 0.401241 -0.469904 + +0.687062 0.396676 -0.472708 +0.640528 0.465371 -0.46355 +0.779525 0.450059 -0.440744 + +0.725231 0.526911 -0.432205 +0.779525 0.450059 -0.440744 +0.640528 0.465371 -0.46355 + +0.779525 0.450059 -0.440744 +0.725231 0.526911 -0.432205 +0.863112 0.498318 -0.385019 + +0.801803 0.582544 -0.37756 +0.863112 0.498318 -0.385019 +0.725231 0.526911 -0.432205 + +0.863112 0.498318 -0.385019 +0.801803 0.582544 -0.37756 +0.933317 0.538851 -0.308538 + +0.866116 0.62927 -0.302561 +0.933317 0.538851 -0.308538 +0.801803 0.582544 -0.37756 + +0.933317 0.538851 -0.308538 +0.866116 0.62927 -0.302561 +0.986354 0.569472 -0.215424 + +0.914702 0.66457 -0.21125 +0.986354 0.569472 -0.215424 +0.866116 0.62927 -0.302561 + +0.986354 0.569472 -0.215424 +0.914702 0.66457 -0.21125 +1.01937 0.588531 -0.110696 + +0.944942 0.686541 -0.108551 +1.01937 0.588531 -0.110696 +0.914702 0.66457 -0.21125 + +1.01937 0.588531 -0.110696 +0.944942 0.686541 -0.108551 +1.03057 0.595 0 + +0.955207 0.693998 0 +1.03057 0.595 0 +0.944942 0.686541 -0.108551 + +0.955207 0.693998 0 +0.857376 0.771985 0 +0.944942 0.686541 0.108551 + +0.848488 0.763982 0.102327 +0.944942 0.686541 0.108551 +0.857376 0.771985 0 + +0.944942 0.686541 0.108551 +0.848488 0.763982 0.102327 +0.914702 0.66457 0.21125 + +0.822302 0.740404 0.199138 +0.914702 0.66457 0.21125 +0.848488 0.763982 0.102327 + +0.914702 0.66457 0.21125 +0.822302 0.740404 0.199138 +0.866116 0.62927 0.302561 + +0.780231 0.702523 0.285213 +0.866116 0.62927 0.302561 +0.822302 0.740404 0.199138 + +0.866116 0.62927 0.302561 +0.780231 0.702523 0.285213 +0.801803 0.582544 0.37756 + +0.724542 0.65238 0.355913 +0.801803 0.582544 0.37756 +0.780231 0.702523 0.285213 + +0.801803 0.582544 0.37756 +0.724542 0.65238 0.355913 +0.725231 0.526911 0.432205 + +0.658237 0.59268 0.407425 +0.725231 0.526911 0.432205 +0.724542 0.65238 0.355913 + +0.725231 0.526911 0.432205 +0.658237 0.59268 0.407425 +0.640528 0.465371 0.46355 + +0.584892 0.526639 0.436972 +0.640528 0.465371 0.46355 +0.658237 0.59268 0.407425 + +0.640528 0.465371 0.46355 +0.584892 0.526639 0.436972 +0.55226 0.401241 0.469904 + +0.50846 0.457819 0.442963 +0.55226 0.401241 0.469904 +0.584892 0.526639 0.436972 + +0.55226 0.401241 0.469904 +0.50846 0.457819 0.442963 +0.465186 0.337977 0.450926 + +0.433061 0.38993 0.425073 +0.465186 0.337977 0.450926 +0.50846 0.457819 0.442963 + +0.465186 0.337977 0.450926 +0.433061 0.38993 0.425073 +0.384 0.278992 0.407639 + +0.362761 0.326632 0.384267 +0.384 0.278992 0.407639 +0.433061 0.38993 0.425073 + +0.384 0.278992 0.407639 +0.362761 0.326632 0.384267 +0.313078 0.227464 0.342375 + +0.301349 0.271336 0.322745 +0.313078 0.227464 0.342375 +0.362761 0.326632 0.384267 + +0.313078 0.227464 0.342375 +0.301349 0.271336 0.322745 +0.256244 0.186172 0.258654 + +0.252136 0.227025 0.243824 +0.256244 0.186172 0.258654 +0.301349 0.271336 0.322745 + +0.256244 0.186172 0.258654 +0.252136 0.227025 0.243824 +0.216563 0.157342 0.160989 + +0.217776 0.196086 0.151759 +0.216563 0.157342 0.160989 +0.252136 0.227025 0.243824 + +0.216563 0.157342 0.160989 +0.217776 0.196086 0.151759 +0.196172 0.142527 0.054645 + +0.200119 0.180188 0.051512 +0.196172 0.142527 0.054645 +0.217776 0.196086 0.151759 + +0.196172 0.142527 0.054645 +0.200119 0.180188 0.051512 +0.196172 0.142527 -0.054645 + +0.200119 0.180188 -0.051512 +0.196172 0.142527 -0.054645 +0.200119 0.180188 0.051512 + +0.196172 0.142527 -0.054645 +0.200119 0.180188 -0.051512 +0.216563 0.157342 -0.160989 + +0.217776 0.196086 -0.151759 +0.216563 0.157342 -0.160989 +0.200119 0.180188 -0.051512 + +0.216563 0.157342 -0.160989 +0.217776 0.196086 -0.151759 +0.256244 0.186172 -0.258654 + +0.252136 0.227025 -0.243824 +0.256244 0.186172 -0.258654 +0.217776 0.196086 -0.151759 + +0.256244 0.186172 -0.258654 +0.252136 0.227025 -0.243824 +0.313078 0.227464 -0.342375 + +0.301349 0.271336 -0.322745 +0.313078 0.227464 -0.342375 +0.252136 0.227025 -0.243824 + +0.313078 0.227464 -0.342375 +0.301349 0.271336 -0.322745 +0.384 0.278992 -0.407639 + +0.362761 0.326632 -0.384267 +0.384 0.278992 -0.407639 +0.301349 0.271336 -0.322745 + +0.384 0.278992 -0.407639 +0.362761 0.326632 -0.384267 +0.465186 0.337977 -0.450926 + +0.433061 0.38993 -0.425073 +0.465186 0.337977 -0.450926 +0.362761 0.326632 -0.384267 + +0.465186 0.337977 -0.450926 +0.433061 0.38993 -0.425073 +0.55226 0.401241 -0.469904 + +0.50846 0.457819 -0.442963 +0.55226 0.401241 -0.469904 +0.433061 0.38993 -0.425073 + +0.55226 0.401241 -0.469904 +0.50846 0.457819 -0.442963 +0.640528 0.465371 -0.46355 + +0.584892 0.526639 -0.436972 +0.640528 0.465371 -0.46355 +0.50846 0.457819 -0.442963 + +0.640528 0.465371 -0.46355 +0.584892 0.526639 -0.436972 +0.725231 0.526911 -0.432205 + +0.658237 0.59268 -0.407425 +0.725231 0.526911 -0.432205 +0.584892 0.526639 -0.436972 + +0.725231 0.526911 -0.432205 +0.658237 0.59268 -0.407425 +0.801803 0.582544 -0.37756 + +0.724542 0.65238 -0.355913 +0.801803 0.582544 -0.37756 +0.658237 0.59268 -0.407425 + +0.801803 0.582544 -0.37756 +0.724542 0.65238 -0.355913 +0.866116 0.62927 -0.302561 + +0.780231 0.702523 -0.285213 +0.866116 0.62927 -0.302561 +0.724542 0.65238 -0.355913 + +0.866116 0.62927 -0.302561 +0.780231 0.702523 -0.285213 +0.914702 0.66457 -0.21125 + +0.822302 0.740404 -0.199138 +0.914702 0.66457 -0.21125 +0.780231 0.702523 -0.285213 + +0.914702 0.66457 -0.21125 +0.822302 0.740404 -0.199138 +0.944942 0.686541 -0.108551 + +0.848488 0.763982 -0.102327 +0.944942 0.686541 -0.108551 +0.822302 0.740404 -0.199138 + +0.944942 0.686541 -0.108551 +0.848488 0.763982 -0.102327 +0.955207 0.693998 0 + +0.857376 0.771985 0 +0.955207 0.693998 0 +0.848488 0.763982 -0.102327 + +0.857376 0.771985 0 +0.743859 0.826139 0 +0.848488 0.763982 0.102327 + +0.736614 0.818092 0.0926336 +0.848488 0.763982 0.102327 +0.743859 0.826139 0 + +0.848488 0.763982 0.102327 +0.736614 0.818092 0.0926336 +0.822302 0.740404 0.199138 + +0.71527 0.794387 0.180273 +0.822302 0.740404 0.199138 +0.736614 0.818092 0.0926336 + +0.822302 0.740404 0.199138 +0.71527 0.794387 0.180273 +0.780231 0.702523 0.285213 + +0.680977 0.756302 0.258194 +0.780231 0.702523 0.285213 +0.71527 0.794387 0.180273 + +0.780231 0.702523 0.285213 +0.680977 0.756302 0.258194 +0.724542 0.65238 0.355913 + +0.635585 0.705888 0.322196 +0.724542 0.65238 0.355913 +0.680977 0.756302 0.258194 + +0.724542 0.65238 0.355913 +0.635585 0.705888 0.322196 +0.658237 0.59268 0.407425 + +0.581539 0.645865 0.368828 +0.658237 0.59268 0.407425 +0.635585 0.705888 0.322196 + +0.658237 0.59268 0.407425 +0.581539 0.645865 0.368828 +0.584892 0.526639 0.436972 + +0.521755 0.579468 0.395577 +0.584892 0.526639 0.436972 +0.581539 0.645865 0.368828 + +0.584892 0.526639 0.436972 +0.521755 0.579468 0.395577 +0.50846 0.457819 0.442963 + +0.459455 0.510276 0.401 +0.50846 0.457819 0.442963 +0.521755 0.579468 0.395577 + +0.50846 0.457819 0.442963 +0.459455 0.510276 0.401 +0.433061 0.38993 0.425073 + +0.397997 0.44202 0.384804 +0.433061 0.38993 0.425073 +0.459455 0.510276 0.401 + +0.433061 0.38993 0.425073 +0.397997 0.44202 0.384804 +0.362761 0.326632 0.384267 + +0.340695 0.37838 0.347864 +0.362761 0.326632 0.384267 +0.397997 0.44202 0.384804 + +0.362761 0.326632 0.384267 +0.340695 0.37838 0.347864 +0.301349 0.271336 0.322745 + +0.290638 0.322786 0.292171 +0.301349 0.271336 0.322745 +0.340695 0.37838 0.347864 + +0.301349 0.271336 0.322745 +0.290638 0.322786 0.292171 +0.252136 0.227025 0.243824 + +0.250524 0.278235 0.220726 +0.252136 0.227025 0.243824 +0.290638 0.322786 0.292171 + +0.252136 0.227025 0.243824 +0.250524 0.278235 0.220726 +0.217776 0.196086 0.151759 + +0.222516 0.247129 0.137382 +0.217776 0.196086 0.151759 +0.250524 0.278235 0.220726 + +0.217776 0.196086 0.151759 +0.222516 0.247129 0.137382 +0.200119 0.180188 0.051512 + +0.208124 0.231145 0.0466321 +0.200119 0.180188 0.051512 +0.222516 0.247129 0.137382 + +0.200119 0.180188 0.051512 +0.208124 0.231145 0.0466321 +0.200119 0.180188 -0.051512 + +0.208124 0.231145 -0.0466321 +0.200119 0.180188 -0.051512 +0.208124 0.231145 0.0466321 + +0.200119 0.180188 -0.051512 +0.208124 0.231145 -0.0466321 +0.217776 0.196086 -0.151759 + +0.222516 0.247129 -0.137382 +0.217776 0.196086 -0.151759 +0.208124 0.231145 -0.0466321 + +0.217776 0.196086 -0.151759 +0.222516 0.247129 -0.137382 +0.252136 0.227025 -0.243824 + +0.250524 0.278235 -0.220726 +0.252136 0.227025 -0.243824 +0.222516 0.247129 -0.137382 + +0.252136 0.227025 -0.243824 +0.250524 0.278235 -0.220726 +0.301349 0.271336 -0.322745 + +0.290638 0.322786 -0.292171 +0.301349 0.271336 -0.322745 +0.250524 0.278235 -0.220726 + +0.301349 0.271336 -0.322745 +0.290638 0.322786 -0.292171 +0.362761 0.326632 -0.384267 + +0.340695 0.37838 -0.347864 +0.362761 0.326632 -0.384267 +0.290638 0.322786 -0.292171 + +0.362761 0.326632 -0.384267 +0.340695 0.37838 -0.347864 +0.433061 0.38993 -0.425073 + +0.397997 0.44202 -0.384804 +0.433061 0.38993 -0.425073 +0.340695 0.37838 -0.347864 + +0.433061 0.38993 -0.425073 +0.397997 0.44202 -0.384804 +0.50846 0.457819 -0.442963 + +0.459455 0.510276 -0.401 +0.50846 0.457819 -0.442963 +0.397997 0.44202 -0.384804 + +0.50846 0.457819 -0.442963 +0.459455 0.510276 -0.401 +0.584892 0.526639 -0.436972 + +0.521755 0.579468 -0.395577 +0.584892 0.526639 -0.436972 +0.459455 0.510276 -0.401 + +0.584892 0.526639 -0.436972 +0.521755 0.579468 -0.395577 +0.658237 0.59268 -0.407425 + +0.581539 0.645865 -0.368828 +0.658237 0.59268 -0.407425 +0.521755 0.579468 -0.395577 + +0.658237 0.59268 -0.407425 +0.581539 0.645865 -0.368828 +0.724542 0.65238 -0.355913 + +0.635585 0.705888 -0.322196 +0.724542 0.65238 -0.355913 +0.581539 0.645865 -0.368828 + +0.724542 0.65238 -0.355913 +0.635585 0.705888 -0.322196 +0.780231 0.702523 -0.285213 + +0.680977 0.756302 -0.258194 +0.780231 0.702523 -0.285213 +0.635585 0.705888 -0.322196 + +0.780231 0.702523 -0.285213 +0.680977 0.756302 -0.258194 +0.822302 0.740404 -0.199138 + +0.71527 0.794387 -0.180273 +0.822302 0.740404 -0.199138 +0.680977 0.756302 -0.258194 + +0.822302 0.740404 -0.199138 +0.71527 0.794387 -0.180273 +0.848488 0.763982 -0.102327 + +0.736614 0.818092 -0.0926336 +0.848488 0.763982 -0.102327 +0.71527 0.794387 -0.180273 + +0.848488 0.763982 -0.102327 +0.736614 0.818092 -0.0926336 +0.857376 0.771985 0 + +0.743859 0.826139 0 +0.857376 0.771985 0 +0.736614 0.818092 -0.0926336 + +0.743859 0.826139 0 +0.622296 0.856517 0 +0.736614 0.818092 0.0926336 + +0.616771 0.848913 0.0804188 +0.736614 0.818092 0.0926336 +0.622296 0.856517 0 + +0.736614 0.818092 0.0926336 +0.616771 0.848913 0.0804188 +0.71527 0.794387 0.180273 + +0.600494 0.826509 0.156502 +0.71527 0.794387 0.180273 +0.616771 0.848913 0.0804188 + +0.71527 0.794387 0.180273 +0.600494 0.826509 0.156502 +0.680977 0.756302 0.258194 + +0.574343 0.790515 0.224149 +0.680977 0.756302 0.258194 +0.600494 0.826509 0.156502 + +0.680977 0.756302 0.258194 +0.574343 0.790515 0.224149 +0.635585 0.705888 0.322196 + +0.539726 0.742869 0.279711 +0.635585 0.705888 0.322196 +0.574343 0.790515 0.224149 + +0.635585 0.705888 0.322196 +0.539726 0.742869 0.279711 +0.581539 0.645865 0.368828 + +0.498511 0.686142 0.320194 +0.581539 0.645865 0.368828 +0.539726 0.742869 0.279711 + +0.581539 0.645865 0.368828 +0.498511 0.686142 0.320194 +0.521755 0.579468 0.395577 + +0.45292 0.623391 0.343415 +0.521755 0.579468 0.395577 +0.498511 0.686142 0.320194 + +0.521755 0.579468 0.395577 +0.45292 0.623391 0.343415 +0.459455 0.510276 0.401 + +0.40541 0.557999 0.348123 +0.459455 0.510276 0.401 +0.45292 0.623391 0.343415 + +0.459455 0.510276 0.401 +0.40541 0.557999 0.348123 +0.397997 0.44202 0.384804 + +0.358542 0.493491 0.334064 +0.397997 0.44202 0.384804 +0.40541 0.557999 0.348123 + +0.397997 0.44202 0.384804 +0.358542 0.493491 0.334064 +0.340695 0.37838 0.347864 + +0.314843 0.433345 0.301995 +0.340695 0.37838 0.347864 +0.358542 0.493491 0.334064 + +0.340695 0.37838 0.347864 +0.314843 0.433345 0.301995 +0.290638 0.322786 0.292171 + +0.27667 0.380803 0.253645 +0.290638 0.322786 0.292171 +0.314843 0.433345 0.301995 + +0.290638 0.322786 0.292171 +0.27667 0.380803 0.253645 +0.250524 0.278235 0.220726 + +0.246079 0.338698 0.191621 +0.250524 0.278235 0.220726 +0.27667 0.380803 0.253645 + +0.250524 0.278235 0.220726 +0.246079 0.338698 0.191621 +0.222516 0.247129 0.137382 + +0.22472 0.309301 0.119267 +0.222516 0.247129 0.137382 +0.246079 0.338698 0.191621 + +0.222516 0.247129 0.137382 +0.22472 0.309301 0.119267 +0.208124 0.231145 0.0466321 + +0.213745 0.294195 0.0404831 +0.208124 0.231145 0.0466321 +0.22472 0.309301 0.119267 + +0.208124 0.231145 0.0466321 +0.213745 0.294195 0.0404831 +0.208124 0.231145 -0.0466321 + +0.213745 0.294195 -0.0404831 +0.208124 0.231145 -0.0466321 +0.213745 0.294195 0.0404831 + +0.208124 0.231145 -0.0466321 +0.213745 0.294195 -0.0404831 +0.222516 0.247129 -0.137382 + +0.22472 0.309301 -0.119267 +0.222516 0.247129 -0.137382 +0.213745 0.294195 -0.0404831 + +0.222516 0.247129 -0.137382 +0.22472 0.309301 -0.119267 +0.250524 0.278235 -0.220726 + +0.246079 0.338698 -0.191621 +0.250524 0.278235 -0.220726 +0.22472 0.309301 -0.119267 + +0.250524 0.278235 -0.220726 +0.246079 0.338698 -0.191621 +0.290638 0.322786 -0.292171 + +0.27667 0.380803 -0.253645 +0.290638 0.322786 -0.292171 +0.246079 0.338698 -0.191621 + +0.290638 0.322786 -0.292171 +0.27667 0.380803 -0.253645 +0.340695 0.37838 -0.347864 + +0.314843 0.433345 -0.301995 +0.340695 0.37838 -0.347864 +0.27667 0.380803 -0.253645 + +0.340695 0.37838 -0.347864 +0.314843 0.433345 -0.301995 +0.397997 0.44202 -0.384804 + +0.358542 0.493491 -0.334064 +0.397997 0.44202 -0.384804 +0.314843 0.433345 -0.301995 + +0.397997 0.44202 -0.384804 +0.358542 0.493491 -0.334064 +0.459455 0.510276 -0.401 + +0.40541 0.557999 -0.348123 +0.459455 0.510276 -0.401 +0.358542 0.493491 -0.334064 + +0.459455 0.510276 -0.401 +0.40541 0.557999 -0.348123 +0.521755 0.579468 -0.395577 + +0.45292 0.623391 -0.343415 +0.521755 0.579468 -0.395577 +0.40541 0.557999 -0.348123 + +0.521755 0.579468 -0.395577 +0.45292 0.623391 -0.343415 +0.581539 0.645865 -0.368828 + +0.498511 0.686142 -0.320194 +0.581539 0.645865 -0.368828 +0.45292 0.623391 -0.343415 + +0.581539 0.645865 -0.368828 +0.498511 0.686142 -0.320194 +0.635585 0.705888 -0.322196 + +0.539726 0.742869 -0.279711 +0.635585 0.705888 -0.322196 +0.498511 0.686142 -0.320194 + +0.635585 0.705888 -0.322196 +0.539726 0.742869 -0.279711 +0.680977 0.756302 -0.258194 + +0.574343 0.790515 -0.224149 +0.680977 0.756302 -0.258194 +0.539726 0.742869 -0.279711 + +0.680977 0.756302 -0.258194 +0.574343 0.790515 -0.224149 +0.71527 0.794387 -0.180273 + +0.600494 0.826509 -0.156502 +0.71527 0.794387 -0.180273 +0.574343 0.790515 -0.224149 + +0.71527 0.794387 -0.180273 +0.600494 0.826509 -0.156502 +0.736614 0.818092 -0.0926336 + +0.616771 0.848913 -0.0804188 +0.736614 0.818092 -0.0926336 +0.600494 0.826509 -0.156502 + +0.736614 0.818092 -0.0926336 +0.616771 0.848913 -0.0804188 +0.743859 0.826139 0 + +0.622296 0.856517 0 +0.743859 0.826139 0 +0.616771 0.848913 -0.0804188 + +0.622296 0.856517 0 +0.5 0.866025 0 +0.616771 0.848913 0.0804188 + +0.496092 0.859256 0.0668786 +0.616771 0.848913 0.0804188 +0.5 0.866025 0 + +0.616771 0.848913 0.0804188 +0.496092 0.859256 0.0668786 +0.600494 0.826509 0.156502 + +0.484577 0.839312 0.130152 +0.600494 0.826509 0.156502 +0.496092 0.859256 0.0668786 + +0.600494 0.826509 0.156502 +0.484577 0.839312 0.130152 +0.574343 0.790515 0.224149 + +0.466076 0.807268 0.186408 +0.574343 0.790515 0.224149 +0.484577 0.839312 0.130152 + +0.574343 0.790515 0.224149 +0.466076 0.807268 0.186408 +0.539726 0.742869 0.279711 + +0.441588 0.764853 0.232616 +0.539726 0.742869 0.279711 +0.466076 0.807268 0.186408 + +0.539726 0.742869 0.279711 +0.441588 0.764853 0.232616 +0.498511 0.686142 0.320194 + +0.412432 0.714352 0.266283 +0.498511 0.686142 0.320194 +0.441588 0.764853 0.232616 + +0.498511 0.686142 0.320194 +0.412432 0.714352 0.266283 +0.45292 0.623391 0.343415 + +0.380179 0.658489 0.285594 +0.45292 0.623391 0.343415 +0.412432 0.714352 0.266283 + +0.45292 0.623391 0.343415 +0.380179 0.658489 0.285594 +0.40541 0.557999 0.348123 + +0.346569 0.600275 0.289509 +0.40541 0.557999 0.348123 +0.380179 0.658489 0.285594 + +0.40541 0.557999 0.348123 +0.346569 0.600275 0.289509 +0.358542 0.493491 0.334064 + +0.313414 0.542848 0.277817 +0.358542 0.493491 0.334064 +0.346569 0.600275 0.289509 + +0.358542 0.493491 0.334064 +0.313414 0.542848 0.277817 +0.314843 0.433345 0.301995 + +0.2825 0.489304 0.251147 +0.314843 0.433345 0.301995 +0.313414 0.542848 0.277817 + +0.314843 0.433345 0.301995 +0.2825 0.489304 0.251147 +0.27667 0.380803 0.253645 + +0.255495 0.44253 0.210938 +0.27667 0.380803 0.253645 +0.2825 0.489304 0.251147 + +0.27667 0.380803 0.253645 +0.255495 0.44253 0.210938 +0.246079 0.338698 0.191621 + +0.233854 0.405047 0.159358 +0.246079 0.338698 0.191621 +0.255495 0.44253 0.210938 + +0.246079 0.338698 0.191621 +0.233854 0.405047 0.159358 +0.22472 0.309301 0.119267 + +0.218745 0.378877 0.0991858 +0.22472 0.309301 0.119267 +0.233854 0.405047 0.159358 + +0.22472 0.309301 0.119267 +0.218745 0.378877 0.0991858 +0.213745 0.294195 0.0404831 + +0.21098 0.365429 0.0336669 +0.213745 0.294195 0.0404831 +0.218745 0.378877 0.0991858 + +0.213745 0.294195 0.0404831 +0.21098 0.365429 0.0336669 +0.213745 0.294195 -0.0404831 + +0.21098 0.365429 -0.0336669 +0.213745 0.294195 -0.0404831 +0.21098 0.365429 0.0336669 + +0.213745 0.294195 -0.0404831 +0.21098 0.365429 -0.0336669 +0.22472 0.309301 -0.119267 + +0.218745 0.378877 -0.0991858 +0.22472 0.309301 -0.119267 +0.21098 0.365429 -0.0336669 + +0.22472 0.309301 -0.119267 +0.218745 0.378877 -0.0991858 +0.246079 0.338698 -0.191621 + +0.233854 0.405047 -0.159358 +0.246079 0.338698 -0.191621 +0.218745 0.378877 -0.0991858 + +0.246079 0.338698 -0.191621 +0.233854 0.405047 -0.159358 +0.27667 0.380803 -0.253645 + +0.255495 0.44253 -0.210938 +0.27667 0.380803 -0.253645 +0.233854 0.405047 -0.159358 + +0.27667 0.380803 -0.253645 +0.255495 0.44253 -0.210938 +0.314843 0.433345 -0.301995 + +0.2825 0.489304 -0.251147 +0.314843 0.433345 -0.301995 +0.255495 0.44253 -0.210938 + +0.314843 0.433345 -0.301995 +0.2825 0.489304 -0.251147 +0.358542 0.493491 -0.334064 + +0.313414 0.542848 -0.277817 +0.358542 0.493491 -0.334064 +0.2825 0.489304 -0.251147 + +0.358542 0.493491 -0.334064 +0.313414 0.542848 -0.277817 +0.40541 0.557999 -0.348123 + +0.346569 0.600275 -0.289509 +0.40541 0.557999 -0.348123 +0.313414 0.542848 -0.277817 + +0.40541 0.557999 -0.348123 +0.346569 0.600275 -0.289509 +0.45292 0.623391 -0.343415 + +0.380179 0.658489 -0.285594 +0.45292 0.623391 -0.343415 +0.346569 0.600275 -0.289509 + +0.45292 0.623391 -0.343415 +0.380179 0.658489 -0.285594 +0.498511 0.686142 -0.320194 + +0.412432 0.714352 -0.266283 +0.498511 0.686142 -0.320194 +0.380179 0.658489 -0.285594 + +0.498511 0.686142 -0.320194 +0.412432 0.714352 -0.266283 +0.539726 0.742869 -0.279711 + +0.441588 0.764853 -0.232616 +0.539726 0.742869 -0.279711 +0.412432 0.714352 -0.266283 + +0.539726 0.742869 -0.279711 +0.441588 0.764853 -0.232616 +0.574343 0.790515 -0.224149 + +0.466076 0.807268 -0.186408 +0.574343 0.790515 -0.224149 +0.441588 0.764853 -0.232616 + +0.574343 0.790515 -0.224149 +0.466076 0.807268 -0.186408 +0.600494 0.826509 -0.156502 + +0.484577 0.839312 -0.130152 +0.600494 0.826509 -0.156502 +0.466076 0.807268 -0.186408 + +0.600494 0.826509 -0.156502 +0.484577 0.839312 -0.130152 +0.616771 0.848913 -0.0804188 + +0.496092 0.859256 -0.0668786 +0.616771 0.848913 -0.0804188 +0.484577 0.839312 -0.130152 + +0.616771 0.848913 -0.0804188 +0.496092 0.859256 -0.0668786 +0.622296 0.856517 0 + +0.5 0.866025 0 +0.622296 0.856517 0 +0.496092 0.859256 -0.0668786 + +0.5 0.866025 0 +0.382856 0.859908 0 +0.496092 0.859256 0.0668786 + +0.38032 0.854213 0.0533384 +0.496092 0.859256 0.0668786 +0.382856 0.859908 0 + +0.496092 0.859256 0.0668786 +0.38032 0.854213 0.0533384 +0.484577 0.839312 0.130152 + +0.37285 0.837434 0.103801 +0.484577 0.839312 0.130152 +0.38032 0.854213 0.0533384 + +0.484577 0.839312 0.130152 +0.37285 0.837434 0.103801 +0.466076 0.807268 0.186408 + +0.360847 0.810476 0.148668 +0.466076 0.807268 0.186408 +0.37285 0.837434 0.103801 + +0.466076 0.807268 0.186408 +0.360847 0.810476 0.148668 +0.441588 0.764853 0.232616 + +0.344959 0.774791 0.18552 +0.441588 0.764853 0.232616 +0.360847 0.810476 0.148668 + +0.441588 0.764853 0.232616 +0.344959 0.774791 0.18552 +0.412432 0.714352 0.266283 + +0.326043 0.732305 0.212371 +0.412432 0.714352 0.266283 +0.344959 0.774791 0.18552 + +0.412432 0.714352 0.266283 +0.326043 0.732305 0.212371 +0.380179 0.658489 0.285594 + +0.305119 0.685308 0.227773 +0.380179 0.658489 0.285594 +0.326043 0.732305 0.212371 + +0.380179 0.658489 0.285594 +0.305119 0.685308 0.227773 +0.346569 0.600275 0.289509 + +0.283313 0.636332 0.230895 +0.346569 0.600275 0.289509 +0.305119 0.685308 0.227773 + +0.346569 0.600275 0.289509 +0.283313 0.636332 0.230895 +0.313414 0.542848 0.277817 + +0.261803 0.588018 0.22157 +0.313414 0.542848 0.277817 +0.283313 0.636332 0.230895 + +0.313414 0.542848 0.277817 +0.261803 0.588018 0.22157 +0.2825 0.489304 0.251147 + +0.241747 0.542972 0.2003 +0.2825 0.489304 0.251147 +0.261803 0.588018 0.22157 + +0.2825 0.489304 0.251147 +0.241747 0.542972 0.2003 +0.255495 0.44253 0.210938 + +0.224226 0.503621 0.168232 +0.255495 0.44253 0.210938 +0.241747 0.542972 0.2003 + +0.255495 0.44253 0.210938 +0.224226 0.503621 0.168232 +0.233854 0.405047 0.159358 + +0.210186 0.472086 0.127094 +0.233854 0.405047 0.159358 +0.224226 0.503621 0.168232 + +0.233854 0.405047 0.159358 +0.210186 0.472086 0.127094 +0.218745 0.378877 0.0991858 + +0.200383 0.450069 0.0791047 +0.218745 0.378877 0.0991858 +0.210186 0.472086 0.127094 + +0.218745 0.378877 0.0991858 +0.200383 0.450069 0.0791047 +0.21098 0.365429 0.0336669 + +0.195346 0.438755 0.0268508 +0.21098 0.365429 0.0336669 +0.200383 0.450069 0.0791047 + +0.21098 0.365429 0.0336669 +0.195346 0.438755 0.0268508 +0.21098 0.365429 -0.0336669 + +0.195346 0.438755 -0.0268508 +0.21098 0.365429 -0.0336669 +0.195346 0.438755 0.0268508 + +0.21098 0.365429 -0.0336669 +0.195346 0.438755 -0.0268508 +0.218745 0.378877 -0.0991858 + +0.200383 0.450069 -0.0791047 +0.218745 0.378877 -0.0991858 +0.195346 0.438755 -0.0268508 + +0.218745 0.378877 -0.0991858 +0.200383 0.450069 -0.0791047 +0.233854 0.405047 -0.159358 + +0.210186 0.472086 -0.127094 +0.233854 0.405047 -0.159358 +0.200383 0.450069 -0.0791047 + +0.233854 0.405047 -0.159358 +0.210186 0.472086 -0.127094 +0.255495 0.44253 -0.210938 + +0.224226 0.503621 -0.168232 +0.255495 0.44253 -0.210938 +0.210186 0.472086 -0.127094 + +0.255495 0.44253 -0.210938 +0.224226 0.503621 -0.168232 +0.2825 0.489304 -0.251147 + +0.241747 0.542972 -0.2003 +0.2825 0.489304 -0.251147 +0.224226 0.503621 -0.168232 + +0.2825 0.489304 -0.251147 +0.241747 0.542972 -0.2003 +0.313414 0.542848 -0.277817 + +0.261803 0.588018 -0.22157 +0.313414 0.542848 -0.277817 +0.241747 0.542972 -0.2003 + +0.313414 0.542848 -0.277817 +0.261803 0.588018 -0.22157 +0.346569 0.600275 -0.289509 + +0.283313 0.636332 -0.230895 +0.346569 0.600275 -0.289509 +0.261803 0.588018 -0.22157 + +0.346569 0.600275 -0.289509 +0.283313 0.636332 -0.230895 +0.380179 0.658489 -0.285594 + +0.305119 0.685308 -0.227773 +0.380179 0.658489 -0.285594 +0.283313 0.636332 -0.230895 + +0.380179 0.658489 -0.285594 +0.305119 0.685308 -0.227773 +0.412432 0.714352 -0.266283 + +0.326043 0.732305 -0.212371 +0.412432 0.714352 -0.266283 +0.305119 0.685308 -0.227773 + +0.412432 0.714352 -0.266283 +0.326043 0.732305 -0.212371 +0.441588 0.764853 -0.232616 + +0.344959 0.774791 -0.18552 +0.441588 0.764853 -0.232616 +0.326043 0.732305 -0.212371 + +0.441588 0.764853 -0.232616 +0.344959 0.774791 -0.18552 +0.466076 0.807268 -0.186408 + +0.360847 0.810476 -0.148668 +0.466076 0.807268 -0.186408 +0.344959 0.774791 -0.18552 + +0.466076 0.807268 -0.186408 +0.360847 0.810476 -0.148668 +0.484577 0.839312 -0.130152 + +0.37285 0.837434 -0.103801 +0.484577 0.839312 -0.130152 +0.360847 0.810476 -0.148668 + +0.484577 0.839312 -0.130152 +0.37285 0.837434 -0.103801 +0.496092 0.859256 -0.0668786 + +0.38032 0.854213 -0.0533384 +0.496092 0.859256 -0.0668786 +0.37285 0.837434 -0.103801 + +0.496092 0.859256 -0.0668786 +0.38032 0.854213 -0.0533384 +0.5 0.866025 0 + +0.382856 0.859908 0 +0.5 0.866025 0 +0.38032 0.854213 -0.0533384 + +0.382856 0.859908 0 +0.274506 0.844843 0 +0.38032 0.854213 0.0533384 + +0.273021 0.840272 0.0411236 +0.38032 0.854213 0.0533384 +0.274506 0.844843 0 + +0.38032 0.854213 0.0533384 +0.273021 0.840272 0.0411236 +0.37285 0.837434 0.103801 + +0.268645 0.826804 0.0800302 +0.37285 0.837434 0.103801 +0.273021 0.840272 0.0411236 + +0.37285 0.837434 0.103801 +0.268645 0.826804 0.0800302 +0.360847 0.810476 0.148668 + +0.261614 0.805166 0.114622 +0.360847 0.810476 0.148668 +0.268645 0.826804 0.0800302 + +0.360847 0.810476 0.148668 +0.261614 0.805166 0.114622 +0.344959 0.774791 0.18552 + +0.252308 0.776524 0.143035 +0.344959 0.774791 0.18552 +0.261614 0.805166 0.114622 + +0.344959 0.774791 0.18552 +0.252308 0.776524 0.143035 +0.326043 0.732305 0.212371 + +0.241228 0.742423 0.163737 +0.326043 0.732305 0.212371 +0.252308 0.776524 0.143035 + +0.326043 0.732305 0.212371 +0.241228 0.742423 0.163737 +0.305119 0.685308 0.227773 + +0.228971 0.7047 0.175612 +0.305119 0.685308 0.227773 +0.241228 0.742423 0.163737 + +0.305119 0.685308 0.227773 +0.228971 0.7047 0.175612 +0.283313 0.636332 0.230895 + +0.216198 0.665389 0.178019 +0.283313 0.636332 0.230895 +0.228971 0.7047 0.175612 + +0.283313 0.636332 0.230895 +0.216198 0.665389 0.178019 +0.261803 0.588018 0.22157 + +0.203598 0.62661 0.170829 +0.261803 0.588018 0.22157 +0.216198 0.665389 0.178019 + +0.261803 0.588018 0.22157 +0.203598 0.62661 0.170829 +0.241747 0.542972 0.2003 + +0.19185 0.590454 0.15443 +0.241747 0.542972 0.2003 +0.203598 0.62661 0.170829 + +0.241747 0.542972 0.2003 +0.19185 0.590454 0.15443 +0.224226 0.503621 0.168232 + +0.181587 0.558868 0.129706 +0.224226 0.503621 0.168232 +0.19185 0.590454 0.15443 + +0.224226 0.503621 0.168232 +0.181587 0.558868 0.129706 +0.210186 0.472086 0.127094 + +0.173363 0.533557 0.0979889 +0.210186 0.472086 0.127094 +0.181587 0.558868 0.129706 + +0.210186 0.472086 0.127094 +0.173363 0.533557 0.0979889 +0.200383 0.450069 0.0791047 + +0.167621 0.515885 0.0609893 +0.200383 0.450069 0.0791047 +0.173363 0.533557 0.0979889 + +0.200383 0.450069 0.0791047 +0.167621 0.515885 0.0609893 +0.195346 0.438755 0.0268508 + +0.164671 0.506804 0.0207018 +0.195346 0.438755 0.0268508 +0.167621 0.515885 0.0609893 + +0.195346 0.438755 0.0268508 +0.164671 0.506804 0.0207018 +0.195346 0.438755 -0.0268508 + +0.164671 0.506804 -0.0207018 +0.195346 0.438755 -0.0268508 +0.164671 0.506804 0.0207018 + +0.195346 0.438755 -0.0268508 +0.164671 0.506804 -0.0207018 +0.200383 0.450069 -0.0791047 + +0.167621 0.515885 -0.0609893 +0.200383 0.450069 -0.0791047 +0.164671 0.506804 -0.0207018 + +0.200383 0.450069 -0.0791047 +0.167621 0.515885 -0.0609893 +0.210186 0.472086 -0.127094 + +0.173363 0.533557 -0.0979889 +0.210186 0.472086 -0.127094 +0.167621 0.515885 -0.0609893 + +0.210186 0.472086 -0.127094 +0.173363 0.533557 -0.0979889 +0.224226 0.503621 -0.168232 + +0.181587 0.558868 -0.129706 +0.224226 0.503621 -0.168232 +0.173363 0.533557 -0.0979889 + +0.224226 0.503621 -0.168232 +0.181587 0.558868 -0.129706 +0.241747 0.542972 -0.2003 + +0.19185 0.590454 -0.15443 +0.241747 0.542972 -0.2003 +0.181587 0.558868 -0.129706 + +0.241747 0.542972 -0.2003 +0.19185 0.590454 -0.15443 +0.261803 0.588018 -0.22157 + +0.203598 0.62661 -0.170829 +0.261803 0.588018 -0.22157 +0.19185 0.590454 -0.15443 + +0.261803 0.588018 -0.22157 +0.203598 0.62661 -0.170829 +0.283313 0.636332 -0.230895 + +0.216198 0.665389 -0.178019 +0.283313 0.636332 -0.230895 +0.203598 0.62661 -0.170829 + +0.283313 0.636332 -0.230895 +0.216198 0.665389 -0.178019 +0.305119 0.685308 -0.227773 + +0.228971 0.7047 -0.175612 +0.305119 0.685308 -0.227773 +0.216198 0.665389 -0.178019 + +0.305119 0.685308 -0.227773 +0.228971 0.7047 -0.175612 +0.326043 0.732305 -0.212371 + +0.241228 0.742423 -0.163737 +0.326043 0.732305 -0.212371 +0.228971 0.7047 -0.175612 + +0.326043 0.732305 -0.212371 +0.241228 0.742423 -0.163737 +0.344959 0.774791 -0.18552 + +0.252308 0.776524 -0.143035 +0.344959 0.774791 -0.18552 +0.241228 0.742423 -0.163737 + +0.344959 0.774791 -0.18552 +0.252308 0.776524 -0.143035 +0.360847 0.810476 -0.148668 + +0.261614 0.805166 -0.114622 +0.360847 0.810476 -0.148668 +0.252308 0.776524 -0.143035 + +0.360847 0.810476 -0.148668 +0.261614 0.805166 -0.114622 +0.37285 0.837434 -0.103801 + +0.268645 0.826804 -0.0800302 +0.37285 0.837434 -0.103801 +0.261614 0.805166 -0.114622 + +0.37285 0.837434 -0.103801 +0.268645 0.826804 -0.0800302 +0.38032 0.854213 -0.0533384 + +0.273021 0.840272 -0.0411236 +0.38032 0.854213 -0.0533384 +0.268645 0.826804 -0.0800302 + +0.38032 0.854213 -0.0533384 +0.273021 0.840272 -0.0411236 +0.382856 0.859908 0 + +0.274506 0.844843 0 +0.382856 0.859908 0 +0.273021 0.840272 -0.0411236 + +0.274506 0.844843 0 +0.175953 0.827793 0 +0.273021 0.840272 0.0411236 + +0.175189 0.8242 0.0314299 +0.273021 0.840272 0.0411236 +0.175953 0.827793 0 + +0.273021 0.840272 0.0411236 +0.175189 0.8242 0.0314299 +0.268645 0.826804 0.0800302 + +0.172939 0.813614 0.0611654 +0.268645 0.826804 0.0800302 +0.175189 0.8242 0.0314299 + +0.268645 0.826804 0.0800302 +0.172939 0.813614 0.0611654 +0.261614 0.805166 0.114622 + +0.169324 0.796605 0.0876034 +0.261614 0.805166 0.114622 +0.172939 0.813614 0.0611654 + +0.261614 0.805166 0.114622 +0.169324 0.796605 0.0876034 +0.252308 0.776524 0.143035 + +0.164538 0.774091 0.109319 +0.252308 0.776524 0.143035 +0.169324 0.796605 0.0876034 + +0.252308 0.776524 0.143035 +0.164538 0.774091 0.109319 +0.241228 0.742423 0.163737 + +0.15884 0.747286 0.125141 +0.241228 0.742423 0.163737 +0.164538 0.774091 0.109319 + +0.241228 0.742423 0.163737 +0.15884 0.747286 0.125141 +0.228971 0.7047 0.175612 + +0.152538 0.717634 0.134216 +0.228971 0.7047 0.175612 +0.15884 0.747286 0.125141 + +0.228971 0.7047 0.175612 +0.152538 0.717634 0.134216 +0.216198 0.665389 0.178019 + +0.14597 0.686734 0.136056 +0.216198 0.665389 0.178019 +0.152538 0.717634 0.134216 + +0.216198 0.665389 0.178019 +0.14597 0.686734 0.136056 +0.203598 0.62661 0.170829 + +0.139491 0.656251 0.130561 +0.203598 0.62661 0.170829 +0.14597 0.686734 0.136056 + +0.203598 0.62661 0.170829 +0.139491 0.656251 0.130561 +0.19185 0.590454 0.15443 + +0.133449 0.627831 0.118028 +0.19185 0.590454 0.15443 +0.139491 0.656251 0.130561 + +0.19185 0.590454 0.15443 +0.133449 0.627831 0.118028 +0.181587 0.558868 0.129706 + +0.128172 0.603003 0.0991314 +0.181587 0.558868 0.129706 +0.133449 0.627831 0.118028 + +0.181587 0.558868 0.129706 +0.128172 0.603003 0.0991314 +0.173363 0.533557 0.0979889 + +0.123943 0.583107 0.0748908 +0.173363 0.533557 0.0979889 +0.128172 0.603003 0.0991314 + +0.173363 0.533557 0.0979889 +0.123943 0.583107 0.0748908 +0.167621 0.515885 0.0609893 + +0.120991 0.569216 0.0466128 +0.167621 0.515885 0.0609893 +0.123943 0.583107 0.0748908 + +0.167621 0.515885 0.0609893 +0.120991 0.569216 0.0466128 +0.164671 0.506804 0.0207018 + +0.119473 0.562078 0.0158219 +0.164671 0.506804 0.0207018 +0.120991 0.569216 0.0466128 + +0.164671 0.506804 0.0207018 +0.119473 0.562078 0.0158219 +0.164671 0.506804 -0.0207018 + +0.119473 0.562078 -0.0158219 +0.164671 0.506804 -0.0207018 +0.119473 0.562078 0.0158219 + +0.164671 0.506804 -0.0207018 +0.119473 0.562078 -0.0158219 +0.167621 0.515885 -0.0609893 + +0.120991 0.569216 -0.0466128 +0.167621 0.515885 -0.0609893 +0.119473 0.562078 -0.0158219 + +0.167621 0.515885 -0.0609893 +0.120991 0.569216 -0.0466128 +0.173363 0.533557 -0.0979889 + +0.123943 0.583107 -0.0748908 +0.173363 0.533557 -0.0979889 +0.120991 0.569216 -0.0466128 + +0.173363 0.533557 -0.0979889 +0.123943 0.583107 -0.0748908 +0.181587 0.558868 -0.129706 + +0.128172 0.603003 -0.0991314 +0.181587 0.558868 -0.129706 +0.123943 0.583107 -0.0748908 + +0.181587 0.558868 -0.129706 +0.128172 0.603003 -0.0991314 +0.19185 0.590454 -0.15443 + +0.133449 0.627831 -0.118028 +0.19185 0.590454 -0.15443 +0.128172 0.603003 -0.0991314 + +0.19185 0.590454 -0.15443 +0.133449 0.627831 -0.118028 +0.203598 0.62661 -0.170829 + +0.139491 0.656251 -0.130561 +0.203598 0.62661 -0.170829 +0.133449 0.627831 -0.118028 + +0.203598 0.62661 -0.170829 +0.139491 0.656251 -0.130561 +0.216198 0.665389 -0.178019 + +0.14597 0.686734 -0.136056 +0.216198 0.665389 -0.178019 +0.139491 0.656251 -0.130561 + +0.216198 0.665389 -0.178019 +0.14597 0.686734 -0.136056 +0.228971 0.7047 -0.175612 + +0.152538 0.717634 -0.134216 +0.228971 0.7047 -0.175612 +0.14597 0.686734 -0.136056 + +0.228971 0.7047 -0.175612 +0.152538 0.717634 -0.134216 +0.241228 0.742423 -0.163737 + +0.15884 0.747286 -0.125141 +0.241228 0.742423 -0.163737 +0.152538 0.717634 -0.134216 + +0.241228 0.742423 -0.163737 +0.15884 0.747286 -0.125141 +0.252308 0.776524 -0.143035 + +0.164538 0.774091 -0.109319 +0.252308 0.776524 -0.143035 +0.15884 0.747286 -0.125141 + +0.252308 0.776524 -0.143035 +0.164538 0.774091 -0.109319 +0.261614 0.805166 -0.114622 + +0.169324 0.796605 -0.0876034 +0.261614 0.805166 -0.114622 +0.164538 0.774091 -0.109319 + +0.261614 0.805166 -0.114622 +0.169324 0.796605 -0.0876034 +0.268645 0.826804 -0.0800302 + +0.172939 0.813614 -0.0611654 +0.268645 0.826804 -0.0800302 +0.169324 0.796605 -0.0876034 + +0.268645 0.826804 -0.0800302 +0.172939 0.813614 -0.0611654 +0.273021 0.840272 -0.0411236 + +0.175189 0.8242 -0.0314299 +0.273021 0.840272 -0.0411236 +0.172939 0.813614 -0.0611654 + +0.273021 0.840272 -0.0411236 +0.175189 0.8242 -0.0314299 +0.274506 0.844843 0 + +0.175953 0.827793 0 +0.274506 0.844843 0 +0.175189 0.8242 -0.0314299 + +0.175953 0.827793 0 +0.0856401 0.814811 0 +0.175189 0.8242 0.0314299 + +0.0853321 0.811881 0.0252061 +0.175189 0.8242 0.0314299 +0.0856401 0.814811 0 + +0.175189 0.8242 0.0314299 +0.0853321 0.811881 0.0252061 +0.172939 0.813614 0.0611654 + +0.0844249 0.803249 0.0490534 +0.172939 0.813614 0.0611654 +0.0853321 0.811881 0.0252061 + +0.172939 0.813614 0.0611654 +0.0844249 0.803249 0.0490534 +0.169324 0.796605 0.0876034 + +0.0829672 0.78938 0.0702562 +0.169324 0.796605 0.0876034 +0.0844249 0.803249 0.0490534 + +0.169324 0.796605 0.0876034 +0.0829672 0.78938 0.0702562 +0.164538 0.774091 0.109319 + +0.0810377 0.771022 0.0876715 +0.164538 0.774091 0.109319 +0.0829672 0.78938 0.0702562 + +0.164538 0.774091 0.109319 +0.0810377 0.771022 0.0876715 +0.15884 0.747286 0.125141 + +0.0787404 0.749165 0.10036 +0.15884 0.747286 0.125141 +0.0810377 0.771022 0.0876715 + +0.15884 0.747286 0.125141 +0.0787404 0.749165 0.10036 +0.152538 0.717634 0.134216 + +0.0761991 0.724986 0.107639 +0.152538 0.717634 0.134216 +0.0787404 0.749165 0.10036 + +0.152538 0.717634 0.134216 +0.0761991 0.724986 0.107639 +0.14597 0.686734 0.136056 + +0.0735509 0.69979 0.109114 +0.14597 0.686734 0.136056 +0.0761991 0.724986 0.107639 + +0.14597 0.686734 0.136056 +0.0735509 0.69979 0.109114 +0.139491 0.656251 0.130561 + +0.0709385 0.674935 0.104708 +0.139491 0.656251 0.130561 +0.0735509 0.69979 0.109114 + +0.139491 0.656251 0.130561 +0.0709385 0.674935 0.104708 +0.133449 0.627831 0.118028 + +0.0685028 0.65176 0.0946559 +0.133449 0.627831 0.118028 +0.0709385 0.674935 0.104708 + +0.133449 0.627831 0.118028 +0.0685028 0.65176 0.0946559 +0.128172 0.603003 0.0991314 + +0.066375 0.631516 0.0795014 +0.128172 0.603003 0.0991314 +0.0685028 0.65176 0.0946559 + +0.128172 0.603003 0.0991314 +0.066375 0.631516 0.0795014 +0.123943 0.583107 0.0748908 + +0.0646699 0.615293 0.0600609 +0.123943 0.583107 0.0748908 +0.066375 0.631516 0.0795014 + +0.123943 0.583107 0.0748908 +0.0646699 0.615293 0.0600609 +0.120991 0.569216 0.0466128 + +0.0634793 0.603965 0.0373825 +0.120991 0.569216 0.0466128 +0.0646699 0.615293 0.0600609 + +0.120991 0.569216 0.0466128 +0.0634793 0.603965 0.0373825 +0.119473 0.562078 0.0158219 + +0.0628676 0.598145 0.0126889 +0.119473 0.562078 0.0158219 +0.0634793 0.603965 0.0373825 + +0.119473 0.562078 0.0158219 +0.0628676 0.598145 0.0126889 +0.119473 0.562078 -0.0158219 + +0.0628676 0.598145 -0.0126889 +0.119473 0.562078 -0.0158219 +0.0628676 0.598145 0.0126889 + +0.119473 0.562078 -0.0158219 +0.0628676 0.598145 -0.0126889 +0.120991 0.569216 -0.0466128 + +0.0634793 0.603965 -0.0373825 +0.120991 0.569216 -0.0466128 +0.0628676 0.598145 -0.0126889 + +0.120991 0.569216 -0.0466128 +0.0634793 0.603965 -0.0373825 +0.123943 0.583107 -0.0748908 + +0.0646699 0.615293 -0.0600609 +0.123943 0.583107 -0.0748908 +0.0634793 0.603965 -0.0373825 + +0.123943 0.583107 -0.0748908 +0.0646699 0.615293 -0.0600609 +0.128172 0.603003 -0.0991314 + +0.066375 0.631516 -0.0795014 +0.128172 0.603003 -0.0991314 +0.0646699 0.615293 -0.0600609 + +0.128172 0.603003 -0.0991314 +0.066375 0.631516 -0.0795014 +0.133449 0.627831 -0.118028 + +0.0685028 0.65176 -0.0946559 +0.133449 0.627831 -0.118028 +0.066375 0.631516 -0.0795014 + +0.133449 0.627831 -0.118028 +0.0685028 0.65176 -0.0946559 +0.139491 0.656251 -0.130561 + +0.0709385 0.674935 -0.104708 +0.139491 0.656251 -0.130561 +0.0685028 0.65176 -0.0946559 + +0.139491 0.656251 -0.130561 +0.0709385 0.674935 -0.104708 +0.14597 0.686734 -0.136056 + +0.0735509 0.69979 -0.109114 +0.14597 0.686734 -0.136056 +0.0709385 0.674935 -0.104708 + +0.14597 0.686734 -0.136056 +0.0735509 0.69979 -0.109114 +0.152538 0.717634 -0.134216 + +0.0761991 0.724986 -0.107639 +0.152538 0.717634 -0.134216 +0.0735509 0.69979 -0.109114 + +0.152538 0.717634 -0.134216 +0.0761991 0.724986 -0.107639 +0.15884 0.747286 -0.125141 + +0.0787404 0.749165 -0.10036 +0.15884 0.747286 -0.125141 +0.0761991 0.724986 -0.107639 + +0.15884 0.747286 -0.125141 +0.0787404 0.749165 -0.10036 +0.164538 0.774091 -0.109319 + +0.0810377 0.771022 -0.0876715 +0.164538 0.774091 -0.109319 +0.0787404 0.749165 -0.10036 + +0.164538 0.774091 -0.109319 +0.0810377 0.771022 -0.0876715 +0.169324 0.796605 -0.0876034 + +0.0829672 0.78938 -0.0702562 +0.169324 0.796605 -0.0876034 +0.0810377 0.771022 -0.0876715 + +0.169324 0.796605 -0.0876034 +0.0829672 0.78938 -0.0702562 +0.172939 0.813614 -0.0611654 + +0.0844249 0.803249 -0.0490534 +0.172939 0.813614 -0.0611654 +0.0829672 0.78938 -0.0702562 + +0.172939 0.813614 -0.0611654 +0.0844249 0.803249 -0.0490534 +0.175189 0.8242 -0.0314299 + +0.0853321 0.811881 -0.0252061 +0.175189 0.8242 -0.0314299 +0.0844249 0.803249 -0.0490534 + +0.175189 0.8242 -0.0314299 +0.0853321 0.811881 -0.0252061 +0.175953 0.827793 0 + +0.0856401 0.814811 0 +0.175953 0.827793 0 +0.0853321 0.811881 -0.0252061 + +0.0856401 0.814811 0 +1.79856e-16 0.81 0 +0.0853321 0.811881 0.0252061 + +1.79258e-16 0.807304 0.0230616 +0.0853321 0.811881 0.0252061 +1.79856e-16 0.81 0 + +0.0853321 0.811881 0.0252061 +1.79258e-16 0.807304 0.0230616 +0.0844249 0.803249 0.0490534 + +1.77494e-16 0.799363 0.0448799 +0.0844249 0.803249 0.0490534 +1.79258e-16 0.807304 0.0230616 + +0.0844249 0.803249 0.0490534 +1.77494e-16 0.799363 0.0448799 +0.0829672 0.78938 0.0702562 + +1.74661e-16 0.786604 0.0642788 +0.0829672 0.78938 0.0702562 +1.77494e-16 0.799363 0.0448799 + +0.0829672 0.78938 0.0702562 +1.74661e-16 0.786604 0.0642788 +0.0810377 0.771022 0.0876715 + +1.70911e-16 0.769716 0.0802123 +0.0810377 0.771022 0.0876715 +1.74661e-16 0.786604 0.0642788 + +0.0810377 0.771022 0.0876715 +1.70911e-16 0.769716 0.0802123 +0.0787404 0.749165 0.10036 + +1.66446e-16 0.749608 0.0918216 +0.0787404 0.749165 0.10036 +1.70911e-16 0.769716 0.0802123 + +0.0787404 0.749165 0.10036 +1.66446e-16 0.749608 0.0918216 +0.0761991 0.724986 0.107639 + +1.61507e-16 0.727365 0.0984808 +0.0761991 0.724986 0.107639 +1.66446e-16 0.749608 0.0918216 + +0.0761991 0.724986 0.107639 +1.61507e-16 0.727365 0.0984808 +0.0735509 0.69979 0.109114 + +1.56361e-16 0.704186 0.0998308 +0.0735509 0.69979 0.109114 +1.61507e-16 0.727365 0.0984808 + +0.0735509 0.69979 0.109114 +1.56361e-16 0.704186 0.0998308 +0.0709385 0.674935 0.104708 + +1.51283e-16 0.68132 0.095799 +0.0709385 0.674935 0.104708 +1.56361e-16 0.704186 0.0998308 + +0.0709385 0.674935 0.104708 +1.51283e-16 0.68132 0.095799 +0.0685028 0.65176 0.0946559 + +1.46549e-16 0.66 0.0866025 +0.0685028 0.65176 0.0946559 +1.51283e-16 0.68132 0.095799 + +0.0685028 0.65176 0.0946559 +1.46549e-16 0.66 0.0866025 +0.066375 0.631516 0.0795014 + +1.42414e-16 0.641376 0.0727374 +0.066375 0.631516 0.0795014 +1.46549e-16 0.66 0.0866025 + +0.066375 0.631516 0.0795014 +1.42414e-16 0.641376 0.0727374 +0.0646699 0.615293 0.0600609 + +1.391e-16 0.626451 0.0549509 +0.0646699 0.615293 0.0600609 +1.42414e-16 0.641376 0.0727374 + +0.0646699 0.615293 0.0600609 +1.391e-16 0.626451 0.0549509 +0.0634793 0.603965 0.0373825 + +1.36786e-16 0.616031 0.034202 +0.0634793 0.603965 0.0373825 +1.391e-16 0.626451 0.0549509 + +0.0634793 0.603965 0.0373825 +1.36786e-16 0.616031 0.034202 +0.0628676 0.598145 0.0126889 + +1.35597e-16 0.610676 0.0116093 +0.0628676 0.598145 0.0126889 +1.36786e-16 0.616031 0.034202 + +0.0628676 0.598145 0.0126889 +1.35597e-16 0.610676 0.0116093 +0.0628676 0.598145 -0.0126889 + +1.35597e-16 0.610676 -0.0116093 +0.0628676 0.598145 -0.0126889 +1.35597e-16 0.610676 0.0116093 + +0.0628676 0.598145 -0.0126889 +1.35597e-16 0.610676 -0.0116093 +0.0634793 0.603965 -0.0373825 + +1.36786e-16 0.616031 -0.034202 +0.0634793 0.603965 -0.0373825 +1.35597e-16 0.610676 -0.0116093 + +0.0634793 0.603965 -0.0373825 +1.36786e-16 0.616031 -0.034202 +0.0646699 0.615293 -0.0600609 + +1.391e-16 0.626451 -0.0549509 +0.0646699 0.615293 -0.0600609 +1.36786e-16 0.616031 -0.034202 + +0.0646699 0.615293 -0.0600609 +1.391e-16 0.626451 -0.0549509 +0.066375 0.631516 -0.0795014 + +1.42414e-16 0.641376 -0.0727374 +0.066375 0.631516 -0.0795014 +1.391e-16 0.626451 -0.0549509 + +0.066375 0.631516 -0.0795014 +1.42414e-16 0.641376 -0.0727374 +0.0685028 0.65176 -0.0946559 + +1.46549e-16 0.66 -0.0866025 +0.0685028 0.65176 -0.0946559 +1.42414e-16 0.641376 -0.0727374 + +0.0685028 0.65176 -0.0946559 +1.46549e-16 0.66 -0.0866025 +0.0709385 0.674935 -0.104708 + +1.51283e-16 0.68132 -0.095799 +0.0709385 0.674935 -0.104708 +1.46549e-16 0.66 -0.0866025 + +0.0709385 0.674935 -0.104708 +1.51283e-16 0.68132 -0.095799 +0.0735509 0.69979 -0.109114 + +1.56361e-16 0.704186 -0.0998308 +0.0735509 0.69979 -0.109114 +1.51283e-16 0.68132 -0.095799 + +0.0735509 0.69979 -0.109114 +1.56361e-16 0.704186 -0.0998308 +0.0761991 0.724986 -0.107639 + +1.61507e-16 0.727365 -0.0984808 +0.0761991 0.724986 -0.107639 +1.56361e-16 0.704186 -0.0998308 + +0.0761991 0.724986 -0.107639 +1.61507e-16 0.727365 -0.0984808 +0.0787404 0.749165 -0.10036 + +1.66446e-16 0.749608 -0.0918216 +0.0787404 0.749165 -0.10036 +1.61507e-16 0.727365 -0.0984808 + +0.0787404 0.749165 -0.10036 +1.66446e-16 0.749608 -0.0918216 +0.0810377 0.771022 -0.0876715 + +1.70911e-16 0.769716 -0.0802123 +0.0810377 0.771022 -0.0876715 +1.66446e-16 0.749608 -0.0918216 + +0.0810377 0.771022 -0.0876715 +1.70911e-16 0.769716 -0.0802123 +0.0829672 0.78938 -0.0702562 + +1.74661e-16 0.786604 -0.0642788 +0.0829672 0.78938 -0.0702562 +1.70911e-16 0.769716 -0.0802123 + +0.0829672 0.78938 -0.0702562 +1.74661e-16 0.786604 -0.0642788 +0.0844249 0.803249 -0.0490534 + +1.77494e-16 0.799363 -0.0448799 +0.0844249 0.803249 -0.0490534 +1.74661e-16 0.786604 -0.0642788 + +0.0844249 0.803249 -0.0490534 +1.77494e-16 0.799363 -0.0448799 +0.0853321 0.811881 -0.0252061 + +1.79258e-16 0.807304 -0.0230616 +0.0853321 0.811881 -0.0252061 +1.77494e-16 0.799363 -0.0448799 + +0.0853321 0.811881 -0.0252061 +1.79258e-16 0.807304 -0.0230616 +0.0856401 0.814811 0 + +1.79856e-16 0.81 0 +0.0856401 0.814811 0 +1.79258e-16 0.807304 -0.0230616 + +1.79856e-16 0.81 0 +-0.0856401 0.814811 0 +1.79258e-16 0.807304 0.0230616 + +-0.0853321 0.811881 0.0252061 +1.79258e-16 0.807304 0.0230616 +-0.0856401 0.814811 0 + +1.79258e-16 0.807304 0.0230616 +-0.0853321 0.811881 0.0252061 +1.77494e-16 0.799363 0.0448799 + +-0.0844249 0.803249 0.0490534 +1.77494e-16 0.799363 0.0448799 +-0.0853321 0.811881 0.0252061 + +1.77494e-16 0.799363 0.0448799 +-0.0844249 0.803249 0.0490534 +1.74661e-16 0.786604 0.0642788 + +-0.0829672 0.78938 0.0702562 +1.74661e-16 0.786604 0.0642788 +-0.0844249 0.803249 0.0490534 + +1.74661e-16 0.786604 0.0642788 +-0.0829672 0.78938 0.0702562 +1.70911e-16 0.769716 0.0802123 + +-0.0810377 0.771022 0.0876715 +1.70911e-16 0.769716 0.0802123 +-0.0829672 0.78938 0.0702562 + +1.70911e-16 0.769716 0.0802123 +-0.0810377 0.771022 0.0876715 +1.66446e-16 0.749608 0.0918216 + +-0.0787404 0.749165 0.10036 +1.66446e-16 0.749608 0.0918216 +-0.0810377 0.771022 0.0876715 + +1.66446e-16 0.749608 0.0918216 +-0.0787404 0.749165 0.10036 +1.61507e-16 0.727365 0.0984808 + +-0.0761991 0.724986 0.107639 +1.61507e-16 0.727365 0.0984808 +-0.0787404 0.749165 0.10036 + +1.61507e-16 0.727365 0.0984808 +-0.0761991 0.724986 0.107639 +1.56361e-16 0.704186 0.0998308 + +-0.0735509 0.69979 0.109114 +1.56361e-16 0.704186 0.0998308 +-0.0761991 0.724986 0.107639 + +1.56361e-16 0.704186 0.0998308 +-0.0735509 0.69979 0.109114 +1.51283e-16 0.68132 0.095799 + +-0.0709385 0.674935 0.104708 +1.51283e-16 0.68132 0.095799 +-0.0735509 0.69979 0.109114 + +1.51283e-16 0.68132 0.095799 +-0.0709385 0.674935 0.104708 +1.46549e-16 0.66 0.0866025 + +-0.0685028 0.65176 0.0946559 +1.46549e-16 0.66 0.0866025 +-0.0709385 0.674935 0.104708 + +1.46549e-16 0.66 0.0866025 +-0.0685028 0.65176 0.0946559 +1.42414e-16 0.641376 0.0727374 + +-0.066375 0.631516 0.0795014 +1.42414e-16 0.641376 0.0727374 +-0.0685028 0.65176 0.0946559 + +1.42414e-16 0.641376 0.0727374 +-0.066375 0.631516 0.0795014 +1.391e-16 0.626451 0.0549509 + +-0.0646699 0.615293 0.0600609 +1.391e-16 0.626451 0.0549509 +-0.066375 0.631516 0.0795014 + +1.391e-16 0.626451 0.0549509 +-0.0646699 0.615293 0.0600609 +1.36786e-16 0.616031 0.034202 + +-0.0634793 0.603965 0.0373825 +1.36786e-16 0.616031 0.034202 +-0.0646699 0.615293 0.0600609 + +1.36786e-16 0.616031 0.034202 +-0.0634793 0.603965 0.0373825 +1.35597e-16 0.610676 0.0116093 + +-0.0628676 0.598145 0.0126889 +1.35597e-16 0.610676 0.0116093 +-0.0634793 0.603965 0.0373825 + +1.35597e-16 0.610676 0.0116093 +-0.0628676 0.598145 0.0126889 +1.35597e-16 0.610676 -0.0116093 + +-0.0628676 0.598145 -0.0126889 +1.35597e-16 0.610676 -0.0116093 +-0.0628676 0.598145 0.0126889 + +1.35597e-16 0.610676 -0.0116093 +-0.0628676 0.598145 -0.0126889 +1.36786e-16 0.616031 -0.034202 + +-0.0634793 0.603965 -0.0373825 +1.36786e-16 0.616031 -0.034202 +-0.0628676 0.598145 -0.0126889 + +1.36786e-16 0.616031 -0.034202 +-0.0634793 0.603965 -0.0373825 +1.391e-16 0.626451 -0.0549509 + +-0.0646699 0.615293 -0.0600609 +1.391e-16 0.626451 -0.0549509 +-0.0634793 0.603965 -0.0373825 + +1.391e-16 0.626451 -0.0549509 +-0.0646699 0.615293 -0.0600609 +1.42414e-16 0.641376 -0.0727374 + +-0.066375 0.631516 -0.0795014 +1.42414e-16 0.641376 -0.0727374 +-0.0646699 0.615293 -0.0600609 + +1.42414e-16 0.641376 -0.0727374 +-0.066375 0.631516 -0.0795014 +1.46549e-16 0.66 -0.0866025 + +-0.0685028 0.65176 -0.0946559 +1.46549e-16 0.66 -0.0866025 +-0.066375 0.631516 -0.0795014 + +1.46549e-16 0.66 -0.0866025 +-0.0685028 0.65176 -0.0946559 +1.51283e-16 0.68132 -0.095799 + +-0.0709385 0.674935 -0.104708 +1.51283e-16 0.68132 -0.095799 +-0.0685028 0.65176 -0.0946559 + +1.51283e-16 0.68132 -0.095799 +-0.0709385 0.674935 -0.104708 +1.56361e-16 0.704186 -0.0998308 + +-0.0735509 0.69979 -0.109114 +1.56361e-16 0.704186 -0.0998308 +-0.0709385 0.674935 -0.104708 + +1.56361e-16 0.704186 -0.0998308 +-0.0735509 0.69979 -0.109114 +1.61507e-16 0.727365 -0.0984808 + +-0.0761991 0.724986 -0.107639 +1.61507e-16 0.727365 -0.0984808 +-0.0735509 0.69979 -0.109114 + +1.61507e-16 0.727365 -0.0984808 +-0.0761991 0.724986 -0.107639 +1.66446e-16 0.749608 -0.0918216 + +-0.0787404 0.749165 -0.10036 +1.66446e-16 0.749608 -0.0918216 +-0.0761991 0.724986 -0.107639 + +1.66446e-16 0.749608 -0.0918216 +-0.0787404 0.749165 -0.10036 +1.70911e-16 0.769716 -0.0802123 + +-0.0810377 0.771022 -0.0876715 +1.70911e-16 0.769716 -0.0802123 +-0.0787404 0.749165 -0.10036 + +1.70911e-16 0.769716 -0.0802123 +-0.0810377 0.771022 -0.0876715 +1.74661e-16 0.786604 -0.0642788 + +-0.0829672 0.78938 -0.0702562 +1.74661e-16 0.786604 -0.0642788 +-0.0810377 0.771022 -0.0876715 + +1.74661e-16 0.786604 -0.0642788 +-0.0829672 0.78938 -0.0702562 +1.77494e-16 0.799363 -0.0448799 + +-0.0844249 0.803249 -0.0490534 +1.77494e-16 0.799363 -0.0448799 +-0.0829672 0.78938 -0.0702562 + +1.77494e-16 0.799363 -0.0448799 +-0.0844249 0.803249 -0.0490534 +1.79258e-16 0.807304 -0.0230616 + +-0.0853321 0.811881 -0.0252061 +1.79258e-16 0.807304 -0.0230616 +-0.0844249 0.803249 -0.0490534 + +1.79258e-16 0.807304 -0.0230616 +-0.0853321 0.811881 -0.0252061 +1.79856e-16 0.81 0 + +-0.0856401 0.814811 0 +1.79856e-16 0.81 0 +-0.0853321 0.811881 -0.0252061 + +-0.0856401 0.814811 0 +-0.175953 0.827793 0 +-0.0853321 0.811881 0.0252061 + +-0.175189 0.8242 0.0314299 +-0.0853321 0.811881 0.0252061 +-0.175953 0.827793 0 + +-0.0853321 0.811881 0.0252061 +-0.175189 0.8242 0.0314299 +-0.0844249 0.803249 0.0490534 + +-0.172939 0.813614 0.0611654 +-0.0844249 0.803249 0.0490534 +-0.175189 0.8242 0.0314299 + +-0.0844249 0.803249 0.0490534 +-0.172939 0.813614 0.0611654 +-0.0829672 0.78938 0.0702562 + +-0.169324 0.796605 0.0876034 +-0.0829672 0.78938 0.0702562 +-0.172939 0.813614 0.0611654 + +-0.0829672 0.78938 0.0702562 +-0.169324 0.796605 0.0876034 +-0.0810377 0.771022 0.0876715 + +-0.164538 0.774091 0.109319 +-0.0810377 0.771022 0.0876715 +-0.169324 0.796605 0.0876034 + +-0.0810377 0.771022 0.0876715 +-0.164538 0.774091 0.109319 +-0.0787404 0.749165 0.10036 + +-0.15884 0.747286 0.125141 +-0.0787404 0.749165 0.10036 +-0.164538 0.774091 0.109319 + +-0.0787404 0.749165 0.10036 +-0.15884 0.747286 0.125141 +-0.0761991 0.724986 0.107639 + +-0.152538 0.717634 0.134216 +-0.0761991 0.724986 0.107639 +-0.15884 0.747286 0.125141 + +-0.0761991 0.724986 0.107639 +-0.152538 0.717634 0.134216 +-0.0735509 0.69979 0.109114 + +-0.14597 0.686734 0.136056 +-0.0735509 0.69979 0.109114 +-0.152538 0.717634 0.134216 + +-0.0735509 0.69979 0.109114 +-0.14597 0.686734 0.136056 +-0.0709385 0.674935 0.104708 + +-0.139491 0.656251 0.130561 +-0.0709385 0.674935 0.104708 +-0.14597 0.686734 0.136056 + +-0.0709385 0.674935 0.104708 +-0.139491 0.656251 0.130561 +-0.0685028 0.65176 0.0946559 + +-0.133449 0.627831 0.118028 +-0.0685028 0.65176 0.0946559 +-0.139491 0.656251 0.130561 + +-0.0685028 0.65176 0.0946559 +-0.133449 0.627831 0.118028 +-0.066375 0.631516 0.0795014 + +-0.128172 0.603003 0.0991314 +-0.066375 0.631516 0.0795014 +-0.133449 0.627831 0.118028 + +-0.066375 0.631516 0.0795014 +-0.128172 0.603003 0.0991314 +-0.0646699 0.615293 0.0600609 + +-0.123943 0.583107 0.0748908 +-0.0646699 0.615293 0.0600609 +-0.128172 0.603003 0.0991314 + +-0.0646699 0.615293 0.0600609 +-0.123943 0.583107 0.0748908 +-0.0634793 0.603965 0.0373825 + +-0.120991 0.569216 0.0466128 +-0.0634793 0.603965 0.0373825 +-0.123943 0.583107 0.0748908 + +-0.0634793 0.603965 0.0373825 +-0.120991 0.569216 0.0466128 +-0.0628676 0.598145 0.0126889 + +-0.119473 0.562078 0.0158219 +-0.0628676 0.598145 0.0126889 +-0.120991 0.569216 0.0466128 + +-0.0628676 0.598145 0.0126889 +-0.119473 0.562078 0.0158219 +-0.0628676 0.598145 -0.0126889 + +-0.119473 0.562078 -0.0158219 +-0.0628676 0.598145 -0.0126889 +-0.119473 0.562078 0.0158219 + +-0.0628676 0.598145 -0.0126889 +-0.119473 0.562078 -0.0158219 +-0.0634793 0.603965 -0.0373825 + +-0.120991 0.569216 -0.0466128 +-0.0634793 0.603965 -0.0373825 +-0.119473 0.562078 -0.0158219 + +-0.0634793 0.603965 -0.0373825 +-0.120991 0.569216 -0.0466128 +-0.0646699 0.615293 -0.0600609 + +-0.123943 0.583107 -0.0748908 +-0.0646699 0.615293 -0.0600609 +-0.120991 0.569216 -0.0466128 + +-0.0646699 0.615293 -0.0600609 +-0.123943 0.583107 -0.0748908 +-0.066375 0.631516 -0.0795014 + +-0.128172 0.603003 -0.0991314 +-0.066375 0.631516 -0.0795014 +-0.123943 0.583107 -0.0748908 + +-0.066375 0.631516 -0.0795014 +-0.128172 0.603003 -0.0991314 +-0.0685028 0.65176 -0.0946559 + +-0.133449 0.627831 -0.118028 +-0.0685028 0.65176 -0.0946559 +-0.128172 0.603003 -0.0991314 + +-0.0685028 0.65176 -0.0946559 +-0.133449 0.627831 -0.118028 +-0.0709385 0.674935 -0.104708 + +-0.139491 0.656251 -0.130561 +-0.0709385 0.674935 -0.104708 +-0.133449 0.627831 -0.118028 + +-0.0709385 0.674935 -0.104708 +-0.139491 0.656251 -0.130561 +-0.0735509 0.69979 -0.109114 + +-0.14597 0.686734 -0.136056 +-0.0735509 0.69979 -0.109114 +-0.139491 0.656251 -0.130561 + +-0.0735509 0.69979 -0.109114 +-0.14597 0.686734 -0.136056 +-0.0761991 0.724986 -0.107639 + +-0.152538 0.717634 -0.134216 +-0.0761991 0.724986 -0.107639 +-0.14597 0.686734 -0.136056 + +-0.0761991 0.724986 -0.107639 +-0.152538 0.717634 -0.134216 +-0.0787404 0.749165 -0.10036 + +-0.15884 0.747286 -0.125141 +-0.0787404 0.749165 -0.10036 +-0.152538 0.717634 -0.134216 + +-0.0787404 0.749165 -0.10036 +-0.15884 0.747286 -0.125141 +-0.0810377 0.771022 -0.0876715 + +-0.164538 0.774091 -0.109319 +-0.0810377 0.771022 -0.0876715 +-0.15884 0.747286 -0.125141 + +-0.0810377 0.771022 -0.0876715 +-0.164538 0.774091 -0.109319 +-0.0829672 0.78938 -0.0702562 + +-0.169324 0.796605 -0.0876034 +-0.0829672 0.78938 -0.0702562 +-0.164538 0.774091 -0.109319 + +-0.0829672 0.78938 -0.0702562 +-0.169324 0.796605 -0.0876034 +-0.0844249 0.803249 -0.0490534 + +-0.172939 0.813614 -0.0611654 +-0.0844249 0.803249 -0.0490534 +-0.169324 0.796605 -0.0876034 + +-0.0844249 0.803249 -0.0490534 +-0.172939 0.813614 -0.0611654 +-0.0853321 0.811881 -0.0252061 + +-0.175189 0.8242 -0.0314299 +-0.0853321 0.811881 -0.0252061 +-0.172939 0.813614 -0.0611654 + +-0.0853321 0.811881 -0.0252061 +-0.175189 0.8242 -0.0314299 +-0.0856401 0.814811 0 + +-0.175953 0.827793 0 +-0.0856401 0.814811 0 +-0.175189 0.8242 -0.0314299 + +-0.175953 0.827793 0 +-0.274506 0.844843 0 +-0.175189 0.8242 0.0314299 + +-0.273021 0.840272 0.0411236 +-0.175189 0.8242 0.0314299 +-0.274506 0.844843 0 + +-0.175189 0.8242 0.0314299 +-0.273021 0.840272 0.0411236 +-0.172939 0.813614 0.0611654 + +-0.268645 0.826804 0.0800302 +-0.172939 0.813614 0.0611654 +-0.273021 0.840272 0.0411236 + +-0.172939 0.813614 0.0611654 +-0.268645 0.826804 0.0800302 +-0.169324 0.796605 0.0876034 + +-0.261614 0.805166 0.114622 +-0.169324 0.796605 0.0876034 +-0.268645 0.826804 0.0800302 + +-0.169324 0.796605 0.0876034 +-0.261614 0.805166 0.114622 +-0.164538 0.774091 0.109319 + +-0.252308 0.776524 0.143035 +-0.164538 0.774091 0.109319 +-0.261614 0.805166 0.114622 + +-0.164538 0.774091 0.109319 +-0.252308 0.776524 0.143035 +-0.15884 0.747286 0.125141 + +-0.241228 0.742423 0.163737 +-0.15884 0.747286 0.125141 +-0.252308 0.776524 0.143035 + +-0.15884 0.747286 0.125141 +-0.241228 0.742423 0.163737 +-0.152538 0.717634 0.134216 + +-0.228971 0.7047 0.175612 +-0.152538 0.717634 0.134216 +-0.241228 0.742423 0.163737 + +-0.152538 0.717634 0.134216 +-0.228971 0.7047 0.175612 +-0.14597 0.686734 0.136056 + +-0.216198 0.665389 0.178019 +-0.14597 0.686734 0.136056 +-0.228971 0.7047 0.175612 + +-0.14597 0.686734 0.136056 +-0.216198 0.665389 0.178019 +-0.139491 0.656251 0.130561 + +-0.203598 0.62661 0.170829 +-0.139491 0.656251 0.130561 +-0.216198 0.665389 0.178019 + +-0.139491 0.656251 0.130561 +-0.203598 0.62661 0.170829 +-0.133449 0.627831 0.118028 + +-0.19185 0.590454 0.15443 +-0.133449 0.627831 0.118028 +-0.203598 0.62661 0.170829 + +-0.133449 0.627831 0.118028 +-0.19185 0.590454 0.15443 +-0.128172 0.603003 0.0991314 + +-0.181587 0.558868 0.129706 +-0.128172 0.603003 0.0991314 +-0.19185 0.590454 0.15443 + +-0.128172 0.603003 0.0991314 +-0.181587 0.558868 0.129706 +-0.123943 0.583107 0.0748908 + +-0.173363 0.533557 0.0979889 +-0.123943 0.583107 0.0748908 +-0.181587 0.558868 0.129706 + +-0.123943 0.583107 0.0748908 +-0.173363 0.533557 0.0979889 +-0.120991 0.569216 0.0466128 + +-0.167621 0.515885 0.0609893 +-0.120991 0.569216 0.0466128 +-0.173363 0.533557 0.0979889 + +-0.120991 0.569216 0.0466128 +-0.167621 0.515885 0.0609893 +-0.119473 0.562078 0.0158219 + +-0.164671 0.506804 0.0207018 +-0.119473 0.562078 0.0158219 +-0.167621 0.515885 0.0609893 + +-0.119473 0.562078 0.0158219 +-0.164671 0.506804 0.0207018 +-0.119473 0.562078 -0.0158219 + +-0.164671 0.506804 -0.0207018 +-0.119473 0.562078 -0.0158219 +-0.164671 0.506804 0.0207018 + +-0.119473 0.562078 -0.0158219 +-0.164671 0.506804 -0.0207018 +-0.120991 0.569216 -0.0466128 + +-0.167621 0.515885 -0.0609893 +-0.120991 0.569216 -0.0466128 +-0.164671 0.506804 -0.0207018 + +-0.120991 0.569216 -0.0466128 +-0.167621 0.515885 -0.0609893 +-0.123943 0.583107 -0.0748908 + +-0.173363 0.533557 -0.0979889 +-0.123943 0.583107 -0.0748908 +-0.167621 0.515885 -0.0609893 + +-0.123943 0.583107 -0.0748908 +-0.173363 0.533557 -0.0979889 +-0.128172 0.603003 -0.0991314 + +-0.181587 0.558868 -0.129706 +-0.128172 0.603003 -0.0991314 +-0.173363 0.533557 -0.0979889 + +-0.128172 0.603003 -0.0991314 +-0.181587 0.558868 -0.129706 +-0.133449 0.627831 -0.118028 + +-0.19185 0.590454 -0.15443 +-0.133449 0.627831 -0.118028 +-0.181587 0.558868 -0.129706 + +-0.133449 0.627831 -0.118028 +-0.19185 0.590454 -0.15443 +-0.139491 0.656251 -0.130561 + +-0.203598 0.62661 -0.170829 +-0.139491 0.656251 -0.130561 +-0.19185 0.590454 -0.15443 + +-0.139491 0.656251 -0.130561 +-0.203598 0.62661 -0.170829 +-0.14597 0.686734 -0.136056 + +-0.216198 0.665389 -0.178019 +-0.14597 0.686734 -0.136056 +-0.203598 0.62661 -0.170829 + +-0.14597 0.686734 -0.136056 +-0.216198 0.665389 -0.178019 +-0.152538 0.717634 -0.134216 + +-0.228971 0.7047 -0.175612 +-0.152538 0.717634 -0.134216 +-0.216198 0.665389 -0.178019 + +-0.152538 0.717634 -0.134216 +-0.228971 0.7047 -0.175612 +-0.15884 0.747286 -0.125141 + +-0.241228 0.742423 -0.163737 +-0.15884 0.747286 -0.125141 +-0.228971 0.7047 -0.175612 + +-0.15884 0.747286 -0.125141 +-0.241228 0.742423 -0.163737 +-0.164538 0.774091 -0.109319 + +-0.252308 0.776524 -0.143035 +-0.164538 0.774091 -0.109319 +-0.241228 0.742423 -0.163737 + +-0.164538 0.774091 -0.109319 +-0.252308 0.776524 -0.143035 +-0.169324 0.796605 -0.0876034 + +-0.261614 0.805166 -0.114622 +-0.169324 0.796605 -0.0876034 +-0.252308 0.776524 -0.143035 + +-0.169324 0.796605 -0.0876034 +-0.261614 0.805166 -0.114622 +-0.172939 0.813614 -0.0611654 + +-0.268645 0.826804 -0.0800302 +-0.172939 0.813614 -0.0611654 +-0.261614 0.805166 -0.114622 + +-0.172939 0.813614 -0.0611654 +-0.268645 0.826804 -0.0800302 +-0.175189 0.8242 -0.0314299 + +-0.273021 0.840272 -0.0411236 +-0.175189 0.8242 -0.0314299 +-0.268645 0.826804 -0.0800302 + +-0.175189 0.8242 -0.0314299 +-0.273021 0.840272 -0.0411236 +-0.175953 0.827793 0 + +-0.274506 0.844843 0 +-0.175953 0.827793 0 +-0.273021 0.840272 -0.0411236 + +-0.274506 0.844843 0 +-0.382856 0.859908 0 +-0.273021 0.840272 0.0411236 + +-0.38032 0.854213 0.0533384 +-0.273021 0.840272 0.0411236 +-0.382856 0.859908 0 + +-0.273021 0.840272 0.0411236 +-0.38032 0.854213 0.0533384 +-0.268645 0.826804 0.0800302 + +-0.37285 0.837434 0.103801 +-0.268645 0.826804 0.0800302 +-0.38032 0.854213 0.0533384 + +-0.268645 0.826804 0.0800302 +-0.37285 0.837434 0.103801 +-0.261614 0.805166 0.114622 + +-0.360847 0.810476 0.148668 +-0.261614 0.805166 0.114622 +-0.37285 0.837434 0.103801 + +-0.261614 0.805166 0.114622 +-0.360847 0.810476 0.148668 +-0.252308 0.776524 0.143035 + +-0.344959 0.774791 0.18552 +-0.252308 0.776524 0.143035 +-0.360847 0.810476 0.148668 + +-0.252308 0.776524 0.143035 +-0.344959 0.774791 0.18552 +-0.241228 0.742423 0.163737 + +-0.326043 0.732305 0.212371 +-0.241228 0.742423 0.163737 +-0.344959 0.774791 0.18552 + +-0.241228 0.742423 0.163737 +-0.326043 0.732305 0.212371 +-0.228971 0.7047 0.175612 + +-0.305119 0.685308 0.227773 +-0.228971 0.7047 0.175612 +-0.326043 0.732305 0.212371 + +-0.228971 0.7047 0.175612 +-0.305119 0.685308 0.227773 +-0.216198 0.665389 0.178019 + +-0.283313 0.636332 0.230895 +-0.216198 0.665389 0.178019 +-0.305119 0.685308 0.227773 + +-0.216198 0.665389 0.178019 +-0.283313 0.636332 0.230895 +-0.203598 0.62661 0.170829 + +-0.261803 0.588018 0.22157 +-0.203598 0.62661 0.170829 +-0.283313 0.636332 0.230895 + +-0.203598 0.62661 0.170829 +-0.261803 0.588018 0.22157 +-0.19185 0.590454 0.15443 + +-0.241747 0.542972 0.2003 +-0.19185 0.590454 0.15443 +-0.261803 0.588018 0.22157 + +-0.19185 0.590454 0.15443 +-0.241747 0.542972 0.2003 +-0.181587 0.558868 0.129706 + +-0.224226 0.503621 0.168232 +-0.181587 0.558868 0.129706 +-0.241747 0.542972 0.2003 + +-0.181587 0.558868 0.129706 +-0.224226 0.503621 0.168232 +-0.173363 0.533557 0.0979889 + +-0.210186 0.472086 0.127094 +-0.173363 0.533557 0.0979889 +-0.224226 0.503621 0.168232 + +-0.173363 0.533557 0.0979889 +-0.210186 0.472086 0.127094 +-0.167621 0.515885 0.0609893 + +-0.200383 0.450069 0.0791047 +-0.167621 0.515885 0.0609893 +-0.210186 0.472086 0.127094 + +-0.167621 0.515885 0.0609893 +-0.200383 0.450069 0.0791047 +-0.164671 0.506804 0.0207018 + +-0.195346 0.438755 0.0268508 +-0.164671 0.506804 0.0207018 +-0.200383 0.450069 0.0791047 + +-0.164671 0.506804 0.0207018 +-0.195346 0.438755 0.0268508 +-0.164671 0.506804 -0.0207018 + +-0.195346 0.438755 -0.0268508 +-0.164671 0.506804 -0.0207018 +-0.195346 0.438755 0.0268508 + +-0.164671 0.506804 -0.0207018 +-0.195346 0.438755 -0.0268508 +-0.167621 0.515885 -0.0609893 + +-0.200383 0.450069 -0.0791047 +-0.167621 0.515885 -0.0609893 +-0.195346 0.438755 -0.0268508 + +-0.167621 0.515885 -0.0609893 +-0.200383 0.450069 -0.0791047 +-0.173363 0.533557 -0.0979889 + +-0.210186 0.472086 -0.127094 +-0.173363 0.533557 -0.0979889 +-0.200383 0.450069 -0.0791047 + +-0.173363 0.533557 -0.0979889 +-0.210186 0.472086 -0.127094 +-0.181587 0.558868 -0.129706 + +-0.224226 0.503621 -0.168232 +-0.181587 0.558868 -0.129706 +-0.210186 0.472086 -0.127094 + +-0.181587 0.558868 -0.129706 +-0.224226 0.503621 -0.168232 +-0.19185 0.590454 -0.15443 + +-0.241747 0.542972 -0.2003 +-0.19185 0.590454 -0.15443 +-0.224226 0.503621 -0.168232 + +-0.19185 0.590454 -0.15443 +-0.241747 0.542972 -0.2003 +-0.203598 0.62661 -0.170829 + +-0.261803 0.588018 -0.22157 +-0.203598 0.62661 -0.170829 +-0.241747 0.542972 -0.2003 + +-0.203598 0.62661 -0.170829 +-0.261803 0.588018 -0.22157 +-0.216198 0.665389 -0.178019 + +-0.283313 0.636332 -0.230895 +-0.216198 0.665389 -0.178019 +-0.261803 0.588018 -0.22157 + +-0.216198 0.665389 -0.178019 +-0.283313 0.636332 -0.230895 +-0.228971 0.7047 -0.175612 + +-0.305119 0.685308 -0.227773 +-0.228971 0.7047 -0.175612 +-0.283313 0.636332 -0.230895 + +-0.228971 0.7047 -0.175612 +-0.305119 0.685308 -0.227773 +-0.241228 0.742423 -0.163737 + +-0.326043 0.732305 -0.212371 +-0.241228 0.742423 -0.163737 +-0.305119 0.685308 -0.227773 + +-0.241228 0.742423 -0.163737 +-0.326043 0.732305 -0.212371 +-0.252308 0.776524 -0.143035 + +-0.344959 0.774791 -0.18552 +-0.252308 0.776524 -0.143035 +-0.326043 0.732305 -0.212371 + +-0.252308 0.776524 -0.143035 +-0.344959 0.774791 -0.18552 +-0.261614 0.805166 -0.114622 + +-0.360847 0.810476 -0.148668 +-0.261614 0.805166 -0.114622 +-0.344959 0.774791 -0.18552 + +-0.261614 0.805166 -0.114622 +-0.360847 0.810476 -0.148668 +-0.268645 0.826804 -0.0800302 + +-0.37285 0.837434 -0.103801 +-0.268645 0.826804 -0.0800302 +-0.360847 0.810476 -0.148668 + +-0.268645 0.826804 -0.0800302 +-0.37285 0.837434 -0.103801 +-0.273021 0.840272 -0.0411236 + +-0.38032 0.854213 -0.0533384 +-0.273021 0.840272 -0.0411236 +-0.37285 0.837434 -0.103801 + +-0.273021 0.840272 -0.0411236 +-0.38032 0.854213 -0.0533384 +-0.274506 0.844843 0 + +-0.382856 0.859908 0 +-0.274506 0.844843 0 +-0.38032 0.854213 -0.0533384 + +-0.382856 0.859908 0 +-0.5 0.866025 0 +-0.38032 0.854213 0.0533384 + +-0.496092 0.859256 0.0668786 +-0.38032 0.854213 0.0533384 +-0.5 0.866025 0 + +-0.38032 0.854213 0.0533384 +-0.496092 0.859256 0.0668786 +-0.37285 0.837434 0.103801 + +-0.484577 0.839312 0.130152 +-0.37285 0.837434 0.103801 +-0.496092 0.859256 0.0668786 + +-0.37285 0.837434 0.103801 +-0.484577 0.839312 0.130152 +-0.360847 0.810476 0.148668 + +-0.466076 0.807268 0.186408 +-0.360847 0.810476 0.148668 +-0.484577 0.839312 0.130152 + +-0.360847 0.810476 0.148668 +-0.466076 0.807268 0.186408 +-0.344959 0.774791 0.18552 + +-0.441588 0.764853 0.232616 +-0.344959 0.774791 0.18552 +-0.466076 0.807268 0.186408 + +-0.344959 0.774791 0.18552 +-0.441588 0.764853 0.232616 +-0.326043 0.732305 0.212371 + +-0.412432 0.714352 0.266283 +-0.326043 0.732305 0.212371 +-0.441588 0.764853 0.232616 + +-0.326043 0.732305 0.212371 +-0.412432 0.714352 0.266283 +-0.305119 0.685308 0.227773 + +-0.380179 0.658489 0.285594 +-0.305119 0.685308 0.227773 +-0.412432 0.714352 0.266283 + +-0.305119 0.685308 0.227773 +-0.380179 0.658489 0.285594 +-0.283313 0.636332 0.230895 + +-0.346569 0.600275 0.289509 +-0.283313 0.636332 0.230895 +-0.380179 0.658489 0.285594 + +-0.283313 0.636332 0.230895 +-0.346569 0.600275 0.289509 +-0.261803 0.588018 0.22157 + +-0.313414 0.542848 0.277817 +-0.261803 0.588018 0.22157 +-0.346569 0.600275 0.289509 + +-0.261803 0.588018 0.22157 +-0.313414 0.542848 0.277817 +-0.241747 0.542972 0.2003 + +-0.2825 0.489304 0.251147 +-0.241747 0.542972 0.2003 +-0.313414 0.542848 0.277817 + +-0.241747 0.542972 0.2003 +-0.2825 0.489304 0.251147 +-0.224226 0.503621 0.168232 + +-0.255495 0.44253 0.210938 +-0.224226 0.503621 0.168232 +-0.2825 0.489304 0.251147 + +-0.224226 0.503621 0.168232 +-0.255495 0.44253 0.210938 +-0.210186 0.472086 0.127094 + +-0.233854 0.405047 0.159358 +-0.210186 0.472086 0.127094 +-0.255495 0.44253 0.210938 + +-0.210186 0.472086 0.127094 +-0.233854 0.405047 0.159358 +-0.200383 0.450069 0.0791047 + +-0.218745 0.378877 0.0991858 +-0.200383 0.450069 0.0791047 +-0.233854 0.405047 0.159358 + +-0.200383 0.450069 0.0791047 +-0.218745 0.378877 0.0991858 +-0.195346 0.438755 0.0268508 + +-0.21098 0.365429 0.0336669 +-0.195346 0.438755 0.0268508 +-0.218745 0.378877 0.0991858 + +-0.195346 0.438755 0.0268508 +-0.21098 0.365429 0.0336669 +-0.195346 0.438755 -0.0268508 + +-0.21098 0.365429 -0.0336669 +-0.195346 0.438755 -0.0268508 +-0.21098 0.365429 0.0336669 + +-0.195346 0.438755 -0.0268508 +-0.21098 0.365429 -0.0336669 +-0.200383 0.450069 -0.0791047 + +-0.218745 0.378877 -0.0991858 +-0.200383 0.450069 -0.0791047 +-0.21098 0.365429 -0.0336669 + +-0.200383 0.450069 -0.0791047 +-0.218745 0.378877 -0.0991858 +-0.210186 0.472086 -0.127094 + +-0.233854 0.405047 -0.159358 +-0.210186 0.472086 -0.127094 +-0.218745 0.378877 -0.0991858 + +-0.210186 0.472086 -0.127094 +-0.233854 0.405047 -0.159358 +-0.224226 0.503621 -0.168232 + +-0.255495 0.44253 -0.210938 +-0.224226 0.503621 -0.168232 +-0.233854 0.405047 -0.159358 + +-0.224226 0.503621 -0.168232 +-0.255495 0.44253 -0.210938 +-0.241747 0.542972 -0.2003 + +-0.2825 0.489304 -0.251147 +-0.241747 0.542972 -0.2003 +-0.255495 0.44253 -0.210938 + +-0.241747 0.542972 -0.2003 +-0.2825 0.489304 -0.251147 +-0.261803 0.588018 -0.22157 + +-0.313414 0.542848 -0.277817 +-0.261803 0.588018 -0.22157 +-0.2825 0.489304 -0.251147 + +-0.261803 0.588018 -0.22157 +-0.313414 0.542848 -0.277817 +-0.283313 0.636332 -0.230895 + +-0.346569 0.600275 -0.289509 +-0.283313 0.636332 -0.230895 +-0.313414 0.542848 -0.277817 + +-0.283313 0.636332 -0.230895 +-0.346569 0.600275 -0.289509 +-0.305119 0.685308 -0.227773 + +-0.380179 0.658489 -0.285594 +-0.305119 0.685308 -0.227773 +-0.346569 0.600275 -0.289509 + +-0.305119 0.685308 -0.227773 +-0.380179 0.658489 -0.285594 +-0.326043 0.732305 -0.212371 + +-0.412432 0.714352 -0.266283 +-0.326043 0.732305 -0.212371 +-0.380179 0.658489 -0.285594 + +-0.326043 0.732305 -0.212371 +-0.412432 0.714352 -0.266283 +-0.344959 0.774791 -0.18552 + +-0.441588 0.764853 -0.232616 +-0.344959 0.774791 -0.18552 +-0.412432 0.714352 -0.266283 + +-0.344959 0.774791 -0.18552 +-0.441588 0.764853 -0.232616 +-0.360847 0.810476 -0.148668 + +-0.466076 0.807268 -0.186408 +-0.360847 0.810476 -0.148668 +-0.441588 0.764853 -0.232616 + +-0.360847 0.810476 -0.148668 +-0.466076 0.807268 -0.186408 +-0.37285 0.837434 -0.103801 + +-0.484577 0.839312 -0.130152 +-0.37285 0.837434 -0.103801 +-0.466076 0.807268 -0.186408 + +-0.37285 0.837434 -0.103801 +-0.484577 0.839312 -0.130152 +-0.38032 0.854213 -0.0533384 + +-0.496092 0.859256 -0.0668786 +-0.38032 0.854213 -0.0533384 +-0.484577 0.839312 -0.130152 + +-0.38032 0.854213 -0.0533384 +-0.496092 0.859256 -0.0668786 +-0.382856 0.859908 0 + +-0.5 0.866025 0 +-0.382856 0.859908 0 +-0.496092 0.859256 -0.0668786 + +-0.5 0.866025 0 +-0.622296 0.856517 0 +-0.496092 0.859256 0.0668786 + +-0.616771 0.848913 0.0804188 +-0.496092 0.859256 0.0668786 +-0.622296 0.856517 0 + +-0.496092 0.859256 0.0668786 +-0.616771 0.848913 0.0804188 +-0.484577 0.839312 0.130152 + +-0.600494 0.826509 0.156502 +-0.484577 0.839312 0.130152 +-0.616771 0.848913 0.0804188 + +-0.484577 0.839312 0.130152 +-0.600494 0.826509 0.156502 +-0.466076 0.807268 0.186408 + +-0.574343 0.790515 0.224149 +-0.466076 0.807268 0.186408 +-0.600494 0.826509 0.156502 + +-0.466076 0.807268 0.186408 +-0.574343 0.790515 0.224149 +-0.441588 0.764853 0.232616 + +-0.539726 0.742869 0.279711 +-0.441588 0.764853 0.232616 +-0.574343 0.790515 0.224149 + +-0.441588 0.764853 0.232616 +-0.539726 0.742869 0.279711 +-0.412432 0.714352 0.266283 + +-0.498511 0.686142 0.320194 +-0.412432 0.714352 0.266283 +-0.539726 0.742869 0.279711 + +-0.412432 0.714352 0.266283 +-0.498511 0.686142 0.320194 +-0.380179 0.658489 0.285594 + +-0.45292 0.623391 0.343415 +-0.380179 0.658489 0.285594 +-0.498511 0.686142 0.320194 + +-0.380179 0.658489 0.285594 +-0.45292 0.623391 0.343415 +-0.346569 0.600275 0.289509 + +-0.40541 0.557999 0.348123 +-0.346569 0.600275 0.289509 +-0.45292 0.623391 0.343415 + +-0.346569 0.600275 0.289509 +-0.40541 0.557999 0.348123 +-0.313414 0.542848 0.277817 + +-0.358542 0.493491 0.334064 +-0.313414 0.542848 0.277817 +-0.40541 0.557999 0.348123 + +-0.313414 0.542848 0.277817 +-0.358542 0.493491 0.334064 +-0.2825 0.489304 0.251147 + +-0.314843 0.433345 0.301995 +-0.2825 0.489304 0.251147 +-0.358542 0.493491 0.334064 + +-0.2825 0.489304 0.251147 +-0.314843 0.433345 0.301995 +-0.255495 0.44253 0.210938 + +-0.27667 0.380803 0.253645 +-0.255495 0.44253 0.210938 +-0.314843 0.433345 0.301995 + +-0.255495 0.44253 0.210938 +-0.27667 0.380803 0.253645 +-0.233854 0.405047 0.159358 + +-0.246079 0.338698 0.191621 +-0.233854 0.405047 0.159358 +-0.27667 0.380803 0.253645 + +-0.233854 0.405047 0.159358 +-0.246079 0.338698 0.191621 +-0.218745 0.378877 0.0991858 + +-0.22472 0.309301 0.119267 +-0.218745 0.378877 0.0991858 +-0.246079 0.338698 0.191621 + +-0.218745 0.378877 0.0991858 +-0.22472 0.309301 0.119267 +-0.21098 0.365429 0.0336669 + +-0.213745 0.294195 0.0404831 +-0.21098 0.365429 0.0336669 +-0.22472 0.309301 0.119267 + +-0.21098 0.365429 0.0336669 +-0.213745 0.294195 0.0404831 +-0.21098 0.365429 -0.0336669 + +-0.213745 0.294195 -0.0404831 +-0.21098 0.365429 -0.0336669 +-0.213745 0.294195 0.0404831 + +-0.21098 0.365429 -0.0336669 +-0.213745 0.294195 -0.0404831 +-0.218745 0.378877 -0.0991858 + +-0.22472 0.309301 -0.119267 +-0.218745 0.378877 -0.0991858 +-0.213745 0.294195 -0.0404831 + +-0.218745 0.378877 -0.0991858 +-0.22472 0.309301 -0.119267 +-0.233854 0.405047 -0.159358 + +-0.246079 0.338698 -0.191621 +-0.233854 0.405047 -0.159358 +-0.22472 0.309301 -0.119267 + +-0.233854 0.405047 -0.159358 +-0.246079 0.338698 -0.191621 +-0.255495 0.44253 -0.210938 + +-0.27667 0.380803 -0.253645 +-0.255495 0.44253 -0.210938 +-0.246079 0.338698 -0.191621 + +-0.255495 0.44253 -0.210938 +-0.27667 0.380803 -0.253645 +-0.2825 0.489304 -0.251147 + +-0.314843 0.433345 -0.301995 +-0.2825 0.489304 -0.251147 +-0.27667 0.380803 -0.253645 + +-0.2825 0.489304 -0.251147 +-0.314843 0.433345 -0.301995 +-0.313414 0.542848 -0.277817 + +-0.358542 0.493491 -0.334064 +-0.313414 0.542848 -0.277817 +-0.314843 0.433345 -0.301995 + +-0.313414 0.542848 -0.277817 +-0.358542 0.493491 -0.334064 +-0.346569 0.600275 -0.289509 + +-0.40541 0.557999 -0.348123 +-0.346569 0.600275 -0.289509 +-0.358542 0.493491 -0.334064 + +-0.346569 0.600275 -0.289509 +-0.40541 0.557999 -0.348123 +-0.380179 0.658489 -0.285594 + +-0.45292 0.623391 -0.343415 +-0.380179 0.658489 -0.285594 +-0.40541 0.557999 -0.348123 + +-0.380179 0.658489 -0.285594 +-0.45292 0.623391 -0.343415 +-0.412432 0.714352 -0.266283 + +-0.498511 0.686142 -0.320194 +-0.412432 0.714352 -0.266283 +-0.45292 0.623391 -0.343415 + +-0.412432 0.714352 -0.266283 +-0.498511 0.686142 -0.320194 +-0.441588 0.764853 -0.232616 + +-0.539726 0.742869 -0.279711 +-0.441588 0.764853 -0.232616 +-0.498511 0.686142 -0.320194 + +-0.441588 0.764853 -0.232616 +-0.539726 0.742869 -0.279711 +-0.466076 0.807268 -0.186408 + +-0.574343 0.790515 -0.224149 +-0.466076 0.807268 -0.186408 +-0.539726 0.742869 -0.279711 + +-0.466076 0.807268 -0.186408 +-0.574343 0.790515 -0.224149 +-0.484577 0.839312 -0.130152 + +-0.600494 0.826509 -0.156502 +-0.484577 0.839312 -0.130152 +-0.574343 0.790515 -0.224149 + +-0.484577 0.839312 -0.130152 +-0.600494 0.826509 -0.156502 +-0.496092 0.859256 -0.0668786 + +-0.616771 0.848913 -0.0804188 +-0.496092 0.859256 -0.0668786 +-0.600494 0.826509 -0.156502 + +-0.496092 0.859256 -0.0668786 +-0.616771 0.848913 -0.0804188 +-0.5 0.866025 0 + +-0.622296 0.856517 0 +-0.5 0.866025 0 +-0.616771 0.848913 -0.0804188 + +-0.622296 0.856517 0 +-0.743859 0.826139 0 +-0.616771 0.848913 0.0804188 + +-0.736614 0.818092 0.0926336 +-0.616771 0.848913 0.0804188 +-0.743859 0.826139 0 + +-0.616771 0.848913 0.0804188 +-0.736614 0.818092 0.0926336 +-0.600494 0.826509 0.156502 + +-0.71527 0.794387 0.180273 +-0.600494 0.826509 0.156502 +-0.736614 0.818092 0.0926336 + +-0.600494 0.826509 0.156502 +-0.71527 0.794387 0.180273 +-0.574343 0.790515 0.224149 + +-0.680977 0.756302 0.258194 +-0.574343 0.790515 0.224149 +-0.71527 0.794387 0.180273 + +-0.574343 0.790515 0.224149 +-0.680977 0.756302 0.258194 +-0.539726 0.742869 0.279711 + +-0.635585 0.705888 0.322196 +-0.539726 0.742869 0.279711 +-0.680977 0.756302 0.258194 + +-0.539726 0.742869 0.279711 +-0.635585 0.705888 0.322196 +-0.498511 0.686142 0.320194 + +-0.581539 0.645865 0.368828 +-0.498511 0.686142 0.320194 +-0.635585 0.705888 0.322196 + +-0.498511 0.686142 0.320194 +-0.581539 0.645865 0.368828 +-0.45292 0.623391 0.343415 + +-0.521755 0.579468 0.395577 +-0.45292 0.623391 0.343415 +-0.581539 0.645865 0.368828 + +-0.45292 0.623391 0.343415 +-0.521755 0.579468 0.395577 +-0.40541 0.557999 0.348123 + +-0.459455 0.510276 0.401 +-0.40541 0.557999 0.348123 +-0.521755 0.579468 0.395577 + +-0.40541 0.557999 0.348123 +-0.459455 0.510276 0.401 +-0.358542 0.493491 0.334064 + +-0.397997 0.44202 0.384804 +-0.358542 0.493491 0.334064 +-0.459455 0.510276 0.401 + +-0.358542 0.493491 0.334064 +-0.397997 0.44202 0.384804 +-0.314843 0.433345 0.301995 + +-0.340695 0.37838 0.347864 +-0.314843 0.433345 0.301995 +-0.397997 0.44202 0.384804 + +-0.314843 0.433345 0.301995 +-0.340695 0.37838 0.347864 +-0.27667 0.380803 0.253645 + +-0.290638 0.322786 0.292171 +-0.27667 0.380803 0.253645 +-0.340695 0.37838 0.347864 + +-0.27667 0.380803 0.253645 +-0.290638 0.322786 0.292171 +-0.246079 0.338698 0.191621 + +-0.250524 0.278235 0.220726 +-0.246079 0.338698 0.191621 +-0.290638 0.322786 0.292171 + +-0.246079 0.338698 0.191621 +-0.250524 0.278235 0.220726 +-0.22472 0.309301 0.119267 + +-0.222516 0.247129 0.137382 +-0.22472 0.309301 0.119267 +-0.250524 0.278235 0.220726 + +-0.22472 0.309301 0.119267 +-0.222516 0.247129 0.137382 +-0.213745 0.294195 0.0404831 + +-0.208124 0.231145 0.0466321 +-0.213745 0.294195 0.0404831 +-0.222516 0.247129 0.137382 + +-0.213745 0.294195 0.0404831 +-0.208124 0.231145 0.0466321 +-0.213745 0.294195 -0.0404831 + +-0.208124 0.231145 -0.0466321 +-0.213745 0.294195 -0.0404831 +-0.208124 0.231145 0.0466321 + +-0.213745 0.294195 -0.0404831 +-0.208124 0.231145 -0.0466321 +-0.22472 0.309301 -0.119267 + +-0.222516 0.247129 -0.137382 +-0.22472 0.309301 -0.119267 +-0.208124 0.231145 -0.0466321 + +-0.22472 0.309301 -0.119267 +-0.222516 0.247129 -0.137382 +-0.246079 0.338698 -0.191621 + +-0.250524 0.278235 -0.220726 +-0.246079 0.338698 -0.191621 +-0.222516 0.247129 -0.137382 + +-0.246079 0.338698 -0.191621 +-0.250524 0.278235 -0.220726 +-0.27667 0.380803 -0.253645 + +-0.290638 0.322786 -0.292171 +-0.27667 0.380803 -0.253645 +-0.250524 0.278235 -0.220726 + +-0.27667 0.380803 -0.253645 +-0.290638 0.322786 -0.292171 +-0.314843 0.433345 -0.301995 + +-0.340695 0.37838 -0.347864 +-0.314843 0.433345 -0.301995 +-0.290638 0.322786 -0.292171 + +-0.314843 0.433345 -0.301995 +-0.340695 0.37838 -0.347864 +-0.358542 0.493491 -0.334064 + +-0.397997 0.44202 -0.384804 +-0.358542 0.493491 -0.334064 +-0.340695 0.37838 -0.347864 + +-0.358542 0.493491 -0.334064 +-0.397997 0.44202 -0.384804 +-0.40541 0.557999 -0.348123 + +-0.459455 0.510276 -0.401 +-0.40541 0.557999 -0.348123 +-0.397997 0.44202 -0.384804 + +-0.40541 0.557999 -0.348123 +-0.459455 0.510276 -0.401 +-0.45292 0.623391 -0.343415 + +-0.521755 0.579468 -0.395577 +-0.45292 0.623391 -0.343415 +-0.459455 0.510276 -0.401 + +-0.45292 0.623391 -0.343415 +-0.521755 0.579468 -0.395577 +-0.498511 0.686142 -0.320194 + +-0.581539 0.645865 -0.368828 +-0.498511 0.686142 -0.320194 +-0.521755 0.579468 -0.395577 + +-0.498511 0.686142 -0.320194 +-0.581539 0.645865 -0.368828 +-0.539726 0.742869 -0.279711 + +-0.635585 0.705888 -0.322196 +-0.539726 0.742869 -0.279711 +-0.581539 0.645865 -0.368828 + +-0.539726 0.742869 -0.279711 +-0.635585 0.705888 -0.322196 +-0.574343 0.790515 -0.224149 + +-0.680977 0.756302 -0.258194 +-0.574343 0.790515 -0.224149 +-0.635585 0.705888 -0.322196 + +-0.574343 0.790515 -0.224149 +-0.680977 0.756302 -0.258194 +-0.600494 0.826509 -0.156502 + +-0.71527 0.794387 -0.180273 +-0.600494 0.826509 -0.156502 +-0.680977 0.756302 -0.258194 + +-0.600494 0.826509 -0.156502 +-0.71527 0.794387 -0.180273 +-0.616771 0.848913 -0.0804188 + +-0.736614 0.818092 -0.0926336 +-0.616771 0.848913 -0.0804188 +-0.71527 0.794387 -0.180273 + +-0.616771 0.848913 -0.0804188 +-0.736614 0.818092 -0.0926336 +-0.622296 0.856517 0 + +-0.743859 0.826139 0 +-0.622296 0.856517 0 +-0.736614 0.818092 -0.0926336 + +-0.743859 0.826139 0 +-0.857376 0.771985 0 +-0.736614 0.818092 0.0926336 + +-0.848488 0.763982 0.102327 +-0.736614 0.818092 0.0926336 +-0.857376 0.771985 0 + +-0.736614 0.818092 0.0926336 +-0.848488 0.763982 0.102327 +-0.71527 0.794387 0.180273 + +-0.822302 0.740404 0.199138 +-0.71527 0.794387 0.180273 +-0.848488 0.763982 0.102327 + +-0.71527 0.794387 0.180273 +-0.822302 0.740404 0.199138 +-0.680977 0.756302 0.258194 + +-0.780231 0.702523 0.285213 +-0.680977 0.756302 0.258194 +-0.822302 0.740404 0.199138 + +-0.680977 0.756302 0.258194 +-0.780231 0.702523 0.285213 +-0.635585 0.705888 0.322196 + +-0.724542 0.65238 0.355913 +-0.635585 0.705888 0.322196 +-0.780231 0.702523 0.285213 + +-0.635585 0.705888 0.322196 +-0.724542 0.65238 0.355913 +-0.581539 0.645865 0.368828 + +-0.658237 0.59268 0.407425 +-0.581539 0.645865 0.368828 +-0.724542 0.65238 0.355913 + +-0.581539 0.645865 0.368828 +-0.658237 0.59268 0.407425 +-0.521755 0.579468 0.395577 + +-0.584892 0.526639 0.436972 +-0.521755 0.579468 0.395577 +-0.658237 0.59268 0.407425 + +-0.521755 0.579468 0.395577 +-0.584892 0.526639 0.436972 +-0.459455 0.510276 0.401 + +-0.50846 0.457819 0.442963 +-0.459455 0.510276 0.401 +-0.584892 0.526639 0.436972 + +-0.459455 0.510276 0.401 +-0.50846 0.457819 0.442963 +-0.397997 0.44202 0.384804 + +-0.433061 0.38993 0.425073 +-0.397997 0.44202 0.384804 +-0.50846 0.457819 0.442963 + +-0.397997 0.44202 0.384804 +-0.433061 0.38993 0.425073 +-0.340695 0.37838 0.347864 + +-0.362761 0.326632 0.384267 +-0.340695 0.37838 0.347864 +-0.433061 0.38993 0.425073 + +-0.340695 0.37838 0.347864 +-0.362761 0.326632 0.384267 +-0.290638 0.322786 0.292171 + +-0.301349 0.271336 0.322745 +-0.290638 0.322786 0.292171 +-0.362761 0.326632 0.384267 + +-0.290638 0.322786 0.292171 +-0.301349 0.271336 0.322745 +-0.250524 0.278235 0.220726 + +-0.252136 0.227025 0.243824 +-0.250524 0.278235 0.220726 +-0.301349 0.271336 0.322745 + +-0.250524 0.278235 0.220726 +-0.252136 0.227025 0.243824 +-0.222516 0.247129 0.137382 + +-0.217776 0.196086 0.151759 +-0.222516 0.247129 0.137382 +-0.252136 0.227025 0.243824 + +-0.222516 0.247129 0.137382 +-0.217776 0.196086 0.151759 +-0.208124 0.231145 0.0466321 + +-0.200119 0.180188 0.051512 +-0.208124 0.231145 0.0466321 +-0.217776 0.196086 0.151759 + +-0.208124 0.231145 0.0466321 +-0.200119 0.180188 0.051512 +-0.208124 0.231145 -0.0466321 + +-0.200119 0.180188 -0.051512 +-0.208124 0.231145 -0.0466321 +-0.200119 0.180188 0.051512 + +-0.208124 0.231145 -0.0466321 +-0.200119 0.180188 -0.051512 +-0.222516 0.247129 -0.137382 + +-0.217776 0.196086 -0.151759 +-0.222516 0.247129 -0.137382 +-0.200119 0.180188 -0.051512 + +-0.222516 0.247129 -0.137382 +-0.217776 0.196086 -0.151759 +-0.250524 0.278235 -0.220726 + +-0.252136 0.227025 -0.243824 +-0.250524 0.278235 -0.220726 +-0.217776 0.196086 -0.151759 + +-0.250524 0.278235 -0.220726 +-0.252136 0.227025 -0.243824 +-0.290638 0.322786 -0.292171 + +-0.301349 0.271336 -0.322745 +-0.290638 0.322786 -0.292171 +-0.252136 0.227025 -0.243824 + +-0.290638 0.322786 -0.292171 +-0.301349 0.271336 -0.322745 +-0.340695 0.37838 -0.347864 + +-0.362761 0.326632 -0.384267 +-0.340695 0.37838 -0.347864 +-0.301349 0.271336 -0.322745 + +-0.340695 0.37838 -0.347864 +-0.362761 0.326632 -0.384267 +-0.397997 0.44202 -0.384804 + +-0.433061 0.38993 -0.425073 +-0.397997 0.44202 -0.384804 +-0.362761 0.326632 -0.384267 + +-0.397997 0.44202 -0.384804 +-0.433061 0.38993 -0.425073 +-0.459455 0.510276 -0.401 + +-0.50846 0.457819 -0.442963 +-0.459455 0.510276 -0.401 +-0.433061 0.38993 -0.425073 + +-0.459455 0.510276 -0.401 +-0.50846 0.457819 -0.442963 +-0.521755 0.579468 -0.395577 + +-0.584892 0.526639 -0.436972 +-0.521755 0.579468 -0.395577 +-0.50846 0.457819 -0.442963 + +-0.521755 0.579468 -0.395577 +-0.584892 0.526639 -0.436972 +-0.581539 0.645865 -0.368828 + +-0.658237 0.59268 -0.407425 +-0.581539 0.645865 -0.368828 +-0.584892 0.526639 -0.436972 + +-0.581539 0.645865 -0.368828 +-0.658237 0.59268 -0.407425 +-0.635585 0.705888 -0.322196 + +-0.724542 0.65238 -0.355913 +-0.635585 0.705888 -0.322196 +-0.658237 0.59268 -0.407425 + +-0.635585 0.705888 -0.322196 +-0.724542 0.65238 -0.355913 +-0.680977 0.756302 -0.258194 + +-0.780231 0.702523 -0.285213 +-0.680977 0.756302 -0.258194 +-0.724542 0.65238 -0.355913 + +-0.680977 0.756302 -0.258194 +-0.780231 0.702523 -0.285213 +-0.71527 0.794387 -0.180273 + +-0.822302 0.740404 -0.199138 +-0.71527 0.794387 -0.180273 +-0.780231 0.702523 -0.285213 + +-0.71527 0.794387 -0.180273 +-0.822302 0.740404 -0.199138 +-0.736614 0.818092 -0.0926336 + +-0.848488 0.763982 -0.102327 +-0.736614 0.818092 -0.0926336 +-0.822302 0.740404 -0.199138 + +-0.736614 0.818092 -0.0926336 +-0.848488 0.763982 -0.102327 +-0.743859 0.826139 0 + +-0.857376 0.771985 0 +-0.743859 0.826139 0 +-0.848488 0.763982 -0.102327 + +-0.857376 0.771985 0 +-0.955207 0.693998 0 +-0.848488 0.763982 0.102327 + +-0.944942 0.686541 0.108551 +-0.848488 0.763982 0.102327 +-0.955207 0.693998 0 + +-0.848488 0.763982 0.102327 +-0.944942 0.686541 0.108551 +-0.822302 0.740404 0.199138 + +-0.914702 0.66457 0.21125 +-0.822302 0.740404 0.199138 +-0.944942 0.686541 0.108551 + +-0.822302 0.740404 0.199138 +-0.914702 0.66457 0.21125 +-0.780231 0.702523 0.285213 + +-0.866116 0.62927 0.302561 +-0.780231 0.702523 0.285213 +-0.914702 0.66457 0.21125 + +-0.780231 0.702523 0.285213 +-0.866116 0.62927 0.302561 +-0.724542 0.65238 0.355913 + +-0.801803 0.582544 0.37756 +-0.724542 0.65238 0.355913 +-0.866116 0.62927 0.302561 + +-0.724542 0.65238 0.355913 +-0.801803 0.582544 0.37756 +-0.658237 0.59268 0.407425 + +-0.725231 0.526911 0.432205 +-0.658237 0.59268 0.407425 +-0.801803 0.582544 0.37756 + +-0.658237 0.59268 0.407425 +-0.725231 0.526911 0.432205 +-0.584892 0.526639 0.436972 + +-0.640528 0.465371 0.46355 +-0.584892 0.526639 0.436972 +-0.725231 0.526911 0.432205 + +-0.584892 0.526639 0.436972 +-0.640528 0.465371 0.46355 +-0.50846 0.457819 0.442963 + +-0.55226 0.401241 0.469904 +-0.50846 0.457819 0.442963 +-0.640528 0.465371 0.46355 + +-0.50846 0.457819 0.442963 +-0.55226 0.401241 0.469904 +-0.433061 0.38993 0.425073 + +-0.465186 0.337977 0.450926 +-0.433061 0.38993 0.425073 +-0.55226 0.401241 0.469904 + +-0.433061 0.38993 0.425073 +-0.465186 0.337977 0.450926 +-0.362761 0.326632 0.384267 + +-0.384 0.278992 0.407639 +-0.362761 0.326632 0.384267 +-0.465186 0.337977 0.450926 + +-0.362761 0.326632 0.384267 +-0.384 0.278992 0.407639 +-0.301349 0.271336 0.322745 + +-0.313078 0.227464 0.342375 +-0.301349 0.271336 0.322745 +-0.384 0.278992 0.407639 + +-0.301349 0.271336 0.322745 +-0.313078 0.227464 0.342375 +-0.252136 0.227025 0.243824 + +-0.256244 0.186172 0.258654 +-0.252136 0.227025 0.243824 +-0.313078 0.227464 0.342375 + +-0.252136 0.227025 0.243824 +-0.256244 0.186172 0.258654 +-0.217776 0.196086 0.151759 + +-0.216563 0.157342 0.160989 +-0.217776 0.196086 0.151759 +-0.256244 0.186172 0.258654 + +-0.217776 0.196086 0.151759 +-0.216563 0.157342 0.160989 +-0.200119 0.180188 0.051512 + +-0.196172 0.142527 0.054645 +-0.200119 0.180188 0.051512 +-0.216563 0.157342 0.160989 + +-0.200119 0.180188 0.051512 +-0.196172 0.142527 0.054645 +-0.200119 0.180188 -0.051512 + +-0.196172 0.142527 -0.054645 +-0.200119 0.180188 -0.051512 +-0.196172 0.142527 0.054645 + +-0.200119 0.180188 -0.051512 +-0.196172 0.142527 -0.054645 +-0.217776 0.196086 -0.151759 + +-0.216563 0.157342 -0.160989 +-0.217776 0.196086 -0.151759 +-0.196172 0.142527 -0.054645 + +-0.217776 0.196086 -0.151759 +-0.216563 0.157342 -0.160989 +-0.252136 0.227025 -0.243824 + +-0.256244 0.186172 -0.258654 +-0.252136 0.227025 -0.243824 +-0.216563 0.157342 -0.160989 + +-0.252136 0.227025 -0.243824 +-0.256244 0.186172 -0.258654 +-0.301349 0.271336 -0.322745 + +-0.313078 0.227464 -0.342375 +-0.301349 0.271336 -0.322745 +-0.256244 0.186172 -0.258654 + +-0.301349 0.271336 -0.322745 +-0.313078 0.227464 -0.342375 +-0.362761 0.326632 -0.384267 + +-0.384 0.278992 -0.407639 +-0.362761 0.326632 -0.384267 +-0.313078 0.227464 -0.342375 + +-0.362761 0.326632 -0.384267 +-0.384 0.278992 -0.407639 +-0.433061 0.38993 -0.425073 + +-0.465186 0.337977 -0.450926 +-0.433061 0.38993 -0.425073 +-0.384 0.278992 -0.407639 + +-0.433061 0.38993 -0.425073 +-0.465186 0.337977 -0.450926 +-0.50846 0.457819 -0.442963 + +-0.55226 0.401241 -0.469904 +-0.50846 0.457819 -0.442963 +-0.465186 0.337977 -0.450926 + +-0.50846 0.457819 -0.442963 +-0.55226 0.401241 -0.469904 +-0.584892 0.526639 -0.436972 + +-0.640528 0.465371 -0.46355 +-0.584892 0.526639 -0.436972 +-0.55226 0.401241 -0.469904 + +-0.584892 0.526639 -0.436972 +-0.640528 0.465371 -0.46355 +-0.658237 0.59268 -0.407425 + +-0.725231 0.526911 -0.432205 +-0.658237 0.59268 -0.407425 +-0.640528 0.465371 -0.46355 + +-0.658237 0.59268 -0.407425 +-0.725231 0.526911 -0.432205 +-0.724542 0.65238 -0.355913 + +-0.801803 0.582544 -0.37756 +-0.724542 0.65238 -0.355913 +-0.725231 0.526911 -0.432205 + +-0.724542 0.65238 -0.355913 +-0.801803 0.582544 -0.37756 +-0.780231 0.702523 -0.285213 + +-0.866116 0.62927 -0.302561 +-0.780231 0.702523 -0.285213 +-0.801803 0.582544 -0.37756 + +-0.780231 0.702523 -0.285213 +-0.866116 0.62927 -0.302561 +-0.822302 0.740404 -0.199138 + +-0.914702 0.66457 -0.21125 +-0.822302 0.740404 -0.199138 +-0.866116 0.62927 -0.302561 + +-0.822302 0.740404 -0.199138 +-0.914702 0.66457 -0.21125 +-0.848488 0.763982 -0.102327 + +-0.944942 0.686541 -0.108551 +-0.848488 0.763982 -0.102327 +-0.914702 0.66457 -0.21125 + +-0.848488 0.763982 -0.102327 +-0.944942 0.686541 -0.108551 +-0.857376 0.771985 0 + +-0.955207 0.693998 0 +-0.857376 0.771985 0 +-0.944942 0.686541 -0.108551 + +-0.955207 0.693998 0 +-1.03057 0.595 0 +-0.944942 0.686541 0.108551 + +-1.01937 0.588531 0.110696 +-0.944942 0.686541 0.108551 +-1.03057 0.595 0 + +-0.944942 0.686541 0.108551 +-1.01937 0.588531 0.110696 +-0.914702 0.66457 0.21125 + +-0.986354 0.569472 0.215424 +-0.914702 0.66457 0.21125 +-1.01937 0.588531 0.110696 + +-0.914702 0.66457 0.21125 +-0.986354 0.569472 0.215424 +-0.866116 0.62927 0.302561 + +-0.933317 0.538851 0.308538 +-0.866116 0.62927 0.302561 +-0.986354 0.569472 0.215424 + +-0.866116 0.62927 0.302561 +-0.933317 0.538851 0.308538 +-0.801803 0.582544 0.37756 + +-0.863112 0.498318 0.385019 +-0.801803 0.582544 0.37756 +-0.933317 0.538851 0.308538 + +-0.801803 0.582544 0.37756 +-0.863112 0.498318 0.385019 +-0.725231 0.526911 0.432205 + +-0.779525 0.450059 0.440744 +-0.725231 0.526911 0.432205 +-0.863112 0.498318 0.385019 + +-0.725231 0.526911 0.432205 +-0.779525 0.450059 0.440744 +-0.640528 0.465371 0.46355 + +-0.687062 0.396676 0.472708 +-0.640528 0.465371 0.46355 +-0.779525 0.450059 0.440744 + +-0.640528 0.465371 0.46355 +-0.687062 0.396676 0.472708 +-0.55226 0.401241 0.469904 + +-0.590708 0.341045 0.479188 +-0.55226 0.401241 0.469904 +-0.687062 0.396676 0.472708 + +-0.55226 0.401241 0.469904 +-0.590708 0.341045 0.479188 +-0.465186 0.337977 0.450926 + +-0.495656 0.286167 0.459835 +-0.465186 0.337977 0.450926 +-0.590708 0.341045 0.479188 + +-0.465186 0.337977 0.450926 +-0.495656 0.286167 0.459835 +-0.384 0.278992 0.407639 + +-0.407032 0.235 0.415692 +-0.384 0.278992 0.407639 +-0.495656 0.286167 0.459835 + +-0.384 0.278992 0.407639 +-0.407032 0.235 0.415692 +-0.313078 0.227464 0.342375 + +-0.329613 0.190302 0.349139 +-0.313078 0.227464 0.342375 +-0.407032 0.235 0.415692 + +-0.313078 0.227464 0.342375 +-0.329613 0.190302 0.349139 +-0.256244 0.186172 0.258654 + +-0.267572 0.154483 0.263764 +-0.256244 0.186172 0.258654 +-0.329613 0.190302 0.349139 + +-0.256244 0.186172 0.258654 +-0.267572 0.154483 0.263764 +-0.216563 0.157342 0.160989 + +-0.224255 0.129474 0.16417 +-0.216563 0.157342 0.160989 +-0.267572 0.154483 0.263764 + +-0.216563 0.157342 0.160989 +-0.224255 0.129474 0.16417 +-0.196172 0.142527 0.054645 + +-0.201997 0.116623 0.0557246 +-0.196172 0.142527 0.054645 +-0.224255 0.129474 0.16417 + +-0.196172 0.142527 0.054645 +-0.201997 0.116623 0.0557246 +-0.196172 0.142527 -0.054645 + +-0.201997 0.116623 -0.0557246 +-0.196172 0.142527 -0.054645 +-0.201997 0.116623 0.0557246 + +-0.196172 0.142527 -0.054645 +-0.201997 0.116623 -0.0557246 +-0.216563 0.157342 -0.160989 + +-0.224255 0.129474 -0.16417 +-0.216563 0.157342 -0.160989 +-0.201997 0.116623 -0.0557246 + +-0.216563 0.157342 -0.160989 +-0.224255 0.129474 -0.16417 +-0.256244 0.186172 -0.258654 + +-0.267572 0.154483 -0.263764 +-0.256244 0.186172 -0.258654 +-0.224255 0.129474 -0.16417 + +-0.256244 0.186172 -0.258654 +-0.267572 0.154483 -0.263764 +-0.313078 0.227464 -0.342375 + +-0.329613 0.190302 -0.349139 +-0.313078 0.227464 -0.342375 +-0.267572 0.154483 -0.263764 + +-0.313078 0.227464 -0.342375 +-0.329613 0.190302 -0.349139 +-0.384 0.278992 -0.407639 + +-0.407032 0.235 -0.415692 +-0.384 0.278992 -0.407639 +-0.329613 0.190302 -0.349139 + +-0.384 0.278992 -0.407639 +-0.407032 0.235 -0.415692 +-0.465186 0.337977 -0.450926 + +-0.495656 0.286167 -0.459835 +-0.465186 0.337977 -0.450926 +-0.407032 0.235 -0.415692 + +-0.465186 0.337977 -0.450926 +-0.495656 0.286167 -0.459835 +-0.55226 0.401241 -0.469904 + +-0.590708 0.341045 -0.479188 +-0.55226 0.401241 -0.469904 +-0.495656 0.286167 -0.459835 + +-0.55226 0.401241 -0.469904 +-0.590708 0.341045 -0.479188 +-0.640528 0.465371 -0.46355 + +-0.687062 0.396676 -0.472708 +-0.640528 0.465371 -0.46355 +-0.590708 0.341045 -0.479188 + +-0.640528 0.465371 -0.46355 +-0.687062 0.396676 -0.472708 +-0.725231 0.526911 -0.432205 + +-0.779525 0.450059 -0.440744 +-0.725231 0.526911 -0.432205 +-0.687062 0.396676 -0.472708 + +-0.725231 0.526911 -0.432205 +-0.779525 0.450059 -0.440744 +-0.801803 0.582544 -0.37756 + +-0.863112 0.498318 -0.385019 +-0.801803 0.582544 -0.37756 +-0.779525 0.450059 -0.440744 + +-0.801803 0.582544 -0.37756 +-0.863112 0.498318 -0.385019 +-0.866116 0.62927 -0.302561 + +-0.933317 0.538851 -0.308538 +-0.866116 0.62927 -0.302561 +-0.863112 0.498318 -0.385019 + +-0.866116 0.62927 -0.302561 +-0.933317 0.538851 -0.308538 +-0.914702 0.66457 -0.21125 + +-0.986354 0.569472 -0.215424 +-0.914702 0.66457 -0.21125 +-0.933317 0.538851 -0.308538 + +-0.914702 0.66457 -0.21125 +-0.986354 0.569472 -0.215424 +-0.944942 0.686541 -0.108551 + +-1.01937 0.588531 -0.110696 +-0.944942 0.686541 -0.108551 +-0.986354 0.569472 -0.215424 + +-0.944942 0.686541 -0.108551 +-1.01937 0.588531 -0.110696 +-0.955207 0.693998 0 + +-1.03057 0.595 0 +-0.955207 0.693998 0 +-1.01937 0.588531 -0.110696 + +-1.03057 0.595 0 +-1.07862 0.480234 0 +-1.01937 0.588531 0.110696 + +-1.06703 0.475074 0.108551 +-1.01937 0.588531 0.110696 +-1.07862 0.480234 0 + +-1.01937 0.588531 0.110696 +-1.06703 0.475074 0.108551 +-0.986354 0.569472 0.215424 + +-1.03289 0.45987 0.21125 +-0.986354 0.569472 0.215424 +-1.06703 0.475074 0.108551 + +-0.986354 0.569472 0.215424 +-1.03289 0.45987 0.21125 +-0.933317 0.538851 0.308538 + +-0.978021 0.435443 0.302561 +-0.933317 0.538851 0.308538 +-1.03289 0.45987 0.21125 + +-0.933317 0.538851 0.308538 +-0.978021 0.435443 0.302561 +-0.863112 0.498318 0.385019 + +-0.905399 0.40311 0.37756 +-0.863112 0.498318 0.385019 +-0.978021 0.435443 0.302561 + +-0.863112 0.498318 0.385019 +-0.905399 0.40311 0.37756 +-0.779525 0.450059 0.440744 + +-0.818934 0.364613 0.432205 +-0.779525 0.450059 0.440744 +-0.905399 0.40311 0.37756 + +-0.779525 0.450059 0.440744 +-0.818934 0.364613 0.432205 +-0.687062 0.396676 0.472708 + +-0.723287 0.322028 0.46355 +-0.687062 0.396676 0.472708 +-0.818934 0.364613 0.432205 + +-0.687062 0.396676 0.472708 +-0.723287 0.322028 0.46355 +-0.590708 0.341045 0.479188 + +-0.623615 0.277651 0.469904 +-0.590708 0.341045 0.479188 +-0.723287 0.322028 0.46355 + +-0.590708 0.341045 0.479188 +-0.623615 0.277651 0.469904 +-0.495656 0.286167 0.459835 + +-0.52529 0.233874 0.450926 +-0.495656 0.286167 0.459835 +-0.623615 0.277651 0.469904 + +-0.495656 0.286167 0.459835 +-0.52529 0.233874 0.450926 +-0.407032 0.235 0.415692 + +-0.433614 0.193057 0.407639 +-0.407032 0.235 0.415692 +-0.52529 0.233874 0.450926 + +-0.407032 0.235 0.415692 +-0.433614 0.193057 0.407639 +-0.329613 0.190302 0.349139 + +-0.353529 0.157401 0.342375 +-0.329613 0.190302 0.349139 +-0.433614 0.193057 0.407639 + +-0.329613 0.190302 0.349139 +-0.353529 0.157401 0.342375 +-0.267572 0.154483 0.263764 + +-0.289352 0.128828 0.258654 +-0.267572 0.154483 0.263764 +-0.353529 0.157401 0.342375 + +-0.267572 0.154483 0.263764 +-0.289352 0.128828 0.258654 +-0.224255 0.129474 0.16417 + +-0.244543 0.108878 0.160989 +-0.224255 0.129474 0.16417 +-0.289352 0.128828 0.258654 + +-0.224255 0.129474 0.16417 +-0.244543 0.108878 0.160989 +-0.201997 0.116623 0.0557246 + +-0.221518 0.0986263 0.054645 +-0.201997 0.116623 0.0557246 +-0.244543 0.108878 0.160989 + +-0.201997 0.116623 0.0557246 +-0.221518 0.0986263 0.054645 +-0.201997 0.116623 -0.0557246 + +-0.221518 0.0986263 -0.054645 +-0.201997 0.116623 -0.0557246 +-0.221518 0.0986263 0.054645 + +-0.201997 0.116623 -0.0557246 +-0.221518 0.0986263 -0.054645 +-0.224255 0.129474 -0.16417 + +-0.244543 0.108878 -0.160989 +-0.224255 0.129474 -0.16417 +-0.221518 0.0986263 -0.054645 + +-0.224255 0.129474 -0.16417 +-0.244543 0.108878 -0.160989 +-0.267572 0.154483 -0.263764 + +-0.289352 0.128828 -0.258654 +-0.267572 0.154483 -0.263764 +-0.244543 0.108878 -0.160989 + +-0.267572 0.154483 -0.263764 +-0.289352 0.128828 -0.258654 +-0.329613 0.190302 -0.349139 + +-0.353529 0.157401 -0.342375 +-0.329613 0.190302 -0.349139 +-0.289352 0.128828 -0.258654 + +-0.329613 0.190302 -0.349139 +-0.353529 0.157401 -0.342375 +-0.407032 0.235 -0.415692 + +-0.433614 0.193057 -0.407639 +-0.407032 0.235 -0.415692 +-0.353529 0.157401 -0.342375 + +-0.407032 0.235 -0.415692 +-0.433614 0.193057 -0.407639 +-0.495656 0.286167 -0.459835 + +-0.52529 0.233874 -0.450926 +-0.495656 0.286167 -0.459835 +-0.433614 0.193057 -0.407639 + +-0.495656 0.286167 -0.459835 +-0.52529 0.233874 -0.450926 +-0.590708 0.341045 -0.479188 + +-0.623615 0.277651 -0.469904 +-0.590708 0.341045 -0.479188 +-0.52529 0.233874 -0.450926 + +-0.590708 0.341045 -0.479188 +-0.623615 0.277651 -0.469904 +-0.687062 0.396676 -0.472708 + +-0.723287 0.322028 -0.46355 +-0.687062 0.396676 -0.472708 +-0.623615 0.277651 -0.469904 + +-0.687062 0.396676 -0.472708 +-0.723287 0.322028 -0.46355 +-0.779525 0.450059 -0.440744 + +-0.818934 0.364613 -0.432205 +-0.779525 0.450059 -0.440744 +-0.723287 0.322028 -0.46355 + +-0.779525 0.450059 -0.440744 +-0.818934 0.364613 -0.432205 +-0.863112 0.498318 -0.385019 + +-0.905399 0.40311 -0.37756 +-0.863112 0.498318 -0.385019 +-0.818934 0.364613 -0.432205 + +-0.863112 0.498318 -0.385019 +-0.905399 0.40311 -0.37756 +-0.933317 0.538851 -0.308538 + +-0.978021 0.435443 -0.302561 +-0.933317 0.538851 -0.308538 +-0.905399 0.40311 -0.37756 + +-0.933317 0.538851 -0.308538 +-0.978021 0.435443 -0.302561 +-0.986354 0.569472 -0.215424 + +-1.03289 0.45987 -0.21125 +-0.986354 0.569472 -0.215424 +-0.978021 0.435443 -0.302561 + +-0.986354 0.569472 -0.215424 +-1.03289 0.45987 -0.21125 +-1.01937 0.588531 -0.110696 + +-1.06703 0.475074 -0.108551 +-1.01937 0.588531 -0.110696 +-1.03289 0.45987 -0.21125 + +-1.01937 0.588531 -0.110696 +-1.06703 0.475074 -0.108551 +-1.03057 0.595 0 + +-1.07862 0.480234 0 +-1.03057 0.595 0 +-1.06703 0.475074 -0.108551 + +-1.07862 0.480234 0 +-1.09725 0.356517 0 +-1.06703 0.475074 0.108551 + +-1.08587 0.352821 0.102327 +-1.06703 0.475074 0.108551 +-1.09725 0.356517 0 + +-1.06703 0.475074 0.108551 +-1.08587 0.352821 0.102327 +-1.03289 0.45987 0.21125 + +-1.05236 0.341932 0.199138 +-1.03289 0.45987 0.21125 +-1.08587 0.352821 0.102327 + +-1.03289 0.45987 0.21125 +-1.05236 0.341932 0.199138 +-0.978021 0.435443 0.302561 + +-0.998518 0.324438 0.285213 +-0.978021 0.435443 0.302561 +-1.05236 0.341932 0.199138 + +-0.978021 0.435443 0.302561 +-0.998518 0.324438 0.285213 +-0.905399 0.40311 0.37756 + +-0.927249 0.301281 0.355913 +-0.905399 0.40311 0.37756 +-0.998518 0.324438 0.285213 + +-0.905399 0.40311 0.37756 +-0.927249 0.301281 0.355913 +-0.818934 0.364613 0.432205 + +-0.842394 0.273711 0.407425 +-0.818934 0.364613 0.432205 +-0.927249 0.301281 0.355913 + +-0.818934 0.364613 0.432205 +-0.842394 0.273711 0.407425 +-0.723287 0.322028 0.46355 + +-0.748529 0.243212 0.436972 +-0.723287 0.322028 0.46355 +-0.842394 0.273711 0.407425 + +-0.723287 0.322028 0.46355 +-0.748529 0.243212 0.436972 +-0.623615 0.277651 0.469904 + +-0.650713 0.21143 0.442963 +-0.623615 0.277651 0.469904 +-0.748529 0.243212 0.436972 + +-0.623615 0.277651 0.469904 +-0.650713 0.21143 0.442963 +-0.52529 0.233874 0.450926 + +-0.55422 0.180077 0.425073 +-0.52529 0.233874 0.450926 +-0.650713 0.21143 0.442963 + +-0.52529 0.233874 0.450926 +-0.55422 0.180077 0.425073 +-0.433614 0.193057 0.407639 + +-0.464252 0.150845 0.384267 +-0.433614 0.193057 0.407639 +-0.55422 0.180077 0.425073 + +-0.433614 0.193057 0.407639 +-0.464252 0.150845 0.384267 +-0.353529 0.157401 0.342375 + +-0.385659 0.125308 0.322745 +-0.353529 0.157401 0.342375 +-0.464252 0.150845 0.384267 + +-0.353529 0.157401 0.342375 +-0.385659 0.125308 0.322745 +-0.289352 0.128828 0.258654 + +-0.322677 0.104844 0.243824 +-0.289352 0.128828 0.258654 +-0.385659 0.125308 0.322745 + +-0.289352 0.128828 0.258654 +-0.322677 0.104844 0.243824 +-0.244543 0.108878 0.160989 + +-0.278703 0.0905562 0.151759 +-0.244543 0.108878 0.160989 +-0.322677 0.104844 0.243824 + +-0.244543 0.108878 0.160989 +-0.278703 0.0905562 0.151759 +-0.221518 0.0986263 0.054645 + +-0.256107 0.0832143 0.051512 +-0.221518 0.0986263 0.054645 +-0.278703 0.0905562 0.151759 + +-0.221518 0.0986263 0.054645 +-0.256107 0.0832143 0.051512 +-0.221518 0.0986263 -0.054645 + +-0.256107 0.0832143 -0.051512 +-0.221518 0.0986263 -0.054645 +-0.256107 0.0832143 0.051512 + +-0.221518 0.0986263 -0.054645 +-0.256107 0.0832143 -0.051512 +-0.244543 0.108878 -0.160989 + +-0.278703 0.0905562 -0.151759 +-0.244543 0.108878 -0.160989 +-0.256107 0.0832143 -0.051512 + +-0.244543 0.108878 -0.160989 +-0.278703 0.0905562 -0.151759 +-0.289352 0.128828 -0.258654 + +-0.322677 0.104844 -0.243824 +-0.289352 0.128828 -0.258654 +-0.278703 0.0905562 -0.151759 + +-0.289352 0.128828 -0.258654 +-0.322677 0.104844 -0.243824 +-0.353529 0.157401 -0.342375 + +-0.385659 0.125308 -0.322745 +-0.353529 0.157401 -0.342375 +-0.322677 0.104844 -0.243824 + +-0.353529 0.157401 -0.342375 +-0.385659 0.125308 -0.322745 +-0.433614 0.193057 -0.407639 + +-0.464252 0.150845 -0.384267 +-0.433614 0.193057 -0.407639 +-0.385659 0.125308 -0.322745 + +-0.433614 0.193057 -0.407639 +-0.464252 0.150845 -0.384267 +-0.52529 0.233874 -0.450926 + +-0.55422 0.180077 -0.425073 +-0.52529 0.233874 -0.450926 +-0.464252 0.150845 -0.384267 + +-0.52529 0.233874 -0.450926 +-0.55422 0.180077 -0.425073 +-0.623615 0.277651 -0.469904 + +-0.650713 0.21143 -0.442963 +-0.623615 0.277651 -0.469904 +-0.55422 0.180077 -0.425073 + +-0.623615 0.277651 -0.469904 +-0.650713 0.21143 -0.442963 +-0.723287 0.322028 -0.46355 + +-0.748529 0.243212 -0.436972 +-0.723287 0.322028 -0.46355 +-0.650713 0.21143 -0.442963 + +-0.723287 0.322028 -0.46355 +-0.748529 0.243212 -0.436972 +-0.818934 0.364613 -0.432205 + +-0.842394 0.273711 -0.407425 +-0.818934 0.364613 -0.432205 +-0.748529 0.243212 -0.436972 + +-0.818934 0.364613 -0.432205 +-0.842394 0.273711 -0.407425 +-0.905399 0.40311 -0.37756 + +-0.927249 0.301281 -0.355913 +-0.905399 0.40311 -0.37756 +-0.842394 0.273711 -0.407425 + +-0.905399 0.40311 -0.37756 +-0.927249 0.301281 -0.355913 +-0.978021 0.435443 -0.302561 + +-0.998518 0.324438 -0.285213 +-0.978021 0.435443 -0.302561 +-0.927249 0.301281 -0.355913 + +-0.978021 0.435443 -0.302561 +-0.998518 0.324438 -0.285213 +-1.03289 0.45987 -0.21125 + +-1.05236 0.341932 -0.199138 +-1.03289 0.45987 -0.21125 +-0.998518 0.324438 -0.285213 + +-1.03289 0.45987 -0.21125 +-1.05236 0.341932 -0.199138 +-1.06703 0.475074 -0.108551 + +-1.08587 0.352821 -0.102327 +-1.06703 0.475074 -0.108551 +-1.05236 0.341932 -0.199138 + +-1.06703 0.475074 -0.108551 +-1.08587 0.352821 -0.102327 +-1.07862 0.480234 0 + +-1.09725 0.356517 0 +-1.07862 0.480234 0 +-1.08587 0.352821 -0.102327 + +-1.09725 0.356517 0 +-1.08739 0.231131 0 +-1.08587 0.352821 0.102327 + +-1.0768 0.22888 0.0926336 +-1.08587 0.352821 0.102327 +-1.08739 0.231131 0 + +-1.08587 0.352821 0.102327 +-1.0768 0.22888 0.0926336 +-1.05236 0.341932 0.199138 + +-1.04559 0.222248 0.180273 +-1.05236 0.341932 0.199138 +-1.0768 0.22888 0.0926336 + +-1.05236 0.341932 0.199138 +-1.04559 0.222248 0.180273 +-0.998518 0.324438 0.285213 + +-0.995465 0.211593 0.258194 +-0.998518 0.324438 0.285213 +-1.04559 0.222248 0.180273 + +-0.998518 0.324438 0.285213 +-0.995465 0.211593 0.258194 +-0.927249 0.301281 0.355913 + +-0.929109 0.197488 0.322196 +-0.927249 0.301281 0.355913 +-0.995465 0.211593 0.258194 + +-0.927249 0.301281 0.355913 +-0.929109 0.197488 0.322196 +-0.842394 0.273711 0.407425 + +-0.850105 0.180695 0.368828 +-0.842394 0.273711 0.407425 +-0.929109 0.197488 0.322196 + +-0.842394 0.273711 0.407425 +-0.850105 0.180695 0.368828 +-0.748529 0.243212 0.436972 + +-0.762711 0.162119 0.395577 +-0.748529 0.243212 0.436972 +-0.850105 0.180695 0.368828 + +-0.748529 0.243212 0.436972 +-0.762711 0.162119 0.395577 +-0.650713 0.21143 0.442963 + +-0.67164 0.142761 0.401 +-0.650713 0.21143 0.442963 +-0.762711 0.162119 0.395577 + +-0.650713 0.21143 0.442963 +-0.67164 0.142761 0.401 +-0.55422 0.180077 0.425073 + +-0.581799 0.123665 0.384804 +-0.55422 0.180077 0.425073 +-0.67164 0.142761 0.401 + +-0.55422 0.180077 0.425073 +-0.581799 0.123665 0.384804 +-0.464252 0.150845 0.384267 + +-0.498034 0.10586 0.347864 +-0.464252 0.150845 0.384267 +-0.581799 0.123665 0.384804 + +-0.464252 0.150845 0.384267 +-0.498034 0.10586 0.347864 +-0.385659 0.125308 0.322745 + +-0.424859 0.0903067 0.292171 +-0.385659 0.125308 0.322745 +-0.498034 0.10586 0.347864 + +-0.385659 0.125308 0.322745 +-0.424859 0.0903067 0.292171 +-0.322677 0.104844 0.243824 + +-0.36622 0.0778425 0.220726 +-0.322677 0.104844 0.243824 +-0.424859 0.0903067 0.292171 + +-0.322677 0.104844 0.243824 +-0.36622 0.0778425 0.220726 +-0.278703 0.0905562 0.151759 + +-0.325278 0.06914 0.137382 +-0.278703 0.0905562 0.151759 +-0.36622 0.0778425 0.220726 + +-0.278703 0.0905562 0.151759 +-0.325278 0.06914 0.137382 +-0.256107 0.0832143 0.051512 + +-0.30424 0.0646682 0.0466321 +-0.256107 0.0832143 0.051512 +-0.325278 0.06914 0.137382 + +-0.256107 0.0832143 0.051512 +-0.30424 0.0646682 0.0466321 +-0.256107 0.0832143 -0.051512 + +-0.30424 0.0646682 -0.0466321 +-0.256107 0.0832143 -0.051512 +-0.30424 0.0646682 0.0466321 + +-0.256107 0.0832143 -0.051512 +-0.30424 0.0646682 -0.0466321 +-0.278703 0.0905562 -0.151759 + +-0.325278 0.06914 -0.137382 +-0.278703 0.0905562 -0.151759 +-0.30424 0.0646682 -0.0466321 + +-0.278703 0.0905562 -0.151759 +-0.325278 0.06914 -0.137382 +-0.322677 0.104844 -0.243824 + +-0.36622 0.0778425 -0.220726 +-0.322677 0.104844 -0.243824 +-0.325278 0.06914 -0.137382 + +-0.322677 0.104844 -0.243824 +-0.36622 0.0778425 -0.220726 +-0.385659 0.125308 -0.322745 + +-0.424859 0.0903067 -0.292171 +-0.385659 0.125308 -0.322745 +-0.36622 0.0778425 -0.220726 + +-0.385659 0.125308 -0.322745 +-0.424859 0.0903067 -0.292171 +-0.464252 0.150845 -0.384267 + +-0.498034 0.10586 -0.347864 +-0.464252 0.150845 -0.384267 +-0.424859 0.0903067 -0.292171 + +-0.464252 0.150845 -0.384267 +-0.498034 0.10586 -0.347864 +-0.55422 0.180077 -0.425073 + +-0.581799 0.123665 -0.384804 +-0.55422 0.180077 -0.425073 +-0.498034 0.10586 -0.347864 + +-0.55422 0.180077 -0.425073 +-0.581799 0.123665 -0.384804 +-0.650713 0.21143 -0.442963 + +-0.67164 0.142761 -0.401 +-0.650713 0.21143 -0.442963 +-0.581799 0.123665 -0.384804 + +-0.650713 0.21143 -0.442963 +-0.67164 0.142761 -0.401 +-0.748529 0.243212 -0.436972 + +-0.762711 0.162119 -0.395577 +-0.748529 0.243212 -0.436972 +-0.67164 0.142761 -0.401 + +-0.748529 0.243212 -0.436972 +-0.762711 0.162119 -0.395577 +-0.842394 0.273711 -0.407425 + +-0.850105 0.180695 -0.368828 +-0.842394 0.273711 -0.407425 +-0.762711 0.162119 -0.395577 + +-0.842394 0.273711 -0.407425 +-0.850105 0.180695 -0.368828 +-0.927249 0.301281 -0.355913 + +-0.929109 0.197488 -0.322196 +-0.927249 0.301281 -0.355913 +-0.850105 0.180695 -0.368828 + +-0.927249 0.301281 -0.355913 +-0.929109 0.197488 -0.322196 +-0.998518 0.324438 -0.285213 + +-0.995465 0.211593 -0.258194 +-0.998518 0.324438 -0.285213 +-0.929109 0.197488 -0.322196 + +-0.998518 0.324438 -0.285213 +-0.995465 0.211593 -0.258194 +-1.05236 0.341932 -0.199138 + +-1.04559 0.222248 -0.180273 +-1.05236 0.341932 -0.199138 +-0.995465 0.211593 -0.258194 + +-1.05236 0.341932 -0.199138 +-1.04559 0.222248 -0.180273 +-1.08587 0.352821 -0.102327 + +-1.0768 0.22888 -0.0926336 +-1.08587 0.352821 -0.102327 +-1.04559 0.222248 -0.180273 + +-1.08587 0.352821 -0.102327 +-1.0768 0.22888 -0.0926336 +-1.09725 0.356517 0 + +-1.08739 0.231131 0 +-1.09725 0.356517 0 +-1.0768 0.22888 -0.0926336 + +-1.08739 0.231131 0 +-1.05291 0.110666 0 +-1.0768 0.22888 0.0926336 + +-1.04357 0.109683 0.0804188 +-1.0768 0.22888 0.0926336 +-1.05291 0.110666 0 + +-1.0768 0.22888 0.0926336 +-1.04357 0.109683 0.0804188 +-1.04559 0.222248 0.180273 + +-1.01602 0.106789 0.156502 +-1.04559 0.222248 0.180273 +-1.04357 0.109683 0.0804188 + +-1.04559 0.222248 0.180273 +-1.01602 0.106789 0.156502 +-0.995465 0.211593 0.258194 + +-0.971777 0.102138 0.224149 +-0.995465 0.211593 0.258194 +-1.01602 0.106789 0.156502 + +-0.995465 0.211593 0.258194 +-0.971777 0.102138 0.224149 +-0.929109 0.197488 0.322196 + +-0.913207 0.0959819 0.279711 +-0.929109 0.197488 0.322196 +-0.971777 0.102138 0.224149 + +-0.929109 0.197488 0.322196 +-0.913207 0.0959819 0.279711 +-0.850105 0.180695 0.368828 + +-0.843472 0.0886525 0.320194 +-0.850105 0.180695 0.368828 +-0.913207 0.0959819 0.279711 + +-0.850105 0.180695 0.368828 +-0.843472 0.0886525 0.320194 +-0.762711 0.162119 0.395577 + +-0.766332 0.0805448 0.343415 +-0.762711 0.162119 0.395577 +-0.843472 0.0886525 0.320194 + +-0.762711 0.162119 0.395577 +-0.766332 0.0805448 0.343415 +-0.67164 0.142761 0.401 + +-0.685946 0.0720958 0.348123 +-0.67164 0.142761 0.401 +-0.766332 0.0805448 0.343415 + +-0.67164 0.142761 0.401 +-0.685946 0.0720958 0.348123 +-0.581799 0.123665 0.384804 + +-0.606646 0.0637611 0.334064 +-0.581799 0.123665 0.384804 +-0.685946 0.0720958 0.348123 + +-0.581799 0.123665 0.384804 +-0.606646 0.0637611 0.334064 +-0.498034 0.10586 0.347864 + +-0.532709 0.05599 0.301995 +-0.498034 0.10586 0.347864 +-0.606646 0.0637611 0.334064 + +-0.498034 0.10586 0.347864 +-0.532709 0.05599 0.301995 +-0.424859 0.0903067 0.292171 + +-0.46812 0.0492014 0.253645 +-0.424859 0.0903067 0.292171 +-0.532709 0.05599 0.301995 + +-0.424859 0.0903067 0.292171 +-0.46812 0.0492014 0.253645 +-0.36622 0.0778425 0.220726 + +-0.416361 0.0437613 0.191621 +-0.36622 0.0778425 0.220726 +-0.46812 0.0492014 0.253645 + +-0.36622 0.0778425 0.220726 +-0.416361 0.0437613 0.191621 +-0.325278 0.06914 0.137382 + +-0.380222 0.039963 0.119267 +-0.325278 0.06914 0.137382 +-0.416361 0.0437613 0.191621 + +-0.325278 0.06914 0.137382 +-0.380222 0.039963 0.119267 +-0.30424 0.0646682 0.0466321 + +-0.361653 0.0380112 0.0404831 +-0.30424 0.0646682 0.0466321 +-0.380222 0.039963 0.119267 + +-0.30424 0.0646682 0.0466321 +-0.361653 0.0380112 0.0404831 +-0.30424 0.0646682 -0.0466321 + +-0.361653 0.0380112 -0.0404831 +-0.30424 0.0646682 -0.0466321 +-0.361653 0.0380112 0.0404831 + +-0.30424 0.0646682 -0.0466321 +-0.361653 0.0380112 -0.0404831 +-0.325278 0.06914 -0.137382 + +-0.380222 0.039963 -0.119267 +-0.325278 0.06914 -0.137382 +-0.361653 0.0380112 -0.0404831 + +-0.325278 0.06914 -0.137382 +-0.380222 0.039963 -0.119267 +-0.36622 0.0778425 -0.220726 + +-0.416361 0.0437613 -0.191621 +-0.36622 0.0778425 -0.220726 +-0.380222 0.039963 -0.119267 + +-0.36622 0.0778425 -0.220726 +-0.416361 0.0437613 -0.191621 +-0.424859 0.0903067 -0.292171 + +-0.46812 0.0492014 -0.253645 +-0.424859 0.0903067 -0.292171 +-0.416361 0.0437613 -0.191621 + +-0.424859 0.0903067 -0.292171 +-0.46812 0.0492014 -0.253645 +-0.498034 0.10586 -0.347864 + +-0.532709 0.05599 -0.301995 +-0.498034 0.10586 -0.347864 +-0.46812 0.0492014 -0.253645 + +-0.498034 0.10586 -0.347864 +-0.532709 0.05599 -0.301995 +-0.581799 0.123665 -0.384804 + +-0.606646 0.0637611 -0.334064 +-0.581799 0.123665 -0.384804 +-0.532709 0.05599 -0.301995 + +-0.581799 0.123665 -0.384804 +-0.606646 0.0637611 -0.334064 +-0.67164 0.142761 -0.401 + +-0.685946 0.0720958 -0.348123 +-0.67164 0.142761 -0.401 +-0.606646 0.0637611 -0.334064 + +-0.67164 0.142761 -0.401 +-0.685946 0.0720958 -0.348123 +-0.762711 0.162119 -0.395577 + +-0.766332 0.0805448 -0.343415 +-0.762711 0.162119 -0.395577 +-0.685946 0.0720958 -0.348123 + +-0.762711 0.162119 -0.395577 +-0.766332 0.0805448 -0.343415 +-0.850105 0.180695 -0.368828 + +-0.843472 0.0886525 -0.320194 +-0.850105 0.180695 -0.368828 +-0.766332 0.0805448 -0.343415 + +-0.850105 0.180695 -0.368828 +-0.843472 0.0886525 -0.320194 +-0.929109 0.197488 -0.322196 + +-0.913207 0.0959819 -0.279711 +-0.929109 0.197488 -0.322196 +-0.843472 0.0886525 -0.320194 + +-0.929109 0.197488 -0.322196 +-0.913207 0.0959819 -0.279711 +-0.995465 0.211593 -0.258194 + +-0.971777 0.102138 -0.224149 +-0.995465 0.211593 -0.258194 +-0.913207 0.0959819 -0.279711 + +-0.995465 0.211593 -0.258194 +-0.971777 0.102138 -0.224149 +-1.04559 0.222248 -0.180273 + +-1.01602 0.106789 -0.156502 +-1.04559 0.222248 -0.180273 +-0.971777 0.102138 -0.224149 + +-1.04559 0.222248 -0.180273 +-1.01602 0.106789 -0.156502 +-1.0768 0.22888 -0.0926336 + +-1.04357 0.109683 -0.0804188 +-1.0768 0.22888 -0.0926336 +-1.01602 0.106789 -0.156502 + +-1.0768 0.22888 -0.0926336 +-1.04357 0.109683 -0.0804188 +-1.08739 0.231131 0 + +-1.05291 0.110666 0 +-1.08739 0.231131 0 +-1.04357 0.109683 -0.0804188 + +-1.05291 0.110666 0 +-1 4.44089e-16 0 +-1.04357 0.109683 0.0804188 + +-0.992183 4.40618e-16 0.0668786 +-1.04357 0.109683 0.0804188 +-1 4.44089e-16 0 + +-1.04357 0.109683 0.0804188 +-0.992183 4.40618e-16 0.0668786 +-1.01602 0.106789 0.156502 + +-0.969153 4.30391e-16 0.130152 +-1.01602 0.106789 0.156502 +-0.992183 4.40618e-16 0.0668786 + +-1.01602 0.106789 0.156502 +-0.969153 4.30391e-16 0.130152 +-0.971777 0.102138 0.224149 + +-0.932153 4.13959e-16 0.186408 +-0.971777 0.102138 0.224149 +-0.969153 4.30391e-16 0.130152 + +-0.971777 0.102138 0.224149 +-0.932153 4.13959e-16 0.186408 +-0.913207 0.0959819 0.279711 + +-0.883176 3.92209e-16 0.232616 +-0.913207 0.0959819 0.279711 +-0.932153 4.13959e-16 0.186408 + +-0.913207 0.0959819 0.279711 +-0.883176 3.92209e-16 0.232616 +-0.843472 0.0886525 0.320194 + +-0.824863 3.66313e-16 0.266283 +-0.843472 0.0886525 0.320194 +-0.883176 3.92209e-16 0.232616 + +-0.843472 0.0886525 0.320194 +-0.824863 3.66313e-16 0.266283 +-0.766332 0.0805448 0.343415 + +-0.760358 3.37667e-16 0.285594 +-0.766332 0.0805448 0.343415 +-0.824863 3.66313e-16 0.266283 + +-0.766332 0.0805448 0.343415 +-0.760358 3.37667e-16 0.285594 +-0.685946 0.0720958 0.348123 + +-0.693138 3.07815e-16 0.289509 +-0.685946 0.0720958 0.348123 +-0.760358 3.37667e-16 0.285594 + +-0.685946 0.0720958 0.348123 +-0.693138 3.07815e-16 0.289509 +-0.606646 0.0637611 0.334064 + +-0.626827 2.78367e-16 0.277817 +-0.606646 0.0637611 0.334064 +-0.693138 3.07815e-16 0.289509 + +-0.606646 0.0637611 0.334064 +-0.626827 2.78367e-16 0.277817 +-0.532709 0.05599 0.301995 + +-0.565 2.5091e-16 0.251147 +-0.532709 0.05599 0.301995 +-0.626827 2.78367e-16 0.277817 + +-0.532709 0.05599 0.301995 +-0.565 2.5091e-16 0.251147 +-0.46812 0.0492014 0.253645 + +-0.51099 2.26925e-16 0.210938 +-0.46812 0.0492014 0.253645 +-0.565 2.5091e-16 0.251147 + +-0.46812 0.0492014 0.253645 +-0.51099 2.26925e-16 0.210938 +-0.416361 0.0437613 0.191621 + +-0.467709 2.07704e-16 0.159358 +-0.416361 0.0437613 0.191621 +-0.51099 2.26925e-16 0.210938 + +-0.416361 0.0437613 0.191621 +-0.467709 2.07704e-16 0.159358 +-0.380222 0.039963 0.119267 + +-0.437489 1.94284e-16 0.0991858 +-0.380222 0.039963 0.119267 +-0.467709 2.07704e-16 0.159358 + +-0.380222 0.039963 0.119267 +-0.437489 1.94284e-16 0.0991858 +-0.361653 0.0380112 0.0404831 + +-0.421961 1.87388e-16 0.0336669 +-0.361653 0.0380112 0.0404831 +-0.437489 1.94284e-16 0.0991858 + +-0.361653 0.0380112 0.0404831 +-0.421961 1.87388e-16 0.0336669 +-0.361653 0.0380112 -0.0404831 + +-0.421961 1.87388e-16 -0.0336669 +-0.361653 0.0380112 -0.0404831 +-0.421961 1.87388e-16 0.0336669 + +-0.361653 0.0380112 -0.0404831 +-0.421961 1.87388e-16 -0.0336669 +-0.380222 0.039963 -0.119267 + +-0.437489 1.94284e-16 -0.0991858 +-0.380222 0.039963 -0.119267 +-0.421961 1.87388e-16 -0.0336669 + +-0.380222 0.039963 -0.119267 +-0.437489 1.94284e-16 -0.0991858 +-0.416361 0.0437613 -0.191621 + +-0.467709 2.07704e-16 -0.159358 +-0.416361 0.0437613 -0.191621 +-0.437489 1.94284e-16 -0.0991858 + +-0.416361 0.0437613 -0.191621 +-0.467709 2.07704e-16 -0.159358 +-0.46812 0.0492014 -0.253645 + +-0.51099 2.26925e-16 -0.210938 +-0.46812 0.0492014 -0.253645 +-0.467709 2.07704e-16 -0.159358 + +-0.46812 0.0492014 -0.253645 +-0.51099 2.26925e-16 -0.210938 +-0.532709 0.05599 -0.301995 + +-0.565 2.5091e-16 -0.251147 +-0.532709 0.05599 -0.301995 +-0.51099 2.26925e-16 -0.210938 + +-0.532709 0.05599 -0.301995 +-0.565 2.5091e-16 -0.251147 +-0.606646 0.0637611 -0.334064 + +-0.626827 2.78367e-16 -0.277817 +-0.606646 0.0637611 -0.334064 +-0.565 2.5091e-16 -0.251147 + +-0.606646 0.0637611 -0.334064 +-0.626827 2.78367e-16 -0.277817 +-0.685946 0.0720958 -0.348123 + +-0.693138 3.07815e-16 -0.289509 +-0.685946 0.0720958 -0.348123 +-0.626827 2.78367e-16 -0.277817 + +-0.685946 0.0720958 -0.348123 +-0.693138 3.07815e-16 -0.289509 +-0.766332 0.0805448 -0.343415 + +-0.760358 3.37667e-16 -0.285594 +-0.766332 0.0805448 -0.343415 +-0.693138 3.07815e-16 -0.289509 + +-0.766332 0.0805448 -0.343415 +-0.760358 3.37667e-16 -0.285594 +-0.843472 0.0886525 -0.320194 + +-0.824863 3.66313e-16 -0.266283 +-0.843472 0.0886525 -0.320194 +-0.760358 3.37667e-16 -0.285594 + +-0.843472 0.0886525 -0.320194 +-0.824863 3.66313e-16 -0.266283 +-0.913207 0.0959819 -0.279711 + +-0.883176 3.92209e-16 -0.232616 +-0.913207 0.0959819 -0.279711 +-0.824863 3.66313e-16 -0.266283 + +-0.913207 0.0959819 -0.279711 +-0.883176 3.92209e-16 -0.232616 +-0.971777 0.102138 -0.224149 + +-0.932153 4.13959e-16 -0.186408 +-0.971777 0.102138 -0.224149 +-0.883176 3.92209e-16 -0.232616 + +-0.971777 0.102138 -0.224149 +-0.932153 4.13959e-16 -0.186408 +-1.01602 0.106789 -0.156502 + +-0.969153 4.30391e-16 -0.130152 +-1.01602 0.106789 -0.156502 +-0.932153 4.13959e-16 -0.186408 + +-1.01602 0.106789 -0.156502 +-0.969153 4.30391e-16 -0.130152 +-1.04357 0.109683 -0.0804188 + +-0.992183 4.40618e-16 -0.0668786 +-1.04357 0.109683 -0.0804188 +-0.969153 4.30391e-16 -0.130152 + +-1.04357 0.109683 -0.0804188 +-0.992183 4.40618e-16 -0.0668786 +-1.05291 0.110666 0 + +-1 4.44089e-16 0 +-1.05291 0.110666 0 +-0.992183 4.40618e-16 -0.0668786 + +-1 4.44089e-16 0 +-0.93613 -0.0983913 0 +-0.992183 4.40618e-16 0.0668786 + +-0.92993 -0.0977396 0.0533384 +-0.992183 4.40618e-16 0.0668786 +-0.93613 -0.0983913 0 + +-0.992183 4.40618e-16 0.0668786 +-0.92993 -0.0977396 0.0533384 +-0.969153 4.30391e-16 0.130152 + +-0.911664 -0.0958197 0.103801 +-0.969153 4.30391e-16 0.130152 +-0.92993 -0.0977396 0.0533384 + +-0.969153 4.30391e-16 0.130152 +-0.911664 -0.0958197 0.103801 +-0.932153 4.13959e-16 0.186408 + +-0.882316 -0.0927351 0.148668 +-0.932153 4.13959e-16 0.186408 +-0.911664 -0.0958197 0.103801 + +-0.932153 4.13959e-16 0.186408 +-0.882316 -0.0927351 0.148668 +-0.883176 3.92209e-16 0.232616 + +-0.843469 -0.0886521 0.18552 +-0.883176 3.92209e-16 0.232616 +-0.882316 -0.0927351 0.148668 + +-0.883176 3.92209e-16 0.232616 +-0.843469 -0.0886521 0.18552 +-0.824863 3.66313e-16 0.266283 + +-0.797217 -0.0837909 0.212371 +-0.824863 3.66313e-16 0.266283 +-0.843469 -0.0886521 0.18552 + +-0.824863 3.66313e-16 0.266283 +-0.797217 -0.0837909 0.212371 +-0.760358 3.37667e-16 0.285594 + +-0.746053 -0.0784133 0.227773 +-0.760358 3.37667e-16 0.285594 +-0.797217 -0.0837909 0.212371 + +-0.760358 3.37667e-16 0.285594 +-0.746053 -0.0784133 0.227773 +-0.693138 3.07815e-16 0.289509 + +-0.692736 -0.0728095 0.230895 +-0.693138 3.07815e-16 0.289509 +-0.746053 -0.0784133 0.227773 + +-0.693138 3.07815e-16 0.289509 +-0.692736 -0.0728095 0.230895 +-0.626827 2.78367e-16 0.277817 + +-0.64014 -0.0672814 0.22157 +-0.626827 2.78367e-16 0.277817 +-0.692736 -0.0728095 0.230895 + +-0.626827 2.78367e-16 0.277817 +-0.64014 -0.0672814 0.22157 +-0.565 2.5091e-16 0.251147 + +-0.591101 -0.0621272 0.2003 +-0.565 2.5091e-16 0.251147 +-0.64014 -0.0672814 0.22157 + +-0.565 2.5091e-16 0.251147 +-0.591101 -0.0621272 0.2003 +-0.51099 2.26925e-16 0.210938 + +-0.548261 -0.0576246 0.168232 +-0.51099 2.26925e-16 0.210938 +-0.591101 -0.0621272 0.2003 + +-0.51099 2.26925e-16 0.210938 +-0.548261 -0.0576246 0.168232 +-0.467709 2.07704e-16 0.159358 + +-0.513932 -0.0540164 0.127094 +-0.467709 2.07704e-16 0.159358 +-0.548261 -0.0576246 0.168232 + +-0.467709 2.07704e-16 0.159358 +-0.513932 -0.0540164 0.127094 +-0.437489 1.94284e-16 0.0991858 + +-0.489963 -0.0514972 0.0791047 +-0.437489 1.94284e-16 0.0991858 +-0.513932 -0.0540164 0.127094 + +-0.437489 1.94284e-16 0.0991858 +-0.489963 -0.0514972 0.0791047 +-0.421961 1.87388e-16 0.0336669 + +-0.477646 -0.0502026 0.0268508 +-0.421961 1.87388e-16 0.0336669 +-0.489963 -0.0514972 0.0791047 + +-0.421961 1.87388e-16 0.0336669 +-0.477646 -0.0502026 0.0268508 +-0.421961 1.87388e-16 -0.0336669 + +-0.477646 -0.0502026 -0.0268508 +-0.421961 1.87388e-16 -0.0336669 +-0.477646 -0.0502026 0.0268508 + +-0.421961 1.87388e-16 -0.0336669 +-0.477646 -0.0502026 -0.0268508 +-0.437489 1.94284e-16 -0.0991858 + +-0.489963 -0.0514972 -0.0791047 +-0.437489 1.94284e-16 -0.0991858 +-0.477646 -0.0502026 -0.0268508 + +-0.437489 1.94284e-16 -0.0991858 +-0.489963 -0.0514972 -0.0791047 +-0.467709 2.07704e-16 -0.159358 + +-0.513932 -0.0540164 -0.127094 +-0.467709 2.07704e-16 -0.159358 +-0.489963 -0.0514972 -0.0791047 + +-0.467709 2.07704e-16 -0.159358 +-0.513932 -0.0540164 -0.127094 +-0.51099 2.26925e-16 -0.210938 + +-0.548261 -0.0576246 -0.168232 +-0.51099 2.26925e-16 -0.210938 +-0.513932 -0.0540164 -0.127094 + +-0.51099 2.26925e-16 -0.210938 +-0.548261 -0.0576246 -0.168232 +-0.565 2.5091e-16 -0.251147 + +-0.591101 -0.0621272 -0.2003 +-0.565 2.5091e-16 -0.251147 +-0.548261 -0.0576246 -0.168232 + +-0.565 2.5091e-16 -0.251147 +-0.591101 -0.0621272 -0.2003 +-0.626827 2.78367e-16 -0.277817 + +-0.64014 -0.0672814 -0.22157 +-0.626827 2.78367e-16 -0.277817 +-0.591101 -0.0621272 -0.2003 + +-0.626827 2.78367e-16 -0.277817 +-0.64014 -0.0672814 -0.22157 +-0.693138 3.07815e-16 -0.289509 + +-0.692736 -0.0728095 -0.230895 +-0.693138 3.07815e-16 -0.289509 +-0.64014 -0.0672814 -0.22157 + +-0.693138 3.07815e-16 -0.289509 +-0.692736 -0.0728095 -0.230895 +-0.760358 3.37667e-16 -0.285594 + +-0.746053 -0.0784133 -0.227773 +-0.760358 3.37667e-16 -0.285594 +-0.692736 -0.0728095 -0.230895 + +-0.760358 3.37667e-16 -0.285594 +-0.746053 -0.0784133 -0.227773 +-0.824863 3.66313e-16 -0.266283 + +-0.797217 -0.0837909 -0.212371 +-0.824863 3.66313e-16 -0.266283 +-0.746053 -0.0784133 -0.227773 + +-0.824863 3.66313e-16 -0.266283 +-0.797217 -0.0837909 -0.212371 +-0.883176 3.92209e-16 -0.232616 + +-0.843469 -0.0886521 -0.18552 +-0.883176 3.92209e-16 -0.232616 +-0.797217 -0.0837909 -0.212371 + +-0.883176 3.92209e-16 -0.232616 +-0.843469 -0.0886521 -0.18552 +-0.932153 4.13959e-16 -0.186408 + +-0.882316 -0.0927351 -0.148668 +-0.932153 4.13959e-16 -0.186408 +-0.843469 -0.0886521 -0.18552 + +-0.932153 4.13959e-16 -0.186408 +-0.882316 -0.0927351 -0.148668 +-0.969153 4.30391e-16 -0.130152 + +-0.911664 -0.0958197 -0.103801 +-0.969153 4.30391e-16 -0.130152 +-0.882316 -0.0927351 -0.148668 + +-0.969153 4.30391e-16 -0.130152 +-0.911664 -0.0958197 -0.103801 +-0.992183 4.40618e-16 -0.0668786 + +-0.92993 -0.0977396 -0.0533384 +-0.992183 4.40618e-16 -0.0668786 +-0.911664 -0.0958197 -0.103801 + +-0.992183 4.40618e-16 -0.0668786 +-0.92993 -0.0977396 -0.0533384 +-1 4.44089e-16 0 + +-0.93613 -0.0983913 0 +-1 4.44089e-16 0 +-0.92993 -0.0977396 -0.0533384 + +-0.93613 -0.0983913 0 +-0.868909 -0.184692 0 +-0.92993 -0.0977396 0.0533384 + +-0.864207 -0.183693 0.0411236 +-0.92993 -0.0977396 0.0533384 +-0.868909 -0.184692 0 + +-0.92993 -0.0977396 0.0533384 +-0.864207 -0.183693 0.0411236 +-0.911664 -0.0958197 0.103801 + +-0.850356 -0.180749 0.0800302 +-0.911664 -0.0958197 0.103801 +-0.864207 -0.183693 0.0411236 + +-0.911664 -0.0958197 0.103801 +-0.850356 -0.180749 0.0800302 +-0.882316 -0.0927351 0.148668 + +-0.828101 -0.176018 0.114622 +-0.882316 -0.0927351 0.148668 +-0.850356 -0.180749 0.0800302 + +-0.882316 -0.0927351 0.148668 +-0.828101 -0.176018 0.114622 +-0.843469 -0.0886521 0.18552 + +-0.798644 -0.169757 0.143035 +-0.843469 -0.0886521 0.18552 +-0.828101 -0.176018 0.114622 + +-0.843469 -0.0886521 0.18552 +-0.798644 -0.169757 0.143035 +-0.797217 -0.0837909 0.212371 + +-0.763571 -0.162302 0.163737 +-0.797217 -0.0837909 0.212371 +-0.798644 -0.169757 0.143035 + +-0.797217 -0.0837909 0.212371 +-0.763571 -0.162302 0.163737 +-0.746053 -0.0784133 0.227773 + +-0.724773 -0.154055 0.175612 +-0.746053 -0.0784133 0.227773 +-0.763571 -0.162302 0.163737 + +-0.746053 -0.0784133 0.227773 +-0.724773 -0.154055 0.175612 +-0.692736 -0.0728095 0.230895 + +-0.684343 -0.145462 0.178019 +-0.692736 -0.0728095 0.230895 +-0.724773 -0.154055 0.175612 + +-0.692736 -0.0728095 0.230895 +-0.684343 -0.145462 0.178019 +-0.64014 -0.0672814 0.22157 + +-0.644459 -0.136984 0.170829 +-0.64014 -0.0672814 0.22157 +-0.684343 -0.145462 0.178019 + +-0.64014 -0.0672814 0.22157 +-0.644459 -0.136984 0.170829 +-0.591101 -0.0621272 0.2003 + +-0.607273 -0.12908 0.15443 +-0.591101 -0.0621272 0.2003 +-0.644459 -0.136984 0.170829 + +-0.591101 -0.0621272 0.2003 +-0.607273 -0.12908 0.15443 +-0.548261 -0.0576246 0.168232 + +-0.574788 -0.122175 0.129706 +-0.548261 -0.0576246 0.168232 +-0.607273 -0.12908 0.15443 + +-0.548261 -0.0576246 0.168232 +-0.574788 -0.122175 0.129706 +-0.513932 -0.0540164 0.127094 + +-0.548756 -0.116642 0.0979889 +-0.513932 -0.0540164 0.127094 +-0.574788 -0.122175 0.129706 + +-0.513932 -0.0540164 0.127094 +-0.548756 -0.116642 0.0979889 +-0.489963 -0.0514972 0.0791047 + +-0.53058 -0.112778 0.0609893 +-0.489963 -0.0514972 0.0791047 +-0.548756 -0.116642 0.0979889 + +-0.489963 -0.0514972 0.0791047 +-0.53058 -0.112778 0.0609893 +-0.477646 -0.0502026 0.0268508 + +-0.52124 -0.110793 0.0207018 +-0.477646 -0.0502026 0.0268508 +-0.53058 -0.112778 0.0609893 + +-0.477646 -0.0502026 0.0268508 +-0.52124 -0.110793 0.0207018 +-0.477646 -0.0502026 -0.0268508 + +-0.52124 -0.110793 -0.0207018 +-0.477646 -0.0502026 -0.0268508 +-0.52124 -0.110793 0.0207018 + +-0.477646 -0.0502026 -0.0268508 +-0.52124 -0.110793 -0.0207018 +-0.489963 -0.0514972 -0.0791047 + +-0.53058 -0.112778 -0.0609893 +-0.489963 -0.0514972 -0.0791047 +-0.52124 -0.110793 -0.0207018 + +-0.489963 -0.0514972 -0.0791047 +-0.53058 -0.112778 -0.0609893 +-0.513932 -0.0540164 -0.127094 + +-0.548756 -0.116642 -0.0979889 +-0.513932 -0.0540164 -0.127094 +-0.53058 -0.112778 -0.0609893 + +-0.513932 -0.0540164 -0.127094 +-0.548756 -0.116642 -0.0979889 +-0.548261 -0.0576246 -0.168232 + +-0.574788 -0.122175 -0.129706 +-0.548261 -0.0576246 -0.168232 +-0.548756 -0.116642 -0.0979889 + +-0.548261 -0.0576246 -0.168232 +-0.574788 -0.122175 -0.129706 +-0.591101 -0.0621272 -0.2003 + +-0.607273 -0.12908 -0.15443 +-0.591101 -0.0621272 -0.2003 +-0.574788 -0.122175 -0.129706 + +-0.591101 -0.0621272 -0.2003 +-0.607273 -0.12908 -0.15443 +-0.64014 -0.0672814 -0.22157 + +-0.644459 -0.136984 -0.170829 +-0.64014 -0.0672814 -0.22157 +-0.607273 -0.12908 -0.15443 + +-0.64014 -0.0672814 -0.22157 +-0.644459 -0.136984 -0.170829 +-0.692736 -0.0728095 -0.230895 + +-0.684343 -0.145462 -0.178019 +-0.692736 -0.0728095 -0.230895 +-0.644459 -0.136984 -0.170829 + +-0.692736 -0.0728095 -0.230895 +-0.684343 -0.145462 -0.178019 +-0.746053 -0.0784133 -0.227773 + +-0.724773 -0.154055 -0.175612 +-0.746053 -0.0784133 -0.227773 +-0.684343 -0.145462 -0.178019 + +-0.746053 -0.0784133 -0.227773 +-0.724773 -0.154055 -0.175612 +-0.797217 -0.0837909 -0.212371 + +-0.763571 -0.162302 -0.163737 +-0.797217 -0.0837909 -0.212371 +-0.724773 -0.154055 -0.175612 + +-0.797217 -0.0837909 -0.212371 +-0.763571 -0.162302 -0.163737 +-0.843469 -0.0886521 -0.18552 + +-0.798644 -0.169757 -0.143035 +-0.843469 -0.0886521 -0.18552 +-0.763571 -0.162302 -0.163737 + +-0.843469 -0.0886521 -0.18552 +-0.798644 -0.169757 -0.143035 +-0.882316 -0.0927351 -0.148668 + +-0.828101 -0.176018 -0.114622 +-0.882316 -0.0927351 -0.148668 +-0.798644 -0.169757 -0.143035 + +-0.882316 -0.0927351 -0.148668 +-0.828101 -0.176018 -0.114622 +-0.911664 -0.0958197 -0.103801 + +-0.850356 -0.180749 -0.0800302 +-0.911664 -0.0958197 -0.103801 +-0.828101 -0.176018 -0.114622 + +-0.911664 -0.0958197 -0.103801 +-0.850356 -0.180749 -0.0800302 +-0.92993 -0.0977396 -0.0533384 + +-0.864207 -0.183693 -0.0411236 +-0.92993 -0.0977396 -0.0533384 +-0.850356 -0.180749 -0.0800302 + +-0.92993 -0.0977396 -0.0533384 +-0.864207 -0.183693 -0.0411236 +-0.93613 -0.0983913 0 + +-0.868909 -0.184692 0 +-0.93613 -0.0983913 0 +-0.864207 -0.183693 -0.0411236 + +-0.868909 -0.184692 0 +-0.804867 -0.261517 0 +-0.864207 -0.183693 0.0411236 + +-0.801373 -0.260382 0.0314299 +-0.864207 -0.183693 0.0411236 +-0.804867 -0.261517 0 + +-0.864207 -0.183693 0.0411236 +-0.801373 -0.260382 0.0314299 +-0.850356 -0.180749 0.0800302 + +-0.79108 -0.257037 0.0611654 +-0.850356 -0.180749 0.0800302 +-0.801373 -0.260382 0.0314299 + +-0.850356 -0.180749 0.0800302 +-0.79108 -0.257037 0.0611654 +-0.828101 -0.176018 0.114622 + +-0.774542 -0.251664 0.0876034 +-0.828101 -0.176018 0.114622 +-0.79108 -0.257037 0.0611654 + +-0.828101 -0.176018 0.114622 +-0.774542 -0.251664 0.0876034 +-0.798644 -0.169757 0.143035 + +-0.752652 -0.244551 0.109319 +-0.798644 -0.169757 0.143035 +-0.774542 -0.251664 0.0876034 + +-0.798644 -0.169757 0.143035 +-0.752652 -0.244551 0.109319 +-0.763571 -0.162302 0.163737 + +-0.726589 -0.236083 0.125141 +-0.763571 -0.162302 0.163737 +-0.752652 -0.244551 0.109319 + +-0.763571 -0.162302 0.163737 +-0.726589 -0.236083 0.125141 +-0.724773 -0.154055 0.175612 + +-0.697758 -0.226715 0.134216 +-0.724773 -0.154055 0.175612 +-0.726589 -0.236083 0.125141 + +-0.724773 -0.154055 0.175612 +-0.697758 -0.226715 0.134216 +-0.684343 -0.145462 0.178019 + +-0.667714 -0.216953 0.136056 +-0.684343 -0.145462 0.178019 +-0.697758 -0.226715 0.134216 + +-0.684343 -0.145462 0.178019 +-0.667714 -0.216953 0.136056 +-0.644459 -0.136984 0.170829 + +-0.638076 -0.207323 0.130561 +-0.644459 -0.136984 0.170829 +-0.667714 -0.216953 0.136056 + +-0.644459 -0.136984 0.170829 +-0.638076 -0.207323 0.130561 +-0.607273 -0.12908 0.15443 + +-0.610442 -0.198345 0.118028 +-0.607273 -0.12908 0.15443 +-0.638076 -0.207323 0.130561 + +-0.607273 -0.12908 0.15443 +-0.610442 -0.198345 0.118028 +-0.574788 -0.122175 0.129706 + +-0.586302 -0.190501 0.0991314 +-0.574788 -0.122175 0.129706 +-0.610442 -0.198345 0.118028 + +-0.574788 -0.122175 0.129706 +-0.586302 -0.190501 0.0991314 +-0.548756 -0.116642 0.0979889 + +-0.566957 -0.184216 0.0748908 +-0.548756 -0.116642 0.0979889 +-0.586302 -0.190501 0.0991314 + +-0.548756 -0.116642 0.0979889 +-0.566957 -0.184216 0.0748908 +-0.53058 -0.112778 0.0609893 + +-0.553451 -0.179827 0.0466128 +-0.53058 -0.112778 0.0609893 +-0.566957 -0.184216 0.0748908 + +-0.53058 -0.112778 0.0609893 +-0.553451 -0.179827 0.0466128 +-0.52124 -0.110793 0.0207018 + +-0.54651 -0.177572 0.0158219 +-0.52124 -0.110793 0.0207018 +-0.553451 -0.179827 0.0466128 + +-0.52124 -0.110793 0.0207018 +-0.54651 -0.177572 0.0158219 +-0.52124 -0.110793 -0.0207018 + +-0.54651 -0.177572 -0.0158219 +-0.52124 -0.110793 -0.0207018 +-0.54651 -0.177572 0.0158219 + +-0.52124 -0.110793 -0.0207018 +-0.54651 -0.177572 -0.0158219 +-0.53058 -0.112778 -0.0609893 + +-0.553451 -0.179827 -0.0466128 +-0.53058 -0.112778 -0.0609893 +-0.54651 -0.177572 -0.0158219 + +-0.53058 -0.112778 -0.0609893 +-0.553451 -0.179827 -0.0466128 +-0.548756 -0.116642 -0.0979889 + +-0.566957 -0.184216 -0.0748908 +-0.548756 -0.116642 -0.0979889 +-0.553451 -0.179827 -0.0466128 + +-0.548756 -0.116642 -0.0979889 +-0.566957 -0.184216 -0.0748908 +-0.574788 -0.122175 -0.129706 + +-0.586302 -0.190501 -0.0991314 +-0.574788 -0.122175 -0.129706 +-0.566957 -0.184216 -0.0748908 + +-0.574788 -0.122175 -0.129706 +-0.586302 -0.190501 -0.0991314 +-0.607273 -0.12908 -0.15443 + +-0.610442 -0.198345 -0.118028 +-0.607273 -0.12908 -0.15443 +-0.586302 -0.190501 -0.0991314 + +-0.607273 -0.12908 -0.15443 +-0.610442 -0.198345 -0.118028 +-0.644459 -0.136984 -0.170829 + +-0.638076 -0.207323 -0.130561 +-0.644459 -0.136984 -0.170829 +-0.610442 -0.198345 -0.118028 + +-0.644459 -0.136984 -0.170829 +-0.638076 -0.207323 -0.130561 +-0.684343 -0.145462 -0.178019 + +-0.667714 -0.216953 -0.136056 +-0.684343 -0.145462 -0.178019 +-0.638076 -0.207323 -0.130561 + +-0.684343 -0.145462 -0.178019 +-0.667714 -0.216953 -0.136056 +-0.724773 -0.154055 -0.175612 + +-0.697758 -0.226715 -0.134216 +-0.724773 -0.154055 -0.175612 +-0.667714 -0.216953 -0.136056 + +-0.724773 -0.154055 -0.175612 +-0.697758 -0.226715 -0.134216 +-0.763571 -0.162302 -0.163737 + +-0.726589 -0.236083 -0.125141 +-0.763571 -0.162302 -0.163737 +-0.697758 -0.226715 -0.134216 + +-0.763571 -0.162302 -0.163737 +-0.726589 -0.236083 -0.125141 +-0.798644 -0.169757 -0.143035 + +-0.752652 -0.244551 -0.109319 +-0.798644 -0.169757 -0.143035 +-0.726589 -0.236083 -0.125141 + +-0.798644 -0.169757 -0.143035 +-0.752652 -0.244551 -0.109319 +-0.828101 -0.176018 -0.114622 + +-0.774542 -0.251664 -0.0876034 +-0.828101 -0.176018 -0.114622 +-0.752652 -0.244551 -0.109319 + +-0.828101 -0.176018 -0.114622 +-0.774542 -0.251664 -0.0876034 +-0.850356 -0.180749 -0.0800302 + +-0.79108 -0.257037 -0.0611654 +-0.850356 -0.180749 -0.0800302 +-0.774542 -0.251664 -0.0876034 + +-0.850356 -0.180749 -0.0800302 +-0.79108 -0.257037 -0.0611654 +-0.864207 -0.183693 -0.0411236 + +-0.801373 -0.260382 -0.0314299 +-0.864207 -0.183693 -0.0411236 +-0.79108 -0.257037 -0.0611654 + +-0.864207 -0.183693 -0.0411236 +-0.801373 -0.260382 -0.0314299 +-0.868909 -0.184692 0 + +-0.804867 -0.261517 0 +-0.868909 -0.184692 0 +-0.801373 -0.260382 -0.0314299 + +-0.804867 -0.261517 0 +-0.748467 -0.333239 0 +-0.801373 -0.260382 0.0314299 + +-0.745776 -0.332041 0.0252061 +-0.801373 -0.260382 0.0314299 +-0.748467 -0.333239 0 + +-0.801373 -0.260382 0.0314299 +-0.745776 -0.332041 0.0252061 +-0.79108 -0.257037 0.0611654 + +-0.737846 -0.32851 0.0490534 +-0.79108 -0.257037 0.0611654 +-0.745776 -0.332041 0.0252061 + +-0.79108 -0.257037 0.0611654 +-0.737846 -0.32851 0.0490534 +-0.774542 -0.251664 0.0876034 + +-0.725107 -0.322838 0.0702562 +-0.774542 -0.251664 0.0876034 +-0.737846 -0.32851 0.0490534 + +-0.774542 -0.251664 0.0876034 +-0.725107 -0.322838 0.0702562 +-0.752652 -0.244551 0.109319 + +-0.708243 -0.31533 0.0876715 +-0.752652 -0.244551 0.109319 +-0.725107 -0.322838 0.0702562 + +-0.752652 -0.244551 0.109319 +-0.708243 -0.31533 0.0876715 +-0.726589 -0.236083 0.125141 + +-0.688166 -0.306391 0.10036 +-0.726589 -0.236083 0.125141 +-0.708243 -0.31533 0.0876715 + +-0.726589 -0.236083 0.125141 +-0.688166 -0.306391 0.10036 +-0.697758 -0.226715 0.134216 + +-0.665956 -0.296503 0.107639 +-0.697758 -0.226715 0.134216 +-0.688166 -0.306391 0.10036 + +-0.697758 -0.226715 0.134216 +-0.665956 -0.296503 0.107639 +-0.667714 -0.216953 0.136056 + +-0.642812 -0.286198 0.109114 +-0.667714 -0.216953 0.136056 +-0.665956 -0.296503 0.107639 + +-0.667714 -0.216953 0.136056 +-0.642812 -0.286198 0.109114 +-0.638076 -0.207323 0.130561 + +-0.61998 -0.276033 0.104708 +-0.638076 -0.207323 0.130561 +-0.642812 -0.286198 0.109114 + +-0.638076 -0.207323 0.130561 +-0.61998 -0.276033 0.104708 +-0.610442 -0.198345 0.118028 + +-0.598692 -0.266555 0.0946559 +-0.610442 -0.198345 0.118028 +-0.61998 -0.276033 0.104708 + +-0.610442 -0.198345 0.118028 +-0.598692 -0.266555 0.0946559 +-0.586302 -0.190501 0.0991314 + +-0.580096 -0.258275 0.0795014 +-0.586302 -0.190501 0.0991314 +-0.598692 -0.266555 0.0946559 + +-0.586302 -0.190501 0.0991314 +-0.580096 -0.258275 0.0795014 +-0.566957 -0.184216 0.0748908 + +-0.565194 -0.251641 0.0600609 +-0.566957 -0.184216 0.0748908 +-0.580096 -0.258275 0.0795014 + +-0.566957 -0.184216 0.0748908 +-0.565194 -0.251641 0.0600609 +-0.553451 -0.179827 0.0466128 + +-0.554789 -0.247008 0.0373825 +-0.553451 -0.179827 0.0466128 +-0.565194 -0.251641 0.0600609 + +-0.553451 -0.179827 0.0466128 +-0.554789 -0.247008 0.0373825 +-0.54651 -0.177572 0.0158219 + +-0.549443 -0.244628 0.0126889 +-0.54651 -0.177572 0.0158219 +-0.554789 -0.247008 0.0373825 + +-0.54651 -0.177572 0.0158219 +-0.549443 -0.244628 0.0126889 +-0.54651 -0.177572 -0.0158219 + +-0.549443 -0.244628 -0.0126889 +-0.54651 -0.177572 -0.0158219 +-0.549443 -0.244628 0.0126889 + +-0.54651 -0.177572 -0.0158219 +-0.549443 -0.244628 -0.0126889 +-0.553451 -0.179827 -0.0466128 + +-0.554789 -0.247008 -0.0373825 +-0.553451 -0.179827 -0.0466128 +-0.549443 -0.244628 -0.0126889 + +-0.553451 -0.179827 -0.0466128 +-0.554789 -0.247008 -0.0373825 +-0.566957 -0.184216 -0.0748908 + +-0.565194 -0.251641 -0.0600609 +-0.566957 -0.184216 -0.0748908 +-0.554789 -0.247008 -0.0373825 + +-0.566957 -0.184216 -0.0748908 +-0.565194 -0.251641 -0.0600609 +-0.586302 -0.190501 -0.0991314 + +-0.580096 -0.258275 -0.0795014 +-0.586302 -0.190501 -0.0991314 +-0.565194 -0.251641 -0.0600609 + +-0.586302 -0.190501 -0.0991314 +-0.580096 -0.258275 -0.0795014 +-0.610442 -0.198345 -0.118028 + +-0.598692 -0.266555 -0.0946559 +-0.610442 -0.198345 -0.118028 +-0.580096 -0.258275 -0.0795014 + +-0.610442 -0.198345 -0.118028 +-0.598692 -0.266555 -0.0946559 +-0.638076 -0.207323 -0.130561 + +-0.61998 -0.276033 -0.104708 +-0.638076 -0.207323 -0.130561 +-0.598692 -0.266555 -0.0946559 + +-0.638076 -0.207323 -0.130561 +-0.61998 -0.276033 -0.104708 +-0.667714 -0.216953 -0.136056 + +-0.642812 -0.286198 -0.109114 +-0.667714 -0.216953 -0.136056 +-0.61998 -0.276033 -0.104708 + +-0.667714 -0.216953 -0.136056 +-0.642812 -0.286198 -0.109114 +-0.697758 -0.226715 -0.134216 + +-0.665956 -0.296503 -0.107639 +-0.697758 -0.226715 -0.134216 +-0.642812 -0.286198 -0.109114 + +-0.697758 -0.226715 -0.134216 +-0.665956 -0.296503 -0.107639 +-0.726589 -0.236083 -0.125141 + +-0.688166 -0.306391 -0.10036 +-0.726589 -0.236083 -0.125141 +-0.665956 -0.296503 -0.107639 + +-0.726589 -0.236083 -0.125141 +-0.688166 -0.306391 -0.10036 +-0.752652 -0.244551 -0.109319 + +-0.708243 -0.31533 -0.0876715 +-0.752652 -0.244551 -0.109319 +-0.688166 -0.306391 -0.10036 + +-0.752652 -0.244551 -0.109319 +-0.708243 -0.31533 -0.0876715 +-0.774542 -0.251664 -0.0876034 + +-0.725107 -0.322838 -0.0702562 +-0.774542 -0.251664 -0.0876034 +-0.708243 -0.31533 -0.0876715 + +-0.774542 -0.251664 -0.0876034 +-0.725107 -0.322838 -0.0702562 +-0.79108 -0.257037 -0.0611654 + +-0.737846 -0.32851 -0.0490534 +-0.79108 -0.257037 -0.0611654 +-0.725107 -0.322838 -0.0702562 + +-0.79108 -0.257037 -0.0611654 +-0.737846 -0.32851 -0.0490534 +-0.801373 -0.260382 -0.0314299 + +-0.745776 -0.332041 -0.0252061 +-0.801373 -0.260382 -0.0314299 +-0.737846 -0.32851 -0.0490534 + +-0.801373 -0.260382 -0.0314299 +-0.745776 -0.332041 -0.0252061 +-0.804867 -0.261517 0 + +-0.748467 -0.333239 0 +-0.804867 -0.261517 0 +-0.745776 -0.332041 -0.0252061 + +-0.748467 -0.333239 0 +-0.701481 -0.405 0 +-0.745776 -0.332041 0.0252061 + +-0.699146 -0.403652 0.0230616 +-0.745776 -0.332041 0.0252061 +-0.701481 -0.405 0 + +-0.745776 -0.332041 0.0252061 +-0.699146 -0.403652 0.0230616 +-0.737846 -0.32851 0.0490534 + +-0.692269 -0.399682 0.0448799 +-0.737846 -0.32851 0.0490534 +-0.699146 -0.403652 0.0230616 + +-0.737846 -0.32851 0.0490534 +-0.692269 -0.399682 0.0448799 +-0.725107 -0.322838 0.0702562 + +-0.681219 -0.393302 0.0642788 +-0.725107 -0.322838 0.0702562 +-0.692269 -0.399682 0.0448799 + +-0.725107 -0.322838 0.0702562 +-0.681219 -0.393302 0.0642788 +-0.708243 -0.31533 0.0876715 + +-0.666593 -0.384858 0.0802123 +-0.708243 -0.31533 0.0876715 +-0.681219 -0.393302 0.0642788 + +-0.708243 -0.31533 0.0876715 +-0.666593 -0.384858 0.0802123 +-0.688166 -0.306391 0.10036 + +-0.64918 -0.374804 0.0918216 +-0.688166 -0.306391 0.10036 +-0.666593 -0.384858 0.0802123 + +-0.688166 -0.306391 0.10036 +-0.64918 -0.374804 0.0918216 +-0.665956 -0.296503 0.107639 + +-0.629916 -0.363682 0.0984808 +-0.665956 -0.296503 0.107639 +-0.64918 -0.374804 0.0918216 + +-0.665956 -0.296503 0.107639 +-0.629916 -0.363682 0.0984808 +-0.642812 -0.286198 0.109114 + +-0.609843 -0.352093 0.0998308 +-0.642812 -0.286198 0.109114 +-0.629916 -0.363682 0.0984808 + +-0.642812 -0.286198 0.109114 +-0.609843 -0.352093 0.0998308 +-0.61998 -0.276033 0.104708 + +-0.59004 -0.34066 0.095799 +-0.61998 -0.276033 0.104708 +-0.609843 -0.352093 0.0998308 + +-0.61998 -0.276033 0.104708 +-0.59004 -0.34066 0.095799 +-0.598692 -0.266555 0.0946559 + +-0.571577 -0.33 0.0866025 +-0.598692 -0.266555 0.0946559 +-0.59004 -0.34066 0.095799 + +-0.598692 -0.266555 0.0946559 +-0.571577 -0.33 0.0866025 +-0.580096 -0.258275 0.0795014 + +-0.555448 -0.320688 0.0727374 +-0.580096 -0.258275 0.0795014 +-0.571577 -0.33 0.0866025 + +-0.580096 -0.258275 0.0795014 +-0.555448 -0.320688 0.0727374 +-0.565194 -0.251641 0.0600609 + +-0.542523 -0.313226 0.0549509 +-0.565194 -0.251641 0.0600609 +-0.555448 -0.320688 0.0727374 + +-0.565194 -0.251641 0.0600609 +-0.542523 -0.313226 0.0549509 +-0.554789 -0.247008 0.0373825 + +-0.533498 -0.308015 0.034202 +-0.554789 -0.247008 0.0373825 +-0.542523 -0.313226 0.0549509 + +-0.554789 -0.247008 0.0373825 +-0.533498 -0.308015 0.034202 +-0.549443 -0.244628 0.0126889 + +-0.528861 -0.305338 0.0116093 +-0.549443 -0.244628 0.0126889 +-0.533498 -0.308015 0.034202 + +-0.549443 -0.244628 0.0126889 +-0.528861 -0.305338 0.0116093 +-0.549443 -0.244628 -0.0126889 + +-0.528861 -0.305338 -0.0116093 +-0.549443 -0.244628 -0.0126889 +-0.528861 -0.305338 0.0116093 + +-0.549443 -0.244628 -0.0126889 +-0.528861 -0.305338 -0.0116093 +-0.554789 -0.247008 -0.0373825 + +-0.533498 -0.308015 -0.034202 +-0.554789 -0.247008 -0.0373825 +-0.528861 -0.305338 -0.0116093 + +-0.554789 -0.247008 -0.0373825 +-0.533498 -0.308015 -0.034202 +-0.565194 -0.251641 -0.0600609 + +-0.542523 -0.313226 -0.0549509 +-0.565194 -0.251641 -0.0600609 +-0.533498 -0.308015 -0.034202 + +-0.565194 -0.251641 -0.0600609 +-0.542523 -0.313226 -0.0549509 +-0.580096 -0.258275 -0.0795014 + +-0.555448 -0.320688 -0.0727374 +-0.580096 -0.258275 -0.0795014 +-0.542523 -0.313226 -0.0549509 + +-0.580096 -0.258275 -0.0795014 +-0.555448 -0.320688 -0.0727374 +-0.598692 -0.266555 -0.0946559 + +-0.571577 -0.33 -0.0866025 +-0.598692 -0.266555 -0.0946559 +-0.555448 -0.320688 -0.0727374 + +-0.598692 -0.266555 -0.0946559 +-0.571577 -0.33 -0.0866025 +-0.61998 -0.276033 -0.104708 + +-0.59004 -0.34066 -0.095799 +-0.61998 -0.276033 -0.104708 +-0.571577 -0.33 -0.0866025 + +-0.61998 -0.276033 -0.104708 +-0.59004 -0.34066 -0.095799 +-0.642812 -0.286198 -0.109114 + +-0.609843 -0.352093 -0.0998308 +-0.642812 -0.286198 -0.109114 +-0.59004 -0.34066 -0.095799 + +-0.642812 -0.286198 -0.109114 +-0.609843 -0.352093 -0.0998308 +-0.665956 -0.296503 -0.107639 + +-0.629916 -0.363682 -0.0984808 +-0.665956 -0.296503 -0.107639 +-0.609843 -0.352093 -0.0998308 + +-0.665956 -0.296503 -0.107639 +-0.629916 -0.363682 -0.0984808 +-0.688166 -0.306391 -0.10036 + +-0.64918 -0.374804 -0.0918216 +-0.688166 -0.306391 -0.10036 +-0.629916 -0.363682 -0.0984808 + +-0.688166 -0.306391 -0.10036 +-0.64918 -0.374804 -0.0918216 +-0.708243 -0.31533 -0.0876715 + +-0.666593 -0.384858 -0.0802123 +-0.708243 -0.31533 -0.0876715 +-0.64918 -0.374804 -0.0918216 + +-0.708243 -0.31533 -0.0876715 +-0.666593 -0.384858 -0.0802123 +-0.725107 -0.322838 -0.0702562 + +-0.681219 -0.393302 -0.0642788 +-0.725107 -0.322838 -0.0702562 +-0.666593 -0.384858 -0.0802123 + +-0.725107 -0.322838 -0.0702562 +-0.681219 -0.393302 -0.0642788 +-0.737846 -0.32851 -0.0490534 + +-0.692269 -0.399682 -0.0448799 +-0.737846 -0.32851 -0.0490534 +-0.681219 -0.393302 -0.0642788 + +-0.737846 -0.32851 -0.0490534 +-0.692269 -0.399682 -0.0448799 +-0.745776 -0.332041 -0.0252061 + +-0.699146 -0.403652 -0.0230616 +-0.745776 -0.332041 -0.0252061 +-0.692269 -0.399682 -0.0448799 + +-0.745776 -0.332041 -0.0252061 +-0.699146 -0.403652 -0.0230616 +-0.748467 -0.333239 0 + +-0.701481 -0.405 0 +-0.748467 -0.333239 0 +-0.699146 -0.403652 -0.0230616 + +-0.701481 -0.405 0 +-0.662827 -0.481572 0 +-0.699146 -0.403652 0.0230616 + +-0.660444 -0.47984 0.0252061 +-0.699146 -0.403652 0.0230616 +-0.662827 -0.481572 0 + +-0.699146 -0.403652 0.0230616 +-0.660444 -0.47984 0.0252061 +-0.692269 -0.399682 0.0448799 + +-0.653421 -0.474739 0.0490534 +-0.692269 -0.399682 0.0448799 +-0.660444 -0.47984 0.0252061 + +-0.692269 -0.399682 0.0448799 +-0.653421 -0.474739 0.0490534 +-0.681219 -0.393302 0.0642788 + +-0.64214 -0.466542 0.0702562 +-0.681219 -0.393302 0.0642788 +-0.653421 -0.474739 0.0490534 + +-0.681219 -0.393302 0.0642788 +-0.64214 -0.466542 0.0702562 +-0.666593 -0.384858 0.0802123 + +-0.627206 -0.455692 0.0876715 +-0.666593 -0.384858 0.0802123 +-0.64214 -0.466542 0.0702562 + +-0.666593 -0.384858 0.0802123 +-0.627206 -0.455692 0.0876715 +-0.64918 -0.374804 0.0918216 + +-0.609425 -0.442773 0.10036 +-0.64918 -0.374804 0.0918216 +-0.627206 -0.455692 0.0876715 + +-0.64918 -0.374804 0.0918216 +-0.609425 -0.442773 0.10036 +-0.629916 -0.363682 0.0984808 + +-0.589757 -0.428483 0.107639 +-0.629916 -0.363682 0.0984808 +-0.609425 -0.442773 0.10036 + +-0.629916 -0.363682 0.0984808 +-0.589757 -0.428483 0.107639 +-0.609843 -0.352093 0.0998308 + +-0.569261 -0.413592 0.109114 +-0.609843 -0.352093 0.0998308 +-0.589757 -0.428483 0.107639 + +-0.609843 -0.352093 0.0998308 +-0.569261 -0.413592 0.109114 +-0.59004 -0.34066 0.095799 + +-0.549042 -0.398902 0.104708 +-0.59004 -0.34066 0.095799 +-0.569261 -0.413592 0.109114 + +-0.59004 -0.34066 0.095799 +-0.549042 -0.398902 0.104708 +-0.571577 -0.33 0.0866025 + +-0.53019 -0.385205 0.0946559 +-0.571577 -0.33 0.0866025 +-0.549042 -0.398902 0.104708 + +-0.571577 -0.33 0.0866025 +-0.53019 -0.385205 0.0946559 +-0.555448 -0.320688 0.0727374 + +-0.513721 -0.37324 0.0795014 +-0.555448 -0.320688 0.0727374 +-0.53019 -0.385205 0.0946559 + +-0.555448 -0.320688 0.0727374 +-0.513721 -0.37324 0.0795014 +-0.542523 -0.313226 0.0549509 + +-0.500524 -0.363652 0.0600609 +-0.542523 -0.313226 0.0549509 +-0.513721 -0.37324 0.0795014 + +-0.542523 -0.313226 0.0549509 +-0.500524 -0.363652 0.0600609 +-0.533498 -0.308015 0.034202 + +-0.49131 -0.356957 0.0373825 +-0.533498 -0.308015 0.034202 +-0.500524 -0.363652 0.0600609 + +-0.533498 -0.308015 0.034202 +-0.49131 -0.356957 0.0373825 +-0.528861 -0.305338 0.0116093 + +-0.486575 -0.353517 0.0126889 +-0.528861 -0.305338 0.0116093 +-0.49131 -0.356957 0.0373825 + +-0.528861 -0.305338 0.0116093 +-0.486575 -0.353517 0.0126889 +-0.528861 -0.305338 -0.0116093 + +-0.486575 -0.353517 -0.0126889 +-0.528861 -0.305338 -0.0116093 +-0.486575 -0.353517 0.0126889 + +-0.528861 -0.305338 -0.0116093 +-0.486575 -0.353517 -0.0126889 +-0.533498 -0.308015 -0.034202 + +-0.49131 -0.356957 -0.0373825 +-0.533498 -0.308015 -0.034202 +-0.486575 -0.353517 -0.0126889 + +-0.533498 -0.308015 -0.034202 +-0.49131 -0.356957 -0.0373825 +-0.542523 -0.313226 -0.0549509 + +-0.500524 -0.363652 -0.0600609 +-0.542523 -0.313226 -0.0549509 +-0.49131 -0.356957 -0.0373825 + +-0.542523 -0.313226 -0.0549509 +-0.500524 -0.363652 -0.0600609 +-0.555448 -0.320688 -0.0727374 + +-0.513721 -0.37324 -0.0795014 +-0.555448 -0.320688 -0.0727374 +-0.500524 -0.363652 -0.0600609 + +-0.555448 -0.320688 -0.0727374 +-0.513721 -0.37324 -0.0795014 +-0.571577 -0.33 -0.0866025 + +-0.53019 -0.385205 -0.0946559 +-0.571577 -0.33 -0.0866025 +-0.513721 -0.37324 -0.0795014 + +-0.571577 -0.33 -0.0866025 +-0.53019 -0.385205 -0.0946559 +-0.59004 -0.34066 -0.095799 + +-0.549042 -0.398902 -0.104708 +-0.59004 -0.34066 -0.095799 +-0.53019 -0.385205 -0.0946559 + +-0.59004 -0.34066 -0.095799 +-0.549042 -0.398902 -0.104708 +-0.609843 -0.352093 -0.0998308 + +-0.569261 -0.413592 -0.109114 +-0.609843 -0.352093 -0.0998308 +-0.549042 -0.398902 -0.104708 + +-0.609843 -0.352093 -0.0998308 +-0.569261 -0.413592 -0.109114 +-0.629916 -0.363682 -0.0984808 + +-0.589757 -0.428483 -0.107639 +-0.629916 -0.363682 -0.0984808 +-0.569261 -0.413592 -0.109114 + +-0.629916 -0.363682 -0.0984808 +-0.589757 -0.428483 -0.107639 +-0.64918 -0.374804 -0.0918216 + +-0.609425 -0.442773 -0.10036 +-0.64918 -0.374804 -0.0918216 +-0.589757 -0.428483 -0.107639 + +-0.64918 -0.374804 -0.0918216 +-0.609425 -0.442773 -0.10036 +-0.666593 -0.384858 -0.0802123 + +-0.627206 -0.455692 -0.0876715 +-0.666593 -0.384858 -0.0802123 +-0.609425 -0.442773 -0.10036 + +-0.666593 -0.384858 -0.0802123 +-0.627206 -0.455692 -0.0876715 +-0.681219 -0.393302 -0.0642788 + +-0.64214 -0.466542 -0.0702562 +-0.681219 -0.393302 -0.0642788 +-0.627206 -0.455692 -0.0876715 + +-0.681219 -0.393302 -0.0642788 +-0.64214 -0.466542 -0.0702562 +-0.692269 -0.399682 -0.0448799 + +-0.653421 -0.474739 -0.0490534 +-0.692269 -0.399682 -0.0448799 +-0.64214 -0.466542 -0.0702562 + +-0.692269 -0.399682 -0.0448799 +-0.653421 -0.474739 -0.0490534 +-0.699146 -0.403652 -0.0230616 + +-0.660444 -0.47984 -0.0252061 +-0.699146 -0.403652 -0.0230616 +-0.653421 -0.474739 -0.0490534 + +-0.699146 -0.403652 -0.0230616 +-0.660444 -0.47984 -0.0252061 +-0.701481 -0.405 0 + +-0.662827 -0.481572 0 +-0.701481 -0.405 0 +-0.660444 -0.47984 -0.0252061 + +-0.662827 -0.481572 0 +-0.628914 -0.566276 0 +-0.660444 -0.47984 0.0252061 + +-0.626184 -0.563818 0.0314299 +-0.660444 -0.47984 0.0252061 +-0.628914 -0.566276 0 + +-0.660444 -0.47984 0.0252061 +-0.626184 -0.563818 0.0314299 +-0.653421 -0.474739 0.0490534 + +-0.618141 -0.556576 0.0611654 +-0.653421 -0.474739 0.0490534 +-0.626184 -0.563818 0.0314299 + +-0.653421 -0.474739 0.0490534 +-0.618141 -0.556576 0.0611654 +-0.64214 -0.466542 0.0702562 + +-0.605218 -0.544941 0.0876034 +-0.64214 -0.466542 0.0702562 +-0.618141 -0.556576 0.0611654 + +-0.64214 -0.466542 0.0702562 +-0.605218 -0.544941 0.0876034 +-0.627206 -0.455692 0.0876715 + +-0.588114 -0.52954 0.109319 +-0.627206 -0.455692 0.0876715 +-0.605218 -0.544941 0.0876034 + +-0.627206 -0.455692 0.0876715 +-0.588114 -0.52954 0.109319 +-0.609425 -0.442773 0.10036 + +-0.567748 -0.511203 0.125141 +-0.609425 -0.442773 0.10036 +-0.588114 -0.52954 0.109319 + +-0.609425 -0.442773 0.10036 +-0.567748 -0.511203 0.125141 +-0.589757 -0.428483 0.107639 + +-0.54522 -0.490918 0.134216 +-0.589757 -0.428483 0.107639 +-0.567748 -0.511203 0.125141 + +-0.589757 -0.428483 0.107639 +-0.54522 -0.490918 0.134216 +-0.569261 -0.413592 0.109114 + +-0.521744 -0.46978 0.136056 +-0.569261 -0.413592 0.109114 +-0.54522 -0.490918 0.134216 + +-0.569261 -0.413592 0.109114 +-0.521744 -0.46978 0.136056 +-0.549042 -0.398902 0.104708 + +-0.498585 -0.448928 0.130561 +-0.549042 -0.398902 0.104708 +-0.521744 -0.46978 0.136056 + +-0.549042 -0.398902 0.104708 +-0.498585 -0.448928 0.130561 +-0.53019 -0.385205 0.0946559 + +-0.476992 -0.429486 0.118028 +-0.53019 -0.385205 0.0946559 +-0.498585 -0.448928 0.130561 + +-0.53019 -0.385205 0.0946559 +-0.476992 -0.429486 0.118028 +-0.513721 -0.37324 0.0795014 + +-0.45813 -0.412502 0.0991314 +-0.513721 -0.37324 0.0795014 +-0.476992 -0.429486 0.118028 + +-0.513721 -0.37324 0.0795014 +-0.45813 -0.412502 0.0991314 +-0.500524 -0.363652 0.0600609 + +-0.443014 -0.398892 0.0748908 +-0.500524 -0.363652 0.0600609 +-0.45813 -0.412502 0.0991314 + +-0.500524 -0.363652 0.0600609 +-0.443014 -0.398892 0.0748908 +-0.49131 -0.356957 0.0373825 + +-0.43246 -0.389389 0.0466128 +-0.49131 -0.356957 0.0373825 +-0.443014 -0.398892 0.0748908 + +-0.49131 -0.356957 0.0373825 +-0.43246 -0.389389 0.0466128 +-0.486575 -0.353517 0.0126889 + +-0.427037 -0.384506 0.0158219 +-0.486575 -0.353517 0.0126889 +-0.43246 -0.389389 0.0466128 + +-0.486575 -0.353517 0.0126889 +-0.427037 -0.384506 0.0158219 +-0.486575 -0.353517 -0.0126889 + +-0.427037 -0.384506 -0.0158219 +-0.486575 -0.353517 -0.0126889 +-0.427037 -0.384506 0.0158219 + +-0.486575 -0.353517 -0.0126889 +-0.427037 -0.384506 -0.0158219 +-0.49131 -0.356957 -0.0373825 + +-0.43246 -0.389389 -0.0466128 +-0.49131 -0.356957 -0.0373825 +-0.427037 -0.384506 -0.0158219 + +-0.49131 -0.356957 -0.0373825 +-0.43246 -0.389389 -0.0466128 +-0.500524 -0.363652 -0.0600609 + +-0.443014 -0.398892 -0.0748908 +-0.500524 -0.363652 -0.0600609 +-0.43246 -0.389389 -0.0466128 + +-0.500524 -0.363652 -0.0600609 +-0.443014 -0.398892 -0.0748908 +-0.513721 -0.37324 -0.0795014 + +-0.45813 -0.412502 -0.0991314 +-0.513721 -0.37324 -0.0795014 +-0.443014 -0.398892 -0.0748908 + +-0.513721 -0.37324 -0.0795014 +-0.45813 -0.412502 -0.0991314 +-0.53019 -0.385205 -0.0946559 + +-0.476992 -0.429486 -0.118028 +-0.53019 -0.385205 -0.0946559 +-0.45813 -0.412502 -0.0991314 + +-0.53019 -0.385205 -0.0946559 +-0.476992 -0.429486 -0.118028 +-0.549042 -0.398902 -0.104708 + +-0.498585 -0.448928 -0.130561 +-0.549042 -0.398902 -0.104708 +-0.476992 -0.429486 -0.118028 + +-0.549042 -0.398902 -0.104708 +-0.498585 -0.448928 -0.130561 +-0.569261 -0.413592 -0.109114 + +-0.521744 -0.46978 -0.136056 +-0.569261 -0.413592 -0.109114 +-0.498585 -0.448928 -0.130561 + +-0.569261 -0.413592 -0.109114 +-0.521744 -0.46978 -0.136056 +-0.589757 -0.428483 -0.107639 + +-0.54522 -0.490918 -0.134216 +-0.589757 -0.428483 -0.107639 +-0.521744 -0.46978 -0.136056 + +-0.589757 -0.428483 -0.107639 +-0.54522 -0.490918 -0.134216 +-0.609425 -0.442773 -0.10036 + +-0.567748 -0.511203 -0.125141 +-0.609425 -0.442773 -0.10036 +-0.54522 -0.490918 -0.134216 + +-0.609425 -0.442773 -0.10036 +-0.567748 -0.511203 -0.125141 +-0.627206 -0.455692 -0.0876715 + +-0.588114 -0.52954 -0.109319 +-0.627206 -0.455692 -0.0876715 +-0.567748 -0.511203 -0.125141 + +-0.627206 -0.455692 -0.0876715 +-0.588114 -0.52954 -0.109319 +-0.64214 -0.466542 -0.0702562 + +-0.605218 -0.544941 -0.0876034 +-0.64214 -0.466542 -0.0702562 +-0.588114 -0.52954 -0.109319 + +-0.64214 -0.466542 -0.0702562 +-0.605218 -0.544941 -0.0876034 +-0.653421 -0.474739 -0.0490534 + +-0.618141 -0.556576 -0.0611654 +-0.653421 -0.474739 -0.0490534 +-0.605218 -0.544941 -0.0876034 + +-0.653421 -0.474739 -0.0490534 +-0.618141 -0.556576 -0.0611654 +-0.660444 -0.47984 -0.0252061 + +-0.626184 -0.563818 -0.0314299 +-0.660444 -0.47984 -0.0252061 +-0.618141 -0.556576 -0.0611654 + +-0.660444 -0.47984 -0.0252061 +-0.626184 -0.563818 -0.0314299 +-0.662827 -0.481572 0 + +-0.628914 -0.566276 0 +-0.662827 -0.481572 0 +-0.626184 -0.563818 -0.0314299 + +-0.628914 -0.566276 0 +-0.594403 -0.660151 0 +-0.626184 -0.563818 0.0314299 + +-0.591186 -0.656579 0.0411236 +-0.626184 -0.563818 0.0314299 +-0.594403 -0.660151 0 + +-0.626184 -0.563818 0.0314299 +-0.591186 -0.656579 0.0411236 +-0.618141 -0.556576 0.0611654 + +-0.581711 -0.646055 0.0800302 +-0.618141 -0.556576 0.0611654 +-0.591186 -0.656579 0.0411236 + +-0.618141 -0.556576 0.0611654 +-0.581711 -0.646055 0.0800302 +-0.605218 -0.544941 0.0876034 + +-0.566487 -0.629148 0.114622 +-0.605218 -0.544941 0.0876034 +-0.581711 -0.646055 0.0800302 + +-0.605218 -0.544941 0.0876034 +-0.566487 -0.629148 0.114622 +-0.588114 -0.52954 0.109319 + +-0.546336 -0.606767 0.143035 +-0.588114 -0.52954 0.109319 +-0.566487 -0.629148 0.114622 + +-0.588114 -0.52954 0.109319 +-0.546336 -0.606767 0.143035 +-0.567748 -0.511203 0.125141 + +-0.522343 -0.580121 0.163737 +-0.567748 -0.511203 0.125141 +-0.546336 -0.606767 0.143035 + +-0.567748 -0.511203 0.125141 +-0.522343 -0.580121 0.163737 +-0.54522 -0.490918 0.134216 + +-0.495802 -0.550644 0.175612 +-0.54522 -0.490918 0.134216 +-0.522343 -0.580121 0.163737 + +-0.54522 -0.490918 0.134216 +-0.495802 -0.550644 0.175612 +-0.521744 -0.46978 0.136056 + +-0.468145 -0.519928 0.178019 +-0.521744 -0.46978 0.136056 +-0.495802 -0.550644 0.175612 + +-0.521744 -0.46978 0.136056 +-0.468145 -0.519928 0.178019 +-0.498585 -0.448928 0.130561 + +-0.440861 -0.489626 0.170829 +-0.498585 -0.448928 0.130561 +-0.468145 -0.519928 0.178019 + +-0.498585 -0.448928 0.130561 +-0.440861 -0.489626 0.170829 +-0.476992 -0.429486 0.118028 + +-0.415423 -0.461374 0.15443 +-0.476992 -0.429486 0.118028 +-0.440861 -0.489626 0.170829 + +-0.476992 -0.429486 0.118028 +-0.415423 -0.461374 0.15443 +-0.45813 -0.412502 0.0991314 + +-0.3932 -0.436693 0.129706 +-0.45813 -0.412502 0.0991314 +-0.415423 -0.461374 0.15443 + +-0.45813 -0.412502 0.0991314 +-0.3932 -0.436693 0.129706 +-0.443014 -0.398892 0.0748908 + +-0.375392 -0.416916 0.0979889 +-0.443014 -0.398892 0.0748908 +-0.3932 -0.436693 0.129706 + +-0.443014 -0.398892 0.0748908 +-0.375392 -0.416916 0.0979889 +-0.43246 -0.389389 0.0466128 + +-0.362959 -0.403106 0.0609893 +-0.43246 -0.389389 0.0466128 +-0.375392 -0.416916 0.0979889 + +-0.43246 -0.389389 0.0466128 +-0.362959 -0.403106 0.0609893 +-0.427037 -0.384506 0.0158219 + +-0.35657 -0.396011 0.0207018 +-0.427037 -0.384506 0.0158219 +-0.362959 -0.403106 0.0609893 + +-0.427037 -0.384506 0.0158219 +-0.35657 -0.396011 0.0207018 +-0.427037 -0.384506 -0.0158219 + +-0.35657 -0.396011 -0.0207018 +-0.427037 -0.384506 -0.0158219 +-0.35657 -0.396011 0.0207018 + +-0.427037 -0.384506 -0.0158219 +-0.35657 -0.396011 -0.0207018 +-0.43246 -0.389389 -0.0466128 + +-0.362959 -0.403106 -0.0609893 +-0.43246 -0.389389 -0.0466128 +-0.35657 -0.396011 -0.0207018 + +-0.43246 -0.389389 -0.0466128 +-0.362959 -0.403106 -0.0609893 +-0.443014 -0.398892 -0.0748908 + +-0.375392 -0.416916 -0.0979889 +-0.443014 -0.398892 -0.0748908 +-0.362959 -0.403106 -0.0609893 + +-0.443014 -0.398892 -0.0748908 +-0.375392 -0.416916 -0.0979889 +-0.45813 -0.412502 -0.0991314 + +-0.3932 -0.436693 -0.129706 +-0.45813 -0.412502 -0.0991314 +-0.375392 -0.416916 -0.0979889 + +-0.45813 -0.412502 -0.0991314 +-0.3932 -0.436693 -0.129706 +-0.476992 -0.429486 -0.118028 + +-0.415423 -0.461374 -0.15443 +-0.476992 -0.429486 -0.118028 +-0.3932 -0.436693 -0.129706 + +-0.476992 -0.429486 -0.118028 +-0.415423 -0.461374 -0.15443 +-0.498585 -0.448928 -0.130561 + +-0.440861 -0.489626 -0.170829 +-0.498585 -0.448928 -0.130561 +-0.415423 -0.461374 -0.15443 + +-0.498585 -0.448928 -0.130561 +-0.440861 -0.489626 -0.170829 +-0.521744 -0.46978 -0.136056 + +-0.468145 -0.519928 -0.178019 +-0.521744 -0.46978 -0.136056 +-0.440861 -0.489626 -0.170829 + +-0.521744 -0.46978 -0.136056 +-0.468145 -0.519928 -0.178019 +-0.54522 -0.490918 -0.134216 + +-0.495802 -0.550644 -0.175612 +-0.54522 -0.490918 -0.134216 +-0.468145 -0.519928 -0.178019 + +-0.54522 -0.490918 -0.134216 +-0.495802 -0.550644 -0.175612 +-0.567748 -0.511203 -0.125141 + +-0.522343 -0.580121 -0.163737 +-0.567748 -0.511203 -0.125141 +-0.495802 -0.550644 -0.175612 + +-0.567748 -0.511203 -0.125141 +-0.522343 -0.580121 -0.163737 +-0.588114 -0.52954 -0.109319 + +-0.546336 -0.606767 -0.143035 +-0.588114 -0.52954 -0.109319 +-0.522343 -0.580121 -0.163737 + +-0.588114 -0.52954 -0.109319 +-0.546336 -0.606767 -0.143035 +-0.605218 -0.544941 -0.0876034 + +-0.566487 -0.629148 -0.114622 +-0.605218 -0.544941 -0.0876034 +-0.546336 -0.606767 -0.143035 + +-0.605218 -0.544941 -0.0876034 +-0.566487 -0.629148 -0.114622 +-0.618141 -0.556576 -0.0611654 + +-0.581711 -0.646055 -0.0800302 +-0.618141 -0.556576 -0.0611654 +-0.566487 -0.629148 -0.114622 + +-0.618141 -0.556576 -0.0611654 +-0.581711 -0.646055 -0.0800302 +-0.626184 -0.563818 -0.0314299 + +-0.591186 -0.656579 -0.0411236 +-0.626184 -0.563818 -0.0314299 +-0.581711 -0.646055 -0.0800302 + +-0.626184 -0.563818 -0.0314299 +-0.591186 -0.656579 -0.0411236 +-0.628914 -0.566276 0 + +-0.594403 -0.660151 0 +-0.628914 -0.566276 0 +-0.591186 -0.656579 -0.0411236 + +-0.594403 -0.660151 0 +-0.553274 -0.761517 0 +-0.591186 -0.656579 0.0411236 + +-0.54961 -0.756473 0.0533384 +-0.591186 -0.656579 0.0411236 +-0.553274 -0.761517 0 + +-0.591186 -0.656579 0.0411236 +-0.54961 -0.756473 0.0533384 +-0.581711 -0.646055 0.0800302 + +-0.538814 -0.741614 0.103801 +-0.581711 -0.646055 0.0800302 +-0.54961 -0.756473 0.0533384 + +-0.581711 -0.646055 0.0800302 +-0.538814 -0.741614 0.103801 +-0.566487 -0.629148 0.114622 + +-0.521469 -0.71774 0.148668 +-0.566487 -0.629148 0.114622 +-0.538814 -0.741614 0.103801 + +-0.566487 -0.629148 0.114622 +-0.521469 -0.71774 0.148668 +-0.546336 -0.606767 0.143035 + +-0.498509 -0.686139 0.18552 +-0.546336 -0.606767 0.143035 +-0.521469 -0.71774 0.148668 + +-0.546336 -0.606767 0.143035 +-0.498509 -0.686139 0.18552 +-0.522343 -0.580121 0.163737 + +-0.471173 -0.648515 0.212371 +-0.522343 -0.580121 0.163737 +-0.498509 -0.686139 0.18552 + +-0.522343 -0.580121 0.163737 +-0.471173 -0.648515 0.212371 +-0.495802 -0.550644 0.175612 + +-0.440934 -0.606894 0.227773 +-0.495802 -0.550644 0.175612 +-0.471173 -0.648515 0.212371 + +-0.495802 -0.550644 0.175612 +-0.440934 -0.606894 0.227773 +-0.468145 -0.519928 0.178019 + +-0.409423 -0.563522 0.230895 +-0.468145 -0.519928 0.178019 +-0.440934 -0.606894 0.227773 + +-0.468145 -0.519928 0.178019 +-0.409423 -0.563522 0.230895 +-0.440861 -0.489626 0.170829 + +-0.378338 -0.520737 0.22157 +-0.440861 -0.489626 0.170829 +-0.409423 -0.563522 0.230895 + +-0.440861 -0.489626 0.170829 +-0.378338 -0.520737 0.22157 +-0.415423 -0.461374 0.15443 + +-0.349354 -0.480845 0.2003 +-0.415423 -0.461374 0.15443 +-0.378338 -0.520737 0.22157 + +-0.415423 -0.461374 0.15443 +-0.349354 -0.480845 0.2003 +-0.3932 -0.436693 0.129706 + +-0.324035 -0.445996 0.168232 +-0.3932 -0.436693 0.129706 +-0.349354 -0.480845 0.2003 + +-0.3932 -0.436693 0.129706 +-0.324035 -0.445996 0.168232 +-0.375392 -0.416916 0.0979889 + +-0.303746 -0.41807 0.127094 +-0.375392 -0.416916 0.0979889 +-0.324035 -0.445996 0.168232 + +-0.375392 -0.416916 0.0979889 +-0.303746 -0.41807 0.127094 +-0.362959 -0.403106 0.0609893 + +-0.289579 -0.398572 0.0791047 +-0.362959 -0.403106 0.0609893 +-0.303746 -0.41807 0.127094 + +-0.362959 -0.403106 0.0609893 +-0.289579 -0.398572 0.0791047 +-0.35657 -0.396011 0.0207018 + +-0.2823 -0.388552 0.0268508 +-0.35657 -0.396011 0.0207018 +-0.289579 -0.398572 0.0791047 + +-0.35657 -0.396011 0.0207018 +-0.2823 -0.388552 0.0268508 +-0.35657 -0.396011 -0.0207018 + +-0.2823 -0.388552 -0.0268508 +-0.35657 -0.396011 -0.0207018 +-0.2823 -0.388552 0.0268508 + +-0.35657 -0.396011 -0.0207018 +-0.2823 -0.388552 -0.0268508 +-0.362959 -0.403106 -0.0609893 + +-0.289579 -0.398572 -0.0791047 +-0.362959 -0.403106 -0.0609893 +-0.2823 -0.388552 -0.0268508 + +-0.362959 -0.403106 -0.0609893 +-0.289579 -0.398572 -0.0791047 +-0.375392 -0.416916 -0.0979889 + +-0.303746 -0.41807 -0.127094 +-0.375392 -0.416916 -0.0979889 +-0.289579 -0.398572 -0.0791047 + +-0.375392 -0.416916 -0.0979889 +-0.303746 -0.41807 -0.127094 +-0.3932 -0.436693 -0.129706 + +-0.324035 -0.445996 -0.168232 +-0.3932 -0.436693 -0.129706 +-0.303746 -0.41807 -0.127094 + +-0.3932 -0.436693 -0.129706 +-0.324035 -0.445996 -0.168232 +-0.415423 -0.461374 -0.15443 + +-0.349354 -0.480845 -0.2003 +-0.415423 -0.461374 -0.15443 +-0.324035 -0.445996 -0.168232 + +-0.415423 -0.461374 -0.15443 +-0.349354 -0.480845 -0.2003 +-0.440861 -0.489626 -0.170829 + +-0.378338 -0.520737 -0.22157 +-0.440861 -0.489626 -0.170829 +-0.349354 -0.480845 -0.2003 + +-0.440861 -0.489626 -0.170829 +-0.378338 -0.520737 -0.22157 +-0.468145 -0.519928 -0.178019 + +-0.409423 -0.563522 -0.230895 +-0.468145 -0.519928 -0.178019 +-0.378338 -0.520737 -0.22157 + +-0.468145 -0.519928 -0.178019 +-0.409423 -0.563522 -0.230895 +-0.495802 -0.550644 -0.175612 + +-0.440934 -0.606894 -0.227773 +-0.495802 -0.550644 -0.175612 +-0.409423 -0.563522 -0.230895 + +-0.495802 -0.550644 -0.175612 +-0.440934 -0.606894 -0.227773 +-0.522343 -0.580121 -0.163737 + +-0.471173 -0.648515 -0.212371 +-0.522343 -0.580121 -0.163737 +-0.440934 -0.606894 -0.227773 + +-0.522343 -0.580121 -0.163737 +-0.471173 -0.648515 -0.212371 +-0.546336 -0.606767 -0.143035 + +-0.498509 -0.686139 -0.18552 +-0.546336 -0.606767 -0.143035 +-0.471173 -0.648515 -0.212371 + +-0.546336 -0.606767 -0.143035 +-0.498509 -0.686139 -0.18552 +-0.566487 -0.629148 -0.114622 + +-0.521469 -0.71774 -0.148668 +-0.566487 -0.629148 -0.114622 +-0.498509 -0.686139 -0.18552 + +-0.566487 -0.629148 -0.114622 +-0.521469 -0.71774 -0.148668 +-0.581711 -0.646055 -0.0800302 + +-0.538814 -0.741614 -0.103801 +-0.581711 -0.646055 -0.0800302 +-0.521469 -0.71774 -0.148668 + +-0.581711 -0.646055 -0.0800302 +-0.538814 -0.741614 -0.103801 +-0.591186 -0.656579 -0.0411236 + +-0.54961 -0.756473 -0.0533384 +-0.591186 -0.656579 -0.0411236 +-0.538814 -0.741614 -0.103801 + +-0.591186 -0.656579 -0.0411236 +-0.54961 -0.756473 -0.0533384 +-0.594403 -0.660151 0 + +-0.553274 -0.761517 0 +-0.594403 -0.660151 0 +-0.54961 -0.756473 -0.0533384 + +-0.553274 -0.761517 0 +-0.5 -0.866025 0 +-0.54961 -0.756473 0.0533384 + +-0.496092 -0.859256 0.0668786 +-0.54961 -0.756473 0.0533384 +-0.5 -0.866025 0 + +-0.54961 -0.756473 0.0533384 +-0.496092 -0.859256 0.0668786 +-0.538814 -0.741614 0.103801 + +-0.484577 -0.839312 0.130152 +-0.538814 -0.741614 0.103801 +-0.496092 -0.859256 0.0668786 + +-0.538814 -0.741614 0.103801 +-0.484577 -0.839312 0.130152 +-0.521469 -0.71774 0.148668 + +-0.466076 -0.807268 0.186408 +-0.521469 -0.71774 0.148668 +-0.484577 -0.839312 0.130152 + +-0.521469 -0.71774 0.148668 +-0.466076 -0.807268 0.186408 +-0.498509 -0.686139 0.18552 + +-0.441588 -0.764853 0.232616 +-0.498509 -0.686139 0.18552 +-0.466076 -0.807268 0.186408 + +-0.498509 -0.686139 0.18552 +-0.441588 -0.764853 0.232616 +-0.471173 -0.648515 0.212371 + +-0.412432 -0.714352 0.266283 +-0.471173 -0.648515 0.212371 +-0.441588 -0.764853 0.232616 + +-0.471173 -0.648515 0.212371 +-0.412432 -0.714352 0.266283 +-0.440934 -0.606894 0.227773 + +-0.380179 -0.658489 0.285594 +-0.440934 -0.606894 0.227773 +-0.412432 -0.714352 0.266283 + +-0.440934 -0.606894 0.227773 +-0.380179 -0.658489 0.285594 +-0.409423 -0.563522 0.230895 + +-0.346569 -0.600275 0.289509 +-0.409423 -0.563522 0.230895 +-0.380179 -0.658489 0.285594 + +-0.409423 -0.563522 0.230895 +-0.346569 -0.600275 0.289509 +-0.378338 -0.520737 0.22157 + +-0.313414 -0.542848 0.277817 +-0.378338 -0.520737 0.22157 +-0.346569 -0.600275 0.289509 + +-0.378338 -0.520737 0.22157 +-0.313414 -0.542848 0.277817 +-0.349354 -0.480845 0.2003 + +-0.2825 -0.489304 0.251147 +-0.349354 -0.480845 0.2003 +-0.313414 -0.542848 0.277817 + +-0.349354 -0.480845 0.2003 +-0.2825 -0.489304 0.251147 +-0.324035 -0.445996 0.168232 + +-0.255495 -0.44253 0.210938 +-0.324035 -0.445996 0.168232 +-0.2825 -0.489304 0.251147 + +-0.324035 -0.445996 0.168232 +-0.255495 -0.44253 0.210938 +-0.303746 -0.41807 0.127094 + +-0.233854 -0.405047 0.159358 +-0.303746 -0.41807 0.127094 +-0.255495 -0.44253 0.210938 + +-0.303746 -0.41807 0.127094 +-0.233854 -0.405047 0.159358 +-0.289579 -0.398572 0.0791047 + +-0.218745 -0.378877 0.0991858 +-0.289579 -0.398572 0.0791047 +-0.233854 -0.405047 0.159358 + +-0.289579 -0.398572 0.0791047 +-0.218745 -0.378877 0.0991858 +-0.2823 -0.388552 0.0268508 + +-0.21098 -0.365429 0.0336669 +-0.2823 -0.388552 0.0268508 +-0.218745 -0.378877 0.0991858 + +-0.2823 -0.388552 0.0268508 +-0.21098 -0.365429 0.0336669 +-0.2823 -0.388552 -0.0268508 + +-0.21098 -0.365429 -0.0336669 +-0.2823 -0.388552 -0.0268508 +-0.21098 -0.365429 0.0336669 + +-0.2823 -0.388552 -0.0268508 +-0.21098 -0.365429 -0.0336669 +-0.289579 -0.398572 -0.0791047 + +-0.218745 -0.378877 -0.0991858 +-0.289579 -0.398572 -0.0791047 +-0.21098 -0.365429 -0.0336669 + +-0.289579 -0.398572 -0.0791047 +-0.218745 -0.378877 -0.0991858 +-0.303746 -0.41807 -0.127094 + +-0.233854 -0.405047 -0.159358 +-0.303746 -0.41807 -0.127094 +-0.218745 -0.378877 -0.0991858 + +-0.303746 -0.41807 -0.127094 +-0.233854 -0.405047 -0.159358 +-0.324035 -0.445996 -0.168232 + +-0.255495 -0.44253 -0.210938 +-0.324035 -0.445996 -0.168232 +-0.233854 -0.405047 -0.159358 + +-0.324035 -0.445996 -0.168232 +-0.255495 -0.44253 -0.210938 +-0.349354 -0.480845 -0.2003 + +-0.2825 -0.489304 -0.251147 +-0.349354 -0.480845 -0.2003 +-0.255495 -0.44253 -0.210938 + +-0.349354 -0.480845 -0.2003 +-0.2825 -0.489304 -0.251147 +-0.378338 -0.520737 -0.22157 + +-0.313414 -0.542848 -0.277817 +-0.378338 -0.520737 -0.22157 +-0.2825 -0.489304 -0.251147 + +-0.378338 -0.520737 -0.22157 +-0.313414 -0.542848 -0.277817 +-0.409423 -0.563522 -0.230895 + +-0.346569 -0.600275 -0.289509 +-0.409423 -0.563522 -0.230895 +-0.313414 -0.542848 -0.277817 + +-0.409423 -0.563522 -0.230895 +-0.346569 -0.600275 -0.289509 +-0.440934 -0.606894 -0.227773 + +-0.380179 -0.658489 -0.285594 +-0.440934 -0.606894 -0.227773 +-0.346569 -0.600275 -0.289509 + +-0.440934 -0.606894 -0.227773 +-0.380179 -0.658489 -0.285594 +-0.471173 -0.648515 -0.212371 + +-0.412432 -0.714352 -0.266283 +-0.471173 -0.648515 -0.212371 +-0.380179 -0.658489 -0.285594 + +-0.471173 -0.648515 -0.212371 +-0.412432 -0.714352 -0.266283 +-0.498509 -0.686139 -0.18552 + +-0.441588 -0.764853 -0.232616 +-0.498509 -0.686139 -0.18552 +-0.412432 -0.714352 -0.266283 + +-0.498509 -0.686139 -0.18552 +-0.441588 -0.764853 -0.232616 +-0.521469 -0.71774 -0.148668 + +-0.466076 -0.807268 -0.186408 +-0.521469 -0.71774 -0.148668 +-0.441588 -0.764853 -0.232616 + +-0.521469 -0.71774 -0.148668 +-0.466076 -0.807268 -0.186408 +-0.538814 -0.741614 -0.103801 + +-0.484577 -0.839312 -0.130152 +-0.538814 -0.741614 -0.103801 +-0.466076 -0.807268 -0.186408 + +-0.538814 -0.741614 -0.103801 +-0.484577 -0.839312 -0.130152 +-0.54961 -0.756473 -0.0533384 + +-0.496092 -0.859256 -0.0668786 +-0.54961 -0.756473 -0.0533384 +-0.484577 -0.839312 -0.130152 + +-0.54961 -0.756473 -0.0533384 +-0.496092 -0.859256 -0.0668786 +-0.553274 -0.761517 0 + +-0.5 -0.866025 0 +-0.553274 -0.761517 0 +-0.496092 -0.859256 -0.0668786 + +-0.5 -0.866025 0 +-0.430617 -0.967183 0 +-0.496092 -0.859256 0.0668786 + +-0.426794 -0.958596 0.0804188 +-0.496092 -0.859256 0.0668786 +-0.430617 -0.967183 0 + +-0.496092 -0.859256 0.0668786 +-0.426794 -0.958596 0.0804188 +-0.484577 -0.839312 0.130152 + +-0.415531 -0.933298 0.156502 +-0.484577 -0.839312 0.130152 +-0.426794 -0.958596 0.0804188 + +-0.484577 -0.839312 0.130152 +-0.415531 -0.933298 0.156502 +-0.466076 -0.807268 0.186408 + +-0.397435 -0.892653 0.224149 +-0.466076 -0.807268 0.186408 +-0.415531 -0.933298 0.156502 + +-0.466076 -0.807268 0.186408 +-0.397435 -0.892653 0.224149 +-0.441588 -0.764853 0.232616 + +-0.373481 -0.838851 0.279711 +-0.441588 -0.764853 0.232616 +-0.397435 -0.892653 0.224149 + +-0.441588 -0.764853 0.232616 +-0.373481 -0.838851 0.279711 +-0.412432 -0.714352 0.266283 + +-0.344961 -0.774795 0.320194 +-0.412432 -0.714352 0.266283 +-0.373481 -0.838851 0.279711 + +-0.412432 -0.714352 0.266283 +-0.344961 -0.774795 0.320194 +-0.380179 -0.658489 0.285594 + +-0.313412 -0.703936 0.343415 +-0.380179 -0.658489 0.285594 +-0.344961 -0.774795 0.320194 + +-0.380179 -0.658489 0.285594 +-0.313412 -0.703936 0.343415 +-0.346569 -0.600275 0.289509 + +-0.280536 -0.630094 0.348123 +-0.346569 -0.600275 0.289509 +-0.313412 -0.703936 0.343415 + +-0.346569 -0.600275 0.289509 +-0.280536 -0.630094 0.348123 +-0.313414 -0.542848 0.277817 + +-0.248104 -0.557252 0.334064 +-0.313414 -0.542848 0.277817 +-0.280536 -0.630094 0.348123 + +-0.313414 -0.542848 0.277817 +-0.248104 -0.557252 0.334064 +-0.2825 -0.489304 0.251147 + +-0.217866 -0.489335 0.301995 +-0.2825 -0.489304 0.251147 +-0.248104 -0.557252 0.334064 + +-0.2825 -0.489304 0.251147 +-0.217866 -0.489335 0.301995 +-0.255495 -0.44253 0.210938 + +-0.19145 -0.430004 0.253645 +-0.255495 -0.44253 0.210938 +-0.217866 -0.489335 0.301995 + +-0.255495 -0.44253 0.210938 +-0.19145 -0.430004 0.253645 +-0.233854 -0.405047 0.159358 + +-0.170282 -0.38246 0.191621 +-0.233854 -0.405047 0.159358 +-0.19145 -0.430004 0.253645 + +-0.233854 -0.405047 0.159358 +-0.170282 -0.38246 0.191621 +-0.218745 -0.378877 0.0991858 + +-0.155502 -0.349264 0.119267 +-0.218745 -0.378877 0.0991858 +-0.170282 -0.38246 0.191621 + +-0.218745 -0.378877 0.0991858 +-0.155502 -0.349264 0.119267 +-0.21098 -0.365429 0.0336669 + +-0.147908 -0.332206 0.0404831 +-0.21098 -0.365429 0.0336669 +-0.155502 -0.349264 0.119267 + +-0.21098 -0.365429 0.0336669 +-0.147908 -0.332206 0.0404831 +-0.21098 -0.365429 -0.0336669 + +-0.147908 -0.332206 -0.0404831 +-0.21098 -0.365429 -0.0336669 +-0.147908 -0.332206 0.0404831 + +-0.21098 -0.365429 -0.0336669 +-0.147908 -0.332206 -0.0404831 +-0.218745 -0.378877 -0.0991858 + +-0.155502 -0.349264 -0.119267 +-0.218745 -0.378877 -0.0991858 +-0.147908 -0.332206 -0.0404831 + +-0.218745 -0.378877 -0.0991858 +-0.155502 -0.349264 -0.119267 +-0.233854 -0.405047 -0.159358 + +-0.170282 -0.38246 -0.191621 +-0.233854 -0.405047 -0.159358 +-0.155502 -0.349264 -0.119267 + +-0.233854 -0.405047 -0.159358 +-0.170282 -0.38246 -0.191621 +-0.255495 -0.44253 -0.210938 + +-0.19145 -0.430004 -0.253645 +-0.255495 -0.44253 -0.210938 +-0.170282 -0.38246 -0.191621 + +-0.255495 -0.44253 -0.210938 +-0.19145 -0.430004 -0.253645 +-0.2825 -0.489304 -0.251147 + +-0.217866 -0.489335 -0.301995 +-0.2825 -0.489304 -0.251147 +-0.19145 -0.430004 -0.253645 + +-0.2825 -0.489304 -0.251147 +-0.217866 -0.489335 -0.301995 +-0.313414 -0.542848 -0.277817 + +-0.248104 -0.557252 -0.334064 +-0.313414 -0.542848 -0.277817 +-0.217866 -0.489335 -0.301995 + +-0.313414 -0.542848 -0.277817 +-0.248104 -0.557252 -0.334064 +-0.346569 -0.600275 -0.289509 + +-0.280536 -0.630094 -0.348123 +-0.346569 -0.600275 -0.289509 +-0.248104 -0.557252 -0.334064 + +-0.346569 -0.600275 -0.289509 +-0.280536 -0.630094 -0.348123 +-0.380179 -0.658489 -0.285594 + +-0.313412 -0.703936 -0.343415 +-0.380179 -0.658489 -0.285594 +-0.280536 -0.630094 -0.348123 + +-0.380179 -0.658489 -0.285594 +-0.313412 -0.703936 -0.343415 +-0.412432 -0.714352 -0.266283 + +-0.344961 -0.774795 -0.320194 +-0.412432 -0.714352 -0.266283 +-0.313412 -0.703936 -0.343415 + +-0.412432 -0.714352 -0.266283 +-0.344961 -0.774795 -0.320194 +-0.441588 -0.764853 -0.232616 + +-0.373481 -0.838851 -0.279711 +-0.441588 -0.764853 -0.232616 +-0.344961 -0.774795 -0.320194 + +-0.441588 -0.764853 -0.232616 +-0.373481 -0.838851 -0.279711 +-0.466076 -0.807268 -0.186408 + +-0.397435 -0.892653 -0.224149 +-0.466076 -0.807268 -0.186408 +-0.373481 -0.838851 -0.279711 + +-0.466076 -0.807268 -0.186408 +-0.397435 -0.892653 -0.224149 +-0.484577 -0.839312 -0.130152 + +-0.415531 -0.933298 -0.156502 +-0.484577 -0.839312 -0.130152 +-0.397435 -0.892653 -0.224149 + +-0.484577 -0.839312 -0.130152 +-0.415531 -0.933298 -0.156502 +-0.496092 -0.859256 -0.0668786 + +-0.426794 -0.958596 -0.0804188 +-0.496092 -0.859256 -0.0668786 +-0.415531 -0.933298 -0.156502 + +-0.496092 -0.859256 -0.0668786 +-0.426794 -0.958596 -0.0804188 +-0.5 -0.866025 0 + +-0.430617 -0.967183 0 +-0.5 -0.866025 0 +-0.426794 -0.958596 -0.0804188 + +-0.430617 -0.967183 0 +-0.343528 -1.05727 0 +-0.426794 -0.958596 0.0804188 + +-0.340182 -1.04697 0.0926336 +-0.426794 -0.958596 0.0804188 +-0.343528 -1.05727 0 + +-0.426794 -0.958596 0.0804188 +-0.340182 -1.04697 0.0926336 +-0.415531 -0.933298 0.156502 + +-0.330325 -1.01664 0.180273 +-0.415531 -0.933298 0.156502 +-0.340182 -1.04697 0.0926336 + +-0.415531 -0.933298 0.156502 +-0.330325 -1.01664 0.180273 +-0.397435 -0.892653 0.224149 + +-0.314488 -0.967894 0.258194 +-0.397435 -0.892653 0.224149 +-0.330325 -1.01664 0.180273 + +-0.397435 -0.892653 0.224149 +-0.314488 -0.967894 0.258194 +-0.373481 -0.838851 0.279711 + +-0.293525 -0.903376 0.322196 +-0.373481 -0.838851 0.279711 +-0.314488 -0.967894 0.258194 + +-0.373481 -0.838851 0.279711 +-0.293525 -0.903376 0.322196 +-0.344961 -0.774795 0.320194 + +-0.268566 -0.82656 0.368828 +-0.344961 -0.774795 0.320194 +-0.293525 -0.903376 0.322196 + +-0.344961 -0.774795 0.320194 +-0.268566 -0.82656 0.368828 +-0.313412 -0.703936 0.343415 + +-0.240956 -0.741587 0.395577 +-0.313412 -0.703936 0.343415 +-0.268566 -0.82656 0.368828 + +-0.313412 -0.703936 0.343415 +-0.240956 -0.741587 0.395577 +-0.280536 -0.630094 0.348123 + +-0.212185 -0.653038 0.401 +-0.280536 -0.630094 0.348123 +-0.240956 -0.741587 0.395577 + +-0.280536 -0.630094 0.348123 +-0.212185 -0.653038 0.401 +-0.248104 -0.557252 0.334064 + +-0.183802 -0.565686 0.384804 +-0.248104 -0.557252 0.334064 +-0.212185 -0.653038 0.401 + +-0.248104 -0.557252 0.334064 +-0.183802 -0.565686 0.384804 +-0.217866 -0.489335 0.301995 + +-0.157339 -0.48424 0.347864 +-0.217866 -0.489335 0.301995 +-0.183802 -0.565686 0.384804 + +-0.217866 -0.489335 0.301995 +-0.157339 -0.48424 0.347864 +-0.19145 -0.430004 0.253645 + +-0.134222 -0.413092 0.292171 +-0.19145 -0.430004 0.253645 +-0.157339 -0.48424 0.347864 + +-0.19145 -0.430004 0.253645 +-0.134222 -0.413092 0.292171 +-0.170282 -0.38246 0.191621 + +-0.115697 -0.356077 0.220726 +-0.170282 -0.38246 0.191621 +-0.134222 -0.413092 0.292171 + +-0.170282 -0.38246 0.191621 +-0.115697 -0.356077 0.220726 +-0.155502 -0.349264 0.119267 + +-0.102762 -0.316269 0.137382 +-0.155502 -0.349264 0.119267 +-0.115697 -0.356077 0.220726 + +-0.155502 -0.349264 0.119267 +-0.102762 -0.316269 0.137382 +-0.147908 -0.332206 0.0404831 + +-0.0961157 -0.295814 0.0466321 +-0.147908 -0.332206 0.0404831 +-0.102762 -0.316269 0.137382 + +-0.147908 -0.332206 0.0404831 +-0.0961157 -0.295814 0.0466321 +-0.147908 -0.332206 -0.0404831 + +-0.0961157 -0.295814 -0.0466321 +-0.147908 -0.332206 -0.0404831 +-0.0961157 -0.295814 0.0466321 + +-0.147908 -0.332206 -0.0404831 +-0.0961157 -0.295814 -0.0466321 +-0.155502 -0.349264 -0.119267 + +-0.102762 -0.316269 -0.137382 +-0.155502 -0.349264 -0.119267 +-0.0961157 -0.295814 -0.0466321 + +-0.155502 -0.349264 -0.119267 +-0.102762 -0.316269 -0.137382 +-0.170282 -0.38246 -0.191621 + +-0.115697 -0.356077 -0.220726 +-0.170282 -0.38246 -0.191621 +-0.102762 -0.316269 -0.137382 + +-0.170282 -0.38246 -0.191621 +-0.115697 -0.356077 -0.220726 +-0.19145 -0.430004 -0.253645 + +-0.134222 -0.413092 -0.292171 +-0.19145 -0.430004 -0.253645 +-0.115697 -0.356077 -0.220726 + +-0.19145 -0.430004 -0.253645 +-0.134222 -0.413092 -0.292171 +-0.217866 -0.489335 -0.301995 + +-0.157339 -0.48424 -0.347864 +-0.217866 -0.489335 -0.301995 +-0.134222 -0.413092 -0.292171 + +-0.217866 -0.489335 -0.301995 +-0.157339 -0.48424 -0.347864 +-0.248104 -0.557252 -0.334064 + +-0.183802 -0.565686 -0.384804 +-0.248104 -0.557252 -0.334064 +-0.157339 -0.48424 -0.347864 + +-0.248104 -0.557252 -0.334064 +-0.183802 -0.565686 -0.384804 +-0.280536 -0.630094 -0.348123 + +-0.212185 -0.653038 -0.401 +-0.280536 -0.630094 -0.348123 +-0.183802 -0.565686 -0.384804 + +-0.280536 -0.630094 -0.348123 +-0.212185 -0.653038 -0.401 +-0.313412 -0.703936 -0.343415 + +-0.240956 -0.741587 -0.395577 +-0.313412 -0.703936 -0.343415 +-0.212185 -0.653038 -0.401 + +-0.313412 -0.703936 -0.343415 +-0.240956 -0.741587 -0.395577 +-0.344961 -0.774795 -0.320194 + +-0.268566 -0.82656 -0.368828 +-0.344961 -0.774795 -0.320194 +-0.240956 -0.741587 -0.395577 + +-0.344961 -0.774795 -0.320194 +-0.268566 -0.82656 -0.368828 +-0.373481 -0.838851 -0.279711 + +-0.293525 -0.903376 -0.322196 +-0.373481 -0.838851 -0.279711 +-0.268566 -0.82656 -0.368828 + +-0.373481 -0.838851 -0.279711 +-0.293525 -0.903376 -0.322196 +-0.397435 -0.892653 -0.224149 + +-0.314488 -0.967894 -0.258194 +-0.397435 -0.892653 -0.224149 +-0.293525 -0.903376 -0.322196 + +-0.397435 -0.892653 -0.224149 +-0.314488 -0.967894 -0.258194 +-0.415531 -0.933298 -0.156502 + +-0.330325 -1.01664 -0.180273 +-0.415531 -0.933298 -0.156502 +-0.314488 -0.967894 -0.258194 + +-0.415531 -0.933298 -0.156502 +-0.330325 -1.01664 -0.180273 +-0.426794 -0.958596 -0.0804188 + +-0.340182 -1.04697 -0.0926336 +-0.426794 -0.958596 -0.0804188 +-0.330325 -1.01664 -0.180273 + +-0.426794 -0.958596 -0.0804188 +-0.340182 -1.04697 -0.0926336 +-0.430617 -0.967183 0 + +-0.343528 -1.05727 0 +-0.430617 -0.967183 0 +-0.340182 -1.04697 -0.0926336 + +-0.343528 -1.05727 0 +-0.23987 -1.1285 0 +-0.340182 -1.04697 0.0926336 + +-0.237384 -1.1168 0.102327 +-0.340182 -1.04697 0.0926336 +-0.23987 -1.1285 0 + +-0.340182 -1.04697 0.0926336 +-0.237384 -1.1168 0.102327 +-0.330325 -1.01664 0.180273 + +-0.230058 -1.08234 0.199138 +-0.330325 -1.01664 0.180273 +-0.237384 -1.1168 0.102327 + +-0.330325 -1.01664 0.180273 +-0.230058 -1.08234 0.199138 +-0.314488 -0.967894 0.258194 + +-0.218287 -1.02696 0.285213 +-0.314488 -0.967894 0.258194 +-0.230058 -1.08234 0.199138 + +-0.314488 -0.967894 0.258194 +-0.218287 -1.02696 0.285213 +-0.293525 -0.903376 0.322196 + +-0.202707 -0.953662 0.355913 +-0.293525 -0.903376 0.322196 +-0.218287 -1.02696 0.285213 + +-0.293525 -0.903376 0.322196 +-0.202707 -0.953662 0.355913 +-0.268566 -0.82656 0.368828 + +-0.184157 -0.86639 0.407425 +-0.268566 -0.82656 0.368828 +-0.202707 -0.953662 0.355913 + +-0.268566 -0.82656 0.368828 +-0.184157 -0.86639 0.407425 +-0.240956 -0.741587 0.395577 + +-0.163637 -0.769851 0.436972 +-0.240956 -0.741587 0.395577 +-0.184157 -0.86639 0.407425 + +-0.240956 -0.741587 0.395577 +-0.163637 -0.769851 0.436972 +-0.212185 -0.653038 0.401 + +-0.142253 -0.669249 0.442963 +-0.212185 -0.653038 0.401 +-0.163637 -0.769851 0.436972 + +-0.212185 -0.653038 0.401 +-0.142253 -0.669249 0.442963 +-0.183802 -0.565686 0.384804 + +-0.121159 -0.570007 0.425073 +-0.183802 -0.565686 0.384804 +-0.142253 -0.669249 0.442963 + +-0.183802 -0.565686 0.384804 +-0.121159 -0.570007 0.425073 +-0.157339 -0.48424 0.347864 + +-0.101491 -0.477476 0.384267 +-0.157339 -0.48424 0.347864 +-0.121159 -0.570007 0.425073 + +-0.157339 -0.48424 0.347864 +-0.101491 -0.477476 0.384267 +-0.134222 -0.413092 0.292171 + +-0.0843093 -0.396644 0.322745 +-0.134222 -0.413092 0.292171 +-0.101491 -0.477476 0.384267 + +-0.134222 -0.413092 0.292171 +-0.0843093 -0.396644 0.322745 +-0.115697 -0.356077 0.220726 + +-0.0705409 -0.331869 0.243824 +-0.115697 -0.356077 0.220726 +-0.0843093 -0.396644 0.322745 + +-0.115697 -0.356077 0.220726 +-0.0705409 -0.331869 0.243824 +-0.102762 -0.316269 0.137382 + +-0.0609277 -0.286642 0.151759 +-0.102762 -0.316269 0.137382 +-0.0705409 -0.331869 0.243824 + +-0.102762 -0.316269 0.137382 +-0.0609277 -0.286642 0.151759 +-0.0961157 -0.295814 0.0466321 + +-0.0559879 -0.263402 0.051512 +-0.0961157 -0.295814 0.0466321 +-0.0609277 -0.286642 0.151759 + +-0.0961157 -0.295814 0.0466321 +-0.0559879 -0.263402 0.051512 +-0.0961157 -0.295814 -0.0466321 + +-0.0559879 -0.263402 -0.051512 +-0.0961157 -0.295814 -0.0466321 +-0.0559879 -0.263402 0.051512 + +-0.0961157 -0.295814 -0.0466321 +-0.0559879 -0.263402 -0.051512 +-0.102762 -0.316269 -0.137382 + +-0.0609277 -0.286642 -0.151759 +-0.102762 -0.316269 -0.137382 +-0.0559879 -0.263402 -0.051512 + +-0.102762 -0.316269 -0.137382 +-0.0609277 -0.286642 -0.151759 +-0.115697 -0.356077 -0.220726 + +-0.0705409 -0.331869 -0.243824 +-0.115697 -0.356077 -0.220726 +-0.0609277 -0.286642 -0.151759 + +-0.115697 -0.356077 -0.220726 +-0.0705409 -0.331869 -0.243824 +-0.134222 -0.413092 -0.292171 + +-0.0843093 -0.396644 -0.322745 +-0.134222 -0.413092 -0.292171 +-0.0705409 -0.331869 -0.243824 + +-0.134222 -0.413092 -0.292171 +-0.0843093 -0.396644 -0.322745 +-0.157339 -0.48424 -0.347864 + +-0.101491 -0.477476 -0.384267 +-0.157339 -0.48424 -0.347864 +-0.0843093 -0.396644 -0.322745 + +-0.157339 -0.48424 -0.347864 +-0.101491 -0.477476 -0.384267 +-0.183802 -0.565686 -0.384804 + +-0.121159 -0.570007 -0.425073 +-0.183802 -0.565686 -0.384804 +-0.101491 -0.477476 -0.384267 + +-0.183802 -0.565686 -0.384804 +-0.121159 -0.570007 -0.425073 +-0.212185 -0.653038 -0.401 + +-0.142253 -0.669249 -0.442963 +-0.212185 -0.653038 -0.401 +-0.121159 -0.570007 -0.425073 + +-0.212185 -0.653038 -0.401 +-0.142253 -0.669249 -0.442963 +-0.240956 -0.741587 -0.395577 + +-0.163637 -0.769851 -0.436972 +-0.240956 -0.741587 -0.395577 +-0.142253 -0.669249 -0.442963 + +-0.240956 -0.741587 -0.395577 +-0.163637 -0.769851 -0.436972 +-0.268566 -0.82656 -0.368828 + +-0.184157 -0.86639 -0.407425 +-0.268566 -0.82656 -0.368828 +-0.163637 -0.769851 -0.436972 + +-0.268566 -0.82656 -0.368828 +-0.184157 -0.86639 -0.407425 +-0.293525 -0.903376 -0.322196 + +-0.202707 -0.953662 -0.355913 +-0.293525 -0.903376 -0.322196 +-0.184157 -0.86639 -0.407425 + +-0.293525 -0.903376 -0.322196 +-0.202707 -0.953662 -0.355913 +-0.314488 -0.967894 -0.258194 + +-0.218287 -1.02696 -0.285213 +-0.314488 -0.967894 -0.258194 +-0.202707 -0.953662 -0.355913 + +-0.314488 -0.967894 -0.258194 +-0.218287 -1.02696 -0.285213 +-0.330325 -1.01664 -0.180273 + +-0.230058 -1.08234 -0.199138 +-0.330325 -1.01664 -0.180273 +-0.218287 -1.02696 -0.285213 + +-0.330325 -1.01664 -0.180273 +-0.230058 -1.08234 -0.199138 +-0.340182 -1.04697 -0.0926336 + +-0.237384 -1.1168 -0.102327 +-0.340182 -1.04697 -0.0926336 +-0.230058 -1.08234 -0.199138 + +-0.340182 -1.04697 -0.0926336 +-0.237384 -1.1168 -0.102327 +-0.343528 -1.05727 0 + +-0.23987 -1.1285 0 +-0.343528 -1.05727 0 +-0.237384 -1.1168 -0.102327 + +-0.23987 -1.1285 0 +-0.123417 -1.17423 0 +-0.237384 -1.1168 0.102327 + +-0.122091 -1.16161 0.108551 +-0.237384 -1.1168 0.102327 +-0.123417 -1.17423 0 + +-0.237384 -1.1168 0.102327 +-0.122091 -1.16161 0.108551 +-0.230058 -1.08234 0.199138 + +-0.118183 -1.12444 0.21125 +-0.230058 -1.08234 0.199138 +-0.122091 -1.16161 0.108551 + +-0.230058 -1.08234 0.199138 +-0.118183 -1.12444 0.21125 +-0.218287 -1.02696 0.285213 + +-0.111906 -1.06471 0.302561 +-0.218287 -1.02696 0.285213 +-0.118183 -1.12444 0.21125 + +-0.218287 -1.02696 0.285213 +-0.111906 -1.06471 0.302561 +-0.202707 -0.953662 0.355913 + +-0.103596 -0.985654 0.37756 +-0.202707 -0.953662 0.355913 +-0.111906 -1.06471 0.302561 + +-0.202707 -0.953662 0.355913 +-0.103596 -0.985654 0.37756 +-0.184157 -0.86639 0.407425 + +-0.093703 -0.891524 0.432205 +-0.184157 -0.86639 0.407425 +-0.103596 -0.985654 0.37756 + +-0.184157 -0.86639 0.407425 +-0.093703 -0.891524 0.432205 +-0.163637 -0.769851 0.436972 + +-0.082759 -0.787399 0.46355 +-0.163637 -0.769851 0.436972 +-0.093703 -0.891524 0.432205 + +-0.163637 -0.769851 0.436972 +-0.082759 -0.787399 0.46355 +-0.142253 -0.669249 0.442963 + +-0.0713544 -0.678892 0.469904 +-0.142253 -0.669249 0.442963 +-0.082759 -0.787399 0.46355 + +-0.142253 -0.669249 0.442963 +-0.0713544 -0.678892 0.469904 +-0.121159 -0.570007 0.425073 + +-0.060104 -0.571852 0.450926 +-0.121159 -0.570007 0.425073 +-0.0713544 -0.678892 0.469904 + +-0.121159 -0.570007 0.425073 +-0.060104 -0.571852 0.450926 +-0.101491 -0.477476 0.384267 + +-0.0496144 -0.472049 0.407639 +-0.101491 -0.477476 0.384267 +-0.060104 -0.571852 0.450926 + +-0.101491 -0.477476 0.384267 +-0.0496144 -0.472049 0.407639 +-0.0843093 -0.396644 0.322745 + +-0.040451 -0.384866 0.342375 +-0.0843093 -0.396644 0.322745 +-0.0496144 -0.472049 0.407639 + +-0.0843093 -0.396644 0.322745 +-0.040451 -0.384866 0.342375 +-0.0705409 -0.331869 0.243824 + +-0.0331079 -0.315 0.258654 +-0.0705409 -0.331869 0.243824 +-0.040451 -0.384866 0.342375 + +-0.0705409 -0.331869 0.243824 +-0.0331079 -0.315 0.258654 +-0.0609277 -0.286642 0.151759 + +-0.0279808 -0.26622 0.160989 +-0.0609277 -0.286642 0.151759 +-0.0331079 -0.315 0.258654 + +-0.0609277 -0.286642 0.151759 +-0.0279808 -0.26622 0.160989 +-0.0559879 -0.263402 0.051512 + +-0.0253463 -0.241154 0.054645 +-0.0559879 -0.263402 0.051512 +-0.0279808 -0.26622 0.160989 + +-0.0559879 -0.263402 0.051512 +-0.0253463 -0.241154 0.054645 +-0.0559879 -0.263402 -0.051512 + +-0.0253463 -0.241154 -0.054645 +-0.0559879 -0.263402 -0.051512 +-0.0253463 -0.241154 0.054645 + +-0.0559879 -0.263402 -0.051512 +-0.0253463 -0.241154 -0.054645 +-0.0609277 -0.286642 -0.151759 + +-0.0279808 -0.26622 -0.160989 +-0.0609277 -0.286642 -0.151759 +-0.0253463 -0.241154 -0.054645 + +-0.0609277 -0.286642 -0.151759 +-0.0279808 -0.26622 -0.160989 +-0.0705409 -0.331869 -0.243824 + +-0.0331079 -0.315 -0.258654 +-0.0705409 -0.331869 -0.243824 +-0.0279808 -0.26622 -0.160989 + +-0.0705409 -0.331869 -0.243824 +-0.0331079 -0.315 -0.258654 +-0.0843093 -0.396644 -0.322745 + +-0.040451 -0.384866 -0.342375 +-0.0843093 -0.396644 -0.322745 +-0.0331079 -0.315 -0.258654 + +-0.0843093 -0.396644 -0.322745 +-0.040451 -0.384866 -0.342375 +-0.101491 -0.477476 -0.384267 + +-0.0496144 -0.472049 -0.407639 +-0.101491 -0.477476 -0.384267 +-0.040451 -0.384866 -0.342375 + +-0.101491 -0.477476 -0.384267 +-0.0496144 -0.472049 -0.407639 +-0.121159 -0.570007 -0.425073 + +-0.060104 -0.571852 -0.450926 +-0.121159 -0.570007 -0.425073 +-0.0496144 -0.472049 -0.407639 + +-0.121159 -0.570007 -0.425073 +-0.060104 -0.571852 -0.450926 +-0.142253 -0.669249 -0.442963 + +-0.0713544 -0.678892 -0.469904 +-0.142253 -0.669249 -0.442963 +-0.060104 -0.571852 -0.450926 + +-0.142253 -0.669249 -0.442963 +-0.0713544 -0.678892 -0.469904 +-0.163637 -0.769851 -0.436972 + +-0.082759 -0.787399 -0.46355 +-0.163637 -0.769851 -0.436972 +-0.0713544 -0.678892 -0.469904 + +-0.163637 -0.769851 -0.436972 +-0.082759 -0.787399 -0.46355 +-0.184157 -0.86639 -0.407425 + +-0.093703 -0.891524 -0.432205 +-0.184157 -0.86639 -0.407425 +-0.082759 -0.787399 -0.46355 + +-0.184157 -0.86639 -0.407425 +-0.093703 -0.891524 -0.432205 +-0.202707 -0.953662 -0.355913 + +-0.103596 -0.985654 -0.37756 +-0.202707 -0.953662 -0.355913 +-0.093703 -0.891524 -0.432205 + +-0.202707 -0.953662 -0.355913 +-0.103596 -0.985654 -0.37756 +-0.218287 -1.02696 -0.285213 + +-0.111906 -1.06471 -0.302561 +-0.218287 -1.02696 -0.285213 +-0.103596 -0.985654 -0.37756 + +-0.218287 -1.02696 -0.285213 +-0.111906 -1.06471 -0.302561 +-0.230058 -1.08234 -0.199138 + +-0.118183 -1.12444 -0.21125 +-0.230058 -1.08234 -0.199138 +-0.111906 -1.06471 -0.302561 + +-0.230058 -1.08234 -0.199138 +-0.118183 -1.12444 -0.21125 +-0.237384 -1.1168 -0.102327 + +-0.122091 -1.16161 -0.108551 +-0.237384 -1.1168 -0.102327 +-0.118183 -1.12444 -0.21125 + +-0.237384 -1.1168 -0.102327 +-0.122091 -1.16161 -0.108551 +-0.23987 -1.1285 0 + +-0.123417 -1.17423 0 +-0.23987 -1.1285 0 +-0.122091 -1.16161 -0.108551 + +-0.123417 -1.17423 0 +0 -1.19 0 +-0.122091 -1.16161 0.108551 + +0 -1.17706 0.110696 +-0.122091 -1.16161 0.108551 +0 -1.19 0 + +-0.122091 -1.16161 0.108551 +0 -1.17706 0.110696 +-0.118183 -1.12444 0.21125 + +0 -1.13894 0.215424 +-0.118183 -1.12444 0.21125 +0 -1.17706 0.110696 + +-0.118183 -1.12444 0.21125 +0 -1.13894 0.215424 +-0.111906 -1.06471 0.302561 + +0 -1.0777 0.308538 +-0.111906 -1.06471 0.302561 +0 -1.13894 0.215424 + +-0.111906 -1.06471 0.302561 +0 -1.0777 0.308538 +-0.103596 -0.985654 0.37756 + +0 -0.996636 0.385019 +-0.103596 -0.985654 0.37756 +0 -1.0777 0.308538 + +-0.103596 -0.985654 0.37756 +0 -0.996636 0.385019 +-0.093703 -0.891524 0.432205 + +0 -0.900118 0.440744 +-0.093703 -0.891524 0.432205 +0 -0.996636 0.385019 + +-0.093703 -0.891524 0.432205 +0 -0.900118 0.440744 +-0.082759 -0.787399 0.46355 + +0 -0.793351 0.472708 +-0.082759 -0.787399 0.46355 +0 -0.900118 0.440744 + +-0.082759 -0.787399 0.46355 +0 -0.793351 0.472708 +-0.0713544 -0.678892 0.469904 + +0 -0.68209 0.479188 +-0.0713544 -0.678892 0.469904 +0 -0.793351 0.472708 + +-0.0713544 -0.678892 0.469904 +0 -0.68209 0.479188 +-0.060104 -0.571852 0.450926 + +0 -0.572334 0.459835 +-0.060104 -0.571852 0.450926 +0 -0.68209 0.479188 + +-0.060104 -0.571852 0.450926 +0 -0.572334 0.459835 +-0.0496144 -0.472049 0.407639 + +0 -0.47 0.415692 +-0.0496144 -0.472049 0.407639 +0 -0.572334 0.459835 + +-0.0496144 -0.472049 0.407639 +0 -0.47 0.415692 +-0.040451 -0.384866 0.342375 + +0 -0.380604 0.349139 +-0.040451 -0.384866 0.342375 +0 -0.47 0.415692 + +-0.040451 -0.384866 0.342375 +0 -0.380604 0.349139 +-0.0331079 -0.315 0.258654 + +0 -0.308966 0.263764 +-0.0331079 -0.315 0.258654 +0 -0.380604 0.349139 + +-0.0331079 -0.315 0.258654 +0 -0.308966 0.263764 +-0.0279808 -0.26622 0.160989 + +0 -0.258948 0.16417 +-0.0279808 -0.26622 0.160989 +0 -0.308966 0.263764 + +-0.0279808 -0.26622 0.160989 +0 -0.258948 0.16417 +-0.0253463 -0.241154 0.054645 + +0 -0.233246 0.0557246 +-0.0253463 -0.241154 0.054645 +0 -0.258948 0.16417 + +-0.0253463 -0.241154 0.054645 +0 -0.233246 0.0557246 +-0.0253463 -0.241154 -0.054645 + +0 -0.233246 -0.0557246 +-0.0253463 -0.241154 -0.054645 +0 -0.233246 0.0557246 + +-0.0253463 -0.241154 -0.054645 +0 -0.233246 -0.0557246 +-0.0279808 -0.26622 -0.160989 + +0 -0.258948 -0.16417 +-0.0279808 -0.26622 -0.160989 +0 -0.233246 -0.0557246 + +-0.0279808 -0.26622 -0.160989 +0 -0.258948 -0.16417 +-0.0331079 -0.315 -0.258654 + +0 -0.308966 -0.263764 +-0.0331079 -0.315 -0.258654 +0 -0.258948 -0.16417 + +-0.0331079 -0.315 -0.258654 +0 -0.308966 -0.263764 +-0.040451 -0.384866 -0.342375 + +0 -0.380604 -0.349139 +-0.040451 -0.384866 -0.342375 +0 -0.308966 -0.263764 + +-0.040451 -0.384866 -0.342375 +0 -0.380604 -0.349139 +-0.0496144 -0.472049 -0.407639 + +0 -0.47 -0.415692 +-0.0496144 -0.472049 -0.407639 +0 -0.380604 -0.349139 + +-0.0496144 -0.472049 -0.407639 +0 -0.47 -0.415692 +-0.060104 -0.571852 -0.450926 + +0 -0.572334 -0.459835 +-0.060104 -0.571852 -0.450926 +0 -0.47 -0.415692 + +-0.060104 -0.571852 -0.450926 +0 -0.572334 -0.459835 +-0.0713544 -0.678892 -0.469904 + +0 -0.68209 -0.479188 +-0.0713544 -0.678892 -0.469904 +0 -0.572334 -0.459835 + +-0.0713544 -0.678892 -0.469904 +0 -0.68209 -0.479188 +-0.082759 -0.787399 -0.46355 + +0 -0.793351 -0.472708 +-0.082759 -0.787399 -0.46355 +0 -0.68209 -0.479188 + +-0.082759 -0.787399 -0.46355 +0 -0.793351 -0.472708 +-0.093703 -0.891524 -0.432205 + +0 -0.900118 -0.440744 +-0.093703 -0.891524 -0.432205 +0 -0.793351 -0.472708 + +-0.093703 -0.891524 -0.432205 +0 -0.900118 -0.440744 +-0.103596 -0.985654 -0.37756 + +0 -0.996636 -0.385019 +-0.103596 -0.985654 -0.37756 +0 -0.900118 -0.440744 + +-0.103596 -0.985654 -0.37756 +0 -0.996636 -0.385019 +-0.111906 -1.06471 -0.302561 + +0 -1.0777 -0.308538 +-0.111906 -1.06471 -0.302561 +0 -0.996636 -0.385019 + +-0.111906 -1.06471 -0.302561 +0 -1.0777 -0.308538 +-0.118183 -1.12444 -0.21125 + +0 -1.13894 -0.215424 +-0.118183 -1.12444 -0.21125 +0 -1.0777 -0.308538 + +-0.118183 -1.12444 -0.21125 +0 -1.13894 -0.215424 +-0.122091 -1.16161 -0.108551 + +0 -1.17706 -0.110696 +-0.122091 -1.16161 -0.108551 +0 -1.13894 -0.215424 + +-0.122091 -1.16161 -0.108551 +0 -1.17706 -0.110696 +-0.123417 -1.17423 0 + +0 -1.19 0 +-0.123417 -1.17423 0 +0 -1.17706 -0.110696 + +0 -1.19 0 +0.123417 -1.17423 0 +0 -1.17706 0.110696 + +0.122091 -1.16161 0.108551 +0 -1.17706 0.110696 +0.123417 -1.17423 0 + +0 -1.17706 0.110696 +0.122091 -1.16161 0.108551 +0 -1.13894 0.215424 + +0.118183 -1.12444 0.21125 +0 -1.13894 0.215424 +0.122091 -1.16161 0.108551 + +0 -1.13894 0.215424 +0.118183 -1.12444 0.21125 +0 -1.0777 0.308538 + +0.111906 -1.06471 0.302561 +0 -1.0777 0.308538 +0.118183 -1.12444 0.21125 + +0 -1.0777 0.308538 +0.111906 -1.06471 0.302561 +0 -0.996636 0.385019 + +0.103596 -0.985654 0.37756 +0 -0.996636 0.385019 +0.111906 -1.06471 0.302561 + +0 -0.996636 0.385019 +0.103596 -0.985654 0.37756 +0 -0.900118 0.440744 + +0.093703 -0.891524 0.432205 +0 -0.900118 0.440744 +0.103596 -0.985654 0.37756 + +0 -0.900118 0.440744 +0.093703 -0.891524 0.432205 +0 -0.793351 0.472708 + +0.082759 -0.787399 0.46355 +0 -0.793351 0.472708 +0.093703 -0.891524 0.432205 + +0 -0.793351 0.472708 +0.082759 -0.787399 0.46355 +0 -0.68209 0.479188 + +0.0713544 -0.678892 0.469904 +0 -0.68209 0.479188 +0.082759 -0.787399 0.46355 + +0 -0.68209 0.479188 +0.0713544 -0.678892 0.469904 +0 -0.572334 0.459835 + +0.060104 -0.571852 0.450926 +0 -0.572334 0.459835 +0.0713544 -0.678892 0.469904 + +0 -0.572334 0.459835 +0.060104 -0.571852 0.450926 +0 -0.47 0.415692 + +0.0496144 -0.472049 0.407639 +0 -0.47 0.415692 +0.060104 -0.571852 0.450926 + +0 -0.47 0.415692 +0.0496144 -0.472049 0.407639 +0 -0.380604 0.349139 + +0.040451 -0.384866 0.342375 +0 -0.380604 0.349139 +0.0496144 -0.472049 0.407639 + +0 -0.380604 0.349139 +0.040451 -0.384866 0.342375 +0 -0.308966 0.263764 + +0.0331079 -0.315 0.258654 +0 -0.308966 0.263764 +0.040451 -0.384866 0.342375 + +0 -0.308966 0.263764 +0.0331079 -0.315 0.258654 +0 -0.258948 0.16417 + +0.0279808 -0.26622 0.160989 +0 -0.258948 0.16417 +0.0331079 -0.315 0.258654 + +0 -0.258948 0.16417 +0.0279808 -0.26622 0.160989 +0 -0.233246 0.0557246 + +0.0253463 -0.241154 0.054645 +0 -0.233246 0.0557246 +0.0279808 -0.26622 0.160989 + +0 -0.233246 0.0557246 +0.0253463 -0.241154 0.054645 +0 -0.233246 -0.0557246 + +0.0253463 -0.241154 -0.054645 +0 -0.233246 -0.0557246 +0.0253463 -0.241154 0.054645 + +0 -0.233246 -0.0557246 +0.0253463 -0.241154 -0.054645 +0 -0.258948 -0.16417 + +0.0279808 -0.26622 -0.160989 +0 -0.258948 -0.16417 +0.0253463 -0.241154 -0.054645 + +0 -0.258948 -0.16417 +0.0279808 -0.26622 -0.160989 +0 -0.308966 -0.263764 + +0.0331079 -0.315 -0.258654 +0 -0.308966 -0.263764 +0.0279808 -0.26622 -0.160989 + +0 -0.308966 -0.263764 +0.0331079 -0.315 -0.258654 +0 -0.380604 -0.349139 + +0.040451 -0.384866 -0.342375 +0 -0.380604 -0.349139 +0.0331079 -0.315 -0.258654 + +0 -0.380604 -0.349139 +0.040451 -0.384866 -0.342375 +0 -0.47 -0.415692 + +0.0496144 -0.472049 -0.407639 +0 -0.47 -0.415692 +0.040451 -0.384866 -0.342375 + +0 -0.47 -0.415692 +0.0496144 -0.472049 -0.407639 +0 -0.572334 -0.459835 + +0.060104 -0.571852 -0.450926 +0 -0.572334 -0.459835 +0.0496144 -0.472049 -0.407639 + +0 -0.572334 -0.459835 +0.060104 -0.571852 -0.450926 +0 -0.68209 -0.479188 + +0.0713544 -0.678892 -0.469904 +0 -0.68209 -0.479188 +0.060104 -0.571852 -0.450926 + +0 -0.68209 -0.479188 +0.0713544 -0.678892 -0.469904 +0 -0.793351 -0.472708 + +0.082759 -0.787399 -0.46355 +0 -0.793351 -0.472708 +0.0713544 -0.678892 -0.469904 + +0 -0.793351 -0.472708 +0.082759 -0.787399 -0.46355 +0 -0.900118 -0.440744 + +0.093703 -0.891524 -0.432205 +0 -0.900118 -0.440744 +0.082759 -0.787399 -0.46355 + +0 -0.900118 -0.440744 +0.093703 -0.891524 -0.432205 +0 -0.996636 -0.385019 + +0.103596 -0.985654 -0.37756 +0 -0.996636 -0.385019 +0.093703 -0.891524 -0.432205 + +0 -0.996636 -0.385019 +0.103596 -0.985654 -0.37756 +0 -1.0777 -0.308538 + +0.111906 -1.06471 -0.302561 +0 -1.0777 -0.308538 +0.103596 -0.985654 -0.37756 + +0 -1.0777 -0.308538 +0.111906 -1.06471 -0.302561 +0 -1.13894 -0.215424 + +0.118183 -1.12444 -0.21125 +0 -1.13894 -0.215424 +0.111906 -1.06471 -0.302561 + +0 -1.13894 -0.215424 +0.118183 -1.12444 -0.21125 +0 -1.17706 -0.110696 + +0.122091 -1.16161 -0.108551 +0 -1.17706 -0.110696 +0.118183 -1.12444 -0.21125 + +0 -1.17706 -0.110696 +0.122091 -1.16161 -0.108551 +0 -1.19 0 + +0.123417 -1.17423 0 +0 -1.19 0 +0.122091 -1.16161 -0.108551 + +0.123417 -1.17423 0 +0.23987 -1.1285 0 +0.122091 -1.16161 0.108551 + +0.237384 -1.1168 0.102327 +0.122091 -1.16161 0.108551 +0.23987 -1.1285 0 + +0.122091 -1.16161 0.108551 +0.237384 -1.1168 0.102327 +0.118183 -1.12444 0.21125 + +0.230058 -1.08234 0.199138 +0.118183 -1.12444 0.21125 +0.237384 -1.1168 0.102327 + +0.118183 -1.12444 0.21125 +0.230058 -1.08234 0.199138 +0.111906 -1.06471 0.302561 + +0.218287 -1.02696 0.285213 +0.111906 -1.06471 0.302561 +0.230058 -1.08234 0.199138 + +0.111906 -1.06471 0.302561 +0.218287 -1.02696 0.285213 +0.103596 -0.985654 0.37756 + +0.202707 -0.953662 0.355913 +0.103596 -0.985654 0.37756 +0.218287 -1.02696 0.285213 + +0.103596 -0.985654 0.37756 +0.202707 -0.953662 0.355913 +0.093703 -0.891524 0.432205 + +0.184157 -0.86639 0.407425 +0.093703 -0.891524 0.432205 +0.202707 -0.953662 0.355913 + +0.093703 -0.891524 0.432205 +0.184157 -0.86639 0.407425 +0.082759 -0.787399 0.46355 + +0.163637 -0.769851 0.436972 +0.082759 -0.787399 0.46355 +0.184157 -0.86639 0.407425 + +0.082759 -0.787399 0.46355 +0.163637 -0.769851 0.436972 +0.0713544 -0.678892 0.469904 + +0.142253 -0.669249 0.442963 +0.0713544 -0.678892 0.469904 +0.163637 -0.769851 0.436972 + +0.0713544 -0.678892 0.469904 +0.142253 -0.669249 0.442963 +0.060104 -0.571852 0.450926 + +0.121159 -0.570007 0.425073 +0.060104 -0.571852 0.450926 +0.142253 -0.669249 0.442963 + +0.060104 -0.571852 0.450926 +0.121159 -0.570007 0.425073 +0.0496144 -0.472049 0.407639 + +0.101491 -0.477476 0.384267 +0.0496144 -0.472049 0.407639 +0.121159 -0.570007 0.425073 + +0.0496144 -0.472049 0.407639 +0.101491 -0.477476 0.384267 +0.040451 -0.384866 0.342375 + +0.0843093 -0.396644 0.322745 +0.040451 -0.384866 0.342375 +0.101491 -0.477476 0.384267 + +0.040451 -0.384866 0.342375 +0.0843093 -0.396644 0.322745 +0.0331079 -0.315 0.258654 + +0.0705409 -0.331869 0.243824 +0.0331079 -0.315 0.258654 +0.0843093 -0.396644 0.322745 + +0.0331079 -0.315 0.258654 +0.0705409 -0.331869 0.243824 +0.0279808 -0.26622 0.160989 + +0.0609277 -0.286642 0.151759 +0.0279808 -0.26622 0.160989 +0.0705409 -0.331869 0.243824 + +0.0279808 -0.26622 0.160989 +0.0609277 -0.286642 0.151759 +0.0253463 -0.241154 0.054645 + +0.0559879 -0.263402 0.051512 +0.0253463 -0.241154 0.054645 +0.0609277 -0.286642 0.151759 + +0.0253463 -0.241154 0.054645 +0.0559879 -0.263402 0.051512 +0.0253463 -0.241154 -0.054645 + +0.0559879 -0.263402 -0.051512 +0.0253463 -0.241154 -0.054645 +0.0559879 -0.263402 0.051512 + +0.0253463 -0.241154 -0.054645 +0.0559879 -0.263402 -0.051512 +0.0279808 -0.26622 -0.160989 + +0.0609277 -0.286642 -0.151759 +0.0279808 -0.26622 -0.160989 +0.0559879 -0.263402 -0.051512 + +0.0279808 -0.26622 -0.160989 +0.0609277 -0.286642 -0.151759 +0.0331079 -0.315 -0.258654 + +0.0705409 -0.331869 -0.243824 +0.0331079 -0.315 -0.258654 +0.0609277 -0.286642 -0.151759 + +0.0331079 -0.315 -0.258654 +0.0705409 -0.331869 -0.243824 +0.040451 -0.384866 -0.342375 + +0.0843093 -0.396644 -0.322745 +0.040451 -0.384866 -0.342375 +0.0705409 -0.331869 -0.243824 + +0.040451 -0.384866 -0.342375 +0.0843093 -0.396644 -0.322745 +0.0496144 -0.472049 -0.407639 + +0.101491 -0.477476 -0.384267 +0.0496144 -0.472049 -0.407639 +0.0843093 -0.396644 -0.322745 + +0.0496144 -0.472049 -0.407639 +0.101491 -0.477476 -0.384267 +0.060104 -0.571852 -0.450926 + +0.121159 -0.570007 -0.425073 +0.060104 -0.571852 -0.450926 +0.101491 -0.477476 -0.384267 + +0.060104 -0.571852 -0.450926 +0.121159 -0.570007 -0.425073 +0.0713544 -0.678892 -0.469904 + +0.142253 -0.669249 -0.442963 +0.0713544 -0.678892 -0.469904 +0.121159 -0.570007 -0.425073 + +0.0713544 -0.678892 -0.469904 +0.142253 -0.669249 -0.442963 +0.082759 -0.787399 -0.46355 + +0.163637 -0.769851 -0.436972 +0.082759 -0.787399 -0.46355 +0.142253 -0.669249 -0.442963 + +0.082759 -0.787399 -0.46355 +0.163637 -0.769851 -0.436972 +0.093703 -0.891524 -0.432205 + +0.184157 -0.86639 -0.407425 +0.093703 -0.891524 -0.432205 +0.163637 -0.769851 -0.436972 + +0.093703 -0.891524 -0.432205 +0.184157 -0.86639 -0.407425 +0.103596 -0.985654 -0.37756 + +0.202707 -0.953662 -0.355913 +0.103596 -0.985654 -0.37756 +0.184157 -0.86639 -0.407425 + +0.103596 -0.985654 -0.37756 +0.202707 -0.953662 -0.355913 +0.111906 -1.06471 -0.302561 + +0.218287 -1.02696 -0.285213 +0.111906 -1.06471 -0.302561 +0.202707 -0.953662 -0.355913 + +0.111906 -1.06471 -0.302561 +0.218287 -1.02696 -0.285213 +0.118183 -1.12444 -0.21125 + +0.230058 -1.08234 -0.199138 +0.118183 -1.12444 -0.21125 +0.218287 -1.02696 -0.285213 + +0.118183 -1.12444 -0.21125 +0.230058 -1.08234 -0.199138 +0.122091 -1.16161 -0.108551 + +0.237384 -1.1168 -0.102327 +0.122091 -1.16161 -0.108551 +0.230058 -1.08234 -0.199138 + +0.122091 -1.16161 -0.108551 +0.237384 -1.1168 -0.102327 +0.123417 -1.17423 0 + +0.23987 -1.1285 0 +0.123417 -1.17423 0 +0.237384 -1.1168 -0.102327 + +0.23987 -1.1285 0 +0.343528 -1.05727 0 +0.237384 -1.1168 0.102327 + +0.340182 -1.04697 0.0926336 +0.237384 -1.1168 0.102327 +0.343528 -1.05727 0 + +0.237384 -1.1168 0.102327 +0.340182 -1.04697 0.0926336 +0.230058 -1.08234 0.199138 + +0.330325 -1.01664 0.180273 +0.230058 -1.08234 0.199138 +0.340182 -1.04697 0.0926336 + +0.230058 -1.08234 0.199138 +0.330325 -1.01664 0.180273 +0.218287 -1.02696 0.285213 + +0.314488 -0.967894 0.258194 +0.218287 -1.02696 0.285213 +0.330325 -1.01664 0.180273 + +0.218287 -1.02696 0.285213 +0.314488 -0.967894 0.258194 +0.202707 -0.953662 0.355913 + +0.293525 -0.903376 0.322196 +0.202707 -0.953662 0.355913 +0.314488 -0.967894 0.258194 + +0.202707 -0.953662 0.355913 +0.293525 -0.903376 0.322196 +0.184157 -0.86639 0.407425 + +0.268566 -0.82656 0.368828 +0.184157 -0.86639 0.407425 +0.293525 -0.903376 0.322196 + +0.184157 -0.86639 0.407425 +0.268566 -0.82656 0.368828 +0.163637 -0.769851 0.436972 + +0.240956 -0.741587 0.395577 +0.163637 -0.769851 0.436972 +0.268566 -0.82656 0.368828 + +0.163637 -0.769851 0.436972 +0.240956 -0.741587 0.395577 +0.142253 -0.669249 0.442963 + +0.212185 -0.653038 0.401 +0.142253 -0.669249 0.442963 +0.240956 -0.741587 0.395577 + +0.142253 -0.669249 0.442963 +0.212185 -0.653038 0.401 +0.121159 -0.570007 0.425073 + +0.183802 -0.565686 0.384804 +0.121159 -0.570007 0.425073 +0.212185 -0.653038 0.401 + +0.121159 -0.570007 0.425073 +0.183802 -0.565686 0.384804 +0.101491 -0.477476 0.384267 + +0.157339 -0.48424 0.347864 +0.101491 -0.477476 0.384267 +0.183802 -0.565686 0.384804 + +0.101491 -0.477476 0.384267 +0.157339 -0.48424 0.347864 +0.0843093 -0.396644 0.322745 + +0.134222 -0.413092 0.292171 +0.0843093 -0.396644 0.322745 +0.157339 -0.48424 0.347864 + +0.0843093 -0.396644 0.322745 +0.134222 -0.413092 0.292171 +0.0705409 -0.331869 0.243824 + +0.115697 -0.356077 0.220726 +0.0705409 -0.331869 0.243824 +0.134222 -0.413092 0.292171 + +0.0705409 -0.331869 0.243824 +0.115697 -0.356077 0.220726 +0.0609277 -0.286642 0.151759 + +0.102762 -0.316269 0.137382 +0.0609277 -0.286642 0.151759 +0.115697 -0.356077 0.220726 + +0.0609277 -0.286642 0.151759 +0.102762 -0.316269 0.137382 +0.0559879 -0.263402 0.051512 + +0.0961157 -0.295814 0.0466321 +0.0559879 -0.263402 0.051512 +0.102762 -0.316269 0.137382 + +0.0559879 -0.263402 0.051512 +0.0961157 -0.295814 0.0466321 +0.0559879 -0.263402 -0.051512 + +0.0961157 -0.295814 -0.0466321 +0.0559879 -0.263402 -0.051512 +0.0961157 -0.295814 0.0466321 + +0.0559879 -0.263402 -0.051512 +0.0961157 -0.295814 -0.0466321 +0.0609277 -0.286642 -0.151759 + +0.102762 -0.316269 -0.137382 +0.0609277 -0.286642 -0.151759 +0.0961157 -0.295814 -0.0466321 + +0.0609277 -0.286642 -0.151759 +0.102762 -0.316269 -0.137382 +0.0705409 -0.331869 -0.243824 + +0.115697 -0.356077 -0.220726 +0.0705409 -0.331869 -0.243824 +0.102762 -0.316269 -0.137382 + +0.0705409 -0.331869 -0.243824 +0.115697 -0.356077 -0.220726 +0.0843093 -0.396644 -0.322745 + +0.134222 -0.413092 -0.292171 +0.0843093 -0.396644 -0.322745 +0.115697 -0.356077 -0.220726 + +0.0843093 -0.396644 -0.322745 +0.134222 -0.413092 -0.292171 +0.101491 -0.477476 -0.384267 + +0.157339 -0.48424 -0.347864 +0.101491 -0.477476 -0.384267 +0.134222 -0.413092 -0.292171 + +0.101491 -0.477476 -0.384267 +0.157339 -0.48424 -0.347864 +0.121159 -0.570007 -0.425073 + +0.183802 -0.565686 -0.384804 +0.121159 -0.570007 -0.425073 +0.157339 -0.48424 -0.347864 + +0.121159 -0.570007 -0.425073 +0.183802 -0.565686 -0.384804 +0.142253 -0.669249 -0.442963 + +0.212185 -0.653038 -0.401 +0.142253 -0.669249 -0.442963 +0.183802 -0.565686 -0.384804 + +0.142253 -0.669249 -0.442963 +0.212185 -0.653038 -0.401 +0.163637 -0.769851 -0.436972 + +0.240956 -0.741587 -0.395577 +0.163637 -0.769851 -0.436972 +0.212185 -0.653038 -0.401 + +0.163637 -0.769851 -0.436972 +0.240956 -0.741587 -0.395577 +0.184157 -0.86639 -0.407425 + +0.268566 -0.82656 -0.368828 +0.184157 -0.86639 -0.407425 +0.240956 -0.741587 -0.395577 + +0.184157 -0.86639 -0.407425 +0.268566 -0.82656 -0.368828 +0.202707 -0.953662 -0.355913 + +0.293525 -0.903376 -0.322196 +0.202707 -0.953662 -0.355913 +0.268566 -0.82656 -0.368828 + +0.202707 -0.953662 -0.355913 +0.293525 -0.903376 -0.322196 +0.218287 -1.02696 -0.285213 + +0.314488 -0.967894 -0.258194 +0.218287 -1.02696 -0.285213 +0.293525 -0.903376 -0.322196 + +0.218287 -1.02696 -0.285213 +0.314488 -0.967894 -0.258194 +0.230058 -1.08234 -0.199138 + +0.330325 -1.01664 -0.180273 +0.230058 -1.08234 -0.199138 +0.314488 -0.967894 -0.258194 + +0.230058 -1.08234 -0.199138 +0.330325 -1.01664 -0.180273 +0.237384 -1.1168 -0.102327 + +0.340182 -1.04697 -0.0926336 +0.237384 -1.1168 -0.102327 +0.330325 -1.01664 -0.180273 + +0.237384 -1.1168 -0.102327 +0.340182 -1.04697 -0.0926336 +0.23987 -1.1285 0 + +0.343528 -1.05727 0 +0.23987 -1.1285 0 +0.340182 -1.04697 -0.0926336 + +0.343528 -1.05727 0 +0.430617 -0.967183 0 +0.340182 -1.04697 0.0926336 + +0.426794 -0.958596 0.0804188 +0.340182 -1.04697 0.0926336 +0.430617 -0.967183 0 + +0.340182 -1.04697 0.0926336 +0.426794 -0.958596 0.0804188 +0.330325 -1.01664 0.180273 + +0.415531 -0.933298 0.156502 +0.330325 -1.01664 0.180273 +0.426794 -0.958596 0.0804188 + +0.330325 -1.01664 0.180273 +0.415531 -0.933298 0.156502 +0.314488 -0.967894 0.258194 + +0.397435 -0.892653 0.224149 +0.314488 -0.967894 0.258194 +0.415531 -0.933298 0.156502 + +0.314488 -0.967894 0.258194 +0.397435 -0.892653 0.224149 +0.293525 -0.903376 0.322196 + +0.373481 -0.838851 0.279711 +0.293525 -0.903376 0.322196 +0.397435 -0.892653 0.224149 + +0.293525 -0.903376 0.322196 +0.373481 -0.838851 0.279711 +0.268566 -0.82656 0.368828 + +0.344961 -0.774795 0.320194 +0.268566 -0.82656 0.368828 +0.373481 -0.838851 0.279711 + +0.268566 -0.82656 0.368828 +0.344961 -0.774795 0.320194 +0.240956 -0.741587 0.395577 + +0.313412 -0.703936 0.343415 +0.240956 -0.741587 0.395577 +0.344961 -0.774795 0.320194 + +0.240956 -0.741587 0.395577 +0.313412 -0.703936 0.343415 +0.212185 -0.653038 0.401 + +0.280536 -0.630094 0.348123 +0.212185 -0.653038 0.401 +0.313412 -0.703936 0.343415 + +0.212185 -0.653038 0.401 +0.280536 -0.630094 0.348123 +0.183802 -0.565686 0.384804 + +0.248104 -0.557252 0.334064 +0.183802 -0.565686 0.384804 +0.280536 -0.630094 0.348123 + +0.183802 -0.565686 0.384804 +0.248104 -0.557252 0.334064 +0.157339 -0.48424 0.347864 + +0.217866 -0.489335 0.301995 +0.157339 -0.48424 0.347864 +0.248104 -0.557252 0.334064 + +0.157339 -0.48424 0.347864 +0.217866 -0.489335 0.301995 +0.134222 -0.413092 0.292171 + +0.19145 -0.430004 0.253645 +0.134222 -0.413092 0.292171 +0.217866 -0.489335 0.301995 + +0.134222 -0.413092 0.292171 +0.19145 -0.430004 0.253645 +0.115697 -0.356077 0.220726 + +0.170282 -0.38246 0.191621 +0.115697 -0.356077 0.220726 +0.19145 -0.430004 0.253645 + +0.115697 -0.356077 0.220726 +0.170282 -0.38246 0.191621 +0.102762 -0.316269 0.137382 + +0.155502 -0.349264 0.119267 +0.102762 -0.316269 0.137382 +0.170282 -0.38246 0.191621 + +0.102762 -0.316269 0.137382 +0.155502 -0.349264 0.119267 +0.0961157 -0.295814 0.0466321 + +0.147908 -0.332206 0.0404831 +0.0961157 -0.295814 0.0466321 +0.155502 -0.349264 0.119267 + +0.0961157 -0.295814 0.0466321 +0.147908 -0.332206 0.0404831 +0.0961157 -0.295814 -0.0466321 + +0.147908 -0.332206 -0.0404831 +0.0961157 -0.295814 -0.0466321 +0.147908 -0.332206 0.0404831 + +0.0961157 -0.295814 -0.0466321 +0.147908 -0.332206 -0.0404831 +0.102762 -0.316269 -0.137382 + +0.155502 -0.349264 -0.119267 +0.102762 -0.316269 -0.137382 +0.147908 -0.332206 -0.0404831 + +0.102762 -0.316269 -0.137382 +0.155502 -0.349264 -0.119267 +0.115697 -0.356077 -0.220726 + +0.170282 -0.38246 -0.191621 +0.115697 -0.356077 -0.220726 +0.155502 -0.349264 -0.119267 + +0.115697 -0.356077 -0.220726 +0.170282 -0.38246 -0.191621 +0.134222 -0.413092 -0.292171 + +0.19145 -0.430004 -0.253645 +0.134222 -0.413092 -0.292171 +0.170282 -0.38246 -0.191621 + +0.134222 -0.413092 -0.292171 +0.19145 -0.430004 -0.253645 +0.157339 -0.48424 -0.347864 + +0.217866 -0.489335 -0.301995 +0.157339 -0.48424 -0.347864 +0.19145 -0.430004 -0.253645 + +0.157339 -0.48424 -0.347864 +0.217866 -0.489335 -0.301995 +0.183802 -0.565686 -0.384804 + +0.248104 -0.557252 -0.334064 +0.183802 -0.565686 -0.384804 +0.217866 -0.489335 -0.301995 + +0.183802 -0.565686 -0.384804 +0.248104 -0.557252 -0.334064 +0.212185 -0.653038 -0.401 + +0.280536 -0.630094 -0.348123 +0.212185 -0.653038 -0.401 +0.248104 -0.557252 -0.334064 + +0.212185 -0.653038 -0.401 +0.280536 -0.630094 -0.348123 +0.240956 -0.741587 -0.395577 + +0.313412 -0.703936 -0.343415 +0.240956 -0.741587 -0.395577 +0.280536 -0.630094 -0.348123 + +0.240956 -0.741587 -0.395577 +0.313412 -0.703936 -0.343415 +0.268566 -0.82656 -0.368828 + +0.344961 -0.774795 -0.320194 +0.268566 -0.82656 -0.368828 +0.313412 -0.703936 -0.343415 + +0.268566 -0.82656 -0.368828 +0.344961 -0.774795 -0.320194 +0.293525 -0.903376 -0.322196 + +0.373481 -0.838851 -0.279711 +0.293525 -0.903376 -0.322196 +0.344961 -0.774795 -0.320194 + +0.293525 -0.903376 -0.322196 +0.373481 -0.838851 -0.279711 +0.314488 -0.967894 -0.258194 + +0.397435 -0.892653 -0.224149 +0.314488 -0.967894 -0.258194 +0.373481 -0.838851 -0.279711 + +0.314488 -0.967894 -0.258194 +0.397435 -0.892653 -0.224149 +0.330325 -1.01664 -0.180273 + +0.415531 -0.933298 -0.156502 +0.330325 -1.01664 -0.180273 +0.397435 -0.892653 -0.224149 + +0.330325 -1.01664 -0.180273 +0.415531 -0.933298 -0.156502 +0.340182 -1.04697 -0.0926336 + +0.426794 -0.958596 -0.0804188 +0.340182 -1.04697 -0.0926336 +0.415531 -0.933298 -0.156502 + +0.340182 -1.04697 -0.0926336 +0.426794 -0.958596 -0.0804188 +0.343528 -1.05727 0 + +0.430617 -0.967183 0 +0.343528 -1.05727 0 +0.426794 -0.958596 -0.0804188 + +0.430617 -0.967183 0 +0.5 -0.866025 0 +0.426794 -0.958596 0.0804188 + +0.496092 -0.859256 0.0668786 +0.426794 -0.958596 0.0804188 +0.5 -0.866025 0 + +0.426794 -0.958596 0.0804188 +0.496092 -0.859256 0.0668786 +0.415531 -0.933298 0.156502 + +0.484577 -0.839312 0.130152 +0.415531 -0.933298 0.156502 +0.496092 -0.859256 0.0668786 + +0.415531 -0.933298 0.156502 +0.484577 -0.839312 0.130152 +0.397435 -0.892653 0.224149 + +0.466076 -0.807268 0.186408 +0.397435 -0.892653 0.224149 +0.484577 -0.839312 0.130152 + +0.397435 -0.892653 0.224149 +0.466076 -0.807268 0.186408 +0.373481 -0.838851 0.279711 + +0.441588 -0.764853 0.232616 +0.373481 -0.838851 0.279711 +0.466076 -0.807268 0.186408 + +0.373481 -0.838851 0.279711 +0.441588 -0.764853 0.232616 +0.344961 -0.774795 0.320194 + +0.412432 -0.714352 0.266283 +0.344961 -0.774795 0.320194 +0.441588 -0.764853 0.232616 + +0.344961 -0.774795 0.320194 +0.412432 -0.714352 0.266283 +0.313412 -0.703936 0.343415 + +0.380179 -0.658489 0.285594 +0.313412 -0.703936 0.343415 +0.412432 -0.714352 0.266283 + +0.313412 -0.703936 0.343415 +0.380179 -0.658489 0.285594 +0.280536 -0.630094 0.348123 + +0.346569 -0.600275 0.289509 +0.280536 -0.630094 0.348123 +0.380179 -0.658489 0.285594 + +0.280536 -0.630094 0.348123 +0.346569 -0.600275 0.289509 +0.248104 -0.557252 0.334064 + +0.313414 -0.542848 0.277817 +0.248104 -0.557252 0.334064 +0.346569 -0.600275 0.289509 + +0.248104 -0.557252 0.334064 +0.313414 -0.542848 0.277817 +0.217866 -0.489335 0.301995 + +0.2825 -0.489304 0.251147 +0.217866 -0.489335 0.301995 +0.313414 -0.542848 0.277817 + +0.217866 -0.489335 0.301995 +0.2825 -0.489304 0.251147 +0.19145 -0.430004 0.253645 + +0.255495 -0.44253 0.210938 +0.19145 -0.430004 0.253645 +0.2825 -0.489304 0.251147 + +0.19145 -0.430004 0.253645 +0.255495 -0.44253 0.210938 +0.170282 -0.38246 0.191621 + +0.233854 -0.405047 0.159358 +0.170282 -0.38246 0.191621 +0.255495 -0.44253 0.210938 + +0.170282 -0.38246 0.191621 +0.233854 -0.405047 0.159358 +0.155502 -0.349264 0.119267 + +0.218745 -0.378877 0.0991858 +0.155502 -0.349264 0.119267 +0.233854 -0.405047 0.159358 + +0.155502 -0.349264 0.119267 +0.218745 -0.378877 0.0991858 +0.147908 -0.332206 0.0404831 + +0.21098 -0.365429 0.0336669 +0.147908 -0.332206 0.0404831 +0.218745 -0.378877 0.0991858 + +0.147908 -0.332206 0.0404831 +0.21098 -0.365429 0.0336669 +0.147908 -0.332206 -0.0404831 + +0.21098 -0.365429 -0.0336669 +0.147908 -0.332206 -0.0404831 +0.21098 -0.365429 0.0336669 + +0.147908 -0.332206 -0.0404831 +0.21098 -0.365429 -0.0336669 +0.155502 -0.349264 -0.119267 + +0.218745 -0.378877 -0.0991858 +0.155502 -0.349264 -0.119267 +0.21098 -0.365429 -0.0336669 + +0.155502 -0.349264 -0.119267 +0.218745 -0.378877 -0.0991858 +0.170282 -0.38246 -0.191621 + +0.233854 -0.405047 -0.159358 +0.170282 -0.38246 -0.191621 +0.218745 -0.378877 -0.0991858 + +0.170282 -0.38246 -0.191621 +0.233854 -0.405047 -0.159358 +0.19145 -0.430004 -0.253645 + +0.255495 -0.44253 -0.210938 +0.19145 -0.430004 -0.253645 +0.233854 -0.405047 -0.159358 + +0.19145 -0.430004 -0.253645 +0.255495 -0.44253 -0.210938 +0.217866 -0.489335 -0.301995 + +0.2825 -0.489304 -0.251147 +0.217866 -0.489335 -0.301995 +0.255495 -0.44253 -0.210938 + +0.217866 -0.489335 -0.301995 +0.2825 -0.489304 -0.251147 +0.248104 -0.557252 -0.334064 + +0.313414 -0.542848 -0.277817 +0.248104 -0.557252 -0.334064 +0.2825 -0.489304 -0.251147 + +0.248104 -0.557252 -0.334064 +0.313414 -0.542848 -0.277817 +0.280536 -0.630094 -0.348123 + +0.346569 -0.600275 -0.289509 +0.280536 -0.630094 -0.348123 +0.313414 -0.542848 -0.277817 + +0.280536 -0.630094 -0.348123 +0.346569 -0.600275 -0.289509 +0.313412 -0.703936 -0.343415 + +0.380179 -0.658489 -0.285594 +0.313412 -0.703936 -0.343415 +0.346569 -0.600275 -0.289509 + +0.313412 -0.703936 -0.343415 +0.380179 -0.658489 -0.285594 +0.344961 -0.774795 -0.320194 + +0.412432 -0.714352 -0.266283 +0.344961 -0.774795 -0.320194 +0.380179 -0.658489 -0.285594 + +0.344961 -0.774795 -0.320194 +0.412432 -0.714352 -0.266283 +0.373481 -0.838851 -0.279711 + +0.441588 -0.764853 -0.232616 +0.373481 -0.838851 -0.279711 +0.412432 -0.714352 -0.266283 + +0.373481 -0.838851 -0.279711 +0.441588 -0.764853 -0.232616 +0.397435 -0.892653 -0.224149 + +0.466076 -0.807268 -0.186408 +0.397435 -0.892653 -0.224149 +0.441588 -0.764853 -0.232616 + +0.397435 -0.892653 -0.224149 +0.466076 -0.807268 -0.186408 +0.415531 -0.933298 -0.156502 + +0.484577 -0.839312 -0.130152 +0.415531 -0.933298 -0.156502 +0.466076 -0.807268 -0.186408 + +0.415531 -0.933298 -0.156502 +0.484577 -0.839312 -0.130152 +0.426794 -0.958596 -0.0804188 + +0.496092 -0.859256 -0.0668786 +0.426794 -0.958596 -0.0804188 +0.484577 -0.839312 -0.130152 + +0.426794 -0.958596 -0.0804188 +0.496092 -0.859256 -0.0668786 +0.430617 -0.967183 0 + +0.5 -0.866025 0 +0.430617 -0.967183 0 +0.496092 -0.859256 -0.0668786 + +0.5 -0.866025 0 +0.553274 -0.761517 0 +0.496092 -0.859256 0.0668786 + +0.54961 -0.756473 0.0533384 +0.496092 -0.859256 0.0668786 +0.553274 -0.761517 0 + +0.496092 -0.859256 0.0668786 +0.54961 -0.756473 0.0533384 +0.484577 -0.839312 0.130152 + +0.538814 -0.741614 0.103801 +0.484577 -0.839312 0.130152 +0.54961 -0.756473 0.0533384 + +0.484577 -0.839312 0.130152 +0.538814 -0.741614 0.103801 +0.466076 -0.807268 0.186408 + +0.521469 -0.71774 0.148668 +0.466076 -0.807268 0.186408 +0.538814 -0.741614 0.103801 + +0.466076 -0.807268 0.186408 +0.521469 -0.71774 0.148668 +0.441588 -0.764853 0.232616 + +0.498509 -0.686139 0.18552 +0.441588 -0.764853 0.232616 +0.521469 -0.71774 0.148668 + +0.441588 -0.764853 0.232616 +0.498509 -0.686139 0.18552 +0.412432 -0.714352 0.266283 + +0.471173 -0.648515 0.212371 +0.412432 -0.714352 0.266283 +0.498509 -0.686139 0.18552 + +0.412432 -0.714352 0.266283 +0.471173 -0.648515 0.212371 +0.380179 -0.658489 0.285594 + +0.440934 -0.606894 0.227773 +0.380179 -0.658489 0.285594 +0.471173 -0.648515 0.212371 + +0.380179 -0.658489 0.285594 +0.440934 -0.606894 0.227773 +0.346569 -0.600275 0.289509 + +0.409423 -0.563522 0.230895 +0.346569 -0.600275 0.289509 +0.440934 -0.606894 0.227773 + +0.346569 -0.600275 0.289509 +0.409423 -0.563522 0.230895 +0.313414 -0.542848 0.277817 + +0.378338 -0.520737 0.22157 +0.313414 -0.542848 0.277817 +0.409423 -0.563522 0.230895 + +0.313414 -0.542848 0.277817 +0.378338 -0.520737 0.22157 +0.2825 -0.489304 0.251147 + +0.349354 -0.480845 0.2003 +0.2825 -0.489304 0.251147 +0.378338 -0.520737 0.22157 + +0.2825 -0.489304 0.251147 +0.349354 -0.480845 0.2003 +0.255495 -0.44253 0.210938 + +0.324035 -0.445996 0.168232 +0.255495 -0.44253 0.210938 +0.349354 -0.480845 0.2003 + +0.255495 -0.44253 0.210938 +0.324035 -0.445996 0.168232 +0.233854 -0.405047 0.159358 + +0.303746 -0.41807 0.127094 +0.233854 -0.405047 0.159358 +0.324035 -0.445996 0.168232 + +0.233854 -0.405047 0.159358 +0.303746 -0.41807 0.127094 +0.218745 -0.378877 0.0991858 + +0.289579 -0.398572 0.0791047 +0.218745 -0.378877 0.0991858 +0.303746 -0.41807 0.127094 + +0.218745 -0.378877 0.0991858 +0.289579 -0.398572 0.0791047 +0.21098 -0.365429 0.0336669 + +0.2823 -0.388552 0.0268508 +0.21098 -0.365429 0.0336669 +0.289579 -0.398572 0.0791047 + +0.21098 -0.365429 0.0336669 +0.2823 -0.388552 0.0268508 +0.21098 -0.365429 -0.0336669 + +0.2823 -0.388552 -0.0268508 +0.21098 -0.365429 -0.0336669 +0.2823 -0.388552 0.0268508 + +0.21098 -0.365429 -0.0336669 +0.2823 -0.388552 -0.0268508 +0.218745 -0.378877 -0.0991858 + +0.289579 -0.398572 -0.0791047 +0.218745 -0.378877 -0.0991858 +0.2823 -0.388552 -0.0268508 + +0.218745 -0.378877 -0.0991858 +0.289579 -0.398572 -0.0791047 +0.233854 -0.405047 -0.159358 + +0.303746 -0.41807 -0.127094 +0.233854 -0.405047 -0.159358 +0.289579 -0.398572 -0.0791047 + +0.233854 -0.405047 -0.159358 +0.303746 -0.41807 -0.127094 +0.255495 -0.44253 -0.210938 + +0.324035 -0.445996 -0.168232 +0.255495 -0.44253 -0.210938 +0.303746 -0.41807 -0.127094 + +0.255495 -0.44253 -0.210938 +0.324035 -0.445996 -0.168232 +0.2825 -0.489304 -0.251147 + +0.349354 -0.480845 -0.2003 +0.2825 -0.489304 -0.251147 +0.324035 -0.445996 -0.168232 + +0.2825 -0.489304 -0.251147 +0.349354 -0.480845 -0.2003 +0.313414 -0.542848 -0.277817 + +0.378338 -0.520737 -0.22157 +0.313414 -0.542848 -0.277817 +0.349354 -0.480845 -0.2003 + +0.313414 -0.542848 -0.277817 +0.378338 -0.520737 -0.22157 +0.346569 -0.600275 -0.289509 + +0.409423 -0.563522 -0.230895 +0.346569 -0.600275 -0.289509 +0.378338 -0.520737 -0.22157 + +0.346569 -0.600275 -0.289509 +0.409423 -0.563522 -0.230895 +0.380179 -0.658489 -0.285594 + +0.440934 -0.606894 -0.227773 +0.380179 -0.658489 -0.285594 +0.409423 -0.563522 -0.230895 + +0.380179 -0.658489 -0.285594 +0.440934 -0.606894 -0.227773 +0.412432 -0.714352 -0.266283 + +0.471173 -0.648515 -0.212371 +0.412432 -0.714352 -0.266283 +0.440934 -0.606894 -0.227773 + +0.412432 -0.714352 -0.266283 +0.471173 -0.648515 -0.212371 +0.441588 -0.764853 -0.232616 + +0.498509 -0.686139 -0.18552 +0.441588 -0.764853 -0.232616 +0.471173 -0.648515 -0.212371 + +0.441588 -0.764853 -0.232616 +0.498509 -0.686139 -0.18552 +0.466076 -0.807268 -0.186408 + +0.521469 -0.71774 -0.148668 +0.466076 -0.807268 -0.186408 +0.498509 -0.686139 -0.18552 + +0.466076 -0.807268 -0.186408 +0.521469 -0.71774 -0.148668 +0.484577 -0.839312 -0.130152 + +0.538814 -0.741614 -0.103801 +0.484577 -0.839312 -0.130152 +0.521469 -0.71774 -0.148668 + +0.484577 -0.839312 -0.130152 +0.538814 -0.741614 -0.103801 +0.496092 -0.859256 -0.0668786 + +0.54961 -0.756473 -0.0533384 +0.496092 -0.859256 -0.0668786 +0.538814 -0.741614 -0.103801 + +0.496092 -0.859256 -0.0668786 +0.54961 -0.756473 -0.0533384 +0.5 -0.866025 0 + +0.553274 -0.761517 0 +0.5 -0.866025 0 +0.54961 -0.756473 -0.0533384 + +0.553274 -0.761517 0 +0.594403 -0.660151 0 +0.54961 -0.756473 0.0533384 + +0.591186 -0.656579 0.0411236 +0.54961 -0.756473 0.0533384 +0.594403 -0.660151 0 + +0.54961 -0.756473 0.0533384 +0.591186 -0.656579 0.0411236 +0.538814 -0.741614 0.103801 + +0.581711 -0.646055 0.0800302 +0.538814 -0.741614 0.103801 +0.591186 -0.656579 0.0411236 + +0.538814 -0.741614 0.103801 +0.581711 -0.646055 0.0800302 +0.521469 -0.71774 0.148668 + +0.566487 -0.629148 0.114622 +0.521469 -0.71774 0.148668 +0.581711 -0.646055 0.0800302 + +0.521469 -0.71774 0.148668 +0.566487 -0.629148 0.114622 +0.498509 -0.686139 0.18552 + +0.546336 -0.606767 0.143035 +0.498509 -0.686139 0.18552 +0.566487 -0.629148 0.114622 + +0.498509 -0.686139 0.18552 +0.546336 -0.606767 0.143035 +0.471173 -0.648515 0.212371 + +0.522343 -0.580121 0.163737 +0.471173 -0.648515 0.212371 +0.546336 -0.606767 0.143035 + +0.471173 -0.648515 0.212371 +0.522343 -0.580121 0.163737 +0.440934 -0.606894 0.227773 + +0.495802 -0.550644 0.175612 +0.440934 -0.606894 0.227773 +0.522343 -0.580121 0.163737 + +0.440934 -0.606894 0.227773 +0.495802 -0.550644 0.175612 +0.409423 -0.563522 0.230895 + +0.468145 -0.519928 0.178019 +0.409423 -0.563522 0.230895 +0.495802 -0.550644 0.175612 + +0.409423 -0.563522 0.230895 +0.468145 -0.519928 0.178019 +0.378338 -0.520737 0.22157 + +0.440861 -0.489626 0.170829 +0.378338 -0.520737 0.22157 +0.468145 -0.519928 0.178019 + +0.378338 -0.520737 0.22157 +0.440861 -0.489626 0.170829 +0.349354 -0.480845 0.2003 + +0.415423 -0.461374 0.15443 +0.349354 -0.480845 0.2003 +0.440861 -0.489626 0.170829 + +0.349354 -0.480845 0.2003 +0.415423 -0.461374 0.15443 +0.324035 -0.445996 0.168232 + +0.3932 -0.436693 0.129706 +0.324035 -0.445996 0.168232 +0.415423 -0.461374 0.15443 + +0.324035 -0.445996 0.168232 +0.3932 -0.436693 0.129706 +0.303746 -0.41807 0.127094 + +0.375392 -0.416916 0.0979889 +0.303746 -0.41807 0.127094 +0.3932 -0.436693 0.129706 + +0.303746 -0.41807 0.127094 +0.375392 -0.416916 0.0979889 +0.289579 -0.398572 0.0791047 + +0.362959 -0.403106 0.0609893 +0.289579 -0.398572 0.0791047 +0.375392 -0.416916 0.0979889 + +0.289579 -0.398572 0.0791047 +0.362959 -0.403106 0.0609893 +0.2823 -0.388552 0.0268508 + +0.35657 -0.396011 0.0207018 +0.2823 -0.388552 0.0268508 +0.362959 -0.403106 0.0609893 + +0.2823 -0.388552 0.0268508 +0.35657 -0.396011 0.0207018 +0.2823 -0.388552 -0.0268508 + +0.35657 -0.396011 -0.0207018 +0.2823 -0.388552 -0.0268508 +0.35657 -0.396011 0.0207018 + +0.2823 -0.388552 -0.0268508 +0.35657 -0.396011 -0.0207018 +0.289579 -0.398572 -0.0791047 + +0.362959 -0.403106 -0.0609893 +0.289579 -0.398572 -0.0791047 +0.35657 -0.396011 -0.0207018 + +0.289579 -0.398572 -0.0791047 +0.362959 -0.403106 -0.0609893 +0.303746 -0.41807 -0.127094 + +0.375392 -0.416916 -0.0979889 +0.303746 -0.41807 -0.127094 +0.362959 -0.403106 -0.0609893 + +0.303746 -0.41807 -0.127094 +0.375392 -0.416916 -0.0979889 +0.324035 -0.445996 -0.168232 + +0.3932 -0.436693 -0.129706 +0.324035 -0.445996 -0.168232 +0.375392 -0.416916 -0.0979889 + +0.324035 -0.445996 -0.168232 +0.3932 -0.436693 -0.129706 +0.349354 -0.480845 -0.2003 + +0.415423 -0.461374 -0.15443 +0.349354 -0.480845 -0.2003 +0.3932 -0.436693 -0.129706 + +0.349354 -0.480845 -0.2003 +0.415423 -0.461374 -0.15443 +0.378338 -0.520737 -0.22157 + +0.440861 -0.489626 -0.170829 +0.378338 -0.520737 -0.22157 +0.415423 -0.461374 -0.15443 + +0.378338 -0.520737 -0.22157 +0.440861 -0.489626 -0.170829 +0.409423 -0.563522 -0.230895 + +0.468145 -0.519928 -0.178019 +0.409423 -0.563522 -0.230895 +0.440861 -0.489626 -0.170829 + +0.409423 -0.563522 -0.230895 +0.468145 -0.519928 -0.178019 +0.440934 -0.606894 -0.227773 + +0.495802 -0.550644 -0.175612 +0.440934 -0.606894 -0.227773 +0.468145 -0.519928 -0.178019 + +0.440934 -0.606894 -0.227773 +0.495802 -0.550644 -0.175612 +0.471173 -0.648515 -0.212371 + +0.522343 -0.580121 -0.163737 +0.471173 -0.648515 -0.212371 +0.495802 -0.550644 -0.175612 + +0.471173 -0.648515 -0.212371 +0.522343 -0.580121 -0.163737 +0.498509 -0.686139 -0.18552 + +0.546336 -0.606767 -0.143035 +0.498509 -0.686139 -0.18552 +0.522343 -0.580121 -0.163737 + +0.498509 -0.686139 -0.18552 +0.546336 -0.606767 -0.143035 +0.521469 -0.71774 -0.148668 + +0.566487 -0.629148 -0.114622 +0.521469 -0.71774 -0.148668 +0.546336 -0.606767 -0.143035 + +0.521469 -0.71774 -0.148668 +0.566487 -0.629148 -0.114622 +0.538814 -0.741614 -0.103801 + +0.581711 -0.646055 -0.0800302 +0.538814 -0.741614 -0.103801 +0.566487 -0.629148 -0.114622 + +0.538814 -0.741614 -0.103801 +0.581711 -0.646055 -0.0800302 +0.54961 -0.756473 -0.0533384 + +0.591186 -0.656579 -0.0411236 +0.54961 -0.756473 -0.0533384 +0.581711 -0.646055 -0.0800302 + +0.54961 -0.756473 -0.0533384 +0.591186 -0.656579 -0.0411236 +0.553274 -0.761517 0 + +0.594403 -0.660151 0 +0.553274 -0.761517 0 +0.591186 -0.656579 -0.0411236 + +0.594403 -0.660151 0 +0.628914 -0.566276 0 +0.591186 -0.656579 0.0411236 + +0.626184 -0.563818 0.0314299 +0.591186 -0.656579 0.0411236 +0.628914 -0.566276 0 + +0.591186 -0.656579 0.0411236 +0.626184 -0.563818 0.0314299 +0.581711 -0.646055 0.0800302 + +0.618141 -0.556576 0.0611654 +0.581711 -0.646055 0.0800302 +0.626184 -0.563818 0.0314299 + +0.581711 -0.646055 0.0800302 +0.618141 -0.556576 0.0611654 +0.566487 -0.629148 0.114622 + +0.605218 -0.544941 0.0876034 +0.566487 -0.629148 0.114622 +0.618141 -0.556576 0.0611654 + +0.566487 -0.629148 0.114622 +0.605218 -0.544941 0.0876034 +0.546336 -0.606767 0.143035 + +0.588114 -0.52954 0.109319 +0.546336 -0.606767 0.143035 +0.605218 -0.544941 0.0876034 + +0.546336 -0.606767 0.143035 +0.588114 -0.52954 0.109319 +0.522343 -0.580121 0.163737 + +0.567748 -0.511203 0.125141 +0.522343 -0.580121 0.163737 +0.588114 -0.52954 0.109319 + +0.522343 -0.580121 0.163737 +0.567748 -0.511203 0.125141 +0.495802 -0.550644 0.175612 + +0.54522 -0.490918 0.134216 +0.495802 -0.550644 0.175612 +0.567748 -0.511203 0.125141 + +0.495802 -0.550644 0.175612 +0.54522 -0.490918 0.134216 +0.468145 -0.519928 0.178019 + +0.521744 -0.46978 0.136056 +0.468145 -0.519928 0.178019 +0.54522 -0.490918 0.134216 + +0.468145 -0.519928 0.178019 +0.521744 -0.46978 0.136056 +0.440861 -0.489626 0.170829 + +0.498585 -0.448928 0.130561 +0.440861 -0.489626 0.170829 +0.521744 -0.46978 0.136056 + +0.440861 -0.489626 0.170829 +0.498585 -0.448928 0.130561 +0.415423 -0.461374 0.15443 + +0.476992 -0.429486 0.118028 +0.415423 -0.461374 0.15443 +0.498585 -0.448928 0.130561 + +0.415423 -0.461374 0.15443 +0.476992 -0.429486 0.118028 +0.3932 -0.436693 0.129706 + +0.45813 -0.412502 0.0991314 +0.3932 -0.436693 0.129706 +0.476992 -0.429486 0.118028 + +0.3932 -0.436693 0.129706 +0.45813 -0.412502 0.0991314 +0.375392 -0.416916 0.0979889 + +0.443014 -0.398892 0.0748908 +0.375392 -0.416916 0.0979889 +0.45813 -0.412502 0.0991314 + +0.375392 -0.416916 0.0979889 +0.443014 -0.398892 0.0748908 +0.362959 -0.403106 0.0609893 + +0.43246 -0.389389 0.0466128 +0.362959 -0.403106 0.0609893 +0.443014 -0.398892 0.0748908 + +0.362959 -0.403106 0.0609893 +0.43246 -0.389389 0.0466128 +0.35657 -0.396011 0.0207018 + +0.427037 -0.384506 0.0158219 +0.35657 -0.396011 0.0207018 +0.43246 -0.389389 0.0466128 + +0.35657 -0.396011 0.0207018 +0.427037 -0.384506 0.0158219 +0.35657 -0.396011 -0.0207018 + +0.427037 -0.384506 -0.0158219 +0.35657 -0.396011 -0.0207018 +0.427037 -0.384506 0.0158219 + +0.35657 -0.396011 -0.0207018 +0.427037 -0.384506 -0.0158219 +0.362959 -0.403106 -0.0609893 + +0.43246 -0.389389 -0.0466128 +0.362959 -0.403106 -0.0609893 +0.427037 -0.384506 -0.0158219 + +0.362959 -0.403106 -0.0609893 +0.43246 -0.389389 -0.0466128 +0.375392 -0.416916 -0.0979889 + +0.443014 -0.398892 -0.0748908 +0.375392 -0.416916 -0.0979889 +0.43246 -0.389389 -0.0466128 + +0.375392 -0.416916 -0.0979889 +0.443014 -0.398892 -0.0748908 +0.3932 -0.436693 -0.129706 + +0.45813 -0.412502 -0.0991314 +0.3932 -0.436693 -0.129706 +0.443014 -0.398892 -0.0748908 + +0.3932 -0.436693 -0.129706 +0.45813 -0.412502 -0.0991314 +0.415423 -0.461374 -0.15443 + +0.476992 -0.429486 -0.118028 +0.415423 -0.461374 -0.15443 +0.45813 -0.412502 -0.0991314 + +0.415423 -0.461374 -0.15443 +0.476992 -0.429486 -0.118028 +0.440861 -0.489626 -0.170829 + +0.498585 -0.448928 -0.130561 +0.440861 -0.489626 -0.170829 +0.476992 -0.429486 -0.118028 + +0.440861 -0.489626 -0.170829 +0.498585 -0.448928 -0.130561 +0.468145 -0.519928 -0.178019 + +0.521744 -0.46978 -0.136056 +0.468145 -0.519928 -0.178019 +0.498585 -0.448928 -0.130561 + +0.468145 -0.519928 -0.178019 +0.521744 -0.46978 -0.136056 +0.495802 -0.550644 -0.175612 + +0.54522 -0.490918 -0.134216 +0.495802 -0.550644 -0.175612 +0.521744 -0.46978 -0.136056 + +0.495802 -0.550644 -0.175612 +0.54522 -0.490918 -0.134216 +0.522343 -0.580121 -0.163737 + +0.567748 -0.511203 -0.125141 +0.522343 -0.580121 -0.163737 +0.54522 -0.490918 -0.134216 + +0.522343 -0.580121 -0.163737 +0.567748 -0.511203 -0.125141 +0.546336 -0.606767 -0.143035 + +0.588114 -0.52954 -0.109319 +0.546336 -0.606767 -0.143035 +0.567748 -0.511203 -0.125141 + +0.546336 -0.606767 -0.143035 +0.588114 -0.52954 -0.109319 +0.566487 -0.629148 -0.114622 + +0.605218 -0.544941 -0.0876034 +0.566487 -0.629148 -0.114622 +0.588114 -0.52954 -0.109319 + +0.566487 -0.629148 -0.114622 +0.605218 -0.544941 -0.0876034 +0.581711 -0.646055 -0.0800302 + +0.618141 -0.556576 -0.0611654 +0.581711 -0.646055 -0.0800302 +0.605218 -0.544941 -0.0876034 + +0.581711 -0.646055 -0.0800302 +0.618141 -0.556576 -0.0611654 +0.591186 -0.656579 -0.0411236 + +0.626184 -0.563818 -0.0314299 +0.591186 -0.656579 -0.0411236 +0.618141 -0.556576 -0.0611654 + +0.591186 -0.656579 -0.0411236 +0.626184 -0.563818 -0.0314299 +0.594403 -0.660151 0 + +0.628914 -0.566276 0 +0.594403 -0.660151 0 +0.626184 -0.563818 -0.0314299 + +0.628914 -0.566276 0 +0.662827 -0.481572 0 +0.626184 -0.563818 0.0314299 + +0.660444 -0.47984 0.0252061 +0.626184 -0.563818 0.0314299 +0.662827 -0.481572 0 + +0.626184 -0.563818 0.0314299 +0.660444 -0.47984 0.0252061 +0.618141 -0.556576 0.0611654 + +0.653421 -0.474739 0.0490534 +0.618141 -0.556576 0.0611654 +0.660444 -0.47984 0.0252061 + +0.618141 -0.556576 0.0611654 +0.653421 -0.474739 0.0490534 +0.605218 -0.544941 0.0876034 + +0.64214 -0.466542 0.0702562 +0.605218 -0.544941 0.0876034 +0.653421 -0.474739 0.0490534 + +0.605218 -0.544941 0.0876034 +0.64214 -0.466542 0.0702562 +0.588114 -0.52954 0.109319 + +0.627206 -0.455692 0.0876715 +0.588114 -0.52954 0.109319 +0.64214 -0.466542 0.0702562 + +0.588114 -0.52954 0.109319 +0.627206 -0.455692 0.0876715 +0.567748 -0.511203 0.125141 + +0.609425 -0.442773 0.10036 +0.567748 -0.511203 0.125141 +0.627206 -0.455692 0.0876715 + +0.567748 -0.511203 0.125141 +0.609425 -0.442773 0.10036 +0.54522 -0.490918 0.134216 + +0.589757 -0.428483 0.107639 +0.54522 -0.490918 0.134216 +0.609425 -0.442773 0.10036 + +0.54522 -0.490918 0.134216 +0.589757 -0.428483 0.107639 +0.521744 -0.46978 0.136056 + +0.569261 -0.413592 0.109114 +0.521744 -0.46978 0.136056 +0.589757 -0.428483 0.107639 + +0.521744 -0.46978 0.136056 +0.569261 -0.413592 0.109114 +0.498585 -0.448928 0.130561 + +0.549042 -0.398902 0.104708 +0.498585 -0.448928 0.130561 +0.569261 -0.413592 0.109114 + +0.498585 -0.448928 0.130561 +0.549042 -0.398902 0.104708 +0.476992 -0.429486 0.118028 + +0.53019 -0.385205 0.0946559 +0.476992 -0.429486 0.118028 +0.549042 -0.398902 0.104708 + +0.476992 -0.429486 0.118028 +0.53019 -0.385205 0.0946559 +0.45813 -0.412502 0.0991314 + +0.513721 -0.37324 0.0795014 +0.45813 -0.412502 0.0991314 +0.53019 -0.385205 0.0946559 + +0.45813 -0.412502 0.0991314 +0.513721 -0.37324 0.0795014 +0.443014 -0.398892 0.0748908 + +0.500524 -0.363652 0.0600609 +0.443014 -0.398892 0.0748908 +0.513721 -0.37324 0.0795014 + +0.443014 -0.398892 0.0748908 +0.500524 -0.363652 0.0600609 +0.43246 -0.389389 0.0466128 + +0.49131 -0.356957 0.0373825 +0.43246 -0.389389 0.0466128 +0.500524 -0.363652 0.0600609 + +0.43246 -0.389389 0.0466128 +0.49131 -0.356957 0.0373825 +0.427037 -0.384506 0.0158219 + +0.486575 -0.353517 0.0126889 +0.427037 -0.384506 0.0158219 +0.49131 -0.356957 0.0373825 + +0.427037 -0.384506 0.0158219 +0.486575 -0.353517 0.0126889 +0.427037 -0.384506 -0.0158219 + +0.486575 -0.353517 -0.0126889 +0.427037 -0.384506 -0.0158219 +0.486575 -0.353517 0.0126889 + +0.427037 -0.384506 -0.0158219 +0.486575 -0.353517 -0.0126889 +0.43246 -0.389389 -0.0466128 + +0.49131 -0.356957 -0.0373825 +0.43246 -0.389389 -0.0466128 +0.486575 -0.353517 -0.0126889 + +0.43246 -0.389389 -0.0466128 +0.49131 -0.356957 -0.0373825 +0.443014 -0.398892 -0.0748908 + +0.500524 -0.363652 -0.0600609 +0.443014 -0.398892 -0.0748908 +0.49131 -0.356957 -0.0373825 + +0.443014 -0.398892 -0.0748908 +0.500524 -0.363652 -0.0600609 +0.45813 -0.412502 -0.0991314 + +0.513721 -0.37324 -0.0795014 +0.45813 -0.412502 -0.0991314 +0.500524 -0.363652 -0.0600609 + +0.45813 -0.412502 -0.0991314 +0.513721 -0.37324 -0.0795014 +0.476992 -0.429486 -0.118028 + +0.53019 -0.385205 -0.0946559 +0.476992 -0.429486 -0.118028 +0.513721 -0.37324 -0.0795014 + +0.476992 -0.429486 -0.118028 +0.53019 -0.385205 -0.0946559 +0.498585 -0.448928 -0.130561 + +0.549042 -0.398902 -0.104708 +0.498585 -0.448928 -0.130561 +0.53019 -0.385205 -0.0946559 + +0.498585 -0.448928 -0.130561 +0.549042 -0.398902 -0.104708 +0.521744 -0.46978 -0.136056 + +0.569261 -0.413592 -0.109114 +0.521744 -0.46978 -0.136056 +0.549042 -0.398902 -0.104708 + +0.521744 -0.46978 -0.136056 +0.569261 -0.413592 -0.109114 +0.54522 -0.490918 -0.134216 + +0.589757 -0.428483 -0.107639 +0.54522 -0.490918 -0.134216 +0.569261 -0.413592 -0.109114 + +0.54522 -0.490918 -0.134216 +0.589757 -0.428483 -0.107639 +0.567748 -0.511203 -0.125141 + +0.609425 -0.442773 -0.10036 +0.567748 -0.511203 -0.125141 +0.589757 -0.428483 -0.107639 + +0.567748 -0.511203 -0.125141 +0.609425 -0.442773 -0.10036 +0.588114 -0.52954 -0.109319 + +0.627206 -0.455692 -0.0876715 +0.588114 -0.52954 -0.109319 +0.609425 -0.442773 -0.10036 + +0.588114 -0.52954 -0.109319 +0.627206 -0.455692 -0.0876715 +0.605218 -0.544941 -0.0876034 + +0.64214 -0.466542 -0.0702562 +0.605218 -0.544941 -0.0876034 +0.627206 -0.455692 -0.0876715 + +0.605218 -0.544941 -0.0876034 +0.64214 -0.466542 -0.0702562 +0.618141 -0.556576 -0.0611654 + +0.653421 -0.474739 -0.0490534 +0.618141 -0.556576 -0.0611654 +0.64214 -0.466542 -0.0702562 + +0.618141 -0.556576 -0.0611654 +0.653421 -0.474739 -0.0490534 +0.626184 -0.563818 -0.0314299 + +0.660444 -0.47984 -0.0252061 +0.626184 -0.563818 -0.0314299 +0.653421 -0.474739 -0.0490534 + +0.626184 -0.563818 -0.0314299 +0.660444 -0.47984 -0.0252061 +0.628914 -0.566276 0 + +0.662827 -0.481572 0 +0.628914 -0.566276 0 +0.660444 -0.47984 -0.0252061 + +0.662827 -0.481572 0 +0.701481 -0.405 0 +0.660444 -0.47984 0.0252061 + +0.699146 -0.403652 0.0230616 +0.660444 -0.47984 0.0252061 +0.701481 -0.405 0 + +0.660444 -0.47984 0.0252061 +0.699146 -0.403652 0.0230616 +0.653421 -0.474739 0.0490534 + +0.692269 -0.399682 0.0448799 +0.653421 -0.474739 0.0490534 +0.699146 -0.403652 0.0230616 + +0.653421 -0.474739 0.0490534 +0.692269 -0.399682 0.0448799 +0.64214 -0.466542 0.0702562 + +0.681219 -0.393302 0.0642788 +0.64214 -0.466542 0.0702562 +0.692269 -0.399682 0.0448799 + +0.64214 -0.466542 0.0702562 +0.681219 -0.393302 0.0642788 +0.627206 -0.455692 0.0876715 + +0.666593 -0.384858 0.0802123 +0.627206 -0.455692 0.0876715 +0.681219 -0.393302 0.0642788 + +0.627206 -0.455692 0.0876715 +0.666593 -0.384858 0.0802123 +0.609425 -0.442773 0.10036 + +0.64918 -0.374804 0.0918216 +0.609425 -0.442773 0.10036 +0.666593 -0.384858 0.0802123 + +0.609425 -0.442773 0.10036 +0.64918 -0.374804 0.0918216 +0.589757 -0.428483 0.107639 + +0.629916 -0.363682 0.0984808 +0.589757 -0.428483 0.107639 +0.64918 -0.374804 0.0918216 + +0.589757 -0.428483 0.107639 +0.629916 -0.363682 0.0984808 +0.569261 -0.413592 0.109114 + +0.609843 -0.352093 0.0998308 +0.569261 -0.413592 0.109114 +0.629916 -0.363682 0.0984808 + +0.569261 -0.413592 0.109114 +0.609843 -0.352093 0.0998308 +0.549042 -0.398902 0.104708 + +0.59004 -0.34066 0.095799 +0.549042 -0.398902 0.104708 +0.609843 -0.352093 0.0998308 + +0.549042 -0.398902 0.104708 +0.59004 -0.34066 0.095799 +0.53019 -0.385205 0.0946559 + +0.571577 -0.33 0.0866025 +0.53019 -0.385205 0.0946559 +0.59004 -0.34066 0.095799 + +0.53019 -0.385205 0.0946559 +0.571577 -0.33 0.0866025 +0.513721 -0.37324 0.0795014 + +0.555448 -0.320688 0.0727374 +0.513721 -0.37324 0.0795014 +0.571577 -0.33 0.0866025 + +0.513721 -0.37324 0.0795014 +0.555448 -0.320688 0.0727374 +0.500524 -0.363652 0.0600609 + +0.542523 -0.313226 0.0549509 +0.500524 -0.363652 0.0600609 +0.555448 -0.320688 0.0727374 + +0.500524 -0.363652 0.0600609 +0.542523 -0.313226 0.0549509 +0.49131 -0.356957 0.0373825 + +0.533498 -0.308015 0.034202 +0.49131 -0.356957 0.0373825 +0.542523 -0.313226 0.0549509 + +0.49131 -0.356957 0.0373825 +0.533498 -0.308015 0.034202 +0.486575 -0.353517 0.0126889 + +0.528861 -0.305338 0.0116093 +0.486575 -0.353517 0.0126889 +0.533498 -0.308015 0.034202 + +0.486575 -0.353517 0.0126889 +0.528861 -0.305338 0.0116093 +0.486575 -0.353517 -0.0126889 + +0.528861 -0.305338 -0.0116093 +0.486575 -0.353517 -0.0126889 +0.528861 -0.305338 0.0116093 + +0.486575 -0.353517 -0.0126889 +0.528861 -0.305338 -0.0116093 +0.49131 -0.356957 -0.0373825 + +0.533498 -0.308015 -0.034202 +0.49131 -0.356957 -0.0373825 +0.528861 -0.305338 -0.0116093 + +0.49131 -0.356957 -0.0373825 +0.533498 -0.308015 -0.034202 +0.500524 -0.363652 -0.0600609 + +0.542523 -0.313226 -0.0549509 +0.500524 -0.363652 -0.0600609 +0.533498 -0.308015 -0.034202 + +0.500524 -0.363652 -0.0600609 +0.542523 -0.313226 -0.0549509 +0.513721 -0.37324 -0.0795014 + +0.555448 -0.320688 -0.0727374 +0.513721 -0.37324 -0.0795014 +0.542523 -0.313226 -0.0549509 + +0.513721 -0.37324 -0.0795014 +0.555448 -0.320688 -0.0727374 +0.53019 -0.385205 -0.0946559 + +0.571577 -0.33 -0.0866025 +0.53019 -0.385205 -0.0946559 +0.555448 -0.320688 -0.0727374 + +0.53019 -0.385205 -0.0946559 +0.571577 -0.33 -0.0866025 +0.549042 -0.398902 -0.104708 + +0.59004 -0.34066 -0.095799 +0.549042 -0.398902 -0.104708 +0.571577 -0.33 -0.0866025 + +0.549042 -0.398902 -0.104708 +0.59004 -0.34066 -0.095799 +0.569261 -0.413592 -0.109114 + +0.609843 -0.352093 -0.0998308 +0.569261 -0.413592 -0.109114 +0.59004 -0.34066 -0.095799 + +0.569261 -0.413592 -0.109114 +0.609843 -0.352093 -0.0998308 +0.589757 -0.428483 -0.107639 + +0.629916 -0.363682 -0.0984808 +0.589757 -0.428483 -0.107639 +0.609843 -0.352093 -0.0998308 + +0.589757 -0.428483 -0.107639 +0.629916 -0.363682 -0.0984808 +0.609425 -0.442773 -0.10036 + +0.64918 -0.374804 -0.0918216 +0.609425 -0.442773 -0.10036 +0.629916 -0.363682 -0.0984808 + +0.609425 -0.442773 -0.10036 +0.64918 -0.374804 -0.0918216 +0.627206 -0.455692 -0.0876715 + +0.666593 -0.384858 -0.0802123 +0.627206 -0.455692 -0.0876715 +0.64918 -0.374804 -0.0918216 + +0.627206 -0.455692 -0.0876715 +0.666593 -0.384858 -0.0802123 +0.64214 -0.466542 -0.0702562 + +0.681219 -0.393302 -0.0642788 +0.64214 -0.466542 -0.0702562 +0.666593 -0.384858 -0.0802123 + +0.64214 -0.466542 -0.0702562 +0.681219 -0.393302 -0.0642788 +0.653421 -0.474739 -0.0490534 + +0.692269 -0.399682 -0.0448799 +0.653421 -0.474739 -0.0490534 +0.681219 -0.393302 -0.0642788 + +0.653421 -0.474739 -0.0490534 +0.692269 -0.399682 -0.0448799 +0.660444 -0.47984 -0.0252061 + +0.699146 -0.403652 -0.0230616 +0.660444 -0.47984 -0.0252061 +0.692269 -0.399682 -0.0448799 + +0.660444 -0.47984 -0.0252061 +0.699146 -0.403652 -0.0230616 +0.662827 -0.481572 0 + +0.701481 -0.405 0 +0.662827 -0.481572 0 +0.699146 -0.403652 -0.0230616 + +0.701481 -0.405 0 +0.748467 -0.333239 0 +0.699146 -0.403652 0.0230616 + +0.745776 -0.332041 0.0252061 +0.699146 -0.403652 0.0230616 +0.748467 -0.333239 0 + +0.699146 -0.403652 0.0230616 +0.745776 -0.332041 0.0252061 +0.692269 -0.399682 0.0448799 + +0.737846 -0.32851 0.0490534 +0.692269 -0.399682 0.0448799 +0.745776 -0.332041 0.0252061 + +0.692269 -0.399682 0.0448799 +0.737846 -0.32851 0.0490534 +0.681219 -0.393302 0.0642788 + +0.725107 -0.322838 0.0702562 +0.681219 -0.393302 0.0642788 +0.737846 -0.32851 0.0490534 + +0.681219 -0.393302 0.0642788 +0.725107 -0.322838 0.0702562 +0.666593 -0.384858 0.0802123 + +0.708243 -0.31533 0.0876715 +0.666593 -0.384858 0.0802123 +0.725107 -0.322838 0.0702562 + +0.666593 -0.384858 0.0802123 +0.708243 -0.31533 0.0876715 +0.64918 -0.374804 0.0918216 + +0.688166 -0.306391 0.10036 +0.64918 -0.374804 0.0918216 +0.708243 -0.31533 0.0876715 + +0.64918 -0.374804 0.0918216 +0.688166 -0.306391 0.10036 +0.629916 -0.363682 0.0984808 + +0.665956 -0.296503 0.107639 +0.629916 -0.363682 0.0984808 +0.688166 -0.306391 0.10036 + +0.629916 -0.363682 0.0984808 +0.665956 -0.296503 0.107639 +0.609843 -0.352093 0.0998308 + +0.642812 -0.286198 0.109114 +0.609843 -0.352093 0.0998308 +0.665956 -0.296503 0.107639 + +0.609843 -0.352093 0.0998308 +0.642812 -0.286198 0.109114 +0.59004 -0.34066 0.095799 + +0.61998 -0.276033 0.104708 +0.59004 -0.34066 0.095799 +0.642812 -0.286198 0.109114 + +0.59004 -0.34066 0.095799 +0.61998 -0.276033 0.104708 +0.571577 -0.33 0.0866025 + +0.598692 -0.266555 0.0946559 +0.571577 -0.33 0.0866025 +0.61998 -0.276033 0.104708 + +0.571577 -0.33 0.0866025 +0.598692 -0.266555 0.0946559 +0.555448 -0.320688 0.0727374 + +0.580096 -0.258275 0.0795014 +0.555448 -0.320688 0.0727374 +0.598692 -0.266555 0.0946559 + +0.555448 -0.320688 0.0727374 +0.580096 -0.258275 0.0795014 +0.542523 -0.313226 0.0549509 + +0.565194 -0.251641 0.0600609 +0.542523 -0.313226 0.0549509 +0.580096 -0.258275 0.0795014 + +0.542523 -0.313226 0.0549509 +0.565194 -0.251641 0.0600609 +0.533498 -0.308015 0.034202 + +0.554789 -0.247008 0.0373825 +0.533498 -0.308015 0.034202 +0.565194 -0.251641 0.0600609 + +0.533498 -0.308015 0.034202 +0.554789 -0.247008 0.0373825 +0.528861 -0.305338 0.0116093 + +0.549443 -0.244628 0.0126889 +0.528861 -0.305338 0.0116093 +0.554789 -0.247008 0.0373825 + +0.528861 -0.305338 0.0116093 +0.549443 -0.244628 0.0126889 +0.528861 -0.305338 -0.0116093 + +0.549443 -0.244628 -0.0126889 +0.528861 -0.305338 -0.0116093 +0.549443 -0.244628 0.0126889 + +0.528861 -0.305338 -0.0116093 +0.549443 -0.244628 -0.0126889 +0.533498 -0.308015 -0.034202 + +0.554789 -0.247008 -0.0373825 +0.533498 -0.308015 -0.034202 +0.549443 -0.244628 -0.0126889 + +0.533498 -0.308015 -0.034202 +0.554789 -0.247008 -0.0373825 +0.542523 -0.313226 -0.0549509 + +0.565194 -0.251641 -0.0600609 +0.542523 -0.313226 -0.0549509 +0.554789 -0.247008 -0.0373825 + +0.542523 -0.313226 -0.0549509 +0.565194 -0.251641 -0.0600609 +0.555448 -0.320688 -0.0727374 + +0.580096 -0.258275 -0.0795014 +0.555448 -0.320688 -0.0727374 +0.565194 -0.251641 -0.0600609 + +0.555448 -0.320688 -0.0727374 +0.580096 -0.258275 -0.0795014 +0.571577 -0.33 -0.0866025 + +0.598692 -0.266555 -0.0946559 +0.571577 -0.33 -0.0866025 +0.580096 -0.258275 -0.0795014 + +0.571577 -0.33 -0.0866025 +0.598692 -0.266555 -0.0946559 +0.59004 -0.34066 -0.095799 + +0.61998 -0.276033 -0.104708 +0.59004 -0.34066 -0.095799 +0.598692 -0.266555 -0.0946559 + +0.59004 -0.34066 -0.095799 +0.61998 -0.276033 -0.104708 +0.609843 -0.352093 -0.0998308 + +0.642812 -0.286198 -0.109114 +0.609843 -0.352093 -0.0998308 +0.61998 -0.276033 -0.104708 + +0.609843 -0.352093 -0.0998308 +0.642812 -0.286198 -0.109114 +0.629916 -0.363682 -0.0984808 + +0.665956 -0.296503 -0.107639 +0.629916 -0.363682 -0.0984808 +0.642812 -0.286198 -0.109114 + +0.629916 -0.363682 -0.0984808 +0.665956 -0.296503 -0.107639 +0.64918 -0.374804 -0.0918216 + +0.688166 -0.306391 -0.10036 +0.64918 -0.374804 -0.0918216 +0.665956 -0.296503 -0.107639 + +0.64918 -0.374804 -0.0918216 +0.688166 -0.306391 -0.10036 +0.666593 -0.384858 -0.0802123 + +0.708243 -0.31533 -0.0876715 +0.666593 -0.384858 -0.0802123 +0.688166 -0.306391 -0.10036 + +0.666593 -0.384858 -0.0802123 +0.708243 -0.31533 -0.0876715 +0.681219 -0.393302 -0.0642788 + +0.725107 -0.322838 -0.0702562 +0.681219 -0.393302 -0.0642788 +0.708243 -0.31533 -0.0876715 + +0.681219 -0.393302 -0.0642788 +0.725107 -0.322838 -0.0702562 +0.692269 -0.399682 -0.0448799 + +0.737846 -0.32851 -0.0490534 +0.692269 -0.399682 -0.0448799 +0.725107 -0.322838 -0.0702562 + +0.692269 -0.399682 -0.0448799 +0.737846 -0.32851 -0.0490534 +0.699146 -0.403652 -0.0230616 + +0.745776 -0.332041 -0.0252061 +0.699146 -0.403652 -0.0230616 +0.737846 -0.32851 -0.0490534 + +0.699146 -0.403652 -0.0230616 +0.745776 -0.332041 -0.0252061 +0.701481 -0.405 0 + +0.748467 -0.333239 0 +0.701481 -0.405 0 +0.745776 -0.332041 -0.0252061 + +0.748467 -0.333239 0 +0.804867 -0.261517 0 +0.745776 -0.332041 0.0252061 + +0.801373 -0.260382 0.0314299 +0.745776 -0.332041 0.0252061 +0.804867 -0.261517 0 + +0.745776 -0.332041 0.0252061 +0.801373 -0.260382 0.0314299 +0.737846 -0.32851 0.0490534 + +0.79108 -0.257037 0.0611654 +0.737846 -0.32851 0.0490534 +0.801373 -0.260382 0.0314299 + +0.737846 -0.32851 0.0490534 +0.79108 -0.257037 0.0611654 +0.725107 -0.322838 0.0702562 + +0.774542 -0.251664 0.0876034 +0.725107 -0.322838 0.0702562 +0.79108 -0.257037 0.0611654 + +0.725107 -0.322838 0.0702562 +0.774542 -0.251664 0.0876034 +0.708243 -0.31533 0.0876715 + +0.752652 -0.244551 0.109319 +0.708243 -0.31533 0.0876715 +0.774542 -0.251664 0.0876034 + +0.708243 -0.31533 0.0876715 +0.752652 -0.244551 0.109319 +0.688166 -0.306391 0.10036 + +0.726589 -0.236083 0.125141 +0.688166 -0.306391 0.10036 +0.752652 -0.244551 0.109319 + +0.688166 -0.306391 0.10036 +0.726589 -0.236083 0.125141 +0.665956 -0.296503 0.107639 + +0.697758 -0.226715 0.134216 +0.665956 -0.296503 0.107639 +0.726589 -0.236083 0.125141 + +0.665956 -0.296503 0.107639 +0.697758 -0.226715 0.134216 +0.642812 -0.286198 0.109114 + +0.667714 -0.216953 0.136056 +0.642812 -0.286198 0.109114 +0.697758 -0.226715 0.134216 + +0.642812 -0.286198 0.109114 +0.667714 -0.216953 0.136056 +0.61998 -0.276033 0.104708 + +0.638076 -0.207323 0.130561 +0.61998 -0.276033 0.104708 +0.667714 -0.216953 0.136056 + +0.61998 -0.276033 0.104708 +0.638076 -0.207323 0.130561 +0.598692 -0.266555 0.0946559 + +0.610442 -0.198345 0.118028 +0.598692 -0.266555 0.0946559 +0.638076 -0.207323 0.130561 + +0.598692 -0.266555 0.0946559 +0.610442 -0.198345 0.118028 +0.580096 -0.258275 0.0795014 + +0.586302 -0.190501 0.0991314 +0.580096 -0.258275 0.0795014 +0.610442 -0.198345 0.118028 + +0.580096 -0.258275 0.0795014 +0.586302 -0.190501 0.0991314 +0.565194 -0.251641 0.0600609 + +0.566957 -0.184216 0.0748908 +0.565194 -0.251641 0.0600609 +0.586302 -0.190501 0.0991314 + +0.565194 -0.251641 0.0600609 +0.566957 -0.184216 0.0748908 +0.554789 -0.247008 0.0373825 + +0.553451 -0.179827 0.0466128 +0.554789 -0.247008 0.0373825 +0.566957 -0.184216 0.0748908 + +0.554789 -0.247008 0.0373825 +0.553451 -0.179827 0.0466128 +0.549443 -0.244628 0.0126889 + +0.54651 -0.177572 0.0158219 +0.549443 -0.244628 0.0126889 +0.553451 -0.179827 0.0466128 + +0.549443 -0.244628 0.0126889 +0.54651 -0.177572 0.0158219 +0.549443 -0.244628 -0.0126889 + +0.54651 -0.177572 -0.0158219 +0.549443 -0.244628 -0.0126889 +0.54651 -0.177572 0.0158219 + +0.549443 -0.244628 -0.0126889 +0.54651 -0.177572 -0.0158219 +0.554789 -0.247008 -0.0373825 + +0.553451 -0.179827 -0.0466128 +0.554789 -0.247008 -0.0373825 +0.54651 -0.177572 -0.0158219 + +0.554789 -0.247008 -0.0373825 +0.553451 -0.179827 -0.0466128 +0.565194 -0.251641 -0.0600609 + +0.566957 -0.184216 -0.0748908 +0.565194 -0.251641 -0.0600609 +0.553451 -0.179827 -0.0466128 + +0.565194 -0.251641 -0.0600609 +0.566957 -0.184216 -0.0748908 +0.580096 -0.258275 -0.0795014 + +0.586302 -0.190501 -0.0991314 +0.580096 -0.258275 -0.0795014 +0.566957 -0.184216 -0.0748908 + +0.580096 -0.258275 -0.0795014 +0.586302 -0.190501 -0.0991314 +0.598692 -0.266555 -0.0946559 + +0.610442 -0.198345 -0.118028 +0.598692 -0.266555 -0.0946559 +0.586302 -0.190501 -0.0991314 + +0.598692 -0.266555 -0.0946559 +0.610442 -0.198345 -0.118028 +0.61998 -0.276033 -0.104708 + +0.638076 -0.207323 -0.130561 +0.61998 -0.276033 -0.104708 +0.610442 -0.198345 -0.118028 + +0.61998 -0.276033 -0.104708 +0.638076 -0.207323 -0.130561 +0.642812 -0.286198 -0.109114 + +0.667714 -0.216953 -0.136056 +0.642812 -0.286198 -0.109114 +0.638076 -0.207323 -0.130561 + +0.642812 -0.286198 -0.109114 +0.667714 -0.216953 -0.136056 +0.665956 -0.296503 -0.107639 + +0.697758 -0.226715 -0.134216 +0.665956 -0.296503 -0.107639 +0.667714 -0.216953 -0.136056 + +0.665956 -0.296503 -0.107639 +0.697758 -0.226715 -0.134216 +0.688166 -0.306391 -0.10036 + +0.726589 -0.236083 -0.125141 +0.688166 -0.306391 -0.10036 +0.697758 -0.226715 -0.134216 + +0.688166 -0.306391 -0.10036 +0.726589 -0.236083 -0.125141 +0.708243 -0.31533 -0.0876715 + +0.752652 -0.244551 -0.109319 +0.708243 -0.31533 -0.0876715 +0.726589 -0.236083 -0.125141 + +0.708243 -0.31533 -0.0876715 +0.752652 -0.244551 -0.109319 +0.725107 -0.322838 -0.0702562 + +0.774542 -0.251664 -0.0876034 +0.725107 -0.322838 -0.0702562 +0.752652 -0.244551 -0.109319 + +0.725107 -0.322838 -0.0702562 +0.774542 -0.251664 -0.0876034 +0.737846 -0.32851 -0.0490534 + +0.79108 -0.257037 -0.0611654 +0.737846 -0.32851 -0.0490534 +0.774542 -0.251664 -0.0876034 + +0.737846 -0.32851 -0.0490534 +0.79108 -0.257037 -0.0611654 +0.745776 -0.332041 -0.0252061 + +0.801373 -0.260382 -0.0314299 +0.745776 -0.332041 -0.0252061 +0.79108 -0.257037 -0.0611654 + +0.745776 -0.332041 -0.0252061 +0.801373 -0.260382 -0.0314299 +0.748467 -0.333239 0 + +0.804867 -0.261517 0 +0.748467 -0.333239 0 +0.801373 -0.260382 -0.0314299 + +0.804867 -0.261517 0 +0.868909 -0.184692 0 +0.801373 -0.260382 0.0314299 + +0.864207 -0.183693 0.0411236 +0.801373 -0.260382 0.0314299 +0.868909 -0.184692 0 + +0.801373 -0.260382 0.0314299 +0.864207 -0.183693 0.0411236 +0.79108 -0.257037 0.0611654 + +0.850356 -0.180749 0.0800302 +0.79108 -0.257037 0.0611654 +0.864207 -0.183693 0.0411236 + +0.79108 -0.257037 0.0611654 +0.850356 -0.180749 0.0800302 +0.774542 -0.251664 0.0876034 + +0.828101 -0.176018 0.114622 +0.774542 -0.251664 0.0876034 +0.850356 -0.180749 0.0800302 + +0.774542 -0.251664 0.0876034 +0.828101 -0.176018 0.114622 +0.752652 -0.244551 0.109319 + +0.798644 -0.169757 0.143035 +0.752652 -0.244551 0.109319 +0.828101 -0.176018 0.114622 + +0.752652 -0.244551 0.109319 +0.798644 -0.169757 0.143035 +0.726589 -0.236083 0.125141 + +0.763571 -0.162302 0.163737 +0.726589 -0.236083 0.125141 +0.798644 -0.169757 0.143035 + +0.726589 -0.236083 0.125141 +0.763571 -0.162302 0.163737 +0.697758 -0.226715 0.134216 + +0.724773 -0.154055 0.175612 +0.697758 -0.226715 0.134216 +0.763571 -0.162302 0.163737 + +0.697758 -0.226715 0.134216 +0.724773 -0.154055 0.175612 +0.667714 -0.216953 0.136056 + +0.684343 -0.145462 0.178019 +0.667714 -0.216953 0.136056 +0.724773 -0.154055 0.175612 + +0.667714 -0.216953 0.136056 +0.684343 -0.145462 0.178019 +0.638076 -0.207323 0.130561 + +0.644459 -0.136984 0.170829 +0.638076 -0.207323 0.130561 +0.684343 -0.145462 0.178019 + +0.638076 -0.207323 0.130561 +0.644459 -0.136984 0.170829 +0.610442 -0.198345 0.118028 + +0.607273 -0.12908 0.15443 +0.610442 -0.198345 0.118028 +0.644459 -0.136984 0.170829 + +0.610442 -0.198345 0.118028 +0.607273 -0.12908 0.15443 +0.586302 -0.190501 0.0991314 + +0.574788 -0.122175 0.129706 +0.586302 -0.190501 0.0991314 +0.607273 -0.12908 0.15443 + +0.586302 -0.190501 0.0991314 +0.574788 -0.122175 0.129706 +0.566957 -0.184216 0.0748908 + +0.548756 -0.116642 0.0979889 +0.566957 -0.184216 0.0748908 +0.574788 -0.122175 0.129706 + +0.566957 -0.184216 0.0748908 +0.548756 -0.116642 0.0979889 +0.553451 -0.179827 0.0466128 + +0.53058 -0.112778 0.0609893 +0.553451 -0.179827 0.0466128 +0.548756 -0.116642 0.0979889 + +0.553451 -0.179827 0.0466128 +0.53058 -0.112778 0.0609893 +0.54651 -0.177572 0.0158219 + +0.52124 -0.110793 0.0207018 +0.54651 -0.177572 0.0158219 +0.53058 -0.112778 0.0609893 + +0.54651 -0.177572 0.0158219 +0.52124 -0.110793 0.0207018 +0.54651 -0.177572 -0.0158219 + +0.52124 -0.110793 -0.0207018 +0.54651 -0.177572 -0.0158219 +0.52124 -0.110793 0.0207018 + +0.54651 -0.177572 -0.0158219 +0.52124 -0.110793 -0.0207018 +0.553451 -0.179827 -0.0466128 + +0.53058 -0.112778 -0.0609893 +0.553451 -0.179827 -0.0466128 +0.52124 -0.110793 -0.0207018 + +0.553451 -0.179827 -0.0466128 +0.53058 -0.112778 -0.0609893 +0.566957 -0.184216 -0.0748908 + +0.548756 -0.116642 -0.0979889 +0.566957 -0.184216 -0.0748908 +0.53058 -0.112778 -0.0609893 + +0.566957 -0.184216 -0.0748908 +0.548756 -0.116642 -0.0979889 +0.586302 -0.190501 -0.0991314 + +0.574788 -0.122175 -0.129706 +0.586302 -0.190501 -0.0991314 +0.548756 -0.116642 -0.0979889 + +0.586302 -0.190501 -0.0991314 +0.574788 -0.122175 -0.129706 +0.610442 -0.198345 -0.118028 + +0.607273 -0.12908 -0.15443 +0.610442 -0.198345 -0.118028 +0.574788 -0.122175 -0.129706 + +0.610442 -0.198345 -0.118028 +0.607273 -0.12908 -0.15443 +0.638076 -0.207323 -0.130561 + +0.644459 -0.136984 -0.170829 +0.638076 -0.207323 -0.130561 +0.607273 -0.12908 -0.15443 + +0.638076 -0.207323 -0.130561 +0.644459 -0.136984 -0.170829 +0.667714 -0.216953 -0.136056 + +0.684343 -0.145462 -0.178019 +0.667714 -0.216953 -0.136056 +0.644459 -0.136984 -0.170829 + +0.667714 -0.216953 -0.136056 +0.684343 -0.145462 -0.178019 +0.697758 -0.226715 -0.134216 + +0.724773 -0.154055 -0.175612 +0.697758 -0.226715 -0.134216 +0.684343 -0.145462 -0.178019 + +0.697758 -0.226715 -0.134216 +0.724773 -0.154055 -0.175612 +0.726589 -0.236083 -0.125141 + +0.763571 -0.162302 -0.163737 +0.726589 -0.236083 -0.125141 +0.724773 -0.154055 -0.175612 + +0.726589 -0.236083 -0.125141 +0.763571 -0.162302 -0.163737 +0.752652 -0.244551 -0.109319 + +0.798644 -0.169757 -0.143035 +0.752652 -0.244551 -0.109319 +0.763571 -0.162302 -0.163737 + +0.752652 -0.244551 -0.109319 +0.798644 -0.169757 -0.143035 +0.774542 -0.251664 -0.0876034 + +0.828101 -0.176018 -0.114622 +0.774542 -0.251664 -0.0876034 +0.798644 -0.169757 -0.143035 + +0.774542 -0.251664 -0.0876034 +0.828101 -0.176018 -0.114622 +0.79108 -0.257037 -0.0611654 + +0.850356 -0.180749 -0.0800302 +0.79108 -0.257037 -0.0611654 +0.828101 -0.176018 -0.114622 + +0.79108 -0.257037 -0.0611654 +0.850356 -0.180749 -0.0800302 +0.801373 -0.260382 -0.0314299 + +0.864207 -0.183693 -0.0411236 +0.801373 -0.260382 -0.0314299 +0.850356 -0.180749 -0.0800302 + +0.801373 -0.260382 -0.0314299 +0.864207 -0.183693 -0.0411236 +0.804867 -0.261517 0 + +0.868909 -0.184692 0 +0.804867 -0.261517 0 +0.864207 -0.183693 -0.0411236 + +0.868909 -0.184692 0 +0.93613 -0.0983913 0 +0.864207 -0.183693 0.0411236 + +0.92993 -0.0977396 0.0533384 +0.864207 -0.183693 0.0411236 +0.93613 -0.0983913 0 + +0.864207 -0.183693 0.0411236 +0.92993 -0.0977396 0.0533384 +0.850356 -0.180749 0.0800302 + +0.911664 -0.0958197 0.103801 +0.850356 -0.180749 0.0800302 +0.92993 -0.0977396 0.0533384 + +0.850356 -0.180749 0.0800302 +0.911664 -0.0958197 0.103801 +0.828101 -0.176018 0.114622 + +0.882316 -0.0927351 0.148668 +0.828101 -0.176018 0.114622 +0.911664 -0.0958197 0.103801 + +0.828101 -0.176018 0.114622 +0.882316 -0.0927351 0.148668 +0.798644 -0.169757 0.143035 + +0.843469 -0.0886521 0.18552 +0.798644 -0.169757 0.143035 +0.882316 -0.0927351 0.148668 + +0.798644 -0.169757 0.143035 +0.843469 -0.0886521 0.18552 +0.763571 -0.162302 0.163737 + +0.797217 -0.0837909 0.212371 +0.763571 -0.162302 0.163737 +0.843469 -0.0886521 0.18552 + +0.763571 -0.162302 0.163737 +0.797217 -0.0837909 0.212371 +0.724773 -0.154055 0.175612 + +0.746053 -0.0784133 0.227773 +0.724773 -0.154055 0.175612 +0.797217 -0.0837909 0.212371 + +0.724773 -0.154055 0.175612 +0.746053 -0.0784133 0.227773 +0.684343 -0.145462 0.178019 + +0.692736 -0.0728095 0.230895 +0.684343 -0.145462 0.178019 +0.746053 -0.0784133 0.227773 + +0.684343 -0.145462 0.178019 +0.692736 -0.0728095 0.230895 +0.644459 -0.136984 0.170829 + +0.64014 -0.0672814 0.22157 +0.644459 -0.136984 0.170829 +0.692736 -0.0728095 0.230895 + +0.644459 -0.136984 0.170829 +0.64014 -0.0672814 0.22157 +0.607273 -0.12908 0.15443 + +0.591101 -0.0621272 0.2003 +0.607273 -0.12908 0.15443 +0.64014 -0.0672814 0.22157 + +0.607273 -0.12908 0.15443 +0.591101 -0.0621272 0.2003 +0.574788 -0.122175 0.129706 + +0.548261 -0.0576246 0.168232 +0.574788 -0.122175 0.129706 +0.591101 -0.0621272 0.2003 + +0.574788 -0.122175 0.129706 +0.548261 -0.0576246 0.168232 +0.548756 -0.116642 0.0979889 + +0.513932 -0.0540164 0.127094 +0.548756 -0.116642 0.0979889 +0.548261 -0.0576246 0.168232 + +0.548756 -0.116642 0.0979889 +0.513932 -0.0540164 0.127094 +0.53058 -0.112778 0.0609893 + +0.489963 -0.0514972 0.0791047 +0.53058 -0.112778 0.0609893 +0.513932 -0.0540164 0.127094 + +0.53058 -0.112778 0.0609893 +0.489963 -0.0514972 0.0791047 +0.52124 -0.110793 0.0207018 + +0.477646 -0.0502026 0.0268508 +0.52124 -0.110793 0.0207018 +0.489963 -0.0514972 0.0791047 + +0.52124 -0.110793 0.0207018 +0.477646 -0.0502026 0.0268508 +0.52124 -0.110793 -0.0207018 + +0.477646 -0.0502026 -0.0268508 +0.52124 -0.110793 -0.0207018 +0.477646 -0.0502026 0.0268508 + +0.52124 -0.110793 -0.0207018 +0.477646 -0.0502026 -0.0268508 +0.53058 -0.112778 -0.0609893 + +0.489963 -0.0514972 -0.0791047 +0.53058 -0.112778 -0.0609893 +0.477646 -0.0502026 -0.0268508 + +0.53058 -0.112778 -0.0609893 +0.489963 -0.0514972 -0.0791047 +0.548756 -0.116642 -0.0979889 + +0.513932 -0.0540164 -0.127094 +0.548756 -0.116642 -0.0979889 +0.489963 -0.0514972 -0.0791047 + +0.548756 -0.116642 -0.0979889 +0.513932 -0.0540164 -0.127094 +0.574788 -0.122175 -0.129706 + +0.548261 -0.0576246 -0.168232 +0.574788 -0.122175 -0.129706 +0.513932 -0.0540164 -0.127094 + +0.574788 -0.122175 -0.129706 +0.548261 -0.0576246 -0.168232 +0.607273 -0.12908 -0.15443 + +0.591101 -0.0621272 -0.2003 +0.607273 -0.12908 -0.15443 +0.548261 -0.0576246 -0.168232 + +0.607273 -0.12908 -0.15443 +0.591101 -0.0621272 -0.2003 +0.644459 -0.136984 -0.170829 + +0.64014 -0.0672814 -0.22157 +0.644459 -0.136984 -0.170829 +0.591101 -0.0621272 -0.2003 + +0.644459 -0.136984 -0.170829 +0.64014 -0.0672814 -0.22157 +0.684343 -0.145462 -0.178019 + +0.692736 -0.0728095 -0.230895 +0.684343 -0.145462 -0.178019 +0.64014 -0.0672814 -0.22157 + +0.684343 -0.145462 -0.178019 +0.692736 -0.0728095 -0.230895 +0.724773 -0.154055 -0.175612 + +0.746053 -0.0784133 -0.227773 +0.724773 -0.154055 -0.175612 +0.692736 -0.0728095 -0.230895 + +0.724773 -0.154055 -0.175612 +0.746053 -0.0784133 -0.227773 +0.763571 -0.162302 -0.163737 + +0.797217 -0.0837909 -0.212371 +0.763571 -0.162302 -0.163737 +0.746053 -0.0784133 -0.227773 + +0.763571 -0.162302 -0.163737 +0.797217 -0.0837909 -0.212371 +0.798644 -0.169757 -0.143035 + +0.843469 -0.0886521 -0.18552 +0.798644 -0.169757 -0.143035 +0.797217 -0.0837909 -0.212371 + +0.798644 -0.169757 -0.143035 +0.843469 -0.0886521 -0.18552 +0.828101 -0.176018 -0.114622 + +0.882316 -0.0927351 -0.148668 +0.828101 -0.176018 -0.114622 +0.843469 -0.0886521 -0.18552 + +0.828101 -0.176018 -0.114622 +0.882316 -0.0927351 -0.148668 +0.850356 -0.180749 -0.0800302 + +0.911664 -0.0958197 -0.103801 +0.850356 -0.180749 -0.0800302 +0.882316 -0.0927351 -0.148668 + +0.850356 -0.180749 -0.0800302 +0.911664 -0.0958197 -0.103801 +0.864207 -0.183693 -0.0411236 + +0.92993 -0.0977396 -0.0533384 +0.864207 -0.183693 -0.0411236 +0.911664 -0.0958197 -0.103801 + +0.864207 -0.183693 -0.0411236 +0.92993 -0.0977396 -0.0533384 +0.868909 -0.184692 0 + +0.93613 -0.0983913 0 +0.868909 -0.184692 0 +0.92993 -0.0977396 -0.0533384 + +0.93613 -0.0983913 0 +1 -8.88178e-16 0 +0.92993 -0.0977396 0.0533384 + +0.992183 -8.81236e-16 0.0668786 +0.92993 -0.0977396 0.0533384 +1 -8.88178e-16 0 + +0.92993 -0.0977396 0.0533384 +0.992183 -8.81236e-16 0.0668786 +0.911664 -0.0958197 0.103801 + +0.969153 -8.60781e-16 0.130152 +0.911664 -0.0958197 0.103801 +0.992183 -8.81236e-16 0.0668786 + +0.911664 -0.0958197 0.103801 +0.969153 -8.60781e-16 0.130152 +0.882316 -0.0927351 0.148668 + +0.932153 -8.27918e-16 0.186408 +0.882316 -0.0927351 0.148668 +0.969153 -8.60781e-16 0.130152 + +0.882316 -0.0927351 0.148668 +0.932153 -8.27918e-16 0.186408 +0.843469 -0.0886521 0.18552 + +0.883176 -7.84418e-16 0.232616 +0.843469 -0.0886521 0.18552 +0.932153 -8.27918e-16 0.186408 + +0.843469 -0.0886521 0.18552 +0.883176 -7.84418e-16 0.232616 +0.797217 -0.0837909 0.212371 + +0.824863 -7.32626e-16 0.266283 +0.797217 -0.0837909 0.212371 +0.883176 -7.84418e-16 0.232616 + +0.797217 -0.0837909 0.212371 +0.824863 -7.32626e-16 0.266283 +0.746053 -0.0784133 0.227773 + +0.760358 -6.75334e-16 0.285594 +0.746053 -0.0784133 0.227773 +0.824863 -7.32626e-16 0.266283 + +0.746053 -0.0784133 0.227773 +0.760358 -6.75334e-16 0.285594 +0.692736 -0.0728095 0.230895 + +0.693138 -6.1563e-16 0.289509 +0.692736 -0.0728095 0.230895 +0.760358 -6.75334e-16 0.285594 + +0.692736 -0.0728095 0.230895 +0.693138 -6.1563e-16 0.289509 +0.64014 -0.0672814 0.22157 + +0.626827 -5.56734e-16 0.277817 +0.64014 -0.0672814 0.22157 +0.693138 -6.1563e-16 0.289509 + +0.64014 -0.0672814 0.22157 +0.626827 -5.56734e-16 0.277817 +0.591101 -0.0621272 0.2003 + +0.565 -5.01821e-16 0.251147 +0.591101 -0.0621272 0.2003 +0.626827 -5.56734e-16 0.277817 + +0.591101 -0.0621272 0.2003 +0.565 -5.01821e-16 0.251147 +0.548261 -0.0576246 0.168232 + +0.51099 -4.5385e-16 0.210938 +0.548261 -0.0576246 0.168232 +0.565 -5.01821e-16 0.251147 + +0.548261 -0.0576246 0.168232 +0.51099 -4.5385e-16 0.210938 +0.513932 -0.0540164 0.127094 + +0.467709 -4.15409e-16 0.159358 +0.513932 -0.0540164 0.127094 +0.51099 -4.5385e-16 0.210938 + +0.513932 -0.0540164 0.127094 +0.467709 -4.15409e-16 0.159358 +0.489963 -0.0514972 0.0791047 + +0.437489 -3.88568e-16 0.0991858 +0.489963 -0.0514972 0.0791047 +0.467709 -4.15409e-16 0.159358 + +0.489963 -0.0514972 0.0791047 +0.437489 -3.88568e-16 0.0991858 +0.477646 -0.0502026 0.0268508 + +0.421961 -3.74777e-16 0.0336669 +0.477646 -0.0502026 0.0268508 +0.437489 -3.88568e-16 0.0991858 + +0.477646 -0.0502026 0.0268508 +0.421961 -3.74777e-16 0.0336669 +0.477646 -0.0502026 -0.0268508 + +0.421961 -3.74777e-16 -0.0336669 +0.477646 -0.0502026 -0.0268508 +0.421961 -3.74777e-16 0.0336669 + +0.477646 -0.0502026 -0.0268508 +0.421961 -3.74777e-16 -0.0336669 +0.489963 -0.0514972 -0.0791047 + +0.437489 -3.88568e-16 -0.0991858 +0.489963 -0.0514972 -0.0791047 +0.421961 -3.74777e-16 -0.0336669 + +0.489963 -0.0514972 -0.0791047 +0.437489 -3.88568e-16 -0.0991858 +0.513932 -0.0540164 -0.127094 + +0.467709 -4.15409e-16 -0.159358 +0.513932 -0.0540164 -0.127094 +0.437489 -3.88568e-16 -0.0991858 + +0.513932 -0.0540164 -0.127094 +0.467709 -4.15409e-16 -0.159358 +0.548261 -0.0576246 -0.168232 + +0.51099 -4.5385e-16 -0.210938 +0.548261 -0.0576246 -0.168232 +0.467709 -4.15409e-16 -0.159358 + +0.548261 -0.0576246 -0.168232 +0.51099 -4.5385e-16 -0.210938 +0.591101 -0.0621272 -0.2003 + +0.565 -5.01821e-16 -0.251147 +0.591101 -0.0621272 -0.2003 +0.51099 -4.5385e-16 -0.210938 + +0.591101 -0.0621272 -0.2003 +0.565 -5.01821e-16 -0.251147 +0.64014 -0.0672814 -0.22157 + +0.626827 -5.56734e-16 -0.277817 +0.64014 -0.0672814 -0.22157 +0.565 -5.01821e-16 -0.251147 + +0.64014 -0.0672814 -0.22157 +0.626827 -5.56734e-16 -0.277817 +0.692736 -0.0728095 -0.230895 + +0.693138 -6.1563e-16 -0.289509 +0.692736 -0.0728095 -0.230895 +0.626827 -5.56734e-16 -0.277817 + +0.692736 -0.0728095 -0.230895 +0.693138 -6.1563e-16 -0.289509 +0.746053 -0.0784133 -0.227773 + +0.760358 -6.75334e-16 -0.285594 +0.746053 -0.0784133 -0.227773 +0.693138 -6.1563e-16 -0.289509 + +0.746053 -0.0784133 -0.227773 +0.760358 -6.75334e-16 -0.285594 +0.797217 -0.0837909 -0.212371 + +0.824863 -7.32626e-16 -0.266283 +0.797217 -0.0837909 -0.212371 +0.760358 -6.75334e-16 -0.285594 + +0.797217 -0.0837909 -0.212371 +0.824863 -7.32626e-16 -0.266283 +0.843469 -0.0886521 -0.18552 + +0.883176 -7.84418e-16 -0.232616 +0.843469 -0.0886521 -0.18552 +0.824863 -7.32626e-16 -0.266283 + +0.843469 -0.0886521 -0.18552 +0.883176 -7.84418e-16 -0.232616 +0.882316 -0.0927351 -0.148668 + +0.932153 -8.27918e-16 -0.186408 +0.882316 -0.0927351 -0.148668 +0.883176 -7.84418e-16 -0.232616 + +0.882316 -0.0927351 -0.148668 +0.932153 -8.27918e-16 -0.186408 +0.911664 -0.0958197 -0.103801 + +0.969153 -8.60781e-16 -0.130152 +0.911664 -0.0958197 -0.103801 +0.932153 -8.27918e-16 -0.186408 + +0.911664 -0.0958197 -0.103801 +0.969153 -8.60781e-16 -0.130152 +0.92993 -0.0977396 -0.0533384 + +0.992183 -8.81236e-16 -0.0668786 +0.92993 -0.0977396 -0.0533384 +0.969153 -8.60781e-16 -0.130152 + +0.92993 -0.0977396 -0.0533384 +0.992183 -8.81236e-16 -0.0668786 +0.93613 -0.0983913 0 + +1 -8.88178e-16 0 +0.93613 -0.0983913 0 +0.992183 -8.81236e-16 -0.0668786 + diff --git a/trunk/PQP/build/pqp-tar/PQP_v1.3/demos/sample/Makefile b/trunk/PQP/build/pqp-tar/PQP_v1.3/demos/sample/Makefile new file mode 100644 index 00000000..fff3b2a8 --- /dev/null +++ b/trunk/PQP/build/pqp-tar/PQP_v1.3/demos/sample/Makefile @@ -0,0 +1,28 @@ +CC = g++ + +CFLAGS = -O2 -I. -I../../include +LDFLAGS = -L. -L../../lib +LDLIBS = -lPQP -lm + +.SUFFIXES: .cpp + +SRCS = main.cpp + +OBJECTS = main.o + +TARGET = sample + +CLEAN = $(OBJECTS) $(TARGET) + +.cpp.o: + $(CC) ${CFLAGS} -c $< + +$(TARGET): $(OBJECTS) + $(CC) $(CFLAGS) -o $(TARGET) $(OBJECTS) -L. $(LDFLAGS) $(LDLIBS) + +run: $(TARGET) + $(TARGET) + +clean: + /bin/rm -f $(CLEAN) + diff --git a/trunk/PQP/build/pqp-tar/PQP_v1.3/demos/sample/main.cpp b/trunk/PQP/build/pqp-tar/PQP_v1.3/demos/sample/main.cpp new file mode 100644 index 00000000..f81dfdba --- /dev/null +++ b/trunk/PQP/build/pqp-tar/PQP_v1.3/demos/sample/main.cpp @@ -0,0 +1,301 @@ +/*************************************************************************\ + + Copyright 1999 The University of North Carolina at Chapel Hill. + All Rights Reserved. + + Permission to use, copy, modify and distribute this software and its + documentation for educational, research and non-profit purposes, without + fee, and without a written agreement is hereby granted, provided that the + above copyright notice and the following three paragraphs appear in all + copies. + + IN NO EVENT SHALL THE UNIVERSITY OF NORTH CAROLINA AT CHAPEL HILL BE + LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR + CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF THE + USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY + OF NORTH CAROLINA HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH + DAMAGES. + + THE UNIVERSITY OF NORTH CAROLINA SPECIFICALLY DISCLAIM ANY + WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE + PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF + NORTH CAROLINA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT, + UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + + The authors may be contacted via: + + US Mail: S. Gottschalk, E. Larsen + Department of Computer Science + Sitterson Hall, CB #3175 + University of N. Carolina + Chapel Hill, NC 27599-3175 + + Phone: (919)962-1749 + + EMail: geom@cs.unc.edu + + +\**************************************************************************/ + +#include <stdio.h> +#include <math.h> +#include "PQP.h" + +#define PI 3.14159265359 +#define LISTS 0 + +main() +{ + // initialize PQP model pointers + + PQP_Model *b1 = new PQP_Model; + PQP_Model *b2 = new PQP_Model; + + // Add trianges to form tori + + fprintf(stderr, "loading tris into PQP_Model objects..."); fflush(stderr); + + PQP_REAL a = (PQP_REAL)1.0; // major radius of the tori + PQP_REAL b = (PQP_REAL)0.2; // minor radius of the tori + + int n1 = 50; // tori will have n1*n2*2 triangles each + int n2 = 50; + + int uc, vc; + int count = 0; + + b1->BeginModel(); + b2->BeginModel(); + for(uc=0; uc<n1; uc++) + { + for(vc=0; vc<n2; vc++) + { + PQP_REAL u1 = (PQP_REAL)(2.0*PI*uc) / n1; + PQP_REAL u2 = (PQP_REAL)(2.0*PI*(uc+1)) / n1; + PQP_REAL v1 = (PQP_REAL)(2.0*PI*vc) / n2; + PQP_REAL v2 = (PQP_REAL)(2.0*PI*(vc+1)) / n2; + + PQP_REAL p1[3], p2[3], p3[3], p4[3]; + + p1[0] = (a - b * cos(v1)) * cos(u1); + p2[0] = (a - b * cos(v1)) * cos(u2); + p3[0] = (a - b * cos(v2)) * cos(u1); + p4[0] = (a - b * cos(v2)) * cos(u2); + p1[1] = (a - b * cos(v1)) * sin(u1); + p2[1] = (a - b * cos(v1)) * sin(u2); + p3[1] = (a - b * cos(v2)) * sin(u1); + p4[1] = (a - b * cos(v2)) * sin(u2); + p1[2] = b * sin(v1); + p2[2] = b * sin(v1); + p3[2] = b * sin(v2); + p4[2] = b * sin(v2); + + b1->AddTri(p1, p2, p3, count); + b1->AddTri(p4, p2, p3, count+1); + b2->AddTri(p1, p2, p3, count); + b2->AddTri(p4, p2, p3, count+1); + + count += 2; + } + } + + fprintf(stderr, "done\n"); fflush(stderr); + fprintf(stderr, "Tori have %d triangles each.\n", count); + fprintf(stderr, "building hierarchies..."); fflush(stderr); + b1->EndModel(); + b2->EndModel(); + fprintf(stderr, "done.\n"); + b1->MemUsage(1); + b2->MemUsage(1); + fflush(stderr); + + // now we are free to call the proximity routines. + // but first, construct the transformations that define the placement + // of our two hierarchies in world space: + + // this placement causes them to overlap a large amount. + + PQP_REAL R1[3][3], R2[3][3], T1[3], T2[3]; + + R1[0][0] = R1[1][1] = R1[2][2] = 1.0; + R1[0][1] = R1[1][0] = R1[2][0] = 0.0; + R1[0][2] = R1[1][2] = R1[2][1] = 0.0; + + R2[0][0] = R2[1][1] = R2[2][2] = 1.0; + R2[0][1] = R2[1][0] = R2[2][0] = 0.0; + R2[0][2] = R2[1][2] = R2[2][1] = 0.0; + + T1[0] = 1.0; T1[1] = 0.0; T1[2] = 0.0; + T2[0] = 0.0; T2[1] = 0.0; T2[2] = 0.0; + + // perform a collision query + + PQP_CollideResult cres; + PQP_Collide(&cres, R1, T1, b1, R2, T2, b2, PQP_ALL_CONTACTS); + + // looking at the report, we can see where all the contacts were, and + // also how many tests were necessary: + + printf("\nAll contact collision query between overlapping tori:\n"); + printf("Num BV tests: %d\n", cres.NumBVTests()); + printf("Num Tri tests: %d\n", cres.NumTriTests()); + printf("Num contact pairs: %d\n", cres.NumPairs()); +#if LISTS + int i; + for(i=0; i<cres.NumPairs(); i++) + { + printf("\t contact %4d: tri %4d and tri %4d\n", + i, + cres.Id1(i), + cres.Id2(i)); + } +#endif + + // Notice the PQP_ALL_CONTACTS flag we used in the call to PQP_Collide. + // The alternative is to use the PQP_FIRST_CONTACT flag, instead. + // The result is that the collide routine searches for any contact, + // but not all of them. It can take many many fewer tests to locate a single + // contact. + + PQP_Collide(&cres, R1, T1, b1, R2, T2, b2, PQP_FIRST_CONTACT); + + printf("\nFirst contact collision query between overlapping tori:\n"); + printf("Num BV tests: %d\n", cres.NumBVTests()); + printf("Num Tri tests: %d\n", cres.NumTriTests()); + printf("Num contact pairs: %d\n", cres.NumPairs()); +#if LISTS + for(i=0; i<cres.NumPairs(); i++) + { + printf("\t contact %4d: tri %4d and tri %4d\n", + i, + cres.Id1(i), + cres.Id2(i)); + } +#endif + + // Perform a distance query, which should return a distance of 0.0 + + PQP_DistanceResult dres; + PQP_Distance(&dres, R1, T1, b1, R2, T2, b2, 0.0, 0.0); + + printf("\nDistance query between overlapping tori\n"); + printf("Num BV tests: %d\n", dres.NumBVTests()); + printf("Num Tri tests: %d\n", dres.NumTriTests()); + printf("Distance: %lf\n", dres.Distance()); + + // by rotating one of them around the x-axis 90 degrees, they + // are now interlocked, but not quite touching. + + R1[0][0] = 1.0; R1[0][1] = 0.0; R1[0][2] = 0.0; + R1[1][0] = 0.0; R1[1][1] = 0.0; R1[1][2] =-1.0; + R1[2][0] = 0.0; R1[2][1] = 1.0; R1[2][2] = 0.0; + + PQP_Collide(&cres, R1, T1, b1, R2, T2, b2, PQP_FIRST_CONTACT); + + printf("\nCollision query between interlocked but nontouching tori:\n"); + printf("Num BV tests: %d\n", cres.NumBVTests()); + printf("Num Tri tests: %d\n", cres.NumTriTests()); + printf("Num contact pairs: %d\n", cres.NumPairs()); +#if LISTS + for(i=0; i<cres.NumPairs(); i++) + { + printf("\t contact %4d: tri %4d and tri %4d\n", + i, + cres.Id1(i), + cres.Id2(i)); + } +#endif + + // Perform a distance query - the distance found should be greater than zero + + PQP_Distance(&dres, R1, T1, b1, R2, T2, b2, 0.0, 0.0); + + printf("\nDistance query between interlocked but nontouching tori\n"); + printf("Num BV tests: %d\n", dres.NumBVTests()); + printf("Num Tri tests: %d\n", dres.NumTriTests()); + printf("Distance: %lf\n", dres.Distance()); + + // Perform two tolerance queries. One tolerance setting is greater than the + // distance between the models, and one tolerance is less than the distance. + + PQP_ToleranceResult tres; + PQP_REAL tolerance = (PQP_REAL).60; + PQP_Tolerance(&tres, R1, T1, b1, R2, T2, b2, tolerance); + + printf("\nTolerance query between interlocked but nontouching tori\n" + "with tolerance %lf\n", tolerance); + printf("Num BV tests: %d\n", tres.NumBVTests()); + printf("Num Tri tests: %d\n", tres.NumTriTests()); + printf("Closer than tolerance? ",tolerance); + if (tres.CloserThanTolerance()) printf("yes.\n"); else printf("no.\n"); + + tolerance = (PQP_REAL).40; + PQP_Tolerance(&tres, R1, T1, b1, R2, T2, b2, tolerance); + + printf("\nTolerance query between interlocked but nontouching tori\n" + "with tolerance %lf\n", tolerance); + printf("Num BV tests: %d\n", tres.NumBVTests()); + printf("Num Tri tests: %d\n", tres.NumTriTests()); + printf("Closer than tolerance? ",tolerance); + if (tres.CloserThanTolerance()) printf("yes.\n"); else printf("no.\n"); + + // by moving one of the tori closer to the other, they + // almost touch. This is the case that requires a lot + // of work wiht methods which use bounding boxes of limited + // aspect ratio. Oriented bounding boxes are more efficient + // at determining noncontact than spheres, octree, or axis-aligned + // bounding boxes for scenarios like this. In this case, the interlocked + // tori are separated by 0.0001 at their closest point. + + + T1[0] = (PQP_REAL)1.5999; + + PQP_Collide(&cres, R1, T1, b1, R2, T2, b2, PQP_FIRST_CONTACT); + + printf("\nCollision query on interlocked and almost touching tori:\n"); + printf("Num BV tests: %d\n", cres.NumBVTests()); + printf("Num Tri tests: %d\n", cres.NumTriTests()); + printf("Num contact pairs: %d\n", cres.NumPairs()); +#if LISTS + for(i=0; i<cres.NumPairs(); i++) + { + printf("\t contact %4d: tri %4d and tri %4d\n", + i, + cres.Id1(i), + cres.Id2(i)); + } +#endif + + PQP_Distance(&dres, R1, T1, b1, R2, T2, b2, 0.0, 0.0); + + printf("\nDistance query between interlocked and almost touching tori\n"); + printf("Num BV tests: %d\n", dres.NumBVTests()); + printf("Num Tri tests: %d\n", dres.NumTriTests()); + printf("Distance: %lf\n", dres.Distance()); + + tolerance = (PQP_REAL)0.00015; + PQP_Tolerance(&tres, R1, T1, b1, R2, T2, b2, tolerance); + + printf("\nTolerance query between interlocked and almost touching tori\n" + "with tolerance %lf\n", tolerance); + printf("Num BV tests: %d\n", tres.NumBVTests()); + printf("Num Tri tests: %d\n", tres.NumTriTests()); + printf("Closer than tolerance? ",tolerance); + if (tres.CloserThanTolerance()) printf("yes.\n"); else printf("no.\n"); + + tolerance = (PQP_REAL)0.00005; + PQP_Tolerance(&tres, R1, T1, b1, R2, T2, b2, tolerance); + + printf("\nTolerance query between interlocked and almost touching tori\n" + "with tolerance %lf\n", tolerance); + printf("Num BV tests: %d\n", tres.NumBVTests()); + printf("Num Tri tests: %d\n", tres.NumTriTests()); + printf("Closer than tolerance? ",tolerance); + if (tres.CloserThanTolerance()) printf("yes.\n"); else printf("no.\n"); + + delete b1; + delete b2; + + return 0; +} diff --git a/trunk/PQP/build/pqp-tar/PQP_v1.3/demos/sample/sample.dsp b/trunk/PQP/build/pqp-tar/PQP_v1.3/demos/sample/sample.dsp new file mode 100644 index 00000000..aec7603d --- /dev/null +++ b/trunk/PQP/build/pqp-tar/PQP_v1.3/demos/sample/sample.dsp @@ -0,0 +1,91 @@ +# Microsoft Developer Studio Project File - Name="sample" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 5.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Console Application" 0x0103 + +CFG=sample - Win32 Debug +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "sample.mak". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "sample.mak" CFG="sample - Win32 Debug" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "sample - Win32 Release" (based on "Win32 (x86) Console Application") +!MESSAGE "sample - Win32 Debug" (based on "Win32 (x86) Console Application") +!MESSAGE + +# Begin Project +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +RSC=rc.exe + +!IF "$(CFG)" == "sample - Win32 Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "Release" +# PROP BASE Intermediate_Dir "Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "./" +# PROP Intermediate_Dir "Release" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c +# ADD CPP /nologo /W3 /GX /O2 /I "..\..\include" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 +# ADD LINK32 pqp.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib PQP.lib /nologo /subsystem:console /machine:I386 /libpath:"..\..\lib" +# SUBTRACT LINK32 /nodefaultlib + +!ELSEIF "$(CFG)" == "sample - Win32 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "Debug" +# PROP BASE Intermediate_Dir "Debug" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "./" +# PROP Intermediate_Dir "Debug" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c +# ADD CPP /nologo /W3 /GX /Od /I "..\..\include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c +# ADD BASE RSC /l 0x409 /d "_DEBUG" +# ADD RSC /l 0x409 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept +# ADD LINK32 PQP.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\..\lib" +# SUBTRACT LINK32 /nodefaultlib + +!ENDIF + +# Begin Target + +# Name "sample - Win32 Release" +# Name "sample - Win32 Debug" +# Begin Source File + +SOURCE=.\main.cpp +# End Source File +# End Target +# End Project diff --git a/trunk/PQP/build/pqp-tar/PQP_v1.3/demos/sample/sample.plg b/trunk/PQP/build/pqp-tar/PQP_v1.3/demos/sample/sample.plg new file mode 100644 index 00000000..958f67ae --- /dev/null +++ b/trunk/PQP/build/pqp-tar/PQP_v1.3/demos/sample/sample.plg @@ -0,0 +1,20 @@ +--------------------Configuration: sample - Win32 Release-------------------- +Begining build with project "C:\Win95\Desktop\PQP_v1.2.1\demos\sample\sample.dsp", at root. +Active configuration is Win32 (x86) Console Application (based on Win32 (x86) Console Application) + +Project's tools are: + "32-bit C/C++ Compiler for 80x86" with flags "/nologo /ML /W3 /GX /O2 /I "..\..\include" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /Fp"Release/sample.pch" /YX /Fo"Release/" /Fd"Release/" /FD /c " + "Win32 Resource Compiler" with flags "/l 0x409 /d "NDEBUG" " + "Browser Database Maker" with flags "/nologo /o"./sample.bsc" " + "COFF Linker for 80x86" with flags "pqp.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib PQP.lib /nologo /subsystem:console /incremental:no /pdb:"./sample.pdb" /machine:I386 /out:"./sample.exe" /libpath:"..\..\lib" " + "Custom Build" with flags "" + "<Component 0xa>" with flags "" + +Creating temp file "C:\WIN95\TEMP\RSP6314.TMP" with contents <pqp.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib PQP.lib /nologo /subsystem:console /incremental:no /pdb:"./sample.pdb" /machine:I386 /out:"./sample.exe" /libpath:"..\..\lib" +.\Release\main.obj> +Creating command line "link.exe @C:\WIN95\TEMP\RSP6314.TMP" +Linking... + + + +sample.exe - 0 error(s), 0 warning(s) diff --git a/trunk/PQP/build/pqp-tar/PQP_v1.3/demos/spinning/Makefile b/trunk/PQP/build/pqp-tar/PQP_v1.3/demos/spinning/Makefile new file mode 100644 index 00000000..9289a9b1 --- /dev/null +++ b/trunk/PQP/build/pqp-tar/PQP_v1.3/demos/spinning/Makefile @@ -0,0 +1,36 @@ +# Must set these gl and glut locations to build 'spinning' + +CC = g++ + +GL_INCPATH = -I/usr/include/ +GL_LIBPATH = -L/usr/lib/ -L/usr/X11R6/lib/ +GL_LIBS = -lGLU -lGL -lXext -lXmu -lXi -lX11 -lglut + +.SUFFIXES: .cpp + +CC = g++ +CFLAGS = -g -O2 -I. -I../../include $(GL_INCPATH) +LDFLAGS = -L. -L../../lib -L/usr/lib/ -L/usr/X11R6/lib/ +LDLIBS = -lPQP -lm $(GL_LIBS) + +OBJS = main.o model.o +TARGET = spinning + +.cpp.o: + $(CC) ${CFLAGS} -c $< + +$(TARGET): $(OBJS) + $(CC) $(CFLAGS) $(OBJS) -o $(TARGET) $(LDFLAGS) $(LDLIBS) + +run: $(TARGET) + $(TARGET) + +clean: + rm -f *~ $(OBJS) $(TARGET) + + + + + + + diff --git a/trunk/PQP/build/pqp-tar/PQP_v1.3/demos/spinning/MatVec.h b/trunk/PQP/build/pqp-tar/PQP_v1.3/demos/spinning/MatVec.h new file mode 100644 index 00000000..3d90522f --- /dev/null +++ b/trunk/PQP/build/pqp-tar/PQP_v1.3/demos/spinning/MatVec.h @@ -0,0 +1,881 @@ +/*************************************************************************\ + + Copyright 1999 The University of North Carolina at Chapel Hill. + All Rights Reserved. + + Permission to use, copy, modify and distribute this software and its + documentation for educational, research and non-profit purposes, without + fee, and without a written agreement is hereby granted, provided that the + above copyright notice and the following three paragraphs appear in all + copies. + + IN NO EVENT SHALL THE UNIVERSITY OF NORTH CAROLINA AT CHAPEL HILL BE + LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR + CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF THE + USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY + OF NORTH CAROLINA HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH + DAMAGES. + + THE UNIVERSITY OF NORTH CAROLINA SPECIFICALLY DISCLAIM ANY + WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE + PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF + NORTH CAROLINA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT, + UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + + The authors may be contacted via: + + US Mail: S. Gottschalk + Department of Computer Science + Sitterson Hall, CB #3175 + University of N. Carolina + Chapel Hill, NC 27599-3175 + + Phone: (919)962-1749 + + EMail: geom@cs.unc.edu + + +\**************************************************************************/ + +#ifndef PQP_MATVEC_H +#define PQP_MATVEC_H + +#include <math.h> +#include <stdio.h> +#include "PQP_Compile.h" + +#ifndef M_PI +const double M_PI = 3.14159265359; +#endif + +#ifdef gnu +#include "zzzz.h" + +#ifdef hppa +#define myfabs(x) \ + ({double __value, __arg = (x); \ + asm("fabs,dbl %1, %0": "=f" (__value): "f" (__arg)); \ + __value; \ +}); +#endif + +#ifdef mips +#define myfabs(x) \ + ({double __value, __arg = (x); \ + asm("abs.d %0, %1": "=f" (__value): "f" (__arg)); \ + __value; \ +}); +#endif + +#else + +#define myfabs(x) ((x < 0) ? -x : x) + +#endif + + +inline +void +Mprintg(const PQP_REAL M[3][3]) +{ + printf("%g %g %g\n%g %g %g\n%g %g %g\n", + M[0][0], M[0][1], M[0][2], + M[1][0], M[1][1], M[1][2], + M[2][0], M[2][1], M[2][2]); +} + + +inline +void +Mfprint(FILE *f, const PQP_REAL M[3][3]) +{ + fprintf(f, "%g %g %g\n%g %g %g\n%g %g %g\n", + M[0][0], M[0][1], M[0][2], + M[1][0], M[1][1], M[1][2], + M[2][0], M[2][1], M[2][2]); +} + +inline +void +Mprint(const PQP_REAL M[3][3]) +{ + printf("%g %g %g\n%g %g %g\n%g %g %g\n", + M[0][0], M[0][1], M[0][2], + M[1][0], M[1][1], M[1][2], + M[2][0], M[2][1], M[2][2]); +} + +inline +void +Vprintg(const PQP_REAL V[3]) +{ + printf("%g %g %g\n", V[0], V[1], V[2]); +} + +inline +void +Vfprint(FILE *f, const PQP_REAL V[3]) +{ + fprintf(f, "%g %g %g\n", V[0], V[1], V[2]); +} + +inline +void +Vprint(const PQP_REAL V[3]) +{ + printf("%g %g %g\n", V[0], V[1], V[2]); +} + +inline +void +Midentity(PQP_REAL M[3][3]) +{ + M[0][0] = M[1][1] = M[2][2] = 1.0; + M[0][1] = M[1][2] = M[2][0] = 0.0; + M[0][2] = M[1][0] = M[2][1] = 0.0; +} + +inline +void +Videntity(PQP_REAL T[3]) +{ + T[0] = T[1] = T[2] = 0.0; +} + +inline +void +McM(PQP_REAL Mr[3][3], const PQP_REAL M[3][3]) +{ + Mr[0][0] = M[0][0]; Mr[0][1] = M[0][1]; Mr[0][2] = M[0][2]; + Mr[1][0] = M[1][0]; Mr[1][1] = M[1][1]; Mr[1][2] = M[1][2]; + Mr[2][0] = M[2][0]; Mr[2][1] = M[2][1]; Mr[2][2] = M[2][2]; +} + +inline +void +MTcM(PQP_REAL Mr[3][3], const PQP_REAL M[3][3]) +{ + Mr[0][0] = M[0][0]; Mr[1][0] = M[0][1]; Mr[2][0] = M[0][2]; + Mr[0][1] = M[1][0]; Mr[1][1] = M[1][1]; Mr[2][1] = M[1][2]; + Mr[0][2] = M[2][0]; Mr[1][2] = M[2][1]; Mr[2][2] = M[2][2]; +} + +inline +void +VcV(PQP_REAL Vr[3], const PQP_REAL V[3]) +{ + Vr[0] = V[0]; Vr[1] = V[1]; Vr[2] = V[2]; +} + +inline +void +McolcV(PQP_REAL Vr[3], const PQP_REAL M[3][3], int c) +{ + Vr[0] = M[0][c]; + Vr[1] = M[1][c]; + Vr[2] = M[2][c]; +} + +inline +void +McolcMcol(PQP_REAL Mr[3][3], int cr, const PQP_REAL M[3][3], int c) +{ + Mr[0][cr] = M[0][c]; + Mr[1][cr] = M[1][c]; + Mr[2][cr] = M[2][c]; +} + +inline +void +MxMpV(PQP_REAL Mr[3][3], const PQP_REAL M1[3][3], const PQP_REAL M2[3][3], const PQP_REAL T[3]) +{ + Mr[0][0] = (M1[0][0] * M2[0][0] + + M1[0][1] * M2[1][0] + + M1[0][2] * M2[2][0] + + T[0]); + Mr[1][0] = (M1[1][0] * M2[0][0] + + M1[1][1] * M2[1][0] + + M1[1][2] * M2[2][0] + + T[1]); + Mr[2][0] = (M1[2][0] * M2[0][0] + + M1[2][1] * M2[1][0] + + M1[2][2] * M2[2][0] + + T[2]); + Mr[0][1] = (M1[0][0] * M2[0][1] + + M1[0][1] * M2[1][1] + + M1[0][2] * M2[2][1] + + T[0]); + Mr[1][1] = (M1[1][0] * M2[0][1] + + M1[1][1] * M2[1][1] + + M1[1][2] * M2[2][1] + + T[1]); + Mr[2][1] = (M1[2][0] * M2[0][1] + + M1[2][1] * M2[1][1] + + M1[2][2] * M2[2][1] + + T[2]); + Mr[0][2] = (M1[0][0] * M2[0][2] + + M1[0][1] * M2[1][2] + + M1[0][2] * M2[2][2] + + T[0]); + Mr[1][2] = (M1[1][0] * M2[0][2] + + M1[1][1] * M2[1][2] + + M1[1][2] * M2[2][2] + + T[1]); + Mr[2][2] = (M1[2][0] * M2[0][2] + + M1[2][1] * M2[1][2] + + M1[2][2] * M2[2][2] + + T[2]); +} + +inline +void +MxM(PQP_REAL Mr[3][3], const PQP_REAL M1[3][3], const PQP_REAL M2[3][3]) +{ + Mr[0][0] = (M1[0][0] * M2[0][0] + + M1[0][1] * M2[1][0] + + M1[0][2] * M2[2][0]); + Mr[1][0] = (M1[1][0] * M2[0][0] + + M1[1][1] * M2[1][0] + + M1[1][2] * M2[2][0]); + Mr[2][0] = (M1[2][0] * M2[0][0] + + M1[2][1] * M2[1][0] + + M1[2][2] * M2[2][0]); + Mr[0][1] = (M1[0][0] * M2[0][1] + + M1[0][1] * M2[1][1] + + M1[0][2] * M2[2][1]); + Mr[1][1] = (M1[1][0] * M2[0][1] + + M1[1][1] * M2[1][1] + + M1[1][2] * M2[2][1]); + Mr[2][1] = (M1[2][0] * M2[0][1] + + M1[2][1] * M2[1][1] + + M1[2][2] * M2[2][1]); + Mr[0][2] = (M1[0][0] * M2[0][2] + + M1[0][1] * M2[1][2] + + M1[0][2] * M2[2][2]); + Mr[1][2] = (M1[1][0] * M2[0][2] + + M1[1][1] * M2[1][2] + + M1[1][2] * M2[2][2]); + Mr[2][2] = (M1[2][0] * M2[0][2] + + M1[2][1] * M2[1][2] + + M1[2][2] * M2[2][2]); +} + + +inline +void +MxMT(PQP_REAL Mr[3][3], const PQP_REAL M1[3][3], const PQP_REAL M2[3][3]) +{ + Mr[0][0] = (M1[0][0] * M2[0][0] + + M1[0][1] * M2[0][1] + + M1[0][2] * M2[0][2]); + Mr[1][0] = (M1[1][0] * M2[0][0] + + M1[1][1] * M2[0][1] + + M1[1][2] * M2[0][2]); + Mr[2][0] = (M1[2][0] * M2[0][0] + + M1[2][1] * M2[0][1] + + M1[2][2] * M2[0][2]); + Mr[0][1] = (M1[0][0] * M2[1][0] + + M1[0][1] * M2[1][1] + + M1[0][2] * M2[1][2]); + Mr[1][1] = (M1[1][0] * M2[1][0] + + M1[1][1] * M2[1][1] + + M1[1][2] * M2[1][2]); + Mr[2][1] = (M1[2][0] * M2[1][0] + + M1[2][1] * M2[1][1] + + M1[2][2] * M2[1][2]); + Mr[0][2] = (M1[0][0] * M2[2][0] + + M1[0][1] * M2[2][1] + + M1[0][2] * M2[2][2]); + Mr[1][2] = (M1[1][0] * M2[2][0] + + M1[1][1] * M2[2][1] + + M1[1][2] * M2[2][2]); + Mr[2][2] = (M1[2][0] * M2[2][0] + + M1[2][1] * M2[2][1] + + M1[2][2] * M2[2][2]); +} + +inline +void +MTxM(PQP_REAL Mr[3][3], const PQP_REAL M1[3][3], const PQP_REAL M2[3][3]) +{ + Mr[0][0] = (M1[0][0] * M2[0][0] + + M1[1][0] * M2[1][0] + + M1[2][0] * M2[2][0]); + Mr[1][0] = (M1[0][1] * M2[0][0] + + M1[1][1] * M2[1][0] + + M1[2][1] * M2[2][0]); + Mr[2][0] = (M1[0][2] * M2[0][0] + + M1[1][2] * M2[1][0] + + M1[2][2] * M2[2][0]); + Mr[0][1] = (M1[0][0] * M2[0][1] + + M1[1][0] * M2[1][1] + + M1[2][0] * M2[2][1]); + Mr[1][1] = (M1[0][1] * M2[0][1] + + M1[1][1] * M2[1][1] + + M1[2][1] * M2[2][1]); + Mr[2][1] = (M1[0][2] * M2[0][1] + + M1[1][2] * M2[1][1] + + M1[2][2] * M2[2][1]); + Mr[0][2] = (M1[0][0] * M2[0][2] + + M1[1][0] * M2[1][2] + + M1[2][0] * M2[2][2]); + Mr[1][2] = (M1[0][1] * M2[0][2] + + M1[1][1] * M2[1][2] + + M1[2][1] * M2[2][2]); + Mr[2][2] = (M1[0][2] * M2[0][2] + + M1[1][2] * M2[1][2] + + M1[2][2] * M2[2][2]); +} + +inline +void +MxV(PQP_REAL Vr[3], const PQP_REAL M1[3][3], const PQP_REAL V1[3]) +{ + Vr[0] = (M1[0][0] * V1[0] + + M1[0][1] * V1[1] + + M1[0][2] * V1[2]); + Vr[1] = (M1[1][0] * V1[0] + + M1[1][1] * V1[1] + + M1[1][2] * V1[2]); + Vr[2] = (M1[2][0] * V1[0] + + M1[2][1] * V1[1] + + M1[2][2] * V1[2]); +} + + +inline +void +MxVpV(PQP_REAL Vr[3], const PQP_REAL M1[3][3], const PQP_REAL V1[3], const PQP_REAL V2[3]) +{ + Vr[0] = (M1[0][0] * V1[0] + + M1[0][1] * V1[1] + + M1[0][2] * V1[2] + + V2[0]); + Vr[1] = (M1[1][0] * V1[0] + + M1[1][1] * V1[1] + + M1[1][2] * V1[2] + + V2[1]); + Vr[2] = (M1[2][0] * V1[0] + + M1[2][1] * V1[1] + + M1[2][2] * V1[2] + + V2[2]); +} + + +inline +void +sMxVpV(PQP_REAL Vr[3], PQP_REAL s1, const PQP_REAL M1[3][3], const PQP_REAL V1[3], const PQP_REAL V2[3]) +{ + Vr[0] = s1 * (M1[0][0] * V1[0] + + M1[0][1] * V1[1] + + M1[0][2] * V1[2]) + + V2[0]; + Vr[1] = s1 * (M1[1][0] * V1[0] + + M1[1][1] * V1[1] + + M1[1][2] * V1[2]) + + V2[1]; + Vr[2] = s1 * (M1[2][0] * V1[0] + + M1[2][1] * V1[1] + + M1[2][2] * V1[2]) + + V2[2]; +} + +inline +void +MTxV(PQP_REAL Vr[3], const PQP_REAL M1[3][3], const PQP_REAL V1[3]) +{ + Vr[0] = (M1[0][0] * V1[0] + + M1[1][0] * V1[1] + + M1[2][0] * V1[2]); + Vr[1] = (M1[0][1] * V1[0] + + M1[1][1] * V1[1] + + M1[2][1] * V1[2]); + Vr[2] = (M1[0][2] * V1[0] + + M1[1][2] * V1[1] + + M1[2][2] * V1[2]); +} + +inline +void +sMTxV(PQP_REAL Vr[3], PQP_REAL s1, const PQP_REAL M1[3][3], const PQP_REAL V1[3]) +{ + Vr[0] = s1*(M1[0][0] * V1[0] + + M1[1][0] * V1[1] + + M1[2][0] * V1[2]); + Vr[1] = s1*(M1[0][1] * V1[0] + + M1[1][1] * V1[1] + + M1[2][1] * V1[2]); + Vr[2] = s1*(M1[0][2] * V1[0] + + M1[1][2] * V1[1] + + M1[2][2] * V1[2]); +} + +inline +void +sMxV(PQP_REAL Vr[3], PQP_REAL s1, const PQP_REAL M1[3][3], const PQP_REAL V1[3]) +{ + Vr[0] = s1*(M1[0][0] * V1[0] + + M1[0][1] * V1[1] + + M1[0][2] * V1[2]); + Vr[1] = s1*(M1[1][0] * V1[0] + + M1[1][1] * V1[1] + + M1[1][2] * V1[2]); + Vr[2] = s1*(M1[2][0] * V1[0] + + M1[2][1] * V1[1] + + M1[2][2] * V1[2]); +} + + +inline +void +VmV(PQP_REAL Vr[3], const PQP_REAL V1[3], const PQP_REAL V2[3]) +{ + Vr[0] = V1[0] - V2[0]; + Vr[1] = V1[1] - V2[1]; + Vr[2] = V1[2] - V2[2]; +} + +inline +void +VpV(PQP_REAL Vr[3], const PQP_REAL V1[3], const PQP_REAL V2[3]) +{ + Vr[0] = V1[0] + V2[0]; + Vr[1] = V1[1] + V2[1]; + Vr[2] = V1[2] + V2[2]; +} + +inline +void +VpVxS(PQP_REAL Vr[3], const PQP_REAL V1[3], const PQP_REAL V2[3], PQP_REAL s) +{ + Vr[0] = V1[0] + V2[0] * s; + Vr[1] = V1[1] + V2[1] * s; + Vr[2] = V1[2] + V2[2] * s; +} + +inline +void +MskewV(PQP_REAL M[3][3], const PQP_REAL v[3]) +{ + M[0][0] = M[1][1] = M[2][2] = 0.0; + M[1][0] = v[2]; + M[0][1] = -v[2]; + M[0][2] = v[1]; + M[2][0] = -v[1]; + M[1][2] = -v[0]; + M[2][1] = v[0]; +} + + +inline +void +VcrossV(PQP_REAL Vr[3], const PQP_REAL V1[3], const PQP_REAL V2[3]) +{ + Vr[0] = V1[1]*V2[2] - V1[2]*V2[1]; + Vr[1] = V1[2]*V2[0] - V1[0]*V2[2]; + Vr[2] = V1[0]*V2[1] - V1[1]*V2[0]; +} + + +inline +PQP_REAL +Vlength(PQP_REAL V[3]) +{ + return sqrt(V[0]*V[0] + V[1]*V[1] + V[2]*V[2]); +} + +inline +void +Vnormalize(PQP_REAL V[3]) +{ + PQP_REAL d = (PQP_REAL)1.0 / sqrt(V[0]*V[0] + V[1]*V[1] + V[2]*V[2]); + V[0] *= d; + V[1] *= d; + V[2] *= d; +} + + +inline +PQP_REAL +VdotV(const PQP_REAL V1[3], const PQP_REAL V2[3]) +{ + return (V1[0]*V2[0] + V1[1]*V2[1] + V1[2]*V2[2]); +} + + +inline +PQP_REAL +VdistV2(const PQP_REAL V1[3], const PQP_REAL V2[3]) +{ + return ( (V1[0]-V2[0]) * (V1[0]-V2[0]) + + (V1[1]-V2[1]) * (V1[1]-V2[1]) + + (V1[2]-V2[2]) * (V1[2]-V2[2])); +} + +inline +void +VxS(PQP_REAL Vr[3], const PQP_REAL V[3], PQP_REAL s) +{ + Vr[0] = V[0] * s; + Vr[1] = V[1] * s; + Vr[2] = V[2] * s; +} + +inline +void +MRotZ(PQP_REAL Mr[3][3], PQP_REAL t) +{ + Mr[0][0] = cos(t); + Mr[1][0] = sin(t); + Mr[0][1] = -Mr[1][0]; + Mr[1][1] = Mr[0][0]; + Mr[2][0] = Mr[2][1] = 0.0; + Mr[0][2] = Mr[1][2] = 0.0; + Mr[2][2] = 1.0; +} + + +inline +void +MRotX(PQP_REAL Mr[3][3], PQP_REAL t) +{ + Mr[1][1] = cos(t); + Mr[2][1] = sin(t); + Mr[1][2] = -Mr[2][1]; + Mr[2][2] = Mr[1][1]; + Mr[0][1] = Mr[0][2] = 0.0; + Mr[1][0] = Mr[2][0] = 0.0; + Mr[0][0] = 1.0; +} + +inline +void +MRotY(PQP_REAL Mr[3][3], PQP_REAL t) +{ + Mr[2][2] = cos(t); + Mr[0][2] = sin(t); + Mr[2][0] = -Mr[0][2]; + Mr[0][0] = Mr[2][2]; + Mr[1][2] = Mr[1][0] = 0.0; + Mr[2][1] = Mr[0][1] = 0.0; + Mr[1][1] = 1.0; +} + +inline +void +MVtoOGL(double oglm[16], const PQP_REAL R[3][3], const PQP_REAL T[3]) +{ + oglm[0] = (double)R[0][0]; + oglm[1] = (double)R[1][0]; + oglm[2] = (double)R[2][0]; + oglm[3] = 0.0; + oglm[4] = (double)R[0][1]; + oglm[5] = (double)R[1][1]; + oglm[6] = (double)R[2][1]; + oglm[7] = 0.0; + oglm[8] = (double)R[0][2]; + oglm[9] = (double)R[1][2]; + oglm[10] = (double)R[2][2]; + oglm[11] = 0.0; + oglm[12] = (double)T[0]; + oglm[13] = (double)T[1]; + oglm[14] = (double)T[2]; + oglm[15] = 1.0; +} + +inline +void +OGLtoMV(PQP_REAL R[3][3], PQP_REAL T[3], const double oglm[16]) +{ + R[0][0] = (PQP_REAL)oglm[0]; + R[1][0] = (PQP_REAL)oglm[1]; + R[2][0] = (PQP_REAL)oglm[2]; + + R[0][1] = (PQP_REAL)oglm[4]; + R[1][1] = (PQP_REAL)oglm[5]; + R[2][1] = (PQP_REAL)oglm[6]; + + R[0][2] = (PQP_REAL)oglm[8]; + R[1][2] = (PQP_REAL)oglm[9]; + R[2][2] = (PQP_REAL)oglm[10]; + + T[0] = (PQP_REAL)oglm[12]; + T[1] = (PQP_REAL)oglm[13]; + T[2] = (PQP_REAL)oglm[14]; +} + +// taken from quatlib, written by Richard Holloway +const int QX = 0; +const int QY = 1; +const int QZ = 2; +const int QW = 3; + +inline +void +MRotQ(PQP_REAL destMatrix[3][3], PQP_REAL srcQuat[4]) +{ + PQP_REAL s; + PQP_REAL xs, ys, zs, + wx, wy, wz, + xx, xy, xz, + yy, yz, zz; + + /* + * For unit srcQuat, just set s = 2.0; or set xs = srcQuat[QX] + + * srcQuat[QX], etc. + */ + + s = (PQP_REAL)2.0 / (srcQuat[QX]*srcQuat[QX] + srcQuat[QY]*srcQuat[QY] + + srcQuat[QZ]*srcQuat[QZ] + srcQuat[QW]*srcQuat[QW]); + + xs = srcQuat[QX] * s; ys = srcQuat[QY] * s; zs = srcQuat[QZ] * s; + wx = srcQuat[QW] * xs; wy = srcQuat[QW] * ys; wz = srcQuat[QW] * zs; + xx = srcQuat[QX] * xs; xy = srcQuat[QX] * ys; xz = srcQuat[QX] * zs; + yy = srcQuat[QY] * ys; yz = srcQuat[QY] * zs; zz = srcQuat[QZ] * zs; + + destMatrix[QX][QX] = (PQP_REAL)1.0 - (yy + zz); + destMatrix[QX][QY] = xy + wz; + destMatrix[QX][QZ] = xz - wy; + + destMatrix[QY][QX] = xy - wz; + destMatrix[QY][QY] = (PQP_REAL)1.0 - (xx + zz); + destMatrix[QY][QZ] = yz + wx; + + destMatrix[QZ][QX] = xz + wy; + destMatrix[QZ][QY] = yz - wx; + destMatrix[QZ][QZ] = (PQP_REAL)1.0 - (xx + yy); +} + +inline +void +Mqinverse(PQP_REAL Mr[3][3], PQP_REAL m[3][3]) +{ + int i,j; + + for(i=0; i<3; i++) + for(j=0; j<3; j++) + { + int i1 = (i+1)%3; + int i2 = (i+2)%3; + int j1 = (j+1)%3; + int j2 = (j+2)%3; + Mr[i][j] = (m[j1][i1]*m[j2][i2] - m[j1][i2]*m[j2][i1]); + } +} + +// Meigen from Numerical Recipes in C + +#if 0 + +#define rfabs(x) ((x < 0) ? -x : x) + +#define ROT(a,i,j,k,l) g=a[i][j]; h=a[k][l]; a[i][j]=g-s*(h+g*tau); a[k][l]=h+s*(g-h*tau); + +int +inline +Meigen(PQP_REAL vout[3][3], PQP_REAL dout[3], PQP_REAL a[3][3]) +{ + int i; + PQP_REAL tresh,theta,tau,t,sm,s,h,g,c; + int nrot; + PQP_REAL b[3]; + PQP_REAL z[3]; + PQP_REAL v[3][3]; + PQP_REAL d[3]; + + v[0][0] = v[1][1] = v[2][2] = 1.0; + v[0][1] = v[1][2] = v[2][0] = 0.0; + v[0][2] = v[1][0] = v[2][1] = 0.0; + + b[0] = a[0][0]; d[0] = a[0][0]; z[0] = 0.0; + b[1] = a[1][1]; d[1] = a[1][1]; z[1] = 0.0; + b[2] = a[2][2]; d[2] = a[2][2]; z[2] = 0.0; + + nrot = 0; + + + for(i=0; i<50; i++) + { + + printf("2\n"); + + sm=0.0; sm+=fabs(a[0][1]); sm+=fabs(a[0][2]); sm+=fabs(a[1][2]); + if (sm == 0.0) { McM(vout,v); VcV(dout,d); return i; } + + if (i < 3) tresh=0.2*sm/(3*3); else tresh=0.0; + + { + g = 100.0*rfabs(a[0][1]); + if (i>3 && rfabs(d[0])+g==rfabs(d[0]) && rfabs(d[1])+g==rfabs(d[1])) + a[0][1]=0.0; + else if (rfabs(a[0][1])>tresh) + { + h = d[1]-d[0]; + if (rfabs(h)+g == rfabs(h)) t=(a[0][1])/h; + else + { + theta=0.5*h/(a[0][1]); + t=1.0/(rfabs(theta)+sqrt(1.0+theta*theta)); + if (theta < 0.0) t = -t; + } + c=1.0/sqrt(1+t*t); s=t*c; tau=s/(1.0+c); h=t*a[0][1]; + z[0] -= h; z[1] += h; d[0] -= h; d[1] += h; + a[0][1]=0.0; + ROT(a,0,2,1,2); ROT(v,0,0,0,1); ROT(v,1,0,1,1); ROT(v,2,0,2,1); + nrot++; + } + } + + { + g = 100.0*rfabs(a[0][2]); + if (i>3 && rfabs(d[0])+g==rfabs(d[0]) && rfabs(d[2])+g==rfabs(d[2])) + a[0][2]=0.0; + else if (rfabs(a[0][2])>tresh) + { + h = d[2]-d[0]; + if (rfabs(h)+g == rfabs(h)) t=(a[0][2])/h; + else + { + theta=0.5*h/(a[0][2]); + t=1.0/(rfabs(theta)+sqrt(1.0+theta*theta)); + if (theta < 0.0) t = -t; + } + c=1.0/sqrt(1+t*t); s=t*c; tau=s/(1.0+c); h=t*a[0][2]; + z[0] -= h; z[2] += h; d[0] -= h; d[2] += h; + a[0][2]=0.0; + ROT(a,0,1,1,2); ROT(v,0,0,0,2); ROT(v,1,0,1,2); ROT(v,2,0,2,2); + nrot++; + } + } + + + { + g = 100.0*rfabs(a[1][2]); + if (i>3 && rfabs(d[1])+g==rfabs(d[1]) && rfabs(d[2])+g==rfabs(d[2])) + a[1][2]=0.0; + else if (rfabs(a[1][2])>tresh) + { + h = d[2]-d[1]; + if (rfabs(h)+g == rfabs(h)) t=(a[1][2])/h; + else + { + theta=0.5*h/(a[1][2]); + t=1.0/(rfabs(theta)+sqrt(1.0+theta*theta)); + if (theta < 0.0) t = -t; + } + c=1.0/sqrt(1+t*t); s=t*c; tau=s/(1.0+c); h=t*a[1][2]; + z[1] -= h; z[2] += h; d[1] -= h; d[2] += h; + a[1][2]=0.0; + ROT(a,0,1,0,2); ROT(v,0,1,0,2); ROT(v,1,1,1,2); ROT(v,2,1,2,2); + nrot++; + } + } + + b[0] += z[0]; d[0] = b[0]; z[0] = 0.0; + b[1] += z[1]; d[1] = b[1]; z[1] = 0.0; + b[2] += z[2]; d[2] = b[2]; z[2] = 0.0; + + } + + fprintf(stderr, "eigen: too many iterations in Jacobi transform (%d).\n", i); + + return i; +} + +#else + + + +#define ROTATE(a,i,j,k,l) g=a[i][j]; h=a[k][l]; a[i][j]=g-s*(h+g*tau); a[k][l]=h+s*(g-h*tau); + +void +inline +Meigen(PQP_REAL vout[3][3], PQP_REAL dout[3], PQP_REAL a[3][3]) +{ + int n = 3; + int j,iq,ip,i; + PQP_REAL tresh,theta,tau,t,sm,s,h,g,c; + int nrot; + PQP_REAL b[3]; + PQP_REAL z[3]; + PQP_REAL v[3][3]; + PQP_REAL d[3]; + + Midentity(v); + for(ip=0; ip<n; ip++) + { + b[ip] = a[ip][ip]; + d[ip] = a[ip][ip]; + z[ip] = 0.0; + } + + nrot = 0; + + for(i=0; i<50; i++) + { + + sm=0.0; + for(ip=0;ip<n;ip++) for(iq=ip+1;iq<n;iq++) sm+=fabs(a[ip][iq]); + if (sm == 0.0) + { + McM(vout, v); + VcV(dout, d); + return; + } + + + if (i < 3) tresh=(PQP_REAL)0.2*sm/(n*n); + else tresh=0.0; + + for(ip=0; ip<n; ip++) for(iq=ip+1; iq<n; iq++) + { + g = (PQP_REAL)100.0*fabs(a[ip][iq]); + if (i>3 && + fabs(d[ip])+g==fabs(d[ip]) && + fabs(d[iq])+g==fabs(d[iq])) + a[ip][iq]=0.0; + else if (fabs(a[ip][iq])>tresh) + { + h = d[iq]-d[ip]; + if (fabs(h)+g == fabs(h)) t=(a[ip][iq])/h; + else + { + theta=(PQP_REAL)0.5*h/(a[ip][iq]); + t=(PQP_REAL)(1.0/(fabs(theta)+sqrt(1.0+theta*theta))); + if (theta < 0.0) t = -t; + } + c=(PQP_REAL)1.0/sqrt(1+t*t); + s=t*c; + tau=s/((PQP_REAL)1.0+c); + h=t*a[ip][iq]; + z[ip] -= h; + z[iq] += h; + d[ip] -= h; + d[iq] += h; + a[ip][iq]=0.0; + for(j=0;j<ip;j++) { ROTATE(a,j,ip,j,iq); } + for(j=ip+1;j<iq;j++) { ROTATE(a,ip,j,j,iq); } + for(j=iq+1;j<n;j++) { ROTATE(a,ip,j,iq,j); } + for(j=0;j<n;j++) { ROTATE(v,j,ip,j,iq); } + nrot++; + } + } + for(ip=0;ip<n;ip++) + { + b[ip] += z[ip]; + d[ip] = b[ip]; + z[ip] = 0.0; + } + } + + fprintf(stderr, "eigen: too many iterations in Jacobi transform.\n"); + + return; +} + + +#endif + +#endif +/* MATVEC_H */ diff --git a/trunk/PQP/build/pqp-tar/PQP_v1.3/demos/spinning/bunny.tris b/trunk/PQP/build/pqp-tar/PQP_v1.3/demos/spinning/bunny.tris new file mode 100644 index 00000000..5df21722 --- /dev/null +++ b/trunk/PQP/build/pqp-tar/PQP_v1.3/demos/spinning/bunny.tris @@ -0,0 +1,8817 @@ +2204 +-0.61915501 0.44778999 0.11374 +-0.65483498 0.44209999 0.23309999 +-0.54955502 0.46242001 0.21086 + +-0.67527496 -0.04277 0.26872 +-0.69119499 -0.03813 0.21893999 +-0.70878502 -0.09154 0.23915001 + +-0.369095 -0.54116001 0.13157 +-0.38878502 -0.53153 0.12594 +-0.41275501 -0.52455002 0.07158 + +-0.75503502 0.05844 0.12856 +-0.73905502 0.04444 0.0987 +-0.75351501 0.04522 0.14867 + +-0.66683502 0.43922001 0.22899 +-0.65483498 0.44209999 0.23309999 +-0.61915501 0.44778999 0.11374 + +0.100405 0.1927 0.26025 +0.21620501 0.20631001 0.22993 +0.147305 0.21093 0.16179001 + +-0.49363499 0.44341 -0.49014 +-0.47512501 0.32431999 -0.07113 +-0.51723499 0.35522999 -0.21364 + +-0.33272499 -0.76374001 -0.11234 +-0.31717501 -0.73977997 -0.10929 +-0.31505501 -0.76257004 -0.12831 + +0.013465 -0.32881001 0.57973 +-0.006605 -0.27245001 0.59221001 +-0.042595 -0.29021999 0.57817001 + +-0.478615 0.61969002 -0.45830002 +-0.55654499 0.64793999 -0.39986 +-0.541525 0.60362999 -0.27988001 + +-0.69841499 -0.28159 0.17025999 +-0.67350502 -0.31801001 0.21348 +-0.70689499 -0.24051001 0.17004999 + +-0.53543499 0.41438 -0.43537998 +-0.52343498 0.42028999 -0.45174999 +-0.52669498 0.41201 -0.43175999 + +-0.73406502 0.22117001 0.0777 +-0.69706497 0.27559999 0.04741 +-0.67165497 0.20761999 -0.01075 + +0.032965 0.15014 0.30976 +0.119035 0.13868 0.35504002 +0.100405 0.1927 0.26025 + +-0.48884499 0.70297997 -0.56327 +-0.543125 0.70637001 -0.51022999 +-0.478615 0.61969002 -0.45830002 + +-0.56956501 0.37901001 0.42835999 +-0.62949501 0.42409 0.33152 +-0.62565498 0.37287998 0.41800999 + +-0.69841499 -0.28159 0.17025999 +-0.67290497 -0.32478001 0.06036 +-0.67019501 -0.33046001 0.17235001 + +0.26532499 0.11682 0.36832001 +0.279865 0.18177999 0.28193001 +0.185485 0.15646 0.33446999 + +0.100405 0.1927 0.26025 +0.19949499 0.18938999 0.2817 +0.21620501 0.20631001 0.22993 + +-0.051545 0.75455002 -0.12812 +-0.075495 0.73363998 -0.09516 +-0.036455 0.74396004 -0.12342 + +-0.085275 0.1548 0.17931 +-0.087935 0.12239 0.26698 +0.014575 0.18521999 0.18579 + +0.100405 0.1927 0.26025 +0.147305 0.21093 0.16179001 +0.014575 0.18521999 0.18579 + +-0.440755 0.59640999 -0.59333 +-0.43966499 0.60813999 -0.59201 +-0.44141499 0.60801998 -0.58164001 + +0.068505 0.67084 -0.27976999 +0.073585 0.64028999 -0.27017 +0.046245 0.64051003 -0.26128 + +-0.722985 0.29028 0.13737 +-0.65177498 0.38554001 0.03709 +-0.685625 0.31711 0.06703 + +-0.53012501 0.29573 0.48049 +-0.59655499 0.21528 0.54181 +-0.52195499 0.23915001 0.49179001 + +-0.49343498 0.53766998 -0.56959999 +-0.46016499 0.52960999 -0.57521999 +-0.49435501 0.49361 -0.54973999 + +0.62454498 -0.39271999 0.04435 +0.59800499 -0.28384001 -0.03253 +0.616395 -0.19808001 0.01714 + +-0.40461498 0.42754002 0.32105999 +-0.45004501 0.41863998 0.36409 +-0.43137501 0.38099998 0.37743 + +-0.62663502 0.17285 0.54678001 +-0.59655499 0.21528 0.54181 +-0.65234497 0.19790001 0.53490002 + +-0.59655499 0.21528 0.54181 +-0.60633499 0.29861 0.49606998 +-0.65054497 0.23882 0.51790001 + +0.63150501 -0.32306999 0.09721 +0.62454498 -0.39271999 0.04435 +0.616395 -0.19808001 0.01714 + +-0.087935 0.12239 0.26698 +0.100405 0.1927 0.26025 +0.014575 0.18521999 0.18579 + +-0.40461498 0.42754002 0.32105999 +-0.38591499 0.35167 0.31952 +-0.36774502 0.40701 0.25933001 + +-0.62663502 0.17285 0.54678001 +-0.59962502 0.11646 0.54145 +-0.59655499 0.21528 0.54181 + +-0.48044498 -0.07672 -0.15554 +-0.40962502 -0.24707001 -0.19660999 +-0.39932499 -0.27525 -0.19733 + +-0.67873497 0.42423 0.10789 +-0.61915501 0.44778999 0.11374 +-0.65177498 0.41154999 0.04812 + +-0.71519501 -0.22723 0.07012 +-0.68001503 -0.24351 -0.00998 +-0.63365501 -0.34187 -0.01984 + +-0.112925 0.44946999 -0.01904 +-0.29133499 0.43453999 0.10392 +-0.28335501 0.37535999 0.07935 + +0.20192499 0.21209999 0.08168 +0.267075 0.20905001 0.1627 +0.30644501 0.19247999 0.06287 + +-0.31738501 0.43448002 0.11911 +-0.049325 0.62575001 -0.12564 +-0.112215 0.62556 -0.07594 + +-0.50442501 0.51681 -0.12221 +-0.497005 0.44953999 -0.01774 +-0.462285 0.43570999 -0.09058 + +0.147305 0.21093 0.16179001 +0.21620501 0.20631001 0.22993 +0.267075 0.20905001 0.1627 + +-0.38455502 -0.62816002 0.13858 +-0.35919498 -0.65380997 0.20221001 +-0.334715 -0.61401001 0.18212 + +-0.17445499 -0.76107002 0.26183001 +-0.189415 -0.75043999 0.19530001 +-0.18321501 -0.75733002 0.1487 + +-0.43966499 0.60813999 -0.59201 +-0.440755 0.59640999 -0.59333 +-0.43943501 0.61122002 -0.59380001 + +-0.68663498 0.30483 0.43856998 +-0.66231499 0.29212999 0.47123001 +-0.62565498 0.37287998 0.41800999 + +-0.58244499 0.64759003 -0.39550999 +-0.541525 0.60362999 -0.27988001 +-0.55654499 0.64793999 -0.39986 + +0.61706501 -0.15582 0.06717 +0.63150501 -0.32306999 0.09721 +0.616395 -0.19808001 0.01714 + +0.119035 0.13868 0.35504002 +0.185485 0.15646 0.33446999 +0.19949499 0.18938999 0.2817 + +-0.439925 0.61355999 -0.59553001 +-0.44219501 0.62398998 -0.59071999 +-0.43966499 0.60813999 -0.59201 + +-0.297925 -0.53887001 -0.09417 +-0.26883499 -0.37657001 -0.16448 +-0.238365 -0.47976002 -0.11273 + +-0.67350502 -0.31801001 0.21348 +-0.65677498 -0.28486 0.31427999 +-0.71858498 -0.18570999 0.23955999 + +-0.445825 0.62064999 -0.60304001 +-0.44350498 0.63459 -0.59969002 +-0.439925 0.61355999 -0.59553001 + +0.36023499 -0.12728 -0.21188999 +0.38315498 -0.105 -0.19958 +0.44883499 -0.17316 -0.18752001 + +0.004935 0.49839001 -0.08707 +-0.112925 0.44946999 -0.01904 +-0.34072498 0.34067001 0.0194 + +-0.52690498 0.36866001 0.4325 +-0.56956501 0.37901001 0.42835999 +-0.60633499 0.29861 0.49606998 + +-0.722985 0.29028 0.13737 +-0.69845497 0.34506001 0.09724 +-0.65177498 0.38554001 0.03709 + +0.21620501 0.20631001 0.22993 +0.31116501 0.18573 0.23601 +0.267075 0.20905001 0.1627 + +-0.53012501 0.29573 0.48049 +-0.52690498 0.36866001 0.4325 +-0.60633499 0.29861 0.49606998 + +0.66172501 -0.52612 -0.03485 +0.66172501 -0.51227001 -0.03209 +0.701595 -0.51362999 -0.01377 + +-0.27186501 0.17989 0.1998 +-0.28657499 0.21525999 0.16419001 +-0.318915 0.22754999 0.2701 + +-0.096095 0.71514 -0.06997 +-0.236595 0.58076 0.04404 +-0.166485 0.62580002 -0.00026 + +0.38503502 0.15941 0.19188999 +0.41226501 0.13985 0.08791 +0.30644501 0.19247999 0.06287 + +0.046245 0.64051003 -0.26128 +-0.027095 0.51598 -0.13203 +-0.048255 0.52195999 -0.13641 + +0.059645 0.68377998 -0.28246 +0.068505 0.67084 -0.27976999 +0.046245 0.64051003 -0.26128 + +-0.44495499 0.61160999 -0.60196999 +-0.45517502 0.62153999 -0.60337002 +-0.445825 0.62064999 -0.60304001 + +-0.040395 -0.02881 -0.20667999 +0.027045 -0.06751 -0.21985001 +0.074325 -0.09863 -0.22704 + +0.100405 0.1927 0.26025 +0.119035 0.13868 0.35504002 +0.19949499 0.18938999 0.2817 + +0.17338499 -0.16284 0.56652 +0.223505 -0.23148001 0.58157001 +0.25977501 -0.2282 0.57007 + +-0.52043499 0.07819 -0.06974 +-0.43113499 0.13668 -0.06854 +-0.43526501 0.09176 -0.08455 + +-0.551175 -0.15953 0.43046001 +-0.50651501 -0.10104 0.42856998 +-0.57303501 -0.09277 0.39316002 + +0.63273499 -0.64609001 0.00875 +0.63202499 -0.59748001 -0.03384 +0.68647499 -0.58339001 -0.0017 + +-0.50564499 -0.26843 0.44533001 +-0.44656502 -0.19707001 0.46938 +-0.51212502 -0.2273 0.45049999 + +0.143465 0.09524 0.39535999 +0.119035 0.13868 0.35504002 +0.013225 0.0811 0.38118 + +0.093335 -0.54011002 0.55001999 +0.133365 -0.51195999 0.55555 +0.093385 -0.48191002 0.57638 + +0.26328501 -0.13812 0.51595001 +0.25977501 -0.2282 0.57007 +0.27328501 -0.16485001 0.53637001 + +0.26328501 -0.13812 0.51595001 +0.27328501 -0.16485001 0.53637001 +0.327005 -0.16132 0.50963001 + +0.61706501 -0.15582 0.06717 +0.58518501 -0.07291 0.16698 +0.61038502 -0.18419001 0.23695999 + +0.32314499 0.16155001 -0.00588 +0.232845 0.19128 0.00246 +0.30644501 0.19247999 0.06287 + +-0.74736504 0.31806 0.17700001 +-0.72976501 0.37284 0.12714 +-0.69845497 0.34506001 0.09724 + +-0.32939499 -0.58321999 0.36421001 +-0.296705 -0.61009998 0.40333 +-0.256665 -0.55305 0.4109 + +-0.51212502 -0.2273 0.45049999 +-0.44656502 -0.19707001 0.46938 +-0.55939499 -0.21372999 0.42647999 + +-0.522085 0.42964001 -0.46967999 +-0.52343498 0.42028999 -0.45174999 +-0.52310501 0.42203999 -0.45536999 + +0.56855499 -0.27214001 -0.1024 +0.595695 -0.19973 -0.04273 +0.59800499 -0.28384001 -0.03253 + +-0.106735 0.07859 0.32783001 +0.013225 0.0811 0.38118 +0.032965 0.15014 0.30976 + +-0.50564499 -0.26843 0.44533001 +-0.51212502 -0.2273 0.45049999 +-0.54116501 -0.33391998 0.39556 + +-0.65483498 0.44209999 0.23309999 +-0.567505 0.44047001 0.32217999 +-0.54955502 0.46242001 0.21086 + +-0.446595 -0.28271999 0.45134998 +-0.50564499 -0.26843 0.44533001 +-0.437295 -0.37362999 0.41646999 + +0.26304501 -0.48462002 0.55549999 +0.163435 -0.53869999 0.56303001 +0.263435 -0.55469002 0.54113998 + +0.182565 -0.11096 0.51632 +0.154285 -0.09136 0.45977001 +0.079635 -0.11564 0.52494999 + +-0.150585 -0.30923 -0.29997999 +-0.119055 -0.34823002 -0.33359001 +-0.107915 -0.53838001 -0.23878 + +-0.49363499 0.44341 -0.49014 +-0.49435501 0.49361 -0.54973999 +-0.46016499 0.52960999 -0.57521999 + +-0.45953499 0.45066002 -0.34074001 +-0.44795502 0.48275002 -0.23052 +-0.45510502 0.35847 -0.05053 + +0.583465 -0.60224998 0.34046001 +0.55329498 -0.58823002 0.33521 +0.49892502 -0.66067001 0.30966 + +-0.35919498 -0.65380997 0.20221001 +-0.404995 -0.67698997 0.19254 +-0.41561501 -0.69004997 0.22243999 + +-0.722985 0.29028 0.13737 +-0.74114502 0.29077999 0.20722 +-0.74736504 0.31806 0.17700001 + +-0.49363499 0.44341 -0.49014 +-0.45953499 0.45066002 -0.34074001 +-0.47512501 0.32431999 -0.07113 + +-0.50564499 -0.26843 0.44533001 +-0.446595 -0.28271999 0.45134998 +-0.44656502 -0.19707001 0.46938 + +-0.38665501 -0.15554 0.46 +-0.436525 -0.08632 0.43841 +-0.44656502 -0.19707001 0.46938 + +0.053215 -0.32796001 0.58986 +0.133395 -0.34088001 0.60337002 +0.043465 -0.23129 0.58570999 + +0.293375 0.02494 0.40310001 +0.32342499 -0.00259 0.41494999 +0.37462502 0.09203 0.35064999 + +0.293375 0.02494 0.40310001 +0.23304501 0.00794 0.42648998 +0.154285 -0.09136 0.45977001 + +-0.436525 -0.08632 0.43841 +-0.551175 -0.15953 0.43046001 +-0.44656502 -0.19707001 0.46938 + +0.136995 -0.12943 0.54544998 +0.182745 -0.12148 0.53138 +0.182565 -0.11096 0.51632 + +-0.437295 -0.37362999 0.41646999 +-0.37656502 -0.29565001 0.46369999 +-0.446595 -0.28271999 0.45134998 + +0.035725 -0.09047 0.45244999 +0.079635 -0.11564 0.52494999 +0.154285 -0.09136 0.45977001 + +0.262635 -0.34882 0.57363998 +0.276035 -0.42984001 0.55702 +0.336675 -0.44263 0.52173 + +-0.47702499 -0.74514 -0.06318 +-0.52946499 -0.75737999 -0.02987 +-0.50606499 -0.70516998 -0.03412 + +-0.37656502 -0.29565001 0.46369999 +-0.33655499 -0.23921 0.47109001 +-0.446595 -0.28271999 0.45134998 + +-0.436525 -0.08632 0.43841 +-0.50651501 -0.10104 0.42856998 +-0.551175 -0.15953 0.43046001 + +0.103425 -0.39764999 0.58700001 +0.17356501 -0.39825001 0.58146 +0.153475 -0.35493 0.60167 + +0.153435 -0.64473 0.48566002 +0.19356501 -0.64248001 0.49592999 +0.203395 -0.59640999 0.54062 + +0.153435 -0.64473 0.48566002 +0.203395 -0.59640999 0.54062 +0.153405 -0.58124001 0.55702 + +-0.41656502 -0.18295 0.46936001 +-0.44656502 -0.19707001 0.46938 +-0.446595 -0.28271999 0.45134998 + +0.103425 -0.39764999 0.58700001 +0.133395 -0.34088001 0.60337002 +0.053215 -0.32796001 0.58986 + +0.293375 0.02494 0.40310001 +0.37462502 0.09203 0.35064999 +0.26532499 0.11682 0.36832001 + +-0.53415501 0.42109001 -0.44837002 +-0.531875 0.43505001 -0.47442001 +-0.52310501 0.42203999 -0.45536999 + +-0.192925 0.12158 0.28837999 +-0.106735 0.07859 0.32783001 +-0.138135 0.15368 0.18959999 + +-0.297925 -0.53887001 -0.09417 +-0.157915 -0.5673 -0.08973 +-0.24751499 -0.60999001 -0.0966 + +-0.116545 0.01205 -0.16351999 +-0.160285 -0.07244 -0.20541 +-0.190415 -0.01619 -0.18384001 + +-0.436525 -0.08632 0.43841 +-0.38654499 -0.07216 0.43530998 +-0.336605 -0.00365 0.39479 + +-0.42501499 0.0966 0.42016998 +-0.44178501 0.09654 0.43144001 +-0.44835499 0.03677 0.38549 + +0.37462502 0.09203 0.35064999 +0.368885 0.12605 0.31459999 +0.29845501 0.12968 0.34632999 + +-0.406185 -0.64178001 0.44240002 +-0.40703499 -0.68030998 0.47273998 +-0.35189499 -0.67195 0.46866001 + +-0.46279499 0.65877998 -0.53924999 +-0.48884499 0.70297997 -0.56327 +-0.478615 0.61969002 -0.45830002 + +-0.49119499 0.00697 0.39306 +-0.436525 -0.08632 0.43841 +-0.336605 -0.00365 0.39479 + +0.053525 -0.59877998 0.51932999 +0.153435 -0.64473 0.48566002 +0.153405 -0.58124001 0.55702 + +-0.43119499 -0.63069 0.39651001 +-0.45441502 -0.64302002 0.36220001 +-0.46994499 -0.66989998 0.39380001 + +-0.083505 0.68447998 -0.17287001 +-0.073375 0.61046001 -0.18223 +-0.18282499 0.59498001 -0.13044 + +-0.41656502 -0.18295 0.46936001 +-0.446595 -0.28271999 0.45134998 +-0.33655499 -0.23921 0.47109001 + +-0.430355 -0.10442 -0.17239 +-0.420495 -0.13227 -0.18625 +-0.40962502 -0.24707001 -0.19660999 + +0.203305 0.06761 0.41046001 +0.23304501 0.00794 0.42648998 +0.293375 0.02494 0.40310001 + +0.57196499 -0.49865002 0.31608 +0.59136501 -0.44555 0.29172001 +0.57273499 -0.37573002 0.33617001 + +-0.141445 -0.71961998 0.33926998 +-0.129625 -0.75866997 0.17889999 +-0.097395 -0.72411003 0.17242001 + +0.74039497 -0.56462002 0.06716 +0.757565 -0.47983002 0.05688 +0.77457497 -0.49212002 0.10691 + +0.046245 0.64051003 -0.26128 +0.066055 0.59167999 -0.23388 +-0.027095 0.51598 -0.13203 + +-0.33655499 -0.23921 0.47109001 +-0.37656502 -0.29565001 0.46369999 +-0.326595 -0.31034 0.45616001 + +-0.44656502 -0.19707001 0.46938 +-0.41656502 -0.18295 0.46936001 +-0.38665501 -0.15554 0.46 + +-0.406535 0.02358 0.37558998 +-0.33633499 0.03778 0.36269001 +-0.343685 0.08148 0.34409 + +0.26532499 0.11682 0.36832001 +0.185485 0.15646 0.33446999 +0.143465 0.09524 0.39535999 + +0.154285 -0.09136 0.45977001 +0.253855 -0.08411 0.48338001 +0.32342499 -0.00259 0.41494999 + +0.37626499 -0.10669 0.47582001 +0.32317501 -0.0705 0.47466 +0.352155 -0.22743 0.51053001 + +-0.40703499 -0.68030998 0.47273998 +-0.363685 -0.71358002 0.48608002 +-0.35189499 -0.67195 0.46866001 + +0.32317501 -0.0705 0.47466 +0.42301498 -0.09387 0.43786999 +0.42587502 -0.0541 0.4068 + +-0.38665501 -0.15554 0.46 +-0.41656502 -0.18295 0.46936001 +-0.33655499 -0.23921 0.47109001 + +-0.406535 0.02358 0.37558998 +-0.49119499 0.00697 0.39306 +-0.336605 -0.00365 0.39479 + +0.103345 -0.42644001 0.57532001 +0.17356501 -0.39825001 0.58146 +0.103425 -0.39764999 0.58700001 + +-0.326595 -0.31034 0.45616001 +-0.306675 -0.36883999 0.43159 +-0.24657499 -0.24148001 0.44134998 + +0.55329498 -0.58823002 0.33521 +0.52557499 -0.56825001 0.33627998 +0.49892502 -0.66067001 0.30966 + +0.63363499 -0.56191002 0.33492001 +0.59330502 -0.54569 0.33654999 +0.583465 -0.60224998 0.34046001 + +0.143455 0.01272 0.43963001 +0.093525 -0.02874 0.45459 +0.154285 -0.09136 0.45977001 + +-0.34806499 -0.62027 0.40410999 +-0.354585 -0.59728001 0.33195 +-0.39304501 -0.61914001 0.39880001 + +-0.30634501 -0.15582 0.45601002 +-0.306255 -0.14151 0.45530998 +-0.38665501 -0.15554 0.46 + +-0.306255 -0.14151 0.45530998 +-0.38654499 -0.07216 0.43530998 +-0.38665501 -0.15554 0.46 + +0.327005 -0.16132 0.50963001 +0.33553501 -0.21408001 0.52173 +0.352155 -0.22743 0.51053001 + +-0.74114502 0.29077999 0.20722 +-0.72123497 0.26363001 0.29735001 +-0.74582497 0.34598999 0.25691 + +-0.74152496 0.38702 0.23667 +-0.72732498 0.41339001 0.20645 +-0.74042503 0.40042999 0.17667999 + +0.40009499 -0.18596001 0.49257999 +0.37626499 -0.10669 0.47582001 +0.352155 -0.22743 0.51053001 + +0.583465 -0.60224998 0.34046001 +0.49892502 -0.66067001 0.30966 +0.57481499 -0.63938 0.32445999 + +-0.43943501 0.61122002 -0.59380001 +-0.44495499 0.61160999 -0.60196999 +-0.439925 0.61355999 -0.59553001 + +-0.336605 -0.00365 0.39479 +-0.306255 -0.14151 0.45530998 +-0.266535 -0.03076 0.41641998 + +-0.33633499 0.03778 0.36269001 +-0.406535 0.02358 0.37558998 +-0.336605 -0.00365 0.39479 + +0.203305 0.06761 0.41046001 +0.143465 0.09524 0.39535999 +0.143455 0.01272 0.43963001 + +-0.49363499 0.44341 -0.49014 +-0.52519501 0.43825001 -0.48328999 +-0.49435501 0.49361 -0.54973999 + +0.143465 0.09524 0.39535999 +0.013225 0.0811 0.38118 +0.043555 0.01225 0.43209 + +-0.266625 -0.63647999 0.42265999 +-0.296705 -0.61009998 0.40333 +-0.35189499 -0.67195 0.46866001 + +-0.306255 -0.14151 0.45530998 +-0.246605 -0.2133 0.44130001 +-0.216565 -0.08709 0.42601002 + +-0.306255 -0.14151 0.45530998 +-0.30634501 -0.15582 0.45601002 +-0.246605 -0.2133 0.44130001 + +-0.336605 -0.00365 0.39479 +-0.38654499 -0.07216 0.43530998 +-0.306255 -0.14151 0.45530998 + +0.061495 0.71106003 -0.27132 +0.036155 0.71919998 -0.22396 +0.077465 0.65564003 -0.25237 + +-0.51220501 0.43668999 -0.48354 +-0.52519501 0.43825001 -0.48328999 +-0.49363499 0.44341 -0.49014 + +0.182565 -0.11096 0.51632 +0.23345501 -0.11154 0.49640999 +0.154285 -0.09136 0.45977001 + +0.032965 0.15014 0.30976 +0.013225 0.0811 0.38118 +0.119035 0.13868 0.35504002 + +0.20192499 0.21209999 0.08168 +0.147305 0.21093 0.16179001 +0.267075 0.20905001 0.1627 + +-0.50442501 0.51681 -0.12221 +-0.541525 0.60362999 -0.27988001 +-0.55648499 0.57926998 -0.21315001 + +-0.30634501 -0.15582 0.45601002 +-0.38665501 -0.15554 0.46 +-0.33655499 -0.23921 0.47109001 + +0.293375 0.02494 0.40310001 +0.26532499 0.11682 0.36832001 +0.203305 0.06761 0.41046001 + +0.153405 -0.58124001 0.55702 +0.163435 -0.53869999 0.56303001 +0.133365 -0.51195999 0.55555 + +-0.296705 -0.61009998 0.40333 +-0.34806499 -0.62027 0.40410999 +-0.406185 -0.64178001 0.44240002 + +-0.306675 -0.36883999 0.43159 +-0.21644501 -0.28254 0.45178001 +-0.24657499 -0.24148001 0.44134998 + +-0.266535 -0.03076 0.41641998 +-0.216565 -0.08709 0.42601002 +-0.236425 0.01018 0.38021999 + +0.154285 -0.09136 0.45977001 +0.32342499 -0.00259 0.41494999 +0.293375 0.02494 0.40310001 + +-0.72732498 0.41339001 0.20645 +-0.67873497 0.42423 0.10789 +-0.70818497 0.41217999 0.12753 + +-0.216555 -0.65108002 0.42185001 +-0.35189499 -0.67195 0.46866001 +-0.363685 -0.71358002 0.48608002 + +-0.256665 -0.55305 0.4109 +-0.272745 -0.45799 0.41743 +-0.32939499 -0.58321999 0.36421001 + +-0.363685 -0.71358002 0.48608002 +-0.37914501 -0.74181999 0.48116001 +-0.307395 -0.74459 0.46473999 + +-0.296705 -0.61009998 0.40333 +-0.406185 -0.64178001 0.44240002 +-0.35189499 -0.67195 0.46866001 + +-0.21657499 -0.42470001 0.43263 +-0.256665 -0.55305 0.4109 +-0.206465 -0.52480999 0.41360001 + +-0.192925 0.12158 0.28837999 +-0.28057501 0.13838 0.25653999 +-0.308445 0.09557 0.30705999 + +-0.192925 0.12158 0.28837999 +-0.308445 0.09557 0.30705999 +-0.33633499 0.03778 0.36269001 + +-0.43411499 -0.75475998 0.44608002 +-0.33710499 -0.76268997 0.2824 +-0.257085 -0.75538002 0.41583 + +-0.216555 -0.65108002 0.42185001 +-0.266625 -0.63647999 0.42265999 +-0.35189499 -0.67195 0.46866001 + +-0.216555 -0.65108002 0.42185001 +-0.22651501 -0.56736 0.40914001 +-0.266625 -0.63647999 0.42265999 + +-0.306675 -0.36883999 0.43159 +-0.326595 -0.31034 0.45616001 +-0.37656502 -0.29565001 0.46369999 + +-0.246605 -0.2133 0.44130001 +-0.30634501 -0.15582 0.45601002 +-0.24657499 -0.24148001 0.44134998 + +-0.216565 -0.08709 0.42601002 +-0.266535 -0.03076 0.41641998 +-0.306255 -0.14151 0.45530998 + +-0.192925 0.12158 0.28837999 +-0.33633499 0.03778 0.36269001 +-0.236425 0.01018 0.38021999 + +-0.43119499 -0.63069 0.39651001 +-0.42884499 -0.63210999 0.34209 +-0.45441502 -0.64302002 0.36220001 + +-0.47864498 -0.74934998 0.25862 +-0.47838501 -0.72314003 0.26280001 +-0.45761501 -0.71341003 0.26252001 + +-0.69706497 0.27559999 0.04741 +-0.685625 0.31711 0.06703 +-0.62156502 0.28177999 -0.03207 + +-0.363685 -0.71358002 0.48608002 +-0.307395 -0.74459 0.46473999 +-0.232635 -0.74156998 0.44324001 + +-0.33655499 -0.23921 0.47109001 +-0.326595 -0.31034 0.45616001 +-0.24657499 -0.24148001 0.44134998 + +-0.206455 -0.16997 0.45382999 +-0.146535 -0.15527 0.46143002 +-0.136605 -0.09948 0.44941002 + +0.066055 0.59167999 -0.23388 +0.075975 0.58987 -0.22885 +0.068865 0.56655998 -0.20183001 + +-0.22651501 -0.56736 0.40914001 +-0.256665 -0.55305 0.4109 +-0.296705 -0.61009998 0.40333 + +-0.306675 -0.36883999 0.43159 +-0.21657499 -0.42470001 0.43263 +-0.21644501 -0.28254 0.45178001 + +0.17338499 -0.16284 0.56652 +0.053405 -0.17601 0.57659 +0.223505 -0.23148001 0.58157001 + +-0.54392502 0.40847 -0.42164001 +-0.53543499 0.41438 -0.43537998 +-0.52669498 0.41201 -0.43175999 + +0.153405 -0.58124001 0.55702 +0.133365 -0.51195999 0.55555 +0.093335 -0.54011002 0.55001999 + +-0.256665 -0.55305 0.4109 +-0.22651501 -0.56736 0.40914001 +-0.206465 -0.52480999 0.41360001 + +-0.21644501 -0.28254 0.45178001 +-0.246605 -0.2133 0.44130001 +-0.24657499 -0.24148001 0.44134998 + +-0.206455 -0.16997 0.45382999 +-0.136605 -0.09948 0.44941002 +-0.216565 -0.08709 0.42601002 + +-0.216565 -0.08709 0.42601002 +-0.136605 -0.09948 0.44941002 +-0.096575 0.02365 0.37799999 + +0.26328501 -0.13812 0.51595001 +0.17338499 -0.16284 0.56652 +0.25977501 -0.2282 0.57007 + +-0.30634501 -0.15582 0.45601002 +-0.33655499 -0.23921 0.47109001 +-0.24657499 -0.24148001 0.44134998 + +-0.21644501 -0.28254 0.45178001 +-0.176625 -0.22690001 0.44397999 +-0.206455 -0.16997 0.45382999 + +-0.266535 -0.03076 0.41641998 +-0.236425 0.01018 0.38021999 +-0.336605 -0.00365 0.39479 + +-0.21657499 -0.42470001 0.43263 +-0.16668501 -0.42550999 0.42176998 +-0.156665 -0.36923 0.42314999 + +-0.21644501 -0.28254 0.45178001 +-0.206455 -0.16997 0.45382999 +-0.246605 -0.2133 0.44130001 + +0.23304501 0.00794 0.42648998 +0.143455 0.01272 0.43963001 +0.154285 -0.09136 0.45977001 + +0.24317499 -0.62743 0.50932999 +0.203395 -0.59640999 0.54062 +0.19356501 -0.64248001 0.49592999 + +-0.014785 0.14532 -0.02397 +-0.060175 0.08937 -0.1052 +-0.138675 0.11073 -0.06666 + +-0.216555 -0.65108002 0.42185001 +-0.140305 -0.57868999 0.38641998 +-0.22651501 -0.56736 0.40914001 + +-0.206465 -0.52480999 0.41360001 +-0.22651501 -0.56736 0.40914001 +-0.140305 -0.57868999 0.38641998 + +-0.156665 -0.36923 0.42314999 +-0.16668501 -0.42550999 0.42176998 +-0.116605 -0.52758999 0.38146999 + +-0.156565 -0.18361 0.45839001 +-0.146535 -0.15527 0.46143002 +-0.206455 -0.16997 0.45382999 + +-0.136605 -0.09948 0.44941002 +0.013225 0.0811 0.38118 +-0.096575 0.02365 0.37799999 + +0.72791496 -0.59351002 0.06742 +0.67806503 -0.65469002 0.13749 +0.67858498 -0.64014999 0.05778 + +-0.044845 -0.65685997 0.5468 +-0.043565 -0.73834 0.55035999 +0.065805 -0.69416 0.51382 + +0.23345501 -0.11154 0.49640999 +0.182745 -0.12148 0.53138 +0.26328501 -0.13812 0.51595001 + +-0.21657499 -0.42470001 0.43263 +-0.272745 -0.45799 0.41743 +-0.256665 -0.55305 0.4109 + +0.59330502 -0.54569 0.33654999 +0.64346497 -0.49037998 0.32360001 +0.57196499 -0.49865002 0.31608 + +-0.49023499 0.31427999 -0.06865 +-0.54886501 0.33823002 -0.12392 +-0.47512501 0.32431999 -0.07113 + +-0.59239498 0.37070999 -0.07326 +-0.54886501 0.33823002 -0.12392 +-0.54577499 0.32955002 -0.08891 + +-0.22651501 -0.56736 0.40914001 +-0.296705 -0.61009998 0.40333 +-0.266625 -0.63647999 0.42265999 + +-0.140305 -0.57868999 0.38641998 +-0.116605 -0.52758999 0.38146999 +-0.206465 -0.52480999 0.41360001 + +0.25977501 -0.2282 0.57007 +0.276535 -0.21360001 0.55987 +0.27328501 -0.16485001 0.53637001 + +-0.43966499 0.60813999 -0.59201 +-0.43943501 0.61122002 -0.59380001 +-0.439925 0.61355999 -0.59553001 + +-0.176625 -0.22690001 0.44397999 +-0.21644501 -0.28254 0.45178001 +-0.156665 -0.36923 0.42314999 + +-0.146535 -0.15527 0.46143002 +-0.093355 -0.17006001 0.46999001 +-0.136605 -0.09948 0.44941002 + +-0.44350498 0.63459 -0.59969002 +-0.45517502 0.62153999 -0.60337002 +-0.44495499 0.61160999 -0.60196999 + +-0.137875 -0.2701 0.43911999 +-0.116605 -0.52758999 0.38146999 +-0.096085 -0.45277 0.41069 + +-0.21644501 -0.28254 0.45178001 +-0.21657499 -0.42470001 0.43263 +-0.156665 -0.36923 0.42314999 + +-0.176625 -0.22690001 0.44397999 +-0.156665 -0.36923 0.42314999 +-0.137875 -0.2701 0.43911999 + +-0.136565 -0.18389 0.45653999 +-0.137875 -0.2701 0.43911999 +-0.119785 -0.23910999 0.46998001 + +-0.137875 -0.2701 0.43911999 +-0.136565 -0.18389 0.45653999 +-0.156565 -0.18361 0.45839001 + +-0.137875 -0.2701 0.43911999 +-0.156565 -0.18361 0.45839001 +-0.176625 -0.22690001 0.44397999 + +-0.16668501 -0.42550999 0.42176998 +-0.206465 -0.52480999 0.41360001 +-0.116605 -0.52758999 0.38146999 + +-0.137875 -0.2701 0.43911999 +-0.096085 -0.45277 0.41069 +-0.029985 -0.49078999 0.50139999 + +-0.192925 0.12158 0.28837999 +-0.236425 0.01018 0.38021999 +-0.096575 0.02365 0.37799999 + +-0.106735 0.07859 0.32783001 +-0.192925 0.12158 0.28837999 +-0.096575 0.02365 0.37799999 + +0.133395 -0.34088001 0.60337002 +0.223505 -0.23148001 0.58157001 +0.043465 -0.23129 0.58570999 + +0.253855 -0.08411 0.48338001 +0.23345501 -0.11154 0.49640999 +0.26328501 -0.13812 0.51595001 + +-0.166485 0.62580002 -0.00026 +-0.112215 0.62556 -0.07594 +-0.036455 0.74396004 -0.12342 + +-0.16668501 -0.42550999 0.42176998 +-0.21657499 -0.42470001 0.43263 +-0.206465 -0.52480999 0.41360001 + +0.52557499 -0.56825001 0.33627998 +0.47058498 -0.56601002 0.39771999 +0.465905 -0.63949001 0.35477001 + +-0.156565 -0.18361 0.45839001 +-0.136565 -0.18389 0.45653999 +-0.146535 -0.15527 0.46143002 + +-0.146535 -0.15527 0.46143002 +-0.136565 -0.18389 0.45653999 +-0.093355 -0.17006001 0.46999001 + +-0.136605 -0.09948 0.44941002 +0.043555 0.01225 0.43209 +0.013225 0.0811 0.38118 + +-0.236425 0.01018 0.38021999 +-0.216565 -0.08709 0.42601002 +-0.096575 0.02365 0.37799999 + +0.069325 0.57973999 -0.17223 +0.060495 0.54880001 -0.17709 +0.068865 0.56655998 -0.20183001 + +0.145115 -0.74193001 0.48983002 +0.268925 -0.75015999 0.45092999 +0.253395 -0.73496002 0.46985001 + +-0.531875 0.43505001 -0.47442001 +-0.522085 0.42964001 -0.46967999 +-0.52310501 0.42203999 -0.45536999 + +-0.50442501 0.51681 -0.12221 +-0.55648499 0.57926998 -0.21315001 +-0.53754501 0.46978001 -0.00341 + +-0.74152496 0.38702 0.23667 +-0.74582497 0.34598999 0.25691 +-0.72876503 0.31882 0.31702 + +-0.522085 0.42964001 -0.46967999 +-0.51220501 0.43668999 -0.48354 +-0.51262501 0.42702 -0.46618999 + +-0.246605 -0.2133 0.44130001 +-0.206455 -0.16997 0.45382999 +-0.216565 -0.08709 0.42601002 + +-0.51262501 0.42702 -0.46618999 +-0.51220501 0.43668999 -0.48354 +-0.49363499 0.44341 -0.49014 + +-0.136605 -0.09948 0.44941002 +-0.093355 -0.17006001 0.46999001 +-0.080705 -0.14328 0.45655998 + +0.163435 -0.53869999 0.56303001 +0.153405 -0.58124001 0.55702 +0.203395 -0.59640999 0.54062 + +0.185485 0.15646 0.33446999 +0.119035 0.13868 0.35504002 +0.143465 0.09524 0.39535999 + +0.32342499 -0.00259 0.41494999 +0.253855 -0.08411 0.48338001 +0.32317501 -0.0705 0.47466 + +0.21620501 0.20631001 0.22993 +0.19949499 0.18938999 0.2817 +0.279865 0.18177999 0.28193001 + +-0.080705 -0.14328 0.45655998 +-0.106555 -0.0996 0.45023998 +-0.136605 -0.09948 0.44941002 + +-0.036705 -0.58948002 0.47154999 +-0.106135 -0.61624001 0.49498001 +-0.056445 -0.62691002 0.52630001 + +-0.100065 -0.67837997 0.54858002 +-0.106135 -0.61624001 0.49498001 +-0.16275499 -0.66514 0.49737 + +-0.056445 -0.62691002 0.52630001 +-0.044845 -0.65685997 0.5468 +0.023435 -0.61555 0.49417 + +-0.40218498 -0.59438999 0.01163 +-0.41205502 -0.60668999 0.06219 +-0.40209499 -0.53867001 0.05158 + +-0.119005 -0.73551003 0.54847 +-0.055935 -0.72981003 0.55643002 +-0.100065 -0.67837997 0.54858002 + +-0.106135 -0.61624001 0.49498001 +-0.036705 -0.58948002 0.47154999 +-0.143465 -0.60214001 0.43403999 + +0.30644501 0.19247999 0.06287 +0.368895 0.14748 0.00937 +0.32314499 0.16155001 -0.00588 + +0.19949499 0.18938999 0.2817 +0.185485 0.15646 0.33446999 +0.279865 0.18177999 0.28193001 + +0.21620501 0.20631001 0.22993 +0.279865 0.18177999 0.28193001 +0.31116501 0.18573 0.23601 + +0.093385 -0.48191002 0.57638 +0.203465 -0.48157001 0.57987 +0.17356501 -0.39825001 0.58146 + +-0.69313499 0.39777 0.31554001 +-0.65483498 0.44209999 0.23309999 +-0.72732498 0.41339001 0.20645 + +0.279865 0.18177999 0.28193001 +0.362635 0.14925 0.26934 +0.31116501 0.18573 0.23601 + +-0.029165 -0.1302 0.47558998 +-0.029335 -0.10314 0.45814999 +-0.106555 -0.0996 0.45023998 + +-0.156585 -0.76415001 0.10611 +-0.152885 -0.76372002 0.12453 +-0.166565 -0.76378998 0.10376 + +0.145115 -0.74193001 0.48983002 +0.253395 -0.73496002 0.46985001 +0.242435 -0.69941002 0.47040001 + +0.093385 -0.48191002 0.57638 +0.133365 -0.51195999 0.55555 +0.203465 -0.48157001 0.57987 + +0.63363499 -0.56191002 0.33492001 +0.68953499 -0.50616001 0.3109 +0.64346497 -0.49037998 0.32360001 + +-0.118055 -0.56602001 0.3798 +-0.140305 -0.57868999 0.38641998 +-0.036705 -0.58948002 0.47154999 + +-0.49872501 0.43931999 0.33116001 +-0.567505 0.44047001 0.32217999 +-0.56956501 0.37901001 0.42835999 + +-0.49872501 0.43931999 0.33116001 +-0.40461498 0.42754002 0.32105999 +-0.45608501 0.45756001 0.24393999 + +-0.574305 0.39730999 -0.30334999 +-0.54327499 0.39124001 -0.37567001 +-0.55800499 0.38182999 -0.29503 + +0.066055 0.59167999 -0.23388 +0.068865 0.56655998 -0.20183001 +0.060495 0.54880001 -0.17709 + +-0.20724501 -0.69445999 -0.26997999 +-0.166175 -0.74779999 -0.29483 +-0.20123501 -0.75469002 -0.29017 + +0.013465 -0.32881001 0.57973 +-0.019855 -0.37563999 0.55806 +0.053215 -0.32796001 0.58986 + +-0.042475 -0.24874001 0.57685001 +-0.042595 -0.29021999 0.57817001 +-0.006605 -0.27245001 0.59221001 + +-0.47262501 0.31153 -0.0592 +-0.39040501 0.27885 -0.0233 +-0.43113499 0.13668 -0.06854 + +-0.107915 -0.53838001 -0.23878 +-0.158205 -0.50859001 -0.11002 +-0.16091499 -0.46264999 -0.1489 + +0.32317501 -0.0705 0.47466 +0.253855 -0.08411 0.48338001 +0.26328501 -0.13812 0.51595001 + +-0.036455 0.74396004 -0.12342 +-0.020145 0.67031998 -0.15351 +0.036155 0.71919998 -0.22396 + +0.242435 -0.69941002 0.47040001 +0.073435 -0.62984001 0.4934 +0.065805 -0.69416 0.51382 + +0.253305 -0.66041 0.46727001 +0.19356501 -0.64248001 0.49592999 +0.153435 -0.64473 0.48566002 + +-0.056445 -0.62691002 0.52630001 +0.023435 -0.61555 0.49417 +-0.016705 -0.60248001 0.48320999 + +-0.212425 0.4907 -0.10495 +-0.40245499 0.42946999 0.00582 +-0.23320499 0.5352 -0.10464 + +-0.029165 -0.1302 0.47558998 +0.035725 -0.09047 0.45244999 +-0.029335 -0.10314 0.45814999 + +0.17338499 -0.16284 0.56652 +0.136995 -0.12943 0.54544998 +0.053405 -0.17601 0.57659 + +0.52557499 -0.56825001 0.33627998 +0.55329498 -0.58823002 0.33521 +0.57196499 -0.49865002 0.31608 + +0.203465 -0.48157001 0.57987 +0.133365 -0.51195999 0.55555 +0.163435 -0.53869999 0.56303001 + +0.26304501 -0.48462002 0.55549999 +0.203465 -0.48157001 0.57987 +0.163435 -0.53869999 0.56303001 + +0.279865 0.18177999 0.28193001 +0.29845501 0.12968 0.34632999 +0.362635 0.14925 0.26934 + +-0.19886499 -0.37626999 -0.16464001 +-0.238365 -0.47976002 -0.11273 +-0.26883499 -0.37657001 -0.16448 + +0.075455 0.60136002 -0.24311001 +0.080755 0.61445999 -0.2476 +0.075975 0.58987 -0.22885 + +-0.52343498 0.42028999 -0.45174999 +-0.515135 0.41865002 -0.44709 +-0.52669498 0.41201 -0.43175999 + +0.267075 0.20905001 0.1627 +0.38503502 0.15941 0.19188999 +0.30644501 0.19247999 0.06287 + +0.035725 -0.09047 0.45244999 +0.093525 -0.02874 0.45459 +0.043555 0.01225 0.43209 + +-0.77178497 0.08616 0.18837 +-0.77828499 0.14011 0.20802999 +-0.77015503 0.16722 0.17794001 + +-0.019855 -0.37563999 0.55806 +0.053355 -0.41346001 0.56433998 +0.053215 -0.32796001 0.58986 + +-0.006605 -0.27245001 0.59221001 +0.013465 -0.32881001 0.57973 +0.043465 -0.23129 0.58570999 + +0.053405 -0.17601 0.57659 +-0.008315 -0.16797001 0.55435001 +-0.042475 -0.24874001 0.57685001 + +0.035725 -0.09047 0.45244999 +-0.009275 -0.14155 0.52644001 +0.079635 -0.11564 0.52494999 + +0.073435 -0.62984001 0.4934 +0.023435 -0.61555 0.49417 +-0.044845 -0.65685997 0.5468 + +-0.019855 -0.37563999 0.55806 +-0.085865 -0.32016998 0.52319 +-0.029985 -0.49078999 0.50139999 + +-0.075765 -0.16964001 0.4948 +-0.057925 -0.20864 0.54856998 +-0.008315 -0.16797001 0.55435001 + +-0.51262501 0.42702 -0.46618999 +-0.49363499 0.44341 -0.49014 +-0.515135 0.41865002 -0.44709 + +-0.136605 -0.09948 0.44941002 +-0.106555 -0.0996 0.45023998 +0.043555 0.01225 0.43209 + +0.053525 -0.59877998 0.51932999 +0.023435 -0.61555 0.49417 +0.073435 -0.62984001 0.4934 + +0.053355 -0.41346001 0.56433998 +-0.019855 -0.37563999 0.55806 +0.031045 -0.48976002 0.55334 + +0.103425 -0.39764999 0.58700001 +0.053215 -0.32796001 0.58986 +0.053355 -0.41346001 0.56433998 + +0.043465 -0.23129 0.58570999 +0.013465 -0.32881001 0.57973 +0.053215 -0.32796001 0.58986 + +0.47058498 -0.56601002 0.39771999 +0.44266499 -0.61000999 0.39195 +0.465905 -0.63949001 0.35477001 + +0.26532499 0.11682 0.36832001 +0.29845501 0.12968 0.34632999 +0.279865 0.18177999 0.28193001 + +0.053525 -0.59877998 0.51932999 +0.073435 -0.62984001 0.4934 +0.153435 -0.64473 0.48566002 + +-0.39039501 -0.65042 0.25218 +-0.354585 -0.59728001 0.33195 +-0.35820499 -0.59717999 0.29188 + +0.68647499 -0.58339001 -0.0017 +0.701595 -0.51362999 -0.01377 +0.74039497 -0.56462002 0.06716 + +0.77457497 -0.49212002 0.10691 +0.76139503 -0.53476002 0.19711 +0.74088501 -0.59263 0.15724 + +0.043555 0.01225 0.43209 +0.093525 -0.02874 0.45459 +0.143455 0.01272 0.43963001 + +0.013225 0.0811 0.38118 +-0.106735 0.07859 0.32783001 +-0.096575 0.02365 0.37799999 + +-0.087935 0.12239 0.26698 +-0.106735 0.07859 0.32783001 +0.032965 0.15014 0.30976 + +0.103345 -0.42644001 0.57532001 +0.093385 -0.48191002 0.57638 +0.17356501 -0.39825001 0.58146 + +0.242435 -0.69941002 0.47040001 +0.153435 -0.64473 0.48566002 +0.073435 -0.62984001 0.4934 + +0.103345 -0.42644001 0.57532001 +0.103425 -0.39764999 0.58700001 +0.053355 -0.41346001 0.56433998 + +0.616395 -0.19808001 0.01714 +0.595695 -0.19973 -0.04273 +0.61706501 -0.15582 0.06717 + +-0.029335 -0.10314 0.45814999 +0.043555 0.01225 0.43209 +-0.106555 -0.0996 0.45023998 + +0.143455 0.01272 0.43963001 +0.143465 0.09524 0.39535999 +0.043555 0.01225 0.43209 + +0.26532499 0.11682 0.36832001 +0.143465 0.09524 0.39535999 +0.203305 0.06761 0.41046001 + +0.587925 -0.08729 0.02727 +0.57723499 -0.16372999 -0.05665 +0.53067501 -0.0586 -0.06884 + +0.103425 -0.39764999 0.58700001 +0.153475 -0.35493 0.60167 +0.133395 -0.34088001 0.60337002 + +0.153405 -0.58124001 0.55702 +0.093335 -0.54011002 0.55001999 +0.053525 -0.59877998 0.51932999 + +0.223505 -0.23148001 0.58157001 +0.133395 -0.34088001 0.60337002 +0.153475 -0.35493 0.60167 + +0.263435 -0.55469002 0.54113998 +0.307425 -0.55289001 0.51352001 +0.26304501 -0.48462002 0.55549999 + +0.242435 -0.69941002 0.47040001 +0.065805 -0.69416 0.51382 +0.145115 -0.74193001 0.48983002 + +0.036155 0.71919998 -0.22396 +-0.020145 0.67031998 -0.15351 +0.069325 0.57973999 -0.17223 + +-0.18914499 -0.31829 -0.17997 +-0.178825 -0.39007 -0.16848 +-0.19886499 -0.37626999 -0.16464001 + +0.70712502 -0.44008999 0.28386 +0.64346497 -0.49037998 0.32360001 +0.68953499 -0.50616001 0.3109 + +-0.17994499 -0.75432999 0.36115002 +-0.21356501 -0.75926003 0.30533001 +-0.17445499 -0.76107002 0.26183001 + +-0.009545 0.50974998 -0.05037 +-0.084295 0.46479 -0.01832 +0.004935 0.49839001 -0.08707 + +0.263435 -0.55469002 0.54113998 +0.354795 -0.58098999 0.47644001 +0.307425 -0.55289001 0.51352001 + +0.44975498 -0.50793999 -0.1924 +0.42197498 -0.58331001 -0.20099001 +0.391745 -0.56583 -0.23886999 + +0.583465 -0.60224998 0.34046001 +0.59330502 -0.54569 0.33654999 +0.55329498 -0.58823002 0.33521 + +0.59800499 -0.28384001 -0.03253 +0.62454498 -0.39271999 0.04435 +0.611035 -0.42883999 0.02128 + +0.369995 -0.75161003 -0.02044 +0.38144501 -0.72870003 -0.01149 +0.37226501 -0.75335999 0.0004 + +-0.50698502 0.14098 0.53110001 +-0.52195499 0.23915001 0.49179001 +-0.59655499 0.21528 0.54181 + +0.154285 -0.09136 0.45977001 +0.23345501 -0.11154 0.49640999 +0.253855 -0.08411 0.48338001 + +-0.48429501 0.08465 0.51129002 +-0.44178501 0.09654 0.43144001 +-0.429935 0.13929 0.43106998 + +-0.52690498 0.36866001 0.4325 +-0.53012501 0.29573 0.48049 +-0.499935 0.33810001 0.43618999 + +0.34578499 -0.27997 0.53634998 +0.33553501 -0.21408001 0.52173 +0.262635 -0.34882 0.57363998 + +-0.199305 -0.2299 -0.22021999 +-0.153045 -0.23818001 -0.25016001 +-0.167955 -0.26533001 -0.23986 + +0.016075 0.68472 -0.25462 +0.046245 0.64051003 -0.26128 +-0.048255 0.52195999 -0.13641 + +0.17356501 -0.39825001 0.58146 +0.262635 -0.34882 0.57363998 +0.25977501 -0.2282 0.57007 + +-0.51295502 0.12691 0.53984001 +-0.516045 0.07047 0.53485001 +-0.48429501 0.08465 0.51129002 + +-0.53012501 0.29573 0.48049 +-0.60633499 0.29861 0.49606998 +-0.59655499 0.21528 0.54181 + +-0.53012501 0.29573 0.48049 +-0.48616501 0.21021999 0.45523998 +-0.499935 0.33810001 0.43618999 + +0.253305 -0.66041 0.46727001 +0.253395 -0.73496002 0.46985001 +0.329505 -0.71892998 0.45332001 + +-0.51295502 0.12691 0.53984001 +-0.50698502 0.14098 0.53110001 +-0.59655499 0.21528 0.54181 + +-0.51295502 0.12691 0.53984001 +-0.48429501 0.08465 0.51129002 +-0.50698502 0.14098 0.53110001 + +-0.166485 0.62580002 -0.00026 +-0.236595 0.58076 0.04404 +-0.31738501 0.43448002 0.11911 + +0.051805 0.5825 -0.15508 +-0.049325 0.62575001 -0.12564 +-0.22710501 0.49293999 0.03888 + +-0.51295502 0.12691 0.53984001 +-0.54655499 0.08835 0.54924999 +-0.516045 0.07047 0.53485001 + +-0.48616501 0.21021999 0.45523998 +-0.44947498 0.27966999 0.36776001 +-0.499935 0.33810001 0.43618999 + +0.57196499 -0.49865002 0.31608 +0.57273499 -0.37573002 0.33617001 +0.51838501 -0.48213001 0.39742001 + +0.72546501 -0.5941 0.22735001 +0.70681503 -0.56171001 0.28268 +0.68346497 -0.63983002 0.21789 + +0.49573502 -0.1589 0.41981998 +0.486665 -0.19856001 0.44179001 +0.55290501 -0.18681999 0.36167999 + +0.70884499 -0.36710999 0.13567 +0.64000504 -0.36174 0.16885 +0.64128502 -0.37016998 0.18415001 + +0.49573502 -0.1589 0.41981998 +0.56959499 -0.12199 0.29812 +0.55259499 -0.04642 0.27702 + +-0.54655499 0.08835 0.54924999 +-0.51295502 0.12691 0.53984001 +-0.59655499 0.21528 0.54181 + +0.55290501 -0.18681999 0.36167999 +0.486665 -0.19856001 0.44179001 +0.54806499 -0.22674 0.37215 + +0.61429501 -0.26823 0.25707001 +0.56959499 -0.12199 0.29812 +0.54806499 -0.22674 0.37215 + +-0.48616501 0.21021999 0.45523998 +-0.52195499 0.23915001 0.49179001 +-0.50698502 0.14098 0.53110001 + +-0.53012501 0.29573 0.48049 +-0.52195499 0.23915001 0.49179001 +-0.48616501 0.21021999 0.45523998 + +0.53676498 -0.34728001 0.38973 +0.427565 -0.38834 0.46021 +0.51838501 -0.48213001 0.39742001 + +0.42587502 -0.0541 0.4068 +0.43314499 -0.00056 0.38240002 +0.32342499 -0.00259 0.41494999 + +0.54806499 -0.22674 0.37215 +0.50891499 -0.266 0.42063 +0.58010502 -0.29504 0.32986 + +-0.44178501 0.09654 0.43144001 +-0.48429501 0.08465 0.51129002 +-0.44835499 0.03677 0.38549 + +0.069325 0.57973999 -0.17223 +0.046465 0.53513 -0.12086 +0.060495 0.54880001 -0.17709 + +-0.48429501 0.08465 0.51129002 +-0.429935 0.13929 0.43106998 +-0.50698502 0.14098 0.53110001 + +0.486665 -0.19856001 0.44179001 +0.49573502 -0.1589 0.41981998 +0.40009499 -0.18596001 0.49257999 + +-0.43137501 0.38099998 0.37743 +-0.45004501 0.41863998 0.36409 +-0.52690498 0.36866001 0.4325 + +-0.41858501 0.32521999 -0.01536 +-0.401735 0.37047001 -0.00194 +-0.352155 0.32740002 0.01621 + +-0.329715 0.31518 0.05937 +-0.363535 0.29777 0.01081 +-0.34072498 0.34067001 0.0194 + +-0.089315 -0.30382 -0.35894001 +-0.049465 -0.37333 -0.3702 +-0.099045 -0.37569 -0.34127998 + +0.42301498 -0.09387 0.43786999 +0.32317501 -0.0705 0.47466 +0.37626499 -0.10669 0.47582001 + +0.47968498 -0.06731 0.37938999 +0.42301498 -0.09387 0.43786999 +0.49573502 -0.1589 0.41981998 + +-0.406535 0.02358 0.37558998 +-0.44835499 0.03677 0.38549 +-0.49119499 0.00697 0.39306 + +-0.49119499 0.00697 0.39306 +-0.44835499 0.03677 0.38549 +-0.527495 0.03341 0.50833 + +-0.429935 0.13929 0.43106998 +-0.48616501 0.21021999 0.45523998 +-0.50698502 0.14098 0.53110001 + +0.335285 -0.62630001 0.44756001 +0.367225 -0.65199997 0.44060001 +0.44266499 -0.61000999 0.39195 + +-0.44178501 0.09654 0.43144001 +-0.42501499 0.0966 0.42016998 +-0.429935 0.13929 0.43106998 + +-0.44947498 0.27966999 0.36776001 +-0.39515499 0.30839001 0.32299999 +-0.44827499 0.33785 0.38784 + +-0.49363499 0.44341 -0.49014 +-0.47018501 0.48946999 -0.51748001 +-0.44885502 0.48257999 -0.32057999 + +-0.43594501 0.20952999 0.40491001 +-0.48616501 0.21021999 0.45523998 +-0.429935 0.13929 0.43106998 + +-0.229725 -0.20162001 -0.21724001 +-0.32967499 -0.20312 -0.20150999 +-0.310175 -0.08771 -0.20037001 + +0.44266499 -0.61000999 0.39195 +0.43657501 -0.53799 0.43675999 +0.335285 -0.62630001 0.44756001 + +0.47968498 -0.06731 0.37938999 +0.43314499 -0.00056 0.38240002 +0.42587502 -0.0541 0.4068 + +-0.57997501 0.39771 -0.2633 +-0.51723499 0.35522999 -0.21364 +-0.54886501 0.33823002 -0.12392 + +-0.48429501 0.08465 0.51129002 +-0.527495 0.03341 0.50833 +-0.44835499 0.03677 0.38549 + +-0.43594501 0.20952999 0.40491001 +-0.429935 0.13929 0.43106998 +-0.38712502 0.13965 0.40511002 + +-0.614795 0.37119999 -0.013 +-0.58929501 0.35665001 -0.05348 +-0.57147499 0.29725 -0.05187 + +-0.35580502 0.52299 0.06101 +-0.30827499 0.55255001 0.0553 +-0.247845 0.62541 -0.03466 + +0.558475 -0.70769997 0.03611 +0.59227501 -0.64189003 -0.02401 +0.63273499 -0.64609001 0.00875 + +0.38605499 -0.52320999 0.48705002 +0.51838501 -0.48213001 0.39742001 +0.427565 -0.38834 0.46021 + +-0.35817501 0.08173 0.3584 +-0.42501499 0.0966 0.42016998 +-0.40279499 0.05291 0.38118999 + +-0.43594501 0.20952999 0.40491001 +-0.44947498 0.27966999 0.36776001 +-0.48616501 0.21021999 0.45523998 + +-0.38712502 0.13965 0.40511002 +-0.336045 0.18141001 0.33853001 +-0.39515499 0.30839001 0.32299999 + +-0.44947498 0.27966999 0.36776001 +-0.44827499 0.33785 0.38784 +-0.499935 0.33810001 0.43618999 + +0.70681503 -0.56171001 0.28268 +0.63936501 -0.64530998 0.26995001 +0.68346497 -0.63983002 0.21789 + +-0.036705 -0.58948002 0.47154999 +-0.056445 -0.62691002 0.52630001 +-0.016705 -0.60248001 0.48320999 + +-0.28335501 0.37535999 0.07935 +-0.32425499 0.33021 0.07945 +-0.259715 0.37625999 0.05013 + +-0.37914501 -0.74181999 0.48116001 +-0.363685 -0.71358002 0.48608002 +-0.40310501 -0.70723999 0.48404999 + +-0.25884501 -0.74322998 -0.26056 +-0.20724501 -0.69445999 -0.26997999 +-0.20123501 -0.75469002 -0.29017 + +0.41008499 -0.30582001 0.50618 +0.38686501 -0.42890999 0.48895 +0.427565 -0.38834 0.46021 + +0.308475 -0.66796997 0.46055 +0.367225 -0.65199997 0.44060001 +0.335285 -0.62630001 0.44756001 + +-0.45004501 0.41863998 0.36409 +-0.56956501 0.37901001 0.42835999 +-0.52690498 0.36866001 0.4325 + +-0.272745 -0.45799 0.41743 +-0.21657499 -0.42470001 0.43263 +-0.306675 -0.36883999 0.43159 + +0.42587502 -0.0541 0.4068 +0.42301498 -0.09387 0.43786999 +0.47968498 -0.06731 0.37938999 + +-0.38591499 0.35167 0.31952 +-0.43137501 0.38099998 0.37743 +-0.44827499 0.33785 0.38784 + +0.55259499 -0.04642 0.27702 +0.47858501 0.02572 0.32499001 +0.47968498 -0.06731 0.37938999 + +-0.44219501 0.62398998 -0.59071999 +-0.455145 0.56103001 -0.45051998 +-0.44630501 0.55679001 -0.57491001 + +-0.67350502 -0.31801001 0.21348 +-0.71858498 -0.18570999 0.23955999 +-0.72665497 -0.19900999 0.19982 + +-0.44835499 0.03677 0.38549 +-0.406535 0.02358 0.37558998 +-0.40279499 0.05291 0.38118999 + +-0.40461498 0.42754002 0.32105999 +-0.36774502 0.40701 0.25933001 +-0.38813499 0.43208 0.28315001 + +-0.71858498 -0.18570999 0.23955999 +-0.69847504 -0.16400999 0.28132 +-0.71903503 -0.1047 0.21924999 + +-0.39515499 0.30839001 0.32299999 +-0.44947498 0.27966999 0.36776001 +-0.43594501 0.20952999 0.40491001 + +-0.429935 0.13929 0.43106998 +-0.42501499 0.0966 0.42016998 +-0.38712502 0.13965 0.40511002 + +-0.34358501 0.26857 0.25934 +-0.35530499 0.32993999 0.20927 +-0.38591499 0.35167 0.31952 + +-0.39515499 0.30839001 0.32299999 +-0.34358501 0.26857 0.25934 +-0.38591499 0.35167 0.31952 + +-0.216555 -0.65108002 0.42185001 +-0.363685 -0.71358002 0.48608002 +-0.232635 -0.74156998 0.44324001 + +0.72546501 -0.5941 0.22735001 +0.76139503 -0.53476002 0.19711 +0.76070503 -0.52106998 0.2173 + +-0.42501499 0.0966 0.42016998 +-0.44835499 0.03677 0.38549 +-0.40279499 0.05291 0.38118999 + +-0.38591499 0.35167 0.31952 +-0.44827499 0.33785 0.38784 +-0.39515499 0.30839001 0.32299999 + +0.49892502 -0.66067001 0.30966 +0.52557499 -0.56825001 0.33627998 +0.465905 -0.63949001 0.35477001 + +0.336675 -0.44263 0.52173 +0.38686501 -0.42890999 0.48895 +0.358755 -0.33319 0.53729 + +-0.35817501 0.08173 0.3584 +-0.38712502 0.13965 0.40511002 +-0.42501499 0.0966 0.42016998 + +0.47058498 -0.56601002 0.39771999 +0.38605499 -0.52320999 0.48705002 +0.43657501 -0.53799 0.43675999 + +0.33553501 -0.21408001 0.52173 +0.25977501 -0.2282 0.57007 +0.262635 -0.34882 0.57363998 + +0.61429501 -0.26823 0.25707001 +0.64128502 -0.37016998 0.18415001 +0.64000504 -0.36174 0.16885 + +-0.020145 0.67031998 -0.15351 +-0.112215 0.62556 -0.07594 +-0.049325 0.62575001 -0.12564 + +-0.308445 0.09557 0.30705999 +-0.336045 0.18141001 0.33853001 +-0.38712502 0.13965 0.40511002 + +-0.35817501 0.08173 0.3584 +-0.308445 0.09557 0.30705999 +-0.38712502 0.13965 0.40511002 + +0.327005 -0.16132 0.50963001 +0.276535 -0.21360001 0.55987 +0.33553501 -0.21408001 0.52173 + +0.327005 -0.16132 0.50963001 +0.27328501 -0.16485001 0.53637001 +0.276535 -0.21360001 0.55987 + +0.307425 -0.55289001 0.51352001 +0.354795 -0.58098999 0.47644001 +0.38605499 -0.52320999 0.48705002 + +0.336675 -0.44263 0.52173 +0.307425 -0.55289001 0.51352001 +0.38605499 -0.52320999 0.48705002 + +-0.406535 0.02358 0.37558998 +-0.343685 0.08148 0.34409 +-0.35817501 0.08173 0.3584 + +-0.28057501 0.13838 0.25653999 +-0.27186501 0.17989 0.1998 +-0.318915 0.22754999 0.2701 + +-0.38712502 0.13965 0.40511002 +-0.39515499 0.30839001 0.32299999 +-0.43594501 0.20952999 0.40491001 + +-0.112215 0.62556 -0.07594 +-0.020145 0.67031998 -0.15351 +-0.036455 0.74396004 -0.12342 + +-0.559795 0.4541 0.06169 +-0.53754501 0.46978001 -0.00341 +-0.579935 0.46213001 -0.01038 + +0.327005 -0.16132 0.50963001 +0.32317501 -0.0705 0.47466 +0.26328501 -0.13812 0.51595001 + +0.473535 -0.68335999 0.30688 +0.49892502 -0.66067001 0.30966 +0.43405499 -0.71273003 0.30693001 + +-0.343685 0.08148 0.34409 +-0.33633499 0.03778 0.36269001 +-0.308445 0.09557 0.30705999 + +-0.33633499 0.03778 0.36269001 +-0.336605 -0.00365 0.39479 +-0.236425 0.01018 0.38021999 + +0.67806503 -0.65469002 0.13749 +0.74088501 -0.59263 0.15724 +0.68346497 -0.63983002 0.21789 + +0.263435 -0.55469002 0.54113998 +0.24317499 -0.62743 0.50932999 +0.354795 -0.58098999 0.47644001 + +-0.386665 -0.56747002 0.10225 +-0.38455502 -0.62816002 0.13858 +-0.334715 -0.61401001 0.18212 + +-0.406535 0.02358 0.37558998 +-0.35817501 0.08173 0.3584 +-0.40279499 0.05291 0.38118999 + +0.486665 -0.19856001 0.44179001 +0.40009499 -0.18596001 0.49257999 +0.50891499 -0.266 0.42063 + +0.41008499 -0.30582001 0.50618 +0.358755 -0.33319 0.53729 +0.38686501 -0.42890999 0.48895 + +0.24317499 -0.62743 0.50932999 +0.253305 -0.66041 0.46727001 +0.335285 -0.62630001 0.44756001 + +0.066055 0.59167999 -0.23388 +0.060495 0.54880001 -0.17709 +-0.027095 0.51598 -0.13203 + +-0.44141499 0.60801998 -0.58164001 +-0.44219501 0.62398998 -0.59071999 +-0.44630501 0.55679001 -0.57491001 + +-0.35817501 0.08173 0.3584 +-0.343685 0.08148 0.34409 +-0.308445 0.09557 0.30705999 + +0.470495 0.07129 0.2808 +0.47858501 0.02572 0.32499001 +0.55259499 -0.04642 0.27702 + +0.40009499 -0.18596001 0.49257999 +0.352155 -0.22743 0.51053001 +0.34578499 -0.27997 0.53634998 + +-0.049325 0.62575001 -0.12564 +0.051805 0.5825 -0.15508 +0.069325 0.57973999 -0.17223 + +-0.055935 -0.72981003 0.55643002 +-0.044845 -0.65685997 0.5468 +-0.100065 -0.67837997 0.54858002 + +-0.47512501 0.32431999 -0.07113 +-0.47262501 0.31153 -0.0592 +-0.49023499 0.31427999 -0.06865 + +-0.52343498 0.42028999 -0.45174999 +-0.53415501 0.42109001 -0.44837002 +-0.52310501 0.42203999 -0.45536999 + +0.004935 0.49839001 -0.08707 +-0.34072498 0.34067001 0.0194 +-0.027095 0.51598 -0.13203 + +0.53676498 -0.34728001 0.38973 +0.50891499 -0.266 0.42063 +0.41008499 -0.30582001 0.50618 + +-0.468335 0.32449001 -0.06341 +-0.47512501 0.32431999 -0.07113 +-0.45510502 0.35847 -0.05053 + +0.17356501 -0.39825001 0.58146 +0.223505 -0.23148001 0.58157001 +0.153475 -0.35493 0.60167 + +-0.096095 0.71514 -0.06997 +-0.075495 0.73363998 -0.09516 +-0.247845 0.62541 -0.03466 + +-0.29133499 0.43453999 0.10392 +-0.165655 0.49323002 0.03954 +-0.22710501 0.49293999 0.03888 + +-0.55654499 0.64793999 -0.39986 +-0.478615 0.61969002 -0.45830002 +-0.543125 0.70637001 -0.51022999 + +0.276035 -0.42984001 0.55702 +0.203465 -0.48157001 0.57987 +0.26304501 -0.48462002 0.55549999 + +0.336675 -0.44263 0.52173 +0.276035 -0.42984001 0.55702 +0.307425 -0.55289001 0.51352001 + +0.56959499 -0.12199 0.29812 +0.49573502 -0.1589 0.41981998 +0.55290501 -0.18681999 0.36167999 + +-0.39515499 0.30839001 0.32299999 +-0.318915 0.22754999 0.2701 +-0.34358501 0.26857 0.25934 + +0.253305 -0.66041 0.46727001 +0.308475 -0.66796997 0.46055 +0.335285 -0.62630001 0.44756001 + +0.76550499 -0.45125 0.21715 +0.74180496 -0.46634998 0.26339001 +0.76070503 -0.52106998 0.2173 + +-0.096095 0.71514 -0.06997 +-0.247845 0.62541 -0.03466 +-0.30827499 0.55255001 0.0553 + +0.276035 -0.42984001 0.55702 +0.17356501 -0.39825001 0.58146 +0.203465 -0.48157001 0.57987 + +-0.137245 -0.71829002 0.35676998 +-0.141445 -0.71961998 0.33926998 +-0.126875 -0.71792 0.35866001 + +0.253305 -0.66041 0.46727001 +0.329505 -0.71892998 0.45332001 +0.308475 -0.66796997 0.46055 + +0.32317501 -0.0705 0.47466 +0.42587502 -0.0541 0.4068 +0.32342499 -0.00259 0.41494999 + +0.38605499 -0.52320999 0.48705002 +0.354795 -0.58098999 0.47644001 +0.43657501 -0.53799 0.43675999 + +-0.166485 0.62580002 -0.00026 +-0.036455 0.74396004 -0.12342 +-0.096095 0.71514 -0.06997 + +-0.502845 -0.67873001 0.11659 +-0.54426498 -0.71963997 0.10263 +-0.45942501 -0.75005997 0.21047001 + +-0.166485 0.62580002 -0.00026 +-0.31738501 0.43448002 0.11911 +-0.112215 0.62556 -0.07594 + +0.61429501 -0.26823 0.25707001 +0.58010502 -0.29504 0.32986 +0.60397499 -0.40557999 0.27521 + +0.465905 -0.63949001 0.35477001 +0.44266499 -0.61000999 0.39195 +0.390485 -0.69848 0.41848 + +0.19356501 -0.64248001 0.49592999 +0.253305 -0.66041 0.46727001 +0.24317499 -0.62743 0.50932999 + +0.427565 -0.38834 0.46021 +0.53676498 -0.34728001 0.38973 +0.41008499 -0.30582001 0.50618 + +-0.044845 -0.65685997 0.5468 +-0.055935 -0.72981003 0.55643002 +-0.043565 -0.73834 0.55035999 + +-0.081355 0.49502998 0.00394 +-0.084295 0.46479 -0.01832 +-0.009545 0.50974998 -0.05037 + +-0.39040501 0.27885 -0.0233 +-0.41858501 0.32521999 -0.01536 +-0.352155 0.32740002 0.01621 + +0.544925 -0.67612 0.29681999 +0.57144501 -0.70275002 0.21681 +0.63936501 -0.64530998 0.26995001 + +0.49573502 -0.1589 0.41981998 +0.42301498 -0.09387 0.43786999 +0.40009499 -0.18596001 0.49257999 + +-0.29133499 0.43453999 0.10392 +-0.31738501 0.43448002 0.11911 +-0.34077499 0.36119999 0.14935 + +0.558475 -0.70769997 0.03611 +0.63273499 -0.64609001 0.00875 +0.67858498 -0.64014999 0.05778 + +0.55259499 -0.04642 0.27702 +0.58518501 -0.07291 0.16698 +0.54476501 -0.0057 0.22294001 + +0.70712502 -0.44008999 0.28386 +0.74180496 -0.46634998 0.26339001 +0.74194504 -0.41438999 0.23629999 + +-0.165655 0.49323002 0.03954 +0.051805 0.5825 -0.15508 +-0.22710501 0.49293999 0.03888 + +-0.34072498 0.34067001 0.0194 +-0.212425 0.4907 -0.10495 +-0.027095 0.51598 -0.13203 + +-0.069995 -0.13285 -0.23166 +-0.229725 -0.20162001 -0.21724001 +-0.160285 -0.07244 -0.20541 + +0.63363499 -0.56191002 0.33492001 +0.583465 -0.60224998 0.34046001 +0.62594501 -0.60432999 0.32353001 + +0.58010502 -0.29504 0.32986 +0.61429501 -0.26823 0.25707001 +0.54806499 -0.22674 0.37215 + +0.37462502 0.09203 0.35064999 +0.29845501 0.12968 0.34632999 +0.26532499 0.11682 0.36832001 + +0.58010502 -0.29504 0.32986 +0.53676498 -0.34728001 0.38973 +0.57273499 -0.37573002 0.33617001 + +0.47058498 -0.56601002 0.39771999 +0.51838501 -0.48213001 0.39742001 +0.38605499 -0.52320999 0.48705002 + +-0.044845 -0.65685997 0.5468 +-0.056445 -0.62691002 0.52630001 +-0.100065 -0.67837997 0.54858002 + +-0.216555 -0.65108002 0.42185001 +-0.232635 -0.74156998 0.44324001 +-0.222955 -0.69486 0.43347 + +-0.547775 -0.01096 0.39499001 +-0.57050499 -0.03053 0.38844002 +-0.49119499 0.00697 0.39306 + +0.63363499 -0.56191002 0.33492001 +0.70681503 -0.56171001 0.28268 +0.68953499 -0.50616001 0.3109 + +-0.019895 -0.21881001 -0.36255001 +-0.000905 -0.16063999 -0.32273998 +0.061575 -0.19306999 -0.34928001 + +0.073585 0.64028999 -0.27017 +0.075455 0.60136002 -0.24311001 +0.046245 0.64051003 -0.26128 + +0.42301498 -0.09387 0.43786999 +0.37626499 -0.10669 0.47582001 +0.40009499 -0.18596001 0.49257999 + +0.47858501 0.02572 0.32499001 +0.43314499 -0.00056 0.38240002 +0.47968498 -0.06731 0.37938999 + +-0.36774502 0.40701 0.25933001 +-0.36813499 0.44145 0.14507 +-0.38813499 0.43208 0.28315001 + +0.60397499 -0.40557999 0.27521 +0.57273499 -0.37573002 0.33617001 +0.59136501 -0.44555 0.29172001 + +0.59330502 -0.54569 0.33654999 +0.63363499 -0.56191002 0.33492001 +0.64346497 -0.49037998 0.32360001 + +0.263435 -0.55469002 0.54113998 +0.203395 -0.59640999 0.54062 +0.24317499 -0.62743 0.50932999 + +-0.31738501 0.43448002 0.11911 +-0.34386501 0.40557999 0.15052 +-0.34077499 0.36119999 0.14935 + +-0.17994499 -0.75432999 0.36115002 +-0.17445499 -0.76107002 0.26183001 +-0.129625 -0.75866997 0.17889999 + +0.17356501 -0.39825001 0.58146 +0.25977501 -0.2282 0.57007 +0.223505 -0.23148001 0.58157001 + +0.38686501 -0.42890999 0.48895 +0.38605499 -0.52320999 0.48705002 +0.427565 -0.38834 0.46021 + +0.253305 -0.66041 0.46727001 +0.242435 -0.69941002 0.47040001 +0.253395 -0.73496002 0.46985001 + +0.24317499 -0.62743 0.50932999 +0.335285 -0.62630001 0.44756001 +0.354795 -0.58098999 0.47644001 + +0.40009499 -0.18596001 0.49257999 +0.41008499 -0.30582001 0.50618 +0.50891499 -0.266 0.42063 + +0.163435 -0.53869999 0.56303001 +0.203395 -0.59640999 0.54062 +0.263435 -0.55469002 0.54113998 + +0.47058498 -0.56601002 0.39771999 +0.52557499 -0.56825001 0.33627998 +0.51838501 -0.48213001 0.39742001 + +0.64000504 -0.36174 0.16885 +0.63150501 -0.32306999 0.09721 +0.61706501 -0.15582 0.06717 + +-0.18282499 0.59498001 -0.13044 +-0.126565 0.67811996 -0.13629 +-0.083505 0.68447998 -0.17287001 + +0.358755 -0.33319 0.53729 +0.41008499 -0.30582001 0.50618 +0.34578499 -0.27997 0.53634998 + +0.63273499 -0.64609001 0.00875 +0.68647499 -0.58339001 -0.0017 +0.67858498 -0.64014999 0.05778 + +0.32317501 -0.0705 0.47466 +0.327005 -0.16132 0.50963001 +0.352155 -0.22743 0.51053001 + +0.55329498 -0.58823002 0.33521 +0.59330502 -0.54569 0.33654999 +0.57196499 -0.49865002 0.31608 + +0.51838501 -0.48213001 0.39742001 +0.52557499 -0.56825001 0.33627998 +0.57196499 -0.49865002 0.31608 + +-0.31738501 0.43448002 0.11911 +-0.354445 0.43800999 0.1358 +-0.34386501 0.40557999 0.15052 + +-0.29133499 0.43453999 0.10392 +-0.34077499 0.36119999 0.14935 +-0.28335501 0.37535999 0.07935 + +0.262635 -0.34882 0.57363998 +0.336675 -0.44263 0.52173 +0.358755 -0.33319 0.53729 + +0.23304501 0.00794 0.42648998 +0.203305 0.06761 0.41046001 +0.143455 0.01272 0.43963001 + +-0.078115 -0.62351002 -0.25240999 +0.002175 -0.65117996 -0.26294001 +-0.152975 -0.66613998 -0.27448999 + +0.50891499 -0.266 0.42063 +0.54806499 -0.22674 0.37215 +0.486665 -0.19856001 0.44179001 + +0.34578499 -0.27997 0.53634998 +0.352155 -0.22743 0.51053001 +0.33553501 -0.21408001 0.52173 + +0.25977501 -0.2282 0.57007 +0.33553501 -0.21408001 0.52173 +0.276535 -0.21360001 0.55987 + +0.57273499 -0.37573002 0.33617001 +0.53676498 -0.34728001 0.38973 +0.51838501 -0.48213001 0.39742001 + +-0.44495499 0.61160999 -0.60196999 +-0.440755 0.59640999 -0.59333 +-0.46016499 0.52960999 -0.57521999 + +-0.334715 -0.61401001 0.18212 +-0.35919498 -0.65380997 0.20221001 +-0.35820499 -0.59717999 0.29188 + +-0.36254501 -0.75091003 -0.10707 +-0.420145 -0.75016998 -0.08755 +-0.47012501 -0.68793999 -0.04621 + +0.002175 -0.65117996 -0.26294001 +-0.166175 -0.74779999 -0.29483 +-0.152975 -0.66613998 -0.27448999 + +-0.20724501 -0.69445999 -0.26997999 +-0.152975 -0.66613998 -0.27448999 +-0.166175 -0.74779999 -0.29483 + +0.62594501 -0.60432999 0.32353001 +0.57481499 -0.63938 0.32445999 +0.63936501 -0.64530998 0.26995001 + +0.276035 -0.42984001 0.55702 +0.26304501 -0.48462002 0.55549999 +0.307425 -0.55289001 0.51352001 + +0.62594501 -0.60432999 0.32353001 +0.583465 -0.60224998 0.34046001 +0.57481499 -0.63938 0.32445999 + +0.329505 -0.71892998 0.45332001 +0.390485 -0.69848 0.41848 +0.367225 -0.65199997 0.44060001 + +-0.550975 0.20959 -0.06745 +-0.57065498 0.15109 -0.06724 +-0.60123501 0.19448 -0.05578 + +0.595695 -0.19973 -0.04273 +0.616395 -0.19808001 0.01714 +0.59800499 -0.28384001 -0.03253 + +0.43657501 -0.53799 0.43675999 +0.354795 -0.58098999 0.47644001 +0.335285 -0.62630001 0.44756001 + +0.67858498 -0.64014999 0.05778 +0.67806503 -0.65469002 0.13749 +0.59101501 -0.70407997 0.1113 + +-0.44606499 -0.76600998 -0.07796 +-0.420145 -0.75016998 -0.08755 +-0.43560501 -0.76556 -0.07625 + +0.262635 -0.34882 0.57363998 +0.358755 -0.33319 0.53729 +0.34578499 -0.27997 0.53634998 + +0.50891499 -0.266 0.42063 +0.53676498 -0.34728001 0.38973 +0.58010502 -0.29504 0.32986 + +-0.165655 0.49323002 0.03954 +-0.009545 0.50974998 -0.05037 +0.051805 0.5825 -0.15508 + +-0.44842499 -0.42519001 -0.09399 +-0.40871498 -0.39304001 -0.14109 +-0.388325 -0.45629002 -0.06645 + +-0.049325 0.62575001 -0.12564 +0.069325 0.57973999 -0.17223 +-0.020145 0.67031998 -0.15351 + +-0.192925 0.12158 0.28837999 +-0.208305 0.15802 0.22305 +-0.28057501 0.13838 0.25653999 + +-0.34077499 0.36119999 0.14935 +-0.32425499 0.33021 0.07945 +-0.28335501 0.37535999 0.07935 + +-0.081355 0.49502998 0.00394 +-0.165655 0.49323002 0.03954 +-0.29133499 0.43453999 0.10392 + +0.465905 -0.63949001 0.35477001 +0.390485 -0.69848 0.41848 +0.43405499 -0.71273003 0.30693001 + +0.49573502 -0.1589 0.41981998 +0.55259499 -0.04642 0.27702 +0.47968498 -0.06731 0.37938999 + +-0.31738501 0.43448002 0.11911 +-0.29133499 0.43453999 0.10392 +-0.22710501 0.49293999 0.03888 + +0.43314499 -0.00056 0.38240002 +0.37462502 0.09203 0.35064999 +0.32342499 -0.00259 0.41494999 + +-0.075495 0.73363998 -0.09516 +-0.096095 0.71514 -0.06997 +-0.036455 0.74396004 -0.12342 + +0.44266499 -0.61000999 0.39195 +0.47058498 -0.56601002 0.39771999 +0.43657501 -0.53799 0.43675999 + +0.38686501 -0.42890999 0.48895 +0.336675 -0.44263 0.52173 +0.38605499 -0.52320999 0.48705002 + +0.57144501 -0.70275002 0.21681 +0.63408501 -0.68242996 0.15461 +0.68346497 -0.63983002 0.21789 + +0.093335 -0.54011002 0.55001999 +0.093385 -0.48191002 0.57638 +0.031045 -0.48976002 0.55334 + +-0.34806499 -0.62027 0.40410999 +-0.39304501 -0.61914001 0.39880001 +-0.406185 -0.64178001 0.44240002 + +-0.59962502 0.11646 0.54145 +-0.54655499 0.08835 0.54924999 +-0.59655499 0.21528 0.54181 + +0.077465 0.65564003 -0.25237 +0.036155 0.71919998 -0.22396 +0.069325 0.57973999 -0.17223 + +-0.522085 0.42964001 -0.46967999 +-0.51262501 0.42702 -0.46618999 +-0.52343498 0.42028999 -0.45174999 + +0.40009499 -0.18596001 0.49257999 +0.34578499 -0.27997 0.53634998 +0.41008499 -0.30582001 0.50618 + +0.276035 -0.42984001 0.55702 +0.262635 -0.34882 0.57363998 +0.17356501 -0.39825001 0.58146 + +-0.71519501 -0.22723 0.07012 +-0.72489502 -0.13198 0.11954 +-0.68935501 -0.17514999 0.00979 + +-0.141445 -0.71961998 0.33926998 +-0.097395 -0.72411003 0.17242001 +0.034255 -0.70801003 0.40098999 + +-0.47262501 0.31153 -0.0592 +-0.52155499 0.29777 -0.06353 +-0.49023499 0.31427999 -0.06865 + +-0.455145 0.56103001 -0.45051998 +-0.44795502 0.48275002 -0.23052 +-0.44885502 0.48257999 -0.32057999 + +-0.58654499 0.0687 0.53747002 +-0.627995 0.04726 0.49209 +-0.60431499 0.04708 0.51540001 + +-0.74453499 0.0457 0.23389999 +-0.77178497 0.08616 0.18837 +-0.75351501 0.04522 0.14867 + +-0.76138496 0.14034 0.29812 +-0.773265 0.14032 0.25822001 +-0.76094498 0.07262 0.24841 + +-0.76094498 0.07262 0.24841 +-0.773265 0.14032 0.25822001 +-0.77178497 0.08616 0.18837 + +-0.70774498 0.00346 0.16879 +-0.69119499 -0.03813 0.21893999 +-0.67764503 0.00206 0.26896999 + +-0.238545 -0.76138 0.28424 +-0.17994499 -0.75432999 0.36115002 +-0.257085 -0.75538002 0.41583 + +-0.46994499 -0.66989998 0.39380001 +-0.47614498 -0.66900002 0.34229 +-0.49865501 -0.72585999 0.36729 + +0.247805 -0.73291 -0.06195 +0.222605 -0.71620003 -0.04485 +0.231395 -0.71984001 -0.09604 + +-0.67350502 -0.31801001 0.21348 +-0.72665497 -0.19900999 0.19982 +-0.70689499 -0.24051001 0.17004999 + +-0.233095 -0.62811001 -0.12729 +-0.24751499 -0.60999001 -0.0966 +-0.16779499 -0.59556999 -0.09223 + +-0.71903503 -0.1047 0.21924999 +-0.69850502 -0.02457 0.14891 +-0.72112503 -0.09155 0.13937 + +-0.71519501 -0.22723 0.07012 +-0.69344498 -0.26929001 0.08014 +-0.70689499 -0.24051001 0.17004999 + +0.44724499 -0.56456001 -0.18232 +0.50467499 -0.54449001 -0.10164 +0.45115501 -0.60699001 -0.15207 + +-0.77015503 0.16722 0.17794001 +-0.722985 0.29028 0.13737 +-0.73406502 0.22117001 0.0777 + +0.108785 -0.70753998 0.38001999 +0.071735 -0.70736 0.39019001 +0.034255 -0.70801003 0.40098999 + +-0.212425 0.4907 -0.10495 +-0.073375 0.61046001 -0.18223 +-0.048255 0.52195999 -0.13641 + +0.54445499 -0.48500999 -0.09213 +0.44975498 -0.50793999 -0.1924 +0.554575 -0.42790001 -0.10218 + +-0.45953499 0.45066002 -0.34074001 +-0.45510502 0.35847 -0.05053 +-0.47512501 0.32431999 -0.07113 + +-0.75427498 0.12566 0.09816 +-0.77015503 0.16722 0.17794001 +-0.73406502 0.22117001 0.0777 + +0.72791496 -0.59351002 0.06742 +0.74088501 -0.59263 0.15724 +0.67806503 -0.65469002 0.13749 + +-0.65483498 0.44209999 0.23309999 +-0.66683502 0.43922001 0.22899 +-0.72732498 0.41339001 0.20645 + +-0.47864498 -0.74934998 0.25862 +-0.45761501 -0.71341003 0.26252001 +-0.45211498 -0.74226997 0.21997999 + +0.069325 0.57973999 -0.17223 +0.080755 0.61445999 -0.2476 +0.077465 0.65564003 -0.25237 + +-0.67873497 0.42423 0.10789 +-0.65177498 0.41154999 0.04812 +-0.72976501 0.37284 0.12714 + +-0.65177498 0.41154999 0.04812 +-0.65177498 0.38554001 0.03709 +-0.72976501 0.37284 0.12714 + +0.72394501 -0.43584999 0.02906 +0.72512497 -0.40280998 0.05526 +0.756455 -0.42445 0.07686 + +-0.33072498 -0.58639999 0.18187 +-0.334715 -0.61401001 0.18212 +-0.35820499 -0.59717999 0.29188 + +0.051805 0.5825 -0.15508 +0.046465 0.53513 -0.12086 +0.069325 0.57973999 -0.17223 + +-0.59834499 0.43923 0.01644 +-0.579935 0.46213001 -0.01038 +-0.61525501 0.41305 0.00652 + +-0.158205 -0.50859001 -0.11002 +-0.178085 -0.52410999 -0.09604 +-0.238365 -0.47976002 -0.11273 + +-0.21439501 -0.74724998 0.25917999 +-0.19824499 -0.74849998 0.24569 +-0.17445499 -0.76107002 0.26183001 + +-0.247845 0.62541 -0.03466 +-0.29095501 0.58248001 -0.04404 +-0.40747501 0.47915001 0.0356 + +-0.44820499 0.36980999 -0.02461 +-0.47220501 0.42382 -0.00262 +-0.44782501 0.38021 -0.01581 + +-0.37405499 -0.52716 0.21347 +-0.37755501 -0.52604 0.2115 +-0.360765 -0.53513 0.20674 + +-0.52155499 0.29777 -0.06353 +-0.54577499 0.32955002 -0.08891 +-0.49023499 0.31427999 -0.06865 + +-0.329715 0.31518 0.05937 +-0.32425499 0.33021 0.07945 +-0.30900499 0.25450001 0.12933 + +-0.73949501 0.19546 0.40769001 +-0.76541496 0.19517 0.23780001 +-0.76138496 0.14034 0.29812 + +-0.75975502 0.14085 0.40800999 +-0.76138496 0.14034 0.29812 +-0.76316498 0.10037 0.37827 + +-0.069995 -0.13285 -0.23166 +-0.040395 -0.02881 -0.20667999 +0.074325 -0.09863 -0.22704 + +-0.462365 -0.76483002 -0.06405 +-0.47280499 -0.76528 -0.06571 +-0.47702499 -0.74514 -0.06318 + +-0.77015503 0.16722 0.17794001 +-0.76541496 0.19517 0.23780001 +-0.722985 0.29028 0.13737 + +0.47530499 -0.39273998 -0.18283001 +0.44975498 -0.50793999 -0.1924 +0.458255 -0.43664001 -0.18388 + +-0.139575 -0.71986 0.03333 +-0.204055 -0.71999001 -0.05273 +-0.098815 -0.71488998 -0.14756 + +0.56943501 -0.51193001 -0.02993 +0.54107498 -0.55365002 -0.04656 +0.54445499 -0.48500999 -0.09213 + +0.372915 -0.65777 -0.19226999 +0.382645 -0.65669998 -0.17177999 +0.39260502 -0.67114998 -0.11193 + +0.756455 -0.42445 0.07686 +0.757565 -0.47983002 0.05688 +0.73838501 -0.45884998 0.0331 + +-0.579935 0.46213001 -0.01038 +-0.55648499 0.57926998 -0.21315001 +-0.58244499 0.64759003 -0.39550999 + +-0.75503502 0.05844 0.12856 +-0.75427498 0.12566 0.09816 +-0.73905502 0.04444 0.0987 + +0.56943501 -0.51193001 -0.02993 +0.554575 -0.42790001 -0.10218 +0.611035 -0.42883999 0.02128 + +-0.67290497 -0.32478001 0.06036 +-0.63462502 -0.37513 0.05758 +-0.67019501 -0.33046001 0.17235001 + +-0.57005501 0.04798 -0.05057 +-0.67421501 -0.09452 -0.01072 +-0.66189499 0.00042 0.02855 + +0.54445499 -0.48500999 -0.09213 +0.54107498 -0.55365002 -0.04656 +0.50467499 -0.54449001 -0.10164 + +0.39172501 -0.75321999 0.22577 +0.34790501 -0.74143997 0.42344002 +0.268925 -0.75015999 0.45092999 + +0.30606501 -0.05008 -0.17846001 +0.259195 0.02269 -0.176 +0.359175 -0.0197 -0.15061 + +-0.75427498 0.12566 0.09816 +-0.75503502 0.05844 0.12856 +-0.77178497 0.08616 0.18837 + +-0.33072498 -0.58639999 0.18187 +-0.33488499 -0.55792 0.17202 +-0.386665 -0.56747002 0.10225 + +0.329505 -0.71892998 0.45332001 +0.367225 -0.65199997 0.44060001 +0.308475 -0.66796997 0.46055 + +0.004935 0.49839001 -0.08707 +-0.027095 0.51598 -0.13203 +0.060495 0.54880001 -0.17709 + +0.44320499 -0.65613998 -0.05025 +0.522575 -0.68685997 -0.0156 +0.40176498 -0.71222 -0.03167 + +0.51241501 -0.64007004 -0.04479 +0.44320499 -0.65613998 -0.05025 +0.50317501 -0.58196999 -0.06143 + +0.008635 0.76769997 -0.20617001 +-0.006815 0.77167 -0.18312 +0.036155 0.71919998 -0.22396 + +-0.573535 -0.42264999 0.23674 +-0.57746498 -0.38132 0.32298 +-0.63988499 -0.38061001 0.17080999 + +0.329505 -0.71892998 0.45332001 +0.34790501 -0.74143997 0.42344002 +0.390485 -0.69848 0.41848 + +0.59800499 -0.28384001 -0.03253 +0.611035 -0.42883999 0.02128 +0.554575 -0.42790001 -0.10218 + +-0.73905502 0.04444 0.0987 +-0.68397499 0.00246 0.06858 +-0.70774498 0.00346 0.16879 + +-0.73406502 0.22117001 0.0777 +-0.722985 0.29028 0.13737 +-0.685625 0.31711 0.06703 + +-0.53066502 0.00663 -0.09101 +-0.47079498 0.02284 -0.11794 +-0.48044498 -0.07672 -0.15554 + +-0.69932503 0.13755 -0.00205 +-0.75427498 0.12566 0.09816 +-0.73406502 0.22117001 0.0777 + +0.080755 0.61445999 -0.2476 +0.073585 0.64028999 -0.27017 +0.077465 0.65564003 -0.25237 + +0.066055 0.59167999 -0.23388 +0.075455 0.60136002 -0.24311001 +0.075975 0.58987 -0.22885 + +-0.502845 -0.67873001 0.11659 +-0.38455502 -0.62816002 0.13858 +-0.50359501 -0.65364998 0.07231 + +-0.72489502 -0.13198 0.11954 +-0.70828499 -0.11964 0.0597 +-0.68935501 -0.17514999 0.00979 + +0.56943501 -0.51193001 -0.02993 +0.54445499 -0.48500999 -0.09213 +0.554575 -0.42790001 -0.10218 + +-0.515135 0.41865002 -0.44709 +-0.49363499 0.44341 -0.49014 +-0.51723499 0.35522999 -0.21364 + +-0.49023499 0.31427999 -0.06865 +-0.54577499 0.32955002 -0.08891 +-0.54886501 0.33823002 -0.12392 + +0.59800499 -0.28384001 -0.03253 +0.554575 -0.42790001 -0.10218 +0.47530499 -0.39273998 -0.18283001 + +-0.47018501 0.48946999 -0.51748001 +-0.455145 0.56103001 -0.45051998 +-0.44885502 0.48257999 -0.32057999 + +0.372915 -0.65777 -0.19226999 +0.39260502 -0.67114998 -0.11193 +0.35073502 -0.73208 -0.14142 + +0.54107498 -0.55365002 -0.04656 +0.50317501 -0.58196999 -0.06143 +0.50467499 -0.54449001 -0.10164 + +-0.77178497 0.08616 0.18837 +-0.773265 0.14032 0.25822001 +-0.77828499 0.14011 0.20802999 + +0.44975498 -0.50793999 -0.1924 +0.47530499 -0.39273998 -0.18283001 +0.554575 -0.42790001 -0.10218 + +-0.70818497 0.41217999 0.12753 +-0.72976501 0.37284 0.12714 +-0.74042503 0.40042999 0.17667999 + +-0.63988499 -0.38061001 0.17080999 +-0.67019501 -0.33046001 0.17235001 +-0.63462502 -0.37513 0.05758 + +-0.722985 0.29028 0.13737 +-0.74736504 0.31806 0.17700001 +-0.69845497 0.34506001 0.09724 + +0.74039497 -0.56462002 0.06716 +0.77457497 -0.49212002 0.10691 +0.74088501 -0.59263 0.15724 + +-0.20123501 -0.75469002 -0.29017 +-0.23188499 -0.76166 -0.28009001 +-0.25884501 -0.74322998 -0.26056 + +-0.16091499 -0.46264999 -0.1489 +-0.158205 -0.50859001 -0.11002 +-0.19886499 -0.37626999 -0.16464001 + +0.40481499 -0.73542999 0.28509001 +0.473535 -0.68335999 0.30688 +0.43405499 -0.71273003 0.30693001 + +0.061495 0.71106003 -0.27132 +0.008635 0.76769997 -0.20617001 +0.036155 0.71919998 -0.22396 + +-0.67165497 0.20761999 -0.01075 +-0.67093498 0.16365 -0.02486 +-0.69932503 0.13755 -0.00205 + +-0.70828499 -0.11964 0.0597 +-0.72489502 -0.13198 0.11954 +-0.72112503 -0.09155 0.13937 + +-0.531875 0.43505001 -0.47442001 +-0.49343498 0.53766998 -0.56959999 +-0.49435501 0.49361 -0.54973999 + +-0.67873497 0.42423 0.10789 +-0.72976501 0.37284 0.12714 +-0.70818497 0.41217999 0.12753 + +-0.19886499 -0.37626999 -0.16464001 +-0.158205 -0.50859001 -0.11002 +-0.238365 -0.47976002 -0.11273 + +0.32443501 -0.74949997 -0.15917 +0.35073502 -0.73208 -0.14142 +0.369995 -0.75161003 -0.02044 + +0.40176498 -0.71222 -0.03167 +0.39260502 -0.67114998 -0.11193 +0.44320499 -0.65613998 -0.05025 + +-0.41561501 -0.69004997 0.22243999 +-0.39039501 -0.65042 0.25218 +-0.35919498 -0.65380997 0.20221001 + +0.55953499 -0.19656 -0.10231 +0.52969501 -0.24299 -0.15367 +0.53496498 -0.20222 -0.13642 + +0.44975498 -0.50793999 -0.1924 +0.44724499 -0.56456001 -0.18232 +0.42197498 -0.58331001 -0.20099001 + +-0.42884499 -0.63210999 0.34209 +-0.47553501 -0.68308998 0.30209 +-0.45441502 -0.64302002 0.36220001 + +-0.178825 -0.39007 -0.16848 +-0.156355 -0.32272999 -0.27996 +-0.107915 -0.53838001 -0.23878 + +0.141325 -0.71446999 0.04894 +-0.113155 -0.72134003 0.07626 +-0.031635 -0.71653999 -0.15134 + +-0.23188499 -0.76166 -0.28009001 +-0.249135 -0.76183998 -0.26459 +-0.25884501 -0.74322998 -0.26056 + +-0.34072498 0.34067001 0.0194 +-0.352155 0.32740002 0.01621 +-0.312335 0.41512001 -0.03359 + +0.72791496 -0.59351002 0.06742 +0.74039497 -0.56462002 0.06716 +0.74088501 -0.59263 0.15724 + +-0.43119499 -0.63069 0.39651001 +-0.39304501 -0.61914001 0.39880001 +-0.42884499 -0.63210999 0.34209 + +-0.69344498 -0.26929001 0.08014 +-0.71519501 -0.22723 0.07012 +-0.63365501 -0.34187 -0.01984 + +0.40176498 -0.71222 -0.03167 +0.38144501 -0.72870003 -0.01149 +0.369995 -0.75161003 -0.02044 + +0.061495 0.71106003 -0.27132 +0.077465 0.65564003 -0.25237 +0.068505 0.67084 -0.27976999 + +-0.336045 0.18141001 0.33853001 +-0.308445 0.09557 0.30705999 +-0.28057501 0.13838 0.25653999 + +0.141225 -0.72126999 0.18233999 +0.145855 -0.70772003 0.36983002 +0.034255 -0.70801003 0.40098999 + +0.44975498 -0.50793999 -0.1924 +0.50467499 -0.54449001 -0.10164 +0.44724499 -0.56456001 -0.18232 + +-0.44219501 0.62398998 -0.59071999 +-0.46279499 0.65877998 -0.53924999 +-0.455145 0.56103001 -0.45051998 + +0.60656502 -0.14218 0.20698999 +0.61038502 -0.18419001 0.23695999 +0.58518501 -0.07291 0.16698 + +-0.089315 -0.30382 -0.35894001 +-0.049555 -0.31667 -0.37383999 +-0.049465 -0.37333 -0.3702 + +-0.152975 -0.66613998 -0.27448999 +-0.117175 -0.61290001 -0.22316 +-0.078115 -0.62351002 -0.25240999 + +-0.67093498 0.16365 -0.02486 +-0.67165497 0.20761999 -0.01075 +-0.60123501 0.19448 -0.05578 + +-0.57746498 -0.38132 0.32298 +-0.63135502 -0.33622002 0.29066999 +-0.63988499 -0.38061001 0.17080999 + +-0.72375504 -0.14514 0.19955999 +-0.72112503 -0.09155 0.13937 +-0.72489502 -0.13198 0.11954 + +0.269445 -0.75794998 -0.18476999 +0.302465 -0.72740997 -0.204 +0.32443501 -0.74949997 -0.15917 + +-0.440755 0.59640999 -0.59333 +-0.44141499 0.60801998 -0.58164001 +-0.44630501 0.55679001 -0.57491001 + +0.60397499 -0.40557999 0.27521 +0.58010502 -0.29504 0.32986 +0.57273499 -0.37573002 0.33617001 + +0.61038502 -0.18419001 0.23695999 +0.60656502 -0.14218 0.20698999 +0.56959499 -0.12199 0.29812 + +0.55259499 -0.04642 0.27702 +0.56959499 -0.12199 0.29812 +0.60656502 -0.14218 0.20698999 + +0.55259499 -0.04642 0.27702 +0.60656502 -0.14218 0.20698999 +0.58518501 -0.07291 0.16698 + +-0.165655 0.49323002 0.03954 +-0.081355 0.49502998 0.00394 +-0.009545 0.50974998 -0.05037 + +0.075455 0.60136002 -0.24311001 +0.066055 0.59167999 -0.23388 +0.046245 0.64051003 -0.26128 + +-0.44795502 0.48275002 -0.23052 +-0.462285 0.43570999 -0.09058 +-0.45510502 0.35847 -0.05053 + +-0.36774502 0.40701 0.25933001 +-0.34386501 0.40557999 0.15052 +-0.36813499 0.44145 0.14507 + +-0.71858498 -0.18570999 0.23955999 +-0.72375504 -0.14514 0.19955999 +-0.72665497 -0.19900999 0.19982 + +-0.39515499 0.30839001 0.32299999 +-0.336045 0.18141001 0.33853001 +-0.318915 0.22754999 0.2701 + +0.54445499 -0.48500999 -0.09213 +0.50467499 -0.54449001 -0.10164 +0.44975498 -0.50793999 -0.1924 + +-0.32425499 0.33021 0.07945 +-0.329715 0.31518 0.05937 +-0.31918501 0.34056 0.04058 + +0.61429501 -0.26823 0.25707001 +0.61038502 -0.18419001 0.23695999 +0.56959499 -0.12199 0.29812 + +-0.199305 -0.2299 -0.22021999 +-0.105115 -0.16202 -0.24193001 +-0.153045 -0.23818001 -0.25016001 + +0.70681503 -0.56171001 0.28268 +0.62594501 -0.60432999 0.32353001 +0.63936501 -0.64530998 0.26995001 + +0.72546501 -0.5941 0.22735001 +0.74088501 -0.59263 0.15724 +0.76139503 -0.53476002 0.19711 + +0.70681503 -0.56171001 0.28268 +0.72546501 -0.5941 0.22735001 +0.76070503 -0.52106998 0.2173 + +0.76070503 -0.52106998 0.2173 +0.76139503 -0.53476002 0.19711 +0.77713501 -0.47799 0.15698 + +-0.52343498 0.42028999 -0.45174999 +-0.51262501 0.42702 -0.46618999 +-0.515135 0.41865002 -0.44709 + +-0.112925 0.44946999 -0.01904 +-0.28335501 0.37535999 0.07935 +-0.259715 0.37625999 0.05013 + +-0.34077499 0.36119999 0.14935 +-0.30900499 0.25450001 0.12933 +-0.32425499 0.33021 0.07945 + +0.587925 -0.08729 0.02727 +0.61706501 -0.15582 0.06717 +0.57723499 -0.16372999 -0.05665 + +-0.105115 -0.16202 -0.24193001 +-0.129445 -0.21128 -0.28048 +-0.153045 -0.23818001 -0.25016001 + +0.74180496 -0.46634998 0.26339001 +0.70681503 -0.56171001 0.28268 +0.76070503 -0.52106998 0.2173 + +0.51815498 0.03883 0.06995 +0.554645 -0.00877 0.1262 +0.587925 -0.08729 0.02727 + +0.61706501 -0.15582 0.06717 +0.595695 -0.19973 -0.04273 +0.57723499 -0.16372999 -0.05665 + +0.70681503 -0.56171001 0.28268 +0.63363499 -0.56191002 0.33492001 +0.62594501 -0.60432999 0.32353001 + +0.74180496 -0.46634998 0.26339001 +0.68953499 -0.50616001 0.3109 +0.70681503 -0.56171001 0.28268 + +-0.45953499 0.45066002 -0.34074001 +-0.49363499 0.44341 -0.49014 +-0.44885502 0.48257999 -0.32057999 + +0.77457497 -0.49212002 0.10691 +0.77608498 -0.45037998 0.12685 +0.77713501 -0.47799 0.15698 + +0.63408501 -0.68242996 0.15461 +0.67806503 -0.65469002 0.13749 +0.68346497 -0.63983002 0.21789 + +0.74180496 -0.46634998 0.26339001 +0.70712502 -0.44008999 0.28386 +0.68953499 -0.50616001 0.3109 + +-0.35530499 0.32993999 0.20927 +-0.34358501 0.26857 0.25934 +-0.318915 0.22754999 0.2701 + +0.76210503 -0.40971001 0.18714001 +0.74194504 -0.41438999 0.23629999 +0.76550499 -0.45125 0.21715 + +0.76139503 -0.53476002 0.19711 +0.77457497 -0.49212002 0.10691 +0.77713501 -0.47799 0.15698 + +0.76550499 -0.45125 0.21715 +0.76070503 -0.52106998 0.2173 +0.77713501 -0.47799 0.15698 + +-0.31738501 0.43448002 0.11911 +-0.22710501 0.49293999 0.03888 +-0.049325 0.62575001 -0.12564 + +0.61038502 -0.18419001 0.23695999 +0.64000504 -0.36174 0.16885 +0.61706501 -0.15582 0.06717 + +0.61038502 -0.18419001 0.23695999 +0.61429501 -0.26823 0.25707001 +0.64000504 -0.36174 0.16885 + +0.372915 -0.65777 -0.19226999 +0.35073502 -0.73208 -0.14142 +0.32443501 -0.74949997 -0.15917 + +-0.019855 -0.37563999 0.55806 +0.013465 -0.32881001 0.57973 +-0.042595 -0.29021999 0.57817001 + +-0.19960501 -0.25952999 -0.2083 +-0.199305 -0.2299 -0.22021999 +-0.167955 -0.26533001 -0.23986 + +-0.34386501 0.40557999 0.15052 +-0.35530499 0.32993999 0.20927 +-0.34077499 0.36119999 0.14935 + +-0.54955502 0.46242001 0.21086 +-0.50165501 0.46126999 0.24231001 +-0.45608501 0.45756001 0.24393999 + +-0.75427498 0.12566 0.09816 +-0.77178497 0.08616 0.18837 +-0.77015503 0.16722 0.17794001 + +-0.69841499 -0.28159 0.17025999 +-0.69344498 -0.26929001 0.08014 +-0.67290497 -0.32478001 0.06036 + +-0.457075 0.67668999 -0.58800999 +-0.48884499 0.70297997 -0.56327 +-0.46279499 0.65877998 -0.53924999 + +-0.49433498 0.69546997 -0.58514 +-0.47459499 0.69324997 -0.58602001 +-0.457075 0.67668999 -0.58800999 + +-0.46279499 0.65877998 -0.53924999 +-0.44219501 0.62398998 -0.59071999 +-0.457075 0.67668999 -0.58800999 + +0.77608498 -0.45037998 0.12685 +0.76210503 -0.40971001 0.18714001 +0.77713501 -0.47799 0.15698 + +0.76210503 -0.40971001 0.18714001 +0.72683502 -0.37872002 0.20152 +0.74194504 -0.41438999 0.23629999 + +0.74180496 -0.46634998 0.26339001 +0.76550499 -0.45125 0.21715 +0.74194504 -0.41438999 0.23629999 + +0.77608498 -0.45037998 0.12685 +0.77457497 -0.49212002 0.10691 +0.756455 -0.42445 0.07686 + +0.77608498 -0.45037998 0.12685 +0.761605 -0.39966999 0.14054 +0.76210503 -0.40971001 0.18714001 + +0.756455 -0.42445 0.07686 +0.72512497 -0.40280998 0.05526 +0.74167503 -0.40138 0.07409 + +0.761605 -0.39966999 0.14054 +0.74167503 -0.40138 0.07409 +0.72733498 -0.37303001 0.14242 + +0.761605 -0.39966999 0.14054 +0.72683502 -0.37872002 0.20152 +0.76210503 -0.40971001 0.18714001 + +0.72683502 -0.37872002 0.20152 +0.70692497 -0.40130001 0.25292999 +0.74194504 -0.41438999 0.23629999 + +0.49892502 -0.66067001 0.30966 +0.544925 -0.67612 0.29681999 +0.57481499 -0.63938 0.32445999 + +-0.44795502 0.48275002 -0.23052 +-0.46693501 0.51418999 -0.19490999 +-0.462285 0.43570999 -0.09058 + +0.025515 0.74473999 -0.25292999 +-0.016475 0.76692001 -0.19555 +0.008635 0.76769997 -0.20617001 + +0.761605 -0.39966999 0.14054 +0.72733498 -0.37303001 0.14242 +0.72683502 -0.37872002 0.20152 + +0.67144501 -0.41029999 0.26914 +0.70712502 -0.44008999 0.28386 +0.70692497 -0.40130001 0.25292999 + +0.72683502 -0.37872002 0.20152 +0.671035 -0.38804001 0.23941999 +0.70692497 -0.40130001 0.25292999 + +0.72733498 -0.37303001 0.14242 +0.68963501 -0.36695999 0.18777 +0.72683502 -0.37872002 0.20152 + +0.68963501 -0.36695999 0.18777 +0.64128502 -0.37016998 0.18415001 +0.671035 -0.38804001 0.23941999 + +0.67144501 -0.41029999 0.26914 +0.70692497 -0.40130001 0.25292999 +0.671035 -0.38804001 0.23941999 + +0.761605 -0.39966999 0.14054 +0.77608498 -0.45037998 0.12685 +0.756455 -0.42445 0.07686 + +0.72733498 -0.37303001 0.14242 +0.70884499 -0.36710999 0.13567 +0.68963501 -0.36695999 0.18777 + +0.62960499 -0.39731998 0.23868999 +0.60397499 -0.40557999 0.27521 +0.59136501 -0.44555 0.29172001 + +-0.559795 0.4541 0.06169 +-0.579935 0.46213001 -0.01038 +-0.59834499 0.43923 0.01644 + +0.72683502 -0.37872002 0.20152 +0.68963501 -0.36695999 0.18777 +0.671035 -0.38804001 0.23941999 + +-0.53754501 0.46978001 -0.00341 +-0.559795 0.4541 0.06169 +-0.50223499 0.44608002 0.02426 + +0.62960499 -0.39731998 0.23868999 +0.67144501 -0.41029999 0.26914 +0.671035 -0.38804001 0.23941999 + +0.67144501 -0.41029999 0.26914 +0.59136501 -0.44555 0.29172001 +0.57196499 -0.49865002 0.31608 + +0.62960499 -0.39731998 0.23868999 +0.59136501 -0.44555 0.29172001 +0.67144501 -0.41029999 0.26914 + +-0.61915501 0.44778999 0.11374 +-0.559795 0.4541 0.06169 +-0.59834499 0.43923 0.01644 + +0.64128502 -0.37016998 0.18415001 +0.62960499 -0.39731998 0.23868999 +0.671035 -0.38804001 0.23941999 + +-0.28657499 0.21525999 0.16419001 +-0.35530499 0.32993999 0.20927 +-0.318915 0.22754999 0.2701 + +-0.42884499 -0.63210999 0.34209 +-0.39304501 -0.61914001 0.39880001 +-0.354585 -0.59728001 0.33195 + +0.56959499 -0.12199 0.29812 +0.55290501 -0.18681999 0.36167999 +0.54806499 -0.22674 0.37215 + +-0.087935 0.12239 0.26698 +0.032965 0.15014 0.30976 +0.100405 0.1927 0.26025 + +-0.31738501 0.43448002 0.11911 +-0.236595 0.58076 0.04404 +-0.354445 0.43800999 0.1358 + +-0.69313499 0.39777 0.31554001 +-0.62949501 0.42409 0.33152 +-0.65483498 0.44209999 0.23309999 + +-0.74471497 0.23594 0.22754 +-0.74114502 0.29077999 0.20722 +-0.722985 0.29028 0.13737 + +0.70884499 -0.36710999 0.13567 +0.64561501 -0.37198002 0.10372 +0.64000504 -0.36174 0.16885 + +0.60397499 -0.40557999 0.27521 +0.62960499 -0.39731998 0.23868999 +0.64128502 -0.37016998 0.18415001 + +-0.72665497 -0.19900999 0.19982 +-0.71519501 -0.22723 0.07012 +-0.70689499 -0.24051001 0.17004999 + +-0.36813499 0.44145 0.14507 +-0.34386501 0.40557999 0.15052 +-0.354445 0.43800999 0.1358 + +-0.43739498 0.45532001 0.06203 +-0.46518501 0.44868 0.07372 +-0.54955502 0.46242001 0.21086 + +0.76210503 -0.40971001 0.18714001 +0.76550499 -0.45125 0.21715 +0.77713501 -0.47799 0.15698 + +-0.138135 0.15368 0.18959999 +-0.250515 0.18847 0.08946 +-0.24738501 0.17902 0.16450001 + +-0.76094498 0.07262 0.24841 +-0.74453499 0.0457 0.23389999 +-0.70928497 0.03538 0.30452 + +0.64561501 -0.37198002 0.10372 +0.63150501 -0.32306999 0.09721 +0.64000504 -0.36174 0.16885 + +-0.72665497 -0.19900999 0.19982 +-0.72489502 -0.13198 0.11954 +-0.71519501 -0.22723 0.07012 + +-0.096095 0.71514 -0.06997 +-0.30827499 0.55255001 0.0553 +-0.236595 0.58076 0.04404 + +-0.53754501 0.46978001 -0.00341 +-0.50223499 0.44608002 0.02426 +-0.497005 0.44953999 -0.01774 + +-0.404995 -0.67698997 0.19254 +-0.45211498 -0.74226997 0.21997999 +-0.41561501 -0.69004997 0.22243999 + +-0.66683502 0.43922001 0.22899 +-0.61915501 0.44778999 0.11374 +-0.67873497 0.42423 0.10789 + +-0.45004501 0.41863998 0.36409 +-0.49872501 0.43931999 0.33116001 +-0.56956501 0.37901001 0.42835999 + +-0.567505 0.44047001 0.32217999 +-0.50165501 0.46126999 0.24231001 +-0.54955502 0.46242001 0.21086 + +-0.208305 0.15802 0.22305 +-0.138135 0.15368 0.18959999 +-0.24738501 0.17902 0.16450001 + +-0.44795502 0.48275002 -0.23052 +-0.455145 0.56103001 -0.45051998 +-0.478615 0.61969002 -0.45830002 + +-0.50442501 0.51681 -0.12221 +-0.48107498 0.54027 -0.21445999 +-0.541525 0.60362999 -0.27988001 + +-0.74582497 0.34598999 0.25691 +-0.74042503 0.40042999 0.17667999 +-0.74736504 0.31806 0.17700001 + +-0.301705 0.19448999 0.02741 +-0.250515 0.18847 0.08946 +-0.221775 0.16362 -0.02269 + +-0.28657499 0.21525999 0.16419001 +-0.30900499 0.25450001 0.12933 +-0.35530499 0.32993999 0.20927 + +-0.36774502 0.40701 0.25933001 +-0.35530499 0.32993999 0.20927 +-0.34386501 0.40557999 0.15052 + +-0.084295 0.46479 -0.01832 +-0.081355 0.49502998 0.00394 +-0.112925 0.44946999 -0.01904 + +-0.250515 0.18847 0.08946 +-0.106075 0.15324 0.06919 +-0.221775 0.16362 -0.02269 + +-0.62949501 0.42409 0.33152 +-0.567505 0.44047001 0.32217999 +-0.65483498 0.44209999 0.23309999 + +-0.025365 0.17524 0.11324 +0.014575 0.18521999 0.18579 +0.147305 0.21093 0.16179001 + +-0.58244499 0.64759003 -0.39550999 +-0.55654499 0.64793999 -0.39986 +-0.543125 0.70637001 -0.51022999 + +-0.35530499 0.32993999 0.20927 +-0.36774502 0.40701 0.25933001 +-0.38591499 0.35167 0.31952 + +-0.352155 0.32740002 0.01621 +-0.401735 0.37047001 -0.00194 +-0.312335 0.41512001 -0.03359 + +-0.44827499 0.33785 0.38784 +-0.43137501 0.38099998 0.37743 +-0.52690498 0.36866001 0.4325 + +-0.27186501 0.17989 0.1998 +-0.28057501 0.13838 0.25653999 +-0.24738501 0.17902 0.16450001 + +-0.085275 0.1548 0.17931 +-0.025365 0.17524 0.11324 +-0.106075 0.15324 0.06919 + +-0.497005 0.44953999 -0.01774 +-0.50223499 0.44608002 0.02426 +-0.47220501 0.42382 -0.00262 + +-0.61915501 0.44778999 0.11374 +-0.59834499 0.43923 0.01644 +-0.65177498 0.41154999 0.04812 + +-0.48884499 0.70297997 -0.56327 +-0.51963501 0.70806 -0.56443001 +-0.543125 0.70637001 -0.51022999 + +-0.295275 0.20636 0.05543 +-0.28657499 0.21525999 0.16419001 +-0.250515 0.18847 0.08946 + +-0.44820499 0.36980999 -0.02461 +-0.462285 0.43570999 -0.09058 +-0.47220501 0.42382 -0.00262 + +-0.36813499 0.44145 0.14507 +-0.30827499 0.55255001 0.0553 +-0.35580502 0.52299 0.06101 + +-0.478615 0.61969002 -0.45830002 +-0.541525 0.60362999 -0.27988001 +-0.48107498 0.54027 -0.21445999 + +-0.46693501 0.51418999 -0.19490999 +-0.50442501 0.51681 -0.12221 +-0.462285 0.43570999 -0.09058 + +-0.478615 0.61969002 -0.45830002 +-0.455145 0.56103001 -0.45051998 +-0.46279499 0.65877998 -0.53924999 + +-0.386665 -0.56747002 0.10225 +-0.369095 -0.54116001 0.13157 +-0.41275501 -0.52455002 0.07158 + +-0.301705 0.19448999 0.02741 +-0.295275 0.20636 0.05543 +-0.250515 0.18847 0.08946 + +-0.50442501 0.51681 -0.12221 +-0.53754501 0.46978001 -0.00341 +-0.497005 0.44953999 -0.01774 + +-0.74114502 0.29077999 0.20722 +-0.74471497 0.23594 0.22754 +-0.72123497 0.26363001 0.29735001 + +-0.74736504 0.31806 0.17700001 +-0.74114502 0.29077999 0.20722 +-0.74582497 0.34598999 0.25691 + +-0.39786499 0.47005001 0.10535 +-0.40865501 0.45254002 0.17395 +-0.36813499 0.44145 0.14507 + +-0.69119499 -0.03813 0.21893999 +-0.71903503 -0.1047 0.21924999 +-0.70878502 -0.09154 0.23915001 + +-0.73905502 0.04444 0.0987 +-0.70774498 0.00346 0.16879 +-0.75351501 0.04522 0.14867 + +-0.121325 0.14207 0.02081 +-0.138675 0.11073 -0.06666 +-0.221775 0.16362 -0.02269 + +-0.74042503 0.40042999 0.17667999 +-0.72732498 0.41339001 0.20645 +-0.70818497 0.41217999 0.12753 + +-0.40865501 0.45254002 0.17395 +-0.54955502 0.46242001 0.21086 +-0.45608501 0.45756001 0.24393999 + +0.060925 -0.75339996 0.44673 +0.134945 -0.75379997 0.42655998 +0.023935 -0.75346001 0.45659 + +0.061495 0.71106003 -0.27132 +0.047165 0.73010002 -0.26747 +0.008635 0.76769997 -0.20617001 + +-0.47512501 0.32431999 -0.07113 +-0.54886501 0.33823002 -0.12392 +-0.51723499 0.35522999 -0.21364 + +-0.140345 -0.05789 -0.20672001 +-0.105925 -0.01889 -0.19115 +-0.040395 -0.02881 -0.20667999 + +-0.025365 0.17524 0.11324 +-0.085275 0.1548 0.17931 +0.014575 0.18521999 0.18579 + +-0.192925 0.12158 0.28837999 +-0.138135 0.15368 0.18959999 +-0.208305 0.15802 0.22305 + +-0.329715 0.31518 0.05937 +-0.34072498 0.34067001 0.0194 +-0.31918501 0.34056 0.04058 + +0.54476501 -0.0057 0.22294001 +0.470495 0.07129 0.2808 +0.55259499 -0.04642 0.27702 + +0.49233501 0.07108 0.18927999 +0.54476501 -0.0057 0.22294001 +0.554645 -0.00877 0.1262 + +-0.085275 0.1548 0.17931 +-0.106075 0.15324 0.06919 +-0.138135 0.15368 0.18959999 + +-0.40865501 0.45254002 0.17395 +-0.43739498 0.45532001 0.06203 +-0.54955502 0.46242001 0.21086 + +0.51815498 0.03883 0.06995 +0.48769501 0.07898 0.11616 +0.49233501 0.07108 0.18927999 + +0.49233501 0.07108 0.18927999 +0.470495 0.07129 0.2808 +0.54476501 -0.0057 0.22294001 + +-0.121325 0.14207 0.02081 +-0.025365 0.17524 0.11324 +0.078115 0.18864 0.02789 + +-0.46518501 0.44868 0.07372 +-0.559795 0.4541 0.06169 +-0.54955502 0.46242001 0.21086 + +-0.559795 0.4541 0.06169 +-0.61915501 0.44778999 0.11374 +-0.54955502 0.46242001 0.21086 + +-0.138135 0.15368 0.18959999 +-0.106075 0.15324 0.06919 +-0.250515 0.18847 0.08946 + +-0.50165501 0.46126999 0.24231001 +-0.49872501 0.43931999 0.33116001 +-0.45608501 0.45756001 0.24393999 + +-0.438055 -0.66690002 0.44669998 +-0.43119499 -0.63069 0.39651001 +-0.46994499 -0.66989998 0.39380001 + +0.51815498 0.03883 0.06995 +0.49233501 0.07108 0.18927999 +0.554645 -0.00877 0.1262 + +0.54476501 -0.0057 0.22294001 +0.58518501 -0.07291 0.16698 +0.554645 -0.00877 0.1262 + +-0.38813499 0.43208 0.28315001 +-0.40865501 0.45254002 0.17395 +-0.45608501 0.45756001 0.24393999 + +-0.087935 0.12239 0.26698 +-0.085275 0.1548 0.17931 +-0.138135 0.15368 0.18959999 + +-0.34746498 -0.54298 0.16158001 +-0.33488499 -0.55792 0.17202 +-0.34688499 -0.54231998 0.18309999 + +-0.28057501 0.13838 0.25653999 +-0.208305 0.15802 0.22305 +-0.24738501 0.17902 0.16450001 + +0.047165 0.73010002 -0.26747 +0.061495 0.71106003 -0.27132 +0.059645 0.68377998 -0.28246 + +0.554645 -0.00877 0.1262 +0.58518501 -0.07291 0.16698 +0.587925 -0.08729 0.02727 + +-0.50442501 0.51681 -0.12221 +-0.46693501 0.51418999 -0.19490999 +-0.48107498 0.54027 -0.21445999 + +-0.139575 -0.71986 0.03333 +-0.152335 -0.71831001 0.01116 +-0.204055 -0.71999001 -0.05273 + +0.48769501 0.07898 0.11616 +0.41226501 0.13985 0.08791 +0.49233501 0.07108 0.18927999 + +-0.036455 0.74396004 -0.12342 +0.036155 0.71919998 -0.22396 +-0.006815 0.77167 -0.18312 + +-0.58244499 0.64759003 -0.39550999 +-0.543125 0.70637001 -0.51022999 +-0.597435 0.68508003 -0.47937 + +-0.38813499 0.43208 0.28315001 +-0.36813499 0.44145 0.14507 +-0.40865501 0.45254002 0.17395 + +-0.45004501 0.41863998 0.36409 +-0.40461498 0.42754002 0.32105999 +-0.49872501 0.43931999 0.33116001 + +0.37462502 0.09203 0.35064999 +0.43314499 -0.00056 0.38240002 +0.47858501 0.02572 0.32499001 + +0.49725498 0.02933 -0.02307 +0.51815498 0.03883 0.06995 +0.587925 -0.08729 0.02727 + +0.51815498 0.03883 0.06995 +0.45834499 0.08214 0.00486 +0.48769501 0.07898 0.11616 + +-0.336045 0.18141001 0.33853001 +-0.28057501 0.13838 0.25653999 +-0.318915 0.22754999 0.2701 + +-0.40461498 0.42754002 0.32105999 +-0.43137501 0.38099998 0.37743 +-0.38591499 0.35167 0.31952 + +0.136995 -0.12943 0.54544998 +0.182565 -0.11096 0.51632 +0.079635 -0.11564 0.52494999 + +-0.499935 0.33810001 0.43618999 +-0.44827499 0.33785 0.38784 +-0.52690498 0.36866001 0.4325 + +-0.49872501 0.43931999 0.33116001 +-0.50165501 0.46126999 0.24231001 +-0.567505 0.44047001 0.32217999 + +0.23345501 -0.11154 0.49640999 +0.182565 -0.11096 0.51632 +0.182745 -0.12148 0.53138 + +0.182745 -0.12148 0.53138 +0.17338499 -0.16284 0.56652 +0.26328501 -0.13812 0.51595001 + +0.70712502 -0.44008999 0.28386 +0.67144501 -0.41029999 0.26914 +0.64346497 -0.49037998 0.32360001 + +-0.19938499 -0.27365 -0.20799 +-0.176745 -0.32091 -0.21965 +-0.18914499 -0.31829 -0.17997 + +0.430765 0.12101 0.23743 +0.362635 0.14925 0.26934 +0.368885 0.12605 0.31459999 + +0.70884499 -0.36710999 0.13567 +0.64128502 -0.37016998 0.18415001 +0.68963501 -0.36695999 0.18777 + +0.45834499 0.08214 0.00486 +0.41226501 0.13985 0.08791 +0.48769501 0.07898 0.11616 + +0.60397499 -0.40557999 0.27521 +0.64128502 -0.37016998 0.18415001 +0.61429501 -0.26823 0.25707001 + +-0.72375504 -0.14514 0.19955999 +-0.71903503 -0.1047 0.21924999 +-0.72112503 -0.09155 0.13937 + +0.17338499 -0.16284 0.56652 +0.182745 -0.12148 0.53138 +0.136995 -0.12943 0.54544998 + +0.38503502 0.15941 0.19188999 +0.430765 0.12101 0.23743 +0.49233501 0.07108 0.18927999 + +0.368885 0.12605 0.31459999 +0.37462502 0.09203 0.35064999 +0.470495 0.07129 0.2808 + +0.368885 0.12605 0.31459999 +0.470495 0.07129 0.2808 +0.430765 0.12101 0.23743 + +-0.36813499 0.44145 0.14507 +-0.354445 0.43800999 0.1358 +-0.30827499 0.55255001 0.0553 + +-0.46693501 0.51418999 -0.19490999 +-0.44795502 0.48275002 -0.23052 +-0.48107498 0.54027 -0.21445999 + +0.430765 0.12101 0.23743 +0.470495 0.07129 0.2808 +0.49233501 0.07108 0.18927999 + +-0.30900499 0.25450001 0.12933 +-0.34077499 0.36119999 0.14935 +-0.35530499 0.32993999 0.20927 + +-0.27186501 0.17989 0.1998 +-0.24738501 0.17902 0.16450001 +-0.250515 0.18847 0.08946 + +-0.56956501 0.37901001 0.42835999 +-0.567505 0.44047001 0.32217999 +-0.62949501 0.42409 0.33152 + +0.41226501 0.13985 0.08791 +0.38503502 0.15941 0.19188999 +0.49233501 0.07108 0.18927999 + +-0.40461498 0.42754002 0.32105999 +-0.38813499 0.43208 0.28315001 +-0.45608501 0.45756001 0.24393999 + +0.035725 -0.09047 0.45244999 +0.154285 -0.09136 0.45977001 +0.093525 -0.02874 0.45459 + +0.37462502 0.09203 0.35064999 +0.47858501 0.02572 0.32499001 +0.470495 0.07129 0.2808 + +-0.67165497 0.20761999 -0.01075 +-0.69932503 0.13755 -0.00205 +-0.73406502 0.22117001 0.0777 + +0.223505 -0.23148001 0.58157001 +0.053405 -0.17601 0.57659 +0.043465 -0.23129 0.58570999 + +0.61706501 -0.15582 0.06717 +0.587925 -0.08729 0.02727 +0.58518501 -0.07291 0.16698 + +0.362635 0.14925 0.26934 +0.430765 0.12101 0.23743 +0.38503502 0.15941 0.19188999 + +-0.106735 0.07859 0.32783001 +-0.087935 0.12239 0.26698 +-0.138135 0.15368 0.18959999 + +-0.48107498 0.54027 -0.21445999 +-0.44795502 0.48275002 -0.23052 +-0.478615 0.61969002 -0.45830002 + +0.28172501 -0.75823997 -0.05062 +0.369995 -0.75161003 -0.02044 +0.37226501 -0.75335999 0.0004 + +0.40085499 0.10826 -0.02869 +0.32314499 0.16155001 -0.00588 +0.368895 0.14748 0.00937 + +-0.51963501 0.70806 -0.56443001 +-0.572925 0.70330002 -0.52133999 +-0.543125 0.70637001 -0.51022999 + +-0.68001503 -0.24351 -0.00998 +-0.68935501 -0.17514999 0.00979 +-0.660215 -0.19101 -0.05073 + +0.41226501 0.13985 0.08791 +0.45834499 0.08214 0.00486 +0.40085499 0.10826 -0.02869 + +0.41226501 0.13985 0.08791 +0.40085499 0.10826 -0.02869 +0.368895 0.14748 0.00937 + +0.267075 0.20905001 0.1627 +0.31116501 0.18573 0.23601 +0.38503502 0.15941 0.19188999 + +0.29845501 0.12968 0.34632999 +0.368885 0.12605 0.31459999 +0.362635 0.14925 0.26934 + +-0.28657499 0.21525999 0.16419001 +-0.27186501 0.17989 0.1998 +-0.250515 0.18847 0.08946 + +-0.56052502 -0.45873001 0.12908 +-0.53317501 -0.47806999 0.18746 +-0.63988499 -0.38061001 0.17080999 + +-0.52155499 0.29777 -0.06353 +-0.54156502 0.29757 -0.05975 +-0.54577499 0.32955002 -0.08891 + +0.41226501 0.13985 0.08791 +0.368895 0.14748 0.00937 +0.30644501 0.19247999 0.06287 + +0.362635 0.14925 0.26934 +0.38503502 0.15941 0.19188999 +0.31116501 0.18573 0.23601 + +-0.080705 -0.14328 0.45655998 +-0.075765 -0.16964001 0.4948 +-0.029165 -0.1302 0.47558998 + +0.043465 -0.23129 0.58570999 +0.053405 -0.17601 0.57659 +-0.042475 -0.24874001 0.57685001 + +-0.036705 -0.58948002 0.47154999 +-0.029985 -0.49078999 0.50139999 +-0.096085 -0.45277 0.41069 + +-0.406185 -0.64178001 0.44240002 +-0.39304501 -0.61914001 0.39880001 +-0.43119499 -0.63069 0.39651001 + +-0.100065 -0.67837997 0.54858002 +-0.158775 -0.70517998 0.52299 +-0.119005 -0.73551003 0.54847 + +-0.008315 -0.16797001 0.55435001 +-0.057925 -0.20864 0.54856998 +-0.042475 -0.24874001 0.57685001 + +-0.62411499 0.60556 -0.39534 +-0.608685 0.60671001 -0.42444 +-0.61443501 0.52313 -0.27403999 + +-0.100065 -0.67837997 0.54858002 +-0.056445 -0.62691002 0.52630001 +-0.106135 -0.61624001 0.49498001 + +-0.051545 0.75455002 -0.12812 +-0.29095501 0.58248001 -0.04404 +-0.247845 0.62541 -0.03466 + +-0.158775 -0.70517998 0.52299 +-0.100065 -0.67837997 0.54858002 +-0.16275499 -0.66514 0.49737 + +-0.597435 0.68508003 -0.47937 +-0.579935 0.46213001 -0.01038 +-0.58244499 0.64759003 -0.39550999 + +-0.57147499 0.29725 -0.05187 +-0.54156502 0.29757 -0.05975 +-0.52155499 0.29777 -0.06353 + +-0.44782501 0.38021 -0.01581 +-0.41858501 0.32521999 -0.01536 +-0.44820499 0.36980999 -0.02461 + +-0.116605 -0.52758999 0.38146999 +-0.140305 -0.57868999 0.38641998 +-0.118055 -0.56602001 0.3798 + +-0.35253502 -0.54191002 0.28164 +-0.354585 -0.59728001 0.33195 +-0.32939499 -0.58321999 0.36421001 + +0.35949501 -0.21177999 -0.24714001 +0.290105 -0.15098 -0.25101999 +0.28848499 -0.13418 -0.22884001 + +-0.44495499 0.61160999 -0.60196999 +-0.43943501 0.61122002 -0.59380001 +-0.440755 0.59640999 -0.59333 + +0.053525 -0.59877998 0.51932999 +0.093335 -0.54011002 0.55001999 +0.031045 -0.48976002 0.55334 + +-0.43739498 0.45532001 0.06203 +-0.247845 0.62541 -0.03466 +-0.40747501 0.47915001 0.0356 + +-0.34072498 0.34067001 0.0194 +-0.363535 0.29777 0.01081 +-0.352155 0.32740002 0.01621 + +-0.47512501 0.32431999 -0.07113 +-0.468335 0.32449001 -0.06341 +-0.47262501 0.31153 -0.0592 + +-0.199305 -0.2299 -0.22021999 +-0.19938499 -0.27365 -0.20799 +-0.249485 -0.24631001 -0.19802999 + +-0.32425499 0.33021 0.07945 +-0.31918501 0.34056 0.04058 +-0.259715 0.37625999 0.05013 + +-0.60170502 0.42654999 -0.05351 +-0.59239498 0.37070999 -0.07326 +-0.614795 0.37119999 -0.013 + +-0.34414501 -0.48889999 0.33360001 +-0.35253502 -0.54191002 0.28164 +-0.32939499 -0.58321999 0.36421001 + +-0.009275 -0.14155 0.52644001 +-0.008315 -0.16797001 0.55435001 +0.053405 -0.17601 0.57659 + +-0.068205 -0.24886999 0.56009998 +-0.042475 -0.24874001 0.57685001 +-0.057925 -0.20864 0.54856998 + +-0.17994499 -0.75432999 0.36115002 +-0.129625 -0.75866997 0.17889999 +-0.141445 -0.71961998 0.33926998 + +-0.35181499 -0.54046001 0.20204 +-0.34688499 -0.54231998 0.18309999 +-0.33072498 -0.58639999 0.18187 + +-0.009545 0.50974998 -0.05037 +0.004935 0.49839001 -0.08707 +0.046465 0.53513 -0.12086 + +-0.029165 -0.1302 0.47558998 +-0.106555 -0.0996 0.45023998 +-0.080705 -0.14328 0.45655998 + +-0.068205 -0.24886999 0.56009998 +-0.093355 -0.17006001 0.46999001 +-0.119785 -0.23910999 0.46998001 + +-0.068205 -0.24886999 0.56009998 +-0.057925 -0.20864 0.54856998 +-0.075765 -0.16964001 0.4948 + +-0.074085 -0.30458 0.55348 +-0.068205 -0.24886999 0.56009998 +-0.119785 -0.23910999 0.46998001 + +0.031045 -0.48976002 0.55334 +-0.019855 -0.37563999 0.55806 +-0.016705 -0.60248001 0.48320999 + +-0.119785 -0.23910999 0.46998001 +-0.137875 -0.2701 0.43911999 +-0.085865 -0.32016998 0.52319 + +-0.38665501 -0.15554 0.46 +-0.38654499 -0.07216 0.43530998 +-0.436525 -0.08632 0.43841 + +0.035725 -0.09047 0.45244999 +-0.029165 -0.1302 0.47558998 +-0.009275 -0.14155 0.52644001 + +-0.019855 -0.37563999 0.55806 +-0.042595 -0.29021999 0.57817001 +-0.074085 -0.30458 0.55348 + +-0.330975 0.52471001 -0.03259 +-0.18282499 0.59498001 -0.13044 +-0.23320499 0.5352 -0.10464 + +0.093385 -0.48191002 0.57638 +0.103345 -0.42644001 0.57532001 +0.053355 -0.41346001 0.56433998 + +-0.54655499 0.08835 0.54924999 +-0.58654499 0.0687 0.53747002 +-0.54197498 0.03751 0.51964001 + +-0.137875 -0.2701 0.43911999 +-0.029985 -0.49078999 0.50139999 +-0.085865 -0.32016998 0.52319 + +-0.029165 -0.1302 0.47558998 +-0.075765 -0.16964001 0.4948 +-0.009275 -0.14155 0.52644001 + +-0.35181499 -0.54046001 0.20204 +-0.40862499 -0.51027 0.23212 +-0.382085 -0.52368999 0.21750999 + +-0.288985 -0.33368 -0.16805 +-0.328545 -0.40797001 -0.12829 +-0.37912498 -0.31878 -0.18186001 + +-0.455145 0.56103001 -0.45051998 +-0.47018501 0.48946999 -0.51748001 +-0.44630501 0.55679001 -0.57491001 + +-0.080705 -0.14328 0.45655998 +-0.093355 -0.17006001 0.46999001 +-0.075765 -0.16964001 0.4948 + +-0.40862499 -0.51027 0.23212 +-0.37079498 -0.49140999 0.28962999 +-0.403395 -0.47771 0.30250999 + +-0.35181499 -0.54046001 0.20204 +-0.37079498 -0.49140999 0.28962999 +-0.40862499 -0.51027 0.23212 + +-0.42102501 -0.74413002 0.47407001 +-0.44044498 -0.72050003 0.46478001 +-0.47779499 -0.74220001 0.42571999 + +-0.51212502 -0.2273 0.45049999 +-0.55939499 -0.21372999 0.42647999 +-0.61961498 -0.25518 0.37487 + +-0.40703499 -0.68030998 0.47273998 +-0.406185 -0.64178001 0.44240002 +-0.438055 -0.66690002 0.44669998 + +-0.35181499 -0.54046001 0.20204 +-0.35253502 -0.54191002 0.28164 +-0.37079498 -0.49140999 0.28962999 + +-0.60170502 0.42654999 -0.05351 +-0.579935 0.46213001 -0.01038 +-0.62411499 0.60556 -0.39534 + +-0.140345 -0.05789 -0.20672001 +-0.040395 -0.02881 -0.20667999 +-0.069995 -0.13285 -0.23166 + +-0.62949501 0.42409 0.33152 +-0.69313499 0.39777 0.31554001 +-0.62565498 0.37287998 0.41800999 + +-0.259715 0.37625999 0.05013 +-0.31918501 0.34056 0.04058 +-0.112925 0.44946999 -0.01904 + +-0.677295 0.16986 0.51804001 +-0.62663502 0.17285 0.54678001 +-0.65234497 0.19790001 0.53490002 + +-0.49433498 0.69546997 -0.58514 +-0.457075 0.67668999 -0.58800999 +-0.47443501 0.65209999 -0.59683998 + +-0.50058498 -0.72952003 0.32737999 +-0.47553501 -0.68308998 0.30209 +-0.47838501 -0.72314003 0.26280001 + +0.38315498 -0.105 -0.19958 +0.44600498 -0.11718 -0.16657 +0.44883499 -0.17316 -0.18752001 + +-0.65234497 0.19790001 0.53490002 +-0.65054497 0.23882 0.51790001 +-0.68966499 0.23750999 0.48583 + +-0.45441502 -0.64302002 0.36220001 +-0.47614498 -0.66900002 0.34229 +-0.46994499 -0.66989998 0.39380001 + +-0.55939499 -0.21372999 0.42647999 +-0.551175 -0.15953 0.43046001 +-0.61401501 -0.18775999 0.38139999 + +-0.042595 -0.29021999 0.57817001 +-0.042475 -0.24874001 0.57685001 +-0.068205 -0.24886999 0.56009998 + +-0.152975 -0.66613998 -0.27448999 +-0.17661501 -0.63981998 -0.23927999 +-0.117175 -0.61290001 -0.22316 + +-0.272745 -0.45799 0.41743 +-0.34414501 -0.48889999 0.33360001 +-0.32939499 -0.58321999 0.36421001 + +-0.029985 -0.49078999 0.50139999 +-0.036705 -0.58948002 0.47154999 +-0.016705 -0.60248001 0.48320999 + +-0.136565 -0.18389 0.45653999 +-0.119785 -0.23910999 0.46998001 +-0.093355 -0.17006001 0.46999001 + +-0.096085 -0.45277 0.41069 +-0.116605 -0.52758999 0.38146999 +-0.118055 -0.56602001 0.3798 + +-0.59962502 0.11646 0.54145 +-0.62663502 0.17285 0.54678001 +-0.677295 0.16986 0.51804001 + +-0.65526497 -0.16193001 0.33708 +-0.61401501 -0.18775999 0.38139999 +-0.60681499 -0.05331 0.35605999 + +-0.40862499 -0.51027 0.23212 +-0.406595 -0.51327 0.22797001 +-0.406595 -0.51174999 0.23107 + +-0.39039501 -0.65042 0.25218 +-0.42884499 -0.63210999 0.34209 +-0.354585 -0.59728001 0.33195 + +-0.54392502 0.40847 -0.42164001 +-0.52669498 0.41201 -0.43175999 +-0.54327499 0.39124001 -0.37567001 + +-0.61961498 -0.25518 0.37487 +-0.55939499 -0.21372999 0.42647999 +-0.61401501 -0.18775999 0.38139999 + +-0.420495 -0.13227 -0.18625 +-0.36962502 -0.20292999 -0.20726999 +-0.40962502 -0.24707001 -0.19660999 + +-0.48429501 0.08465 0.51129002 +-0.516045 0.07047 0.53485001 +-0.527495 0.03341 0.50833 + +-0.16779499 -0.59556999 -0.09223 +-0.132525 -0.59215 -0.16823 +-0.228515 -0.64073997 -0.19774 + +-0.49343498 0.53766998 -0.56959999 +-0.44495499 0.61160999 -0.60196999 +-0.46016499 0.52960999 -0.57521999 + +-0.363685 -0.71358002 0.48608002 +-0.40703499 -0.68030998 0.47273998 +-0.40310501 -0.70723999 0.48404999 + +-0.65234497 0.19790001 0.53490002 +-0.59655499 0.21528 0.54181 +-0.65054497 0.23882 0.51790001 + +-0.74907501 0.12734 0.44921001 +-0.70310501 0.07475 0.49027 +-0.677295 0.16986 0.51804001 + +-0.16779499 -0.59556999 -0.09223 +-0.228515 -0.64073997 -0.19774 +-0.233095 -0.62811001 -0.12729 + +-0.75975502 0.14085 0.40800999 +-0.754655 0.10016 0.44153999 +-0.74907501 0.12734 0.44921001 + +-0.17445499 -0.76107002 0.26183001 +-0.18321501 -0.75733002 0.1487 +-0.129625 -0.75866997 0.17889999 + +-0.156665 -0.36923 0.42314999 +-0.116605 -0.52758999 0.38146999 +-0.137875 -0.2701 0.43911999 + +-0.58818501 -0.35695 -0.06415 +-0.60820499 -0.28396 -0.08675 +-0.579235 -0.25250999 -0.13211 + +-0.158205 -0.50859001 -0.11002 +-0.157915 -0.5673 -0.08973 +-0.178085 -0.52410999 -0.09604 + +-0.438055 -0.66690002 0.44669998 +-0.406185 -0.64178001 0.44240002 +-0.43119499 -0.63069 0.39651001 + +-0.437295 -0.37362999 0.41646999 +-0.50172501 -0.31013 0.42847 +-0.50455502 -0.31641001 0.42362999 + +-0.56019501 -0.74653 0.0799 +-0.54426498 -0.71963997 0.10263 +-0.54181499 -0.69334 0.08588 + +-0.019855 -0.37563999 0.55806 +-0.029985 -0.49078999 0.50139999 +-0.016705 -0.60248001 0.48320999 + +-0.143465 -0.60214001 0.43403999 +-0.140305 -0.57868999 0.38641998 +-0.216555 -0.65108002 0.42185001 + +0.046465 0.53513 -0.12086 +0.004935 0.49839001 -0.08707 +0.060495 0.54880001 -0.17709 + +-0.32939499 -0.58321999 0.36421001 +-0.34806499 -0.62027 0.40410999 +-0.296705 -0.61009998 0.40333 + +0.70712502 -0.44008999 0.28386 +0.74194504 -0.41438999 0.23629999 +0.70692497 -0.40130001 0.25292999 + +-0.382085 -0.52368999 0.21750999 +-0.37405499 -0.52716 0.21347 +-0.360765 -0.53513 0.20674 + +-0.236595 0.58076 0.04404 +-0.30827499 0.55255001 0.0553 +-0.354445 0.43800999 0.1358 + +-0.18321501 -0.75733002 0.1487 +-0.252265 -0.76543999 0.06978 +-0.20473499 -0.76521004 0.06109 + +-0.54181499 -0.69334 0.08588 +-0.502845 -0.67873001 0.11659 +-0.50359501 -0.65364998 0.07231 + +-0.44044498 -0.72050003 0.46478001 +-0.40703499 -0.68030998 0.47273998 +-0.438055 -0.66690002 0.44669998 + +-0.099435 -0.2215 -0.33507999 +-0.129445 -0.21128 -0.28048 +-0.068905 -0.17981001 -0.32354 + +-0.44842499 -0.42519001 -0.09399 +-0.48772499 -0.47484001 -0.01301 +-0.51724499 -0.39648998 -0.08125 + +-0.53066502 0.00663 -0.09101 +-0.48044498 -0.07672 -0.15554 +-0.59998501 -0.08147 -0.08608 + +-0.143465 -0.60214001 0.43403999 +-0.16275499 -0.66514 0.49737 +-0.106135 -0.61624001 0.49498001 + +-0.65054497 0.23882 0.51790001 +-0.66231499 0.29212999 0.47123001 +-0.68966499 0.23750999 0.48583 + +-0.074085 -0.30458 0.55348 +-0.119785 -0.23910999 0.46998001 +-0.085865 -0.32016998 0.52319 + +-0.551175 -0.15953 0.43046001 +-0.55939499 -0.21372999 0.42647999 +-0.44656502 -0.19707001 0.46938 + +-0.419095 -0.61935001 0.07249 +-0.47767502 -0.65098999 0.02223 +-0.50359501 -0.65364998 0.07231 + +-0.009275 -0.14155 0.52644001 +0.053405 -0.17601 0.57659 +0.079635 -0.11564 0.52494999 + +-0.60025501 0.10649 -0.05573 +-0.67093498 0.16365 -0.02486 +-0.60123501 0.19448 -0.05578 + +-0.068205 -0.24886999 0.56009998 +-0.075765 -0.16964001 0.4948 +-0.093355 -0.17006001 0.46999001 + +-0.67091499 0.06852 0.50094002 +-0.648545 0.03328 0.48077 +-0.627995 0.04726 0.49209 + +-0.71903503 -0.1047 0.21924999 +-0.69847504 -0.16400999 0.28132 +-0.70878502 -0.09154 0.23915001 + +-0.60633499 0.29861 0.49606998 +-0.56956501 0.37901001 0.42835999 +-0.62565498 0.37287998 0.41800999 + +-0.50359501 -0.65364998 0.07231 +-0.51823502 -0.66611 0.04218 +-0.54181499 -0.69334 0.08588 + +-0.65526497 -0.16193001 0.33708 +-0.69847504 -0.16400999 0.28132 +-0.71858498 -0.18570999 0.23955999 + +-0.009545 0.50974998 -0.05037 +0.046465 0.53513 -0.12086 +0.051805 0.5825 -0.15508 + +-0.036705 -0.58948002 0.47154999 +-0.140305 -0.57868999 0.38641998 +-0.143465 -0.60214001 0.43403999 + +-0.54181499 -0.69334 0.08588 +-0.54426498 -0.71963997 0.10263 +-0.502845 -0.67873001 0.11659 + +-0.042595 -0.29021999 0.57817001 +-0.068205 -0.24886999 0.56009998 +-0.074085 -0.30458 0.55348 + +-0.156565 -0.18361 0.45839001 +-0.206455 -0.16997 0.45382999 +-0.176625 -0.22690001 0.44397999 + +-0.603685 0.00224 0.46230999 +-0.66449501 0.01509 0.45601002 +-0.58873501 -0.02668 0.38175999 + +-0.35253502 -0.54191002 0.28164 +-0.35820499 -0.59717999 0.29188 +-0.354585 -0.59728001 0.33195 + +-0.46994499 -0.66989998 0.39380001 +-0.49865501 -0.72585999 0.36729 +-0.47779499 -0.74220001 0.42571999 + +-0.21126499 -0.66814003 0.43307999 +-0.16275499 -0.66514 0.49737 +-0.143465 -0.60214001 0.43403999 + +-0.31935499 -0.27489 -0.19740999 +-0.249485 -0.24631001 -0.19802999 +-0.288985 -0.33368 -0.16805 + +-0.65371498 -0.08158 0.31889 +-0.67527496 -0.04277 0.26872 +-0.70878502 -0.09154 0.23915001 + +-0.124945 -0.75449997 0.44332001 +-0.204825 -0.74662003 0.45456001 +-0.17994499 -0.75432999 0.36115002 + +-0.627995 0.04726 0.49209 +-0.58654499 0.0687 0.53747002 +-0.677295 0.16986 0.51804001 + +-0.49940498 -0.74658997 0.33923 +-0.50058498 -0.72952003 0.32737999 +-0.47864498 -0.74934998 0.25862 + +-0.69313499 0.39777 0.31554001 +-0.72732498 0.41339001 0.20645 +-0.74152496 0.38702 0.23667 + +-0.56019501 -0.74653 0.0799 +-0.51762501 -0.76198997 0.10242 +-0.51126499 -0.75096001 0.14734 + +-0.45942501 -0.75005997 0.21047001 +-0.54426498 -0.71963997 0.10263 +-0.51126499 -0.75096001 0.14734 + +-0.19960501 -0.25952999 -0.2083 +-0.167955 -0.26533001 -0.23986 +-0.176745 -0.32091 -0.21965 + +-0.69847504 -0.16400999 0.28132 +-0.65371498 -0.08158 0.31889 +-0.70878502 -0.09154 0.23915001 + +0.031045 -0.48976002 0.55334 +0.093385 -0.48191002 0.57638 +0.053355 -0.41346001 0.56433998 + +-0.109575 -0.27684 -0.3468 +-0.099435 -0.2215 -0.33507999 +-0.059835 -0.23341 -0.35984001 + +-0.21126499 -0.66814003 0.43307999 +-0.143465 -0.60214001 0.43403999 +-0.216555 -0.65108002 0.42185001 + +-0.33072498 -0.58639999 0.18187 +-0.386665 -0.56747002 0.10225 +-0.334715 -0.61401001 0.18212 + +-0.66231499 0.29212999 0.47123001 +-0.60633499 0.29861 0.49606998 +-0.62565498 0.37287998 0.41800999 + +-0.009275 -0.14155 0.52644001 +-0.075765 -0.16964001 0.4948 +-0.008315 -0.16797001 0.55435001 + +-0.603685 0.00224 0.46230999 +-0.58873501 -0.02668 0.38175999 +-0.547775 -0.01096 0.39499001 + +-0.65371498 -0.08158 0.31889 +-0.65526497 -0.16193001 0.33708 +-0.60681499 -0.05331 0.35605999 + +-0.65054497 0.23882 0.51790001 +-0.60633499 0.29861 0.49606998 +-0.66231499 0.29212999 0.47123001 + +-0.69313499 0.39777 0.31554001 +-0.71621498 0.319 0.37698002 +-0.68663498 0.30483 0.43856998 + +-0.47904499 -0.33529999 -0.1591 +-0.42914501 -0.31971001 -0.17452999 +-0.458685 -0.37923 -0.13846 + +-0.71858498 -0.18570999 0.23955999 +-0.71903503 -0.1047 0.21924999 +-0.72375504 -0.14514 0.19955999 + +-0.40703499 -0.68030998 0.47273998 +-0.44044498 -0.72050003 0.46478001 +-0.40310501 -0.70723999 0.48404999 + +-0.60681499 -0.05331 0.35605999 +-0.57050499 -0.03053 0.38844002 +-0.58873501 -0.02668 0.38175999 + +-0.403615 -0.76533997 0.20007999 +-0.51762501 -0.76198997 0.10242 +-0.38783501 -0.76627998 0.13294 + +-0.45211498 -0.74226997 0.21997999 +-0.502845 -0.67873001 0.11659 +-0.45942501 -0.75005997 0.21047001 + +0.047165 0.73010002 -0.26747 +0.025515 0.74473999 -0.25292999 +0.008635 0.76769997 -0.20617001 + +0.053525 -0.59877998 0.51932999 +0.031045 -0.48976002 0.55334 +-0.016705 -0.60248001 0.48320999 + +-0.048255 0.52195999 -0.13641 +-0.027095 0.51598 -0.13203 +-0.212425 0.4907 -0.10495 + +-0.35253502 -0.54191002 0.28164 +-0.34414501 -0.48889999 0.33360001 +-0.37079498 -0.49140999 0.28962999 + +-0.019855 -0.37563999 0.55806 +-0.074085 -0.30458 0.55348 +-0.085865 -0.32016998 0.52319 + +-0.39786499 0.47005001 0.10535 +-0.36813499 0.44145 0.14507 +-0.35580502 0.52299 0.06101 + +-0.51762501 -0.76198997 0.10242 +-0.54935501 -0.75695999 0.01981 +-0.499095 -0.76375999 -0.05418 + +-0.462365 -0.76483002 -0.06405 +-0.47702499 -0.74514 -0.06318 +-0.44606499 -0.76600998 -0.07796 + +-0.68397499 0.00246 0.06858 +-0.72147499 0.057 0.05831 +-0.66189499 0.00042 0.02855 + +-0.65526497 -0.16193001 0.33708 +-0.61961498 -0.25518 0.37487 +-0.61401501 -0.18775999 0.38139999 + +-0.76316498 0.10037 0.37827 +-0.756325 0.07345 0.41839001 +-0.754655 0.10016 0.44153999 + +-0.006605 -0.27245001 0.59221001 +0.043465 -0.23129 0.58570999 +-0.042475 -0.24874001 0.57685001 + +-0.54426498 -0.71963997 0.10263 +-0.56019501 -0.74653 0.0799 +-0.51126499 -0.75096001 0.14734 + +-0.50876499 -0.69231003 -0.00193 +-0.51823502 -0.66611 0.04218 +-0.47767502 -0.65098999 0.02223 + +-0.056505 -0.75303001 -0.26643 +-0.176455 -0.76629997 -0.28367001 +-0.166175 -0.74779999 -0.29483 + +-0.61401501 -0.18775999 0.38139999 +-0.551175 -0.15953 0.43046001 +-0.57303501 -0.09277 0.39316002 + +-0.098815 -0.71488998 -0.14756 +-0.204055 -0.71999001 -0.05273 +-0.212265 -0.71635002 -0.05771 + +-0.707295 0.05002 0.47198002 +-0.70310501 0.07475 0.49027 +-0.754655 0.10016 0.44153999 + +0.51838501 -0.73889 0.11006 +0.51719501 -0.72348999 0.03903 +0.558475 -0.70769997 0.03611 + +-0.386665 -0.56747002 0.10225 +-0.419095 -0.61935001 0.07249 +-0.38455502 -0.62816002 0.13858 + +-0.176455 -0.76629997 -0.28367001 +-0.20123501 -0.75469002 -0.29017 +-0.166175 -0.74779999 -0.29483 + +-0.297925 -0.53887001 -0.09417 +-0.34724499 -0.58544998 -0.05828 +-0.357915 -0.49792999 -0.07636 + +-0.65526497 -0.16193001 0.33708 +-0.65677498 -0.28486 0.31427999 +-0.61961498 -0.25518 0.37487 + +0.053405 -0.17601 0.57659 +0.136995 -0.12943 0.54544998 +0.079635 -0.11564 0.52494999 + +-0.677295 0.16986 0.51804001 +-0.68966499 0.23750999 0.48583 +-0.74907501 0.12734 0.44921001 + +-0.69313499 0.39777 0.31554001 +-0.68663498 0.30483 0.43856998 +-0.62565498 0.37287998 0.41800999 + +-0.47614498 -0.66900002 0.34229 +-0.50058498 -0.72952003 0.32737999 +-0.49865501 -0.72585999 0.36729 + +-0.60681499 -0.05331 0.35605999 +-0.61401501 -0.18775999 0.38139999 +-0.57303501 -0.09277 0.39316002 + +-0.677295 0.16986 0.51804001 +-0.65234497 0.19790001 0.53490002 +-0.68966499 0.23750999 0.48583 + +-0.73949501 0.19546 0.40769001 +-0.75975502 0.14085 0.40800999 +-0.74907501 0.12734 0.44921001 + +-0.69313499 0.39777 0.31554001 +-0.74152496 0.38702 0.23667 +-0.71621498 0.319 0.37698002 + +-0.036705 -0.58948002 0.47154999 +-0.096085 -0.45277 0.41069 +-0.118055 -0.56602001 0.3798 + +-0.38455502 -0.62816002 0.13858 +-0.419095 -0.61935001 0.07249 +-0.50359501 -0.65364998 0.07231 + +-0.157915 -0.5673 -0.08973 +-0.16779499 -0.59556999 -0.09223 +-0.24751499 -0.60999001 -0.0966 + +0.458255 -0.43664001 -0.18388 +0.37158501 -0.45105999 -0.26129999 +0.42092499 -0.38223 -0.23412001 + +-0.627995 0.04726 0.49209 +-0.677295 0.16986 0.51804001 +-0.67091499 0.06852 0.50094002 + +-0.016705 -0.60248001 0.48320999 +0.023435 -0.61555 0.49417 +0.053525 -0.59877998 0.51932999 + +-0.45211498 -0.74226997 0.21997999 +-0.404995 -0.67698997 0.19254 +-0.502845 -0.67873001 0.11659 + +-0.33488499 -0.55792 0.17202 +-0.34746498 -0.54298 0.16158001 +-0.369095 -0.54116001 0.13157 + +-0.363535 0.29777 0.01081 +-0.39040501 0.27885 -0.0233 +-0.352155 0.32740002 0.01621 + +-0.36962502 -0.20292999 -0.20726999 +-0.32967499 -0.20312 -0.20150999 +-0.31935499 -0.27489 -0.19740999 + +-0.51823502 -0.66611 0.04218 +-0.50876499 -0.69231003 -0.00193 +-0.547785 -0.71860001 0.02244 + +-0.68966499 0.23750999 0.48583 +-0.73949501 0.19546 0.40769001 +-0.74907501 0.12734 0.44921001 + +-0.68663498 0.30483 0.43856998 +-0.68966499 0.23750999 0.48583 +-0.66231499 0.29212999 0.47123001 + +0.232845 0.19128 0.00246 +0.20192499 0.21209999 0.08168 +0.30644501 0.19247999 0.06287 + +-0.58654499 0.0687 0.53747002 +-0.54655499 0.08835 0.54924999 +-0.59962502 0.11646 0.54145 + +0.27865499 -0.11254 -0.21181999 +0.131915 -0.11946 -0.26507999 +0.074325 -0.09863 -0.22704 + +-0.47443501 0.65209999 -0.59683998 +-0.44350498 0.63459 -0.59969002 +-0.44495499 0.61160999 -0.60196999 + +-0.35253502 -0.54191002 0.28164 +-0.33072498 -0.58639999 0.18187 +-0.35820499 -0.59717999 0.29188 + +-0.531875 0.43505001 -0.47442001 +-0.49435501 0.49361 -0.54973999 +-0.52519501 0.43825001 -0.48328999 + +-0.56290501 0.68952003 -0.53467999 +-0.51963501 0.70806 -0.56443001 +-0.51469501 0.68051003 -0.57174 + +-0.386665 -0.56747002 0.10225 +-0.33488499 -0.55792 0.17202 +-0.369095 -0.54116001 0.13157 + +-0.47443501 0.65209999 -0.59683998 +-0.49175499 0.59293999 -0.57492001 +-0.51469501 0.68051003 -0.57174 + +-0.597435 0.68508003 -0.47937 +-0.572925 0.70330002 -0.52133999 +-0.614175 0.66246002 -0.47494999 + +-0.572925 0.70330002 -0.52133999 +-0.56290501 0.68952003 -0.53467999 +-0.614175 0.66246002 -0.47494999 + +-0.57066502 0.53661999 -0.36436001 +-0.554105 0.60669998 -0.47487 +-0.53073502 0.52237 -0.47411999 + +-0.49343498 0.53766998 -0.56959999 +-0.531875 0.43505001 -0.47442001 +-0.53073502 0.52237 -0.47411999 + +-0.49175499 0.59293999 -0.57492001 +-0.49343498 0.53766998 -0.56959999 +-0.53073502 0.52237 -0.47411999 + +-0.554105 0.60669998 -0.47487 +-0.49175499 0.59293999 -0.57492001 +-0.53073502 0.52237 -0.47411999 + +-0.597435 0.68508003 -0.47937 +-0.614175 0.66246002 -0.47494999 +-0.579935 0.46213001 -0.01038 + +-0.73949501 0.19546 0.40769001 +-0.68966499 0.23750999 0.48583 +-0.71621498 0.319 0.37698002 + +-0.707295 0.05002 0.47198002 +-0.756325 0.07345 0.41839001 +-0.72276497 0.02686 0.4157 + +-0.614175 0.66246002 -0.47494999 +-0.608685 0.60671001 -0.42444 +-0.62411499 0.60556 -0.39534 + +-0.53415501 0.42109001 -0.44837002 +-0.53543499 0.41438 -0.43537998 +-0.54392502 0.40847 -0.42164001 + +-0.614175 0.66246002 -0.47494999 +-0.56290501 0.68952003 -0.53467999 +-0.554105 0.60669998 -0.47487 + +-0.73949501 0.19546 0.40769001 +-0.71621498 0.319 0.37698002 +-0.72876503 0.31882 0.31702 + +-0.55925499 0.46678001 -0.32376999 +-0.57066502 0.53661999 -0.36436001 +-0.53073502 0.52237 -0.47411999 + +-0.76541496 0.19517 0.23780001 +-0.773265 0.14032 0.25822001 +-0.76138496 0.14034 0.29812 + +-0.54327499 0.39124001 -0.37567001 +-0.51723499 0.35522999 -0.21364 +-0.55800499 0.38182999 -0.29503 + +-0.614175 0.66246002 -0.47494999 +-0.62411499 0.60556 -0.39534 +-0.579935 0.46213001 -0.01038 + +-0.69847504 -0.16400999 0.28132 +-0.65526497 -0.16193001 0.33708 +-0.65371498 -0.08158 0.31889 + +-0.614175 0.66246002 -0.47494999 +-0.554105 0.60669998 -0.47487 +-0.608685 0.60671001 -0.42444 + +-0.574305 0.39730999 -0.30334999 +-0.55925499 0.46678001 -0.32376999 +-0.531875 0.43505001 -0.47442001 + +-0.57066502 0.53661999 -0.36436001 +-0.608685 0.60671001 -0.42444 +-0.554105 0.60669998 -0.47487 + +-0.35253502 -0.54191002 0.28164 +-0.35181499 -0.54046001 0.20204 +-0.33072498 -0.58639999 0.18187 + +-0.608685 0.60671001 -0.42444 +-0.57066502 0.53661999 -0.36436001 +-0.61443501 0.52313 -0.27403999 + +-0.68966499 0.23750999 0.48583 +-0.68663498 0.30483 0.43856998 +-0.71621498 0.319 0.37698002 + +-0.382085 -0.52368999 0.21750999 +-0.360765 -0.53513 0.20674 +-0.35181499 -0.54046001 0.20204 + +-0.54392502 0.40847 -0.42164001 +-0.574305 0.39730999 -0.30334999 +-0.531875 0.43505001 -0.47442001 + +0.012615 -0.75335999 -0.24431999 +0.011285 -0.76453003 -0.22976 +-0.056505 -0.75303001 -0.26643 + +0.091055 0.16486 -0.04745 +0.078115 0.18864 0.02789 +0.147815 0.19112 0.00398 + +-0.57997501 0.39771 -0.2633 +-0.59004501 0.41210999 -0.14346 +-0.55925499 0.46678001 -0.32376999 + +-0.71903503 -0.1047 0.21924999 +-0.69119499 -0.03813 0.21893999 +-0.69850502 -0.02457 0.14891 + +-0.119055 -0.34823002 -0.33359001 +-0.150585 -0.30923 -0.29997999 +-0.109575 -0.27684 -0.3468 + +-0.67527496 -0.04277 0.26872 +-0.67764503 0.00206 0.26896999 +-0.69119499 -0.03813 0.21893999 + +-0.574305 0.39730999 -0.30334999 +-0.57806499 0.41137001 -0.27343 +-0.55925499 0.46678001 -0.32376999 + +-0.47553501 -0.68308998 0.30209 +-0.50058498 -0.72952003 0.32737999 +-0.47614498 -0.66900002 0.34229 + +-0.47553501 -0.68308998 0.30209 +-0.45884499 -0.68533997 0.2724 +-0.45761501 -0.71341003 0.26252001 + +-0.178825 -0.39007 -0.16848 +-0.107915 -0.53838001 -0.23878 +-0.16091499 -0.46264999 -0.1489 + +-0.089315 -0.30382 -0.35894001 +-0.119055 -0.34823002 -0.33359001 +-0.109575 -0.27684 -0.3468 + +-0.131875 -0.22559999 -0.29035 +-0.109575 -0.27684 -0.3468 +-0.150585 -0.30923 -0.29997999 + +-0.119055 -0.34823002 -0.33359001 +-0.099045 -0.37569 -0.34127998 +-0.089125 -0.40429001 -0.33634998 + +-0.150585 -0.30923 -0.29997999 +-0.156355 -0.32272999 -0.27996 +-0.167955 -0.26533001 -0.23986 + +-0.131875 -0.22559999 -0.29035 +-0.167955 -0.26533001 -0.23986 +-0.153045 -0.23818001 -0.25016001 + +-0.150585 -0.30923 -0.29997999 +-0.167955 -0.26533001 -0.23986 +-0.131875 -0.22559999 -0.29035 + +-0.129445 -0.21128 -0.28048 +-0.099435 -0.2215 -0.33507999 +-0.131875 -0.22559999 -0.29035 + +-0.078115 -0.62351002 -0.25240999 +-0.117175 -0.61290001 -0.22316 +-0.058185 -0.59312 -0.27127001 + +-0.18914499 -0.31829 -0.17997 +-0.156355 -0.32272999 -0.27996 +-0.178825 -0.39007 -0.16848 + +-0.131875 -0.22559999 -0.29035 +-0.099435 -0.2215 -0.33507999 +-0.109575 -0.27684 -0.3468 + +-0.105115 -0.16202 -0.24193001 +-0.199305 -0.2299 -0.22021999 +-0.229725 -0.20162001 -0.21724001 + +-0.58244499 0.64759003 -0.39550999 +-0.55648499 0.57926998 -0.21315001 +-0.541525 0.60362999 -0.27988001 + +-0.45441502 -0.64302002 0.36220001 +-0.47553501 -0.68308998 0.30209 +-0.47614498 -0.66900002 0.34229 + +-0.74599503 0.0726 0.28837999 +-0.76138496 0.14034 0.29812 +-0.76094498 0.07262 0.24841 + +0.232845 0.19128 0.00246 +0.23810499 0.17156 -0.03667 +0.147815 0.19112 0.00398 + +-0.058185 -0.59312 -0.27127001 +-0.119055 -0.34823002 -0.33359001 +-0.028935 -0.47416 -0.34169998 + +-0.156355 -0.32272999 -0.27996 +-0.176745 -0.32091 -0.21965 +-0.167955 -0.26533001 -0.23986 + +0.17213499 -0.75156998 0.0888 +0.182815 -0.75714996 0.16868999 +0.141225 -0.72126999 0.18233999 + +-0.271495 -0.75060997 -0.24094 +-0.264615 -0.75880997 -0.25176001 +-0.271465 -0.75859001 -0.23466 + +-0.291175 -0.73332001 -0.18757 +-0.271465 -0.75859001 -0.23466 +-0.285585 -0.75900002 -0.19978001 + +0.35907501 0.07059 -0.10795 +0.293955 0.09814 -0.1175 +0.32314499 0.16155001 -0.00588 + +-0.25884501 -0.74322998 -0.26056 +-0.271495 -0.75060997 -0.24094 +-0.271465 -0.75859001 -0.23466 + +-0.18914499 -0.31829 -0.17997 +-0.176745 -0.32091 -0.21965 +-0.156355 -0.32272999 -0.27996 + +-0.55925499 0.46678001 -0.32376999 +-0.57806499 0.41137001 -0.27343 +-0.57997501 0.39771 -0.2633 + +0.33996498 -0.09883 -0.20899 +0.36023499 -0.12728 -0.21188999 +0.27865499 -0.11254 -0.21181999 + +-0.119055 -0.34823002 -0.33359001 +-0.049465 -0.37333 -0.3702 +-0.028935 -0.47416 -0.34169998 + +-0.47767502 -0.65098999 0.02223 +-0.51823502 -0.66611 0.04218 +-0.50359501 -0.65364998 0.07231 + +-0.72123497 0.26363001 0.29735001 +-0.74471497 0.23594 0.22754 +-0.76541496 0.19517 0.23780001 + +-0.107915 -0.53838001 -0.23878 +-0.117175 -0.61290001 -0.22316 +-0.132525 -0.59215 -0.16823 + +-0.57997501 0.39771 -0.2633 +-0.59239498 0.37070999 -0.07326 +-0.59004501 0.41210999 -0.14346 + +-0.585895 0.42438999 -0.1235 +-0.61443501 0.52313 -0.27403999 +-0.57066502 0.53661999 -0.36436001 + +-0.65177498 0.38554001 0.03709 +-0.65177498 0.41154999 0.04812 +-0.61525501 0.41305 0.00652 + +0.016075 0.68472 -0.25462 +0.059645 0.68377998 -0.28246 +0.046245 0.64051003 -0.26128 + +-0.249265 -0.69514999 -0.22771999 +-0.27567499 -0.69246002 -0.18768 +-0.228515 -0.64073997 -0.19774 + +-0.27567499 -0.69246002 -0.18768 +-0.249265 -0.69514999 -0.22771999 +-0.25884501 -0.74322998 -0.26056 + +-0.27567499 -0.69246002 -0.18768 +-0.291175 -0.73332001 -0.18757 +-0.30734501 -0.71100998 -0.10559 + +0.074325 -0.09863 -0.22704 +0.131915 -0.11946 -0.26507999 +0.059725 -0.12592 -0.27848 + +-0.45884499 -0.68533997 0.2724 +-0.41561501 -0.69004997 0.22243999 +-0.45761501 -0.71341003 0.26252001 + +-0.41561501 -0.69004997 0.22243999 +-0.45884499 -0.68533997 0.2724 +-0.39039501 -0.65042 0.25218 + +-0.27567499 -0.69246002 -0.18768 +-0.271465 -0.75859001 -0.23466 +-0.291175 -0.73332001 -0.18757 + +-0.107915 -0.53838001 -0.23878 +-0.132525 -0.59215 -0.16823 +-0.158205 -0.50859001 -0.11002 + +-0.57997501 0.39771 -0.2633 +-0.55800499 0.38182999 -0.29503 +-0.51723499 0.35522999 -0.21364 + +-0.59004501 0.41210999 -0.14346 +-0.585895 0.42438999 -0.1235 +-0.55925499 0.46678001 -0.32376999 + +-0.156355 -0.32272999 -0.27996 +-0.150585 -0.30923 -0.29997999 +-0.107915 -0.53838001 -0.23878 + +-0.73949501 0.19546 0.40769001 +-0.72123497 0.26363001 0.29735001 +-0.76541496 0.19517 0.23780001 + +-0.291175 -0.73332001 -0.18757 +-0.285585 -0.75900002 -0.19978001 +-0.31505501 -0.76257004 -0.12831 + +-0.69706497 0.27559999 0.04741 +-0.73406502 0.22117001 0.0777 +-0.685625 0.31711 0.06703 + +-0.069995 -0.13285 -0.23166 +-0.105115 -0.16202 -0.24193001 +-0.229725 -0.20162001 -0.21724001 + +-0.42884499 -0.63210999 0.34209 +-0.45884499 -0.68533997 0.2724 +-0.47553501 -0.68308998 0.30209 + +-0.67165497 0.20761999 -0.01075 +-0.62156502 0.28177999 -0.03207 +-0.60123501 0.19448 -0.05578 + +-0.051545 0.75455002 -0.12812 +-0.126565 0.67811996 -0.13629 +-0.29095501 0.58248001 -0.04404 + +0.40085499 0.10826 -0.02869 +0.35907501 0.07059 -0.10795 +0.32314499 0.16155001 -0.00588 + +-0.60170502 0.42654999 -0.05351 +-0.61443501 0.52313 -0.27403999 +-0.585895 0.42438999 -0.1235 + +-0.073375 0.61046001 -0.18223 +-0.23320499 0.5352 -0.10464 +-0.18282499 0.59498001 -0.13044 + +-0.30734501 -0.71100998 -0.10559 +-0.31505501 -0.76257004 -0.12831 +-0.30720501 -0.73987999 -0.10804 + +-0.38455502 -0.62816002 0.13858 +-0.404995 -0.67698997 0.19254 +-0.35919498 -0.65380997 0.20221001 + +-0.45761501 -0.71341003 0.26252001 +-0.41561501 -0.69004997 0.22243999 +-0.45211498 -0.74226997 0.21997999 + +-0.72732498 0.41339001 0.20645 +-0.66683502 0.43922001 0.22899 +-0.67873497 0.42423 0.10789 + +-0.132525 -0.59215 -0.16823 +-0.157915 -0.5673 -0.08973 +-0.158205 -0.50859001 -0.11002 + +-0.105115 -0.16202 -0.24193001 +-0.069995 -0.13285 -0.23166 +-0.068905 -0.17981001 -0.32354 + +0.68443497 -0.45104 0.0037 +0.72394501 -0.43584999 0.02906 +0.73838501 -0.45884998 0.0331 + +-0.44044498 -0.72050003 0.46478001 +-0.438055 -0.66690002 0.44669998 +-0.47779499 -0.74220001 0.42571999 + +-0.76541496 0.19517 0.23780001 +-0.77828499 0.14011 0.20802999 +-0.773265 0.14032 0.25822001 + +-0.72123497 0.26363001 0.29735001 +-0.72876503 0.31882 0.31702 +-0.74582497 0.34598999 0.25691 + +-0.30734501 -0.71100998 -0.10559 +-0.291175 -0.73332001 -0.18757 +-0.31505501 -0.76257004 -0.12831 + +0.33996498 -0.09883 -0.20899 +0.359175 -0.0197 -0.15061 +0.38315498 -0.105 -0.19958 + +-0.585895 0.42438999 -0.1235 +-0.57066502 0.53661999 -0.36436001 +-0.55925499 0.46678001 -0.32376999 + +-0.59239498 0.37070999 -0.07326 +-0.595065 0.41257 -0.06351 +-0.585895 0.42438999 -0.1235 + +-0.124945 -0.75449997 0.44332001 +-0.17994499 -0.75432999 0.36115002 +-0.163815 -0.75672997 0.40183998 + +-0.18686501 0.0498 -0.14299 +-0.24480499 0.12143 -0.09801 +-0.138675 0.11073 -0.06666 + +-0.238545 -0.76138 0.28424 +-0.21356501 -0.75926003 0.30533001 +-0.17994499 -0.75432999 0.36115002 + +-0.77015503 0.16722 0.17794001 +-0.77828499 0.14011 0.20802999 +-0.76541496 0.19517 0.23780001 + +-0.74152496 0.38702 0.23667 +-0.72876503 0.31882 0.31702 +-0.71621498 0.319 0.37698002 + +0.42197498 -0.58331001 -0.20099001 +0.44724499 -0.56456001 -0.18232 +0.45115501 -0.60699001 -0.15207 + +0.293955 0.09814 -0.1175 +0.23810499 0.17156 -0.03667 +0.32314499 0.16155001 -0.00588 + +0.069325 0.57973999 -0.17223 +0.075975 0.58987 -0.22885 +0.080755 0.61445999 -0.2476 + +-0.72665497 -0.19900999 0.19982 +-0.72375504 -0.14514 0.19955999 +-0.72489502 -0.13198 0.11954 + +-0.54156502 0.29757 -0.05975 +-0.58929501 0.35665001 -0.05348 +-0.54577499 0.32955002 -0.08891 + +-0.69841499 -0.28159 0.17025999 +-0.67019501 -0.33046001 0.17235001 +-0.67350502 -0.31801001 0.21348 + +-0.46518501 0.44868 0.07372 +-0.50223499 0.44608002 0.02426 +-0.559795 0.4541 0.06169 + +-0.47553501 -0.68308998 0.30209 +-0.45761501 -0.71341003 0.26252001 +-0.47838501 -0.72314003 0.26280001 + +-0.41858501 0.32521999 -0.01536 +-0.47262501 0.31153 -0.0592 +-0.468335 0.32449001 -0.06341 + +-0.468335 0.32449001 -0.06341 +-0.45510502 0.35847 -0.05053 +-0.44820499 0.36980999 -0.02461 + +0.50467499 -0.54449001 -0.10164 +0.50317501 -0.58196999 -0.06143 +0.45115501 -0.60699001 -0.15207 + +-0.76541496 0.19517 0.23780001 +-0.74471497 0.23594 0.22754 +-0.722985 0.29028 0.13737 + +-0.69119499 -0.03813 0.21893999 +-0.70774498 0.00346 0.16879 +-0.69850502 -0.02457 0.14891 + +-0.595065 0.41257 -0.06351 +-0.60170502 0.42654999 -0.05351 +-0.585895 0.42438999 -0.1235 + +-0.35820499 -0.59717999 0.29188 +-0.35919498 -0.65380997 0.20221001 +-0.39039501 -0.65042 0.25218 + +-0.574305 0.39730999 -0.30334999 +-0.55800499 0.38182999 -0.29503 +-0.57806499 0.41137001 -0.27343 + +-0.76316498 0.10037 0.37827 +-0.754655 0.10016 0.44153999 +-0.75975502 0.14085 0.40800999 + +-0.70689499 -0.24051001 0.17004999 +-0.69344498 -0.26929001 0.08014 +-0.69841499 -0.28159 0.17025999 + +-0.59004501 0.41210999 -0.14346 +-0.59239498 0.37070999 -0.07326 +-0.585895 0.42438999 -0.1235 + +-0.438055 -0.66690002 0.44669998 +-0.46994499 -0.66989998 0.39380001 +-0.47779499 -0.74220001 0.42571999 + +-0.38455502 -0.62816002 0.13858 +-0.502845 -0.67873001 0.11659 +-0.404995 -0.67698997 0.19254 + +0.51719501 -0.72348999 0.03903 +0.38144501 -0.72870003 -0.01149 +0.40176498 -0.71222 -0.03167 + +0.36023499 -0.12728 -0.21188999 +0.44883499 -0.17316 -0.18752001 +0.35949501 -0.21177999 -0.24714001 + +-0.131875 -0.22559999 -0.29035 +-0.153045 -0.23818001 -0.25016001 +-0.129445 -0.21128 -0.28048 + +0.259195 0.02269 -0.176 +0.293955 0.09814 -0.1175 +0.35907501 0.07059 -0.10795 + +0.125885 -0.16028999 -0.32228001 +0.059725 -0.12592 -0.27848 +0.131915 -0.11946 -0.26507999 + +-0.141615 -0.76162003 0.1249 +-0.129625 -0.75866997 0.17889999 +-0.18321501 -0.75733002 0.1487 + +-0.60820499 -0.28396 -0.08675 +-0.68001503 -0.24351 -0.00998 +-0.660215 -0.19101 -0.05073 + +0.68647499 -0.58339001 -0.0017 +0.72791496 -0.59351002 0.06742 +0.67858498 -0.64014999 0.05778 + +0.49725498 0.02933 -0.02307 +0.587925 -0.08729 0.02727 +0.53067501 -0.0586 -0.06884 + +-0.60820499 -0.28396 -0.08675 +-0.58818501 -0.35695 -0.06415 +-0.63365501 -0.34187 -0.01984 + +-0.57005501 0.04798 -0.05057 +-0.59998501 -0.08147 -0.08608 +-0.67421501 -0.09452 -0.01072 + +-0.040395 -0.02881 -0.20667999 +0.005765 0.04376 -0.15766 +0.027045 -0.06751 -0.21985001 + +-0.019805 -0.26032 -0.37293999 +0.040165 -0.24620001 -0.37231998 +-0.009285 -0.35868999 -0.37393002 + +-0.60170502 0.42654999 -0.05351 +-0.614795 0.37119999 -0.013 +-0.61525501 0.41305 0.00652 + +-0.42247501 -0.65561996 -0.03636 +-0.40218498 -0.59438999 0.01163 +-0.36709499 -0.61487 -0.04815 + +0.52969501 -0.24299 -0.15367 +0.42092499 -0.38223 -0.23412001 +0.45040501 -0.27245001 -0.20267 + +-0.68001503 -0.24351 -0.00998 +-0.71519501 -0.22723 0.07012 +-0.68935501 -0.17514999 0.00979 + +-0.67421501 -0.09452 -0.01072 +-0.68397499 0.00246 0.06858 +-0.66189499 0.00042 0.02855 + +-0.18686501 0.0498 -0.14299 +-0.138675 0.11073 -0.06666 +-0.060175 0.08937 -0.1052 + +0.179445 0.04258 -0.17731001 +0.093325 0.13007 -0.09003 +0.232995 0.12265 -0.10369 + +-0.60170502 0.42654999 -0.05351 +-0.595065 0.41257 -0.06351 +-0.59239498 0.37070999 -0.07326 + +-0.59239498 0.37070999 -0.07326 +-0.58929501 0.35665001 -0.05348 +-0.614795 0.37119999 -0.013 + +-0.61525501 0.41305 0.00652 +-0.579935 0.46213001 -0.01038 +-0.60170502 0.42654999 -0.05351 + +-0.121325 0.14207 0.02081 +0.078115 0.18864 0.02789 +-0.014785 0.14532 -0.02397 + +-0.19960501 -0.25952999 -0.2083 +-0.176745 -0.32091 -0.21965 +-0.19938499 -0.27365 -0.20799 + +-0.18686501 0.0498 -0.14299 +-0.116545 0.01205 -0.16351999 +-0.190415 -0.01619 -0.18384001 + +0.42092499 -0.38223 -0.23412001 +0.370625 -0.38014999 -0.26396999 +0.261315 -0.36248001 -0.31499001 + +-0.36254501 -0.75091003 -0.10707 +-0.27737499 -0.63951 -0.09283 +-0.30734501 -0.71100998 -0.10559 + +-0.39643501 -0.51195999 -0.00889 +-0.357915 -0.49792999 -0.07636 +-0.34724499 -0.58544998 -0.05828 + +-0.58818501 -0.35695 -0.06415 +-0.51724499 -0.39648998 -0.08125 +-0.59931499 -0.38535999 -0.00934 + +-0.63365501 -0.34187 -0.01984 +-0.59931499 -0.38535999 -0.00934 +-0.63462502 -0.37513 0.05758 + +-0.59998501 -0.08147 -0.08608 +-0.59406502 -0.18136 -0.12044 +-0.660215 -0.19101 -0.05073 + +-0.72147499 0.057 0.05831 +-0.75427498 0.12566 0.09816 +-0.69932503 0.13755 -0.00205 + +-0.65177498 0.38554001 0.03709 +-0.614795 0.37119999 -0.013 +-0.62156502 0.28177999 -0.03207 + +-0.55648499 0.57926998 -0.21315001 +-0.579935 0.46213001 -0.01038 +-0.53754501 0.46978001 -0.00341 + +-0.55925499 0.46678001 -0.32376999 +-0.53073502 0.52237 -0.47411999 +-0.531875 0.43505001 -0.47442001 + +-0.68935501 -0.17514999 0.00979 +-0.67421501 -0.09452 -0.01072 +-0.660215 -0.19101 -0.05073 + +0.67144501 -0.41029999 0.26914 +0.57196499 -0.49865002 0.31608 +0.64346497 -0.49037998 0.32360001 + +-0.572925 0.70330002 -0.52133999 +-0.597435 0.68508003 -0.47937 +-0.543125 0.70637001 -0.51022999 + +-0.75975502 0.14085 0.40800999 +-0.73949501 0.19546 0.40769001 +-0.76138496 0.14034 0.29812 + +-0.50876499 -0.69231003 -0.00193 +-0.52946499 -0.75737999 -0.02987 +-0.547785 -0.71860001 0.02244 + +-0.67421501 -0.09452 -0.01072 +-0.70828499 -0.11964 0.0597 +-0.72112503 -0.09155 0.13937 + +-0.69026497 0.08918 0.00135 +-0.60025501 0.10649 -0.05573 +-0.57005501 0.04798 -0.05057 + +-0.67421501 -0.09452 -0.01072 +-0.72112503 -0.09155 0.13937 +-0.68397499 0.00246 0.06858 + +-0.72147499 0.057 0.05831 +-0.69026497 0.08918 0.00135 +-0.66189499 0.00042 0.02855 + +-0.72147499 0.057 0.05831 +-0.73905502 0.04444 0.0987 +-0.75427498 0.12566 0.09816 + +-0.72147499 0.057 0.05831 +-0.69932503 0.13755 -0.00205 +-0.69026497 0.08918 0.00135 + +-0.65177498 0.38554001 0.03709 +-0.61525501 0.41305 0.00652 +-0.614795 0.37119999 -0.013 + +-0.61525501 0.41305 0.00652 +-0.65177498 0.41154999 0.04812 +-0.59834499 0.43923 0.01644 + +-0.40209499 -0.53867001 0.05158 +-0.39643501 -0.51195999 -0.00889 +-0.40218498 -0.59438999 0.01163 + +-0.41205502 -0.60668999 0.06219 +-0.386665 -0.56747002 0.10225 +-0.40209499 -0.53867001 0.05158 + +-0.59931499 -0.38535999 -0.00934 +-0.63365501 -0.34187 -0.01984 +-0.58818501 -0.35695 -0.06415 + +-0.60820499 -0.28396 -0.08675 +-0.63365501 -0.34187 -0.01984 +-0.68001503 -0.24351 -0.00998 + +-0.69026497 0.08918 0.00135 +-0.57005501 0.04798 -0.05057 +-0.66189499 0.00042 0.02855 + +-0.69026497 0.08918 0.00135 +-0.67093498 0.16365 -0.02486 +-0.60025501 0.10649 -0.05573 + +-0.65177498 0.38554001 0.03709 +-0.62156502 0.28177999 -0.03207 +-0.685625 0.31711 0.06703 + +-0.547785 -0.71860001 0.02244 +-0.54181499 -0.69334 0.08588 +-0.51823502 -0.66611 0.04218 + +-0.60820499 -0.28396 -0.08675 +-0.660215 -0.19101 -0.05073 +-0.59406502 -0.18136 -0.12044 + +-0.67290497 -0.32478001 0.06036 +-0.63365501 -0.34187 -0.01984 +-0.63462502 -0.37513 0.05758 + +-0.72112503 -0.09155 0.13937 +-0.69850502 -0.02457 0.14891 +-0.68397499 0.00246 0.06858 + +-0.72976501 0.37284 0.12714 +-0.65177498 0.38554001 0.03709 +-0.69845497 0.34506001 0.09724 + +-0.47767502 -0.65098999 0.02223 +-0.47012501 -0.68793999 -0.04621 +-0.50606499 -0.70516998 -0.03412 + +-0.47767502 -0.65098999 0.02223 +-0.41205502 -0.60668999 0.06219 +-0.42247501 -0.65561996 -0.03636 + +-0.40218498 -0.59438999 0.01163 +-0.42247501 -0.65561996 -0.03636 +-0.41205502 -0.60668999 0.06219 + +-0.59931499 -0.38535999 -0.00934 +-0.57057499 -0.43936001 0.05637 +-0.63462502 -0.37513 0.05758 + +-0.69344498 -0.26929001 0.08014 +-0.63365501 -0.34187 -0.01984 +-0.67290497 -0.32478001 0.06036 + +-0.59998501 -0.08147 -0.08608 +-0.660215 -0.19101 -0.05073 +-0.67421501 -0.09452 -0.01072 + +-0.73949501 0.19546 0.40769001 +-0.72876503 0.31882 0.31702 +-0.72123497 0.26363001 0.29735001 + +-0.47767502 -0.65098999 0.02223 +-0.42247501 -0.65561996 -0.03636 +-0.47012501 -0.68793999 -0.04621 + +-0.47767502 -0.65098999 0.02223 +-0.419095 -0.61935001 0.07249 +-0.41205502 -0.60668999 0.06219 + +-0.47012501 -0.68793999 -0.04621 +-0.42247501 -0.65561996 -0.03636 +-0.27737499 -0.63951 -0.09283 + +-0.41205502 -0.60668999 0.06219 +-0.419095 -0.61935001 0.07249 +-0.386665 -0.56747002 0.10225 + +-0.41275501 -0.52455002 0.07158 +-0.40209499 -0.53867001 0.05158 +-0.386665 -0.56747002 0.10225 + +-0.39643501 -0.51195999 -0.00889 +-0.36709499 -0.61487 -0.04815 +-0.40218498 -0.59438999 0.01163 + +-0.67421501 -0.09452 -0.01072 +-0.68935501 -0.17514999 0.00979 +-0.70828499 -0.11964 0.0597 + +-0.73905502 0.04444 0.0987 +-0.72147499 0.057 0.05831 +-0.68397499 0.00246 0.06858 + +0.073585 0.64028999 -0.27017 +0.080755 0.61445999 -0.2476 +0.075455 0.60136002 -0.24311001 + +0.091085 -0.00535 -0.20563999 +0.074325 -0.09863 -0.22704 +0.027045 -0.06751 -0.21985001 + +0.239765 -0.07146 -0.19552 +0.20949499 8e-05 -0.18802999 +0.259195 0.02269 -0.176 + +-0.445825 0.62064999 -0.60304001 +-0.45517502 0.62153999 -0.60337002 +-0.44350498 0.63459 -0.59969002 + +-0.47443501 0.65209999 -0.59683998 +-0.44495499 0.61160999 -0.60196999 +-0.49343498 0.53766998 -0.56959999 + +-0.44495499 0.61160999 -0.60196999 +-0.445825 0.62064999 -0.60304001 +-0.439925 0.61355999 -0.59553001 + +0.44600498 -0.11718 -0.16657 +0.53613499 -0.09893 -0.08599 +0.57723499 -0.16372999 -0.05665 + +-0.44219501 0.62398998 -0.59071999 +-0.439925 0.61355999 -0.59553001 +-0.44350498 0.63459 -0.59969002 + +-0.124945 -0.75449997 0.44332001 +-0.088955 -0.75287003 0.51883999 +-0.167295 -0.74737 0.49738998 + +0.35907501 0.07059 -0.10795 +0.40085499 0.10826 -0.02869 +0.47436501 0.00685 -0.07925 + +0.23810499 0.17156 -0.03667 +0.093325 0.13007 -0.09003 +0.091055 0.16486 -0.04745 + +0.027045 -0.06751 -0.21985001 +0.069925 0.02503 -0.17805 +0.091085 -0.00535 -0.20563999 + +0.35907501 0.07059 -0.10795 +0.47436501 0.00685 -0.07925 +0.47198502 -0.04777 -0.12069 + +0.200805 -0.34676998 -0.33601002 +0.290415 -0.22259001 -0.29337 +0.261315 -0.36248001 -0.31499001 + +-0.20724501 -0.69445999 -0.26997999 +-0.25884501 -0.74322998 -0.26056 +-0.249265 -0.69514999 -0.22771999 + +0.222605 -0.71620003 -0.04485 +0.18418501 -0.71306999 -0.11163 +0.231395 -0.71984001 -0.09604 + +0.53613499 -0.09893 -0.08599 +0.47198502 -0.04777 -0.12069 +0.53067501 -0.0586 -0.06884 + +0.47198502 -0.04777 -0.12069 +0.38315498 -0.105 -0.19958 +0.359175 -0.0197 -0.15061 + +0.44600498 -0.11718 -0.16657 +0.53496498 -0.20222 -0.13642 +0.44883499 -0.17316 -0.18752001 + +0.72512497 -0.40280998 0.05526 +0.68443497 -0.45104 0.0037 +0.66293503 -0.39085999 0.06263 + +0.40085499 0.10826 -0.02869 +0.45834499 0.08214 0.00486 +0.47436501 0.00685 -0.07925 + +0.59800499 -0.28384001 -0.03253 +0.47530499 -0.39273998 -0.18283001 +0.56855499 -0.27214001 -0.1024 + +0.54107498 -0.55365002 -0.04656 +0.56943501 -0.51193001 -0.02993 +0.58218498 -0.58167 -0.0532 + +0.69163498 -0.37717999 0.08836 +0.64561501 -0.37198002 0.10372 +0.70884499 -0.36710999 0.13567 + +-0.106075 0.15324 0.06919 +-0.121325 0.14207 0.02081 +-0.221775 0.16362 -0.02269 + +0.52969501 -0.24299 -0.15367 +0.56855499 -0.27214001 -0.1024 +0.47530499 -0.39273998 -0.18283001 + +-0.27737499 -0.63951 -0.09283 +-0.233095 -0.62811001 -0.12729 +-0.27567499 -0.69246002 -0.18768 + +-0.015555 0.06388 -0.13874 +0.069925 0.02503 -0.17805 +0.005765 0.04376 -0.15766 + +0.44600498 -0.11718 -0.16657 +0.47198502 -0.04777 -0.12069 +0.53613499 -0.09893 -0.08599 + +0.091085 -0.00535 -0.20563999 +0.153225 0.01244 -0.18492001 +0.239765 -0.07146 -0.19552 + +-0.43739498 0.45532001 0.06203 +-0.39786499 0.47005001 0.10535 +-0.35580502 0.52299 0.06101 + +-0.000905 -0.16063999 -0.32273998 +-0.019895 -0.21881001 -0.36255001 +-0.068905 -0.17981001 -0.32354 + +0.595695 -0.19973 -0.04273 +0.56855499 -0.27214001 -0.1024 +0.55953499 -0.19656 -0.10231 + +0.47198502 -0.04777 -0.12069 +0.44600498 -0.11718 -0.16657 +0.38315498 -0.105 -0.19958 + +0.27865499 -0.11254 -0.21181999 +0.290105 -0.15098 -0.25101999 +0.22540501 -0.15247 -0.28954 + +0.078115 0.18864 0.02789 +0.20192499 0.21209999 0.08168 +0.147815 0.19112 0.00398 + +0.45834499 0.08214 0.00486 +0.49725498 0.02933 -0.02307 +0.47436501 0.00685 -0.07925 + +-0.40865501 0.45254002 0.17395 +-0.39786499 0.47005001 0.10535 +-0.43739498 0.45532001 0.06203 + +0.57723499 -0.16372999 -0.05665 +0.595695 -0.19973 -0.04273 +0.55953499 -0.19656 -0.10231 + +0.027045 -0.06751 -0.21985001 +0.005765 0.04376 -0.15766 +0.069925 0.02503 -0.17805 + +-0.40747501 0.47915001 0.0356 +-0.29095501 0.58248001 -0.04404 +-0.330975 0.52471001 -0.03259 + +0.74167503 -0.40138 0.07409 +0.69163498 -0.37717999 0.08836 +0.70884499 -0.36710999 0.13567 + +0.35907501 0.07059 -0.10795 +0.47198502 -0.04777 -0.12069 +0.359175 -0.0197 -0.15061 + +-0.138675 0.11073 -0.06666 +-0.266325 0.15101 -0.06886 +-0.221775 0.16362 -0.02269 + +-0.41858501 0.32521999 -0.01536 +-0.468335 0.32449001 -0.06341 +-0.44820499 0.36980999 -0.02461 + +-0.50223499 0.44608002 0.02426 +-0.46518501 0.44868 0.07372 +-0.46452499 0.41841999 0.00315 + +-0.46518501 0.44868 0.07372 +-0.43739498 0.45532001 0.06203 +-0.46452499 0.41841999 0.00315 + +0.23810499 0.17156 -0.03667 +0.232845 0.19128 0.00246 +0.32314499 0.16155001 -0.00588 + +0.74167503 -0.40138 0.07409 +0.70884499 -0.36710999 0.13567 +0.72733498 -0.37303001 0.14242 + +0.756455 -0.42445 0.07686 +0.77457497 -0.49212002 0.10691 +0.757565 -0.47983002 0.05688 + +-0.44713501 0.41133999 0.01059 +-0.47220501 0.42382 -0.00262 +-0.46452499 0.41841999 0.00315 + +-0.51963501 0.70806 -0.56443001 +-0.48884499 0.70297997 -0.56327 +-0.49433498 0.69546997 -0.58514 + +-0.462285 0.43570999 -0.09058 +-0.497005 0.44953999 -0.01774 +-0.47220501 0.42382 -0.00262 + +0.23810499 0.17156 -0.03667 +0.091055 0.16486 -0.04745 +0.147815 0.19112 0.00398 + +-0.44713501 0.41133999 0.01059 +-0.46452499 0.41841999 0.00315 +-0.43739498 0.45532001 0.06203 + +0.002175 -0.65117996 -0.26294001 +-0.056505 -0.75303001 -0.26643 +-0.166175 -0.74779999 -0.29483 + +-0.113155 -0.72134003 0.07626 +-0.123175 -0.72098999 0.07391 +-0.125935 -0.71977997 0.05414 + +0.72512497 -0.40280998 0.05526 +0.72394501 -0.43584999 0.02906 +0.68443497 -0.45104 0.0037 + +-0.069995 -0.13285 -0.23166 +-0.000905 -0.16063999 -0.32273998 +-0.068905 -0.17981001 -0.32354 + +-0.126565 0.67811996 -0.13629 +-0.18282499 0.59498001 -0.13044 +-0.29095501 0.58248001 -0.04404 + +-0.107665 -0.74504997 0.54255001 +-0.119005 -0.73551003 0.54847 +-0.167295 -0.74737 0.49738998 + +-0.121325 0.14207 0.02081 +-0.014785 0.14532 -0.02397 +-0.138675 0.11073 -0.06666 + +-0.59239498 0.37070999 -0.07326 +-0.57997501 0.39771 -0.2633 +-0.54886501 0.33823002 -0.12392 + +-0.47220501 0.42382 -0.00262 +-0.50223499 0.44608002 0.02426 +-0.46452499 0.41841999 0.00315 + +-0.44713501 0.41133999 0.01059 +-0.40245499 0.42946999 0.00582 +-0.401735 0.37047001 -0.00194 + +0.761605 -0.39966999 0.14054 +0.756455 -0.42445 0.07686 +0.74167503 -0.40138 0.07409 + +-0.060175 0.08937 -0.1052 +-0.015555 0.06388 -0.13874 +0.005765 0.04376 -0.15766 + +-0.117175 -0.61290001 -0.22316 +-0.17661501 -0.63981998 -0.23927999 +-0.132525 -0.59215 -0.16823 + +-0.40747501 0.47915001 0.0356 +-0.40245499 0.42946999 0.00582 +-0.44713501 0.41133999 0.01059 + +-0.41858501 0.32521999 -0.01536 +-0.39040501 0.27885 -0.0233 +-0.47262501 0.31153 -0.0592 + +0.239765 -0.07146 -0.19552 +0.153225 0.01244 -0.18492001 +0.20949499 8e-05 -0.18802999 + +-0.000905 -0.16063999 -0.32273998 +0.125885 -0.16028999 -0.32228001 +0.061575 -0.19306999 -0.34928001 + +0.040165 -0.24620001 -0.37231998 +0.061575 -0.19306999 -0.34928001 +0.125885 -0.16028999 -0.32228001 + +-0.43526501 0.09176 -0.08455 +-0.31862499 0.11157 -0.10718 +-0.38056499 0.02471 -0.15193 + +-0.27737499 -0.63951 -0.09283 +-0.27567499 -0.69246002 -0.18768 +-0.30734501 -0.71100998 -0.10559 + +-0.116545 0.01205 -0.16351999 +-0.105925 -0.01889 -0.19115 +-0.140345 -0.05789 -0.20672001 + +0.091085 -0.00535 -0.20563999 +0.069925 0.02503 -0.17805 +0.093325 0.13007 -0.09003 + +-0.18686501 0.0498 -0.14299 +-0.060175 0.08937 -0.1052 +-0.116545 0.01205 -0.16351999 + +-0.014785 0.14532 -0.02397 +0.093325 0.13007 -0.09003 +-0.015555 0.06388 -0.13874 + +-0.49363499 0.44341 -0.49014 +-0.46016499 0.52960999 -0.57521999 +-0.47018501 0.48946999 -0.51748001 + +-0.140345 -0.05789 -0.20672001 +-0.069995 -0.13285 -0.23166 +-0.160285 -0.07244 -0.20541 + +0.73838501 -0.45884998 0.0331 +0.757565 -0.47983002 0.05688 +0.701595 -0.51362999 -0.01377 + +-0.44782501 0.38021 -0.01581 +-0.401735 0.37047001 -0.00194 +-0.41858501 0.32521999 -0.01536 + +-0.014785 0.14532 -0.02397 +0.091055 0.16486 -0.04745 +0.093325 0.13007 -0.09003 + +0.49725498 0.02933 -0.02307 +0.45834499 0.08214 0.00486 +0.51815498 0.03883 0.06995 + +-0.116545 0.01205 -0.16351999 +0.005765 0.04376 -0.15766 +-0.105925 -0.01889 -0.19115 + +0.44883499 -0.17316 -0.18752001 +0.45040501 -0.27245001 -0.20267 +0.420485 -0.22735001 -0.22077999 + +0.005765 0.04376 -0.15766 +-0.040395 -0.02881 -0.20667999 +-0.105925 -0.01889 -0.19115 + +-0.019895 -0.21881001 -0.36255001 +-0.059835 -0.23341 -0.35984001 +-0.068905 -0.17981001 -0.32354 + +-0.65677498 -0.28486 0.31427999 +-0.65526497 -0.16193001 0.33708 +-0.71858498 -0.18570999 0.23955999 + +0.259195 0.02269 -0.176 +0.35907501 0.07059 -0.10795 +0.359175 -0.0197 -0.15061 + +-0.49433498 0.69546997 -0.58514 +-0.47443501 0.65209999 -0.59683998 +-0.51469501 0.68051003 -0.57174 + +-0.20724501 -0.69445999 -0.26997999 +-0.249265 -0.69514999 -0.22771999 +-0.228515 -0.64073997 -0.19774 + +-0.17661501 -0.63981998 -0.23927999 +-0.152975 -0.66613998 -0.27448999 +-0.20724501 -0.69445999 -0.26997999 + +0.62454498 -0.39271999 0.04435 +0.63150501 -0.32306999 0.09721 +0.64561501 -0.37198002 0.10372 + +0.72512497 -0.40280998 0.05526 +0.69163498 -0.37717999 0.08836 +0.74167503 -0.40138 0.07409 + +-0.31862499 0.11157 -0.10718 +-0.266325 0.15101 -0.06886 +-0.24480499 0.12143 -0.09801 + +-0.051545 0.75455002 -0.12812 +-0.247845 0.62541 -0.03466 +-0.075495 0.73363998 -0.09516 + +0.56855499 -0.27214001 -0.1024 +0.52969501 -0.24299 -0.15367 +0.55953499 -0.19656 -0.10231 + +-0.34418499 0.18421 -0.02241 +-0.301705 0.19448999 0.02741 +-0.266325 0.15101 -0.06886 + +-0.17661501 -0.63981998 -0.23927999 +-0.228515 -0.64073997 -0.19774 +-0.132525 -0.59215 -0.16823 + +-0.74042503 0.40042999 0.17667999 +-0.72976501 0.37284 0.12714 +-0.74736504 0.31806 0.17700001 + +-0.329715 0.31518 0.05937 +-0.30900499 0.25450001 0.12933 +-0.32405499 0.22228001 0.01714 + +0.72394501 -0.43584999 0.02906 +0.756455 -0.42445 0.07686 +0.73838501 -0.45884998 0.0331 + +-0.31862499 0.11157 -0.10718 +-0.18686501 0.0498 -0.14299 +-0.35469501 0.06252 -0.13541 + +-0.43526501 0.09176 -0.08455 +-0.38056499 0.02471 -0.15193 +-0.47079498 0.02284 -0.11794 + +0.232845 0.19128 0.00246 +0.147815 0.19112 0.00398 +0.20192499 0.21209999 0.08168 + +-0.30900499 0.25450001 0.12933 +-0.28657499 0.21525999 0.16419001 +-0.295275 0.20636 0.05543 + +-0.32405499 0.22228001 0.01714 +-0.30900499 0.25450001 0.12933 +-0.295275 0.20636 0.05543 + +-0.32405499 0.22228001 0.01714 +-0.301705 0.19448999 0.02741 +-0.34418499 0.18421 -0.02241 + +-0.43526501 0.09176 -0.08455 +-0.43113499 0.13668 -0.06854 +-0.34418499 0.18421 -0.02241 + +-0.116545 0.01205 -0.16351999 +-0.140345 -0.05789 -0.20672001 +-0.160285 -0.07244 -0.20541 + +-0.329715 0.31518 0.05937 +-0.32405499 0.22228001 0.01714 +-0.363535 0.29777 0.01081 + +-0.31862499 0.11157 -0.10718 +-0.24480499 0.12143 -0.09801 +-0.18686501 0.0498 -0.14299 + +0.44600498 -0.11718 -0.16657 +0.57723499 -0.16372999 -0.05665 +0.53496498 -0.20222 -0.13642 + +-0.122175 -0.71571999 0.37543999 +-0.126875 -0.71792 0.35866001 +-0.100605 -0.71330002 0.37792 + +-0.301705 0.19448999 0.02741 +-0.32405499 0.22228001 0.01714 +-0.295275 0.20636 0.05543 + +0.074325 -0.09863 -0.22704 +0.059725 -0.12592 -0.27848 +-0.000905 -0.16063999 -0.32273998 + +0.57723499 -0.16372999 -0.05665 +0.53613499 -0.09893 -0.08599 +0.53067501 -0.0586 -0.06884 + +0.611035 -0.42883999 0.02128 +0.62454498 -0.39271999 0.04435 +0.66293503 -0.39085999 0.06263 + +0.72512497 -0.40280998 0.05526 +0.66293503 -0.39085999 0.06263 +0.69163498 -0.37717999 0.08836 + +0.68443497 -0.45104 0.0037 +0.611035 -0.42883999 0.02128 +0.66293503 -0.39085999 0.06263 + +0.435765 -0.49491001 -0.21247999 +0.44975498 -0.50793999 -0.1924 +0.391745 -0.56583 -0.23886999 + +-0.31862499 0.11157 -0.10718 +-0.35469501 0.06252 -0.13541 +-0.38056499 0.02471 -0.15193 + +-0.44141499 0.60801998 -0.58164001 +-0.43966499 0.60813999 -0.59201 +-0.44219501 0.62398998 -0.59071999 + +0.232995 0.12265 -0.10369 +0.23810499 0.17156 -0.03667 +0.293955 0.09814 -0.1175 + +0.078115 0.18864 0.02789 +0.147305 0.21093 0.16179001 +0.20192499 0.21209999 0.08168 + +-0.18686501 0.0498 -0.14299 +-0.190415 -0.01619 -0.18384001 +-0.38056499 0.02471 -0.15193 + +-0.18686501 0.0498 -0.14299 +-0.38056499 0.02471 -0.15193 +-0.35469501 0.06252 -0.13541 + +0.078115 0.18864 0.02789 +-0.025365 0.17524 0.11324 +0.147305 0.21093 0.16179001 + +0.078115 0.18864 0.02789 +0.091055 0.16486 -0.04745 +-0.014785 0.14532 -0.02397 + +-0.121325 0.14207 0.02081 +-0.106075 0.15324 0.06919 +-0.025365 0.17524 0.11324 + +0.47436501 0.00685 -0.07925 +0.53067501 -0.0586 -0.06884 +0.47198502 -0.04777 -0.12069 + +-0.301705 0.19448999 0.02741 +-0.221775 0.16362 -0.02269 +-0.266325 0.15101 -0.06886 + +-0.38056499 0.02471 -0.15193 +-0.190415 -0.01619 -0.18384001 +-0.310175 -0.08771 -0.20037001 + +0.293955 0.09814 -0.1175 +0.179445 0.04258 -0.17731001 +0.232995 0.12265 -0.10369 + +-0.31862499 0.11157 -0.10718 +-0.43526501 0.09176 -0.08455 +-0.34418499 0.18421 -0.02241 + +-0.45953499 0.45066002 -0.34074001 +-0.44885502 0.48257999 -0.32057999 +-0.44795502 0.48275002 -0.23052 + +0.53067501 -0.0586 -0.06884 +0.47436501 0.00685 -0.07925 +0.49725498 0.02933 -0.02307 + +-0.17661501 -0.63981998 -0.23927999 +-0.20724501 -0.69445999 -0.26997999 +-0.228515 -0.64073997 -0.19774 + +0.074325 -0.09863 -0.22704 +-0.000905 -0.16063999 -0.32273998 +-0.069995 -0.13285 -0.23166 + +0.069925 0.02503 -0.17805 +-0.015555 0.06388 -0.13874 +0.093325 0.13007 -0.09003 + +-0.016475 0.76692001 -0.19555 +-0.006815 0.77167 -0.18312 +0.008635 0.76769997 -0.20617001 + +0.28848499 -0.13418 -0.22884001 +0.36023499 -0.12728 -0.21188999 +0.35949501 -0.21177999 -0.24714001 + +0.69163498 -0.37717999 0.08836 +0.66293503 -0.39085999 0.06263 +0.64561501 -0.37198002 0.10372 + +-0.47012501 -0.68793999 -0.04621 +-0.420145 -0.75016998 -0.08755 +-0.47702499 -0.74514 -0.06318 + +0.153225 0.01244 -0.18492001 +0.091085 -0.00535 -0.20563999 +0.093325 0.13007 -0.09003 + +0.293955 0.09814 -0.1175 +0.259195 0.02269 -0.176 +0.179445 0.04258 -0.17731001 + +-0.138675 0.11073 -0.06666 +-0.24480499 0.12143 -0.09801 +-0.266325 0.15101 -0.06886 + +0.27865499 -0.11254 -0.21181999 +0.28848499 -0.13418 -0.22884001 +0.290105 -0.15098 -0.25101999 + +0.44883499 -0.17316 -0.18752001 +0.420485 -0.22735001 -0.22077999 +0.35949501 -0.21177999 -0.24714001 + +0.093325 0.13007 -0.09003 +0.23810499 0.17156 -0.03667 +0.232995 0.12265 -0.10369 + +-0.21356501 -0.75926003 0.30533001 +-0.21439501 -0.74724998 0.25917999 +-0.17445499 -0.76107002 0.26183001 + +-0.42247501 -0.65561996 -0.03636 +-0.36709499 -0.61487 -0.04815 +-0.27737499 -0.63951 -0.09283 + +-0.083505 0.68447998 -0.17287001 +-0.126565 0.67811996 -0.13629 +-0.016475 0.76692001 -0.19555 + +0.42092499 -0.38223 -0.23412001 +0.261315 -0.36248001 -0.31499001 +0.290415 -0.22259001 -0.29337 + +0.66293503 -0.39085999 0.06263 +0.62454498 -0.39271999 0.04435 +0.64561501 -0.37198002 0.10372 + +-0.44782501 0.38021 -0.01581 +-0.47220501 0.42382 -0.00262 +-0.44713501 0.41133999 0.01059 + +-0.016475 0.76692001 -0.19555 +-0.126565 0.67811996 -0.13629 +-0.051545 0.75455002 -0.12812 + +-0.016475 0.76692001 -0.19555 +-0.051545 0.75455002 -0.12812 +-0.006815 0.77167 -0.18312 + +-0.060175 0.08937 -0.1052 +-0.014785 0.14532 -0.02397 +-0.015555 0.06388 -0.13874 + +0.179445 0.04258 -0.17731001 +0.153225 0.01244 -0.18492001 +0.093325 0.13007 -0.09003 + +-0.33072498 -0.58639999 0.18187 +-0.34688499 -0.54231998 0.18309999 +-0.33488499 -0.55792 0.17202 + +0.140395 -0.26084999 -0.35778 +0.100535 -0.31684999 -0.36356998 +0.040165 -0.24620001 -0.37231998 + +0.22540501 -0.15247 -0.28954 +0.125885 -0.16028999 -0.32228001 +0.131915 -0.11946 -0.26507999 + +-0.25884501 -0.74322998 -0.26056 +-0.262125 -0.75611 -0.24801001 +-0.271495 -0.75060997 -0.24094 + +-0.058185 -0.59312 -0.27127001 +-0.107915 -0.53838001 -0.23878 +-0.119055 -0.34823002 -0.33359001 + +-0.238545 -0.76138 0.28424 +-0.257085 -0.75538002 0.41583 +-0.33710499 -0.76268997 0.2824 + +-0.57065498 0.15109 -0.06724 +-0.550975 0.20959 -0.06745 +-0.501245 0.20993999 -0.07225 + +-0.46016499 0.52960999 -0.57521999 +-0.440755 0.59640999 -0.59333 +-0.44630501 0.55679001 -0.57491001 + +0.701595 -0.51362999 -0.01377 +0.757565 -0.47983002 0.05688 +0.74039497 -0.56462002 0.06716 + +-0.52043499 0.07819 -0.06974 +-0.60025501 0.10649 -0.05573 +-0.57065498 0.15109 -0.06724 + +-0.41327499 -0.49464001 -0.01295 +-0.388325 -0.45629002 -0.06645 +-0.357915 -0.49792999 -0.07636 + +-0.51851501 -0.35137001 -0.13174 +-0.58818501 -0.35695 -0.06415 +-0.579235 -0.25250999 -0.13211 + +-0.19824499 -0.74849998 0.24569 +-0.189415 -0.75043999 0.19530001 +-0.17445499 -0.76107002 0.26183001 + +0.58218498 -0.58167 -0.0532 +0.66172501 -0.52612 -0.03485 +0.63202499 -0.59748001 -0.03384 + +-0.48044498 -0.07672 -0.15554 +-0.430355 -0.10442 -0.17239 +-0.40962502 -0.24707001 -0.19660999 + +0.102645 -0.75471001 -0.22798 +0.18262501 -0.73998001 -0.2282 +0.269445 -0.75794998 -0.18476999 + +-0.113155 -0.72134003 0.07626 +-0.125935 -0.71977997 0.05414 +-0.139575 -0.71986 0.03333 + +-0.501245 0.20993999 -0.07225 +-0.550975 0.20959 -0.06745 +-0.60123501 0.19448 -0.05578 + +-0.57147499 0.29725 -0.05187 +-0.60123501 0.19448 -0.05578 +-0.62156502 0.28177999 -0.03207 + +-0.34418499 0.18421 -0.02241 +-0.39040501 0.27885 -0.0233 +-0.32405499 0.22228001 0.01714 + +0.68443497 -0.45104 0.0037 +0.73838501 -0.45884998 0.0331 +0.701595 -0.51362999 -0.01377 + +0.66172501 -0.52612 -0.03485 +0.68647499 -0.58339001 -0.0017 +0.63202499 -0.59748001 -0.03384 + +-0.52043499 0.07819 -0.06974 +-0.57065498 0.15109 -0.06724 +-0.501245 0.20993999 -0.07225 + +-0.57057499 -0.43936001 0.05637 +-0.51724499 -0.39648998 -0.08125 +-0.48772499 -0.47484001 -0.01301 + +-0.51851501 -0.35137001 -0.13174 +-0.51724499 -0.39648998 -0.08125 +-0.58818501 -0.35695 -0.06415 + +0.59227501 -0.64189003 -0.02401 +0.63202499 -0.59748001 -0.03384 +0.63273499 -0.64609001 0.00875 + +0.54107498 -0.55365002 -0.04656 +0.51241501 -0.64007004 -0.04479 +0.50317501 -0.58196999 -0.06143 + +0.56943501 -0.51193001 -0.02993 +0.66172501 -0.52612 -0.03485 +0.58218498 -0.58167 -0.0532 + +-0.41327499 -0.49464001 -0.01295 +-0.44842499 -0.42519001 -0.09399 +-0.388325 -0.45629002 -0.06645 + +-0.48044498 -0.07672 -0.15554 +-0.47079498 0.02284 -0.11794 +-0.38056499 0.02471 -0.15193 + +-0.176455 -0.76629997 -0.28367001 +-0.056505 -0.75303001 -0.26643 +0.011285 -0.76453003 -0.22976 + +-0.501245 0.20993999 -0.07225 +-0.57147499 0.29725 -0.05187 +-0.52155499 0.29777 -0.06353 + +-0.41327499 -0.49464001 -0.01295 +-0.48772499 -0.47484001 -0.01301 +-0.44842499 -0.42519001 -0.09399 + +-0.58929501 0.35665001 -0.05348 +-0.59239498 0.37070999 -0.07326 +-0.54577499 0.32955002 -0.08891 + +-0.420145 -0.75016998 -0.08755 +-0.44606499 -0.76600998 -0.07796 +-0.47702499 -0.74514 -0.06318 + +-0.166565 -0.76378998 0.10376 +-0.152885 -0.76372002 0.12453 +-0.18321501 -0.75733002 0.1487 + +0.51241501 -0.64007004 -0.04479 +0.54107498 -0.55365002 -0.04656 +0.58218498 -0.58167 -0.0532 + +0.558475 -0.70769997 0.03611 +0.522575 -0.68685997 -0.0156 +0.59227501 -0.64189003 -0.02401 + +0.58218498 -0.58167 -0.0532 +0.63202499 -0.59748001 -0.03384 +0.59227501 -0.64189003 -0.02401 + +0.44320499 -0.65613998 -0.05025 +0.39260502 -0.67114998 -0.11193 +0.45115501 -0.60699001 -0.15207 + +-0.47904499 -0.33529999 -0.1591 +-0.48954498 -0.24917 -0.17212999 +-0.39932499 -0.27525 -0.19733 + +-0.249485 -0.24631001 -0.19802999 +-0.19938499 -0.27365 -0.20799 +-0.18914499 -0.31829 -0.17997 + +-0.266325 0.15101 -0.06886 +-0.31862499 0.11157 -0.10718 +-0.34418499 0.18421 -0.02241 + +-0.579235 -0.25250999 -0.13211 +-0.59406502 -0.18136 -0.12044 +-0.48954498 -0.24917 -0.17212999 + +0.58218498 -0.58167 -0.0532 +0.59227501 -0.64189003 -0.02401 +0.51241501 -0.64007004 -0.04479 + +0.56943501 -0.51193001 -0.02993 +0.66172501 -0.51227001 -0.03209 +0.66172501 -0.52612 -0.03485 + +-0.39932499 -0.27525 -0.19733 +-0.42914501 -0.31971001 -0.17452999 +-0.47904499 -0.33529999 -0.1591 + +-0.42914501 -0.31971001 -0.17452999 +-0.40871498 -0.39304001 -0.14109 +-0.458685 -0.37923 -0.13846 + +-0.48954498 -0.24917 -0.17212999 +-0.48044498 -0.07672 -0.15554 +-0.39932499 -0.27525 -0.19733 + +-0.57147499 0.29725 -0.05187 +-0.501245 0.20993999 -0.07225 +-0.60123501 0.19448 -0.05578 + +-0.47904499 -0.33529999 -0.1591 +-0.51851501 -0.35137001 -0.13174 +-0.579235 -0.25250999 -0.13211 + +-0.47702499 -0.74514 -0.06318 +-0.50606499 -0.70516998 -0.03412 +-0.47012501 -0.68793999 -0.04621 + +0.522575 -0.68685997 -0.0156 +0.51241501 -0.64007004 -0.04479 +0.59227501 -0.64189003 -0.02401 + +-0.49433498 0.69546997 -0.58514 +-0.48884499 0.70297997 -0.56327 +-0.47459499 0.69324997 -0.58602001 + +0.44320499 -0.65613998 -0.05025 +0.45115501 -0.60699001 -0.15207 +0.50317501 -0.58196999 -0.06143 + +-0.006815 0.77167 -0.18312 +-0.051545 0.75455002 -0.12812 +-0.036455 0.74396004 -0.12342 + +-0.190415 -0.01619 -0.18384001 +-0.229725 -0.20162001 -0.21724001 +-0.310175 -0.08771 -0.20037001 + +-0.44350498 0.63459 -0.59969002 +-0.47443501 0.65209999 -0.59683998 +-0.457075 0.67668999 -0.58800999 + +-0.49175499 0.59293999 -0.57492001 +-0.554105 0.60669998 -0.47487 +-0.51469501 0.68051003 -0.57174 + +0.51719501 -0.72348999 0.03903 +0.40176498 -0.71222 -0.03167 +0.522575 -0.68685997 -0.0156 + +-0.57005501 0.04798 -0.05057 +-0.53066502 0.00663 -0.09101 +-0.59998501 -0.08147 -0.08608 + +0.073435 -0.62984001 0.4934 +-0.044845 -0.65685997 0.5468 +0.065805 -0.69416 0.51382 + +0.420485 -0.22735001 -0.22077999 +0.45040501 -0.27245001 -0.20267 +0.42092499 -0.38223 -0.23412001 + +0.35949501 -0.21177999 -0.24714001 +0.420485 -0.22735001 -0.22077999 +0.290415 -0.22259001 -0.29337 + +-0.554105 0.60669998 -0.47487 +-0.56290501 0.68952003 -0.53467999 +-0.51469501 0.68051003 -0.57174 + +-0.47079498 0.02284 -0.11794 +-0.53066502 0.00663 -0.09101 +-0.43526501 0.09176 -0.08455 + +-0.190415 -0.01619 -0.18384001 +-0.160285 -0.07244 -0.20541 +-0.229725 -0.20162001 -0.21724001 + +-0.199305 -0.2299 -0.22021999 +-0.19960501 -0.25952999 -0.2083 +-0.19938499 -0.27365 -0.20799 + +-0.264615 -0.75880997 -0.25176001 +-0.271495 -0.75060997 -0.24094 +-0.262125 -0.75611 -0.24801001 + +-0.43739498 0.45532001 0.06203 +-0.40747501 0.47915001 0.0356 +-0.44713501 0.41133999 0.01059 + +-0.34724499 -0.58544998 -0.05828 +-0.24751499 -0.60999001 -0.0966 +-0.27737499 -0.63951 -0.09283 + +-0.24751499 -0.60999001 -0.0966 +-0.34724499 -0.58544998 -0.05828 +-0.297925 -0.53887001 -0.09417 + +-0.39643501 -0.51195999 -0.00889 +-0.41327499 -0.49464001 -0.01295 +-0.357915 -0.49792999 -0.07636 + +0.44320499 -0.65613998 -0.05025 +0.51241501 -0.64007004 -0.04479 +0.522575 -0.68685997 -0.0156 + +-0.31935499 -0.27489 -0.19740999 +-0.288985 -0.33368 -0.16805 +-0.37912498 -0.31878 -0.18186001 + +-0.330975 0.52471001 -0.03259 +-0.29095501 0.58248001 -0.04404 +-0.18282499 0.59498001 -0.13044 + +0.53496498 -0.20222 -0.13642 +0.52969501 -0.24299 -0.15367 +0.44883499 -0.17316 -0.18752001 + +-0.229725 -0.20162001 -0.21724001 +-0.249485 -0.24631001 -0.19802999 +-0.32967499 -0.20312 -0.20150999 + +-0.40871498 -0.39304001 -0.14109 +-0.328545 -0.40797001 -0.12829 +-0.388325 -0.45629002 -0.06645 + +-0.420145 -0.75016998 -0.08755 +-0.418405 -0.76513 -0.09148 +-0.43560501 -0.76556 -0.07625 + +0.44883499 -0.17316 -0.18752001 +0.52969501 -0.24299 -0.15367 +0.45040501 -0.27245001 -0.20267 + +-0.18914499 -0.31829 -0.17997 +-0.19886499 -0.37626999 -0.16464001 +-0.288985 -0.33368 -0.16805 + +-0.39932499 -0.27525 -0.19733 +-0.31935499 -0.27489 -0.19740999 +-0.37912498 -0.31878 -0.18186001 + +-0.222955 -0.69486 0.43347 +-0.21126499 -0.66814003 0.43307999 +-0.216555 -0.65108002 0.42185001 + +-0.264615 -0.75880997 -0.25176001 +-0.25884501 -0.74322998 -0.26056 +-0.249135 -0.76183998 -0.26459 + +-0.029335 -0.10314 0.45814999 +0.035725 -0.09047 0.45244999 +0.043555 0.01225 0.43209 + +0.251465 -0.18408001 -0.29662001 +0.290105 -0.15098 -0.25101999 +0.35949501 -0.21177999 -0.24714001 + +0.004935 0.49839001 -0.08707 +-0.084295 0.46479 -0.01832 +-0.112925 0.44946999 -0.01904 + +0.458255 -0.43664001 -0.18388 +0.44975498 -0.50793999 -0.1924 +0.435765 -0.49491001 -0.21247999 + +-0.36709499 -0.61487 -0.04815 +-0.39643501 -0.51195999 -0.00889 +-0.34724499 -0.58544998 -0.05828 + +-0.47443501 0.65209999 -0.59683998 +-0.49343498 0.53766998 -0.56959999 +-0.49175499 0.59293999 -0.57492001 + +0.382645 -0.65669998 -0.17177999 +0.42197498 -0.58331001 -0.20099001 +0.45115501 -0.60699001 -0.15207 + +0.259195 0.02269 -0.176 +0.30606501 -0.05008 -0.17846001 +0.239765 -0.07146 -0.19552 + +0.558475 -0.70769997 0.03611 +0.67858498 -0.64014999 0.05778 +0.59101501 -0.70407997 0.1113 + +0.37158501 -0.45105999 -0.26129999 +0.370625 -0.38014999 -0.26396999 +0.42092499 -0.38223 -0.23412001 + +-0.073375 0.61046001 -0.18223 +-0.212425 0.4907 -0.10495 +-0.23320499 0.5352 -0.10464 + +-0.34724499 -0.58544998 -0.05828 +-0.27737499 -0.63951 -0.09283 +-0.36709499 -0.61487 -0.04815 + +-0.328545 -0.40797001 -0.12829 +-0.26883499 -0.37657001 -0.16448 +-0.297925 -0.53887001 -0.09417 + +-0.31717501 -0.73977997 -0.10929 +-0.30720501 -0.73987999 -0.10804 +-0.31505501 -0.76257004 -0.12831 + +0.435765 -0.49491001 -0.21247999 +0.37158501 -0.45105999 -0.26129999 +0.458255 -0.43664001 -0.18388 + +0.42092499 -0.38223 -0.23412001 +0.52969501 -0.24299 -0.15367 +0.47530499 -0.39273998 -0.18283001 + +-0.36962502 -0.20292999 -0.20726999 +-0.39932499 -0.27525 -0.19733 +-0.40962502 -0.24707001 -0.19660999 + +-0.238365 -0.47976002 -0.11273 +-0.178085 -0.52410999 -0.09604 +-0.157915 -0.5673 -0.08973 + +0.45115501 -0.60699001 -0.15207 +0.39260502 -0.67114998 -0.11193 +0.382645 -0.65669998 -0.17177999 + +0.261315 -0.36248001 -0.31499001 +0.37158501 -0.45105999 -0.26129999 +0.251075 -0.40532001 -0.30648001 + +0.37158501 -0.45105999 -0.26129999 +0.35170502 -0.52154999 -0.26212999 +0.251075 -0.40532001 -0.30648001 + +-0.52669498 0.41201 -0.43175999 +-0.515135 0.41865002 -0.44709 +-0.54327499 0.39124001 -0.37567001 + +-0.50876499 -0.69231003 -0.00193 +-0.50606499 -0.70516998 -0.03412 +-0.52946499 -0.75737999 -0.02987 + +0.372915 -0.65777 -0.19226999 +0.36238499 -0.61118 -0.21527 +0.382645 -0.65669998 -0.17177999 + +0.391745 -0.56583 -0.23886999 +0.42197498 -0.58331001 -0.20099001 +0.36238499 -0.61118 -0.21527 + +0.36023499 -0.12728 -0.21188999 +0.33996498 -0.09883 -0.20899 +0.38315498 -0.105 -0.19958 + +0.322565 -0.66830002 -0.22158001 +0.22237499 -0.68262001 -0.22483 +0.292015 -0.59245998 -0.26313 + +0.36238499 -0.61118 -0.21527 +0.372915 -0.65777 -0.19226999 +0.322565 -0.66830002 -0.22158001 + +0.292015 -0.59245998 -0.26313 +0.391745 -0.56583 -0.23886999 +0.36238499 -0.61118 -0.21527 + +0.37158501 -0.45105999 -0.26129999 +0.391745 -0.56583 -0.23886999 +0.35170502 -0.52154999 -0.26212999 + +0.458255 -0.43664001 -0.18388 +0.42092499 -0.38223 -0.23412001 +0.47530499 -0.39273998 -0.18283001 + +-0.26883499 -0.37657001 -0.16448 +-0.328545 -0.40797001 -0.12829 +-0.288985 -0.33368 -0.16805 + +-0.56290501 0.68952003 -0.53467999 +-0.572925 0.70330002 -0.52133999 +-0.51963501 0.70806 -0.56443001 + +-0.328545 -0.40797001 -0.12829 +-0.297925 -0.53887001 -0.09417 +-0.388325 -0.45629002 -0.06645 + +0.391745 -0.56583 -0.23886999 +0.33190498 -0.54949001 -0.26895 +0.35170502 -0.52154999 -0.26212999 + +0.37158501 -0.45105999 -0.26129999 +0.435765 -0.49491001 -0.21247999 +0.391745 -0.56583 -0.23886999 + +-0.522085 0.42964001 -0.46967999 +-0.531875 0.43505001 -0.47442001 +-0.52519501 0.43825001 -0.48328999 + +0.372915 -0.65777 -0.19226999 +0.32443501 -0.74949997 -0.15917 +0.302465 -0.72740997 -0.204 + +0.611035 -0.42883999 0.02128 +0.68443497 -0.45104 0.0037 +0.66172501 -0.51227001 -0.03209 + +0.66172501 -0.52612 -0.03485 +0.701595 -0.51362999 -0.01377 +0.68647499 -0.58339001 -0.0017 + +-0.36254501 -0.75091003 -0.10707 +-0.30734501 -0.71100998 -0.10559 +-0.31717501 -0.73977997 -0.10929 + +0.42092499 -0.38223 -0.23412001 +0.290415 -0.22259001 -0.29337 +0.420485 -0.22735001 -0.22077999 + +0.251465 -0.18408001 -0.29662001 +0.35949501 -0.21177999 -0.24714001 +0.290415 -0.22259001 -0.29337 + +0.292015 -0.59245998 -0.26313 +0.22237499 -0.68262001 -0.22483 +0.19210501 -0.62008999 -0.27941999 + +0.56943501 -0.51193001 -0.02993 +0.611035 -0.42883999 0.02128 +0.66172501 -0.51227001 -0.03209 + +0.30606501 -0.05008 -0.17846001 +0.359175 -0.0197 -0.15061 +0.33996498 -0.09883 -0.20899 + +0.251465 -0.18408001 -0.29662001 +0.290415 -0.22259001 -0.29337 +0.200305 -0.22082001 -0.32242001 + +-0.67093498 0.16365 -0.02486 +-0.69026497 0.08918 0.00135 +-0.69932503 0.13755 -0.00205 + +0.290105 -0.15098 -0.25101999 +0.251465 -0.18408001 -0.29662001 +0.22540501 -0.15247 -0.28954 + +-0.212425 0.4907 -0.10495 +-0.34072498 0.34067001 0.0194 +-0.312335 0.41512001 -0.03359 + +-0.000905 -0.16063999 -0.32273998 +0.059725 -0.12592 -0.27848 +0.125885 -0.16028999 -0.32228001 + +-0.233095 -0.62811001 -0.12729 +-0.228515 -0.64073997 -0.19774 +-0.27567499 -0.69246002 -0.18768 + +-0.44219501 0.62398998 -0.59071999 +-0.44350498 0.63459 -0.59969002 +-0.457075 0.67668999 -0.58800999 + +-0.019895 -0.21881001 -0.36255001 +0.040165 -0.24620001 -0.37231998 +-0.019805 -0.26032 -0.37293999 + +0.292015 -0.59245998 -0.26313 +0.33190498 -0.54949001 -0.26895 +0.391745 -0.56583 -0.23886999 + +-0.27737499 -0.63951 -0.09283 +-0.24751499 -0.60999001 -0.0966 +-0.233095 -0.62811001 -0.12729 + +-0.42914501 -0.31971001 -0.17452999 +-0.37912498 -0.31878 -0.18186001 +-0.40871498 -0.39304001 -0.14109 + +-0.40245499 0.42946999 0.00582 +-0.330975 0.52471001 -0.03259 +-0.23320499 0.5352 -0.10464 + +0.241845 -0.57674 -0.28339001 +0.211805 -0.50487 -0.30047001 +0.33190498 -0.54949001 -0.26895 + +0.211805 -0.50487 -0.30047001 +0.241845 -0.57674 -0.28339001 +0.21181499 -0.56279999 -0.28535 + +0.211805 -0.50487 -0.30047001 +0.35170502 -0.52154999 -0.26212999 +0.33190498 -0.54949001 -0.26895 + +0.251075 -0.40532001 -0.30648001 +0.35170502 -0.52154999 -0.26212999 +0.211805 -0.50487 -0.30047001 + +0.239765 -0.07146 -0.19552 +0.33996498 -0.09883 -0.20899 +0.27865499 -0.11254 -0.21181999 + +0.322565 -0.66830002 -0.22158001 +0.292015 -0.59245998 -0.26313 +0.36238499 -0.61118 -0.21527 + +0.239765 -0.07146 -0.19552 +0.30606501 -0.05008 -0.17846001 +0.33996498 -0.09883 -0.20899 + +0.322565 -0.66830002 -0.22158001 +0.372915 -0.65777 -0.19226999 +0.302465 -0.72740997 -0.204 + +0.282605 -0.72681999 -0.21195999 +0.18262501 -0.73998001 -0.2282 +0.22237499 -0.68262001 -0.22483 + +0.322565 -0.66830002 -0.22158001 +0.282605 -0.72681999 -0.21195999 +0.22237499 -0.68262001 -0.22483 + +0.292015 -0.59245998 -0.26313 +0.19210501 -0.62008999 -0.27941999 +0.241845 -0.57674 -0.28339001 + +0.19210501 -0.62008999 -0.27941999 +0.21181499 -0.56279999 -0.28535 +0.241845 -0.57674 -0.28339001 + +0.151255 -0.47417999 -0.33002998 +0.211805 -0.50487 -0.30047001 +0.21181499 -0.56279999 -0.28535 + +0.261315 -0.36248001 -0.31499001 +0.370625 -0.38014999 -0.26396999 +0.37158501 -0.45105999 -0.26129999 + +0.239765 -0.07146 -0.19552 +0.074325 -0.09863 -0.22704 +0.091085 -0.00535 -0.20563999 + +0.282605 -0.72681999 -0.21195999 +0.269445 -0.75794998 -0.18476999 +0.18262501 -0.73998001 -0.2282 + +0.200805 -0.34676998 -0.33601002 +0.140395 -0.26084999 -0.35778 +0.200305 -0.22082001 -0.32242001 + +0.20949499 8e-05 -0.18802999 +0.153225 0.01244 -0.18492001 +0.179445 0.04258 -0.17731001 + +-0.275595 -0.76456001 -0.06335 +-0.244305 -0.76299004 -0.00343 +-0.38783501 -0.76627998 0.13294 + +0.172295 -0.65259003 -0.24820999 +0.19210501 -0.62008999 -0.27941999 +0.22237499 -0.68262001 -0.22483 + +0.261315 -0.36248001 -0.31499001 +0.251075 -0.40532001 -0.30648001 +0.200805 -0.34676998 -0.33601002 + +-0.57005501 0.04798 -0.05057 +-0.52043499 0.07819 -0.06974 +-0.53066502 0.00663 -0.09101 + +0.20949499 8e-05 -0.18802999 +0.179445 0.04258 -0.17731001 +0.259195 0.02269 -0.176 + +-0.46016499 0.52960999 -0.57521999 +-0.44630501 0.55679001 -0.57491001 +-0.47018501 0.48946999 -0.51748001 + +0.292015 -0.59245998 -0.26313 +0.241845 -0.57674 -0.28339001 +0.33190498 -0.54949001 -0.26895 + +0.200805 -0.34676998 -0.33601002 +0.200305 -0.22082001 -0.32242001 +0.290415 -0.22259001 -0.29337 + +-0.57057499 -0.43936001 0.05637 +-0.48772499 -0.47484001 -0.01301 +-0.510555 -0.49130001 0.09622 + +0.27865499 -0.11254 -0.21181999 +0.22540501 -0.15247 -0.28954 +0.131915 -0.11946 -0.26507999 + +-0.297925 -0.53887001 -0.09417 +-0.238365 -0.47976002 -0.11273 +-0.157915 -0.5673 -0.08973 + +-0.44820499 0.36980999 -0.02461 +-0.45510502 0.35847 -0.05053 +-0.462285 0.43570999 -0.09058 + +0.19929501 -0.75515999 -0.14499 +-0.124075 -0.75598 -0.18927 +0.011285 -0.76453003 -0.22976 + +0.322565 -0.66830002 -0.22158001 +0.302465 -0.72740997 -0.204 +0.282605 -0.72681999 -0.21195999 + +0.19210501 -0.62008999 -0.27941999 +0.172295 -0.65259003 -0.24820999 +0.082165 -0.64961998 -0.27099001 + +0.031555 -0.54588001 -0.32389999 +0.061695 -0.56002998 -0.32155998 +0.002175 -0.65117996 -0.26294001 + +-0.089315 -0.30382 -0.35894001 +-0.099045 -0.37569 -0.34127998 +-0.119055 -0.34823002 -0.33359001 + +-0.58929501 0.35665001 -0.05348 +-0.54156502 0.29757 -0.05975 +-0.57147499 0.29725 -0.05187 + +0.082165 -0.64961998 -0.27099001 +0.172295 -0.65259003 -0.24820999 +0.032345 -0.66652 -0.25143 + +0.061695 -0.56002998 -0.32155998 +0.151255 -0.47417999 -0.33002998 +0.21181499 -0.56279999 -0.28535 + +0.131055 -0.41751999 -0.33540001 +0.251075 -0.40532001 -0.30648001 +0.151255 -0.47417999 -0.33002998 + +0.22540501 -0.15247 -0.28954 +0.251465 -0.18408001 -0.29662001 +0.125885 -0.16028999 -0.32228001 + +0.51838501 -0.73889 0.11006 +0.59101501 -0.70407997 0.1113 +0.57144501 -0.70275002 0.21681 + +-0.249485 -0.24631001 -0.19802999 +-0.18914499 -0.31829 -0.17997 +-0.288985 -0.33368 -0.16805 + +-0.27567499 -0.69246002 -0.18768 +-0.25884501 -0.74322998 -0.26056 +-0.271465 -0.75859001 -0.23466 + +-0.125935 -0.71977997 0.05414 +-0.136375 -0.72024002 0.05244 +-0.139575 -0.71986 0.03333 + +-0.36254501 -0.75091003 -0.10707 +-0.47012501 -0.68793999 -0.04621 +-0.27737499 -0.63951 -0.09283 + +-0.42914501 -0.31971001 -0.17452999 +-0.39932499 -0.27525 -0.19733 +-0.37912498 -0.31878 -0.18186001 + +0.172295 -0.65259003 -0.24820999 +0.22237499 -0.68262001 -0.22483 +0.032345 -0.66652 -0.25143 + +0.22237499 -0.68262001 -0.22483 +0.18262501 -0.73998001 -0.2282 +0.032345 -0.66652 -0.25143 + +0.251075 -0.40532001 -0.30648001 +0.211805 -0.50487 -0.30047001 +0.151255 -0.47417999 -0.33002998 + +0.200805 -0.34676998 -0.33601002 +0.251075 -0.40532001 -0.30648001 +0.131055 -0.41751999 -0.33540001 + +-0.215165 -0.74110001 0.12757 +-0.18321501 -0.75733002 0.1487 +-0.19240499 -0.74304001 0.15199 + +-0.38056499 0.02471 -0.15193 +-0.310175 -0.08771 -0.20037001 +-0.35023499 -0.1021 -0.20283001 + +-0.112925 0.44946999 -0.01904 +-0.31918501 0.34056 0.04058 +-0.34072498 0.34067001 0.0194 + +-0.30734501 -0.71100998 -0.10559 +-0.30720501 -0.73987999 -0.10804 +-0.31717501 -0.73977997 -0.10929 + +0.18262501 -0.73998001 -0.2282 +0.102645 -0.75471001 -0.22798 +0.032345 -0.66652 -0.25143 + +0.19210501 -0.62008999 -0.27941999 +0.082165 -0.64961998 -0.27099001 +0.061695 -0.56002998 -0.32155998 + +0.100535 -0.31684999 -0.36356998 +0.140395 -0.26084999 -0.35778 +0.200805 -0.34676998 -0.33601002 + +-0.40245499 0.42946999 0.00582 +-0.40747501 0.47915001 0.0356 +-0.330975 0.52471001 -0.03259 + +-0.52043499 0.07819 -0.06974 +-0.501245 0.20993999 -0.07225 +-0.43113499 0.13668 -0.06854 + +0.19210501 -0.62008999 -0.27941999 +0.061695 -0.56002998 -0.32155998 +0.21181499 -0.56279999 -0.28535 + +0.200805 -0.34676998 -0.33601002 +0.131055 -0.41751999 -0.33540001 +0.100535 -0.31684999 -0.36356998 + +-0.52043499 0.07819 -0.06974 +-0.57005501 0.04798 -0.05057 +-0.60025501 0.10649 -0.05573 + +-0.53066502 0.00663 -0.09101 +-0.52043499 0.07819 -0.06974 +-0.43526501 0.09176 -0.08455 + +-0.35023499 -0.1021 -0.20283001 +-0.430355 -0.10442 -0.17239 +-0.48044498 -0.07672 -0.15554 + +0.151255 -0.47417999 -0.33002998 +0.031555 -0.54588001 -0.32389999 +0.041465 -0.48752998 -0.34728001 + +0.131055 -0.41751999 -0.33540001 +0.151255 -0.47417999 -0.33002998 +0.041465 -0.48752998 -0.34728001 + +0.125885 -0.16028999 -0.32228001 +0.251465 -0.18408001 -0.29662001 +0.140395 -0.26084999 -0.35778 + +0.382645 -0.65669998 -0.17177999 +0.36238499 -0.61118 -0.21527 +0.42197498 -0.58331001 -0.20099001 + +0.68647499 -0.58339001 -0.0017 +0.74039497 -0.56462002 0.06716 +0.72791496 -0.59351002 0.06742 + +-0.40245499 0.42946999 0.00582 +-0.312335 0.41512001 -0.03359 +-0.401735 0.37047001 -0.00194 + +0.66172501 -0.51227001 -0.03209 +0.68443497 -0.45104 0.0037 +0.701595 -0.51362999 -0.01377 + +-0.060175 0.08937 -0.1052 +0.005765 0.04376 -0.15766 +-0.116545 0.01205 -0.16351999 + +0.061495 0.71106003 -0.27132 +0.068505 0.67084 -0.27976999 +0.059645 0.68377998 -0.28246 + +-0.26883499 -0.37657001 -0.16448 +-0.288985 -0.33368 -0.16805 +-0.19886499 -0.37626999 -0.16464001 + +-0.32967499 -0.20312 -0.20150999 +-0.249485 -0.24631001 -0.19802999 +-0.31935499 -0.27489 -0.19740999 + +0.36023499 -0.12728 -0.21188999 +0.28848499 -0.13418 -0.22884001 +0.27865499 -0.11254 -0.21181999 + +0.012615 -0.75335999 -0.24431999 +0.032345 -0.66652 -0.25143 +0.102645 -0.75471001 -0.22798 + +-0.47702499 -0.74514 -0.06318 +-0.499095 -0.76375999 -0.05418 +-0.52946499 -0.75737999 -0.02987 + +-0.229725 -0.20162001 -0.21724001 +-0.199305 -0.2299 -0.22021999 +-0.249485 -0.24631001 -0.19802999 + +-0.76138496 0.14034 0.29812 +-0.74599503 0.0726 0.28837999 +-0.76316498 0.10037 0.37827 + +-0.120215 -0.74757004 0.18886999 +-0.097395 -0.72411003 0.17242001 +-0.129625 -0.75866997 0.17889999 + +-0.357915 -0.49792999 -0.07636 +-0.388325 -0.45629002 -0.06645 +-0.297925 -0.53887001 -0.09417 + +-0.18321501 -0.75733002 0.1487 +-0.152885 -0.76372002 0.12453 +-0.141615 -0.76162003 0.1249 + +-0.21356501 -0.75926003 0.30533001 +-0.238545 -0.76138 0.28424 +-0.21439501 -0.74724998 0.25917999 + +0.041465 -0.48752998 -0.34728001 +-0.009285 -0.35868999 -0.37393002 +0.100535 -0.31684999 -0.36356998 + +0.041465 -0.48752998 -0.34728001 +0.100535 -0.31684999 -0.36356998 +0.131055 -0.41751999 -0.33540001 + +-0.35023499 -0.1021 -0.20283001 +-0.48044498 -0.07672 -0.15554 +-0.38056499 0.02471 -0.15193 + +-0.50876499 -0.69231003 -0.00193 +-0.47767502 -0.65098999 0.02223 +-0.50606499 -0.70516998 -0.03412 + +-0.073375 0.61046001 -0.18223 +-0.083505 0.68447998 -0.17287001 +0.016075 0.68472 -0.25462 + +0.251465 -0.18408001 -0.29662001 +0.200305 -0.22082001 -0.32242001 +0.140395 -0.26084999 -0.35778 + +0.012615 -0.75335999 -0.24431999 +0.002175 -0.65117996 -0.26294001 +0.032345 -0.66652 -0.25143 + +0.082165 -0.64961998 -0.27099001 +0.032345 -0.66652 -0.25143 +0.002175 -0.65117996 -0.26294001 + +0.031555 -0.54588001 -0.32389999 +0.151255 -0.47417999 -0.33002998 +0.061695 -0.56002998 -0.32155998 + +0.041465 -0.48752998 -0.34728001 +-0.049465 -0.37333 -0.3702 +-0.009285 -0.35868999 -0.37393002 + +-0.39040501 0.27885 -0.0233 +-0.363535 0.29777 0.01081 +-0.32405499 0.22228001 0.01714 + +-0.51963501 0.70806 -0.56443001 +-0.49433498 0.69546997 -0.58514 +-0.51469501 0.68051003 -0.57174 + +-0.48954498 -0.24917 -0.17212999 +-0.59406502 -0.18136 -0.12044 +-0.48044498 -0.07672 -0.15554 + +-0.54935501 -0.75695999 0.01981 +-0.56031502 -0.74598999 0.02573 +-0.547785 -0.71860001 0.02244 + +0.102645 -0.75471001 -0.22798 +0.011285 -0.76453003 -0.22976 +0.012615 -0.75335999 -0.24431999 + +-0.17994499 -0.75432999 0.36115002 +-0.17762501 -0.75689003 0.38146999 +-0.163815 -0.75672997 0.40183998 + +0.016075 0.68472 -0.25462 +-0.048255 0.52195999 -0.13641 +-0.073375 0.61046001 -0.18223 + +-0.232635 -0.74156998 0.44324001 +-0.204825 -0.74662003 0.45456001 +-0.222955 -0.69486 0.43347 + +-0.44782501 0.38021 -0.01581 +-0.44713501 0.41133999 0.01059 +-0.401735 0.37047001 -0.00194 + +-0.038565 -0.53313 -0.31079 +-0.078115 -0.62351002 -0.25240999 +-0.058185 -0.59312 -0.27127001 + +-0.049555 -0.31667 -0.37383999 +-0.019805 -0.26032 -0.37293999 +-0.009285 -0.35868999 -0.37393002 + +-0.579235 -0.25250999 -0.13211 +-0.60820499 -0.28396 -0.08675 +-0.59406502 -0.18136 -0.12044 + +-0.47904499 -0.33529999 -0.1591 +-0.579235 -0.25250999 -0.13211 +-0.48954498 -0.24917 -0.17212999 + +0.239765 -0.07146 -0.19552 +0.27865499 -0.11254 -0.21181999 +0.074325 -0.09863 -0.22704 + +-0.36962502 -0.20292999 -0.20726999 +-0.31935499 -0.27489 -0.19740999 +-0.39932499 -0.27525 -0.19733 + +0.025515 0.74473999 -0.25292999 +0.047165 0.73010002 -0.26747 +0.059645 0.68377998 -0.28246 + +-0.038565 -0.53313 -0.31079 +0.031555 -0.54588001 -0.32389999 +0.002175 -0.65117996 -0.26294001 + +-0.59406502 -0.18136 -0.12044 +-0.59998501 -0.08147 -0.08608 +-0.48044498 -0.07672 -0.15554 + +-0.32967499 -0.20312 -0.20150999 +-0.35023499 -0.1021 -0.20283001 +-0.310175 -0.08771 -0.20037001 + +-0.328545 -0.40797001 -0.12829 +-0.40871498 -0.39304001 -0.14109 +-0.37912498 -0.31878 -0.18186001 + +0.025515 0.74473999 -0.25292999 +0.016075 0.68472 -0.25462 +-0.083505 0.68447998 -0.17287001 + +-0.016475 0.76692001 -0.19555 +0.025515 0.74473999 -0.25292999 +-0.083505 0.68447998 -0.17287001 + +-0.44842499 -0.42519001 -0.09399 +-0.458685 -0.37923 -0.13846 +-0.40871498 -0.39304001 -0.14109 + +0.059645 0.68377998 -0.28246 +0.016075 0.68472 -0.25462 +0.025515 0.74473999 -0.25292999 + +-0.60123501 0.19448 -0.05578 +-0.57065498 0.15109 -0.06724 +-0.60025501 0.10649 -0.05573 + +0.031555 -0.54588001 -0.32389999 +-0.038565 -0.53313 -0.31079 +-0.028935 -0.47416 -0.34169998 + +-0.69706497 0.27559999 0.04741 +-0.62156502 0.28177999 -0.03207 +-0.67165497 0.20761999 -0.01075 + +-0.36962502 -0.20292999 -0.20726999 +-0.420495 -0.13227 -0.18625 +-0.35023499 -0.1021 -0.20283001 + +-0.038565 -0.53313 -0.31079 +0.002175 -0.65117996 -0.26294001 +-0.078115 -0.62351002 -0.25240999 + +-0.009285 -0.35868999 -0.37393002 +-0.049465 -0.37333 -0.3702 +-0.049555 -0.31667 -0.37383999 + +-0.019805 -0.26032 -0.37293999 +-0.059835 -0.23341 -0.35984001 +-0.019895 -0.21881001 -0.36255001 + +-0.39040501 0.27885 -0.0233 +-0.34418499 0.18421 -0.02241 +-0.43113499 0.13668 -0.06854 + +-0.36962502 -0.20292999 -0.20726999 +-0.35023499 -0.1021 -0.20283001 +-0.32967499 -0.20312 -0.20150999 + +-0.35023499 -0.1021 -0.20283001 +-0.420495 -0.13227 -0.18625 +-0.430355 -0.10442 -0.17239 + +0.040165 -0.24620001 -0.37231998 +0.125885 -0.16028999 -0.32228001 +0.140395 -0.26084999 -0.35778 + +0.061695 -0.56002998 -0.32155998 +0.082165 -0.64961998 -0.27099001 +0.002175 -0.65117996 -0.26294001 + +0.040165 -0.24620001 -0.37231998 +0.100535 -0.31684999 -0.36356998 +-0.009285 -0.35868999 -0.37393002 + +0.040165 -0.24620001 -0.37231998 +-0.019895 -0.21881001 -0.36255001 +0.061575 -0.19306999 -0.34928001 + +-0.117175 -0.61290001 -0.22316 +-0.107915 -0.53838001 -0.23878 +-0.058185 -0.59312 -0.27127001 + +-0.049555 -0.31667 -0.37383999 +-0.109575 -0.27684 -0.3468 +-0.059835 -0.23341 -0.35984001 + +-0.34806499 -0.62027 0.40410999 +-0.32939499 -0.58321999 0.36421001 +-0.354585 -0.59728001 0.33195 + +0.002175 -0.65117996 -0.26294001 +0.012615 -0.75335999 -0.24431999 +-0.056505 -0.75303001 -0.26643 + +0.031555 -0.54588001 -0.32389999 +-0.028935 -0.47416 -0.34169998 +0.041465 -0.48752998 -0.34728001 + +-0.059835 -0.23341 -0.35984001 +-0.099435 -0.2215 -0.33507999 +-0.068905 -0.17981001 -0.32354 + +-0.47262501 0.31153 -0.0592 +-0.43113499 0.13668 -0.06854 +-0.501245 0.20993999 -0.07225 + +0.073585 0.64028999 -0.27017 +0.068505 0.67084 -0.27976999 +0.077465 0.65564003 -0.25237 + +-0.52155499 0.29777 -0.06353 +-0.47262501 0.31153 -0.0592 +-0.501245 0.20993999 -0.07225 + +-0.16779499 -0.59556999 -0.09223 +-0.157915 -0.5673 -0.08973 +-0.132525 -0.59215 -0.16823 + +-0.058185 -0.59312 -0.27127001 +-0.028935 -0.47416 -0.34169998 +-0.038565 -0.53313 -0.31079 + +0.041465 -0.48752998 -0.34728001 +-0.028935 -0.47416 -0.34169998 +-0.049465 -0.37333 -0.3702 + +-0.119055 -0.34823002 -0.33359001 +-0.089125 -0.40429001 -0.33634998 +-0.049465 -0.37333 -0.3702 + +-0.44842499 -0.42519001 -0.09399 +-0.51724499 -0.39648998 -0.08125 +-0.458685 -0.37923 -0.13846 + +-0.262125 -0.75611 -0.24801001 +-0.25884501 -0.74322998 -0.26056 +-0.264615 -0.75880997 -0.25176001 + +-0.089125 -0.40429001 -0.33634998 +-0.099045 -0.37569 -0.34127998 +-0.049465 -0.37333 -0.3702 + +-0.019805 -0.26032 -0.37293999 +-0.049555 -0.31667 -0.37383999 +-0.059835 -0.23341 -0.35984001 + +-0.16091499 -0.46264999 -0.1489 +-0.19886499 -0.37626999 -0.16464001 +-0.178825 -0.39007 -0.16848 + +0.57723499 -0.16372999 -0.05665 +0.55953499 -0.19656 -0.10231 +0.53496498 -0.20222 -0.13642 + +-0.51724499 -0.39648998 -0.08125 +-0.51851501 -0.35137001 -0.13174 +-0.458685 -0.37923 -0.13846 + +-0.47904499 -0.33529999 -0.1591 +-0.458685 -0.37923 -0.13846 +-0.51851501 -0.35137001 -0.13174 + +-0.42884499 -0.63210999 0.34209 +-0.39039501 -0.65042 0.25218 +-0.45884499 -0.68533997 0.2724 + +-0.57303501 -0.09277 0.39316002 +-0.50651501 -0.10104 0.42856998 +-0.49119499 0.00697 0.39306 + +-0.049555 -0.31667 -0.37383999 +-0.089315 -0.30382 -0.35894001 +-0.109575 -0.27684 -0.3468 + +-0.129445 -0.21128 -0.28048 +-0.105115 -0.16202 -0.24193001 +-0.068905 -0.17981001 -0.32354 + +0.27501499 -0.73774002 0.33299999 +0.263195 -0.75384003 0.38103001 +0.25369499 -0.75265999 0.37801998 + +0.27501499 -0.73774002 0.33299999 +0.307255 -0.75317001 0.29917999 +0.263195 -0.75384003 0.38103001 + +0.21626499 -0.75853996 0.0299 +0.37226501 -0.75335999 0.0004 +0.37679501 -0.75690002 0.04199 + +0.217575 -0.76156998 0.10704 +0.182815 -0.75714996 0.16868999 +0.17213499 -0.75156998 0.0888 + +0.18217501 -0.72101997 0.24479 +0.169515 -0.73176003 0.21563999 +0.22463499 -0.75526001 0.22989 + +0.46587502 -0.74139 0.21201 +0.57144501 -0.70275002 0.21681 +0.544925 -0.67612 0.29681999 + +-0.163815 -0.75672997 0.40183998 +-0.149955 -0.75657997 0.42223999 +-0.124945 -0.75449997 0.44332001 + +0.74088501 -0.59263 0.15724 +0.72546501 -0.5941 0.22735001 +0.68346497 -0.63983002 0.21789 + +-0.531875 0.43505001 -0.47442001 +-0.53415501 0.42109001 -0.44837002 +-0.54392502 0.40847 -0.42164001 + +0.145115 -0.74193001 0.48983002 +0.065805 -0.69416 0.51382 +-0.043565 -0.73834 0.55035999 + +-0.124945 -0.75449997 0.44332001 +-0.149955 -0.75657997 0.42223999 +-0.129735 -0.75664001 0.42655998 + +-0.53543499 0.41438 -0.43537998 +-0.53415501 0.42109001 -0.44837002 +-0.52343498 0.42028999 -0.45174999 + +0.247225 -0.73827003 0.07339 +0.230595 -0.75019997 0.08086 +0.214865 -0.76049004 0.08706 + +0.39461498 -0.74144997 0.14291 +0.43240501 -0.75309998 0.17931999 +0.39172501 -0.75321999 0.22577 + +0.39461498 -0.74144997 0.14291 +0.39172501 -0.75321999 0.22577 +0.37518501 -0.73981003 0.19209999 + +0.273465 -0.75255997 0.21926001 +0.34330502 -0.75508003 0.23577999 +0.307255 -0.75317001 0.29917999 + +0.268925 -0.75015999 0.45092999 +0.33077499 -0.74196999 0.4384 +0.253395 -0.73496002 0.46985001 + +-0.52519501 0.43825001 -0.48328999 +-0.51220501 0.43668999 -0.48354 +-0.522085 0.42964001 -0.46967999 + +0.51719501 -0.72348999 0.03903 +0.37226501 -0.75335999 0.0004 +0.38144501 -0.72870003 -0.01149 + +0.023935 -0.75346001 0.45659 +0.041895 -0.75098 0.44063 +0.060925 -0.75339996 0.44673 + +0.51838501 -0.73889 0.11006 +0.37679501 -0.75690002 0.04199 +0.51719501 -0.72348999 0.03903 + +-0.096785 -0.71277 0.39598999 +-0.126875 -0.71792 0.35866001 +0.034255 -0.70801003 0.40098999 + +0.28172501 -0.75823997 -0.05062 +0.272735 -0.75711998 -0.10985 +0.32443501 -0.74949997 -0.15917 + +0.21626499 -0.75853996 0.0299 +0.28172501 -0.75823997 -0.05062 +0.37226501 -0.75335999 0.0004 + +0.098315 -0.75280998 0.43609001 +0.060925 -0.75339996 0.44673 +0.079235 -0.75045998 0.43006001 + +0.243085 -0.75848 0.18212999 +0.273465 -0.75255997 0.21926001 +0.22463499 -0.75526001 0.22989 + +0.071735 -0.70736 0.39019001 +0.108785 -0.70753998 0.38001999 +0.092555 -0.70641998 0.39365002 + +0.217575 -0.76156998 0.10704 +0.227675 -0.76184998 0.16388 +0.182815 -0.75714996 0.16868999 + +0.23564501 -0.75482002 0.39424999 +0.25369499 -0.75265999 0.37801998 +0.263195 -0.75384003 0.38103001 + +0.307255 -0.75317001 0.29917999 +0.27501499 -0.73774002 0.33299999 +0.249485 -0.73458 0.28882999 + +0.129605 -0.70660004 0.38347 +0.108785 -0.70753998 0.38001999 +0.145855 -0.70772003 0.36983002 + +-0.112925 0.44946999 -0.01904 +-0.081355 0.49502998 0.00394 +-0.29133499 0.43453999 0.10392 + +-0.167295 -0.74737 0.49738998 +-0.158775 -0.70517998 0.52299 +-0.204825 -0.74662003 0.45456001 + +-0.70774498 0.00346 0.16879 +-0.68397499 0.00246 0.06858 +-0.69850502 -0.02457 0.14891 + +-0.168155 -0.75809998 0.38451 +-0.163815 -0.75672997 0.40183998 +-0.17762501 -0.75689003 0.38146999 + +-0.74453499 0.0457 0.23389999 +-0.75351501 0.04522 0.14867 +-0.70774498 0.00346 0.16879 + +0.40481499 -0.73542999 0.28509001 +0.46587502 -0.74139 0.21201 +0.544925 -0.67612 0.29681999 + +0.356045 -0.73796997 0.07649 +0.34848499 -0.74596001 0.06365 +0.372925 -0.74444 0.08579 + +0.34330502 -0.75508003 0.23577999 +0.37518501 -0.73981003 0.19209999 +0.39172501 -0.75321999 0.22577 + +0.171975 -0.75398003 0.41638 +0.216595 -0.75247002 0.38827999 +0.268925 -0.75015999 0.45092999 + +-0.74453499 0.0457 0.23389999 +-0.76094498 0.07262 0.24841 +-0.77178497 0.08616 0.18837 + +0.38517502 -0.74663002 0.10888 +0.37679501 -0.75690002 0.04199 +0.43240501 -0.75309998 0.17931999 + +0.307255 -0.75317001 0.29917999 +0.39172501 -0.75321999 0.22577 +0.268925 -0.75015999 0.45092999 + +0.32443501 -0.74949997 -0.15917 +0.272735 -0.75711998 -0.10985 +0.269445 -0.75794998 -0.18476999 + +0.23355499 -0.75731003 0.17916 +0.243085 -0.75848 0.18212999 +0.22463499 -0.75526001 0.22989 + +-0.40862499 -0.51027 0.23212 +-0.406595 -0.51174999 0.23107 +-0.382085 -0.52368999 0.21750999 + +-0.74453499 0.0457 0.23389999 +-0.67764503 0.00206 0.26896999 +-0.70928497 0.03538 0.30452 + +-0.74599503 0.0726 0.28837999 +-0.74184502 0.0506 0.33896999 +-0.76316498 0.10037 0.37827 + +0.071735 -0.70736 0.39019001 +0.055505 -0.70625 0.40381001 +0.034255 -0.70801003 0.40098999 + +-0.70928497 0.03538 0.30452 +-0.74599503 0.0726 0.28837999 +-0.76094498 0.07262 0.24841 + +-0.74184502 0.0506 0.33896999 +-0.756325 0.07345 0.41839001 +-0.76316498 0.10037 0.37827 + +0.38517502 -0.74663002 0.10888 +0.372925 -0.74444 0.08579 +0.37679501 -0.75690002 0.04199 + +0.307255 -0.75317001 0.29917999 +0.249485 -0.73458 0.28882999 +0.22463499 -0.75526001 0.22989 + +0.38517502 -0.74663002 0.10888 +0.43240501 -0.75309998 0.17931999 +0.39461498 -0.74144997 0.14291 + +0.25821501 -0.72514999 0.35438 +0.250725 -0.71367996 0.32457001 +0.27501499 -0.73774002 0.33299999 + +-0.54392502 0.40847 -0.42164001 +-0.54327499 0.39124001 -0.37567001 +-0.574305 0.39730999 -0.30334999 + +-0.70928497 0.03538 0.30452 +-0.74184502 0.0506 0.33896999 +-0.74599503 0.0726 0.28837999 + +-0.19240499 -0.74304001 0.15199 +-0.18321501 -0.75733002 0.1487 +-0.189415 -0.75043999 0.19530001 + +0.57144501 -0.70275002 0.21681 +0.59101501 -0.70407997 0.1113 +0.63408501 -0.68242996 0.15461 + +0.59101501 -0.70407997 0.1113 +0.67806503 -0.65469002 0.13749 +0.63408501 -0.68242996 0.15461 + +-0.74453499 0.0457 0.23389999 +-0.70774498 0.00346 0.16879 +-0.67764503 0.00206 0.26896999 + +-0.204825 -0.74662003 0.45456001 +-0.232635 -0.74156998 0.44324001 +-0.257085 -0.75538002 0.41583 + +0.216595 -0.75247002 0.38827999 +0.23564501 -0.75482002 0.39424999 +0.268925 -0.75015999 0.45092999 + +0.17213499 -0.75156998 0.0888 +0.136425 -0.71731003 0.08693 +0.141325 -0.71446999 0.04894 + +-0.70928497 0.03538 0.30452 +-0.70194504 0.01583 0.35792 +-0.74184502 0.0506 0.33896999 + +-0.70928497 0.03538 0.30452 +-0.67764503 0.00206 0.26896999 +-0.64516502 -0.00556 0.3159 + +-0.756325 0.07345 0.41839001 +-0.74184502 0.0506 0.33896999 +-0.72276497 0.02686 0.4157 + +0.245315 -0.71125 0.33931999 +0.250725 -0.71367996 0.32457001 +0.25821501 -0.72514999 0.35438 + +0.275065 -0.74995003 0.05247 +0.247225 -0.73827003 0.07339 +0.214865 -0.76049004 0.08706 + +0.39172501 -0.75321999 0.22577 +0.40481499 -0.73542999 0.28509001 +0.34790501 -0.74143997 0.42344002 + +0.307255 -0.75317001 0.29917999 +0.268925 -0.75015999 0.45092999 +0.263195 -0.75384003 0.38103001 + +0.134945 -0.75379997 0.42655998 +0.171975 -0.75398003 0.41638 +0.268925 -0.75015999 0.45092999 + +0.307255 -0.75317001 0.29917999 +0.34330502 -0.75508003 0.23577999 +0.39172501 -0.75321999 0.22577 + +-0.74184502 0.0506 0.33896999 +-0.70194504 0.01583 0.35792 +-0.72276497 0.02686 0.4157 + +-0.097395 -0.72411003 0.17242001 +-0.113155 -0.72134003 0.07626 +0.141225 -0.72126999 0.18233999 + +0.18217501 -0.72101997 0.24479 +0.145855 -0.70772003 0.36983002 +0.141225 -0.72126999 0.18233999 + +0.17213499 -0.75156998 0.0888 +0.141225 -0.72126999 0.18233999 +0.136425 -0.71731003 0.08693 + +-0.72276497 0.02686 0.4157 +-0.70194504 0.01583 0.35792 +-0.64516502 -0.00556 0.3159 + +-0.707295 0.05002 0.47198002 +-0.72276497 0.02686 0.4157 +-0.66449501 0.01509 0.45601002 + +0.134945 -0.75379997 0.42655998 +0.098315 -0.75280998 0.43609001 +0.115885 -0.75144997 0.42055 + +0.34848499 -0.74596001 0.06365 +0.37679501 -0.75690002 0.04199 +0.372925 -0.74444 0.08579 + +0.19929501 -0.75515999 -0.14499 +0.231395 -0.71984001 -0.09604 +0.18418501 -0.71306999 -0.11163 + +0.46587502 -0.74139 0.21201 +0.51838501 -0.73889 0.11006 +0.57144501 -0.70275002 0.21681 + +-0.72276497 0.02686 0.4157 +-0.64516502 -0.00556 0.3159 +-0.58873501 -0.02668 0.38175999 + +0.204165 -0.70615997 0.36240002 +0.18334499 -0.70709 0.35896 +0.16710501 -0.70596001 0.37262001 + +0.43405499 -0.71273003 0.30693001 +0.34790501 -0.74143997 0.42344002 +0.40481499 -0.73542999 0.28509001 + +0.269445 -0.75794998 -0.18476999 +0.19929501 -0.75515999 -0.14499 +0.011285 -0.76453003 -0.22976 + +0.46587502 -0.74139 0.21201 +0.43240501 -0.75309998 0.17931999 +0.51838501 -0.73889 0.11006 + +0.38517502 -0.74663002 0.10888 +0.37738499 -0.74217003 0.10322 +0.372925 -0.74444 0.08579 + +0.243085 -0.75848 0.18212999 +0.249445 -0.75310997 0.19672001 +0.273465 -0.75255997 0.21926001 + +0.171975 -0.75398003 0.41638 +0.134945 -0.75379997 0.42655998 +0.153365 -0.75081001 0.40972 + +0.522575 -0.68685997 -0.0156 +0.558475 -0.70769997 0.03611 +0.51719501 -0.72348999 0.03903 + +0.145115 -0.74193001 0.48983002 +-0.043565 -0.73834 0.55035999 +-0.088955 -0.75287003 0.51883999 + +0.182815 -0.75714996 0.16868999 +0.23355499 -0.75731003 0.17916 +0.22463499 -0.75526001 0.22989 + +-0.67527496 -0.04277 0.26872 +-0.65371498 -0.08158 0.31889 +-0.60681499 -0.05331 0.35605999 + +0.145855 -0.70772003 0.36983002 +0.108785 -0.70753998 0.38001999 +0.034255 -0.70801003 0.40098999 + +0.275065 -0.74995003 0.05247 +0.214865 -0.76049004 0.08706 +0.21626499 -0.75853996 0.0299 + +0.21626499 -0.75853996 0.0299 +0.17213499 -0.75156998 0.0888 +0.141325 -0.71446999 0.04894 + +-0.64516502 -0.00556 0.3159 +-0.67527496 -0.04277 0.26872 +-0.60681499 -0.05331 0.35605999 + +-0.707295 0.05002 0.47198002 +-0.66449501 0.01509 0.45601002 +-0.648545 0.03328 0.48077 + +-0.67091499 0.06852 0.50094002 +-0.70310501 0.07475 0.49027 +-0.707295 0.05002 0.47198002 + +-0.67091499 0.06852 0.50094002 +-0.707295 0.05002 0.47198002 +-0.648545 0.03328 0.48077 + +-0.158775 -0.70517998 0.52299 +-0.222955 -0.69486 0.43347 +-0.204825 -0.74662003 0.45456001 + +-0.516045 0.07047 0.53485001 +-0.54655499 0.08835 0.54924999 +-0.54197498 0.03751 0.51964001 + +-0.515135 0.41865002 -0.44709 +-0.51723499 0.35522999 -0.21364 +-0.54327499 0.39124001 -0.37567001 + +-0.113155 -0.72134003 0.07626 +-0.139575 -0.71986 0.03333 +-0.031635 -0.71653999 -0.15134 + +-0.64516502 -0.00556 0.3159 +-0.67764503 0.00206 0.26896999 +-0.67527496 -0.04277 0.26872 + +0.43240501 -0.75309998 0.17931999 +0.46587502 -0.74139 0.21201 +0.39172501 -0.75321999 0.22577 + +0.230595 -0.75019997 0.08086 +0.217575 -0.76156998 0.10704 +0.214865 -0.76049004 0.08706 + +-0.139575 -0.71986 0.03333 +-0.098815 -0.71488998 -0.14756 +-0.031635 -0.71653999 -0.15134 + +-0.677295 0.16986 0.51804001 +-0.70310501 0.07475 0.49027 +-0.67091499 0.06852 0.50094002 + +-0.167295 -0.74737 0.49738998 +-0.204825 -0.74662003 0.45456001 +-0.124945 -0.75449997 0.44332001 + +-0.212425 0.4907 -0.10495 +-0.312335 0.41512001 -0.03359 +-0.40245499 0.42946999 0.00582 + +-0.043565 -0.73834 0.55035999 +-0.055935 -0.72981003 0.55643002 +-0.107665 -0.74504997 0.54255001 + +0.134945 -0.75379997 0.42655998 +0.060925 -0.75339996 0.44673 +0.098315 -0.75280998 0.43609001 + +-0.60681499 -0.05331 0.35605999 +-0.57303501 -0.09277 0.39316002 +-0.57050499 -0.03053 0.38844002 + +-0.72276497 0.02686 0.4157 +-0.58873501 -0.02668 0.38175999 +-0.66449501 0.01509 0.45601002 + +-0.63135502 -0.33622002 0.29066999 +-0.67350502 -0.31801001 0.21348 +-0.63988499 -0.38061001 0.17080999 + +-0.62156502 0.28177999 -0.03207 +-0.614795 0.37119999 -0.013 +-0.57147499 0.29725 -0.05187 + +-0.055935 -0.72981003 0.55643002 +-0.119005 -0.73551003 0.54847 +-0.107665 -0.74504997 0.54255001 + +-0.70194504 0.01583 0.35792 +-0.70928497 0.03538 0.30452 +-0.64516502 -0.00556 0.3159 + +-0.603685 0.00224 0.46230999 +-0.648545 0.03328 0.48077 +-0.66449501 0.01509 0.45601002 + +-0.54935501 -0.75695999 0.01981 +-0.52946499 -0.75737999 -0.02987 +-0.499095 -0.76375999 -0.05418 + +-0.573535 -0.42264999 0.23674 +-0.63988499 -0.38061001 0.17080999 +-0.53317501 -0.47806999 0.18746 + +-0.57746498 -0.38132 0.32298 +-0.54116501 -0.33391998 0.39556 +-0.61961498 -0.25518 0.37487 + +-0.088955 -0.75287003 0.51883999 +-0.107665 -0.74504997 0.54255001 +-0.167295 -0.74737 0.49738998 + +0.49892502 -0.66067001 0.30966 +0.465905 -0.63949001 0.35477001 +0.43405499 -0.71273003 0.30693001 + +0.23564501 -0.75482002 0.39424999 +0.263195 -0.75384003 0.38103001 +0.268925 -0.75015999 0.45092999 + +0.268925 -0.75015999 0.45092999 +0.34790501 -0.74143997 0.42344002 +0.33077499 -0.74196999 0.4384 + +0.34790501 -0.74143997 0.42344002 +0.329505 -0.71892998 0.45332001 +0.33077499 -0.74196999 0.4384 + +-0.63462502 -0.37513 0.05758 +-0.57057499 -0.43936001 0.05637 +-0.56052502 -0.45873001 0.12908 + +0.33077499 -0.74196999 0.4384 +0.329505 -0.71892998 0.45332001 +0.253395 -0.73496002 0.46985001 + +-0.57057499 -0.43936001 0.05637 +-0.59931499 -0.38535999 -0.00934 +-0.51724499 -0.39648998 -0.08125 + +-0.63135502 -0.33622002 0.29066999 +-0.57746498 -0.38132 0.32298 +-0.65677498 -0.28486 0.31427999 + +0.068865 0.56655998 -0.20183001 +0.075975 0.58987 -0.22885 +0.069325 0.57973999 -0.17223 + +0.222605 -0.71620003 -0.04485 +0.141325 -0.71446999 0.04894 +0.18418501 -0.71306999 -0.11163 + +0.272735 -0.75711998 -0.10985 +0.19929501 -0.75515999 -0.14499 +0.269445 -0.75794998 -0.18476999 + +0.182815 -0.75714996 0.16868999 +0.169515 -0.73176003 0.21563999 +0.141225 -0.72126999 0.18233999 + +-0.60681499 -0.05331 0.35605999 +-0.58873501 -0.02668 0.38175999 +-0.64516502 -0.00556 0.3159 + +-0.54197498 0.03751 0.51964001 +-0.60431499 0.04708 0.51540001 +-0.603685 0.00224 0.46230999 + +-0.603685 0.00224 0.46230999 +-0.627995 0.04726 0.49209 +-0.648545 0.03328 0.48077 + +-0.307395 -0.74459 0.46473999 +-0.257085 -0.75538002 0.41583 +-0.232635 -0.74156998 0.44324001 + +0.214865 -0.76049004 0.08706 +0.17213499 -0.75156998 0.0888 +0.21626499 -0.75853996 0.0299 + +0.307255 -0.75317001 0.29917999 +0.22463499 -0.75526001 0.22989 +0.273465 -0.75255997 0.21926001 + +-0.63462502 -0.37513 0.05758 +-0.56052502 -0.45873001 0.12908 +-0.63988499 -0.38061001 0.17080999 + +0.35073502 -0.73208 -0.14142 +0.39260502 -0.67114998 -0.11193 +0.369995 -0.75161003 -0.02044 + +-0.603685 0.00224 0.46230999 +-0.547775 -0.01096 0.39499001 +-0.527495 0.03341 0.50833 + +-0.60431499 0.04708 0.51540001 +-0.627995 0.04726 0.49209 +-0.603685 0.00224 0.46230999 + +0.023935 -0.75346001 0.45659 +0.134945 -0.75379997 0.42655998 +-0.013045 -0.75356003 0.46638 + +-0.41275501 -0.52455002 0.07158 +-0.510555 -0.49130001 0.09622 +-0.48772499 -0.47484001 -0.01301 + +-0.547775 -0.01096 0.39499001 +-0.49119499 0.00697 0.39306 +-0.527495 0.03341 0.50833 + +-0.57050499 -0.03053 0.38844002 +-0.547775 -0.01096 0.39499001 +-0.58873501 -0.02668 0.38175999 + +-0.573535 -0.42264999 0.23674 +-0.499585 -0.45534 0.28041 +-0.57746498 -0.38132 0.32298 + +-0.60170502 0.42654999 -0.05351 +-0.62411499 0.60556 -0.39534 +-0.61443501 0.52313 -0.27403999 + +0.37679501 -0.75690002 0.04199 +0.33116501 -0.74032997 0.055 +0.275065 -0.74995003 0.05247 + +-0.54935501 -0.75695999 0.01981 +-0.547785 -0.71860001 0.02244 +-0.52946499 -0.75737999 -0.02987 + +-0.56019501 -0.74653 0.0799 +-0.555005 -0.74924004 0.06549 +-0.54935501 -0.75695999 0.01981 + +0.37679501 -0.75690002 0.04199 +0.37226501 -0.75335999 0.0004 +0.51719501 -0.72348999 0.03903 + +-0.56052502 -0.45873001 0.12908 +-0.57057499 -0.43936001 0.05637 +-0.510555 -0.49130001 0.09622 + +-0.57746498 -0.38132 0.32298 +-0.61961498 -0.25518 0.37487 +-0.65677498 -0.28486 0.31427999 + +-0.50651501 -0.10104 0.42856998 +-0.436525 -0.08632 0.43841 +-0.49119499 0.00697 0.39306 + +-0.603685 0.00224 0.46230999 +-0.527495 0.03341 0.50833 +-0.54197498 0.03751 0.51964001 + +-0.516045 0.07047 0.53485001 +-0.54197498 0.03751 0.51964001 +-0.527495 0.03341 0.50833 + +0.182815 -0.75714996 0.16868999 +0.22463499 -0.75526001 0.22989 +0.169515 -0.73176003 0.21563999 + +-0.555005 -0.74924004 0.06549 +-0.56031502 -0.74598999 0.02573 +-0.54935501 -0.75695999 0.01981 + +0.249445 -0.75310997 0.19672001 +0.26935499 -0.75383003 0.20142 +0.273465 -0.75255997 0.21926001 + +-0.54197498 0.03751 0.51964001 +-0.58654499 0.0687 0.53747002 +-0.60431499 0.04708 0.51540001 + +-0.58654499 0.0687 0.53747002 +-0.59962502 0.11646 0.54145 +-0.677295 0.16986 0.51804001 + +0.247805 -0.73291 -0.06195 +0.28172501 -0.75823997 -0.05062 +0.21626499 -0.75853996 0.0299 + +-0.555005 -0.74924004 0.06549 +-0.56019501 -0.74653 0.0799 +-0.547785 -0.71860001 0.02244 + +0.25369499 -0.75265999 0.37801998 +0.25821501 -0.72514999 0.35438 +0.27501499 -0.73774002 0.33299999 + +0.231395 -0.71984001 -0.09604 +0.272735 -0.75711998 -0.10985 +0.28172501 -0.75823997 -0.05062 + +-0.499095 -0.76375999 -0.05418 +-0.47702499 -0.74514 -0.06318 +-0.47280499 -0.76528 -0.06571 + +-0.53317501 -0.47806999 0.18746 +-0.56052502 -0.45873001 0.12908 +-0.52072498 -0.48604 0.17909 + +0.51838501 -0.73889 0.11006 +0.558475 -0.70769997 0.03611 +0.59101501 -0.70407997 0.1113 + +-0.462365 -0.76483002 -0.06405 +-0.499095 -0.76375999 -0.05418 +-0.47280499 -0.76528 -0.06571 + +-0.555005 -0.74924004 0.06549 +-0.547785 -0.71860001 0.02244 +-0.56031502 -0.74598999 0.02573 + +-0.57050499 -0.03053 0.38844002 +-0.57303501 -0.09277 0.39316002 +-0.49119499 0.00697 0.39306 + +-0.56052502 -0.45873001 0.12908 +-0.510555 -0.49130001 0.09622 +-0.52072498 -0.48604 0.17909 + +-0.126875 -0.71792 0.35866001 +-0.141445 -0.71961998 0.33926998 +0.034255 -0.70801003 0.40098999 + +0.19929501 -0.75515999 -0.14499 +0.272735 -0.75711998 -0.10985 +0.231395 -0.71984001 -0.09604 + +0.204165 -0.70615997 0.36240002 +0.16710501 -0.70596001 0.37262001 +0.145855 -0.70772003 0.36983002 + +-0.275595 -0.76456001 -0.06335 +-0.38783501 -0.76627998 0.13294 +-0.499095 -0.76375999 -0.05418 + +-0.45211498 -0.74226997 0.21997999 +-0.45942501 -0.75005997 0.21047001 +-0.457565 -0.75337997 0.23136999 + +-0.39643501 -0.51195999 -0.00889 +-0.40209499 -0.53867001 0.05158 +-0.41327499 -0.49464001 -0.01295 + +-0.40209499 -0.53867001 0.05158 +-0.41275501 -0.52455002 0.07158 +-0.41327499 -0.49464001 -0.01295 + +-0.41327499 -0.49464001 -0.01295 +-0.41275501 -0.52455002 0.07158 +-0.48772499 -0.47484001 -0.01301 + +-0.52077499 -0.38400002 0.37219002 +-0.57746498 -0.38132 0.32298 +-0.47914501 -0.41923 0.35875 + +-0.52077499 -0.38400002 0.37219002 +-0.54116501 -0.33391998 0.39556 +-0.57746498 -0.38132 0.32298 + +0.242435 -0.69941002 0.47040001 +0.253305 -0.66041 0.46727001 +0.153435 -0.64473 0.48566002 + +-0.25963499 -0.76286003 0.28113001 +-0.238545 -0.76138 0.28424 +-0.33710499 -0.76268997 0.2824 + +-0.43560501 -0.76556 -0.07625 +-0.39801498 -0.76503998 -0.08748 +-0.35171501 -0.76720001 -0.03957 + +-0.56019501 -0.74653 0.0799 +-0.54935501 -0.75695999 0.01981 +-0.51762501 -0.76198997 0.10242 + +-0.510555 -0.49130001 0.09622 +-0.40885502 -0.52321999 0.18152 +-0.52072498 -0.48604 0.17909 + +-0.510555 -0.49130001 0.09622 +-0.41275501 -0.52455002 0.07158 +-0.40885502 -0.52321999 0.18152 + +-0.65677498 -0.28486 0.31427999 +-0.67350502 -0.31801001 0.21348 +-0.63135502 -0.33622002 0.29066999 + +-0.16275499 -0.66514 0.49737 +-0.21126499 -0.66814003 0.43307999 +-0.222955 -0.69486 0.43347 + +-0.154315 -0.75793999 0.40488998 +-0.149955 -0.75657997 0.42223999 +-0.163815 -0.75672997 0.40183998 + +0.51838501 -0.73889 0.11006 +0.43240501 -0.75309998 0.17931999 +0.37679501 -0.75690002 0.04199 + +-0.44606499 -0.76600998 -0.07796 +-0.43560501 -0.76556 -0.07625 +-0.462365 -0.76483002 -0.06405 + +-0.52077499 -0.38400002 0.37219002 +-0.47914501 -0.41923 0.35875 +-0.437295 -0.37362999 0.41646999 + +0.268925 -0.75015999 0.45092999 +-0.088955 -0.75287003 0.51883999 +-0.013045 -0.75356003 0.46638 + +-0.379445 -0.76219002 -0.10469 +-0.420145 -0.75016998 -0.08755 +-0.36254501 -0.75091003 -0.10707 + +-0.39801498 -0.76503998 -0.08748 +-0.43560501 -0.76556 -0.07625 +-0.418405 -0.76513 -0.09148 + +-0.54116501 -0.33391998 0.39556 +-0.52077499 -0.38400002 0.37219002 +-0.50455502 -0.31641001 0.42362999 + +0.18418501 -0.71306999 -0.11163 +-0.031635 -0.71653999 -0.15134 +0.19929501 -0.75515999 -0.14499 + +0.134945 -0.75379997 0.42655998 +0.268925 -0.75015999 0.45092999 +-0.013045 -0.75356003 0.46638 + +0.27501499 -0.73774002 0.33299999 +0.250725 -0.71367996 0.32457001 +0.249485 -0.73458 0.28882999 + +-0.379445 -0.76219002 -0.10469 +-0.39801498 -0.76503998 -0.08748 +-0.420145 -0.75016998 -0.08755 + +-0.39801498 -0.76503998 -0.08748 +-0.418405 -0.76513 -0.09148 +-0.420145 -0.75016998 -0.08755 + +-0.52077499 -0.38400002 0.37219002 +-0.437295 -0.37362999 0.41646999 +-0.50455502 -0.31641001 0.42362999 + +-0.48884499 0.70297997 -0.56327 +-0.457075 0.67668999 -0.58800999 +-0.47459499 0.69324997 -0.58602001 + +0.204165 -0.70615997 0.36240002 +0.250725 -0.71367996 0.32457001 +0.245315 -0.71125 0.33931999 + +-0.40862499 -0.51027 0.23212 +-0.403395 -0.47771 0.30250999 +-0.499585 -0.45534 0.28041 + +-0.499585 -0.45534 0.28041 +-0.403395 -0.47771 0.30250999 +-0.47914501 -0.41923 0.35875 + +0.473535 -0.68335999 0.30688 +0.544925 -0.67612 0.29681999 +0.49892502 -0.66067001 0.30966 + +0.63936501 -0.64530998 0.26995001 +0.57144501 -0.70275002 0.21681 +0.68346497 -0.63983002 0.21789 + +0.37679501 -0.75690002 0.04199 +0.34848499 -0.74596001 0.06365 +0.33116501 -0.74032997 0.055 + +-0.403615 -0.76533997 0.20007999 +-0.51126499 -0.75096001 0.14734 +-0.51762501 -0.76198997 0.10242 + +-0.41275501 -0.52455002 0.07158 +-0.38878502 -0.53153 0.12594 +-0.40885502 -0.52321999 0.18152 + +-0.50172501 -0.31013 0.42847 +-0.54116501 -0.33391998 0.39556 +-0.50455502 -0.31641001 0.42362999 + +-0.437295 -0.37362999 0.41646999 +-0.54116501 -0.33391998 0.39556 +-0.50172501 -0.31013 0.42847 + +0.250725 -0.71367996 0.32457001 +0.204165 -0.70615997 0.36240002 +0.145855 -0.70772003 0.36983002 + +-0.34996498 -0.76412003 -0.09704 +-0.39801498 -0.76503998 -0.08748 +-0.379445 -0.76219002 -0.10469 + +-0.39801498 -0.76503998 -0.08748 +-0.33272499 -0.76374001 -0.11234 +-0.35171501 -0.76720001 -0.03957 + +-0.52072498 -0.48604 0.17909 +-0.499585 -0.45534 0.28041 +-0.53317501 -0.47806999 0.18746 + +-0.51212502 -0.2273 0.45049999 +-0.61961498 -0.25518 0.37487 +-0.54116501 -0.33391998 0.39556 + +0.28172501 -0.75823997 -0.05062 +0.32443501 -0.74949997 -0.15917 +0.369995 -0.75161003 -0.02044 + +-0.39801498 -0.76503998 -0.08748 +-0.34996498 -0.76412003 -0.09704 +-0.33272499 -0.76374001 -0.11234 + +-0.33272499 -0.76374001 -0.11234 +-0.34996498 -0.76412003 -0.09704 +-0.36254501 -0.75091003 -0.10707 + +-0.34996498 -0.76412003 -0.09704 +-0.379445 -0.76219002 -0.10469 +-0.36254501 -0.75091003 -0.10707 + +-0.403615 -0.76533997 0.20007999 +-0.45942501 -0.75005997 0.21047001 +-0.51126499 -0.75096001 0.14734 + +-0.244305 -0.76299004 -0.00343 +-0.252265 -0.76543999 0.06978 +-0.31338499 -0.75958 0.08819 + +-0.43739498 0.45532001 0.06203 +-0.35580502 0.52299 0.06101 +-0.247845 0.62541 -0.03466 + +-0.158775 -0.70517998 0.52299 +-0.16275499 -0.66514 0.49737 +-0.222955 -0.69486 0.43347 + +-0.499585 -0.45534 0.28041 +-0.573535 -0.42264999 0.23674 +-0.53317501 -0.47806999 0.18746 + +0.43405499 -0.71273003 0.30693001 +0.390485 -0.69848 0.41848 +0.34790501 -0.74143997 0.42344002 + +-0.33272499 -0.76374001 -0.11234 +-0.36254501 -0.75091003 -0.10707 +-0.31717501 -0.73977997 -0.10929 + +-0.40862499 -0.51027 0.23212 +-0.499585 -0.45534 0.28041 +-0.52072498 -0.48604 0.17909 + +-0.57746498 -0.38132 0.32298 +-0.499585 -0.45534 0.28041 +-0.47914501 -0.41923 0.35875 + +-0.457565 -0.75337997 0.23136999 +-0.47864498 -0.74934998 0.25862 +-0.45211498 -0.74226997 0.21997999 + +0.141225 -0.72126999 0.18233999 +0.169515 -0.73176003 0.21563999 +0.18217501 -0.72101997 0.24479 + +-0.75503502 0.05844 0.12856 +-0.75351501 0.04522 0.14867 +-0.77178497 0.08616 0.18837 + +-0.403395 -0.47771 0.30250999 +-0.37079498 -0.49140999 0.28962999 +-0.35775501 -0.44438 0.37122002 + +-0.249135 -0.76183998 -0.26459 +-0.25644501 -0.76240997 -0.24681999 +-0.264615 -0.75880997 -0.25176001 + +-0.264615 -0.75880997 -0.25176001 +-0.25644501 -0.76240997 -0.24681999 +-0.271465 -0.75859001 -0.23466 + +-0.45942501 -0.75005997 0.21047001 +-0.403615 -0.76533997 0.20007999 +-0.457565 -0.75337997 0.23136999 + +-0.50058498 -0.72952003 0.32737999 +-0.47838501 -0.72314003 0.26280001 +-0.47864498 -0.74934998 0.25862 + +-0.74582497 0.34598999 0.25691 +-0.74152496 0.38702 0.23667 +-0.74042503 0.40042999 0.17667999 + +-0.40862499 -0.51027 0.23212 +-0.52072498 -0.48604 0.17909 +-0.40885502 -0.52321999 0.18152 + +-0.34414501 -0.48889999 0.33360001 +-0.34850498 -0.42101002 0.38814999 +-0.35775501 -0.44438 0.37122002 + +-0.249135 -0.76183998 -0.26459 +-0.23188499 -0.76166 -0.28009001 +-0.176455 -0.76629997 -0.28367001 + +-0.25644501 -0.76240997 -0.24681999 +-0.249135 -0.76183998 -0.26459 +-0.271465 -0.75859001 -0.23466 + +-0.249135 -0.76183998 -0.26459 +-0.285585 -0.75900002 -0.19978001 +-0.271465 -0.75859001 -0.23466 + +-0.230425 -0.75021004 -0.08579 +-0.275595 -0.76456001 -0.06335 +-0.19269501 -0.75025002 -0.15227 + +-0.45830502 -0.75790001 0.34023998 +-0.47864498 -0.74934998 0.25862 +-0.457565 -0.75337997 0.23136999 + +-0.49865501 -0.72585999 0.36729 +-0.50058498 -0.72952003 0.32737999 +-0.49940498 -0.74658997 0.33923 + +-0.55800499 0.38182999 -0.29503 +-0.57997501 0.39771 -0.2633 +-0.57806499 0.41137001 -0.27343 + +0.17213499 -0.75156998 0.0888 +0.214865 -0.76049004 0.08706 +0.217575 -0.76156998 0.10704 + +-0.38783501 -0.76627998 0.13294 +-0.35726501 -0.76607002 0.13902 +-0.37178501 -0.76844002 0.17385 + +-0.437295 -0.37362999 0.41646999 +-0.34850498 -0.42101002 0.38814999 +-0.306675 -0.36883999 0.43159 + +0.018465 -0.70608002 0.41395 +-0.096785 -0.71277 0.39598999 +0.034255 -0.70801003 0.40098999 + +-0.31505501 -0.76257004 -0.12831 +-0.20019501 -0.76468002 -0.19624001 +-0.275595 -0.76456001 -0.06335 + +-0.31505501 -0.76257004 -0.12831 +-0.285585 -0.75900002 -0.19978001 +-0.20019501 -0.76468002 -0.19624001 + +-0.33272499 -0.76374001 -0.11234 +-0.31505501 -0.76257004 -0.12831 +-0.275595 -0.76456001 -0.06335 + +-0.462365 -0.76483002 -0.06405 +-0.275595 -0.76456001 -0.06335 +-0.499095 -0.76375999 -0.05418 + +-0.56019501 -0.74653 0.0799 +-0.54181499 -0.69334 0.08588 +-0.547785 -0.71860001 0.02244 + +-0.204825 -0.74662003 0.45456001 +-0.257085 -0.75538002 0.41583 +-0.17994499 -0.75432999 0.36115002 + +-0.403615 -0.76533997 0.20007999 +-0.38783501 -0.76627998 0.13294 +-0.37178501 -0.76844002 0.17385 + +-0.47779499 -0.74220001 0.42571999 +-0.49865501 -0.72585999 0.36729 +-0.49940498 -0.74658997 0.33923 + +-0.403395 -0.47771 0.30250999 +-0.35775501 -0.44438 0.37122002 +-0.47914501 -0.41923 0.35875 + +-0.437295 -0.37362999 0.41646999 +-0.35775501 -0.44438 0.37122002 +-0.34850498 -0.42101002 0.38814999 + +-0.43411499 -0.75475998 0.44608002 +-0.47779499 -0.74220001 0.42571999 +-0.49940498 -0.74658997 0.33923 + +-0.031635 -0.71653999 -0.15134 +-0.124075 -0.75598 -0.18927 +0.19929501 -0.75515999 -0.14499 + +-0.176455 -0.76629997 -0.28367001 +-0.23188499 -0.76166 -0.28009001 +-0.20123501 -0.75469002 -0.29017 + +-0.462365 -0.76483002 -0.06405 +-0.35171501 -0.76720001 -0.03957 +-0.275595 -0.76456001 -0.06335 + +-0.33328499 -0.75277 0.11401 +-0.35726501 -0.76607002 0.13902 +-0.38783501 -0.76627998 0.13294 + +-0.50564499 -0.26843 0.44533001 +-0.54116501 -0.33391998 0.39556 +-0.437295 -0.37362999 0.41646999 + +-0.70310501 0.07475 0.49027 +-0.74907501 0.12734 0.44921001 +-0.754655 0.10016 0.44153999 + +-0.275595 -0.76456001 -0.06335 +-0.35171501 -0.76720001 -0.03957 +-0.33272499 -0.76374001 -0.11234 + +-0.244305 -0.76299004 -0.00343 +-0.31338499 -0.75958 0.08819 +-0.38783501 -0.76627998 0.13294 + +-0.31338499 -0.75958 0.08819 +-0.33328499 -0.75277 0.11401 +-0.38783501 -0.76627998 0.13294 + +-0.31338499 -0.75958 0.08819 +-0.317565 -0.74244003 0.10792 +-0.33328499 -0.75277 0.11401 + +-0.37656502 -0.29565001 0.46369999 +-0.437295 -0.37362999 0.41646999 +-0.306675 -0.36883999 0.43159 + +-0.34414501 -0.48889999 0.33360001 +-0.35775501 -0.44438 0.37122002 +-0.37079498 -0.49140999 0.28962999 + +0.011285 -0.76453003 -0.22976 +0.102645 -0.75471001 -0.22798 +0.269445 -0.75794998 -0.18476999 + +-0.249135 -0.76183998 -0.26459 +-0.176455 -0.76629997 -0.28367001 +-0.20019501 -0.76468002 -0.19624001 + +-0.285585 -0.75900002 -0.19978001 +-0.249135 -0.76183998 -0.26459 +-0.20019501 -0.76468002 -0.19624001 + +-0.462365 -0.76483002 -0.06405 +-0.43560501 -0.76556 -0.07625 +-0.35171501 -0.76720001 -0.03957 + +-0.272745 -0.45799 0.41743 +-0.306675 -0.36883999 0.43159 +-0.34850498 -0.42101002 0.38814999 + +-0.707295 0.05002 0.47198002 +-0.754655 0.10016 0.44153999 +-0.756325 0.07345 0.41839001 + +-0.244305 -0.76299004 -0.00343 +-0.275595 -0.76456001 -0.06335 +-0.25025499 -0.76152 -0.04266 + +-0.38783501 -0.76627998 0.13294 +-0.51762501 -0.76198997 0.10242 +-0.499095 -0.76375999 -0.05418 + +-0.302635 -0.74605003 0.09617 +-0.317565 -0.74244003 0.10792 +-0.31338499 -0.75958 0.08819 + +-0.403615 -0.76533997 0.20007999 +-0.37178501 -0.76844002 0.17385 +-0.457565 -0.75337997 0.23136999 + +-0.45830502 -0.75790001 0.34023998 +-0.49940498 -0.74658997 0.33923 +-0.47864498 -0.74934998 0.25862 + +0.39172501 -0.75321999 0.22577 +0.46587502 -0.74139 0.21201 +0.40481499 -0.73542999 0.28509001 + +-0.230425 -0.75021004 -0.08579 +-0.25025499 -0.76152 -0.04266 +-0.275595 -0.76456001 -0.06335 + +-0.19269501 -0.75025002 -0.15227 +-0.20012501 -0.73857002 -0.12739 +-0.230425 -0.75021004 -0.08579 + +-0.230425 -0.75021004 -0.08579 +-0.228295 -0.73980003 -0.05803 +-0.25025499 -0.76152 -0.04266 + +-0.20019501 -0.76468002 -0.19624001 +-0.19269501 -0.75025002 -0.15227 +-0.275595 -0.76456001 -0.06335 + +-0.43411499 -0.75475998 0.44608002 +-0.49940498 -0.74658997 0.33923 +-0.45830502 -0.75790001 0.34023998 + +-0.34414501 -0.48889999 0.33360001 +-0.272745 -0.45799 0.41743 +-0.34850498 -0.42101002 0.38814999 + +0.141325 -0.71446999 0.04894 +-0.031635 -0.71653999 -0.15134 +0.18418501 -0.71306999 -0.11163 + +-0.20019501 -0.76468002 -0.19624001 +-0.126185 -0.73445999 -0.17226 +-0.19269501 -0.75025002 -0.15227 + +-0.244305 -0.76299004 -0.00343 +-0.21838499 -0.76528 0.04031 +-0.252265 -0.76543999 0.06978 + +0.34330502 -0.75508003 0.23577999 +0.35800499 -0.74028 0.20723 +0.37518501 -0.73981003 0.19209999 + +0.268925 -0.75015999 0.45092999 +0.145115 -0.74193001 0.48983002 +-0.088955 -0.75287003 0.51883999 + +-0.437295 -0.37362999 0.41646999 +-0.47914501 -0.41923 0.35875 +-0.35775501 -0.44438 0.37122002 + +-0.19269501 -0.75025002 -0.15227 +-0.157735 -0.71690002 -0.13885 +-0.20012501 -0.73857002 -0.12739 + +-0.212265 -0.71635002 -0.05771 +-0.20012501 -0.73857002 -0.12739 +-0.157735 -0.71690002 -0.13885 + +-0.212265 -0.71635002 -0.05771 +-0.228295 -0.73980003 -0.05803 +-0.230425 -0.75021004 -0.08579 + +-0.21838499 -0.76528 0.04031 +-0.20473499 -0.76521004 0.06109 +-0.252265 -0.76543999 0.06978 + +-0.302635 -0.74605003 0.09617 +-0.252265 -0.76543999 0.06978 +-0.23188499 -0.74691002 0.11138 + +0.18217501 -0.72101997 0.24479 +0.250725 -0.71367996 0.32457001 +0.145855 -0.70772003 0.36983002 + +-0.20019501 -0.76468002 -0.19624001 +-0.124075 -0.75598 -0.18927 +-0.126185 -0.73445999 -0.17226 + +-0.212265 -0.71635002 -0.05771 +-0.230425 -0.75021004 -0.08579 +-0.20012501 -0.73857002 -0.12739 + +-0.23126499 -0.75763 -0.00567 +-0.23070499 -0.76289001 0.01753 +-0.244305 -0.76299004 -0.00343 + +-0.341875 -0.76486 0.26566999 +-0.33710499 -0.76268997 0.2824 +-0.35217499 -0.76522003 0.26378 + +-0.43411499 -0.75475998 0.44608002 +-0.257085 -0.75538002 0.41583 +-0.307395 -0.74459 0.46473999 + +-0.42102501 -0.74413002 0.47407001 +-0.40310501 -0.70723999 0.48404999 +-0.44044498 -0.72050003 0.46478001 + +0.18217501 -0.72101997 0.24479 +0.22463499 -0.75526001 0.22989 +0.249485 -0.73458 0.28882999 + +0.222605 -0.71620003 -0.04485 +0.21626499 -0.75853996 0.0299 +0.141325 -0.71446999 0.04894 + +-0.18956499 -0.71819 -0.03302 +-0.199555 -0.71782997 -0.03538 +-0.204055 -0.71999001 -0.05273 + +-0.21838499 -0.76528 0.04031 +-0.244305 -0.76299004 -0.00343 +-0.23070499 -0.76289001 0.01753 + +-0.21987499 -0.76162003 0.01856 +-0.21838499 -0.76528 0.04031 +-0.23070499 -0.76289001 0.01753 + +-0.457565 -0.75337997 0.23136999 +-0.37178501 -0.76844002 0.17385 +-0.35217499 -0.76522003 0.26378 + +-0.33710499 -0.76268997 0.2824 +-0.286705 -0.76327003 0.29353001 +-0.25963499 -0.76286003 0.28113001 + +-0.126185 -0.73445999 -0.17226 +-0.157735 -0.71690002 -0.13885 +-0.19269501 -0.75025002 -0.15227 + +-0.18640499 -0.71848999 -0.01372 +-0.18956499 -0.71819 -0.03302 +-0.204055 -0.71999001 -0.05273 + +-0.42102501 -0.74413002 0.47407001 +-0.47779499 -0.74220001 0.42571999 +-0.43411499 -0.75475998 0.44608002 + +-0.43411499 -0.75475998 0.44608002 +-0.45830502 -0.75790001 0.34023998 +-0.33710499 -0.76268997 0.2824 + +-0.37914501 -0.74181999 0.48116001 +-0.42102501 -0.74413002 0.47407001 +-0.43411499 -0.75475998 0.44608002 + +0.250725 -0.71367996 0.32457001 +0.18217501 -0.72101997 0.24479 +0.249485 -0.73458 0.28882999 + +0.282605 -0.72681999 -0.21195999 +0.302465 -0.72740997 -0.204 +0.269445 -0.75794998 -0.18476999 + +-0.124075 -0.75598 -0.18927 +-0.031635 -0.71653999 -0.15134 +-0.126185 -0.73445999 -0.17226 + +-0.21838499 -0.76528 0.04031 +-0.207995 -0.76482002 0.04198 +-0.20473499 -0.76521004 0.06109 + +-0.302635 -0.74605003 0.09617 +-0.31338499 -0.75958 0.08819 +-0.252265 -0.76543999 0.06978 + +-0.35217499 -0.76522003 0.26378 +-0.33710499 -0.76268997 0.2824 +-0.45830502 -0.75790001 0.34023998 + +-0.37914501 -0.74181999 0.48116001 +-0.40310501 -0.70723999 0.48404999 +-0.42102501 -0.74413002 0.47407001 + +-0.20019501 -0.76468002 -0.19624001 +-0.176455 -0.76629997 -0.28367001 +0.011285 -0.76453003 -0.22976 + +0.369995 -0.75161003 -0.02044 +0.39260502 -0.67114998 -0.11193 +0.40176498 -0.71222 -0.03167 + +0.473535 -0.68335999 0.30688 +0.40481499 -0.73542999 0.28509001 +0.544925 -0.67612 0.29681999 + +-0.031635 -0.71653999 -0.15134 +-0.098815 -0.71488998 -0.14756 +-0.126185 -0.73445999 -0.17226 + +-0.152335 -0.71831001 0.01116 +-0.176385 -0.71885002 -0.01135 +-0.18640499 -0.71848999 -0.01372 + +0.44266499 -0.61000999 0.39195 +0.367225 -0.65199997 0.44060001 +0.390485 -0.69848 0.41848 + +0.136425 -0.71731003 0.08693 +-0.113155 -0.72134003 0.07626 +0.141325 -0.71446999 0.04894 + +0.023935 -0.75346001 0.45659 +-0.013045 -0.75356003 0.46638 +0.003695 -0.75341003 0.45222 + +0.21626499 -0.75853996 0.0299 +0.37679501 -0.75690002 0.04199 +0.275065 -0.74995003 0.05247 + +-0.124075 -0.75598 -0.18927 +-0.20019501 -0.76468002 -0.19624001 +0.011285 -0.76453003 -0.22976 + +-0.098815 -0.71488998 -0.14756 +-0.157735 -0.71690002 -0.13885 +-0.126185 -0.73445999 -0.17226 + +-0.152335 -0.71831001 0.01116 +-0.18640499 -0.71848999 -0.01372 +-0.204055 -0.71999001 -0.05273 + +-0.119005 -0.73551003 0.54847 +-0.158775 -0.70517998 0.52299 +-0.167295 -0.74737 0.49738998 + +-0.097395 -0.72411003 0.17242001 +0.141225 -0.72126999 0.18233999 +0.034255 -0.70801003 0.40098999 + +-0.152335 -0.71831001 0.01116 +-0.17276501 -0.71839996 0.00712 +-0.176385 -0.71885002 -0.01135 + +-0.18067499 -0.76468002 0.08361 +-0.20473499 -0.76521004 0.06109 +-0.183915 -0.76429001 0.06451 + +0.57481499 -0.63938 0.32445999 +0.544925 -0.67612 0.29681999 +0.63936501 -0.64530998 0.26995001 + +0.247805 -0.73291 -0.06195 +0.21626499 -0.75853996 0.0299 +0.222605 -0.71620003 -0.04485 + +-0.166565 -0.76378998 0.10376 +-0.20473499 -0.76521004 0.06109 +-0.18067499 -0.76468002 0.08361 + +-0.35217499 -0.76522003 0.26378 +-0.45830502 -0.75790001 0.34023998 +-0.457565 -0.75337997 0.23136999 + +-0.67350502 -0.31801001 0.21348 +-0.67019501 -0.33046001 0.17235001 +-0.63988499 -0.38061001 0.17080999 + +0.136425 -0.71731003 0.08693 +0.141225 -0.72126999 0.18233999 +-0.113155 -0.72134003 0.07626 + +-0.088955 -0.75287003 0.51883999 +-0.124945 -0.75449997 0.44332001 +-0.013045 -0.75356003 0.46638 + +-0.043565 -0.73834 0.55035999 +-0.107665 -0.74504997 0.54255001 +-0.088955 -0.75287003 0.51883999 + +-0.16981501 -0.76339996 0.08462 +-0.166565 -0.76378998 0.10376 +-0.18067499 -0.76468002 0.08361 + +-0.18321501 -0.75733002 0.1487 +-0.215165 -0.74110001 0.12757 +-0.23188499 -0.74691002 0.11138 + +-0.37914501 -0.74181999 0.48116001 +-0.43411499 -0.75475998 0.44608002 +-0.307395 -0.74459 0.46473999 + +0.247805 -0.73291 -0.06195 +0.231395 -0.71984001 -0.09604 +0.28172501 -0.75823997 -0.05062 + +0.182815 -0.75714996 0.16868999 +0.227675 -0.76184998 0.16388 +0.23355499 -0.75731003 0.17916 + +-0.096785 -0.71277 0.39598999 +-0.100605 -0.71330002 0.37792 +-0.126875 -0.71792 0.35866001 + +-0.212265 -0.71635002 -0.05771 +-0.157735 -0.71690002 -0.13885 +-0.098815 -0.71488998 -0.14756 + +-0.139575 -0.71986 0.03333 +-0.149585 -0.71949997 0.03095 +-0.152335 -0.71831001 0.01116 + +-0.18321501 -0.75733002 0.1487 +-0.20473499 -0.76521004 0.06109 +-0.166565 -0.76378998 0.10376 + +-0.252265 -0.76543999 0.06978 +-0.18321501 -0.75733002 0.1487 +-0.23188499 -0.74691002 0.11138 + diff --git a/trunk/PQP/build/pqp-tar/PQP_v1.3/demos/spinning/main.cpp b/trunk/PQP/build/pqp-tar/PQP_v1.3/demos/spinning/main.cpp new file mode 100644 index 00000000..816f1881 --- /dev/null +++ b/trunk/PQP/build/pqp-tar/PQP_v1.3/demos/spinning/main.cpp @@ -0,0 +1,372 @@ +/*************************************************************************\ + + Copyright 1999 The University of North Carolina at Chapel Hill. + All Rights Reserved. + + Permission to use, copy, modify and distribute this software and its + documentation for educational, research and non-profit purposes, without + fee, and without a written agreement is hereby granted, provided that the + above copyright notice and the following three paragraphs appear in all + copies. + + IN NO EVENT SHALL THE UNIVERSITY OF NORTH CAROLINA AT CHAPEL HILL BE + LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR + CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF THE + USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY + OF NORTH CAROLINA HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH + DAMAGES. + + THE UNIVERSITY OF NORTH CAROLINA SPECIFICALLY DISCLAIM ANY + WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE + PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF + NORTH CAROLINA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT, + UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + + The authors may be contacted via: + + US Mail: E. Larsen + Department of Computer Science + Sitterson Hall, CB #3175 + University of N. Carolina + Chapel Hill, NC 27599-3175 + + Phone: (919)962-1749 + + EMail: geom@cs.unc.edu + + +\**************************************************************************/ + +#include <stdio.h> +#include <stdlib.h> +#include <math.h> +#include <GL/glut.h> +#include "PQP.h" +#include "model.h" +#include "MatVec.h" + +PQP_Model bunny, torus; +Model *bunny_to_draw, *torus_to_draw; + +int mode; +double beginx, beginy; +double dis = 10.0, azim = 0.0, elev = 0.0; +double ddis = 0.0, dazim = 0.0, delev = 0.0; +double rot1 = 0.0, rot2 = 0.0, rot3 = 0.0; +int animate = 0; + +void +InitViewerWindow() +{ + GLfloat Ambient[] = { 0.2f, 0.2f, 0.2f, 1.0f }; + GLfloat Diffuse[] = { 0.8f, 0.8f, 0.8f, 1.0f }; + GLfloat Specular[] = { 0.2f, 0.2f, 0.2f, 1.0f }; + GLfloat SpecularExp[] = { 50 }; + GLfloat Emission[] = { 0.1f, 0.1f, 0.1f, 1.0f }; + + glMaterialfv(GL_FRONT, GL_AMBIENT, Ambient); + glMaterialfv(GL_FRONT, GL_DIFFUSE, Diffuse); + glMaterialfv(GL_FRONT, GL_SPECULAR, Specular); + glMaterialfv(GL_FRONT, GL_SHININESS, SpecularExp); + glMaterialfv(GL_FRONT, GL_EMISSION, Emission); + + glMaterialfv(GL_BACK, GL_AMBIENT, Ambient); + glMaterialfv(GL_BACK, GL_DIFFUSE, Diffuse); + glMaterialfv(GL_BACK, GL_SPECULAR, Specular); + glMaterialfv(GL_BACK, GL_SHININESS, SpecularExp); + glMaterialfv(GL_BACK, GL_EMISSION, Emission); + + glColorMaterial(GL_FRONT_AND_BACK, GL_DIFFUSE); + + glEnable(GL_COLOR_MATERIAL); + + GLfloat light_position[] = { 1.0, 1.0, 1.0, 0.0 }; + glLightfv(GL_LIGHT0, GL_POSITION, light_position); + glEnable(GL_LIGHT0); + glEnable(GL_LIGHTING); + glLightModeli(GL_LIGHT_MODEL_TWO_SIDE, GL_TRUE); + + glDepthFunc(GL_LEQUAL); + glEnable(GL_DEPTH_TEST); + + glShadeModel(GL_FLAT); + glClearColor(0.0, 0.0, 0.0, 0.0); + + glEnable(GL_CULL_FACE); + glCullFace(GL_BACK); + glEnable(GL_NORMALIZE); + + glMatrixMode(GL_PROJECTION); + glLoadIdentity(); + glFrustum(-0.004,0.004,-0.004,0.004,.01,100.0); + + glMatrixMode(GL_MODELVIEW); +} + +void +KeyboardCB(unsigned char key, int x, int y) +{ + switch(key) + { + case 'q': delete bunny_to_draw; delete torus_to_draw; exit(0); + default: animate = 1 - animate; + } + + glutPostRedisplay(); +} + +void +MouseCB(int _b, int _s, int _x, int _y) +{ + if (_s == GLUT_UP) + { + dis += ddis; + azim += dazim; + elev += delev; + ddis = 0.0; + dazim = 0.0; + delev = 0.0; + return; + } + + if (_b == GLUT_RIGHT_BUTTON) + { + mode = 0; + beginy = _y; + return; + } + else + { + mode = 1; + beginx = _x; + beginy = _y; + } +} + +void +MotionCB(int _x, int _y) +{ + if (mode == 0) + { + ddis = dis * (_y - beginy)/200.0; + } + else + { + dazim = (_x - beginx)/5.0; + delev = (_y - beginy)/5.0; + } + + glutPostRedisplay(); +} + +inline void glVertex3v(float V[3]) { glVertex3fv(V); } +inline void glVertex3v(double V[3]) { glVertex3dv(V); } + +void +BeginDraw() +{ + glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); + + glLoadIdentity(); + glTranslatef(0.0, 0.0, -(dis+ddis)); + glRotated(elev+delev, 1.0, 0.0, 0.0); + glRotated(azim+dazim, 0.0, 1.0, 0.0); +} + +void +EndDraw() +{ + glFlush(); + glutSwapBuffers(); +} + +void +IdleCB() +{ + glutPostRedisplay(); +} + +void +DisplayCB() +{ + BeginDraw(); + + // set up model transformations + + if (animate) + { + rot1 += .1; + rot2 += .2; + rot3 += .3; + } + + PQP_REAL R1[3][3],R2[3][3],T1[3],T2[3]; + PQP_REAL M1[3][3],M2[3][3],M3[3][3]; + + T1[0] = -1; + T1[1] = 0.0; + T1[2] = 0.0; + + T2[0] = 1; + T2[1] = 0.0; + T2[2] = 0.0; + + MRotX(M1,rot1); + MRotY(M2,rot2); + MxM(M3,M1,M2); + MRotZ(M1,rot3); + MxM(R1,M3,M1); + + MRotX(M1,rot3); + MRotY(M2,rot1); + MxM(M3,M1,M2); + MRotZ(M1,rot2); + MxM(R2,M3,M1); + + // perform distance query + + PQP_REAL rel_err = 0.0; + PQP_REAL abs_err = 0.0; + PQP_DistanceResult res; + PQP_Distance(&res,R1,T1,&bunny,R2,T2,&torus,rel_err,abs_err); + + // draw the models + + glColor3d(0.0,0.0,1.0); + double oglm[16]; + MVtoOGL(oglm,R1,T1); + glPushMatrix(); + glMultMatrixd(oglm); + bunny_to_draw->Draw(); + glPopMatrix(); + + glColor3d(0.0,1.0,0.0); + MVtoOGL(oglm,R2,T2); + glPushMatrix(); + glMultMatrixd(oglm); + torus_to_draw->Draw(); + glPopMatrix(); + + // draw the closest points as small spheres + + glColor3d(1.0,0.0,0.0); + + PQP_REAL P1[3],P2[3],V1[3],V2[3]; + VcV(P1,res.P1()); + VcV(P2,res.P2()); + + // each point is in the space of its model; + // transform to world space + + MxVpV(V1,R1,P1,T1); + + glPushMatrix(); + glTranslated(V1[0],V1[1],V1[2]); + glutSolidSphere(.05,15,15); + glPopMatrix(); + + MxVpV(V2,R2,P2,T2); + + glPushMatrix(); + glTranslated(V2[0],V2[1],V2[2]); + glutSolidSphere(.05,15,15); + glPopMatrix(); + + // draw the line between the closest points + + glDisable(GL_LIGHTING); + glBegin(GL_LINES); + glVertex3v(V1); + glVertex3v(V2); + glEnd(); + glEnable(GL_LIGHTING); + + EndDraw(); +} + +void main(int argc, char **argv) +{ + glutInit(&argc, argv); + glutInitDisplayMode (GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH | GLUT_MULTISAMPLE); + + // create the window + + glutCreateWindow("PQP Demo - Spinning"); + + // set OpenGL graphics state -- material props, perspective, etc. + + InitViewerWindow(); + + // set the callbacks + + glutDisplayFunc(DisplayCB); + glutIdleFunc(IdleCB); + glutMouseFunc(MouseCB); + glutMotionFunc(MotionCB); + glutKeyboardFunc(KeyboardCB); + + // initialize the bunny + + FILE *fp; + int i, ntris; + + bunny_to_draw = new Model("bunny.tris"); + + fp = fopen("bunny.tris","r"); + if (fp == NULL) { fprintf(stderr,"Couldn't open bunny.tris\n"); exit(-1); } + fscanf(fp,"%d",&ntris); + + bunny.BeginModel(); + for (i = 0; i < ntris; i++) + { + double p1x,p1y,p1z,p2x,p2y,p2z,p3x,p3y,p3z; + fscanf(fp,"%lf %lf %lf %lf %lf %lf %lf %lf %lf", + &p1x,&p1y,&p1z,&p2x,&p2y,&p2z,&p3x,&p3y,&p3z); + PQP_REAL p1[3],p2[3],p3[3]; + p1[0] = (PQP_REAL)p1x; p1[1] = (PQP_REAL)p1y; p1[2] = (PQP_REAL)p1z; + p2[0] = (PQP_REAL)p2x; p2[1] = (PQP_REAL)p2y; p2[2] = (PQP_REAL)p2z; + p3[0] = (PQP_REAL)p3x; p3[1] = (PQP_REAL)p3y; p3[2] = (PQP_REAL)p3z; + bunny.AddTri(p1,p2,p3,i); + } + bunny.EndModel(); + fclose(fp); + + // initialize the torus + + torus_to_draw = new Model("torus.tris"); + + fp = fopen("torus.tris","r"); + if (fp == NULL) { fprintf(stderr,"Couldn't open torus.tris\n"); exit(-1); } + fscanf(fp,"%d",&ntris); + + torus.BeginModel(); + for (i = 0; i < ntris; i++) + { + double p1x,p1y,p1z,p2x,p2y,p2z,p3x,p3y,p3z; + fscanf(fp,"%lf %lf %lf %lf %lf %lf %lf %lf %lf", + &p1x,&p1y,&p1z,&p2x,&p2y,&p2z,&p3x,&p3y,&p3z); + PQP_REAL p1[3],p2[3],p3[3]; + p1[0] = (PQP_REAL)p1x; p1[1] = (PQP_REAL)p1y; p1[2] = (PQP_REAL)p1z; + p2[0] = (PQP_REAL)p2x; p2[1] = (PQP_REAL)p2y; p2[2] = (PQP_REAL)p2z; + p3[0] = (PQP_REAL)p3x; p3[1] = (PQP_REAL)p3y; p3[2] = (PQP_REAL)p3z; + torus.AddTri(p1,p2,p3,i); + } + torus.EndModel(); + fclose(fp); + + // print instructions + + printf("PQP Demo - Spinning:\n" + "Press 'q' to quit.\n" + "Press any other key to toggle animation.\n" + "Left-drag left & right to change angle of view.\n" + "Left-drag up & down to change elevation of view.\n" + "Right-drag up & down to change distance of view.\n"); + + // Enter the main loop. + + glutMainLoop(); +} + + diff --git a/trunk/PQP/build/pqp-tar/PQP_v1.3/demos/spinning/model.cpp b/trunk/PQP/build/pqp-tar/PQP_v1.3/demos/spinning/model.cpp new file mode 100644 index 00000000..e145b31b --- /dev/null +++ b/trunk/PQP/build/pqp-tar/PQP_v1.3/demos/spinning/model.cpp @@ -0,0 +1,144 @@ +/*************************************************************************\ + + Copyright 1999 The University of North Carolina at Chapel Hill. + All Rights Reserved. + + Permission to use, copy, modify and distribute this software and its + documentation for educational, research and non-profit purposes, without + fee, and without a written agreement is hereby granted, provided that the + above copyright notice and the following three paragraphs appear in all + copies. + + IN NO EVENT SHALL THE UNIVERSITY OF NORTH CAROLINA AT CHAPEL HILL BE + LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR + CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF THE + USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY + OF NORTH CAROLINA HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH + DAMAGES. + + THE UNIVERSITY OF NORTH CAROLINA SPECIFICALLY DISCLAIM ANY + WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE + PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF + NORTH CAROLINA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT, + UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + + The authors may be contacted via: + + US Mail: E. Larsen + Department of Computer Science + Sitterson Hall, CB #3175 + University of N. Carolina + Chapel Hill, NC 27599-3175 + + Phone: (919)962-1749 + + EMail: geom@cs.unc.edu + + +\**************************************************************************/ + +#include <stdio.h> +#include <stdlib.h> +#include <math.h> +#include "GL/glut.h" +#include "model.h" + +inline +void +VmV(double Vr[3], const double V1[3], const double V2[3]) +{ + Vr[0] = V1[0] - V2[0]; + Vr[1] = V1[1] - V2[1]; + Vr[2] = V1[2] - V2[2]; +} + +inline +void +VcrossV(double Vr[3], const double V1[3], const double V2[3]) +{ + Vr[0] = V1[1]*V2[2] - V1[2]*V2[1]; + Vr[1] = V1[2]*V2[0] - V1[0]*V2[2]; + Vr[2] = V1[0]*V2[1] - V1[1]*V2[0]; +} + +inline +void +Vnormalize(double V[3]) +{ + double d = 1.0 / sqrt(V[0]*V[0] + V[1]*V[1] + V[2]*V[2]); + V[0] *= d; + V[1] *= d; + V[2] *= d; +} + +Model::Model(char *tris_file) +{ + FILE *fp = fopen(tris_file,"r"); + if (fp == NULL) + { + fprintf(stderr,"Model Constructor: Couldn't open %s\n",tris_file); + exit(-1); + } + + fscanf(fp,"%d",&ntris); + tri = new ModelTri[ntris]; + + int i; + + for (i = 0; i < ntris; i++) + { + // read the tri verts + + fscanf(fp,"%lf %lf %lf %lf %lf %lf %lf %lf %lf", + &tri[i].p0[0], &tri[i].p0[1], &tri[i].p0[2], + &tri[i].p1[0], &tri[i].p1[1], &tri[i].p1[2], + &tri[i].p2[0], &tri[i].p2[1], &tri[i].p2[2]); + + // set the normal + + double a[3],b[3]; + VmV(a,tri[i].p1,tri[i].p0); + VmV(b,tri[i].p2,tri[i].p0); + VcrossV(tri[i].n,a,b); + Vnormalize(tri[i].n); + } + + fclose(fp); + + // generate display list + + display_list = glGenLists(1); + glNewList(display_list,GL_COMPILE); + glBegin(GL_TRIANGLES); + for (i = 0; i < ntris; i++) + { + glNormal3dv(tri[i].n); + glVertex3dv(tri[i].p0); + glVertex3dv(tri[i].p1); + glVertex3dv(tri[i].p2); + } + glEnd(); + glEndList(); +} + +Model::~Model() +{ + delete [] tri; +} + +void +Model::Draw() +{ + glCallList(display_list); +} + +void +Model::DrawTri(int index) +{ + glBegin(GL_TRIANGLES); + glVertex3dv(tri[index].p0); + glVertex3dv(tri[index].p1); + glVertex3dv(tri[index].p2); + glEnd(); +} diff --git a/trunk/PQP/build/pqp-tar/PQP_v1.3/demos/spinning/model.h b/trunk/PQP/build/pqp-tar/PQP_v1.3/demos/spinning/model.h new file mode 100644 index 00000000..df352e4e --- /dev/null +++ b/trunk/PQP/build/pqp-tar/PQP_v1.3/demos/spinning/model.h @@ -0,0 +1,63 @@ +/*************************************************************************\ + + Copyright 1999 The University of North Carolina at Chapel Hill. + All Rights Reserved. + + Permission to use, copy, modify and distribute this software and its + documentation for educational, research and non-profit purposes, without + fee, and without a written agreement is hereby granted, provided that the + above copyright notice and the following three paragraphs appear in all + copies. + + IN NO EVENT SHALL THE UNIVERSITY OF NORTH CAROLINA AT CHAPEL HILL BE + LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR + CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF THE + USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY + OF NORTH CAROLINA HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH + DAMAGES. + + THE UNIVERSITY OF NORTH CAROLINA SPECIFICALLY DISCLAIM ANY + WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE + PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF + NORTH CAROLINA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT, + UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + + The authors may be contacted via: + + US Mail: E. Larsen + Department of Computer Science + Sitterson Hall, CB #3175 + University of N. Carolina + Chapel Hill, NC 27599-3175 + + Phone: (919)962-1749 + + EMail: geom@cs.unc.edu + + +\**************************************************************************/ + +#ifndef MODEL_H +#define MODEL_H + +struct ModelTri +{ + double p0[3], p1[3], p2[3]; + double n[3]; +}; + +class Model +{ + int ntris; + ModelTri *tri; + int display_list; + +public: + Model(char *tris_file); + ~Model(); + void Draw(); + void DrawTri(int index); +}; + +#endif diff --git a/trunk/PQP/build/pqp-tar/PQP_v1.3/demos/spinning/spinning.dsp b/trunk/PQP/build/pqp-tar/PQP_v1.3/demos/spinning/spinning.dsp new file mode 100644 index 00000000..b31912aa --- /dev/null +++ b/trunk/PQP/build/pqp-tar/PQP_v1.3/demos/spinning/spinning.dsp @@ -0,0 +1,98 @@ +# Microsoft Developer Studio Project File - Name="spinning" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 5.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Console Application" 0x0103 + +CFG=spinning - Win32 Debug +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "spinning.mak". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "spinning.mak" CFG="spinning - Win32 Debug" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "spinning - Win32 Release" (based on\ + "Win32 (x86) Console Application") +!MESSAGE "spinning - Win32 Debug" (based on "Win32 (x86) Console Application") +!MESSAGE + +# Begin Project +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=xicl5.exe +RSC=rc.exe + +!IF "$(CFG)" == "spinning - Win32 Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "Release" +# PROP BASE Intermediate_Dir "Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "./" +# PROP Intermediate_Dir "Release" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c +# ADD CPP /nologo /W3 /GX /O2 /I "..\..\include" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=xilink5.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 +# ADD LINK32 glut32.lib opengl32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib pqp.lib /nologo /subsystem:console /pdb:none /machine:I386 /libpath:"..\..\lib" + +!ELSEIF "$(CFG)" == "spinning - Win32 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "spinning" +# PROP BASE Intermediate_Dir "spinning" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "./" +# PROP Intermediate_Dir "Debug" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c +# ADD CPP /nologo /W3 /GX /Od /I "..\..\include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c +# ADD BASE RSC /l 0x409 /d "_DEBUG" +# ADD RSC /l 0x409 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=xilink5.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept +# ADD LINK32 glut32.lib opengl32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib pqp.lib /nologo /subsystem:console /pdb:none /debug /machine:I386 /libpath:"..\..\lib" + +!ENDIF + +# Begin Target + +# Name "spinning - Win32 Release" +# Name "spinning - Win32 Debug" +# Begin Source File + +SOURCE=.\main.cpp +# End Source File +# Begin Source File + +SOURCE=.\model.cpp +# End Source File +# Begin Source File + +SOURCE=.\model.h +# End Source File +# End Target +# End Project diff --git a/trunk/PQP/build/pqp-tar/PQP_v1.3/demos/spinning/spinning.plg b/trunk/PQP/build/pqp-tar/PQP_v1.3/demos/spinning/spinning.plg new file mode 100644 index 00000000..d8ee3728 --- /dev/null +++ b/trunk/PQP/build/pqp-tar/PQP_v1.3/demos/spinning/spinning.plg @@ -0,0 +1,27 @@ +--------------------Configuration: spinning - Win32 Release-------------------- +Begining build with project "C:\WIN95\DESKTOP\PQP_v1.2.1\demos\spinning\spinning.dsp", at root. +Active configuration is Win32 (x86) Console Application (based on Win32 (x86) Console Application) + +Project's tools are: + "32-bit C/C++ Compiler for 80x86" with flags "/nologo /ML /W3 /GX /O2 /I "..\..\include" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /Fp"Release/spinning.pch" /YX /Fo"Release/" /Fd"Release/" /FD /c " + "Win32 Resource Compiler" with flags "/l 0x409 /d "NDEBUG" " + "Browser Database Maker" with flags "/nologo /o"./spinning.bsc" " + "COFF Linker for 80x86" with flags "glut32.lib opengl32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib pqp.lib /nologo /subsystem:console /pdb:none /machine:I386 /out:"./spinning.exe" /libpath:"..\..\lib" " + "Custom Build" with flags "" + "<Component 0xa>" with flags "" + +Creating temp file "C:\WIN95\TEMP\RSP9380.TMP" with contents </nologo /ML /W3 /GX /O2 /I "..\..\include" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /Fp"Release/spinning.pch" /YX /Fo"Release/" /Fd"Release/" /FD /c +"C:\WIN95\DESKTOP\PQP_v1.2.1\demos\spinning\main.cpp" +> +Creating command line "cl.exe @C:\WIN95\TEMP\RSP9380.TMP" +Creating temp file "C:\WIN95\TEMP\RSP9381.TMP" with contents <glut32.lib opengl32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib pqp.lib /nologo /subsystem:console /pdb:none /machine:I386 /out:"./spinning.exe" /libpath:"..\..\lib" +.\Release\main.obj +.\Release\model.obj> +Creating command line "link.exe @C:\WIN95\TEMP\RSP9381.TMP" +Compiling... +main.cpp +Linking... + + + +spinning.exe - 0 error(s), 0 warning(s) diff --git a/trunk/PQP/build/pqp-tar/PQP_v1.3/demos/spinning/torus.tris b/trunk/PQP/build/pqp-tar/PQP_v1.3/demos/spinning/torus.tris new file mode 100644 index 00000000..a0bc4507 --- /dev/null +++ b/trunk/PQP/build/pqp-tar/PQP_v1.3/demos/spinning/torus.tris @@ -0,0 +1,5329 @@ +1332 +0.58 0 0 +0.571657 0.0980205 0.033314 +0.569145 0 0.0615636 + +0.560958 0.0961859 0.0948776 +0.569145 0 0.0615636 +0.571657 0.0980205 0.033314 + +0.569145 0 0.0615636 +0.560958 0.0961859 0.0948776 +0.537888 0 0.115702 + +0.530151 0.0909035 0.149016 +0.537888 0 0.115702 +0.560958 0.0961859 0.0948776 + +0.537888 0 0.115702 +0.530151 0.0909035 0.149016 +0.49 0 0.155885 + +0.482952 0.0828104 0.189199 +0.49 0 0.155885 +0.530151 0.0909035 0.149016 + +0.49 0 0.155885 +0.482952 0.0828104 0.189199 +0.431257 0 0.177265 + +0.425053 0.0728827 0.210579 +0.431257 0 0.177265 +0.482952 0.0828104 0.189199 + +0.431257 0 0.177265 +0.425053 0.0728827 0.210579 +0.368743 0 0.177265 + +0.363439 0.0623179 0.210579 +0.368743 0 0.177265 +0.425053 0.0728827 0.210579 + +0.368743 0 0.177265 +0.363439 0.0623179 0.210579 +0.31 0 0.155885 + +0.305541 0.0523903 0.189199 +0.31 0 0.155885 +0.363439 0.0623179 0.210579 + +0.31 0 0.155885 +0.305541 0.0523903 0.189199 +0.262112 0 0.115702 + +0.258342 0.0442971 0.149016 +0.262112 0 0.115702 +0.305541 0.0523903 0.189199 + +0.262112 0 0.115702 +0.258342 0.0442971 0.149016 +0.230855 0 0.0615636 + +0.227535 0.0390147 0.0948776 +0.230855 0 0.0615636 +0.258342 0.0442971 0.149016 + +0.230855 0 0.0615636 +0.227535 0.0390147 0.0948776 +0.22 0 0 + +0.216836 0.0371802 0.033314 +0.22 0 0 +0.227535 0.0390147 0.0948776 + +0.22 0 0 +0.216836 0.0371802 0.033314 +0.230855 0 -0.0615636 + +0.227535 0.0390147 -0.0282496 +0.230855 0 -0.0615636 +0.216836 0.0371802 0.033314 + +0.230855 0 -0.0615636 +0.227535 0.0390147 -0.0282496 +0.262112 0 -0.115702 + +0.258342 0.0442971 -0.0823878 +0.262112 0 -0.115702 +0.227535 0.0390147 -0.0282496 + +0.262112 0 -0.115702 +0.258342 0.0442971 -0.0823878 +0.31 0 -0.155885 + +0.305541 0.0523903 -0.122571 +0.31 0 -0.155885 +0.258342 0.0442971 -0.0823878 + +0.31 0 -0.155885 +0.305541 0.0523903 -0.122571 +0.368743 0 -0.177265 + +0.363439 0.0623179 -0.143951 +0.368743 0 -0.177265 +0.305541 0.0523903 -0.122571 + +0.368743 0 -0.177265 +0.363439 0.0623179 -0.143951 +0.431257 0 -0.177265 + +0.425053 0.0728827 -0.143951 +0.431257 0 -0.177265 +0.363439 0.0623179 -0.143951 + +0.431257 0 -0.177265 +0.425053 0.0728827 -0.143951 +0.49 0 -0.155885 + +0.482952 0.0828104 -0.122571 +0.49 0 -0.155885 +0.425053 0.0728827 -0.143951 + +0.49 0 -0.155885 +0.482952 0.0828104 -0.122571 +0.537888 0 -0.115702 + +0.530151 0.0909035 -0.0823878 +0.537888 0 -0.115702 +0.482952 0.0828104 -0.122571 + +0.537888 0 -0.115702 +0.530151 0.0909035 -0.0823878 +0.569145 0 -0.0615636 + +0.560958 0.0961859 -0.0282496 +0.569145 0 -0.0615636 +0.530151 0.0909035 -0.0823878 + +0.569145 0 -0.0615636 +0.560958 0.0961859 -0.0282496 +0.58 0 0 + +0.571657 0.0980205 0.033314 +0.58 0 0 +0.560958 0.0961859 -0.0282496 + +0.571657 0.0980205 0.033314 +0.546869 0.193221 0.062822 +0.560958 0.0961859 0.0948776 + +0.536634 0.189605 0.124386 +0.560958 0.0961859 0.0948776 +0.546869 0.193221 0.062822 + +0.560958 0.0961859 0.0948776 +0.536634 0.189605 0.124386 +0.530151 0.0909035 0.149016 + +0.507162 0.179192 0.178524 +0.530151 0.0909035 0.149016 +0.536634 0.189605 0.124386 + +0.530151 0.0909035 0.149016 +0.507162 0.179192 0.178524 +0.482952 0.0828104 0.189199 + +0.46201 0.163238 0.218707 +0.482952 0.0828104 0.189199 +0.507162 0.179192 0.178524 + +0.482952 0.0828104 0.189199 +0.46201 0.163238 0.218707 +0.425053 0.0728827 0.210579 + +0.406622 0.143669 0.240087 +0.425053 0.0728827 0.210579 +0.46201 0.163238 0.218707 + +0.425053 0.0728827 0.210579 +0.406622 0.143669 0.240087 +0.363439 0.0623179 0.210579 + +0.34768 0.122843 0.240087 +0.363439 0.0623179 0.210579 +0.406622 0.143669 0.240087 + +0.363439 0.0623179 0.210579 +0.34768 0.122843 0.240087 +0.305541 0.0523903 0.189199 + +0.292292 0.103273 0.218707 +0.305541 0.0523903 0.189199 +0.34768 0.122843 0.240087 + +0.305541 0.0523903 0.189199 +0.292292 0.103273 0.218707 +0.258342 0.0442971 0.149016 + +0.247139 0.0873199 0.178524 +0.258342 0.0442971 0.149016 +0.292292 0.103273 0.218707 + +0.258342 0.0442971 0.149016 +0.247139 0.0873199 0.178524 +0.227535 0.0390147 0.0948776 + +0.217668 0.0769071 0.124386 +0.227535 0.0390147 0.0948776 +0.247139 0.0873199 0.178524 + +0.227535 0.0390147 0.0948776 +0.217668 0.0769071 0.124386 +0.216836 0.0371802 0.033314 + +0.207433 0.0732908 0.062822 +0.216836 0.0371802 0.033314 +0.217668 0.0769071 0.124386 + +0.216836 0.0371802 0.033314 +0.207433 0.0732908 0.062822 +0.227535 0.0390147 -0.0282496 + +0.217668 0.0769071 0.00125837 +0.227535 0.0390147 -0.0282496 +0.207433 0.0732908 0.062822 + +0.227535 0.0390147 -0.0282496 +0.217668 0.0769071 0.00125837 +0.258342 0.0442971 -0.0823878 + +0.247139 0.0873199 -0.0528798 +0.258342 0.0442971 -0.0823878 +0.217668 0.0769071 0.00125837 + +0.258342 0.0442971 -0.0823878 +0.247139 0.0873199 -0.0528798 +0.305541 0.0523903 -0.122571 + +0.292292 0.103273 -0.0930626 +0.305541 0.0523903 -0.122571 +0.247139 0.0873199 -0.0528798 + +0.305541 0.0523903 -0.122571 +0.292292 0.103273 -0.0930626 +0.363439 0.0623179 -0.143951 + +0.34768 0.122843 -0.114443 +0.363439 0.0623179 -0.143951 +0.292292 0.103273 -0.0930626 + +0.363439 0.0623179 -0.143951 +0.34768 0.122843 -0.114443 +0.425053 0.0728827 -0.143951 + +0.406622 0.143669 -0.114443 +0.425053 0.0728827 -0.143951 +0.34768 0.122843 -0.114443 + +0.425053 0.0728827 -0.143951 +0.406622 0.143669 -0.114443 +0.482952 0.0828104 -0.122571 + +0.46201 0.163238 -0.0930626 +0.482952 0.0828104 -0.122571 +0.406622 0.143669 -0.114443 + +0.482952 0.0828104 -0.122571 +0.46201 0.163238 -0.0930626 +0.530151 0.0909035 -0.0823878 + +0.507162 0.179192 -0.0528798 +0.530151 0.0909035 -0.0823878 +0.46201 0.163238 -0.0930626 + +0.530151 0.0909035 -0.0823878 +0.507162 0.179192 -0.0528798 +0.560958 0.0961859 -0.0282496 + +0.536634 0.189605 0.00125837 +0.560958 0.0961859 -0.0282496 +0.507162 0.179192 -0.0528798 + +0.560958 0.0961859 -0.0282496 +0.536634 0.189605 0.00125837 +0.571657 0.0980205 0.033314 + +0.546869 0.193221 0.062822 +0.571657 0.0980205 0.033314 +0.536634 0.189605 0.00125837 + +0.546869 0.193221 0.062822 +0.506348 0.282863 0.0851529 +0.536634 0.189605 0.124386 + +0.496871 0.277569 0.146717 +0.536634 0.189605 0.124386 +0.506348 0.282863 0.0851529 + +0.536634 0.189605 0.124386 +0.496871 0.277569 0.146717 +0.507162 0.179192 0.178524 + +0.469584 0.262325 0.200855 +0.507162 0.179192 0.178524 +0.496871 0.277569 0.146717 + +0.507162 0.179192 0.178524 +0.469584 0.262325 0.200855 +0.46201 0.163238 0.218707 + +0.427777 0.238971 0.241037 +0.46201 0.163238 0.218707 +0.469584 0.262325 0.200855 + +0.46201 0.163238 0.218707 +0.427777 0.238971 0.241037 +0.406622 0.143669 0.240087 + +0.376493 0.210322 0.262418 +0.406622 0.143669 0.240087 +0.427777 0.238971 0.241037 + +0.406622 0.143669 0.240087 +0.376493 0.210322 0.262418 +0.34768 0.122843 0.240087 + +0.321918 0.179834 0.262418 +0.34768 0.122843 0.240087 +0.376493 0.210322 0.262418 + +0.34768 0.122843 0.240087 +0.321918 0.179834 0.262418 +0.292292 0.103273 0.218707 + +0.270634 0.151185 0.241037 +0.292292 0.103273 0.218707 +0.321918 0.179834 0.262418 + +0.292292 0.103273 0.218707 +0.270634 0.151185 0.241037 +0.247139 0.0873199 0.178524 + +0.228827 0.127831 0.200855 +0.247139 0.0873199 0.178524 +0.270634 0.151185 0.241037 + +0.247139 0.0873199 0.178524 +0.228827 0.127831 0.200855 +0.217668 0.0769071 0.124386 + +0.20154 0.112587 0.146717 +0.217668 0.0769071 0.124386 +0.228827 0.127831 0.200855 + +0.217668 0.0769071 0.124386 +0.20154 0.112587 0.146717 +0.207433 0.0732908 0.062822 + +0.192063 0.107293 0.0851529 +0.207433 0.0732908 0.062822 +0.20154 0.112587 0.146717 + +0.207433 0.0732908 0.062822 +0.192063 0.107293 0.0851529 +0.217668 0.0769071 0.00125837 + +0.20154 0.112587 0.0235893 +0.217668 0.0769071 0.00125837 +0.192063 0.107293 0.0851529 + +0.217668 0.0769071 0.00125837 +0.20154 0.112587 0.0235893 +0.247139 0.0873199 -0.0528798 + +0.228827 0.127831 -0.0305489 +0.247139 0.0873199 -0.0528798 +0.20154 0.112587 0.0235893 + +0.247139 0.0873199 -0.0528798 +0.228827 0.127831 -0.0305489 +0.292292 0.103273 -0.0930626 + +0.270634 0.151185 -0.0707317 +0.292292 0.103273 -0.0930626 +0.228827 0.127831 -0.0305489 + +0.292292 0.103273 -0.0930626 +0.270634 0.151185 -0.0707317 +0.34768 0.122843 -0.114443 + +0.321918 0.179834 -0.0921125 +0.34768 0.122843 -0.114443 +0.270634 0.151185 -0.0707317 + +0.34768 0.122843 -0.114443 +0.321918 0.179834 -0.0921125 +0.406622 0.143669 -0.114443 + +0.376493 0.210322 -0.0921125 +0.406622 0.143669 -0.114443 +0.321918 0.179834 -0.0921125 + +0.406622 0.143669 -0.114443 +0.376493 0.210322 -0.0921125 +0.46201 0.163238 -0.0930626 + +0.427777 0.238971 -0.0707317 +0.46201 0.163238 -0.0930626 +0.376493 0.210322 -0.0921125 + +0.46201 0.163238 -0.0930626 +0.427777 0.238971 -0.0707317 +0.507162 0.179192 -0.0528798 + +0.469584 0.262325 -0.0305489 +0.507162 0.179192 -0.0528798 +0.427777 0.238971 -0.0707317 + +0.507162 0.179192 -0.0528798 +0.469584 0.262325 -0.0305489 +0.536634 0.189605 0.00125837 + +0.496871 0.277569 0.0235893 +0.536634 0.189605 0.00125837 +0.469584 0.262325 -0.0305489 + +0.536634 0.189605 0.00125837 +0.496871 0.277569 0.0235893 +0.546869 0.193221 0.062822 + +0.506348 0.282863 0.0851529 +0.546869 0.193221 0.062822 +0.496871 0.277569 0.0235893 + +0.506348 0.282863 0.0851529 +0.451261 0.364368 0.0977555 +0.496871 0.277569 0.146717 + +0.442815 0.357548 0.159319 +0.496871 0.277569 0.146717 +0.451261 0.364368 0.0977555 + +0.496871 0.277569 0.146717 +0.442815 0.357548 0.159319 +0.469584 0.262325 0.200855 + +0.418496 0.337912 0.213457 +0.469584 0.262325 0.200855 +0.442815 0.357548 0.159319 + +0.469584 0.262325 0.200855 +0.418496 0.337912 0.213457 +0.427777 0.238971 0.241037 + +0.381238 0.307828 0.25364 +0.427777 0.238971 0.241037 +0.418496 0.337912 0.213457 + +0.427777 0.238971 0.241037 +0.381238 0.307828 0.25364 +0.376493 0.210322 0.262418 + +0.335533 0.270924 0.275021 +0.376493 0.210322 0.262418 +0.381238 0.307828 0.25364 + +0.376493 0.210322 0.262418 +0.335533 0.270924 0.275021 +0.321918 0.179834 0.262418 + +0.286895 0.231652 0.275021 +0.321918 0.179834 0.262418 +0.335533 0.270924 0.275021 + +0.321918 0.179834 0.262418 +0.286895 0.231652 0.275021 +0.270634 0.151185 0.241037 + +0.241191 0.194748 0.25364 +0.270634 0.151185 0.241037 +0.286895 0.231652 0.275021 + +0.270634 0.151185 0.241037 +0.241191 0.194748 0.25364 +0.228827 0.127831 0.200855 + +0.203933 0.164664 0.213457 +0.228827 0.127831 0.200855 +0.241191 0.194748 0.25364 + +0.228827 0.127831 0.200855 +0.203933 0.164664 0.213457 +0.20154 0.112587 0.146717 + +0.179614 0.145028 0.159319 +0.20154 0.112587 0.146717 +0.203933 0.164664 0.213457 + +0.20154 0.112587 0.146717 +0.179614 0.145028 0.159319 +0.192063 0.107293 0.0851529 + +0.171168 0.138208 0.0977555 +0.192063 0.107293 0.0851529 +0.179614 0.145028 0.159319 + +0.192063 0.107293 0.0851529 +0.171168 0.138208 0.0977555 +0.20154 0.112587 0.0235893 + +0.179614 0.145028 0.0361919 +0.20154 0.112587 0.0235893 +0.171168 0.138208 0.0977555 + +0.20154 0.112587 0.0235893 +0.179614 0.145028 0.0361919 +0.228827 0.127831 -0.0305489 + +0.203933 0.164664 -0.0179462 +0.228827 0.127831 -0.0305489 +0.179614 0.145028 0.0361919 + +0.228827 0.127831 -0.0305489 +0.203933 0.164664 -0.0179462 +0.270634 0.151185 -0.0707317 + +0.241191 0.194748 -0.058129 +0.270634 0.151185 -0.0707317 +0.203933 0.164664 -0.0179462 + +0.270634 0.151185 -0.0707317 +0.241191 0.194748 -0.058129 +0.321918 0.179834 -0.0921125 + +0.286895 0.231652 -0.0795099 +0.321918 0.179834 -0.0921125 +0.241191 0.194748 -0.058129 + +0.321918 0.179834 -0.0921125 +0.286895 0.231652 -0.0795099 +0.376493 0.210322 -0.0921125 + +0.335533 0.270924 -0.0795099 +0.376493 0.210322 -0.0921125 +0.286895 0.231652 -0.0795099 + +0.376493 0.210322 -0.0921125 +0.335533 0.270924 -0.0795099 +0.427777 0.238971 -0.0707317 + +0.381238 0.307828 -0.058129 +0.427777 0.238971 -0.0707317 +0.335533 0.270924 -0.0795099 + +0.427777 0.238971 -0.0707317 +0.381238 0.307828 -0.058129 +0.469584 0.262325 -0.0305489 + +0.418496 0.337912 -0.0179462 +0.469584 0.262325 -0.0305489 +0.381238 0.307828 -0.058129 + +0.469584 0.262325 -0.0305489 +0.418496 0.337912 -0.0179462 +0.496871 0.277569 0.0235893 + +0.442815 0.357548 0.0361919 +0.496871 0.277569 0.0235893 +0.418496 0.337912 -0.0179462 + +0.496871 0.277569 0.0235893 +0.442815 0.357548 0.0361919 +0.506348 0.282863 0.0851529 + +0.451261 0.364368 0.0977555 +0.506348 0.282863 0.0851529 +0.442815 0.357548 0.0361919 + +0.451261 0.364368 0.0977555 +0.383191 0.43539 0.09919 +0.442815 0.357548 0.159319 + +0.376019 0.427241 0.160754 +0.442815 0.357548 0.159319 +0.383191 0.43539 0.09919 + +0.442815 0.357548 0.159319 +0.376019 0.427241 0.160754 +0.418496 0.337912 0.213457 + +0.355369 0.403778 0.214892 +0.418496 0.337912 0.213457 +0.376019 0.427241 0.160754 + +0.418496 0.337912 0.213457 +0.355369 0.403778 0.214892 +0.381238 0.307828 0.25364 + +0.323731 0.367829 0.255075 +0.381238 0.307828 0.25364 +0.355369 0.403778 0.214892 + +0.381238 0.307828 0.25364 +0.323731 0.367829 0.255075 +0.335533 0.270924 0.275021 + +0.28492 0.323732 0.276455 +0.335533 0.270924 0.275021 +0.323731 0.367829 0.255075 + +0.335533 0.270924 0.275021 +0.28492 0.323732 0.276455 +0.286895 0.231652 0.275021 + +0.243619 0.276805 0.276455 +0.286895 0.231652 0.275021 +0.28492 0.323732 0.276455 + +0.286895 0.231652 0.275021 +0.243619 0.276805 0.276455 +0.241191 0.194748 0.25364 + +0.204809 0.232708 0.255075 +0.241191 0.194748 0.25364 +0.243619 0.276805 0.276455 + +0.241191 0.194748 0.25364 +0.204809 0.232708 0.255075 +0.203933 0.164664 0.213457 + +0.173171 0.19676 0.214892 +0.203933 0.164664 0.213457 +0.204809 0.232708 0.255075 + +0.203933 0.164664 0.213457 +0.173171 0.19676 0.214892 +0.179614 0.145028 0.159319 + +0.15252 0.173297 0.160754 +0.179614 0.145028 0.159319 +0.173171 0.19676 0.214892 + +0.179614 0.145028 0.159319 +0.15252 0.173297 0.160754 +0.171168 0.138208 0.0977555 + +0.145348 0.165148 0.09919 +0.171168 0.138208 0.0977555 +0.15252 0.173297 0.160754 + +0.171168 0.138208 0.0977555 +0.145348 0.165148 0.09919 +0.179614 0.145028 0.0361919 + +0.15252 0.173297 0.0376264 +0.179614 0.145028 0.0361919 +0.145348 0.165148 0.09919 + +0.179614 0.145028 0.0361919 +0.15252 0.173297 0.0376264 +0.203933 0.164664 -0.0179462 + +0.173171 0.19676 -0.0165117 +0.203933 0.164664 -0.0179462 +0.15252 0.173297 0.0376264 + +0.203933 0.164664 -0.0179462 +0.173171 0.19676 -0.0165117 +0.241191 0.194748 -0.058129 + +0.204809 0.232708 -0.0566945 +0.241191 0.194748 -0.058129 +0.173171 0.19676 -0.0165117 + +0.241191 0.194748 -0.058129 +0.204809 0.232708 -0.0566945 +0.286895 0.231652 -0.0795099 + +0.243619 0.276805 -0.0780754 +0.286895 0.231652 -0.0795099 +0.204809 0.232708 -0.0566945 + +0.286895 0.231652 -0.0795099 +0.243619 0.276805 -0.0780754 +0.335533 0.270924 -0.0795099 + +0.28492 0.323732 -0.0780754 +0.335533 0.270924 -0.0795099 +0.243619 0.276805 -0.0780754 + +0.335533 0.270924 -0.0795099 +0.28492 0.323732 -0.0780754 +0.381238 0.307828 -0.058129 + +0.323731 0.367829 -0.0566945 +0.381238 0.307828 -0.058129 +0.28492 0.323732 -0.0780754 + +0.381238 0.307828 -0.058129 +0.323731 0.367829 -0.0566945 +0.418496 0.337912 -0.0179462 + +0.355369 0.403778 -0.0165117 +0.418496 0.337912 -0.0179462 +0.323731 0.367829 -0.0566945 + +0.418496 0.337912 -0.0179462 +0.355369 0.403778 -0.0165117 +0.442815 0.357548 0.0361919 + +0.376019 0.427241 0.0376264 +0.442815 0.357548 0.0361919 +0.355369 0.403778 -0.0165117 + +0.442815 0.357548 0.0361919 +0.376019 0.427241 0.0376264 +0.451261 0.364368 0.0977555 + +0.383191 0.43539 0.09919 +0.451261 0.364368 0.0977555 +0.376019 0.427241 0.0376264 + +0.383191 0.43539 0.09919 +0.304098 0.493887 0.0892926 +0.376019 0.427241 0.160754 + +0.298407 0.484643 0.150856 +0.376019 0.427241 0.160754 +0.304098 0.493887 0.0892926 + +0.376019 0.427241 0.160754 +0.298407 0.484643 0.150856 +0.355369 0.403778 0.214892 + +0.282019 0.458027 0.204994 +0.355369 0.403778 0.214892 +0.298407 0.484643 0.150856 + +0.355369 0.403778 0.214892 +0.282019 0.458027 0.204994 +0.323731 0.367829 0.255075 + +0.256911 0.417249 0.245177 +0.323731 0.367829 0.255075 +0.282019 0.458027 0.204994 + +0.323731 0.367829 0.255075 +0.256911 0.417249 0.245177 +0.28492 0.323732 0.276455 + +0.226111 0.367228 0.266558 +0.28492 0.323732 0.276455 +0.256911 0.417249 0.245177 + +0.28492 0.323732 0.276455 +0.226111 0.367228 0.266558 +0.243619 0.276805 0.276455 + +0.193335 0.313996 0.266558 +0.243619 0.276805 0.276455 +0.226111 0.367228 0.266558 + +0.243619 0.276805 0.276455 +0.193335 0.313996 0.266558 +0.204809 0.232708 0.255075 + +0.162535 0.263974 0.245177 +0.204809 0.232708 0.255075 +0.193335 0.313996 0.266558 + +0.204809 0.232708 0.255075 +0.162535 0.263974 0.245177 +0.173171 0.19676 0.214892 + +0.137427 0.223196 0.204994 +0.173171 0.19676 0.214892 +0.162535 0.263974 0.245177 + +0.173171 0.19676 0.214892 +0.137427 0.223196 0.204994 +0.15252 0.173297 0.160754 + +0.121039 0.19658 0.150856 +0.15252 0.173297 0.160754 +0.137427 0.223196 0.204994 + +0.15252 0.173297 0.160754 +0.121039 0.19658 0.150856 +0.145348 0.165148 0.09919 + +0.115348 0.187336 0.0892926 +0.145348 0.165148 0.09919 +0.121039 0.19658 0.150856 + +0.145348 0.165148 0.09919 +0.115348 0.187336 0.0892926 +0.15252 0.173297 0.0376264 + +0.121039 0.19658 0.027729 +0.15252 0.173297 0.0376264 +0.115348 0.187336 0.0892926 + +0.15252 0.173297 0.0376264 +0.121039 0.19658 0.027729 +0.173171 0.19676 -0.0165117 + +0.137427 0.223196 -0.0264092 +0.173171 0.19676 -0.0165117 +0.121039 0.19658 0.027729 + +0.173171 0.19676 -0.0165117 +0.137427 0.223196 -0.0264092 +0.204809 0.232708 -0.0566945 + +0.162535 0.263974 -0.066592 +0.204809 0.232708 -0.0566945 +0.137427 0.223196 -0.0264092 + +0.204809 0.232708 -0.0566945 +0.162535 0.263974 -0.066592 +0.243619 0.276805 -0.0780754 + +0.193335 0.313996 -0.0879728 +0.243619 0.276805 -0.0780754 +0.162535 0.263974 -0.066592 + +0.243619 0.276805 -0.0780754 +0.193335 0.313996 -0.0879728 +0.28492 0.323732 -0.0780754 + +0.226111 0.367228 -0.0879728 +0.28492 0.323732 -0.0780754 +0.193335 0.313996 -0.0879728 + +0.28492 0.323732 -0.0780754 +0.226111 0.367228 -0.0879728 +0.323731 0.367829 -0.0566945 + +0.256911 0.417249 -0.066592 +0.323731 0.367829 -0.0566945 +0.226111 0.367228 -0.0879728 + +0.323731 0.367829 -0.0566945 +0.256911 0.417249 -0.066592 +0.355369 0.403778 -0.0165117 + +0.282019 0.458027 -0.0264092 +0.355369 0.403778 -0.0165117 +0.256911 0.417249 -0.066592 + +0.355369 0.403778 -0.0165117 +0.282019 0.458027 -0.0264092 +0.376019 0.427241 0.0376264 + +0.298407 0.484643 0.027729 +0.376019 0.427241 0.0376264 +0.282019 0.458027 -0.0264092 + +0.376019 0.427241 0.0376264 +0.298407 0.484643 0.027729 +0.383191 0.43539 0.09919 + +0.304098 0.493887 0.0892926 +0.383191 0.43539 0.09919 +0.298407 0.484643 0.027729 + +0.304098 0.493887 0.0892926 +0.216257 0.538176 0.0691939 +0.298407 0.484643 0.150856 + +0.212209 0.528103 0.130758 +0.298407 0.484643 0.150856 +0.216257 0.538176 0.0691939 + +0.298407 0.484643 0.150856 +0.212209 0.528103 0.130758 +0.282019 0.458027 0.204994 + +0.200555 0.4991 0.184896 +0.282019 0.458027 0.204994 +0.212209 0.528103 0.130758 + +0.282019 0.458027 0.204994 +0.200555 0.4991 0.184896 +0.256911 0.417249 0.245177 + +0.1827 0.454666 0.225078 +0.256911 0.417249 0.245177 +0.200555 0.4991 0.184896 + +0.256911 0.417249 0.245177 +0.1827 0.454666 0.225078 +0.226111 0.367228 0.266558 + +0.160797 0.400158 0.246459 +0.226111 0.367228 0.266558 +0.1827 0.454666 0.225078 + +0.226111 0.367228 0.266558 +0.160797 0.400158 0.246459 +0.193335 0.313996 0.266558 + +0.137488 0.342153 0.246459 +0.193335 0.313996 0.266558 +0.160797 0.400158 0.246459 + +0.193335 0.313996 0.266558 +0.137488 0.342153 0.246459 +0.162535 0.263974 0.245177 + +0.115586 0.287646 0.225078 +0.162535 0.263974 0.245177 +0.137488 0.342153 0.246459 + +0.162535 0.263974 0.245177 +0.115586 0.287646 0.225078 +0.137427 0.223196 0.204994 + +0.0977302 0.243211 0.184896 +0.137427 0.223196 0.204994 +0.115586 0.287646 0.225078 + +0.137427 0.223196 0.204994 +0.0977302 0.243211 0.184896 +0.121039 0.19658 0.150856 + +0.0860759 0.214208 0.130758 +0.121039 0.19658 0.150856 +0.0977302 0.243211 0.184896 + +0.121039 0.19658 0.150856 +0.0860759 0.214208 0.130758 +0.115348 0.187336 0.0892926 + +0.0820284 0.204136 0.0691939 +0.115348 0.187336 0.0892926 +0.0860759 0.214208 0.130758 + +0.115348 0.187336 0.0892926 +0.0820284 0.204136 0.0691939 +0.121039 0.19658 0.027729 + +0.0860759 0.214208 0.00763026 +0.121039 0.19658 0.027729 +0.0820284 0.204136 0.0691939 + +0.121039 0.19658 0.027729 +0.0860759 0.214208 0.00763026 +0.137427 0.223196 -0.0264092 + +0.0977302 0.243211 -0.0465079 +0.137427 0.223196 -0.0264092 +0.0860759 0.214208 0.00763026 + +0.137427 0.223196 -0.0264092 +0.0977302 0.243211 -0.0465079 +0.162535 0.263974 -0.066592 + +0.115586 0.287646 -0.0866907 +0.162535 0.263974 -0.066592 +0.0977302 0.243211 -0.0465079 + +0.162535 0.263974 -0.066592 +0.115586 0.287646 -0.0866907 +0.193335 0.313996 -0.0879728 + +0.137488 0.342153 -0.108072 +0.193335 0.313996 -0.0879728 +0.115586 0.287646 -0.0866907 + +0.193335 0.313996 -0.0879728 +0.137488 0.342153 -0.108072 +0.226111 0.367228 -0.0879728 + +0.160797 0.400158 -0.108072 +0.226111 0.367228 -0.0879728 +0.137488 0.342153 -0.108072 + +0.226111 0.367228 -0.0879728 +0.160797 0.400158 -0.108072 +0.256911 0.417249 -0.066592 + +0.1827 0.454666 -0.0866907 +0.256911 0.417249 -0.066592 +0.160797 0.400158 -0.108072 + +0.256911 0.417249 -0.066592 +0.1827 0.454666 -0.0866907 +0.282019 0.458027 -0.0264092 + +0.200555 0.4991 -0.0465079 +0.282019 0.458027 -0.0264092 +0.1827 0.454666 -0.0866907 + +0.282019 0.458027 -0.0264092 +0.200555 0.4991 -0.0465079 +0.298407 0.484643 0.027729 + +0.212209 0.528103 0.00763026 +0.298407 0.484643 0.027729 +0.200555 0.4991 -0.0465079 + +0.298407 0.484643 0.027729 +0.212209 0.528103 0.00763026 +0.304098 0.493887 0.0892926 + +0.216257 0.538176 0.0691939 +0.304098 0.493887 0.0892926 +0.212209 0.528103 0.00763026 + +0.216257 0.538176 0.0691939 +0.122194 0.566982 0.0411901 +0.212209 0.528103 0.130758 + +0.119907 0.55637 0.102754 +0.212209 0.528103 0.130758 +0.122194 0.566982 0.0411901 + +0.212209 0.528103 0.130758 +0.119907 0.55637 0.102754 +0.200555 0.4991 0.184896 + +0.113322 0.525815 0.156892 +0.200555 0.4991 0.184896 +0.119907 0.55637 0.102754 + +0.200555 0.4991 0.184896 +0.113322 0.525815 0.156892 +0.1827 0.454666 0.225078 + +0.103233 0.479002 0.197075 +0.1827 0.454666 0.225078 +0.113322 0.525815 0.156892 + +0.1827 0.454666 0.225078 +0.103233 0.479002 0.197075 +0.160797 0.400158 0.246459 + +0.0908568 0.421577 0.218456 +0.160797 0.400158 0.246459 +0.103233 0.479002 0.197075 + +0.160797 0.400158 0.246459 +0.0908568 0.421577 0.218456 +0.137488 0.342153 0.246459 + +0.0776866 0.360467 0.218456 +0.137488 0.342153 0.246459 +0.0908568 0.421577 0.218456 + +0.137488 0.342153 0.246459 +0.0776866 0.360467 0.218456 +0.115586 0.287646 0.225078 + +0.0653106 0.303042 0.197075 +0.115586 0.287646 0.225078 +0.0776866 0.360467 0.218456 + +0.115586 0.287646 0.225078 +0.0653106 0.303042 0.197075 +0.0977302 0.243211 0.184896 + +0.0552216 0.256229 0.156892 +0.0977302 0.243211 0.184896 +0.0653106 0.303042 0.197075 + +0.0977302 0.243211 0.184896 +0.0552216 0.256229 0.156892 +0.0860759 0.214208 0.130758 + +0.0486364 0.225674 0.102754 +0.0860759 0.214208 0.130758 +0.0552216 0.256229 0.156892 + +0.0860759 0.214208 0.130758 +0.0486364 0.225674 0.102754 +0.0820284 0.204136 0.0691939 + +0.0463494 0.215062 0.0411901 +0.0820284 0.204136 0.0691939 +0.0486364 0.225674 0.102754 + +0.0820284 0.204136 0.0691939 +0.0463494 0.215062 0.0411901 +0.0860759 0.214208 0.00763026 + +0.0486364 0.225674 -0.0203735 +0.0860759 0.214208 0.00763026 +0.0463494 0.215062 0.0411901 + +0.0860759 0.214208 0.00763026 +0.0486364 0.225674 -0.0203735 +0.0977302 0.243211 -0.0465079 + +0.0552216 0.256229 -0.0745116 +0.0977302 0.243211 -0.0465079 +0.0486364 0.225674 -0.0203735 + +0.0977302 0.243211 -0.0465079 +0.0552216 0.256229 -0.0745116 +0.115586 0.287646 -0.0866907 + +0.0653106 0.303042 -0.114694 +0.115586 0.287646 -0.0866907 +0.0552216 0.256229 -0.0745116 + +0.115586 0.287646 -0.0866907 +0.0653106 0.303042 -0.114694 +0.137488 0.342153 -0.108072 + +0.0776866 0.360467 -0.136075 +0.137488 0.342153 -0.108072 +0.0653106 0.303042 -0.114694 + +0.137488 0.342153 -0.108072 +0.0776866 0.360467 -0.136075 +0.160797 0.400158 -0.108072 + +0.0908568 0.421577 -0.136075 +0.160797 0.400158 -0.108072 +0.0776866 0.360467 -0.136075 + +0.160797 0.400158 -0.108072 +0.0908568 0.421577 -0.136075 +0.1827 0.454666 -0.0866907 + +0.103233 0.479002 -0.114694 +0.1827 0.454666 -0.0866907 +0.0908568 0.421577 -0.136075 + +0.1827 0.454666 -0.0866907 +0.103233 0.479002 -0.114694 +0.200555 0.4991 -0.0465079 + +0.113322 0.525815 -0.0745116 +0.200555 0.4991 -0.0465079 +0.103233 0.479002 -0.114694 + +0.200555 0.4991 -0.0465079 +0.113322 0.525815 -0.0745116 +0.212209 0.528103 0.00763026 + +0.119907 0.55637 -0.0203735 +0.212209 0.528103 0.00763026 +0.113322 0.525815 -0.0745116 + +0.212209 0.528103 0.00763026 +0.119907 0.55637 -0.0203735 +0.216257 0.538176 0.0691939 + +0.122194 0.566982 0.0411901 +0.216257 0.538176 0.0691939 +0.119907 0.55637 -0.0203735 + +0.122194 0.566982 0.0411901 +0.0246159 0.579477 0.00848059 +0.119907 0.55637 0.102754 + +0.0241552 0.568632 0.0700442 +0.119907 0.55637 0.102754 +0.0246159 0.579477 0.00848059 + +0.119907 0.55637 0.102754 +0.0241552 0.568632 0.0700442 +0.113322 0.525815 0.156892 + +0.0228286 0.537403 0.124182 +0.113322 0.525815 0.156892 +0.0241552 0.568632 0.0700442 + +0.113322 0.525815 0.156892 +0.0228286 0.537403 0.124182 +0.103233 0.479002 0.197075 + +0.0207962 0.489558 0.164365 +0.103233 0.479002 0.197075 +0.0228286 0.537403 0.124182 + +0.103233 0.479002 0.197075 +0.0207962 0.489558 0.164365 +0.0908568 0.421577 0.218456 + +0.0183031 0.430868 0.185746 +0.0908568 0.421577 0.218456 +0.0207962 0.489558 0.164365 + +0.0908568 0.421577 0.218456 +0.0183031 0.430868 0.185746 +0.0776866 0.360467 0.218456 + +0.0156499 0.368411 0.185746 +0.0776866 0.360467 0.218456 +0.0183031 0.430868 0.185746 + +0.0776866 0.360467 0.218456 +0.0156499 0.368411 0.185746 +0.0653106 0.303042 0.197075 + +0.0131568 0.309721 0.164365 +0.0653106 0.303042 0.197075 +0.0156499 0.368411 0.185746 + +0.0653106 0.303042 0.197075 +0.0131568 0.309721 0.164365 +0.0552216 0.256229 0.156892 + +0.0111243 0.261876 0.124182 +0.0552216 0.256229 0.156892 +0.0131568 0.309721 0.164365 + +0.0552216 0.256229 0.156892 +0.0111243 0.261876 0.124182 +0.0486364 0.225674 0.102754 + +0.00979778 0.230647 0.0700442 +0.0486364 0.225674 0.102754 +0.0111243 0.261876 0.124182 + +0.0486364 0.225674 0.102754 +0.00979778 0.230647 0.0700442 +0.0463494 0.215062 0.0411901 + +0.00933706 0.219802 0.00848059 +0.0463494 0.215062 0.0411901 +0.00979778 0.230647 0.0700442 + +0.0463494 0.215062 0.0411901 +0.00933706 0.219802 0.00848059 +0.0486364 0.225674 -0.0203735 + +0.00979778 0.230647 -0.053083 +0.0486364 0.225674 -0.0203735 +0.00933706 0.219802 0.00848059 + +0.0486364 0.225674 -0.0203735 +0.00979778 0.230647 -0.053083 +0.0552216 0.256229 -0.0745116 + +0.0111243 0.261876 -0.107221 +0.0552216 0.256229 -0.0745116 +0.00979778 0.230647 -0.053083 + +0.0552216 0.256229 -0.0745116 +0.0111243 0.261876 -0.107221 +0.0653106 0.303042 -0.114694 + +0.0131568 0.309721 -0.147404 +0.0653106 0.303042 -0.114694 +0.0111243 0.261876 -0.107221 + +0.0653106 0.303042 -0.114694 +0.0131568 0.309721 -0.147404 +0.0776866 0.360467 -0.136075 + +0.0156499 0.368411 -0.168785 +0.0776866 0.360467 -0.136075 +0.0131568 0.309721 -0.147404 + +0.0776866 0.360467 -0.136075 +0.0156499 0.368411 -0.168785 +0.0908568 0.421577 -0.136075 + +0.0183031 0.430868 -0.168785 +0.0908568 0.421577 -0.136075 +0.0156499 0.368411 -0.168785 + +0.0908568 0.421577 -0.136075 +0.0183031 0.430868 -0.168785 +0.103233 0.479002 -0.114694 + +0.0207962 0.489558 -0.147404 +0.103233 0.479002 -0.114694 +0.0183031 0.430868 -0.168785 + +0.103233 0.479002 -0.114694 +0.0207962 0.489558 -0.147404 +0.113322 0.525815 -0.0745116 + +0.0228286 0.537403 -0.107221 +0.113322 0.525815 -0.0745116 +0.0207962 0.489558 -0.147404 + +0.113322 0.525815 -0.0745116 +0.0228286 0.537403 -0.107221 +0.119907 0.55637 -0.0203735 + +0.0241552 0.568632 -0.053083 +0.119907 0.55637 -0.0203735 +0.0228286 0.537403 -0.107221 + +0.119907 0.55637 -0.0203735 +0.0241552 0.568632 -0.053083 +0.122194 0.566982 0.0411901 + +0.0246159 0.579477 0.00848059 +0.122194 0.566982 0.0411901 +0.0241552 0.568632 -0.053083 + +0.0246159 0.579477 0.00848059 +-0.0736703 0.575302 -0.0251978 +0.0241552 0.568632 0.0700442 + +-0.0722915 0.564535 0.0363658 +0.0241552 0.568632 0.0700442 +-0.0736703 0.575302 -0.0251978 + +0.0241552 0.568632 0.0700442 +-0.0722915 0.564535 0.0363658 +0.0228286 0.537403 0.124182 + +-0.0683214 0.533531 0.090504 +0.0228286 0.537403 0.124182 +-0.0722915 0.564535 0.0363658 + +0.0228286 0.537403 0.124182 +-0.0683214 0.533531 0.090504 +0.0207962 0.489558 0.164365 + +-0.0622387 0.486031 0.130687 +0.0207962 0.489558 0.164365 +-0.0683214 0.533531 0.090504 + +0.0207962 0.489558 0.164365 +-0.0622387 0.486031 0.130687 +0.0183031 0.430868 0.185746 + +-0.0547773 0.427764 0.152068 +0.0183031 0.430868 0.185746 +-0.0622387 0.486031 0.130687 + +0.0183031 0.430868 0.185746 +-0.0547773 0.427764 0.152068 +0.0156499 0.368411 0.185746 + +-0.046837 0.365757 0.152068 +0.0156499 0.368411 0.185746 +-0.0547773 0.427764 0.152068 + +0.0156499 0.368411 0.185746 +-0.046837 0.365757 0.152068 +0.0131568 0.309721 0.164365 + +-0.0393755 0.307489 0.130687 +0.0131568 0.309721 0.164365 +-0.046837 0.365757 0.152068 + +0.0131568 0.309721 0.164365 +-0.0393755 0.307489 0.130687 +0.0111243 0.261876 0.124182 + +-0.0332929 0.259989 0.090504 +0.0111243 0.261876 0.124182 +-0.0393755 0.307489 0.130687 + +0.0111243 0.261876 0.124182 +-0.0332929 0.259989 0.090504 +0.00979778 0.230647 0.0700442 + +-0.0293227 0.228986 0.0363658 +0.00979778 0.230647 0.0700442 +-0.0332929 0.259989 0.090504 + +0.00979778 0.230647 0.0700442 +-0.0293227 0.228986 0.0363658 +0.00933706 0.219802 0.00848059 + +-0.0279439 0.218218 -0.0251978 +0.00933706 0.219802 0.00848059 +-0.0293227 0.228986 0.0363658 + +0.00933706 0.219802 0.00848059 +-0.0279439 0.218218 -0.0251978 +0.00979778 0.230647 -0.053083 + +-0.0293227 0.228986 -0.0867614 +0.00979778 0.230647 -0.053083 +-0.0279439 0.218218 -0.0251978 + +0.00979778 0.230647 -0.053083 +-0.0293227 0.228986 -0.0867614 +0.0111243 0.261876 -0.107221 + +-0.0332929 0.259989 -0.1409 +0.0111243 0.261876 -0.107221 +-0.0293227 0.228986 -0.0867614 + +0.0111243 0.261876 -0.107221 +-0.0332929 0.259989 -0.1409 +0.0131568 0.309721 -0.147404 + +-0.0393755 0.307489 -0.181082 +0.0131568 0.309721 -0.147404 +-0.0332929 0.259989 -0.1409 + +0.0131568 0.309721 -0.147404 +-0.0393755 0.307489 -0.181082 +0.0156499 0.368411 -0.168785 + +-0.046837 0.365757 -0.202463 +0.0156499 0.368411 -0.168785 +-0.0393755 0.307489 -0.181082 + +0.0156499 0.368411 -0.168785 +-0.046837 0.365757 -0.202463 +0.0183031 0.430868 -0.168785 + +-0.0547773 0.427764 -0.202463 +0.0183031 0.430868 -0.168785 +-0.046837 0.365757 -0.202463 + +0.0183031 0.430868 -0.168785 +-0.0547773 0.427764 -0.202463 +0.0207962 0.489558 -0.147404 + +-0.0622387 0.486031 -0.181082 +0.0207962 0.489558 -0.147404 +-0.0547773 0.427764 -0.202463 + +0.0207962 0.489558 -0.147404 +-0.0622387 0.486031 -0.181082 +0.0228286 0.537403 -0.107221 + +-0.0683214 0.533531 -0.1409 +0.0228286 0.537403 -0.107221 +-0.0622387 0.486031 -0.181082 + +0.0228286 0.537403 -0.107221 +-0.0683214 0.533531 -0.1409 +0.0241552 0.568632 -0.053083 + +-0.0722915 0.564535 -0.0867614 +0.0241552 0.568632 -0.053083 +-0.0683214 0.533531 -0.1409 + +0.0241552 0.568632 -0.053083 +-0.0722915 0.564535 -0.0867614 +0.0246159 0.579477 0.00848059 + +-0.0736703 0.575302 -0.0251978 +0.0246159 0.579477 0.00848059 +-0.0722915 0.564535 -0.0867614 + +-0.0736703 0.575302 -0.0251978 +-0.169837 0.554577 -0.0559975 +-0.0722915 0.564535 0.0363658 + +-0.166659 0.544197 0.00556615 +-0.0722915 0.564535 0.0363658 +-0.169837 0.554577 -0.0559975 + +-0.0722915 0.564535 0.0363658 +-0.166659 0.544197 0.00556615 +-0.0683214 0.533531 0.090504 + +-0.157506 0.514311 0.0597043 +-0.0683214 0.533531 0.090504 +-0.166659 0.544197 0.00556615 + +-0.0683214 0.533531 0.090504 +-0.157506 0.514311 0.0597043 +-0.0622387 0.486031 0.130687 + +-0.143483 0.468522 0.0998871 +-0.0622387 0.486031 0.130687 +-0.157506 0.514311 0.0597043 + +-0.0622387 0.486031 0.130687 +-0.143483 0.468522 0.0998871 +-0.0547773 0.427764 0.152068 + +-0.126282 0.412353 0.121268 +-0.0547773 0.427764 0.152068 +-0.143483 0.468522 0.0998871 + +-0.0547773 0.427764 0.152068 +-0.126282 0.412353 0.121268 +-0.046837 0.365757 0.152068 + +-0.107976 0.35258 0.121268 +-0.046837 0.365757 0.152068 +-0.126282 0.412353 0.121268 + +-0.046837 0.365757 0.152068 +-0.107976 0.35258 0.121268 +-0.0393755 0.307489 0.130687 + +-0.0907751 0.296412 0.0998871 +-0.0393755 0.307489 0.130687 +-0.107976 0.35258 0.121268 + +-0.0393755 0.307489 0.130687 +-0.0907751 0.296412 0.0998871 +-0.0332929 0.259989 0.090504 + +-0.0767524 0.250623 0.0597043 +-0.0332929 0.259989 0.090504 +-0.0907751 0.296412 0.0998871 + +-0.0332929 0.259989 0.090504 +-0.0767524 0.250623 0.0597043 +-0.0293227 0.228986 0.0363658 + +-0.0675997 0.220736 0.00556615 +-0.0293227 0.228986 0.0363658 +-0.0767524 0.250623 0.0597043 + +-0.0293227 0.228986 0.0363658 +-0.0675997 0.220736 0.00556615 +-0.0279439 0.218218 -0.0251978 + +-0.064421 0.210357 -0.0559975 +-0.0279439 0.218218 -0.0251978 +-0.0675997 0.220736 0.00556615 + +-0.0279439 0.218218 -0.0251978 +-0.064421 0.210357 -0.0559975 +-0.0293227 0.228986 -0.0867614 + +-0.0675997 0.220736 -0.117561 +-0.0293227 0.228986 -0.0867614 +-0.064421 0.210357 -0.0559975 + +-0.0293227 0.228986 -0.0867614 +-0.0675997 0.220736 -0.117561 +-0.0332929 0.259989 -0.1409 + +-0.0767524 0.250623 -0.171699 +-0.0332929 0.259989 -0.1409 +-0.0675997 0.220736 -0.117561 + +-0.0332929 0.259989 -0.1409 +-0.0767524 0.250623 -0.171699 +-0.0393755 0.307489 -0.181082 + +-0.0907751 0.296412 -0.211882 +-0.0393755 0.307489 -0.181082 +-0.0767524 0.250623 -0.171699 + +-0.0393755 0.307489 -0.181082 +-0.0907751 0.296412 -0.211882 +-0.046837 0.365757 -0.202463 + +-0.107976 0.35258 -0.233263 +-0.046837 0.365757 -0.202463 +-0.0907751 0.296412 -0.211882 + +-0.046837 0.365757 -0.202463 +-0.107976 0.35258 -0.233263 +-0.0547773 0.427764 -0.202463 + +-0.126282 0.412353 -0.233263 +-0.0547773 0.427764 -0.202463 +-0.107976 0.35258 -0.233263 + +-0.0547773 0.427764 -0.202463 +-0.126282 0.412353 -0.233263 +-0.0622387 0.486031 -0.181082 + +-0.143483 0.468522 -0.211882 +-0.0622387 0.486031 -0.181082 +-0.126282 0.412353 -0.233263 + +-0.0622387 0.486031 -0.181082 +-0.143483 0.468522 -0.211882 +-0.0683214 0.533531 -0.1409 + +-0.157506 0.514311 -0.171699 +-0.0683214 0.533531 -0.1409 +-0.143483 0.468522 -0.211882 + +-0.0683214 0.533531 -0.1409 +-0.157506 0.514311 -0.171699 +-0.0722915 0.564535 -0.0867614 + +-0.166659 0.544197 -0.117561 +-0.0722915 0.564535 -0.0867614 +-0.157506 0.514311 -0.171699 + +-0.0722915 0.564535 -0.0867614 +-0.166659 0.544197 -0.117561 +-0.0736703 0.575302 -0.0251978 + +-0.169837 0.554577 -0.0559975 +-0.0736703 0.575302 -0.0251978 +-0.166659 0.544197 -0.117561 + +-0.169837 0.554577 -0.0559975 +-0.261118 0.517897 -0.0803997 +-0.166659 0.544197 0.00556615 + +-0.256231 0.508204 -0.0188361 +-0.166659 0.544197 0.00556615 +-0.261118 0.517897 -0.0803997 + +-0.166659 0.544197 0.00556615 +-0.256231 0.508204 -0.0188361 +-0.157506 0.514311 0.0597043 + +-0.242159 0.480294 0.0353021 +-0.157506 0.514311 0.0597043 +-0.256231 0.508204 -0.0188361 + +-0.157506 0.514311 0.0597043 +-0.242159 0.480294 0.0353021 +-0.143483 0.468522 0.0998871 + +-0.2206 0.437534 0.0754849 +-0.143483 0.468522 0.0998871 +-0.242159 0.480294 0.0353021 + +-0.143483 0.468522 0.0998871 +-0.2206 0.437534 0.0754849 +-0.126282 0.412353 0.121268 + +-0.194153 0.38508 0.0968657 +-0.126282 0.412353 0.121268 +-0.2206 0.437534 0.0754849 + +-0.126282 0.412353 0.121268 +-0.194153 0.38508 0.0968657 +-0.107976 0.35258 0.121268 + +-0.16601 0.32926 0.0968657 +-0.107976 0.35258 0.121268 +-0.194153 0.38508 0.0968657 + +-0.107976 0.35258 0.121268 +-0.16601 0.32926 0.0968657 +-0.0907751 0.296412 0.0998871 + +-0.139563 0.276807 0.0754849 +-0.0907751 0.296412 0.0998871 +-0.16601 0.32926 0.0968657 + +-0.0907751 0.296412 0.0998871 +-0.139563 0.276807 0.0754849 +-0.0767524 0.250623 0.0597043 + +-0.118004 0.234047 0.0353021 +-0.0767524 0.250623 0.0597043 +-0.139563 0.276807 0.0754849 + +-0.0767524 0.250623 0.0597043 +-0.118004 0.234047 0.0353021 +-0.0675997 0.220736 0.00556615 + +-0.103932 0.206137 -0.0188361 +-0.0675997 0.220736 0.00556615 +-0.118004 0.234047 0.0353021 + +-0.0675997 0.220736 0.00556615 +-0.103932 0.206137 -0.0188361 +-0.064421 0.210357 -0.0559975 + +-0.0990448 0.196444 -0.0803997 +-0.064421 0.210357 -0.0559975 +-0.103932 0.206137 -0.0188361 + +-0.064421 0.210357 -0.0559975 +-0.0990448 0.196444 -0.0803997 +-0.0675997 0.220736 -0.117561 + +-0.103932 0.206137 -0.141963 +-0.0675997 0.220736 -0.117561 +-0.0990448 0.196444 -0.0803997 + +-0.0675997 0.220736 -0.117561 +-0.103932 0.206137 -0.141963 +-0.0767524 0.250623 -0.171699 + +-0.118004 0.234047 -0.196101 +-0.0767524 0.250623 -0.171699 +-0.103932 0.206137 -0.141963 + +-0.0767524 0.250623 -0.171699 +-0.118004 0.234047 -0.196101 +-0.0907751 0.296412 -0.211882 + +-0.139563 0.276807 -0.236284 +-0.0907751 0.296412 -0.211882 +-0.118004 0.234047 -0.196101 + +-0.0907751 0.296412 -0.211882 +-0.139563 0.276807 -0.236284 +-0.107976 0.35258 -0.233263 + +-0.16601 0.32926 -0.257665 +-0.107976 0.35258 -0.233263 +-0.139563 0.276807 -0.236284 + +-0.107976 0.35258 -0.233263 +-0.16601 0.32926 -0.257665 +-0.126282 0.412353 -0.233263 + +-0.194153 0.38508 -0.257665 +-0.126282 0.412353 -0.233263 +-0.16601 0.32926 -0.257665 + +-0.126282 0.412353 -0.233263 +-0.194153 0.38508 -0.257665 +-0.143483 0.468522 -0.211882 + +-0.2206 0.437534 -0.236284 +-0.143483 0.468522 -0.211882 +-0.194153 0.38508 -0.257665 + +-0.143483 0.468522 -0.211882 +-0.2206 0.437534 -0.236284 +-0.157506 0.514311 -0.171699 + +-0.242159 0.480294 -0.196101 +-0.157506 0.514311 -0.171699 +-0.2206 0.437534 -0.236284 + +-0.157506 0.514311 -0.171699 +-0.242159 0.480294 -0.196101 +-0.166659 0.544197 -0.117561 + +-0.256231 0.508204 -0.141963 +-0.166659 0.544197 -0.117561 +-0.242159 0.480294 -0.196101 + +-0.166659 0.544197 -0.117561 +-0.256231 0.508204 -0.141963 +-0.169837 0.554577 -0.0559975 + +-0.261118 0.517897 -0.0803997 +-0.169837 0.554577 -0.0559975 +-0.256231 0.508204 -0.141963 + +-0.261118 0.517897 -0.0803997 +-0.344887 0.466318 -0.0956167 +-0.256231 0.508204 -0.0188361 + +-0.338432 0.457591 -0.034053 +-0.256231 0.508204 -0.0188361 +-0.344887 0.466318 -0.0956167 + +-0.256231 0.508204 -0.0188361 +-0.338432 0.457591 -0.034053 +-0.242159 0.480294 0.0353021 + +-0.319846 0.43246 0.0200851 +-0.242159 0.480294 0.0353021 +-0.338432 0.457591 -0.034053 + +-0.242159 0.480294 0.0353021 +-0.319846 0.43246 0.0200851 +-0.2206 0.437534 0.0754849 + +-0.29137 0.393959 0.0602679 +-0.2206 0.437534 0.0754849 +-0.319846 0.43246 0.0200851 + +-0.2206 0.437534 0.0754849 +-0.29137 0.393959 0.0602679 +-0.194153 0.38508 0.0968657 + +-0.25644 0.346729 0.0816487 +-0.194153 0.38508 0.0968657 +-0.29137 0.393959 0.0602679 + +-0.194153 0.38508 0.0968657 +-0.25644 0.346729 0.0816487 +-0.16601 0.32926 0.0968657 + +-0.219267 0.296469 0.0816487 +-0.16601 0.32926 0.0968657 +-0.25644 0.346729 0.0816487 + +-0.16601 0.32926 0.0968657 +-0.219267 0.296469 0.0816487 +-0.139563 0.276807 0.0754849 + +-0.184336 0.249239 0.0602679 +-0.139563 0.276807 0.0754849 +-0.219267 0.296469 0.0816487 + +-0.139563 0.276807 0.0754849 +-0.184336 0.249239 0.0602679 +-0.118004 0.234047 0.0353021 + +-0.15586 0.210737 0.0200851 +-0.118004 0.234047 0.0353021 +-0.184336 0.249239 0.0602679 + +-0.118004 0.234047 0.0353021 +-0.15586 0.210737 0.0200851 +-0.103932 0.206137 -0.0188361 + +-0.137274 0.185607 -0.034053 +-0.103932 0.206137 -0.0188361 +-0.15586 0.210737 0.0200851 + +-0.103932 0.206137 -0.0188361 +-0.137274 0.185607 -0.034053 +-0.0990448 0.196444 -0.0803997 + +-0.130819 0.176879 -0.0956167 +-0.0990448 0.196444 -0.0803997 +-0.137274 0.185607 -0.034053 + +-0.0990448 0.196444 -0.0803997 +-0.130819 0.176879 -0.0956167 +-0.103932 0.206137 -0.141963 + +-0.137274 0.185607 -0.15718 +-0.103932 0.206137 -0.141963 +-0.130819 0.176879 -0.0956167 + +-0.103932 0.206137 -0.141963 +-0.137274 0.185607 -0.15718 +-0.118004 0.234047 -0.196101 + +-0.15586 0.210737 -0.211318 +-0.118004 0.234047 -0.196101 +-0.137274 0.185607 -0.15718 + +-0.118004 0.234047 -0.196101 +-0.15586 0.210737 -0.211318 +-0.139563 0.276807 -0.236284 + +-0.184336 0.249239 -0.251501 +-0.139563 0.276807 -0.236284 +-0.15586 0.210737 -0.211318 + +-0.139563 0.276807 -0.236284 +-0.184336 0.249239 -0.251501 +-0.16601 0.32926 -0.257665 + +-0.219267 0.296469 -0.272882 +-0.16601 0.32926 -0.257665 +-0.184336 0.249239 -0.251501 + +-0.16601 0.32926 -0.257665 +-0.219267 0.296469 -0.272882 +-0.194153 0.38508 -0.257665 + +-0.25644 0.346729 -0.272882 +-0.194153 0.38508 -0.257665 +-0.219267 0.296469 -0.272882 + +-0.194153 0.38508 -0.257665 +-0.25644 0.346729 -0.272882 +-0.2206 0.437534 -0.236284 + +-0.29137 0.393959 -0.251501 +-0.2206 0.437534 -0.236284 +-0.25644 0.346729 -0.272882 + +-0.2206 0.437534 -0.236284 +-0.29137 0.393959 -0.251501 +-0.242159 0.480294 -0.196101 + +-0.319846 0.43246 -0.211318 +-0.242159 0.480294 -0.196101 +-0.29137 0.393959 -0.251501 + +-0.242159 0.480294 -0.196101 +-0.319846 0.43246 -0.211318 +-0.256231 0.508204 -0.141963 + +-0.338432 0.457591 -0.15718 +-0.256231 0.508204 -0.141963 +-0.319846 0.43246 -0.211318 + +-0.256231 0.508204 -0.141963 +-0.338432 0.457591 -0.15718 +-0.261118 0.517897 -0.0803997 + +-0.344887 0.466318 -0.0956167 +-0.261118 0.517897 -0.0803997 +-0.338432 0.457591 -0.15718 + +-0.344887 0.466318 -0.0956167 +-0.418735 0.401325 -0.0999099 +-0.338432 0.457591 -0.034053 + +-0.410897 0.393813 -0.0383463 +-0.338432 0.457591 -0.034053 +-0.418735 0.401325 -0.0999099 + +-0.338432 0.457591 -0.034053 +-0.410897 0.393813 -0.0383463 +-0.319846 0.43246 0.0200851 + +-0.388332 0.372186 0.0157919 +-0.319846 0.43246 0.0200851 +-0.410897 0.393813 -0.0383463 + +-0.319846 0.43246 0.0200851 +-0.388332 0.372186 0.0157919 +-0.29137 0.393959 0.0602679 + +-0.353758 0.33905 0.0559747 +-0.29137 0.393959 0.0602679 +-0.388332 0.372186 0.0157919 + +-0.29137 0.393959 0.0602679 +-0.353758 0.33905 0.0559747 +-0.25644 0.346729 0.0816487 + +-0.311348 0.298403 0.0773555 +-0.25644 0.346729 0.0816487 +-0.353758 0.33905 0.0559747 + +-0.25644 0.346729 0.0816487 +-0.311348 0.298403 0.0773555 +-0.219267 0.296469 0.0816487 + +-0.266216 0.255148 0.0773555 +-0.219267 0.296469 0.0816487 +-0.311348 0.298403 0.0773555 + +-0.219267 0.296469 0.0816487 +-0.266216 0.255148 0.0773555 +-0.184336 0.249239 0.0602679 + +-0.223806 0.214501 0.0559747 +-0.184336 0.249239 0.0602679 +-0.266216 0.255148 0.0773555 + +-0.184336 0.249239 0.0602679 +-0.223806 0.214501 0.0559747 +-0.15586 0.210737 0.0200851 + +-0.189233 0.181365 0.0157919 +-0.15586 0.210737 0.0200851 +-0.223806 0.214501 0.0559747 + +-0.15586 0.210737 0.0200851 +-0.189233 0.181365 0.0157919 +-0.137274 0.185607 -0.034053 + +-0.166667 0.159738 -0.0383463 +-0.137274 0.185607 -0.034053 +-0.189233 0.181365 0.0157919 + +-0.137274 0.185607 -0.034053 +-0.166667 0.159738 -0.0383463 +-0.130819 0.176879 -0.0956167 + +-0.15883 0.152227 -0.0999099 +-0.130819 0.176879 -0.0956167 +-0.166667 0.159738 -0.0383463 + +-0.130819 0.176879 -0.0956167 +-0.15883 0.152227 -0.0999099 +-0.137274 0.185607 -0.15718 + +-0.166667 0.159738 -0.161474 +-0.137274 0.185607 -0.15718 +-0.15883 0.152227 -0.0999099 + +-0.137274 0.185607 -0.15718 +-0.166667 0.159738 -0.161474 +-0.15586 0.210737 -0.211318 + +-0.189233 0.181365 -0.215612 +-0.15586 0.210737 -0.211318 +-0.166667 0.159738 -0.161474 + +-0.15586 0.210737 -0.211318 +-0.189233 0.181365 -0.215612 +-0.184336 0.249239 -0.251501 + +-0.223806 0.214501 -0.255794 +-0.184336 0.249239 -0.251501 +-0.189233 0.181365 -0.215612 + +-0.184336 0.249239 -0.251501 +-0.223806 0.214501 -0.255794 +-0.219267 0.296469 -0.272882 + +-0.266216 0.255148 -0.277175 +-0.219267 0.296469 -0.272882 +-0.223806 0.214501 -0.255794 + +-0.219267 0.296469 -0.272882 +-0.266216 0.255148 -0.277175 +-0.25644 0.346729 -0.272882 + +-0.311348 0.298403 -0.277175 +-0.25644 0.346729 -0.272882 +-0.266216 0.255148 -0.277175 + +-0.25644 0.346729 -0.272882 +-0.311348 0.298403 -0.277175 +-0.29137 0.393959 -0.251501 + +-0.353758 0.33905 -0.255794 +-0.29137 0.393959 -0.251501 +-0.311348 0.298403 -0.277175 + +-0.29137 0.393959 -0.251501 +-0.353758 0.33905 -0.255794 +-0.319846 0.43246 -0.211318 + +-0.388332 0.372186 -0.215612 +-0.319846 0.43246 -0.211318 +-0.353758 0.33905 -0.255794 + +-0.319846 0.43246 -0.211318 +-0.388332 0.372186 -0.215612 +-0.338432 0.457591 -0.15718 + +-0.410897 0.393813 -0.161474 +-0.338432 0.457591 -0.15718 +-0.388332 0.372186 -0.215612 + +-0.338432 0.457591 -0.15718 +-0.410897 0.393813 -0.161474 +-0.344887 0.466318 -0.0956167 + +-0.418735 0.401325 -0.0999099 +-0.344887 0.466318 -0.0956167 +-0.410897 0.393813 -0.161474 + +-0.418735 0.401325 -0.0999099 +-0.480536 0.324785 -0.0927889 +-0.410897 0.393813 -0.0383463 + +-0.471542 0.318707 -0.0312253 +-0.410897 0.393813 -0.0383463 +-0.480536 0.324785 -0.0927889 + +-0.410897 0.393813 -0.0383463 +-0.471542 0.318707 -0.0312253 +-0.388332 0.372186 0.0157919 + +-0.445645 0.301204 0.0229129 +-0.388332 0.372186 0.0157919 +-0.471542 0.318707 -0.0312253 + +-0.388332 0.372186 0.0157919 +-0.445645 0.301204 0.0229129 +-0.353758 0.33905 0.0559747 + +-0.40597 0.274388 0.0630957 +-0.353758 0.33905 0.0559747 +-0.445645 0.301204 0.0229129 + +-0.353758 0.33905 0.0559747 +-0.40597 0.274388 0.0630957 +-0.311348 0.298403 0.0773555 + +-0.3573 0.241493 0.0844765 +-0.311348 0.298403 0.0773555 +-0.40597 0.274388 0.0630957 + +-0.311348 0.298403 0.0773555 +-0.3573 0.241493 0.0844765 +-0.266216 0.255148 0.0773555 + +-0.305507 0.206487 0.0844765 +-0.266216 0.255148 0.0773555 +-0.3573 0.241493 0.0844765 + +-0.266216 0.255148 0.0773555 +-0.305507 0.206487 0.0844765 +-0.223806 0.214501 0.0559747 + +-0.256838 0.173592 0.0630957 +-0.223806 0.214501 0.0559747 +-0.305507 0.206487 0.0844765 + +-0.223806 0.214501 0.0559747 +-0.256838 0.173592 0.0630957 +-0.189233 0.181365 0.0157919 + +-0.217162 0.146776 0.0229129 +-0.189233 0.181365 0.0157919 +-0.256838 0.173592 0.0630957 + +-0.189233 0.181365 0.0157919 +-0.217162 0.146776 0.0229129 +-0.166667 0.159738 -0.0383463 + +-0.191266 0.129273 -0.0312253 +-0.166667 0.159738 -0.0383463 +-0.217162 0.146776 0.0229129 + +-0.166667 0.159738 -0.0383463 +-0.191266 0.129273 -0.0312253 +-0.15883 0.152227 -0.0999099 + +-0.182272 0.123194 -0.0927889 +-0.15883 0.152227 -0.0999099 +-0.191266 0.129273 -0.0312253 + +-0.15883 0.152227 -0.0999099 +-0.182272 0.123194 -0.0927889 +-0.166667 0.159738 -0.161474 + +-0.191266 0.129273 -0.154353 +-0.166667 0.159738 -0.161474 +-0.182272 0.123194 -0.0927889 + +-0.166667 0.159738 -0.161474 +-0.191266 0.129273 -0.154353 +-0.189233 0.181365 -0.215612 + +-0.217162 0.146776 -0.208491 +-0.189233 0.181365 -0.215612 +-0.191266 0.129273 -0.154353 + +-0.189233 0.181365 -0.215612 +-0.217162 0.146776 -0.208491 +-0.223806 0.214501 -0.255794 + +-0.256838 0.173592 -0.248673 +-0.223806 0.214501 -0.255794 +-0.217162 0.146776 -0.208491 + +-0.223806 0.214501 -0.255794 +-0.256838 0.173592 -0.248673 +-0.266216 0.255148 -0.277175 + +-0.305507 0.206487 -0.270054 +-0.266216 0.255148 -0.277175 +-0.256838 0.173592 -0.248673 + +-0.266216 0.255148 -0.277175 +-0.305507 0.206487 -0.270054 +-0.311348 0.298403 -0.277175 + +-0.3573 0.241493 -0.270054 +-0.311348 0.298403 -0.277175 +-0.305507 0.206487 -0.270054 + +-0.311348 0.298403 -0.277175 +-0.3573 0.241493 -0.270054 +-0.353758 0.33905 -0.255794 + +-0.40597 0.274388 -0.248673 +-0.353758 0.33905 -0.255794 +-0.3573 0.241493 -0.270054 + +-0.353758 0.33905 -0.255794 +-0.40597 0.274388 -0.248673 +-0.388332 0.372186 -0.215612 + +-0.445645 0.301204 -0.208491 +-0.388332 0.372186 -0.215612 +-0.40597 0.274388 -0.248673 + +-0.388332 0.372186 -0.215612 +-0.445645 0.301204 -0.208491 +-0.410897 0.393813 -0.161474 + +-0.471542 0.318707 -0.154353 +-0.410897 0.393813 -0.161474 +-0.445645 0.301204 -0.208491 + +-0.410897 0.393813 -0.161474 +-0.471542 0.318707 -0.154353 +-0.418735 0.401325 -0.0999099 + +-0.480536 0.324785 -0.0927889 +-0.418735 0.401325 -0.0999099 +-0.471542 0.318707 -0.154353 + +-0.480536 0.324785 -0.0927889 +-0.528513 0.238903 -0.0750672 +-0.471542 0.318707 -0.0312253 + +-0.518621 0.234431 -0.0135036 +-0.471542 0.318707 -0.0312253 +-0.528513 0.238903 -0.0750672 + +-0.471542 0.318707 -0.0312253 +-0.518621 0.234431 -0.0135036 +-0.445645 0.301204 0.0229129 + +-0.490139 0.221557 0.0406345 +-0.445645 0.301204 0.0229129 +-0.518621 0.234431 -0.0135036 + +-0.445645 0.301204 0.0229129 +-0.490139 0.221557 0.0406345 +-0.40597 0.274388 0.0630957 + +-0.446502 0.201832 0.0808173 +-0.40597 0.274388 0.0630957 +-0.490139 0.221557 0.0406345 + +-0.40597 0.274388 0.0630957 +-0.446502 0.201832 0.0808173 +-0.3573 0.241493 0.0844765 + +-0.392973 0.177635 0.102198 +-0.3573 0.241493 0.0844765 +-0.446502 0.201832 0.0808173 + +-0.3573 0.241493 0.0844765 +-0.392973 0.177635 0.102198 +-0.305507 0.206487 0.0844765 + +-0.336009 0.151886 0.102198 +-0.305507 0.206487 0.0844765 +-0.392973 0.177635 0.102198 + +-0.305507 0.206487 0.0844765 +-0.336009 0.151886 0.102198 +-0.256838 0.173592 0.0630957 + +-0.282481 0.127689 0.0808173 +-0.256838 0.173592 0.0630957 +-0.336009 0.151886 0.102198 + +-0.256838 0.173592 0.0630957 +-0.282481 0.127689 0.0808173 +-0.217162 0.146776 0.0229129 + +-0.238844 0.107964 0.0406345 +-0.217162 0.146776 0.0229129 +-0.282481 0.127689 0.0808173 + +-0.217162 0.146776 0.0229129 +-0.238844 0.107964 0.0406345 +-0.191266 0.129273 -0.0312253 + +-0.210362 0.0950896 -0.0135036 +-0.191266 0.129273 -0.0312253 +-0.238844 0.107964 0.0406345 + +-0.191266 0.129273 -0.0312253 +-0.210362 0.0950896 -0.0135036 +-0.182272 0.123194 -0.0927889 + +-0.20047 0.0906183 -0.0750672 +-0.182272 0.123194 -0.0927889 +-0.210362 0.0950896 -0.0135036 + +-0.182272 0.123194 -0.0927889 +-0.20047 0.0906183 -0.0750672 +-0.191266 0.129273 -0.154353 + +-0.210362 0.0950896 -0.136631 +-0.191266 0.129273 -0.154353 +-0.20047 0.0906183 -0.0750672 + +-0.191266 0.129273 -0.154353 +-0.210362 0.0950896 -0.136631 +-0.217162 0.146776 -0.208491 + +-0.238844 0.107964 -0.190769 +-0.217162 0.146776 -0.208491 +-0.210362 0.0950896 -0.136631 + +-0.217162 0.146776 -0.208491 +-0.238844 0.107964 -0.190769 +-0.256838 0.173592 -0.248673 + +-0.282481 0.127689 -0.230952 +-0.256838 0.173592 -0.248673 +-0.238844 0.107964 -0.190769 + +-0.256838 0.173592 -0.248673 +-0.282481 0.127689 -0.230952 +-0.305507 0.206487 -0.270054 + +-0.336009 0.151886 -0.252333 +-0.305507 0.206487 -0.270054 +-0.282481 0.127689 -0.230952 + +-0.305507 0.206487 -0.270054 +-0.336009 0.151886 -0.252333 +-0.3573 0.241493 -0.270054 + +-0.392973 0.177635 -0.252333 +-0.3573 0.241493 -0.270054 +-0.336009 0.151886 -0.252333 + +-0.3573 0.241493 -0.270054 +-0.392973 0.177635 -0.252333 +-0.40597 0.274388 -0.248673 + +-0.446502 0.201832 -0.230952 +-0.40597 0.274388 -0.248673 +-0.392973 0.177635 -0.252333 + +-0.40597 0.274388 -0.248673 +-0.446502 0.201832 -0.230952 +-0.445645 0.301204 -0.208491 + +-0.490139 0.221557 -0.190769 +-0.445645 0.301204 -0.208491 +-0.446502 0.201832 -0.230952 + +-0.445645 0.301204 -0.208491 +-0.490139 0.221557 -0.190769 +-0.471542 0.318707 -0.154353 + +-0.518621 0.234431 -0.136631 +-0.471542 0.318707 -0.154353 +-0.490139 0.221557 -0.190769 + +-0.471542 0.318707 -0.154353 +-0.518621 0.234431 -0.136631 +-0.480536 0.324785 -0.0927889 + +-0.528513 0.238903 -0.0750672 +-0.480536 0.324785 -0.0927889 +-0.518621 0.234431 -0.136631 + +-0.528513 0.238903 -0.0750672 +-0.561285 0.146147 -0.0487695 +-0.518621 0.234431 -0.0135036 + +-0.55078 0.143412 0.0127941 +-0.518621 0.234431 -0.0135036 +-0.561285 0.146147 -0.0487695 + +-0.518621 0.234431 -0.0135036 +-0.55078 0.143412 0.0127941 +-0.490139 0.221557 0.0406345 + +-0.520532 0.135536 0.0669323 +-0.490139 0.221557 0.0406345 +-0.55078 0.143412 0.0127941 + +-0.490139 0.221557 0.0406345 +-0.520532 0.135536 0.0669323 +-0.446502 0.201832 0.0808173 + +-0.474189 0.123469 0.107115 +-0.446502 0.201832 0.0808173 +-0.520532 0.135536 0.0669323 + +-0.446502 0.201832 0.0808173 +-0.474189 0.123469 0.107115 +-0.392973 0.177635 0.102198 + +-0.417341 0.108667 0.128496 +-0.392973 0.177635 0.102198 +-0.474189 0.123469 0.107115 + +-0.392973 0.177635 0.102198 +-0.417341 0.108667 0.128496 +-0.336009 0.151886 0.102198 + +-0.356845 0.0929152 0.128496 +-0.336009 0.151886 0.102198 +-0.417341 0.108667 0.128496 + +-0.336009 0.151886 0.102198 +-0.356845 0.0929152 0.128496 +-0.282481 0.127689 0.0808173 + +-0.299997 0.0781132 0.107115 +-0.282481 0.127689 0.0808173 +-0.356845 0.0929152 0.128496 + +-0.282481 0.127689 0.0808173 +-0.299997 0.0781132 0.107115 +-0.238844 0.107964 0.0406345 + +-0.253654 0.0660465 0.0669323 +-0.238844 0.107964 0.0406345 +-0.299997 0.0781132 0.107115 + +-0.238844 0.107964 0.0406345 +-0.253654 0.0660465 0.0669323 +-0.210362 0.0950896 -0.0135036 + +-0.223406 0.0581705 0.0127941 +-0.210362 0.0950896 -0.0135036 +-0.253654 0.0660465 0.0669323 + +-0.210362 0.0950896 -0.0135036 +-0.223406 0.0581705 0.0127941 +-0.20047 0.0906183 -0.0750672 + +-0.212901 0.0554352 -0.0487695 +-0.20047 0.0906183 -0.0750672 +-0.223406 0.0581705 0.0127941 + +-0.20047 0.0906183 -0.0750672 +-0.212901 0.0554352 -0.0487695 +-0.210362 0.0950896 -0.136631 + +-0.223406 0.0581705 -0.110333 +-0.210362 0.0950896 -0.136631 +-0.212901 0.0554352 -0.0487695 + +-0.210362 0.0950896 -0.136631 +-0.223406 0.0581705 -0.110333 +-0.238844 0.107964 -0.190769 + +-0.253654 0.0660465 -0.164471 +-0.238844 0.107964 -0.190769 +-0.223406 0.0581705 -0.110333 + +-0.238844 0.107964 -0.190769 +-0.253654 0.0660465 -0.164471 +-0.282481 0.127689 -0.230952 + +-0.299997 0.0781132 -0.204654 +-0.282481 0.127689 -0.230952 +-0.253654 0.0660465 -0.164471 + +-0.282481 0.127689 -0.230952 +-0.299997 0.0781132 -0.204654 +-0.336009 0.151886 -0.252333 + +-0.356845 0.0929152 -0.226035 +-0.336009 0.151886 -0.252333 +-0.299997 0.0781132 -0.204654 + +-0.336009 0.151886 -0.252333 +-0.356845 0.0929152 -0.226035 +-0.392973 0.177635 -0.252333 + +-0.417341 0.108667 -0.226035 +-0.392973 0.177635 -0.252333 +-0.356845 0.0929152 -0.226035 + +-0.392973 0.177635 -0.252333 +-0.417341 0.108667 -0.226035 +-0.446502 0.201832 -0.230952 + +-0.474189 0.123469 -0.204654 +-0.446502 0.201832 -0.230952 +-0.417341 0.108667 -0.226035 + +-0.446502 0.201832 -0.230952 +-0.474189 0.123469 -0.204654 +-0.490139 0.221557 -0.190769 + +-0.520532 0.135536 -0.164471 +-0.490139 0.221557 -0.190769 +-0.474189 0.123469 -0.204654 + +-0.490139 0.221557 -0.190769 +-0.520532 0.135536 -0.164471 +-0.518621 0.234431 -0.136631 + +-0.55078 0.143412 -0.110333 +-0.518621 0.234431 -0.136631 +-0.520532 0.135536 -0.164471 + +-0.518621 0.234431 -0.136631 +-0.55078 0.143412 -0.110333 +-0.528513 0.238903 -0.0750672 + +-0.561285 0.146147 -0.0487695 +-0.528513 0.238903 -0.0750672 +-0.55078 0.143412 -0.110333 + +-0.561285 0.146147 -0.0487695 +-0.577911 0.0491874 -0.0169001 +-0.55078 0.143412 0.0127941 + +-0.567094 0.0482668 0.0446635 +-0.55078 0.143412 0.0127941 +-0.577911 0.0491874 -0.0169001 + +-0.55078 0.143412 0.0127941 +-0.567094 0.0482668 0.0446635 +-0.520532 0.135536 0.0669323 + +-0.53595 0.0456161 0.0988017 +-0.520532 0.135536 0.0669323 +-0.567094 0.0482668 0.0446635 + +-0.520532 0.135536 0.0669323 +-0.53595 0.0456161 0.0988017 +-0.474189 0.123469 0.107115 + +-0.488235 0.0415549 0.138984 +-0.474189 0.123469 0.107115 +-0.53595 0.0456161 0.0988017 + +-0.474189 0.123469 0.107115 +-0.488235 0.0415549 0.138984 +-0.417341 0.108667 0.128496 + +-0.429703 0.0365731 0.160365 +-0.417341 0.108667 0.128496 +-0.488235 0.0415549 0.138984 + +-0.417341 0.108667 0.128496 +-0.429703 0.0365731 0.160365 +-0.356845 0.0929152 0.128496 + +-0.367415 0.0312716 0.160365 +-0.356845 0.0929152 0.128496 +-0.429703 0.0365731 0.160365 + +-0.356845 0.0929152 0.128496 +-0.367415 0.0312716 0.160365 +-0.299997 0.0781132 0.107115 + +-0.308883 0.0262898 0.138984 +-0.299997 0.0781132 0.107115 +-0.367415 0.0312716 0.160365 + +-0.299997 0.0781132 0.107115 +-0.308883 0.0262898 0.138984 +-0.253654 0.0660465 0.0669323 + +-0.261168 0.0222287 0.0988017 +-0.253654 0.0660465 0.0669323 +-0.308883 0.0262898 0.138984 + +-0.253654 0.0660465 0.0669323 +-0.261168 0.0222287 0.0988017 +-0.223406 0.0581705 0.0127941 + +-0.230024 0.0195779 0.0446635 +-0.223406 0.0581705 0.0127941 +-0.261168 0.0222287 0.0988017 + +-0.223406 0.0581705 0.0127941 +-0.230024 0.0195779 0.0446635 +-0.212901 0.0554352 -0.0487695 + +-0.219207 0.0186573 -0.0169001 +-0.212901 0.0554352 -0.0487695 +-0.230024 0.0195779 0.0446635 + +-0.212901 0.0554352 -0.0487695 +-0.219207 0.0186573 -0.0169001 +-0.223406 0.0581705 -0.110333 + +-0.230024 0.0195779 -0.0784637 +-0.223406 0.0581705 -0.110333 +-0.219207 0.0186573 -0.0169001 + +-0.223406 0.0581705 -0.110333 +-0.230024 0.0195779 -0.0784637 +-0.253654 0.0660465 -0.164471 + +-0.261168 0.0222287 -0.132602 +-0.253654 0.0660465 -0.164471 +-0.230024 0.0195779 -0.0784637 + +-0.253654 0.0660465 -0.164471 +-0.261168 0.0222287 -0.132602 +-0.299997 0.0781132 -0.204654 + +-0.308883 0.0262898 -0.172785 +-0.299997 0.0781132 -0.204654 +-0.261168 0.0222287 -0.132602 + +-0.299997 0.0781132 -0.204654 +-0.308883 0.0262898 -0.172785 +-0.356845 0.0929152 -0.226035 + +-0.367415 0.0312716 -0.194165 +-0.356845 0.0929152 -0.226035 +-0.308883 0.0262898 -0.172785 + +-0.356845 0.0929152 -0.226035 +-0.367415 0.0312716 -0.194165 +-0.417341 0.108667 -0.226035 + +-0.429703 0.0365731 -0.194165 +-0.417341 0.108667 -0.226035 +-0.367415 0.0312716 -0.194165 + +-0.417341 0.108667 -0.226035 +-0.429703 0.0365731 -0.194165 +-0.474189 0.123469 -0.204654 + +-0.488235 0.0415549 -0.172785 +-0.474189 0.123469 -0.204654 +-0.429703 0.0365731 -0.194165 + +-0.474189 0.123469 -0.204654 +-0.488235 0.0415549 -0.172785 +-0.520532 0.135536 -0.164471 + +-0.53595 0.0456161 -0.132602 +-0.520532 0.135536 -0.164471 +-0.488235 0.0415549 -0.172785 + +-0.520532 0.135536 -0.164471 +-0.53595 0.0456161 -0.132602 +-0.55078 0.143412 -0.110333 + +-0.567094 0.0482668 -0.0784637 +-0.55078 0.143412 -0.110333 +-0.53595 0.0456161 -0.132602 + +-0.55078 0.143412 -0.110333 +-0.567094 0.0482668 -0.0784637 +-0.561285 0.146147 -0.0487695 + +-0.577911 0.0491874 -0.0169001 +-0.561285 0.146147 -0.0487695 +-0.567094 0.0482668 -0.0784637 + +-0.577911 0.0491874 -0.0169001 +-0.577911 -0.0491874 0.0169001 +-0.567094 0.0482668 0.0446635 + +-0.567094 -0.0482668 0.0784637 +-0.567094 0.0482668 0.0446635 +-0.577911 -0.0491874 0.0169001 + +-0.567094 0.0482668 0.0446635 +-0.567094 -0.0482668 0.0784637 +-0.53595 0.0456161 0.0988017 + +-0.53595 -0.0456161 0.132602 +-0.53595 0.0456161 0.0988017 +-0.567094 -0.0482668 0.0784637 + +-0.53595 0.0456161 0.0988017 +-0.53595 -0.0456161 0.132602 +-0.488235 0.0415549 0.138984 + +-0.488235 -0.0415549 0.172785 +-0.488235 0.0415549 0.138984 +-0.53595 -0.0456161 0.132602 + +-0.488235 0.0415549 0.138984 +-0.488235 -0.0415549 0.172785 +-0.429703 0.0365731 0.160365 + +-0.429703 -0.0365731 0.194165 +-0.429703 0.0365731 0.160365 +-0.488235 -0.0415549 0.172785 + +-0.429703 0.0365731 0.160365 +-0.429703 -0.0365731 0.194165 +-0.367415 0.0312716 0.160365 + +-0.367415 -0.0312716 0.194165 +-0.367415 0.0312716 0.160365 +-0.429703 -0.0365731 0.194165 + +-0.367415 0.0312716 0.160365 +-0.367415 -0.0312716 0.194165 +-0.308883 0.0262898 0.138984 + +-0.308883 -0.0262898 0.172785 +-0.308883 0.0262898 0.138984 +-0.367415 -0.0312716 0.194165 + +-0.308883 0.0262898 0.138984 +-0.308883 -0.0262898 0.172785 +-0.261168 0.0222287 0.0988017 + +-0.261168 -0.0222287 0.132602 +-0.261168 0.0222287 0.0988017 +-0.308883 -0.0262898 0.172785 + +-0.261168 0.0222287 0.0988017 +-0.261168 -0.0222287 0.132602 +-0.230024 0.0195779 0.0446635 + +-0.230024 -0.0195779 0.0784637 +-0.230024 0.0195779 0.0446635 +-0.261168 -0.0222287 0.132602 + +-0.230024 0.0195779 0.0446635 +-0.230024 -0.0195779 0.0784637 +-0.219207 0.0186573 -0.0169001 + +-0.219207 -0.0186573 0.0169001 +-0.219207 0.0186573 -0.0169001 +-0.230024 -0.0195779 0.0784637 + +-0.219207 0.0186573 -0.0169001 +-0.219207 -0.0186573 0.0169001 +-0.230024 0.0195779 -0.0784637 + +-0.230024 -0.0195779 -0.0446635 +-0.230024 0.0195779 -0.0784637 +-0.219207 -0.0186573 0.0169001 + +-0.230024 0.0195779 -0.0784637 +-0.230024 -0.0195779 -0.0446635 +-0.261168 0.0222287 -0.132602 + +-0.261168 -0.0222287 -0.0988017 +-0.261168 0.0222287 -0.132602 +-0.230024 -0.0195779 -0.0446635 + +-0.261168 0.0222287 -0.132602 +-0.261168 -0.0222287 -0.0988017 +-0.308883 0.0262898 -0.172785 + +-0.308883 -0.0262898 -0.138984 +-0.308883 0.0262898 -0.172785 +-0.261168 -0.0222287 -0.0988017 + +-0.308883 0.0262898 -0.172785 +-0.308883 -0.0262898 -0.138984 +-0.367415 0.0312716 -0.194165 + +-0.367415 -0.0312716 -0.160365 +-0.367415 0.0312716 -0.194165 +-0.308883 -0.0262898 -0.138984 + +-0.367415 0.0312716 -0.194165 +-0.367415 -0.0312716 -0.160365 +-0.429703 0.0365731 -0.194165 + +-0.429703 -0.0365731 -0.160365 +-0.429703 0.0365731 -0.194165 +-0.367415 -0.0312716 -0.160365 + +-0.429703 0.0365731 -0.194165 +-0.429703 -0.0365731 -0.160365 +-0.488235 0.0415549 -0.172785 + +-0.488235 -0.0415549 -0.138984 +-0.488235 0.0415549 -0.172785 +-0.429703 -0.0365731 -0.160365 + +-0.488235 0.0415549 -0.172785 +-0.488235 -0.0415549 -0.138984 +-0.53595 0.0456161 -0.132602 + +-0.53595 -0.0456161 -0.0988017 +-0.53595 0.0456161 -0.132602 +-0.488235 -0.0415549 -0.138984 + +-0.53595 0.0456161 -0.132602 +-0.53595 -0.0456161 -0.0988017 +-0.567094 0.0482668 -0.0784637 + +-0.567094 -0.0482668 -0.0446635 +-0.567094 0.0482668 -0.0784637 +-0.53595 -0.0456161 -0.0988017 + +-0.567094 0.0482668 -0.0784637 +-0.567094 -0.0482668 -0.0446635 +-0.577911 0.0491874 -0.0169001 + +-0.577911 -0.0491874 0.0169001 +-0.577911 0.0491874 -0.0169001 +-0.567094 -0.0482668 -0.0446635 + +-0.577911 -0.0491874 0.0169001 +-0.561285 -0.146147 0.0487695 +-0.567094 -0.0482668 0.0784637 + +-0.55078 -0.143412 0.110333 +-0.567094 -0.0482668 0.0784637 +-0.561285 -0.146147 0.0487695 + +-0.567094 -0.0482668 0.0784637 +-0.55078 -0.143412 0.110333 +-0.53595 -0.0456161 0.132602 + +-0.520532 -0.135536 0.164471 +-0.53595 -0.0456161 0.132602 +-0.55078 -0.143412 0.110333 + +-0.53595 -0.0456161 0.132602 +-0.520532 -0.135536 0.164471 +-0.488235 -0.0415549 0.172785 + +-0.474189 -0.123469 0.204654 +-0.488235 -0.0415549 0.172785 +-0.520532 -0.135536 0.164471 + +-0.488235 -0.0415549 0.172785 +-0.474189 -0.123469 0.204654 +-0.429703 -0.0365731 0.194165 + +-0.417341 -0.108667 0.226035 +-0.429703 -0.0365731 0.194165 +-0.474189 -0.123469 0.204654 + +-0.429703 -0.0365731 0.194165 +-0.417341 -0.108667 0.226035 +-0.367415 -0.0312716 0.194165 + +-0.356845 -0.0929152 0.226035 +-0.367415 -0.0312716 0.194165 +-0.417341 -0.108667 0.226035 + +-0.367415 -0.0312716 0.194165 +-0.356845 -0.0929152 0.226035 +-0.308883 -0.0262898 0.172785 + +-0.299997 -0.0781132 0.204654 +-0.308883 -0.0262898 0.172785 +-0.356845 -0.0929152 0.226035 + +-0.308883 -0.0262898 0.172785 +-0.299997 -0.0781132 0.204654 +-0.261168 -0.0222287 0.132602 + +-0.253654 -0.0660465 0.164471 +-0.261168 -0.0222287 0.132602 +-0.299997 -0.0781132 0.204654 + +-0.261168 -0.0222287 0.132602 +-0.253654 -0.0660465 0.164471 +-0.230024 -0.0195779 0.0784637 + +-0.223406 -0.0581705 0.110333 +-0.230024 -0.0195779 0.0784637 +-0.253654 -0.0660465 0.164471 + +-0.230024 -0.0195779 0.0784637 +-0.223406 -0.0581705 0.110333 +-0.219207 -0.0186573 0.0169001 + +-0.212901 -0.0554352 0.0487695 +-0.219207 -0.0186573 0.0169001 +-0.223406 -0.0581705 0.110333 + +-0.219207 -0.0186573 0.0169001 +-0.212901 -0.0554352 0.0487695 +-0.230024 -0.0195779 -0.0446635 + +-0.223406 -0.0581705 -0.0127941 +-0.230024 -0.0195779 -0.0446635 +-0.212901 -0.0554352 0.0487695 + +-0.230024 -0.0195779 -0.0446635 +-0.223406 -0.0581705 -0.0127941 +-0.261168 -0.0222287 -0.0988017 + +-0.253654 -0.0660465 -0.0669323 +-0.261168 -0.0222287 -0.0988017 +-0.223406 -0.0581705 -0.0127941 + +-0.261168 -0.0222287 -0.0988017 +-0.253654 -0.0660465 -0.0669323 +-0.308883 -0.0262898 -0.138984 + +-0.299997 -0.0781132 -0.107115 +-0.308883 -0.0262898 -0.138984 +-0.253654 -0.0660465 -0.0669323 + +-0.308883 -0.0262898 -0.138984 +-0.299997 -0.0781132 -0.107115 +-0.367415 -0.0312716 -0.160365 + +-0.356845 -0.0929152 -0.128496 +-0.367415 -0.0312716 -0.160365 +-0.299997 -0.0781132 -0.107115 + +-0.367415 -0.0312716 -0.160365 +-0.356845 -0.0929152 -0.128496 +-0.429703 -0.0365731 -0.160365 + +-0.417341 -0.108667 -0.128496 +-0.429703 -0.0365731 -0.160365 +-0.356845 -0.0929152 -0.128496 + +-0.429703 -0.0365731 -0.160365 +-0.417341 -0.108667 -0.128496 +-0.488235 -0.0415549 -0.138984 + +-0.474189 -0.123469 -0.107115 +-0.488235 -0.0415549 -0.138984 +-0.417341 -0.108667 -0.128496 + +-0.488235 -0.0415549 -0.138984 +-0.474189 -0.123469 -0.107115 +-0.53595 -0.0456161 -0.0988017 + +-0.520532 -0.135536 -0.0669323 +-0.53595 -0.0456161 -0.0988017 +-0.474189 -0.123469 -0.107115 + +-0.53595 -0.0456161 -0.0988017 +-0.520532 -0.135536 -0.0669323 +-0.567094 -0.0482668 -0.0446635 + +-0.55078 -0.143412 -0.0127941 +-0.567094 -0.0482668 -0.0446635 +-0.520532 -0.135536 -0.0669323 + +-0.567094 -0.0482668 -0.0446635 +-0.55078 -0.143412 -0.0127941 +-0.577911 -0.0491874 0.0169001 + +-0.561285 -0.146147 0.0487695 +-0.577911 -0.0491874 0.0169001 +-0.55078 -0.143412 -0.0127941 + +-0.561285 -0.146147 0.0487695 +-0.528513 -0.238903 0.0750672 +-0.55078 -0.143412 0.110333 + +-0.518621 -0.234431 0.136631 +-0.55078 -0.143412 0.110333 +-0.528513 -0.238903 0.0750672 + +-0.55078 -0.143412 0.110333 +-0.518621 -0.234431 0.136631 +-0.520532 -0.135536 0.164471 + +-0.490139 -0.221557 0.190769 +-0.520532 -0.135536 0.164471 +-0.518621 -0.234431 0.136631 + +-0.520532 -0.135536 0.164471 +-0.490139 -0.221557 0.190769 +-0.474189 -0.123469 0.204654 + +-0.446502 -0.201832 0.230952 +-0.474189 -0.123469 0.204654 +-0.490139 -0.221557 0.190769 + +-0.474189 -0.123469 0.204654 +-0.446502 -0.201832 0.230952 +-0.417341 -0.108667 0.226035 + +-0.392973 -0.177635 0.252333 +-0.417341 -0.108667 0.226035 +-0.446502 -0.201832 0.230952 + +-0.417341 -0.108667 0.226035 +-0.392973 -0.177635 0.252333 +-0.356845 -0.0929152 0.226035 + +-0.336009 -0.151886 0.252333 +-0.356845 -0.0929152 0.226035 +-0.392973 -0.177635 0.252333 + +-0.356845 -0.0929152 0.226035 +-0.336009 -0.151886 0.252333 +-0.299997 -0.0781132 0.204654 + +-0.282481 -0.127689 0.230952 +-0.299997 -0.0781132 0.204654 +-0.336009 -0.151886 0.252333 + +-0.299997 -0.0781132 0.204654 +-0.282481 -0.127689 0.230952 +-0.253654 -0.0660465 0.164471 + +-0.238844 -0.107964 0.190769 +-0.253654 -0.0660465 0.164471 +-0.282481 -0.127689 0.230952 + +-0.253654 -0.0660465 0.164471 +-0.238844 -0.107964 0.190769 +-0.223406 -0.0581705 0.110333 + +-0.210362 -0.0950896 0.136631 +-0.223406 -0.0581705 0.110333 +-0.238844 -0.107964 0.190769 + +-0.223406 -0.0581705 0.110333 +-0.210362 -0.0950896 0.136631 +-0.212901 -0.0554352 0.0487695 + +-0.20047 -0.0906183 0.0750672 +-0.212901 -0.0554352 0.0487695 +-0.210362 -0.0950896 0.136631 + +-0.212901 -0.0554352 0.0487695 +-0.20047 -0.0906183 0.0750672 +-0.223406 -0.0581705 -0.0127941 + +-0.210362 -0.0950896 0.0135036 +-0.223406 -0.0581705 -0.0127941 +-0.20047 -0.0906183 0.0750672 + +-0.223406 -0.0581705 -0.0127941 +-0.210362 -0.0950896 0.0135036 +-0.253654 -0.0660465 -0.0669323 + +-0.238844 -0.107964 -0.0406345 +-0.253654 -0.0660465 -0.0669323 +-0.210362 -0.0950896 0.0135036 + +-0.253654 -0.0660465 -0.0669323 +-0.238844 -0.107964 -0.0406345 +-0.299997 -0.0781132 -0.107115 + +-0.282481 -0.127689 -0.0808173 +-0.299997 -0.0781132 -0.107115 +-0.238844 -0.107964 -0.0406345 + +-0.299997 -0.0781132 -0.107115 +-0.282481 -0.127689 -0.0808173 +-0.356845 -0.0929152 -0.128496 + +-0.336009 -0.151886 -0.102198 +-0.356845 -0.0929152 -0.128496 +-0.282481 -0.127689 -0.0808173 + +-0.356845 -0.0929152 -0.128496 +-0.336009 -0.151886 -0.102198 +-0.417341 -0.108667 -0.128496 + +-0.392973 -0.177635 -0.102198 +-0.417341 -0.108667 -0.128496 +-0.336009 -0.151886 -0.102198 + +-0.417341 -0.108667 -0.128496 +-0.392973 -0.177635 -0.102198 +-0.474189 -0.123469 -0.107115 + +-0.446502 -0.201832 -0.0808173 +-0.474189 -0.123469 -0.107115 +-0.392973 -0.177635 -0.102198 + +-0.474189 -0.123469 -0.107115 +-0.446502 -0.201832 -0.0808173 +-0.520532 -0.135536 -0.0669323 + +-0.490139 -0.221557 -0.0406345 +-0.520532 -0.135536 -0.0669323 +-0.446502 -0.201832 -0.0808173 + +-0.520532 -0.135536 -0.0669323 +-0.490139 -0.221557 -0.0406345 +-0.55078 -0.143412 -0.0127941 + +-0.518621 -0.234431 0.0135036 +-0.55078 -0.143412 -0.0127941 +-0.490139 -0.221557 -0.0406345 + +-0.55078 -0.143412 -0.0127941 +-0.518621 -0.234431 0.0135036 +-0.561285 -0.146147 0.0487695 + +-0.528513 -0.238903 0.0750672 +-0.561285 -0.146147 0.0487695 +-0.518621 -0.234431 0.0135036 + +-0.528513 -0.238903 0.0750672 +-0.480536 -0.324785 0.0927889 +-0.518621 -0.234431 0.136631 + +-0.471542 -0.318707 0.154353 +-0.518621 -0.234431 0.136631 +-0.480536 -0.324785 0.0927889 + +-0.518621 -0.234431 0.136631 +-0.471542 -0.318707 0.154353 +-0.490139 -0.221557 0.190769 + +-0.445645 -0.301204 0.208491 +-0.490139 -0.221557 0.190769 +-0.471542 -0.318707 0.154353 + +-0.490139 -0.221557 0.190769 +-0.445645 -0.301204 0.208491 +-0.446502 -0.201832 0.230952 + +-0.40597 -0.274388 0.248673 +-0.446502 -0.201832 0.230952 +-0.445645 -0.301204 0.208491 + +-0.446502 -0.201832 0.230952 +-0.40597 -0.274388 0.248673 +-0.392973 -0.177635 0.252333 + +-0.3573 -0.241493 0.270054 +-0.392973 -0.177635 0.252333 +-0.40597 -0.274388 0.248673 + +-0.392973 -0.177635 0.252333 +-0.3573 -0.241493 0.270054 +-0.336009 -0.151886 0.252333 + +-0.305507 -0.206487 0.270054 +-0.336009 -0.151886 0.252333 +-0.3573 -0.241493 0.270054 + +-0.336009 -0.151886 0.252333 +-0.305507 -0.206487 0.270054 +-0.282481 -0.127689 0.230952 + +-0.256838 -0.173592 0.248673 +-0.282481 -0.127689 0.230952 +-0.305507 -0.206487 0.270054 + +-0.282481 -0.127689 0.230952 +-0.256838 -0.173592 0.248673 +-0.238844 -0.107964 0.190769 + +-0.217162 -0.146776 0.208491 +-0.238844 -0.107964 0.190769 +-0.256838 -0.173592 0.248673 + +-0.238844 -0.107964 0.190769 +-0.217162 -0.146776 0.208491 +-0.210362 -0.0950896 0.136631 + +-0.191266 -0.129273 0.154353 +-0.210362 -0.0950896 0.136631 +-0.217162 -0.146776 0.208491 + +-0.210362 -0.0950896 0.136631 +-0.191266 -0.129273 0.154353 +-0.20047 -0.0906183 0.0750672 + +-0.182272 -0.123194 0.0927889 +-0.20047 -0.0906183 0.0750672 +-0.191266 -0.129273 0.154353 + +-0.20047 -0.0906183 0.0750672 +-0.182272 -0.123194 0.0927889 +-0.210362 -0.0950896 0.0135036 + +-0.191266 -0.129273 0.0312253 +-0.210362 -0.0950896 0.0135036 +-0.182272 -0.123194 0.0927889 + +-0.210362 -0.0950896 0.0135036 +-0.191266 -0.129273 0.0312253 +-0.238844 -0.107964 -0.0406345 + +-0.217162 -0.146776 -0.0229129 +-0.238844 -0.107964 -0.0406345 +-0.191266 -0.129273 0.0312253 + +-0.238844 -0.107964 -0.0406345 +-0.217162 -0.146776 -0.0229129 +-0.282481 -0.127689 -0.0808173 + +-0.256838 -0.173592 -0.0630957 +-0.282481 -0.127689 -0.0808173 +-0.217162 -0.146776 -0.0229129 + +-0.282481 -0.127689 -0.0808173 +-0.256838 -0.173592 -0.0630957 +-0.336009 -0.151886 -0.102198 + +-0.305507 -0.206487 -0.0844765 +-0.336009 -0.151886 -0.102198 +-0.256838 -0.173592 -0.0630957 + +-0.336009 -0.151886 -0.102198 +-0.305507 -0.206487 -0.0844765 +-0.392973 -0.177635 -0.102198 + +-0.3573 -0.241493 -0.0844765 +-0.392973 -0.177635 -0.102198 +-0.305507 -0.206487 -0.0844765 + +-0.392973 -0.177635 -0.102198 +-0.3573 -0.241493 -0.0844765 +-0.446502 -0.201832 -0.0808173 + +-0.40597 -0.274388 -0.0630957 +-0.446502 -0.201832 -0.0808173 +-0.3573 -0.241493 -0.0844765 + +-0.446502 -0.201832 -0.0808173 +-0.40597 -0.274388 -0.0630957 +-0.490139 -0.221557 -0.0406345 + +-0.445645 -0.301204 -0.0229129 +-0.490139 -0.221557 -0.0406345 +-0.40597 -0.274388 -0.0630957 + +-0.490139 -0.221557 -0.0406345 +-0.445645 -0.301204 -0.0229129 +-0.518621 -0.234431 0.0135036 + +-0.471542 -0.318707 0.0312253 +-0.518621 -0.234431 0.0135036 +-0.445645 -0.301204 -0.0229129 + +-0.518621 -0.234431 0.0135036 +-0.471542 -0.318707 0.0312253 +-0.528513 -0.238903 0.0750672 + +-0.480536 -0.324785 0.0927889 +-0.528513 -0.238903 0.0750672 +-0.471542 -0.318707 0.0312253 + +-0.480536 -0.324785 0.0927889 +-0.418735 -0.401325 0.0999099 +-0.471542 -0.318707 0.154353 + +-0.410897 -0.393813 0.161474 +-0.471542 -0.318707 0.154353 +-0.418735 -0.401325 0.0999099 + +-0.471542 -0.318707 0.154353 +-0.410897 -0.393813 0.161474 +-0.445645 -0.301204 0.208491 + +-0.388332 -0.372186 0.215612 +-0.445645 -0.301204 0.208491 +-0.410897 -0.393813 0.161474 + +-0.445645 -0.301204 0.208491 +-0.388332 -0.372186 0.215612 +-0.40597 -0.274388 0.248673 + +-0.353758 -0.33905 0.255794 +-0.40597 -0.274388 0.248673 +-0.388332 -0.372186 0.215612 + +-0.40597 -0.274388 0.248673 +-0.353758 -0.33905 0.255794 +-0.3573 -0.241493 0.270054 + +-0.311348 -0.298403 0.277175 +-0.3573 -0.241493 0.270054 +-0.353758 -0.33905 0.255794 + +-0.3573 -0.241493 0.270054 +-0.311348 -0.298403 0.277175 +-0.305507 -0.206487 0.270054 + +-0.266216 -0.255148 0.277175 +-0.305507 -0.206487 0.270054 +-0.311348 -0.298403 0.277175 + +-0.305507 -0.206487 0.270054 +-0.266216 -0.255148 0.277175 +-0.256838 -0.173592 0.248673 + +-0.223806 -0.214501 0.255794 +-0.256838 -0.173592 0.248673 +-0.266216 -0.255148 0.277175 + +-0.256838 -0.173592 0.248673 +-0.223806 -0.214501 0.255794 +-0.217162 -0.146776 0.208491 + +-0.189233 -0.181365 0.215612 +-0.217162 -0.146776 0.208491 +-0.223806 -0.214501 0.255794 + +-0.217162 -0.146776 0.208491 +-0.189233 -0.181365 0.215612 +-0.191266 -0.129273 0.154353 + +-0.166667 -0.159738 0.161474 +-0.191266 -0.129273 0.154353 +-0.189233 -0.181365 0.215612 + +-0.191266 -0.129273 0.154353 +-0.166667 -0.159738 0.161474 +-0.182272 -0.123194 0.0927889 + +-0.15883 -0.152227 0.0999099 +-0.182272 -0.123194 0.0927889 +-0.166667 -0.159738 0.161474 + +-0.182272 -0.123194 0.0927889 +-0.15883 -0.152227 0.0999099 +-0.191266 -0.129273 0.0312253 + +-0.166667 -0.159738 0.0383463 +-0.191266 -0.129273 0.0312253 +-0.15883 -0.152227 0.0999099 + +-0.191266 -0.129273 0.0312253 +-0.166667 -0.159738 0.0383463 +-0.217162 -0.146776 -0.0229129 + +-0.189233 -0.181365 -0.0157919 +-0.217162 -0.146776 -0.0229129 +-0.166667 -0.159738 0.0383463 + +-0.217162 -0.146776 -0.0229129 +-0.189233 -0.181365 -0.0157919 +-0.256838 -0.173592 -0.0630957 + +-0.223806 -0.214501 -0.0559747 +-0.256838 -0.173592 -0.0630957 +-0.189233 -0.181365 -0.0157919 + +-0.256838 -0.173592 -0.0630957 +-0.223806 -0.214501 -0.0559747 +-0.305507 -0.206487 -0.0844765 + +-0.266216 -0.255148 -0.0773555 +-0.305507 -0.206487 -0.0844765 +-0.223806 -0.214501 -0.0559747 + +-0.305507 -0.206487 -0.0844765 +-0.266216 -0.255148 -0.0773555 +-0.3573 -0.241493 -0.0844765 + +-0.311348 -0.298403 -0.0773555 +-0.3573 -0.241493 -0.0844765 +-0.266216 -0.255148 -0.0773555 + +-0.3573 -0.241493 -0.0844765 +-0.311348 -0.298403 -0.0773555 +-0.40597 -0.274388 -0.0630957 + +-0.353758 -0.33905 -0.0559747 +-0.40597 -0.274388 -0.0630957 +-0.311348 -0.298403 -0.0773555 + +-0.40597 -0.274388 -0.0630957 +-0.353758 -0.33905 -0.0559747 +-0.445645 -0.301204 -0.0229129 + +-0.388332 -0.372186 -0.0157919 +-0.445645 -0.301204 -0.0229129 +-0.353758 -0.33905 -0.0559747 + +-0.445645 -0.301204 -0.0229129 +-0.388332 -0.372186 -0.0157919 +-0.471542 -0.318707 0.0312253 + +-0.410897 -0.393813 0.0383463 +-0.471542 -0.318707 0.0312253 +-0.388332 -0.372186 -0.0157919 + +-0.471542 -0.318707 0.0312253 +-0.410897 -0.393813 0.0383463 +-0.480536 -0.324785 0.0927889 + +-0.418735 -0.401325 0.0999099 +-0.480536 -0.324785 0.0927889 +-0.410897 -0.393813 0.0383463 + +-0.418735 -0.401325 0.0999099 +-0.344887 -0.466318 0.0956167 +-0.410897 -0.393813 0.161474 + +-0.338432 -0.457591 0.15718 +-0.410897 -0.393813 0.161474 +-0.344887 -0.466318 0.0956167 + +-0.410897 -0.393813 0.161474 +-0.338432 -0.457591 0.15718 +-0.388332 -0.372186 0.215612 + +-0.319846 -0.43246 0.211318 +-0.388332 -0.372186 0.215612 +-0.338432 -0.457591 0.15718 + +-0.388332 -0.372186 0.215612 +-0.319846 -0.43246 0.211318 +-0.353758 -0.33905 0.255794 + +-0.29137 -0.393959 0.251501 +-0.353758 -0.33905 0.255794 +-0.319846 -0.43246 0.211318 + +-0.353758 -0.33905 0.255794 +-0.29137 -0.393959 0.251501 +-0.311348 -0.298403 0.277175 + +-0.25644 -0.346729 0.272882 +-0.311348 -0.298403 0.277175 +-0.29137 -0.393959 0.251501 + +-0.311348 -0.298403 0.277175 +-0.25644 -0.346729 0.272882 +-0.266216 -0.255148 0.277175 + +-0.219267 -0.296469 0.272882 +-0.266216 -0.255148 0.277175 +-0.25644 -0.346729 0.272882 + +-0.266216 -0.255148 0.277175 +-0.219267 -0.296469 0.272882 +-0.223806 -0.214501 0.255794 + +-0.184336 -0.249239 0.251501 +-0.223806 -0.214501 0.255794 +-0.219267 -0.296469 0.272882 + +-0.223806 -0.214501 0.255794 +-0.184336 -0.249239 0.251501 +-0.189233 -0.181365 0.215612 + +-0.15586 -0.210737 0.211318 +-0.189233 -0.181365 0.215612 +-0.184336 -0.249239 0.251501 + +-0.189233 -0.181365 0.215612 +-0.15586 -0.210737 0.211318 +-0.166667 -0.159738 0.161474 + +-0.137274 -0.185607 0.15718 +-0.166667 -0.159738 0.161474 +-0.15586 -0.210737 0.211318 + +-0.166667 -0.159738 0.161474 +-0.137274 -0.185607 0.15718 +-0.15883 -0.152227 0.0999099 + +-0.130819 -0.176879 0.0956167 +-0.15883 -0.152227 0.0999099 +-0.137274 -0.185607 0.15718 + +-0.15883 -0.152227 0.0999099 +-0.130819 -0.176879 0.0956167 +-0.166667 -0.159738 0.0383463 + +-0.137274 -0.185607 0.034053 +-0.166667 -0.159738 0.0383463 +-0.130819 -0.176879 0.0956167 + +-0.166667 -0.159738 0.0383463 +-0.137274 -0.185607 0.034053 +-0.189233 -0.181365 -0.0157919 + +-0.15586 -0.210737 -0.0200851 +-0.189233 -0.181365 -0.0157919 +-0.137274 -0.185607 0.034053 + +-0.189233 -0.181365 -0.0157919 +-0.15586 -0.210737 -0.0200851 +-0.223806 -0.214501 -0.0559747 + +-0.184336 -0.249239 -0.0602679 +-0.223806 -0.214501 -0.0559747 +-0.15586 -0.210737 -0.0200851 + +-0.223806 -0.214501 -0.0559747 +-0.184336 -0.249239 -0.0602679 +-0.266216 -0.255148 -0.0773555 + +-0.219267 -0.296469 -0.0816487 +-0.266216 -0.255148 -0.0773555 +-0.184336 -0.249239 -0.0602679 + +-0.266216 -0.255148 -0.0773555 +-0.219267 -0.296469 -0.0816487 +-0.311348 -0.298403 -0.0773555 + +-0.25644 -0.346729 -0.0816487 +-0.311348 -0.298403 -0.0773555 +-0.219267 -0.296469 -0.0816487 + +-0.311348 -0.298403 -0.0773555 +-0.25644 -0.346729 -0.0816487 +-0.353758 -0.33905 -0.0559747 + +-0.29137 -0.393959 -0.0602679 +-0.353758 -0.33905 -0.0559747 +-0.25644 -0.346729 -0.0816487 + +-0.353758 -0.33905 -0.0559747 +-0.29137 -0.393959 -0.0602679 +-0.388332 -0.372186 -0.0157919 + +-0.319846 -0.43246 -0.0200851 +-0.388332 -0.372186 -0.0157919 +-0.29137 -0.393959 -0.0602679 + +-0.388332 -0.372186 -0.0157919 +-0.319846 -0.43246 -0.0200851 +-0.410897 -0.393813 0.0383463 + +-0.338432 -0.457591 0.034053 +-0.410897 -0.393813 0.0383463 +-0.319846 -0.43246 -0.0200851 + +-0.410897 -0.393813 0.0383463 +-0.338432 -0.457591 0.034053 +-0.418735 -0.401325 0.0999099 + +-0.344887 -0.466318 0.0956167 +-0.418735 -0.401325 0.0999099 +-0.338432 -0.457591 0.034053 + +-0.344887 -0.466318 0.0956167 +-0.261118 -0.517897 0.0803997 +-0.338432 -0.457591 0.15718 + +-0.256231 -0.508204 0.141963 +-0.338432 -0.457591 0.15718 +-0.261118 -0.517897 0.0803997 + +-0.338432 -0.457591 0.15718 +-0.256231 -0.508204 0.141963 +-0.319846 -0.43246 0.211318 + +-0.242159 -0.480294 0.196101 +-0.319846 -0.43246 0.211318 +-0.256231 -0.508204 0.141963 + +-0.319846 -0.43246 0.211318 +-0.242159 -0.480294 0.196101 +-0.29137 -0.393959 0.251501 + +-0.2206 -0.437534 0.236284 +-0.29137 -0.393959 0.251501 +-0.242159 -0.480294 0.196101 + +-0.29137 -0.393959 0.251501 +-0.2206 -0.437534 0.236284 +-0.25644 -0.346729 0.272882 + +-0.194153 -0.38508 0.257665 +-0.25644 -0.346729 0.272882 +-0.2206 -0.437534 0.236284 + +-0.25644 -0.346729 0.272882 +-0.194153 -0.38508 0.257665 +-0.219267 -0.296469 0.272882 + +-0.16601 -0.32926 0.257665 +-0.219267 -0.296469 0.272882 +-0.194153 -0.38508 0.257665 + +-0.219267 -0.296469 0.272882 +-0.16601 -0.32926 0.257665 +-0.184336 -0.249239 0.251501 + +-0.139563 -0.276807 0.236284 +-0.184336 -0.249239 0.251501 +-0.16601 -0.32926 0.257665 + +-0.184336 -0.249239 0.251501 +-0.139563 -0.276807 0.236284 +-0.15586 -0.210737 0.211318 + +-0.118004 -0.234047 0.196101 +-0.15586 -0.210737 0.211318 +-0.139563 -0.276807 0.236284 + +-0.15586 -0.210737 0.211318 +-0.118004 -0.234047 0.196101 +-0.137274 -0.185607 0.15718 + +-0.103932 -0.206137 0.141963 +-0.137274 -0.185607 0.15718 +-0.118004 -0.234047 0.196101 + +-0.137274 -0.185607 0.15718 +-0.103932 -0.206137 0.141963 +-0.130819 -0.176879 0.0956167 + +-0.0990448 -0.196444 0.0803997 +-0.130819 -0.176879 0.0956167 +-0.103932 -0.206137 0.141963 + +-0.130819 -0.176879 0.0956167 +-0.0990448 -0.196444 0.0803997 +-0.137274 -0.185607 0.034053 + +-0.103932 -0.206137 0.0188361 +-0.137274 -0.185607 0.034053 +-0.0990448 -0.196444 0.0803997 + +-0.137274 -0.185607 0.034053 +-0.103932 -0.206137 0.0188361 +-0.15586 -0.210737 -0.0200851 + +-0.118004 -0.234047 -0.0353021 +-0.15586 -0.210737 -0.0200851 +-0.103932 -0.206137 0.0188361 + +-0.15586 -0.210737 -0.0200851 +-0.118004 -0.234047 -0.0353021 +-0.184336 -0.249239 -0.0602679 + +-0.139563 -0.276807 -0.0754849 +-0.184336 -0.249239 -0.0602679 +-0.118004 -0.234047 -0.0353021 + +-0.184336 -0.249239 -0.0602679 +-0.139563 -0.276807 -0.0754849 +-0.219267 -0.296469 -0.0816487 + +-0.16601 -0.32926 -0.0968657 +-0.219267 -0.296469 -0.0816487 +-0.139563 -0.276807 -0.0754849 + +-0.219267 -0.296469 -0.0816487 +-0.16601 -0.32926 -0.0968657 +-0.25644 -0.346729 -0.0816487 + +-0.194153 -0.38508 -0.0968657 +-0.25644 -0.346729 -0.0816487 +-0.16601 -0.32926 -0.0968657 + +-0.25644 -0.346729 -0.0816487 +-0.194153 -0.38508 -0.0968657 +-0.29137 -0.393959 -0.0602679 + +-0.2206 -0.437534 -0.0754849 +-0.29137 -0.393959 -0.0602679 +-0.194153 -0.38508 -0.0968657 + +-0.29137 -0.393959 -0.0602679 +-0.2206 -0.437534 -0.0754849 +-0.319846 -0.43246 -0.0200851 + +-0.242159 -0.480294 -0.0353021 +-0.319846 -0.43246 -0.0200851 +-0.2206 -0.437534 -0.0754849 + +-0.319846 -0.43246 -0.0200851 +-0.242159 -0.480294 -0.0353021 +-0.338432 -0.457591 0.034053 + +-0.256231 -0.508204 0.0188361 +-0.338432 -0.457591 0.034053 +-0.242159 -0.480294 -0.0353021 + +-0.338432 -0.457591 0.034053 +-0.256231 -0.508204 0.0188361 +-0.344887 -0.466318 0.0956167 + +-0.261118 -0.517897 0.0803997 +-0.344887 -0.466318 0.0956167 +-0.256231 -0.508204 0.0188361 + +-0.261118 -0.517897 0.0803997 +-0.169837 -0.554577 0.0559975 +-0.256231 -0.508204 0.141963 + +-0.166659 -0.544197 0.117561 +-0.256231 -0.508204 0.141963 +-0.169837 -0.554577 0.0559975 + +-0.256231 -0.508204 0.141963 +-0.166659 -0.544197 0.117561 +-0.242159 -0.480294 0.196101 + +-0.157506 -0.514311 0.171699 +-0.242159 -0.480294 0.196101 +-0.166659 -0.544197 0.117561 + +-0.242159 -0.480294 0.196101 +-0.157506 -0.514311 0.171699 +-0.2206 -0.437534 0.236284 + +-0.143483 -0.468522 0.211882 +-0.2206 -0.437534 0.236284 +-0.157506 -0.514311 0.171699 + +-0.2206 -0.437534 0.236284 +-0.143483 -0.468522 0.211882 +-0.194153 -0.38508 0.257665 + +-0.126282 -0.412353 0.233263 +-0.194153 -0.38508 0.257665 +-0.143483 -0.468522 0.211882 + +-0.194153 -0.38508 0.257665 +-0.126282 -0.412353 0.233263 +-0.16601 -0.32926 0.257665 + +-0.107976 -0.35258 0.233263 +-0.16601 -0.32926 0.257665 +-0.126282 -0.412353 0.233263 + +-0.16601 -0.32926 0.257665 +-0.107976 -0.35258 0.233263 +-0.139563 -0.276807 0.236284 + +-0.0907751 -0.296412 0.211882 +-0.139563 -0.276807 0.236284 +-0.107976 -0.35258 0.233263 + +-0.139563 -0.276807 0.236284 +-0.0907751 -0.296412 0.211882 +-0.118004 -0.234047 0.196101 + +-0.0767524 -0.250623 0.171699 +-0.118004 -0.234047 0.196101 +-0.0907751 -0.296412 0.211882 + +-0.118004 -0.234047 0.196101 +-0.0767524 -0.250623 0.171699 +-0.103932 -0.206137 0.141963 + +-0.0675997 -0.220736 0.117561 +-0.103932 -0.206137 0.141963 +-0.0767524 -0.250623 0.171699 + +-0.103932 -0.206137 0.141963 +-0.0675997 -0.220736 0.117561 +-0.0990448 -0.196444 0.0803997 + +-0.064421 -0.210357 0.0559975 +-0.0990448 -0.196444 0.0803997 +-0.0675997 -0.220736 0.117561 + +-0.0990448 -0.196444 0.0803997 +-0.064421 -0.210357 0.0559975 +-0.103932 -0.206137 0.0188361 + +-0.0675997 -0.220736 -0.00556615 +-0.103932 -0.206137 0.0188361 +-0.064421 -0.210357 0.0559975 + +-0.103932 -0.206137 0.0188361 +-0.0675997 -0.220736 -0.00556615 +-0.118004 -0.234047 -0.0353021 + +-0.0767524 -0.250623 -0.0597043 +-0.118004 -0.234047 -0.0353021 +-0.0675997 -0.220736 -0.00556615 + +-0.118004 -0.234047 -0.0353021 +-0.0767524 -0.250623 -0.0597043 +-0.139563 -0.276807 -0.0754849 + +-0.0907751 -0.296412 -0.0998871 +-0.139563 -0.276807 -0.0754849 +-0.0767524 -0.250623 -0.0597043 + +-0.139563 -0.276807 -0.0754849 +-0.0907751 -0.296412 -0.0998871 +-0.16601 -0.32926 -0.0968657 + +-0.107976 -0.35258 -0.121268 +-0.16601 -0.32926 -0.0968657 +-0.0907751 -0.296412 -0.0998871 + +-0.16601 -0.32926 -0.0968657 +-0.107976 -0.35258 -0.121268 +-0.194153 -0.38508 -0.0968657 + +-0.126282 -0.412353 -0.121268 +-0.194153 -0.38508 -0.0968657 +-0.107976 -0.35258 -0.121268 + +-0.194153 -0.38508 -0.0968657 +-0.126282 -0.412353 -0.121268 +-0.2206 -0.437534 -0.0754849 + +-0.143483 -0.468522 -0.0998871 +-0.2206 -0.437534 -0.0754849 +-0.126282 -0.412353 -0.121268 + +-0.2206 -0.437534 -0.0754849 +-0.143483 -0.468522 -0.0998871 +-0.242159 -0.480294 -0.0353021 + +-0.157506 -0.514311 -0.0597043 +-0.242159 -0.480294 -0.0353021 +-0.143483 -0.468522 -0.0998871 + +-0.242159 -0.480294 -0.0353021 +-0.157506 -0.514311 -0.0597043 +-0.256231 -0.508204 0.0188361 + +-0.166659 -0.544197 -0.00556615 +-0.256231 -0.508204 0.0188361 +-0.157506 -0.514311 -0.0597043 + +-0.256231 -0.508204 0.0188361 +-0.166659 -0.544197 -0.00556615 +-0.261118 -0.517897 0.0803997 + +-0.169837 -0.554577 0.0559975 +-0.261118 -0.517897 0.0803997 +-0.166659 -0.544197 -0.00556615 + +-0.169837 -0.554577 0.0559975 +-0.0736703 -0.575302 0.0251978 +-0.166659 -0.544197 0.117561 + +-0.0722915 -0.564535 0.0867614 +-0.166659 -0.544197 0.117561 +-0.0736703 -0.575302 0.0251978 + +-0.166659 -0.544197 0.117561 +-0.0722915 -0.564535 0.0867614 +-0.157506 -0.514311 0.171699 + +-0.0683214 -0.533531 0.1409 +-0.157506 -0.514311 0.171699 +-0.0722915 -0.564535 0.0867614 + +-0.157506 -0.514311 0.171699 +-0.0683214 -0.533531 0.1409 +-0.143483 -0.468522 0.211882 + +-0.0622387 -0.486031 0.181082 +-0.143483 -0.468522 0.211882 +-0.0683214 -0.533531 0.1409 + +-0.143483 -0.468522 0.211882 +-0.0622387 -0.486031 0.181082 +-0.126282 -0.412353 0.233263 + +-0.0547773 -0.427764 0.202463 +-0.126282 -0.412353 0.233263 +-0.0622387 -0.486031 0.181082 + +-0.126282 -0.412353 0.233263 +-0.0547773 -0.427764 0.202463 +-0.107976 -0.35258 0.233263 + +-0.046837 -0.365757 0.202463 +-0.107976 -0.35258 0.233263 +-0.0547773 -0.427764 0.202463 + +-0.107976 -0.35258 0.233263 +-0.046837 -0.365757 0.202463 +-0.0907751 -0.296412 0.211882 + +-0.0393755 -0.307489 0.181082 +-0.0907751 -0.296412 0.211882 +-0.046837 -0.365757 0.202463 + +-0.0907751 -0.296412 0.211882 +-0.0393755 -0.307489 0.181082 +-0.0767524 -0.250623 0.171699 + +-0.0332929 -0.259989 0.1409 +-0.0767524 -0.250623 0.171699 +-0.0393755 -0.307489 0.181082 + +-0.0767524 -0.250623 0.171699 +-0.0332929 -0.259989 0.1409 +-0.0675997 -0.220736 0.117561 + +-0.0293227 -0.228986 0.0867614 +-0.0675997 -0.220736 0.117561 +-0.0332929 -0.259989 0.1409 + +-0.0675997 -0.220736 0.117561 +-0.0293227 -0.228986 0.0867614 +-0.064421 -0.210357 0.0559975 + +-0.0279439 -0.218218 0.0251978 +-0.064421 -0.210357 0.0559975 +-0.0293227 -0.228986 0.0867614 + +-0.064421 -0.210357 0.0559975 +-0.0279439 -0.218218 0.0251978 +-0.0675997 -0.220736 -0.00556615 + +-0.0293227 -0.228986 -0.0363658 +-0.0675997 -0.220736 -0.00556615 +-0.0279439 -0.218218 0.0251978 + +-0.0675997 -0.220736 -0.00556615 +-0.0293227 -0.228986 -0.0363658 +-0.0767524 -0.250623 -0.0597043 + +-0.0332929 -0.259989 -0.090504 +-0.0767524 -0.250623 -0.0597043 +-0.0293227 -0.228986 -0.0363658 + +-0.0767524 -0.250623 -0.0597043 +-0.0332929 -0.259989 -0.090504 +-0.0907751 -0.296412 -0.0998871 + +-0.0393755 -0.307489 -0.130687 +-0.0907751 -0.296412 -0.0998871 +-0.0332929 -0.259989 -0.090504 + +-0.0907751 -0.296412 -0.0998871 +-0.0393755 -0.307489 -0.130687 +-0.107976 -0.35258 -0.121268 + +-0.046837 -0.365757 -0.152068 +-0.107976 -0.35258 -0.121268 +-0.0393755 -0.307489 -0.130687 + +-0.107976 -0.35258 -0.121268 +-0.046837 -0.365757 -0.152068 +-0.126282 -0.412353 -0.121268 + +-0.0547773 -0.427764 -0.152068 +-0.126282 -0.412353 -0.121268 +-0.046837 -0.365757 -0.152068 + +-0.126282 -0.412353 -0.121268 +-0.0547773 -0.427764 -0.152068 +-0.143483 -0.468522 -0.0998871 + +-0.0622387 -0.486031 -0.130687 +-0.143483 -0.468522 -0.0998871 +-0.0547773 -0.427764 -0.152068 + +-0.143483 -0.468522 -0.0998871 +-0.0622387 -0.486031 -0.130687 +-0.157506 -0.514311 -0.0597043 + +-0.0683214 -0.533531 -0.090504 +-0.157506 -0.514311 -0.0597043 +-0.0622387 -0.486031 -0.130687 + +-0.157506 -0.514311 -0.0597043 +-0.0683214 -0.533531 -0.090504 +-0.166659 -0.544197 -0.00556615 + +-0.0722915 -0.564535 -0.0363658 +-0.166659 -0.544197 -0.00556615 +-0.0683214 -0.533531 -0.090504 + +-0.166659 -0.544197 -0.00556615 +-0.0722915 -0.564535 -0.0363658 +-0.169837 -0.554577 0.0559975 + +-0.0736703 -0.575302 0.0251978 +-0.169837 -0.554577 0.0559975 +-0.0722915 -0.564535 -0.0363658 + +-0.0736703 -0.575302 0.0251978 +0.0246159 -0.579477 -0.00848059 +-0.0722915 -0.564535 0.0867614 + +0.0241552 -0.568632 0.053083 +-0.0722915 -0.564535 0.0867614 +0.0246159 -0.579477 -0.00848059 + +-0.0722915 -0.564535 0.0867614 +0.0241552 -0.568632 0.053083 +-0.0683214 -0.533531 0.1409 + +0.0228286 -0.537403 0.107221 +-0.0683214 -0.533531 0.1409 +0.0241552 -0.568632 0.053083 + +-0.0683214 -0.533531 0.1409 +0.0228286 -0.537403 0.107221 +-0.0622387 -0.486031 0.181082 + +0.0207962 -0.489558 0.147404 +-0.0622387 -0.486031 0.181082 +0.0228286 -0.537403 0.107221 + +-0.0622387 -0.486031 0.181082 +0.0207962 -0.489558 0.147404 +-0.0547773 -0.427764 0.202463 + +0.0183031 -0.430868 0.168785 +-0.0547773 -0.427764 0.202463 +0.0207962 -0.489558 0.147404 + +-0.0547773 -0.427764 0.202463 +0.0183031 -0.430868 0.168785 +-0.046837 -0.365757 0.202463 + +0.0156499 -0.368411 0.168785 +-0.046837 -0.365757 0.202463 +0.0183031 -0.430868 0.168785 + +-0.046837 -0.365757 0.202463 +0.0156499 -0.368411 0.168785 +-0.0393755 -0.307489 0.181082 + +0.0131568 -0.309721 0.147404 +-0.0393755 -0.307489 0.181082 +0.0156499 -0.368411 0.168785 + +-0.0393755 -0.307489 0.181082 +0.0131568 -0.309721 0.147404 +-0.0332929 -0.259989 0.1409 + +0.0111243 -0.261876 0.107221 +-0.0332929 -0.259989 0.1409 +0.0131568 -0.309721 0.147404 + +-0.0332929 -0.259989 0.1409 +0.0111243 -0.261876 0.107221 +-0.0293227 -0.228986 0.0867614 + +0.00979778 -0.230647 0.053083 +-0.0293227 -0.228986 0.0867614 +0.0111243 -0.261876 0.107221 + +-0.0293227 -0.228986 0.0867614 +0.00979778 -0.230647 0.053083 +-0.0279439 -0.218218 0.0251978 + +0.00933706 -0.219802 -0.00848059 +-0.0279439 -0.218218 0.0251978 +0.00979778 -0.230647 0.053083 + +-0.0279439 -0.218218 0.0251978 +0.00933706 -0.219802 -0.00848059 +-0.0293227 -0.228986 -0.0363658 + +0.00979778 -0.230647 -0.0700442 +-0.0293227 -0.228986 -0.0363658 +0.00933706 -0.219802 -0.00848059 + +-0.0293227 -0.228986 -0.0363658 +0.00979778 -0.230647 -0.0700442 +-0.0332929 -0.259989 -0.090504 + +0.0111243 -0.261876 -0.124182 +-0.0332929 -0.259989 -0.090504 +0.00979778 -0.230647 -0.0700442 + +-0.0332929 -0.259989 -0.090504 +0.0111243 -0.261876 -0.124182 +-0.0393755 -0.307489 -0.130687 + +0.0131568 -0.309721 -0.164365 +-0.0393755 -0.307489 -0.130687 +0.0111243 -0.261876 -0.124182 + +-0.0393755 -0.307489 -0.130687 +0.0131568 -0.309721 -0.164365 +-0.046837 -0.365757 -0.152068 + +0.0156499 -0.368411 -0.185746 +-0.046837 -0.365757 -0.152068 +0.0131568 -0.309721 -0.164365 + +-0.046837 -0.365757 -0.152068 +0.0156499 -0.368411 -0.185746 +-0.0547773 -0.427764 -0.152068 + +0.0183031 -0.430868 -0.185746 +-0.0547773 -0.427764 -0.152068 +0.0156499 -0.368411 -0.185746 + +-0.0547773 -0.427764 -0.152068 +0.0183031 -0.430868 -0.185746 +-0.0622387 -0.486031 -0.130687 + +0.0207962 -0.489558 -0.164365 +-0.0622387 -0.486031 -0.130687 +0.0183031 -0.430868 -0.185746 + +-0.0622387 -0.486031 -0.130687 +0.0207962 -0.489558 -0.164365 +-0.0683214 -0.533531 -0.090504 + +0.0228286 -0.537403 -0.124182 +-0.0683214 -0.533531 -0.090504 +0.0207962 -0.489558 -0.164365 + +-0.0683214 -0.533531 -0.090504 +0.0228286 -0.537403 -0.124182 +-0.0722915 -0.564535 -0.0363658 + +0.0241552 -0.568632 -0.0700442 +-0.0722915 -0.564535 -0.0363658 +0.0228286 -0.537403 -0.124182 + +-0.0722915 -0.564535 -0.0363658 +0.0241552 -0.568632 -0.0700442 +-0.0736703 -0.575302 0.0251978 + +0.0246159 -0.579477 -0.00848059 +-0.0736703 -0.575302 0.0251978 +0.0241552 -0.568632 -0.0700442 + +0.0246159 -0.579477 -0.00848059 +0.122194 -0.566982 -0.0411901 +0.0241552 -0.568632 0.053083 + +0.119907 -0.55637 0.0203735 +0.0241552 -0.568632 0.053083 +0.122194 -0.566982 -0.0411901 + +0.0241552 -0.568632 0.053083 +0.119907 -0.55637 0.0203735 +0.0228286 -0.537403 0.107221 + +0.113322 -0.525815 0.0745116 +0.0228286 -0.537403 0.107221 +0.119907 -0.55637 0.0203735 + +0.0228286 -0.537403 0.107221 +0.113322 -0.525815 0.0745116 +0.0207962 -0.489558 0.147404 + +0.103233 -0.479002 0.114694 +0.0207962 -0.489558 0.147404 +0.113322 -0.525815 0.0745116 + +0.0207962 -0.489558 0.147404 +0.103233 -0.479002 0.114694 +0.0183031 -0.430868 0.168785 + +0.0908568 -0.421577 0.136075 +0.0183031 -0.430868 0.168785 +0.103233 -0.479002 0.114694 + +0.0183031 -0.430868 0.168785 +0.0908568 -0.421577 0.136075 +0.0156499 -0.368411 0.168785 + +0.0776866 -0.360467 0.136075 +0.0156499 -0.368411 0.168785 +0.0908568 -0.421577 0.136075 + +0.0156499 -0.368411 0.168785 +0.0776866 -0.360467 0.136075 +0.0131568 -0.309721 0.147404 + +0.0653106 -0.303042 0.114694 +0.0131568 -0.309721 0.147404 +0.0776866 -0.360467 0.136075 + +0.0131568 -0.309721 0.147404 +0.0653106 -0.303042 0.114694 +0.0111243 -0.261876 0.107221 + +0.0552216 -0.256229 0.0745116 +0.0111243 -0.261876 0.107221 +0.0653106 -0.303042 0.114694 + +0.0111243 -0.261876 0.107221 +0.0552216 -0.256229 0.0745116 +0.00979778 -0.230647 0.053083 + +0.0486364 -0.225674 0.0203735 +0.00979778 -0.230647 0.053083 +0.0552216 -0.256229 0.0745116 + +0.00979778 -0.230647 0.053083 +0.0486364 -0.225674 0.0203735 +0.00933706 -0.219802 -0.00848059 + +0.0463494 -0.215062 -0.0411901 +0.00933706 -0.219802 -0.00848059 +0.0486364 -0.225674 0.0203735 + +0.00933706 -0.219802 -0.00848059 +0.0463494 -0.215062 -0.0411901 +0.00979778 -0.230647 -0.0700442 + +0.0486364 -0.225674 -0.102754 +0.00979778 -0.230647 -0.0700442 +0.0463494 -0.215062 -0.0411901 + +0.00979778 -0.230647 -0.0700442 +0.0486364 -0.225674 -0.102754 +0.0111243 -0.261876 -0.124182 + +0.0552216 -0.256229 -0.156892 +0.0111243 -0.261876 -0.124182 +0.0486364 -0.225674 -0.102754 + +0.0111243 -0.261876 -0.124182 +0.0552216 -0.256229 -0.156892 +0.0131568 -0.309721 -0.164365 + +0.0653106 -0.303042 -0.197075 +0.0131568 -0.309721 -0.164365 +0.0552216 -0.256229 -0.156892 + +0.0131568 -0.309721 -0.164365 +0.0653106 -0.303042 -0.197075 +0.0156499 -0.368411 -0.185746 + +0.0776866 -0.360467 -0.218456 +0.0156499 -0.368411 -0.185746 +0.0653106 -0.303042 -0.197075 + +0.0156499 -0.368411 -0.185746 +0.0776866 -0.360467 -0.218456 +0.0183031 -0.430868 -0.185746 + +0.0908568 -0.421577 -0.218456 +0.0183031 -0.430868 -0.185746 +0.0776866 -0.360467 -0.218456 + +0.0183031 -0.430868 -0.185746 +0.0908568 -0.421577 -0.218456 +0.0207962 -0.489558 -0.164365 + +0.103233 -0.479002 -0.197075 +0.0207962 -0.489558 -0.164365 +0.0908568 -0.421577 -0.218456 + +0.0207962 -0.489558 -0.164365 +0.103233 -0.479002 -0.197075 +0.0228286 -0.537403 -0.124182 + +0.113322 -0.525815 -0.156892 +0.0228286 -0.537403 -0.124182 +0.103233 -0.479002 -0.197075 + +0.0228286 -0.537403 -0.124182 +0.113322 -0.525815 -0.156892 +0.0241552 -0.568632 -0.0700442 + +0.119907 -0.55637 -0.102754 +0.0241552 -0.568632 -0.0700442 +0.113322 -0.525815 -0.156892 + +0.0241552 -0.568632 -0.0700442 +0.119907 -0.55637 -0.102754 +0.0246159 -0.579477 -0.00848059 + +0.122194 -0.566982 -0.0411901 +0.0246159 -0.579477 -0.00848059 +0.119907 -0.55637 -0.102754 + +0.122194 -0.566982 -0.0411901 +0.216257 -0.538176 -0.0691939 +0.119907 -0.55637 0.0203735 + +0.212209 -0.528103 -0.00763026 +0.119907 -0.55637 0.0203735 +0.216257 -0.538176 -0.0691939 + +0.119907 -0.55637 0.0203735 +0.212209 -0.528103 -0.00763026 +0.113322 -0.525815 0.0745116 + +0.200555 -0.4991 0.0465079 +0.113322 -0.525815 0.0745116 +0.212209 -0.528103 -0.00763026 + +0.113322 -0.525815 0.0745116 +0.200555 -0.4991 0.0465079 +0.103233 -0.479002 0.114694 + +0.1827 -0.454666 0.0866907 +0.103233 -0.479002 0.114694 +0.200555 -0.4991 0.0465079 + +0.103233 -0.479002 0.114694 +0.1827 -0.454666 0.0866907 +0.0908568 -0.421577 0.136075 + +0.160797 -0.400158 0.108072 +0.0908568 -0.421577 0.136075 +0.1827 -0.454666 0.0866907 + +0.0908568 -0.421577 0.136075 +0.160797 -0.400158 0.108072 +0.0776866 -0.360467 0.136075 + +0.137488 -0.342153 0.108072 +0.0776866 -0.360467 0.136075 +0.160797 -0.400158 0.108072 + +0.0776866 -0.360467 0.136075 +0.137488 -0.342153 0.108072 +0.0653106 -0.303042 0.114694 + +0.115586 -0.287646 0.0866907 +0.0653106 -0.303042 0.114694 +0.137488 -0.342153 0.108072 + +0.0653106 -0.303042 0.114694 +0.115586 -0.287646 0.0866907 +0.0552216 -0.256229 0.0745116 + +0.0977302 -0.243211 0.0465079 +0.0552216 -0.256229 0.0745116 +0.115586 -0.287646 0.0866907 + +0.0552216 -0.256229 0.0745116 +0.0977302 -0.243211 0.0465079 +0.0486364 -0.225674 0.0203735 + +0.0860759 -0.214208 -0.00763026 +0.0486364 -0.225674 0.0203735 +0.0977302 -0.243211 0.0465079 + +0.0486364 -0.225674 0.0203735 +0.0860759 -0.214208 -0.00763026 +0.0463494 -0.215062 -0.0411901 + +0.0820284 -0.204136 -0.0691939 +0.0463494 -0.215062 -0.0411901 +0.0860759 -0.214208 -0.00763026 + +0.0463494 -0.215062 -0.0411901 +0.0820284 -0.204136 -0.0691939 +0.0486364 -0.225674 -0.102754 + +0.0860759 -0.214208 -0.130758 +0.0486364 -0.225674 -0.102754 +0.0820284 -0.204136 -0.0691939 + +0.0486364 -0.225674 -0.102754 +0.0860759 -0.214208 -0.130758 +0.0552216 -0.256229 -0.156892 + +0.0977302 -0.243211 -0.184896 +0.0552216 -0.256229 -0.156892 +0.0860759 -0.214208 -0.130758 + +0.0552216 -0.256229 -0.156892 +0.0977302 -0.243211 -0.184896 +0.0653106 -0.303042 -0.197075 + +0.115586 -0.287646 -0.225078 +0.0653106 -0.303042 -0.197075 +0.0977302 -0.243211 -0.184896 + +0.0653106 -0.303042 -0.197075 +0.115586 -0.287646 -0.225078 +0.0776866 -0.360467 -0.218456 + +0.137488 -0.342153 -0.246459 +0.0776866 -0.360467 -0.218456 +0.115586 -0.287646 -0.225078 + +0.0776866 -0.360467 -0.218456 +0.137488 -0.342153 -0.246459 +0.0908568 -0.421577 -0.218456 + +0.160797 -0.400158 -0.246459 +0.0908568 -0.421577 -0.218456 +0.137488 -0.342153 -0.246459 + +0.0908568 -0.421577 -0.218456 +0.160797 -0.400158 -0.246459 +0.103233 -0.479002 -0.197075 + +0.1827 -0.454666 -0.225078 +0.103233 -0.479002 -0.197075 +0.160797 -0.400158 -0.246459 + +0.103233 -0.479002 -0.197075 +0.1827 -0.454666 -0.225078 +0.113322 -0.525815 -0.156892 + +0.200555 -0.4991 -0.184896 +0.113322 -0.525815 -0.156892 +0.1827 -0.454666 -0.225078 + +0.113322 -0.525815 -0.156892 +0.200555 -0.4991 -0.184896 +0.119907 -0.55637 -0.102754 + +0.212209 -0.528103 -0.130758 +0.119907 -0.55637 -0.102754 +0.200555 -0.4991 -0.184896 + +0.119907 -0.55637 -0.102754 +0.212209 -0.528103 -0.130758 +0.122194 -0.566982 -0.0411901 + +0.216257 -0.538176 -0.0691939 +0.122194 -0.566982 -0.0411901 +0.212209 -0.528103 -0.130758 + +0.216257 -0.538176 -0.0691939 +0.304098 -0.493887 -0.0892926 +0.212209 -0.528103 -0.00763026 + +0.298407 -0.484643 -0.027729 +0.212209 -0.528103 -0.00763026 +0.304098 -0.493887 -0.0892926 + +0.212209 -0.528103 -0.00763026 +0.298407 -0.484643 -0.027729 +0.200555 -0.4991 0.0465079 + +0.282019 -0.458027 0.0264092 +0.200555 -0.4991 0.0465079 +0.298407 -0.484643 -0.027729 + +0.200555 -0.4991 0.0465079 +0.282019 -0.458027 0.0264092 +0.1827 -0.454666 0.0866907 + +0.256911 -0.417249 0.066592 +0.1827 -0.454666 0.0866907 +0.282019 -0.458027 0.0264092 + +0.1827 -0.454666 0.0866907 +0.256911 -0.417249 0.066592 +0.160797 -0.400158 0.108072 + +0.226111 -0.367228 0.0879728 +0.160797 -0.400158 0.108072 +0.256911 -0.417249 0.066592 + +0.160797 -0.400158 0.108072 +0.226111 -0.367228 0.0879728 +0.137488 -0.342153 0.108072 + +0.193335 -0.313996 0.0879728 +0.137488 -0.342153 0.108072 +0.226111 -0.367228 0.0879728 + +0.137488 -0.342153 0.108072 +0.193335 -0.313996 0.0879728 +0.115586 -0.287646 0.0866907 + +0.162535 -0.263974 0.066592 +0.115586 -0.287646 0.0866907 +0.193335 -0.313996 0.0879728 + +0.115586 -0.287646 0.0866907 +0.162535 -0.263974 0.066592 +0.0977302 -0.243211 0.0465079 + +0.137427 -0.223196 0.0264092 +0.0977302 -0.243211 0.0465079 +0.162535 -0.263974 0.066592 + +0.0977302 -0.243211 0.0465079 +0.137427 -0.223196 0.0264092 +0.0860759 -0.214208 -0.00763026 + +0.121039 -0.19658 -0.027729 +0.0860759 -0.214208 -0.00763026 +0.137427 -0.223196 0.0264092 + +0.0860759 -0.214208 -0.00763026 +0.121039 -0.19658 -0.027729 +0.0820284 -0.204136 -0.0691939 + +0.115348 -0.187336 -0.0892926 +0.0820284 -0.204136 -0.0691939 +0.121039 -0.19658 -0.027729 + +0.0820284 -0.204136 -0.0691939 +0.115348 -0.187336 -0.0892926 +0.0860759 -0.214208 -0.130758 + +0.121039 -0.19658 -0.150856 +0.0860759 -0.214208 -0.130758 +0.115348 -0.187336 -0.0892926 + +0.0860759 -0.214208 -0.130758 +0.121039 -0.19658 -0.150856 +0.0977302 -0.243211 -0.184896 + +0.137427 -0.223196 -0.204994 +0.0977302 -0.243211 -0.184896 +0.121039 -0.19658 -0.150856 + +0.0977302 -0.243211 -0.184896 +0.137427 -0.223196 -0.204994 +0.115586 -0.287646 -0.225078 + +0.162535 -0.263974 -0.245177 +0.115586 -0.287646 -0.225078 +0.137427 -0.223196 -0.204994 + +0.115586 -0.287646 -0.225078 +0.162535 -0.263974 -0.245177 +0.137488 -0.342153 -0.246459 + +0.193335 -0.313996 -0.266558 +0.137488 -0.342153 -0.246459 +0.162535 -0.263974 -0.245177 + +0.137488 -0.342153 -0.246459 +0.193335 -0.313996 -0.266558 +0.160797 -0.400158 -0.246459 + +0.226111 -0.367228 -0.266558 +0.160797 -0.400158 -0.246459 +0.193335 -0.313996 -0.266558 + +0.160797 -0.400158 -0.246459 +0.226111 -0.367228 -0.266558 +0.1827 -0.454666 -0.225078 + +0.256911 -0.417249 -0.245177 +0.1827 -0.454666 -0.225078 +0.226111 -0.367228 -0.266558 + +0.1827 -0.454666 -0.225078 +0.256911 -0.417249 -0.245177 +0.200555 -0.4991 -0.184896 + +0.282019 -0.458027 -0.204994 +0.200555 -0.4991 -0.184896 +0.256911 -0.417249 -0.245177 + +0.200555 -0.4991 -0.184896 +0.282019 -0.458027 -0.204994 +0.212209 -0.528103 -0.130758 + +0.298407 -0.484643 -0.150856 +0.212209 -0.528103 -0.130758 +0.282019 -0.458027 -0.204994 + +0.212209 -0.528103 -0.130758 +0.298407 -0.484643 -0.150856 +0.216257 -0.538176 -0.0691939 + +0.304098 -0.493887 -0.0892926 +0.216257 -0.538176 -0.0691939 +0.298407 -0.484643 -0.150856 + +0.304098 -0.493887 -0.0892926 +0.383191 -0.43539 -0.09919 +0.298407 -0.484643 -0.027729 + +0.376019 -0.427241 -0.0376264 +0.298407 -0.484643 -0.027729 +0.383191 -0.43539 -0.09919 + +0.298407 -0.484643 -0.027729 +0.376019 -0.427241 -0.0376264 +0.282019 -0.458027 0.0264092 + +0.355369 -0.403778 0.0165117 +0.282019 -0.458027 0.0264092 +0.376019 -0.427241 -0.0376264 + +0.282019 -0.458027 0.0264092 +0.355369 -0.403778 0.0165117 +0.256911 -0.417249 0.066592 + +0.323731 -0.367829 0.0566945 +0.256911 -0.417249 0.066592 +0.355369 -0.403778 0.0165117 + +0.256911 -0.417249 0.066592 +0.323731 -0.367829 0.0566945 +0.226111 -0.367228 0.0879728 + +0.28492 -0.323732 0.0780754 +0.226111 -0.367228 0.0879728 +0.323731 -0.367829 0.0566945 + +0.226111 -0.367228 0.0879728 +0.28492 -0.323732 0.0780754 +0.193335 -0.313996 0.0879728 + +0.243619 -0.276805 0.0780754 +0.193335 -0.313996 0.0879728 +0.28492 -0.323732 0.0780754 + +0.193335 -0.313996 0.0879728 +0.243619 -0.276805 0.0780754 +0.162535 -0.263974 0.066592 + +0.204809 -0.232708 0.0566945 +0.162535 -0.263974 0.066592 +0.243619 -0.276805 0.0780754 + +0.162535 -0.263974 0.066592 +0.204809 -0.232708 0.0566945 +0.137427 -0.223196 0.0264092 + +0.173171 -0.19676 0.0165117 +0.137427 -0.223196 0.0264092 +0.204809 -0.232708 0.0566945 + +0.137427 -0.223196 0.0264092 +0.173171 -0.19676 0.0165117 +0.121039 -0.19658 -0.027729 + +0.15252 -0.173297 -0.0376264 +0.121039 -0.19658 -0.027729 +0.173171 -0.19676 0.0165117 + +0.121039 -0.19658 -0.027729 +0.15252 -0.173297 -0.0376264 +0.115348 -0.187336 -0.0892926 + +0.145348 -0.165148 -0.09919 +0.115348 -0.187336 -0.0892926 +0.15252 -0.173297 -0.0376264 + +0.115348 -0.187336 -0.0892926 +0.145348 -0.165148 -0.09919 +0.121039 -0.19658 -0.150856 + +0.15252 -0.173297 -0.160754 +0.121039 -0.19658 -0.150856 +0.145348 -0.165148 -0.09919 + +0.121039 -0.19658 -0.150856 +0.15252 -0.173297 -0.160754 +0.137427 -0.223196 -0.204994 + +0.173171 -0.19676 -0.214892 +0.137427 -0.223196 -0.204994 +0.15252 -0.173297 -0.160754 + +0.137427 -0.223196 -0.204994 +0.173171 -0.19676 -0.214892 +0.162535 -0.263974 -0.245177 + +0.204809 -0.232708 -0.255075 +0.162535 -0.263974 -0.245177 +0.173171 -0.19676 -0.214892 + +0.162535 -0.263974 -0.245177 +0.204809 -0.232708 -0.255075 +0.193335 -0.313996 -0.266558 + +0.243619 -0.276805 -0.276455 +0.193335 -0.313996 -0.266558 +0.204809 -0.232708 -0.255075 + +0.193335 -0.313996 -0.266558 +0.243619 -0.276805 -0.276455 +0.226111 -0.367228 -0.266558 + +0.28492 -0.323732 -0.276455 +0.226111 -0.367228 -0.266558 +0.243619 -0.276805 -0.276455 + +0.226111 -0.367228 -0.266558 +0.28492 -0.323732 -0.276455 +0.256911 -0.417249 -0.245177 + +0.323731 -0.367829 -0.255075 +0.256911 -0.417249 -0.245177 +0.28492 -0.323732 -0.276455 + +0.256911 -0.417249 -0.245177 +0.323731 -0.367829 -0.255075 +0.282019 -0.458027 -0.204994 + +0.355369 -0.403778 -0.214892 +0.282019 -0.458027 -0.204994 +0.323731 -0.367829 -0.255075 + +0.282019 -0.458027 -0.204994 +0.355369 -0.403778 -0.214892 +0.298407 -0.484643 -0.150856 + +0.376019 -0.427241 -0.160754 +0.298407 -0.484643 -0.150856 +0.355369 -0.403778 -0.214892 + +0.298407 -0.484643 -0.150856 +0.376019 -0.427241 -0.160754 +0.304098 -0.493887 -0.0892926 + +0.383191 -0.43539 -0.09919 +0.304098 -0.493887 -0.0892926 +0.376019 -0.427241 -0.160754 + +0.383191 -0.43539 -0.09919 +0.451261 -0.364368 -0.0977555 +0.376019 -0.427241 -0.0376264 + +0.442815 -0.357548 -0.0361919 +0.376019 -0.427241 -0.0376264 +0.451261 -0.364368 -0.0977555 + +0.376019 -0.427241 -0.0376264 +0.442815 -0.357548 -0.0361919 +0.355369 -0.403778 0.0165117 + +0.418496 -0.337912 0.0179462 +0.355369 -0.403778 0.0165117 +0.442815 -0.357548 -0.0361919 + +0.355369 -0.403778 0.0165117 +0.418496 -0.337912 0.0179462 +0.323731 -0.367829 0.0566945 + +0.381238 -0.307828 0.058129 +0.323731 -0.367829 0.0566945 +0.418496 -0.337912 0.0179462 + +0.323731 -0.367829 0.0566945 +0.381238 -0.307828 0.058129 +0.28492 -0.323732 0.0780754 + +0.335533 -0.270924 0.0795099 +0.28492 -0.323732 0.0780754 +0.381238 -0.307828 0.058129 + +0.28492 -0.323732 0.0780754 +0.335533 -0.270924 0.0795099 +0.243619 -0.276805 0.0780754 + +0.286895 -0.231652 0.0795099 +0.243619 -0.276805 0.0780754 +0.335533 -0.270924 0.0795099 + +0.243619 -0.276805 0.0780754 +0.286895 -0.231652 0.0795099 +0.204809 -0.232708 0.0566945 + +0.241191 -0.194748 0.058129 +0.204809 -0.232708 0.0566945 +0.286895 -0.231652 0.0795099 + +0.204809 -0.232708 0.0566945 +0.241191 -0.194748 0.058129 +0.173171 -0.19676 0.0165117 + +0.203933 -0.164664 0.0179462 +0.173171 -0.19676 0.0165117 +0.241191 -0.194748 0.058129 + +0.173171 -0.19676 0.0165117 +0.203933 -0.164664 0.0179462 +0.15252 -0.173297 -0.0376264 + +0.179614 -0.145028 -0.0361919 +0.15252 -0.173297 -0.0376264 +0.203933 -0.164664 0.0179462 + +0.15252 -0.173297 -0.0376264 +0.179614 -0.145028 -0.0361919 +0.145348 -0.165148 -0.09919 + +0.171168 -0.138208 -0.0977555 +0.145348 -0.165148 -0.09919 +0.179614 -0.145028 -0.0361919 + +0.145348 -0.165148 -0.09919 +0.171168 -0.138208 -0.0977555 +0.15252 -0.173297 -0.160754 + +0.179614 -0.145028 -0.159319 +0.15252 -0.173297 -0.160754 +0.171168 -0.138208 -0.0977555 + +0.15252 -0.173297 -0.160754 +0.179614 -0.145028 -0.159319 +0.173171 -0.19676 -0.214892 + +0.203933 -0.164664 -0.213457 +0.173171 -0.19676 -0.214892 +0.179614 -0.145028 -0.159319 + +0.173171 -0.19676 -0.214892 +0.203933 -0.164664 -0.213457 +0.204809 -0.232708 -0.255075 + +0.241191 -0.194748 -0.25364 +0.204809 -0.232708 -0.255075 +0.203933 -0.164664 -0.213457 + +0.204809 -0.232708 -0.255075 +0.241191 -0.194748 -0.25364 +0.243619 -0.276805 -0.276455 + +0.286895 -0.231652 -0.275021 +0.243619 -0.276805 -0.276455 +0.241191 -0.194748 -0.25364 + +0.243619 -0.276805 -0.276455 +0.286895 -0.231652 -0.275021 +0.28492 -0.323732 -0.276455 + +0.335533 -0.270924 -0.275021 +0.28492 -0.323732 -0.276455 +0.286895 -0.231652 -0.275021 + +0.28492 -0.323732 -0.276455 +0.335533 -0.270924 -0.275021 +0.323731 -0.367829 -0.255075 + +0.381238 -0.307828 -0.25364 +0.323731 -0.367829 -0.255075 +0.335533 -0.270924 -0.275021 + +0.323731 -0.367829 -0.255075 +0.381238 -0.307828 -0.25364 +0.355369 -0.403778 -0.214892 + +0.418496 -0.337912 -0.213457 +0.355369 -0.403778 -0.214892 +0.381238 -0.307828 -0.25364 + +0.355369 -0.403778 -0.214892 +0.418496 -0.337912 -0.213457 +0.376019 -0.427241 -0.160754 + +0.442815 -0.357548 -0.159319 +0.376019 -0.427241 -0.160754 +0.418496 -0.337912 -0.213457 + +0.376019 -0.427241 -0.160754 +0.442815 -0.357548 -0.159319 +0.383191 -0.43539 -0.09919 + +0.451261 -0.364368 -0.0977555 +0.383191 -0.43539 -0.09919 +0.442815 -0.357548 -0.159319 + +0.451261 -0.364368 -0.0977555 +0.506348 -0.282863 -0.0851529 +0.442815 -0.357548 -0.0361919 + +0.496871 -0.277569 -0.0235893 +0.442815 -0.357548 -0.0361919 +0.506348 -0.282863 -0.0851529 + +0.442815 -0.357548 -0.0361919 +0.496871 -0.277569 -0.0235893 +0.418496 -0.337912 0.0179462 + +0.469584 -0.262325 0.0305489 +0.418496 -0.337912 0.0179462 +0.496871 -0.277569 -0.0235893 + +0.418496 -0.337912 0.0179462 +0.469584 -0.262325 0.0305489 +0.381238 -0.307828 0.058129 + +0.427777 -0.238971 0.0707317 +0.381238 -0.307828 0.058129 +0.469584 -0.262325 0.0305489 + +0.381238 -0.307828 0.058129 +0.427777 -0.238971 0.0707317 +0.335533 -0.270924 0.0795099 + +0.376493 -0.210322 0.0921125 +0.335533 -0.270924 0.0795099 +0.427777 -0.238971 0.0707317 + +0.335533 -0.270924 0.0795099 +0.376493 -0.210322 0.0921125 +0.286895 -0.231652 0.0795099 + +0.321918 -0.179834 0.0921125 +0.286895 -0.231652 0.0795099 +0.376493 -0.210322 0.0921125 + +0.286895 -0.231652 0.0795099 +0.321918 -0.179834 0.0921125 +0.241191 -0.194748 0.058129 + +0.270634 -0.151185 0.0707317 +0.241191 -0.194748 0.058129 +0.321918 -0.179834 0.0921125 + +0.241191 -0.194748 0.058129 +0.270634 -0.151185 0.0707317 +0.203933 -0.164664 0.0179462 + +0.228827 -0.127831 0.0305489 +0.203933 -0.164664 0.0179462 +0.270634 -0.151185 0.0707317 + +0.203933 -0.164664 0.0179462 +0.228827 -0.127831 0.0305489 +0.179614 -0.145028 -0.0361919 + +0.20154 -0.112587 -0.0235893 +0.179614 -0.145028 -0.0361919 +0.228827 -0.127831 0.0305489 + +0.179614 -0.145028 -0.0361919 +0.20154 -0.112587 -0.0235893 +0.171168 -0.138208 -0.0977555 + +0.192063 -0.107293 -0.0851529 +0.171168 -0.138208 -0.0977555 +0.20154 -0.112587 -0.0235893 + +0.171168 -0.138208 -0.0977555 +0.192063 -0.107293 -0.0851529 +0.179614 -0.145028 -0.159319 + +0.20154 -0.112587 -0.146717 +0.179614 -0.145028 -0.159319 +0.192063 -0.107293 -0.0851529 + +0.179614 -0.145028 -0.159319 +0.20154 -0.112587 -0.146717 +0.203933 -0.164664 -0.213457 + +0.228827 -0.127831 -0.200855 +0.203933 -0.164664 -0.213457 +0.20154 -0.112587 -0.146717 + +0.203933 -0.164664 -0.213457 +0.228827 -0.127831 -0.200855 +0.241191 -0.194748 -0.25364 + +0.270634 -0.151185 -0.241037 +0.241191 -0.194748 -0.25364 +0.228827 -0.127831 -0.200855 + +0.241191 -0.194748 -0.25364 +0.270634 -0.151185 -0.241037 +0.286895 -0.231652 -0.275021 + +0.321918 -0.179834 -0.262418 +0.286895 -0.231652 -0.275021 +0.270634 -0.151185 -0.241037 + +0.286895 -0.231652 -0.275021 +0.321918 -0.179834 -0.262418 +0.335533 -0.270924 -0.275021 + +0.376493 -0.210322 -0.262418 +0.335533 -0.270924 -0.275021 +0.321918 -0.179834 -0.262418 + +0.335533 -0.270924 -0.275021 +0.376493 -0.210322 -0.262418 +0.381238 -0.307828 -0.25364 + +0.427777 -0.238971 -0.241037 +0.381238 -0.307828 -0.25364 +0.376493 -0.210322 -0.262418 + +0.381238 -0.307828 -0.25364 +0.427777 -0.238971 -0.241037 +0.418496 -0.337912 -0.213457 + +0.469584 -0.262325 -0.200855 +0.418496 -0.337912 -0.213457 +0.427777 -0.238971 -0.241037 + +0.418496 -0.337912 -0.213457 +0.469584 -0.262325 -0.200855 +0.442815 -0.357548 -0.159319 + +0.496871 -0.277569 -0.146717 +0.442815 -0.357548 -0.159319 +0.469584 -0.262325 -0.200855 + +0.442815 -0.357548 -0.159319 +0.496871 -0.277569 -0.146717 +0.451261 -0.364368 -0.0977555 + +0.506348 -0.282863 -0.0851529 +0.451261 -0.364368 -0.0977555 +0.496871 -0.277569 -0.146717 + +0.506348 -0.282863 -0.0851529 +0.546869 -0.193221 -0.062822 +0.496871 -0.277569 -0.0235893 + +0.536634 -0.189605 -0.00125837 +0.496871 -0.277569 -0.0235893 +0.546869 -0.193221 -0.062822 + +0.496871 -0.277569 -0.0235893 +0.536634 -0.189605 -0.00125837 +0.469584 -0.262325 0.0305489 + +0.507162 -0.179192 0.0528798 +0.469584 -0.262325 0.0305489 +0.536634 -0.189605 -0.00125837 + +0.469584 -0.262325 0.0305489 +0.507162 -0.179192 0.0528798 +0.427777 -0.238971 0.0707317 + +0.46201 -0.163238 0.0930626 +0.427777 -0.238971 0.0707317 +0.507162 -0.179192 0.0528798 + +0.427777 -0.238971 0.0707317 +0.46201 -0.163238 0.0930626 +0.376493 -0.210322 0.0921125 + +0.406622 -0.143669 0.114443 +0.376493 -0.210322 0.0921125 +0.46201 -0.163238 0.0930626 + +0.376493 -0.210322 0.0921125 +0.406622 -0.143669 0.114443 +0.321918 -0.179834 0.0921125 + +0.34768 -0.122843 0.114443 +0.321918 -0.179834 0.0921125 +0.406622 -0.143669 0.114443 + +0.321918 -0.179834 0.0921125 +0.34768 -0.122843 0.114443 +0.270634 -0.151185 0.0707317 + +0.292292 -0.103273 0.0930626 +0.270634 -0.151185 0.0707317 +0.34768 -0.122843 0.114443 + +0.270634 -0.151185 0.0707317 +0.292292 -0.103273 0.0930626 +0.228827 -0.127831 0.0305489 + +0.247139 -0.0873199 0.0528798 +0.228827 -0.127831 0.0305489 +0.292292 -0.103273 0.0930626 + +0.228827 -0.127831 0.0305489 +0.247139 -0.0873199 0.0528798 +0.20154 -0.112587 -0.0235893 + +0.217668 -0.0769071 -0.00125837 +0.20154 -0.112587 -0.0235893 +0.247139 -0.0873199 0.0528798 + +0.20154 -0.112587 -0.0235893 +0.217668 -0.0769071 -0.00125837 +0.192063 -0.107293 -0.0851529 + +0.207433 -0.0732908 -0.062822 +0.192063 -0.107293 -0.0851529 +0.217668 -0.0769071 -0.00125837 + +0.192063 -0.107293 -0.0851529 +0.207433 -0.0732908 -0.062822 +0.20154 -0.112587 -0.146717 + +0.217668 -0.0769071 -0.124386 +0.20154 -0.112587 -0.146717 +0.207433 -0.0732908 -0.062822 + +0.20154 -0.112587 -0.146717 +0.217668 -0.0769071 -0.124386 +0.228827 -0.127831 -0.200855 + +0.247139 -0.0873199 -0.178524 +0.228827 -0.127831 -0.200855 +0.217668 -0.0769071 -0.124386 + +0.228827 -0.127831 -0.200855 +0.247139 -0.0873199 -0.178524 +0.270634 -0.151185 -0.241037 + +0.292292 -0.103273 -0.218707 +0.270634 -0.151185 -0.241037 +0.247139 -0.0873199 -0.178524 + +0.270634 -0.151185 -0.241037 +0.292292 -0.103273 -0.218707 +0.321918 -0.179834 -0.262418 + +0.34768 -0.122843 -0.240087 +0.321918 -0.179834 -0.262418 +0.292292 -0.103273 -0.218707 + +0.321918 -0.179834 -0.262418 +0.34768 -0.122843 -0.240087 +0.376493 -0.210322 -0.262418 + +0.406622 -0.143669 -0.240087 +0.376493 -0.210322 -0.262418 +0.34768 -0.122843 -0.240087 + +0.376493 -0.210322 -0.262418 +0.406622 -0.143669 -0.240087 +0.427777 -0.238971 -0.241037 + +0.46201 -0.163238 -0.218707 +0.427777 -0.238971 -0.241037 +0.406622 -0.143669 -0.240087 + +0.427777 -0.238971 -0.241037 +0.46201 -0.163238 -0.218707 +0.469584 -0.262325 -0.200855 + +0.507162 -0.179192 -0.178524 +0.469584 -0.262325 -0.200855 +0.46201 -0.163238 -0.218707 + +0.469584 -0.262325 -0.200855 +0.507162 -0.179192 -0.178524 +0.496871 -0.277569 -0.146717 + +0.536634 -0.189605 -0.124386 +0.496871 -0.277569 -0.146717 +0.507162 -0.179192 -0.178524 + +0.496871 -0.277569 -0.146717 +0.536634 -0.189605 -0.124386 +0.506348 -0.282863 -0.0851529 + +0.546869 -0.193221 -0.062822 +0.506348 -0.282863 -0.0851529 +0.536634 -0.189605 -0.124386 + +0.546869 -0.193221 -0.062822 +0.571657 -0.0980205 -0.033314 +0.536634 -0.189605 -0.00125837 + +0.560958 -0.0961859 0.0282496 +0.536634 -0.189605 -0.00125837 +0.571657 -0.0980205 -0.033314 + +0.536634 -0.189605 -0.00125837 +0.560958 -0.0961859 0.0282496 +0.507162 -0.179192 0.0528798 + +0.530151 -0.0909035 0.0823878 +0.507162 -0.179192 0.0528798 +0.560958 -0.0961859 0.0282496 + +0.507162 -0.179192 0.0528798 +0.530151 -0.0909035 0.0823878 +0.46201 -0.163238 0.0930626 + +0.482952 -0.0828104 0.122571 +0.46201 -0.163238 0.0930626 +0.530151 -0.0909035 0.0823878 + +0.46201 -0.163238 0.0930626 +0.482952 -0.0828104 0.122571 +0.406622 -0.143669 0.114443 + +0.425053 -0.0728827 0.143951 +0.406622 -0.143669 0.114443 +0.482952 -0.0828104 0.122571 + +0.406622 -0.143669 0.114443 +0.425053 -0.0728827 0.143951 +0.34768 -0.122843 0.114443 + +0.363439 -0.0623179 0.143951 +0.34768 -0.122843 0.114443 +0.425053 -0.0728827 0.143951 + +0.34768 -0.122843 0.114443 +0.363439 -0.0623179 0.143951 +0.292292 -0.103273 0.0930626 + +0.305541 -0.0523903 0.122571 +0.292292 -0.103273 0.0930626 +0.363439 -0.0623179 0.143951 + +0.292292 -0.103273 0.0930626 +0.305541 -0.0523903 0.122571 +0.247139 -0.0873199 0.0528798 + +0.258342 -0.0442971 0.0823878 +0.247139 -0.0873199 0.0528798 +0.305541 -0.0523903 0.122571 + +0.247139 -0.0873199 0.0528798 +0.258342 -0.0442971 0.0823878 +0.217668 -0.0769071 -0.00125837 + +0.227535 -0.0390147 0.0282496 +0.217668 -0.0769071 -0.00125837 +0.258342 -0.0442971 0.0823878 + +0.217668 -0.0769071 -0.00125837 +0.227535 -0.0390147 0.0282496 +0.207433 -0.0732908 -0.062822 + +0.216836 -0.0371802 -0.033314 +0.207433 -0.0732908 -0.062822 +0.227535 -0.0390147 0.0282496 + +0.207433 -0.0732908 -0.062822 +0.216836 -0.0371802 -0.033314 +0.217668 -0.0769071 -0.124386 + +0.227535 -0.0390147 -0.0948776 +0.217668 -0.0769071 -0.124386 +0.216836 -0.0371802 -0.033314 + +0.217668 -0.0769071 -0.124386 +0.227535 -0.0390147 -0.0948776 +0.247139 -0.0873199 -0.178524 + +0.258342 -0.0442971 -0.149016 +0.247139 -0.0873199 -0.178524 +0.227535 -0.0390147 -0.0948776 + +0.247139 -0.0873199 -0.178524 +0.258342 -0.0442971 -0.149016 +0.292292 -0.103273 -0.218707 + +0.305541 -0.0523903 -0.189199 +0.292292 -0.103273 -0.218707 +0.258342 -0.0442971 -0.149016 + +0.292292 -0.103273 -0.218707 +0.305541 -0.0523903 -0.189199 +0.34768 -0.122843 -0.240087 + +0.363439 -0.0623179 -0.210579 +0.34768 -0.122843 -0.240087 +0.305541 -0.0523903 -0.189199 + +0.34768 -0.122843 -0.240087 +0.363439 -0.0623179 -0.210579 +0.406622 -0.143669 -0.240087 + +0.425053 -0.0728827 -0.210579 +0.406622 -0.143669 -0.240087 +0.363439 -0.0623179 -0.210579 + +0.406622 -0.143669 -0.240087 +0.425053 -0.0728827 -0.210579 +0.46201 -0.163238 -0.218707 + +0.482952 -0.0828104 -0.189199 +0.46201 -0.163238 -0.218707 +0.425053 -0.0728827 -0.210579 + +0.46201 -0.163238 -0.218707 +0.482952 -0.0828104 -0.189199 +0.507162 -0.179192 -0.178524 + +0.530151 -0.0909035 -0.149016 +0.507162 -0.179192 -0.178524 +0.482952 -0.0828104 -0.189199 + +0.507162 -0.179192 -0.178524 +0.530151 -0.0909035 -0.149016 +0.536634 -0.189605 -0.124386 + +0.560958 -0.0961859 -0.0948776 +0.536634 -0.189605 -0.124386 +0.530151 -0.0909035 -0.149016 + +0.536634 -0.189605 -0.124386 +0.560958 -0.0961859 -0.0948776 +0.546869 -0.193221 -0.062822 + +0.571657 -0.0980205 -0.033314 +0.546869 -0.193221 -0.062822 +0.560958 -0.0961859 -0.0948776 + +0.571657 -0.0980205 -0.033314 +0.58 0 0 +0.560958 -0.0961859 0.0282496 + +0.569145 0 0.0615636 +0.560958 -0.0961859 0.0282496 +0.58 0 0 + +0.560958 -0.0961859 0.0282496 +0.569145 0 0.0615636 +0.530151 -0.0909035 0.0823878 + +0.537888 0 0.115702 +0.530151 -0.0909035 0.0823878 +0.569145 0 0.0615636 + +0.530151 -0.0909035 0.0823878 +0.537888 0 0.115702 +0.482952 -0.0828104 0.122571 + +0.49 0 0.155885 +0.482952 -0.0828104 0.122571 +0.537888 0 0.115702 + +0.482952 -0.0828104 0.122571 +0.49 0 0.155885 +0.425053 -0.0728827 0.143951 + +0.431257 0 0.177265 +0.425053 -0.0728827 0.143951 +0.49 0 0.155885 + +0.425053 -0.0728827 0.143951 +0.431257 0 0.177265 +0.363439 -0.0623179 0.143951 + +0.368743 0 0.177265 +0.363439 -0.0623179 0.143951 +0.431257 0 0.177265 + +0.363439 -0.0623179 0.143951 +0.368743 0 0.177265 +0.305541 -0.0523903 0.122571 + +0.31 0 0.155885 +0.305541 -0.0523903 0.122571 +0.368743 0 0.177265 + +0.305541 -0.0523903 0.122571 +0.31 0 0.155885 +0.258342 -0.0442971 0.0823878 + +0.262112 0 0.115702 +0.258342 -0.0442971 0.0823878 +0.31 0 0.155885 + +0.258342 -0.0442971 0.0823878 +0.262112 0 0.115702 +0.227535 -0.0390147 0.0282496 + +0.230855 0 0.0615636 +0.227535 -0.0390147 0.0282496 +0.262112 0 0.115702 + +0.227535 -0.0390147 0.0282496 +0.230855 0 0.0615636 +0.216836 -0.0371802 -0.033314 + +0.22 0 0 +0.216836 -0.0371802 -0.033314 +0.230855 0 0.0615636 + +0.216836 -0.0371802 -0.033314 +0.22 0 0 +0.227535 -0.0390147 -0.0948776 + +0.230855 0 -0.0615636 +0.227535 -0.0390147 -0.0948776 +0.22 0 0 + +0.227535 -0.0390147 -0.0948776 +0.230855 0 -0.0615636 +0.258342 -0.0442971 -0.149016 + +0.262112 0 -0.115702 +0.258342 -0.0442971 -0.149016 +0.230855 0 -0.0615636 + +0.258342 -0.0442971 -0.149016 +0.262112 0 -0.115702 +0.305541 -0.0523903 -0.189199 + +0.31 0 -0.155885 +0.305541 -0.0523903 -0.189199 +0.262112 0 -0.115702 + +0.305541 -0.0523903 -0.189199 +0.31 0 -0.155885 +0.363439 -0.0623179 -0.210579 + +0.368743 0 -0.177265 +0.363439 -0.0623179 -0.210579 +0.31 0 -0.155885 + +0.363439 -0.0623179 -0.210579 +0.368743 0 -0.177265 +0.425053 -0.0728827 -0.210579 + +0.431257 0 -0.177265 +0.425053 -0.0728827 -0.210579 +0.368743 0 -0.177265 + +0.425053 -0.0728827 -0.210579 +0.431257 0 -0.177265 +0.482952 -0.0828104 -0.189199 + +0.49 0 -0.155885 +0.482952 -0.0828104 -0.189199 +0.431257 0 -0.177265 + +0.482952 -0.0828104 -0.189199 +0.49 0 -0.155885 +0.530151 -0.0909035 -0.149016 + +0.537888 0 -0.115702 +0.530151 -0.0909035 -0.149016 +0.49 0 -0.155885 + +0.530151 -0.0909035 -0.149016 +0.537888 0 -0.115702 +0.560958 -0.0961859 -0.0948776 + +0.569145 0 -0.0615636 +0.560958 -0.0961859 -0.0948776 +0.537888 0 -0.115702 + +0.560958 -0.0961859 -0.0948776 +0.569145 0 -0.0615636 +0.571657 -0.0980205 -0.033314 + +0.58 0 0 +0.571657 -0.0980205 -0.033314 +0.569145 0 -0.0615636 + diff --git a/trunk/PQP/build/pqp-tar/PQP_v1.3/include/BV.h b/trunk/PQP/build/pqp-tar/PQP_v1.3/include/BV.h new file mode 100644 index 00000000..cfe42c73 --- /dev/null +++ b/trunk/PQP/build/pqp-tar/PQP_v1.3/include/BV.h @@ -0,0 +1,94 @@ +/*************************************************************************\ + + Copyright 1999 The University of North Carolina at Chapel Hill. + All Rights Reserved. + + Permission to use, copy, modify and distribute this software and its + documentation for educational, research and non-profit purposes, without + fee, and without a written agreement is hereby granted, provided that the + above copyright notice and the following three paragraphs appear in all + copies. + + IN NO EVENT SHALL THE UNIVERSITY OF NORTH CAROLINA AT CHAPEL HILL BE + LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR + CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF THE + USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY + OF NORTH CAROLINA HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH + DAMAGES. + + THE UNIVERSITY OF NORTH CAROLINA SPECIFICALLY DISCLAIM ANY + WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE + PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF + NORTH CAROLINA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT, + UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + + The authors may be contacted via: + + US Mail: E. Larsen + Department of Computer Science + Sitterson Hall, CB #3175 + University of N. Carolina + Chapel Hill, NC 27599-3175 + + Phone: (919)962-1749 + + EMail: geom@cs.unc.edu + + +\**************************************************************************/ + +#ifndef PQP_BV_H +#define PQP_BV_H + +#include <math.h> +#include "Tri.h" +#include "PQP_Compile.h" + +struct BV +{ + PQP_REAL R[3][3]; // orientation of RSS & OBB + +#if PQP_BV_TYPE & RSS_TYPE + PQP_REAL Tr[3]; // position of rectangle + PQP_REAL l[2]; // side lengths of rectangle + PQP_REAL r; // radius of sphere summed with rectangle to form RSS +#endif + +#if PQP_BV_TYPE & OBB_TYPE + PQP_REAL To[3]; // position of obb + PQP_REAL d[3]; // (half) dimensions of obb +#endif + + int first_child; // positive value is index of first_child bv + // negative value is -(index + 1) of triangle + + BV(); + ~BV(); + int Leaf() { return first_child < 0; } + PQP_REAL GetSize(); + void FitToTris(PQP_REAL O[3][3], Tri *tris, int num_tris); +}; + +inline +PQP_REAL +BV::GetSize() +{ +#if PQP_BV_TYPE & RSS_TYPE + return (sqrt(l[0]*l[0] + l[1]*l[1]) + 2*r); +#else + return (d[0]*d[0] + d[1]*d[1] + d[2]*d[2]); +#endif +} + +int +BV_Overlap(PQP_REAL R[3][3], PQP_REAL T[3], BV *b1, BV *b2); + +#if PQP_BV_TYPE & RSS_TYPE +PQP_REAL +BV_Distance(PQP_REAL R[3][3], PQP_REAL T[3], BV *b1, BV *b2); +#endif + +#endif + + diff --git a/trunk/PQP/build/pqp-tar/PQP_v1.3/include/PQP.h b/trunk/PQP/build/pqp-tar/PQP_v1.3/include/PQP.h new file mode 100644 index 00000000..f6f3e539 --- /dev/null +++ b/trunk/PQP/build/pqp-tar/PQP_v1.3/include/PQP.h @@ -0,0 +1,338 @@ +/*************************************************************************\ + + Copyright 1999 The University of North Carolina at Chapel Hill. + All Rights Reserved. + + Permission to use, copy, modify and distribute this software and its + documentation for educational, research and non-profit purposes, without + fee, and without a written agreement is hereby granted, provided that the + above copyright notice and the following three paragraphs appear in all + copies. + + IN NO EVENT SHALL THE UNIVERSITY OF NORTH CAROLINA AT CHAPEL HILL BE + LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR + CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF THE + USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY + OF NORTH CAROLINA HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH + DAMAGES. + + THE UNIVERSITY OF NORTH CAROLINA SPECIFICALLY DISCLAIM ANY + WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE + PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF + NORTH CAROLINA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT, + UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + + The authors may be contacted via: + + US Mail: S. Gottschalk, E. Larsen + Department of Computer Science + Sitterson Hall, CB #3175 + University of N. Carolina + Chapel Hill, NC 27599-3175 + + Phone: (919)962-1749 + + EMail: geom@cs.unc.edu + + +\**************************************************************************/ + +#ifndef PQP_H +#define PQP_H + +#include "PQP_Compile.h" +#include "PQP_Internal.h" + +//---------------------------------------------------------------------------- +// +// PQP API Return Values +// +//---------------------------------------------------------------------------- + +const int PQP_OK = 0; + // Used by all API routines upon successful completion except + // constructors and destructors + +const int PQP_ERR_MODEL_OUT_OF_MEMORY = -1; + // Returned when an API function cannot obtain enough memory to + // store or process a PQP_Model object. + +const int PQP_ERR_OUT_OF_MEMORY = -2; + // Returned when a PQP query cannot allocate enough storage to + // compute or hold query information. In this case, the returned + // data should not be trusted. + +const int PQP_ERR_UNPROCESSED_MODEL = -3; + // Returned when an unprocessed model is passed to a function which + // expects only processed models, such as PQP_Collide() or + // PQP_Distance(). + +const int PQP_ERR_BUILD_OUT_OF_SEQUENCE = -4; + // Returned when: + // 1. AddTri() is called before BeginModel(). + // 2. BeginModel() is called immediately after AddTri(). + // This error code is something like a warning: the invoked + // operation takes place anyway, and PQP does what makes "most + // sense", but the returned error code may tip off the client that + // something out of the ordinary is happenning. + +const int PQP_ERR_BUILD_EMPTY_MODEL = -5; + // Returned when EndModel() is called on a model to which no + // triangles have been added. This is similar in spirit to the + // OUT_OF_SEQUENCE return code, except that the requested operation + // has FAILED -- the model remains "unprocessed", and the client may + // NOT use it in queries. + +//---------------------------------------------------------------------------- +// +// PQP_REAL +// +// The floating point type used throughout the package. The type is defined +// in PQP_Compile.h, and by default is "double" +// +//---------------------------------------------------------------------------- + +//---------------------------------------------------------------------------- +// +// PQP_Model +// +// A PQP_Model stores geometry to be used in a proximity query. +// The geometry is loaded with a call to BeginModel(), at least one call to +// AddTri(), and then a call to EndModel(). +// +// // create a two triangle model, m +// +// PQP_Model m; +// +// PQP_REAL p1[3],p2[3],p3[3]; // 3 points will make triangle p +// PQP_REAL q1[3],q2[3],q3[3]; // another 3 points for triangle q +// +// // some initialization of these vertices not shown +// +// m.BeginModel(); // begin the model +// m.AddTri(p1,p2,p3,0); // add triangle p +// m.AddTri(q1,q2,q3,1); // add triangle q +// m.EndModel(); // end (build) the model +// +// The last parameter of AddTri() is the number to be associated with the +// triangle. These numbers are used to identify the triangles that overlap. +// +// AddTri() copies into the PQP_Model the data pointed to by the three vertex +// pointers, so that it is safe to delete vertex data after you have +// passed it to AddTri(). +// +//---------------------------------------------------------------------------- +// +// class PQP_Model - declaration contained in PQP_Internal.h +// { +// +// public: +// PQP_Model(); +// ~PQP_Model(); +// +// int BeginModel(int num_tris = 8); // preallocate for num_tris triangles; +// // the parameter is optional, since +// // arrays are reallocated as needed +// +// int AddTri(const PQP_REAL *p1, const PQP_REAL *p2, const PQP_REAL *p3, +// int id); +// +// int EndModel(); +// int MemUsage(int msg); // returns model mem usage in bytes +// // prints message to stderr if msg == TRUE +// }; + +//---------------------------------------------------------------------------- +// +// PQP_CollideResult +// +// This saves and reports results from a collision query. +// +//---------------------------------------------------------------------------- +// +// struct PQP_CollideResult - declaration contained in PQP_Internal.h +// { +// // statistics +// +// int NumBVTests(); +// int NumTriTests(); +// PQP_REAL QueryTimeSecs(); +// +// // free the list of contact pairs; ordinarily this list is reused +// // for each query, and only deleted in the destructor. +// +// void FreePairsList(); +// +// // query results +// +// int Colliding(); +// int NumPairs(); +// int Id1(int k); +// int Id2(int k); +// }; + +//---------------------------------------------------------------------------- +// +// PQP_Collide() - detects collision between two PQP_Models +// +// +// Declare a PQP_CollideResult struct and pass its pointer to collect +// collision data. +// +// [R1, T1] is the placement of model 1 in the world & +// [R2, T2] is the placement of model 2 in the world. +// The columns of each 3x3 matrix are the basis vectors for the model +// in world coordinates, and the matrices are in row-major order: +// R(row r, col c) = R[r][c]. +// +// If PQP_ALL_CONTACTS is the flag value, after calling PQP_Collide(), +// the PQP_CollideResult object will contain an array with all +// colliding triangle pairs. Suppose CR is a pointer to the +// PQP_CollideResult object. The number of pairs is gotten from +// CR->NumPairs(), and the ids of the 15'th pair of colliding +// triangles is gotten from CR->Id1(14) and CR->Id2(14). +// +// If PQP_FIRST_CONTACT is the flag value, the PQP_CollideResult array +// will only get the first colliding triangle pair found. Thus +// CR->NumPairs() will be at most 1, and if 1, CR->Id1(0) and +// CR->Id2(0) give the ids of the colliding triangle pair. +// +//---------------------------------------------------------------------------- + +const int PQP_ALL_CONTACTS = 1; // find all pairwise intersecting triangles +const int PQP_FIRST_CONTACT = 2; // report first intersecting tri pair found + +int +PQP_Collide(PQP_CollideResult *result, + PQP_REAL R1[3][3], PQP_REAL T1[3], PQP_Model *o1, + PQP_REAL R2[3][3], PQP_REAL T2[3], PQP_Model *o2, + int flag = PQP_ALL_CONTACTS); + + +#if PQP_BV_TYPE & RSS_TYPE // this is true by default, + // and explained in PQP_Compile.h + +//---------------------------------------------------------------------------- +// +// PQP_DistanceResult +// +// This saves and reports results from a distance query. +// +//---------------------------------------------------------------------------- +// +// struct PQP_DistanceResult - declaration contained in PQP_Internal.h +// { +// // statistics +// +// int NumBVTests(); +// int NumTriTests(); +// PQP_REAL QueryTimeSecs(); +// +// // The following distance and points established the minimum distance +// // for the models, within the relative and absolute error bounds +// // specified. +// +// PQP_REAL Distance(); +// const PQP_REAL *P1(); // pointers to three PQP_REALs +// const PQP_REAL *P2(); +// }; + +//---------------------------------------------------------------------------- +// +// PQP_Distance() - computes the distance between two PQP_Models +// +// +// Declare a PQP_DistanceResult struct and pass its pointer to collect +// distance information. +// +// "rel_err" is the relative error margin from actual distance. +// "abs_err" is the absolute error margin from actual distance. The +// smaller of the two will be satisfied, so set one large to nullify +// its effect. +// +// "qsize" is an optional parameter controlling the size of a priority +// queue used to direct the search for closest points. A larger queue +// can help the algorithm discover the minimum with fewer steps, but +// will increase the cost of each step. It is not beneficial to increase +// qsize if the application has frame-to-frame coherence, i.e., the +// pair of models take small steps between each call, since another +// speedup trick already accelerates this situation with no overhead. +// +// However, a queue size of 100 to 200 has been seen to save time in a +// planning application with "non-coherent" placements of models. +// +//---------------------------------------------------------------------------- + +int +PQP_Distance(PQP_DistanceResult *result, + PQP_REAL R1[3][3], PQP_REAL T1[3], PQP_Model *o1, + PQP_REAL R2[3][3], PQP_REAL T2[3], PQP_Model *o2, + PQP_REAL rel_err, PQP_REAL abs_err, + int qsize = 2); + +//---------------------------------------------------------------------------- +// +// PQP_ToleranceResult +// +// This saves and reports results from a tolerance query. +// +//---------------------------------------------------------------------------- +// +// struct PQP_ToleranceResult - declaration contained in PQP_Internal.h +// { +// // statistics +// +// int NumBVTests(); +// int NumTriTests(); +// PQP_REAL QueryTimeSecs(); +// +// // If the models are closer than ( <= ) tolerance, these points +// // and distance were what established this. Otherwise, +// // distance and point values are not meaningful. +// +// PQP_REAL Distance(); +// const PQP_REAL *P1(); +// const PQP_REAL *P2(); +// +// // boolean says whether models are closer than tolerance distance +// +// int CloserThanTolerance(); +// }; + +//---------------------------------------------------------------------------- +// +// PQP_Tolerance() - checks if distance between PQP_Models is <= tolerance +// +// +// Declare a PQP_ToleranceResult and pass its pointer to collect +// tolerance information. +// +// The algorithm returns whether the true distance is <= or > +// "tolerance". This routine does not simply compute true distance +// and compare to the tolerance - models can often be shown closer or +// farther than the tolerance more trivially. In most cases this +// query should run faster than a distance query would on the same +// models and configurations. +// +// "qsize" again controls the size of a priority queue used for +// searching. Not setting qsize is the current recommendation, since +// increasing it has only slowed down our applications. +// +//---------------------------------------------------------------------------- + +int +PQP_Tolerance(PQP_ToleranceResult *res, + PQP_REAL R1[3][3], PQP_REAL T1[3], PQP_Model *o1, + PQP_REAL R2[3][3], PQP_REAL T2[3], PQP_Model *o2, + PQP_REAL tolerance, + int qsize = 2); + +#endif +#endif + + + + + + diff --git a/trunk/PQP/build/pqp-tar/PQP_v1.3/include/PQP_Compile.h b/trunk/PQP/build/pqp-tar/PQP_v1.3/include/PQP_Compile.h new file mode 100644 index 00000000..f76c9813 --- /dev/null +++ b/trunk/PQP/build/pqp-tar/PQP_v1.3/include/PQP_Compile.h @@ -0,0 +1,101 @@ +/*************************************************************************\ + + Copyright 1999 The University of North Carolina at Chapel Hill. + All Rights Reserved. + + Permission to use, copy, modify and distribute this software and its + documentation for educational, research and non-profit purposes, without + fee, and without a written agreement is hereby granted, provided that the + above copyright notice and the following three paragraphs appear in all + copies. + + IN NO EVENT SHALL THE UNIVERSITY OF NORTH CAROLINA AT CHAPEL HILL BE + LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR + CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF THE + USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY + OF NORTH CAROLINA HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH + DAMAGES. + + THE UNIVERSITY OF NORTH CAROLINA SPECIFICALLY DISCLAIM ANY + WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE + PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF + NORTH CAROLINA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT, + UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + + The authors may be contacted via: + + US Mail: S. Gottschalk, E. Larsen + Department of Computer Science + Sitterson Hall, CB #3175 + University of N. Carolina + Chapel Hill, NC 27599-3175 + + Phone: (919)962-1749 + + EMail: geom@cs.unc.edu + + +\**************************************************************************/ + +#ifndef PQP_COMPILE_H +#define PQP_COMPILE_H + +// prevents compiler warnings when PQP_REAL is float + +#include <math.h> +inline float sqrt(float x) { return (float)sqrt((double)x); } +inline float cos(float x) { return (float)cos((double)x); } +inline float sin(float x) { return (float)sin((double)x); } +inline float fabs(float x) { return (float)fabs((double)x); } + +//------------------------------------------------------------------------- +// +// PQP_REAL +// +// This is the floating point type used throughout PQP. doubles are +// recommended, both for their precision and because the software has +// mainly been tested using them. However, floats appear to be faster +// (by 60% on some machines). +// +//------------------------------------------------------------------------- + +typedef double PQP_REAL; + +//------------------------------------------------------------------------- +// +// PQP_BV_TYPE +// +// PQP introduces a bounding volume (BV) type known as the "rectangle +// swept sphere" (RSS) - the volume created by sweeping a sphere so +// that its center visits every point on a rectangle; it looks +// something like a rounded box. +// +// In our experiments, the RSS type is comparable to the oriented +// bounding box (OBB) in terms of the number of BV-pair and triangle-pair +// tests incurred. However, with our present implementations, overlap +// tests are cheaper for OBBs, while distance tests are cheaper for the +// RSS type (we used a public gjk implementation for the OBB distance test). +// +// Consequently, PQP is configured to use the RSS type in distance and +// tolerance queries (which use BV distance tests) and to use OBBs for +// collision queries (which use BV overlap tests). Using both requires six +// more PQP_REALs per BV node than using just one type. +// +// To save space, you can configure PQP to use only one type, however, +// with RSS alone, collision queries will typically be slower. With OBB's +// alone, distance and tolerance queries are currently not supported, since +// we have not developed our own OBB distance test. The three options are: +// +// #define PQP_BV_TYPE RSS_TYPE +// #define PQP_BV_TYPE OBB_TYPE +// #define PQP_BV_TYPE RSS_TYPE | OBB_TYPE +// +//------------------------------------------------------------------------- + +#define RSS_TYPE 1 +#define OBB_TYPE 2 + +#define PQP_BV_TYPE RSS_TYPE | OBB_TYPE + +#endif diff --git a/trunk/PQP/build/pqp-tar/PQP_v1.3/include/PQP_Internal.h b/trunk/PQP/build/pqp-tar/PQP_v1.3/include/PQP_Internal.h new file mode 100644 index 00000000..90cedcfa --- /dev/null +++ b/trunk/PQP/build/pqp-tar/PQP_v1.3/include/PQP_Internal.h @@ -0,0 +1,203 @@ +/*************************************************************************\ + + Copyright 1999 The University of North Carolina at Chapel Hill. + All Rights Reserved. + + Permission to use, copy, modify and distribute this software and its + documentation for educational, research and non-profit purposes, without + fee, and without a written agreement is hereby granted, provided that the + above copyright notice and the following three paragraphs appear in all + copies. + + IN NO EVENT SHALL THE UNIVERSITY OF NORTH CAROLINA AT CHAPEL HILL BE + LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR + CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF THE + USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY + OF NORTH CAROLINA HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH + DAMAGES. + + THE UNIVERSITY OF NORTH CAROLINA SPECIFICALLY DISCLAIM ANY + WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE + PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF + NORTH CAROLINA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT, + UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + + The authors may be contacted via: + + US Mail: S. Gottschalk, E. Larsen + Department of Computer Science + Sitterson Hall, CB #3175 + University of N. Carolina + Chapel Hill, NC 27599-3175 + + Phone: (919)962-1749 + + EMail: geom@cs.unc.edu + + +\**************************************************************************/ + +#include "Tri.h" +#include "BV.h" + +class PQP_Model +{ + +public: + + int build_state; + + Tri *tris; + int num_tris; + int num_tris_alloced; + + BV *b; + int num_bvs; + int num_bvs_alloced; + + Tri *last_tri; // closest tri on this model in last distance test + + BV *child(int n) { return &b[n]; } + + PQP_Model(); + ~PQP_Model(); + + int BeginModel(int num_tris = 8); // preallocate for num_tris triangles; + // the parameter is optional, since + // arrays are reallocated as needed + int AddTri(const PQP_REAL *p1, const PQP_REAL *p2, const PQP_REAL *p3, + int id); + int EndModel(); + int MemUsage(int msg); // returns model mem usage. + // prints message to stderr if msg == TRUE +}; + +struct CollisionPair +{ + int id1; + int id2; +}; + +struct PQP_CollideResult +{ + // stats + + int num_bv_tests; + int num_tri_tests; + double query_time_secs; + + // xform from model 1 to model 2 + + PQP_REAL R[3][3]; + PQP_REAL T[3]; + + int num_pairs_alloced; + int num_pairs; + CollisionPair *pairs; + + void SizeTo(int n); + void Add(int i1, int i2); + + PQP_CollideResult(); + ~PQP_CollideResult(); + + // statistics + + int NumBVTests() { return num_bv_tests; } + int NumTriTests() { return num_tri_tests; } + double QueryTimeSecs() { return query_time_secs; } + + // free the list of contact pairs; ordinarily this list is reused + // for each query, and only deleted in the destructor. + + void FreePairsList(); + + // query results + + int Colliding() { return (num_pairs > 0); } + int NumPairs() { return num_pairs; } + int Id1(int k) { return pairs[k].id1; } + int Id2(int k) { return pairs[k].id2; } +}; + +#if PQP_BV_TYPE & RSS_TYPE // distance/tolerance are only available with RSS + +struct PQP_DistanceResult +{ + // stats + + int num_bv_tests; + int num_tri_tests; + double query_time_secs; + + // xform from model 1 to model 2 + + PQP_REAL R[3][3]; + PQP_REAL T[3]; + + PQP_REAL rel_err; + PQP_REAL abs_err; + + PQP_REAL distance; + PQP_REAL p1[3]; + PQP_REAL p2[3]; + int qsize; + + // statistics + + int NumBVTests() { return num_bv_tests; } + int NumTriTests() { return num_tri_tests; } + double QueryTimeSecs() { return query_time_secs; } + + // The following distance and points established the minimum distance + // for the models, within the relative and absolute error bounds + // specified. + // Points are defined: PQP_REAL p1[3], p2[3]; + + PQP_REAL Distance() { return distance; } + const PQP_REAL *P1() { return p1; } + const PQP_REAL *P2() { return p2; } +}; + +struct PQP_ToleranceResult +{ + // stats + + int num_bv_tests; + int num_tri_tests; + double query_time_secs; + + // xform from model 1 to model 2 + + PQP_REAL R[3][3]; + PQP_REAL T[3]; + + int closer_than_tolerance; + PQP_REAL tolerance; + + PQP_REAL distance; + PQP_REAL p1[3]; + PQP_REAL p2[3]; + int qsize; + + // statistics + + int NumBVTests() { return num_bv_tests; } + int NumTriTests() { return num_tri_tests; } + double QueryTimeSecs() { return query_time_secs; } + + // If the models are closer than ( <= ) tolerance, these points + // and distance were what established this. Otherwise, + // distance and point values are not meaningful. + + PQP_REAL Distance() { return distance; } + const PQP_REAL *P1() { return p1; } + const PQP_REAL *P2() { return p2; } + + // boolean says whether models are closer than tolerance distance + + int CloserThanTolerance() { return closer_than_tolerance; } +}; + +#endif diff --git a/trunk/PQP/build/pqp-tar/PQP_v1.3/include/Tri.h b/trunk/PQP/build/pqp-tar/PQP_v1.3/include/Tri.h new file mode 100644 index 00000000..496cddd9 --- /dev/null +++ b/trunk/PQP/build/pqp-tar/PQP_v1.3/include/Tri.h @@ -0,0 +1,54 @@ +/*************************************************************************\ + + Copyright 1999 The University of North Carolina at Chapel Hill. + All Rights Reserved. + + Permission to use, copy, modify and distribute this software and its + documentation for educational, research and non-profit purposes, without + fee, and without a written agreement is hereby granted, provided that the + above copyright notice and the following three paragraphs appear in all + copies. + + IN NO EVENT SHALL THE UNIVERSITY OF NORTH CAROLINA AT CHAPEL HILL BE + LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR + CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF THE + USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY + OF NORTH CAROLINA HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH + DAMAGES. + + THE UNIVERSITY OF NORTH CAROLINA SPECIFICALLY DISCLAIM ANY + WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE + PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF + NORTH CAROLINA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT, + UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + + The authors may be contacted via: + + US Mail: S. Gottschalk + Department of Computer Science + Sitterson Hall, CB #3175 + University of N. Carolina + Chapel Hill, NC 27599-3175 + + Phone: (919)962-1749 + + EMail: geom@cs.unc.edu + + +\**************************************************************************/ + +#ifndef PQP_TRI_H +#define PQP_TRI_H + +#include "PQP_Compile.h" + +struct Tri +{ + PQP_REAL p1[3]; + PQP_REAL p2[3]; + PQP_REAL p3[3]; + int id; +}; + +#endif diff --git a/trunk/PQP/build/pqp-tar/PQP_v1.3/src/BV.cpp b/trunk/PQP/build/pqp-tar/PQP_v1.3/src/BV.cpp new file mode 100644 index 00000000..adbe2fc1 --- /dev/null +++ b/trunk/PQP/build/pqp-tar/PQP_v1.3/src/BV.cpp @@ -0,0 +1,323 @@ +/*************************************************************************\ + + Copyright 1999 The University of North Carolina at Chapel Hill. + All Rights Reserved. + + Permission to use, copy, modify and distribute this software and its + documentation for educational, research and non-profit purposes, without + fee, and without a written agreement is hereby granted, provided that the + above copyright notice and the following three paragraphs appear in all + copies. + + IN NO EVENT SHALL THE UNIVERSITY OF NORTH CAROLINA AT CHAPEL HILL BE + LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR + CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF THE + USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY + OF NORTH CAROLINA HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH + DAMAGES. + + THE UNIVERSITY OF NORTH CAROLINA SPECIFICALLY DISCLAIM ANY + WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE + PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF + NORTH CAROLINA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT, + UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + + The authors may be contacted via: + + US Mail: E. Larsen + Department of Computer Science + Sitterson Hall, CB #3175 + University of N. Carolina + Chapel Hill, NC 27599-3175 + + Phone: (919)962-1749 + + EMail: geom@cs.unc.edu + + +\**************************************************************************/ + +#include <stdlib.h> +#include <math.h> +#include "BV.h" +#include "MatVec.h" +#include "RectDist.h" +#include "OBB_Disjoint.h" + +BV::BV() +{ + first_child = 0; +} + +BV::~BV() +{ +} + +static +inline +PQP_REAL +MaxOfTwo(PQP_REAL a, PQP_REAL b) +{ + if (a > b) return a; + return b; +} + +void +BV::FitToTris(PQP_REAL O[3][3], Tri *tris, int num_tris) +{ + // store orientation + + McM(R,O); + + // project points of tris to R coordinates + + int num_points = 3*num_tris; + PQP_REAL (*P)[3] = new PQP_REAL[num_points][3]; + int point = 0; + int i; + for (i = 0; i < num_tris; i++) + { + MTxV(P[point],R,tris[i].p1); + point++; + + MTxV(P[point],R,tris[i].p2); + point++; + + MTxV(P[point],R,tris[i].p3); + point++; + } + + PQP_REAL minx, maxx, miny, maxy, minz, maxz, c[3]; + +#if PQP_BV_TYPE & OBB_TYPE + minx = maxx = P[0][0]; + miny = maxy = P[0][1]; + minz = maxz = P[0][2]; + for (i = 1; i < num_points; i++) + { + if (P[i][0] < minx) minx = P[i][0]; + else if (P[i][0] > maxx) maxx = P[i][0]; + if (P[i][1] < miny) miny = P[i][1]; + else if (P[i][1] > maxy) maxy = P[i][1]; + if (P[i][2] < minz) minz = P[i][2]; + else if (P[i][2] > maxz) maxz = P[i][2]; + } + c[0] = (PQP_REAL)0.5*(maxx + minx); + c[1] = (PQP_REAL)0.5*(maxy + miny); + c[2] = (PQP_REAL)0.5*(maxz + minz); + MxV(To,R,c); + + d[0] = (PQP_REAL)0.5*(maxx - minx); + d[1] = (PQP_REAL)0.5*(maxy - miny); + d[2] = (PQP_REAL)0.5*(maxz - minz); +#endif + +#if PQP_BV_TYPE & RSS_TYPE + + // compute thickness, which determines radius, and z of rectangle corner + + PQP_REAL cz,radsqr; + minz = maxz = P[0][2]; + for (i = 1; i < num_points; i++) + { + if (P[i][2] < minz) minz = P[i][2]; + else if (P[i][2] > maxz) maxz = P[i][2]; + } + r = (PQP_REAL)0.5*(maxz - minz); + radsqr = r*r; + cz = (PQP_REAL)0.5*(maxz + minz); + + // compute an initial length of rectangle along x direction + + // find minx and maxx as starting points + + int minindex, maxindex; + minindex = maxindex = 0; + for (i = 1; i < num_points; i++) + { + if (P[i][0] < P[minindex][0]) minindex = i; + else if (P[i][0] > P[maxindex][0]) maxindex = i; + } + PQP_REAL x, dz; + dz = P[minindex][2] - cz; + minx = P[minindex][0] + sqrt(MaxOfTwo(radsqr - dz*dz,0)); + dz = P[maxindex][2] - cz; + maxx = P[maxindex][0] - sqrt(MaxOfTwo(radsqr - dz*dz,0)); + + // grow minx + + for (i = 0; i < num_points; i++) + { + if (P[i][0] < minx) + { + dz = P[i][2] - cz; + x = P[i][0] + sqrt(MaxOfTwo(radsqr - dz*dz,0)); + if (x < minx) minx = x; + } + } + + // grow maxx + + for (i = 0; i < num_points; i++) + { + if (P[i][0] > maxx) + { + dz = P[i][2] - cz; + x = P[i][0] - sqrt(MaxOfTwo(radsqr - dz*dz,0)); + if (x > maxx) maxx = x; + } + } + + // compute an initial length of rectangle along y direction + + // find miny and maxy as starting points + + minindex = maxindex = 0; + for (i = 1; i < num_points; i++) + { + if (P[i][1] < P[minindex][1]) minindex = i; + else if (P[i][1] > P[maxindex][1]) maxindex = i; + } + PQP_REAL y; + dz = P[minindex][2] - cz; + miny = P[minindex][1] + sqrt(MaxOfTwo(radsqr - dz*dz,0)); + dz = P[maxindex][2] - cz; + maxy = P[maxindex][1] - sqrt(MaxOfTwo(radsqr - dz*dz,0)); + + // grow miny + + for (i = 0; i < num_points; i++) + { + if (P[i][1] < miny) + { + dz = P[i][2] - cz; + y = P[i][1] + sqrt(MaxOfTwo(radsqr - dz*dz,0)); + if (y < miny) miny = y; + } + } + + // grow maxy + + for (i = 0; i < num_points; i++) + { + if (P[i][1] > maxy) + { + dz = P[i][2] - cz; + y = P[i][1] - sqrt(MaxOfTwo(radsqr - dz*dz,0)); + if (y > maxy) maxy = y; + } + } + + // corners may have some points which are not covered - grow lengths if + // necessary + + PQP_REAL dx, dy, u, t; + PQP_REAL a = sqrt((PQP_REAL)0.5); + for (i = 0; i < num_points; i++) + { + if (P[i][0] > maxx) + { + if (P[i][1] > maxy) + { + dx = P[i][0] - maxx; + dy = P[i][1] - maxy; + u = dx*a + dy*a; + t = (a*u - dx)*(a*u - dx) + + (a*u - dy)*(a*u - dy) + + (cz - P[i][2])*(cz - P[i][2]); + u = u - sqrt(MaxOfTwo(radsqr - t,0)); + if (u > 0) + { + maxx += u*a; + maxy += u*a; + } + } + else if (P[i][1] < miny) + { + dx = P[i][0] - maxx; + dy = P[i][1] - miny; + u = dx*a - dy*a; + t = (a*u - dx)*(a*u - dx) + + (-a*u - dy)*(-a*u - dy) + + (cz - P[i][2])*(cz - P[i][2]); + u = u - sqrt(MaxOfTwo(radsqr - t,0)); + if (u > 0) + { + maxx += u*a; + miny -= u*a; + } + } + } + else if (P[i][0] < minx) + { + if (P[i][1] > maxy) + { + dx = P[i][0] - minx; + dy = P[i][1] - maxy; + u = dy*a - dx*a; + t = (-a*u - dx)*(-a*u - dx) + + (a*u - dy)*(a*u - dy) + + (cz - P[i][2])*(cz - P[i][2]); + u = u - sqrt(MaxOfTwo(radsqr - t,0)); + if (u > 0) + { + minx -= u*a; + maxy += u*a; + } + } + else if (P[i][1] < miny) + { + dx = P[i][0] - minx; + dy = P[i][1] - miny; + u = -dx*a - dy*a; + t = (-a*u - dx)*(-a*u - dx) + + (-a*u - dy)*(-a*u - dy) + + (cz - P[i][2])*(cz - P[i][2]); + u = u - sqrt(MaxOfTwo(radsqr - t,0)); + if (u > 0) + { + minx -= u*a; + miny -= u*a; + } + } + } + } + + c[0] = minx; + c[1] = miny; + c[2] = cz; + MxV(Tr,R,c); + + l[0] = maxx - minx; + if (l[0] < 0) l[0] = 0; + l[1] = maxy - miny; + if (l[1] < 0) l[1] = 0; +#endif + + delete [] P; +} + +int +BV_Overlap(PQP_REAL R[3][3], PQP_REAL T[3], BV *b1, BV *b2) +{ +#if PQP_BV_TYPE & OBB_TYPE + return (obb_disjoint(R,T,b1->d,b2->d) == 0); +#else + PQP_REAL dist = RectDist(R,T,b1->l,b2->l); + if (dist <= (b1->r + b2->r)) return 1; + return 0; +#endif +} + +#if PQP_BV_TYPE & RSS_TYPE +PQP_REAL +BV_Distance(PQP_REAL R[3][3], PQP_REAL T[3], BV *b1, BV *b2) +{ + PQP_REAL dist = RectDist(R,T,b1->l,b2->l); + dist -= (b1->r + b2->r); + return (dist < (PQP_REAL)0.0)? (PQP_REAL)0.0 : dist; +} +#endif + + diff --git a/trunk/PQP/build/pqp-tar/PQP_v1.3/src/BV.h b/trunk/PQP/build/pqp-tar/PQP_v1.3/src/BV.h new file mode 100644 index 00000000..cfe42c73 --- /dev/null +++ b/trunk/PQP/build/pqp-tar/PQP_v1.3/src/BV.h @@ -0,0 +1,94 @@ +/*************************************************************************\ + + Copyright 1999 The University of North Carolina at Chapel Hill. + All Rights Reserved. + + Permission to use, copy, modify and distribute this software and its + documentation for educational, research and non-profit purposes, without + fee, and without a written agreement is hereby granted, provided that the + above copyright notice and the following three paragraphs appear in all + copies. + + IN NO EVENT SHALL THE UNIVERSITY OF NORTH CAROLINA AT CHAPEL HILL BE + LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR + CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF THE + USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY + OF NORTH CAROLINA HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH + DAMAGES. + + THE UNIVERSITY OF NORTH CAROLINA SPECIFICALLY DISCLAIM ANY + WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE + PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF + NORTH CAROLINA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT, + UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + + The authors may be contacted via: + + US Mail: E. Larsen + Department of Computer Science + Sitterson Hall, CB #3175 + University of N. Carolina + Chapel Hill, NC 27599-3175 + + Phone: (919)962-1749 + + EMail: geom@cs.unc.edu + + +\**************************************************************************/ + +#ifndef PQP_BV_H +#define PQP_BV_H + +#include <math.h> +#include "Tri.h" +#include "PQP_Compile.h" + +struct BV +{ + PQP_REAL R[3][3]; // orientation of RSS & OBB + +#if PQP_BV_TYPE & RSS_TYPE + PQP_REAL Tr[3]; // position of rectangle + PQP_REAL l[2]; // side lengths of rectangle + PQP_REAL r; // radius of sphere summed with rectangle to form RSS +#endif + +#if PQP_BV_TYPE & OBB_TYPE + PQP_REAL To[3]; // position of obb + PQP_REAL d[3]; // (half) dimensions of obb +#endif + + int first_child; // positive value is index of first_child bv + // negative value is -(index + 1) of triangle + + BV(); + ~BV(); + int Leaf() { return first_child < 0; } + PQP_REAL GetSize(); + void FitToTris(PQP_REAL O[3][3], Tri *tris, int num_tris); +}; + +inline +PQP_REAL +BV::GetSize() +{ +#if PQP_BV_TYPE & RSS_TYPE + return (sqrt(l[0]*l[0] + l[1]*l[1]) + 2*r); +#else + return (d[0]*d[0] + d[1]*d[1] + d[2]*d[2]); +#endif +} + +int +BV_Overlap(PQP_REAL R[3][3], PQP_REAL T[3], BV *b1, BV *b2); + +#if PQP_BV_TYPE & RSS_TYPE +PQP_REAL +BV_Distance(PQP_REAL R[3][3], PQP_REAL T[3], BV *b1, BV *b2); +#endif + +#endif + + diff --git a/trunk/PQP/build/pqp-tar/PQP_v1.3/src/BVTQ.h b/trunk/PQP/build/pqp-tar/PQP_v1.3/src/BVTQ.h new file mode 100644 index 00000000..94a6fc78 --- /dev/null +++ b/trunk/PQP/build/pqp-tar/PQP_v1.3/src/BVTQ.h @@ -0,0 +1,214 @@ +/*************************************************************************\ + + Copyright 1999 The University of North Carolina at Chapel Hill. + All Rights Reserved. + + Permission to use, copy, modify and distribute this software and its + documentation for educational, research and non-profit purposes, without + fee, and without a written agreement is hereby granted, provided that the + above copyright notice and the following three paragraphs appear in all + copies. + + IN NO EVENT SHALL THE UNIVERSITY OF NORTH CAROLINA AT CHAPEL HILL BE + LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR + CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF THE + USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY + OF NORTH CAROLINA HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH + DAMAGES. + + THE UNIVERSITY OF NORTH CAROLINA SPECIFICALLY DISCLAIM ANY + WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE + PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF + NORTH CAROLINA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT, + UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + + The authors may be contacted via: + + US Mail: E. Larsen + Department of Computer Science + Sitterson Hall, CB #3175 + University of N. Carolina + Chapel Hill, NC 27599-3175 + + Phone: (919)962-1749 + + EMail: geom@cs.unc.edu + + +\**************************************************************************/ + +#ifndef PQP_BVTQ_H +#define PQP_BVTQ_H + +#include <stdio.h> +#include <stdlib.h> +#include "PQP_Compile.h" + +inline +int +LChild(int p) +{ + return (2*p + 1); +} + +inline +int +Parent(int c) +{ + return ((c - 1)/2); +} + +struct BVT +{ + PQP_REAL d; // distance between the bvs + int b1, b2; // bv numbers - b1 is from model 1, b2 from model 2 + PQP_REAL R[3][3]; // the relative rotation from b1 to b2 + PQP_REAL T[3]; // the relative translation from b1 to b2 + int pindex; // the index of the pointer that points to this - + // needed when filling the hole left by an ExtractMin +}; + +class BVTQ +{ + int size; // max number of bv tests + int numtests; // number of bv tests in queue + BVT *bvt; // an array of bv tests - seems faster than 'new' for each + BVT **bvtp; // the queue: an array of pointers to elts of bvt + +public: + BVTQ(int sz) + { + size = sz; + bvt = new BVT[size]; + bvtp = new BVT*[size]; + numtests = 0; + } + ~BVTQ() { delete [] bvt; delete [] bvtp; } + int Empty() { return (numtests == 0); } + int GetNumTests() { return numtests; } + int GetSize() { return size; } + PQP_REAL MinTest() { return bvtp[0]->d; } + BVT ExtractMinTest(); + void AddTest(BVT &); +}; + +inline +void +BVTQ::AddTest(BVT &t) +{ + bvtp[numtests] = &bvt[numtests]; + + *bvtp[numtests] = t; + bvtp[numtests]->pindex = numtests; + + BVT *temp; + int c = numtests; + int p; + + while ((c != 0) && (bvtp[(p = Parent(c))]->d >= bvtp[c]->d)) + { + // swap p and c pointers + + temp = bvtp[p]; + bvtp[p] = bvtp[c]; + bvtp[c] = temp; + + // the bv tests pointed to by p and c need new indices + + bvtp[p]->pindex = p; + bvtp[c]->pindex = c; + + c = p; + } + numtests++; +} + +inline +BVT +BVTQ::ExtractMinTest() +{ + // store min test to be extracted + + BVT min_test = *bvtp[0]; + + // copy last bvt to the empty space; + // reset the pointer to this moved bvt + + *bvtp[0] = bvt[numtests-1]; + bvtp[bvt[numtests-1].pindex] = bvtp[0]; + + // copy the last pointer to the first + + bvtp[0] = bvtp[numtests-1]; + + numtests--; + + BVT *temp; + int p = 0; + int c1,c2,c; + + while(1) + { + c1 = LChild(p); + c2 = c1+1; + + if (c1 < numtests) + { + if (c2 < numtests) + { + // p has both children, promote the minimum + + if (bvtp[c1]->d < bvtp[c2]->d) c = c1; else c = c2; + + if (bvtp[c]->d < bvtp[p]->d) + { + temp = bvtp[p]; + bvtp[p] = bvtp[c]; + bvtp[c] = temp; + + bvtp[p]->pindex = p; + bvtp[c]->pindex = c; + + p = c; + } + else + { + break; + } + } + else + { + // p has only left child + + if (bvtp[c1]->d < bvtp[p]->d) + { + temp = bvtp[p]; + bvtp[p] = bvtp[c1]; + bvtp[c1] = temp; + + bvtp[p]->pindex = p; + bvtp[c1]->pindex = c1; + + p = c1; + } + else + { + break; + } + } + } + else + { + // p has no children + + break; + } + } + + return min_test; +} + +#endif + + diff --git a/trunk/PQP/build/pqp-tar/PQP_v1.3/src/Build.cpp b/trunk/PQP/build/pqp-tar/PQP_v1.3/src/Build.cpp new file mode 100644 index 00000000..4e37b16c --- /dev/null +++ b/trunk/PQP/build/pqp-tar/PQP_v1.3/src/Build.cpp @@ -0,0 +1,551 @@ +/*************************************************************************\ + + Copyright 1999 The University of North Carolina at Chapel Hill. + All Rights Reserved. + + Permission to use, copy, modify and distribute this software and its + documentation for educational, research and non-profit purposes, without + fee, and without a written agreement is hereby granted, provided that the + above copyright notice and the following three paragraphs appear in all + copies. + + IN NO EVENT SHALL THE UNIVERSITY OF NORTH CAROLINA AT CHAPEL HILL BE + LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR + CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF THE + USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY + OF NORTH CAROLINA HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH + DAMAGES. + + THE UNIVERSITY OF NORTH CAROLINA SPECIFICALLY DISCLAIM ANY + WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE + PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF + NORTH CAROLINA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT, + UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + + The authors may be contacted via: + + US Mail: S. Gottschalk, E. Larsen + Department of Computer Science + Sitterson Hall, CB #3175 + University of N. Carolina + Chapel Hill, NC 27599-3175 + + Phone: (919)962-1749 + + EMail: geom@cs.unc.edu + + +\**************************************************************************/ + +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include "PQP.h" +#include "MatVec.h" + +// If this is set, build routines will use covariance matrix +// and mean finding code from RAPID 2. + +#define RAPID2_FIT 0 + +#if RAPID2_FIT + +struct moment +{ + PQP_REAL A; + PQP_REAL m[3]; + PQP_REAL s[3][3]; +}; + +struct accum +{ + PQP_REAL A; + PQP_REAL m[3]; + PQP_REAL s[3][3]; +}; + +inline +void +clear_accum(accum &a) +{ + a.m[0] = a.m[1] = a.m[2] = 0.0; + a.s[0][0] = a.s[0][1] = a.s[0][2] = 0.0; + a.s[1][0] = a.s[1][1] = a.s[1][2] = 0.0; + a.s[2][0] = a.s[2][1] = a.s[2][2] = 0.0; + a.A = 0.0; +} + +inline +void +accum_moment(accum &a, moment &b) +{ + a.m[0] += b.m[0] * b.A; + a.m[1] += b.m[1] * b.A; + a.m[2] += b.m[2] * b.A; + + a.s[0][0] += b.s[0][0]; + a.s[0][1] += b.s[0][1]; + a.s[0][2] += b.s[0][2]; + a.s[1][0] += b.s[1][0]; + a.s[1][1] += b.s[1][1]; + a.s[1][2] += b.s[1][2]; + a.s[2][0] += b.s[2][0]; + a.s[2][1] += b.s[2][1]; + a.s[2][2] += b.s[2][2]; + + a.A += b.A; +} + +inline +void +mean_from_moment(PQP_REAL M[3], moment &m) +{ + M[0] = m.m[0]; + M[1] = m.m[1]; + M[2] = m.m[2]; +} + +inline +void +mean_from_accum(PQP_REAL M[3], accum &a) +{ + M[0] = a.m[0] / a.A; + M[1] = a.m[1] / a.A; + M[2] = a.m[2] / a.A; +} + +inline +void +covariance_from_accum(PQP_REAL C[3][3], accum &a) +{ + int i,j; + for(i=0; i<3; i++) + for(j=0; j<3; j++) + C[i][j] = a.s[i][j] - a.m[i]*a.m[j]/a.A; +} + +inline +void +compute_moment(moment &M, PQP_REAL p[3], PQP_REAL q[3], PQP_REAL r[3]) +{ + PQP_REAL u[3], v[3], w[3]; + + // compute the area of the triangle + VmV(u, q, p); + VmV(v, r, p); + VcrossV(w, u, v); + M.A = 0.5 * Vlength(w); + + if (M.A == 0.0) + { + // This triangle has zero area. The second order components + // would be eliminated with the usual formula, so, for the + // sake of robustness we use an alternative form. These are the + // centroid and second-order components of the triangle's vertices. + + // centroid + M.m[0] = (p[0] + q[0] + r[0]) /3; + M.m[1] = (p[1] + q[1] + r[1]) /3; + M.m[2] = (p[2] + q[2] + r[2]) /3; + + // second-order components + M.s[0][0] = (p[0]*p[0] + q[0]*q[0] + r[0]*r[0]); + M.s[0][1] = (p[0]*p[1] + q[0]*q[1] + r[0]*r[1]); + M.s[0][2] = (p[0]*p[2] + q[0]*q[2] + r[0]*r[2]); + M.s[1][1] = (p[1]*p[1] + q[1]*q[1] + r[1]*r[1]); + M.s[1][2] = (p[1]*p[2] + q[1]*q[2] + r[1]*r[2]); + M.s[2][2] = (p[2]*p[2] + q[2]*q[2] + r[2]*r[2]); + M.s[2][1] = M.s[1][2]; + M.s[1][0] = M.s[0][1]; + M.s[2][0] = M.s[0][2]; + + return; + } + + // get the centroid + M.m[0] = (p[0] + q[0] + r[0])/3; + M.m[1] = (p[1] + q[1] + r[1])/3; + M.m[2] = (p[2] + q[2] + r[2])/3; + + // get the second order components -- note the weighting by the area + M.s[0][0] = M.A*(9*M.m[0]*M.m[0]+p[0]*p[0]+q[0]*q[0]+r[0]*r[0])/12; + M.s[0][1] = M.A*(9*M.m[0]*M.m[1]+p[0]*p[1]+q[0]*q[1]+r[0]*r[1])/12; + M.s[1][1] = M.A*(9*M.m[1]*M.m[1]+p[1]*p[1]+q[1]*q[1]+r[1]*r[1])/12; + M.s[0][2] = M.A*(9*M.m[0]*M.m[2]+p[0]*p[2]+q[0]*q[2]+r[0]*r[2])/12; + M.s[1][2] = M.A*(9*M.m[1]*M.m[2]+p[1]*p[2]+q[1]*q[2]+r[1]*r[2])/12; + M.s[2][2] = M.A*(9*M.m[2]*M.m[2]+p[2]*p[2]+q[2]*q[2]+r[2]*r[2])/12; + M.s[2][1] = M.s[1][2]; + M.s[1][0] = M.s[0][1]; + M.s[2][0] = M.s[0][2]; +} + +inline +void +compute_moments(moment *M, Tri *tris, int num_tris) +{ + int i; + + // first collect all the moments, and obtain the area of the + // smallest nonzero area triangle. + + PQP_REAL Amin = 0.0; + int zero = 0; + int nonzero = 0; + for(i=0; i<num_tris; i++) + { + compute_moment(M[i], + tris[i].p1, + tris[i].p2, + tris[i].p3); + if (M[i].A == 0.0) + { + zero = 1; + } + else + { + nonzero = 1; + if (Amin == 0.0) Amin = M[i].A; + else if (M[i].A < Amin) Amin = M[i].A; + } + } + + if (zero) + { + fprintf(stderr, "----\n"); + fprintf(stderr, "Warning! Some triangles have zero area!\n"); + fprintf(stderr, "----\n"); + + // if there are any zero area triangles, go back and set their area + + // if ALL the triangles have zero area, then set the area thingy + // to some arbitrary value. + if (Amin == 0.0) Amin = 1.0; + + for(i=0; i<num_tris; i++) + { + if (M[i].A == 0.0) M[i].A = Amin; + } + } +} + +#else + +PQP_REAL max(PQP_REAL a, PQP_REAL b, PQP_REAL c, PQP_REAL d) +{ + PQP_REAL t = a; + if (b > t) t = b; + if (c > t) t = c; + if (d > t) t = d; + return t; +} + +PQP_REAL min(PQP_REAL a, PQP_REAL b, PQP_REAL c, PQP_REAL d) +{ + PQP_REAL t = a; + if (b < t) t = b; + if (c < t) t = c; + if (d < t) t = d; + return t; +} + +void +get_centroid_triverts(PQP_REAL c[3], Tri *tris, int num_tris) +{ + int i; + + c[0] = c[1] = c[2] = 0.0; + + // get center of mass + for(i=0; i<num_tris; i++) + { + PQP_REAL *p1 = tris[i].p1; + PQP_REAL *p2 = tris[i].p2; + PQP_REAL *p3 = tris[i].p3; + + c[0] += p1[0] + p2[0] + p3[0]; + c[1] += p1[1] + p2[1] + p3[1]; + c[2] += p1[2] + p2[2] + p3[2]; + } + + PQP_REAL n = (PQP_REAL)(3 * num_tris); + + c[0] /= n; + c[1] /= n; + c[2] /= n; +} + +void +get_covariance_triverts(PQP_REAL M[3][3], Tri *tris, int num_tris) +{ + int i; + PQP_REAL S1[3]; + PQP_REAL S2[3][3]; + + S1[0] = S1[1] = S1[2] = 0.0; + S2[0][0] = S2[1][0] = S2[2][0] = 0.0; + S2[0][1] = S2[1][1] = S2[2][1] = 0.0; + S2[0][2] = S2[1][2] = S2[2][2] = 0.0; + + // get center of mass + for(i=0; i<num_tris; i++) + { + PQP_REAL *p1 = tris[i].p1; + PQP_REAL *p2 = tris[i].p2; + PQP_REAL *p3 = tris[i].p3; + + S1[0] += p1[0] + p2[0] + p3[0]; + S1[1] += p1[1] + p2[1] + p3[1]; + S1[2] += p1[2] + p2[2] + p3[2]; + + S2[0][0] += (p1[0] * p1[0] + + p2[0] * p2[0] + + p3[0] * p3[0]); + S2[1][1] += (p1[1] * p1[1] + + p2[1] * p2[1] + + p3[1] * p3[1]); + S2[2][2] += (p1[2] * p1[2] + + p2[2] * p2[2] + + p3[2] * p3[2]); + S2[0][1] += (p1[0] * p1[1] + + p2[0] * p2[1] + + p3[0] * p3[1]); + S2[0][2] += (p1[0] * p1[2] + + p2[0] * p2[2] + + p3[0] * p3[2]); + S2[1][2] += (p1[1] * p1[2] + + p2[1] * p2[2] + + p3[1] * p3[2]); + } + + PQP_REAL n = (PQP_REAL)(3 * num_tris); + + // now get covariances + + M[0][0] = S2[0][0] - S1[0]*S1[0] / n; + M[1][1] = S2[1][1] - S1[1]*S1[1] / n; + M[2][2] = S2[2][2] - S1[2]*S1[2] / n; + M[0][1] = S2[0][1] - S1[0]*S1[1] / n; + M[1][2] = S2[1][2] - S1[1]*S1[2] / n; + M[0][2] = S2[0][2] - S1[0]*S1[2] / n; + M[1][0] = M[0][1]; + M[2][0] = M[0][2]; + M[2][1] = M[1][2]; +} + +#endif + +// given a list of triangles, a splitting axis, and a coordinate on +// that axis, partition the triangles into two groups according to +// where their centroids fall on the axis (under axial projection). +// Returns the number of tris in the first half + +int +split_tris(Tri *tris, int num_tris, PQP_REAL a[3], PQP_REAL c) +{ + int i; + int c1 = 0; + PQP_REAL p[3]; + PQP_REAL x; + Tri temp; + + for(i = 0; i < num_tris; i++) + { + // loop invariant: up to (but not including) index c1 in group 1, + // then up to (but not including) index i in group 2 + // + // [1] [1] [1] [1] [2] [2] [2] [x] [x] ... [x] + // c1 i + // + VcV(p, tris[i].p1); + VpV(p, p, tris[i].p2); + VpV(p, p, tris[i].p3); + x = VdotV(p, a); + x /= 3.0; + if (x <= c) + { + // group 1 + temp = tris[i]; + tris[i] = tris[c1]; + tris[c1] = temp; + c1++; + } + else + { + // group 2 -- do nothing + } + } + + // split arbitrarily if one group empty + + if ((c1 == 0) || (c1 == num_tris)) c1 = num_tris/2; + + return c1; +} + +// Fits m->child(bn) to the num_tris triangles starting at first_tri +// Then, if num_tris is greater than one, partitions the tris into two +// sets, and recursively builds two children of m->child(bn) + +int +build_recurse(PQP_Model *m, int bn, int first_tri, int num_tris) +{ + BV *b = m->child(bn); + + // compute a rotation matrix + + PQP_REAL C[3][3], E[3][3], R[3][3], s[3], axis[3], mean[3], coord; + +#if RAPID2_FIT + moment *tri_moment = new moment[num_tris]; + compute_moments(tri_moment, &(m->tris[first_tri]), num_tris); + accum acc; + clear_accum(acc); + for(int i = 0; i < num_tris; i++) accum_moment(acc, tri_moment[i]); + delete [] tri_moment; + covariance_from_accum(C,acc); +#else + get_covariance_triverts(C,&m->tris[first_tri],num_tris); +#endif + + Meigen(E, s, C); + + // place axes of E in order of increasing s + + int min, mid, max; + if (s[0] > s[1]) { max = 0; min = 1; } + else { min = 0; max = 1; } + if (s[2] < s[min]) { mid = min; min = 2; } + else if (s[2] > s[max]) { mid = max; max = 2; } + else { mid = 2; } + McolcMcol(R,0,E,max); + McolcMcol(R,1,E,mid); + R[0][2] = E[1][max]*E[2][mid] - E[1][mid]*E[2][max]; + R[1][2] = E[0][mid]*E[2][max] - E[0][max]*E[2][mid]; + R[2][2] = E[0][max]*E[1][mid] - E[0][mid]*E[1][max]; + + // fit the BV + + b->FitToTris(R, &m->tris[first_tri], num_tris); + + if (num_tris == 1) + { + // BV is a leaf BV - first_child will index a triangle + + b->first_child = -(first_tri + 1); + } + else if (num_tris > 1) + { + // BV not a leaf - first_child will index a BV + + b->first_child = m->num_bvs; + m->num_bvs+=2; + + // choose splitting axis and splitting coord + + McolcV(axis,R,0); + +#if RAPID2_FIT + mean_from_accum(mean,acc); +#else + get_centroid_triverts(mean,&m->tris[first_tri],num_tris); +#endif + coord = VdotV(axis, mean); + + // now split + + int num_first_half = split_tris(&m->tris[first_tri], num_tris, + axis, coord); + + // recursively build the children + + build_recurse(m, m->child(bn)->first_child, first_tri, num_first_half); + build_recurse(m, m->child(bn)->first_child + 1, + first_tri + num_first_half, num_tris - num_first_half); + } + return PQP_OK; +} + +// this descends the hierarchy, converting world-relative +// transforms to parent-relative transforms + +void +make_parent_relative(PQP_Model *m, int bn, + const PQP_REAL parentR[3][3] +#if PQP_BV_TYPE & RSS_TYPE + ,const PQP_REAL parentTr[3] +#endif +#if PQP_BV_TYPE & OBB_TYPE + ,const PQP_REAL parentTo[3] +#endif + ) +{ + PQP_REAL Rpc[3][3], Tpc[3]; + + if (!m->child(bn)->Leaf()) + { + // make children parent-relative + + make_parent_relative(m,m->child(bn)->first_child, + m->child(bn)->R +#if PQP_BV_TYPE & RSS_TYPE + ,m->child(bn)->Tr +#endif +#if PQP_BV_TYPE & OBB_TYPE + ,m->child(bn)->To +#endif + ); + make_parent_relative(m,m->child(bn)->first_child+1, + m->child(bn)->R +#if PQP_BV_TYPE & RSS_TYPE + ,m->child(bn)->Tr +#endif +#if PQP_BV_TYPE & OBB_TYPE + ,m->child(bn)->To +#endif + ); + } + + // make self parent relative + + MTxM(Rpc,parentR,m->child(bn)->R); + McM(m->child(bn)->R,Rpc); +#if PQP_BV_TYPE & RSS_TYPE + VmV(Tpc,m->child(bn)->Tr,parentTr); + MTxV(m->child(bn)->Tr,parentR,Tpc); +#endif +#if PQP_BV_TYPE & OBB_TYPE + VmV(Tpc,m->child(bn)->To,parentTo); + MTxV(m->child(bn)->To,parentR,Tpc); +#endif + +} + +int +build_model(PQP_Model *m) +{ + // set num_bvs to 1, the first index for a child bv + + m->num_bvs = 1; + + // build recursively + + build_recurse(m, 0, 0, m->num_tris); + + // change BV orientations from world-relative to parent-relative + + PQP_REAL R[3][3],T[3]; + Midentity(R); + Videntity(T); + + make_parent_relative(m,0,R +#if PQP_BV_TYPE & RSS_TYPE + ,T +#endif +#if PQP_BV_TYPE & OBB_TYPE + ,T +#endif + ); + + return PQP_OK; +} diff --git a/trunk/PQP/build/pqp-tar/PQP_v1.3/src/Build.h b/trunk/PQP/build/pqp-tar/PQP_v1.3/src/Build.h new file mode 100644 index 00000000..bab05dd2 --- /dev/null +++ b/trunk/PQP/build/pqp-tar/PQP_v1.3/src/Build.h @@ -0,0 +1,49 @@ +/*************************************************************************\ + + Copyright 1999 The University of North Carolina at Chapel Hill. + All Rights Reserved. + + Permission to use, copy, modify and distribute this software and its + documentation for educational, research and non-profit purposes, without + fee, and without a written agreement is hereby granted, provided that the + above copyright notice and the following three paragraphs appear in all + copies. + + IN NO EVENT SHALL THE UNIVERSITY OF NORTH CAROLINA AT CHAPEL HILL BE + LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR + CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF THE + USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY + OF NORTH CAROLINA HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH + DAMAGES. + + THE UNIVERSITY OF NORTH CAROLINA SPECIFICALLY DISCLAIM ANY + WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE + PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF + NORTH CAROLINA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT, + UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + + The authors may be contacted via: + + US Mail: S. Gottschalk, E. Larsen + Department of Computer Science + Sitterson Hall, CB #3175 + University of N. Carolina + Chapel Hill, NC 27599-3175 + + Phone: (919)962-1749 + + EMail: geom@cs.unc.edu + + +\**************************************************************************/ + +#ifndef PQP_BUILD_H +#define PQP_BUILD_H + +#include "PQP.h" + +int +build_model(PQP_Model *m); + +#endif diff --git a/trunk/PQP/build/pqp-tar/PQP_v1.3/src/GetTime.h b/trunk/PQP/build/pqp-tar/PQP_v1.3/src/GetTime.h new file mode 100644 index 00000000..5529a08f --- /dev/null +++ b/trunk/PQP/build/pqp-tar/PQP_v1.3/src/GetTime.h @@ -0,0 +1,71 @@ +/*************************************************************************\ + + Copyright 1999 The University of North Carolina at Chapel Hill. + All Rights Reserved. + + Permission to use, copy, modify and distribute this software and its + documentation for educational, research and non-profit purposes, without + fee, and without a written agreement is hereby granted, provided that the + above copyright notice and the following three paragraphs appear in all + copies. + + IN NO EVENT SHALL THE UNIVERSITY OF NORTH CAROLINA AT CHAPEL HILL BE + LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR + CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF THE + USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY + OF NORTH CAROLINA HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH + DAMAGES. + + THE UNIVERSITY OF NORTH CAROLINA SPECIFICALLY DISCLAIM ANY + WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE + PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF + NORTH CAROLINA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT, + UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + + The authors may be contacted via: + + US Mail: S. Gottschalk, E. Larsen + Department of Computer Science + Sitterson Hall, CB #3175 + University of N. Carolina + Chapel Hill, NC 27599-3175 + + Phone: (919)962-1749 + + EMail: geom@cs.unc.edu + + +\**************************************************************************/ + +#ifndef PQP_GETTIME_H +#define PQP_GETTIME_H + +#ifdef WIN32 + + #include <time.h> + #include <sys/timeb.h> + inline + double + GetTime() + { + struct _timeb thistime; + _ftime(&thistime); + return (thistime.time + thistime.millitm * 1e-3); + } + +#else + + #include <sys/time.h> + inline + double + GetTime() + { + struct timeval thistime; + gettimeofday(&thistime, 0); + return (thistime.tv_sec + thistime.tv_usec * 1e-6); + } + +#endif + +#endif diff --git a/trunk/PQP/build/pqp-tar/PQP_v1.3/src/MatVec.h b/trunk/PQP/build/pqp-tar/PQP_v1.3/src/MatVec.h new file mode 100644 index 00000000..c0198ad7 --- /dev/null +++ b/trunk/PQP/build/pqp-tar/PQP_v1.3/src/MatVec.h @@ -0,0 +1,877 @@ +/*************************************************************************\ + + Copyright 1999 The University of North Carolina at Chapel Hill. + All Rights Reserved. + + Permission to use, copy, modify and distribute this software and its + documentation for educational, research and non-profit purposes, without + fee, and without a written agreement is hereby granted, provided that the + above copyright notice and the following three paragraphs appear in all + copies. + + IN NO EVENT SHALL THE UNIVERSITY OF NORTH CAROLINA AT CHAPEL HILL BE + LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR + CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF THE + USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY + OF NORTH CAROLINA HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH + DAMAGES. + + THE UNIVERSITY OF NORTH CAROLINA SPECIFICALLY DISCLAIM ANY + WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE + PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF + NORTH CAROLINA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT, + UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + + The authors may be contacted via: + + US Mail: S. Gottschalk + Department of Computer Science + Sitterson Hall, CB #3175 + University of N. Carolina + Chapel Hill, NC 27599-3175 + + Phone: (919)962-1749 + + EMail: geom@cs.unc.edu + + +\**************************************************************************/ + +#ifndef PQP_MATVEC_H +#define PQP_MATVEC_H + +#include <math.h> +#include <stdio.h> +#include "PQP_Compile.h" + +#ifndef M_PI +const PQP_REAL M_PI = (PQP_REAL)3.14159265359; +#endif + +#ifdef gnu +#include "zzzz.h" + +#ifdef hppa +#define myfabs(x) \ + ({double __value, __arg = (x); \ + asm("fabs,dbl %1, %0": "=f" (__value): "f" (__arg)); \ + __value; \ +}); +#endif + +#ifdef mips +#define myfabs(x) \ + ({double __value, __arg = (x); \ + asm("abs.d %0, %1": "=f" (__value): "f" (__arg)); \ + __value; \ +}); +#endif + +#else + +#define myfabs(x) ((x < 0) ? -x : x) + +#endif + + +inline +void +Mprintg(const PQP_REAL M[3][3]) +{ + printf("%g %g %g\n%g %g %g\n%g %g %g\n", + M[0][0], M[0][1], M[0][2], + M[1][0], M[1][1], M[1][2], + M[2][0], M[2][1], M[2][2]); +} + + +inline +void +Mfprint(FILE *f, const PQP_REAL M[3][3]) +{ + fprintf(f, "%g %g %g\n%g %g %g\n%g %g %g\n", + M[0][0], M[0][1], M[0][2], + M[1][0], M[1][1], M[1][2], + M[2][0], M[2][1], M[2][2]); +} + +inline +void +Mprint(const PQP_REAL M[3][3]) +{ + printf("%g %g %g\n%g %g %g\n%g %g %g\n", + M[0][0], M[0][1], M[0][2], + M[1][0], M[1][1], M[1][2], + M[2][0], M[2][1], M[2][2]); +} + +inline +void +Vprintg(const PQP_REAL V[3]) +{ + printf("%g %g %g\n", V[0], V[1], V[2]); +} + +inline +void +Vfprint(FILE *f, const PQP_REAL V[3]) +{ + fprintf(f, "%g %g %g\n", V[0], V[1], V[2]); +} + +inline +void +Vprint(const PQP_REAL V[3]) +{ + printf("%g %g %g\n", V[0], V[1], V[2]); +} + +inline +void +Midentity(PQP_REAL M[3][3]) +{ + M[0][0] = M[1][1] = M[2][2] = 1.0; + M[0][1] = M[1][2] = M[2][0] = 0.0; + M[0][2] = M[1][0] = M[2][1] = 0.0; +} + +inline +void +Videntity(PQP_REAL T[3]) +{ + T[0] = T[1] = T[2] = 0.0; +} + +inline +void +McM(PQP_REAL Mr[3][3], const PQP_REAL M[3][3]) +{ + Mr[0][0] = M[0][0]; Mr[0][1] = M[0][1]; Mr[0][2] = M[0][2]; + Mr[1][0] = M[1][0]; Mr[1][1] = M[1][1]; Mr[1][2] = M[1][2]; + Mr[2][0] = M[2][0]; Mr[2][1] = M[2][1]; Mr[2][2] = M[2][2]; +} + +inline +void +MTcM(PQP_REAL Mr[3][3], const PQP_REAL M[3][3]) +{ + Mr[0][0] = M[0][0]; Mr[1][0] = M[0][1]; Mr[2][0] = M[0][2]; + Mr[0][1] = M[1][0]; Mr[1][1] = M[1][1]; Mr[2][1] = M[1][2]; + Mr[0][2] = M[2][0]; Mr[1][2] = M[2][1]; Mr[2][2] = M[2][2]; +} + +inline +void +VcV(PQP_REAL Vr[3], const PQP_REAL V[3]) +{ + Vr[0] = V[0]; Vr[1] = V[1]; Vr[2] = V[2]; +} + +inline +void +McolcV(PQP_REAL Vr[3], const PQP_REAL M[3][3], int c) +{ + Vr[0] = M[0][c]; + Vr[1] = M[1][c]; + Vr[2] = M[2][c]; +} + +inline +void +McolcMcol(PQP_REAL Mr[3][3], int cr, const PQP_REAL M[3][3], int c) +{ + Mr[0][cr] = M[0][c]; + Mr[1][cr] = M[1][c]; + Mr[2][cr] = M[2][c]; +} + +inline +void +MxMpV(PQP_REAL Mr[3][3], const PQP_REAL M1[3][3], const PQP_REAL M2[3][3], const PQP_REAL T[3]) +{ + Mr[0][0] = (M1[0][0] * M2[0][0] + + M1[0][1] * M2[1][0] + + M1[0][2] * M2[2][0] + + T[0]); + Mr[1][0] = (M1[1][0] * M2[0][0] + + M1[1][1] * M2[1][0] + + M1[1][2] * M2[2][0] + + T[1]); + Mr[2][0] = (M1[2][0] * M2[0][0] + + M1[2][1] * M2[1][0] + + M1[2][2] * M2[2][0] + + T[2]); + Mr[0][1] = (M1[0][0] * M2[0][1] + + M1[0][1] * M2[1][1] + + M1[0][2] * M2[2][1] + + T[0]); + Mr[1][1] = (M1[1][0] * M2[0][1] + + M1[1][1] * M2[1][1] + + M1[1][2] * M2[2][1] + + T[1]); + Mr[2][1] = (M1[2][0] * M2[0][1] + + M1[2][1] * M2[1][1] + + M1[2][2] * M2[2][1] + + T[2]); + Mr[0][2] = (M1[0][0] * M2[0][2] + + M1[0][1] * M2[1][2] + + M1[0][2] * M2[2][2] + + T[0]); + Mr[1][2] = (M1[1][0] * M2[0][2] + + M1[1][1] * M2[1][2] + + M1[1][2] * M2[2][2] + + T[1]); + Mr[2][2] = (M1[2][0] * M2[0][2] + + M1[2][1] * M2[1][2] + + M1[2][2] * M2[2][2] + + T[2]); +} + +inline +void +MxM(PQP_REAL Mr[3][3], const PQP_REAL M1[3][3], const PQP_REAL M2[3][3]) +{ + Mr[0][0] = (M1[0][0] * M2[0][0] + + M1[0][1] * M2[1][0] + + M1[0][2] * M2[2][0]); + Mr[1][0] = (M1[1][0] * M2[0][0] + + M1[1][1] * M2[1][0] + + M1[1][2] * M2[2][0]); + Mr[2][0] = (M1[2][0] * M2[0][0] + + M1[2][1] * M2[1][0] + + M1[2][2] * M2[2][0]); + Mr[0][1] = (M1[0][0] * M2[0][1] + + M1[0][1] * M2[1][1] + + M1[0][2] * M2[2][1]); + Mr[1][1] = (M1[1][0] * M2[0][1] + + M1[1][1] * M2[1][1] + + M1[1][2] * M2[2][1]); + Mr[2][1] = (M1[2][0] * M2[0][1] + + M1[2][1] * M2[1][1] + + M1[2][2] * M2[2][1]); + Mr[0][2] = (M1[0][0] * M2[0][2] + + M1[0][1] * M2[1][2] + + M1[0][2] * M2[2][2]); + Mr[1][2] = (M1[1][0] * M2[0][2] + + M1[1][1] * M2[1][2] + + M1[1][2] * M2[2][2]); + Mr[2][2] = (M1[2][0] * M2[0][2] + + M1[2][1] * M2[1][2] + + M1[2][2] * M2[2][2]); +} + + +inline +void +MxMT(PQP_REAL Mr[3][3], const PQP_REAL M1[3][3], const PQP_REAL M2[3][3]) +{ + Mr[0][0] = (M1[0][0] * M2[0][0] + + M1[0][1] * M2[0][1] + + M1[0][2] * M2[0][2]); + Mr[1][0] = (M1[1][0] * M2[0][0] + + M1[1][1] * M2[0][1] + + M1[1][2] * M2[0][2]); + Mr[2][0] = (M1[2][0] * M2[0][0] + + M1[2][1] * M2[0][1] + + M1[2][2] * M2[0][2]); + Mr[0][1] = (M1[0][0] * M2[1][0] + + M1[0][1] * M2[1][1] + + M1[0][2] * M2[1][2]); + Mr[1][1] = (M1[1][0] * M2[1][0] + + M1[1][1] * M2[1][1] + + M1[1][2] * M2[1][2]); + Mr[2][1] = (M1[2][0] * M2[1][0] + + M1[2][1] * M2[1][1] + + M1[2][2] * M2[1][2]); + Mr[0][2] = (M1[0][0] * M2[2][0] + + M1[0][1] * M2[2][1] + + M1[0][2] * M2[2][2]); + Mr[1][2] = (M1[1][0] * M2[2][0] + + M1[1][1] * M2[2][1] + + M1[1][2] * M2[2][2]); + Mr[2][2] = (M1[2][0] * M2[2][0] + + M1[2][1] * M2[2][1] + + M1[2][2] * M2[2][2]); +} + +inline +void +MTxM(PQP_REAL Mr[3][3], const PQP_REAL M1[3][3], const PQP_REAL M2[3][3]) +{ + Mr[0][0] = (M1[0][0] * M2[0][0] + + M1[1][0] * M2[1][0] + + M1[2][0] * M2[2][0]); + Mr[1][0] = (M1[0][1] * M2[0][0] + + M1[1][1] * M2[1][0] + + M1[2][1] * M2[2][0]); + Mr[2][0] = (M1[0][2] * M2[0][0] + + M1[1][2] * M2[1][0] + + M1[2][2] * M2[2][0]); + Mr[0][1] = (M1[0][0] * M2[0][1] + + M1[1][0] * M2[1][1] + + M1[2][0] * M2[2][1]); + Mr[1][1] = (M1[0][1] * M2[0][1] + + M1[1][1] * M2[1][1] + + M1[2][1] * M2[2][1]); + Mr[2][1] = (M1[0][2] * M2[0][1] + + M1[1][2] * M2[1][1] + + M1[2][2] * M2[2][1]); + Mr[0][2] = (M1[0][0] * M2[0][2] + + M1[1][0] * M2[1][2] + + M1[2][0] * M2[2][2]); + Mr[1][2] = (M1[0][1] * M2[0][2] + + M1[1][1] * M2[1][2] + + M1[2][1] * M2[2][2]); + Mr[2][2] = (M1[0][2] * M2[0][2] + + M1[1][2] * M2[1][2] + + M1[2][2] * M2[2][2]); +} + +inline +void +MxV(PQP_REAL Vr[3], const PQP_REAL M1[3][3], const PQP_REAL V1[3]) +{ + Vr[0] = (M1[0][0] * V1[0] + + M1[0][1] * V1[1] + + M1[0][2] * V1[2]); + Vr[1] = (M1[1][0] * V1[0] + + M1[1][1] * V1[1] + + M1[1][2] * V1[2]); + Vr[2] = (M1[2][0] * V1[0] + + M1[2][1] * V1[1] + + M1[2][2] * V1[2]); +} + + +inline +void +MxVpV(PQP_REAL Vr[3], const PQP_REAL M1[3][3], const PQP_REAL V1[3], const PQP_REAL V2[3]) +{ + Vr[0] = (M1[0][0] * V1[0] + + M1[0][1] * V1[1] + + M1[0][2] * V1[2] + + V2[0]); + Vr[1] = (M1[1][0] * V1[0] + + M1[1][1] * V1[1] + + M1[1][2] * V1[2] + + V2[1]); + Vr[2] = (M1[2][0] * V1[0] + + M1[2][1] * V1[1] + + M1[2][2] * V1[2] + + V2[2]); +} + + +inline +void +sMxVpV(PQP_REAL Vr[3], PQP_REAL s1, const PQP_REAL M1[3][3], const PQP_REAL V1[3], const PQP_REAL V2[3]) +{ + Vr[0] = s1 * (M1[0][0] * V1[0] + + M1[0][1] * V1[1] + + M1[0][2] * V1[2]) + + V2[0]; + Vr[1] = s1 * (M1[1][0] * V1[0] + + M1[1][1] * V1[1] + + M1[1][2] * V1[2]) + + V2[1]; + Vr[2] = s1 * (M1[2][0] * V1[0] + + M1[2][1] * V1[1] + + M1[2][2] * V1[2]) + + V2[2]; +} + +inline +void +MTxV(PQP_REAL Vr[3], const PQP_REAL M1[3][3], const PQP_REAL V1[3]) +{ + Vr[0] = (M1[0][0] * V1[0] + + M1[1][0] * V1[1] + + M1[2][0] * V1[2]); + Vr[1] = (M1[0][1] * V1[0] + + M1[1][1] * V1[1] + + M1[2][1] * V1[2]); + Vr[2] = (M1[0][2] * V1[0] + + M1[1][2] * V1[1] + + M1[2][2] * V1[2]); +} + +inline +void +sMTxV(PQP_REAL Vr[3], PQP_REAL s1, const PQP_REAL M1[3][3], const PQP_REAL V1[3]) +{ + Vr[0] = s1*(M1[0][0] * V1[0] + + M1[1][0] * V1[1] + + M1[2][0] * V1[2]); + Vr[1] = s1*(M1[0][1] * V1[0] + + M1[1][1] * V1[1] + + M1[2][1] * V1[2]); + Vr[2] = s1*(M1[0][2] * V1[0] + + M1[1][2] * V1[1] + + M1[2][2] * V1[2]); +} + +inline +void +sMxV(PQP_REAL Vr[3], PQP_REAL s1, const PQP_REAL M1[3][3], const PQP_REAL V1[3]) +{ + Vr[0] = s1*(M1[0][0] * V1[0] + + M1[0][1] * V1[1] + + M1[0][2] * V1[2]); + Vr[1] = s1*(M1[1][0] * V1[0] + + M1[1][1] * V1[1] + + M1[1][2] * V1[2]); + Vr[2] = s1*(M1[2][0] * V1[0] + + M1[2][1] * V1[1] + + M1[2][2] * V1[2]); +} + + +inline +void +VmV(PQP_REAL Vr[3], const PQP_REAL V1[3], const PQP_REAL V2[3]) +{ + Vr[0] = V1[0] - V2[0]; + Vr[1] = V1[1] - V2[1]; + Vr[2] = V1[2] - V2[2]; +} + +inline +void +VpV(PQP_REAL Vr[3], const PQP_REAL V1[3], const PQP_REAL V2[3]) +{ + Vr[0] = V1[0] + V2[0]; + Vr[1] = V1[1] + V2[1]; + Vr[2] = V1[2] + V2[2]; +} + +inline +void +VpVxS(PQP_REAL Vr[3], const PQP_REAL V1[3], const PQP_REAL V2[3], PQP_REAL s) +{ + Vr[0] = V1[0] + V2[0] * s; + Vr[1] = V1[1] + V2[1] * s; + Vr[2] = V1[2] + V2[2] * s; +} + +inline +void +MskewV(PQP_REAL M[3][3], const PQP_REAL v[3]) +{ + M[0][0] = M[1][1] = M[2][2] = 0.0; + M[1][0] = v[2]; + M[0][1] = -v[2]; + M[0][2] = v[1]; + M[2][0] = -v[1]; + M[1][2] = -v[0]; + M[2][1] = v[0]; +} + + +inline +void +VcrossV(PQP_REAL Vr[3], const PQP_REAL V1[3], const PQP_REAL V2[3]) +{ + Vr[0] = V1[1]*V2[2] - V1[2]*V2[1]; + Vr[1] = V1[2]*V2[0] - V1[0]*V2[2]; + Vr[2] = V1[0]*V2[1] - V1[1]*V2[0]; +} + +inline +PQP_REAL +Vlength(PQP_REAL V[3]) +{ + return sqrt(V[0]*V[0] + V[1]*V[1] + V[2]*V[2]); +} + +inline +void +Vnormalize(PQP_REAL V[3]) +{ + PQP_REAL d = (PQP_REAL)1.0 / sqrt(V[0]*V[0] + V[1]*V[1] + V[2]*V[2]); + V[0] *= d; + V[1] *= d; + V[2] *= d; +} + +inline +PQP_REAL +VdotV(const PQP_REAL V1[3], const PQP_REAL V2[3]) +{ + return (V1[0]*V2[0] + V1[1]*V2[1] + V1[2]*V2[2]); +} + +inline +PQP_REAL +VdistV2(const PQP_REAL V1[3], const PQP_REAL V2[3]) +{ + return ( (V1[0]-V2[0]) * (V1[0]-V2[0]) + + (V1[1]-V2[1]) * (V1[1]-V2[1]) + + (V1[2]-V2[2]) * (V1[2]-V2[2])); +} + +inline +void +VxS(PQP_REAL Vr[3], const PQP_REAL V[3], PQP_REAL s) +{ + Vr[0] = V[0] * s; + Vr[1] = V[1] * s; + Vr[2] = V[2] * s; +} + +inline +void +MRotZ(PQP_REAL Mr[3][3], PQP_REAL t) +{ + Mr[0][0] = cos(t); + Mr[1][0] = sin(t); + Mr[0][1] = -Mr[1][0]; + Mr[1][1] = Mr[0][0]; + Mr[2][0] = Mr[2][1] = 0.0; + Mr[0][2] = Mr[1][2] = 0.0; + Mr[2][2] = 1.0; +} + +inline +void +MRotX(PQP_REAL Mr[3][3], PQP_REAL t) +{ + Mr[1][1] = cos(t); + Mr[2][1] = sin(t); + Mr[1][2] = -Mr[2][1]; + Mr[2][2] = Mr[1][1]; + Mr[0][1] = Mr[0][2] = 0.0; + Mr[1][0] = Mr[2][0] = 0.0; + Mr[0][0] = 1.0; +} + +inline +void +MRotY(PQP_REAL Mr[3][3], PQP_REAL t) +{ + Mr[2][2] = cos(t); + Mr[0][2] = sin(t); + Mr[2][0] = -Mr[0][2]; + Mr[0][0] = Mr[2][2]; + Mr[1][2] = Mr[1][0] = 0.0; + Mr[2][1] = Mr[0][1] = 0.0; + Mr[1][1] = 1.0; +} + +inline +void +MVtoOGL(double oglm[16], const PQP_REAL R[3][3], const PQP_REAL T[3]) +{ + oglm[0] = (double)R[0][0]; + oglm[1] = (double)R[1][0]; + oglm[2] = (double)R[2][0]; + oglm[3] = 0.0; + oglm[4] = (double)R[0][1]; + oglm[5] = (double)R[1][1]; + oglm[6] = (double)R[2][1]; + oglm[7] = 0.0; + oglm[8] = (double)R[0][2]; + oglm[9] = (double)R[1][2]; + oglm[10] = (double)R[2][2]; + oglm[11] = 0.0; + oglm[12] = (double)T[0]; + oglm[13] = (double)T[1]; + oglm[14] = (double)T[2]; + oglm[15] = 1.0; +} + +inline +void +OGLtoMV(PQP_REAL R[3][3], PQP_REAL T[3], const double oglm[16]) +{ + R[0][0] = (PQP_REAL)oglm[0]; + R[1][0] = (PQP_REAL)oglm[1]; + R[2][0] = (PQP_REAL)oglm[2]; + + R[0][1] = (PQP_REAL)oglm[4]; + R[1][1] = (PQP_REAL)oglm[5]; + R[2][1] = (PQP_REAL)oglm[6]; + + R[0][2] = (PQP_REAL)oglm[8]; + R[1][2] = (PQP_REAL)oglm[9]; + R[2][2] = (PQP_REAL)oglm[10]; + + T[0] = (PQP_REAL)oglm[12]; + T[1] = (PQP_REAL)oglm[13]; + T[2] = (PQP_REAL)oglm[14]; +} + +// taken from quatlib, written by Richard Holloway +const int QX = 0; +const int QY = 1; +const int QZ = 2; +const int QW = 3; + +inline +void +MRotQ(PQP_REAL destMatrix[3][3], PQP_REAL srcQuat[4]) +{ + PQP_REAL s; + PQP_REAL xs, ys, zs, + wx, wy, wz, + xx, xy, xz, + yy, yz, zz; + + /* + * For unit srcQuat, just set s = 2.0; or set xs = srcQuat[QX] + + * srcQuat[QX], etc. + */ + + s = (PQP_REAL)2.0 / (srcQuat[QX]*srcQuat[QX] + srcQuat[QY]*srcQuat[QY] + + srcQuat[QZ]*srcQuat[QZ] + srcQuat[QW]*srcQuat[QW]); + + xs = srcQuat[QX] * s; ys = srcQuat[QY] * s; zs = srcQuat[QZ] * s; + wx = srcQuat[QW] * xs; wy = srcQuat[QW] * ys; wz = srcQuat[QW] * zs; + xx = srcQuat[QX] * xs; xy = srcQuat[QX] * ys; xz = srcQuat[QX] * zs; + yy = srcQuat[QY] * ys; yz = srcQuat[QY] * zs; zz = srcQuat[QZ] * zs; + + destMatrix[QX][QX] = (PQP_REAL)1.0 - (yy + zz); + destMatrix[QX][QY] = xy + wz; + destMatrix[QX][QZ] = xz - wy; + + destMatrix[QY][QX] = xy - wz; + destMatrix[QY][QY] = (PQP_REAL)1.0 - (xx + zz); + destMatrix[QY][QZ] = yz + wx; + + destMatrix[QZ][QX] = xz + wy; + destMatrix[QZ][QY] = yz - wx; + destMatrix[QZ][QZ] = (PQP_REAL)1.0 - (xx + yy); +} + +inline +void +Mqinverse(PQP_REAL Mr[3][3], PQP_REAL m[3][3]) +{ + int i,j; + + for(i=0; i<3; i++) + for(j=0; j<3; j++) + { + int i1 = (i+1)%3; + int i2 = (i+2)%3; + int j1 = (j+1)%3; + int j2 = (j+2)%3; + Mr[i][j] = (m[j1][i1]*m[j2][i2] - m[j1][i2]*m[j2][i1]); + } +} + +// Meigen from Numerical Recipes in C + +#if 0 + +#define rfabs(x) ((x < 0) ? -x : x) + +#define ROT(a,i,j,k,l) g=a[i][j]; h=a[k][l]; a[i][j]=g-s*(h+g*tau); a[k][l]=h+s*(g-h*tau); + +int +inline +Meigen(PQP_REAL vout[3][3], PQP_REAL dout[3], PQP_REAL a[3][3]) +{ + int i; + PQP_REAL tresh,theta,tau,t,sm,s,h,g,c; + int nrot; + PQP_REAL b[3]; + PQP_REAL z[3]; + PQP_REAL v[3][3]; + PQP_REAL d[3]; + + v[0][0] = v[1][1] = v[2][2] = 1.0; + v[0][1] = v[1][2] = v[2][0] = 0.0; + v[0][2] = v[1][0] = v[2][1] = 0.0; + + b[0] = a[0][0]; d[0] = a[0][0]; z[0] = 0.0; + b[1] = a[1][1]; d[1] = a[1][1]; z[1] = 0.0; + b[2] = a[2][2]; d[2] = a[2][2]; z[2] = 0.0; + + nrot = 0; + + + for(i=0; i<50; i++) + { + + printf("2\n"); + + sm=0.0; sm+=fabs(a[0][1]); sm+=fabs(a[0][2]); sm+=fabs(a[1][2]); + if (sm == 0.0) { McM(vout,v); VcV(dout,d); return i; } + + if (i < 3) tresh=0.2*sm/(3*3); else tresh=0.0; + + { + g = 100.0*rfabs(a[0][1]); + if (i>3 && rfabs(d[0])+g==rfabs(d[0]) && rfabs(d[1])+g==rfabs(d[1])) + a[0][1]=0.0; + else if (rfabs(a[0][1])>tresh) + { + h = d[1]-d[0]; + if (rfabs(h)+g == rfabs(h)) t=(a[0][1])/h; + else + { + theta=0.5*h/(a[0][1]); + t=1.0/(rfabs(theta)+sqrt(1.0+theta*theta)); + if (theta < 0.0) t = -t; + } + c=1.0/sqrt(1+t*t); s=t*c; tau=s/(1.0+c); h=t*a[0][1]; + z[0] -= h; z[1] += h; d[0] -= h; d[1] += h; + a[0][1]=0.0; + ROT(a,0,2,1,2); ROT(v,0,0,0,1); ROT(v,1,0,1,1); ROT(v,2,0,2,1); + nrot++; + } + } + + { + g = 100.0*rfabs(a[0][2]); + if (i>3 && rfabs(d[0])+g==rfabs(d[0]) && rfabs(d[2])+g==rfabs(d[2])) + a[0][2]=0.0; + else if (rfabs(a[0][2])>tresh) + { + h = d[2]-d[0]; + if (rfabs(h)+g == rfabs(h)) t=(a[0][2])/h; + else + { + theta=0.5*h/(a[0][2]); + t=1.0/(rfabs(theta)+sqrt(1.0+theta*theta)); + if (theta < 0.0) t = -t; + } + c=1.0/sqrt(1+t*t); s=t*c; tau=s/(1.0+c); h=t*a[0][2]; + z[0] -= h; z[2] += h; d[0] -= h; d[2] += h; + a[0][2]=0.0; + ROT(a,0,1,1,2); ROT(v,0,0,0,2); ROT(v,1,0,1,2); ROT(v,2,0,2,2); + nrot++; + } + } + + + { + g = 100.0*rfabs(a[1][2]); + if (i>3 && rfabs(d[1])+g==rfabs(d[1]) && rfabs(d[2])+g==rfabs(d[2])) + a[1][2]=0.0; + else if (rfabs(a[1][2])>tresh) + { + h = d[2]-d[1]; + if (rfabs(h)+g == rfabs(h)) t=(a[1][2])/h; + else + { + theta=0.5*h/(a[1][2]); + t=1.0/(rfabs(theta)+sqrt(1.0+theta*theta)); + if (theta < 0.0) t = -t; + } + c=1.0/sqrt(1+t*t); s=t*c; tau=s/(1.0+c); h=t*a[1][2]; + z[1] -= h; z[2] += h; d[1] -= h; d[2] += h; + a[1][2]=0.0; + ROT(a,0,1,0,2); ROT(v,0,1,0,2); ROT(v,1,1,1,2); ROT(v,2,1,2,2); + nrot++; + } + } + + b[0] += z[0]; d[0] = b[0]; z[0] = 0.0; + b[1] += z[1]; d[1] = b[1]; z[1] = 0.0; + b[2] += z[2]; d[2] = b[2]; z[2] = 0.0; + + } + + fprintf(stderr, "eigen: too many iterations in Jacobi transform (%d).\n", i); + + return i; +} + +#else + + + +#define ROTATE(a,i,j,k,l) g=a[i][j]; h=a[k][l]; a[i][j]=g-s*(h+g*tau); a[k][l]=h+s*(g-h*tau); + +void +inline +Meigen(PQP_REAL vout[3][3], PQP_REAL dout[3], PQP_REAL a[3][3]) +{ + int n = 3; + int j,iq,ip,i; + PQP_REAL tresh,theta,tau,t,sm,s,h,g,c; + int nrot; + PQP_REAL b[3]; + PQP_REAL z[3]; + PQP_REAL v[3][3]; + PQP_REAL d[3]; + + Midentity(v); + for(ip=0; ip<n; ip++) + { + b[ip] = a[ip][ip]; + d[ip] = a[ip][ip]; + z[ip] = 0.0; + } + + nrot = 0; + + for(i=0; i<50; i++) + { + + sm=0.0; + for(ip=0;ip<n;ip++) for(iq=ip+1;iq<n;iq++) sm+=fabs(a[ip][iq]); + if (sm == 0.0) + { + McM(vout, v); + VcV(dout, d); + return; + } + + + if (i < 3) tresh=(PQP_REAL)0.2*sm/(n*n); + else tresh=0.0; + + for(ip=0; ip<n; ip++) for(iq=ip+1; iq<n; iq++) + { + g = (PQP_REAL)100.0*fabs(a[ip][iq]); + if (i>3 && + fabs(d[ip])+g==fabs(d[ip]) && + fabs(d[iq])+g==fabs(d[iq])) + a[ip][iq]=0.0; + else if (fabs(a[ip][iq])>tresh) + { + h = d[iq]-d[ip]; + if (fabs(h)+g == fabs(h)) t=(a[ip][iq])/h; + else + { + theta=(PQP_REAL)0.5*h/(a[ip][iq]); + t=(PQP_REAL)(1.0/(fabs(theta)+sqrt(1.0+theta*theta))); + if (theta < 0.0) t = -t; + } + c=(PQP_REAL)1.0/sqrt(1+t*t); + s=t*c; + tau=s/((PQP_REAL)1.0+c); + h=t*a[ip][iq]; + z[ip] -= h; + z[iq] += h; + d[ip] -= h; + d[iq] += h; + a[ip][iq]=0.0; + for(j=0;j<ip;j++) { ROTATE(a,j,ip,j,iq); } + for(j=ip+1;j<iq;j++) { ROTATE(a,ip,j,j,iq); } + for(j=iq+1;j<n;j++) { ROTATE(a,ip,j,iq,j); } + for(j=0;j<n;j++) { ROTATE(v,j,ip,j,iq); } + nrot++; + } + } + for(ip=0;ip<n;ip++) + { + b[ip] += z[ip]; + d[ip] = b[ip]; + z[ip] = 0.0; + } + } + + fprintf(stderr, "eigen: too many iterations in Jacobi transform.\n"); + + return; +} + + +#endif + +#endif +// MATVEC_H diff --git a/trunk/PQP/build/pqp-tar/PQP_v1.3/src/OBB_Disjoint.h b/trunk/PQP/build/pqp-tar/PQP_v1.3/src/OBB_Disjoint.h new file mode 100644 index 00000000..4a732031 --- /dev/null +++ b/trunk/PQP/build/pqp-tar/PQP_v1.3/src/OBB_Disjoint.h @@ -0,0 +1,216 @@ +/*************************************************************************\ + + Copyright 1999 The University of North Carolina at Chapel Hill. + All Rights Reserved. + + Permission to use, copy, modify and distribute this software and its + documentation for educational, research and non-profit purposes, without + fee, and without a written agreement is hereby granted, provided that the + above copyright notice and the following three paragraphs appear in all + copies. + + IN NO EVENT SHALL THE UNIVERSITY OF NORTH CAROLINA AT CHAPEL HILL BE + LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR + CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF THE + USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY + OF NORTH CAROLINA HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH + DAMAGES. + + THE UNIVERSITY OF NORTH CAROLINA SPECIFICALLY DISCLAIM ANY + WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE + PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF + NORTH CAROLINA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT, + UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + + The authors may be contacted via: + + US Mail: S. Gottschalk + Department of Computer Science + Sitterson Hall, CB #3175 + University of N. Carolina + Chapel Hill, NC 27599-3175 + + Phone: (919)962-1749 + + EMail: geom@cs.unc.edu + + +\**************************************************************************/ + +#ifndef PQP_OBB_DISJOINT +#define PQP_OBB_DISJOINT + +#include "MatVec.h" +#include "PQP_Compile.h" + +// int +// obb_disjoint(PQP_REAL B[3][3], PQP_REAL T[3], PQP_REAL a[3], PQP_REAL b[3]); +// +// This is a test between two boxes, box A and box B. It is assumed that +// the coordinate system is aligned and centered on box A. The 3x3 +// matrix B specifies box B's orientation with respect to box A. +// Specifically, the columns of B are the basis vectors (axis vectors) of +// box B. The center of box B is located at the vector T. The +// dimensions of box B are given in the array b. The orientation and +// placement of box A, in this coordinate system, are the identity matrix +// and zero vector, respectively, so they need not be specified. The +// dimensions of box A are given in array a. + +inline +int +obb_disjoint(PQP_REAL B[3][3], PQP_REAL T[3], PQP_REAL a[3], PQP_REAL b[3]) +{ + register PQP_REAL t, s; + register int r; + PQP_REAL Bf[3][3]; + const PQP_REAL reps = (PQP_REAL)1e-6; + + // Bf = fabs(B) + Bf[0][0] = myfabs(B[0][0]); Bf[0][0] += reps; + Bf[0][1] = myfabs(B[0][1]); Bf[0][1] += reps; + Bf[0][2] = myfabs(B[0][2]); Bf[0][2] += reps; + Bf[1][0] = myfabs(B[1][0]); Bf[1][0] += reps; + Bf[1][1] = myfabs(B[1][1]); Bf[1][1] += reps; + Bf[1][2] = myfabs(B[1][2]); Bf[1][2] += reps; + Bf[2][0] = myfabs(B[2][0]); Bf[2][0] += reps; + Bf[2][1] = myfabs(B[2][1]); Bf[2][1] += reps; + Bf[2][2] = myfabs(B[2][2]); Bf[2][2] += reps; + + // if any of these tests are one-sided, then the polyhedra are disjoint + r = 1; + + // A1 x A2 = A0 + t = myfabs(T[0]); + + r &= (t <= + (a[0] + b[0] * Bf[0][0] + b[1] * Bf[0][1] + b[2] * Bf[0][2])); + if (!r) return 1; + + // B1 x B2 = B0 + s = T[0]*B[0][0] + T[1]*B[1][0] + T[2]*B[2][0]; + t = myfabs(s); + + r &= ( t <= + (b[0] + a[0] * Bf[0][0] + a[1] * Bf[1][0] + a[2] * Bf[2][0])); + if (!r) return 2; + + // A2 x A0 = A1 + t = myfabs(T[1]); + + r &= ( t <= + (a[1] + b[0] * Bf[1][0] + b[1] * Bf[1][1] + b[2] * Bf[1][2])); + if (!r) return 3; + + // A0 x A1 = A2 + t = myfabs(T[2]); + + r &= ( t <= + (a[2] + b[0] * Bf[2][0] + b[1] * Bf[2][1] + b[2] * Bf[2][2])); + if (!r) return 4; + + // B2 x B0 = B1 + s = T[0]*B[0][1] + T[1]*B[1][1] + T[2]*B[2][1]; + t = myfabs(s); + + r &= ( t <= + (b[1] + a[0] * Bf[0][1] + a[1] * Bf[1][1] + a[2] * Bf[2][1])); + if (!r) return 5; + + // B0 x B1 = B2 + s = T[0]*B[0][2] + T[1]*B[1][2] + T[2]*B[2][2]; + t = myfabs(s); + + r &= ( t <= + (b[2] + a[0] * Bf[0][2] + a[1] * Bf[1][2] + a[2] * Bf[2][2])); + if (!r) return 6; + + // A0 x B0 + s = T[2] * B[1][0] - T[1] * B[2][0]; + t = myfabs(s); + + r &= ( t <= + (a[1] * Bf[2][0] + a[2] * Bf[1][0] + + b[1] * Bf[0][2] + b[2] * Bf[0][1])); + if (!r) return 7; + + // A0 x B1 + s = T[2] * B[1][1] - T[1] * B[2][1]; + t = myfabs(s); + + r &= ( t <= + (a[1] * Bf[2][1] + a[2] * Bf[1][1] + + b[0] * Bf[0][2] + b[2] * Bf[0][0])); + if (!r) return 8; + + // A0 x B2 + s = T[2] * B[1][2] - T[1] * B[2][2]; + t = myfabs(s); + + r &= ( t <= + (a[1] * Bf[2][2] + a[2] * Bf[1][2] + + b[0] * Bf[0][1] + b[1] * Bf[0][0])); + if (!r) return 9; + + // A1 x B0 + s = T[0] * B[2][0] - T[2] * B[0][0]; + t = myfabs(s); + + r &= ( t <= + (a[0] * Bf[2][0] + a[2] * Bf[0][0] + + b[1] * Bf[1][2] + b[2] * Bf[1][1])); + if (!r) return 10; + + // A1 x B1 + s = T[0] * B[2][1] - T[2] * B[0][1]; + t = myfabs(s); + + r &= ( t <= + (a[0] * Bf[2][1] + a[2] * Bf[0][1] + + b[0] * Bf[1][2] + b[2] * Bf[1][0])); + if (!r) return 11; + + // A1 x B2 + s = T[0] * B[2][2] - T[2] * B[0][2]; + t = myfabs(s); + + r &= (t <= + (a[0] * Bf[2][2] + a[2] * Bf[0][2] + + b[0] * Bf[1][1] + b[1] * Bf[1][0])); + if (!r) return 12; + + // A2 x B0 + s = T[1] * B[0][0] - T[0] * B[1][0]; + t = myfabs(s); + + r &= (t <= + (a[0] * Bf[1][0] + a[1] * Bf[0][0] + + b[1] * Bf[2][2] + b[2] * Bf[2][1])); + if (!r) return 13; + + // A2 x B1 + s = T[1] * B[0][1] - T[0] * B[1][1]; + t = myfabs(s); + + r &= ( t <= + (a[0] * Bf[1][1] + a[1] * Bf[0][1] + + b[0] * Bf[2][2] + b[2] * Bf[2][0])); + if (!r) return 14; + + // A2 x B2 + s = T[1] * B[0][2] - T[0] * B[1][2]; + t = myfabs(s); + + r &= ( t <= + (a[0] * Bf[1][2] + a[1] * Bf[0][2] + + b[0] * Bf[2][1] + b[1] * Bf[2][0])); + if (!r) return 15; + + return 0; // should equal 0 +} + +#endif + + + + diff --git a/trunk/PQP/build/pqp-tar/PQP_v1.3/src/PQP.cpp b/trunk/PQP/build/pqp-tar/PQP_v1.3/src/PQP.cpp new file mode 100644 index 00000000..c1857503 --- /dev/null +++ b/trunk/PQP/build/pqp-tar/PQP_v1.3/src/PQP.cpp @@ -0,0 +1,1376 @@ +/*************************************************************************\ + + Copyright 1999 The University of North Carolina at Chapel Hill. + All Rights Reserved. + + Permission to use, copy, modify and distribute this software and its + documentation for educational, research and non-profit purposes, without + fee, and without a written agreement is hereby granted, provided that the + above copyright notice and the following three paragraphs appear in all + copies. + + IN NO EVENT SHALL THE UNIVERSITY OF NORTH CAROLINA AT CHAPEL HILL BE + LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR + CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF THE + USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY + OF NORTH CAROLINA HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH + DAMAGES. + + THE UNIVERSITY OF NORTH CAROLINA SPECIFICALLY DISCLAIM ANY + WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE + PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF + NORTH CAROLINA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT, + UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + + The authors may be contacted via: + + US Mail: S. Gottschalk, E. Larsen + Department of Computer Science + Sitterson Hall, CB #3175 + University of N. Carolina + Chapel Hill, NC 27599-3175 + + Phone: (919)962-1749 + + EMail: geom@cs.unc.edu + + +\**************************************************************************/ + +#include <stdio.h> +#include <string.h> +#include "PQP.h" +#include "BVTQ.h" +#include "Build.h" +#include "MatVec.h" +#include "GetTime.h" +#include "TriDist.h" + +enum BUILD_STATE +{ + PQP_BUILD_STATE_EMPTY, // empty state, immediately after constructor + PQP_BUILD_STATE_BEGUN, // after BeginModel(), state for adding triangles + PQP_BUILD_STATE_PROCESSED // after tree has been built, ready to use +}; + +PQP_Model::PQP_Model() +{ + // no bounding volume tree yet + + b = 0; + num_bvs_alloced = 0; + num_bvs = 0; + + // no tri list yet + + tris = 0; + num_tris = 0; + num_tris_alloced = 0; + + last_tri = 0; + + build_state = PQP_BUILD_STATE_EMPTY; +} + +PQP_Model::~PQP_Model() +{ + if (b != NULL) + delete [] b; + if (tris != NULL) + delete [] tris; +} + +int +PQP_Model::BeginModel(int n) +{ + // reset to initial state if necessary + + if (build_state != PQP_BUILD_STATE_EMPTY) + { + delete [] b; + delete [] tris; + + num_tris = num_bvs = num_tris_alloced = num_bvs_alloced = 0; + } + + // prepare model for addition of triangles + + if (n <= 0) n = 8; + num_tris_alloced = n; + tris = new Tri[n]; + if (!tris) + { + fprintf(stderr, "PQP Error! Out of memory for tri array on " + "BeginModel() call!\n"); + return PQP_ERR_MODEL_OUT_OF_MEMORY; + } + + // give a warning if called out of sequence + + if (build_state != PQP_BUILD_STATE_EMPTY) + { + fprintf(stderr, + "PQP Warning! Called BeginModel() on a PQP_Model that \n" + "was not empty. This model was cleared and previous\n" + "triangle additions were lost.\n"); + build_state = PQP_BUILD_STATE_BEGUN; + return PQP_ERR_BUILD_OUT_OF_SEQUENCE; + } + + build_state = PQP_BUILD_STATE_BEGUN; + return PQP_OK; +} + +int +PQP_Model::AddTri(const PQP_REAL *p1, + const PQP_REAL *p2, + const PQP_REAL *p3, + int id) +{ + if (build_state == PQP_BUILD_STATE_EMPTY) + { + BeginModel(); + } + else if (build_state == PQP_BUILD_STATE_PROCESSED) + { + fprintf(stderr,"PQP Warning! Called AddTri() on PQP_Model \n" + "object that was already ended. AddTri() was\n" + "ignored. Must do a BeginModel() to clear the\n" + "model for addition of new triangles\n"); + return PQP_ERR_BUILD_OUT_OF_SEQUENCE; + } + + // allocate for new triangles + + if (num_tris >= num_tris_alloced) + { + Tri *temp; + temp = new Tri[num_tris_alloced*2]; + if (!temp) + { + fprintf(stderr, "PQP Error! Out of memory for tri array on" + " AddTri() call!\n"); + return PQP_ERR_MODEL_OUT_OF_MEMORY; + } + memcpy(temp, tris, sizeof(Tri)*num_tris); + delete [] tris; + tris = temp; + num_tris_alloced = num_tris_alloced*2; + } + + // initialize the new triangle + + tris[num_tris].p1[0] = p1[0]; + tris[num_tris].p1[1] = p1[1]; + tris[num_tris].p1[2] = p1[2]; + + tris[num_tris].p2[0] = p2[0]; + tris[num_tris].p2[1] = p2[1]; + tris[num_tris].p2[2] = p2[2]; + + tris[num_tris].p3[0] = p3[0]; + tris[num_tris].p3[1] = p3[1]; + tris[num_tris].p3[2] = p3[2]; + + tris[num_tris].id = id; + + num_tris += 1; + + return PQP_OK; +} + +int +PQP_Model::EndModel() +{ + if (build_state == PQP_BUILD_STATE_PROCESSED) + { + fprintf(stderr,"PQP Warning! Called EndModel() on PQP_Model \n" + "object that was already ended. EndModel() was\n" + "ignored. Must do a BeginModel() to clear the\n" + "model for addition of new triangles\n"); + return PQP_ERR_BUILD_OUT_OF_SEQUENCE; + } + + // report error is no tris + + if (num_tris == 0) + { + fprintf(stderr,"PQP Error! EndModel() called on model with" + " no triangles\n"); + return PQP_ERR_BUILD_EMPTY_MODEL; + } + + // shrink fit tris array + + if (num_tris_alloced > num_tris) + { + Tri *new_tris = new Tri[num_tris]; + if (!new_tris) + { + fprintf(stderr, "PQP Error! Out of memory for tri array " + "in EndModel() call!\n"); + return PQP_ERR_MODEL_OUT_OF_MEMORY; + } + memcpy(new_tris, tris, sizeof(Tri)*num_tris); + delete [] tris; + tris = new_tris; + num_tris_alloced = num_tris; + } + + // create an array of BVs for the model + + b = new BV[2*num_tris - 1]; + if (!b) + { + fprintf(stderr,"PQP Error! out of memory for BV array " + "in EndModel()\n"); + return PQP_ERR_MODEL_OUT_OF_MEMORY; + } + num_bvs_alloced = 2*num_tris - 1; + num_bvs = 0; + + // we should build the model now. + + build_model(this); + build_state = PQP_BUILD_STATE_PROCESSED; + + last_tri = tris; + + return PQP_OK; +} + +int +PQP_Model::MemUsage(int msg) +{ + int mem_bv_list = sizeof(BV)*num_bvs; + int mem_tri_list = sizeof(Tri)*num_tris; + + int total_mem = mem_bv_list + mem_tri_list + sizeof(PQP_Model); + + if (msg) + { + fprintf(stderr,"Total for model %x: %d bytes\n", this, total_mem); + fprintf(stderr,"BVs: %d alloced, take %d bytes each\n", + num_bvs, sizeof(BV)); + fprintf(stderr,"Tris: %d alloced, take %d bytes each\n", + num_tris, sizeof(Tri)); + } + + return total_mem; +} + +// COLLIDE STUFF +// +//-------------------------------------------------------------------------- + +PQP_CollideResult::PQP_CollideResult() +{ + pairs = 0; + num_pairs = num_pairs_alloced = 0; + num_bv_tests = 0; + num_tri_tests = 0; +} + +PQP_CollideResult::~PQP_CollideResult() +{ + delete [] pairs; +} + +void +PQP_CollideResult::FreePairsList() +{ + num_pairs = num_pairs_alloced = 0; + delete [] pairs; + pairs = 0; +} + +// may increase OR reduce mem usage +void +PQP_CollideResult::SizeTo(int n) +{ + CollisionPair *temp; + + if (n < num_pairs) + { + fprintf(stderr, "PQP Error: Internal error in " + "'PQP_CollideResult::SizeTo(int n)'\n"); + fprintf(stderr, " n = %d, but num_pairs = %d\n", n, num_pairs); + return; + } + + temp = new CollisionPair[n]; + memcpy(temp, pairs, num_pairs*sizeof(CollisionPair)); + delete [] pairs; + pairs = temp; + num_pairs_alloced = n; + return; +} + +void +PQP_CollideResult::Add(int a, int b) +{ + if (num_pairs >= num_pairs_alloced) + { + // allocate more + + SizeTo(num_pairs_alloced*2+8); + } + + // now proceed as usual + + pairs[num_pairs].id1 = a; + pairs[num_pairs].id2 = b; + num_pairs++; +} + +// TRIANGLE OVERLAP TEST + +inline +PQP_REAL +max(PQP_REAL a, PQP_REAL b, PQP_REAL c) +{ + PQP_REAL t = a; + if (b > t) t = b; + if (c > t) t = c; + return t; +} + +inline +PQP_REAL +min(PQP_REAL a, PQP_REAL b, PQP_REAL c) +{ + PQP_REAL t = a; + if (b < t) t = b; + if (c < t) t = c; + return t; +} + +int +project6(PQP_REAL *ax, + PQP_REAL *p1, PQP_REAL *p2, PQP_REAL *p3, + PQP_REAL *q1, PQP_REAL *q2, PQP_REAL *q3) +{ + PQP_REAL P1 = VdotV(ax, p1); + PQP_REAL P2 = VdotV(ax, p2); + PQP_REAL P3 = VdotV(ax, p3); + PQP_REAL Q1 = VdotV(ax, q1); + PQP_REAL Q2 = VdotV(ax, q2); + PQP_REAL Q3 = VdotV(ax, q3); + + PQP_REAL mx1 = max(P1, P2, P3); + PQP_REAL mn1 = min(P1, P2, P3); + PQP_REAL mx2 = max(Q1, Q2, Q3); + PQP_REAL mn2 = min(Q1, Q2, Q3); + + if (mn1 > mx2) return 0; + if (mn2 > mx1) return 0; + return 1; +} + +// very robust triangle intersection test +// uses no divisions +// works on coplanar triangles +int +TriContact(PQP_REAL *P1, PQP_REAL *P2, PQP_REAL *P3, + PQP_REAL *Q1, PQP_REAL *Q2, PQP_REAL *Q3) +{ + + // One triangle is (p1,p2,p3). Other is (q1,q2,q3). + // Edges are (e1,e2,e3) and (f1,f2,f3). + // Normals are n1 and m1 + // Outwards are (g1,g2,g3) and (h1,h2,h3). + // + // We assume that the triangle vertices are in the same coordinate system. + // + // First thing we do is establish a new c.s. so that p1 is at (0,0,0). + + PQP_REAL p1[3], p2[3], p3[3]; + PQP_REAL q1[3], q2[3], q3[3]; + PQP_REAL e1[3], e2[3], e3[3]; + PQP_REAL f1[3], f2[3], f3[3]; + PQP_REAL g1[3], g2[3], g3[3]; + PQP_REAL h1[3], h2[3], h3[3]; + PQP_REAL n1[3], m1[3]; + + PQP_REAL ef11[3], ef12[3], ef13[3]; + PQP_REAL ef21[3], ef22[3], ef23[3]; + PQP_REAL ef31[3], ef32[3], ef33[3]; + + p1[0] = P1[0] - P1[0]; p1[1] = P1[1] - P1[1]; p1[2] = P1[2] - P1[2]; + p2[0] = P2[0] - P1[0]; p2[1] = P2[1] - P1[1]; p2[2] = P2[2] - P1[2]; + p3[0] = P3[0] - P1[0]; p3[1] = P3[1] - P1[1]; p3[2] = P3[2] - P1[2]; + + q1[0] = Q1[0] - P1[0]; q1[1] = Q1[1] - P1[1]; q1[2] = Q1[2] - P1[2]; + q2[0] = Q2[0] - P1[0]; q2[1] = Q2[1] - P1[1]; q2[2] = Q2[2] - P1[2]; + q3[0] = Q3[0] - P1[0]; q3[1] = Q3[1] - P1[1]; q3[2] = Q3[2] - P1[2]; + + e1[0] = p2[0] - p1[0]; e1[1] = p2[1] - p1[1]; e1[2] = p2[2] - p1[2]; + e2[0] = p3[0] - p2[0]; e2[1] = p3[1] - p2[1]; e2[2] = p3[2] - p2[2]; + e3[0] = p1[0] - p3[0]; e3[1] = p1[1] - p3[1]; e3[2] = p1[2] - p3[2]; + + f1[0] = q2[0] - q1[0]; f1[1] = q2[1] - q1[1]; f1[2] = q2[2] - q1[2]; + f2[0] = q3[0] - q2[0]; f2[1] = q3[1] - q2[1]; f2[2] = q3[2] - q2[2]; + f3[0] = q1[0] - q3[0]; f3[1] = q1[1] - q3[1]; f3[2] = q1[2] - q3[2]; + + VcrossV(n1, e1, e2); + VcrossV(m1, f1, f2); + + VcrossV(g1, e1, n1); + VcrossV(g2, e2, n1); + VcrossV(g3, e3, n1); + VcrossV(h1, f1, m1); + VcrossV(h2, f2, m1); + VcrossV(h3, f3, m1); + + VcrossV(ef11, e1, f1); + VcrossV(ef12, e1, f2); + VcrossV(ef13, e1, f3); + VcrossV(ef21, e2, f1); + VcrossV(ef22, e2, f2); + VcrossV(ef23, e2, f3); + VcrossV(ef31, e3, f1); + VcrossV(ef32, e3, f2); + VcrossV(ef33, e3, f3); + + // now begin the series of tests + + if (!project6(n1, p1, p2, p3, q1, q2, q3)) return 0; + if (!project6(m1, p1, p2, p3, q1, q2, q3)) return 0; + + if (!project6(ef11, p1, p2, p3, q1, q2, q3)) return 0; + if (!project6(ef12, p1, p2, p3, q1, q2, q3)) return 0; + if (!project6(ef13, p1, p2, p3, q1, q2, q3)) return 0; + if (!project6(ef21, p1, p2, p3, q1, q2, q3)) return 0; + if (!project6(ef22, p1, p2, p3, q1, q2, q3)) return 0; + if (!project6(ef23, p1, p2, p3, q1, q2, q3)) return 0; + if (!project6(ef31, p1, p2, p3, q1, q2, q3)) return 0; + if (!project6(ef32, p1, p2, p3, q1, q2, q3)) return 0; + if (!project6(ef33, p1, p2, p3, q1, q2, q3)) return 0; + + if (!project6(g1, p1, p2, p3, q1, q2, q3)) return 0; + if (!project6(g2, p1, p2, p3, q1, q2, q3)) return 0; + if (!project6(g3, p1, p2, p3, q1, q2, q3)) return 0; + if (!project6(h1, p1, p2, p3, q1, q2, q3)) return 0; + if (!project6(h2, p1, p2, p3, q1, q2, q3)) return 0; + if (!project6(h3, p1, p2, p3, q1, q2, q3)) return 0; + + return 1; +} + +inline +PQP_REAL +TriDistance(PQP_REAL R[3][3], PQP_REAL T[3], Tri *t1, Tri *t2, + PQP_REAL p[3], PQP_REAL q[3]) +{ + // transform tri 2 into same space as tri 1 + + PQP_REAL tri1[3][3], tri2[3][3]; + + VcV(tri1[0], t1->p1); + VcV(tri1[1], t1->p2); + VcV(tri1[2], t1->p3); + MxVpV(tri2[0], R, t2->p1, T); + MxVpV(tri2[1], R, t2->p2, T); + MxVpV(tri2[2], R, t2->p3, T); + + return TriDist(p,q,tri1,tri2); +} + + +void +CollideRecurse(PQP_CollideResult *res, + PQP_REAL R[3][3], PQP_REAL T[3], // b2 relative to b1 + PQP_Model *o1, int b1, + PQP_Model *o2, int b2, int flag) +{ + // first thing, see if we're overlapping + + res->num_bv_tests++; + + if (!BV_Overlap(R, T, o1->child(b1), o2->child(b2))) return; + + // if we are, see if we test triangles next + + int l1 = o1->child(b1)->Leaf(); + int l2 = o2->child(b2)->Leaf(); + + if (l1 && l2) + { + res->num_tri_tests++; + +#if 1 + // transform the points in b2 into space of b1, then compare + + Tri *t1 = &o1->tris[-o1->child(b1)->first_child - 1]; + Tri *t2 = &o2->tris[-o2->child(b2)->first_child - 1]; + PQP_REAL q1[3], q2[3], q3[3]; + PQP_REAL *p1 = t1->p1; + PQP_REAL *p2 = t1->p2; + PQP_REAL *p3 = t1->p3; + MxVpV(q1, res->R, t2->p1, res->T); + MxVpV(q2, res->R, t2->p2, res->T); + MxVpV(q3, res->R, t2->p3, res->T); + if (TriContact(p1, p2, p3, q1, q2, q3)) + { + // add this to result + + res->Add(t1->id, t2->id); + } +#else + PQP_REAL p[3], q[3]; + + Tri *t1 = &o1->tris[-o1->child(b1)->first_child - 1]; + Tri *t2 = &o2->tris[-o2->child(b2)->first_child - 1]; + + if (TriDistance(res->R,res->T,t1,t2,p,q) == 0.0) + { + // add this to result + + res->Add(t1->id, t2->id); + } +#endif + + return; + } + + // we dont, so decide whose children to visit next + + PQP_REAL sz1 = o1->child(b1)->GetSize(); + PQP_REAL sz2 = o2->child(b2)->GetSize(); + + PQP_REAL Rc[3][3],Tc[3],Ttemp[3]; + + if (l2 || (!l1 && (sz1 > sz2))) + { + int c1 = o1->child(b1)->first_child; + int c2 = c1 + 1; + + MTxM(Rc,o1->child(c1)->R,R); +#if PQP_BV_TYPE & OBB_TYPE + VmV(Ttemp,T,o1->child(c1)->To); +#else + VmV(Ttemp,T,o1->child(c1)->Tr); +#endif + MTxV(Tc,o1->child(c1)->R,Ttemp); + CollideRecurse(res,Rc,Tc,o1,c1,o2,b2,flag); + + if ((flag == PQP_FIRST_CONTACT) && (res->num_pairs > 0)) return; + + MTxM(Rc,o1->child(c2)->R,R); +#if PQP_BV_TYPE & OBB_TYPE + VmV(Ttemp,T,o1->child(c2)->To); +#else + VmV(Ttemp,T,o1->child(c2)->Tr); +#endif + MTxV(Tc,o1->child(c2)->R,Ttemp); + CollideRecurse(res,Rc,Tc,o1,c2,o2,b2,flag); + } + else + { + int c1 = o2->child(b2)->first_child; + int c2 = c1 + 1; + + MxM(Rc,R,o2->child(c1)->R); +#if PQP_BV_TYPE & OBB_TYPE + MxVpV(Tc,R,o2->child(c1)->To,T); +#else + MxVpV(Tc,R,o2->child(c1)->Tr,T); +#endif + CollideRecurse(res,Rc,Tc,o1,b1,o2,c1,flag); + + if ((flag == PQP_FIRST_CONTACT) && (res->num_pairs > 0)) return; + + MxM(Rc,R,o2->child(c2)->R); +#if PQP_BV_TYPE & OBB_TYPE + MxVpV(Tc,R,o2->child(c2)->To,T); +#else + MxVpV(Tc,R,o2->child(c2)->Tr,T); +#endif + CollideRecurse(res,Rc,Tc,o1,b1,o2,c2,flag); + } +} + +int +PQP_Collide(PQP_CollideResult *res, + PQP_REAL R1[3][3], PQP_REAL T1[3], PQP_Model *o1, + PQP_REAL R2[3][3], PQP_REAL T2[3], PQP_Model *o2, + int flag) +{ + double t1 = GetTime(); + + // make sure that the models are built + + if (o1->build_state != PQP_BUILD_STATE_PROCESSED) + return PQP_ERR_UNPROCESSED_MODEL; + if (o2->build_state != PQP_BUILD_STATE_PROCESSED) + return PQP_ERR_UNPROCESSED_MODEL; + + // clear the stats + + res->num_bv_tests = 0; + res->num_tri_tests = 0; + + // don't release the memory, but reset the num_pairs counter + + res->num_pairs = 0; + + // Okay, compute what transform [R,T] that takes us from cs1 to cs2. + // [R,T] = [R1,T1]'[R2,T2] = [R1',-R1'T][R2,T2] = [R1'R2, R1'(T2-T1)] + // First compute the rotation part, then translation part + + MTxM(res->R,R1,R2); + PQP_REAL Ttemp[3]; + VmV(Ttemp, T2, T1); + MTxV(res->T, R1, Ttemp); + + // compute the transform from o1->child(0) to o2->child(0) + + PQP_REAL Rtemp[3][3], R[3][3], T[3]; + + MxM(Rtemp,res->R,o2->child(0)->R); + MTxM(R,o1->child(0)->R,Rtemp); + +#if PQP_BV_TYPE & OBB_TYPE + MxVpV(Ttemp,res->R,o2->child(0)->To,res->T); + VmV(Ttemp,Ttemp,o1->child(0)->To); +#else + MxVpV(Ttemp,res->R,o2->child(0)->Tr,res->T); + VmV(Ttemp,Ttemp,o1->child(0)->Tr); +#endif + + MTxV(T,o1->child(0)->R,Ttemp); + + // now start with both top level BVs + + CollideRecurse(res,R,T,o1,0,o2,0,flag); + + double t2 = GetTime(); + res->query_time_secs = t2 - t1; + + return PQP_OK; +} + +#if PQP_BV_TYPE & RSS_TYPE // distance/tolerance only available with RSS + // unless an OBB distance test is supplied in + // BV.cpp + +// DISTANCE STUFF +// +//-------------------------------------------------------------------------- + +void +DistanceRecurse(PQP_DistanceResult *res, + PQP_REAL R[3][3], PQP_REAL T[3], // b2 relative to b1 + PQP_Model *o1, int b1, + PQP_Model *o2, int b2) +{ + PQP_REAL sz1 = o1->child(b1)->GetSize(); + PQP_REAL sz2 = o2->child(b2)->GetSize(); + int l1 = o1->child(b1)->Leaf(); + int l2 = o2->child(b2)->Leaf(); + + if (l1 && l2) + { + // both leaves. Test the triangles beneath them. + + res->num_tri_tests++; + + PQP_REAL p[3], q[3]; + + Tri *t1 = &o1->tris[-o1->child(b1)->first_child - 1]; + Tri *t2 = &o2->tris[-o2->child(b2)->first_child - 1]; + + PQP_REAL d = TriDistance(res->R,res->T,t1,t2,p,q); + + if (d < res->distance) + { + res->distance = d; + + VcV(res->p1, p); // p already in c.s. 1 + VcV(res->p2, q); // q must be transformed + // into c.s. 2 later + o1->last_tri = t1; + o2->last_tri = t2; + } + + return; + } + + // First, perform distance tests on the children. Then traverse + // them recursively, but test the closer pair first, the further + // pair second. + + int a1,a2,c1,c2; // new bv tests 'a' and 'c' + PQP_REAL R1[3][3], T1[3], R2[3][3], T2[3], Ttemp[3]; + + if (l2 || (!l1 && (sz1 > sz2))) + { + // visit the children of b1 + + a1 = o1->child(b1)->first_child; + a2 = b2; + c1 = o1->child(b1)->first_child+1; + c2 = b2; + + MTxM(R1,o1->child(a1)->R,R); +#if PQP_BV_TYPE & RSS_TYPE + VmV(Ttemp,T,o1->child(a1)->Tr); +#else + VmV(Ttemp,T,o1->child(a1)->To); +#endif + MTxV(T1,o1->child(a1)->R,Ttemp); + + MTxM(R2,o1->child(c1)->R,R); +#if PQP_BV_TYPE & RSS_TYPE + VmV(Ttemp,T,o1->child(c1)->Tr); +#else + VmV(Ttemp,T,o1->child(c1)->To); +#endif + MTxV(T2,o1->child(c1)->R,Ttemp); + } + else + { + // visit the children of b2 + + a1 = b1; + a2 = o2->child(b2)->first_child; + c1 = b1; + c2 = o2->child(b2)->first_child+1; + + MxM(R1,R,o2->child(a2)->R); +#if PQP_BV_TYPE & RSS_TYPE + MxVpV(T1,R,o2->child(a2)->Tr,T); +#else + MxVpV(T1,R,o2->child(a2)->To,T); +#endif + + MxM(R2,R,o2->child(c2)->R); +#if PQP_BV_TYPE & RSS_TYPE + MxVpV(T2,R,o2->child(c2)->Tr,T); +#else + MxVpV(T2,R,o2->child(c2)->To,T); +#endif + } + + res->num_bv_tests += 2; + + PQP_REAL d1 = BV_Distance(R1, T1, o1->child(a1), o2->child(a2)); + PQP_REAL d2 = BV_Distance(R2, T2, o1->child(c1), o2->child(c2)); + + if (d2 < d1) + { + if ((d2 < (res->distance - res->abs_err)) || + (d2*(1 + res->rel_err) < res->distance)) + { + DistanceRecurse(res, R2, T2, o1, c1, o2, c2); + } + + if ((d1 < (res->distance - res->abs_err)) || + (d1*(1 + res->rel_err) < res->distance)) + { + DistanceRecurse(res, R1, T1, o1, a1, o2, a2); + } + } + else + { + if ((d1 < (res->distance - res->abs_err)) || + (d1*(1 + res->rel_err) < res->distance)) + { + DistanceRecurse(res, R1, T1, o1, a1, o2, a2); + } + + if ((d2 < (res->distance - res->abs_err)) || + (d2*(1 + res->rel_err) < res->distance)) + { + DistanceRecurse(res, R2, T2, o1, c1, o2, c2); + } + } +} + +void +DistanceQueueRecurse(PQP_DistanceResult *res, + PQP_REAL R[3][3], PQP_REAL T[3], + PQP_Model *o1, int b1, + PQP_Model *o2, int b2) +{ + BVTQ bvtq(res->qsize); + + BVT min_test; + min_test.b1 = b1; + min_test.b2 = b2; + McM(min_test.R,R); + VcV(min_test.T,T); + + while(1) + { + int l1 = o1->child(min_test.b1)->Leaf(); + int l2 = o2->child(min_test.b2)->Leaf(); + + if (l1 && l2) + { + // both leaves. Test the triangles beneath them. + + res->num_tri_tests++; + + PQP_REAL p[3], q[3]; + + Tri *t1 = &o1->tris[-o1->child(min_test.b1)->first_child - 1]; + Tri *t2 = &o2->tris[-o2->child(min_test.b2)->first_child - 1]; + + PQP_REAL d = TriDistance(res->R,res->T,t1,t2,p,q); + + if (d < res->distance) + { + res->distance = d; + + VcV(res->p1, p); // p already in c.s. 1 + VcV(res->p2, q); // q must be transformed + // into c.s. 2 later + o1->last_tri = t1; + o2->last_tri = t2; + } + } + else if (bvtq.GetNumTests() == bvtq.GetSize() - 1) + { + // queue can't get two more tests, recur + + DistanceQueueRecurse(res,min_test.R,min_test.T, + o1,min_test.b1,o2,min_test.b2); + } + else + { + // decide how to descend to children + + PQP_REAL sz1 = o1->child(min_test.b1)->GetSize(); + PQP_REAL sz2 = o2->child(min_test.b2)->GetSize(); + + res->num_bv_tests += 2; + + BVT bvt1,bvt2; + PQP_REAL Ttemp[3]; + + if (l2 || (!l1 && (sz1 > sz2))) + { + // put new tests on queue consisting of min_test.b2 + // with children of min_test.b1 + + int c1 = o1->child(min_test.b1)->first_child; + int c2 = c1 + 1; + + // init bv test 1 + + bvt1.b1 = c1; + bvt1.b2 = min_test.b2; + MTxM(bvt1.R,o1->child(c1)->R,min_test.R); +#if PQP_BV_TYPE & RSS_TYPE + VmV(Ttemp,min_test.T,o1->child(c1)->Tr); +#else + VmV(Ttemp,min_test.T,o1->child(c1)->To); +#endif + MTxV(bvt1.T,o1->child(c1)->R,Ttemp); + bvt1.d = BV_Distance(bvt1.R,bvt1.T, + o1->child(bvt1.b1),o2->child(bvt1.b2)); + + // init bv test 2 + + bvt2.b1 = c2; + bvt2.b2 = min_test.b2; + MTxM(bvt2.R,o1->child(c2)->R,min_test.R); +#if PQP_BV_TYPE & RSS_TYPE + VmV(Ttemp,min_test.T,o1->child(c2)->Tr); +#else + VmV(Ttemp,min_test.T,o1->child(c2)->To); +#endif + MTxV(bvt2.T,o1->child(c2)->R,Ttemp); + bvt2.d = BV_Distance(bvt2.R,bvt2.T, + o1->child(bvt2.b1),o2->child(bvt2.b2)); + } + else + { + // put new tests on queue consisting of min_test.b1 + // with children of min_test.b2 + + int c1 = o2->child(min_test.b2)->first_child; + int c2 = c1 + 1; + + // init bv test 1 + + bvt1.b1 = min_test.b1; + bvt1.b2 = c1; + MxM(bvt1.R,min_test.R,o2->child(c1)->R); +#if PQP_BV_TYPE & RSS_TYPE + MxVpV(bvt1.T,min_test.R,o2->child(c1)->Tr,min_test.T); +#else + MxVpV(bvt1.T,min_test.R,o2->child(c1)->To,min_test.T); +#endif + bvt1.d = BV_Distance(bvt1.R,bvt1.T, + o1->child(bvt1.b1),o2->child(bvt1.b2)); + + // init bv test 2 + + bvt2.b1 = min_test.b1; + bvt2.b2 = c2; + MxM(bvt2.R,min_test.R,o2->child(c2)->R); +#if PQP_BV_TYPE & RSS_TYPE + MxVpV(bvt2.T,min_test.R,o2->child(c2)->Tr,min_test.T); +#else + MxVpV(bvt2.T,min_test.R,o2->child(c2)->To,min_test.T); +#endif + bvt2.d = BV_Distance(bvt2.R,bvt2.T, + o1->child(bvt2.b1),o2->child(bvt2.b2)); + } + + bvtq.AddTest(bvt1); + bvtq.AddTest(bvt2); + } + + if (bvtq.Empty()) + { + break; + } + else + { + min_test = bvtq.ExtractMinTest(); + + if ((min_test.d + res->abs_err >= res->distance) && + ((min_test.d * (1 + res->rel_err)) >= res->distance)) + { + break; + } + } + } +} + +int +PQP_Distance(PQP_DistanceResult *res, + PQP_REAL R1[3][3], PQP_REAL T1[3], PQP_Model *o1, + PQP_REAL R2[3][3], PQP_REAL T2[3], PQP_Model *o2, + PQP_REAL rel_err, PQP_REAL abs_err, + int qsize) +{ + + double time1 = GetTime(); + + // make sure that the models are built + + if (o1->build_state != PQP_BUILD_STATE_PROCESSED) + return PQP_ERR_UNPROCESSED_MODEL; + if (o2->build_state != PQP_BUILD_STATE_PROCESSED) + return PQP_ERR_UNPROCESSED_MODEL; + + // Okay, compute what transform [R,T] that takes us from cs2 to cs1. + // [R,T] = [R1,T1]'[R2,T2] = [R1',-R1'T][R2,T2] = [R1'R2, R1'(T2-T1)] + // First compute the rotation part, then translation part + + MTxM(res->R,R1,R2); + PQP_REAL Ttemp[3]; + VmV(Ttemp, T2, T1); + MTxV(res->T, R1, Ttemp); + + // establish initial upper bound using last triangles which + // provided the minimum distance + + PQP_REAL p[3],q[3]; + res->distance = TriDistance(res->R,res->T,o1->last_tri,o2->last_tri,p,q); + VcV(res->p1,p); + VcV(res->p2,q); + + // initialize error bounds + + res->abs_err = abs_err; + res->rel_err = rel_err; + + // clear the stats + + res->num_bv_tests = 0; + res->num_tri_tests = 0; + + // compute the transform from o1->child(0) to o2->child(0) + + PQP_REAL Rtemp[3][3], R[3][3], T[3]; + + MxM(Rtemp,res->R,o2->child(0)->R); + MTxM(R,o1->child(0)->R,Rtemp); + +#if PQP_BV_TYPE & RSS_TYPE + MxVpV(Ttemp,res->R,o2->child(0)->Tr,res->T); + VmV(Ttemp,Ttemp,o1->child(0)->Tr); +#else + MxVpV(Ttemp,res->R,o2->child(0)->To,res->T); + VmV(Ttemp,Ttemp,o1->child(0)->To); +#endif + MTxV(T,o1->child(0)->R,Ttemp); + + // choose routine according to queue size + + if (qsize <= 2) + { + DistanceRecurse(res,R,T,o1,0,o2,0); + } + else + { + res->qsize = qsize; + + DistanceQueueRecurse(res,R,T,o1,0,o2,0); + } + + // res->p2 is in cs 1 ; transform it to cs 2 + + PQP_REAL u[3]; + VmV(u, res->p2, res->T); + MTxV(res->p2, res->R, u); + + double time2 = GetTime(); + res->query_time_secs = time2 - time1; + + return PQP_OK; +} + +// Tolerance Stuff +// +//--------------------------------------------------------------------------- +void +ToleranceRecurse(PQP_ToleranceResult *res, + PQP_REAL R[3][3], PQP_REAL T[3], + PQP_Model *o1, int b1, PQP_Model *o2, int b2) +{ + PQP_REAL sz1 = o1->child(b1)->GetSize(); + PQP_REAL sz2 = o2->child(b2)->GetSize(); + int l1 = o1->child(b1)->Leaf(); + int l2 = o2->child(b2)->Leaf(); + + if (l1 && l2) + { + // both leaves - find if tri pair within tolerance + + res->num_tri_tests++; + + PQP_REAL p[3], q[3]; + + Tri *t1 = &o1->tris[-o1->child(b1)->first_child - 1]; + Tri *t2 = &o2->tris[-o2->child(b2)->first_child - 1]; + + PQP_REAL d = TriDistance(res->R,res->T,t1,t2,p,q); + + if (d <= res->tolerance) + { + // triangle pair distance less than tolerance + + res->closer_than_tolerance = 1; + res->distance = d; + VcV(res->p1, p); // p already in c.s. 1 + VcV(res->p2, q); // q must be transformed + // into c.s. 2 later + } + + return; + } + + int a1,a2,c1,c2; // new bv tests 'a' and 'c' + PQP_REAL R1[3][3], T1[3], R2[3][3], T2[3], Ttemp[3]; + + if (l2 || (!l1 && (sz1 > sz2))) + { + // visit the children of b1 + + a1 = o1->child(b1)->first_child; + a2 = b2; + c1 = o1->child(b1)->first_child+1; + c2 = b2; + + MTxM(R1,o1->child(a1)->R,R); +#if PQP_BV_TYPE & RSS_TYPE + VmV(Ttemp,T,o1->child(a1)->Tr); +#else + VmV(Ttemp,T,o1->child(a1)->To); +#endif + MTxV(T1,o1->child(a1)->R,Ttemp); + + MTxM(R2,o1->child(c1)->R,R); +#if PQP_BV_TYPE & RSS_TYPE + VmV(Ttemp,T,o1->child(c1)->Tr); +#else + VmV(Ttemp,T,o1->child(c1)->To); +#endif + MTxV(T2,o1->child(c1)->R,Ttemp); + } + else + { + // visit the children of b2 + + a1 = b1; + a2 = o2->child(b2)->first_child; + c1 = b1; + c2 = o2->child(b2)->first_child+1; + + MxM(R1,R,o2->child(a2)->R); +#if PQP_BV_TYPE & RSS_TYPE + MxVpV(T1,R,o2->child(a2)->Tr,T); +#else + MxVpV(T1,R,o2->child(a2)->To,T); +#endif + MxM(R2,R,o2->child(c2)->R); +#if PQP_BV_TYPE & RSS_TYPE + MxVpV(T2,R,o2->child(c2)->Tr,T); +#else + MxVpV(T2,R,o2->child(c2)->To,T); +#endif + } + + res->num_bv_tests += 2; + + PQP_REAL d1 = BV_Distance(R1, T1, o1->child(a1), o2->child(a2)); + PQP_REAL d2 = BV_Distance(R2, T2, o1->child(c1), o2->child(c2)); + + if (d2 < d1) + { + if (d2 <= res->tolerance) ToleranceRecurse(res, R2, T2, o1, c1, o2, c2); + if (res->closer_than_tolerance) return; + if (d1 <= res->tolerance) ToleranceRecurse(res, R1, T1, o1, a1, o2, a2); + } + else + { + if (d1 <= res->tolerance) ToleranceRecurse(res, R1, T1, o1, a1, o2, a2); + if (res->closer_than_tolerance) return; + if (d2 <= res->tolerance) ToleranceRecurse(res, R2, T2, o1, c1, o2, c2); + } +} + +void +ToleranceQueueRecurse(PQP_ToleranceResult *res, + PQP_REAL R[3][3], PQP_REAL T[3], + PQP_Model *o1, int b1, + PQP_Model *o2, int b2) +{ + BVTQ bvtq(res->qsize); + BVT min_test; + min_test.b1 = b1; + min_test.b2 = b2; + McM(min_test.R,R); + VcV(min_test.T,T); + + while(1) + { + int l1 = o1->child(min_test.b1)->Leaf(); + int l2 = o2->child(min_test.b2)->Leaf(); + + if (l1 && l2) + { + // both leaves - find if tri pair within tolerance + + res->num_tri_tests++; + + PQP_REAL p[3], q[3]; + + Tri *t1 = &o1->tris[-o1->child(min_test.b1)->first_child - 1]; + Tri *t2 = &o2->tris[-o2->child(min_test.b2)->first_child - 1]; + + PQP_REAL d = TriDistance(res->R,res->T,t1,t2,p,q); + + if (d <= res->tolerance) + { + // triangle pair distance less than tolerance + + res->closer_than_tolerance = 1; + res->distance = d; + VcV(res->p1, p); // p already in c.s. 1 + VcV(res->p2, q); // q must be transformed + // into c.s. 2 later + return; + } + } + else if (bvtq.GetNumTests() == bvtq.GetSize() - 1) + { + // queue can't get two more tests, recur + + ToleranceQueueRecurse(res,min_test.R,min_test.T, + o1,min_test.b1,o2,min_test.b2); + if (res->closer_than_tolerance == 1) return; + } + else + { + // decide how to descend to children + + PQP_REAL sz1 = o1->child(min_test.b1)->GetSize(); + PQP_REAL sz2 = o2->child(min_test.b2)->GetSize(); + + res->num_bv_tests += 2; + + BVT bvt1,bvt2; + PQP_REAL Ttemp[3]; + + if (l2 || (!l1 && (sz1 > sz2))) + { + // add two new tests to queue, consisting of min_test.b2 + // with the children of min_test.b1 + + int c1 = o1->child(min_test.b1)->first_child; + int c2 = c1 + 1; + + // init bv test 1 + + bvt1.b1 = c1; + bvt1.b2 = min_test.b2; + MTxM(bvt1.R,o1->child(c1)->R,min_test.R); +#if PQP_BV_TYPE & RSS_TYPE + VmV(Ttemp,min_test.T,o1->child(c1)->Tr); +#else + VmV(Ttemp,min_test.T,o1->child(c1)->To); +#endif + MTxV(bvt1.T,o1->child(c1)->R,Ttemp); + bvt1.d = BV_Distance(bvt1.R,bvt1.T, + o1->child(bvt1.b1),o2->child(bvt1.b2)); + + // init bv test 2 + + bvt2.b1 = c2; + bvt2.b2 = min_test.b2; + MTxM(bvt2.R,o1->child(c2)->R,min_test.R); +#if PQP_BV_TYPE & RSS_TYPE + VmV(Ttemp,min_test.T,o1->child(c2)->Tr); +#else + VmV(Ttemp,min_test.T,o1->child(c2)->To); +#endif + MTxV(bvt2.T,o1->child(c2)->R,Ttemp); + bvt2.d = BV_Distance(bvt2.R,bvt2.T, + o1->child(bvt2.b1),o2->child(bvt2.b2)); + } + else + { + // add two new tests to queue, consisting of min_test.b1 + // with the children of min_test.b2 + + int c1 = o2->child(min_test.b2)->first_child; + int c2 = c1 + 1; + + // init bv test 1 + + bvt1.b1 = min_test.b1; + bvt1.b2 = c1; + MxM(bvt1.R,min_test.R,o2->child(c1)->R); +#if PQP_BV_TYPE & RSS_TYPE + MxVpV(bvt1.T,min_test.R,o2->child(c1)->Tr,min_test.T); +#else + MxVpV(bvt1.T,min_test.R,o2->child(c1)->To,min_test.T); +#endif + bvt1.d = BV_Distance(bvt1.R,bvt1.T, + o1->child(bvt1.b1),o2->child(bvt1.b2)); + + // init bv test 2 + + bvt2.b1 = min_test.b1; + bvt2.b2 = c2; + MxM(bvt2.R,min_test.R,o2->child(c2)->R); +#if PQP_BV_TYPE & RSS_TYPE + MxVpV(bvt2.T,min_test.R,o2->child(c2)->Tr,min_test.T); +#else + MxVpV(bvt2.T,min_test.R,o2->child(c2)->To,min_test.T); +#endif + bvt2.d = BV_Distance(bvt2.R,bvt2.T, + o1->child(bvt2.b1),o2->child(bvt2.b2)); + } + + // put children tests in queue + + if (bvt1.d <= res->tolerance) bvtq.AddTest(bvt1); + if (bvt2.d <= res->tolerance) bvtq.AddTest(bvt2); + } + + if (bvtq.Empty() || (bvtq.MinTest() > res->tolerance)) + { + res->closer_than_tolerance = 0; + return; + } + else + { + min_test = bvtq.ExtractMinTest(); + } + } +} + +int +PQP_Tolerance(PQP_ToleranceResult *res, + PQP_REAL R1[3][3], PQP_REAL T1[3], PQP_Model *o1, + PQP_REAL R2[3][3], PQP_REAL T2[3], PQP_Model *o2, + PQP_REAL tolerance, + int qsize) +{ + double time1 = GetTime(); + + // make sure that the models are built + + if (o1->build_state != PQP_BUILD_STATE_PROCESSED) + return PQP_ERR_UNPROCESSED_MODEL; + if (o2->build_state != PQP_BUILD_STATE_PROCESSED) + return PQP_ERR_UNPROCESSED_MODEL; + + // Compute the transform [R,T] that takes us from cs2 to cs1. + // [R,T] = [R1,T1]'[R2,T2] = [R1',-R1'T][R2,T2] = [R1'R2, R1'(T2-T1)] + + MTxM(res->R,R1,R2); + PQP_REAL Ttemp[3]; + VmV(Ttemp, T2, T1); + MTxV(res->T, R1, Ttemp); + + // set tolerance, used to prune the search + + if (tolerance < 0.0) tolerance = 0.0; + res->tolerance = tolerance; + + // clear the stats + + res->num_bv_tests = 0; + res->num_tri_tests = 0; + + // initially assume not closer than tolerance + + res->closer_than_tolerance = 0; + + // compute the transform from o1->child(0) to o2->child(0) + + PQP_REAL Rtemp[3][3], R[3][3], T[3]; + + MxM(Rtemp,res->R,o2->child(0)->R); + MTxM(R,o1->child(0)->R,Rtemp); +#if PQP_BV_TYPE & RSS_TYPE + MxVpV(Ttemp,res->R,o2->child(0)->Tr,res->T); + VmV(Ttemp,Ttemp,o1->child(0)->Tr); +#else + MxVpV(Ttemp,res->R,o2->child(0)->To,res->T); + VmV(Ttemp,Ttemp,o1->child(0)->To); +#endif + MTxV(T,o1->child(0)->R,Ttemp); + + // find a distance lower bound for trivial reject + + PQP_REAL d = BV_Distance(R, T, o1->child(0), o2->child(0)); + + if (d <= res->tolerance) + { + // more work needed - choose routine according to queue size + + if (qsize <= 2) + { + ToleranceRecurse(res, R, T, o1, 0, o2, 0); + } + else + { + res->qsize = qsize; + ToleranceQueueRecurse(res, R, T, o1, 0, o2, 0); + } + } + + // res->p2 is in cs 1 ; transform it to cs 2 + + PQP_REAL u[3]; + VmV(u, res->p2, res->T); + MTxV(res->p2, res->R, u); + + double time2 = GetTime(); + res->query_time_secs = time2 - time1; + + return PQP_OK; +} + +#endif diff --git a/trunk/PQP/build/pqp-tar/PQP_v1.3/src/PQP.h b/trunk/PQP/build/pqp-tar/PQP_v1.3/src/PQP.h new file mode 100644 index 00000000..f6f3e539 --- /dev/null +++ b/trunk/PQP/build/pqp-tar/PQP_v1.3/src/PQP.h @@ -0,0 +1,338 @@ +/*************************************************************************\ + + Copyright 1999 The University of North Carolina at Chapel Hill. + All Rights Reserved. + + Permission to use, copy, modify and distribute this software and its + documentation for educational, research and non-profit purposes, without + fee, and without a written agreement is hereby granted, provided that the + above copyright notice and the following three paragraphs appear in all + copies. + + IN NO EVENT SHALL THE UNIVERSITY OF NORTH CAROLINA AT CHAPEL HILL BE + LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR + CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF THE + USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY + OF NORTH CAROLINA HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH + DAMAGES. + + THE UNIVERSITY OF NORTH CAROLINA SPECIFICALLY DISCLAIM ANY + WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE + PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF + NORTH CAROLINA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT, + UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + + The authors may be contacted via: + + US Mail: S. Gottschalk, E. Larsen + Department of Computer Science + Sitterson Hall, CB #3175 + University of N. Carolina + Chapel Hill, NC 27599-3175 + + Phone: (919)962-1749 + + EMail: geom@cs.unc.edu + + +\**************************************************************************/ + +#ifndef PQP_H +#define PQP_H + +#include "PQP_Compile.h" +#include "PQP_Internal.h" + +//---------------------------------------------------------------------------- +// +// PQP API Return Values +// +//---------------------------------------------------------------------------- + +const int PQP_OK = 0; + // Used by all API routines upon successful completion except + // constructors and destructors + +const int PQP_ERR_MODEL_OUT_OF_MEMORY = -1; + // Returned when an API function cannot obtain enough memory to + // store or process a PQP_Model object. + +const int PQP_ERR_OUT_OF_MEMORY = -2; + // Returned when a PQP query cannot allocate enough storage to + // compute or hold query information. In this case, the returned + // data should not be trusted. + +const int PQP_ERR_UNPROCESSED_MODEL = -3; + // Returned when an unprocessed model is passed to a function which + // expects only processed models, such as PQP_Collide() or + // PQP_Distance(). + +const int PQP_ERR_BUILD_OUT_OF_SEQUENCE = -4; + // Returned when: + // 1. AddTri() is called before BeginModel(). + // 2. BeginModel() is called immediately after AddTri(). + // This error code is something like a warning: the invoked + // operation takes place anyway, and PQP does what makes "most + // sense", but the returned error code may tip off the client that + // something out of the ordinary is happenning. + +const int PQP_ERR_BUILD_EMPTY_MODEL = -5; + // Returned when EndModel() is called on a model to which no + // triangles have been added. This is similar in spirit to the + // OUT_OF_SEQUENCE return code, except that the requested operation + // has FAILED -- the model remains "unprocessed", and the client may + // NOT use it in queries. + +//---------------------------------------------------------------------------- +// +// PQP_REAL +// +// The floating point type used throughout the package. The type is defined +// in PQP_Compile.h, and by default is "double" +// +//---------------------------------------------------------------------------- + +//---------------------------------------------------------------------------- +// +// PQP_Model +// +// A PQP_Model stores geometry to be used in a proximity query. +// The geometry is loaded with a call to BeginModel(), at least one call to +// AddTri(), and then a call to EndModel(). +// +// // create a two triangle model, m +// +// PQP_Model m; +// +// PQP_REAL p1[3],p2[3],p3[3]; // 3 points will make triangle p +// PQP_REAL q1[3],q2[3],q3[3]; // another 3 points for triangle q +// +// // some initialization of these vertices not shown +// +// m.BeginModel(); // begin the model +// m.AddTri(p1,p2,p3,0); // add triangle p +// m.AddTri(q1,q2,q3,1); // add triangle q +// m.EndModel(); // end (build) the model +// +// The last parameter of AddTri() is the number to be associated with the +// triangle. These numbers are used to identify the triangles that overlap. +// +// AddTri() copies into the PQP_Model the data pointed to by the three vertex +// pointers, so that it is safe to delete vertex data after you have +// passed it to AddTri(). +// +//---------------------------------------------------------------------------- +// +// class PQP_Model - declaration contained in PQP_Internal.h +// { +// +// public: +// PQP_Model(); +// ~PQP_Model(); +// +// int BeginModel(int num_tris = 8); // preallocate for num_tris triangles; +// // the parameter is optional, since +// // arrays are reallocated as needed +// +// int AddTri(const PQP_REAL *p1, const PQP_REAL *p2, const PQP_REAL *p3, +// int id); +// +// int EndModel(); +// int MemUsage(int msg); // returns model mem usage in bytes +// // prints message to stderr if msg == TRUE +// }; + +//---------------------------------------------------------------------------- +// +// PQP_CollideResult +// +// This saves and reports results from a collision query. +// +//---------------------------------------------------------------------------- +// +// struct PQP_CollideResult - declaration contained in PQP_Internal.h +// { +// // statistics +// +// int NumBVTests(); +// int NumTriTests(); +// PQP_REAL QueryTimeSecs(); +// +// // free the list of contact pairs; ordinarily this list is reused +// // for each query, and only deleted in the destructor. +// +// void FreePairsList(); +// +// // query results +// +// int Colliding(); +// int NumPairs(); +// int Id1(int k); +// int Id2(int k); +// }; + +//---------------------------------------------------------------------------- +// +// PQP_Collide() - detects collision between two PQP_Models +// +// +// Declare a PQP_CollideResult struct and pass its pointer to collect +// collision data. +// +// [R1, T1] is the placement of model 1 in the world & +// [R2, T2] is the placement of model 2 in the world. +// The columns of each 3x3 matrix are the basis vectors for the model +// in world coordinates, and the matrices are in row-major order: +// R(row r, col c) = R[r][c]. +// +// If PQP_ALL_CONTACTS is the flag value, after calling PQP_Collide(), +// the PQP_CollideResult object will contain an array with all +// colliding triangle pairs. Suppose CR is a pointer to the +// PQP_CollideResult object. The number of pairs is gotten from +// CR->NumPairs(), and the ids of the 15'th pair of colliding +// triangles is gotten from CR->Id1(14) and CR->Id2(14). +// +// If PQP_FIRST_CONTACT is the flag value, the PQP_CollideResult array +// will only get the first colliding triangle pair found. Thus +// CR->NumPairs() will be at most 1, and if 1, CR->Id1(0) and +// CR->Id2(0) give the ids of the colliding triangle pair. +// +//---------------------------------------------------------------------------- + +const int PQP_ALL_CONTACTS = 1; // find all pairwise intersecting triangles +const int PQP_FIRST_CONTACT = 2; // report first intersecting tri pair found + +int +PQP_Collide(PQP_CollideResult *result, + PQP_REAL R1[3][3], PQP_REAL T1[3], PQP_Model *o1, + PQP_REAL R2[3][3], PQP_REAL T2[3], PQP_Model *o2, + int flag = PQP_ALL_CONTACTS); + + +#if PQP_BV_TYPE & RSS_TYPE // this is true by default, + // and explained in PQP_Compile.h + +//---------------------------------------------------------------------------- +// +// PQP_DistanceResult +// +// This saves and reports results from a distance query. +// +//---------------------------------------------------------------------------- +// +// struct PQP_DistanceResult - declaration contained in PQP_Internal.h +// { +// // statistics +// +// int NumBVTests(); +// int NumTriTests(); +// PQP_REAL QueryTimeSecs(); +// +// // The following distance and points established the minimum distance +// // for the models, within the relative and absolute error bounds +// // specified. +// +// PQP_REAL Distance(); +// const PQP_REAL *P1(); // pointers to three PQP_REALs +// const PQP_REAL *P2(); +// }; + +//---------------------------------------------------------------------------- +// +// PQP_Distance() - computes the distance between two PQP_Models +// +// +// Declare a PQP_DistanceResult struct and pass its pointer to collect +// distance information. +// +// "rel_err" is the relative error margin from actual distance. +// "abs_err" is the absolute error margin from actual distance. The +// smaller of the two will be satisfied, so set one large to nullify +// its effect. +// +// "qsize" is an optional parameter controlling the size of a priority +// queue used to direct the search for closest points. A larger queue +// can help the algorithm discover the minimum with fewer steps, but +// will increase the cost of each step. It is not beneficial to increase +// qsize if the application has frame-to-frame coherence, i.e., the +// pair of models take small steps between each call, since another +// speedup trick already accelerates this situation with no overhead. +// +// However, a queue size of 100 to 200 has been seen to save time in a +// planning application with "non-coherent" placements of models. +// +//---------------------------------------------------------------------------- + +int +PQP_Distance(PQP_DistanceResult *result, + PQP_REAL R1[3][3], PQP_REAL T1[3], PQP_Model *o1, + PQP_REAL R2[3][3], PQP_REAL T2[3], PQP_Model *o2, + PQP_REAL rel_err, PQP_REAL abs_err, + int qsize = 2); + +//---------------------------------------------------------------------------- +// +// PQP_ToleranceResult +// +// This saves and reports results from a tolerance query. +// +//---------------------------------------------------------------------------- +// +// struct PQP_ToleranceResult - declaration contained in PQP_Internal.h +// { +// // statistics +// +// int NumBVTests(); +// int NumTriTests(); +// PQP_REAL QueryTimeSecs(); +// +// // If the models are closer than ( <= ) tolerance, these points +// // and distance were what established this. Otherwise, +// // distance and point values are not meaningful. +// +// PQP_REAL Distance(); +// const PQP_REAL *P1(); +// const PQP_REAL *P2(); +// +// // boolean says whether models are closer than tolerance distance +// +// int CloserThanTolerance(); +// }; + +//---------------------------------------------------------------------------- +// +// PQP_Tolerance() - checks if distance between PQP_Models is <= tolerance +// +// +// Declare a PQP_ToleranceResult and pass its pointer to collect +// tolerance information. +// +// The algorithm returns whether the true distance is <= or > +// "tolerance". This routine does not simply compute true distance +// and compare to the tolerance - models can often be shown closer or +// farther than the tolerance more trivially. In most cases this +// query should run faster than a distance query would on the same +// models and configurations. +// +// "qsize" again controls the size of a priority queue used for +// searching. Not setting qsize is the current recommendation, since +// increasing it has only slowed down our applications. +// +//---------------------------------------------------------------------------- + +int +PQP_Tolerance(PQP_ToleranceResult *res, + PQP_REAL R1[3][3], PQP_REAL T1[3], PQP_Model *o1, + PQP_REAL R2[3][3], PQP_REAL T2[3], PQP_Model *o2, + PQP_REAL tolerance, + int qsize = 2); + +#endif +#endif + + + + + + diff --git a/trunk/PQP/build/pqp-tar/PQP_v1.3/src/PQP_Compile.h b/trunk/PQP/build/pqp-tar/PQP_v1.3/src/PQP_Compile.h new file mode 100644 index 00000000..f76c9813 --- /dev/null +++ b/trunk/PQP/build/pqp-tar/PQP_v1.3/src/PQP_Compile.h @@ -0,0 +1,101 @@ +/*************************************************************************\ + + Copyright 1999 The University of North Carolina at Chapel Hill. + All Rights Reserved. + + Permission to use, copy, modify and distribute this software and its + documentation for educational, research and non-profit purposes, without + fee, and without a written agreement is hereby granted, provided that the + above copyright notice and the following three paragraphs appear in all + copies. + + IN NO EVENT SHALL THE UNIVERSITY OF NORTH CAROLINA AT CHAPEL HILL BE + LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR + CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF THE + USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY + OF NORTH CAROLINA HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH + DAMAGES. + + THE UNIVERSITY OF NORTH CAROLINA SPECIFICALLY DISCLAIM ANY + WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE + PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF + NORTH CAROLINA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT, + UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + + The authors may be contacted via: + + US Mail: S. Gottschalk, E. Larsen + Department of Computer Science + Sitterson Hall, CB #3175 + University of N. Carolina + Chapel Hill, NC 27599-3175 + + Phone: (919)962-1749 + + EMail: geom@cs.unc.edu + + +\**************************************************************************/ + +#ifndef PQP_COMPILE_H +#define PQP_COMPILE_H + +// prevents compiler warnings when PQP_REAL is float + +#include <math.h> +inline float sqrt(float x) { return (float)sqrt((double)x); } +inline float cos(float x) { return (float)cos((double)x); } +inline float sin(float x) { return (float)sin((double)x); } +inline float fabs(float x) { return (float)fabs((double)x); } + +//------------------------------------------------------------------------- +// +// PQP_REAL +// +// This is the floating point type used throughout PQP. doubles are +// recommended, both for their precision and because the software has +// mainly been tested using them. However, floats appear to be faster +// (by 60% on some machines). +// +//------------------------------------------------------------------------- + +typedef double PQP_REAL; + +//------------------------------------------------------------------------- +// +// PQP_BV_TYPE +// +// PQP introduces a bounding volume (BV) type known as the "rectangle +// swept sphere" (RSS) - the volume created by sweeping a sphere so +// that its center visits every point on a rectangle; it looks +// something like a rounded box. +// +// In our experiments, the RSS type is comparable to the oriented +// bounding box (OBB) in terms of the number of BV-pair and triangle-pair +// tests incurred. However, with our present implementations, overlap +// tests are cheaper for OBBs, while distance tests are cheaper for the +// RSS type (we used a public gjk implementation for the OBB distance test). +// +// Consequently, PQP is configured to use the RSS type in distance and +// tolerance queries (which use BV distance tests) and to use OBBs for +// collision queries (which use BV overlap tests). Using both requires six +// more PQP_REALs per BV node than using just one type. +// +// To save space, you can configure PQP to use only one type, however, +// with RSS alone, collision queries will typically be slower. With OBB's +// alone, distance and tolerance queries are currently not supported, since +// we have not developed our own OBB distance test. The three options are: +// +// #define PQP_BV_TYPE RSS_TYPE +// #define PQP_BV_TYPE OBB_TYPE +// #define PQP_BV_TYPE RSS_TYPE | OBB_TYPE +// +//------------------------------------------------------------------------- + +#define RSS_TYPE 1 +#define OBB_TYPE 2 + +#define PQP_BV_TYPE RSS_TYPE | OBB_TYPE + +#endif diff --git a/trunk/PQP/build/pqp-tar/PQP_v1.3/src/PQP_Internal.h b/trunk/PQP/build/pqp-tar/PQP_v1.3/src/PQP_Internal.h new file mode 100644 index 00000000..90cedcfa --- /dev/null +++ b/trunk/PQP/build/pqp-tar/PQP_v1.3/src/PQP_Internal.h @@ -0,0 +1,203 @@ +/*************************************************************************\ + + Copyright 1999 The University of North Carolina at Chapel Hill. + All Rights Reserved. + + Permission to use, copy, modify and distribute this software and its + documentation for educational, research and non-profit purposes, without + fee, and without a written agreement is hereby granted, provided that the + above copyright notice and the following three paragraphs appear in all + copies. + + IN NO EVENT SHALL THE UNIVERSITY OF NORTH CAROLINA AT CHAPEL HILL BE + LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR + CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF THE + USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY + OF NORTH CAROLINA HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH + DAMAGES. + + THE UNIVERSITY OF NORTH CAROLINA SPECIFICALLY DISCLAIM ANY + WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE + PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF + NORTH CAROLINA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT, + UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + + The authors may be contacted via: + + US Mail: S. Gottschalk, E. Larsen + Department of Computer Science + Sitterson Hall, CB #3175 + University of N. Carolina + Chapel Hill, NC 27599-3175 + + Phone: (919)962-1749 + + EMail: geom@cs.unc.edu + + +\**************************************************************************/ + +#include "Tri.h" +#include "BV.h" + +class PQP_Model +{ + +public: + + int build_state; + + Tri *tris; + int num_tris; + int num_tris_alloced; + + BV *b; + int num_bvs; + int num_bvs_alloced; + + Tri *last_tri; // closest tri on this model in last distance test + + BV *child(int n) { return &b[n]; } + + PQP_Model(); + ~PQP_Model(); + + int BeginModel(int num_tris = 8); // preallocate for num_tris triangles; + // the parameter is optional, since + // arrays are reallocated as needed + int AddTri(const PQP_REAL *p1, const PQP_REAL *p2, const PQP_REAL *p3, + int id); + int EndModel(); + int MemUsage(int msg); // returns model mem usage. + // prints message to stderr if msg == TRUE +}; + +struct CollisionPair +{ + int id1; + int id2; +}; + +struct PQP_CollideResult +{ + // stats + + int num_bv_tests; + int num_tri_tests; + double query_time_secs; + + // xform from model 1 to model 2 + + PQP_REAL R[3][3]; + PQP_REAL T[3]; + + int num_pairs_alloced; + int num_pairs; + CollisionPair *pairs; + + void SizeTo(int n); + void Add(int i1, int i2); + + PQP_CollideResult(); + ~PQP_CollideResult(); + + // statistics + + int NumBVTests() { return num_bv_tests; } + int NumTriTests() { return num_tri_tests; } + double QueryTimeSecs() { return query_time_secs; } + + // free the list of contact pairs; ordinarily this list is reused + // for each query, and only deleted in the destructor. + + void FreePairsList(); + + // query results + + int Colliding() { return (num_pairs > 0); } + int NumPairs() { return num_pairs; } + int Id1(int k) { return pairs[k].id1; } + int Id2(int k) { return pairs[k].id2; } +}; + +#if PQP_BV_TYPE & RSS_TYPE // distance/tolerance are only available with RSS + +struct PQP_DistanceResult +{ + // stats + + int num_bv_tests; + int num_tri_tests; + double query_time_secs; + + // xform from model 1 to model 2 + + PQP_REAL R[3][3]; + PQP_REAL T[3]; + + PQP_REAL rel_err; + PQP_REAL abs_err; + + PQP_REAL distance; + PQP_REAL p1[3]; + PQP_REAL p2[3]; + int qsize; + + // statistics + + int NumBVTests() { return num_bv_tests; } + int NumTriTests() { return num_tri_tests; } + double QueryTimeSecs() { return query_time_secs; } + + // The following distance and points established the minimum distance + // for the models, within the relative and absolute error bounds + // specified. + // Points are defined: PQP_REAL p1[3], p2[3]; + + PQP_REAL Distance() { return distance; } + const PQP_REAL *P1() { return p1; } + const PQP_REAL *P2() { return p2; } +}; + +struct PQP_ToleranceResult +{ + // stats + + int num_bv_tests; + int num_tri_tests; + double query_time_secs; + + // xform from model 1 to model 2 + + PQP_REAL R[3][3]; + PQP_REAL T[3]; + + int closer_than_tolerance; + PQP_REAL tolerance; + + PQP_REAL distance; + PQP_REAL p1[3]; + PQP_REAL p2[3]; + int qsize; + + // statistics + + int NumBVTests() { return num_bv_tests; } + int NumTriTests() { return num_tri_tests; } + double QueryTimeSecs() { return query_time_secs; } + + // If the models are closer than ( <= ) tolerance, these points + // and distance were what established this. Otherwise, + // distance and point values are not meaningful. + + PQP_REAL Distance() { return distance; } + const PQP_REAL *P1() { return p1; } + const PQP_REAL *P2() { return p2; } + + // boolean says whether models are closer than tolerance distance + + int CloserThanTolerance() { return closer_than_tolerance; } +}; + +#endif diff --git a/trunk/PQP/build/pqp-tar/PQP_v1.3/src/RectDist.h b/trunk/PQP/build/pqp-tar/PQP_v1.3/src/RectDist.h new file mode 100644 index 00000000..429d2c71 --- /dev/null +++ b/trunk/PQP/build/pqp-tar/PQP_v1.3/src/RectDist.h @@ -0,0 +1,753 @@ +/*************************************************************************\ + + Copyright 1999 The University of North Carolina at Chapel Hill. + All Rights Reserved. + + Permission to use, copy, modify and distribute this software and its + documentation for educational, research and non-profit purposes, without + fee, and without a written agreement is hereby granted, provided that the + above copyright notice and the following three paragraphs appear in all + copies. + + IN NO EVENT SHALL THE UNIVERSITY OF NORTH CAROLINA AT CHAPEL HILL BE + LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR + CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF THE + USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY + OF NORTH CAROLINA HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH + DAMAGES. + + THE UNIVERSITY OF NORTH CAROLINA SPECIFICALLY DISCLAIM ANY + WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE + PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF + NORTH CAROLINA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT, + UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + + The authors may be contacted via: + + US Mail: E. Larsen + Department of Computer Science + Sitterson Hall, CB #3175 + University of N. Carolina + Chapel Hill, NC 27599-3175 + + Phone: (919)962-1749 + + EMail: geom@cs.unc.edu + + +\**************************************************************************/ + +#ifndef PQP_RECTDIST_H +#define PQP_RECTDIST_H + +#include <math.h> +#include "MatVec.h" +#include "PQP_Compile.h" + +// ClipToRange +// +// clips val between a and b + +inline +void +ClipToRange(PQP_REAL &val, const PQP_REAL &a, const PQP_REAL &b) +{ + if (val < a) val = a; + else if (val > b) val = b; +} + +// SegCoords +// +// finds the parameters t & u corresponding to the two closest points +// on a pair of line segments +// +// The first segment is defined as +// +// Pa + A*t, 0 <= t <= a, +// +// where "Pa" is one endpoint of the segment, "A" is a unit vector +// pointing to the other endpoint, and t is a scalar that produces +// all the points between the two endpoints. Since "A" is a unit +// vector, "a" is the segment's length. +// +// The second segment is +// +// Pb + B*u, 0 <= u <= b +// +// In my application, many of the terms needed by the algorithm +// are already computed for other purposes, so I pass these terms to +// the function instead of complete specifications of each segment. +// "T" in the dot products is the vector between Pa and Pb. +// +// The algorithm is from +// +// Vladimir J. Lumelsky, +// On fast computation of distance between line segments. +// In Information Processing Letters, no. 21, pages 55-61, 1985. + +inline +void +SegCoords(PQP_REAL& t, PQP_REAL& u, + const PQP_REAL& a, const PQP_REAL& b, + const PQP_REAL& A_dot_B, + const PQP_REAL& A_dot_T, + const PQP_REAL& B_dot_T) +{ + PQP_REAL denom = 1 - (A_dot_B)*(A_dot_B); + + if (denom == 0) t = 0; + else + { + t = (A_dot_T - B_dot_T*A_dot_B)/denom; + ClipToRange(t,0,a); + } + + u = t*A_dot_B - B_dot_T; + if (u < 0) + { + u = 0; + t = A_dot_T; + ClipToRange(t,0,a); + } + else if (u > b) + { + u = b; + t = u*A_dot_B + A_dot_T; + ClipToRange(t,0,a); + } +} + +// InVoronoi +// +// returns whether the nearest point on rectangle edge +// Pb + B*u, 0 <= u <= b, to the rectangle edge, +// Pa + A*t, 0 <= t <= a, is within the half space +// determined by the point Pa and the direction Anorm. +// +// A,B, and Anorm are unit vectors. +// T is the vector between Pa and Pb. + +inline +int +InVoronoi(const PQP_REAL &a, + const PQP_REAL &b, + const PQP_REAL &Anorm_dot_B, + const PQP_REAL &Anorm_dot_T, + const PQP_REAL &A_dot_B, + const PQP_REAL &A_dot_T, + const PQP_REAL &B_dot_T) +{ + if (myfabs(Anorm_dot_B) < 1e-7) return 0; + + PQP_REAL t, u, v; + + u = -Anorm_dot_T / Anorm_dot_B; + ClipToRange(u,0,b); + + t = u*A_dot_B + A_dot_T; + ClipToRange(t,0,a); + + v = t*A_dot_B - B_dot_T; + + if (Anorm_dot_B > 0) + { + if (v > (u + 1e-7)) return 1; + } + else + { + if (v < (u - 1e-7)) return 1; + } + return 0; +} + + +// RectDist +// +// Finds the distance between two rectangles A and B. A is assumed +// to have its corner on the origin, one side aligned with +// x, the other side aligned with y, and its normal aligned with z. +// +// [Rab,Tab] gives the orientation and corner position of rectangle B +// +// a[2] are the side lengths of A, b[2] are the side lengths of B + +inline +PQP_REAL +RectDist(PQP_REAL Rab[3][3], PQP_REAL Tab[3], + PQP_REAL a[2], PQP_REAL b[2]) +{ + PQP_REAL A0_dot_B0, A0_dot_B1, A1_dot_B0, A1_dot_B1; + + A0_dot_B0 = Rab[0][0]; + A0_dot_B1 = Rab[0][1]; + A1_dot_B0 = Rab[1][0]; + A1_dot_B1 = Rab[1][1]; + + PQP_REAL aA0_dot_B0, aA0_dot_B1, aA1_dot_B0, aA1_dot_B1; + PQP_REAL bA0_dot_B0, bA0_dot_B1, bA1_dot_B0, bA1_dot_B1; + + aA0_dot_B0 = a[0]*A0_dot_B0; + aA0_dot_B1 = a[0]*A0_dot_B1; + aA1_dot_B0 = a[1]*A1_dot_B0; + aA1_dot_B1 = a[1]*A1_dot_B1; + bA0_dot_B0 = b[0]*A0_dot_B0; + bA1_dot_B0 = b[0]*A1_dot_B0; + bA0_dot_B1 = b[1]*A0_dot_B1; + bA1_dot_B1 = b[1]*A1_dot_B1; + + PQP_REAL Tba[3]; + MTxV(Tba,Rab,Tab); + + PQP_REAL S[3], t, u; + + // determine if any edge pair contains the closest points + + PQP_REAL ALL_x, ALU_x, AUL_x, AUU_x; + PQP_REAL BLL_x, BLU_x, BUL_x, BUU_x; + PQP_REAL LA1_lx, LA1_ux, UA1_lx, UA1_ux, LB1_lx, LB1_ux, UB1_lx, UB1_ux; + + ALL_x = -Tba[0]; + ALU_x = ALL_x + aA1_dot_B0; + AUL_x = ALL_x + aA0_dot_B0; + AUU_x = ALU_x + aA0_dot_B0; + + if (ALL_x < ALU_x) + { + LA1_lx = ALL_x; + LA1_ux = ALU_x; + UA1_lx = AUL_x; + UA1_ux = AUU_x; + } + else + { + LA1_lx = ALU_x; + LA1_ux = ALL_x; + UA1_lx = AUU_x; + UA1_ux = AUL_x; + } + + BLL_x = Tab[0]; + BLU_x = BLL_x + bA0_dot_B1; + BUL_x = BLL_x + bA0_dot_B0; + BUU_x = BLU_x + bA0_dot_B0; + + if (BLL_x < BLU_x) + { + LB1_lx = BLL_x; + LB1_ux = BLU_x; + UB1_lx = BUL_x; + UB1_ux = BUU_x; + } + else + { + LB1_lx = BLU_x; + LB1_ux = BLL_x; + UB1_lx = BUU_x; + UB1_ux = BUL_x; + } + + // UA1, UB1 + + if ((UA1_ux > b[0]) && (UB1_ux > a[0])) + { + if (((UA1_lx > b[0]) || + InVoronoi(b[1],a[1],A1_dot_B0,aA0_dot_B0 - b[0] - Tba[0], + A1_dot_B1, aA0_dot_B1 - Tba[1], + -Tab[1] - bA1_dot_B0)) + && + + ((UB1_lx > a[0]) || + InVoronoi(a[1],b[1],A0_dot_B1,Tab[0] + bA0_dot_B0 - a[0], + A1_dot_B1,Tab[1] + bA1_dot_B0,Tba[1] - aA0_dot_B1))) + { + SegCoords(t,u,a[1],b[1],A1_dot_B1,Tab[1] + bA1_dot_B0, + Tba[1] - aA0_dot_B1); + + S[0] = Tab[0] + Rab[0][0]*b[0] + Rab[0][1]*u - a[0] ; + S[1] = Tab[1] + Rab[1][0]*b[0] + Rab[1][1]*u - t; + S[2] = Tab[2] + Rab[2][0]*b[0] + Rab[2][1]*u; + return sqrt(VdotV(S,S)); + } + } + + + // UA1, LB1 + + if ((UA1_lx < 0) && (LB1_ux > a[0])) + { + if (((UA1_ux < 0) || + InVoronoi(b[1],a[1],-A1_dot_B0,Tba[0] - aA0_dot_B0, + A1_dot_B1, aA0_dot_B1 - Tba[1], -Tab[1])) + && + + ((LB1_lx > a[0]) || + InVoronoi(a[1],b[1],A0_dot_B1,Tab[0] - a[0], + A1_dot_B1,Tab[1],Tba[1] - aA0_dot_B1))) + { + SegCoords(t,u,a[1],b[1],A1_dot_B1,Tab[1],Tba[1] - aA0_dot_B1); + + S[0] = Tab[0] + Rab[0][1]*u - a[0]; + S[1] = Tab[1] + Rab[1][1]*u - t; + S[2] = Tab[2] + Rab[2][1]*u; + return sqrt(VdotV(S,S)); + } + } + + // LA1, UB1 + + if ((LA1_ux > b[0]) && (UB1_lx < 0)) + { + if (((LA1_lx > b[0]) || + InVoronoi(b[1],a[1],A1_dot_B0,-Tba[0] - b[0], + A1_dot_B1,-Tba[1], -Tab[1] - bA1_dot_B0)) + && + + ((UB1_ux < 0) || + InVoronoi(a[1],b[1],-A0_dot_B1, -Tab[0] - bA0_dot_B0, + A1_dot_B1, Tab[1] + bA1_dot_B0,Tba[1]))) + { + + SegCoords(t,u,a[1],b[1],A1_dot_B1,Tab[1] + bA1_dot_B0,Tba[1]); + + S[0] = Tab[0] + Rab[0][0]*b[0] + Rab[0][1]*u; + S[1] = Tab[1] + Rab[1][0]*b[0] + Rab[1][1]*u - t; + S[2] = Tab[2] + Rab[2][0]*b[0] + Rab[2][1]*u; + return sqrt(VdotV(S,S)); + } + } + + // LA1, LB1 + + if ((LA1_lx < 0) && (LB1_lx < 0)) + { + if (((LA1_ux < 0) || + InVoronoi(b[1],a[1],-A1_dot_B0,Tba[0],A1_dot_B1, + -Tba[1],-Tab[1])) + && + + ((LB1_ux < 0) || + InVoronoi(a[1],b[1],-A0_dot_B1,-Tab[0],A1_dot_B1, + Tab[1], Tba[1]))) + { + SegCoords(t,u,a[1],b[1],A1_dot_B1,Tab[1],Tba[1]); + + S[0] = Tab[0] + Rab[0][1]*u; + S[1] = Tab[1] + Rab[1][1]*u - t; + S[2] = Tab[2] + Rab[2][1]*u; + return sqrt(VdotV(S,S)); + } + } + + PQP_REAL ALL_y, ALU_y, AUL_y, AUU_y; + + ALL_y = -Tba[1]; + ALU_y = ALL_y + aA1_dot_B1; + AUL_y = ALL_y + aA0_dot_B1; + AUU_y = ALU_y + aA0_dot_B1; + + PQP_REAL LA1_ly, LA1_uy, UA1_ly, UA1_uy, LB0_lx, LB0_ux, UB0_lx, UB0_ux; + + if (ALL_y < ALU_y) + { + LA1_ly = ALL_y; + LA1_uy = ALU_y; + UA1_ly = AUL_y; + UA1_uy = AUU_y; + } + else + { + LA1_ly = ALU_y; + LA1_uy = ALL_y; + UA1_ly = AUU_y; + UA1_uy = AUL_y; + } + + if (BLL_x < BUL_x) + { + LB0_lx = BLL_x; + LB0_ux = BUL_x; + UB0_lx = BLU_x; + UB0_ux = BUU_x; + } + else + { + LB0_lx = BUL_x; + LB0_ux = BLL_x; + UB0_lx = BUU_x; + UB0_ux = BLU_x; + } + + // UA1, UB0 + + if ((UA1_uy > b[1]) && (UB0_ux > a[0])) + { + if (((UA1_ly > b[1]) || + InVoronoi(b[0],a[1],A1_dot_B1, aA0_dot_B1 - Tba[1] - b[1], + A1_dot_B0, aA0_dot_B0 - Tba[0], -Tab[1] - bA1_dot_B1)) + && + + ((UB0_lx > a[0]) || + InVoronoi(a[1],b[0],A0_dot_B0, Tab[0] - a[0] + bA0_dot_B1, + A1_dot_B0, Tab[1] + bA1_dot_B1, Tba[0] - aA0_dot_B0))) + { + SegCoords(t,u,a[1],b[0],A1_dot_B0,Tab[1] + bA1_dot_B1, + Tba[0] - aA0_dot_B0); + + S[0] = Tab[0] + Rab[0][1]*b[1] + Rab[0][0]*u - a[0] ; + S[1] = Tab[1] + Rab[1][1]*b[1] + Rab[1][0]*u - t; + S[2] = Tab[2] + Rab[2][1]*b[1] + Rab[2][0]*u; + return sqrt(VdotV(S,S)); + } + } + + // UA1, LB0 + + if ((UA1_ly < 0) && (LB0_ux > a[0])) + { + if (((UA1_uy < 0) || + InVoronoi(b[0],a[1],-A1_dot_B1, Tba[1] - aA0_dot_B1,A1_dot_B0, + aA0_dot_B0 - Tba[0], -Tab[1])) + && + + ((LB0_lx > a[0]) || + InVoronoi(a[1],b[0],A0_dot_B0,Tab[0] - a[0], + A1_dot_B0,Tab[1],Tba[0] - aA0_dot_B0))) + { + SegCoords(t,u,a[1],b[0],A1_dot_B0,Tab[1],Tba[0] - aA0_dot_B0); + + S[0] = Tab[0] + Rab[0][0]*u - a[0]; + S[1] = Tab[1] + Rab[1][0]*u - t; + S[2] = Tab[2] + Rab[2][0]*u; + return sqrt(VdotV(S,S)); + } + } + + // LA1, UB0 + + if ((LA1_uy > b[1]) && (UB0_lx < 0)) + { + if (((LA1_ly > b[1]) || + InVoronoi(b[0],a[1],A1_dot_B1,-Tba[1] - b[1], + A1_dot_B0, -Tba[0], -Tab[1] - bA1_dot_B1)) + && + + ((UB0_ux < 0) || + InVoronoi(a[1],b[0],-A0_dot_B0, -Tab[0] - bA0_dot_B1,A1_dot_B0, + Tab[1] + bA1_dot_B1,Tba[0]))) + { + SegCoords(t,u,a[1],b[0],A1_dot_B0,Tab[1] + bA1_dot_B1,Tba[0]); + + S[0] = Tab[0] + Rab[0][1]*b[1] + Rab[0][0]*u; + S[1] = Tab[1] + Rab[1][1]*b[1] + Rab[1][0]*u - t; + S[2] = Tab[2] + Rab[2][1]*b[1] + Rab[2][0]*u; + return sqrt(VdotV(S,S)); + } + } + + // LA1, LB0 + + if ((LA1_ly < 0) && (LB0_lx < 0)) + { + if (((LA1_uy < 0) || + InVoronoi(b[0],a[1],-A1_dot_B1,Tba[1],A1_dot_B0, + -Tba[0],-Tab[1])) + && + + ((LB0_ux < 0) || + InVoronoi(a[1],b[0],-A0_dot_B0,-Tab[0],A1_dot_B0, + Tab[1],Tba[0]))) + { + SegCoords(t,u,a[1],b[0],A1_dot_B0,Tab[1],Tba[0]); + + S[0] = Tab[0] + Rab[0][0]*u; + S[1] = Tab[1] + Rab[1][0]*u - t; + S[2] = Tab[2] + Rab[2][0]*u; + return sqrt(VdotV(S,S)); + } + } + + PQP_REAL BLL_y, BLU_y, BUL_y, BUU_y; + + BLL_y = Tab[1]; + BLU_y = BLL_y + bA1_dot_B1; + BUL_y = BLL_y + bA1_dot_B0; + BUU_y = BLU_y + bA1_dot_B0; + + PQP_REAL LA0_lx, LA0_ux, UA0_lx, UA0_ux, LB1_ly, LB1_uy, UB1_ly, UB1_uy; + + if (ALL_x < AUL_x) + { + LA0_lx = ALL_x; + LA0_ux = AUL_x; + UA0_lx = ALU_x; + UA0_ux = AUU_x; + } + else + { + LA0_lx = AUL_x; + LA0_ux = ALL_x; + UA0_lx = AUU_x; + UA0_ux = ALU_x; + } + + if (BLL_y < BLU_y) + { + LB1_ly = BLL_y; + LB1_uy = BLU_y; + UB1_ly = BUL_y; + UB1_uy = BUU_y; + } + else + { + LB1_ly = BLU_y; + LB1_uy = BLL_y; + UB1_ly = BUU_y; + UB1_uy = BUL_y; + } + + // UA0, UB1 + + if ((UA0_ux > b[0]) && (UB1_uy > a[1])) + { + if (((UA0_lx > b[0]) || + InVoronoi(b[1],a[0],A0_dot_B0, aA1_dot_B0 - Tba[0] - b[0], + A0_dot_B1,aA1_dot_B1 - Tba[1], -Tab[0] - bA0_dot_B0)) + && + + ((UB1_ly > a[1]) || + InVoronoi(a[0],b[1],A1_dot_B1, Tab[1] - a[1] + bA1_dot_B0, + A0_dot_B1,Tab[0] + bA0_dot_B0, Tba[1] - aA1_dot_B1))) + { + SegCoords(t,u,a[0],b[1],A0_dot_B1,Tab[0] + bA0_dot_B0, + Tba[1] - aA1_dot_B1); + + S[0] = Tab[0] + Rab[0][0]*b[0] + Rab[0][1]*u - t; + S[1] = Tab[1] + Rab[1][0]*b[0] + Rab[1][1]*u - a[1]; + S[2] = Tab[2] + Rab[2][0]*b[0] + Rab[2][1]*u; + return sqrt(VdotV(S,S)); + } + } + + // UA0, LB1 + + if ((UA0_lx < 0) && (LB1_uy > a[1])) + { + if (((UA0_ux < 0) || + InVoronoi(b[1],a[0],-A0_dot_B0, Tba[0] - aA1_dot_B0,A0_dot_B1, + aA1_dot_B1 - Tba[1],-Tab[0])) + && + + ((LB1_ly > a[1]) || + InVoronoi(a[0],b[1],A1_dot_B1,Tab[1] - a[1],A0_dot_B1,Tab[0], + Tba[1] - aA1_dot_B1))) + { + SegCoords(t,u,a[0],b[1],A0_dot_B1,Tab[0],Tba[1] - aA1_dot_B1); + + S[0] = Tab[0] + Rab[0][1]*u - t; + S[1] = Tab[1] + Rab[1][1]*u - a[1]; + S[2] = Tab[2] + Rab[2][1]*u; + return sqrt(VdotV(S,S)); + } + } + + // LA0, UB1 + + if ((LA0_ux > b[0]) && (UB1_ly < 0)) + { + if (((LA0_lx > b[0]) || + InVoronoi(b[1],a[0],A0_dot_B0,-b[0] - Tba[0],A0_dot_B1,-Tba[1], + -bA0_dot_B0 - Tab[0])) + && + + ((UB1_uy < 0) || + InVoronoi(a[0],b[1],-A1_dot_B1, -Tab[1] - bA1_dot_B0,A0_dot_B1, + Tab[0] + bA0_dot_B0,Tba[1]))) + { + SegCoords(t,u,a[0],b[1],A0_dot_B1,Tab[0] + bA0_dot_B0,Tba[1]); + + S[0] = Tab[0] + Rab[0][0]*b[0] + Rab[0][1]*u - t; + S[1] = Tab[1] + Rab[1][0]*b[0] + Rab[1][1]*u; + S[2] = Tab[2] + Rab[2][0]*b[0] + Rab[2][1]*u; + return sqrt(VdotV(S,S)); + } + } + + // LA0, LB1 + + if ((LA0_lx < 0) && (LB1_ly < 0)) + { + if (((LA0_ux < 0) || + InVoronoi(b[1],a[0],-A0_dot_B0,Tba[0],A0_dot_B1,-Tba[1], + -Tab[0])) + && + + ((LB1_uy < 0) || + InVoronoi(a[0],b[1],-A1_dot_B1,-Tab[1],A0_dot_B1, + Tab[0],Tba[1]))) + { + SegCoords(t,u,a[0],b[1],A0_dot_B1,Tab[0],Tba[1]); + + S[0] = Tab[0] + Rab[0][1]*u - t; + S[1] = Tab[1] + Rab[1][1]*u; + S[2] = Tab[2] + Rab[2][1]*u; + return sqrt(VdotV(S,S)); + } + } + + PQP_REAL LA0_ly, LA0_uy, UA0_ly, UA0_uy, LB0_ly, LB0_uy, UB0_ly, UB0_uy; + + if (ALL_y < AUL_y) + { + LA0_ly = ALL_y; + LA0_uy = AUL_y; + UA0_ly = ALU_y; + UA0_uy = AUU_y; + } + else + { + LA0_ly = AUL_y; + LA0_uy = ALL_y; + UA0_ly = AUU_y; + UA0_uy = ALU_y; + } + + if (BLL_y < BUL_y) + { + LB0_ly = BLL_y; + LB0_uy = BUL_y; + UB0_ly = BLU_y; + UB0_uy = BUU_y; + } + else + { + LB0_ly = BUL_y; + LB0_uy = BLL_y; + UB0_ly = BUU_y; + UB0_uy = BLU_y; + } + + // UA0, UB0 + + if ((UA0_uy > b[1]) && (UB0_uy > a[1])) + { + if (((UA0_ly > b[1]) || + InVoronoi(b[0],a[0],A0_dot_B1, aA1_dot_B1 - Tba[1] - b[1], + A0_dot_B0, aA1_dot_B0 - Tba[0], -Tab[0] - bA0_dot_B1)) + && + + ((UB0_ly > a[1]) || + InVoronoi(a[0],b[0],A1_dot_B0,Tab[1] - a[1] + bA1_dot_B1,A0_dot_B0, + Tab[0] + bA0_dot_B1, Tba[0] - aA1_dot_B0))) + { + SegCoords(t,u,a[0],b[0],A0_dot_B0,Tab[0] + bA0_dot_B1, + Tba[0] - aA1_dot_B0); + + S[0] = Tab[0] + Rab[0][1]*b[1] + Rab[0][0]*u - t; + S[1] = Tab[1] + Rab[1][1]*b[1] + Rab[1][0]*u - a[1]; + S[2] = Tab[2] + Rab[2][1]*b[1] + Rab[2][0]*u; + return sqrt(VdotV(S,S)); + } + } + + // UA0, LB0 + + if ((UA0_ly < 0) && (LB0_uy > a[1])) + { + if (((UA0_uy < 0) || + InVoronoi(b[0],a[0],-A0_dot_B1,Tba[1] - aA1_dot_B1,A0_dot_B0, + aA1_dot_B0 - Tba[0],-Tab[0])) + && + + ((LB0_ly > a[1]) || + InVoronoi(a[0],b[0],A1_dot_B0,Tab[1] - a[1], + A0_dot_B0,Tab[0],Tba[0] - aA1_dot_B0))) + { + SegCoords(t,u,a[0],b[0],A0_dot_B0,Tab[0],Tba[0] - aA1_dot_B0); + + S[0] = Tab[0] + Rab[0][0]*u - t; + S[1] = Tab[1] + Rab[1][0]*u - a[1]; + S[2] = Tab[2] + Rab[2][0]*u; + return sqrt(VdotV(S,S)); + } + } + + // LA0, UB0 + + if ((LA0_uy > b[1]) && (UB0_ly < 0)) + { + if (((LA0_ly > b[1]) || + InVoronoi(b[0],a[0],A0_dot_B1,-Tba[1] - b[1], A0_dot_B0,-Tba[0], + -Tab[0] - bA0_dot_B1)) + && + + ((UB0_uy < 0) || + InVoronoi(a[0],b[0],-A1_dot_B0, -Tab[1] - bA1_dot_B1, A0_dot_B0, + Tab[0] + bA0_dot_B1,Tba[0]))) + { + SegCoords(t,u,a[0],b[0],A0_dot_B0,Tab[0] + bA0_dot_B1,Tba[0]); + + S[0] = Tab[0] + Rab[0][1]*b[1] + Rab[0][0]*u - t; + S[1] = Tab[1] + Rab[1][1]*b[1] + Rab[1][0]*u; + S[2] = Tab[2] + Rab[2][1]*b[1] + Rab[2][0]*u; + return sqrt(VdotV(S,S)); + } + } + + // LA0, LB0 + + if ((LA0_ly < 0) && (LB0_ly < 0)) + { + if (((LA0_uy < 0) || + InVoronoi(b[0],a[0],-A0_dot_B1,Tba[1],A0_dot_B0, + -Tba[0],-Tab[0])) + && + + ((LB0_uy < 0) || + InVoronoi(a[0],b[0],-A1_dot_B0,-Tab[1],A0_dot_B0, + Tab[0],Tba[0]))) + { + SegCoords(t,u,a[0],b[0],A0_dot_B0,Tab[0],Tba[0]); + + S[0] = Tab[0] + Rab[0][0]*u - t; + S[1] = Tab[1] + Rab[1][0]*u; + S[2] = Tab[2] + Rab[2][0]*u; + return sqrt(VdotV(S,S)); + } + } + + // no edges passed, take max separation along face normals + + PQP_REAL sep1, sep2; + + if (Tab[2] > 0.0) + { + sep1 = Tab[2]; + if (Rab[2][0] < 0.0) sep1 += b[0]*Rab[2][0]; + if (Rab[2][1] < 0.0) sep1 += b[1]*Rab[2][1]; + } + else + { + sep1 = -Tab[2]; + if (Rab[2][0] > 0.0) sep1 -= b[0]*Rab[2][0]; + if (Rab[2][1] > 0.0) sep1 -= b[1]*Rab[2][1]; + } + + if (Tba[2] < 0) + { + sep2 = -Tba[2]; + if (Rab[0][2] < 0.0) sep2 += a[0]*Rab[0][2]; + if (Rab[1][2] < 0.0) sep2 += a[1]*Rab[1][2]; + } + else + { + sep2 = Tba[2]; + if (Rab[0][2] > 0.0) sep2 -= a[0]*Rab[0][2]; + if (Rab[1][2] > 0.0) sep2 -= a[1]*Rab[1][2]; + } + + PQP_REAL sep = (sep1 > sep2? sep1 : sep2); + return (sep > 0? sep : 0); +} + +#endif diff --git a/trunk/PQP/build/pqp-tar/PQP_v1.3/src/Tri.h b/trunk/PQP/build/pqp-tar/PQP_v1.3/src/Tri.h new file mode 100644 index 00000000..496cddd9 --- /dev/null +++ b/trunk/PQP/build/pqp-tar/PQP_v1.3/src/Tri.h @@ -0,0 +1,54 @@ +/*************************************************************************\ + + Copyright 1999 The University of North Carolina at Chapel Hill. + All Rights Reserved. + + Permission to use, copy, modify and distribute this software and its + documentation for educational, research and non-profit purposes, without + fee, and without a written agreement is hereby granted, provided that the + above copyright notice and the following three paragraphs appear in all + copies. + + IN NO EVENT SHALL THE UNIVERSITY OF NORTH CAROLINA AT CHAPEL HILL BE + LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR + CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF THE + USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY + OF NORTH CAROLINA HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH + DAMAGES. + + THE UNIVERSITY OF NORTH CAROLINA SPECIFICALLY DISCLAIM ANY + WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE + PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF + NORTH CAROLINA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT, + UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + + The authors may be contacted via: + + US Mail: S. Gottschalk + Department of Computer Science + Sitterson Hall, CB #3175 + University of N. Carolina + Chapel Hill, NC 27599-3175 + + Phone: (919)962-1749 + + EMail: geom@cs.unc.edu + + +\**************************************************************************/ + +#ifndef PQP_TRI_H +#define PQP_TRI_H + +#include "PQP_Compile.h" + +struct Tri +{ + PQP_REAL p1[3]; + PQP_REAL p2[3]; + PQP_REAL p3[3]; + int id; +}; + +#endif diff --git a/trunk/PQP/build/pqp-tar/PQP_v1.3/src/TriDist.cpp b/trunk/PQP/build/pqp-tar/PQP_v1.3/src/TriDist.cpp new file mode 100644 index 00000000..3cbd438b --- /dev/null +++ b/trunk/PQP/build/pqp-tar/PQP_v1.3/src/TriDist.cpp @@ -0,0 +1,407 @@ +/*************************************************************************\ + + Copyright 1999 The University of North Carolina at Chapel Hill. + All Rights Reserved. + + Permission to use, copy, modify and distribute this software and its + documentation for educational, research and non-profit purposes, without + fee, and without a written agreement is hereby granted, provided that the + above copyright notice and the following three paragraphs appear in all + copies. + + IN NO EVENT SHALL THE UNIVERSITY OF NORTH CAROLINA AT CHAPEL HILL BE + LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR + CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF THE + USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY + OF NORTH CAROLINA HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH + DAMAGES. + + THE UNIVERSITY OF NORTH CAROLINA SPECIFICALLY DISCLAIM ANY + WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE + PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF + NORTH CAROLINA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT, + UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + + The authors may be contacted via: + + US Mail: E. Larsen + Department of Computer Science + Sitterson Hall, CB #3175 + University of N. Carolina + Chapel Hill, NC 27599-3175 + + Phone: (919)962-1749 + + EMail: geom@cs.unc.edu + + +\**************************************************************************/ + +//-------------------------------------------------------------------------- +// File: TriDist.cpp +// Author: Eric Larsen +// Description: +// contains SegPoints() for finding closest points on a pair of line +// segments and TriDist() for finding closest points on a pair of triangles +//-------------------------------------------------------------------------- + +#include "MatVec.h" +#ifdef _WIN32 +#include <float.h> +#define isnan _isnan +#endif + +//-------------------------------------------------------------------------- +// SegPoints() +// +// Returns closest points between an segment pair. +// Implemented from an algorithm described in +// +// Vladimir J. Lumelsky, +// On fast computation of distance between line segments. +// In Information Processing Letters, no. 21, pages 55-61, 1985. +//-------------------------------------------------------------------------- + +void +SegPoints(PQP_REAL VEC[3], + PQP_REAL X[3], PQP_REAL Y[3], // closest points + const PQP_REAL P[3], const PQP_REAL A[3], // seg 1 origin, vector + const PQP_REAL Q[3], const PQP_REAL B[3]) // seg 2 origin, vector +{ + PQP_REAL T[3], A_dot_A, B_dot_B, A_dot_B, A_dot_T, B_dot_T; + PQP_REAL TMP[3]; + + VmV(T,Q,P); + A_dot_A = VdotV(A,A); + B_dot_B = VdotV(B,B); + A_dot_B = VdotV(A,B); + A_dot_T = VdotV(A,T); + B_dot_T = VdotV(B,T); + + // t parameterizes ray P,A + // u parameterizes ray Q,B + + PQP_REAL t,u; + + // compute t for the closest point on ray P,A to + // ray Q,B + + PQP_REAL denom = A_dot_A*B_dot_B - A_dot_B*A_dot_B; + + t = (A_dot_T*B_dot_B - B_dot_T*A_dot_B) / denom; + + // clamp result so t is on the segment P,A + + if ((t < 0) || isnan(t)) t = 0; else if (t > 1) t = 1; + + // find u for point on ray Q,B closest to point at t + + u = (t*A_dot_B - B_dot_T) / B_dot_B; + + // if u is on segment Q,B, t and u correspond to + // closest points, otherwise, clamp u, recompute and + // clamp t + + if ((u <= 0) || isnan(u)) { + + VcV(Y, Q); + + t = A_dot_T / A_dot_A; + + if ((t <= 0) || isnan(t)) { + VcV(X, P); + VmV(VEC, Q, P); + } + else if (t >= 1) { + VpV(X, P, A); + VmV(VEC, Q, X); + } + else { + VpVxS(X, P, A, t); + VcrossV(TMP, T, A); + VcrossV(VEC, A, TMP); + } + } + else if (u >= 1) { + + VpV(Y, Q, B); + + t = (A_dot_B + A_dot_T) / A_dot_A; + + if ((t <= 0) || isnan(t)) { + VcV(X, P); + VmV(VEC, Y, P); + } + else if (t >= 1) { + VpV(X, P, A); + VmV(VEC, Y, X); + } + else { + VpVxS(X, P, A, t); + VmV(T, Y, P); + VcrossV(TMP, T, A); + VcrossV(VEC, A, TMP); + } + } + else { + + VpVxS(Y, Q, B, u); + + if ((t <= 0) || isnan(t)) { + VcV(X, P); + VcrossV(TMP, T, B); + VcrossV(VEC, B, TMP); + } + else if (t >= 1) { + VpV(X, P, A); + VmV(T, Q, X); + VcrossV(TMP, T, B); + VcrossV(VEC, B, TMP); + } + else { + VpVxS(X, P, A, t); + VcrossV(VEC, A, B); + if (VdotV(VEC, T) < 0) { + VxS(VEC, VEC, -1); + } + } + } +} + +//-------------------------------------------------------------------------- +// TriDist() +// +// Computes the closest points on two triangles, and returns the +// distance between them. +// +// S and T are the triangles, stored tri[point][dimension]. +// +// If the triangles are disjoint, P and Q give the closest points of +// S and T respectively. However, if the triangles overlap, P and Q +// are basically a random pair of points from the triangles, not +// coincident points on the intersection of the triangles, as might +// be expected. +//-------------------------------------------------------------------------- + +PQP_REAL +TriDist(PQP_REAL P[3], PQP_REAL Q[3], + const PQP_REAL S[3][3], const PQP_REAL T[3][3]) +{ + // Compute vectors along the 6 sides + + PQP_REAL Sv[3][3], Tv[3][3]; + PQP_REAL VEC[3]; + + VmV(Sv[0],S[1],S[0]); + VmV(Sv[1],S[2],S[1]); + VmV(Sv[2],S[0],S[2]); + + VmV(Tv[0],T[1],T[0]); + VmV(Tv[1],T[2],T[1]); + VmV(Tv[2],T[0],T[2]); + + // For each edge pair, the vector connecting the closest points + // of the edges defines a slab (parallel planes at head and tail + // enclose the slab). If we can show that the off-edge vertex of + // each triangle is outside of the slab, then the closest points + // of the edges are the closest points for the triangles. + // Even if these tests fail, it may be helpful to know the closest + // points found, and whether the triangles were shown disjoint + + PQP_REAL V[3]; + PQP_REAL Z[3]; + PQP_REAL minP[3], minQ[3], mindd; + int shown_disjoint = 0; + + mindd = VdistV2(S[0],T[0]) + 1; // Set first minimum safely high + + for (int i = 0; i < 3; i++) + { + for (int j = 0; j < 3; j++) + { + // Find closest points on edges i & j, plus the + // vector (and distance squared) between these points + + SegPoints(VEC,P,Q,S[i],Sv[i],T[j],Tv[j]); + + VmV(V,Q,P); + PQP_REAL dd = VdotV(V,V); + + // Verify this closest point pair only if the distance + // squared is less than the minimum found thus far. + + if (dd <= mindd) + { + VcV(minP,P); + VcV(minQ,Q); + mindd = dd; + + VmV(Z,S[(i+2)%3],P); + PQP_REAL a = VdotV(Z,VEC); + VmV(Z,T[(j+2)%3],Q); + PQP_REAL b = VdotV(Z,VEC); + + if ((a <= 0) && (b >= 0)) return sqrt(dd); + + PQP_REAL p = VdotV(V, VEC); + + if (a < 0) a = 0; + if (b > 0) b = 0; + if ((p - a + b) > 0) shown_disjoint = 1; + } + } + } + + // No edge pairs contained the closest points. + // either: + // 1. one of the closest points is a vertex, and the + // other point is interior to a face. + // 2. the triangles are overlapping. + // 3. an edge of one triangle is parallel to the other's face. If + // cases 1 and 2 are not true, then the closest points from the 9 + // edge pairs checks above can be taken as closest points for the + // triangles. + // 4. possibly, the triangles were degenerate. When the + // triangle points are nearly colinear or coincident, one + // of above tests might fail even though the edges tested + // contain the closest points. + + // First check for case 1 + + PQP_REAL Sn[3], Snl; + VcrossV(Sn,Sv[0],Sv[1]); // Compute normal to S triangle + Snl = VdotV(Sn,Sn); // Compute square of length of normal + + // If cross product is long enough, + + if (Snl > 1e-15) + { + // Get projection lengths of T points + + PQP_REAL Tp[3]; + + VmV(V,S[0],T[0]); + Tp[0] = VdotV(V,Sn); + + VmV(V,S[0],T[1]); + Tp[1] = VdotV(V,Sn); + + VmV(V,S[0],T[2]); + Tp[2] = VdotV(V,Sn); + + // If Sn is a separating direction, + // find point with smallest projection + + int point = -1; + if ((Tp[0] > 0) && (Tp[1] > 0) && (Tp[2] > 0)) + { + if (Tp[0] < Tp[1]) point = 0; else point = 1; + if (Tp[2] < Tp[point]) point = 2; + } + else if ((Tp[0] < 0) && (Tp[1] < 0) && (Tp[2] < 0)) + { + if (Tp[0] > Tp[1]) point = 0; else point = 1; + if (Tp[2] > Tp[point]) point = 2; + } + + // If Sn is a separating direction, + + if (point >= 0) + { + shown_disjoint = 1; + + // Test whether the point found, when projected onto the + // other triangle, lies within the face. + + VmV(V,T[point],S[0]); + VcrossV(Z,Sn,Sv[0]); + if (VdotV(V,Z) > 0) + { + VmV(V,T[point],S[1]); + VcrossV(Z,Sn,Sv[1]); + if (VdotV(V,Z) > 0) + { + VmV(V,T[point],S[2]); + VcrossV(Z,Sn,Sv[2]); + if (VdotV(V,Z) > 0) + { + // T[point] passed the test - it's a closest point for + // the T triangle; the other point is on the face of S + + VpVxS(P,T[point],Sn,Tp[point]/Snl); + VcV(Q,T[point]); + return sqrt(VdistV2(P,Q)); + } + } + } + } + } + + PQP_REAL Tn[3], Tnl; + VcrossV(Tn,Tv[0],Tv[1]); + Tnl = VdotV(Tn,Tn); + + if (Tnl > 1e-15) + { + PQP_REAL Sp[3]; + + VmV(V,T[0],S[0]); + Sp[0] = VdotV(V,Tn); + + VmV(V,T[0],S[1]); + Sp[1] = VdotV(V,Tn); + + VmV(V,T[0],S[2]); + Sp[2] = VdotV(V,Tn); + + int point = -1; + if ((Sp[0] > 0) && (Sp[1] > 0) && (Sp[2] > 0)) + { + if (Sp[0] < Sp[1]) point = 0; else point = 1; + if (Sp[2] < Sp[point]) point = 2; + } + else if ((Sp[0] < 0) && (Sp[1] < 0) && (Sp[2] < 0)) + { + if (Sp[0] > Sp[1]) point = 0; else point = 1; + if (Sp[2] > Sp[point]) point = 2; + } + + if (point >= 0) + { + shown_disjoint = 1; + + VmV(V,S[point],T[0]); + VcrossV(Z,Tn,Tv[0]); + if (VdotV(V,Z) > 0) + { + VmV(V,S[point],T[1]); + VcrossV(Z,Tn,Tv[1]); + if (VdotV(V,Z) > 0) + { + VmV(V,S[point],T[2]); + VcrossV(Z,Tn,Tv[2]); + if (VdotV(V,Z) > 0) + { + VcV(P,S[point]); + VpVxS(Q,S[point],Tn,Sp[point]/Tnl); + return sqrt(VdistV2(P,Q)); + } + } + } + } + } + + // Case 1 can't be shown. + // If one of these tests showed the triangles disjoint, + // we assume case 3 or 4, otherwise we conclude case 2, + // that the triangles overlap. + + if (shown_disjoint) + { + VcV(P,minP); + VcV(Q,minQ); + return sqrt(mindd); + } + else return 0; +} diff --git a/trunk/PQP/build/pqp-tar/PQP_v1.3/src/TriDist.h b/trunk/PQP/build/pqp-tar/PQP_v1.3/src/TriDist.h new file mode 100644 index 00000000..dd20a8c3 --- /dev/null +++ b/trunk/PQP/build/pqp-tar/PQP_v1.3/src/TriDist.h @@ -0,0 +1,63 @@ +/*************************************************************************\ + + Copyright 1999 The University of North Carolina at Chapel Hill. + All Rights Reserved. + + Permission to use, copy, modify and distribute this software and its + documentation for educational, research and non-profit purposes, without + fee, and without a written agreement is hereby granted, provided that the + above copyright notice and the following three paragraphs appear in all + copies. + + IN NO EVENT SHALL THE UNIVERSITY OF NORTH CAROLINA AT CHAPEL HILL BE + LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR + CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF THE + USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY + OF NORTH CAROLINA HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH + DAMAGES. + + THE UNIVERSITY OF NORTH CAROLINA SPECIFICALLY DISCLAIM ANY + WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE + PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF + NORTH CAROLINA HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT, + UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + + The authors may be contacted via: + + US Mail: E. Larsen + Department of Computer Science + Sitterson Hall, CB #3175 + University of N. Carolina + Chapel Hill, NC 27599-3175 + + Phone: (919)962-1749 + + EMail: geom@cs.unc.edu + + +\**************************************************************************/ + +#ifndef PQP_TRIDIST_H +#define PQP_TRIDIST_H + +#include "PQP_Compile.h" + +// TriDist() +// +// computes the closest points on two triangles, and returns the +// distance between them. +// +// s and t are the triangles, stored tri[point][dimension]. +// +// If the triangles are disjoint, p and q give the closest points of +// s and t respectively. However, if the triangles overlap, p and q +// are basically a random pair of points from the triangles, not +// coincident points on the intersection of the triangles, as might +// be expected. + +PQP_REAL +TriDist(PQP_REAL p[3], PQP_REAL q[3], + const PQP_REAL s[3][3], const PQP_REAL t[3][3]); + +#endif diff --git a/trunk/PQP/build/pqp-tar/unpacked b/trunk/PQP/build/pqp-tar/unpacked new file mode 100644 index 00000000..e69de29b diff --git a/trunk/PQP/installed b/trunk/PQP/installed new file mode 100644 index 00000000..e69de29b diff --git a/trunk/PQP/mainpage.dox b/trunk/PQP/mainpage.dox new file mode 100644 index 00000000..c315b415 --- /dev/null +++ b/trunk/PQP/mainpage.dox @@ -0,0 +1,26 @@ +/** +\mainpage +\htmlinclude manifest.html + +\b PQP is ... + +<!-- +Provide an overview of your package. +--> + + +\section codeapi Code API + +<!-- +Provide links to specific auto-generated API documentation within your +package that is of particular interest to a reader. Doxygen will +document pretty much every part of your code, so do your best here to +point the reader to the actual API. + +If your codebase is fairly large or has different sets of APIs, you +should use the doxygen 'group' tag to keep these APIs together. For +example, the roscpp documentation has 'libros' group. +--> + + +*/ diff --git a/trunk/PQP/manifest.xml b/trunk/PQP/manifest.xml new file mode 100644 index 00000000..6e801466 --- /dev/null +++ b/trunk/PQP/manifest.xml @@ -0,0 +1,15 @@ +<package> + <description brief="PQP"> + This package is a wrapper on the PQP library available from <a href="http://gamma.cs.unc.edu/software/downloads/SSV">here</a>. This package does not modify the contents of the original library in any manner and only wraps it for easy distribution with the ROS packaging system. PQP is not under BSD license and is optional for FCL. Users can choose to use PQP by setting flag USE_PQP=1 in FCL. + </description> + <author>Maintained by Jia Pan and Sachin Chitta</author> + <license>BSD</license> + <review status="unreviewed" notes=""/> + <url>http://ros.org/wiki/PQP</url> + <export> + <cpp cflags="-I${prefix}/PQP/include" lflags="-L${prefix}/PQP/lib -Wl,-rpath,${prefix}/PQP/lib -lPQP"/> + </export> + +</package> + + diff --git a/trunk/PQP/pqp.diff b/trunk/PQP/pqp.diff new file mode 100644 index 00000000..9a972d99 --- /dev/null +++ b/trunk/PQP/pqp.diff @@ -0,0 +1,10 @@ +--- PQP_v1.3/Makefile 2002-04-21 12:55:38.000000000 -0400 ++++ PQP_v1.3/Makefile 2011-09-06 23:17:24.535133167 -0400 +@@ -1,6 +1,6 @@ + CC = g++ + +-CFLAGS = -O2 -I. ++CFLAGS = -O2 -fPIC -I. + + .SUFFIXES: .C .cpp + diff --git a/trunk/PQP/wiped b/trunk/PQP/wiped new file mode 100644 index 00000000..e69de29b diff --git a/trunk/fcl/include/fcl/broad_phase_collision.h b/trunk/fcl/include/fcl/broad_phase_collision.h index 8d670ea9..13127a34 100644 --- a/trunk/fcl/include/fcl/broad_phase_collision.h +++ b/trunk/fcl/include/fcl/broad_phase_collision.h @@ -56,60 +56,84 @@ bool defaultCollisionFunction(CollisionObject* o1, CollisionObject* o2, void* cd /** \brief return value is whether can stop now */ typedef bool (*CollisionCallBack)(CollisionObject* o1, CollisionObject* o2, void* cdata); +/** \brief Base class for broad phase collision */ class BroadPhaseCollisionManager { public: + /** \brief add one object to the manager */ virtual void registerObject(CollisionObject* obj) = 0; + /** \brief remove one object from the manager */ virtual void unregisterObject(CollisionObject* obj) = 0; + /** \brief initialize the manager, related with the specific type of manager */ virtual void setup() = 0; + /** \brief update the condition of manager */ virtual void update() = 0; + /** \brief clear the manager */ virtual void clear() = 0; + /** \brief return the objects managed by the manager */ virtual void getObjects(std::vector<CollisionObject*>& objs) const = 0; + /** \brief perform collision test between one object and all the objects belonging to the manager */ virtual void collide(CollisionObject* obj, void* cdata, CollisionCallBack callback) const = 0; + /** \brief perform collision test for the objects belonging to the manager (i.e., N^2 self collision) */ virtual void collide(void* cdata, CollisionCallBack callback) const = 0; + /** \brief whether the manager is empty */ virtual bool empty() const = 0; + /** \brief the number of objects managed by the manager */ virtual size_t size() const = 0; }; +/** \brief Brute force N-body collision manager */ class NaiveCollisionManager : public BroadPhaseCollisionManager { public: NaiveCollisionManager() {} - void unregisterObject(CollisionObject* obj); - + /** \brief remove one object from the manager */ void registerObject(CollisionObject* obj); + /** \brief add one object to the manager */ + void unregisterObject(CollisionObject* obj); + + /** \brief initialize the manager, related with the specific type of manager */ void setup(); + /** \brief update the condition of manager */ void update(); + /** \brief clear the manager */ void clear(); + /** \brief return the objects managed by the manager */ void getObjects(std::vector<CollisionObject*>& objs) const; + /** \brief perform collision test between one object and all the objects belonging to the manager */ void collide(CollisionObject* obj, void* cdata, CollisionCallBack callback) const; + /** \brief perform collision test for the objects belonging to the manager (i.e., N^2 self collision) */ void collide(void* cdata, CollisionCallBack callback) const; + /** \brief whether the manager is empty */ bool empty() const; + /** \brief the number of objects managed by the manager */ inline size_t size() const { return objs.size(); } protected: + /** \brief objects belonging to the manager are stored in a list structure */ std::list<CollisionObject*> objs; }; +/** Rigorous SAP collision manager */ class SaPCollisionManager : public BroadPhaseCollisionManager { public: @@ -126,50 +150,78 @@ public: clear(); } - void unregisterObject(CollisionObject* obj); - + /** \brief remove one object from the manager */ void registerObject(CollisionObject* obj); + /** \brief add one object to the manager */ + void unregisterObject(CollisionObject* obj); + + /** \brief initialize the manager, related with the specific type of manager */ void setup(); + /** \brief update the condition of manager */ void update(); + /** \brief clear the manager */ void clear(); + /** \brief return the objects managed by the manager */ void getObjects(std::vector<CollisionObject*>& objs) const; + /** \brief perform collision test between one object and all the objects belonging to the manager */ void collide(CollisionObject* obj, void* cdata, CollisionCallBack callback) const; + /** \brief perform collision test for the objects belonging to the manager (i.e., N^2 self collision) */ void collide(void* cdata, CollisionCallBack callback) const; + /** \brief whether the manager is empty */ bool empty() const; + /** \brief the number of objects managed by the manager */ inline size_t size() const { return AABB_arr.size(); } protected: struct EndPoint; + /** \brief SAP interval for one object */ struct SaPAABB { + /** \brief object */ CollisionObject* obj; + + /** \brief lower bound end point of the interval */ EndPoint* lo; + + /** \brief higher bound end point of the interval */ EndPoint* hi; + + /** \brief cached AABB value */ AABB cached; }; + /** \brief End point for an interval */ struct EndPoint { + /** \brief tag for whether it is a lower bound or higher bound of an interval, 0 for lo, and 1 for hi */ char minmax; + + /** \brief back pointer to SAP interval */ SaPAABB* aabb; + + /** \brief the previous end point in the end point list */ EndPoint* prev[3]; + /** \brief the next end point in the end point list */ EndPoint* next[3]; + + /** \brief get the value of the end point */ const Vec3f& getVal() const { if(minmax == 0) return aabb->cached.min_; else return aabb->cached.max_; } + /** \brief set the value of the end point */ Vec3f& getVal() { if(minmax == 0) return aabb->cached.min_; @@ -177,6 +229,7 @@ protected: } }; + /** \brief A pair of objects that are not culling away and should further check collision */ struct SaPPair { SaPPair(CollisionObject* a, CollisionObject* b) @@ -189,6 +242,7 @@ protected: CollisionObject* obj2; }; + /** Functor to help unregister one object */ class isUnregistered { CollisionObject* obj; @@ -205,6 +259,7 @@ protected: } }; + /** Functor to help remove collision pairs no longer valid (i.e., should be culled away) */ class isNotValidPair { CollisionObject* obj1; @@ -223,13 +278,17 @@ protected: } }; - + /** \brief End point list for x, y, z coordinates */ EndPoint* elist[3]; + + /** \brief SAP interval list */ std::list<SaPAABB*> AABB_arr; + /** \brief The pair of objects that should further check for collision */ std::list<SaPPair> overlap_pairs; }; +/** Simple SAP collision manager */ class SSaPCollisionManager : public BroadPhaseCollisionManager { public: @@ -238,28 +297,39 @@ public: setup_ = false; } - void unregisterObject(CollisionObject* obj); - + /** \brief remove one object from the manager */ void registerObject(CollisionObject* obj); + /** \brief add one object to the manager */ + void unregisterObject(CollisionObject* obj); + + /** \brief initialize the manager, related with the specific type of manager */ void setup(); + /** \brief update the condition of manager */ void update(); + /** \brief clear the manager */ void clear(); + /** \brief return the objects managed by the manager */ void getObjects(std::vector<CollisionObject*>& objs) const; + /** \brief perform collision test between one object and all the objects belonging to the manager */ void collide(CollisionObject* obj, void* cdata, CollisionCallBack callback) const; + /** \brief perform collision test for the objects belonging to the manager (i.e., N^2 self collision) */ void collide(void* cdata, CollisionCallBack callback) const; + /** \brief whether the manager is empty */ bool empty() const; + /** \brief the number of objects managed by the manager */ inline size_t size() const { return objs_x.size(); } protected: + /** \brief Functor sorting objects according to the AABB lower x bound */ struct SortByXLow { bool operator()(const CollisionObject* a, const CollisionObject* b) const @@ -270,6 +340,7 @@ protected: } }; + /** \brief Functor sorting objects according to the AABB lower y bound */ struct SortByYLow { bool operator()(const CollisionObject* a, const CollisionObject* b) const @@ -280,6 +351,7 @@ protected: } }; + /** \brief Functor sorting objects according to the AABB lower z bound */ struct SortByZLow { bool operator()(const CollisionObject* a, const CollisionObject* b) const @@ -290,6 +362,7 @@ protected: } }; + /** \brief Dummy collision object with a point AABB */ class DummyCollisionObject : public CollisionObject { public: @@ -301,18 +374,25 @@ protected: void computeAABB() {} }; + /** \brief check collision between one object and a list of objects */ void checkColl(std::vector<CollisionObject*>::const_iterator pos_start, std::vector<CollisionObject*>::const_iterator pos_end, CollisionObject* obj, void* cdata, CollisionCallBack callback) const; + /** \brief Objects sorted according to lower x value */ std::vector<CollisionObject*> objs_x; + + /** \brief Objects sorted according to lower y value */ std::vector<CollisionObject*> objs_y; + + /** \brief Objects sorted according to lower z value */ std::vector<CollisionObject*> objs_z; + /** \brief tag about whether the environment is maintained suitably (i.e., the objs_x, objs_y, objs_z are sorted correctly */ bool setup_; }; - +/** Collision manager based on interval tree */ class IntervalTreeCollisionManager : public BroadPhaseCollisionManager { public: @@ -323,39 +403,57 @@ public: interval_trees[i] = NULL; } - void unregisterObject(CollisionObject* obj); - + /** \brief remove one object from the manager */ void registerObject(CollisionObject* obj); + /** \brief add one object to the manager */ + void unregisterObject(CollisionObject* obj); + + /** \brief initialize the manager, related with the specific type of manager */ void setup(); + /** \brief update the condition of manager */ void update(); + /** \brief clear the manager */ void clear(); + /** \brief return the objects managed by the manager */ void getObjects(std::vector<CollisionObject*>& objs) const; - void checkColl(std::vector<CollisionObject*>::const_iterator pos_start, std::vector<CollisionObject*>::const_iterator pos_end, - CollisionObject* obj, void* cdata, CollisionCallBack callback) const; - + /** \brief perform collision test between one object and all the objects belonging to the manager */ void collide(CollisionObject* obj, void* cdata, CollisionCallBack callback) const; + /** \brief perform collision test for the objects belonging to the manager (i.e., N^2 self collision) */ void collide(void* cdata, CollisionCallBack callback) const; + /** \brief whether the manager is empty */ bool empty() const; + /** \brief the number of objects managed by the manager */ inline size_t size() const { return endpoints[0].size() / 2; } protected: + /** \brief check collision between one object and a list of objects */ + void checkColl(std::vector<CollisionObject*>::const_iterator pos_start, std::vector<CollisionObject*>::const_iterator pos_end, + CollisionObject* obj, void* cdata, CollisionCallBack callback) const; + + /** \brief SAP end point */ struct EndPoint { - CollisionObject* obj; // pointer to endpoint geometry; - BVH_REAL value; // endpoint value - char minmax; // '0' if interval min, '1' if interval max + /** \brief object related with the end point */ + CollisionObject* obj; + + /** \brief end point value */ + BVH_REAL value; + + /** \brief tag for whether it is a lower bound or higher bound of an interval, 0 for lo, and 1 for hi */ + char minmax; }; + /** \brief Functor for sorting end points */ struct SortByValue { bool operator()(const EndPoint& a, const EndPoint& b) const @@ -366,6 +464,7 @@ protected: } }; + /** \brief Extention interval tree's interval to SAP interval, adding more information */ struct SAPInterval : public Interval { CollisionObject* obj; @@ -377,11 +476,13 @@ protected: } }; - + /** \brief vector stores all the end points */ std::vector<EndPoint> endpoints[3]; + /** \brief interval tree manages the intervals */ IntervalTree* interval_trees[3]; + /** \brief tag for whether the interval tree is maintained suitably */ bool setup_; }; diff --git a/trunk/fcl/include/fcl/collision_object.h b/trunk/fcl/include/fcl/collision_object.h index 1ab14930..64acea69 100644 --- a/trunk/fcl/include/fcl/collision_object.h +++ b/trunk/fcl/include/fcl/collision_object.h @@ -104,6 +104,16 @@ public: t.setQuatRotation(q); } + void setTransform(const Vec3f R[3], const Vec3f& T) + { + t.setTransform(R, T); + } + + void setTransform(const SimpleQuaternion& q, const Vec3f& T) + { + t.setTransform(q, T); + } + protected: /** AABB in global coordinate */ diff --git a/trunk/fcl/include/fcl/transform.h b/trunk/fcl/include/fcl/transform.h index 6e406c8d..42aa00bd 100644 --- a/trunk/fcl/include/fcl/transform.h +++ b/trunk/fcl/include/fcl/transform.h @@ -175,6 +175,13 @@ public: q.fromRotation(R_); } + inline void setTransform(const SimpleQuaternion& q_, const Vec3f& T_) + { + q = q_; + T = T_; + q.toRotation(R); + } + inline void setRotation(const Vec3f R_[3]) { for(int i = 0; i < 3; ++i) diff --git a/trunk/svm_light/Makefile b/trunk/svm_light/Makefile new file mode 100644 index 00000000..3a68c58d --- /dev/null +++ b/trunk/svm_light/Makefile @@ -0,0 +1,37 @@ +all: installed + +# +# Download, extract and compile from a released tarball: +# +TARBALL = build/svm_light.tar.gz +TARBALL_URL = http://download.joachims.org/svm_light/current/svm_light.tar.gz +TARBALL_PATCH = svm_light.diff +UNPACK_CMD = mkdir svm_light; tar -C svm_light -xzf +INITIAL_DIR = build/svm_light +SOURCE_DIR = build/svm_light-tar +include $(shell rospack find mk)/download_unpack_build.mk + +INSTALL_DIR = svm_light +CMAKE = cmake +CMAKE_ARGS = -D CMAKE_BUILD_TYPE="Release" -D CMAKE_INSTALL_PREFIX=`rospack find svm_light`/$(INSTALL_DIR) +MAKE = make + +installed: wiped $(SOURCE_DIR)/unpacked + cd $(SOURCE_DIR) && make libsvmlight_hideo $(ROS_PARALLEL_JOBS) + mkdir -p $(INSTALL_DIR)/lib + mkdir -p $(INSTALL_DIR)/include + mkdir -p $(INSTALL_DIR)/include/svm_light + cp -r $(SOURCE_DIR)/*.h $(INSTALL_DIR)/include/svm_light + cp -r $(SOURCE_DIR)/*.so $(INSTALL_DIR)/lib + touch installed + +clean: + rm -rf build + rm -rf $(INSTALL_DIR) installed + +wiped: Makefile + make wipe + touch wiped + +wipe: clean + rm -rf build patched diff --git a/trunk/svm_light/build/svm_light-tar/LICENSE.txt b/trunk/svm_light/build/svm_light-tar/LICENSE.txt new file mode 100755 index 00000000..28d6db09 --- /dev/null +++ b/trunk/svm_light/build/svm_light-tar/LICENSE.txt @@ -0,0 +1,59 @@ +SVM-Light +--------- + +Available at http://svmlight.joachims.org/ + +Author: Thorsten Joachims + thorsten@joachims.org + + Cornell University + Department of Computer Science + 4153 Upson Hall + Ithaca, NY 14853 + USA + +LICENSING TERMS + +This program is granted free of charge for research and education +purposes. However you must obtain a license from the author to use it +for commercial purposes. + +Scientific results produced using the software provided shall +acknowledge the use of SVM-Light. Please cite as + + T. Joachims, Making large-Scale SVM Learning + Practical. Advances in Kernel Methods - Support Vector + Learning, B. Sch�lkopf and C. Burges and A. Smola (ed.), + MIT-Press, 1999. + http://www-ai.cs.uni-dortmund.de/DOKUMENTE/joachims_99a.pdf + +Moreover shall the author of SVM-Light be informed about the +publication. + +The software must not be modified and distributed without prior +permission of the author. + +By using SVM-Light you agree to the licensing terms. + + +NO WARRANTY + +BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT +WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER +PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, +EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + +IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF +THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO +LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY +OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED +OF THE POSSIBILITY OF SUCH DAMAGES. diff --git a/trunk/svm_light/build/svm_light-tar/Makefile b/trunk/svm_light/build/svm_light-tar/Makefile new file mode 100755 index 00000000..7bb16482 --- /dev/null +++ b/trunk/svm_light/build/svm_light-tar/Makefile @@ -0,0 +1,105 @@ +# +# makefile for svm_light +# +# Thorsten Joachims, 2002 +# + +#Use the following to compile under unix or cygwin +CC = gcc +LD = gcc + +#Uncomment the following line to make CYGWIN produce stand-alone Windows executables +#SFLAGS= -mno-cygwin + +CFLAGS= $(SFLAGS) -fPIC -O3 # release C-Compiler flags +LFLAGS= $(SFLAGS) -O3 # release linker flags +#CFLAGS= $(SFLAGS) -pg -Wall -pedantic # debugging C-Compiler flags +#LFLAGS= $(SFLAGS) -pg # debugging linker flags +LIBS=-L. -lm # used libraries + +all: svm_learn_hideo svm_classify + +tidy: + rm -f *.o + rm -f pr_loqo/*.o + +clean: tidy + rm -f svm_learn + rm -f svm_classify + rm -f libsvmlight.so + +help: info + +info: + @echo + @echo "make for SVM-light Thorsten Joachims, 1998" + @echo + @echo "Thanks to Ralf Herbrich for the initial version." + @echo + @echo "USAGE: make [svm_learn | svm_learn_loqo | svm_learn_hideo | " + @echo " libsvmlight_hideo | libsvmlight_loqo | " + @echo " svm_classify | all | clean | tidy]" + @echo + @echo " svm_learn builds the learning module (prefers HIDEO)" + @echo " svm_learn_hideo builds the learning module using HIDEO optimizer" + @echo " svm_learn_loqo builds the learning module using PR_LOQO optimizer" + @echo " svm_classify builds the classfication module" + @echo " libsvmlight_hideo builds shared object library that can be linked into" + @echo " other code using HIDEO" + @echo " libsvmlight_loqo builds shared object library that can be linked into" + @echo " other code using PR_LOQO" + @echo " all (default) builds svm_learn + svm_classify" + @echo " clean removes .o and target files" + @echo " tidy removes .o files" + @echo + +# Create executables svm_learn and svm_classify + +svm_learn_hideo: svm_learn_main.o svm_learn.o svm_common.o svm_hideo.o + $(LD) $(LFLAGS) svm_learn_main.o svm_learn.o svm_common.o svm_hideo.o -o svm_learn $(LIBS) + +#svm_learn_loqo: svm_learn_main.o svm_learn.o svm_common.o svm_loqo.o loqo +# $(LD) $(LFLAGS) svm_learn_main.o svm_learn.o svm_common.o svm_loqo.o pr_loqo/pr_loqo.o -o svm_learn $(LIBS) + +svm_classify: svm_classify.o svm_common.o + $(LD) $(LFLAGS) svm_classify.o svm_common.o -o svm_classify $(LIBS) + + +# Create library libsvmlight.so, so that external code can get access to the +# learning and classification functions of svm-light by linking this library. + +svm_learn_hideo_noexe: svm_learn_main.o svm_learn.o svm_common.o svm_hideo.o + +libsvmlight_hideo: svm_learn_main.o svm_learn.o svm_common.o svm_hideo.o + $(LD) -shared svm_learn.o svm_common.o svm_hideo.o -o libsvmlight.so + +#svm_learn_loqo_noexe: svm_learn_main.o svm_learn.o svm_common.o svm_loqo.o loqo + +#libsvmlight_loqo: svm_learn_main.o svm_learn.o svm_common.o svm_loqo.o +# $(LD) -shared svm_learn.o svm_common.o svm_loqo.o pr_loqo/pr_loqo.o -o libsvmlight.so + +# Compile components + +svm_hideo.o: svm_hideo.c + $(CC) -c $(CFLAGS) svm_hideo.c -o svm_hideo.o + +#svm_loqo.o: svm_loqo.c +# $(CC) -c $(CFLAGS) svm_loqo.c -o svm_loqo.o + +svm_common.o: svm_common.c svm_common.h kernel.h + $(CC) -c $(CFLAGS) svm_common.c -o svm_common.o + +svm_learn.o: svm_learn.c svm_common.h + $(CC) -c $(CFLAGS) svm_learn.c -o svm_learn.o + +svm_learn_main.o: svm_learn_main.c svm_learn.h svm_common.h + $(CC) -c $(CFLAGS) svm_learn_main.c -o svm_learn_main.o + +svm_classify.o: svm_classify.c svm_common.h kernel.h + $(CC) -c $(CFLAGS) svm_classify.c -o svm_classify.o + +#loqo: pr_loqo/pr_loqo.o + +#pr_loqo/pr_loqo.o: pr_loqo/pr_loqo.c +# $(CC) -c $(CFLAGS) pr_loqo/pr_loqo.c -o pr_loqo/pr_loqo.o + diff --git a/trunk/svm_light/build/svm_light-tar/kernel.h b/trunk/svm_light/build/svm_light-tar/kernel.h new file mode 100755 index 00000000..0133b006 --- /dev/null +++ b/trunk/svm_light/build/svm_light-tar/kernel.h @@ -0,0 +1,40 @@ +/************************************************************************/ +/* */ +/* kernel.h */ +/* */ +/* User defined kernel function. Feel free to plug in your own. */ +/* */ +/* Copyright: Thorsten Joachims */ +/* Date: 16.12.97 */ +/* */ +/************************************************************************/ + +/* KERNEL_PARM is defined in svm_common.h The field 'custom' is reserved for */ +/* parameters of the user defined kernel. You can also access and use */ +/* the parameters of the other kernels. Just replace the line + return((double)(1.0)); + with your own kernel. */ + + /* Example: The following computes the polynomial kernel. sprod_ss + computes the inner product between two sparse vectors. + + return((CFLOAT)pow(kernel_parm->coef_lin*sprod_ss(a->words,b->words) + +kernel_parm->coef_const,(double)kernel_parm->poly_degree)); + */ + +/* If you are implementing a kernel that is not based on a + feature/value representation, you might want to make use of the + field "userdefined" in SVECTOR. By default, this field will contain + whatever string you put behind a # sign in the example file. So, if + a line in your training file looks like + + -1 1:3 5:6 #abcdefg + + then the SVECTOR field "words" will contain the vector 1:3 5:6, and + "userdefined" will contain the string "abcdefg". */ + +double custom_kernel(KERNEL_PARM *kernel_parm, SVECTOR *a, SVECTOR *b) + /* plug in you favorite kernel */ +{ + return((double)(1.0)); +} diff --git a/trunk/svm_light/build/svm_light-tar/svm_classify.c b/trunk/svm_light/build/svm_light-tar/svm_classify.c new file mode 100755 index 00000000..0b0333b0 --- /dev/null +++ b/trunk/svm_light/build/svm_light-tar/svm_classify.c @@ -0,0 +1,197 @@ +/***********************************************************************/ +/* */ +/* svm_classify.c */ +/* */ +/* Classification module of Support Vector Machine. */ +/* */ +/* Author: Thorsten Joachims */ +/* Date: 02.07.02 */ +/* */ +/* Copyright (c) 2002 Thorsten Joachims - All rights reserved */ +/* */ +/* This software is available for non-commercial use only. It must */ +/* not be modified and distributed without prior permission of the */ +/* author. The author is not responsible for implications from the */ +/* use of this software. */ +/* */ +/************************************************************************/ + +# include "svm_common.h" + +char docfile[200]; +char modelfile[200]; +char predictionsfile[200]; + +void read_input_parameters(int, char **, char *, char *, char *, long *, + long *); +void print_help(void); + + +int main (int argc, char* argv[]) +{ + DOC *doc; /* test example */ + WORD *words; + long max_docs,max_words_doc,lld; + long totdoc=0,queryid,slackid; + long correct=0,incorrect=0,no_accuracy=0; + long res_a=0,res_b=0,res_c=0,res_d=0,wnum,pred_format; + long j; + double t1,runtime=0; + double dist,doc_label,costfactor; + char *line,*comment; + FILE *predfl,*docfl; + MODEL *model; + + read_input_parameters(argc,argv,docfile,modelfile,predictionsfile, + &verbosity,&pred_format); + + nol_ll(docfile,&max_docs,&max_words_doc,&lld); /* scan size of input file */ + max_words_doc+=2; + lld+=2; + + line = (char *)my_malloc(sizeof(char)*lld); + words = (WORD *)my_malloc(sizeof(WORD)*(max_words_doc+10)); + + model=read_model(modelfile); + + if(model->kernel_parm.kernel_type == 0) { /* linear kernel */ + /* compute weight vector */ + add_weight_vector_to_linear_model(model); + } + + if(verbosity>=2) { + printf("Classifying test examples.."); fflush(stdout); + } + + if ((docfl = fopen (docfile, "r")) == NULL) + { perror (docfile); exit (1); } + if ((predfl = fopen (predictionsfile, "w")) == NULL) + { perror (predictionsfile); exit (1); } + + while((!feof(docfl)) && fgets(line,(int)lld,docfl)) { + if(line[0] == '#') continue; /* line contains comments */ + parse_document(line,words,&doc_label,&queryid,&slackid,&costfactor,&wnum, + max_words_doc,&comment); + totdoc++; + if(model->kernel_parm.kernel_type == 0) { /* linear kernel */ + for(j=0;(words[j]).wnum != 0;j++) { /* Check if feature numbers */ + if((words[j]).wnum>model->totwords) /* are not larger than in */ + (words[j]).wnum=0; /* model. Remove feature if */ + } /* necessary. */ + doc = create_example(-1,0,0,0.0,create_svector(words,comment,1.0)); + t1=get_runtime(); + dist=classify_example_linear(model,doc); + runtime+=(get_runtime()-t1); + free_example(doc,1); + } + else { /* non-linear kernel */ + doc = create_example(-1,0,0,0.0,create_svector(words,comment,1.0)); + t1=get_runtime(); + dist=classify_example(model,doc); + runtime+=(get_runtime()-t1); + free_example(doc,1); + } + if(dist>0) { + if(pred_format==0) { /* old weired output format */ + fprintf(predfl,"%.8g:+1 %.8g:-1\n",dist,-dist); + } + if(doc_label>0) correct++; else incorrect++; + if(doc_label>0) res_a++; else res_b++; + } + else { + if(pred_format==0) { /* old weired output format */ + fprintf(predfl,"%.8g:-1 %.8g:+1\n",-dist,dist); + } + if(doc_label<0) correct++; else incorrect++; + if(doc_label>0) res_c++; else res_d++; + } + if(pred_format==1) { /* output the value of decision function */ + fprintf(predfl,"%.8g\n",dist); + } + if((int)(0.01+(doc_label*doc_label)) != 1) + { no_accuracy=1; } /* test data is not binary labeled */ + if(verbosity>=2) { + if(totdoc % 100 == 0) { + printf("%ld..",totdoc); fflush(stdout); + } + } + } + fclose(predfl); + fclose(docfl); + free(line); + free(words); + free_model(model,1); + + if(verbosity>=2) { + printf("done\n"); + +/* Note by Gary Boone Date: 29 April 2000 */ +/* o Timing is inaccurate. The timer has 0.01 second resolution. */ +/* Because classification of a single vector takes less than */ +/* 0.01 secs, the timer was underflowing. */ + printf("Runtime (without IO) in cpu-seconds: %.2f\n", + (float)(runtime/100.0)); + + } + if((!no_accuracy) && (verbosity>=1)) { + printf("Accuracy on test set: %.2f%% (%ld correct, %ld incorrect, %ld total)\n",(float)(correct)*100.0/totdoc,correct,incorrect,totdoc); + printf("Precision/recall on test set: %.2f%%/%.2f%%\n",(float)(res_a)*100.0/(res_a+res_b),(float)(res_a)*100.0/(res_a+res_c)); + } + + return(0); +} + +void read_input_parameters(int argc, char **argv, char *docfile, + char *modelfile, char *predictionsfile, + long int *verbosity, long int *pred_format) +{ + long i; + + /* set default */ + strcpy (modelfile, "svm_model"); + strcpy (predictionsfile, "svm_predictions"); + (*verbosity)=2; + (*pred_format)=1; + + for(i=1;(i<argc) && ((argv[i])[0] == '-');i++) { + switch ((argv[i])[1]) + { + case 'h': print_help(); exit(0); + case 'v': i++; (*verbosity)=atol(argv[i]); break; + case 'f': i++; (*pred_format)=atol(argv[i]); break; + default: printf("\nUnrecognized option %s!\n\n",argv[i]); + print_help(); + exit(0); + } + } + if((i+1)>=argc) { + printf("\nNot enough input parameters!\n\n"); + print_help(); + exit(0); + } + strcpy (docfile, argv[i]); + strcpy (modelfile, argv[i+1]); + if((i+2)<argc) { + strcpy (predictionsfile, argv[i+2]); + } + if(((*pred_format) != 0) && ((*pred_format) != 1)) { + printf("\nOutput format can only take the values 0 or 1!\n\n"); + print_help(); + exit(0); + } +} + +void print_help(void) +{ + printf("\nSVM-light %s: Support Vector Machine, classification module %s\n",VERSION,VERSION_DATE); + copyright_notice(); + printf(" usage: svm_classify [options] example_file model_file output_file\n\n"); + printf("options: -h -> this help\n"); + printf(" -v [0..3] -> verbosity level (default 2)\n"); + printf(" -f [0,1] -> 0: old output format of V1.0\n"); + printf(" -> 1: output the value of decision function (default)\n\n"); +} + + + + diff --git a/trunk/svm_light/build/svm_light-tar/svm_common.c b/trunk/svm_light/build/svm_light-tar/svm_common.c new file mode 100755 index 00000000..61e72800 --- /dev/null +++ b/trunk/svm_light/build/svm_light-tar/svm_common.c @@ -0,0 +1,985 @@ +/************************************************************************/ +/* */ +/* svm_common.c */ +/* */ +/* Definitions and functions used in both svm_learn and svm_classify. */ +/* */ +/* Author: Thorsten Joachims */ +/* Date: 02.07.04 */ +/* */ +/* Copyright (c) 2004 Thorsten Joachims - All rights reserved */ +/* */ +/* This software is available for non-commercial use only. It must */ +/* not be modified and distributed without prior permission of the */ +/* author. The author is not responsible for implications from the */ +/* use of this software. */ +/* */ +/************************************************************************/ + +# include "ctype.h" +# include "svm_common.h" +# include "kernel.h" /* this contains a user supplied kernel */ + +long verbosity; /* verbosity level (0-4) */ +long kernel_cache_statistic; + +double classify_example(MODEL *model, DOC *ex) + /* classifies one example */ +{ + register long i; + register double dist; + + if((model->kernel_parm.kernel_type == LINEAR) && (model->lin_weights)) + return(classify_example_linear(model,ex)); + + dist=0; + for(i=1;i<model->sv_num;i++) { + dist+=kernel(&model->kernel_parm,model->supvec[i],ex)*model->alpha[i]; + } + return(dist-model->b); +} + +double classify_example_linear(MODEL *model, DOC *ex) + /* classifies example for linear kernel */ + + /* important: the model must have the linear weight vector computed */ + /* use: add_weight_vector_to_linear_model(&model); */ + + + /* important: the feature numbers in the example to classify must */ + /* not be larger than the weight vector! */ +{ + double sum=0; + SVECTOR *f; + + for(f=ex->fvec;f;f=f->next) + sum+=f->factor*sprod_ns(model->lin_weights,f); + return(sum-model->b); +} + + +double kernel(KERNEL_PARM *kernel_parm, DOC *a, DOC *b) + /* calculate the kernel function */ +{ + double sum=0; + SVECTOR *fa,*fb; + + /* in case the constraints are sums of feature vector as represented + as a list of SVECTOR's with their coefficient factor in the sum, + take the kernel between all pairs */ + for(fa=a->fvec;fa;fa=fa->next) { + for(fb=b->fvec;fb;fb=fb->next) { + if(fa->kernel_id == fb->kernel_id) + sum+=fa->factor*fb->factor*single_kernel(kernel_parm,fa,fb); + } + } + return(sum); +} + +double single_kernel(KERNEL_PARM *kernel_parm, SVECTOR *a, SVECTOR *b) + /* calculate the kernel function between two vectors */ +{ + kernel_cache_statistic++; + switch(kernel_parm->kernel_type) { + case 0: /* linear */ + return(sprod_ss(a,b)); + case 1: /* polynomial */ + return(pow(kernel_parm->coef_lin*sprod_ss(a,b)+kernel_parm->coef_const,(double)kernel_parm->poly_degree)); + case 2: /* radial basis function */ + return(exp(-kernel_parm->rbf_gamma*(a->twonorm_sq-2*sprod_ss(a,b)+b->twonorm_sq))); + case 3: /* sigmoid neural net */ + return(tanh(kernel_parm->coef_lin*sprod_ss(a,b)+kernel_parm->coef_const)); + case 4: /* custom-kernel supplied in file kernel.h*/ + return(custom_kernel(kernel_parm,a,b)); + default: printf("Error: Unknown kernel function\n"); exit(1); + } +} + + +SVECTOR *create_svector(WORD *words,char *userdefined,double factor) +{ + SVECTOR *vec; + long fnum,i; + + fnum=0; + while(words[fnum].wnum) { + fnum++; + } + fnum++; + vec = (SVECTOR *)my_malloc(sizeof(SVECTOR)); + vec->words = (WORD *)my_malloc(sizeof(WORD)*(fnum)); + for(i=0;i<fnum;i++) { + vec->words[i]=words[i]; + } + vec->twonorm_sq=sprod_ss(vec,vec); + + fnum=0; + while(userdefined[fnum]) { + fnum++; + } + fnum++; + vec->userdefined = (char *)my_malloc(sizeof(char)*(fnum)); + for(i=0;i<fnum;i++) { + vec->userdefined[i]=userdefined[i]; + } + vec->kernel_id=0; + vec->next=NULL; + vec->factor=factor; + return(vec); +} + +SVECTOR *copy_svector(SVECTOR *vec) +{ + SVECTOR *newvec=NULL; + if(vec) { + newvec=create_svector(vec->words,vec->userdefined,vec->factor); + newvec->next=copy_svector(vec->next); + } + return(newvec); +} + +void free_svector(SVECTOR *vec) +{ + if(vec) { + free(vec->words); + if(vec->userdefined) + free(vec->userdefined); + free_svector(vec->next); + free(vec); + } +} + +double sprod_ss(SVECTOR *a, SVECTOR *b) + /* compute the inner product of two sparse vectors */ +{ + register double sum=0; + register WORD *ai,*bj; + ai=a->words; + bj=b->words; + while (ai->wnum && bj->wnum) { + if(ai->wnum > bj->wnum) { + bj++; + } + else if (ai->wnum < bj->wnum) { + ai++; + } + else { + sum+=(ai->weight) * (bj->weight); + ai++; + bj++; + } + } + return((double)sum); +} + +SVECTOR* sub_ss(SVECTOR *a, SVECTOR *b) + /* compute the difference a-b of two sparse vectors */ + /* Note: SVECTOR lists are not followed, but only the first + SVECTOR is used */ +{ + SVECTOR *vec; + register WORD *sum,*sumi; + register WORD *ai,*bj; + long veclength; + + ai=a->words; + bj=b->words; + veclength=0; + while (ai->wnum && bj->wnum) { + if(ai->wnum > bj->wnum) { + veclength++; + bj++; + } + else if (ai->wnum < bj->wnum) { + veclength++; + ai++; + } + else { + veclength++; + ai++; + bj++; + } + } + while (bj->wnum) { + veclength++; + bj++; + } + while (ai->wnum) { + veclength++; + ai++; + } + veclength++; + + sum=(WORD *)my_malloc(sizeof(WORD)*veclength); + sumi=sum; + ai=a->words; + bj=b->words; + while (ai->wnum && bj->wnum) { + if(ai->wnum > bj->wnum) { + (*sumi)=(*bj); + sumi->weight*=(-1); + sumi++; + bj++; + } + else if (ai->wnum < bj->wnum) { + (*sumi)=(*ai); + sumi++; + ai++; + } + else { + (*sumi)=(*ai); + sumi->weight-=bj->weight; + if(sumi->weight != 0) + sumi++; + ai++; + bj++; + } + } + while (bj->wnum) { + (*sumi)=(*bj); + sumi->weight*=(-1); + sumi++; + bj++; + } + while (ai->wnum) { + (*sumi)=(*ai); + sumi++; + ai++; + } + sumi->wnum=0; + + vec=create_svector(sum,"",1.0); + free(sum); + + return(vec); +} + +SVECTOR* add_ss(SVECTOR *a, SVECTOR *b) + /* compute the sum a+b of two sparse vectors */ + /* Note: SVECTOR lists are not followed, but only the first + SVECTOR is used */ +{ + SVECTOR *vec; + register WORD *sum,*sumi; + register WORD *ai,*bj; + long veclength; + + ai=a->words; + bj=b->words; + veclength=0; + while (ai->wnum && bj->wnum) { + if(ai->wnum > bj->wnum) { + veclength++; + bj++; + } + else if (ai->wnum < bj->wnum) { + veclength++; + ai++; + } + else { + veclength++; + ai++; + bj++; + } + } + while (bj->wnum) { + veclength++; + bj++; + } + while (ai->wnum) { + veclength++; + ai++; + } + veclength++; + + /*** is veclength=lengSequence(a)+lengthSequence(b)? ***/ + + sum=(WORD *)my_malloc(sizeof(WORD)*veclength); + sumi=sum; + ai=a->words; + bj=b->words; + while (ai->wnum && bj->wnum) { + if(ai->wnum > bj->wnum) { + (*sumi)=(*bj); + sumi++; + bj++; + } + else if (ai->wnum < bj->wnum) { + (*sumi)=(*ai); + sumi++; + ai++; + } + else { + (*sumi)=(*ai); + sumi->weight+=bj->weight; + if(sumi->weight != 0) + sumi++; + ai++; + bj++; + } + } + while (bj->wnum) { + (*sumi)=(*bj); + sumi++; + bj++; + } + while (ai->wnum) { + (*sumi)=(*ai); + sumi++; + ai++; + } + sumi->wnum=0; + + vec=create_svector(sum,"",1.0); + free(sum); + + return(vec); +} + +SVECTOR* add_list_ss(SVECTOR *a) + /* computes the linear combination of the SVECTOR list weighted + by the factor of each SVECTOR */ +{ + SVECTOR *scaled,*oldsum,*sum,*f; + WORD empty[2]; + + if(a){ + sum=smult_s(a,a->factor); + for(f=a->next;f;f=f->next) { + scaled=smult_s(f,f->factor); + oldsum=sum; + sum=add_ss(sum,scaled); + free_svector(oldsum); + free_svector(scaled); + } + sum->factor=1.0; + } + else { + empty[0].wnum=0; + sum=create_svector(empty,"",1.0); + } + return(sum); +} + +void append_svector_list(SVECTOR *a, SVECTOR *b) + /* appends SVECTOR b to the end of SVECTOR a. */ +{ + SVECTOR *f; + + for(f=a;f->next;f=f->next); /* find end of first vector list */ + f->next=b; /* append the two vector lists */ +} + +SVECTOR* smult_s(SVECTOR *a, double factor) + /* scale sparse vector a by factor */ +{ + SVECTOR *vec; + register WORD *sum,*sumi; + register WORD *ai; + long veclength; + + ai=a->words; + veclength=0; + while (ai->wnum) { + veclength++; + ai++; + } + veclength++; + + sum=(WORD *)my_malloc(sizeof(WORD)*veclength); + sumi=sum; + ai=a->words; + while (ai->wnum) { + (*sumi)=(*ai); + sumi->weight*=factor; + if(sumi->weight != 0) + sumi++; + ai++; + } + sumi->wnum=0; + + vec=create_svector(sum,a->userdefined,a->factor); + free(sum); + + return(vec); +} + +int featvec_eq(SVECTOR *a, SVECTOR *b) + /* tests two sparse vectors for equality */ +{ + register WORD *ai,*bj; + ai=a->words; + bj=b->words; + while (ai->wnum && bj->wnum) { + if(ai->wnum > bj->wnum) { + if((bj->weight) != 0) + return(0); + bj++; + } + else if (ai->wnum < bj->wnum) { + if((ai->weight) != 0) + return(0); + ai++; + } + else { + if((ai->weight) != (bj->weight)) + return(0); + ai++; + bj++; + } + } + return(1); +} + +double model_length_s(MODEL *model, KERNEL_PARM *kernel_parm) + /* compute length of weight vector */ +{ + register long i,j; + register double sum=0,alphai; + register DOC *supveci; + + for(i=1;i<model->sv_num;i++) { + alphai=model->alpha[i]; + supveci=model->supvec[i]; + for(j=1;j<model->sv_num;j++) { + sum+=alphai*model->alpha[j] + *kernel(kernel_parm,supveci,model->supvec[j]); + } + } + return(sqrt(sum)); +} + +void clear_vector_n(double *vec, long int n) +{ + register long i; + for(i=0;i<=n;i++) vec[i]=0; +} + +void add_vector_ns(double *vec_n, SVECTOR *vec_s, double faktor) +{ + register WORD *ai; + ai=vec_s->words; + while (ai->wnum) { + vec_n[ai->wnum]+=(faktor*ai->weight); + ai++; + } +} + +double sprod_ns(double *vec_n, SVECTOR *vec_s) +{ + register double sum=0; + register WORD *ai; + ai=vec_s->words; + while (ai->wnum) { + sum+=(vec_n[ai->wnum]*ai->weight); + ai++; + } + return(sum); +} + +void add_weight_vector_to_linear_model(MODEL *model) + /* compute weight vector in linear case and add to model */ +{ + long i; + SVECTOR *f; + + model->lin_weights=(double *)my_malloc(sizeof(double)*(model->totwords+1)); + clear_vector_n(model->lin_weights,model->totwords); + for(i=1;i<model->sv_num;i++) { + for(f=(model->supvec[i])->fvec;f;f=f->next) + add_vector_ns(model->lin_weights,f,f->factor*model->alpha[i]); + } +} + + +DOC *create_example(long docnum, long queryid, long slackid, + double costfactor, SVECTOR *fvec) +{ + DOC *example; + example = (DOC *)my_malloc(sizeof(DOC)); + example->docnum=docnum; + example->queryid=queryid; + example->slackid=slackid; + example->costfactor=costfactor; + example->fvec=fvec; + return(example); +} + +void free_example(DOC *example, long deep) +{ + if(example) { + if(deep) { + if(example->fvec) + free_svector(example->fvec); + } + free(example); + } +} + +void write_model(char *modelfile, MODEL *model) +{ + FILE *modelfl; + long j,i,sv_num; + SVECTOR *v; + + if(verbosity>=1) { + printf("Writing model file..."); fflush(stdout); + } + if ((modelfl = fopen (modelfile, "w")) == NULL) + { perror (modelfile); exit (1); } + fprintf(modelfl,"SVM-light Version %s\n",VERSION); + fprintf(modelfl,"%ld # kernel type\n", + model->kernel_parm.kernel_type); + fprintf(modelfl,"%ld # kernel parameter -d \n", + model->kernel_parm.poly_degree); + fprintf(modelfl,"%.8g # kernel parameter -g \n", + model->kernel_parm.rbf_gamma); + fprintf(modelfl,"%.8g # kernel parameter -s \n", + model->kernel_parm.coef_lin); + fprintf(modelfl,"%.8g # kernel parameter -r \n", + model->kernel_parm.coef_const); + fprintf(modelfl,"%s# kernel parameter -u \n",model->kernel_parm.custom); + fprintf(modelfl,"%ld # highest feature index \n",model->totwords); + fprintf(modelfl,"%ld # number of training documents \n",model->totdoc); + + sv_num=1; + for(i=1;i<model->sv_num;i++) { + for(v=model->supvec[i]->fvec;v;v=v->next) + sv_num++; + } + fprintf(modelfl,"%ld # number of support vectors plus 1 \n",sv_num); + fprintf(modelfl,"%.8g # threshold b, each following line is a SV (starting with alpha*y)\n",model->b); + + for(i=1;i<model->sv_num;i++) { + for(v=model->supvec[i]->fvec;v;v=v->next) { + fprintf(modelfl,"%.32g ",model->alpha[i]*v->factor); + for (j=0; (v->words[j]).wnum; j++) { + fprintf(modelfl,"%ld:%.8g ", + (long)(v->words[j]).wnum, + (double)(v->words[j]).weight); + } + fprintf(modelfl,"#%s\n",v->userdefined); + /* NOTE: this could be made more efficient by summing the + alpha's of identical vectors before writing them to the + file. */ + } + } + fclose(modelfl); + if(verbosity>=1) { + printf("done\n"); + } +} + + +MODEL *read_model(char *modelfile) +{ + FILE *modelfl; + long i,queryid,slackid; + double costfactor; + long max_sv,max_words,ll,wpos; + char *line,*comment; + WORD *words; + char version_buffer[100]; + MODEL *model; + + if(verbosity>=1) { + printf("Reading model..."); fflush(stdout); + } + + nol_ll(modelfile,&max_sv,&max_words,&ll); /* scan size of model file */ + max_words+=2; + ll+=2; + + words = (WORD *)my_malloc(sizeof(WORD)*(max_words+10)); + line = (char *)my_malloc(sizeof(char)*ll); + model = (MODEL *)my_malloc(sizeof(MODEL)); + + if ((modelfl = fopen (modelfile, "r")) == NULL) + { perror (modelfile); exit (1); } + + fscanf(modelfl,"SVM-light Version %s\n",version_buffer); + if(strcmp(version_buffer,VERSION)) { + perror ("Version of model-file does not match version of svm_classify!"); + exit (1); + } + fscanf(modelfl,"%ld%*[^\n]\n", &model->kernel_parm.kernel_type); + fscanf(modelfl,"%ld%*[^\n]\n", &model->kernel_parm.poly_degree); + fscanf(modelfl,"%lf%*[^\n]\n", &model->kernel_parm.rbf_gamma); + fscanf(modelfl,"%lf%*[^\n]\n", &model->kernel_parm.coef_lin); + fscanf(modelfl,"%lf%*[^\n]\n", &model->kernel_parm.coef_const); + fscanf(modelfl,"%[^#]%*[^\n]\n", model->kernel_parm.custom); + + fscanf(modelfl,"%ld%*[^\n]\n", &model->totwords); + fscanf(modelfl,"%ld%*[^\n]\n", &model->totdoc); + fscanf(modelfl,"%ld%*[^\n]\n", &model->sv_num); + fscanf(modelfl,"%lf%*[^\n]\n", &model->b); + + model->supvec = (DOC **)my_malloc(sizeof(DOC *)*model->sv_num); + model->alpha = (double *)my_malloc(sizeof(double)*model->sv_num); + model->index=NULL; + model->lin_weights=NULL; + + for(i=1;i<model->sv_num;i++) { + fgets(line,(int)ll,modelfl); + if(!parse_document(line,words,&(model->alpha[i]),&queryid,&slackid, + &costfactor,&wpos,max_words,&comment)) { + printf("\nParsing error while reading model file in SV %ld!\n%s", + i,line); + exit(1); + } + model->supvec[i] = create_example(-1, + 0,0, + 0.0, + create_svector(words,comment,1.0)); + } + fclose(modelfl); + free(line); + free(words); + if(verbosity>=1) { + fprintf(stdout, "OK. (%d support vectors read)\n",(int)(model->sv_num-1)); + } + return(model); +} + +MODEL *copy_model(MODEL *model) +{ + MODEL *newmodel; + long i; + + newmodel=(MODEL *)my_malloc(sizeof(MODEL)); + (*newmodel)=(*model); + newmodel->supvec = (DOC **)my_malloc(sizeof(DOC *)*model->sv_num); + newmodel->alpha = (double *)my_malloc(sizeof(double)*model->sv_num); + newmodel->index = NULL; /* index is not copied */ + newmodel->supvec[0] = NULL; + newmodel->alpha[0] = 0; + for(i=1;i<model->sv_num;i++) { + newmodel->alpha[i]=model->alpha[i]; + newmodel->supvec[i]=create_example(model->supvec[i]->docnum, + model->supvec[i]->queryid,0, + model->supvec[i]->costfactor, + copy_svector(model->supvec[i]->fvec)); + } + if(model->lin_weights) { + newmodel->lin_weights = (double *)my_malloc(sizeof(double)*(model->totwords+1)); + for(i=0;i<model->totwords+1;i++) + newmodel->lin_weights[i]=model->lin_weights[i]; + } + return(newmodel); +} + +void free_model(MODEL *model, int deep) +{ + long i; + + if(model->supvec) { + if(deep) { + for(i=1;i<model->sv_num;i++) { + free_example(model->supvec[i],1); + } + } + free(model->supvec); + } + if(model->alpha) free(model->alpha); + if(model->index) free(model->index); + if(model->lin_weights) free(model->lin_weights); + free(model); +} + + +void read_documents(char *docfile, DOC ***docs, double **label, + long int *totwords, long int *totdoc) +{ + char *line,*comment; + WORD *words; + long dnum=0,wpos,dpos=0,dneg=0,dunlab=0,queryid,slackid,max_docs; + long max_words_doc, ll; + double doc_label,costfactor; + FILE *docfl; + + if(verbosity>=1) { + printf("Scanning examples..."); fflush(stdout); + } + nol_ll(docfile,&max_docs,&max_words_doc,&ll); /* scan size of input file */ + max_words_doc+=2; + ll+=2; + max_docs+=2; + if(verbosity>=1) { + printf("done\n"); fflush(stdout); + } + + (*docs) = (DOC **)my_malloc(sizeof(DOC *)*max_docs); /* feature vectors */ + (*label) = (double *)my_malloc(sizeof(double)*max_docs); /* target values */ + line = (char *)my_malloc(sizeof(char)*ll); + + if ((docfl = fopen (docfile, "r")) == NULL) + { perror (docfile); exit (1); } + + words = (WORD *)my_malloc(sizeof(WORD)*(max_words_doc+10)); + if(verbosity>=1) { + printf("Reading examples into memory..."); fflush(stdout); + } + dnum=0; + (*totwords)=0; + while((!feof(docfl)) && fgets(line,(int)ll,docfl)) { + if(line[0] == '#') continue; /* line contains comments */ + if(!parse_document(line,words,&doc_label,&queryid,&slackid,&costfactor, + &wpos,max_words_doc,&comment)) { + printf("\nParsing error in line %ld!\n%s",dnum,line); + exit(1); + } + (*label)[dnum]=doc_label; + /* printf("docnum=%ld: Class=%f ",dnum,doc_label); */ + if(doc_label > 0) dpos++; + if (doc_label < 0) dneg++; + if (doc_label == 0) dunlab++; + if((wpos>1) && ((words[wpos-2]).wnum>(*totwords))) + (*totwords)=(words[wpos-2]).wnum; + if((*totwords) > MAXFEATNUM) { + printf("\nMaximum feature number exceeds limit defined in MAXFEATNUM!\n"); + printf("LINE: %s\n",line); + exit(1); + } + (*docs)[dnum] = create_example(dnum,queryid,slackid,costfactor, + create_svector(words,comment,1.0)); + /* printf("\nNorm=%f\n",((*docs)[dnum]->fvec)->twonorm_sq); */ + dnum++; + if(verbosity>=1) { + if((dnum % 100) == 0) { + printf("%ld..",dnum); fflush(stdout); + } + } + } + + fclose(docfl); + free(line); + free(words); + if(verbosity>=1) { + fprintf(stdout, "OK. (%ld examples read)\n", dnum); + } + (*totdoc)=dnum; +} + +int parse_document(char *line, WORD *words, double *label, + long *queryid, long *slackid, double *costfactor, + long int *numwords, long int max_words_doc, + char **comment) +{ + register long wpos,pos; + long wnum; + double weight; + int numread; + char featurepair[1000],junk[1000]; + + (*queryid)=0; + (*slackid)=0; + (*costfactor)=1; + + pos=0; + (*comment)=NULL; + while(line[pos] ) { /* cut off comments */ + if((line[pos] == '#') && (!(*comment))) { + line[pos]=0; + (*comment)=&(line[pos+1]); + } + if(line[pos] == '\n') { /* strip the CR */ + line[pos]=0; + } + pos++; + } + if(!(*comment)) (*comment)=&(line[pos]); + /* printf("Comment: '%s'\n",(*comment)); */ + + wpos=0; + /* check, that line starts with target value or zero, but not with + feature pair */ + if(sscanf(line,"%s",featurepair) == EOF) return(0); + pos=0; + while((featurepair[pos] != ':') && featurepair[pos]) pos++; + if(featurepair[pos] == ':') { + perror ("Line must start with label or 0!!!\n"); + printf("LINE: %s\n",line); + exit (1); + } + /* read the target value */ + if(sscanf(line,"%lf",label) == EOF) return(0); + pos=0; + while(space_or_null((int)line[pos])) pos++; + while((!space_or_null((int)line[pos])) && line[pos]) pos++; + while(((numread=sscanf(line+pos,"%s",featurepair)) != EOF) && + (numread > 0) && + (wpos<max_words_doc)) { + /* printf("%s\n",featurepair); */ + while(space_or_null((int)line[pos])) pos++; + while((!space_or_null((int)line[pos])) && line[pos]) pos++; + if(sscanf(featurepair,"qid:%ld%s",&wnum,junk)==1) { + /* it is the query id */ + (*queryid)=(long)wnum; + } + else if(sscanf(featurepair,"sid:%ld%s",&wnum,junk)==1) { + /* it is the slack id */ + if(wnum > 0) + (*slackid)=(long)wnum; + else { + perror ("Slack-id must be greater or equal to 1!!!\n"); + printf("LINE: %s\n",line); + exit (1); + } + } + else if(sscanf(featurepair,"cost:%lf%s",&weight,junk)==1) { + /* it is the example-dependent cost factor */ + (*costfactor)=(double)weight; + } + else if(sscanf(featurepair,"%ld:%lf%s",&wnum,&weight,junk)==2) { + /* it is a regular feature */ + if(wnum<=0) { + perror ("Feature numbers must be larger or equal to 1!!!\n"); + printf("LINE: %s\n",line); + exit (1); + } + if((wpos>0) && ((words[wpos-1]).wnum >= wnum)) { + perror ("Features must be in increasing order!!!\n"); + printf("LINE: %s\n",line); + exit (1); + } + (words[wpos]).wnum=wnum; + (words[wpos]).weight=(FVAL)weight; + wpos++; + } + else { + perror ("Cannot parse feature/value pair!!!\n"); + printf("'%s' in LINE: %s\n",featurepair,line); + exit (1); + } + } + (words[wpos]).wnum=0; + (*numwords)=wpos+1; + return(1); +} + +double *read_alphas(char *alphafile,long totdoc) + /* reads the alpha vector from a file as written by the + write_alphas function */ +{ + FILE *fl; + double *alpha; + long dnum; + + if ((fl = fopen (alphafile, "r")) == NULL) + { perror (alphafile); exit (1); } + + alpha = (double *)my_malloc(sizeof(double)*totdoc); + if(verbosity>=1) { + printf("Reading alphas..."); fflush(stdout); + } + dnum=0; + while((!feof(fl)) && fscanf(fl,"%lf\n",&alpha[dnum]) && (dnum<totdoc)) { + dnum++; + } + if(dnum != totdoc) + { perror ("\nNot enough values in alpha file!"); exit (1); } + fclose(fl); + + if(verbosity>=1) { + printf("done\n"); fflush(stdout); + } + + return(alpha); +} + +void nol_ll(char *file, long int *nol, long int *wol, long int *ll) + /* Grep through file and count number of lines, maximum number of + spaces per line, and longest line. */ +{ + FILE *fl; + int ic; + char c; + long current_length,current_wol; + + if ((fl = fopen (file, "r")) == NULL) + { perror (file); exit (1); } + current_length=0; + current_wol=0; + (*ll)=0; + (*nol)=1; + (*wol)=0; + while((ic=getc(fl)) != EOF) { + c=(char)ic; + current_length++; + if(space_or_null((int)c)) { + current_wol++; + } + if(c == '\n') { + (*nol)++; + if(current_length>(*ll)) { + (*ll)=current_length; + } + if(current_wol>(*wol)) { + (*wol)=current_wol; + } + current_length=0; + current_wol=0; + } + } + fclose(fl); +} + +long minl(long int a, long int b) +{ + if(a<b) + return(a); + else + return(b); +} + +long maxl(long int a, long int b) +{ + if(a>b) + return(a); + else + return(b); +} + +long get_runtime(void) +{ + clock_t start; + start = clock(); + return((long)((double)start*100.0/(double)CLOCKS_PER_SEC)); +} + + +# ifdef _MSC_VER + +int isnan(double a) +{ + return(_isnan(a)); +} + +# endif + +int space_or_null(int c) { + if (c==0) + return 1; + return isspace((unsigned char)c); +} + +void *my_malloc(size_t size) +{ + void *ptr; + if(size<=0) size=1; /* for AIX compatibility */ + ptr=(void *)malloc(size); + if(!ptr) { + perror ("Out of memory!\n"); + exit (1); + } + return(ptr); +} + +void copyright_notice(void) +{ + printf("\nCopyright: Thorsten Joachims, thorsten@joachims.org\n\n"); + printf("This software is available for non-commercial use only. It must not\n"); + printf("be modified and distributed without prior permission of the author.\n"); + printf("The author is not responsible for implications from the use of this\n"); + printf("software.\n\n"); +} diff --git a/trunk/svm_light/build/svm_light-tar/svm_common.h b/trunk/svm_light/build/svm_light-tar/svm_common.h new file mode 100755 index 00000000..6487fa1d --- /dev/null +++ b/trunk/svm_light/build/svm_light-tar/svm_common.h @@ -0,0 +1,301 @@ +/************************************************************************/ +/* */ +/* svm_common.h */ +/* */ +/* Definitions and functions used in both svm_learn and svm_classify. */ +/* */ +/* Author: Thorsten Joachims */ +/* Date: 02.07.02 */ +/* */ +/* Copyright (c) 2002 Thorsten Joachims - All rights reserved */ +/* */ +/* This software is available for non-commercial use only. It must */ +/* not be modified and distributed without prior permission of the */ +/* author. The author is not responsible for implications from the */ +/* use of this software. */ +/* */ +/************************************************************************/ + +#ifndef SVM_COMMON +#define SVM_COMMON + +# include <stdio.h> +# include <ctype.h> +# include <math.h> +# include <string.h> +# include <stdlib.h> +# include <time.h> +# include <float.h> + +# define VERSION "V6.02" +# define VERSION_DATE "14.08.08" + +# define CFLOAT float /* the type of float to use for caching */ + /* kernel evaluations. Using float saves */ + /* us some memory, but you can use double, too */ +# define FNUM long /* the type used for storing feature ids */ +# define FVAL float /* the type used for storing feature values */ +# define MAXFEATNUM 99999999 /* maximum feature number (must be in + valid range of FNUM type and long int!) */ + +# define LINEAR 0 /* linear kernel type */ +# define POLY 1 /* polynoial kernel type */ +# define RBF 2 /* rbf kernel type */ +# define SIGMOID 3 /* sigmoid kernel type */ + +# define CLASSIFICATION 1 /* train classification model */ +# define REGRESSION 2 /* train regression model */ +# define RANKING 3 /* train ranking model */ +# define OPTIMIZATION 4 /* train on general set of constraints */ + +# define MAXSHRINK 50000 /* maximum number of shrinking rounds */ + +typedef struct word { + FNUM wnum; /* word number */ + FVAL weight; /* word weight */ +} WORD; + +typedef struct svector { + WORD *words; /* The features/values in the vector by + increasing feature-number. Feature + numbers that are skipped are + interpreted as having value zero. */ + double twonorm_sq; /* The squared euclidian length of the + vector. Used to speed up the RBF kernel. */ + char *userdefined; /* You can put additional information + here. This can be useful, if you are + implementing your own kernel that + does not work with feature/values + representations (for example a + string kernel). By default, + svm-light will put here the string + after the # sign from each line of + the input file. */ + long kernel_id; /* Feature vectors with different + kernel_id's are orthogonal (ie. the + feature number do not match). This + is used for computing component + kernels for linear constraints which + are a sum of several different + weight vectors. (currently not + implemented). */ + struct svector *next; /* Let's you set up a list of SVECTOR's + for linear constraints which are a + sum of multiple feature + vectors. List is terminated by + NULL. */ + double factor; /* Factor by which this feature vector + is multiplied in the sum. */ +} SVECTOR; + +typedef struct doc { + long docnum; /* Document ID. This has to be the position of + the document in the training set array. */ + long queryid; /* for learning rankings, constraints are + generated for documents with the same + queryID. */ + double costfactor; /* Scales the cost of misclassifying this + document by this factor. The effect of this + value is, that the upper bound on the alpha + for this example is scaled by this factor. + The factors are set by the feature + 'cost:<val>' in the training data. */ + long slackid; /* Index of the slack variable + corresponding to this + constraint. All constraints with the + same slackid share the same slack + variable. This can only be used for + svm_learn_optimization. */ + SVECTOR *fvec; /* Feature vector of the example. The + feature vector can actually be a + list of feature vectors. For + example, the list will have two + elements, if this DOC is a + preference constraint. The one + vector that is supposed to be ranked + higher, will have a factor of +1, + the lower ranked one should have a + factor of -1. */ +} DOC; + +typedef struct learn_parm { + long type; /* selects between regression and + classification */ + double svm_c; /* upper bound C on alphas */ + double eps; /* regression epsilon (eps=1.0 for + classification */ + double svm_costratio; /* factor to multiply C for positive examples */ + double transduction_posratio;/* fraction of unlabeled examples to be */ + /* classified as positives */ + long biased_hyperplane; /* if nonzero, use hyperplane w*x+b=0 + otherwise w*x=0 */ + long sharedslack; /* if nonzero, it will use the shared + slack variable mode in + svm_learn_optimization. It requires + that the slackid is set for every + training example */ + long svm_maxqpsize; /* size q of working set */ + long svm_newvarsinqp; /* new variables to enter the working set + in each iteration */ + long kernel_cache_size; /* size of kernel cache in megabytes */ + double epsilon_crit; /* tolerable error for distances used + in stopping criterion */ + double epsilon_shrink; /* how much a multiplier should be above + zero for shrinking */ + long svm_iter_to_shrink; /* iterations h after which an example can + be removed by shrinking */ + long maxiter; /* number of iterations after which the + optimizer terminates, if there was + no progress in maxdiff */ + long remove_inconsistent; /* exclude examples with alpha at C and + retrain */ + long skip_final_opt_check; /* do not check KT-Conditions at the end of + optimization for examples removed by + shrinking. WARNING: This might lead to + sub-optimal solutions! */ + long compute_loo; /* if nonzero, computes leave-one-out + estimates */ + double rho; /* parameter in xi/alpha-estimates and for + pruning leave-one-out range [1..2] */ + long xa_depth; /* parameter in xi/alpha-estimates upper + bounding the number of SV the current + alpha_t is distributed over */ + char predfile[200]; /* file for predicitions on unlabeled examples + in transduction */ + char alphafile[200]; /* file to store optimal alphas in. use + empty string if alphas should not be + output */ + + /* you probably do not want to touch the following */ + double epsilon_const; /* tolerable error on eq-constraint */ + double epsilon_a; /* tolerable error on alphas at bounds */ + double opt_precision; /* precision of solver, set to e.g. 1e-21 + if you get convergence problems */ + + /* the following are only for internal use */ + long svm_c_steps; /* do so many steps for finding optimal C */ + double svm_c_factor; /* increase C by this factor every step */ + double svm_costratio_unlab; + double svm_unlabbound; + double *svm_cost; /* individual upper bounds for each var */ + long totwords; /* number of features */ +} LEARN_PARM; + +typedef struct kernel_parm { + long kernel_type; /* 0=linear, 1=poly, 2=rbf, 3=sigmoid, 4=custom */ + long poly_degree; + double rbf_gamma; + double coef_lin; + double coef_const; + char custom[50]; /* for user supplied kernel */ +} KERNEL_PARM; + +typedef struct model { + long sv_num; + long at_upper_bound; + double b; + DOC **supvec; + double *alpha; + long *index; /* index from docnum to position in model */ + long totwords; /* number of features */ + long totdoc; /* number of training documents */ + KERNEL_PARM kernel_parm; /* kernel */ + + /* the following values are not written to file */ + double loo_error,loo_recall,loo_precision; /* leave-one-out estimates */ + double xa_error,xa_recall,xa_precision; /* xi/alpha estimates */ + double *lin_weights; /* weights for linear case using + folding */ + double maxdiff; /* precision, up to which this + model is accurate */ +} MODEL; + +typedef struct quadratic_program { + long opt_n; /* number of variables */ + long opt_m; /* number of linear equality constraints */ + double *opt_ce,*opt_ce0; /* linear equality constraints */ + double *opt_g; /* hessian of objective */ + double *opt_g0; /* linear part of objective */ + double *opt_xinit; /* initial value for variables */ + double *opt_low,*opt_up; /* box constraints */ +} QP; + +typedef struct kernel_cache { + long *index; /* cache some kernel evalutations */ + CFLOAT *buffer; /* to improve speed */ + long *invindex; + long *active2totdoc; + long *totdoc2active; + long *lru; + long *occu; + long elems; + long max_elems; + long time; + long activenum; + long buffsize; +} KERNEL_CACHE; + + +typedef struct timing_profile { + long time_kernel; + long time_opti; + long time_shrink; + long time_update; + long time_model; + long time_check; + long time_select; +} TIMING; + +typedef struct shrink_state { + long *active; + long *inactive_since; + long deactnum; + double **a_history; /* for shrinking with non-linear kernel */ + long maxhistory; + double *last_a; /* for shrinking with linear kernel */ + double *last_lin; /* for shrinking with linear kernel */ +} SHRINK_STATE; + +double classify_example(MODEL *, DOC *); +double classify_example_linear(MODEL *, DOC *); +double kernel(KERNEL_PARM *, DOC *, DOC *); +double single_kernel(KERNEL_PARM *, SVECTOR *, SVECTOR *); +double custom_kernel(KERNEL_PARM *, SVECTOR *, SVECTOR *); +SVECTOR *create_svector(WORD *, char *, double); +SVECTOR *copy_svector(SVECTOR *); +void free_svector(SVECTOR *); +double sprod_ss(SVECTOR *, SVECTOR *); +SVECTOR* sub_ss(SVECTOR *, SVECTOR *); +SVECTOR* add_ss(SVECTOR *, SVECTOR *); +SVECTOR* add_list_ss(SVECTOR *); +void append_svector_list(SVECTOR *a, SVECTOR *b); +SVECTOR* smult_s(SVECTOR *, double); +int featvec_eq(SVECTOR *, SVECTOR *); +double model_length_s(MODEL *, KERNEL_PARM *); +void clear_vector_n(double *, long); +void add_vector_ns(double *, SVECTOR *, double); +double sprod_ns(double *, SVECTOR *); +void add_weight_vector_to_linear_model(MODEL *); +DOC *create_example(long, long, long, double, SVECTOR *); +void free_example(DOC *, long); +MODEL *read_model(char *); +MODEL *copy_model(MODEL *); +void free_model(MODEL *, int); +void read_documents(char *, DOC ***, double **, long *, long *); +int parse_document(char *, WORD *, double *, long *, long *, double *, long *, long, char **); +double *read_alphas(char *,long); +void nol_ll(char *, long *, long *, long *); +long minl(long, long); +long maxl(long, long); +long get_runtime(void); +int space_or_null(int); +void *my_malloc(size_t); +void copyright_notice(void); +# ifdef _MSC_VER + int isnan(double); +# endif + +extern long verbosity; /* verbosity level (0-4) */ +extern long kernel_cache_statistic; + +#endif diff --git a/trunk/svm_light/build/svm_light-tar/svm_hideo.c b/trunk/svm_light/build/svm_light-tar/svm_hideo.c new file mode 100755 index 00000000..ffad2d3c --- /dev/null +++ b/trunk/svm_light/build/svm_light-tar/svm_hideo.c @@ -0,0 +1,1062 @@ +/***********************************************************************/ +/* */ +/* svm_hideo.c */ +/* */ +/* The Hildreth and D'Espo solver specialized for SVMs. */ +/* */ +/* Author: Thorsten Joachims */ +/* Date: 02.07.02 */ +/* */ +/* Copyright (c) 2002 Thorsten Joachims - All rights reserved */ +/* */ +/* This software is available for non-commercial use only. It must */ +/* not be modified and distributed without prior permission of the */ +/* author. The author is not responsible for implications from the */ +/* use of this software. */ +/* */ +/***********************************************************************/ + +# include <math.h> +# include "svm_common.h" + +/* + solve the quadratic programming problem + + minimize g0 * x + 1/2 x' * G * x + subject to ce*x = ce0 + l <= x <= u + + The linear constraint vector ce can only have -1/+1 as entries +*/ + +/* Common Block Declarations */ + +long verbosity; + +# define PRIMAL_OPTIMAL 1 +# define DUAL_OPTIMAL 2 +# define MAXITER_EXCEEDED 3 +# define NAN_SOLUTION 4 +# define ONLY_ONE_VARIABLE 5 + +# define LARGEROUND 0 +# define SMALLROUND 1 + +/* /////////////////////////////////////////////////////////////// */ + +# define DEF_PRECISION 1E-5 +# define DEF_MAX_ITERATIONS 200 +# define DEF_LINDEP_SENSITIVITY 1E-8 +# define EPSILON_HIDEO 1E-20 +# define EPSILON_EQ 1E-5 + +double *optimize_qp(QP *, double *, long, double *, LEARN_PARM *); +double *primal=0,*dual=0; +long precision_violations=0; +double opt_precision=DEF_PRECISION; +long maxiter=DEF_MAX_ITERATIONS; +double lindep_sensitivity=DEF_LINDEP_SENSITIVITY; +double *buffer; +long *nonoptimal; + +long smallroundcount=0; +long roundnumber=0; + +/* /////////////////////////////////////////////////////////////// */ + +void *my_malloc(); + +int optimize_hildreth_despo(long,long,double,double,double,long,long,long,double,double *, + double *,double *,double *,double *,double *, + double *,double *,double *,long *,double *,double *); +int solve_dual(long,long,double,double,long,double *,double *,double *, + double *,double *,double *,double *,double *,double *, + double *,double *,double *,double *,long); + +void linvert_matrix(double *, long, double *, double, long *); +void lprint_matrix(double *, long); +void ladd_matrix(double *, long, double); +void lcopy_matrix(double *, long, double *); +void lswitch_rows_matrix(double *, long, long, long); +void lswitchrk_matrix(double *, long, long, long); + +double calculate_qp_objective(long, double *, double *, double *); + + + +double *optimize_qp(qp,epsilon_crit,nx,threshold,learn_parm) +QP *qp; +double *epsilon_crit; +long nx; /* Maximum number of variables in QP */ +double *threshold; +LEARN_PARM *learn_parm; +/* start the optimizer and return the optimal values */ +/* The HIDEO optimizer does not necessarily fully solve the problem. */ +/* Since it requires a strictly positive definite hessian, the solution */ +/* is restricted to a linear independent subset in case the matrix is */ +/* only semi-definite. */ +{ + long i,j; + int result; + double eq,progress; + + roundnumber++; + + if(!primal) { /* allocate memory at first call */ + primal=(double *)my_malloc(sizeof(double)*nx); + dual=(double *)my_malloc(sizeof(double)*((nx+1)*2)); + nonoptimal=(long *)my_malloc(sizeof(long)*(nx)); + buffer=(double *)my_malloc(sizeof(double)*((nx+1)*2*(nx+1)*2+ + nx*nx+2*(nx+1)*2+2*nx+1+2*nx+ + nx+nx+nx*nx)); + (*threshold)=0; + for(i=0;i<nx;i++) { + primal[i]=0; + } + } + + if(verbosity>=4) { /* really verbose */ + printf("\n\n"); + eq=qp->opt_ce0[0]; + for(i=0;i<qp->opt_n;i++) { + eq+=qp->opt_xinit[i]*qp->opt_ce[i]; + printf("%f: ",qp->opt_g0[i]); + for(j=0;j<qp->opt_n;j++) { + printf("%f ",qp->opt_g[i*qp->opt_n+j]); + } + printf(": a=%.10f < %f",qp->opt_xinit[i],qp->opt_up[i]); + printf(": y=%f\n",qp->opt_ce[i]); + } + if(qp->opt_m) { + printf("EQ: %f*x0",qp->opt_ce[0]); + for(i=1;i<qp->opt_n;i++) { + printf(" + %f*x%ld",qp->opt_ce[i],i); + } + printf(" = %f\n\n",-qp->opt_ce0[0]); + } + } + + result=optimize_hildreth_despo(qp->opt_n,qp->opt_m, + opt_precision,(*epsilon_crit), + learn_parm->epsilon_a,maxiter, + /* (long)PRIMAL_OPTIMAL, */ + (long)0, (long)0, + lindep_sensitivity, + qp->opt_g,qp->opt_g0,qp->opt_ce,qp->opt_ce0, + qp->opt_low,qp->opt_up,primal,qp->opt_xinit, + dual,nonoptimal,buffer,&progress); + if(verbosity>=3) { + printf("return(%d)...",result); + } + + if(learn_parm->totwords < learn_parm->svm_maxqpsize) { + /* larger working sets will be linear dependent anyway */ + learn_parm->svm_maxqpsize=maxl(learn_parm->totwords,(long)2); + } + + if(result == NAN_SOLUTION) { + lindep_sensitivity*=2; /* throw out linear dependent examples more */ + /* generously */ + if(learn_parm->svm_maxqpsize>2) { + learn_parm->svm_maxqpsize--; /* decrease size of qp-subproblems */ + } + precision_violations++; + } + + /* take one round of only two variable to get unstuck */ + if((result != PRIMAL_OPTIMAL) || (!(roundnumber % 31)) || (progress <= 0)) { + + smallroundcount++; + + result=optimize_hildreth_despo(qp->opt_n,qp->opt_m, + opt_precision,(*epsilon_crit), + learn_parm->epsilon_a,(long)maxiter, + (long)PRIMAL_OPTIMAL,(long)SMALLROUND, + lindep_sensitivity, + qp->opt_g,qp->opt_g0,qp->opt_ce,qp->opt_ce0, + qp->opt_low,qp->opt_up,primal,qp->opt_xinit, + dual,nonoptimal,buffer,&progress); + if(verbosity>=3) { + printf("return_srd(%d)...",result); + } + + if(result != PRIMAL_OPTIMAL) { + if(result != ONLY_ONE_VARIABLE) + precision_violations++; + if(result == MAXITER_EXCEEDED) + maxiter+=100; + if(result == NAN_SOLUTION) { + lindep_sensitivity*=2; /* throw out linear dependent examples more */ + /* generously */ + /* results not valid, so return inital values */ + for(i=0;i<qp->opt_n;i++) { + primal[i]=qp->opt_xinit[i]; + } + } + } + } + + + if(precision_violations > 50) { + precision_violations=0; + (*epsilon_crit)*=10.0; + if(verbosity>=1) { + printf("\nWARNING: Relaxing epsilon on KT-Conditions (%f).\n", + (*epsilon_crit)); + } + } + + if((qp->opt_m>0) && (result != NAN_SOLUTION) && (!isnan(dual[1]-dual[0]))) + (*threshold)=dual[1]-dual[0]; + else + (*threshold)=0; + + if(verbosity>=4) { /* really verbose */ + printf("\n\n"); + eq=qp->opt_ce0[0]; + for(i=0;i<qp->opt_n;i++) { + eq+=primal[i]*qp->opt_ce[i]; + printf("%f: ",qp->opt_g0[i]); + for(j=0;j<qp->opt_n;j++) { + printf("%f ",qp->opt_g[i*qp->opt_n+j]); + } + printf(": a=%.30f",primal[i]); + printf(": nonopti=%ld",nonoptimal[i]); + printf(": y=%f\n",qp->opt_ce[i]); + } + printf("eq-constraint=%.30f\n",eq); + printf("b=%f\n",(*threshold)); + printf(" smallroundcount=%ld ",smallroundcount); + } + + return(primal); +} + + + +int optimize_hildreth_despo(n,m,precision,epsilon_crit,epsilon_a,maxiter,goal, + smallround,lindep_sensitivity,g,g0,ce,ce0,low,up, + primal,init,dual,lin_dependent,buffer,progress) + long n; /* number of variables */ + long m; /* number of linear equality constraints [0,1] */ + double precision; /* solve at least to this dual precision */ + double epsilon_crit; /* stop, if KT-Conditions approx fulfilled */ + double epsilon_a; /* precision of alphas at bounds */ + long maxiter; /* stop after this many iterations */ + long goal; /* keep going until goal fulfilled */ + long smallround; /* use only two variables of steepest descent */ + double lindep_sensitivity; /* epsilon for detecting linear dependent ex */ + double *g; /* hessian of objective */ + double *g0; /* linear part of objective */ + double *ce,*ce0; /* linear equality constraints */ + double *low,*up; /* box constraints */ + double *primal; /* primal variables */ + double *init; /* initial values of primal */ + double *dual; /* dual variables */ + long *lin_dependent; + double *buffer; + double *progress; /* delta in the objective function between + before and after */ +{ + long i,j,k,from,to,n_indep,changed; + double sum,bmin=0,bmax=0; + double *d,*d0,*ig,*dual_old,*temp,*start; + double *g0_new,*g_new,*ce_new,*ce0_new,*low_new,*up_new; + double add,t; + int result; + double obj_before,obj_after; + long b1,b2; + double g0_b1,g0_b2,ce0_b; + + g0_new=&(buffer[0]); /* claim regions of buffer */ + d=&(buffer[n]); + d0=&(buffer[n+(n+m)*2*(n+m)*2]); + ce_new=&(buffer[n+(n+m)*2*(n+m)*2+(n+m)*2]); + ce0_new=&(buffer[n+(n+m)*2*(n+m)*2+(n+m)*2+n]); + ig=&(buffer[n+(n+m)*2*(n+m)*2+(n+m)*2+n+m]); + dual_old=&(buffer[n+(n+m)*2*(n+m)*2+(n+m)*2+n+m+n*n]); + low_new=&(buffer[n+(n+m)*2*(n+m)*2+(n+m)*2+n+m+n*n+(n+m)*2]); + up_new=&(buffer[n+(n+m)*2*(n+m)*2+(n+m)*2+n+m+n*n+(n+m)*2+n]); + start=&(buffer[n+(n+m)*2*(n+m)*2+(n+m)*2+n+m+n*n+(n+m)*2+n+n]); + g_new=&(buffer[n+(n+m)*2*(n+m)*2+(n+m)*2+n+m+n*n+(n+m)*2+n+n+n]); + temp=&(buffer[n+(n+m)*2*(n+m)*2+(n+m)*2+n+m+n*n+(n+m)*2+n+n+n+n*n]); + + b1=-1; + b2=-1; + for(i=0;i<n;i++) { /* get variables with steepest feasible descent */ + sum=g0[i]; + for(j=0;j<n;j++) + sum+=init[j]*g[i*n+j]; + sum=sum*ce[i]; + if(((b1==-1) || (sum<bmin)) + && (!((init[i]<=(low[i]+epsilon_a)) && (ce[i]<0.0))) + && (!((init[i]>=( up[i]-epsilon_a)) && (ce[i]>0.0))) + ) { + bmin=sum; + b1=i; + } + if(((b2==-1) || (sum>=bmax)) + && (!((init[i]<=(low[i]+epsilon_a)) && (ce[i]>0.0))) + && (!((init[i]>=( up[i]-epsilon_a)) && (ce[i]<0.0))) + ) { + bmax=sum; + b2=i; + } + } + /* in case of unbiased hyperplane, the previous projection on */ + /* equality constraint can lead to b1 or b2 being -1. */ + if((b1 == -1) || (b2 == -1)) { + b1=maxl(b1,b2); + b2=maxl(b1,b2); + } + + for(i=0;i<n;i++) { + start[i]=init[i]; + } + + /* in case both example vectors are linearly dependent */ + /* WARNING: Assumes that ce[] in {-1,1} */ + add=0; + changed=0; + if((b1 != b2) && (m==1)) { + for(i=0;i<n;i++) { /* fix other vectors */ + if(i==b1) + g0_b1=g0[i]; + if(i==b2) + g0_b2=g0[i]; + } + ce0_b=ce0[0]; + for(i=0;i<n;i++) { + if((i!=b1) && (i!=b2)) { + for(j=0;j<n;j++) { + if(j==b1) + g0_b1+=start[i]*g[i*n+j]; + if(j==b2) + g0_b2+=start[i]*g[i*n+j]; + } + ce0_b-=(start[i]*ce[i]); + } + } + if((g[b1*n+b2] == g[b1*n+b1]) && (g[b1*n+b2] == g[b2*n+b2])) { + /* printf("euqal\n"); */ + if(ce[b1] == ce[b2]) { + if(g0_b1 <= g0_b2) { /* set b1 to upper bound */ + /* printf("case +=<\n"); */ + changed=1; + t=up[b1]-init[b1]; + if((init[b2]-low[b2]) < t) { + t=init[b2]-low[b2]; + } + start[b1]=init[b1]+t; + start[b2]=init[b2]-t; + } + else if(g0_b1 > g0_b2) { /* set b2 to upper bound */ + /* printf("case +=>\n"); */ + changed=1; + t=up[b2]-init[b2]; + if((init[b1]-low[b1]) < t) { + t=init[b1]-low[b1]; + } + start[b1]=init[b1]-t; + start[b2]=init[b2]+t; + } + } + else if(((g[b1*n+b1]>0) || (g[b2*n+b2]>0))) { /* (ce[b1] != ce[b2]) */ + /* printf("case +!\n"); */ + t=((ce[b2]/ce[b1])*g0[b1]-g0[b2]+ce0[0]*(g[b1*n+b1]*ce[b2]/ce[b1]-g[b1*n+b2]/ce[b1]))/((ce[b2]*ce[b2]/(ce[b1]*ce[b1]))*g[b1*n+b1]+g[b2*n+b2]-2*(g[b1*n+b2]*ce[b2]/ce[b1]))-init[b2]; + changed=1; + if((up[b2]-init[b2]) < t) { + t=up[b2]-init[b2]; + } + if((init[b2]-low[b2]) < -t) { + t=-(init[b2]-low[b2]); + } + if((up[b1]-init[b1]) < t) { + t=(up[b1]-init[b1]); + } + if((init[b1]-low[b1]) < -t) { + t=-(init[b1]-low[b1]); + } + start[b1]=init[b1]+t; + start[b2]=init[b2]+t; + } + } + if((-g[b1*n+b2] == g[b1*n+b1]) && (-g[b1*n+b2] == g[b2*n+b2])) { + /* printf("diffeuqal\n"); */ + if(ce[b1] != ce[b2]) { + if((g0_b1+g0_b2) < 0) { /* set b1 and b2 to upper bound */ + /* printf("case -!<\n"); */ + changed=1; + t=up[b1]-init[b1]; + if((up[b2]-init[b2]) < t) { + t=up[b2]-init[b2]; + } + start[b1]=init[b1]+t; + start[b2]=init[b2]+t; + } + else if((g0_b1+g0_b2) >= 0) { /* set b1 and b2 to lower bound */ + /* printf("case -!>\n"); */ + changed=1; + t=init[b1]-low[b1]; + if((init[b2]-low[b2]) < t) { + t=init[b2]-low[b2]; + } + start[b1]=init[b1]-t; + start[b2]=init[b2]-t; + } + } + else if(((g[b1*n+b1]>0) || (g[b2*n+b2]>0))) { /* (ce[b1]==ce[b2]) */ + /* printf("case -=\n"); */ + t=((ce[b2]/ce[b1])*g0[b1]-g0[b2]+ce0[0]*(g[b1*n+b1]*ce[b2]/ce[b1]-g[b1*n+b2]/ce[b1]))/((ce[b2]*ce[b2]/(ce[b1]*ce[b1]))*g[b1*n+b1]+g[b2*n+b2]-2*(g[b1*n+b2]*ce[b2]/ce[b1]))-init[b2]; + changed=1; + if((up[b2]-init[b2]) < t) { + t=up[b2]-init[b2]; + } + if((init[b2]-low[b2]) < -t) { + t=-(init[b2]-low[b2]); + } + if((up[b1]-init[b1]) < -t) { + t=-(up[b1]-init[b1]); + } + if((init[b1]-low[b1]) < t) { + t=init[b1]-low[b1]; + } + start[b1]=init[b1]-t; + start[b2]=init[b2]+t; + } + } + } + /* if we have a biased hyperplane, then adding a constant to the */ + /* hessian does not change the solution. So that is done for examples */ + /* with zero diagonal entry, since HIDEO cannot handle them. */ + if((m>0) + && ((fabs(g[b1*n+b1]) < lindep_sensitivity) + || (fabs(g[b2*n+b2]) < lindep_sensitivity))) { + /* printf("Case 0\n"); */ + add+=0.093274; + } + /* in case both examples are linear dependent */ + else if((m>0) + && (g[b1*n+b2] != 0 && g[b2*n+b2] != 0) + && (fabs(g[b1*n+b1]/g[b1*n+b2] - g[b1*n+b2]/g[b2*n+b2]) + < lindep_sensitivity)) { + /* printf("Case lindep\n"); */ + add+=0.078274; + } + + /* special case for zero diagonal entry on unbiased hyperplane */ + if((m==0) && (b1>=0)) { + if(fabs(g[b1*n+b1]) < lindep_sensitivity) { + /* printf("Case 0b1\n"); */ + for(i=0;i<n;i++) { /* fix other vectors */ + if(i==b1) + g0_b1=g0[i]; + } + for(i=0;i<n;i++) { + if(i!=b1) { + for(j=0;j<n;j++) { + if(j==b1) + g0_b1+=start[i]*g[i*n+j]; + } + } + } + if(g0_b1<0) + start[b1]=up[b1]; + if(g0_b1>=0) + start[b1]=low[b1]; + } + } + if((m==0) && (b2>=0)) { + if(fabs(g[b2*n+b2]) < lindep_sensitivity) { + /* printf("Case 0b2\n"); */ + for(i=0;i<n;i++) { /* fix other vectors */ + if(i==b2) + g0_b2=g0[i]; + } + for(i=0;i<n;i++) { + if(i!=b2) { + for(j=0;j<n;j++) { + if(j==b2) + g0_b2+=start[i]*g[i*n+j]; + } + } + } + if(g0_b2<0) + start[b2]=up[b2]; + if(g0_b2>=0) + start[b2]=low[b2]; + } + } + + /* printf("b1=%ld,b2=%ld\n",b1,b2); */ + + lcopy_matrix(g,n,d); + if((m==1) && (add>0.0)) { + for(j=0;j<n;j++) { + for(k=0;k<n;k++) { + d[j*n+k]+=add*ce[j]*ce[k]; + } + } + } + else { + add=0.0; + } + + if(n>2) { /* switch, so that variables are better mixed */ + lswitchrk_matrix(d,n,b1,(long)0); + if(b2 == 0) + lswitchrk_matrix(d,n,b1,(long)1); + else + lswitchrk_matrix(d,n,b2,(long)1); + } + if(smallround == SMALLROUND) { + for(i=2;i<n;i++) { + lin_dependent[i]=1; + } + if(m>0) { /* for biased hyperplane, pick two variables */ + lin_dependent[0]=0; + lin_dependent[1]=0; + } + else { /* for unbiased hyperplane, pick only one variable */ + lin_dependent[0]=smallroundcount % 2; + lin_dependent[1]=(smallroundcount+1) % 2; + } + } + else { + for(i=0;i<n;i++) { + lin_dependent[i]=0; + } + } + linvert_matrix(d,n,ig,lindep_sensitivity,lin_dependent); + if(n>2) { /* now switch back */ + if(b2 == 0) { + lswitchrk_matrix(ig,n,b1,(long)1); + i=lin_dependent[1]; + lin_dependent[1]=lin_dependent[b1]; + lin_dependent[b1]=i; + } + else { + lswitchrk_matrix(ig,n,b2,(long)1); + i=lin_dependent[1]; + lin_dependent[1]=lin_dependent[b2]; + lin_dependent[b2]=i; + } + lswitchrk_matrix(ig,n,b1,(long)0); + i=lin_dependent[0]; + lin_dependent[0]=lin_dependent[b1]; + lin_dependent[b1]=i; + } + /* lprint_matrix(d,n); */ + /* lprint_matrix(ig,n); */ + + lcopy_matrix(g,n,g_new); /* restore g_new matrix */ + if(add>0) + for(j=0;j<n;j++) { + for(k=0;k<n;k++) { + g_new[j*n+k]+=add*ce[j]*ce[k]; + } + } + + for(i=0;i<n;i++) { /* fix linear dependent vectors */ + g0_new[i]=g0[i]+add*ce0[0]*ce[i]; + } + if(m>0) ce0_new[0]=-ce0[0]; + for(i=0;i<n;i++) { /* fix linear dependent vectors */ + if(lin_dependent[i]) { + for(j=0;j<n;j++) { + if(!lin_dependent[j]) { + g0_new[j]+=start[i]*g_new[i*n+j]; + } + } + if(m>0) ce0_new[0]-=(start[i]*ce[i]); + } + } + from=0; /* remove linear dependent vectors */ + to=0; + n_indep=0; + for(i=0;i<n;i++) { + if(!lin_dependent[i]) { + g0_new[n_indep]=g0_new[i]; + ce_new[n_indep]=ce[i]; + low_new[n_indep]=low[i]; + up_new[n_indep]=up[i]; + primal[n_indep]=start[i]; + n_indep++; + } + for(j=0;j<n;j++) { + if((!lin_dependent[i]) && (!lin_dependent[j])) { + ig[to]=ig[from]; + g_new[to]=g_new[from]; + to++; + } + from++; + } + } + + if(verbosity>=3) { + printf("real_qp_size(%ld)...",n_indep); + } + + /* cannot optimize with only one variable */ + if((n_indep<=1) && (m>0) && (!changed)) { + for(i=n-1;i>=0;i--) { + primal[i]=init[i]; + } + return((int)ONLY_ONE_VARIABLE); + } + + if((!changed) || (n_indep>1)) { + result=solve_dual(n_indep,m,precision,epsilon_crit,maxiter,g_new,g0_new, + ce_new,ce0_new,low_new,up_new,primal,d,d0,ig, + dual,dual_old,temp,goal); + } + else { + result=PRIMAL_OPTIMAL; + } + + j=n_indep; + for(i=n-1;i>=0;i--) { + if(!lin_dependent[i]) { + j--; + primal[i]=primal[j]; + } + else { + primal[i]=start[i]; /* leave as is */ + } + temp[i]=primal[i]; + } + + obj_before=calculate_qp_objective(n,g,g0,init); + obj_after=calculate_qp_objective(n,g,g0,primal); + (*progress)=obj_before-obj_after; + if(verbosity>=3) { + printf("before(%.30f)...after(%.30f)...result_sd(%d)...", + obj_before,obj_after,result); + } + + return((int)result); +} + + +int solve_dual(n,m,precision,epsilon_crit,maxiter,g,g0,ce,ce0,low,up,primal, + d,d0,ig,dual,dual_old,temp,goal) + /* Solves the dual using the method of Hildreth and D'Espo. */ + /* Can only handle problems with zero or exactly one */ + /* equality constraints. */ + + long n; /* number of variables */ + long m; /* number of linear equality constraints */ + double precision; /* solve at least to this dual precision */ + double epsilon_crit; /* stop, if KT-Conditions approx fulfilled */ + long maxiter; /* stop after that many iterations */ + double *g; + double *g0; /* linear part of objective */ + double *ce,*ce0; /* linear equality constraints */ + double *low,*up; /* box constraints */ + double *primal; /* variables (with initial values) */ + double *d,*d0,*ig,*dual,*dual_old,*temp; /* buffer */ + long goal; +{ + long i,j,k,iter; + double sum,w,maxviol,viol,temp1,temp2,isnantest; + double model_b,dist; + long retrain,maxfaktor,primal_optimal=0,at_bound,scalemaxiter; + double epsilon_a=1E-15,epsilon_hideo; + double eq; + + if((m<0) || (m>1)) + perror("SOLVE DUAL: inappropriate number of eq-constrains!"); + + /* + printf("\n"); + for(i=0;i<n;i++) { + printf("%f: ",g0[i]); + for(j=0;j<n;j++) { + printf("%f ",g[i*n+j]); + } + printf(": a=%.30f",primal[i]); + printf(": y=%f\n",ce[i]); + } + */ + + for(i=0;i<2*(n+m);i++) { + dual[i]=0; + dual_old[i]=0; + } + for(i=0;i<n;i++) { + for(j=0;j<n;j++) { /* dual hessian for box constraints */ + d[i*2*(n+m)+j]=ig[i*n+j]; + d[(i+n)*2*(n+m)+j]=-ig[i*n+j]; + d[i*2*(n+m)+j+n]=-ig[i*n+j]; + d[(i+n)*2*(n+m)+j+n]=ig[i*n+j]; + } + if(m>0) { + sum=0; /* dual hessian for eq constraints */ + for(j=0;j<n;j++) { + sum+=(ce[j]*ig[i*n+j]); + } + d[i*2*(n+m)+2*n]=sum; + d[i*2*(n+m)+2*n+1]=-sum; + d[(n+i)*2*(n+m)+2*n]=-sum; + d[(n+i)*2*(n+m)+2*n+1]=sum; + d[(n+n)*2*(n+m)+i]=sum; + d[(n+n+1)*2*(n+m)+i]=-sum; + d[(n+n)*2*(n+m)+(n+i)]=-sum; + d[(n+n+1)*2*(n+m)+(n+i)]=sum; + + sum=0; + for(j=0;j<n;j++) { + for(k=0;k<n;k++) { + sum+=(ce[k]*ce[j]*ig[j*n+k]); + } + } + d[(n+n)*2*(n+m)+2*n]=sum; + d[(n+n)*2*(n+m)+2*n+1]=-sum; + d[(n+n+1)*2*(n+m)+2*n]=-sum; + d[(n+n+1)*2*(n+m)+2*n+1]=sum; + } + } + + for(i=0;i<n;i++) { /* dual linear component for the box constraints */ + w=0; + for(j=0;j<n;j++) { + w+=(ig[i*n+j]*g0[j]); + } + d0[i]=up[i]+w; + d0[i+n]=-low[i]-w; + } + + if(m>0) { + sum=0; /* dual linear component for eq constraints */ + for(j=0;j<n;j++) { + for(k=0;k<n;k++) { + sum+=(ce[k]*ig[k*n+j]*g0[j]); + } + } + d0[2*n]=ce0[0]+sum; + d0[2*n+1]=-ce0[0]-sum; + } + + maxviol=999999; + iter=0; + retrain=1; + maxfaktor=1; + scalemaxiter=maxiter/5; + while((retrain) && (maxviol > 0) && (iter < (scalemaxiter*maxfaktor))) { + iter++; + + while((maxviol > precision) && (iter < (scalemaxiter*maxfaktor))) { + iter++; + maxviol=0; + for(i=0;i<2*(n+m);i++) { + sum=d0[i]; + for(j=0;j<2*(n+m);j++) { + sum+=d[i*2*(n+m)+j]*dual_old[j]; + } + sum-=d[i*2*(n+m)+i]*dual_old[i]; + dual[i]=-sum/d[i*2*(n+m)+i]; + if(dual[i]<0) dual[i]=0; + + viol=fabs(dual[i]-dual_old[i]); + if(viol>maxviol) + maxviol=viol; + dual_old[i]=dual[i]; + } + /* + printf("%d) maxviol=%20f precision=%f\n",iter,maxviol,precision); + */ + } + + if(m>0) { + for(i=0;i<n;i++) { + temp[i]=dual[i]-dual[i+n]+ce[i]*(dual[n+n]-dual[n+n+1])+g0[i]; + } + } + else { + for(i=0;i<n;i++) { + temp[i]=dual[i]-dual[i+n]+g0[i]; + } + } + for(i=0;i<n;i++) { + primal[i]=0; /* calc value of primal variables */ + for(j=0;j<n;j++) { + primal[i]+=ig[i*n+j]*temp[j]; + } + primal[i]*=-1.0; + if(primal[i]<=(low[i])) { /* clip conservatively */ + primal[i]=low[i]; + } + else if(primal[i]>=(up[i])) { + primal[i]=up[i]; + } + } + + if(m>0) + model_b=dual[n+n+1]-dual[n+n]; + else + model_b=0; + + epsilon_hideo=EPSILON_HIDEO; + for(i=0;i<n;i++) { /* check precision of alphas */ + dist=-model_b*ce[i]; + dist+=(g0[i]+1.0); + for(j=0;j<i;j++) { + dist+=(primal[j]*g[j*n+i]); + } + for(j=i;j<n;j++) { + dist+=(primal[j]*g[i*n+j]); + } + if((primal[i]<(up[i]-epsilon_hideo)) && (dist < (1.0-epsilon_crit))) { + epsilon_hideo=(up[i]-primal[i])*2.0; + } + else if((primal[i]>(low[i]+epsilon_hideo)) &&(dist>(1.0+epsilon_crit))) { + epsilon_hideo=(primal[i]-low[i])*2.0; + } + } + /* printf("\nEPSILON_HIDEO=%.30f\n",epsilon_hideo); */ + + for(i=0;i<n;i++) { /* clip alphas to bounds */ + if(primal[i]<=(low[i]+epsilon_hideo)) { + primal[i]=low[i]; + } + else if(primal[i]>=(up[i]-epsilon_hideo)) { + primal[i]=up[i]; + } + } + + retrain=0; + primal_optimal=1; + at_bound=0; + for(i=0;(i<n);i++) { /* check primal KT-Conditions */ + dist=-model_b*ce[i]; + dist+=(g0[i]+1.0); + for(j=0;j<i;j++) { + dist+=(primal[j]*g[j*n+i]); + } + for(j=i;j<n;j++) { + dist+=(primal[j]*g[i*n+j]); + } + if((primal[i]<(up[i]-epsilon_a)) && (dist < (1.0-epsilon_crit))) { + retrain=1; + primal_optimal=0; + } + else if((primal[i]>(low[i]+epsilon_a)) && (dist > (1.0+epsilon_crit))) { + retrain=1; + primal_optimal=0; + } + if((primal[i]<=(low[i]+epsilon_a)) || (primal[i]>=(up[i]-epsilon_a))) { + at_bound++; + } + /* printf("HIDEOtemp: a[%ld]=%.30f, dist=%.6f, b=%f, at_bound=%ld\n",i,primal[i],dist,model_b,at_bound); */ + } + if(m>0) { + eq=-ce0[0]; /* check precision of eq-constraint */ + for(i=0;i<n;i++) { + eq+=(ce[i]*primal[i]); + } + if((EPSILON_EQ < fabs(eq)) + /* + && !((goal==PRIMAL_OPTIMAL) + && (at_bound==n)) */ + ) { + retrain=1; + primal_optimal=0; + } + /* printf("\n eq=%.30f ce0=%f at-bound=%ld\n",eq,ce0[0],at_bound); */ + } + + if(retrain) { + precision/=10; + if(((goal == PRIMAL_OPTIMAL) && (maxfaktor < 50000)) + || (maxfaktor < 5)) { + maxfaktor++; + } + } + } + + if(!primal_optimal) { + for(i=0;i<n;i++) { + primal[i]=0; /* calc value of primal variables */ + for(j=0;j<n;j++) { + primal[i]+=ig[i*n+j]*temp[j]; + } + primal[i]*=-1.0; + if(primal[i]<=(low[i]+epsilon_a)) { /* clip conservatively */ + primal[i]=low[i]; + } + else if(primal[i]>=(up[i]-epsilon_a)) { + primal[i]=up[i]; + } + } + } + + isnantest=0; + for(i=0;i<n;i++) { /* check for isnan */ + isnantest+=primal[i]; + } + + if(m>0) { + temp1=dual[n+n+1]; /* copy the dual variables for the eq */ + temp2=dual[n+n]; /* constraints to a handier location */ + for(i=n+n+1;i>=2;i--) { + dual[i]=dual[i-2]; + } + dual[0]=temp2; + dual[1]=temp1; + isnantest+=temp1+temp2; + } + + if(isnan(isnantest)) { + return((int)NAN_SOLUTION); + } + else if(primal_optimal) { + return((int)PRIMAL_OPTIMAL); + } + else if(maxviol == 0.0) { + return((int)DUAL_OPTIMAL); + } + else { + return((int)MAXITER_EXCEEDED); + } +} + + +void linvert_matrix(matrix,depth,inverse,lindep_sensitivity,lin_dependent) +double *matrix; +long depth; +double *inverse,lindep_sensitivity; +long *lin_dependent; /* indicates the active parts of matrix on + input and output*/ +{ + long i,j,k; + double factor; + + for(i=0;i<depth;i++) { + /* lin_dependent[i]=0; */ + for(j=0;j<depth;j++) { + inverse[i*depth+j]=0.0; + } + inverse[i*depth+i]=1.0; + } + for(i=0;i<depth;i++) { + if(lin_dependent[i] || (fabs(matrix[i*depth+i])<lindep_sensitivity)) { + lin_dependent[i]=1; + } + else { + for(j=i+1;j<depth;j++) { + factor=matrix[j*depth+i]/matrix[i*depth+i]; + for(k=i;k<depth;k++) { + matrix[j*depth+k]-=(factor*matrix[i*depth+k]); + } + for(k=0;k<depth;k++) { + inverse[j*depth+k]-=(factor*inverse[i*depth+k]); + } + } + } + } + for(i=depth-1;i>=0;i--) { + if(!lin_dependent[i]) { + factor=1/matrix[i*depth+i]; + for(k=0;k<depth;k++) { + inverse[i*depth+k]*=factor; + } + matrix[i*depth+i]=1; + for(j=i-1;j>=0;j--) { + factor=matrix[j*depth+i]; + matrix[j*depth+i]=0; + for(k=0;k<depth;k++) { + inverse[j*depth+k]-=(factor*inverse[i*depth+k]); + } + } + } + } +} + +void lprint_matrix(matrix,depth) +double *matrix; +long depth; +{ + long i,j; + for(i=0;i<depth;i++) { + for(j=0;j<depth;j++) { + printf("%5.2f ",(double)(matrix[i*depth+j])); + } + printf("\n"); + } + printf("\n"); +} + +void ladd_matrix(matrix,depth,scalar) +double *matrix; +long depth; +double scalar; +{ + long i,j; + for(i=0;i<depth;i++) { + for(j=0;j<depth;j++) { + matrix[i*depth+j]+=scalar; + } + } +} + +void lcopy_matrix(matrix,depth,matrix2) +double *matrix; +long depth; +double *matrix2; +{ + long i; + + for(i=0;i<(depth)*(depth);i++) { + matrix2[i]=matrix[i]; + } +} + +void lswitch_rows_matrix(matrix,depth,r1,r2) +double *matrix; +long depth,r1,r2; +{ + long i; + double temp; + + for(i=0;i<depth;i++) { + temp=matrix[r1*depth+i]; + matrix[r1*depth+i]=matrix[r2*depth+i]; + matrix[r2*depth+i]=temp; + } +} + +void lswitchrk_matrix(matrix,depth,rk1,rk2) +double *matrix; +long depth,rk1,rk2; +{ + long i; + double temp; + + for(i=0;i<depth;i++) { + temp=matrix[rk1*depth+i]; + matrix[rk1*depth+i]=matrix[rk2*depth+i]; + matrix[rk2*depth+i]=temp; + } + for(i=0;i<depth;i++) { + temp=matrix[i*depth+rk1]; + matrix[i*depth+rk1]=matrix[i*depth+rk2]; + matrix[i*depth+rk2]=temp; + } +} + +double calculate_qp_objective(opt_n,opt_g,opt_g0,alpha) +long opt_n; +double *opt_g,*opt_g0,*alpha; +{ + double obj; + long i,j; + obj=0; /* calculate objective */ + for(i=0;i<opt_n;i++) { + obj+=(opt_g0[i]*alpha[i]); + obj+=(0.5*alpha[i]*alpha[i]*opt_g[i*opt_n+i]); + for(j=0;j<i;j++) { + obj+=(alpha[j]*alpha[i]*opt_g[j*opt_n+i]); + } + } + return(obj); +} diff --git a/trunk/svm_light/build/svm_light-tar/svm_learn.c b/trunk/svm_light/build/svm_light-tar/svm_learn.c new file mode 100755 index 00000000..d2b5a89b --- /dev/null +++ b/trunk/svm_light/build/svm_light-tar/svm_learn.c @@ -0,0 +1,4650 @@ +/***********************************************************************/ +/* */ +/* svm_learn.c */ +/* */ +/* Learning module of Support Vector Machine. */ +/* */ +/* Author: Thorsten Joachims */ +/* Date: 02.07.02 */ +/* */ +/* Copyright (c) 2002 Thorsten Joachims - All rights reserved */ +/* */ +/* This software is available for non-commercial use only. It must */ +/* not be modified and distributed without prior permission of the */ +/* author. The author is not responsible for implications from the */ +/* use of this software. */ +/* */ +/***********************************************************************/ + + +# include "svm_common.h" +# include "svm_learn.h" + + +/* interface to QP-solver */ +double *optimize_qp(QP *, double *, long, double *, LEARN_PARM *); + +/*---------------------------------------------------------------------------*/ + +void svm_learn_classification_extend(DOC **docs, double *class, long int + totdoc, long int totwords, + LEARN_PARM *learn_parm, + KERNEL_PARM *kernel_parm, + KERNEL_CACHE *kernel_cache, + MODEL *model, + double *alpha, + int* nerrors, + double* maxerror) +{ + long *inconsistent, i, *label; + long inconsistentnum; + long misclassified, upsupvecnum; + double loss, model_length, example_length; + double maxdiff, *lin, *a, *c; + long runtime_start, runtime_end; + long iterations; + long *unlabeled, transduction; + long heldout; + long loo_count = 0, loo_count_pos = 0, loo_count_neg = 0, trainpos = 0, trainneg = 0; + long loocomputed = 0, runtime_start_loo = 0, runtime_start_xa = 0; + double heldout_c = 0, r_delta_sq = 0, r_delta, r_delta_avg; + long *index, *index2dnum; + double *weights; + CFLOAT *aicache; /* buffer to keep one row of hessian */ + + double *xi_fullset; /* buffer for storing xi on full sample in loo */ + double *a_fullset; /* buffer for storing alpha on full sample in loo */ + TIMING timing_profile; + SHRINK_STATE shrink_state; + + runtime_start = get_runtime(); + timing_profile.time_kernel = 0; + timing_profile.time_opti = 0; + timing_profile.time_shrink = 0; + timing_profile.time_update = 0; + timing_profile.time_model = 0; + timing_profile.time_check = 0; + timing_profile.time_select = 0; + kernel_cache_statistic = 0; + + learn_parm->totwords = totwords; + + /* make sure -n value is reasonable */ + if ((learn_parm->svm_newvarsinqp < 2) + || (learn_parm->svm_newvarsinqp > learn_parm->svm_maxqpsize)) + { + learn_parm->svm_newvarsinqp = learn_parm->svm_maxqpsize; + } + + init_shrink_state(&shrink_state, totdoc, (long)MAXSHRINK); + + label = (long *)my_malloc(sizeof(long) * totdoc); + inconsistent = (long *)my_malloc(sizeof(long) * totdoc); + unlabeled = (long *)my_malloc(sizeof(long) * totdoc); + c = (double *)my_malloc(sizeof(double) * totdoc); + a = (double *)my_malloc(sizeof(double) * totdoc); + a_fullset = (double *)my_malloc(sizeof(double) * totdoc); + xi_fullset = (double *)my_malloc(sizeof(double) * totdoc); + lin = (double *)my_malloc(sizeof(double) * totdoc); + learn_parm->svm_cost = (double *)my_malloc(sizeof(double) * totdoc); + model->supvec = (DOC **)my_malloc(sizeof(DOC *) * (totdoc + 2)); + model->alpha = (double *)my_malloc(sizeof(double) * (totdoc + 2)); + model->index = (long *)my_malloc(sizeof(long) * (totdoc + 2)); + + model->at_upper_bound = 0; + model->b = 0; + model->supvec[0] = 0; /* element 0 reserved and empty for now */ + model->alpha[0] = 0; + model->lin_weights = NULL; + model->totwords = totwords; + model->totdoc = totdoc; + model->kernel_parm = (*kernel_parm); + model->sv_num = 1; + model->loo_error = -1; + model->loo_recall = -1; + model->loo_precision = -1; + model->xa_error = -1; + model->xa_recall = -1; + model->xa_precision = -1; + inconsistentnum = 0; + transduction = 0; + + r_delta = estimate_r_delta(docs, totdoc, kernel_parm); + r_delta_sq = r_delta * r_delta; + + r_delta_avg = estimate_r_delta_average(docs, totdoc, kernel_parm); + if (learn_parm->svm_c == 0.0) /* default value for C */ + { + learn_parm->svm_c = 1.0 / (r_delta_avg * r_delta_avg); + if (verbosity >= 1) + printf("Setting default regularization parameter C=%.4f\n", + learn_parm->svm_c); + } + + learn_parm->eps = -1.0; /* equivalent regression epsilon for + classification */ + + for (i = 0; i < totdoc; i++) /* various inits */ + { + docs[i]->docnum = i; + inconsistent[i] = 0; + a[i] = 0; + lin[i] = 0; + c[i] = 0.0; + unlabeled[i] = 0; + if (class[i] == 0) + { + unlabeled[i] = 1; + label[i] = 0; + transduction = 1; + } + if (class[i] > 0) + { + learn_parm->svm_cost[i] = learn_parm->svm_c * learn_parm->svm_costratio * + docs[i]->costfactor; + label[i] = 1; + trainpos++; + } + else if (class[i] < 0) + { + learn_parm->svm_cost[i] = learn_parm->svm_c * docs[i]->costfactor; + label[i] = -1; + trainneg++; + } + else + { + learn_parm->svm_cost[i] = 0; + } + } + if (verbosity >= 2) + { + printf("%ld positive, %ld negative, and %ld unlabeled examples.\n", trainpos, trainneg, totdoc - trainpos - trainneg); + fflush(stdout); + } + + /* caching makes no sense for linear kernel */ + if (kernel_parm->kernel_type == LINEAR) + { + kernel_cache = NULL; + } + + /* compute starting state for initial alpha values */ + if (alpha) + { + if (verbosity >= 1) + { + printf("Computing starting state..."); + fflush(stdout); + } + index = (long *)my_malloc(sizeof(long) * totdoc); + index2dnum = (long *)my_malloc(sizeof(long) * (totdoc + 11)); + weights = (double *)my_malloc(sizeof(double) * (totwords + 1)); + aicache = (CFLOAT *)my_malloc(sizeof(CFLOAT) * totdoc); + for (i = 0; i < totdoc; i++) /* create full index and clip alphas */ + { + index[i] = 1; + alpha[i] = fabs(alpha[i]); + if (alpha[i] < 0) alpha[i] = 0; + if (alpha[i] > learn_parm->svm_cost[i]) alpha[i] = learn_parm->svm_cost[i]; + } + if (kernel_parm->kernel_type != LINEAR) + { + for (i = 0; i < totdoc; i++) /* fill kernel cache with unbounded SV */ + if ((alpha[i] > 0) && (alpha[i] < learn_parm->svm_cost[i]) + && (kernel_cache_space_available(kernel_cache))) + cache_kernel_row(kernel_cache, docs, i, kernel_parm); + for (i = 0; i < totdoc; i++) /* fill rest of kernel cache with bounded SV */ + if ((alpha[i] == learn_parm->svm_cost[i]) + && (kernel_cache_space_available(kernel_cache))) + cache_kernel_row(kernel_cache, docs, i, kernel_parm); + } + (void)compute_index(index, totdoc, index2dnum); + update_linear_component(docs, label, index2dnum, alpha, a, index2dnum, totdoc, + totwords, kernel_parm, kernel_cache, lin, aicache, + weights); + (void)calculate_svm_model(docs, label, unlabeled, lin, alpha, a, c, + learn_parm, index2dnum, index2dnum, model); + for (i = 0; i < totdoc; i++) /* copy initial alphas */ + { + a[i] = alpha[i]; + } + free(index); + free(index2dnum); + free(weights); + free(aicache); + if (verbosity >= 1) + { + printf("done.\n"); + fflush(stdout); + } + } + + if (transduction) + { + learn_parm->svm_iter_to_shrink = 99999999; + if (verbosity >= 1) + printf("\nDeactivating Shrinking due to an incompatibility with the transductive \nlearner in the current version.\n\n"); + } + + + if (transduction && learn_parm->compute_loo) + { + learn_parm->compute_loo = 0; + if (verbosity >= 1) + printf("\nCannot compute leave-one-out estimates for transductive learner.\n\n"); + } + + if (learn_parm->remove_inconsistent && learn_parm->compute_loo) + { + learn_parm->compute_loo = 0; + printf("\nCannot compute leave-one-out estimates when removing inconsistent examples.\n\n"); + } + + if (learn_parm->compute_loo && ((trainpos == 1) || (trainneg == 1))) + { + learn_parm->compute_loo = 0; + printf("\nCannot compute leave-one-out with only one example in one class.\n\n"); + } + + + if (verbosity == 1) + { + printf("Optimizing"); + fflush(stdout); + } + + /* train the svm */ + iterations = optimize_to_convergence(docs, label, totdoc, totwords, learn_parm, + kernel_parm, kernel_cache, &shrink_state, model, + inconsistent, unlabeled, a, lin, + c, &timing_profile, + &maxdiff, (long) - 1, + (long)1); + + misclassified = 0; + double maxerror_ = 0; + for (i = 0; (i < totdoc); i++) /* get final statistic */ + { + if ((lin[i] - model->b)*(double)label[i] <= 0.0) + { + misclassified++; + if(maxerror_ < -(lin[i] - model->b)*(double)label[i]) + maxerror_ = -(lin[i] - model->b)*(double)label[i]; + } + } + + *nerrors = misclassified; + *maxerror = maxerror_; + + if (verbosity >= 1) + { + if (verbosity == 1) printf("done. (%ld iterations)\n", iterations); + + misclassified = 0; + for (i = 0; (i < totdoc); i++) /* get final statistic */ + { + if ((lin[i] - model->b)*(double)label[i] <= 0.0) + misclassified++; + } + + printf("Optimization finished (%ld misclassified, maxdiff=%.5f).\n", + misclassified, maxdiff); + + runtime_end = get_runtime(); + if (verbosity >= 2) + { + printf("Runtime in cpu-seconds: %.2f (%.2f%% for kernel/%.2f%% for optimizer/%.2f%% for final/%.2f%% for update/%.2f%% for model/%.2f%% for check/%.2f%% for select)\n", + ((float)runtime_end - (float)runtime_start) / 100.0, + (100.0*timing_profile.time_kernel) / (float)(runtime_end - runtime_start), + (100.0*timing_profile.time_opti) / (float)(runtime_end - runtime_start), + (100.0*timing_profile.time_shrink) / (float)(runtime_end - runtime_start), + (100.0*timing_profile.time_update) / (float)(runtime_end - runtime_start), + (100.0*timing_profile.time_model) / (float)(runtime_end - runtime_start), + (100.0*timing_profile.time_check) / (float)(runtime_end - runtime_start), + (100.0*timing_profile.time_select) / (float)(runtime_end - runtime_start)); + } + else + { + printf("Runtime in cpu-seconds: %.2f\n", + (runtime_end - runtime_start) / 100.0); + } + + if (learn_parm->remove_inconsistent) + { + inconsistentnum = 0; + for (i = 0; i < totdoc; i++) + if (inconsistent[i]) + inconsistentnum++; + printf("Number of SV: %ld (plus %ld inconsistent examples)\n", + model->sv_num - 1, inconsistentnum); + } + else + { + upsupvecnum = 0; + for (i = 1; i < model->sv_num; i++) + { + if (fabs(model->alpha[i]) >= + (learn_parm->svm_cost[(model->supvec[i])->docnum] - + learn_parm->epsilon_a)) + upsupvecnum++; + } + printf("Number of SV: %ld (including %ld at upper bound)\n", + model->sv_num - 1, upsupvecnum); + } + + if ((verbosity >= 1) && (!learn_parm->skip_final_opt_check)) + { + loss = 0; + model_length = 0; + for (i = 0; i < totdoc; i++) + { + if ((lin[i] - model->b)*(double)label[i] < 1.0 - learn_parm->epsilon_crit) + loss += 1.0 - (lin[i] - model->b) * (double)label[i]; + model_length += a[i] * label[i] * lin[i]; + } + model_length = sqrt(model_length); + fprintf(stdout, "L1 loss: loss=%.5f\n", loss); + fprintf(stdout, "Norm of weight vector: |w|=%.5f\n", model_length); + example_length = estimate_sphere(model, kernel_parm); + fprintf(stdout, "Norm of longest example vector: |x|=%.5f\n", + length_of_longest_document_vector(docs, totdoc, kernel_parm)); + fprintf(stdout, "Estimated VCdim of classifier: VCdim<=%.5f\n", + estimate_margin_vcdim(model, model_length, example_length, + kernel_parm)); + if ((!learn_parm->remove_inconsistent) && (!transduction)) + { + runtime_start_xa = get_runtime(); + if (verbosity >= 1) + { + printf("Computing XiAlpha-estimates..."); + fflush(stdout); + } + compute_xa_estimates(model, label, unlabeled, totdoc, docs, lin, a, + kernel_parm, learn_parm, &(model->xa_error), + &(model->xa_recall), &(model->xa_precision)); + if (verbosity >= 1) + { + printf("done\n"); + } + printf("Runtime for XiAlpha-estimates in cpu-seconds: %.2f\n", + (get_runtime() - runtime_start_xa) / 100.0); + + fprintf(stdout, "XiAlpha-estimate of the error: error<=%.2f%% (rho=%.2f,depth=%ld)\n", + model->xa_error, learn_parm->rho, learn_parm->xa_depth); + fprintf(stdout, "XiAlpha-estimate of the recall: recall=>%.2f%% (rho=%.2f,depth=%ld)\n", + model->xa_recall, learn_parm->rho, learn_parm->xa_depth); + fprintf(stdout, "XiAlpha-estimate of the precision: precision=>%.2f%% (rho=%.2f,depth=%ld)\n", + model->xa_precision, learn_parm->rho, learn_parm->xa_depth); + } + else if (!learn_parm->remove_inconsistent) + { + estimate_transduction_quality(model, label, unlabeled, totdoc, docs, lin); + } + } + if (verbosity >= 1) + { + printf("Number of kernel evaluations: %ld\n", kernel_cache_statistic); + } + } + + + /* leave-one-out testing starts now */ + if (learn_parm->compute_loo) + { + /* save results of training on full dataset for leave-one-out */ + runtime_start_loo = get_runtime(); + for (i = 0; i < totdoc; i++) + { + xi_fullset[i] = 1.0 - ((lin[i] - model->b) * (double)label[i]); + if (xi_fullset[i] < 0) xi_fullset[i] = 0; + a_fullset[i] = a[i]; + } + if (verbosity >= 1) + { + printf("Computing leave-one-out"); + } + + /* repeat this loop for every held-out example */ + for (heldout = 0; (heldout < totdoc); heldout++) + { + if (learn_parm->rho*a_fullset[heldout]*r_delta_sq + xi_fullset[heldout] + < 1.0) + { + /* guaranteed to not produce a leave-one-out error */ + if (verbosity == 1) + { + printf("+"); + fflush(stdout); + } + } + else if (xi_fullset[heldout] > 1.0) + { + /* guaranteed to produce a leave-one-out error */ + loo_count++; + if (label[heldout] > 0) loo_count_pos++; + else loo_count_neg++; + if (verbosity == 1) + { + printf("-"); + fflush(stdout); + } + } + else + { + loocomputed++; + heldout_c = learn_parm->svm_cost[heldout]; /* set upper bound to zero */ + learn_parm->svm_cost[heldout] = 0; + /* make sure heldout example is not currently */ + /* shrunk away. Assumes that lin is up to date! */ + shrink_state.active[heldout] = 1; + if (verbosity >= 2) + printf("\nLeave-One-Out test on example %ld\n", heldout); + if (verbosity >= 1) + { + printf("(?[%ld]", heldout); + fflush(stdout); + } + + optimize_to_convergence(docs, label, totdoc, totwords, learn_parm, + kernel_parm, + kernel_cache, &shrink_state, model, inconsistent, unlabeled, + a, lin, c, &timing_profile, + &maxdiff, heldout, (long)2); + + /* printf("%.20f\n",(lin[heldout]-model->b)*(double)label[heldout]); */ + + if (((lin[heldout] - model->b)*(double)label[heldout]) <= 0.0) + { + loo_count++; /* there was a loo-error */ + if (label[heldout] > 0) loo_count_pos++; + else loo_count_neg++; + if (verbosity >= 1) + { + printf("-)"); + fflush(stdout); + } + } + else + { + if (verbosity >= 1) + { + printf("+)"); + fflush(stdout); + } + } + /* now we need to restore the original data set*/ + learn_parm->svm_cost[heldout] = heldout_c; /* restore upper bound */ + } + } /* end of leave-one-out loop */ + + + if (verbosity >= 1) + { + printf("\nRetrain on full problem"); + fflush(stdout); + } + optimize_to_convergence(docs, label, totdoc, totwords, learn_parm, + kernel_parm, + kernel_cache, &shrink_state, model, inconsistent, unlabeled, + a, lin, c, &timing_profile, + &maxdiff, (long) - 1, (long)1); + if (verbosity >= 1) + printf("done.\n"); + + + /* after all leave-one-out computed */ + model->loo_error = 100.0 * loo_count / (double)totdoc; + + model->loo_recall = (1.0 - (double)loo_count_pos / (double)trainpos) * 100.0; + model->loo_precision = (trainpos - loo_count_pos) / + (double)(trainpos - loo_count_pos + loo_count_neg) * 100.0; + if (verbosity >= 1) + { + fprintf(stdout, "Leave-one-out estimate of the error: error=%.2f%%\n", + model->loo_error); + fprintf(stdout, "Leave-one-out estimate of the recall: recall=%.2f%%\n", + model->loo_recall); + fprintf(stdout, "Leave-one-out estimate of the precision: precision=%.2f%%\n", + model->loo_precision); + fprintf(stdout, "Actual leave-one-outs computed: %ld (rho=%.2f)\n", + loocomputed, learn_parm->rho); + printf("Runtime for leave-one-out in cpu-seconds: %.2f\n", + (double)(get_runtime() - runtime_start_loo) / 100.0); + } + } + + if (learn_parm->alphafile[0]) + write_alphas(learn_parm->alphafile, a, label, totdoc); + + shrink_state_cleanup(&shrink_state); + free(label); + free(inconsistent); + free(unlabeled); + free(c); + free(a); + free(a_fullset); + free(xi_fullset); + free(lin); + free(learn_parm->svm_cost); +} + + +/* Learns an SVM classification model based on the training data in + docs/label. The resulting model is returned in the structure + model. */ + +void svm_learn_classification(DOC **docs, double *class, long int + totdoc, long int totwords, + LEARN_PARM *learn_parm, + KERNEL_PARM *kernel_parm, + KERNEL_CACHE *kernel_cache, + MODEL *model, + double *alpha) + /* docs: Training vectors (x-part) */ + /* class: Training labels (y-part, zero if test example for + transduction) */ + /* totdoc: Number of examples in docs/label */ + /* totwords: Number of features (i.e. highest feature index) */ + /* learn_parm: Learning paramenters */ + /* kernel_parm: Kernel paramenters */ + /* kernel_cache:Initialized Cache of size totdoc, if using a kernel. + NULL if linear.*/ + /* model: Returns learning result (assumed empty before called) */ + /* alpha: Start values for the alpha variables or NULL + pointer. The new alpha values are returned after + optimization if not NULL. Array must be of size totdoc. */ +{ + long *inconsistent,i,*label; + long inconsistentnum; + long misclassified,upsupvecnum; + double loss,model_length,example_length; + double maxdiff,*lin,*a,*c; + long runtime_start,runtime_end; + long iterations; + long *unlabeled,transduction; + long heldout; + long loo_count=0,loo_count_pos=0,loo_count_neg=0,trainpos=0,trainneg=0; + long loocomputed=0,runtime_start_loo=0,runtime_start_xa=0; + double heldout_c=0,r_delta_sq=0,r_delta,r_delta_avg; + long *index,*index2dnum; + double *weights; + CFLOAT *aicache; /* buffer to keep one row of hessian */ + + double *xi_fullset; /* buffer for storing xi on full sample in loo */ + double *a_fullset; /* buffer for storing alpha on full sample in loo */ + TIMING timing_profile; + SHRINK_STATE shrink_state; + + runtime_start=get_runtime(); + timing_profile.time_kernel=0; + timing_profile.time_opti=0; + timing_profile.time_shrink=0; + timing_profile.time_update=0; + timing_profile.time_model=0; + timing_profile.time_check=0; + timing_profile.time_select=0; + kernel_cache_statistic=0; + + learn_parm->totwords=totwords; + + /* make sure -n value is reasonable */ + if((learn_parm->svm_newvarsinqp < 2) + || (learn_parm->svm_newvarsinqp > learn_parm->svm_maxqpsize)) { + learn_parm->svm_newvarsinqp=learn_parm->svm_maxqpsize; + } + + init_shrink_state(&shrink_state,totdoc,(long)MAXSHRINK); + + label = (long *)my_malloc(sizeof(long)*totdoc); + inconsistent = (long *)my_malloc(sizeof(long)*totdoc); + unlabeled = (long *)my_malloc(sizeof(long)*totdoc); + c = (double *)my_malloc(sizeof(double)*totdoc); + a = (double *)my_malloc(sizeof(double)*totdoc); + a_fullset = (double *)my_malloc(sizeof(double)*totdoc); + xi_fullset = (double *)my_malloc(sizeof(double)*totdoc); + lin = (double *)my_malloc(sizeof(double)*totdoc); + learn_parm->svm_cost = (double *)my_malloc(sizeof(double)*totdoc); + model->supvec = (DOC **)my_malloc(sizeof(DOC *)*(totdoc+2)); + model->alpha = (double *)my_malloc(sizeof(double)*(totdoc+2)); + model->index = (long *)my_malloc(sizeof(long)*(totdoc+2)); + + model->at_upper_bound=0; + model->b=0; + model->supvec[0]=0; /* element 0 reserved and empty for now */ + model->alpha[0]=0; + model->lin_weights=NULL; + model->totwords=totwords; + model->totdoc=totdoc; + model->kernel_parm=(*kernel_parm); + model->sv_num=1; + model->loo_error=-1; + model->loo_recall=-1; + model->loo_precision=-1; + model->xa_error=-1; + model->xa_recall=-1; + model->xa_precision=-1; + inconsistentnum=0; + transduction=0; + + r_delta=estimate_r_delta(docs,totdoc,kernel_parm); + r_delta_sq=r_delta*r_delta; + + r_delta_avg=estimate_r_delta_average(docs,totdoc,kernel_parm); + if(learn_parm->svm_c == 0.0) { /* default value for C */ + learn_parm->svm_c=1.0/(r_delta_avg*r_delta_avg); + if(verbosity>=1) + printf("Setting default regularization parameter C=%.4f\n", + learn_parm->svm_c); + } + + learn_parm->eps=-1.0; /* equivalent regression epsilon for + classification */ + + for(i=0;i<totdoc;i++) { /* various inits */ + docs[i]->docnum=i; + inconsistent[i]=0; + a[i]=0; + lin[i]=0; + c[i]=0.0; + unlabeled[i]=0; + if(class[i] == 0) { + unlabeled[i]=1; + label[i]=0; + transduction=1; + } + if(class[i] > 0) { + learn_parm->svm_cost[i]=learn_parm->svm_c*learn_parm->svm_costratio* + docs[i]->costfactor; + label[i]=1; + trainpos++; + } + else if(class[i] < 0) { + learn_parm->svm_cost[i]=learn_parm->svm_c*docs[i]->costfactor; + label[i]=-1; + trainneg++; + } + else { + learn_parm->svm_cost[i]=0; + } + } + if(verbosity>=2) { + printf("%ld positive, %ld negative, and %ld unlabeled examples.\n",trainpos,trainneg,totdoc-trainpos-trainneg); fflush(stdout); + } + + /* caching makes no sense for linear kernel */ + if(kernel_parm->kernel_type == LINEAR) { + kernel_cache = NULL; + } + + /* compute starting state for initial alpha values */ + if(alpha) { + if(verbosity>=1) { + printf("Computing starting state..."); fflush(stdout); + } + index = (long *)my_malloc(sizeof(long)*totdoc); + index2dnum = (long *)my_malloc(sizeof(long)*(totdoc+11)); + weights=(double *)my_malloc(sizeof(double)*(totwords+1)); + aicache = (CFLOAT *)my_malloc(sizeof(CFLOAT)*totdoc); + for(i=0;i<totdoc;i++) { /* create full index and clip alphas */ + index[i]=1; + alpha[i]=fabs(alpha[i]); + if(alpha[i]<0) alpha[i]=0; + if(alpha[i]>learn_parm->svm_cost[i]) alpha[i]=learn_parm->svm_cost[i]; + } + if(kernel_parm->kernel_type != LINEAR) { + for(i=0;i<totdoc;i++) /* fill kernel cache with unbounded SV */ + if((alpha[i]>0) && (alpha[i]<learn_parm->svm_cost[i]) + && (kernel_cache_space_available(kernel_cache))) + cache_kernel_row(kernel_cache,docs,i,kernel_parm); + for(i=0;i<totdoc;i++) /* fill rest of kernel cache with bounded SV */ + if((alpha[i]==learn_parm->svm_cost[i]) + && (kernel_cache_space_available(kernel_cache))) + cache_kernel_row(kernel_cache,docs,i,kernel_parm); + } + (void)compute_index(index,totdoc,index2dnum); + update_linear_component(docs,label,index2dnum,alpha,a,index2dnum,totdoc, + totwords,kernel_parm,kernel_cache,lin,aicache, + weights); + (void)calculate_svm_model(docs,label,unlabeled,lin,alpha,a,c, + learn_parm,index2dnum,index2dnum,model); + for(i=0;i<totdoc;i++) { /* copy initial alphas */ + a[i]=alpha[i]; + } + free(index); + free(index2dnum); + free(weights); + free(aicache); + if(verbosity>=1) { + printf("done.\n"); fflush(stdout); + } + } + + if(transduction) { + learn_parm->svm_iter_to_shrink=99999999; + if(verbosity >= 1) + printf("\nDeactivating Shrinking due to an incompatibility with the transductive \nlearner in the current version.\n\n"); + } + + if(transduction && learn_parm->compute_loo) { + learn_parm->compute_loo=0; + if(verbosity >= 1) + printf("\nCannot compute leave-one-out estimates for transductive learner.\n\n"); + } + + if(learn_parm->remove_inconsistent && learn_parm->compute_loo) { + learn_parm->compute_loo=0; + printf("\nCannot compute leave-one-out estimates when removing inconsistent examples.\n\n"); + } + + if(learn_parm->compute_loo && ((trainpos == 1) || (trainneg == 1))) { + learn_parm->compute_loo=0; + printf("\nCannot compute leave-one-out with only one example in one class.\n\n"); + } + + + if(verbosity==1) { + printf("Optimizing"); fflush(stdout); + } + + /* train the svm */ + iterations=optimize_to_convergence(docs,label,totdoc,totwords,learn_parm, + kernel_parm,kernel_cache,&shrink_state,model, + inconsistent,unlabeled,a,lin, + c,&timing_profile, + &maxdiff,(long)-1, + (long)1); + + if(verbosity>=1) { + if(verbosity==1) printf("done. (%ld iterations)\n",iterations); + + misclassified=0; + for(i=0;(i<totdoc);i++) { /* get final statistic */ + if((lin[i]-model->b)*(double)label[i] <= 0.0) + misclassified++; + } + + printf("Optimization finished (%ld misclassified, maxdiff=%.5f).\n", + misclassified,maxdiff); + + runtime_end=get_runtime(); + if(verbosity>=2) { + printf("Runtime in cpu-seconds: %.2f (%.2f%% for kernel/%.2f%% for optimizer/%.2f%% for final/%.2f%% for update/%.2f%% for model/%.2f%% for check/%.2f%% for select)\n", + ((float)runtime_end-(float)runtime_start)/100.0, + (100.0*timing_profile.time_kernel)/(float)(runtime_end-runtime_start), + (100.0*timing_profile.time_opti)/(float)(runtime_end-runtime_start), + (100.0*timing_profile.time_shrink)/(float)(runtime_end-runtime_start), + (100.0*timing_profile.time_update)/(float)(runtime_end-runtime_start), + (100.0*timing_profile.time_model)/(float)(runtime_end-runtime_start), + (100.0*timing_profile.time_check)/(float)(runtime_end-runtime_start), + (100.0*timing_profile.time_select)/(float)(runtime_end-runtime_start)); + } + else { + printf("Runtime in cpu-seconds: %.2f\n", + (runtime_end-runtime_start)/100.0); + } + + if(learn_parm->remove_inconsistent) { + inconsistentnum=0; + for(i=0;i<totdoc;i++) + if(inconsistent[i]) + inconsistentnum++; + printf("Number of SV: %ld (plus %ld inconsistent examples)\n", + model->sv_num-1,inconsistentnum); + } + else { + upsupvecnum=0; + for(i=1;i<model->sv_num;i++) { + if(fabs(model->alpha[i]) >= + (learn_parm->svm_cost[(model->supvec[i])->docnum]- + learn_parm->epsilon_a)) + upsupvecnum++; + } + printf("Number of SV: %ld (including %ld at upper bound)\n", + model->sv_num-1,upsupvecnum); + } + + if((verbosity>=1) && (!learn_parm->skip_final_opt_check)) { + loss=0; + model_length=0; + for(i=0;i<totdoc;i++) { + if((lin[i]-model->b)*(double)label[i] < 1.0-learn_parm->epsilon_crit) + loss+=1.0-(lin[i]-model->b)*(double)label[i]; + model_length+=a[i]*label[i]*lin[i]; + } + model_length=sqrt(model_length); + fprintf(stdout,"L1 loss: loss=%.5f\n",loss); + fprintf(stdout,"Norm of weight vector: |w|=%.5f\n",model_length); + example_length=estimate_sphere(model,kernel_parm); + fprintf(stdout,"Norm of longest example vector: |x|=%.5f\n", + length_of_longest_document_vector(docs,totdoc,kernel_parm)); + fprintf(stdout,"Estimated VCdim of classifier: VCdim<=%.5f\n", + estimate_margin_vcdim(model,model_length,example_length, + kernel_parm)); + if((!learn_parm->remove_inconsistent) && (!transduction)) { + runtime_start_xa=get_runtime(); + if(verbosity>=1) { + printf("Computing XiAlpha-estimates..."); fflush(stdout); + } + compute_xa_estimates(model,label,unlabeled,totdoc,docs,lin,a, + kernel_parm,learn_parm,&(model->xa_error), + &(model->xa_recall),&(model->xa_precision)); + if(verbosity>=1) { + printf("done\n"); + } + printf("Runtime for XiAlpha-estimates in cpu-seconds: %.2f\n", + (get_runtime()-runtime_start_xa)/100.0); + + fprintf(stdout,"XiAlpha-estimate of the error: error<=%.2f%% (rho=%.2f,depth=%ld)\n", + model->xa_error,learn_parm->rho,learn_parm->xa_depth); + fprintf(stdout,"XiAlpha-estimate of the recall: recall=>%.2f%% (rho=%.2f,depth=%ld)\n", + model->xa_recall,learn_parm->rho,learn_parm->xa_depth); + fprintf(stdout,"XiAlpha-estimate of the precision: precision=>%.2f%% (rho=%.2f,depth=%ld)\n", + model->xa_precision,learn_parm->rho,learn_parm->xa_depth); + } + else if(!learn_parm->remove_inconsistent) { + estimate_transduction_quality(model,label,unlabeled,totdoc,docs,lin); + } + } + if(verbosity>=1) { + printf("Number of kernel evaluations: %ld\n",kernel_cache_statistic); + } + } + + + /* leave-one-out testing starts now */ + if(learn_parm->compute_loo) { + /* save results of training on full dataset for leave-one-out */ + runtime_start_loo=get_runtime(); + for(i=0;i<totdoc;i++) { + xi_fullset[i]=1.0-((lin[i]-model->b)*(double)label[i]); + if(xi_fullset[i]<0) xi_fullset[i]=0; + a_fullset[i]=a[i]; + } + if(verbosity>=1) { + printf("Computing leave-one-out"); + } + + /* repeat this loop for every held-out example */ + for(heldout=0;(heldout<totdoc);heldout++) { + if(learn_parm->rho*a_fullset[heldout]*r_delta_sq+xi_fullset[heldout] + < 1.0) { + /* guaranteed to not produce a leave-one-out error */ + if(verbosity==1) { + printf("+"); fflush(stdout); + } + } + else if(xi_fullset[heldout] > 1.0) { + /* guaranteed to produce a leave-one-out error */ + loo_count++; + if(label[heldout] > 0) loo_count_pos++; else loo_count_neg++; + if(verbosity==1) { + printf("-"); fflush(stdout); + } + } + else { + loocomputed++; + heldout_c=learn_parm->svm_cost[heldout]; /* set upper bound to zero */ + learn_parm->svm_cost[heldout]=0; + /* make sure heldout example is not currently */ + /* shrunk away. Assumes that lin is up to date! */ + shrink_state.active[heldout]=1; + if(verbosity>=2) + printf("\nLeave-One-Out test on example %ld\n",heldout); + if(verbosity>=1) { + printf("(?[%ld]",heldout); fflush(stdout); + } + + optimize_to_convergence(docs,label,totdoc,totwords,learn_parm, + kernel_parm, + kernel_cache,&shrink_state,model,inconsistent,unlabeled, + a,lin,c,&timing_profile, + &maxdiff,heldout,(long)2); + + /* printf("%.20f\n",(lin[heldout]-model->b)*(double)label[heldout]); */ + + if(((lin[heldout]-model->b)*(double)label[heldout]) <= 0.0) { + loo_count++; /* there was a loo-error */ + if(label[heldout] > 0) loo_count_pos++; else loo_count_neg++; + if(verbosity>=1) { + printf("-)"); fflush(stdout); + } + } + else { + if(verbosity>=1) { + printf("+)"); fflush(stdout); + } + } + /* now we need to restore the original data set*/ + learn_parm->svm_cost[heldout]=heldout_c; /* restore upper bound */ + } + } /* end of leave-one-out loop */ + + + if(verbosity>=1) { + printf("\nRetrain on full problem"); fflush(stdout); + } + optimize_to_convergence(docs,label,totdoc,totwords,learn_parm, + kernel_parm, + kernel_cache,&shrink_state,model,inconsistent,unlabeled, + a,lin,c,&timing_profile, + &maxdiff,(long)-1,(long)1); + if(verbosity >= 1) + printf("done.\n"); + + + /* after all leave-one-out computed */ + model->loo_error=100.0*loo_count/(double)totdoc; + model->loo_recall=(1.0-(double)loo_count_pos/(double)trainpos)*100.0; + model->loo_precision=(trainpos-loo_count_pos)/ + (double)(trainpos-loo_count_pos+loo_count_neg)*100.0; + if(verbosity >= 1) { + fprintf(stdout,"Leave-one-out estimate of the error: error=%.2f%%\n", + model->loo_error); + fprintf(stdout,"Leave-one-out estimate of the recall: recall=%.2f%%\n", + model->loo_recall); + fprintf(stdout,"Leave-one-out estimate of the precision: precision=%.2f%%\n", + model->loo_precision); + fprintf(stdout,"Actual leave-one-outs computed: %ld (rho=%.2f)\n", + loocomputed,learn_parm->rho); + printf("Runtime for leave-one-out in cpu-seconds: %.2f\n", + (double)(get_runtime()-runtime_start_loo)/100.0); + } + } + + if(learn_parm->alphafile[0]) + write_alphas(learn_parm->alphafile,a,label,totdoc); + + shrink_state_cleanup(&shrink_state); + free(label); + free(inconsistent); + free(unlabeled); + free(c); + free(a); + free(a_fullset); + free(xi_fullset); + free(lin); + free(learn_parm->svm_cost); +} + + +/* Learns an SVM regression model based on the training data in + docs/label. The resulting model is returned in the structure + model. */ + +void svm_learn_regression(DOC **docs, double *value, long int totdoc, + long int totwords, LEARN_PARM *learn_parm, + KERNEL_PARM *kernel_parm, + KERNEL_CACHE **kernel_cache, MODEL *model) + /* docs: Training vectors (x-part) */ + /* class: Training value (y-part) */ + /* totdoc: Number of examples in docs/label */ + /* totwords: Number of features (i.e. highest feature index) */ + /* learn_parm: Learning paramenters */ + /* kernel_parm: Kernel paramenters */ + /* kernel_cache:Initialized Cache, if using a kernel. NULL if + linear. Note that it will be free'd and reassigned */ + /* model: Returns learning result (assumed empty before called) */ +{ + long *inconsistent,i,j; + long inconsistentnum; + long upsupvecnum; + double loss,model_length,example_length; + double maxdiff,*lin,*a,*c; + long runtime_start,runtime_end; + long iterations,kernel_cache_size; + long *unlabeled; + double r_delta_sq=0,r_delta,r_delta_avg; + double *xi_fullset; /* buffer for storing xi on full sample in loo */ + double *a_fullset; /* buffer for storing alpha on full sample in loo */ + TIMING timing_profile; + SHRINK_STATE shrink_state; + DOC **docs_org; + long *label; + + /* set up regression problem in standard form */ + docs_org=docs; + docs = (DOC **)my_malloc(sizeof(DOC)*2*totdoc); + label = (long *)my_malloc(sizeof(long)*2*totdoc); + c = (double *)my_malloc(sizeof(double)*2*totdoc); + for(i=0;i<totdoc;i++) { + j=2*totdoc-1-i; + docs[i]=create_example(i,0,0,docs_org[i]->costfactor,docs_org[i]->fvec); + label[i]=+1; + c[i]=value[i]; + docs[j]=create_example(j,0,0,docs_org[i]->costfactor,docs_org[i]->fvec); + label[j]=-1; + c[j]=value[i]; + } + totdoc*=2; + + /* need to get a bigger kernel cache */ + if(*kernel_cache) { + kernel_cache_size=(*kernel_cache)->buffsize*sizeof(CFLOAT)/(1024*1024); + kernel_cache_cleanup(*kernel_cache); + (*kernel_cache)=kernel_cache_init(totdoc,kernel_cache_size); + } + + runtime_start=get_runtime(); + timing_profile.time_kernel=0; + timing_profile.time_opti=0; + timing_profile.time_shrink=0; + timing_profile.time_update=0; + timing_profile.time_model=0; + timing_profile.time_check=0; + timing_profile.time_select=0; + kernel_cache_statistic=0; + + learn_parm->totwords=totwords; + + /* make sure -n value is reasonable */ + if((learn_parm->svm_newvarsinqp < 2) + || (learn_parm->svm_newvarsinqp > learn_parm->svm_maxqpsize)) { + learn_parm->svm_newvarsinqp=learn_parm->svm_maxqpsize; + } + + init_shrink_state(&shrink_state,totdoc,(long)MAXSHRINK); + + inconsistent = (long *)my_malloc(sizeof(long)*totdoc); + unlabeled = (long *)my_malloc(sizeof(long)*totdoc); + a = (double *)my_malloc(sizeof(double)*totdoc); + a_fullset = (double *)my_malloc(sizeof(double)*totdoc); + xi_fullset = (double *)my_malloc(sizeof(double)*totdoc); + lin = (double *)my_malloc(sizeof(double)*totdoc); + learn_parm->svm_cost = (double *)my_malloc(sizeof(double)*totdoc); + model->supvec = (DOC **)my_malloc(sizeof(DOC *)*(totdoc+2)); + model->alpha = (double *)my_malloc(sizeof(double)*(totdoc+2)); + model->index = (long *)my_malloc(sizeof(long)*(totdoc+2)); + + model->at_upper_bound=0; + model->b=0; + model->supvec[0]=0; /* element 0 reserved and empty for now */ + model->alpha[0]=0; + model->lin_weights=NULL; + model->totwords=totwords; + model->totdoc=totdoc; + model->kernel_parm=(*kernel_parm); + model->sv_num=1; + model->loo_error=-1; + model->loo_recall=-1; + model->loo_precision=-1; + model->xa_error=-1; + model->xa_recall=-1; + model->xa_precision=-1; + inconsistentnum=0; + + r_delta=estimate_r_delta(docs,totdoc,kernel_parm); + r_delta_sq=r_delta*r_delta; + + r_delta_avg=estimate_r_delta_average(docs,totdoc,kernel_parm); + if(learn_parm->svm_c == 0.0) { /* default value for C */ + learn_parm->svm_c=1.0/(r_delta_avg*r_delta_avg); + if(verbosity>=1) + printf("Setting default regularization parameter C=%.4f\n", + learn_parm->svm_c); + } + + for(i=0;i<totdoc;i++) { /* various inits */ + inconsistent[i]=0; + a[i]=0; + lin[i]=0; + unlabeled[i]=0; + if(label[i] > 0) { + learn_parm->svm_cost[i]=learn_parm->svm_c*learn_parm->svm_costratio* + docs[i]->costfactor; + } + else if(label[i] < 0) { + learn_parm->svm_cost[i]=learn_parm->svm_c*docs[i]->costfactor; + } + } + + /* caching makes no sense for linear kernel */ + if((kernel_parm->kernel_type == LINEAR) && (*kernel_cache)) { + printf("WARNING: Using a kernel cache for linear case will slow optimization down!\n"); + } + + if(verbosity==1) { + printf("Optimizing"); fflush(stdout); + } + + /* train the svm */ + iterations=optimize_to_convergence(docs,label,totdoc,totwords,learn_parm, + kernel_parm,*kernel_cache,&shrink_state, + model,inconsistent,unlabeled,a,lin,c, + &timing_profile,&maxdiff,(long)-1, + (long)1); + + if(verbosity>=1) { + if(verbosity==1) printf("done. (%ld iterations)\n",iterations); + + printf("Optimization finished (maxdiff=%.5f).\n",maxdiff); + + runtime_end=get_runtime(); + if(verbosity>=2) { + printf("Runtime in cpu-seconds: %.2f (%.2f%% for kernel/%.2f%% for optimizer/%.2f%% for final/%.2f%% for update/%.2f%% for model/%.2f%% for check/%.2f%% for select)\n", + ((float)runtime_end-(float)runtime_start)/100.0, + (100.0*timing_profile.time_kernel)/(float)(runtime_end-runtime_start), + (100.0*timing_profile.time_opti)/(float)(runtime_end-runtime_start), + (100.0*timing_profile.time_shrink)/(float)(runtime_end-runtime_start), + (100.0*timing_profile.time_update)/(float)(runtime_end-runtime_start), + (100.0*timing_profile.time_model)/(float)(runtime_end-runtime_start), + (100.0*timing_profile.time_check)/(float)(runtime_end-runtime_start), + (100.0*timing_profile.time_select)/(float)(runtime_end-runtime_start)); + } + else { + printf("Runtime in cpu-seconds: %.2f\n", + (runtime_end-runtime_start)/100.0); + } + + if(learn_parm->remove_inconsistent) { + inconsistentnum=0; + for(i=0;i<totdoc;i++) + if(inconsistent[i]) + inconsistentnum++; + printf("Number of SV: %ld (plus %ld inconsistent examples)\n", + model->sv_num-1,inconsistentnum); + } + else { + upsupvecnum=0; + for(i=1;i<model->sv_num;i++) { + if(fabs(model->alpha[i]) >= + (learn_parm->svm_cost[(model->supvec[i])->docnum]- + learn_parm->epsilon_a)) + upsupvecnum++; + } + printf("Number of SV: %ld (including %ld at upper bound)\n", + model->sv_num-1,upsupvecnum); + } + + if((verbosity>=1) && (!learn_parm->skip_final_opt_check)) { + loss=0; + model_length=0; + for(i=0;i<totdoc;i++) { + if((lin[i]-model->b)*(double)label[i] < (-learn_parm->eps+(double)label[i]*c[i])-learn_parm->epsilon_crit) + loss+=-learn_parm->eps+(double)label[i]*c[i]-(lin[i]-model->b)*(double)label[i]; + model_length+=a[i]*label[i]*lin[i]; + } + model_length=sqrt(model_length); + fprintf(stdout,"L1 loss: loss=%.5f\n",loss); + fprintf(stdout,"Norm of weight vector: |w|=%.5f\n",model_length); + example_length=estimate_sphere(model,kernel_parm); + fprintf(stdout,"Norm of longest example vector: |x|=%.5f\n", + length_of_longest_document_vector(docs,totdoc,kernel_parm)); + } + if(verbosity>=1) { + printf("Number of kernel evaluations: %ld\n",kernel_cache_statistic); + } + } + + if(learn_parm->alphafile[0]) + write_alphas(learn_parm->alphafile,a,label,totdoc); + + /* this makes sure the model we return does not contain pointers to the + temporary documents */ + for(i=1;i<model->sv_num;i++) { + j=model->supvec[i]->docnum; + if(j >= (totdoc/2)) { + j=totdoc-j-1; + } + model->supvec[i]=docs_org[j]; + } + + shrink_state_cleanup(&shrink_state); + for(i=0;i<totdoc;i++) + free_example(docs[i],0); + free(docs); + free(label); + free(inconsistent); + free(unlabeled); + free(c); + free(a); + free(a_fullset); + free(xi_fullset); + free(lin); + free(learn_parm->svm_cost); +} + +void svm_learn_ranking(DOC **docs, double *rankvalue, long int totdoc, + long int totwords, LEARN_PARM *learn_parm, + KERNEL_PARM *kernel_parm, KERNEL_CACHE **kernel_cache, + MODEL *model) + /* docs: Training vectors (x-part) */ + /* rankvalue: Training target values that determine the ranking */ + /* totdoc: Number of examples in docs/label */ + /* totwords: Number of features (i.e. highest feature index) */ + /* learn_parm: Learning paramenters */ + /* kernel_parm: Kernel paramenters */ + /* kernel_cache:Initialized pointer to Cache of size 1*totdoc, if + using a kernel. NULL if linear. NOTE: Cache is + getting reinitialized in this function */ + /* model: Returns learning result (assumed empty before called) */ +{ + DOC **docdiff; + long i,j,k,totpair,kernel_cache_size; + double *target,*alpha,cost; + long *greater,*lesser; + MODEL *pairmodel; + SVECTOR *flow,*fhigh; + + totpair=0; + for(i=0;i<totdoc;i++) { + for(j=i+1;j<totdoc;j++) { + if((docs[i]->queryid==docs[j]->queryid) && (rankvalue[i] != rankvalue[j])) { + totpair++; + } + } + } + + printf("Constructing %ld rank constraints...",totpair); fflush(stdout); + docdiff=(DOC **)my_malloc(sizeof(DOC)*totpair); + target=(double *)my_malloc(sizeof(double)*totpair); + greater=(long *)my_malloc(sizeof(long)*totpair); + lesser=(long *)my_malloc(sizeof(long)*totpair); + + k=0; + for(i=0;i<totdoc;i++) { + for(j=i+1;j<totdoc;j++) { + if(docs[i]->queryid == docs[j]->queryid) { + cost=(docs[i]->costfactor+docs[j]->costfactor)/2.0; + if(rankvalue[i] > rankvalue[j]) { + if(kernel_parm->kernel_type == LINEAR) + docdiff[k]=create_example(k,0,0,cost, + sub_ss(docs[i]->fvec,docs[j]->fvec)); + else { + flow=copy_svector(docs[j]->fvec); + flow->factor=-1.0; + flow->next=NULL; + fhigh=copy_svector(docs[i]->fvec); + fhigh->factor=1.0; + fhigh->next=flow; + docdiff[k]=create_example(k,0,0,cost,fhigh); + } + target[k]=1; + greater[k]=i; + lesser[k]=j; + k++; + } + else if(rankvalue[i] < rankvalue[j]) { + if(kernel_parm->kernel_type == LINEAR) + docdiff[k]=create_example(k,0,0,cost, + sub_ss(docs[i]->fvec,docs[j]->fvec)); + else { + flow=copy_svector(docs[j]->fvec); + flow->factor=-1.0; + flow->next=NULL; + fhigh=copy_svector(docs[i]->fvec); + fhigh->factor=1.0; + fhigh->next=flow; + docdiff[k]=create_example(k,0,0,cost,fhigh); + } + target[k]=-1; + greater[k]=i; + lesser[k]=j; + k++; + } + } + } + } + printf("done.\n"); fflush(stdout); + + /* need to get a bigger kernel cache */ + if(*kernel_cache) { + kernel_cache_size=(*kernel_cache)->buffsize*sizeof(CFLOAT)/(1024*1024); + kernel_cache_cleanup(*kernel_cache); + (*kernel_cache)=kernel_cache_init(totpair,kernel_cache_size); + } + + /* must use unbiased hyperplane on difference vectors */ + learn_parm->biased_hyperplane=0; + pairmodel=(MODEL *)my_malloc(sizeof(MODEL)); + svm_learn_classification(docdiff,target,totpair,totwords,learn_parm, + kernel_parm,(*kernel_cache),pairmodel,NULL); + + /* Transfer the result into a more compact model. If you would like + to output the original model on pairs of documents, see below. */ + alpha=(double *)my_malloc(sizeof(double)*totdoc); + for(i=0;i<totdoc;i++) { + alpha[i]=0; + } + for(i=1;i<pairmodel->sv_num;i++) { + alpha[lesser[(pairmodel->supvec[i])->docnum]]-=pairmodel->alpha[i]; + alpha[greater[(pairmodel->supvec[i])->docnum]]+=pairmodel->alpha[i]; + } + model->supvec = (DOC **)my_malloc(sizeof(DOC *)*(totdoc+2)); + model->alpha = (double *)my_malloc(sizeof(double)*(totdoc+2)); + model->index = (long *)my_malloc(sizeof(long)*(totdoc+2)); + model->supvec[0]=0; /* element 0 reserved and empty for now */ + model->alpha[0]=0; + model->sv_num=1; + for(i=0;i<totdoc;i++) { + if(alpha[i]) { + model->supvec[model->sv_num]=docs[i]; + model->alpha[model->sv_num]=alpha[i]; + model->index[i]=model->sv_num; + model->sv_num++; + } + else { + model->index[i]=-1; + } + } + model->at_upper_bound=0; + model->b=0; + model->lin_weights=NULL; + model->totwords=totwords; + model->totdoc=totdoc; + model->kernel_parm=(*kernel_parm); + model->loo_error=-1; + model->loo_recall=-1; + model->loo_precision=-1; + model->xa_error=-1; + model->xa_recall=-1; + model->xa_precision=-1; + + free(alpha); + free(greater); + free(lesser); + free(target); + + /* If you would like to output the original model on pairs of + document, replace the following lines with '(*model)=(*pairmodel);' */ + for(i=0;i<totpair;i++) + free_example(docdiff[i],1); + free(docdiff); + free_model(pairmodel,0); +} + + +/* The following solves a freely defined and given set of + inequalities. The optimization problem is of the following form: + + min 0.5 w*w + C sum_i C_i \xi_i + s.t. x_i * w > rhs_i - \xi_i + + This corresponds to the -z o option. */ + +void svm_learn_optimization(DOC **docs, double *rhs, long int + totdoc, long int totwords, + LEARN_PARM *learn_parm, + KERNEL_PARM *kernel_parm, + KERNEL_CACHE *kernel_cache, MODEL *model, + double *alpha) + /* docs: Left-hand side of inequalities (x-part) */ + /* rhs: Right-hand side of inequalities */ + /* totdoc: Number of examples in docs/label */ + /* totwords: Number of features (i.e. highest feature index) */ + /* learn_parm: Learning paramenters */ + /* kernel_parm: Kernel paramenters */ + /* kernel_cache:Initialized Cache of size 1*totdoc, if using a kernel. + NULL if linear.*/ + /* model: Returns solution as SV expansion (assumed empty before called) */ + /* alpha: Start values for the alpha variables or NULL + pointer. The new alpha values are returned after + optimization if not NULL. Array must be of size totdoc. */ +{ + long i,*label; + long misclassified,upsupvecnum; + double loss,model_length,example_length; + double maxdiff,*lin,*a,*c; + long runtime_start,runtime_end; + long iterations,maxslackid,svsetnum; + long *unlabeled,*inconsistent; + double r_delta_sq=0,r_delta,r_delta_avg; + long *index,*index2dnum; + double *weights,*slack,*alphaslack; + CFLOAT *aicache; /* buffer to keep one row of hessian */ + + TIMING timing_profile; + SHRINK_STATE shrink_state; + + runtime_start=get_runtime(); + timing_profile.time_kernel=0; + timing_profile.time_opti=0; + timing_profile.time_shrink=0; + timing_profile.time_update=0; + timing_profile.time_model=0; + timing_profile.time_check=0; + timing_profile.time_select=0; + kernel_cache_statistic=0; + + learn_parm->totwords=totwords; + + /* make sure -n value is reasonable */ + if((learn_parm->svm_newvarsinqp < 2) + || (learn_parm->svm_newvarsinqp > learn_parm->svm_maxqpsize)) { + learn_parm->svm_newvarsinqp=learn_parm->svm_maxqpsize; + } + + init_shrink_state(&shrink_state,totdoc,(long)MAXSHRINK); + + label = (long *)my_malloc(sizeof(long)*totdoc); + unlabeled = (long *)my_malloc(sizeof(long)*totdoc); + inconsistent = (long *)my_malloc(sizeof(long)*totdoc); + c = (double *)my_malloc(sizeof(double)*totdoc); + a = (double *)my_malloc(sizeof(double)*totdoc); + lin = (double *)my_malloc(sizeof(double)*totdoc); + learn_parm->svm_cost = (double *)my_malloc(sizeof(double)*totdoc); + model->supvec = (DOC **)my_malloc(sizeof(DOC *)*(totdoc+2)); + model->alpha = (double *)my_malloc(sizeof(double)*(totdoc+2)); + model->index = (long *)my_malloc(sizeof(long)*(totdoc+2)); + + model->at_upper_bound=0; + model->b=0; + model->supvec[0]=0; /* element 0 reserved and empty for now */ + model->alpha[0]=0; + model->lin_weights=NULL; + model->totwords=totwords; + model->totdoc=totdoc; + model->kernel_parm=(*kernel_parm); + model->sv_num=1; + model->loo_error=-1; + model->loo_recall=-1; + model->loo_precision=-1; + model->xa_error=-1; + model->xa_recall=-1; + model->xa_precision=-1; + + r_delta=estimate_r_delta(docs,totdoc,kernel_parm); + r_delta_sq=r_delta*r_delta; + + r_delta_avg=estimate_r_delta_average(docs,totdoc,kernel_parm); + if(learn_parm->svm_c == 0.0) { /* default value for C */ + learn_parm->svm_c=1.0/(r_delta_avg*r_delta_avg); + if(verbosity>=1) + printf("Setting default regularization parameter C=%.4f\n", + learn_parm->svm_c); + } + + learn_parm->biased_hyperplane=0; /* learn an unbiased hyperplane */ + + learn_parm->eps=0.0; /* No margin, unless explicitly handcoded + in the right-hand side in the training + set. */ + + for(i=0;i<totdoc;i++) { /* various inits */ + docs[i]->docnum=i; + a[i]=0; + lin[i]=0; + c[i]=rhs[i]; /* set right-hand side */ + unlabeled[i]=0; + inconsistent[i]=0; + learn_parm->svm_cost[i]=learn_parm->svm_c*learn_parm->svm_costratio* + docs[i]->costfactor; + label[i]=1; + } + if(learn_parm->sharedslack) /* if shared slacks are used, they must */ + for(i=0;i<totdoc;i++) /* be used on every constraint */ + if(!docs[i]->slackid) { + perror("Error: Missing shared slacks definitions in some of the examples."); + exit(0); + } + + /* compute starting state for initial alpha values */ + if(alpha) { + if(verbosity>=1) { + printf("Computing starting state..."); fflush(stdout); + } + index = (long *)my_malloc(sizeof(long)*totdoc); + index2dnum = (long *)my_malloc(sizeof(long)*(totdoc+11)); + weights=(double *)my_malloc(sizeof(double)*(totwords+1)); + aicache = (CFLOAT *)my_malloc(sizeof(CFLOAT)*totdoc); + for(i=0;i<totdoc;i++) { /* create full index and clip alphas */ + index[i]=1; + alpha[i]=fabs(alpha[i]); + if(alpha[i]<0) alpha[i]=0; + if(alpha[i]>learn_parm->svm_cost[i]) alpha[i]=learn_parm->svm_cost[i]; + } + if(kernel_parm->kernel_type != LINEAR) { + for(i=0;i<totdoc;i++) /* fill kernel cache with unbounded SV */ + if((alpha[i]>0) && (alpha[i]<learn_parm->svm_cost[i]) + && (kernel_cache_space_available(kernel_cache))) + cache_kernel_row(kernel_cache,docs,i,kernel_parm); + for(i=0;i<totdoc;i++) /* fill rest of kernel cache with bounded SV */ + if((alpha[i]==learn_parm->svm_cost[i]) + && (kernel_cache_space_available(kernel_cache))) + cache_kernel_row(kernel_cache,docs,i,kernel_parm); + } + (void)compute_index(index,totdoc,index2dnum); + update_linear_component(docs,label,index2dnum,alpha,a,index2dnum,totdoc, + totwords,kernel_parm,kernel_cache,lin,aicache, + weights); + (void)calculate_svm_model(docs,label,unlabeled,lin,alpha,a,c, + learn_parm,index2dnum,index2dnum,model); + for(i=0;i<totdoc;i++) { /* copy initial alphas */ + a[i]=alpha[i]; + } + free(index); + free(index2dnum); + free(weights); + free(aicache); + if(verbosity>=1) { + printf("done.\n"); fflush(stdout); + } + } + + /* removing inconsistent does not work for general optimization problem */ + if(learn_parm->remove_inconsistent) { + learn_parm->remove_inconsistent = 0; + printf("'remove inconsistent' not available in this mode. Switching option off!"); fflush(stdout); + } + + /* caching makes no sense for linear kernel */ + if(kernel_parm->kernel_type == LINEAR) { + kernel_cache = NULL; + } + + if(verbosity==1) { + printf("Optimizing"); fflush(stdout); + } + + /* train the svm */ + if(learn_parm->sharedslack) + iterations=optimize_to_convergence_sharedslack(docs,label,totdoc, + totwords,learn_parm,kernel_parm, + kernel_cache,&shrink_state,model, + a,lin,c,&timing_profile, + &maxdiff); + else + iterations=optimize_to_convergence(docs,label,totdoc, + totwords,learn_parm,kernel_parm, + kernel_cache,&shrink_state,model, + inconsistent,unlabeled, + a,lin,c,&timing_profile, + &maxdiff,(long)-1,(long)1); + + if(verbosity>=1) { + if(verbosity==1) printf("done. (%ld iterations)\n",iterations); + + misclassified=0; + for(i=0;(i<totdoc);i++) { /* get final statistic */ + if((lin[i]-model->b)*(double)label[i] <= 0.0) + misclassified++; + } + + printf("Optimization finished (maxdiff=%.5f).\n",maxdiff); + + runtime_end=get_runtime(); + if(verbosity>=2) { + printf("Runtime in cpu-seconds: %.2f (%.2f%% for kernel/%.2f%% for optimizer/%.2f%% for final/%.2f%% for update/%.2f%% for model/%.2f%% for check/%.2f%% for select)\n", + ((float)runtime_end-(float)runtime_start)/100.0, + (100.0*timing_profile.time_kernel)/(float)(runtime_end-runtime_start), + (100.0*timing_profile.time_opti)/(float)(runtime_end-runtime_start), + (100.0*timing_profile.time_shrink)/(float)(runtime_end-runtime_start), + (100.0*timing_profile.time_update)/(float)(runtime_end-runtime_start), + (100.0*timing_profile.time_model)/(float)(runtime_end-runtime_start), + (100.0*timing_profile.time_check)/(float)(runtime_end-runtime_start), + (100.0*timing_profile.time_select)/(float)(runtime_end-runtime_start)); + } + else { + printf("Runtime in cpu-seconds: %.2f\n", + (runtime_end-runtime_start)/100.0); + } + } + if((verbosity>=1) && (!learn_parm->skip_final_opt_check)) { + loss=0; + model_length=0; + for(i=0;i<totdoc;i++) { + if((lin[i]-model->b)*(double)label[i] < c[i]-learn_parm->epsilon_crit) + loss+=c[i]-(lin[i]-model->b)*(double)label[i]; + model_length+=a[i]*label[i]*lin[i]; + } + model_length=sqrt(model_length); + fprintf(stdout,"Norm of weight vector: |w|=%.5f\n",model_length); + } + + if(learn_parm->sharedslack) { + index = (long *)my_malloc(sizeof(long)*totdoc); + index2dnum = (long *)my_malloc(sizeof(long)*(totdoc+11)); + maxslackid=0; + for(i=0;i<totdoc;i++) { /* create full index */ + index[i]=1; + if(maxslackid<docs[i]->slackid) + maxslackid=docs[i]->slackid; + } + (void)compute_index(index,totdoc,index2dnum); + slack=(double *)my_malloc(sizeof(double)*(maxslackid+1)); + alphaslack=(double *)my_malloc(sizeof(double)*(maxslackid+1)); + for(i=0;i<=maxslackid;i++) { /* init shared slacks */ + slack[i]=0; + alphaslack[i]=0; + } + compute_shared_slacks(docs,label,a,lin,c,index2dnum,learn_parm, + slack,alphaslack); + loss=0; + model->at_upper_bound=0; + svsetnum=0; + for(i=0;i<=maxslackid;i++) { /* create full index */ + loss+=slack[i]; + if(alphaslack[i] > (learn_parm->svm_c - learn_parm->epsilon_a)) + model->at_upper_bound++; + if(alphaslack[i] > learn_parm->epsilon_a) + svsetnum++; + } + free(index); + free(index2dnum); + free(slack); + free(alphaslack); + } + + if((verbosity>=1) && (!learn_parm->skip_final_opt_check)) { + if(learn_parm->sharedslack) { + printf("Number of SV: %ld\n", + model->sv_num-1); + printf("Number of non-zero slack variables: %ld (out of %ld)\n", + model->at_upper_bound,svsetnum); + fprintf(stdout,"L1 loss: loss=%.5f\n",loss); + } + else { + upsupvecnum=0; + for(i=1;i<model->sv_num;i++) { + if(fabs(model->alpha[i]) >= + (learn_parm->svm_cost[(model->supvec[i])->docnum]- + learn_parm->epsilon_a)) + upsupvecnum++; + } + printf("Number of SV: %ld (including %ld at upper bound)\n", + model->sv_num-1,upsupvecnum); + fprintf(stdout,"L1 loss: loss=%.5f\n",loss); + } + example_length=estimate_sphere(model,kernel_parm); + fprintf(stdout,"Norm of longest example vector: |x|=%.5f\n", + length_of_longest_document_vector(docs,totdoc,kernel_parm)); + } + if(verbosity>=1) { + printf("Number of kernel evaluations: %ld\n",kernel_cache_statistic); + } + + if(alpha) { + for(i=0;i<totdoc;i++) { /* copy final alphas */ + alpha[i]=a[i]; + } + } + + if(learn_parm->alphafile[0]) + write_alphas(learn_parm->alphafile,a,label,totdoc); + + shrink_state_cleanup(&shrink_state); + free(label); + free(unlabeled); + free(inconsistent); + free(c); + free(a); + free(lin); + free(learn_parm->svm_cost); +} + + +long optimize_to_convergence(DOC **docs, long int *label, long int totdoc, + long int totwords, LEARN_PARM *learn_parm, + KERNEL_PARM *kernel_parm, + KERNEL_CACHE *kernel_cache, + SHRINK_STATE *shrink_state, MODEL *model, + long int *inconsistent, long int *unlabeled, + double *a, double *lin, double *c, + TIMING *timing_profile, double *maxdiff, + long int heldout, long int retrain) + /* docs: Training vectors (x-part) */ + /* label: Training labels/value (y-part, zero if test example for + transduction) */ + /* totdoc: Number of examples in docs/label */ + /* totwords: Number of features (i.e. highest feature index) */ + /* laern_parm: Learning paramenters */ + /* kernel_parm: Kernel paramenters */ + /* kernel_cache: Initialized/partly filled Cache, if using a kernel. + NULL if linear. */ + /* shrink_state: State of active variables */ + /* model: Returns learning result */ + /* inconsistent: examples thrown out as inconstistent */ + /* unlabeled: test examples for transduction */ + /* a: alphas */ + /* lin: linear component of gradient */ + /* c: right hand side of inequalities (margin) */ + /* maxdiff: returns maximum violation of KT-conditions */ + /* heldout: marks held-out example for leave-one-out (or -1) */ + /* retrain: selects training mode (1=regular / 2=holdout) */ +{ + long *chosen,*key,i,j,jj,*last_suboptimal_at,noshrink; + long inconsistentnum,choosenum,already_chosen=0,iteration; + long misclassified,supvecnum=0,*active2dnum,inactivenum; + long *working2dnum,*selexam; + long activenum; + double criterion,eq; + double *a_old; + long t0=0,t1=0,t2=0,t3=0,t4=0,t5=0,t6=0; /* timing */ + long transductcycle; + long transduction; + double epsilon_crit_org; + double bestmaxdiff; + long bestmaxdiffiter,terminate; + + double *selcrit; /* buffer for sorting */ + CFLOAT *aicache; /* buffer to keep one row of hessian */ + double *weights; /* buffer for weight vector in linear case */ + QP qp; /* buffer for one quadratic program */ + + epsilon_crit_org=learn_parm->epsilon_crit; /* save org */ + if(kernel_parm->kernel_type == LINEAR) { + learn_parm->epsilon_crit=2.0; + kernel_cache=NULL; /* caching makes no sense for linear kernel */ + } + learn_parm->epsilon_shrink=2; + (*maxdiff)=1; + + learn_parm->totwords=totwords; + + chosen = (long *)my_malloc(sizeof(long)*totdoc); + last_suboptimal_at = (long *)my_malloc(sizeof(long)*totdoc); + key = (long *)my_malloc(sizeof(long)*(totdoc+11)); + selcrit = (double *)my_malloc(sizeof(double)*totdoc); + selexam = (long *)my_malloc(sizeof(long)*totdoc); + a_old = (double *)my_malloc(sizeof(double)*totdoc); + aicache = (CFLOAT *)my_malloc(sizeof(CFLOAT)*totdoc); + working2dnum = (long *)my_malloc(sizeof(long)*(totdoc+11)); + active2dnum = (long *)my_malloc(sizeof(long)*(totdoc+11)); + qp.opt_ce = (double *)my_malloc(sizeof(double)*learn_parm->svm_maxqpsize); + qp.opt_ce0 = (double *)my_malloc(sizeof(double)); + qp.opt_g = (double *)my_malloc(sizeof(double)*learn_parm->svm_maxqpsize + *learn_parm->svm_maxqpsize); + qp.opt_g0 = (double *)my_malloc(sizeof(double)*learn_parm->svm_maxqpsize); + qp.opt_xinit = (double *)my_malloc(sizeof(double)*learn_parm->svm_maxqpsize); + qp.opt_low=(double *)my_malloc(sizeof(double)*learn_parm->svm_maxqpsize); + qp.opt_up=(double *)my_malloc(sizeof(double)*learn_parm->svm_maxqpsize); + weights=(double *)my_malloc(sizeof(double)*(totwords+1)); + + choosenum=0; + inconsistentnum=0; + transductcycle=0; + transduction=0; + if(!retrain) retrain=1; + iteration=1; + bestmaxdiffiter=1; + bestmaxdiff=999999999; + terminate=0; + + if(kernel_cache) { + kernel_cache->time=iteration; /* for lru cache */ + kernel_cache_reset_lru(kernel_cache); + } + + for(i=0;i<totdoc;i++) { /* various inits */ + chosen[i]=0; + a_old[i]=a[i]; + last_suboptimal_at[i]=1; + if(inconsistent[i]) + inconsistentnum++; + if(unlabeled[i]) { + transduction=1; + } + } + activenum=compute_index(shrink_state->active,totdoc,active2dnum); + inactivenum=totdoc-activenum; + clear_index(working2dnum); + + /* repeat this loop until we have convergence */ + for(;retrain && (!terminate);iteration++) { + + if(kernel_cache) + kernel_cache->time=iteration; /* for lru cache */ + if(verbosity>=2) { + printf( + "Iteration %ld: ",iteration); fflush(stdout); + } + else if(verbosity==1) { + printf("."); fflush(stdout); + } + + if(verbosity>=2) t0=get_runtime(); + if(verbosity>=3) { + printf("\nSelecting working set... "); fflush(stdout); + } + + if(learn_parm->svm_newvarsinqp>learn_parm->svm_maxqpsize) + learn_parm->svm_newvarsinqp=learn_parm->svm_maxqpsize; + + i=0; + for(jj=0;(j=working2dnum[jj])>=0;jj++) { /* clear working set */ + if((chosen[j]>=(learn_parm->svm_maxqpsize/ + minl(learn_parm->svm_maxqpsize, + learn_parm->svm_newvarsinqp))) + || (inconsistent[j]) + || (j == heldout)) { + chosen[j]=0; + choosenum--; + } + else { + chosen[j]++; + working2dnum[i++]=j; + } + } + working2dnum[i]=-1; + + if(retrain == 2) { + choosenum=0; + for(jj=0;(j=working2dnum[jj])>=0;jj++) { /* fully clear working set */ + chosen[j]=0; + } + clear_index(working2dnum); + for(i=0;i<totdoc;i++) { /* set inconsistent examples to zero (-i 1) */ + if((inconsistent[i] || (heldout==i)) && (a[i] != 0.0)) { + chosen[i]=99999; + choosenum++; + a[i]=0; + } + } + if(learn_parm->biased_hyperplane) { + eq=0; + for(i=0;i<totdoc;i++) { /* make sure we fulfill equality constraint */ + eq+=a[i]*label[i]; + } + for(i=0;(i<totdoc) && (fabs(eq) > learn_parm->epsilon_a);i++) { + if((eq*label[i] > 0) && (a[i] > 0)) { + chosen[i]=88888; + choosenum++; + if((eq*label[i]) > a[i]) { + eq-=(a[i]*label[i]); + a[i]=0; + } + else { + a[i]-=(eq*label[i]); + eq=0; + } + } + } + } + compute_index(chosen,totdoc,working2dnum); + } + else { /* select working set according to steepest gradient */ + if(iteration % 101) { + already_chosen=0; + if((minl(learn_parm->svm_newvarsinqp, + learn_parm->svm_maxqpsize-choosenum)>=4) + && (kernel_parm->kernel_type != LINEAR)) { + /* select part of the working set from cache */ + already_chosen=select_next_qp_subproblem_grad( + label,unlabeled,a,lin,c,totdoc, + (long)(minl(learn_parm->svm_maxqpsize-choosenum, + learn_parm->svm_newvarsinqp) + /2), + learn_parm,inconsistent,active2dnum, + working2dnum,selcrit,selexam,kernel_cache,1, + key,chosen); + choosenum+=already_chosen; + } + choosenum+=select_next_qp_subproblem_grad( + label,unlabeled,a,lin,c,totdoc, + minl(learn_parm->svm_maxqpsize-choosenum, + learn_parm->svm_newvarsinqp-already_chosen), + learn_parm,inconsistent,active2dnum, + working2dnum,selcrit,selexam,kernel_cache,0,key, + chosen); + } + else { /* once in a while, select a somewhat random working set + to get unlocked of infinite loops due to numerical + inaccuracies in the core qp-solver */ + choosenum+=select_next_qp_subproblem_rand( + label,unlabeled,a,lin,c,totdoc, + minl(learn_parm->svm_maxqpsize-choosenum, + learn_parm->svm_newvarsinqp), + learn_parm,inconsistent,active2dnum, + working2dnum,selcrit,selexam,kernel_cache,key, + chosen,iteration); + } + } + + if(verbosity>=2) { + printf(" %ld vectors chosen\n",choosenum); fflush(stdout); + } + + if(verbosity>=2) t1=get_runtime(); + + if(kernel_cache) + cache_multiple_kernel_rows(kernel_cache,docs,working2dnum, + choosenum,kernel_parm); + + if(verbosity>=2) t2=get_runtime(); + if(retrain != 2) { + optimize_svm(docs,label,unlabeled,inconsistent,0.0,chosen,active2dnum, + model,totdoc,working2dnum,choosenum,a,lin,c,learn_parm, + aicache,kernel_parm,&qp,&epsilon_crit_org); + } + + if(verbosity>=2) t3=get_runtime(); + update_linear_component(docs,label,active2dnum,a,a_old,working2dnum,totdoc, + totwords,kernel_parm,kernel_cache,lin,aicache, + weights); + + if(verbosity>=2) t4=get_runtime(); + supvecnum=calculate_svm_model(docs,label,unlabeled,lin,a,a_old,c, + learn_parm,working2dnum,active2dnum,model); + + if(verbosity>=2) t5=get_runtime(); + + /* The following computation of the objective function works only */ + /* relative to the active variables */ + if(verbosity>=3) { + criterion=compute_objective_function(a,lin,c,learn_parm->eps,label, + active2dnum); + printf("Objective function (over active variables): %.16f\n",criterion); + fflush(stdout); + } + + for(jj=0;(i=working2dnum[jj])>=0;jj++) { + a_old[i]=a[i]; + } + + if(retrain == 2) { /* reset inconsistent unlabeled examples */ + for(i=0;(i<totdoc);i++) { + if(inconsistent[i] && unlabeled[i]) { + inconsistent[i]=0; + label[i]=0; + } + } + } + + retrain=check_optimality(model,label,unlabeled,a,lin,c,totdoc,learn_parm, + maxdiff,epsilon_crit_org,&misclassified, + inconsistent,active2dnum,last_suboptimal_at, + iteration,kernel_parm); + + if(verbosity>=2) { + t6=get_runtime(); + timing_profile->time_select+=t1-t0; + timing_profile->time_kernel+=t2-t1; + timing_profile->time_opti+=t3-t2; + timing_profile->time_update+=t4-t3; + timing_profile->time_model+=t5-t4; + timing_profile->time_check+=t6-t5; + } + + /* checking whether optimizer got stuck */ + if((*maxdiff) < bestmaxdiff) { + bestmaxdiff=(*maxdiff); + bestmaxdiffiter=iteration; + } + if(iteration > (bestmaxdiffiter+learn_parm->maxiter)) { + /* long time no progress? */ + terminate=1; + retrain=0; + if(verbosity>=1) + printf("\nWARNING: Relaxing KT-Conditions due to slow progress! Terminating!\n"); + } + + noshrink=0; + if((!retrain) && (inactivenum>0) + && ((!learn_parm->skip_final_opt_check) + || (kernel_parm->kernel_type == LINEAR))) { + if(((verbosity>=1) && (kernel_parm->kernel_type != LINEAR)) + || (verbosity>=2)) { + if(verbosity==1) { + printf("\n"); + } + printf(" Checking optimality of inactive variables..."); + fflush(stdout); + } + t1=get_runtime(); + reactivate_inactive_examples(label,unlabeled,a,shrink_state,lin,c,totdoc, + totwords,iteration,learn_parm,inconsistent, + docs,kernel_parm,kernel_cache,model,aicache, + weights,maxdiff); + /* Update to new active variables. */ + activenum=compute_index(shrink_state->active,totdoc,active2dnum); + inactivenum=totdoc-activenum; + /* reset watchdog */ + bestmaxdiff=(*maxdiff); + bestmaxdiffiter=iteration; + /* termination criterion */ + noshrink=1; + retrain=0; + if((*maxdiff) > learn_parm->epsilon_crit) + retrain=1; + timing_profile->time_shrink+=get_runtime()-t1; + if(((verbosity>=1) && (kernel_parm->kernel_type != LINEAR)) + || (verbosity>=2)) { + printf("done.\n"); fflush(stdout); + printf(" Number of inactive variables = %ld\n",inactivenum); + } + } + + if((!retrain) && (learn_parm->epsilon_crit>(*maxdiff))) + learn_parm->epsilon_crit=(*maxdiff); + if((!retrain) && (learn_parm->epsilon_crit>epsilon_crit_org)) { + learn_parm->epsilon_crit/=2.0; + retrain=1; + noshrink=1; + } + if(learn_parm->epsilon_crit<epsilon_crit_org) + learn_parm->epsilon_crit=epsilon_crit_org; + + if(verbosity>=2) { + printf(" => (%ld SV (incl. %ld SV at u-bound), max violation=%.5f)\n", + supvecnum,model->at_upper_bound,(*maxdiff)); + fflush(stdout); + } + if(verbosity>=3) { + printf("\n"); + } + + if((!retrain) && (transduction)) { + for(i=0;(i<totdoc);i++) { + shrink_state->active[i]=1; + } + activenum=compute_index(shrink_state->active,totdoc,active2dnum); + inactivenum=0; + if(verbosity==1) printf("done\n"); + retrain=incorporate_unlabeled_examples(model,label,inconsistent, + unlabeled,a,lin,totdoc, + selcrit,selexam,key, + transductcycle,kernel_parm, + learn_parm); + epsilon_crit_org=learn_parm->epsilon_crit; + if(kernel_parm->kernel_type == LINEAR) + learn_parm->epsilon_crit=1; + transductcycle++; + /* reset watchdog */ + bestmaxdiff=(*maxdiff); + bestmaxdiffiter=iteration; + } + else if(((iteration % 10) == 0) && (!noshrink)) { + activenum=shrink_problem(docs,learn_parm,shrink_state,kernel_parm, + active2dnum,last_suboptimal_at,iteration,totdoc, + maxl((long)(activenum/10), + maxl((long)(totdoc/500),100)), + a,inconsistent); + inactivenum=totdoc-activenum; + if((kernel_cache) + && (supvecnum>kernel_cache->max_elems) + && ((kernel_cache->activenum-activenum)>maxl((long)(activenum/10),500))) { + kernel_cache_shrink(kernel_cache,totdoc, + minl((kernel_cache->activenum-activenum), + (kernel_cache->activenum-supvecnum)), + shrink_state->active); + } + } + + if((!retrain) && learn_parm->remove_inconsistent) { + if(verbosity>=1) { + printf(" Moving training errors to inconsistent examples..."); + fflush(stdout); + } + if(learn_parm->remove_inconsistent == 1) { + retrain=identify_inconsistent(a,label,unlabeled,totdoc,learn_parm, + &inconsistentnum,inconsistent); + } + else if(learn_parm->remove_inconsistent == 2) { + retrain=identify_misclassified(lin,label,unlabeled,totdoc, + model,&inconsistentnum,inconsistent); + } + else if(learn_parm->remove_inconsistent == 3) { + retrain=identify_one_misclassified(lin,label,unlabeled,totdoc, + model,&inconsistentnum,inconsistent); + } + if(retrain) { + if(kernel_parm->kernel_type == LINEAR) { /* reinit shrinking */ + learn_parm->epsilon_crit=2.0; + } + } + if(verbosity>=1) { + printf("done.\n"); + if(retrain) { + printf(" Now %ld inconsistent examples.\n",inconsistentnum); + } + } + } + } /* end of loop */ + + free(chosen); + free(last_suboptimal_at); + free(key); + free(selcrit); + free(selexam); + free(a_old); + free(aicache); + free(working2dnum); + free(active2dnum); + free(qp.opt_ce); + free(qp.opt_ce0); + free(qp.opt_g); + free(qp.opt_g0); + free(qp.opt_xinit); + free(qp.opt_low); + free(qp.opt_up); + free(weights); + + learn_parm->epsilon_crit=epsilon_crit_org; /* restore org */ + model->maxdiff=(*maxdiff); + + return(iteration); +} + +long optimize_to_convergence_sharedslack(DOC **docs, long int *label, + long int totdoc, + long int totwords, LEARN_PARM *learn_parm, + KERNEL_PARM *kernel_parm, + KERNEL_CACHE *kernel_cache, + SHRINK_STATE *shrink_state, MODEL *model, + double *a, double *lin, double *c, + TIMING *timing_profile, double *maxdiff) + /* docs: Training vectors (x-part) */ + /* label: Training labels/value (y-part, zero if test example for + transduction) */ + /* totdoc: Number of examples in docs/label */ + /* totwords: Number of features (i.e. highest feature index) */ + /* learn_parm: Learning paramenters */ + /* kernel_parm: Kernel paramenters */ + /* kernel_cache: Initialized/partly filled Cache, if using a kernel. + NULL if linear. */ + /* shrink_state: State of active variables */ + /* model: Returns learning result */ + /* a: alphas */ + /* lin: linear component of gradient */ + /* c: right hand side of inequalities (margin) */ + /* maxdiff: returns maximum violation of KT-conditions */ +{ + long *chosen,*key,i,j,jj,*last_suboptimal_at,noshrink,*unlabeled; + long *inconsistent,choosenum,already_chosen=0,iteration; + long misclassified,supvecnum=0,*active2dnum,inactivenum; + long *working2dnum,*selexam,*ignore; + long activenum,retrain,maxslackid,slackset,jointstep; + double criterion,eq_target; + double *a_old,*alphaslack; + long t0=0,t1=0,t2=0,t3=0,t4=0,t5=0,t6=0; /* timing */ + double epsilon_crit_org,maxsharedviol; + double bestmaxdiff; + long bestmaxdiffiter,terminate; + + double *selcrit; /* buffer for sorting */ + CFLOAT *aicache; /* buffer to keep one row of hessian */ + double *weights; /* buffer for weight vector in linear case */ + QP qp; /* buffer for one quadratic program */ + double *slack; /* vector of slack variables for optimization with + shared slacks */ + + epsilon_crit_org=learn_parm->epsilon_crit; /* save org */ + if(kernel_parm->kernel_type == LINEAR) { + learn_parm->epsilon_crit=2.0; + kernel_cache=NULL; /* caching makes no sense for linear kernel */ + } + learn_parm->epsilon_shrink=2; + (*maxdiff)=1; + + learn_parm->totwords=totwords; + + chosen = (long *)my_malloc(sizeof(long)*totdoc); + unlabeled = (long *)my_malloc(sizeof(long)*totdoc); + inconsistent = (long *)my_malloc(sizeof(long)*totdoc); + ignore = (long *)my_malloc(sizeof(long)*totdoc); + key = (long *)my_malloc(sizeof(long)*(totdoc+11)); + selcrit = (double *)my_malloc(sizeof(double)*totdoc); + selexam = (long *)my_malloc(sizeof(long)*totdoc); + a_old = (double *)my_malloc(sizeof(double)*totdoc); + aicache = (CFLOAT *)my_malloc(sizeof(CFLOAT)*totdoc); + working2dnum = (long *)my_malloc(sizeof(long)*(totdoc+11)); + active2dnum = (long *)my_malloc(sizeof(long)*(totdoc+11)); + qp.opt_ce = (double *)my_malloc(sizeof(double)*learn_parm->svm_maxqpsize); + qp.opt_ce0 = (double *)my_malloc(sizeof(double)); + qp.opt_g = (double *)my_malloc(sizeof(double)*learn_parm->svm_maxqpsize + *learn_parm->svm_maxqpsize); + qp.opt_g0 = (double *)my_malloc(sizeof(double)*learn_parm->svm_maxqpsize); + qp.opt_xinit = (double *)my_malloc(sizeof(double)*learn_parm->svm_maxqpsize); + qp.opt_low=(double *)my_malloc(sizeof(double)*learn_parm->svm_maxqpsize); + qp.opt_up=(double *)my_malloc(sizeof(double)*learn_parm->svm_maxqpsize); + weights=(double *)my_malloc(sizeof(double)*(totwords+1)); + maxslackid=0; + for(i=0;i<totdoc;i++) { /* determine size of slack array */ + if(maxslackid<docs[i]->slackid) + maxslackid=docs[i]->slackid; + } + slack=(double *)my_malloc(sizeof(double)*(maxslackid+1)); + alphaslack=(double *)my_malloc(sizeof(double)*(maxslackid+1)); + last_suboptimal_at = (long *)my_malloc(sizeof(long)*(maxslackid+1)); + for(i=0;i<=maxslackid;i++) { /* init shared slacks */ + slack[i]=0; + alphaslack[i]=0; + last_suboptimal_at[i]=1; + } + + choosenum=0; + retrain=1; + iteration=1; + bestmaxdiffiter=1; + bestmaxdiff=999999999; + terminate=0; + + if(kernel_cache) { + kernel_cache->time=iteration; /* for lru cache */ + kernel_cache_reset_lru(kernel_cache); + } + + for(i=0;i<totdoc;i++) { /* various inits */ + chosen[i]=0; + unlabeled[i]=0; + inconsistent[i]=0; + ignore[i]=0; + a_old[i]=a[i]; + } + activenum=compute_index(shrink_state->active,totdoc,active2dnum); + inactivenum=totdoc-activenum; + clear_index(working2dnum); + + /* call to init slack and alphaslack */ + compute_shared_slacks(docs,label,a,lin,c,active2dnum,learn_parm, + slack,alphaslack); + + /* repeat this loop until we have convergence */ + for(;retrain && (!terminate);iteration++) { + + if(kernel_cache) + kernel_cache->time=iteration; /* for lru cache */ + if(verbosity>=2) { + printf( + "Iteration %ld: ",iteration); fflush(stdout); + } + else if(verbosity==1) { + printf("."); fflush(stdout); + } + + if(verbosity>=2) t0=get_runtime(); + if(verbosity>=3) { + printf("\nSelecting working set... "); fflush(stdout); + } + + if(learn_parm->svm_newvarsinqp>learn_parm->svm_maxqpsize) + learn_parm->svm_newvarsinqp=learn_parm->svm_maxqpsize; + + /* select working set according to steepest gradient */ + jointstep=0; + eq_target=0; + if(iteration % 101) { + slackset=select_next_qp_slackset(docs,label,a,lin,slack,alphaslack,c, + learn_parm,active2dnum,&maxsharedviol); + if((iteration % 2) + || (!slackset) || (maxsharedviol<learn_parm->epsilon_crit)){ + /* do a step with examples from different slack sets */ + if(verbosity >= 2) { + printf("(i-step)"); fflush(stdout); + } + i=0; + for(jj=0;(j=working2dnum[jj])>=0;jj++) { /* clear old part of working set */ + if((chosen[j]>=(learn_parm->svm_maxqpsize/ + minl(learn_parm->svm_maxqpsize, + learn_parm->svm_newvarsinqp)))) { + chosen[j]=0; + choosenum--; + } + else { + chosen[j]++; + working2dnum[i++]=j; + } + } + working2dnum[i]=-1; + + already_chosen=0; + if((minl(learn_parm->svm_newvarsinqp, + learn_parm->svm_maxqpsize-choosenum)>=4) + && (kernel_parm->kernel_type != LINEAR)) { + /* select part of the working set from cache */ + already_chosen=select_next_qp_subproblem_grad( + label,unlabeled,a,lin,c,totdoc, + (long)(minl(learn_parm->svm_maxqpsize-choosenum, + learn_parm->svm_newvarsinqp) + /2), + learn_parm,inconsistent,active2dnum, + working2dnum,selcrit,selexam,kernel_cache, + (long)1,key,chosen); + choosenum+=already_chosen; + } + choosenum+=select_next_qp_subproblem_grad( + label,unlabeled,a,lin,c,totdoc, + minl(learn_parm->svm_maxqpsize-choosenum, + learn_parm->svm_newvarsinqp-already_chosen), + learn_parm,inconsistent,active2dnum, + working2dnum,selcrit,selexam,kernel_cache, + (long)0,key,chosen); + } + else { /* do a step with all examples from same slack set */ + if(verbosity >= 2) { + printf("(j-step on %ld)",slackset); fflush(stdout); + } + jointstep=1; + for(jj=0;(j=working2dnum[jj])>=0;jj++) { /* clear working set */ + chosen[j]=0; + } + working2dnum[0]=-1; + eq_target=alphaslack[slackset]; + for(j=0;j<totdoc;j++) { /* mask all but slackset */ + /* for(jj=0;(j=active2dnum[jj])>=0;jj++) { */ + if(docs[j]->slackid != slackset) + ignore[j]=1; + else { + ignore[j]=0; + learn_parm->svm_cost[j]=learn_parm->svm_c; + /* printf("Inslackset(%ld,%ld)",j,shrink_state->active[j]); */ + } + } + learn_parm->biased_hyperplane=1; + choosenum=select_next_qp_subproblem_grad( + label,unlabeled,a,lin,c,totdoc, + learn_parm->svm_maxqpsize, + learn_parm,ignore,active2dnum, + working2dnum,selcrit,selexam,kernel_cache, + (long)0,key,chosen); + learn_parm->biased_hyperplane=0; + } + } + else { /* once in a while, select a somewhat random working set + to get unlocked of infinite loops due to numerical + inaccuracies in the core qp-solver */ + choosenum+=select_next_qp_subproblem_rand( + label,unlabeled,a,lin,c,totdoc, + minl(learn_parm->svm_maxqpsize-choosenum, + learn_parm->svm_newvarsinqp), + learn_parm,inconsistent,active2dnum, + working2dnum,selcrit,selexam,kernel_cache,key, + chosen,iteration); + } + + if(verbosity>=2) { + printf(" %ld vectors chosen\n",choosenum); fflush(stdout); + } + + if(verbosity>=2) t1=get_runtime(); + + if(kernel_cache) + cache_multiple_kernel_rows(kernel_cache,docs,working2dnum, + choosenum,kernel_parm); + + if(verbosity>=2) t2=get_runtime(); + if(jointstep) learn_parm->biased_hyperplane=1; + optimize_svm(docs,label,unlabeled,ignore,eq_target,chosen,active2dnum, + model,totdoc,working2dnum,choosenum,a,lin,c,learn_parm, + aicache,kernel_parm,&qp,&epsilon_crit_org); + learn_parm->biased_hyperplane=0; + + for(jj=0;(i=working2dnum[jj])>=0;jj++) /* recompute sums of alphas */ + alphaslack[docs[i]->slackid]+=(a[i]-a_old[i]); + for(jj=0;(i=working2dnum[jj])>=0;jj++) { /* reduce alpha to fulfill + constraints */ + if(alphaslack[docs[i]->slackid] > learn_parm->svm_c) { + if(a[i] < (alphaslack[docs[i]->slackid]-learn_parm->svm_c)) { + alphaslack[docs[i]->slackid]-=a[i]; + a[i]=0; + } + else { + a[i]-=(alphaslack[docs[i]->slackid]-learn_parm->svm_c); + alphaslack[docs[i]->slackid]=learn_parm->svm_c; + } + } + } + for(jj=0;(i=active2dnum[jj])>=0;jj++) + learn_parm->svm_cost[i]=a[i]+(learn_parm->svm_c + -alphaslack[docs[i]->slackid]); + + if(verbosity>=2) t3=get_runtime(); + update_linear_component(docs,label,active2dnum,a,a_old,working2dnum,totdoc, + totwords,kernel_parm,kernel_cache,lin,aicache, + weights); + compute_shared_slacks(docs,label,a,lin,c,active2dnum,learn_parm, + slack,alphaslack); + + if(verbosity>=2) t4=get_runtime(); + supvecnum=calculate_svm_model(docs,label,unlabeled,lin,a,a_old,c, + learn_parm,working2dnum,active2dnum,model); + + if(verbosity>=2) t5=get_runtime(); + + /* The following computation of the objective function works only */ + /* relative to the active variables */ + if(verbosity>=3) { + criterion=compute_objective_function(a,lin,c,learn_parm->eps,label, + active2dnum); + printf("Objective function (over active variables): %.16f\n",criterion); + fflush(stdout); + } + + for(jj=0;(i=working2dnum[jj])>=0;jj++) { + a_old[i]=a[i]; + } + + retrain=check_optimality_sharedslack(docs,model,label,a,lin,c, + slack,alphaslack,totdoc,learn_parm, + maxdiff,epsilon_crit_org,&misclassified, + active2dnum,last_suboptimal_at, + iteration,kernel_parm); + + if(verbosity>=2) { + t6=get_runtime(); + timing_profile->time_select+=t1-t0; + timing_profile->time_kernel+=t2-t1; + timing_profile->time_opti+=t3-t2; + timing_profile->time_update+=t4-t3; + timing_profile->time_model+=t5-t4; + timing_profile->time_check+=t6-t5; + } + + /* checking whether optimizer got stuck */ + if((*maxdiff) < bestmaxdiff) { + bestmaxdiff=(*maxdiff); + bestmaxdiffiter=iteration; + } + if(iteration > (bestmaxdiffiter+learn_parm->maxiter)) { + /* long time no progress? */ + terminate=1; + retrain=0; + if(verbosity>=1) + printf("\nWARNING: Relaxing KT-Conditions due to slow progress! Terminating!\n"); + } + + noshrink=0; + + if((!retrain) && (inactivenum>0) + && ((!learn_parm->skip_final_opt_check) + || (kernel_parm->kernel_type == LINEAR))) { + if(((verbosity>=1) && (kernel_parm->kernel_type != LINEAR)) + || (verbosity>=2)) { + if(verbosity==1) { + printf("\n"); + } + printf(" Checking optimality of inactive variables..."); + fflush(stdout); + } + t1=get_runtime(); + reactivate_inactive_examples(label,unlabeled,a,shrink_state,lin,c,totdoc, + totwords,iteration,learn_parm,inconsistent, + docs,kernel_parm,kernel_cache,model,aicache, + weights,maxdiff); + /* Update to new active variables. */ + activenum=compute_index(shrink_state->active,totdoc,active2dnum); + inactivenum=totdoc-activenum; + /* check optimality, since check in reactivate does not work for + sharedslacks */ + retrain=check_optimality_sharedslack(docs,model,label,a,lin,c, + slack,alphaslack,totdoc,learn_parm, + maxdiff,epsilon_crit_org,&misclassified, + active2dnum,last_suboptimal_at, + iteration,kernel_parm); + + /* reset watchdog */ + bestmaxdiff=(*maxdiff); + bestmaxdiffiter=iteration; + /* termination criterion */ + noshrink=1; + retrain=0; + if((*maxdiff) > learn_parm->epsilon_crit) + retrain=1; + timing_profile->time_shrink+=get_runtime()-t1; + if(((verbosity>=1) && (kernel_parm->kernel_type != LINEAR)) + || (verbosity>=2)) { + printf("done.\n"); fflush(stdout); + printf(" Number of inactive variables = %ld\n",inactivenum); + } + } + + if((!retrain) && (learn_parm->epsilon_crit>(*maxdiff))) + learn_parm->epsilon_crit=(*maxdiff); + if((!retrain) && (learn_parm->epsilon_crit>epsilon_crit_org)) { + learn_parm->epsilon_crit/=2.0; + retrain=1; + noshrink=1; + } + if(learn_parm->epsilon_crit<epsilon_crit_org) + learn_parm->epsilon_crit=epsilon_crit_org; + + if(verbosity>=2) { + printf(" => (%ld SV (incl. %ld SV at u-bound), max violation=%.5f)\n", + supvecnum,model->at_upper_bound,(*maxdiff)); + fflush(stdout); + } + if(verbosity>=3) { + printf("\n"); + } + + if(((iteration % 10) == 0) && (!noshrink)) { + activenum=shrink_problem(docs,learn_parm,shrink_state, + kernel_parm,active2dnum, + last_suboptimal_at,iteration,totdoc, + maxl((long)(activenum/10), + maxl((long)(totdoc/500),100)), + a,inconsistent); + inactivenum=totdoc-activenum; + if((kernel_cache) + && (supvecnum>kernel_cache->max_elems) + && ((kernel_cache->activenum-activenum)>maxl((long)(activenum/10),500))) { + kernel_cache_shrink(kernel_cache,totdoc, + minl((kernel_cache->activenum-activenum), + (kernel_cache->activenum-supvecnum)), + shrink_state->active); + } + } + + } /* end of loop */ + + + free(alphaslack); + free(slack); + free(chosen); + free(unlabeled); + free(inconsistent); + free(ignore); + free(last_suboptimal_at); + free(key); + free(selcrit); + free(selexam); + free(a_old); + free(aicache); + free(working2dnum); + free(active2dnum); + free(qp.opt_ce); + free(qp.opt_ce0); + free(qp.opt_g); + free(qp.opt_g0); + free(qp.opt_xinit); + free(qp.opt_low); + free(qp.opt_up); + free(weights); + + learn_parm->epsilon_crit=epsilon_crit_org; /* restore org */ + model->maxdiff=(*maxdiff); + + return(iteration); +} + + +double compute_objective_function(double *a, double *lin, double *c, + double eps, long int *label, + long int *active2dnum) + /* Return value of objective function. */ + /* Works only relative to the active variables! */ +{ + long i,ii; + double criterion; + /* calculate value of objective function */ + criterion=0; + for(ii=0;active2dnum[ii]>=0;ii++) { + i=active2dnum[ii]; + criterion=criterion+(eps-(double)label[i]*c[i])*a[i]+0.5*a[i]*label[i]*lin[i]; + } + return(criterion); +} + +void clear_index(long int *index) + /* initializes and empties index */ +{ + index[0]=-1; +} + +void add_to_index(long int *index, long int elem) + /* initializes and empties index */ +{ + register long i; + for(i=0;index[i] != -1;i++); + index[i]=elem; + index[i+1]=-1; +} + +long compute_index(long int *binfeature, long int range, long int *index) + /* create an inverted index of binfeature */ +{ + register long i,ii; + + ii=0; + for(i=0;i<range;i++) { + if(binfeature[i]) { + index[ii]=i; + ii++; + } + } + for(i=0;i<4;i++) { + index[ii+i]=-1; + } + return(ii); +} + + +void optimize_svm(DOC **docs, long int *label, long int *unlabeled, + long int *exclude_from_eq_const, double eq_target, + long int *chosen, long int *active2dnum, MODEL *model, + long int totdoc, long int *working2dnum, long int varnum, + double *a, double *lin, double *c, LEARN_PARM *learn_parm, + CFLOAT *aicache, KERNEL_PARM *kernel_parm, QP *qp, + double *epsilon_crit_target) + /* Do optimization on the working set. */ +{ + long i; + double *a_v; + + compute_matrices_for_optimization(docs,label,unlabeled, + exclude_from_eq_const,eq_target,chosen, + active2dnum,working2dnum,model,a,lin,c, + varnum,totdoc,learn_parm,aicache, + kernel_parm,qp); + + if(verbosity>=3) { + printf("Running optimizer..."); fflush(stdout); + } + /* call the qp-subsolver */ + a_v=optimize_qp(qp,epsilon_crit_target, + learn_parm->svm_maxqpsize, + &(model->b), /* in case the optimizer gives us */ + /* the threshold for free. otherwise */ + /* b is calculated in calculate_model. */ + learn_parm); + if(verbosity>=3) { + printf("done\n"); + } + + for(i=0;i<varnum;i++) { + a[working2dnum[i]]=a_v[i]; + /* + if(a_v[i]<=(0+learn_parm->epsilon_a)) { + a[working2dnum[i]]=0; + } + else if(a_v[i]>=(learn_parm->svm_cost[working2dnum[i]]-learn_parm->epsilon_a)) { + a[working2dnum[i]]=learn_parm->svm_cost[working2dnum[i]]; + } + */ + } +} + +void compute_matrices_for_optimization(DOC **docs, long int *label, + long int *unlabeled, long *exclude_from_eq_const, double eq_target, + long int *chosen, long int *active2dnum, + long int *key, MODEL *model, double *a, double *lin, double *c, + long int varnum, long int totdoc, LEARN_PARM *learn_parm, + CFLOAT *aicache, KERNEL_PARM *kernel_parm, QP *qp) +{ + register long ki,kj,i,j; + register double kernel_temp; + + if(verbosity>=3) { + fprintf(stdout,"Computing qp-matrices (type %ld kernel [degree %ld, rbf_gamma %f, coef_lin %f, coef_const %f])...",kernel_parm->kernel_type,kernel_parm->poly_degree,kernel_parm->rbf_gamma,kernel_parm->coef_lin,kernel_parm->coef_const); + fflush(stdout); + } + + qp->opt_n=varnum; + qp->opt_ce0[0]=-eq_target; /* compute the constant for equality constraint */ + for(j=1;j<model->sv_num;j++) { /* start at 1 */ + if((!chosen[(model->supvec[j])->docnum]) + && (!exclude_from_eq_const[(model->supvec[j])->docnum])) { + qp->opt_ce0[0]+=model->alpha[j]; + } + } + if(learn_parm->biased_hyperplane) + qp->opt_m=1; + else + qp->opt_m=0; /* eq-constraint will be ignored */ + + /* init linear part of objective function */ + for(i=0;i<varnum;i++) { + qp->opt_g0[i]=lin[key[i]]; + } + + for(i=0;i<varnum;i++) { + ki=key[i]; + + /* Compute the matrix for equality constraints */ + qp->opt_ce[i]=label[ki]; + qp->opt_low[i]=0; + qp->opt_up[i]=learn_parm->svm_cost[ki]; + + kernel_temp=(double)kernel(kernel_parm,docs[ki],docs[ki]); + /* compute linear part of objective function */ + qp->opt_g0[i]-=(kernel_temp*a[ki]*(double)label[ki]); + /* compute quadratic part of objective function */ + qp->opt_g[varnum*i+i]=kernel_temp; + for(j=i+1;j<varnum;j++) { + kj=key[j]; + kernel_temp=(double)kernel(kernel_parm,docs[ki],docs[kj]); + /* compute linear part of objective function */ + qp->opt_g0[i]-=(kernel_temp*a[kj]*(double)label[kj]); + qp->opt_g0[j]-=(kernel_temp*a[ki]*(double)label[ki]); + /* compute quadratic part of objective function */ + qp->opt_g[varnum*i+j]=(double)label[ki]*(double)label[kj]*kernel_temp; + qp->opt_g[varnum*j+i]=(double)label[ki]*(double)label[kj]*kernel_temp; + } + + if(verbosity>=3) { + if(i % 20 == 0) { + fprintf(stdout,"%ld..",i); fflush(stdout); + } + } + } + + for(i=0;i<varnum;i++) { + /* assure starting at feasible point */ + qp->opt_xinit[i]=a[key[i]]; + /* set linear part of objective function */ + qp->opt_g0[i]=(learn_parm->eps-(double)label[key[i]]*c[key[i]])+qp->opt_g0[i]*(double)label[key[i]]; + } + + if(verbosity>=3) { + fprintf(stdout,"done\n"); + } +} + +long calculate_svm_model(DOC **docs, long int *label, long int *unlabeled, + double *lin, double *a, double *a_old, double *c, + LEARN_PARM *learn_parm, long int *working2dnum, + long int *active2dnum, MODEL *model) + /* Compute decision function based on current values */ + /* of alpha. */ +{ + long i,ii,pos,b_calculated=0,first_low,first_high; + double ex_c,b_temp,b_low,b_high; + + if(verbosity>=3) { + printf("Calculating model..."); fflush(stdout); + } + + if(!learn_parm->biased_hyperplane) { + model->b=0; + b_calculated=1; + } + + for(ii=0;(i=working2dnum[ii])>=0;ii++) { + if((a_old[i]>0) && (a[i]==0)) { /* remove from model */ + pos=model->index[i]; + model->index[i]=-1; + (model->sv_num)--; + model->supvec[pos]=model->supvec[model->sv_num]; + model->alpha[pos]=model->alpha[model->sv_num]; + model->index[(model->supvec[pos])->docnum]=pos; + } + else if((a_old[i]==0) && (a[i]>0)) { /* add to model */ + model->supvec[model->sv_num]=docs[i]; + model->alpha[model->sv_num]=a[i]*(double)label[i]; + model->index[i]=model->sv_num; + (model->sv_num)++; + } + else if(a_old[i]==a[i]) { /* nothing to do */ + } + else { /* just update alpha */ + model->alpha[model->index[i]]=a[i]*(double)label[i]; + } + + ex_c=learn_parm->svm_cost[i]-learn_parm->epsilon_a; + if((a_old[i]>=ex_c) && (a[i]<ex_c)) { + (model->at_upper_bound)--; + } + else if((a_old[i]<ex_c) && (a[i]>=ex_c)) { + (model->at_upper_bound)++; + } + + if((!b_calculated) + && (a[i]>learn_parm->epsilon_a) && (a[i]<ex_c)) { /* calculate b */ + model->b=((double)label[i]*learn_parm->eps-c[i]+lin[i]); + /* model->b=(-(double)label[i]+lin[i]); */ + b_calculated=1; + } + } + + /* No alpha in the working set not at bounds, so b was not + calculated in the usual way. The following handles this special + case. */ + if(learn_parm->biased_hyperplane + && (!b_calculated) + && (model->sv_num-1 == model->at_upper_bound)) { + first_low=1; + first_high=1; + b_low=0; + b_high=0; + for(ii=0;(i=active2dnum[ii])>=0;ii++) { + ex_c=learn_parm->svm_cost[i]-learn_parm->epsilon_a; + if(a[i]<ex_c) { + if(label[i]>0) { + b_temp=-(learn_parm->eps-c[i]+lin[i]); + if((b_temp>b_low) || (first_low)) { + b_low=b_temp; + first_low=0; + } + } + else { + b_temp=-(-learn_parm->eps-c[i]+lin[i]); + if((b_temp<b_high) || (first_high)) { + b_high=b_temp; + first_high=0; + } + } + } + else { + if(label[i]<0) { + b_temp=-(-learn_parm->eps-c[i]+lin[i]); + if((b_temp>b_low) || (first_low)) { + b_low=b_temp; + first_low=0; + } + } + else { + b_temp=-(learn_parm->eps-c[i]+lin[i]); + if((b_temp<b_high) || (first_high)) { + b_high=b_temp; + first_high=0; + } + } + } + } + if(first_high) { + model->b=-b_low; + } + else if(first_low) { + model->b=-b_high; + } + else { + model->b=-(b_high+b_low)/2.0; /* select b as the middle of range */ + /* printf("\nb_low=%f, b_high=%f,b=%f\n",b_low,b_high,model->b); */ + } + } + + if(verbosity>=3) { + printf("done\n"); fflush(stdout); + } + + return(model->sv_num-1); /* have to substract one, since element 0 is empty*/ +} + +long check_optimality(MODEL *model, long int *label, long int *unlabeled, + double *a, double *lin, double *c, long int totdoc, + LEARN_PARM *learn_parm, double *maxdiff, + double epsilon_crit_org, long int *misclassified, + long int *inconsistent, long int *active2dnum, + long int *last_suboptimal_at, + long int iteration, KERNEL_PARM *kernel_parm) + /* Check KT-conditions */ +{ + long i,ii,retrain; + double dist,ex_c,target; + + if(kernel_parm->kernel_type == LINEAR) { /* be optimistic */ + learn_parm->epsilon_shrink=-learn_parm->epsilon_crit+epsilon_crit_org; + } + else { /* be conservative */ + learn_parm->epsilon_shrink=learn_parm->epsilon_shrink*0.7+(*maxdiff)*0.3; + } + retrain=0; + (*maxdiff)=0; + (*misclassified)=0; + for(ii=0;(i=active2dnum[ii])>=0;ii++) { + if((!inconsistent[i]) && label[i]) { + dist=(lin[i]-model->b)*(double)label[i];/* 'distance' from + hyperplane*/ + target=-(learn_parm->eps-(double)label[i]*c[i]); + ex_c=learn_parm->svm_cost[i]-learn_parm->epsilon_a; + if(dist <= 0) { + (*misclassified)++; /* does not work due to deactivation of var */ + } + if((a[i]>learn_parm->epsilon_a) && (dist > target)) { + if((dist-target)>(*maxdiff)) /* largest violation */ + (*maxdiff)=dist-target; + } + else if((a[i]<ex_c) && (dist < target)) { + if((target-dist)>(*maxdiff)) /* largest violation */ + (*maxdiff)=target-dist; + } + /* Count how long a variable was at lower/upper bound (and optimal).*/ + /* Variables, which were at the bound and optimal for a long */ + /* time are unlikely to become support vectors. In case our */ + /* cache is filled up, those variables are excluded to save */ + /* kernel evaluations. (See chapter 'Shrinking').*/ + if((a[i]>(learn_parm->epsilon_a)) + && (a[i]<ex_c)) { + last_suboptimal_at[i]=iteration; /* not at bound */ + } + else if((a[i]<=(learn_parm->epsilon_a)) + && (dist < (target+learn_parm->epsilon_shrink))) { + last_suboptimal_at[i]=iteration; /* not likely optimal */ + } + else if((a[i]>=ex_c) + && (dist > (target-learn_parm->epsilon_shrink))) { + last_suboptimal_at[i]=iteration; /* not likely optimal */ + } + } + } + /* termination criterion */ + if((!retrain) && ((*maxdiff) > learn_parm->epsilon_crit)) { + retrain=1; + } + return(retrain); +} + +long check_optimality_sharedslack(DOC **docs, MODEL *model, long int *label, + double *a, double *lin, double *c, double *slack, + double *alphaslack, + long int totdoc, + LEARN_PARM *learn_parm, double *maxdiff, + double epsilon_crit_org, long int *misclassified, + long int *active2dnum, + long int *last_suboptimal_at, + long int iteration, KERNEL_PARM *kernel_parm) + /* Check KT-conditions */ +{ + long i,ii,retrain; + double dist,ex_c=0,target; + + if(kernel_parm->kernel_type == LINEAR) { /* be optimistic */ + learn_parm->epsilon_shrink=-learn_parm->epsilon_crit+epsilon_crit_org; + } + else { /* be conservative */ + learn_parm->epsilon_shrink=learn_parm->epsilon_shrink*0.7+(*maxdiff)*0.3; + } + + retrain=0; + (*maxdiff)=0; + (*misclassified)=0; + for(ii=0;(i=active2dnum[ii])>=0;ii++) { + /* 'distance' from hyperplane*/ + dist=(lin[i]-model->b)*(double)label[i]+slack[docs[i]->slackid]; + target=-(learn_parm->eps-(double)label[i]*c[i]); + ex_c=learn_parm->svm_c-learn_parm->epsilon_a; + if((a[i]>learn_parm->epsilon_a) && (dist > target)) { + if((dist-target)>(*maxdiff)) { /* largest violation */ + (*maxdiff)=dist-target; + if(verbosity>=5) printf("sid %ld: dist=%.2f, target=%.2f, slack=%.2f, a=%f, alphaslack=%f\n",docs[i]->slackid,dist,target,slack[docs[i]->slackid],a[i],alphaslack[docs[i]->slackid]); + if(verbosity>=5) printf(" (single %f)\n",(*maxdiff)); + } + } + if((alphaslack[docs[i]->slackid]<ex_c) && (slack[docs[i]->slackid]>0)) { + if((slack[docs[i]->slackid])>(*maxdiff)) { /* largest violation */ + (*maxdiff)=slack[docs[i]->slackid]; + if(verbosity>=5) printf("sid %ld: dist=%.2f, target=%.2f, slack=%.2f, a=%f, alphaslack=%f\n",docs[i]->slackid,dist,target,slack[docs[i]->slackid],a[i],alphaslack[docs[i]->slackid]); + if(verbosity>=5) printf(" (joint %f)\n",(*maxdiff)); + } + } + /* Count how long a variable was at lower/upper bound (and optimal).*/ + /* Variables, which were at the bound and optimal for a long */ + /* time are unlikely to become support vectors. In case our */ + /* cache is filled up, those variables are excluded to save */ + /* kernel evaluations. (See chapter 'Shrinking').*/ + if((a[i]>(learn_parm->epsilon_a)) + && (a[i]<ex_c)) { + last_suboptimal_at[docs[i]->slackid]=iteration; /* not at bound */ + } + else if((a[i]<=(learn_parm->epsilon_a)) + && (dist < (target+learn_parm->epsilon_shrink))) { + last_suboptimal_at[docs[i]->slackid]=iteration; /* not likely optimal */ + } + else if((a[i]>=ex_c) + && (slack[docs[i]->slackid] < learn_parm->epsilon_shrink)) { + last_suboptimal_at[docs[i]->slackid]=iteration; /* not likely optimal */ + } + } + /* termination criterion */ + if((!retrain) && ((*maxdiff) > learn_parm->epsilon_crit)) { + retrain=1; + } + return(retrain); +} + +void compute_shared_slacks(DOC **docs, long int *label, + double *a, double *lin, + double *c, long int *active2dnum, + LEARN_PARM *learn_parm, + double *slack, double *alphaslack) + /* compute the value of shared slacks and the joint alphas */ +{ + long jj,i; + double dist,target; + + for(jj=0;(i=active2dnum[jj])>=0;jj++) { /* clear slack variables */ + slack[docs[i]->slackid]=0.0; + alphaslack[docs[i]->slackid]=0.0; + } + for(jj=0;(i=active2dnum[jj])>=0;jj++) { /* recompute slack variables */ + dist=(lin[i])*(double)label[i]; + target=-(learn_parm->eps-(double)label[i]*c[i]); + if((target-dist) > slack[docs[i]->slackid]) + slack[docs[i]->slackid]=target-dist; + alphaslack[docs[i]->slackid]+=a[i]; + } +} + + +long identify_inconsistent(double *a, long int *label, + long int *unlabeled, long int totdoc, + LEARN_PARM *learn_parm, + long int *inconsistentnum, long int *inconsistent) +{ + long i,retrain; + + /* Throw out examples with multipliers at upper bound. This */ + /* corresponds to the -i 1 option. */ + /* ATTENTION: this is just a heuristic for finding a close */ + /* to minimum number of examples to exclude to */ + /* make the problem separable with desired margin */ + retrain=0; + for(i=0;i<totdoc;i++) { + if((!inconsistent[i]) && (!unlabeled[i]) + && (a[i]>=(learn_parm->svm_cost[i]-learn_parm->epsilon_a))) { + (*inconsistentnum)++; + inconsistent[i]=1; /* never choose again */ + retrain=2; /* start over */ + if(verbosity>=3) { + printf("inconsistent(%ld)..",i); fflush(stdout); + } + } + } + return(retrain); +} + +long identify_misclassified(double *lin, long int *label, + long int *unlabeled, long int totdoc, + MODEL *model, long int *inconsistentnum, + long int *inconsistent) +{ + long i,retrain; + double dist; + + /* Throw out misclassified examples. This */ + /* corresponds to the -i 2 option. */ + /* ATTENTION: this is just a heuristic for finding a close */ + /* to minimum number of examples to exclude to */ + /* make the problem separable with desired margin */ + retrain=0; + for(i=0;i<totdoc;i++) { + dist=(lin[i]-model->b)*(double)label[i]; /* 'distance' from hyperplane*/ + if((!inconsistent[i]) && (!unlabeled[i]) && (dist <= 0)) { + (*inconsistentnum)++; + inconsistent[i]=1; /* never choose again */ + retrain=2; /* start over */ + if(verbosity>=3) { + printf("inconsistent(%ld)..",i); fflush(stdout); + } + } + } + return(retrain); +} + +long identify_one_misclassified(double *lin, long int *label, + long int *unlabeled, + long int totdoc, MODEL *model, + long int *inconsistentnum, + long int *inconsistent) +{ + long i,retrain,maxex=-1; + double dist,maxdist=0; + + /* Throw out the 'most misclassified' example. This */ + /* corresponds to the -i 3 option. */ + /* ATTENTION: this is just a heuristic for finding a close */ + /* to minimum number of examples to exclude to */ + /* make the problem separable with desired margin */ + retrain=0; + for(i=0;i<totdoc;i++) { + if((!inconsistent[i]) && (!unlabeled[i])) { + dist=(lin[i]-model->b)*(double)label[i];/* 'distance' from hyperplane*/ + if(dist<maxdist) { + maxdist=dist; + maxex=i; + } + } + } + if(maxex>=0) { + (*inconsistentnum)++; + inconsistent[maxex]=1; /* never choose again */ + retrain=2; /* start over */ + if(verbosity>=3) { + printf("inconsistent(%ld)..",i); fflush(stdout); + } + } + return(retrain); +} + +void update_linear_component(DOC **docs, long int *label, + long int *active2dnum, double *a, + double *a_old, long int *working2dnum, + long int totdoc, long int totwords, + KERNEL_PARM *kernel_parm, + KERNEL_CACHE *kernel_cache, + double *lin, CFLOAT *aicache, double *weights) + /* keep track of the linear component */ + /* lin of the gradient etc. by updating */ + /* based on the change of the variables */ + /* in the current working set */ +{ + register long i,ii,j,jj; + register double tec; + SVECTOR *f; + + if(kernel_parm->kernel_type==0) { /* special linear case */ + clear_vector_n(weights,totwords); + for(ii=0;(i=working2dnum[ii])>=0;ii++) { + if(a[i] != a_old[i]) { + for(f=docs[i]->fvec;f;f=f->next) + add_vector_ns(weights,f, + f->factor*((a[i]-a_old[i])*(double)label[i])); + } + } + for(jj=0;(j=active2dnum[jj])>=0;jj++) { + for(f=docs[j]->fvec;f;f=f->next) + lin[j]+=f->factor*sprod_ns(weights,f); + } + } + else { /* general case */ + for(jj=0;(i=working2dnum[jj])>=0;jj++) { + if(a[i] != a_old[i]) { + get_kernel_row(kernel_cache,docs,i,totdoc,active2dnum,aicache, + kernel_parm); + for(ii=0;(j=active2dnum[ii])>=0;ii++) { + tec=aicache[j]; + lin[j]+=(((a[i]*tec)-(a_old[i]*tec))*(double)label[i]); + } + } + } + } +} + + +long incorporate_unlabeled_examples(MODEL *model, long int *label, + long int *inconsistent, + long int *unlabeled, + double *a, double *lin, + long int totdoc, double *selcrit, + long int *select, long int *key, + long int transductcycle, + KERNEL_PARM *kernel_parm, + LEARN_PARM *learn_parm) +{ + long i,j,k,j1,j2,j3,j4,unsupaddnum1=0,unsupaddnum2=0; + long pos,neg,upos,uneg,orgpos,orgneg,nolabel,newpos,newneg,allunlab; + double dist,model_length,posratio,negratio; + long check_every=2; + double loss; + static double switchsens=0.0,switchsensorg=0.0; + double umin,umax,sumalpha; + long imin=0,imax=0; + static long switchnum=0; + + switchsens/=1.2; + + /* assumes that lin[] is up to date -> no inactive vars */ + + orgpos=0; + orgneg=0; + newpos=0; + newneg=0; + nolabel=0; + allunlab=0; + for(i=0;i<totdoc;i++) { + if(!unlabeled[i]) { + if(label[i] > 0) { + orgpos++; + } + else { + orgneg++; + } + } + else { + allunlab++; + if(unlabeled[i]) { + if(label[i] > 0) { + newpos++; + } + else if(label[i] < 0) { + newneg++; + } + } + } + if(label[i]==0) { + nolabel++; + } + } + + if(learn_parm->transduction_posratio >= 0) { + posratio=learn_parm->transduction_posratio; + } + else { + posratio=(double)orgpos/(double)(orgpos+orgneg); /* use ratio of pos/neg */ + } /* in training data */ + negratio=1.0-posratio; + + learn_parm->svm_costratio=1.0; /* global */ + if(posratio>0) { + learn_parm->svm_costratio_unlab=negratio/posratio; + } + else { + learn_parm->svm_costratio_unlab=1.0; + } + + pos=0; + neg=0; + upos=0; + uneg=0; + for(i=0;i<totdoc;i++) { + dist=(lin[i]-model->b); /* 'distance' from hyperplane*/ + if(dist>0) { + pos++; + } + else { + neg++; + } + if(unlabeled[i]) { + if(dist>0) { + upos++; + } + else { + uneg++; + } + } + if((!unlabeled[i]) && (a[i]>(learn_parm->svm_cost[i]-learn_parm->epsilon_a))) { + /* printf("Ubounded %ld (class %ld, unlabeled %ld)\n",i,label[i],unlabeled[i]); */ + } + } + if(verbosity>=2) { + printf("POS=%ld, ORGPOS=%ld, ORGNEG=%ld\n",pos,orgpos,orgneg); + printf("POS=%ld, NEWPOS=%ld, NEWNEG=%ld\n",pos,newpos,newneg); + printf("pos ratio = %f (%f).\n",(double)(upos)/(double)(allunlab),posratio); + fflush(stdout); + } + + if(transductcycle == 0) { + j1=0; + j2=0; + j4=0; + for(i=0;i<totdoc;i++) { + dist=(lin[i]-model->b); /* 'distance' from hyperplane*/ + if((label[i]==0) && (unlabeled[i])) { + selcrit[j4]=dist; + key[j4]=i; + j4++; + } + } + unsupaddnum1=0; + unsupaddnum2=0; + select_top_n(selcrit,j4,select,(long)(allunlab*posratio+0.5)); + for(k=0;(k<(long)(allunlab*posratio+0.5));k++) { + i=key[select[k]]; + label[i]=1; + unsupaddnum1++; + j1++; + } + for(i=0;i<totdoc;i++) { + if((label[i]==0) && (unlabeled[i])) { + label[i]=-1; + j2++; + unsupaddnum2++; + } + } + for(i=0;i<totdoc;i++) { /* set upper bounds on vars */ + if(unlabeled[i]) { + if(label[i] == 1) { + learn_parm->svm_cost[i]=learn_parm->svm_c* + learn_parm->svm_costratio_unlab*learn_parm->svm_unlabbound; + } + else if(label[i] == -1) { + learn_parm->svm_cost[i]=learn_parm->svm_c* + learn_parm->svm_unlabbound; + } + } + } + if(verbosity>=1) { + /* printf("costratio %f, costratio_unlab %f, unlabbound %f\n", + learn_parm->svm_costratio,learn_parm->svm_costratio_unlab, + learn_parm->svm_unlabbound); */ + printf("Classifying unlabeled data as %ld POS / %ld NEG.\n", + unsupaddnum1,unsupaddnum2); + fflush(stdout); + } + if(verbosity >= 1) + printf("Retraining."); + if(verbosity >= 2) printf("\n"); + return((long)3); + } + if((transductcycle % check_every) == 0) { + if(verbosity >= 1) + printf("Retraining."); + if(verbosity >= 2) printf("\n"); + j1=0; + j2=0; + unsupaddnum1=0; + unsupaddnum2=0; + for(i=0;i<totdoc;i++) { + if((unlabeled[i] == 2)) { + unlabeled[i]=1; + label[i]=1; + j1++; + unsupaddnum1++; + } + else if((unlabeled[i] == 3)) { + unlabeled[i]=1; + label[i]=-1; + j2++; + unsupaddnum2++; + } + } + for(i=0;i<totdoc;i++) { /* set upper bounds on vars */ + if(unlabeled[i]) { + if(label[i] == 1) { + learn_parm->svm_cost[i]=learn_parm->svm_c* + learn_parm->svm_costratio_unlab*learn_parm->svm_unlabbound; + } + else if(label[i] == -1) { + learn_parm->svm_cost[i]=learn_parm->svm_c* + learn_parm->svm_unlabbound; + } + } + } + + if(verbosity>=2) { + /* printf("costratio %f, costratio_unlab %f, unlabbound %f\n", + learn_parm->svm_costratio,learn_parm->svm_costratio_unlab, + learn_parm->svm_unlabbound); */ + printf("%ld positive -> Added %ld POS / %ld NEG unlabeled examples.\n", + upos,unsupaddnum1,unsupaddnum2); + fflush(stdout); + } + + if(learn_parm->svm_unlabbound == 1) { + learn_parm->epsilon_crit=0.001; /* do the last run right */ + } + else { + learn_parm->epsilon_crit=0.01; /* otherwise, no need to be so picky */ + } + + return((long)3); + } + else if(((transductcycle % check_every) < check_every)) { + model_length=0; + sumalpha=0; + loss=0; + for(i=0;i<totdoc;i++) { + model_length+=a[i]*label[i]*lin[i]; + sumalpha+=a[i]; + dist=(lin[i]-model->b); /* 'distance' from hyperplane*/ + if((label[i]*dist)<(1.0-learn_parm->epsilon_crit)) { + loss+=(1.0-(label[i]*dist))*learn_parm->svm_cost[i]; + } + } + model_length=sqrt(model_length); + if(verbosity>=2) { + printf("Model-length = %f (%f), loss = %f, objective = %f\n", + model_length,sumalpha,loss,loss+0.5*model_length*model_length); + fflush(stdout); + } + j1=0; + j2=0; + j3=0; + j4=0; + unsupaddnum1=0; + unsupaddnum2=0; + umin=99999; + umax=-99999; + j4=1; + while(j4) { + umin=99999; + umax=-99999; + for(i=0;(i<totdoc);i++) { + dist=(lin[i]-model->b); + if((label[i]>0) && (unlabeled[i]) && (!inconsistent[i]) + && (dist<umin)) { + umin=dist; + imin=i; + } + if((label[i]<0) && (unlabeled[i]) && (!inconsistent[i]) + && (dist>umax)) { + umax=dist; + imax=i; + } + } + if((umin < (umax+switchsens-1E-4))) { + j1++; + j2++; + unsupaddnum1++; + unlabeled[imin]=3; + inconsistent[imin]=1; + unsupaddnum2++; + unlabeled[imax]=2; + inconsistent[imax]=1; + } + else + j4=0; + j4=0; + } + for(j=0;(j<totdoc);j++) { + if(unlabeled[j] && (!inconsistent[j])) { + if(label[j]>0) { + unlabeled[j]=2; + } + else if(label[j]<0) { + unlabeled[j]=3; + } + /* inconsistent[j]=1; */ + j3++; + } + } + switchnum+=unsupaddnum1+unsupaddnum2; + + /* stop and print out current margin + printf("switchnum %ld %ld\n",switchnum,kernel_parm->poly_degree); + if(switchnum == 2*kernel_parm->poly_degree) { + learn_parm->svm_unlabbound=1; + } + */ + + if((!unsupaddnum1) && (!unsupaddnum2)) { + if((learn_parm->svm_unlabbound>=1) && ((newpos+newneg) == allunlab)) { + for(j=0;(j<totdoc);j++) { + inconsistent[j]=0; + if(unlabeled[j]) unlabeled[j]=1; + } + write_prediction(learn_parm->predfile,model,lin,a,unlabeled,label, + totdoc,learn_parm); + if(verbosity>=1) + printf("Number of switches: %ld\n",switchnum); + return((long)0); + } + switchsens=switchsensorg; + learn_parm->svm_unlabbound*=1.5; + if(learn_parm->svm_unlabbound>1) { + learn_parm->svm_unlabbound=1; + } + model->at_upper_bound=0; /* since upper bound increased */ + if(verbosity>=1) + printf("Increasing influence of unlabeled examples to %f%% .", + learn_parm->svm_unlabbound*100.0); + } + else if(verbosity>=1) { + printf("%ld positive -> Switching labels of %ld POS / %ld NEG unlabeled examples.", + upos,unsupaddnum1,unsupaddnum2); + fflush(stdout); + } + + if(verbosity >= 2) printf("\n"); + + learn_parm->epsilon_crit=0.5; /* don't need to be so picky */ + + for(i=0;i<totdoc;i++) { /* set upper bounds on vars */ + if(unlabeled[i]) { + if(label[i] == 1) { + learn_parm->svm_cost[i]=learn_parm->svm_c* + learn_parm->svm_costratio_unlab*learn_parm->svm_unlabbound; + } + else if(label[i] == -1) { + learn_parm->svm_cost[i]=learn_parm->svm_c* + learn_parm->svm_unlabbound; + } + } + } + + return((long)2); + } + + return((long)0); +} + +/*************************** Working set selection ***************************/ + +long select_next_qp_subproblem_grad(long int *label, + long int *unlabeled, + double *a, double *lin, + double *c, long int totdoc, + long int qp_size, + LEARN_PARM *learn_parm, + long int *inconsistent, + long int *active2dnum, + long int *working2dnum, + double *selcrit, + long int *select, + KERNEL_CACHE *kernel_cache, + long int cache_only, + long int *key, long int *chosen) + /* Use the feasible direction approach to select the next + qp-subproblem (see chapter 'Selecting a good working set'). If + 'cache_only' is true, then the variables are selected only among + those for which the kernel evaluations are cached. */ +{ + long choosenum,i,j,k,activedoc,inum,valid; + double s; + + for(inum=0;working2dnum[inum]>=0;inum++); /* find end of index */ + choosenum=0; + activedoc=0; + for(i=0;(j=active2dnum[i])>=0;i++) { + s=-label[j]; + if(kernel_cache && cache_only) + valid=(kernel_cache->index[j]>=0); + else + valid=1; + if(valid + && (!((a[j]<=(0+learn_parm->epsilon_a)) && (s<0))) + && (!((a[j]>=(learn_parm->svm_cost[j]-learn_parm->epsilon_a)) + && (s>0))) + && (!chosen[j]) + && (label[j]) + && (!inconsistent[j])) + { + selcrit[activedoc]=(double)label[j]*(learn_parm->eps-(double)label[j]*c[j]+(double)label[j]*lin[j]); + /* selcrit[activedoc]=(double)label[j]*(-1.0+(double)label[j]*lin[j]); */ + key[activedoc]=j; + activedoc++; + } + } + select_top_n(selcrit,activedoc,select,(long)(qp_size/2)); + for(k=0;(choosenum<(qp_size/2)) && (k<(qp_size/2)) && (k<activedoc);k++) { + /* if(learn_parm->biased_hyperplane || (selcrit[select[k]] > 0)) { */ + i=key[select[k]]; + chosen[i]=1; + working2dnum[inum+choosenum]=i; + choosenum+=1; + if(kernel_cache) + kernel_cache_touch(kernel_cache,i); /* make sure it does not get + kicked out of cache */ + /* } */ + } + + activedoc=0; + for(i=0;(j=active2dnum[i])>=0;i++) { + s=label[j]; + if(kernel_cache && cache_only) + valid=(kernel_cache->index[j]>=0); + else + valid=1; + if(valid + && (!((a[j]<=(0+learn_parm->epsilon_a)) && (s<0))) + && (!((a[j]>=(learn_parm->svm_cost[j]-learn_parm->epsilon_a)) + && (s>0))) + && (!chosen[j]) + && (label[j]) + && (!inconsistent[j])) + { + selcrit[activedoc]=-(double)label[j]*(learn_parm->eps-(double)label[j]*c[j]+(double)label[j]*lin[j]); + /* selcrit[activedoc]=-(double)(label[j]*(-1.0+(double)label[j]*lin[j])); */ + key[activedoc]=j; + activedoc++; + } + } + select_top_n(selcrit,activedoc,select,(long)(qp_size/2)); + for(k=0;(choosenum<qp_size) && (k<(qp_size/2)) && (k<activedoc);k++) { + /* if(learn_parm->biased_hyperplane || (selcrit[select[k]] > 0)) { */ + i=key[select[k]]; + chosen[i]=1; + working2dnum[inum+choosenum]=i; + choosenum+=1; + if(kernel_cache) + kernel_cache_touch(kernel_cache,i); /* make sure it does not get + kicked out of cache */ + /* } */ + } + working2dnum[inum+choosenum]=-1; /* complete index */ + return(choosenum); +} + +long select_next_qp_subproblem_rand(long int *label, + long int *unlabeled, + double *a, double *lin, + double *c, long int totdoc, + long int qp_size, + LEARN_PARM *learn_parm, + long int *inconsistent, + long int *active2dnum, + long int *working2dnum, + double *selcrit, + long int *select, + KERNEL_CACHE *kernel_cache, + long int *key, + long int *chosen, + long int iteration) +/* Use the feasible direction approach to select the next + qp-subproblem (see section 'Selecting a good working set'). Chooses + a feasible direction at (pseudo) random to help jump over numerical + problem. */ +{ + long choosenum,i,j,k,activedoc,inum; + double s; + + for(inum=0;working2dnum[inum]>=0;inum++); /* find end of index */ + choosenum=0; + activedoc=0; + for(i=0;(j=active2dnum[i])>=0;i++) { + s=-label[j]; + if((!((a[j]<=(0+learn_parm->epsilon_a)) && (s<0))) + && (!((a[j]>=(learn_parm->svm_cost[j]-learn_parm->epsilon_a)) + && (s>0))) + && (!inconsistent[j]) + && (label[j]) + && (!chosen[j])) { + selcrit[activedoc]=(j+iteration) % totdoc; + key[activedoc]=j; + activedoc++; + } + } + select_top_n(selcrit,activedoc,select,(long)(qp_size/2)); + for(k=0;(choosenum<(qp_size/2)) && (k<(qp_size/2)) && (k<activedoc);k++) { + i=key[select[k]]; + chosen[i]=1; + working2dnum[inum+choosenum]=i; + choosenum+=1; + kernel_cache_touch(kernel_cache,i); /* make sure it does not get kicked */ + /* out of cache */ + } + + activedoc=0; + for(i=0;(j=active2dnum[i])>=0;i++) { + s=label[j]; + if((!((a[j]<=(0+learn_parm->epsilon_a)) && (s<0))) + && (!((a[j]>=(learn_parm->svm_cost[j]-learn_parm->epsilon_a)) + && (s>0))) + && (!inconsistent[j]) + && (label[j]) + && (!chosen[j])) { + selcrit[activedoc]=(j+iteration) % totdoc; + key[activedoc]=j; + activedoc++; + } + } + select_top_n(selcrit,activedoc,select,(long)(qp_size/2)); + for(k=0;(choosenum<qp_size) && (k<(qp_size/2)) && (k<activedoc);k++) { + i=key[select[k]]; + chosen[i]=1; + working2dnum[inum+choosenum]=i; + choosenum+=1; + kernel_cache_touch(kernel_cache,i); /* make sure it does not get kicked */ + /* out of cache */ + } + working2dnum[inum+choosenum]=-1; /* complete index */ + return(choosenum); +} + +long select_next_qp_slackset(DOC **docs, long int *label, + double *a, double *lin, + double *slack, double *alphaslack, + double *c, + LEARN_PARM *learn_parm, + long int *active2dnum, double *maxviol) + /* returns the slackset with the largest internal violation */ +{ + long i,ii,maxdiffid; + double dist,target,maxdiff,ex_c; + + maxdiff=0; + maxdiffid=0; + for(ii=0;(i=active2dnum[ii])>=0;ii++) { + ex_c=learn_parm->svm_c-learn_parm->epsilon_a; + if(alphaslack[docs[i]->slackid] >= ex_c) { + dist=(lin[i])*(double)label[i]+slack[docs[i]->slackid]; /* distance */ + target=-(learn_parm->eps-(double)label[i]*c[i]); /* rhs of constraint */ + if((a[i]>learn_parm->epsilon_a) && (dist > target)) { + if((dist-target)>maxdiff) { /* largest violation */ + maxdiff=dist-target; + maxdiffid=docs[i]->slackid; + } + } + } + } + (*maxviol)=maxdiff; + return(maxdiffid); +} + + +void select_top_n(double *selcrit, long int range, long int *select, + long int n) +{ + register long i,j; + + for(i=0;(i<n) && (i<range);i++) { /* Initialize with the first n elements */ + for(j=i;j>=0;j--) { + if((j>0) && (selcrit[select[j-1]]<selcrit[i])){ + select[j]=select[j-1]; + } + else { + select[j]=i; + j=-1; + } + } + } + if(n>0) { + for(i=n;i<range;i++) { + if(selcrit[i]>selcrit[select[n-1]]) { + for(j=n-1;j>=0;j--) { + if((j>0) && (selcrit[select[j-1]]<selcrit[i])) { + select[j]=select[j-1]; + } + else { + select[j]=i; + j=-1; + } + } + } + } + } +} + + +/******************************** Shrinking *********************************/ + +void init_shrink_state(SHRINK_STATE *shrink_state, long int totdoc, + long int maxhistory) +{ + long i; + + shrink_state->deactnum=0; + shrink_state->active = (long *)my_malloc(sizeof(long)*totdoc); + shrink_state->inactive_since = (long *)my_malloc(sizeof(long)*totdoc); + shrink_state->a_history = (double **)my_malloc(sizeof(double *)*maxhistory); + shrink_state->maxhistory=maxhistory; + shrink_state->last_lin = (double *)my_malloc(sizeof(double)*totdoc); + shrink_state->last_a = (double *)my_malloc(sizeof(double)*totdoc); + + for(i=0;i<totdoc;i++) { + shrink_state->active[i]=1; + shrink_state->inactive_since[i]=0; + shrink_state->last_a[i]=0; + shrink_state->last_lin[i]=0; + } +} + +void shrink_state_cleanup(SHRINK_STATE *shrink_state) +{ + free(shrink_state->active); + free(shrink_state->inactive_since); + if(shrink_state->deactnum > 0) + free(shrink_state->a_history[shrink_state->deactnum-1]); + free(shrink_state->a_history); + free(shrink_state->last_a); + free(shrink_state->last_lin); +} + +long shrink_problem(DOC **docs, + LEARN_PARM *learn_parm, + SHRINK_STATE *shrink_state, + KERNEL_PARM *kernel_parm, + long int *active2dnum, + long int *last_suboptimal_at, + long int iteration, + long int totdoc, + long int minshrink, + double *a, + long int *inconsistent) + /* Shrink some variables away. Do the shrinking only if at least + minshrink variables can be removed. */ +{ + long i,ii,change,activenum,lastiter; + double *a_old; + + activenum=0; + change=0; + for(ii=0;active2dnum[ii]>=0;ii++) { + i=active2dnum[ii]; + activenum++; + if(learn_parm->sharedslack) + lastiter=last_suboptimal_at[docs[i]->slackid]; + else + lastiter=last_suboptimal_at[i]; + if(((iteration-lastiter) > learn_parm->svm_iter_to_shrink) + || (inconsistent[i])) { + change++; + } + } + if((change>=minshrink) /* shrink only if sufficiently many candidates */ + && (shrink_state->deactnum<shrink_state->maxhistory)) { /* and enough memory */ + /* Shrink problem by removing those variables which are */ + /* optimal at a bound for a minimum number of iterations */ + if(verbosity>=2) { + printf(" Shrinking..."); fflush(stdout); + } + if(kernel_parm->kernel_type != LINEAR) { /* non-linear case save alphas */ + a_old=(double *)my_malloc(sizeof(double)*totdoc); + shrink_state->a_history[shrink_state->deactnum]=a_old; + for(i=0;i<totdoc;i++) { + a_old[i]=a[i]; + } + } + for(ii=0;active2dnum[ii]>=0;ii++) { + i=active2dnum[ii]; + if(learn_parm->sharedslack) + lastiter=last_suboptimal_at[docs[i]->slackid]; + else + lastiter=last_suboptimal_at[i]; + if(((iteration-lastiter) > learn_parm->svm_iter_to_shrink) + || (inconsistent[i])) { + shrink_state->active[i]=0; + shrink_state->inactive_since[i]=shrink_state->deactnum; + } + } + activenum=compute_index(shrink_state->active,totdoc,active2dnum); + shrink_state->deactnum++; + if(kernel_parm->kernel_type == LINEAR) { + shrink_state->deactnum=0; + } + if(verbosity>=2) { + printf("done.\n"); fflush(stdout); + printf(" Number of inactive variables = %ld\n",totdoc-activenum); + } + } + return(activenum); +} + + +void reactivate_inactive_examples(long int *label, + long int *unlabeled, + double *a, + SHRINK_STATE *shrink_state, + double *lin, + double *c, + long int totdoc, + long int totwords, + long int iteration, + LEARN_PARM *learn_parm, + long int *inconsistent, + DOC **docs, + KERNEL_PARM *kernel_parm, + KERNEL_CACHE *kernel_cache, + MODEL *model, + CFLOAT *aicache, + double *weights, + double *maxdiff) + /* Make all variables active again which had been removed by + shrinking. */ + /* Computes lin for those variables from scratch. */ +{ + register long i,j,ii,jj,t,*changed2dnum,*inactive2dnum; + long *changed,*inactive; + register double kernel_val,*a_old,dist; + double ex_c,target; + SVECTOR *f; + + if(kernel_parm->kernel_type == LINEAR) { /* special linear case */ + a_old=shrink_state->last_a; + clear_vector_n(weights,totwords); + for(i=0;i<totdoc;i++) { + if(a[i] != a_old[i]) { + for(f=docs[i]->fvec;f;f=f->next) + add_vector_ns(weights,f, + f->factor*((a[i]-a_old[i])*(double)label[i])); + a_old[i]=a[i]; + } + } + for(i=0;i<totdoc;i++) { + if(!shrink_state->active[i]) { + for(f=docs[i]->fvec;f;f=f->next) + lin[i]=shrink_state->last_lin[i]+f->factor*sprod_ns(weights,f); + } + shrink_state->last_lin[i]=lin[i]; + } + } + else { + changed=(long *)my_malloc(sizeof(long)*totdoc); + changed2dnum=(long *)my_malloc(sizeof(long)*(totdoc+11)); + inactive=(long *)my_malloc(sizeof(long)*totdoc); + inactive2dnum=(long *)my_malloc(sizeof(long)*(totdoc+11)); + for(t=shrink_state->deactnum-1;(t>=0) && shrink_state->a_history[t];t--) { + if(verbosity>=2) { + printf("%ld..",t); fflush(stdout); + } + a_old=shrink_state->a_history[t]; + for(i=0;i<totdoc;i++) { + inactive[i]=((!shrink_state->active[i]) + && (shrink_state->inactive_since[i] == t)); + changed[i]= (a[i] != a_old[i]); + } + compute_index(inactive,totdoc,inactive2dnum); + compute_index(changed,totdoc,changed2dnum); + + for(ii=0;(i=changed2dnum[ii])>=0;ii++) { + get_kernel_row(kernel_cache,docs,i,totdoc,inactive2dnum,aicache, + kernel_parm); + for(jj=0;(j=inactive2dnum[jj])>=0;jj++) { + kernel_val=aicache[j]; + lin[j]+=(((a[i]*kernel_val)-(a_old[i]*kernel_val))*(double)label[i]); + } + } + } + free(changed); + free(changed2dnum); + free(inactive); + free(inactive2dnum); + } + (*maxdiff)=0; + for(i=0;i<totdoc;i++) { + shrink_state->inactive_since[i]=shrink_state->deactnum-1; + if(!inconsistent[i]) { + dist=(lin[i]-model->b)*(double)label[i]; + target=-(learn_parm->eps-(double)label[i]*c[i]); + ex_c=learn_parm->svm_cost[i]-learn_parm->epsilon_a; + if((a[i]>learn_parm->epsilon_a) && (dist > target)) { + if((dist-target)>(*maxdiff)) /* largest violation */ + (*maxdiff)=dist-target; + } + else if((a[i]<ex_c) && (dist < target)) { + if((target-dist)>(*maxdiff)) /* largest violation */ + (*maxdiff)=target-dist; + } + if((a[i]>(0+learn_parm->epsilon_a)) + && (a[i]<ex_c)) { + shrink_state->active[i]=1; /* not at bound */ + } + else if((a[i]<=(0+learn_parm->epsilon_a)) && (dist < (target+learn_parm->epsilon_shrink))) { + shrink_state->active[i]=1; + } + else if((a[i]>=ex_c) + && (dist > (target-learn_parm->epsilon_shrink))) { + shrink_state->active[i]=1; + } + else if(learn_parm->sharedslack) { /* make all active when sharedslack */ + shrink_state->active[i]=1; + } + } + } + if(kernel_parm->kernel_type != LINEAR) { /* update history for non-linear */ + for(i=0;i<totdoc;i++) { + (shrink_state->a_history[shrink_state->deactnum-1])[i]=a[i]; + } + for(t=shrink_state->deactnum-2;(t>=0) && shrink_state->a_history[t];t--) { + free(shrink_state->a_history[t]); + shrink_state->a_history[t]=0; + } + } +} + +/****************************** Cache handling *******************************/ + +void get_kernel_row(KERNEL_CACHE *kernel_cache, DOC **docs, + long int docnum, long int totdoc, + long int *active2dnum, CFLOAT *buffer, + KERNEL_PARM *kernel_parm) + /* Get's a row of the matrix of kernel values This matrix has the + same form as the Hessian, just that the elements are not + multiplied by */ + /* y_i * y_j * a_i * a_j */ + /* Takes the values from the cache if available. */ +{ + register long i,j,start; + DOC *ex; + + ex=docs[docnum]; + + if(kernel_cache->index[docnum] != -1) { /* row is cached? */ + kernel_cache->lru[kernel_cache->index[docnum]]=kernel_cache->time; /* lru */ + start=kernel_cache->activenum*kernel_cache->index[docnum]; + for(i=0;(j=active2dnum[i])>=0;i++) { + if(kernel_cache->totdoc2active[j] >= 0) { /* column is cached? */ + buffer[j]=kernel_cache->buffer[start+kernel_cache->totdoc2active[j]]; + } + else { + buffer[j]=(CFLOAT)kernel(kernel_parm,ex,docs[j]); + } + } + } + else { + for(i=0;(j=active2dnum[i])>=0;i++) { + buffer[j]=(CFLOAT)kernel(kernel_parm,ex,docs[j]); + } + } +} + + +void cache_kernel_row(KERNEL_CACHE *kernel_cache, DOC **docs, + long int m, KERNEL_PARM *kernel_parm) + /* Fills cache for the row m */ +{ + register DOC *ex; + register long j,k,l; + register CFLOAT *cache; + + if(!kernel_cache_check(kernel_cache,m)) { /* not cached yet*/ + cache = kernel_cache_clean_and_malloc(kernel_cache,m); + if(cache) { + l=kernel_cache->totdoc2active[m]; + ex=docs[m]; + for(j=0;j<kernel_cache->activenum;j++) { /* fill cache */ + k=kernel_cache->active2totdoc[j]; + if((kernel_cache->index[k] != -1) && (l != -1) && (k != m)) { + cache[j]=kernel_cache->buffer[kernel_cache->activenum + *kernel_cache->index[k]+l]; + } + else { + cache[j]=kernel(kernel_parm,ex,docs[k]); + } + } + } + else { + perror("Error: Kernel cache full! => increase cache size"); + } + } +} + + +void cache_multiple_kernel_rows(KERNEL_CACHE *kernel_cache, DOC **docs, + long int *key, long int varnum, + KERNEL_PARM *kernel_parm) + /* Fills cache for the rows in key */ +{ + register long i; + + for(i=0;i<varnum;i++) { /* fill up kernel cache */ + cache_kernel_row(kernel_cache,docs,key[i],kernel_parm); + } +} + + +void kernel_cache_shrink(KERNEL_CACHE *kernel_cache, long int totdoc, + long int numshrink, long int *after) + /* Remove numshrink columns in the cache which correspond to + examples marked 0 in after. */ +{ + register long i,j,jj,from=0,to=0,scount; + long *keep; + + if(verbosity>=2) { + printf(" Reorganizing cache..."); fflush(stdout); + } + + keep=(long *)my_malloc(sizeof(long)*totdoc); + for(j=0;j<totdoc;j++) { + keep[j]=1; + } + scount=0; + for(jj=0;(jj<kernel_cache->activenum) && (scount<numshrink);jj++) { + j=kernel_cache->active2totdoc[jj]; + if(!after[j]) { + scount++; + keep[j]=0; + } + } + + for(i=0;i<kernel_cache->max_elems;i++) { + for(jj=0;jj<kernel_cache->activenum;jj++) { + j=kernel_cache->active2totdoc[jj]; + if(!keep[j]) { + from++; + } + else { + kernel_cache->buffer[to]=kernel_cache->buffer[from]; + to++; + from++; + } + } + } + + kernel_cache->activenum=0; + for(j=0;j<totdoc;j++) { + if((keep[j]) && (kernel_cache->totdoc2active[j] != -1)) { + kernel_cache->active2totdoc[kernel_cache->activenum]=j; + kernel_cache->totdoc2active[j]=kernel_cache->activenum; + kernel_cache->activenum++; + } + else { + kernel_cache->totdoc2active[j]=-1; + } + } + + kernel_cache->max_elems=(long)(kernel_cache->buffsize/kernel_cache->activenum); + if(kernel_cache->max_elems>totdoc) { + kernel_cache->max_elems=totdoc; + } + + free(keep); + + if(verbosity>=2) { + printf("done.\n"); fflush(stdout); + printf(" Cache-size in rows = %ld\n",kernel_cache->max_elems); + } +} + +KERNEL_CACHE *kernel_cache_init(long int totdoc, long int buffsize) +{ + long i; + KERNEL_CACHE *kernel_cache; + + kernel_cache=(KERNEL_CACHE *)my_malloc(sizeof(KERNEL_CACHE)); + kernel_cache->index = (long *)my_malloc(sizeof(long)*totdoc); + kernel_cache->occu = (long *)my_malloc(sizeof(long)*totdoc); + kernel_cache->lru = (long *)my_malloc(sizeof(long)*totdoc); + kernel_cache->invindex = (long *)my_malloc(sizeof(long)*totdoc); + kernel_cache->active2totdoc = (long *)my_malloc(sizeof(long)*totdoc); + kernel_cache->totdoc2active = (long *)my_malloc(sizeof(long)*totdoc); + kernel_cache->buffer = (CFLOAT *)my_malloc((size_t)(buffsize)*1024*1024); + + kernel_cache->buffsize=(long)(buffsize/sizeof(CFLOAT)*1024*1024); + + kernel_cache->max_elems=(long)(kernel_cache->buffsize/totdoc); + if(kernel_cache->max_elems>totdoc) { + kernel_cache->max_elems=totdoc; + } + + if(verbosity>=2) { + printf(" Cache-size in rows = %ld\n",kernel_cache->max_elems); + printf(" Kernel evals so far: %ld\n",kernel_cache_statistic); + } + + kernel_cache->elems=0; /* initialize cache */ + for(i=0;i<totdoc;i++) { + kernel_cache->index[i]=-1; + kernel_cache->lru[i]=0; + } + for(i=0;i<totdoc;i++) { + kernel_cache->occu[i]=0; + kernel_cache->invindex[i]=-1; + } + + kernel_cache->activenum=totdoc;; + for(i=0;i<totdoc;i++) { + kernel_cache->active2totdoc[i]=i; + kernel_cache->totdoc2active[i]=i; + } + + kernel_cache->time=0; + + return(kernel_cache); +} + +void kernel_cache_reset_lru(KERNEL_CACHE *kernel_cache) +{ + long maxlru=0,k; + + for(k=0;k<kernel_cache->max_elems;k++) { + if(maxlru < kernel_cache->lru[k]) + maxlru=kernel_cache->lru[k]; + } + for(k=0;k<kernel_cache->max_elems;k++) { + kernel_cache->lru[k]-=maxlru; + } +} + +void kernel_cache_cleanup(KERNEL_CACHE *kernel_cache) +{ + free(kernel_cache->index); + free(kernel_cache->occu); + free(kernel_cache->lru); + free(kernel_cache->invindex); + free(kernel_cache->active2totdoc); + free(kernel_cache->totdoc2active); + free(kernel_cache->buffer); + free(kernel_cache); +} + +long kernel_cache_malloc(KERNEL_CACHE *kernel_cache) +{ + long i; + + if(kernel_cache_space_available(kernel_cache)) { + for(i=0;i<kernel_cache->max_elems;i++) { + if(!kernel_cache->occu[i]) { + kernel_cache->occu[i]=1; + kernel_cache->elems++; + return(i); + } + } + } + return(-1); +} + +void kernel_cache_free(KERNEL_CACHE *kernel_cache, long int i) +{ + kernel_cache->occu[i]=0; + kernel_cache->elems--; +} + +long kernel_cache_free_lru(KERNEL_CACHE *kernel_cache) + /* remove least recently used cache element */ +{ + register long k,least_elem=-1,least_time; + + least_time=kernel_cache->time+1; + for(k=0;k<kernel_cache->max_elems;k++) { + if(kernel_cache->invindex[k] != -1) { + if(kernel_cache->lru[k]<least_time) { + least_time=kernel_cache->lru[k]; + least_elem=k; + } + } + } + if(least_elem != -1) { + kernel_cache_free(kernel_cache,least_elem); + kernel_cache->index[kernel_cache->invindex[least_elem]]=-1; + kernel_cache->invindex[least_elem]=-1; + return(1); + } + return(0); +} + + +CFLOAT *kernel_cache_clean_and_malloc(KERNEL_CACHE *kernel_cache, + long int docnum) + /* Get a free cache entry. In case cache is full, the lru element + is removed. */ +{ + long result; + if((result = kernel_cache_malloc(kernel_cache)) == -1) { + if(kernel_cache_free_lru(kernel_cache)) { + result = kernel_cache_malloc(kernel_cache); + } + } + kernel_cache->index[docnum]=result; + if(result == -1) { + return(0); + } + kernel_cache->invindex[result]=docnum; + kernel_cache->lru[kernel_cache->index[docnum]]=kernel_cache->time; /* lru */ + return((CFLOAT *)((long)kernel_cache->buffer + +(kernel_cache->activenum*sizeof(CFLOAT)* + kernel_cache->index[docnum]))); +} + +long kernel_cache_touch(KERNEL_CACHE *kernel_cache, long int docnum) + /* Update lru time to avoid removal from cache. */ +{ + if(kernel_cache && kernel_cache->index[docnum] != -1) { + kernel_cache->lru[kernel_cache->index[docnum]]=kernel_cache->time; /* lru */ + return(1); + } + return(0); +} + +long kernel_cache_check(KERNEL_CACHE *kernel_cache, long int docnum) + /* Is that row cached? */ +{ + return(kernel_cache->index[docnum] != -1); +} + +long kernel_cache_space_available(KERNEL_CACHE *kernel_cache) + /* Is there room for one more row? */ +{ + return(kernel_cache->elems < kernel_cache->max_elems); +} + +/************************** Compute estimates ******************************/ + +void compute_xa_estimates(MODEL *model, long int *label, + long int *unlabeled, long int totdoc, + DOC **docs, double *lin, double *a, + KERNEL_PARM *kernel_parm, + LEARN_PARM *learn_parm, double *error, + double *recall, double *precision) + /* Computes xa-estimate of error rate, recall, and precision. See + T. Joachims, Estimating the Generalization Performance of an SVM + Efficiently, IMCL, 2000. */ +{ + long i,looerror,looposerror,loonegerror; + long totex,totposex; + double xi,r_delta,r_delta_sq,sim=0; + long *sv2dnum=NULL,*sv=NULL,svnum; + + r_delta=estimate_r_delta(docs,totdoc,kernel_parm); + r_delta_sq=r_delta*r_delta; + + looerror=0; + looposerror=0; + loonegerror=0; + totex=0; + totposex=0; + svnum=0; + + if(learn_parm->xa_depth > 0) { + sv = (long *)my_malloc(sizeof(long)*(totdoc+11)); + for(i=0;i<totdoc;i++) + sv[i]=0; + for(i=1;i<model->sv_num;i++) + if(a[model->supvec[i]->docnum] + < (learn_parm->svm_cost[model->supvec[i]->docnum] + -learn_parm->epsilon_a)) { + sv[model->supvec[i]->docnum]=1; + svnum++; + } + sv2dnum = (long *)my_malloc(sizeof(long)*(totdoc+11)); + clear_index(sv2dnum); + compute_index(sv,totdoc,sv2dnum); + } + + for(i=0;i<totdoc;i++) { + if(unlabeled[i]) { + /* ignore it */ + } + else { + xi=1.0-((lin[i]-model->b)*(double)label[i]); + if(xi<0) xi=0; + if(label[i]>0) { + totposex++; + } + if((learn_parm->rho*a[i]*r_delta_sq+xi) >= 1.0) { + if(learn_parm->xa_depth > 0) { /* makes assumptions */ + sim=distribute_alpha_t_greedily(sv2dnum,svnum,docs,a,i,label, + kernel_parm,learn_parm, + (double)((1.0-xi-a[i]*r_delta_sq)/(2.0*a[i]))); + } + if((learn_parm->xa_depth == 0) || + ((a[i]*kernel(kernel_parm,docs[i],docs[i])+a[i]*2.0*sim+xi) >= 1.0)) { + looerror++; + if(label[i]>0) { + looposerror++; + } + else { + loonegerror++; + } + } + } + totex++; + } + } + + (*error)=((double)looerror/(double)totex)*100.0; + (*recall)=(1.0-(double)looposerror/(double)totposex)*100.0; + (*precision)=(((double)totposex-(double)looposerror) + /((double)totposex-(double)looposerror+(double)loonegerror))*100.0; + + free(sv); + free(sv2dnum); +} + + +double distribute_alpha_t_greedily(long int *sv2dnum, long int svnum, + DOC **docs, double *a, + long int docnum, + long int *label, + KERNEL_PARM *kernel_parm, + LEARN_PARM *learn_parm, double thresh) + /* Experimental Code improving plain XiAlpha Estimates by + computing a better bound using a greedy optimzation strategy. */ +{ + long best_depth=0; + long i,j,k,d,skip,allskip; + double best,best_val[101],val,init_val_sq,init_val_lin; + long best_ex[101]; + CFLOAT *cache,*trow; + + cache=(CFLOAT *)my_malloc(sizeof(CFLOAT)*learn_parm->xa_depth*svnum); + trow = (CFLOAT *)my_malloc(sizeof(CFLOAT)*svnum); + + for(k=0;k<svnum;k++) { + trow[k]=kernel(kernel_parm,docs[docnum],docs[sv2dnum[k]]); + } + + init_val_sq=0; + init_val_lin=0; + best=0; + + for(d=0;d<learn_parm->xa_depth;d++) { + allskip=1; + if(d>=1) { + init_val_sq+=cache[best_ex[d-1]+svnum*(d-1)]; + for(k=0;k<d-1;k++) { + init_val_sq+=2.0*cache[best_ex[k]+svnum*(d-1)]; + } + init_val_lin+=trow[best_ex[d-1]]; + } + for(i=0;i<svnum;i++) { + skip=0; + if(sv2dnum[i] == docnum) skip=1; + for(j=0;j<d;j++) { + if(i == best_ex[j]) skip=1; + } + + if(!skip) { + val=init_val_sq; + if(kernel_parm->kernel_type == LINEAR) + val+=docs[sv2dnum[i]]->fvec->twonorm_sq; + else + val+=kernel(kernel_parm,docs[sv2dnum[i]],docs[sv2dnum[i]]); + for(j=0;j<d;j++) { + val+=2.0*cache[i+j*svnum]; + } + val*=(1.0/(2.0*(d+1.0)*(d+1.0))); + val-=((init_val_lin+trow[i])/(d+1.0)); + + if(allskip || (val < best_val[d])) { + best_val[d]=val; + best_ex[d]=i; + } + allskip=0; + if(val < thresh) { + i=svnum; + /* printf("EARLY"); */ + } + } + } + if(!allskip) { + for(k=0;k<svnum;k++) { + cache[d*svnum+k]=kernel(kernel_parm, + docs[sv2dnum[best_ex[d]]], + docs[sv2dnum[k]]); + } + } + if((!allskip) && ((best_val[d] < best) || (d == 0))) { + best=best_val[d]; + best_depth=d; + } + if(allskip || (best < thresh)) { + d=learn_parm->xa_depth; + } + } + + free(cache); + free(trow); + + /* printf("Distribute[%ld](%ld)=%f, ",docnum,best_depth,best); */ + return(best); +} + + +void estimate_transduction_quality(MODEL *model, long int *label, + long int *unlabeled, + long int totdoc, DOC **docs, double *lin) + /* Loo-bound based on observation that loo-errors must have an + equal distribution in both training and test examples, given + that the test examples are classified correctly. Compare + chapter "Constraints on the Transductive Hyperplane" in my + Dissertation. */ +{ + long i,j,l=0,ulab=0,lab=0,labpos=0,labneg=0,ulabpos=0,ulabneg=0,totulab=0; + double totlab=0,totlabpos=0,totlabneg=0,labsum=0,ulabsum=0; + double r_delta,r_delta_sq,xi,xisum=0,asum=0; + + r_delta=estimate_r_delta(docs,totdoc,&(model->kernel_parm)); + r_delta_sq=r_delta*r_delta; + + for(j=0;j<totdoc;j++) { + if(unlabeled[j]) { + totulab++; + } + else { + totlab++; + if(label[j] > 0) + totlabpos++; + else + totlabneg++; + } + } + for(j=1;j<model->sv_num;j++) { + i=model->supvec[j]->docnum; + xi=1.0-((lin[i]-model->b)*(double)label[i]); + if(xi<0) xi=0; + + xisum+=xi; + asum+=fabs(model->alpha[j]); + if(unlabeled[i]) { + ulabsum+=(fabs(model->alpha[j])*r_delta_sq+xi); + } + else { + labsum+=(fabs(model->alpha[j])*r_delta_sq+xi); + } + if((fabs(model->alpha[j])*r_delta_sq+xi) >= 1) { + l++; + if(unlabeled[model->supvec[j]->docnum]) { + ulab++; + if(model->alpha[j] > 0) + ulabpos++; + else + ulabneg++; + } + else { + lab++; + if(model->alpha[j] > 0) + labpos++; + else + labneg++; + } + } + } + printf("xacrit>=1: labeledpos=%.5f labeledneg=%.5f default=%.5f\n",(double)labpos/(double)totlab*100.0,(double)labneg/(double)totlab*100.0,(double)totlabpos/(double)(totlab)*100.0); + printf("xacrit>=1: unlabelpos=%.5f unlabelneg=%.5f\n",(double)ulabpos/(double)totulab*100.0,(double)ulabneg/(double)totulab*100.0); + printf("xacrit>=1: labeled=%.5f unlabled=%.5f all=%.5f\n",(double)lab/(double)totlab*100.0,(double)ulab/(double)totulab*100.0,(double)l/(double)(totdoc)*100.0); + printf("xacritsum: labeled=%.5f unlabled=%.5f all=%.5f\n",(double)labsum/(double)totlab*100.0,(double)ulabsum/(double)totulab*100.0,(double)(labsum+ulabsum)/(double)(totdoc)*100.0); + printf("r_delta_sq=%.5f xisum=%.5f asum=%.5f\n",r_delta_sq,xisum,asum); +} + +double estimate_margin_vcdim(MODEL *model, double w, double R, + KERNEL_PARM *kernel_parm) + /* optional: length of model vector in feature space */ + /* optional: radius of ball containing the data */ +{ + double h; + + /* follows chapter 5.6.4 in [Vapnik/95] */ + + if(w<0) { + w=model_length_s(model,kernel_parm); + } + if(R<0) { + R=estimate_sphere(model,kernel_parm); + } + h = w*w * R*R +1; + return(h); +} + +double estimate_sphere(MODEL *model, KERNEL_PARM *kernel_parm) + /* Approximates the radius of the ball containing */ + /* the support vectors by bounding it with the */ +{ /* length of the longest support vector. This is */ + register long j; /* pretty good for text categorization, since all */ + double xlen,maxxlen=0; /* documents have feature vectors of length 1. It */ + DOC *nulldoc; /* assumes that the center of the ball is at the */ + WORD nullword; /* origin of the space. */ + + nullword.wnum=0; + nulldoc=create_example(-2,0,0,0.0,create_svector(&nullword,"",1.0)); + + for(j=1;j<model->sv_num;j++) { + xlen=sqrt(kernel(kernel_parm,model->supvec[j],model->supvec[j]) + -2*kernel(kernel_parm,model->supvec[j],nulldoc) + +kernel(kernel_parm,nulldoc,nulldoc)); + if(xlen>maxxlen) { + maxxlen=xlen; + } + } + + free_example(nulldoc,1); + return(maxxlen); +} + +double estimate_r_delta(DOC **docs, long int totdoc, KERNEL_PARM *kernel_parm) +{ + long i; + double maxxlen,xlen; + DOC *nulldoc; /* assumes that the center of the ball is at the */ + WORD nullword; /* origin of the space. */ + + nullword.wnum=0; + nulldoc=create_example(-2,0,0,0.0,create_svector(&nullword,"",1.0)); + + maxxlen=0; + for(i=0;i<totdoc;i++) { + xlen=sqrt(kernel(kernel_parm,docs[i],docs[i]) + -2*kernel(kernel_parm,docs[i],nulldoc) + +kernel(kernel_parm,nulldoc,nulldoc)); + if(xlen>maxxlen) { + maxxlen=xlen; + } + } + + free_example(nulldoc,1); + return(maxxlen); +} + +double estimate_r_delta_average(DOC **docs, long int totdoc, + KERNEL_PARM *kernel_parm) +{ + long i; + double avgxlen; + DOC *nulldoc; /* assumes that the center of the ball is at the */ + WORD nullword; /* origin of the space. */ + + nullword.wnum=0; + nulldoc=create_example(-2,0,0,0.0,create_svector(&nullword,"",1.0)); + + avgxlen=0; + for(i=0;i<totdoc;i++) { + avgxlen+=sqrt(kernel(kernel_parm,docs[i],docs[i]) + -2*kernel(kernel_parm,docs[i],nulldoc) + +kernel(kernel_parm,nulldoc,nulldoc)); + } + + free_example(nulldoc,1); + return(avgxlen/totdoc); +} + +double length_of_longest_document_vector(DOC **docs, long int totdoc, + KERNEL_PARM *kernel_parm) +{ + long i; + double maxxlen,xlen; + + maxxlen=0; + for(i=0;i<totdoc;i++) { + xlen=sqrt(kernel(kernel_parm,docs[i],docs[i])); + if(xlen>maxxlen) { + maxxlen=xlen; + } + } + + return(maxxlen); +} + +/****************************** IO-handling **********************************/ + +void write_prediction(char *predfile, MODEL *model, double *lin, + double *a, long int *unlabeled, + long int *label, long int totdoc, + LEARN_PARM *learn_parm) +{ + FILE *predfl; + long i; + double dist,a_max; + + if(verbosity>=1) { + printf("Writing prediction file..."); fflush(stdout); + } + if ((predfl = fopen (predfile, "w")) == NULL) + { perror (predfile); exit (1); } + a_max=learn_parm->epsilon_a; + for(i=0;i<totdoc;i++) { + if((unlabeled[i]) && (a[i]>a_max)) { + a_max=a[i]; + } + } + for(i=0;i<totdoc;i++) { + if(unlabeled[i]) { + if((a[i]>(learn_parm->epsilon_a))) { + dist=(double)label[i]*(1.0-learn_parm->epsilon_crit-a[i]/(a_max*2.0)); + } + else { + dist=(lin[i]-model->b); + } + if(dist>0) { + fprintf(predfl,"%.8g:+1 %.8g:-1\n",dist,-dist); + } + else { + fprintf(predfl,"%.8g:-1 %.8g:+1\n",-dist,dist); + } + } + } + fclose(predfl); + if(verbosity>=1) { + printf("done\n"); + } +} + +void write_alphas(char *alphafile, double *a, + long int *label, long int totdoc) +{ + FILE *alphafl; + long i; + + if(verbosity>=1) { + printf("Writing alpha file..."); fflush(stdout); + } + if ((alphafl = fopen (alphafile, "w")) == NULL) + { perror (alphafile); exit (1); } + for(i=0;i<totdoc;i++) { + fprintf(alphafl,"%.18g\n",a[i]*(double)label[i]); + } + fclose(alphafl); + if(verbosity>=1) { + printf("done\n"); + } +} + diff --git a/trunk/svm_light/build/svm_light-tar/svm_learn.h b/trunk/svm_light/build/svm_light-tar/svm_learn.h new file mode 100755 index 00000000..8a1edf7b --- /dev/null +++ b/trunk/svm_light/build/svm_light-tar/svm_learn.h @@ -0,0 +1,173 @@ +/***********************************************************************/ +/* */ +/* svm_learn.h */ +/* */ +/* Declarations for learning module of Support Vector Machine. */ +/* */ +/* Author: Thorsten Joachims */ +/* Date: 02.07.02 */ +/* */ +/* Copyright (c) 2002 Thorsten Joachims - All rights reserved */ +/* */ +/* This software is available for non-commercial use only. It must */ +/* not be modified and distributed without prior permission of the */ +/* author. The author is not responsible for implications from the */ +/* use of this software. */ +/* */ +/***********************************************************************/ + +#ifndef SVM_LEARN +#define SVM_LEARN + +void svm_learn_classification_extend(DOC **, double *, long, long, LEARN_PARM *, + KERNEL_PARM *, KERNEL_CACHE *, MODEL *, + double *, int *, double *); +void svm_learn_classification(DOC **, double *, long, long, LEARN_PARM *, + KERNEL_PARM *, KERNEL_CACHE *, MODEL *, + double *); +void svm_learn_regression(DOC **, double *, long, long, LEARN_PARM *, + KERNEL_PARM *, KERNEL_CACHE **, MODEL *); +void svm_learn_ranking(DOC **, double *, long, long, LEARN_PARM *, + KERNEL_PARM *, KERNEL_CACHE **, MODEL *); +void svm_learn_optimization(DOC **, double *, long, long, LEARN_PARM *, + KERNEL_PARM *, KERNEL_CACHE *, MODEL *, + double *); +long optimize_to_convergence(DOC **, long *, long, long, LEARN_PARM *, + KERNEL_PARM *, KERNEL_CACHE *, SHRINK_STATE *, + MODEL *, long *, long *, double *, + double *, double *, + TIMING *, double *, long, long); +long optimize_to_convergence_sharedslack(DOC **, long *, long, long, + LEARN_PARM *, + KERNEL_PARM *, KERNEL_CACHE *, SHRINK_STATE *, + MODEL *, double *, double *, double *, + TIMING *, double *); +double compute_objective_function(double *, double *, double *, double, + long *, long *); +void clear_index(long *); +void add_to_index(long *, long); +long compute_index(long *,long, long *); +void optimize_svm(DOC **, long *, long *, long *, double, long *, long *, + MODEL *, + long, long *, long, double *, double *, double *, + LEARN_PARM *, CFLOAT *, KERNEL_PARM *, QP *, double *); +void compute_matrices_for_optimization(DOC **, long *, long *, long *, double, + long *, + long *, long *, MODEL *, double *, + double *, double *, long, long, LEARN_PARM *, + CFLOAT *, KERNEL_PARM *, QP *); +long calculate_svm_model(DOC **, long *, long *, double *, double *, + double *, double *, LEARN_PARM *, long *, + long *, MODEL *); +long check_optimality(MODEL *, long *, long *, double *, double *, + double *, long, + LEARN_PARM *,double *, double, long *, long *, long *, + long *, long, KERNEL_PARM *); +long check_optimality_sharedslack(DOC **docs, MODEL *model, long int *label, + double *a, double *lin, double *c, double *slack, + double *alphaslack, long int totdoc, + LEARN_PARM *learn_parm, double *maxdiff, + double epsilon_crit_org, long int *misclassified, + long int *active2dnum, + long int *last_suboptimal_at, + long int iteration, KERNEL_PARM *kernel_parm); +void compute_shared_slacks(DOC **docs, long int *label, double *a, + double *lin, double *c, long int *active2dnum, + LEARN_PARM *learn_parm, + double *slack, double *alphaslack); +long identify_inconsistent(double *, long *, long *, long, LEARN_PARM *, + long *, long *); +long identify_misclassified(double *, long *, long *, long, + MODEL *, long *, long *); +long identify_one_misclassified(double *, long *, long *, long, + MODEL *, long *, long *); +long incorporate_unlabeled_examples(MODEL *, long *,long *, long *, + double *, double *, long, double *, + long *, long *, long, KERNEL_PARM *, + LEARN_PARM *); +void update_linear_component(DOC **, long *, long *, double *, double *, + long *, long, long, KERNEL_PARM *, + KERNEL_CACHE *, double *, + CFLOAT *, double *); +long select_next_qp_subproblem_grad(long *, long *, double *, + double *, double *, long, + long, LEARN_PARM *, long *, long *, + long *, double *, long *, KERNEL_CACHE *, + long, long *, long *); +long select_next_qp_subproblem_rand(long *, long *, double *, + double *, double *, long, + long, LEARN_PARM *, long *, long *, + long *, double *, long *, KERNEL_CACHE *, + long *, long *, long); +long select_next_qp_slackset(DOC **docs, long int *label, double *a, + double *lin, double *slack, double *alphaslack, + double *c, LEARN_PARM *learn_parm, + long int *active2dnum, double *maxviol); +void select_top_n(double *, long, long *, long); +void init_shrink_state(SHRINK_STATE *, long, long); +void shrink_state_cleanup(SHRINK_STATE *); +long shrink_problem(DOC **, LEARN_PARM *, SHRINK_STATE *, KERNEL_PARM *, + long *, long *, long, long, long, double *, long *); +void reactivate_inactive_examples(long *, long *, double *, SHRINK_STATE *, + double *, double*, long, long, long, LEARN_PARM *, + long *, DOC **, KERNEL_PARM *, + KERNEL_CACHE *, MODEL *, CFLOAT *, + double *, double *); + +/* cache kernel evalutations to improve speed */ +KERNEL_CACHE *kernel_cache_init(long, long); +void kernel_cache_cleanup(KERNEL_CACHE *); +void get_kernel_row(KERNEL_CACHE *,DOC **, long, long, long *, CFLOAT *, + KERNEL_PARM *); +void cache_kernel_row(KERNEL_CACHE *,DOC **, long, KERNEL_PARM *); +void cache_multiple_kernel_rows(KERNEL_CACHE *,DOC **, long *, long, + KERNEL_PARM *); +void kernel_cache_shrink(KERNEL_CACHE *,long, long, long *); +void kernel_cache_reset_lru(KERNEL_CACHE *); +long kernel_cache_malloc(KERNEL_CACHE *); +void kernel_cache_free(KERNEL_CACHE *,long); +long kernel_cache_free_lru(KERNEL_CACHE *); +CFLOAT *kernel_cache_clean_and_malloc(KERNEL_CACHE *,long); +long kernel_cache_touch(KERNEL_CACHE *,long); +long kernel_cache_check(KERNEL_CACHE *,long); +long kernel_cache_space_available(KERNEL_CACHE *); + +void compute_xa_estimates(MODEL *, long *, long *, long, DOC **, + double *, double *, KERNEL_PARM *, + LEARN_PARM *, double *, double *, double *); +double xa_estimate_error(MODEL *, long *, long *, long, DOC **, + double *, double *, KERNEL_PARM *, + LEARN_PARM *); +double xa_estimate_recall(MODEL *, long *, long *, long, DOC **, + double *, double *, KERNEL_PARM *, + LEARN_PARM *); +double xa_estimate_precision(MODEL *, long *, long *, long, DOC **, + double *, double *, KERNEL_PARM *, + LEARN_PARM *); +void avg_similarity_of_sv_of_one_class(MODEL *, DOC **, double *, long *, KERNEL_PARM *, double *, double *); +double most_similar_sv_of_same_class(MODEL *, DOC **, double *, long, long *, KERNEL_PARM *, LEARN_PARM *); +double distribute_alpha_t_greedily(long *, long, DOC **, double *, long, long *, KERNEL_PARM *, LEARN_PARM *, double); +double distribute_alpha_t_greedily_noindex(MODEL *, DOC **, double *, long, long *, KERNEL_PARM *, LEARN_PARM *, double); +void estimate_transduction_quality(MODEL *, long *, long *, long, DOC **, double *); +double estimate_margin_vcdim(MODEL *, double, double, KERNEL_PARM *); +double estimate_sphere(MODEL *, KERNEL_PARM *); +double estimate_r_delta_average(DOC **, long, KERNEL_PARM *); +double estimate_r_delta(DOC **, long, KERNEL_PARM *); +double length_of_longest_document_vector(DOC **, long, KERNEL_PARM *); + + +void write_model(char *, MODEL *); +void write_prediction(char *, MODEL *, double *, double *, long *, long *, + long, LEARN_PARM *); +void write_alphas(char *, double *, long *, long); + +typedef struct cache_parm_s { + KERNEL_CACHE *kernel_cache; + CFLOAT *cache; + DOC **docs; + long m; + KERNEL_PARM *kernel_parm; + long offset,stepsize; +} cache_parm_t; + +#endif diff --git a/trunk/svm_light/build/svm_light-tar/svm_learn_main.c b/trunk/svm_light/build/svm_light-tar/svm_learn_main.c new file mode 100755 index 00000000..e2a157da --- /dev/null +++ b/trunk/svm_light/build/svm_light-tar/svm_learn_main.c @@ -0,0 +1,397 @@ +/***********************************************************************/ +/* */ +/* svm_learn_main.c */ +/* */ +/* Command line interface to the learning module of the */ +/* Support Vector Machine. */ +/* */ +/* Author: Thorsten Joachims */ +/* Date: 02.07.02 */ +/* */ +/* Copyright (c) 2000 Thorsten Joachims - All rights reserved */ +/* */ +/* This software is available for non-commercial use only. It must */ +/* not be modified and distributed without prior permission of the */ +/* author. The author is not responsible for implications from the */ +/* use of this software. */ +/* */ +/***********************************************************************/ + + +/* if svm-learn is used out of C++, define it as extern "C" */ +#ifdef __cplusplus +extern "C" { +#endif + +# include "svm_common.h" +# include "svm_learn.h" + +#ifdef __cplusplus +} +#endif + +char docfile[200]; /* file with training examples */ +char modelfile[200]; /* file for resulting classifier */ +char restartfile[200]; /* file with initial alphas */ + +void read_input_parameters(int, char **, char *, char *, char *, long *, + LEARN_PARM *, KERNEL_PARM *); +void wait_any_key(); +void print_help(); + + + +int main (int argc, char* argv[]) +{ + DOC **docs; /* training examples */ + long totwords,totdoc,i; + double *target; + double *alpha_in=NULL; + KERNEL_CACHE *kernel_cache; + LEARN_PARM learn_parm; + KERNEL_PARM kernel_parm; + MODEL *model=(MODEL *)my_malloc(sizeof(MODEL)); + + read_input_parameters(argc,argv,docfile,modelfile,restartfile,&verbosity, + &learn_parm,&kernel_parm); + read_documents(docfile,&docs,&target,&totwords,&totdoc); + if(restartfile[0]) alpha_in=read_alphas(restartfile,totdoc); + + if(kernel_parm.kernel_type == LINEAR) { /* don't need the cache */ + kernel_cache=NULL; + } + else { + /* Always get a new kernel cache. It is not possible to use the + same cache for two different training runs */ + kernel_cache=kernel_cache_init(totdoc,learn_parm.kernel_cache_size); + } + + if(learn_parm.type == CLASSIFICATION) { + svm_learn_classification(docs,target,totdoc,totwords,&learn_parm, + &kernel_parm,kernel_cache,model,alpha_in); + } + else if(learn_parm.type == REGRESSION) { + svm_learn_regression(docs,target,totdoc,totwords,&learn_parm, + &kernel_parm,&kernel_cache,model); + } + else if(learn_parm.type == RANKING) { + svm_learn_ranking(docs,target,totdoc,totwords,&learn_parm, + &kernel_parm,&kernel_cache,model); + } + else if(learn_parm.type == OPTIMIZATION) { + svm_learn_optimization(docs,target,totdoc,totwords,&learn_parm, + &kernel_parm,kernel_cache,model,alpha_in); + } + + if(kernel_cache) { + /* Free the memory used for the cache. */ + kernel_cache_cleanup(kernel_cache); + } + + /* Warning: The model contains references to the original data 'docs'. + If you want to free the original data, and only keep the model, you + have to make a deep copy of 'model'. */ + /* deep_copy_of_model=copy_model(model); */ + write_model(modelfile,model); + + free(alpha_in); + free_model(model,0); + for(i=0;i<totdoc;i++) + free_example(docs[i],1); + free(docs); + free(target); + + return(0); +} + +/*---------------------------------------------------------------------------*/ + +void read_input_parameters(int argc,char *argv[],char *docfile,char *modelfile, + char *restartfile,long *verbosity, + LEARN_PARM *learn_parm,KERNEL_PARM *kernel_parm) +{ + long i; + char type[100]; + + /* set default */ + strcpy (modelfile, "svm_model"); + strcpy (learn_parm->predfile, "trans_predictions"); + strcpy (learn_parm->alphafile, ""); + strcpy (restartfile, ""); + (*verbosity)=1; + learn_parm->biased_hyperplane=1; + learn_parm->sharedslack=0; + learn_parm->remove_inconsistent=0; + learn_parm->skip_final_opt_check=0; + learn_parm->svm_maxqpsize=10; + learn_parm->svm_newvarsinqp=0; + learn_parm->svm_iter_to_shrink=-9999; + learn_parm->maxiter=100000; + learn_parm->kernel_cache_size=40; + learn_parm->svm_c=0.0; + learn_parm->eps=0.1; + learn_parm->transduction_posratio=-1.0; + learn_parm->svm_costratio=1.0; + learn_parm->svm_costratio_unlab=1.0; + learn_parm->svm_unlabbound=1E-5; + learn_parm->epsilon_crit=0.001; + learn_parm->epsilon_a=1E-15; + learn_parm->compute_loo=0; + learn_parm->rho=1.0; + learn_parm->xa_depth=0; + kernel_parm->kernel_type=0; + kernel_parm->poly_degree=3; + kernel_parm->rbf_gamma=1.0; + kernel_parm->coef_lin=1; + kernel_parm->coef_const=1; + strcpy(kernel_parm->custom,"empty"); + strcpy(type,"c"); + + for(i=1;(i<argc) && ((argv[i])[0] == '-');i++) { + switch ((argv[i])[1]) + { + case '?': print_help(); exit(0); + case 'z': i++; strcpy(type,argv[i]); break; + case 'v': i++; (*verbosity)=atol(argv[i]); break; + case 'b': i++; learn_parm->biased_hyperplane=atol(argv[i]); break; + case 'i': i++; learn_parm->remove_inconsistent=atol(argv[i]); break; + case 'f': i++; learn_parm->skip_final_opt_check=!atol(argv[i]); break; + case 'q': i++; learn_parm->svm_maxqpsize=atol(argv[i]); break; + case 'n': i++; learn_parm->svm_newvarsinqp=atol(argv[i]); break; + case '#': i++; learn_parm->maxiter=atol(argv[i]); break; + case 'h': i++; learn_parm->svm_iter_to_shrink=atol(argv[i]); break; + case 'm': i++; learn_parm->kernel_cache_size=atol(argv[i]); break; + case 'c': i++; learn_parm->svm_c=atof(argv[i]); break; + case 'w': i++; learn_parm->eps=atof(argv[i]); break; + case 'p': i++; learn_parm->transduction_posratio=atof(argv[i]); break; + case 'j': i++; learn_parm->svm_costratio=atof(argv[i]); break; + case 'e': i++; learn_parm->epsilon_crit=atof(argv[i]); break; + case 'o': i++; learn_parm->rho=atof(argv[i]); break; + case 'k': i++; learn_parm->xa_depth=atol(argv[i]); break; + case 'x': i++; learn_parm->compute_loo=atol(argv[i]); break; + case 't': i++; kernel_parm->kernel_type=atol(argv[i]); break; + case 'd': i++; kernel_parm->poly_degree=atol(argv[i]); break; + case 'g': i++; kernel_parm->rbf_gamma=atof(argv[i]); break; + case 's': i++; kernel_parm->coef_lin=atof(argv[i]); break; + case 'r': i++; kernel_parm->coef_const=atof(argv[i]); break; + case 'u': i++; strcpy(kernel_parm->custom,argv[i]); break; + case 'l': i++; strcpy(learn_parm->predfile,argv[i]); break; + case 'a': i++; strcpy(learn_parm->alphafile,argv[i]); break; + case 'y': i++; strcpy(restartfile,argv[i]); break; + default: printf("\nUnrecognized option %s!\n\n",argv[i]); + print_help(); + exit(0); + } + } + if(i>=argc) { + printf("\nNot enough input parameters!\n\n"); + wait_any_key(); + print_help(); + exit(0); + } + strcpy (docfile, argv[i]); + if((i+1)<argc) { + strcpy (modelfile, argv[i+1]); + } + if(learn_parm->svm_iter_to_shrink == -9999) { + if(kernel_parm->kernel_type == LINEAR) + learn_parm->svm_iter_to_shrink=2; + else + learn_parm->svm_iter_to_shrink=100; + } + if(strcmp(type,"c")==0) { + learn_parm->type=CLASSIFICATION; + } + else if(strcmp(type,"r")==0) { + learn_parm->type=REGRESSION; + } + else if(strcmp(type,"p")==0) { + learn_parm->type=RANKING; + } + else if(strcmp(type,"o")==0) { + learn_parm->type=OPTIMIZATION; + } + else if(strcmp(type,"s")==0) { + learn_parm->type=OPTIMIZATION; + learn_parm->sharedslack=1; + } + else { + printf("\nUnknown type '%s': Valid types are 'c' (classification), 'r' regession, and 'p' preference ranking.\n",type); + wait_any_key(); + print_help(); + exit(0); + } + if((learn_parm->skip_final_opt_check) + && (kernel_parm->kernel_type == LINEAR)) { + printf("\nIt does not make sense to skip the final optimality check for linear kernels.\n\n"); + learn_parm->skip_final_opt_check=0; + } + if((learn_parm->skip_final_opt_check) + && (learn_parm->remove_inconsistent)) { + printf("\nIt is necessary to do the final optimality check when removing inconsistent \nexamples.\n"); + wait_any_key(); + print_help(); + exit(0); + } + if((learn_parm->svm_maxqpsize<2)) { + printf("\nMaximum size of QP-subproblems not in valid range: %ld [2..]\n",learn_parm->svm_maxqpsize); + wait_any_key(); + print_help(); + exit(0); + } + if((learn_parm->svm_maxqpsize<learn_parm->svm_newvarsinqp)) { + printf("\nMaximum size of QP-subproblems [%ld] must be larger than the number of\n",learn_parm->svm_maxqpsize); + printf("new variables [%ld] entering the working set in each iteration.\n",learn_parm->svm_newvarsinqp); + wait_any_key(); + print_help(); + exit(0); + } + if(learn_parm->svm_iter_to_shrink<1) { + printf("\nMaximum number of iterations for shrinking not in valid range: %ld [1,..]\n",learn_parm->svm_iter_to_shrink); + wait_any_key(); + print_help(); + exit(0); + } + if(learn_parm->svm_c<0) { + printf("\nThe C parameter must be greater than zero!\n\n"); + wait_any_key(); + print_help(); + exit(0); + } + if(learn_parm->transduction_posratio>1) { + printf("\nThe fraction of unlabeled examples to classify as positives must\n"); + printf("be less than 1.0 !!!\n\n"); + wait_any_key(); + print_help(); + exit(0); + } + if(learn_parm->svm_costratio<=0) { + printf("\nThe COSTRATIO parameter must be greater than zero!\n\n"); + wait_any_key(); + print_help(); + exit(0); + } + if(learn_parm->epsilon_crit<=0) { + printf("\nThe epsilon parameter must be greater than zero!\n\n"); + wait_any_key(); + print_help(); + exit(0); + } + if(learn_parm->rho<0) { + printf("\nThe parameter rho for xi/alpha-estimates and leave-one-out pruning must\n"); + printf("be greater than zero (typically 1.0 or 2.0, see T. Joachims, Estimating the\n"); + printf("Generalization Performance of an SVM Efficiently, ICML, 2000.)!\n\n"); + wait_any_key(); + print_help(); + exit(0); + } + if((learn_parm->xa_depth<0) || (learn_parm->xa_depth>100)) { + printf("\nThe parameter depth for ext. xi/alpha-estimates must be in [0..100] (zero\n"); + printf("for switching to the conventional xa/estimates described in T. Joachims,\n"); + printf("Estimating the Generalization Performance of an SVM Efficiently, ICML, 2000.)\n"); + wait_any_key(); + print_help(); + exit(0); + } +} + +void wait_any_key() +{ + printf("\n(more)\n"); + (void)getc(stdin); +} + +void print_help() +{ + printf("\nSVM-light %s: Support Vector Machine, learning module %s\n",VERSION,VERSION_DATE); + copyright_notice(); + printf(" usage: svm_learn [options] example_file model_file\n\n"); + printf("Arguments:\n"); + printf(" example_file-> file with training data\n"); + printf(" model_file -> file to store learned decision rule in\n"); + + printf("General options:\n"); + printf(" -? -> this help\n"); + printf(" -v [0..3] -> verbosity level (default 1)\n"); + printf("Learning options:\n"); + printf(" -z {c,r,p} -> select between classification (c), regression (r),\n"); + printf(" and preference ranking (p) (default classification)\n"); + printf(" -c float -> C: trade-off between training error\n"); + printf(" and margin (default [avg. x*x]^-1)\n"); + printf(" -w [0..] -> epsilon width of tube for regression\n"); + printf(" (default 0.1)\n"); + printf(" -j float -> Cost: cost-factor, by which training errors on\n"); + printf(" positive examples outweight errors on negative\n"); + printf(" examples (default 1) (see [4])\n"); + printf(" -b [0,1] -> use biased hyperplane (i.e. x*w+b>0) instead\n"); + printf(" of unbiased hyperplane (i.e. x*w>0) (default 1)\n"); + printf(" -i [0,1] -> remove inconsistent training examples\n"); + printf(" and retrain (default 0)\n"); + printf("Performance estimation options:\n"); + printf(" -x [0,1] -> compute leave-one-out estimates (default 0)\n"); + printf(" (see [5])\n"); + printf(" -o ]0..2] -> value of rho for XiAlpha-estimator and for pruning\n"); + printf(" leave-one-out computation (default 1.0) (see [2])\n"); + printf(" -k [0..100] -> search depth for extended XiAlpha-estimator \n"); + printf(" (default 0)\n"); + printf("Transduction options (see [3]):\n"); + printf(" -p [0..1] -> fraction of unlabeled examples to be classified\n"); + printf(" into the positive class (default is the ratio of\n"); + printf(" positive and negative examples in the training data)\n"); + printf("Kernel options:\n"); + printf(" -t int -> type of kernel function:\n"); + printf(" 0: linear (default)\n"); + printf(" 1: polynomial (s a*b+c)^d\n"); + printf(" 2: radial basis function exp(-gamma ||a-b||^2)\n"); + printf(" 3: sigmoid tanh(s a*b + c)\n"); + printf(" 4: user defined kernel from kernel.h\n"); + printf(" -d int -> parameter d in polynomial kernel\n"); + printf(" -g float -> parameter gamma in rbf kernel\n"); + printf(" -s float -> parameter s in sigmoid/poly kernel\n"); + printf(" -r float -> parameter c in sigmoid/poly kernel\n"); + printf(" -u string -> parameter of user defined kernel\n"); + printf("Optimization options (see [1]):\n"); + printf(" -q [2..] -> maximum size of QP-subproblems (default 10)\n"); + printf(" -n [2..q] -> number of new variables entering the working set\n"); + printf(" in each iteration (default n = q). Set n<q to prevent\n"); + printf(" zig-zagging.\n"); + printf(" -m [5..] -> size of cache for kernel evaluations in MB (default 40)\n"); + printf(" The larger the faster...\n"); + printf(" -e float -> eps: Allow that error for termination criterion\n"); + printf(" [y [w*x+b] - 1] >= eps (default 0.001)\n"); + printf(" -y [0,1] -> restart the optimization from alpha values in file\n"); + printf(" specified by -a option. (default 0)\n"); + printf(" -h [5..] -> number of iterations a variable needs to be\n"); + printf(" optimal before considered for shrinking (default 100)\n"); + printf(" -f [0,1] -> do final optimality check for variables removed\n"); + printf(" by shrinking. Although this test is usually \n"); + printf(" positive, there is no guarantee that the optimum\n"); + printf(" was found if the test is omitted. (default 1)\n"); + printf(" -y string -> if option is given, reads alphas from file with given\n"); + printf(" and uses them as starting point. (default 'disabled')\n"); + printf(" -# int -> terminate optimization, if no progress after this\n"); + printf(" number of iterations. (default 100000)\n"); + printf("Output options:\n"); + printf(" -l string -> file to write predicted labels of unlabeled\n"); + printf(" examples into after transductive learning\n"); + printf(" -a string -> write all alphas to this file after learning\n"); + printf(" (in the same order as in the training set)\n"); + wait_any_key(); + printf("\nMore details in:\n"); + printf("[1] T. Joachims, Making Large-Scale SVM Learning Practical. Advances in\n"); + printf(" Kernel Methods - Support Vector Learning, B. Sch�lkopf and C. Burges and\n"); + printf(" A. Smola (ed.), MIT Press, 1999.\n"); + printf("[2] T. Joachims, Estimating the Generalization performance of an SVM\n"); + printf(" Efficiently. International Conference on Machine Learning (ICML), 2000.\n"); + printf("[3] T. Joachims, Transductive Inference for Text Classification using Support\n"); + printf(" Vector Machines. International Conference on Machine Learning (ICML),\n"); + printf(" 1999.\n"); + printf("[4] K. Morik, P. Brockhausen, and T. Joachims, Combining statistical learning\n"); + printf(" with a knowledge-based approach - A case study in intensive care \n"); + printf(" monitoring. International Conference on Machine Learning (ICML), 1999.\n"); + printf("[5] T. Joachims, Learning to Classify Text Using Support Vector\n"); + printf(" Machines: Methods, Theory, and Algorithms. Dissertation, Kluwer,\n"); + printf(" 2002.\n\n"); +} + + diff --git a/trunk/svm_light/build/svm_light-tar/svm_loqo.c b/trunk/svm_light/build/svm_light-tar/svm_loqo.c new file mode 100755 index 00000000..ff31a655 --- /dev/null +++ b/trunk/svm_light/build/svm_light-tar/svm_loqo.c @@ -0,0 +1,211 @@ +/***********************************************************************/ +/* */ +/* svm_loqo.c */ +/* */ +/* Interface to the PR_LOQO optimization package for SVM. */ +/* */ +/* Author: Thorsten Joachims */ +/* Date: 19.07.99 */ +/* */ +/* Copyright (c) 1999 Universitaet Dortmund - All rights reserved */ +/* */ +/* This software is available for non-commercial use only. It must */ +/* not be modified and distributed without prior permission of the */ +/* author. The author is not responsible for implications from the */ +/* use of this software. */ +/* */ +/***********************************************************************/ + +# include <math.h> +# include "pr_loqo/pr_loqo.h" +# include "svm_common.h" + +/* Common Block Declarations */ + +long verbosity; + +/* /////////////////////////////////////////////////////////////// */ + +# define DEF_PRECISION_LINEAR 1E-8 +# define DEF_PRECISION_NONLINEAR 1E-14 + +double *optimize_qp(); +double *primal=0,*dual=0; +double init_margin=0.15; +long init_iter=500,precision_violations=0; +double model_b; +double opt_precision=DEF_PRECISION_LINEAR; + +/* /////////////////////////////////////////////////////////////// */ + +void *my_malloc(); + +double *optimize_qp(qp,epsilon_crit,nx,threshold,learn_parm) +QP *qp; +double *epsilon_crit; +long nx; /* Maximum number of variables in QP */ +double *threshold; +LEARN_PARM *learn_parm; +/* start the optimizer and return the optimal values */ +{ + register long i,j,result; + double margin,obj_before,obj_after; + double sigdig,dist,epsilon_loqo; + int iter; + + if(!primal) { /* allocate memory at first call */ + primal=(double *)my_malloc(sizeof(double)*nx*3); + dual=(double *)my_malloc(sizeof(double)*(nx*2+1)); + } + + if(verbosity>=4) { /* really verbose */ + printf("\n\n"); + for(i=0;i<qp->opt_n;i++) { + printf("%f: ",qp->opt_g0[i]); + for(j=0;j<qp->opt_n;j++) { + printf("%f ",qp->opt_g[i*qp->opt_n+j]); + } + printf(": a%ld=%.10f < %f",i,qp->opt_xinit[i],qp->opt_up[i]); + printf(": y=%f\n",qp->opt_ce[i]); + } + for(j=0;j<qp->opt_m;j++) { + printf("EQ-%ld: %f*a0",j,qp->opt_ce[j]); + for(i=1;i<qp->opt_n;i++) { + printf(" + %f*a%ld",qp->opt_ce[i],i); + } + printf(" = %f\n\n",-qp->opt_ce0[0]); + } +} + + obj_before=0; /* calculate objective before optimization */ + for(i=0;i<qp->opt_n;i++) { + obj_before+=(qp->opt_g0[i]*qp->opt_xinit[i]); + obj_before+=(0.5*qp->opt_xinit[i]*qp->opt_xinit[i]*qp->opt_g[i*qp->opt_n+i]); + for(j=0;j<i;j++) { + obj_before+=(qp->opt_xinit[j]*qp->opt_xinit[i]*qp->opt_g[j*qp->opt_n+i]); + } + } + + result=STILL_RUNNING; + qp->opt_ce0[0]*=(-1.0); + /* Run pr_loqo. If a run fails, try again with parameters which lead */ + /* to a slower, but more robust setting. */ + for(margin=init_margin,iter=init_iter; + (margin<=0.9999999) && (result!=OPTIMAL_SOLUTION);) { + sigdig=-log10(opt_precision); + + result=pr_loqo((int)qp->opt_n,(int)qp->opt_m, + (double *)qp->opt_g0,(double *)qp->opt_g, + (double *)qp->opt_ce,(double *)qp->opt_ce0, + (double *)qp->opt_low,(double *)qp->opt_up, + (double *)primal,(double *)dual, + (int)(verbosity-2), + (double)sigdig,(int)iter, + (double)margin,(double)(qp->opt_up[0])/4.0,(int)0); + + if(isnan(dual[0])) { /* check for choldc problem */ + if(verbosity>=2) { + printf("NOTICE: Restarting PR_LOQO with more conservative parameters.\n"); + } + if(init_margin<0.80) { /* become more conservative in general */ + init_margin=(4.0*margin+1.0)/5.0; + } + margin=(margin+1.0)/2.0; + (opt_precision)*=10.0; /* reduce precision */ + if(verbosity>=2) { + printf("NOTICE: Reducing precision of PR_LOQO.\n"); + } + } + else if(result!=OPTIMAL_SOLUTION) { + iter+=2000; + init_iter+=10; + (opt_precision)*=10.0; /* reduce precision */ + if(verbosity>=2) { + printf("NOTICE: Reducing precision of PR_LOQO due to (%ld).\n",result); + } + } + } + + if(qp->opt_m) /* Thanks to Alex Smola for this hint */ + model_b=dual[0]; + else + model_b=0; + + /* Check the precision of the alphas. If results of current optimization */ + /* violate KT-Conditions, relax the epsilon on the bounds on alphas. */ + epsilon_loqo=1E-10; + for(i=0;i<qp->opt_n;i++) { + dist=-model_b*qp->opt_ce[i]; + dist+=(qp->opt_g0[i]+1.0); + for(j=0;j<i;j++) { + dist+=(primal[j]*qp->opt_g[j*qp->opt_n+i]); + } + for(j=i;j<qp->opt_n;j++) { + dist+=(primal[j]*qp->opt_g[i*qp->opt_n+j]); + } + /* printf("LOQO: a[%d]=%f, dist=%f, b=%f\n",i,primal[i],dist,dual[0]); */ + if((primal[i]<(qp->opt_up[i]-epsilon_loqo)) && (dist < (1.0-(*epsilon_crit)))) { + epsilon_loqo=(qp->opt_up[i]-primal[i])*2.0; + } + else if((primal[i]>(0+epsilon_loqo)) && (dist > (1.0+(*epsilon_crit)))) { + epsilon_loqo=primal[i]*2.0; + } + } + + for(i=0;i<qp->opt_n;i++) { /* clip alphas to bounds */ + if(primal[i]<=(0+epsilon_loqo)) { + primal[i]=0; + } + else if(primal[i]>=(qp->opt_up[i]-epsilon_loqo)) { + primal[i]=qp->opt_up[i]; + } + } + + obj_after=0; /* calculate objective after optimization */ + for(i=0;i<qp->opt_n;i++) { + obj_after+=(qp->opt_g0[i]*primal[i]); + obj_after+=(0.5*primal[i]*primal[i]*qp->opt_g[i*qp->opt_n+i]); + for(j=0;j<i;j++) { + obj_after+=(primal[j]*primal[i]*qp->opt_g[j*qp->opt_n+i]); + } + } + + /* if optimizer returned NAN values, reset and retry with smaller */ + /* working set. */ + if(isnan(obj_after) || isnan(model_b)) { + for(i=0;i<qp->opt_n;i++) { + primal[i]=qp->opt_xinit[i]; + } + model_b=0; + if(learn_parm->svm_maxqpsize>2) { + learn_parm->svm_maxqpsize--; /* decrease size of qp-subproblems */ + } + } + + if(obj_after >= obj_before) { /* check whether there was progress */ + (opt_precision)/=100.0; + precision_violations++; + if(verbosity>=2) { + printf("NOTICE: Increasing Precision of PR_LOQO.\n"); + } + } + + if(precision_violations > 500) { + (*epsilon_crit)*=10.0; + precision_violations=0; + if(verbosity>=1) { + printf("\nWARNING: Relaxing epsilon on KT-Conditions.\n"); + } + } + + (*threshold)=model_b; + + if(result!=OPTIMAL_SOLUTION) { + printf("\nERROR: PR_LOQO did not converge. \n"); + return(qp->opt_xinit); + } + else { + return(primal); + } +} + diff --git a/trunk/svm_light/build/svm_light-tar/unpacked b/trunk/svm_light/build/svm_light-tar/unpacked new file mode 100644 index 00000000..e69de29b diff --git a/trunk/svm_light/build/svm_light.tar.gz b/trunk/svm_light/build/svm_light.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..8c57097c83079c08b5b70bee20fb4a74ae09d608 GIT binary patch literal 51026 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 literal 0 HcmV?d00001 diff --git a/trunk/svm_light/installed b/trunk/svm_light/installed new file mode 100644 index 00000000..e69de29b diff --git a/trunk/svm_light/mainpage.dox b/trunk/svm_light/mainpage.dox new file mode 100644 index 00000000..c09c7e54 --- /dev/null +++ b/trunk/svm_light/mainpage.dox @@ -0,0 +1,26 @@ +/** +\mainpage +\htmlinclude manifest.html + +\b svm_light is ... + +<!-- +Provide an overview of your package. +--> + + +\section codeapi Code API + +<!-- +Provide links to specific auto-generated API documentation within your +package that is of particular interest to a reader. Doxygen will +document pretty much every part of your code, so do your best here to +point the reader to the actual API. + +If your codebase is fairly large or has different sets of APIs, you +should use the doxygen 'group' tag to keep these APIs together. For +example, the roscpp documentation has 'libros' group. +--> + + +*/ diff --git a/trunk/svm_light/manifest.xml b/trunk/svm_light/manifest.xml new file mode 100644 index 00000000..00e23c6a --- /dev/null +++ b/trunk/svm_light/manifest.xml @@ -0,0 +1,15 @@ +<package> + <description brief="svm_light"> + This package is a wrapper on the svm_light library available from <a href="http://svmlight.joachims.org/">here</a>. This package does not modify the contents of the original library in any manner and only wraps it for easy distribution with the ROS packaging system. svm_light is not under BSD license and is optional for FCL. Users can choose to use it by setting flag USE_SVM_LIGHT=1 in FCL. + </description> + <author>Maintained by Jia Pan and Sachin Chitta</author> + <license>BSD</license> + <review status="unreviewed" notes=""/> + <url>http://ros.org/wiki/svm_light</url> + <export> + <cpp cflags="-I${prefix}/svm_light/include" lflags="-L${prefix}/svm_light/lib -Wl,-rpath,${prefix}/svm_light/lib -lsvmlight"/> + </export> + +</package> + + diff --git a/trunk/svm_light/svm_light.diff b/trunk/svm_light/svm_light.diff new file mode 100644 index 00000000..86410f3f --- /dev/null +++ b/trunk/svm_light/svm_light.diff @@ -0,0 +1,543 @@ +--- Makefile 2011-09-06 22:14:22.363126903 -0400 ++++ Makefile 2011-09-06 22:14:53.859177783 -0400 +@@ -11,7 +11,7 @@ LD = gcc + #Uncomment the following line to make CYGWIN produce stand-alone Windows executables + #SFLAGS= -mno-cygwin + +-CFLAGS= $(SFLAGS) -O3 # release C-Compiler flags ++CFLAGS= $(SFLAGS) -fPIC -O3 # release C-Compiler flags + LFLAGS= $(SFLAGS) -O3 # release linker flags + #CFLAGS= $(SFLAGS) -pg -Wall -pedantic # debugging C-Compiler flags + #LFLAGS= $(SFLAGS) -pg # debugging linker flags +--- svm_learn.c 2011-09-06 22:14:22.363126903 -0400 ++++ svm_learn.c 2011-09-06 22:49:10.011383409 -0400 +@@ -26,6 +26,509 @@ double *optimize_qp(QP *, double *, long + + /*---------------------------------------------------------------------------*/ + ++void svm_learn_classification_extend(DOC **docs, double *class, long int ++ totdoc, long int totwords, ++ LEARN_PARM *learn_parm, ++ KERNEL_PARM *kernel_parm, ++ KERNEL_CACHE *kernel_cache, ++ MODEL *model, ++ double *alpha, ++ int* nerrors, ++ double* maxerror) ++{ ++ long *inconsistent, i, *label; ++ long inconsistentnum; ++ long misclassified, upsupvecnum; ++ double loss, model_length, example_length; ++ double maxdiff, *lin, *a, *c; ++ long runtime_start, runtime_end; ++ long iterations; ++ long *unlabeled, transduction; ++ long heldout; ++ long loo_count = 0, loo_count_pos = 0, loo_count_neg = 0, trainpos = 0, trainneg = 0; ++ long loocomputed = 0, runtime_start_loo = 0, runtime_start_xa = 0; ++ double heldout_c = 0, r_delta_sq = 0, r_delta, r_delta_avg; ++ long *index, *index2dnum; ++ double *weights; ++ CFLOAT *aicache; /* buffer to keep one row of hessian */ ++ ++ double *xi_fullset; /* buffer for storing xi on full sample in loo */ ++ double *a_fullset; /* buffer for storing alpha on full sample in loo */ ++ TIMING timing_profile; ++ SHRINK_STATE shrink_state; ++ ++ runtime_start = get_runtime(); ++ timing_profile.time_kernel = 0; ++ timing_profile.time_opti = 0; ++ timing_profile.time_shrink = 0; ++ timing_profile.time_update = 0; ++ timing_profile.time_model = 0; ++ timing_profile.time_check = 0; ++ timing_profile.time_select = 0; ++ kernel_cache_statistic = 0; ++ ++ learn_parm->totwords = totwords; ++ ++ /* make sure -n value is reasonable */ ++ if ((learn_parm->svm_newvarsinqp < 2) ++ || (learn_parm->svm_newvarsinqp > learn_parm->svm_maxqpsize)) ++ { ++ learn_parm->svm_newvarsinqp = learn_parm->svm_maxqpsize; ++ } ++ ++ init_shrink_state(&shrink_state, totdoc, (long)MAXSHRINK); ++ ++ label = (long *)my_malloc(sizeof(long) * totdoc); ++ inconsistent = (long *)my_malloc(sizeof(long) * totdoc); ++ unlabeled = (long *)my_malloc(sizeof(long) * totdoc); ++ c = (double *)my_malloc(sizeof(double) * totdoc); ++ a = (double *)my_malloc(sizeof(double) * totdoc); ++ a_fullset = (double *)my_malloc(sizeof(double) * totdoc); ++ xi_fullset = (double *)my_malloc(sizeof(double) * totdoc); ++ lin = (double *)my_malloc(sizeof(double) * totdoc); ++ learn_parm->svm_cost = (double *)my_malloc(sizeof(double) * totdoc); ++ model->supvec = (DOC **)my_malloc(sizeof(DOC *) * (totdoc + 2)); ++ model->alpha = (double *)my_malloc(sizeof(double) * (totdoc + 2)); ++ model->index = (long *)my_malloc(sizeof(long) * (totdoc + 2)); ++ ++ model->at_upper_bound = 0; ++ model->b = 0; ++ model->supvec[0] = 0; /* element 0 reserved and empty for now */ ++ model->alpha[0] = 0; ++ model->lin_weights = NULL; ++ model->totwords = totwords; ++ model->totdoc = totdoc; ++ model->kernel_parm = (*kernel_parm); ++ model->sv_num = 1; ++ model->loo_error = -1; ++ model->loo_recall = -1; ++ model->loo_precision = -1; ++ model->xa_error = -1; ++ model->xa_recall = -1; ++ model->xa_precision = -1; ++ inconsistentnum = 0; ++ transduction = 0; ++ ++ r_delta = estimate_r_delta(docs, totdoc, kernel_parm); ++ r_delta_sq = r_delta * r_delta; ++ ++ r_delta_avg = estimate_r_delta_average(docs, totdoc, kernel_parm); ++ if (learn_parm->svm_c == 0.0) /* default value for C */ ++ { ++ learn_parm->svm_c = 1.0 / (r_delta_avg * r_delta_avg); ++ if (verbosity >= 1) ++ printf("Setting default regularization parameter C=%.4f\n", ++ learn_parm->svm_c); ++ } ++ ++ learn_parm->eps = -1.0; /* equivalent regression epsilon for ++ classification */ ++ ++ for (i = 0; i < totdoc; i++) /* various inits */ ++ { ++ docs[i]->docnum = i; ++ inconsistent[i] = 0; ++ a[i] = 0; ++ lin[i] = 0; ++ c[i] = 0.0; ++ unlabeled[i] = 0; ++ if (class[i] == 0) ++ { ++ unlabeled[i] = 1; ++ label[i] = 0; ++ transduction = 1; ++ } ++ if (class[i] > 0) ++ { ++ learn_parm->svm_cost[i] = learn_parm->svm_c * learn_parm->svm_costratio * ++ docs[i]->costfactor; ++ label[i] = 1; ++ trainpos++; ++ } ++ else if (class[i] < 0) ++ { ++ learn_parm->svm_cost[i] = learn_parm->svm_c * docs[i]->costfactor; ++ label[i] = -1; ++ trainneg++; ++ } ++ else ++ { ++ learn_parm->svm_cost[i] = 0; ++ } ++ } ++ if (verbosity >= 2) ++ { ++ printf("%ld positive, %ld negative, and %ld unlabeled examples.\n", trainpos, trainneg, totdoc - trainpos - trainneg); ++ fflush(stdout); ++ } ++ ++ /* caching makes no sense for linear kernel */ ++ if (kernel_parm->kernel_type == LINEAR) ++ { ++ kernel_cache = NULL; ++ } ++ ++ /* compute starting state for initial alpha values */ ++ if (alpha) ++ { ++ if (verbosity >= 1) ++ { ++ printf("Computing starting state..."); ++ fflush(stdout); ++ } ++ index = (long *)my_malloc(sizeof(long) * totdoc); ++ index2dnum = (long *)my_malloc(sizeof(long) * (totdoc + 11)); ++ weights = (double *)my_malloc(sizeof(double) * (totwords + 1)); ++ aicache = (CFLOAT *)my_malloc(sizeof(CFLOAT) * totdoc); ++ for (i = 0; i < totdoc; i++) /* create full index and clip alphas */ ++ { ++ index[i] = 1; ++ alpha[i] = fabs(alpha[i]); ++ if (alpha[i] < 0) alpha[i] = 0; ++ if (alpha[i] > learn_parm->svm_cost[i]) alpha[i] = learn_parm->svm_cost[i]; ++ } ++ if (kernel_parm->kernel_type != LINEAR) ++ { ++ for (i = 0; i < totdoc; i++) /* fill kernel cache with unbounded SV */ ++ if ((alpha[i] > 0) && (alpha[i] < learn_parm->svm_cost[i]) ++ && (kernel_cache_space_available(kernel_cache))) ++ cache_kernel_row(kernel_cache, docs, i, kernel_parm); ++ for (i = 0; i < totdoc; i++) /* fill rest of kernel cache with bounded SV */ ++ if ((alpha[i] == learn_parm->svm_cost[i]) ++ && (kernel_cache_space_available(kernel_cache))) ++ cache_kernel_row(kernel_cache, docs, i, kernel_parm); ++ } ++ (void)compute_index(index, totdoc, index2dnum); ++ update_linear_component(docs, label, index2dnum, alpha, a, index2dnum, totdoc, ++ totwords, kernel_parm, kernel_cache, lin, aicache, ++ weights); ++ (void)calculate_svm_model(docs, label, unlabeled, lin, alpha, a, c, ++ learn_parm, index2dnum, index2dnum, model); ++ for (i = 0; i < totdoc; i++) /* copy initial alphas */ ++ { ++ a[i] = alpha[i]; ++ } ++ free(index); ++ free(index2dnum); ++ free(weights); ++ free(aicache); ++ if (verbosity >= 1) ++ { ++ printf("done.\n"); ++ fflush(stdout); ++ } ++ } ++ ++ if (transduction) ++ { ++ learn_parm->svm_iter_to_shrink = 99999999; ++ if (verbosity >= 1) ++ printf("\nDeactivating Shrinking due to an incompatibility with the transductive \nlearner in the current version.\n\n"); ++ } ++ ++ ++ if (transduction && learn_parm->compute_loo) ++ { ++ learn_parm->compute_loo = 0; ++ if (verbosity >= 1) ++ printf("\nCannot compute leave-one-out estimates for transductive learner.\n\n"); ++ } ++ ++ if (learn_parm->remove_inconsistent && learn_parm->compute_loo) ++ { ++ learn_parm->compute_loo = 0; ++ printf("\nCannot compute leave-one-out estimates when removing inconsistent examples.\n\n"); ++ } ++ ++ if (learn_parm->compute_loo && ((trainpos == 1) || (trainneg == 1))) ++ { ++ learn_parm->compute_loo = 0; ++ printf("\nCannot compute leave-one-out with only one example in one class.\n\n"); ++ } ++ ++ ++ if (verbosity == 1) ++ { ++ printf("Optimizing"); ++ fflush(stdout); ++ } ++ ++ /* train the svm */ ++ iterations = optimize_to_convergence(docs, label, totdoc, totwords, learn_parm, ++ kernel_parm, kernel_cache, &shrink_state, model, ++ inconsistent, unlabeled, a, lin, ++ c, &timing_profile, ++ &maxdiff, (long) - 1, ++ (long)1); ++ ++ misclassified = 0; ++ double maxerror_ = 0; ++ for (i = 0; (i < totdoc); i++) /* get final statistic */ ++ { ++ if ((lin[i] - model->b)*(double)label[i] <= 0.0) ++ { ++ misclassified++; ++ if(maxerror_ < -(lin[i] - model->b)*(double)label[i]) ++ maxerror_ = -(lin[i] - model->b)*(double)label[i]; ++ } ++ } ++ ++ *nerrors = misclassified; ++ *maxerror = maxerror_; ++ ++ if (verbosity >= 1) ++ { ++ if (verbosity == 1) printf("done. (%ld iterations)\n", iterations); ++ ++ misclassified = 0; ++ for (i = 0; (i < totdoc); i++) /* get final statistic */ ++ { ++ if ((lin[i] - model->b)*(double)label[i] <= 0.0) ++ misclassified++; ++ } ++ ++ printf("Optimization finished (%ld misclassified, maxdiff=%.5f).\n", ++ misclassified, maxdiff); ++ ++ runtime_end = get_runtime(); ++ if (verbosity >= 2) ++ { ++ printf("Runtime in cpu-seconds: %.2f (%.2f%% for kernel/%.2f%% for optimizer/%.2f%% for final/%.2f%% for update/%.2f%% for model/%.2f%% for check/%.2f%% for select)\n", ++ ((float)runtime_end - (float)runtime_start) / 100.0, ++ (100.0*timing_profile.time_kernel) / (float)(runtime_end - runtime_start), ++ (100.0*timing_profile.time_opti) / (float)(runtime_end - runtime_start), ++ (100.0*timing_profile.time_shrink) / (float)(runtime_end - runtime_start), ++ (100.0*timing_profile.time_update) / (float)(runtime_end - runtime_start), ++ (100.0*timing_profile.time_model) / (float)(runtime_end - runtime_start), ++ (100.0*timing_profile.time_check) / (float)(runtime_end - runtime_start), ++ (100.0*timing_profile.time_select) / (float)(runtime_end - runtime_start)); ++ } ++ else ++ { ++ printf("Runtime in cpu-seconds: %.2f\n", ++ (runtime_end - runtime_start) / 100.0); ++ } ++ ++ if (learn_parm->remove_inconsistent) ++ { ++ inconsistentnum = 0; ++ for (i = 0; i < totdoc; i++) ++ if (inconsistent[i]) ++ inconsistentnum++; ++ printf("Number of SV: %ld (plus %ld inconsistent examples)\n", ++ model->sv_num - 1, inconsistentnum); ++ } ++ else ++ { ++ upsupvecnum = 0; ++ for (i = 1; i < model->sv_num; i++) ++ { ++ if (fabs(model->alpha[i]) >= ++ (learn_parm->svm_cost[(model->supvec[i])->docnum] - ++ learn_parm->epsilon_a)) ++ upsupvecnum++; ++ } ++ printf("Number of SV: %ld (including %ld at upper bound)\n", ++ model->sv_num - 1, upsupvecnum); ++ } ++ ++ if ((verbosity >= 1) && (!learn_parm->skip_final_opt_check)) ++ { ++ loss = 0; ++ model_length = 0; ++ for (i = 0; i < totdoc; i++) ++ { ++ if ((lin[i] - model->b)*(double)label[i] < 1.0 - learn_parm->epsilon_crit) ++ loss += 1.0 - (lin[i] - model->b) * (double)label[i]; ++ model_length += a[i] * label[i] * lin[i]; ++ } ++ model_length = sqrt(model_length); ++ fprintf(stdout, "L1 loss: loss=%.5f\n", loss); ++ fprintf(stdout, "Norm of weight vector: |w|=%.5f\n", model_length); ++ example_length = estimate_sphere(model, kernel_parm); ++ fprintf(stdout, "Norm of longest example vector: |x|=%.5f\n", ++ length_of_longest_document_vector(docs, totdoc, kernel_parm)); ++ fprintf(stdout, "Estimated VCdim of classifier: VCdim<=%.5f\n", ++ estimate_margin_vcdim(model, model_length, example_length, ++ kernel_parm)); ++ if ((!learn_parm->remove_inconsistent) && (!transduction)) ++ { ++ runtime_start_xa = get_runtime(); ++ if (verbosity >= 1) ++ { ++ printf("Computing XiAlpha-estimates..."); ++ fflush(stdout); ++ } ++ compute_xa_estimates(model, label, unlabeled, totdoc, docs, lin, a, ++ kernel_parm, learn_parm, &(model->xa_error), ++ &(model->xa_recall), &(model->xa_precision)); ++ if (verbosity >= 1) ++ { ++ printf("done\n"); ++ } ++ printf("Runtime for XiAlpha-estimates in cpu-seconds: %.2f\n", ++ (get_runtime() - runtime_start_xa) / 100.0); ++ ++ fprintf(stdout, "XiAlpha-estimate of the error: error<=%.2f%% (rho=%.2f,depth=%ld)\n", ++ model->xa_error, learn_parm->rho, learn_parm->xa_depth); ++ fprintf(stdout, "XiAlpha-estimate of the recall: recall=>%.2f%% (rho=%.2f,depth=%ld)\n", ++ model->xa_recall, learn_parm->rho, learn_parm->xa_depth); ++ fprintf(stdout, "XiAlpha-estimate of the precision: precision=>%.2f%% (rho=%.2f,depth=%ld)\n", ++ model->xa_precision, learn_parm->rho, learn_parm->xa_depth); ++ } ++ else if (!learn_parm->remove_inconsistent) ++ { ++ estimate_transduction_quality(model, label, unlabeled, totdoc, docs, lin); ++ } ++ } ++ if (verbosity >= 1) ++ { ++ printf("Number of kernel evaluations: %ld\n", kernel_cache_statistic); ++ } ++ } ++ ++ ++ /* leave-one-out testing starts now */ ++ if (learn_parm->compute_loo) ++ { ++ /* save results of training on full dataset for leave-one-out */ ++ runtime_start_loo = get_runtime(); ++ for (i = 0; i < totdoc; i++) ++ { ++ xi_fullset[i] = 1.0 - ((lin[i] - model->b) * (double)label[i]); ++ if (xi_fullset[i] < 0) xi_fullset[i] = 0; ++ a_fullset[i] = a[i]; ++ } ++ if (verbosity >= 1) ++ { ++ printf("Computing leave-one-out"); ++ } ++ ++ /* repeat this loop for every held-out example */ ++ for (heldout = 0; (heldout < totdoc); heldout++) ++ { ++ if (learn_parm->rho*a_fullset[heldout]*r_delta_sq + xi_fullset[heldout] ++ < 1.0) ++ { ++ /* guaranteed to not produce a leave-one-out error */ ++ if (verbosity == 1) ++ { ++ printf("+"); ++ fflush(stdout); ++ } ++ } ++ else if (xi_fullset[heldout] > 1.0) ++ { ++ /* guaranteed to produce a leave-one-out error */ ++ loo_count++; ++ if (label[heldout] > 0) loo_count_pos++; ++ else loo_count_neg++; ++ if (verbosity == 1) ++ { ++ printf("-"); ++ fflush(stdout); ++ } ++ } ++ else ++ { ++ loocomputed++; ++ heldout_c = learn_parm->svm_cost[heldout]; /* set upper bound to zero */ ++ learn_parm->svm_cost[heldout] = 0; ++ /* make sure heldout example is not currently */ ++ /* shrunk away. Assumes that lin is up to date! */ ++ shrink_state.active[heldout] = 1; ++ if (verbosity >= 2) ++ printf("\nLeave-One-Out test on example %ld\n", heldout); ++ if (verbosity >= 1) ++ { ++ printf("(?[%ld]", heldout); ++ fflush(stdout); ++ } ++ ++ optimize_to_convergence(docs, label, totdoc, totwords, learn_parm, ++ kernel_parm, ++ kernel_cache, &shrink_state, model, inconsistent, unlabeled, ++ a, lin, c, &timing_profile, ++ &maxdiff, heldout, (long)2); ++ ++ /* printf("%.20f\n",(lin[heldout]-model->b)*(double)label[heldout]); */ ++ ++ if (((lin[heldout] - model->b)*(double)label[heldout]) <= 0.0) ++ { ++ loo_count++; /* there was a loo-error */ ++ if (label[heldout] > 0) loo_count_pos++; ++ else loo_count_neg++; ++ if (verbosity >= 1) ++ { ++ printf("-)"); ++ fflush(stdout); ++ } ++ } ++ else ++ { ++ if (verbosity >= 1) ++ { ++ printf("+)"); ++ fflush(stdout); ++ } ++ } ++ /* now we need to restore the original data set*/ ++ learn_parm->svm_cost[heldout] = heldout_c; /* restore upper bound */ ++ } ++ } /* end of leave-one-out loop */ ++ ++ ++ if (verbosity >= 1) ++ { ++ printf("\nRetrain on full problem"); ++ fflush(stdout); ++ } ++ optimize_to_convergence(docs, label, totdoc, totwords, learn_parm, ++ kernel_parm, ++ kernel_cache, &shrink_state, model, inconsistent, unlabeled, ++ a, lin, c, &timing_profile, ++ &maxdiff, (long) - 1, (long)1); ++ if (verbosity >= 1) ++ printf("done.\n"); ++ ++ ++ /* after all leave-one-out computed */ ++ model->loo_error = 100.0 * loo_count / (double)totdoc; ++ ++ model->loo_recall = (1.0 - (double)loo_count_pos / (double)trainpos) * 100.0; ++ model->loo_precision = (trainpos - loo_count_pos) / ++ (double)(trainpos - loo_count_pos + loo_count_neg) * 100.0; ++ if (verbosity >= 1) ++ { ++ fprintf(stdout, "Leave-one-out estimate of the error: error=%.2f%%\n", ++ model->loo_error); ++ fprintf(stdout, "Leave-one-out estimate of the recall: recall=%.2f%%\n", ++ model->loo_recall); ++ fprintf(stdout, "Leave-one-out estimate of the precision: precision=%.2f%%\n", ++ model->loo_precision); ++ fprintf(stdout, "Actual leave-one-outs computed: %ld (rho=%.2f)\n", ++ loocomputed, learn_parm->rho); ++ printf("Runtime for leave-one-out in cpu-seconds: %.2f\n", ++ (double)(get_runtime() - runtime_start_loo) / 100.0); ++ } ++ } ++ ++ if (learn_parm->alphafile[0]) ++ write_alphas(learn_parm->alphafile, a, label, totdoc); ++ ++ shrink_state_cleanup(&shrink_state); ++ free(label); ++ free(inconsistent); ++ free(unlabeled); ++ free(c); ++ free(a); ++ free(a_fullset); ++ free(xi_fullset); ++ free(lin); ++ free(learn_parm->svm_cost); ++} ++ ++ + /* Learns an SVM classification model based on the training data in + docs/label. The resulting model is returned in the structure + model. */ +--- svm_learn.h 2011-09-06 22:14:22.363126903 -0400 ++++ svm_learn.h 2011-09-06 22:49:59.247171372 -0400 +@@ -19,6 +19,9 @@ + #ifndef SVM_LEARN + #define SVM_LEARN + ++void svm_learn_classification_extend(DOC **, double *, long, long, LEARN_PARM *, ++ KERNEL_PARM *, KERNEL_CACHE *, MODEL *, ++ double *, int *, double *); + void svm_learn_classification(DOC **, double *, long, long, LEARN_PARM *, + KERNEL_PARM *, KERNEL_CACHE *, MODEL *, + double *); +@@ -152,6 +155,7 @@ double estimate_r_delta_average(DOC **, + double estimate_r_delta(DOC **, long, KERNEL_PARM *); + double length_of_longest_document_vector(DOC **, long, KERNEL_PARM *); + ++ + void write_model(char *, MODEL *); + void write_prediction(char *, MODEL *, double *, double *, long *, long *, + long, LEARN_PARM *); diff --git a/trunk/svm_light/svm_light/include/svm_light/kernel.h b/trunk/svm_light/svm_light/include/svm_light/kernel.h new file mode 100755 index 00000000..0133b006 --- /dev/null +++ b/trunk/svm_light/svm_light/include/svm_light/kernel.h @@ -0,0 +1,40 @@ +/************************************************************************/ +/* */ +/* kernel.h */ +/* */ +/* User defined kernel function. Feel free to plug in your own. */ +/* */ +/* Copyright: Thorsten Joachims */ +/* Date: 16.12.97 */ +/* */ +/************************************************************************/ + +/* KERNEL_PARM is defined in svm_common.h The field 'custom' is reserved for */ +/* parameters of the user defined kernel. You can also access and use */ +/* the parameters of the other kernels. Just replace the line + return((double)(1.0)); + with your own kernel. */ + + /* Example: The following computes the polynomial kernel. sprod_ss + computes the inner product between two sparse vectors. + + return((CFLOAT)pow(kernel_parm->coef_lin*sprod_ss(a->words,b->words) + +kernel_parm->coef_const,(double)kernel_parm->poly_degree)); + */ + +/* If you are implementing a kernel that is not based on a + feature/value representation, you might want to make use of the + field "userdefined" in SVECTOR. By default, this field will contain + whatever string you put behind a # sign in the example file. So, if + a line in your training file looks like + + -1 1:3 5:6 #abcdefg + + then the SVECTOR field "words" will contain the vector 1:3 5:6, and + "userdefined" will contain the string "abcdefg". */ + +double custom_kernel(KERNEL_PARM *kernel_parm, SVECTOR *a, SVECTOR *b) + /* plug in you favorite kernel */ +{ + return((double)(1.0)); +} diff --git a/trunk/svm_light/svm_light/include/svm_light/svm_common.h b/trunk/svm_light/svm_light/include/svm_light/svm_common.h new file mode 100755 index 00000000..6487fa1d --- /dev/null +++ b/trunk/svm_light/svm_light/include/svm_light/svm_common.h @@ -0,0 +1,301 @@ +/************************************************************************/ +/* */ +/* svm_common.h */ +/* */ +/* Definitions and functions used in both svm_learn and svm_classify. */ +/* */ +/* Author: Thorsten Joachims */ +/* Date: 02.07.02 */ +/* */ +/* Copyright (c) 2002 Thorsten Joachims - All rights reserved */ +/* */ +/* This software is available for non-commercial use only. It must */ +/* not be modified and distributed without prior permission of the */ +/* author. The author is not responsible for implications from the */ +/* use of this software. */ +/* */ +/************************************************************************/ + +#ifndef SVM_COMMON +#define SVM_COMMON + +# include <stdio.h> +# include <ctype.h> +# include <math.h> +# include <string.h> +# include <stdlib.h> +# include <time.h> +# include <float.h> + +# define VERSION "V6.02" +# define VERSION_DATE "14.08.08" + +# define CFLOAT float /* the type of float to use for caching */ + /* kernel evaluations. Using float saves */ + /* us some memory, but you can use double, too */ +# define FNUM long /* the type used for storing feature ids */ +# define FVAL float /* the type used for storing feature values */ +# define MAXFEATNUM 99999999 /* maximum feature number (must be in + valid range of FNUM type and long int!) */ + +# define LINEAR 0 /* linear kernel type */ +# define POLY 1 /* polynoial kernel type */ +# define RBF 2 /* rbf kernel type */ +# define SIGMOID 3 /* sigmoid kernel type */ + +# define CLASSIFICATION 1 /* train classification model */ +# define REGRESSION 2 /* train regression model */ +# define RANKING 3 /* train ranking model */ +# define OPTIMIZATION 4 /* train on general set of constraints */ + +# define MAXSHRINK 50000 /* maximum number of shrinking rounds */ + +typedef struct word { + FNUM wnum; /* word number */ + FVAL weight; /* word weight */ +} WORD; + +typedef struct svector { + WORD *words; /* The features/values in the vector by + increasing feature-number. Feature + numbers that are skipped are + interpreted as having value zero. */ + double twonorm_sq; /* The squared euclidian length of the + vector. Used to speed up the RBF kernel. */ + char *userdefined; /* You can put additional information + here. This can be useful, if you are + implementing your own kernel that + does not work with feature/values + representations (for example a + string kernel). By default, + svm-light will put here the string + after the # sign from each line of + the input file. */ + long kernel_id; /* Feature vectors with different + kernel_id's are orthogonal (ie. the + feature number do not match). This + is used for computing component + kernels for linear constraints which + are a sum of several different + weight vectors. (currently not + implemented). */ + struct svector *next; /* Let's you set up a list of SVECTOR's + for linear constraints which are a + sum of multiple feature + vectors. List is terminated by + NULL. */ + double factor; /* Factor by which this feature vector + is multiplied in the sum. */ +} SVECTOR; + +typedef struct doc { + long docnum; /* Document ID. This has to be the position of + the document in the training set array. */ + long queryid; /* for learning rankings, constraints are + generated for documents with the same + queryID. */ + double costfactor; /* Scales the cost of misclassifying this + document by this factor. The effect of this + value is, that the upper bound on the alpha + for this example is scaled by this factor. + The factors are set by the feature + 'cost:<val>' in the training data. */ + long slackid; /* Index of the slack variable + corresponding to this + constraint. All constraints with the + same slackid share the same slack + variable. This can only be used for + svm_learn_optimization. */ + SVECTOR *fvec; /* Feature vector of the example. The + feature vector can actually be a + list of feature vectors. For + example, the list will have two + elements, if this DOC is a + preference constraint. The one + vector that is supposed to be ranked + higher, will have a factor of +1, + the lower ranked one should have a + factor of -1. */ +} DOC; + +typedef struct learn_parm { + long type; /* selects between regression and + classification */ + double svm_c; /* upper bound C on alphas */ + double eps; /* regression epsilon (eps=1.0 for + classification */ + double svm_costratio; /* factor to multiply C for positive examples */ + double transduction_posratio;/* fraction of unlabeled examples to be */ + /* classified as positives */ + long biased_hyperplane; /* if nonzero, use hyperplane w*x+b=0 + otherwise w*x=0 */ + long sharedslack; /* if nonzero, it will use the shared + slack variable mode in + svm_learn_optimization. It requires + that the slackid is set for every + training example */ + long svm_maxqpsize; /* size q of working set */ + long svm_newvarsinqp; /* new variables to enter the working set + in each iteration */ + long kernel_cache_size; /* size of kernel cache in megabytes */ + double epsilon_crit; /* tolerable error for distances used + in stopping criterion */ + double epsilon_shrink; /* how much a multiplier should be above + zero for shrinking */ + long svm_iter_to_shrink; /* iterations h after which an example can + be removed by shrinking */ + long maxiter; /* number of iterations after which the + optimizer terminates, if there was + no progress in maxdiff */ + long remove_inconsistent; /* exclude examples with alpha at C and + retrain */ + long skip_final_opt_check; /* do not check KT-Conditions at the end of + optimization for examples removed by + shrinking. WARNING: This might lead to + sub-optimal solutions! */ + long compute_loo; /* if nonzero, computes leave-one-out + estimates */ + double rho; /* parameter in xi/alpha-estimates and for + pruning leave-one-out range [1..2] */ + long xa_depth; /* parameter in xi/alpha-estimates upper + bounding the number of SV the current + alpha_t is distributed over */ + char predfile[200]; /* file for predicitions on unlabeled examples + in transduction */ + char alphafile[200]; /* file to store optimal alphas in. use + empty string if alphas should not be + output */ + + /* you probably do not want to touch the following */ + double epsilon_const; /* tolerable error on eq-constraint */ + double epsilon_a; /* tolerable error on alphas at bounds */ + double opt_precision; /* precision of solver, set to e.g. 1e-21 + if you get convergence problems */ + + /* the following are only for internal use */ + long svm_c_steps; /* do so many steps for finding optimal C */ + double svm_c_factor; /* increase C by this factor every step */ + double svm_costratio_unlab; + double svm_unlabbound; + double *svm_cost; /* individual upper bounds for each var */ + long totwords; /* number of features */ +} LEARN_PARM; + +typedef struct kernel_parm { + long kernel_type; /* 0=linear, 1=poly, 2=rbf, 3=sigmoid, 4=custom */ + long poly_degree; + double rbf_gamma; + double coef_lin; + double coef_const; + char custom[50]; /* for user supplied kernel */ +} KERNEL_PARM; + +typedef struct model { + long sv_num; + long at_upper_bound; + double b; + DOC **supvec; + double *alpha; + long *index; /* index from docnum to position in model */ + long totwords; /* number of features */ + long totdoc; /* number of training documents */ + KERNEL_PARM kernel_parm; /* kernel */ + + /* the following values are not written to file */ + double loo_error,loo_recall,loo_precision; /* leave-one-out estimates */ + double xa_error,xa_recall,xa_precision; /* xi/alpha estimates */ + double *lin_weights; /* weights for linear case using + folding */ + double maxdiff; /* precision, up to which this + model is accurate */ +} MODEL; + +typedef struct quadratic_program { + long opt_n; /* number of variables */ + long opt_m; /* number of linear equality constraints */ + double *opt_ce,*opt_ce0; /* linear equality constraints */ + double *opt_g; /* hessian of objective */ + double *opt_g0; /* linear part of objective */ + double *opt_xinit; /* initial value for variables */ + double *opt_low,*opt_up; /* box constraints */ +} QP; + +typedef struct kernel_cache { + long *index; /* cache some kernel evalutations */ + CFLOAT *buffer; /* to improve speed */ + long *invindex; + long *active2totdoc; + long *totdoc2active; + long *lru; + long *occu; + long elems; + long max_elems; + long time; + long activenum; + long buffsize; +} KERNEL_CACHE; + + +typedef struct timing_profile { + long time_kernel; + long time_opti; + long time_shrink; + long time_update; + long time_model; + long time_check; + long time_select; +} TIMING; + +typedef struct shrink_state { + long *active; + long *inactive_since; + long deactnum; + double **a_history; /* for shrinking with non-linear kernel */ + long maxhistory; + double *last_a; /* for shrinking with linear kernel */ + double *last_lin; /* for shrinking with linear kernel */ +} SHRINK_STATE; + +double classify_example(MODEL *, DOC *); +double classify_example_linear(MODEL *, DOC *); +double kernel(KERNEL_PARM *, DOC *, DOC *); +double single_kernel(KERNEL_PARM *, SVECTOR *, SVECTOR *); +double custom_kernel(KERNEL_PARM *, SVECTOR *, SVECTOR *); +SVECTOR *create_svector(WORD *, char *, double); +SVECTOR *copy_svector(SVECTOR *); +void free_svector(SVECTOR *); +double sprod_ss(SVECTOR *, SVECTOR *); +SVECTOR* sub_ss(SVECTOR *, SVECTOR *); +SVECTOR* add_ss(SVECTOR *, SVECTOR *); +SVECTOR* add_list_ss(SVECTOR *); +void append_svector_list(SVECTOR *a, SVECTOR *b); +SVECTOR* smult_s(SVECTOR *, double); +int featvec_eq(SVECTOR *, SVECTOR *); +double model_length_s(MODEL *, KERNEL_PARM *); +void clear_vector_n(double *, long); +void add_vector_ns(double *, SVECTOR *, double); +double sprod_ns(double *, SVECTOR *); +void add_weight_vector_to_linear_model(MODEL *); +DOC *create_example(long, long, long, double, SVECTOR *); +void free_example(DOC *, long); +MODEL *read_model(char *); +MODEL *copy_model(MODEL *); +void free_model(MODEL *, int); +void read_documents(char *, DOC ***, double **, long *, long *); +int parse_document(char *, WORD *, double *, long *, long *, double *, long *, long, char **); +double *read_alphas(char *,long); +void nol_ll(char *, long *, long *, long *); +long minl(long, long); +long maxl(long, long); +long get_runtime(void); +int space_or_null(int); +void *my_malloc(size_t); +void copyright_notice(void); +# ifdef _MSC_VER + int isnan(double); +# endif + +extern long verbosity; /* verbosity level (0-4) */ +extern long kernel_cache_statistic; + +#endif diff --git a/trunk/svm_light/svm_light/include/svm_light/svm_learn.h b/trunk/svm_light/svm_light/include/svm_light/svm_learn.h new file mode 100755 index 00000000..8a1edf7b --- /dev/null +++ b/trunk/svm_light/svm_light/include/svm_light/svm_learn.h @@ -0,0 +1,173 @@ +/***********************************************************************/ +/* */ +/* svm_learn.h */ +/* */ +/* Declarations for learning module of Support Vector Machine. */ +/* */ +/* Author: Thorsten Joachims */ +/* Date: 02.07.02 */ +/* */ +/* Copyright (c) 2002 Thorsten Joachims - All rights reserved */ +/* */ +/* This software is available for non-commercial use only. It must */ +/* not be modified and distributed without prior permission of the */ +/* author. The author is not responsible for implications from the */ +/* use of this software. */ +/* */ +/***********************************************************************/ + +#ifndef SVM_LEARN +#define SVM_LEARN + +void svm_learn_classification_extend(DOC **, double *, long, long, LEARN_PARM *, + KERNEL_PARM *, KERNEL_CACHE *, MODEL *, + double *, int *, double *); +void svm_learn_classification(DOC **, double *, long, long, LEARN_PARM *, + KERNEL_PARM *, KERNEL_CACHE *, MODEL *, + double *); +void svm_learn_regression(DOC **, double *, long, long, LEARN_PARM *, + KERNEL_PARM *, KERNEL_CACHE **, MODEL *); +void svm_learn_ranking(DOC **, double *, long, long, LEARN_PARM *, + KERNEL_PARM *, KERNEL_CACHE **, MODEL *); +void svm_learn_optimization(DOC **, double *, long, long, LEARN_PARM *, + KERNEL_PARM *, KERNEL_CACHE *, MODEL *, + double *); +long optimize_to_convergence(DOC **, long *, long, long, LEARN_PARM *, + KERNEL_PARM *, KERNEL_CACHE *, SHRINK_STATE *, + MODEL *, long *, long *, double *, + double *, double *, + TIMING *, double *, long, long); +long optimize_to_convergence_sharedslack(DOC **, long *, long, long, + LEARN_PARM *, + KERNEL_PARM *, KERNEL_CACHE *, SHRINK_STATE *, + MODEL *, double *, double *, double *, + TIMING *, double *); +double compute_objective_function(double *, double *, double *, double, + long *, long *); +void clear_index(long *); +void add_to_index(long *, long); +long compute_index(long *,long, long *); +void optimize_svm(DOC **, long *, long *, long *, double, long *, long *, + MODEL *, + long, long *, long, double *, double *, double *, + LEARN_PARM *, CFLOAT *, KERNEL_PARM *, QP *, double *); +void compute_matrices_for_optimization(DOC **, long *, long *, long *, double, + long *, + long *, long *, MODEL *, double *, + double *, double *, long, long, LEARN_PARM *, + CFLOAT *, KERNEL_PARM *, QP *); +long calculate_svm_model(DOC **, long *, long *, double *, double *, + double *, double *, LEARN_PARM *, long *, + long *, MODEL *); +long check_optimality(MODEL *, long *, long *, double *, double *, + double *, long, + LEARN_PARM *,double *, double, long *, long *, long *, + long *, long, KERNEL_PARM *); +long check_optimality_sharedslack(DOC **docs, MODEL *model, long int *label, + double *a, double *lin, double *c, double *slack, + double *alphaslack, long int totdoc, + LEARN_PARM *learn_parm, double *maxdiff, + double epsilon_crit_org, long int *misclassified, + long int *active2dnum, + long int *last_suboptimal_at, + long int iteration, KERNEL_PARM *kernel_parm); +void compute_shared_slacks(DOC **docs, long int *label, double *a, + double *lin, double *c, long int *active2dnum, + LEARN_PARM *learn_parm, + double *slack, double *alphaslack); +long identify_inconsistent(double *, long *, long *, long, LEARN_PARM *, + long *, long *); +long identify_misclassified(double *, long *, long *, long, + MODEL *, long *, long *); +long identify_one_misclassified(double *, long *, long *, long, + MODEL *, long *, long *); +long incorporate_unlabeled_examples(MODEL *, long *,long *, long *, + double *, double *, long, double *, + long *, long *, long, KERNEL_PARM *, + LEARN_PARM *); +void update_linear_component(DOC **, long *, long *, double *, double *, + long *, long, long, KERNEL_PARM *, + KERNEL_CACHE *, double *, + CFLOAT *, double *); +long select_next_qp_subproblem_grad(long *, long *, double *, + double *, double *, long, + long, LEARN_PARM *, long *, long *, + long *, double *, long *, KERNEL_CACHE *, + long, long *, long *); +long select_next_qp_subproblem_rand(long *, long *, double *, + double *, double *, long, + long, LEARN_PARM *, long *, long *, + long *, double *, long *, KERNEL_CACHE *, + long *, long *, long); +long select_next_qp_slackset(DOC **docs, long int *label, double *a, + double *lin, double *slack, double *alphaslack, + double *c, LEARN_PARM *learn_parm, + long int *active2dnum, double *maxviol); +void select_top_n(double *, long, long *, long); +void init_shrink_state(SHRINK_STATE *, long, long); +void shrink_state_cleanup(SHRINK_STATE *); +long shrink_problem(DOC **, LEARN_PARM *, SHRINK_STATE *, KERNEL_PARM *, + long *, long *, long, long, long, double *, long *); +void reactivate_inactive_examples(long *, long *, double *, SHRINK_STATE *, + double *, double*, long, long, long, LEARN_PARM *, + long *, DOC **, KERNEL_PARM *, + KERNEL_CACHE *, MODEL *, CFLOAT *, + double *, double *); + +/* cache kernel evalutations to improve speed */ +KERNEL_CACHE *kernel_cache_init(long, long); +void kernel_cache_cleanup(KERNEL_CACHE *); +void get_kernel_row(KERNEL_CACHE *,DOC **, long, long, long *, CFLOAT *, + KERNEL_PARM *); +void cache_kernel_row(KERNEL_CACHE *,DOC **, long, KERNEL_PARM *); +void cache_multiple_kernel_rows(KERNEL_CACHE *,DOC **, long *, long, + KERNEL_PARM *); +void kernel_cache_shrink(KERNEL_CACHE *,long, long, long *); +void kernel_cache_reset_lru(KERNEL_CACHE *); +long kernel_cache_malloc(KERNEL_CACHE *); +void kernel_cache_free(KERNEL_CACHE *,long); +long kernel_cache_free_lru(KERNEL_CACHE *); +CFLOAT *kernel_cache_clean_and_malloc(KERNEL_CACHE *,long); +long kernel_cache_touch(KERNEL_CACHE *,long); +long kernel_cache_check(KERNEL_CACHE *,long); +long kernel_cache_space_available(KERNEL_CACHE *); + +void compute_xa_estimates(MODEL *, long *, long *, long, DOC **, + double *, double *, KERNEL_PARM *, + LEARN_PARM *, double *, double *, double *); +double xa_estimate_error(MODEL *, long *, long *, long, DOC **, + double *, double *, KERNEL_PARM *, + LEARN_PARM *); +double xa_estimate_recall(MODEL *, long *, long *, long, DOC **, + double *, double *, KERNEL_PARM *, + LEARN_PARM *); +double xa_estimate_precision(MODEL *, long *, long *, long, DOC **, + double *, double *, KERNEL_PARM *, + LEARN_PARM *); +void avg_similarity_of_sv_of_one_class(MODEL *, DOC **, double *, long *, KERNEL_PARM *, double *, double *); +double most_similar_sv_of_same_class(MODEL *, DOC **, double *, long, long *, KERNEL_PARM *, LEARN_PARM *); +double distribute_alpha_t_greedily(long *, long, DOC **, double *, long, long *, KERNEL_PARM *, LEARN_PARM *, double); +double distribute_alpha_t_greedily_noindex(MODEL *, DOC **, double *, long, long *, KERNEL_PARM *, LEARN_PARM *, double); +void estimate_transduction_quality(MODEL *, long *, long *, long, DOC **, double *); +double estimate_margin_vcdim(MODEL *, double, double, KERNEL_PARM *); +double estimate_sphere(MODEL *, KERNEL_PARM *); +double estimate_r_delta_average(DOC **, long, KERNEL_PARM *); +double estimate_r_delta(DOC **, long, KERNEL_PARM *); +double length_of_longest_document_vector(DOC **, long, KERNEL_PARM *); + + +void write_model(char *, MODEL *); +void write_prediction(char *, MODEL *, double *, double *, long *, long *, + long, LEARN_PARM *); +void write_alphas(char *, double *, long *, long); + +typedef struct cache_parm_s { + KERNEL_CACHE *kernel_cache; + CFLOAT *cache; + DOC **docs; + long m; + KERNEL_PARM *kernel_parm; + long offset,stepsize; +} cache_parm_t; + +#endif diff --git a/trunk/svm_light/wiped b/trunk/svm_light/wiped new file mode 100644 index 00000000..e69de29b -- GitLab