From 83e621d771afbadfaba3d878419fdbb004b760ca Mon Sep 17 00:00:00 2001 From: Kyle Bayes Date: Wed, 5 Aug 2026 07:22:01 -0700 Subject: [PATCH] Implement mesh extrema in a 3x3x3 grid corresponding to each feature of a unit cube. These are used as seeds for a better initial point in mesh hill climbing with up to a 2x speedup in mjc_Convex. PiperOrigin-RevId: 959645299 Change-Id: I032ae534704e0cc440ddb7691fd21a29a359f521 --- doc/changelog.rst | 1 + doc/includes/references.h | 1 + include/mujoco/mjmodel.h | 1 + include/mujoco/mjxmacro.h | 1 + python/mujoco/introspect/structs.py | 8 + src/engine/engine_collision_convex.c | 21 +- src/engine/engine_collision_convex.h | 3 +- src/user/user_model.cc | 37 + .../collision_convex/100spheremesh.xml | 18 + .../testdata/collision_convex/sphere.obj | 2563 +++++++++++++++++ test/user/user_model_test.cc | 51 + unity/Runtime/Bindings/MjBindings.cs | 1 + wasm/codegen/generated/bindings.cc | 1 + wasm/codegen/generated/bindings.h | 3 + 14 files changed, 2708 insertions(+), 2 deletions(-) create mode 100644 test/engine/testdata/collision_convex/100spheremesh.xml create mode 100644 test/engine/testdata/collision_convex/sphere.obj diff --git a/doc/changelog.rst b/doc/changelog.rst index b426be22..e913c653 100644 --- a/doc/changelog.rst +++ b/doc/changelog.rst @@ -34,6 +34,7 @@ Actuation Engine ^^^^^^ +- Optimized large-mesh convex collision detection with up to 2x speedup in certain cases. - Replaced the per-step sparse Cholesky factorization of the flex block of the implicit effective metric M + K with its prefactored per-vertex 3x3 diagonal blocks. The blocks precondition the CG constraint solver and drive an iterative solve for ``qacc_smooth``, which now converges on :ref:`tolerance` rather than a fixed diff --git a/doc/includes/references.h b/doc/includes/references.h index 1c6a25d1..0d07e4c3 100644 --- a/doc/includes/references.h +++ b/doc/includes/references.h @@ -967,6 +967,7 @@ typedef struct mjModel_ { int* mesh_texcoordadr; // texcoord data address; -1: no texcoord (nmesh x 1) int* mesh_texcoordnum; // number of texcoord (nmesh x 1) int* mesh_graphadr; // graph data address; -1: no graph (nmesh x 1) + int* mesh_extrema; // extremum vertices in 3x3x3 directions (nmesh x 27) float* mesh_vert; // vertex positions for all meshes (nmeshvert x 3) float* mesh_normal; // normals for all meshes (nmeshnormal x 3) float* mesh_texcoord; // vertex texcoords for all meshes (nmeshtexcoord x 2) diff --git a/include/mujoco/mjmodel.h b/include/mujoco/mjmodel.h index 1d34a094..4cfd4598 100644 --- a/include/mujoco/mjmodel.h +++ b/include/mujoco/mjmodel.h @@ -639,6 +639,7 @@ typedef struct mjModel_ { int* mesh_texcoordadr; // texcoord data address; -1: no texcoord (nmesh x 1) int* mesh_texcoordnum; // number of texcoord (nmesh x 1) int* mesh_graphadr; // graph data address; -1: no graph (nmesh x 1) + int* mesh_extrema; // extremum vertices in 3x3x3 directions (nmesh x 27) float* mesh_vert; // vertex positions for all meshes (nmeshvert x 3) float* mesh_normal; // normals for all meshes (nmeshnormal x 3) float* mesh_texcoord; // vertex texcoords for all meshes (nmeshtexcoord x 2) diff --git a/include/mujoco/mjxmacro.h b/include/mujoco/mjxmacro.h index 59aebbd9..8b48328d 100644 --- a/include/mujoco/mjxmacro.h +++ b/include/mujoco/mjxmacro.h @@ -544,6 +544,7 @@ X ( int, mesh_texcoordadr, nmesh, 1 ) \ X ( int, mesh_texcoordnum, nmesh, 1 ) \ X ( int, mesh_graphadr, nmesh, 1 ) \ + X ( int, mesh_extrema, nmesh, 27 ) \ XNV ( float, mesh_vert, nmeshvert, 3 ) \ XNV ( float, mesh_normal, nmeshnormal, 3 ) \ XNV ( float, mesh_texcoord, nmeshtexcoord, 2 ) \ diff --git a/python/mujoco/introspect/structs.py b/python/mujoco/introspect/structs.py index 66ab4ec9..1cabe5c0 100644 --- a/python/mujoco/introspect/structs.py +++ b/python/mujoco/introspect/structs.py @@ -3452,6 +3452,14 @@ STRUCTS: Mapping[str, StructDecl] = dict([ doc='graph data address; -1: no graph', array_extent=('nmesh',), ), + StructFieldDecl( + name='mesh_extrema', + type=PointerType( + inner_type=ValueType(name='int'), + ), + doc='extremum vertices in 3x3x3 directions', + array_extent=('nmesh', 27), + ), StructFieldDecl( name='mesh_vert', type=PointerType( diff --git a/src/engine/engine_collision_convex.c b/src/engine/engine_collision_convex.c index 02e5bce3..936bbedf 100644 --- a/src/engine/engine_collision_convex.c +++ b/src/engine/engine_collision_convex.c @@ -407,7 +407,24 @@ static void mjc_hillclimbSupport(mjtNum res[3], mjCCDObj* obj, const mjtNum dir[ mulMatTVec3(local_dir, mat, dir); int prev = -1; - int imax = obj->meshindex >= 0 ? obj->meshindex : 0; + int imax; + + // map continuous direction to discrete 3x3x3 grid (-1, 0, 1) indices + int cx = (local_dir[0] > 0.4) - (local_dir[0] < -0.4) + 1; + int cy = (local_dir[1] > 0.4) - (local_dir[1] < -0.4) + 1; + int cz = (local_dir[2] > 0.4) - (local_dir[2] < -0.4) + 1; + int grid_idx = obj->data.mesh.extrema[cx*9 + cy*3 + cz]; + + if (obj->meshindex >= 0) { + // warm start: pick the better of cached vertex vs grid seed + mjtNum cached_dot = dot3f(local_dir, verts + 3*vert_globalid[obj->meshindex]); + mjtNum seed_dot = dot3f(local_dir, verts + 3*vert_globalid[grid_idx]); + imax = (seed_dot > cached_dot) ? grid_idx : obj->meshindex; + } else { + // cold start: use grid seed + imax = grid_idx; + } + mjtNum max = dot3f(local_dir, verts + 3*vert_globalid[imax]); // hillclimb until no change @@ -734,9 +751,11 @@ void mjc_initCCDObj(mjCCDObj* obj, const mjModel* m, const mjData* d, int g, mjt polyadr = m->mesh_polyadr[m->geom_dataid[g]]; if (graphadr < 0 || m->mesh_vertnum[m->geom_dataid[g]] < mjMESH_HILLCLIMB_MIN) { obj->data.mesh.graph = NULL; + obj->data.mesh.extrema = NULL; obj->support = mjc_meshSupport; } else { obj->data.mesh.graph = m->mesh_graph + graphadr; + obj->data.mesh.extrema = m->mesh_extrema + 27 * m->geom_dataid[g]; obj->support = mjc_hillclimbSupport; } obj->data.mesh.vert = m->mesh_vert + 3*vertadr; diff --git a/src/engine/engine_collision_convex.h b/src/engine/engine_collision_convex.h index 9a653172..7692e0b2 100644 --- a/src/engine/engine_collision_convex.h +++ b/src/engine/engine_collision_convex.h @@ -62,7 +62,8 @@ struct _mjCCDObj { const int* polyvertnum; const int* polyvert; const mjtNum* polynormal; - const int*graph; + const int* graph; + const int* extrema; } mesh; // hfield prism data diff --git a/src/user/user_model.cc b/src/user/user_model.cc index 7e9e7576..d5e1a123 100644 --- a/src/user/user_model.cc +++ b/src/user/user_model.cc @@ -26,6 +26,7 @@ #include #include // NOLINT(build/c++17) #include +#include #include #include #include @@ -3534,9 +3535,45 @@ void mjCModel::CopyObjects(mjModel* m) { } else { memset(m->mesh_facetexcoord + 3*face_adr, 0, 3*pme->nface()*sizeof(int)); } + memset(m->mesh_extrema + 27*i, 0, 27*sizeof(int)); if (pme->szgraph()) { pme->CopyGraph(m->mesh_graph + graph_adr); + + // compute grid extrema (local indices in graph) + float max_val[27]; + for (int k = 0; k < 27; k++) { + max_val[k] = std::numeric_limits::lowest(); + } + + const int* graph = m->mesh_graph + graph_adr; + int numgraphvert = graph[0]; + const int* vert_globalid = graph + 2 + numgraphvert; + const float* verts = m->mesh_vert + 3*vert_adr; + + // map the 27 features (8 vertices, 6 faces, 12 edges) of a unit cube to the farthest + // vertex in the mesh + for (int local_id = 0; local_id < numgraphvert; local_id++) { + int global_id = vert_globalid[local_id]; + float x = verts[3 * global_id + 0]; + float y = verts[3 * global_id + 1]; + float z = verts[3 * global_id + 2]; + + int k = 0; + for (int cx = -1; cx <= 1; cx++) { + for (int cy = -1; cy <= 1; cy++) { + for (int cz = -1; cz <= 1; cz++) { + float dot = x * cx + y * cy + z * cz; + if (dot > max_val[k]) { + max_val[k] = dot; + m->mesh_extrema[27*i + k] = local_id; + } + k++; + } + } + } + } } + pme->CopyPolygonNormals(m->mesh_polynormal + 3*poly_adr); pme->CopyPolygons(m->mesh_polyvert + polyvert_adr, m->mesh_polyvertadr + poly_adr, m->mesh_polyvertnum + poly_adr, polyvert_adr); diff --git a/test/engine/testdata/collision_convex/100spheremesh.xml b/test/engine/testdata/collision_convex/100spheremesh.xml new file mode 100644 index 00000000..a17d4d63 --- /dev/null +++ b/test/engine/testdata/collision_convex/100spheremesh.xml @@ -0,0 +1,18 @@ + + diff --git a/test/engine/testdata/collision_convex/sphere.obj b/test/engine/testdata/collision_convex/sphere.obj new file mode 100644 index 00000000..f15c906c --- /dev/null +++ b/test/engine/testdata/collision_convex/sphere.obj @@ -0,0 +1,2563 @@ +# Unit sphere with 2562 vertices +v 0.000000 1.000000 0.000000 +v -0.029136 0.999219 0.026691 +v 0.004884 0.998438 -0.055655 +v 0.041624 0.997657 0.054292 +v -0.077772 0.996876 -0.013757 +v 0.074491 0.996095 -0.047385 +v -0.025102 0.995314 0.093377 +v -0.048127 0.994533 -0.092667 +v 0.104835 0.993752 0.038285 +v -0.109400 0.992971 0.045159 +v 0.052867 0.992191 -0.112973 +v 0.039144 0.991410 0.124799 +v -0.118173 0.990629 -0.068484 +v 0.138817 0.989848 -0.030518 +v -0.084813 0.989067 0.120638 +v -0.019613 0.988286 -0.151349 +v 0.120500 0.987505 0.101557 +v -0.162268 0.986724 0.006710 +v 0.118433 0.985943 -0.117856 +v -0.007928 0.985162 0.171444 +v -0.112797 0.984381 -0.135169 +v 0.178752 0.983600 0.024051 +v -0.151507 0.982819 0.105414 +v 0.041412 0.982038 -0.184081 +v 0.095808 0.981257 0.167197 +v -0.187335 0.980476 -0.059765 +v 0.182004 0.979695 -0.084091 +v -0.078861 0.978914 0.188434 +v -0.070391 0.978134 -0.195704 +v 0.187321 0.977353 0.098451 +v -0.208085 0.976572 0.054850 +v 0.118285 0.975791 -0.183960 +v 0.037629 0.975010 0.218952 +v -0.178335 0.974229 -0.138112 +v 0.228127 0.973448 -0.018900 +v -0.157685 0.972667 0.170453 +v 0.001149 0.971886 -0.235449 +v 0.160347 0.971105 0.176759 +v -0.240776 0.970324 -0.022315 +v 0.195094 0.969543 -0.148069 +v -0.044386 0.968762 0.243987 +v -0.133696 0.967981 -0.212456 +v 0.244981 0.967200 0.067139 +v -0.228623 0.966419 0.117325 +v 0.090342 0.965638 -0.243682 +v 0.099077 0.964857 0.243380 +v -0.240033 0.964077 -0.113756 +v 0.256527 0.963296 -0.079090 +v -0.137140 0.962515 0.234005 +v -0.057524 0.961734 -0.267879 +v 0.225589 0.960953 0.160248 +v -0.277265 0.960172 0.034555 +v 0.182836 0.959391 -0.214803 +v 0.010376 0.958610 0.284534 +v -0.201687 0.957829 -0.204661 +v 0.289551 0.957048 0.014805 +v -0.225484 0.956267 0.186306 +v 0.040768 0.955486 -0.292206 +v 0.168749 0.954705 0.245075 +v -0.292407 0.953924 -0.067282 +v 0.263210 0.953143 -0.149125 +v -0.094107 0.952362 0.290086 +v -0.127566 0.951581 -0.279678 +v 0.285199 0.950800 0.120996 +v -0.294278 0.950020 0.104227 +v 0.147698 0.949239 -0.277725 +v 0.079280 0.948458 0.306827 +v -0.267669 0.947677 -0.173960 +v 0.317157 0.946896 -0.052915 +v -0.199530 0.946115 0.255058 +v -0.025339 0.945334 -0.325118 +v 0.239946 0.944553 0.224155 +v -0.330581 0.943772 -0.003225 +v 0.247591 0.942991 -0.222410 +v -0.032544 0.942210 0.333438 +v -0.202552 0.941429 -0.269600 +v 0.333603 0.940648 0.062372 +v -0.289951 0.939867 0.180494 +v 0.092455 0.939086 -0.331012 +v 0.156384 0.938305 0.308427 +v -0.325628 0.937524 -0.122533 +v 0.324824 0.936743 -0.130388 +v -0.152340 0.935963 0.317438 +v -0.102695 0.935182 -0.338953 +v 0.306452 0.934401 0.181612 +v -0.350643 0.933620 0.073509 +v 0.210082 0.932839 -0.292707 +v 0.043053 0.932058 0.359743 +v -0.276267 0.931277 -0.237487 +v 0.366120 0.930496 -0.011563 +v -0.263570 0.929715 0.257218 +v 0.020710 0.928934 -0.369666 +v 0.235672 0.928153 0.288081 +v -0.370295 0.927372 -0.053506 +v 0.310781 0.926591 -0.211764 +v -0.086555 0.925810 0.367945 +v -0.185652 0.925029 -0.331443 +v 0.362581 0.924248 0.119583 +v -0.349852 0.923467 0.157517 +v 0.152309 0.922686 -0.354192 +v 0.127558 0.921906 0.365813 +v -0.342793 0.921125 -0.184453 +v 0.379147 0.920344 -0.095996 +v -0.215733 0.919563 0.328426 +v -0.063065 0.918782 -0.389696 +v 0.311160 0.918001 0.245874 +v -0.397323 0.917220 0.029017 +v 0.274603 0.916439 -0.291089 +v -0.005882 0.915658 0.401915 +v -0.268332 0.914877 -0.301659 +v 0.403383 0.914096 0.041359 +v -0.326788 0.913315 0.243033 +v 0.077127 0.912534 -0.401663 +v 0.215360 0.911753 0.349752 +v -0.396716 0.910972 -0.112896 +v 0.370325 0.910191 -0.185503 +v -0.148372 0.909410 0.388534 +v -0.153673 0.908629 -0.388300 +v 0.377131 0.907848 0.183257 +v -0.403490 0.907068 0.120102 +v 0.217256 0.906287 -0.362553 +v 0.085038 0.905506 0.415726 +v -0.344869 0.904725 -0.250077 +v 0.424864 0.903944 -0.048745 +v -0.281434 0.903163 0.324179 +v -0.011502 0.902382 -0.430784 +v 0.300606 0.901601 0.311050 +v -0.433389 0.900820 -0.026401 +v 0.338658 0.900039 -0.274300 +v -0.064666 0.899258 0.432612 +v -0.245438 0.898477 -0.364004 +v 0.428410 0.897696 0.102987 +v -0.386852 0.896915 0.214216 +v 0.141054 0.896134 -0.420770 +v 0.180856 0.895353 0.406981 +v -0.409705 0.894572 -0.178554 +v 0.424191 0.893791 -0.145598 +v -0.215178 0.893011 0.395260 +v -0.108701 0.892230 -0.438304 +v 0.377506 0.891449 0.250617 +v -0.449165 0.890668 0.070442 +v 0.284570 0.889887 -0.356541 +v 0.031111 0.889106 0.456643 +v -0.332494 0.888325 -0.316744 +v 0.460635 0.887544 0.008990 +v -0.346857 0.886763 0.305518 +v 0.049547 0.885982 -0.461065 +v 0.275793 0.885201 0.374642 +v -0.457884 0.884420 -0.090241 +v 0.399847 0.883639 -0.243524 +v -0.130747 0.882858 0.451073 +v -0.208937 0.882077 -0.422238 +v 0.440642 0.881296 0.170738 +v -0.441602 0.880515 0.172281 +v 0.209888 0.879734 -0.426631 +v 0.133825 0.878954 0.457746 +v -0.409110 0.878173 -0.247875 +v 0.470505 0.877392 -0.093854 +v -0.284381 0.876611 0.388177 +v -0.052671 0.875830 -0.479737 +v 0.363960 0.875049 0.319097 +v -0.485328 0.874268 0.010590 +v 0.351727 0.873487 -0.336614 +v -0.032065 0.872706 0.487192 +v -0.306321 0.871925 -0.381987 +v 0.485272 0.871144 0.074960 +v -0.409610 0.870363 0.273291 +v 0.117757 0.869582 -0.479542 +v 0.237755 0.868801 0.434347 +v -0.470005 0.868020 -0.160114 +v 0.455970 0.867239 -0.199968 +v -0.201690 0.866458 0.456696 +v -0.160206 0.865677 -0.474275 +v 0.439680 0.864897 0.242148 +v -0.489080 0.864116 0.118764 +v 0.281154 0.863335 -0.419053 +v 0.075952 0.862554 0.500232 +v -0.394942 0.861773 -0.318385 +v 0.507605 0.860992 -0.032096 +v -0.353527 0.860211 0.367500 +v 0.012469 0.859430 -0.511102 +v 0.336911 0.858649 0.386281 +v -0.510655 0.857868 -0.057397 +v 0.416364 0.857087 -0.303386 +v -0.102336 0.856306 0.506228 +v -0.267160 0.855525 -0.443511 +v 0.497818 0.854744 0.146932 +v -0.467481 0.853963 0.228492 +v 0.190830 0.853182 -0.485452 +v 0.187664 0.852401 0.488051 +v -0.469189 0.851620 -0.233675 +v 0.505028 0.850840 -0.144977 +v -0.275121 0.850059 0.449120 +v -0.100751 0.849278 -0.518244 +v 0.425367 0.848497 0.314827 +v -0.527558 0.847716 0.055318 +v 0.352464 0.846935 -0.398084 +v 0.009027 0.846154 0.532862 +v -0.367451 0.845373 -0.387717 +v 0.534077 0.844592 0.037768 +v -0.420287 0.843811 0.333679 +v 0.084702 0.843030 -0.531155 +v 0.297006 0.842249 0.449893 +v -0.524083 0.841468 -0.131408 +v 0.476276 0.840687 -0.257695 +v -0.177517 0.839906 0.512879 +v -0.216029 0.839125 -0.499199 +v 0.497595 0.838344 0.222660 +v -0.518454 0.837563 0.172317 +v 0.266475 0.836783 -0.478316 +v 0.126883 0.836002 0.533856 +v -0.455157 0.835221 -0.308607 +v 0.545252 0.834440 -0.080069 +v -0.348711 0.833659 0.428268 +v -0.032230 0.832878 -0.552518 +v 0.397828 0.832097 0.386456 +v -0.555562 0.831316 -0.016266 +v 0.421524 0.830535 -0.364045 +v -0.065045 0.829754 0.554326 +v -0.327158 0.828973 -0.453621 +v 0.548784 0.828192 0.113728 +v -0.482469 0.827411 0.287428 +v 0.161933 0.826630 -0.538944 +v 0.245145 0.825849 0.507816 +v -0.524848 0.825068 -0.209278 +v 0.529436 0.824287 -0.200618 +v -0.255385 0.823506 0.506572 +v -0.154179 0.822725 -0.547130 +v 0.484227 0.821945 0.299885 +v -0.560729 0.821164 0.106174 +v 0.342417 0.820383 -0.457955 +v 0.056968 0.819602 0.570094 +v -0.427932 0.818821 -0.382632 +v 0.575120 0.818040 -0.006936 +v -0.420199 0.817259 0.394361 +v 0.043538 0.816478 -0.575733 +v 0.357480 0.815697 0.454804 +v -0.571895 0.814916 -0.094062 +v 0.486154 0.814135 -0.317551 +v -0.144243 0.813354 0.563603 +v -0.274862 0.812573 -0.513980 +v 0.550889 0.811792 0.193687 +v -0.538039 0.811011 0.229727 +v 0.242001 0.810230 -0.533819 +v 0.182480 0.809449 0.558115 +v -0.512493 0.808668 -0.288801 +v 0.574023 0.807888 -0.133474 +v -0.333710 0.807107 0.487049 +v -0.083079 0.806326 -0.585608 +v 0.457653 0.805545 0.376366 +v -0.592749 0.804764 0.031677 +v 0.416418 0.803983 -0.424509 +v -0.020338 0.803202 0.595360 +v -0.387846 0.802421 -0.453537 +v 0.593387 0.801640 0.072565 +v -0.487413 0.800859 0.347927 +v 0.124598 0.800078 -0.586814 +v 0.305040 0.799297 0.517759 +v -0.575660 0.798516 -0.176031 +v 0.544315 0.797735 -0.259498 +v -0.226460 0.796954 0.559982 +v -0.211638 0.796173 -0.566849 +v 0.539870 0.795392 0.275483 +v -0.585156 0.794611 0.161817 +v 0.322712 0.793831 -0.515451 +v 0.110409 0.793050 0.599068 +v -0.486887 0.792269 -0.367766 +v 0.608445 0.791488 -0.057804 +v -0.410279 0.790707 0.454372 +v -0.004404 0.789926 -0.613187 +v 0.418133 0.789145 0.449906 +v -0.613224 0.788364 -0.049383 +v 0.486319 0.787583 -0.378428 +v -0.103139 0.786802 0.608527 +v -0.335542 0.786021 -0.519213 +v 0.599101 0.785240 0.156446 +v -0.548311 0.784459 0.289791 +v 0.208889 0.783678 -0.584991 +v 0.241509 0.782897 0.573363 +v -0.566275 0.782116 -0.260052 +v 0.594148 0.781335 -0.191058 +v -0.309532 0.780554 0.543070 +v -0.138815 0.779774 -0.610478 +v 0.515529 0.778993 0.356932 +v -0.622199 0.778212 0.085175 +v 0.401873 0.777431 -0.483839 +v 0.030547 0.776650 0.629192 +v -0.448220 0.775869 -0.443989 +v 0.631372 0.775088 0.024653 +v -0.482937 0.774307 0.408926 +v 0.079998 0.773526 -0.628695 +v 0.366239 0.772745 0.518396 +v -0.621152 0.771964 -0.135060 +v 0.550068 0.771183 -0.320471 +v -0.189409 0.770402 0.608773 +v -0.271957 0.769621 -0.577687 +v 0.591625 0.768840 0.242621 +v -0.601014 0.768059 0.221059 +v 0.294275 0.767278 -0.569813 +v 0.168158 0.766497 0.619842 +v -0.543479 0.765717 -0.343961 +v 0.634001 0.764936 -0.113652 +v -0.391283 0.764155 0.512801 +v -0.057955 0.763374 -0.643352 +v 0.477994 0.762593 0.435861 +v -0.647797 0.761812 0.001492 +v 0.477332 0.761031 -0.439302 +v -0.055304 0.760250 0.647272 +v -0.397004 0.759469 -0.515359 +v 0.641755 0.758688 0.111994 +v -0.549626 0.757907 0.351408 +v 0.168138 0.757126 -0.631260 +v 0.302849 0.756345 0.579849 +v -0.615841 0.755564 -0.223298 +v 0.605769 0.754783 -0.251687 +v -0.277041 0.754002 0.595591 +v -0.198304 0.753221 -0.627163 +v 0.570639 0.752440 0.328944 +v -0.643840 0.751660 0.143102 +v 0.378593 0.750879 -0.541155 +v 0.086498 0.750098 0.655646 +v -0.507341 0.749317 -0.425593 +v 0.662463 0.748536 -0.028923 +v -0.469565 0.747755 0.469437 +v 0.029181 0.746974 -0.664213 +v 0.427715 0.746193 0.510153 +v -0.660854 0.745412 -0.087368 +v 0.547024 0.744631 -0.382478 +v -0.145187 0.743850 0.652386 +v -0.334057 0.743069 -0.579874 +v 0.638849 0.742288 0.202190 +v -0.608428 0.741507 0.282811 +v 0.257930 0.740726 -0.620320 +v 0.229123 0.739945 0.632443 +v -0.596917 0.739164 -0.311971 +v 0.651709 0.738383 -0.173395 +v -0.363884 0.737602 0.568798 +v -0.116047 0.736822 -0.666053 +v 0.536156 0.736041 0.413257 +v -0.675341 0.735260 0.057517 +v 0.459696 0.734479 -0.499220 +v -0.001750 0.733698 0.679474 +v -0.458255 0.732917 -0.502827 +v 0.678395 0.732136 0.061298 +v -0.542300 0.731355 0.413558 +v 0.120668 0.730574 -0.672087 +v 0.365457 0.729793 0.577792 +v -0.660573 0.729012 -0.179401 +v 0.609008 0.728231 -0.314307 +v -0.237038 0.727450 0.643917 +v -0.260488 0.726669 -0.635687 +v 0.622223 0.725888 0.293130 +v -0.657600 0.725107 0.204405 +v 0.347234 0.724326 -0.595634 +v 0.146479 0.723545 0.674556 +v -0.564333 0.722765 -0.398923 +v 0.686400 0.721984 -0.087151 +v -0.447786 0.721203 0.528539 +v -0.026871 0.720422 -0.693016 +v 0.488509 0.719641 0.493433 +v -0.694328 0.718860 -0.033898 +v 0.535495 0.718079 -0.444532 +v -0.094690 0.717298 0.690303 +v -0.396928 0.716517 -0.573630 +v 0.680945 0.715736 0.155033 +v -0.607526 0.714955 0.346051 +v 0.214461 0.714174 -0.666304 +v 0.292277 0.713393 0.636902 +v -0.646469 0.712612 -0.272510 +v 0.661510 0.711831 -0.236009 +v -0.328725 0.711050 0.621569 +v -0.177671 0.710269 -0.681139 +v 0.591773 0.709488 0.382663 +v -0.695614 0.708708 0.117704 +v 0.433898 0.707927 -0.557291 +v 0.056564 0.707146 0.704802 +v -0.518367 0.706365 -0.482021 +v 0.708607 0.705584 0.005282 +v -0.526649 0.704803 0.475283 +v 0.067359 0.704022 -0.706977 +v 0.428353 0.703241 0.567420 +v -0.699900 0.702460 -0.129190 +v 0.604003 0.701679 -0.377924 +v -0.190294 0.700898 0.687408 +v -0.324368 0.700117 -0.636098 +v 0.669574 0.699336 0.250199 +v -0.663438 0.698555 0.268088 +v 0.308436 0.697774 -0.646513 +v 0.209504 0.696993 0.685790 +v -0.618380 0.696212 -0.364547 +v 0.702962 0.695431 -0.149061 +v -0.418092 0.694651 0.585371 +v -0.087215 0.693870 -0.714800 +v 0.547721 0.693089 0.468646 +v -0.721188 0.692308 0.024440 +v 0.515807 0.691527 -0.505701 +v -0.038784 0.690746 0.722057 +v -0.459618 0.689965 -0.559196 +v 0.717375 0.689184 0.101971 +v -0.598463 0.688403 0.409809 +v 0.164634 0.687622 -0.707157 +v 0.356645 0.686841 0.633288 +v -0.691459 0.686060 -0.226286 +v 0.663385 0.685279 -0.300521 +v -0.286449 0.684498 0.670380 +v -0.241860 0.683717 -0.688502 +v 0.644060 0.682936 0.344651 +v -0.708425 0.682155 0.181102 +v 0.400436 0.681374 -0.612683 +v 0.118710 0.680594 0.722980 +v -0.576469 0.679813 -0.453364 +v 0.732034 0.679032 -0.055157 +v -0.503015 0.678251 0.535679 +v 0.009070 0.677470 -0.735495 +v 0.490610 0.676689 0.548994 +v -0.733314 0.675908 -0.073480 +v 0.590931 0.675127 -0.441593 +v -0.137575 0.674346 0.725486 +v -0.388990 0.673565 -0.628488 +v 0.712051 0.672784 0.200861 +v -0.661357 0.672003 0.333194 +v 0.262846 0.671222 -0.693089 +v 0.274622 0.670441 0.689269 +v -0.668727 0.669660 -0.323048 +v 0.711987 0.668879 -0.213715 +v -0.380994 0.668098 0.639131 +v -0.150935 0.667317 -0.729319 +v 0.604510 0.666537 0.436231 +v -0.741109 0.665756 0.086759 +v 0.488321 0.664975 -0.565112 +v 0.021675 0.664194 0.747246 +v -0.521223 0.663413 -0.536852 +v 0.747662 0.662632 0.043818 +v -0.581437 0.661851 0.473164 +v 0.109216 0.661070 -0.742333 +v 0.421292 0.660289 0.621717 +v -0.731278 0.659508 -0.174014 +v 0.657365 0.658727 -0.365992 +v -0.237712 0.657946 0.714563 +v -0.307677 0.657165 -0.688091 +v 0.692294 0.656384 0.299815 +v -0.713639 0.655603 0.246786 +v 0.359837 0.654822 -0.664624 +v 0.183779 0.654041 0.733795 +v -0.631747 0.653260 -0.417308 +v 0.748383 0.652480 -0.119135 +v -0.471778 0.651699 0.593898 +v -0.053345 0.650918 -0.757272 +v 0.551350 0.650137 0.522815 +v -0.760372 0.649356 -0.013087 +v 0.570014 0.648575 -0.504415 +v -0.079652 0.647794 0.757640 +v -0.453440 0.647013 -0.612998 +v 0.749076 0.646232 0.145838 +v -0.651421 0.645451 0.398802 +v 0.211133 0.644670 -0.734727 +v 0.340911 0.643889 0.684972 +v -0.714682 0.643108 -0.275030 +v 0.713374 0.642327 -0.280201 +v -0.337034 0.641546 0.689077 +v -0.217131 0.640765 -0.736393 +v 0.658089 0.639984 0.396659 +v -0.753831 0.639203 0.152177 +v 0.453439 0.638422 -0.621940 +v 0.085835 0.637642 0.765536 +v -0.580891 0.636861 -0.506927 +v 0.771399 0.636080 -0.018609 +v -0.556699 0.635299 0.535240 +v 0.048983 0.634518 -0.771355 +v 0.485326 0.633737 0.602359 +v -0.765384 0.632956 -0.116424 +v 0.643543 0.632175 -0.431517 +v -0.183194 0.631394 0.753513 +v -0.374215 0.630613 -0.679919 +v 0.735814 0.629832 0.248775 +v -0.711190 0.629051 0.313851 +v 0.312660 0.628270 -0.712405 +v 0.250880 0.627489 0.737100 +v -0.683446 0.626708 -0.374350 +v 0.757431 0.625927 -0.185777 +v -0.433363 0.625146 0.649144 +v -0.119037 0.624365 -0.772009 +v 0.609745 0.623585 0.489237 +v -0.780703 0.622804 0.051169 +v 0.541531 0.622023 -0.565537 +v -0.017307 0.621242 0.783428 +v -0.516844 0.620461 -0.589831 +v 0.780143 0.619680 0.085868 +v -0.633753 0.618899 0.464027 +v 0.153985 0.618118 -0.770856 +v 0.407480 0.617337 0.672945 +v -0.755618 0.616556 -0.221132 +v 0.707090 0.615775 -0.347626 +v -0.286790 0.614994 0.734530 +v -0.284917 0.614213 -0.735911 +v 0.707734 0.613432 0.350448 +v -0.759167 0.612651 0.219826 +v 0.411610 0.611870 -0.675420 +v 0.152847 0.611089 0.776664 +v -0.637819 0.610308 -0.469799 +v 0.788250 0.609528 -0.084490 +v -0.524555 0.608747 0.595205 +v -0.015276 0.607966 -0.793816 +v 0.547891 0.607185 0.575449 +v -0.793303 0.606404 -0.054264 +v 0.622077 0.605623 -0.496227 +v -0.123596 0.604842 0.786696 +v -0.440597 0.604061 -0.664067 +v 0.774027 0.603280 0.192185 +v -0.701081 0.602499 0.381418 +v 0.259502 0.601718 -0.755377 +v 0.319135 0.600937 0.732821 +v -0.730870 0.600156 -0.325025 +v 0.759027 0.599375 -0.254218 +v -0.388244 0.598594 0.700679 +v -0.187159 0.597813 -0.779481 +v 0.665019 0.597032 0.448667 +v -0.794009 0.596251 0.118467 +v 0.505819 0.595471 -0.624149 +v 0.048667 0.594690 0.802481 +v -0.578368 0.593909 -0.559252 +v 0.804816 0.593128 0.021708 +v -0.608544 0.592347 0.528015 +v 0.092118 0.591566 -0.800977 +v 0.473463 0.590785 0.653304 +v -0.790977 0.590004 -0.162021 +v 0.693174 0.589223 -0.415121 +v -0.230877 0.588442 0.774875 +v -0.353427 0.587661 -0.727835 +v 0.752778 0.586880 0.298155 +v -0.757005 0.586099 0.288846 +v 0.363332 0.585318 -0.724840 +v 0.221866 0.584537 0.780443 +v -0.691258 0.583756 -0.425901 +v 0.797955 0.582975 -0.152997 +v -0.485373 0.582194 0.652275 +v -0.082764 0.581414 -0.809388 +v 0.608177 0.580633 0.541282 +v -0.814638 0.579852 0.011701 +v 0.593189 0.579071 -0.559289 +v -0.059645 0.578290 0.813648 +v -0.505974 0.577509 -0.640682 +v 0.806409 0.576728 0.130727 +v -0.683386 0.575947 0.448630 +v 0.200998 0.575166 -0.792959 +v 0.387686 0.574385 0.720958 +v -0.773385 0.573604 -0.269914 +v 0.753097 0.572823 -0.323604 +v -0.336943 0.572042 0.747822 +v -0.256865 0.571261 -0.779539 +v 0.716449 0.570480 0.401563 +v -0.800067 0.569699 0.187978 +v 0.463272 0.568918 -0.679493 +v 0.117466 0.568137 0.814507 +v -0.637224 0.567357 -0.521586 +v 0.822732 0.566576 -0.045868 +v -0.576049 0.565795 0.589953 +v 0.026270 0.565014 -0.824663 +v 0.538029 0.564233 0.626231 +v -0.820269 0.563452 -0.098393 +v 0.671737 0.562671 -0.481841 +v -0.169948 0.561890 0.809566 +v -0.421810 0.561109 -0.712203 +v 0.792622 0.560328 0.240381 +v -0.747306 0.559547 0.358387 +v 0.309149 0.558766 -0.769550 +v 0.292051 0.557985 0.776762 +v -0.740512 0.557204 -0.375719 +v 0.800330 0.556423 -0.223306 +v -0.439574 0.555642 0.705717 +v -0.152673 0.554861 -0.817814 +v 0.665418 0.554080 0.500214 +v -0.829065 0.553299 0.080691 +v 0.557167 0.552519 -0.619910 +v 0.007910 0.551738 0.833980 +v -0.569531 0.550957 -0.609985 +v 0.832507 0.550176 0.065112 +v -0.658252 0.549395 0.514655 +v 0.137814 0.548614 -0.824639 +v 0.455695 0.547833 0.701585 +v -0.810424 0.547052 -0.209637 +v 0.739639 0.546271 -0.393093 +v -0.280027 0.545490 0.789953 +v -0.327321 0.544709 -0.772110 +v 0.763370 0.543928 0.348438 +v -0.798733 0.543147 0.258877 +v 0.414340 0.542366 -0.730863 +v 0.188282 0.541585 0.819289 +v -0.692669 0.540804 -0.477221 +v 0.833608 0.540023 -0.116073 +v -0.536589 0.539242 0.649068 +v -0.042800 0.538462 -0.841562 +v 0.600382 0.537681 0.591981 +v -0.843077 0.536900 -0.030974 +v 0.642960 0.536119 -0.546973 +v -0.104685 0.535338 0.838126 +v -0.489240 0.534557 -0.689125 +v 0.826730 0.533776 0.177766 +v -0.730109 0.532995 0.427618 +v 0.249653 0.532214 -0.808963 +v 0.362571 0.531433 0.765586 +v -0.784947 0.530652 -0.319791 +v 0.795269 0.529871 -0.294590 +v -0.387637 0.529090 0.754852 +v -0.224192 0.528309 -0.818918 +v 0.718895 0.527528 0.452664 +v -0.836337 0.526747 0.151913 +v 0.514366 0.525966 -0.677338 +v 0.078302 0.525185 0.847378 +v -0.630490 0.524405 -0.572261 +v 0.851941 0.523624 -0.003924 +v -0.625896 0.522843 0.578697 +v 0.070651 0.522062 -0.849976 +v 0.522347 0.521281 0.674848 +v -0.841485 0.520500 -0.144853 +v 0.718732 0.519719 -0.461863 +v -0.218108 0.518938 0.826518 +v -0.397699 0.518157 -0.757198 +v 0.805176 0.517376 0.289852 +v -0.789939 0.516595 0.330342 +v 0.359531 0.515814 -0.777607 +v 0.260302 0.515033 0.816691 +v -0.744012 0.514252 -0.426604 +v 0.837234 0.513471 -0.188111 +v -0.490550 0.512690 0.704634 +v -0.114319 0.511909 -0.851399 +v 0.659764 0.511128 0.550872 +v -0.859061 0.510348 0.039490 +v 0.607097 0.509567 -0.609734 +v -0.035804 0.508786 0.860148 +v -0.554918 0.508005 -0.658785 +v 0.854638 0.507224 0.110985 +v -0.705528 0.506443 0.495727 +v 0.185474 0.505662 -0.842559 +v 0.432606 0.504881 0.746958 +v -0.823989 0.504100 -0.258699 +v 0.782745 0.503319 -0.366033 +v -0.330094 0.502538 0.799058 +v -0.296510 0.501757 -0.812602 +v 0.767944 0.500976 0.399106 +v -0.836286 0.500195 0.224567 +v 0.465200 0.499414 -0.730872 +v 0.150751 0.498633 0.853603 +v -0.688116 0.497852 -0.527863 +v 0.864408 0.497071 -0.075625 +v -0.586605 0.496291 0.639992 +v 0.000236 0.495510 -0.868602 +v 0.586859 0.494729 0.640968 +v -0.866142 0.493948 -0.076251 +v 0.690525 0.493167 -0.529114 +v -0.151837 0.492386 0.857031 +v -0.467193 0.491605 -0.734885 +v 0.841326 0.490824 0.226411 +v -0.773696 0.490043 0.401562 +v 0.299399 0.489262 -0.819135 +v 0.332717 0.488481 0.806651 +v -0.790616 0.487700 -0.370237 +v 0.833483 0.486919 -0.261182 +v -0.438377 0.486138 0.755973 +v -0.187500 0.485357 -0.853974 +v 0.715462 0.484576 0.503288 +v -0.867955 0.483795 0.112234 +v 0.564468 0.483014 -0.669383 +v 0.035958 0.482234 0.875304 +v -0.618077 0.481453 -0.621437 +v 0.875954 0.480672 0.040743 +v -0.673751 0.479891 0.561929 +v 0.117282 0.479110 -0.869884 +v 0.501361 0.478329 0.720998 +v -0.857130 0.477548 -0.193071 +v 0.762806 0.476767 -0.436829 +v -0.267524 0.475986 0.837776 +v -0.368822 0.475205 -0.798843 +v 0.811957 0.474424 0.340069 +v -0.828821 0.473643 0.297855 +v 0.410144 0.472862 -0.779861 +v 0.224468 0.472081 0.852498 +v -0.741721 0.471300 -0.477206 +v 0.869681 0.470519 -0.149219 +v -0.540734 0.469738 0.697820 +v -0.072684 0.468957 -0.880225 +v 0.648482 0.468176 0.600235 +v -0.884037 0.467396 -0.004553 +v 0.655242 0.466615 -0.594078 +v -0.081899 0.465834 0.881074 +v -0.535015 0.465053 -0.705326 +v 0.871348 0.464272 0.158761 +v -0.750092 0.463491 0.471739 +v 0.234548 0.462710 -0.854919 +v 0.404727 0.461929 0.789188 +v -0.831903 0.461148 -0.308675 +v 0.822302 0.460367 -0.334488 +v -0.380570 0.459586 0.802463 +v -0.261555 0.458805 -0.849168 +v 0.766815 0.458024 0.449676 +v -0.869570 0.457243 0.186483 +v 0.515459 0.456462 -0.725220 +v 0.109845 0.455681 0.883339 +v -0.677988 0.454900 -0.577407 +v 0.890358 0.454119 -0.032227 +v -0.635037 0.453339 0.625470 +v 0.045778 0.452558 -0.890559 +v 0.568061 0.451777 0.687898 +v -0.883931 0.450996 -0.123570 +v 0.735578 0.450215 -0.506194 +v -0.200552 0.449434 0.870510 +v -0.440334 0.448653 -0.777699 +v 0.850390 0.447872 0.276131 +v -0.813930 0.447091 0.370982 +v 0.349725 0.446310 -0.823711 +v 0.298663 0.445529 0.843981 +v -0.790668 0.444748 -0.420764 +v 0.867612 0.443967 -0.223927 +v -0.488700 0.443186 0.751504 +v -0.147345 0.442405 -0.884628 +v 0.706508 0.441624 0.553004 +v -0.894889 0.440843 0.069501 +v 0.613178 0.440062 -0.656017 +v -0.009009 0.439282 0.898304 +v -0.600408 0.438501 -0.668751 +v 0.894836 0.437720 0.087584 +v -0.719289 0.436939 0.540099 +v 0.165619 0.436158 -0.884498 +v 0.475547 0.435377 0.764397 +v -0.867359 0.434596 -0.242517 +v 0.803717 0.433815 -0.407239 +v -0.317683 0.433034 0.843540 +v -0.335693 0.432253 -0.836939 +v 0.813211 0.431472 0.390537 +v -0.863798 0.430691 0.261454 +v 0.460518 0.429910 -0.776596 +v 0.185087 0.429129 0.884076 +v -0.733964 0.428348 -0.527082 +v 0.897608 0.427567 -0.107175 +v -0.589713 0.426786 0.685633 +v -0.028314 0.426005 -0.904277 +v 0.631965 0.425225 0.647923 +v -0.904023 0.424444 -0.050893 +v 0.701259 0.423663 -0.573364 +v -0.129837 0.422882 0.896835 +v -0.510270 0.422101 -0.749303 +v 0.882758 0.421320 0.207913 +v -0.791678 0.420539 0.443163 +v 0.284520 0.419758 -0.861888 +v 0.372549 0.418977 0.828049 +v -0.834376 0.418196 -0.359067 +v 0.858128 0.417415 -0.298966 +v -0.430978 0.416634 0.800421 +v -0.222975 0.415853 -0.881674 +v 0.760275 0.415072 0.499697 +v -0.898495 0.414291 0.145154 +v 0.564692 0.413510 -0.714235 +v 0.066098 0.412729 0.908452 +v -0.662646 0.411948 -0.625459 +v 0.911459 0.411168 0.013588 +v -0.681523 0.410387 0.605896 +v 0.093293 0.409606 -0.907480 +v 0.544412 0.408825 0.732447 +v -0.896536 0.408044 -0.172405 +v 0.777832 0.407263 -0.478658 +v -0.250316 0.406482 0.878701 +v -0.409134 0.405701 -0.817323 +v 0.854100 0.404920 0.326426 +v -0.850605 0.404139 0.336367 +v 0.400148 0.403358 -0.822912 +v 0.260910 0.402577 0.877415 +v -0.785367 0.401796 -0.470913 +v 0.897537 0.401015 -0.183340 +v -0.538172 0.400234 0.741743 +v -0.104248 0.399453 -0.910807 +v 0.692367 0.398672 0.601405 +v -0.917112 0.397891 0.024238 +v 0.660121 0.397111 -0.637608 +v -0.056075 0.396330 0.916394 +v -0.577879 0.395549 -0.713860 +v 0.908648 0.394768 0.136076 +v -0.762205 0.393987 0.513632 +v 0.215151 0.393206 -0.893923 +v 0.445352 0.392425 0.804776 +v -0.872323 0.391644 -0.292691 +v 0.841237 0.390863 -0.373559 +v -0.368099 0.390082 0.844002 +v -0.298797 0.389301 -0.871301 +v 0.809169 0.388520 0.440793 +v -0.894726 0.387739 0.221638 +v 0.510211 0.386958 -0.768081 +v 0.142668 0.386177 0.911325 +v -0.721045 0.385396 -0.575815 +v 0.920959 0.384615 -0.062493 +v -0.637097 0.383834 0.668414 +v 0.018275 0.383053 -0.923545 +v 0.610584 0.382273 0.693581 +v -0.919054 0.381492 -0.099016 +v 0.744825 0.380711 -0.547992 +v -0.179110 0.379930 0.907509 +v -0.481110 0.379149 -0.790430 +v 0.888990 0.378368 0.257942 +v -0.830037 0.377587 0.410447 +v 0.334905 0.376806 -0.863629 +v 0.336540 0.376025 0.863334 +v -0.831612 0.375244 -0.409406 +v 0.890058 0.374463 -0.259951 +v -0.480870 0.373682 0.793174 +v -0.181264 0.372901 -0.909993 +v 0.748603 0.372120 0.548744 +v -0.922979 0.371339 0.101082 +v 0.612502 0.370558 -0.698232 +v 0.020016 0.369777 0.928905 +v -0.642440 0.368996 -0.671649 +v 0.927717 0.368216 0.061312 +v -0.725726 0.367435 0.581647 +v 0.142278 0.366654 -0.919414 +v 0.516315 0.365873 0.774310 +v -0.904051 0.365092 -0.222260 +v 0.817022 0.364311 -0.446937 +v -0.300643 0.363530 0.881737 +v -0.374042 0.362749 -0.853526 +v 0.852633 0.361968 0.376825 +v -0.883533 0.361187 0.298183 +v 0.450216 0.360406 -0.816954 +v 0.219940 0.359625 0.906805 +v -0.774965 0.358844 -0.520250 +v 0.923155 0.358063 -0.139910 +v -0.586386 0.357282 0.726981 +v -0.058704 0.356501 -0.932449 +v 0.673361 0.355720 0.648111 +v -0.934605 0.354939 -0.023055 +v 0.704945 0.354159 -0.614511 +v -0.104742 0.353378 0.929599 +v -0.550875 0.352597 -0.756447 +v 0.917459 0.351816 0.185728 +v -0.802214 0.351035 0.482936 +v 0.265392 0.350254 -0.898270 +v 0.411209 0.349473 0.841888 +v -0.872171 0.348692 -0.343121 +v 0.875158 0.347911 -0.336240 +v -0.418316 0.347130 0.839352 +v -0.258600 0.346349 -0.901758 +v 0.800058 0.345568 0.490397 +v -0.921479 0.344787 0.178883 +v 0.558806 0.344006 -0.754583 +v 0.097697 0.343225 0.934158 +v -0.703267 0.342444 -0.623015 +v 0.939692 0.341663 -0.015663 +v -0.682525 0.340882 0.646497 +v 0.066591 0.340102 -0.938028 +v 0.584702 0.339321 0.736875 +v -0.929171 0.338540 -0.148432 +v 0.785641 0.337759 -0.518351 +v -0.229234 0.336978 0.913180 +v -0.447947 0.336197 -0.828441 +v 0.890169 0.335416 0.308374 +v -0.864942 0.334635 0.374025 +v 0.385244 0.333854 -0.860307 +v 0.297150 0.333073 0.894854 +v -0.823815 0.332292 -0.459250 +v 0.917942 0.331511 -0.217906 +v -0.529823 0.330730 0.780964 +v -0.136899 0.329949 -0.934019 +v 0.732077 0.329168 0.596415 +v -0.942955 0.328387 0.054749 +v 0.658512 0.327606 -0.677522 +v -0.027915 0.326825 0.944672 +v -0.617709 0.326045 -0.715633 +v 0.939150 0.325264 0.110460 +v -0.767332 0.324483 0.553094 +v 0.192252 0.323702 -0.926421 +v 0.484165 0.322921 0.813208 +v -0.906577 0.322140 -0.272662 +v 0.852901 0.321359 -0.411446 +v -0.351073 0.320578 0.879760 +v -0.335493 0.319797 -0.886101 +v 0.846169 0.319016 0.426880 +v -0.912545 0.318235 0.256883 +v 0.499498 0.317454 -0.806055 +v 0.176216 0.316673 0.932022 +v -0.759717 0.315892 -0.568368 +v 0.944377 0.315111 -0.094110 +v -0.632956 0.314330 0.707505 +v -0.011193 0.313549 -0.949506 +v 0.649812 0.312768 0.692763 +v -0.947362 0.311988 -0.071900 +v 0.747324 0.311207 -0.587075 +v -0.154531 0.310426 0.937953 +v -0.519771 0.309645 -0.796215 +v 0.921344 0.308864 0.236067 +v -0.839055 0.308083 0.448410 +v 0.315880 0.307302 -0.897655 +v 0.373536 0.306521 0.875509 +v -0.867060 0.305740 -0.393357 +v 0.905290 0.304959 -0.295719 +v -0.467900 0.304178 0.829786 +v -0.215554 0.303397 -0.928163 +v 0.786113 0.302616 0.538934 +v -0.943945 0.301835 0.133653 +v 0.605911 0.301054 -0.736368 +v 0.050643 0.300273 0.952508 +v -0.680927 0.299492 -0.668313 +v 0.953778 0.298711 0.032842 +v -0.725656 0.297930 0.620210 +v 0.116160 0.297150 -0.947739 +v 0.554676 0.296369 0.777496 +v -0.934429 0.295588 -0.198673 +v 0.823428 0.294807 -0.484825 +v -0.279746 0.294026 0.913942 +v -0.411186 0.293245 -0.863095 +v 0.886430 0.292464 0.358757 +v -0.896186 0.291683 0.334322 +v 0.435097 0.290902 -0.852096 +v 0.254818 0.290121 0.922441 +v -0.811195 0.289340 -0.508177 +v 0.941651 0.288559 -0.173283 +v -0.577435 0.287778 0.764037 +v -0.090339 0.286997 -0.953662 +v 0.710976 0.286216 0.642334 +v -0.958375 0.285435 0.006622 +v 0.702373 0.284654 -0.652414 +v -0.077227 0.283873 0.955747 +v -0.588794 0.283093 -0.757086 +v 0.945790 0.282312 0.160566 +v -0.806049 0.281531 0.520601 +v 0.242753 0.280750 -0.928574 +v 0.448351 0.279969 0.848881 +v -0.904225 0.279188 -0.323158 +v 0.885247 0.278407 -0.372596 +v -0.401162 0.277626 0.872922 +v -0.293915 0.276845 -0.914861 +v 0.834898 0.276064 0.476165 +v -0.937491 0.275283 0.212906 +v 0.547588 0.274502 -0.790440 +v 0.130190 0.273721 0.952957 +v -0.739882 0.272940 -0.614880 +v 0.961133 0.272159 -0.046400 +v -0.677522 0.271378 0.683607 +v 0.037822 0.270597 -0.961949 +v 0.622040 0.269816 0.735027 +v -0.955394 0.269036 -0.121832 +v 0.786952 0.268255 -0.555650 +v -0.204984 0.267474 0.941509 +v -0.484940 0.266693 -0.832891 +v 0.920396 0.265912 0.286640 +v -0.872488 0.265131 0.410451 +v 0.366172 0.264350 -0.892209 +v 0.332749 0.263569 0.905433 +v -0.857159 0.262788 -0.442968 +v 0.931468 0.262007 -0.252428 +v -0.516436 0.261226 0.815509 +v -0.170102 0.260445 -0.950386 +v 0.767571 0.259664 0.586011 +v -0.962037 0.258883 0.086400 +v 0.651155 0.258102 -0.713709 +v 0.001963 0.257321 0.966324 +v -0.654330 0.256540 -0.711364 +v 0.963209 0.255759 0.082562 +v -0.766173 0.254979 0.589886 +v 0.166526 0.254198 -0.952708 +v 0.520865 0.253417 0.815156 +v -0.934897 0.252636 -0.249285 +v 0.857934 0.251855 -0.447793 +v -0.330203 0.251074 0.909906 +v -0.371229 0.250293 -0.894172 +v 0.877919 0.249512 0.408658 +v -0.923586 0.248731 0.291755 +v 0.484046 0.247950 -0.839178 +v 0.209979 0.247169 0.945947 +v -0.793973 0.246388 -0.555787 +v 0.961077 0.245607 -0.126527 +v -0.623327 0.244826 0.742646 +v -0.042037 0.244045 -0.968852 +v 0.685586 0.243264 0.686145 +v -0.969209 0.242483 -0.042844 +v 0.743755 0.241702 -0.623225 +v -0.127465 0.240922 0.962138 +v -0.556037 0.240141 -0.795711 +v 0.947687 0.239360 0.211177 +v -0.841610 0.238579 0.484534 +v 0.293336 0.237798 -0.925962 +v 0.409262 0.237017 0.881095 +v -0.897123 0.236236 -0.373312 +v 0.913858 0.235455 -0.330794 +v -0.450490 0.234674 0.861387 +v -0.249729 0.233893 -0.939643 +v 0.819020 0.233112 0.524275 +v -0.958247 0.232331 0.166688 +v 0.594099 0.231550 -0.770345 +v 0.082306 0.230769 0.969521 +v -0.715728 0.229988 -0.659423 +v 0.973374 0.229207 0.002771 +v -0.719743 0.228426 0.655585 +v 0.087892 0.227645 -0.969769 +v 0.590372 0.226865 0.774593 +v -0.958730 0.226084 -0.172402 +v 0.823547 0.225303 -0.520586 +v -0.255654 0.224522 0.940335 +v -0.446758 0.223741 -0.866226 +v 0.914721 0.222960 0.337009 +v -0.902298 0.222179 0.369452 +v 0.415841 0.221398 -0.882077 +v 0.289259 0.220617 0.931481 +v -0.842649 0.219836 -0.491543 +v 0.953547 0.219055 -0.206791 +v -0.563532 0.218274 0.796736 +v -0.122678 0.217493 -0.968322 +v 0.744683 0.216712 0.631255 +v -0.975686 0.215931 0.037566 +v 0.694188 0.215150 -0.686887 +v -0.047895 0.214369 0.975578 +v -0.623786 0.213588 -0.751845 +v 0.967993 0.212807 0.133049 +v -0.803781 0.212027 0.555860 +v 0.217242 0.211246 -0.952985 +v 0.483628 0.210465 0.849593 +v -0.930664 0.209684 -0.299829 +v 0.888926 0.208903 -0.407640 +v -0.380175 0.208122 0.901195 +v -0.328475 0.207341 -0.921474 +v 0.864800 0.206560 0.457661 +v -0.946982 0.205779 0.246740 +v 0.531693 0.204998 -0.821753 +v 0.163059 0.204217 0.965250 +v -0.772380 0.203436 -0.601700 +v 0.976133 0.202655 -0.078073 +v -0.667142 0.201874 0.717055 +v 0.007567 0.201093 -0.979543 +v 0.656199 0.200312 0.727515 +v -0.975449 0.199531 -0.093206 +v 0.782352 0.198750 -0.590274 +v -0.178186 0.197970 0.963876 +v -0.519784 0.197189 -0.831229 +v 0.944911 0.196408 0.261855 +v -0.873767 0.195627 0.445265 +v 0.343571 0.194846 -0.918691 +v 0.367286 0.194065 0.909637 +v -0.885416 0.193284 -0.422706 +v 0.938559 0.192503 -0.286444 +v -0.498651 0.191722 0.845334 +v -0.203356 0.190941 -0.960306 +v 0.798749 0.190160 0.570823 +v -0.974708 0.189379 0.118659 +v 0.638664 0.188598 -0.746015 +v 0.033000 0.187817 0.981649 +v -0.687532 0.187036 -0.701653 +v 0.981073 0.186255 0.052964 +v -0.759303 0.185474 0.623745 +v 0.138573 0.184693 -0.972978 +v 0.555140 0.183913 0.811169 +v -0.957422 0.183132 -0.223172 +v 0.856851 0.182351 -0.482240 +v -0.306111 0.181570 0.934520 +v -0.405602 0.180789 -0.895993 +v 0.904444 0.180008 0.386753 +v -0.928292 0.179227 0.325811 +v 0.464478 0.178446 -0.867420 +v 0.243477 0.177665 0.953496 +v -0.823727 0.176884 -0.538689 +v 0.971408 0.176103 -0.159230 +v -0.608814 0.175322 0.773697 +v -0.073715 0.174541 -0.981887 +v 0.717711 0.173760 0.674314 +v -0.984847 0.172979 -0.012413 +v 0.734683 0.172198 -0.656193 +v -0.098494 0.171417 0.980263 +v -0.589613 0.170636 -0.789456 +v 0.968164 0.169856 0.183867 +v -0.838209 0.169075 0.518478 +v 0.267879 0.168294 -0.948640 +v 0.443332 0.167513 0.880566 +v -0.921837 0.166732 -0.349883 +v 0.916198 0.165951 -0.364748 +v -0.429250 0.165170 0.887955 +v -0.283327 0.164389 -0.944829 +v 0.847251 0.163608 0.505370 +v -0.966235 0.162827 0.199692 +v 0.577657 0.162046 -0.800033 +v 0.114483 0.161265 0.980248 +v -0.746661 0.160484 -0.645556 +v 0.986758 0.159703 -0.028353 +v -0.708542 0.158922 0.687540 +v 0.058038 0.158141 -0.985709 +v 0.623120 0.157360 0.766132 +v -0.977107 0.156579 -0.144028 +v 0.817881 0.155799 -0.553894 +v -0.228958 0.155018 0.961014 +v -0.480388 0.154237 -0.863388 +v 0.937549 0.153456 0.312176 +v -0.902301 0.152675 0.403166 +v 0.393042 0.151894 -0.906888 +v 0.322816 0.151113 0.934321 +v -0.869264 0.150332 -0.470937 +v 0.959196 0.149551 -0.239954 +v -0.545260 0.148770 0.824960 +v -0.155214 0.147989 -0.976733 +v 0.774315 0.147208 0.615440 +v -0.986795 0.146427 0.069244 +v 0.680938 0.145646 -0.717712 +v -0.017297 0.144865 0.989300 +v -0.655584 0.144084 -0.741248 +v 0.984226 0.143303 0.103744 +v -0.795907 0.142522 0.588404 +v 0.189437 0.141742 -0.971608 +v 0.516685 0.140961 0.844492 +v -0.951540 0.140180 -0.273717 +v 0.886628 0.139399 -0.440975 +v -0.355937 0.138618 0.924172 +v -0.361852 0.137837 -0.921989 +v 0.889711 0.137056 0.435466 +v -0.950301 0.136275 0.279922 +v 0.511693 0.135494 -0.848417 +v 0.195812 0.134713 0.971344 +v -0.800605 0.133932 -0.584032 +v 0.984954 0.133151 -0.110165 +v -0.651928 0.132370 0.746638 +v -0.023638 0.131589 -0.991022 +v 0.686928 0.130808 0.714856 +v -0.989500 0.130027 -0.063106 +v 0.772334 0.129246 -0.621929 +v -0.149403 0.128465 0.980395 +v -0.552139 0.127684 -0.823917 +v 0.963775 0.126904 0.234590 +v -0.869209 0.126123 0.478089 +v 0.318015 0.125342 -0.939764 +v 0.400347 0.124561 0.907858 +v -0.908542 0.123780 -0.399035 +v 0.939567 0.122999 -0.319507 +v -0.477030 0.122218 0.870347 +v -0.236187 0.121437 -0.964090 +v 0.825469 0.120656 0.551401 +v -0.981235 0.119875 0.151025 +v 0.621575 0.119094 -0.774249 +v 0.064674 0.118313 0.990868 +v -0.717077 0.117532 -0.687013 +v 0.992913 0.116751 0.022205 +v -0.747211 0.115970 0.654390 +v 0.108946 0.115189 -0.987351 +v 0.586666 0.114408 0.801707 +v -0.974222 0.113627 -0.194884 +v 0.850080 0.112847 -0.514422 +v -0.279360 0.112066 0.953624 +v -0.438211 0.111285 -0.891957 +v 0.925712 0.110504 0.361726 +v -0.927014 0.109723 0.358616 +v 0.441348 0.108942 -0.890698 +v 0.276245 0.108161 0.954982 +v -0.848848 0.107380 -0.517617 +v 0.975641 0.106599 -0.191730 +v -0.589945 0.105818 0.800479 +v -0.105718 0.105037 -0.988833 +v 0.745962 0.104256 0.657778 +v -0.994453 0.103475 0.018867 +v 0.720593 0.102694 -0.685711 +v -0.068158 0.101913 0.992456 +v -0.620187 0.101132 -0.777908 +v 0.982854 0.100351 0.154687 +v -0.829281 0.099570 0.549890 +v 0.240060 0.098790 -0.965718 +v 0.475358 0.098009 0.874316 +v -0.941179 0.097228 -0.323619 +v 0.912667 0.096447 -0.397161 +v -0.404725 0.095666 0.909421 +v -0.315897 0.094885 -0.944037 +v 0.870685 0.094104 0.482754 +v -0.968183 0.093323 0.232189 +v 0.557108 0.092542 -0.825268 +v 0.146677 0.091761 0.984919 +v -0.773514 0.090980 -0.627215 +v 0.994114 0.090199 -0.060017 +v -0.692537 0.089418 0.715819 +v 0.027128 0.088637 -0.995694 +v 0.652624 0.087856 0.752571 +v -0.989647 0.087075 -0.114089 +v 0.806856 0.086294 -0.584411 +v -0.200200 0.085513 0.976016 +v -0.511702 0.084733 -0.854974 +v 0.954904 0.083952 0.284800 +v -0.896555 0.083171 0.435054 +v 0.367241 0.082390 -0.926470 +v 0.355052 0.081609 0.931278 +v -0.890930 0.080828 -0.446890 +v 0.958874 0.080047 -0.272310 +v -0.523134 0.079266 0.848556 +v -0.187460 0.078485 -0.979132 +v 0.799670 0.077704 0.595390 +v -0.991893 0.076923 0.101153 +v 0.663103 0.076142 -0.744646 +v 0.014051 0.075361 0.997057 +v -0.683903 0.074580 -0.725751 +v 0.994584 0.073799 0.073180 +v -0.782853 0.073018 0.617907 +v 0.159871 0.072237 -0.984491 +v 0.547162 0.071456 0.833971 +v -0.966853 0.070676 -0.245356 +v 0.878712 0.069895 -0.472208 +v -0.328980 0.069114 0.941804 +v -0.393621 0.068333 -0.916730 +v 0.909534 0.067552 0.410103 +v -0.947733 0.066771 0.312001 +v 0.488100 0.065990 -0.870289 +v 0.227974 0.065209 0.971481 +v -0.824369 0.064428 -0.562374 +v 0.987792 0.063647 -0.142183 +v -0.632355 0.062866 0.772123 +v -0.055286 0.062085 -0.996538 +v 0.713952 0.061304 0.697505 +v -0.997652 0.060523 -0.032052 +v 0.757324 0.059742 -0.650301 +v -0.119161 0.058961 0.991123 +v -0.581655 0.058180 -0.811352 +v 0.976999 0.057399 0.205373 +v -0.859175 0.056619 0.508540 +v 0.290028 0.055838 -0.955388 +v 0.431517 0.055057 0.900423 +v -0.926454 0.054276 -0.372475 +v 0.934781 0.053495 -0.351174 +v -0.452082 0.052714 0.890417 +v -0.268128 0.051933 -0.961983 +v 0.847553 0.051152 0.528240 +v -0.981819 0.050371 0.183014 +v 0.600362 0.049590 -0.798189 +v 0.096484 0.048809 0.994137 +v -0.742703 0.048028 -0.667897 +v 0.998841 0.047247 -0.009202 +v -0.730325 0.046466 0.681518 +v 0.078163 0.045685 -0.995893 +v 0.615103 0.044904 0.787167 +v -0.985316 0.044123 -0.164942 +v 0.837987 0.043342 -0.543967 +v -0.250469 0.042561 0.967189 +v -0.468654 0.041781 -0.882393 +v 0.941649 0.041000 0.334089 +v -0.920046 0.040219 0.389740 +v 0.415160 0.039438 -0.908893 +v 0.307831 0.038657 0.950655 +v -0.869170 0.037876 -0.493061 +v 0.973985 0.037095 -0.223554 +v -0.567194 0.036314 0.822783 +v -0.137555 0.035533 -0.989857 +v 0.770088 0.034752 0.636990 +v -0.998147 0.033971 0.050492 +v 0.701914 0.033190 -0.711488 +v -0.036967 0.032409 0.998791 +v -0.647431 0.031628 -0.761467 +v 0.991784 0.030847 0.124152 +v -0.815193 0.030066 0.578408 +v 0.210394 0.029285 -0.977178 +v 0.504948 0.028504 0.862679 +v -0.955085 0.027724 -0.295032 +v 0.903560 0.026943 -0.427613 +v -0.377417 0.026162 0.925674 +v -0.346995 0.025381 -0.937523 +v 0.889169 0.024600 0.456918 +v -0.964307 0.023819 0.263713 +v 0.532924 0.023038 -0.845849 +v 0.178404 0.022257 0.983705 +v -0.796047 0.021476 -0.604854 +v 0.995569 0.020695 -0.091723 +v -0.672154 0.019914 0.740143 +v -0.004334 0.019133 -0.999808 +v 0.678566 0.018352 0.734310 +v -0.996387 0.017571 -0.083094 +v 0.790844 0.016790 -0.611787 +v -0.169890 0.016009 0.985333 +v -0.540318 0.015228 -0.841323 +v 0.966730 0.014447 0.255389 +v -0.885360 0.013667 0.464706 +v 0.338936 0.012886 -0.940721 +v 0.385531 0.012105 0.922615 +v -0.907505 0.011324 -0.419889 +v 0.952805 0.010543 -0.303400 +v -0.497629 0.009762 0.867335 +v -0.218942 0.008981 -0.975697 +v 0.820520 0.008200 0.571559 +v -0.991114 0.007419 0.132804 +v 0.641112 0.006638 -0.767418 +v 0.045648 0.005857 0.998940 +v -0.708437 0.005076 -0.705756 +v 0.999114 0.004295 0.041861 +v -0.764995 0.003514 0.644027 +v 0.129049 0.002733 -0.991634 +v 0.574683 0.001952 0.818373 +v -0.976558 0.001171 -0.215250 +v 0.865484 0.000390 -0.500937 +v -0.299803 -0.000390 0.954001 +v -0.423353 -0.001171 -0.905964 +v 0.924136 -0.001952 0.382058 +v -0.939504 -0.002733 0.342527 +v 0.461387 -0.003514 -0.887192 +v 0.259077 -0.004295 0.965847 +v -0.843452 -0.005076 -0.537180 +v 0.984791 -0.005857 -0.173644 +v -0.608857 -0.006638 0.793252 +v -0.086882 -0.007419 -0.996191 +v 0.736977 -0.008200 0.675868 +v -0.999960 -0.008981 -0.000544 +v 0.737701 -0.009762 -0.675057 +v -0.087962 -0.010543 0.996068 +v -0.607968 -0.011324 -0.793881 +v 0.984546 -0.012105 0.174705 +v -0.843977 -0.012886 0.536225 +v 0.260105 -0.013667 -0.965484 +v 0.460376 -0.014447 0.887606 +v -0.939026 -0.015228 -0.343509 +v 0.924434 -0.016009 -0.381005 +v -0.424279 -0.016790 0.905376 +v -0.298719 -0.017571 -0.954179 +v 0.864793 -0.018352 0.501793 +v -0.976614 -0.019133 0.214149 +v 0.575460 -0.019914 -0.817587 +v 0.127944 -0.020695 0.991565 +v -0.764122 -0.021476 -0.644714 +v 0.998921 -0.022257 -0.040764 +v -0.709025 -0.023038 0.704807 +v 0.046721 -0.023819 -0.998624 +v 0.640098 -0.024600 0.767899 +v -0.990678 -0.025381 -0.133843 +v 0.820888 -0.026162 -0.570490 +v -0.219932 -0.026943 0.975143 +v -0.496518 -0.027724 -0.867584 +v 0.952140 -0.028504 0.304329 +v -0.907630 -0.029285 0.418749 +v 0.386388 -0.030066 -0.921846 +v 0.337780 -0.030847 0.940720 +v -0.884494 -0.031628 -0.465479 +v 0.966600 -0.032409 -0.254231 +v -0.540997 -0.033190 0.840370 +v -0.168743 -0.033971 -0.985075 +v 0.789813 -0.034752 0.612363 +v -0.996001 -0.035533 0.081971 +v 0.679030 -0.036314 -0.733212 +v -0.005418 -0.037095 0.999297 +v -0.671001 -0.037876 -0.740489 +v 0.994938 -0.038657 0.092756 +v -0.796268 -0.039438 0.603657 +v 0.179373 -0.040219 -0.982959 +v 0.531698 -0.041000 0.845941 +v -0.963451 -0.041781 -0.264605 +v 0.889128 -0.042561 -0.455675 +v -0.347799 -0.043342 0.936567 +v -0.376172 -0.044123 -0.925499 +v 0.902512 -0.044904 0.428318 +v -0.954775 -0.045685 0.293799 +v 0.505545 -0.046466 -0.861548 +v 0.209187 -0.047247 0.976734 +v -0.813992 -0.048028 -0.578888 +v 0.991208 -0.048809 -0.122985 +v -0.647785 -0.049590 0.760207 +v -0.035854 -0.050371 -0.998087 +v 0.700608 -0.051152 0.711711 +v -0.997320 -0.051933 -0.051537 +v 0.770174 -0.052714 -0.635652 +v -0.138520 -0.053495 0.988914 +v -0.565837 -0.054276 -0.822728 +v 0.972934 -0.055057 0.224427 +v -0.868972 -0.055838 0.491701 +v 0.308600 -0.056619 -0.949505 +v 0.413811 -0.057399 0.908551 +v -0.918807 -0.058180 -0.390395 +v 0.941165 -0.058961 -0.332765 +v -0.469184 -0.059742 0.881077 +v -0.249186 -0.060523 -0.966563 +v 0.836606 -0.061304 0.544365 +v -0.984552 -0.062085 0.163714 +v 0.615361 -0.062866 -0.785734 +v 0.077004 -0.063647 0.994997 +v -0.728855 -0.064428 -0.681630 +v 0.997819 -0.065209 0.010278 +v -0.742665 -0.065990 0.666404 +v 0.097464 -0.066771 -0.992997 +v 0.598861 -0.067552 0.797999 +v -0.980570 -0.068333 -0.183885 +v 0.847208 -0.069114 -0.526746 +v -0.268878 -0.069895 0.960635 +v -0.450612 -0.070676 -0.889918 +v 0.933346 -0.071456 0.351794 +v -0.925802 -0.072237 0.371043 +v 0.431996 -0.073018 -0.898915 +v 0.288651 -0.073799 0.954586 +v -0.857606 -0.074580 -0.508872 +v 0.976052 -0.075361 -0.204066 +v -0.581831 -0.076142 0.809738 +v -0.117939 -0.076923 -0.990037 +v 0.755679 -0.077704 0.650317 +v -0.996435 -0.078485 0.030929 +v 0.713804 -0.079266 -0.695845 +v -0.056297 -0.080047 0.995200 +v -0.630697 -0.080828 -0.771809 +v 0.986342 -0.081609 0.143069 +v -0.823887 -0.082390 0.560734 +v 0.228723 -0.083171 -0.969932 +v 0.486494 -0.083952 0.869641 +v -0.946097 -0.084733 -0.312603 +v 0.908722 -0.085513 -0.408548 +v -0.394067 -0.086294 0.915022 +v -0.327493 -0.087075 -0.940833 +v 0.876946 -0.087856 0.472490 +v -0.965728 -0.088637 0.243953 +v 0.547272 -0.089418 -0.832165 +v 0.158567 -0.090199 0.983220 +v -0.781022 -0.090980 -0.617841 +v 0.993175 -0.091761 -0.071991 +v -0.683658 -0.092542 0.723911 +v 0.015112 -0.093323 -0.995521 +v 0.661273 -0.094104 0.744219 +v -0.990241 -0.094885 -0.102073 +v 0.799062 -0.095666 -0.593588 +v -0.188226 -0.096447 0.977379 +v -0.521378 -0.097228 -0.847769 +v 0.957034 -0.098009 0.272912 +v -0.889967 -0.098790 0.445196 +v 0.355481 -0.099570 -0.929365 +v 0.365628 -0.100351 0.925336 +v -0.894587 -0.101132 -0.435301 +v 0.953606 -0.101913 -0.283284 +v -0.511762 -0.102694 0.852968 +v -0.198798 -0.103475 -0.974563 +v 0.804829 -0.104256 0.584278 +v -0.988048 -0.105037 0.112816 +v 0.652296 -0.105818 -0.750542 +v 0.025999 -0.106599 0.993962 +v -0.690524 -0.107380 -0.715294 +v 0.992261 -0.108161 0.060988 +v -0.772793 -0.108942 0.625238 +v 0.147478 -0.109723 -0.982960 +v 0.555186 -0.110504 0.824353 +v -0.966134 -0.111285 -0.232809 +v 0.869581 -0.112066 -0.480906 +v -0.316326 -0.112847 0.941915 +v -0.402969 -0.113627 -0.908133 +v 0.910489 -0.114408 0.397391 +v -0.939715 -0.115189 0.321973 +v 0.475383 -0.115970 -0.872102 +v 0.238542 -0.116751 0.964089 +v -0.827049 -0.117532 -0.549706 +v 0.981069 -0.118313 -0.153313 +v -0.619790 -0.119094 0.775678 +v -0.066943 -0.119875 -0.990529 +v 0.718386 -0.120656 0.685101 +v -0.992400 -0.121437 -0.019907 +v 0.745140 -0.122218 -0.655614 +v -0.106571 -0.122999 0.986668 +v -0.587845 -0.123780 -0.799448 +v 0.973382 -0.124561 0.192386 +v -0.847612 -0.125342 0.515600 +v 0.276693 -0.126123 -0.952646 +v 0.439434 -0.126904 0.889265 +v -0.924622 -0.127684 -0.358847 +v 0.924091 -0.128465 -0.359934 +v -0.438219 -0.129246 0.889528 +v -0.277710 -0.130027 -0.951825 +v 0.847635 -0.130808 0.514203 +v -0.972257 -0.131589 0.193392 +v 0.586216 -0.132370 -0.799268 +v 0.107629 -0.133151 0.985234 +v -0.744799 -0.133932 -0.653710 +v 0.990660 -0.134713 -0.021077 +v -0.716168 -0.135494 0.684650 +v 0.065599 -0.136275 -0.988497 +v 0.619282 -0.137056 0.773114 +v -0.978763 -0.137837 -0.151734 +v 0.824114 -0.138618 -0.549201 +v -0.236670 -0.139399 0.961538 +v -0.474943 -0.140180 -0.868780 +v 0.936956 -0.140961 0.319756 +v -0.906772 -0.141742 0.397082 +v 0.400355 -0.142522 -0.905209 +v 0.316215 -0.143303 0.937802 +v -0.866544 -0.144084 -0.477851 +v 0.961635 -0.144865 -0.232962 +v -0.551652 -0.145646 0.821259 +v -0.147964 -0.146427 -0.978093 +v 0.769706 -0.147208 0.621194 +v -0.987052 -0.147989 0.061873 +v 0.685946 -0.148770 -0.712282 +v -0.024652 -0.149551 0.988447 +v -0.649431 -0.150332 -0.745413 +v 0.982271 -0.151113 0.110947 +v -0.799143 -0.151894 0.581635 +v 0.196350 -0.152675 -0.968575 +v 0.509418 -0.153456 0.846726 +v -0.947467 -0.154237 -0.280208 +v 0.887801 -0.155018 -0.433335 +v -0.361878 -0.155799 0.919114 +v -0.353971 -0.156579 -0.922056 +v 0.883736 -0.157360 0.440736 +v -0.949233 -0.158141 0.271936 +v 0.516179 -0.158922 -0.841607 +v 0.187859 -0.159703 0.969125 +v -0.793054 -0.160484 -0.587630 +v 0.981586 -0.161265 -0.102387 +v -0.654544 -0.162046 0.738453 +v -0.016175 -0.162827 -0.986522 +v 0.678224 -0.163608 0.716411 +v -0.983900 -0.164389 -0.070116 +v 0.772758 -0.165170 -0.612833 +v -0.155824 -0.165951 0.973745 +v -0.542783 -0.166732 -0.823157 +v 0.956137 -0.167513 0.240294 +v -0.867225 -0.168294 0.468613 +v 0.322877 -0.169075 -0.931216 +v 0.390895 -0.169856 0.904627 +v -0.899177 -0.170636 -0.402943 +v 0.935081 -0.171417 -0.310225 +v -0.479879 -0.172198 0.860270 +v -0.227224 -0.172979 -0.958357 +v 0.814795 -0.173760 0.553097 +v -0.974280 -0.174541 0.142529 +v 0.622039 -0.175322 -0.763105 +v 0.056790 -0.176103 0.982732 +v -0.705601 -0.176884 -0.686177 +v 0.983654 -0.177665 0.029335 +v -0.745024 -0.178446 0.642726 +v 0.115186 -0.179227 -0.977041 +v 0.574964 -0.180008 0.798131 +v -0.962950 -0.180789 -0.200105 +v 0.845095 -0.181570 -0.502839 +v -0.283443 -0.182351 0.941493 +v -0.426904 -0.183132 -0.885559 +v 0.912837 -0.183913 0.364560 +v -0.919218 -0.184693 0.347746 +v 0.442837 -0.185474 -0.877208 +v 0.265971 -0.186255 0.945816 +v -0.834882 -0.187036 -0.517676 +v 0.965155 -0.187817 -0.182209 +v -0.588505 -0.188598 0.786188 +v -0.097102 -0.189379 -0.977091 +v 0.731503 -0.190160 0.654784 +v -0.981536 -0.190941 0.011304 +v 0.716008 -0.191722 -0.671249 +v -0.074528 -0.192503 0.978462 +v -0.605893 -0.193284 -0.771710 +v 0.967896 -0.194065 0.159735 +v -0.821467 -0.194846 0.535936 +v 0.243665 -0.195627 -0.949925 +v 0.461920 -0.196408 0.864901 +v -0.924690 -0.197189 -0.325676 +v 0.901684 -0.197970 -0.384414 +v -0.405141 -0.198750 0.892390 +v -0.304013 -0.199531 -0.931538 +v 0.853276 -0.200312 0.481451 +v -0.954239 -0.201093 0.221337 +v 0.554024 -0.201874 -0.807653 +v 0.137019 -0.202655 0.969617 +v -0.755875 -0.203436 -0.622307 +v 0.977559 -0.204217 -0.051708 +v -0.685779 -0.204998 0.698343 +v 0.033943 -0.205779 -0.978010 +v 0.635501 -0.206560 0.743957 +v -0.970970 -0.207341 -0.119276 +v 0.796398 -0.208122 -0.567835 +v -0.203637 -0.208903 0.956500 +v -0.495866 -0.209684 -0.842704 +v 0.934714 -0.210465 0.286382 +v -0.882525 -0.211246 0.420148 +v 0.366877 -0.212027 -0.905785 +v 0.341266 -0.212807 0.915560 +v -0.869939 -0.213588 -0.444506 +v 0.941561 -0.214369 -0.259825 +v -0.518677 -0.215150 0.827456 +v -0.176451 -0.215931 -0.960333 +v 0.778667 -0.216712 0.588824 +v -0.971737 -0.217493 0.091785 +v 0.654412 -0.218274 -0.723949 +v 0.006477 -0.219055 0.975691 +v -0.663726 -0.219836 -0.714941 +v 0.972171 -0.220617 0.078820 +v -0.769951 -0.221398 0.598464 +v 0.163452 -0.222179 -0.961208 +v 0.528665 -0.222960 0.819025 +v -0.942892 -0.223741 -0.246770 +v 0.861791 -0.224522 -0.454870 +v -0.328137 -0.225303 0.917369 +v -0.377646 -0.226084 -0.897925 +v 0.884839 -0.226865 0.406930 +v -0.927157 -0.227645 0.297587 +v 0.482549 -0.228426 -0.845558 +v 0.215309 -0.229207 0.949266 +v -0.799831 -0.229988 -0.554415 +v 0.964089 -0.230769 -0.131444 +v -0.621981 -0.231550 0.748013 +v -0.046637 -0.232331 -0.971518 +v 0.690507 -0.233112 0.684733 +v -0.971501 -0.233893 -0.038462 +v 0.742192 -0.234674 -0.627757 +v -0.123202 -0.235455 0.964045 +v -0.560249 -0.236236 -0.793923 +v 0.949212 -0.237017 0.206931 +v -0.839534 -0.237798 0.488502 +v 0.289011 -0.238579 -0.927121 +v 0.413072 -0.239360 0.878680 +v -0.897948 -0.240141 -0.368812 +v 0.911066 -0.240922 -0.334538 +v -0.445725 -0.241702 0.861922 +v -0.253505 -0.242483 -0.936449 +v 0.819324 -0.243264 0.519164 +v -0.954641 -0.244045 0.170595 +v 0.588567 -0.244826 -0.770486 +v 0.086447 -0.245607 0.965507 +v -0.715787 -0.246388 -0.653407 +v 0.968971 -0.247169 -0.001705 +v -0.713190 -0.247950 0.655653 +v 0.082980 -0.248731 -0.965011 +v 0.590546 -0.249512 0.767463 +v -0.953665 -0.250293 -0.166960 +v 0.815813 -0.251074 -0.520972 +v -0.249591 -0.251855 0.935026 +v -0.447466 -0.252636 -0.857875 +v 0.909242 -0.253417 0.330242 +v -0.893332 -0.254198 0.370596 +v 0.408295 -0.254979 -0.876517 +v 0.290952 -0.255759 0.921919 +v -0.837107 -0.256540 -0.483155 +v 0.943421 -0.257321 -0.209149 +v -0.554251 -0.258102 0.791321 +v -0.125815 -0.258883 -0.957680 +v 0.739515 -0.259664 0.621042 +v -0.964592 -0.260445 0.041589 +v 0.683018 -0.261226 -0.682090 +v -0.042882 -0.262007 0.964113 +v -0.619493 -0.262788 -0.739710 +v 0.956251 -0.263569 0.126950 +v -0.790687 -0.264350 0.552207 +v 0.209971 -0.265131 -0.941073 +v 0.480752 -0.265912 0.835565 +v -0.918702 -0.266693 -0.291311 +v 0.874003 -0.267474 -0.405679 +v -0.370347 -0.268255 0.889316 +v -0.327568 -0.269036 -0.905715 +v 0.853146 -0.269816 0.446476 +v -0.930462 -0.270597 0.247018 +v 0.519116 -0.271378 -0.810476 +v 0.164651 -0.272159 0.948061 +v -0.761639 -0.272940 -0.587715 +v 0.958384 -0.273721 -0.081098 +v -0.651751 -0.274502 0.707015 +v 0.002998 -0.275283 -0.961359 +v 0.647027 -0.276064 0.710736 +v -0.956969 -0.276845 -0.086994 +v 0.764223 -0.277626 -0.582140 +v -0.170244 -0.278407 0.945255 +v -0.512857 -0.279188 -0.811808 +v 0.926313 -0.279969 0.252113 +v -0.853132 -0.280750 0.439711 +v 0.331973 -0.281531 -0.900297 +v 0.363268 -0.282312 0.887883 +v -0.867411 -0.283093 -0.409215 +v 0.915802 -0.283873 -0.284117 +v -0.483249 -0.284654 0.827914 +v -0.202866 -0.285435 -0.936681 +v 0.782116 -0.286216 0.553511 +v -0.950368 -0.286997 0.120141 +v 0.619466 -0.287778 -0.730374 +v 0.036576 -0.288559 0.956763 +v -0.673089 -0.289340 -0.680613 +v 0.955826 -0.290121 0.047186 +v -0.736487 -0.290902 0.610706 +v 0.130504 -0.291683 -0.947570 +v 0.543709 -0.292464 0.786667 +v -0.932067 -0.293245 -0.212740 +v 0.830773 -0.294026 -0.472616 +v -0.293265 -0.294807 0.909442 +v -0.397974 -0.295588 -0.868472 +v 0.879876 -0.296369 0.371463 +v -0.899484 -0.297150 0.320361 +v 0.446737 -0.297930 -0.843602 +v 0.240374 -0.298711 0.923576 +v -0.800905 -0.299492 -0.518513 +v 0.940571 -0.300273 -0.158627 +v -0.586245 -0.301054 0.752119 +v -0.075751 -0.301835 -0.950346 +v 0.697624 -0.302616 0.649418 +v -0.952834 -0.303397 -0.007620 +v 0.707552 -0.304178 -0.637844 +v -0.090845 -0.304959 0.948023 +v -0.573243 -0.305740 -0.760208 +v 0.935957 -0.306521 0.173288 +v -0.806987 -0.307302 0.504320 +v 0.254316 -0.308083 -0.916738 +v 0.431608 -0.308864 0.847536 +v -0.890519 -0.309645 -0.333311 +v 0.881553 -0.310426 -0.355668 +v -0.409669 -0.311207 0.857509 +v -0.277087 -0.311988 -0.908783 +v 0.817968 -0.312768 0.482808 +v -0.929025 -0.313549 0.196468 +v 0.552171 -0.314330 -0.772207 +v 0.114433 -0.315111 0.942131 +v -0.720582 -0.315892 -0.617230 +v 0.948008 -0.316673 -0.031611 +v -0.677492 -0.317454 0.663497 +v 0.051362 -0.318235 -0.946619 +v 0.601393 -0.319016 0.732499 +v -0.937984 -0.319797 -0.133850 +v 0.781837 -0.320578 -0.534753 +v -0.215221 -0.321359 0.922176 +v -0.464093 -0.322140 -0.825132 +v 0.899324 -0.322921 0.294853 +v -0.862061 -0.323702 0.389959 +v 0.372138 -0.324483 -0.869612 +v 0.312922 -0.325264 0.892347 +v -0.833274 -0.326045 -0.446486 +v 0.915766 -0.326825 -0.233577 +v -0.517330 -0.327606 0.790597 +v -0.152534 -0.328387 -0.932146 +v 0.741915 -0.329168 0.584132 +v -0.941369 -0.329949 0.070415 +v 0.646384 -0.330730 -0.687608 +v -0.012147 -0.331511 0.943373 +v -0.628100 -0.332292 -0.703614 +v 0.938152 -0.333073 0.094520 +v -0.755390 -0.333854 0.563851 +v 0.176074 -0.334635 -0.925752 +v 0.495360 -0.335416 0.801321 +v -0.906279 -0.336197 -0.256183 +v 0.841062 -0.336978 -0.423156 +v -0.334235 -0.337759 0.879890 +v -0.347798 -0.338540 -0.874315 +v 0.846794 -0.339321 0.409636 +v -0.900834 -0.340102 0.269867 +v 0.481810 -0.340882 -0.807254 +v 0.189963 -0.341663 0.920424 +v -0.761580 -0.342444 -0.550207 +v 0.932942 -0.343225 -0.108701 +v -0.614309 -0.344006 0.710130 +v -0.026706 -0.344787 -0.938301 +v 0.653305 -0.345568 0.673628 +v -0.936469 -0.346349 -0.055394 +v 0.727717 -0.347130 -0.591548 +v -0.136969 -0.347911 0.927468 +v -0.525336 -0.348692 -0.776167 +v 0.911377 -0.349473 0.217394 +v -0.818614 -0.350254 0.455185 +v 0.296055 -0.351035 -0.888328 +v 0.381635 -0.351816 0.854740 +v -0.858505 -0.352597 -0.372351 +v 0.884276 -0.353378 -0.305256 +v -0.445699 -0.354159 0.822146 +v -0.226635 -0.354939 -0.907003 +v 0.779538 -0.355720 0.515542 +v -0.922757 -0.356501 0.146379 +v 0.581349 -0.357282 -0.731015 +v 0.065104 -0.358063 0.931425 +v -0.676957 -0.358844 -0.642620 +v 0.932950 -0.359625 0.016565 +v -0.698892 -0.360406 0.617784 +v 0.098002 -0.361187 -0.927329 +v 0.553958 -0.361968 0.749740 +v -0.914615 -0.362749 -0.178583 +v 0.794780 -0.363530 -0.485974 +v -0.257691 -0.364311 0.894915 +v -0.414357 -0.365092 -0.833677 +v 0.868388 -0.365873 0.334723 +v -0.866138 -0.366654 0.339661 +v 0.409090 -0.367435 -0.835247 +v 0.262464 -0.368216 0.891925 +v -0.795754 -0.368996 -0.480226 +v 0.910848 -0.369777 -0.183359 +v -0.547590 -0.370558 0.750221 +v -0.102956 -0.371339 -0.922771 +v 0.699004 -0.372120 0.610671 +v -0.927613 -0.372901 0.021873 +v 0.668991 -0.373682 -0.642505 +v -0.059267 -0.374463 0.925346 +v -0.581162 -0.375244 -0.722110 +v 0.915996 -0.376025 0.139844 +v -0.769627 -0.376806 0.515453 +v 0.219240 -0.377587 -0.899646 +v 0.445888 -0.378368 0.811186 +v -0.876429 -0.379149 -0.296848 +v 0.846476 -0.379930 -0.373004 +v -0.372075 -0.380711 0.846534 +v -0.297365 -0.381492 -0.875236 +v 0.810198 -0.382273 0.444350 +v -0.897255 -0.383053 0.219555 +v 0.513120 -0.383834 -0.767710 +v 0.140172 -0.384615 0.912372 +v -0.719403 -0.385396 -0.577866 +v 0.920482 -0.386177 -0.059828 +v -0.638095 -0.386958 0.665656 +v 0.020860 -0.387739 -0.921533 +v 0.606889 -0.388520 0.693353 +v -0.915526 -0.389301 -0.101273 +v 0.743223 -0.390082 -0.543558 +v -0.180796 -0.390863 0.902518 +v -0.476157 -0.391644 -0.787331 +v 0.882618 -0.392425 0.258820 +v -0.825346 -0.393206 0.405207 +v 0.334749 -0.393987 -0.855989 +v 0.331258 -0.394768 0.856987 +v -0.822845 -0.395549 -0.408005 +v 0.882020 -0.396330 -0.254880 +v -0.478029 -0.397111 0.783448 +v -0.176663 -0.397891 -0.900263 +v 0.738111 -0.398672 0.544290 +v -0.911585 -0.399453 0.097208 +v 0.606286 -0.400234 -0.687190 +v 0.017127 -0.401015 0.915911 +v -0.631082 -0.401796 -0.663547 +v 0.913218 -0.402577 0.062965 +v -0.715642 -0.403358 0.570227 +v 0.142456 -0.404139 -0.903536 +v 0.505097 -0.404920 0.762179 +v -0.886951 -0.405701 -0.220736 +v 0.802810 -0.406482 -0.436198 +v -0.297207 -0.407263 0.863600 +v -0.364064 -0.408044 -0.837232 +v 0.833672 -0.408825 0.371285 +v -0.865192 -0.409606 0.289252 +v 0.442408 -0.410387 -0.797407 +v 0.212341 -0.411168 0.886483 +v -0.755092 -0.411948 -0.510034 +v 0.900955 -0.412729 -0.133923 +v -0.573649 -0.413510 0.707061 +v -0.054601 -0.414291 -0.908505 +v 0.653691 -0.415072 0.632774 +v -0.909088 -0.415853 -0.025016 +v 0.686961 -0.416634 -0.595400 +v -0.104315 -0.417415 0.902709 +v -0.532642 -0.418196 -0.735802 +v 0.889428 -0.418977 0.182691 +v -0.778933 -0.419758 0.465904 +v 0.259544 -0.420539 -0.869358 +v 0.395705 -0.421320 0.816031 +v -0.842664 -0.422101 -0.334287 +v 0.846822 -0.422882 -0.322589 +v -0.406350 -0.423663 0.809561 +v -0.247121 -0.424444 -0.871079 +v 0.770313 -0.425225 0.475187 +v -0.888628 -0.426005 0.169882 +v 0.540273 -0.426786 -0.725230 +v 0.091468 -0.427567 0.899344 +v -0.674668 -0.428348 -0.601117 +v 0.903157 -0.429129 -0.012482 +v -0.657258 -0.429910 0.619023 +v 0.066470 -0.430691 -0.900048 +v 0.558730 -0.431472 0.708275 +v -0.890053 -0.432253 -0.144783 +v 0.753784 -0.433034 -0.494258 +v -0.221858 -0.433815 0.873260 +v -0.426110 -0.434596 -0.793446 +v 0.849809 -0.435377 0.297105 +v -0.826967 -0.436158 0.354813 +v 0.369951 -0.436939 -0.819891 +v 0.280919 -0.437720 0.854100 +v -0.783745 -0.438501 -0.439842 +v 0.874647 -0.439282 -0.204999 +v -0.506247 -0.440062 0.741660 +v -0.127639 -0.440843 -0.888462 +v 0.693968 -0.441624 0.568662 +v -0.895452 -0.442405 0.049433 +v 0.626617 -0.443186 -0.641044 +v -0.029016 -0.443967 0.895573 +v -0.583303 -0.444748 -0.679674 +v 0.888837 -0.445529 0.107109 +v -0.727436 -0.446310 0.521196 +v 0.184245 -0.447091 -0.875308 +v 0.455206 -0.447872 0.769544 +v -0.855100 -0.448653 -0.259837 +v 0.805687 -0.449434 -0.385846 +v -0.333306 -0.450215 0.828380 +v -0.313654 -0.450996 -0.835598 +v 0.795365 -0.451777 0.404094 +v -0.859058 -0.452558 0.239189 +v 0.471663 -0.453339 -0.756319 +v 0.163024 -0.454119 0.875899 +v -0.711551 -0.454900 -0.535500 +v 0.886003 -0.455681 -0.085746 +v -0.595123 -0.456462 0.661416 +v -0.007952 -0.457243 -0.889306 +v 0.606307 -0.458024 0.650082 +v -0.885794 -0.458805 -0.069764 +v 0.699964 -0.459586 -0.546655 +v -0.146804 -0.460367 0.875506 +v -0.482926 -0.461148 -0.744396 +v 0.858533 -0.461929 0.222580 +v -0.783047 -0.462710 0.415616 +v 0.296513 -0.463491 -0.835019 +v 0.345248 -0.464272 0.815632 +v -0.805154 -0.465053 -0.368040 +v 0.841912 -0.465834 -0.272366 +v -0.436616 -0.466615 0.769180 +v -0.197535 -0.467396 -0.861697 +v 0.727383 -0.468176 0.501721 +v -0.874847 -0.468957 0.121330 +v 0.562863 -0.469738 -0.680096 +v 0.044340 -0.470519 0.881275 +v -0.627691 -0.471300 -0.619581 +v 0.880943 -0.472081 0.032845 +v -0.671448 -0.472862 0.570578 +v 0.109632 -0.473643 -0.873867 +v 0.509206 -0.474424 0.718075 +v -0.860113 -0.475205 -0.185433 +v 0.759115 -0.475986 -0.444052 +v -0.259670 -0.476767 0.839801 +v -0.375623 -0.477548 -0.794264 +v 0.813097 -0.478329 0.331775 +v -0.823264 -0.479110 0.304451 +v 0.401200 -0.479891 -0.780220 +v 0.231086 -0.480672 0.845904 +v -0.741433 -0.481453 -0.467419 +v 0.862024 -0.482234 -0.156094 +v -0.529929 -0.483014 0.697045 +v -0.080055 -0.483795 -0.871512 +v 0.647408 -0.484576 0.588259 +v -0.874309 -0.485357 0.003552 +v 0.641970 -0.486138 -0.592912 +v -0.072826 -0.486919 0.870406 +v -0.533984 -0.487700 -0.690659 +v 0.859846 -0.488481 0.148495 +v -0.733962 -0.489262 0.471086 +v 0.222875 -0.490043 -0.842725 +v 0.404707 -0.490824 0.771559 +v -0.819185 -0.491605 -0.295399 +v 0.803173 -0.492386 -0.335364 +v -0.365514 -0.493167 0.789421 +v -0.263593 -0.493948 -0.828574 +v 0.753674 -0.494729 0.432689 +v -0.847578 -0.495510 0.189951 +v 0.496413 -0.496291 -0.712229 +v 0.115005 -0.497071 0.860055 +v -0.665416 -0.497852 -0.556205 +v 0.865920 -0.498633 -0.039333 +v -0.611616 -0.499414 0.613605 +v 0.036483 -0.500195 -0.865144 +v 0.557204 -0.500976 0.662229 +v -0.857745 -0.501757 -0.111862 +v 0.707665 -0.502538 -0.496654 +v -0.186227 -0.503319 0.843795 +v -0.432429 -0.504100 -0.747589 +v 0.823413 -0.504881 0.259010 +v -0.781704 -0.505662 0.365028 +v 0.329656 -0.506443 -0.796770 +v 0.294975 -0.507224 0.809761 +v -0.764083 -0.508005 -0.397628 +v 0.831560 -0.508786 -0.222813 +v -0.462410 -0.509567 0.725617 +v -0.149100 -0.510348 -0.846944 +v 0.681677 -0.511128 0.523512 +v -0.855811 -0.511909 0.074404 +v 0.580474 -0.512690 -0.632612 +v -0.000700 -0.513471 0.858106 +v -0.578811 -0.514252 -0.632869 +v 0.853827 -0.515033 0.075635 +v -0.680303 -0.515814 0.520695 +v 0.149827 -0.516595 -0.843019 +v 0.458720 -0.517376 0.722425 +v -0.825781 -0.518157 -0.222709 +v 0.758923 -0.518938 -0.393370 +v -0.293725 -0.519719 0.802258 +v -0.325153 -0.520500 -0.789529 +v 0.772645 -0.521281 0.362334 +v -0.814022 -0.522062 0.254598 +v 0.428016 -0.522843 -0.737182 +v 0.182251 -0.523624 0.832228 +v -0.696155 -0.524405 -0.490273 +v 0.844020 -0.525185 -0.108673 +v -0.548636 -0.525966 0.649891 +v -0.034428 -0.526747 -0.849324 +v 0.598755 -0.527528 0.602666 +v -0.848113 -0.528309 -0.039911 +v 0.651958 -0.529090 -0.543152 +v -0.113774 -0.529871 0.840412 +v -0.483518 -0.530652 -0.696146 +v 0.826293 -0.531433 0.186597 +v -0.734901 -0.532214 0.420319 +v 0.257822 -0.532995 -0.805881 +v 0.354048 -0.533776 0.767941 +v -0.779346 -0.534557 -0.326909 +v 0.795023 -0.535338 -0.285221 +v -0.393330 -0.536119 0.746906 +v -0.214372 -0.536900 -0.815956 +v 0.708823 -0.537681 0.456585 +v -0.830591 -0.538462 0.142047 +v 0.516194 -0.539242 -0.665403 +v 0.068807 -0.540023 0.838833 +v -0.616991 -0.540804 -0.571710 +v 0.840632 -0.541585 0.004787 +v -0.622716 -0.542366 0.563971 +v 0.078167 -0.543147 -0.835991 +v 0.506760 -0.543928 0.668832 +v -0.824960 -0.544709 -0.150773 +v 0.709716 -0.545490 -0.445807 +v -0.222049 -0.546271 0.807640 +v -0.381589 -0.547052 -0.745067 +v 0.784178 -0.547833 0.291452 +v -0.774627 -0.548614 0.314605 +v 0.358453 -0.549395 -0.754769 +v 0.245376 -0.550176 0.798184 +v -0.719654 -0.550957 -0.422546 +v 0.815571 -0.551738 -0.174439 +v -0.483245 -0.552519 0.679115 +v -0.102342 -0.553299 -0.826672 +v 0.633477 -0.554080 0.540094 +v -0.831415 -0.554861 0.029641 +v 0.592666 -0.555642 -0.583103 +v -0.043106 -0.556423 0.829780 +v -0.528390 -0.557204 -0.640568 +v 0.821796 -0.557985 0.115339 +v -0.683444 -0.558766 0.469770 +v 0.186507 -0.559547 -0.807541 +v 0.407702 -0.560328 0.720980 +v -0.787139 -0.561109 -0.256066 +v 0.752899 -0.561890 -0.342670 +v -0.323486 -0.562671 0.760762 +v -0.275181 -0.563452 -0.778972 +v 0.728628 -0.564233 0.388257 +v -0.799014 -0.565014 0.205759 +v 0.449887 -0.565795 -0.690998 +v 0.134941 -0.566576 0.812886 +v -0.648175 -0.567357 -0.507913 +v 0.820497 -0.568137 -0.063275 +v -0.561899 -0.568918 0.600501 +v 0.008689 -0.569699 -0.821807 +v 0.548354 -0.570480 0.611441 +v -0.816821 -0.571261 -0.080396 +v 0.656170 -0.572042 -0.492147 +v -0.151298 -0.572823 0.805594 +v -0.432320 -0.573604 -0.695757 +v 0.788229 -0.574385 0.220854 +v -0.729911 -0.575166 0.369343 +v 0.288532 -0.575947 -0.764875 +v 0.303707 -0.576728 0.758385 +v -0.735728 -0.577509 -0.353819 +v 0.780975 -0.578290 -0.235922 +v -0.416221 -0.579071 0.701026 +v -0.166515 -0.579852 -0.797524 +v 0.661051 -0.580633 0.475266 +v -0.807922 -0.581414 0.096021 +v 0.530511 -0.582194 -0.616123 +v 0.024986 -0.582975 0.812106 +v -0.566602 -0.583756 -0.581542 +v 0.810059 -0.584537 0.046045 +v -0.627979 -0.585318 0.512879 +v 0.116526 -0.586099 -0.801816 +v 0.455378 -0.586880 0.669479 +v -0.787457 -0.587661 -0.185919 +v 0.705737 -0.588442 -0.394551 +v -0.253695 -0.589223 0.767108 +v -0.330874 -0.590004 -0.736490 +v 0.740944 -0.590785 0.319336 +v -0.761517 -0.591566 0.264843 +v 0.382347 -0.592347 -0.709180 +v 0.196972 -0.593128 0.780642 +v -0.672076 -0.593909 -0.442251 +v 0.793735 -0.594690 -0.127787 +v -0.498598 -0.595471 0.629933 +v -0.057821 -0.596251 -0.800713 +v 0.583087 -0.597032 0.550964 +v -0.801540 -0.597813 -0.012385 +v 0.598961 -0.598594 -0.531913 +v -0.082293 -0.599375 0.796227 +v -0.476814 -0.600156 -0.642231 +v 0.784833 -0.600937 0.151367 +v -0.680457 -0.601718 0.418226 +v 0.219079 -0.602499 -0.767463 +v 0.356608 -0.603280 0.713361 +v -0.744268 -0.604061 -0.284913 +v 0.740705 -0.604842 -0.292442 +v -0.348371 -0.605623 0.715443 +v -0.226227 -0.606404 -0.762296 +v 0.681226 -0.607185 0.408972 +v -0.777986 -0.607966 0.158479 +v 0.466260 -0.608747 -0.641895 +v 0.089720 -0.609528 0.787672 +v -0.597768 -0.610308 -0.519805 +v 0.791297 -0.611089 -0.020483 +v -0.569207 -0.611870 0.549197 +v 0.048701 -0.612651 -0.788851 +v 0.496570 -0.613432 0.614100 +v -0.780374 -0.614213 -0.117300 +v 0.654153 -0.614994 -0.440302 +v -0.184790 -0.615775 0.765946 +v -0.380835 -0.616556 -0.689074 +v 0.745699 -0.617337 0.250656 +v -0.718610 -0.618118 0.318638 +v 0.314398 -0.618899 -0.719804 +v 0.254194 -0.619680 0.742551 +v -0.688479 -0.620461 -0.375533 +v 0.760732 -0.621242 -0.188006 +v -0.433600 -0.622023 0.651981 +v -0.120587 -0.622804 -0.773029 +v 0.610605 -0.623585 0.488164 +v -0.779369 -0.624365 0.052459 +v 0.538815 -0.625146 -0.564686 +v -0.015853 -0.625927 0.779720 +v -0.514590 -0.626708 -0.585179 +v 0.774100 -0.627489 0.083825 +v -0.626912 -0.628270 0.460714 +v 0.150935 -0.629051 -0.762570 +v 0.403485 -0.629832 0.663710 +v -0.745239 -0.630613 -0.216672 +v 0.695306 -0.631394 -0.343353 +v -0.280535 -0.632175 0.722257 +v -0.280789 -0.632956 -0.721474 +v 0.693820 -0.633737 0.342040 +v -0.742031 -0.634518 0.216280 +v 0.400722 -0.635299 -0.660164 +v 0.150329 -0.636080 0.756838 +v -0.621565 -0.636861 -0.456142 +v 0.765800 -0.637642 -0.083447 +v -0.507883 -0.638422 0.578335 +v -0.016149 -0.639203 -0.768868 +v 0.530822 -0.639984 0.555561 +v -0.766038 -0.640765 -0.051045 +v 0.598824 -0.641546 -0.479405 +v -0.117620 -0.642327 0.757351 +v -0.424491 -0.643108 -0.637354 +v 0.742895 -0.643889 0.183068 +v -0.670871 -0.644670 0.366514 +v 0.246890 -0.645451 -0.722799 +v 0.305930 -0.646232 0.699136 +v -0.697238 -0.647013 -0.308600 +v 0.721949 -0.647794 -0.243213 +v -0.367733 -0.648575 0.666425 +v -0.178852 -0.649356 -0.739154 +v 0.630617 -0.650137 0.423844 +v -0.750639 -0.650918 0.113347 +v 0.476512 -0.651699 -0.590106 +v 0.047204 -0.652480 0.756335 +v -0.545219 -0.653260 -0.525345 +v 0.756218 -0.654041 0.019066 +v -0.569981 -0.654822 0.496316 +v 0.084954 -0.655603 -0.750311 +v 0.443787 -0.656384 0.610093 +v -0.738680 -0.657165 -0.149955 +v 0.645388 -0.657946 -0.388048 +v -0.213573 -0.658727 0.721433 +v -0.329539 -0.659508 -0.675613 +v 0.698724 -0.660289 0.275324 +v -0.700554 -0.661070 0.268719 +v 0.334742 -0.661851 -0.670747 +v 0.206065 -0.662632 0.720039 +v -0.637736 -0.663413 -0.391378 +v 0.733938 -0.664194 -0.142062 +v -0.444808 -0.664975 0.599962 +v -0.077210 -0.665756 -0.742165 +v 0.557735 -0.666537 0.494632 +v -0.744677 -0.667317 0.012007 +v 0.540482 -0.668098 -0.511394 +v -0.053043 -0.668879 0.741476 +v -0.461311 -0.669660 -0.582020 +v 0.732609 -0.670441 0.117441 +v -0.618943 -0.671222 0.407885 +v 0.180695 -0.672003 -0.718165 +v 0.351538 -0.672784 0.650986 +v -0.698276 -0.673565 -0.242323 +v 0.677920 -0.674346 -0.292715 +v -0.301859 -0.675127 0.673116 +v -0.231876 -0.675908 -0.699558 +v 0.642897 -0.676689 0.358853 +v -0.715755 -0.677470 0.169498 +v 0.412876 -0.678251 -0.607873 +v 0.106066 -0.679032 0.726406 +v -0.568330 -0.679813 -0.463526 +v 0.731452 -0.680594 -0.042070 +v -0.510426 -0.681374 0.524589 +v 0.021995 -0.682155 -0.730876 +v 0.477005 -0.682936 0.553231 +v -0.724705 -0.683717 -0.085637 +v 0.591627 -0.684498 -0.425957 +v -0.148368 -0.685279 0.713007 +v -0.371851 -0.686060 -0.625338 +v 0.695896 -0.686841 0.209710 +v -0.654124 -0.687622 0.315116 +v 0.269198 -0.688403 -0.673524 +v 0.256198 -0.689184 0.677782 +v -0.646084 -0.689965 -0.326380 +v 0.696151 -0.690746 -0.195559 +v -0.380828 -0.691527 0.613808 +v -0.133672 -0.692308 -0.709113 +v 0.576964 -0.693089 0.432135 +v -0.716590 -0.693870 0.071017 +v 0.479917 -0.694651 -0.535854 +v 0.008080 -0.695431 0.718547 +v -0.490812 -0.696212 -0.523824 +v 0.714992 -0.696993 0.054655 +v -0.563534 -0.697774 0.442200 +v 0.116706 -0.698555 -0.705975 +v 0.390407 -0.699336 0.598758 +v -0.691588 -0.700117 -0.177600 +v 0.629246 -0.700898 -0.335844 +v -0.236872 -0.701679 0.671966 +v -0.278943 -0.702460 -0.654783 +v 0.647281 -0.703241 0.294075 +v -0.675194 -0.704022 0.220151 +v 0.348776 -0.704803 -0.617744 +v 0.159928 -0.705584 0.690344 +v -0.583605 -0.706365 -0.400568 +v 0.700139 -0.707146 -0.098744 +v -0.449063 -0.707927 0.545145 +v -0.037074 -0.708708 -0.704528 +v 0.502678 -0.709488 0.493903 +v -0.703500 -0.710269 -0.024607 +v 0.534761 -0.711050 -0.456551 +v -0.085824 -0.711831 0.697087 +v -0.407132 -0.712612 -0.571338 +v 0.685363 -0.713393 0.146108 +v -0.603374 -0.714174 0.354817 +v 0.204999 -0.714955 -0.668442 +v 0.300022 -0.715736 0.630641 +v -0.646477 -0.716517 -0.262052 +v 0.652953 -0.717298 -0.243179 +v -0.316835 -0.718079 0.619660 +v -0.184735 -0.718860 -0.670159 +v 0.588219 -0.719641 0.368938 +v -0.682152 -0.720422 0.125147 +v 0.417972 -0.721203 -0.552418 +v 0.064877 -0.721984 0.688862 +v -0.512553 -0.722765 -0.463574 +v 0.690263 -0.723545 -0.004394 +v -0.505409 -0.724326 0.468949 +v 0.055836 -0.725107 -0.686368 +v 0.421958 -0.725888 0.543173 +v -0.677234 -0.726669 -0.115352 +v 0.576595 -0.727450 -0.371960 +v -0.173698 -0.728231 0.662954 +v -0.319352 -0.729012 -0.605438 +v 0.643664 -0.729793 0.230432 +v -0.629503 -0.730574 0.264552 +v 0.285124 -0.731355 -0.619536 +v 0.207993 -0.732136 0.648626 +v -0.590779 -0.732917 -0.337363 +v 0.662685 -0.733698 -0.150118 +v -0.386759 -0.734479 0.557636 +v -0.091380 -0.735260 -0.671597 +v 0.520386 -0.736041 0.432946 +v -0.675318 -0.736822 0.032234 +v 0.475585 -0.737602 -0.479335 +v -0.026862 -0.738383 0.673846 +v -0.434817 -0.739164 -0.514364 +v 0.667217 -0.739945 0.085452 +v -0.549005 -0.740726 0.387193 +v 0.143090 -0.741507 -0.655509 +v 0.336846 -0.742288 0.579261 +v -0.638838 -0.743069 -0.199335 +v 0.604922 -0.743850 -0.284176 +v -0.253762 -0.744631 0.617357 +v -0.229602 -0.745412 -0.625815 +v 0.591257 -0.746193 0.305960 +v -0.641802 -0.746974 0.173554 +v 0.355540 -0.747755 -0.560762 +v 0.116470 -0.748536 0.652786 +v -0.526131 -0.749317 -0.402133 +v 0.658708 -0.750098 -0.058797 +v -0.445396 -0.750879 0.487651 +v -0.000981 -0.751660 -0.659551 +v 0.445641 -0.752440 0.485013 +v -0.655333 -0.753221 -0.056531 +v 0.520699 -0.754002 -0.400441 +v -0.113298 -0.754783 0.646116 +v -0.352419 -0.755564 -0.552199 +v 0.631996 -0.756345 0.168886 +v -0.579294 -0.757126 0.301958 +v 0.222874 -0.757907 -0.613110 +v 0.249462 -0.758688 0.601798 +v -0.589629 -0.759469 -0.274853 +v 0.619564 -0.760250 -0.195346 +v -0.324436 -0.761031 0.561759 +v -0.140036 -0.761812 -0.632481 +v 0.529740 -0.762593 0.371251 +v -0.640477 -0.763374 0.083965 +v 0.414955 -0.764155 -0.493842 +v 0.027570 -0.764936 0.643516 +v -0.454363 -0.765717 -0.455228 +v 0.641605 -0.766497 0.028712 +v -0.491779 -0.767278 0.411628 +v 0.084448 -0.768059 -0.634786 +v 0.365985 -0.768840 0.524346 +v -0.623140 -0.769621 -0.139212 +v 0.552703 -0.770402 -0.317804 +v -0.192587 -0.771183 0.606784 +v -0.267471 -0.771964 -0.576655 +v 0.585873 -0.772745 0.244168 +v -0.596042 -0.773526 0.215386 +v 0.293569 -0.774307 -0.560594 +v 0.161962 -0.775088 0.610743 +v -0.531169 -0.775869 -0.340422 +v 0.620672 -0.776650 -0.107619 +v -0.384379 -0.777431 0.497850 +v -0.052782 -0.778212 -0.625780 +v 0.460916 -0.778993 0.425120 +v -0.626058 -0.779774 -0.002123 +v 0.462349 -0.780554 -0.420675 +v -0.056671 -0.781335 0.621533 +v -0.377459 -0.782116 -0.495801 +v 0.612269 -0.782897 0.110444 +v -0.525240 -0.783678 0.331619 +v 0.163031 -0.784459 -0.598368 +v 0.283525 -0.785240 0.550465 +v -0.579966 -0.786021 -0.214034 +v 0.571306 -0.786802 -0.233563 +v -0.263068 -0.787583 0.557232 +v -0.182131 -0.788364 -0.587631 +v 0.530372 -0.789145 0.309768 +v -0.599343 -0.789926 0.129635 +v 0.353787 -0.790707 -0.499617 +v 0.076488 -0.791488 0.606380 +v -0.465232 -0.792269 -0.394803 +v 0.608719 -0.793050 -0.023105 +v -0.432519 -0.793831 0.427505 +v 0.030100 -0.794611 -0.606372 +v 0.386750 -0.795392 0.466664 +v -0.599388 -0.796173 -0.082717 +v 0.496998 -0.796954 -0.343303 +v -0.134343 -0.797735 0.587852 +v -0.297517 -0.798516 -0.523312 +v 0.571885 -0.799297 0.184586 +v -0.545430 -0.800078 0.249762 +v 0.233066 -0.800859 -0.551639 +v 0.200421 -0.801640 0.563209 +v -0.527300 -0.802421 -0.279420 +v 0.576542 -0.803202 -0.149886 +v -0.323305 -0.803983 0.499085 +v -0.098557 -0.804764 -0.585356 +v 0.467239 -0.805545 0.364397 +v -0.589615 -0.806326 0.046836 +v 0.402400 -0.807107 -0.432034 +v -0.004873 -0.807888 0.589317 +v -0.393767 -0.808668 -0.437039 +v 0.584497 -0.809449 0.056171 +v -0.468071 -0.810230 0.352755 +v 0.106662 -0.811011 -0.575225 +v 0.309336 -0.811792 0.495283 +v -0.561605 -0.812573 -0.155962 +v 0.518489 -0.813354 -0.263863 +v -0.203697 -0.814135 0.543775 +v -0.216705 -0.814916 -0.537542 +v 0.521903 -0.815697 0.249510 +v -0.552322 -0.816478 0.168238 +v 0.293059 -0.817259 -0.496190 +v 0.118849 -0.818040 0.562748 +v -0.466862 -0.818821 -0.334024 +v 0.568772 -0.819602 -0.068927 +v -0.372107 -0.820383 0.434176 +v -0.018864 -0.821164 -0.570381 +v 0.398409 -0.821945 0.407035 +v -0.567596 -0.822725 -0.030951 +v 0.438560 -0.823506 -0.359865 +v -0.080134 -0.824287 0.560472 +v -0.318862 -0.825068 -0.466465 +v 0.549099 -0.825849 0.128308 +v -0.490561 -0.826630 0.275739 +v 0.175107 -0.827411 -0.533599 +v 0.230848 -0.828192 0.510693 +v -0.514126 -0.828973 -0.220178 +v 0.526735 -0.829754 -0.184551 +v -0.263186 -0.830535 0.490861 +v -0.137219 -0.831316 -0.538595 +v 0.464018 -0.832097 0.303812 +v -0.546217 -0.832878 0.089229 +v 0.341762 -0.833659 -0.433834 +v 0.040959 -0.834440 0.549575 +v -0.400572 -0.835221 -0.376761 +v 0.548680 -0.836002 0.007214 +v -0.408563 -0.836783 0.364515 +v 0.054915 -0.837563 -0.543573 +v 0.325969 -0.838344 0.436948 +v -0.534331 -0.839125 -0.101778 +v 0.461723 -0.839906 -0.285254 +v -0.147444 -0.840687 0.521062 +v -0.242706 -0.841468 -0.482727 +v 0.503902 -0.842249 0.191569 +v -0.499830 -0.843030 0.198672 +v 0.233823 -0.843811 -0.483021 +v 0.153510 -0.844592 0.512932 +v -0.458614 -0.845373 -0.273893 +v 0.521968 -0.846154 -0.107579 +v -0.311486 -0.846935 0.430903 +v -0.061247 -0.847716 -0.526903 +v 0.400134 -0.848497 0.346332 +v -0.527737 -0.849278 0.014877 +v 0.378184 -0.850059 -0.366575 +v -0.031168 -0.850840 0.524500 +v -0.330514 -0.851620 -0.406821 +v 0.517257 -0.852401 0.076532 +v -0.432050 -0.853182 0.292255 +v 0.120868 -0.853963 -0.506101 +v 0.252118 -0.854744 0.453705 +v -0.491156 -0.855525 -0.163837 +v 0.471653 -0.856306 -0.210436 +v -0.205118 -0.857087 0.472576 +v -0.167548 -0.857868 -0.485788 +v 0.450542 -0.858649 0.244405 +v -0.496037 -0.859430 0.123803 +v 0.281409 -0.860211 -0.425260 +v 0.079550 -0.860992 0.502359 +v -0.396960 -0.861773 -0.315864 +v 0.504744 -0.862554 -0.035142 +v -0.347525 -0.863335 0.365895 +v 0.009072 -0.864116 -0.503212 +v 0.332336 -0.864897 0.376174 +v -0.497816 -0.865677 -0.052747 +v 0.401615 -0.866458 -0.296572 +v -0.095547 -0.867239 0.488638 +v -0.258906 -0.868020 -0.423684 +v 0.475790 -0.868801 0.137144 +v -0.442243 -0.869582 0.219655 +v 0.177225 -0.870363 -0.459412 +v 0.179143 -0.871144 0.457182 +v -0.439670 -0.871925 -0.215492 +v 0.468425 -0.872706 -0.137703 +v -0.251662 -0.873487 0.416758 +v -0.095671 -0.874268 -0.475923 +v 0.390889 -0.875049 0.285475 +v -0.479659 -0.875830 0.053385 +v 0.316690 -0.876611 -0.362300 +v 0.011180 -0.877392 0.479645 +v -0.331248 -0.878173 -0.345091 +v 0.475924 -0.878954 0.030612 +v -0.370486 -0.879734 0.298006 +v 0.071666 -0.880515 -0.468569 +v 0.262861 -0.881296 0.392710 +v -0.457679 -0.882077 -0.111666 +v 0.411624 -0.882858 -0.226113 +v -0.150309 -0.883639 0.443384 +v -0.188073 -0.884420 -0.427118 +v 0.425836 -0.885201 0.187305 +v -0.439110 -0.885982 0.149056 +v 0.222381 -0.886763 -0.405214 +v 0.109385 -0.887544 0.447550 +v -0.381719 -0.888325 -0.255283 +v 0.452413 -0.889106 -0.069380 +v -0.285777 -0.889887 0.355574 +v -0.029366 -0.890668 -0.453706 +v 0.327020 -0.891449 0.313651 +v -0.451464 -0.892230 -0.010342 +v 0.338717 -0.893011 -0.296315 +v -0.049430 -0.893791 0.445750 +v -0.263731 -0.894572 -0.360813 +v 0.436657 -0.895353 0.087596 +v -0.379801 -0.896134 0.229553 +v 0.124548 -0.896915 -0.424300 +v 0.194074 -0.897696 0.395571 +v -0.408824 -0.898477 -0.160006 +v 0.408042 -0.899258 -0.157596 +v -0.193708 -0.900039 0.390394 +v -0.120425 -0.900820 -0.417159 +v 0.369198 -0.901601 0.225408 +v -0.422895 -0.902382 0.082867 +v 0.254880 -0.903163 -0.345446 +v 0.045231 -0.903944 0.425253 +v -0.319365 -0.904725 -0.281920 +v 0.424262 -0.905506 -0.007818 +v -0.306346 -0.906287 0.291199 +v 0.029072 -0.907068 -0.419980 +v 0.261205 -0.907848 0.327999 +v -0.412490 -0.908629 -0.065150 +v 0.346745 -0.909410 -0.229653 +v -0.100137 -0.910191 0.401901 +v -0.196821 -0.910972 -0.362479 +v 0.388346 -0.911753 0.133767 +v -0.375118 -0.912534 0.162996 +v 0.165787 -0.913315 -0.371981 +v 0.128467 -0.914096 0.384610 +v -0.352985 -0.914877 -0.195964 +v 0.390926 -0.915658 -0.093527 +v -0.224081 -0.916439 0.331553 +v -0.058467 -0.917220 -0.394068 +v 0.307901 -0.918001 0.249943 +v -0.394061 -0.918782 0.023575 +v 0.273376 -0.919563 -0.282259 +v -0.010864 -0.920344 0.390960 +v -0.254872 -0.921125 -0.294228 +v 0.384842 -0.921906 0.044578 +v -0.312372 -0.922686 0.225994 +v 0.077299 -0.923467 -0.375810 +v 0.195891 -0.924248 0.327707 +v -0.363990 -0.925029 -0.108776 +v 0.340155 -0.925810 -0.164832 +v -0.138770 -0.926591 0.349531 +v -0.133094 -0.927372 -0.349667 +v 0.332601 -0.928153 0.167059 +v -0.356217 -0.928934 0.100952 +v 0.193438 -0.929715 -0.313387 +v 0.068684 -0.930496 0.359805 +v -0.292095 -0.931277 -0.217725 +v 0.360460 -0.932058 -0.036562 +v -0.239754 -0.932839 0.268942 +v -0.004853 -0.933620 -0.358233 +v 0.244162 -0.934401 0.259385 +v -0.353200 -0.935182 -0.026181 +v 0.276499 -0.935963 -0.217997 +v -0.056292 -0.936743 0.345460 +v -0.190698 -0.937524 -0.291002 +v 0.335137 -0.938305 0.085241 +v -0.302826 -0.939086 0.162522 +v 0.112805 -0.939867 -0.322374 +v 0.133732 -0.940648 0.311924 +v -0.307332 -0.941429 -0.138775 +v 0.318279 -0.942210 -0.104588 +v -0.162961 -0.942991 0.290192 +v -0.075353 -0.943772 -0.321895 +v 0.271152 -0.944553 0.185193 +v -0.322803 -0.945334 0.046285 +v 0.205319 -0.946115 -0.250422 +v 0.017636 -0.946896 0.321057 +v -0.228224 -0.947677 -0.223210 +v 0.316735 -0.948458 0.010348 +v -0.238759 -0.949239 0.204793 +v 0.037434 -0.950020 -0.309938 +v 0.180368 -0.950800 0.251885 +v -0.300788 -0.951581 -0.063399 +v 0.262527 -0.952362 -0.155195 +v -0.088033 -0.953143 0.289427 +v -0.129525 -0.953924 -0.270651 +v 0.276016 -0.954705 0.111145 +v -0.276246 -0.955486 0.103607 +v 0.132558 -0.956267 -0.260733 +v 0.077691 -0.957048 0.279326 +v -0.243772 -0.957829 -0.152115 +v 0.279930 -0.958610 -0.052022 +v -0.169681 -0.959391 0.225338 +v -0.026840 -0.960172 -0.278118 +v 0.205652 -0.960953 0.185141 +v -0.273976 -0.961734 0.002375 +v 0.198401 -0.962515 -0.184940 +v -0.021150 -0.963296 0.267608 +v -0.163438 -0.964077 -0.209391 +v 0.259144 -0.964857 0.043526 +v -0.218065 -0.965638 0.141386 +v 0.064557 -0.966419 -0.248729 +v 0.119027 -0.967200 0.224402 +v -0.236528 -0.967981 -0.084063 +v 0.228401 -0.968762 -0.096606 +v -0.101882 -0.969543 0.222725 +v -0.074367 -0.970324 -0.230089 +v 0.207514 -0.971105 0.117868 +v -0.229513 -0.971886 0.052548 +v 0.131896 -0.972667 -0.191109 +v 0.031384 -0.973448 0.226747 +v -0.173729 -0.974229 -0.143862 +v 0.221884 -0.975010 -0.011103 +v -0.153682 -0.975791 0.155609 +v 0.008076 -0.976572 -0.215041 +v 0.136989 -0.977353 0.161295 +v -0.206353 -0.978134 -0.025945 +v 0.166659 -0.978914 -0.118115 +v -0.042307 -0.979695 0.195977 +v -0.099239 -0.980476 -0.169757 +v 0.184087 -0.981257 0.056975 +v -0.170591 -0.982038 0.080619 +v 0.069777 -0.982819 -0.170873 +v 0.062513 -0.983600 0.169183 +v -0.156542 -0.984381 -0.080550 +v 0.165572 -0.985162 -0.045183 +v -0.089143 -0.985943 0.141315 +v -0.028894 -0.986724 -0.159815 +v 0.125425 -0.987505 0.095408 +v -0.151978 -0.988286 0.013919 +v 0.099201 -0.989067 -0.109115 +v 0.000539 -0.989848 0.142131 +v -0.092641 -0.990629 -0.100361 +v 0.130335 -0.991410 0.010941 +v -0.098698 -0.992191 0.076266 +v 0.020173 -0.992971 -0.116622 +v 0.060259 -0.993752 0.093941 +v -0.100941 -0.994533 -0.026725 +v 0.085640 -0.995314 -0.044891 +v -0.029971 -0.996095 0.083042 +v -0.030412 -0.996876 -0.072890 +v 0.062072 -0.997657 0.028761 +v -0.053244 -0.998438 0.016923 +v 0.019682 -0.999219 -0.034262 +v 0.000000 -1.000000 0.000000 diff --git a/test/user/user_model_test.cc b/test/user/user_model_test.cc index c247d492..5938d8e7 100644 --- a/test/user/user_model_test.cc +++ b/test/user/user_model_test.cc @@ -350,6 +350,57 @@ TEST_F(UserModelTest, ConvexHullForCollisionMeshes) { EXPECT_NE(model->mesh_graphadr[with_hull_conaffinity_id], -1); } +TEST_F(UserModelTest, MeshExtremaValidIndices) { + static constexpr char xml[] = R"( + + + + + + + + )"; + + std::array error; + MjModelPtr model = LoadModelFromString(xml, error.data(), error.size()); + ASSERT_THAT(model.get(), NotNull()) << error.data(); + + int mesh_id = mj_name2id(model.get(), mjOBJ_MESH, "test_mesh"); + EXPECT_NE(mesh_id, -1); + EXPECT_NE(model->mesh_graphadr[mesh_id], -1); + + const float* verts = model->mesh_vert + 3 * model->mesh_vertadr[mesh_id]; + const int* graph = model->mesh_graph + model->mesh_graphadr[mesh_id]; + const int* vert_globalid = graph + 2 + graph[0]; + + int k = 0; + for (int cx = -1; cx <= 1; cx++) { + for (int cy = -1; cy <= 1; cy++) { + for (int cz = -1; cz <= 1; cz++) { + int v_idx = model->mesh_extrema[mesh_id * 27 + k]; + EXPECT_GE(v_idx, 0); + EXPECT_LT(v_idx, graph[0]); + + int global_id = vert_globalid[v_idx]; + float max_dot = verts[3 * global_id + 0] * cx + + verts[3 * global_id + 1] * cy + + verts[3 * global_id + 2] * cz; + + // verify no other vertex yields a strictly greater dot product. + for (int i = 0; i < graph[0]; i++) { + int other_gid = vert_globalid[i]; + float dot = verts[3 * other_gid + 0] * cx + + verts[3 * other_gid + 1] * cy + + verts[3 * other_gid + 2] * cz; + EXPECT_LE(dot, max_dot); + } + k++; + } + } + } +} + TEST_F(UserModelTest, ConvexHullForPairCollisionMeshes) { static constexpr char xml[] = R"( diff --git a/unity/Runtime/Bindings/MjBindings.cs b/unity/Runtime/Bindings/MjBindings.cs index 677500fe..8a8d4e1b 100644 --- a/unity/Runtime/Bindings/MjBindings.cs +++ b/unity/Runtime/Bindings/MjBindings.cs @@ -1387,6 +1387,7 @@ public unsafe struct mjModel_ { public int* mesh_texcoordadr; public int* mesh_texcoordnum; public int* mesh_graphadr; + public int* mesh_extrema; public float* mesh_vert; public float* mesh_normal; public float* mesh_texcoord; diff --git a/wasm/codegen/generated/bindings.cc b/wasm/codegen/generated/bindings.cc index 2c103d22..58025338 100644 --- a/wasm/codegen/generated/bindings.cc +++ b/wasm/codegen/generated/bindings.cc @@ -5122,6 +5122,7 @@ EMSCRIPTEN_BINDINGS(mujoco_bindings) { .property("mat_texuniform", &MjModel::mat_texuniform) .property("mesh_bvhadr", &MjModel::mesh_bvhadr) .property("mesh_bvhnum", &MjModel::mesh_bvhnum) + .property("mesh_extrema", &MjModel::mesh_extrema) .property("mesh_face", &MjModel::mesh_face) .property("mesh_faceadr", &MjModel::mesh_faceadr) .property("mesh_facenormal", &MjModel::mesh_facenormal) diff --git a/wasm/codegen/generated/bindings.h b/wasm/codegen/generated/bindings.h index 9b235bd4..02ecfd13 100644 --- a/wasm/codegen/generated/bindings.h +++ b/wasm/codegen/generated/bindings.h @@ -5100,6 +5100,9 @@ struct MjModel { emscripten::val mesh_graphadr() const { return emscripten::val(emscripten::typed_memory_view(ptr_->nmesh, ptr_->mesh_graphadr)); } + emscripten::val mesh_extrema() const { + return emscripten::val(emscripten::typed_memory_view(ptr_->nmesh * 27, ptr_->mesh_extrema)); + } emscripten::val mesh_vert() const { return emscripten::val(emscripten::typed_memory_view(ptr_->nmeshvert * 3, ptr_->mesh_vert)); }