summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrodri <rgl@antares-labs.eu>2020-04-17 11:37:10 +0000
committerrodri <rgl@antares-labs.eu>2020-04-17 11:37:10 +0000
commite77a34629060abfad8e463efda0c3ffc54379793 (patch)
tree9151e47fab853248f95594e6ef48999a1ff6255f
parent263444216730830b712a4f8f3a087513c5ac93e9 (diff)
download3dee-e77a34629060abfad8e463efda0c3ffc54379793.tar.gz
3dee-e77a34629060abfad8e463efda0c3ffc54379793.tar.bz2
3dee-e77a34629060abfad8e463efda0c3ffc54379793.zip
roll everything back.
-rw-r--r--geometry.h110
-rw-r--r--graphics.h51
-rw-r--r--libgeometry/doc/libgeometry.ms429
-rw-r--r--libgeometry/doc/libgeometry.pdfbin35120 -> 0 bytes
-rw-r--r--libgeometry/doc/libgeometry.ps2799
-rw-r--r--libgeometry/doc/mkfile15
-rw-r--r--libgeometry/matrix.c348
-rw-r--r--libgeometry/mkfile13
-rw-r--r--libgeometry/point.c161
-rw-r--r--libgeometry/quaternion.c90
-rw-r--r--libgeometry/rframe.c51
-rw-r--r--libgeometry/triangle.c9
-rw-r--r--libgraphics/camera.c104
-rw-r--r--libgraphics/doc/libgraphics.ms34
-rw-r--r--libgraphics/doc/libgraphics.pdfbin15087 -> 0 bytes
-rw-r--r--libgraphics/doc/libgraphics.ps583
-rw-r--r--libgraphics/doc/mkfile15
-rw-r--r--libgraphics/mkfile11
-rw-r--r--libgraphics/render.c98
-rw-r--r--libobj/examples/box.obj30
-rw-r--r--libobj/examples/cube.obj16
-rw-r--r--libobj/examples/diamond.obj20
-rw-r--r--libobj/examples/lamp.obj8863
-rw-r--r--libobj/examples/negcube.obj33
-rw-r--r--libobj/examples/square.obj9
-rw-r--r--libobj/mkfile9
-rw-r--r--libobj/obj.2.man88
-rw-r--r--libobj/obj.c584
-rw-r--r--libobj/spec2
-rw-r--r--libobj/test/main.acid525
-rw-r--r--libobj/test/main.c35
-rw-r--r--libobj/test/mkfile21
-rw-r--r--main.acid554
-rw-r--r--main.c64
-rw-r--r--mkfile22
-rw-r--r--obj.h92
36 files changed, 517 insertions, 15371 deletions
diff --git a/geometry.h b/geometry.h
deleted file mode 100644
index 0e4f748..0000000
--- a/geometry.h
+++ /dev/null
@@ -1,110 +0,0 @@
-#define DEG 0.01745329251994330 /* π/180 */
-
-typedef struct Point2 Point2;
-typedef struct Point3 Point3;
-typedef double Matrix[3][3];
-typedef double Matrix3[4][4];
-typedef struct Quaternion Quaternion;
-typedef struct RFrame RFrame;
-typedef struct RFrame3 RFrame3;
-typedef struct Triangle3 Triangle3;
-
-struct Point2 {
- double x, y, w;
-};
-
-struct Point3 {
- double x, y, z, w;
-};
-
-struct Quaternion {
- double r, i, j, k;
-};
-
-struct RFrame {
- Point2 p;
- Point2 bx, by;
-};
-
-struct RFrame3 {
- Point3 p;
- Point3 bx, by, bz;
-};
-
-struct Triangle3 {
- Point3 p0, p1, p2;
-};
-
-/* Point2 */
-Point2 Pt2(double, double, double);
-Point2 Vec2(double, double);
-Point2 addpt2(Point2, Point2);
-Point2 subpt2(Point2, Point2);
-Point2 mulpt2(Point2, double);
-Point2 divpt2(Point2, double);
-Point2 lerp2(Point2, Point2, double);
-double dotvec2(Point2, Point2);
-double vec2len(Point2);
-Point2 normvec2(Point2);
-
-/* Point3 */
-Point3 Pt3(double, double, double, double);
-Point3 Vec3(double, double, double);
-Point3 addpt3(Point3, Point3);
-Point3 subpt3(Point3, Point3);
-Point3 mulpt3(Point3, double);
-Point3 divpt3(Point3, double);
-Point3 lerp3(Point3, Point3, double);
-double dotvec3(Point3, Point3);
-Point3 crossvec3(Point3, Point3);
-double vec3len(Point3);
-Point3 normvec3(Point3);
-
-/* Matrix */
-void identity(Matrix);
-void addm(Matrix, Matrix);
-void subm(Matrix, Matrix);
-void mulm(Matrix, Matrix);
-void smulm(Matrix, double);
-void transposem(Matrix);
-double detm(Matrix);
-double tracem(Matrix);
-void adjm(Matrix);
-void invm(Matrix);
-Point2 xform(Point2, Matrix);
-
-/* Matrix3 */
-void identity3(Matrix3);
-void addm3(Matrix3, Matrix3);
-void subm3(Matrix3, Matrix3);
-void mulm3(Matrix3, Matrix3);
-void smulm3(Matrix3, double);
-void transposem3(Matrix3);
-double detm3(Matrix3);
-double tracem3(Matrix3);
-void adjm3(Matrix3);
-void invm3(Matrix3);
-Point3 xform3(Point3, Matrix3);
-
-/* Quaternion */
-Quaternion Quat(double, double, double, double);
-Quaternion Quatvec(double, Point3);
-Quaternion addq(Quaternion, Quaternion);
-Quaternion subq(Quaternion, Quaternion);
-Quaternion mulq(Quaternion, Quaternion);
-Quaternion smulq(Quaternion, double);
-Quaternion sdivq(Quaternion, double);
-double dotq(Quaternion, Quaternion);
-Quaternion invq(Quaternion);
-double qlen(Quaternion);
-Quaternion normq(Quaternion);
-Point3 qrotate(Point3, Point3, double);
-
-/* RFrame */
-Point2 rframexform(Point2, RFrame);
-Point3 rframexform3(Point3, RFrame3);
-Point2 invrframexform(Point2, RFrame);
-Point3 invrframexform3(Point3, RFrame3);
-
-/* Triangle3 */
-Point3 centroid(Triangle3);
diff --git a/graphics.h b/graphics.h
deleted file mode 100644
index 51c0a93..0000000
--- a/graphics.h
+++ /dev/null
@@ -1,51 +0,0 @@
-typedef enum {
- Portho, /* orthographic */
- Ppersp /* perspective */
-} Projection;
-
-typedef struct Vertex Vertex;
-typedef struct Viewport Viewport;
-typedef struct Camera Camera;
-
-struct Vertex {
- Point3 p; /* position */
- Point3 n; /* surface normal */
-};
-
-struct Viewport
-{
- RFrame;
- Memimage *fb;
-};
-
-struct Camera {
- RFrame3; /* VCS */
- Viewport viewport;
- double fov; /* vertical FOV */
- double clipn;
- double clipf;
- Matrix3 proj; /* VCS to NDC xform */
- Projection ptype;
-
- void (*updatefb)(Camera*, Rectangle, ulong);
-};
-
-/* Camera */
-Camera *alloccamera(Rectangle, ulong);
-void configcamera(Camera*, Image*, double, double, double, Projection);
-void placecamera(Camera*, Point3, Point3, Point3);
-void aimcamera(Camera*, Point3);
-void reloadcamera(Camera*);
-
-/* rendering */
-#define FPS2MS(n) (1000/(n))
-#define WORLD2VCS(cp, p) (rframexform3((p), *(cp)))
-#define VCS2NDC(cp, p) (xform3((p), (cp)->proj))
-#define WORLD2NDC(cp, p) (VCS2NDC((cp), WORLD2VCS((cp), (p))))
-int isclipping(Point3);
-Point toviewport(Camera*, Point3);
-Point2 fromviewport(Camera*, Point);
-void perspective(Matrix3, double, double, double, double);
-void orthographic(Matrix3, double, double, double, double, double, double);
-void line3(Camera*, Point3, Point3, int, int, Image*);
-Point string3(Camera*, Point3, Image*, Font*, char*);
diff --git a/libgeometry/doc/libgeometry.ms b/libgeometry/doc/libgeometry.ms
deleted file mode 100644
index 47c8d94..0000000
--- a/libgeometry/doc/libgeometry.ms
+++ /dev/null
@@ -1,429 +0,0 @@
-.TL
-libgeometry
-.AU
-Rodrigo G. López
-.sp
-rgl@antares-labs.eu
-.AI
-Antares Telecom Laboratories
-Albatera, Alicante
-.FS
-ACHTUNG! this is a
-.B "WORK IN PROGRESS"
-.FE
-.SH
-Introduction
-.PP
-.I Libgeometry is a computational geometry library that provides all
-the utilities anybody working with graphics or scientific simulations
-could need.
-.NH 1
-Data Structures
-.NH 2
-Point2
-.P1
-struct Point2 {
- double x, y, w;
-};
-.P2
-.PP
-.I Point2
-represents a point in two-dimensional projective space, which itself
-is an extension of the two-dimensional euclidean space that allows us
-to work with vectors and compose affine transformations in a friendly
-manner. A point
-.EQ
-gfont roman
-(x, y, w)
-.EN
-made out of homogenous coordinates
-.I x ,
-.I y ,
-and
-.I w ,
-yields a point with cartesian coordinates
-.EQ
-(x/w, y/w) .
-.EN
-.NH 2
-Point3
-.P1
-struct Point3 {
- double x, y, z, w;
-};
-.P2
-.PP
-.I Point3
-is a point in three-dimensional projective space.
-.NH 2
-Matrix
-.P1
-typedef double Matrix[3][3];
-.P2
-.PP
-.I Matrix
-represents a 3x3 matrix, thought to compose affine transformations to
-apply to homogeneous 2D points.
-.NH 2
-Matrix3
-.P1
-typedef double Matrix3[4][4];
-.P2
-.PP
-.I Matrix3
-represents a 4x4 matrix, thought to compose affine transformations to
-apply to homogeneous 3D points.
-.NH 2
-Quaternion
-.P1
-struct Quaternion {
- double r, i, j, k;
-};
-.P2
-.PP
-.I Quaternions
-are a numbering system that extends the complex numbers up to
-four-dimensional space, and are used to apply rotations and model
-mechanical interactions in 3D space. Their main advantages with
-respect to their matrix relatives are increased computational and
-storage performance and gimbal lock avoidance.
-.NH 2
-RFrame
-.P1
-struct RFrame {
- Point2 p;
- Point2 bx, by;
-};
-.P2
-.PP
-A reference frame (or frame of reference) is
-.NH 2
-RFrame3
-.P1
-struct RFrame3 {
- Point3 p;
- Point3 bx, by, bz;
-};
-.P2
-.PP
-A reference frame (or frame of reference) is
-.NH 1
-Algorithms
-.NH 2
-Point2
-.SH
-Addition
-.P1
-Point2 addpt2(Point2 a, Point2 b)
-.P2
-.EQ
-a + b ~=~ left ( x sub a + x sub b ,~ y sub a + y sub b ,~ w sub a + w sub b right )
-.EN
-.SH
-Substraction
-.P1
-Point2 subpt2(Point2 a, Point2 b)
-.P2
-.EQ
-a - b ~=~ left ( x sub a - x sub b ,~ y sub a - y sub b ,~ w sub a - w sub b right )
-.EN
-.SH
-Multiplication
-.P1
-Point2 mulpt2(Point2 p, double s)
-.P2
-.EQ
-p * s ~=~ left ( xs,~ ys,~ ws right )
-.EN
-.SH
-Division
-.P1
-Point2 divpt2(Point2 p, double s)
-.P2
-.EQ
-p / s ~=~ left ( x over s ,~ y over s ,~ w over s right )
-.EN
-.SH
-Vector Dot Product
-.P1
-double dotvec2(Point2 a, Point2 b)
-.P2
-.EQ
-a vec ~•~ b vec ~=~ x sub a x sub b + y sub a y sub b
-.EN
-.SH
-Vector Magnitude/Length
-.P1
-double vec2len(Point2 v)
-.P2
-.EQ
-| v vec | ~=~ sqrt { x sup 2 + y sup 2 }
-.EN
-.SH
-Vector Normalization
-.P1
-Point2 normvec2(Point2 v)
-.P2
-.EQ
-n vec ~=~ left ( x over {| v vec |},~ y over {| v vec |} right )
-.EN
-.NH 2
-Point3
-.SH
-Addition
-.P1
-Point3 addpt3(Point3 a, Point3 b)
-.P2
-.EQ
-a + b ~=~ left ( x sub a + x sub b ,~ y sub a + y sub b ,~ z sub a + z sub b ,~ w sub a + w sub b right )
-.EN
-.SH
-Substraction
-.P1
-Point3 subpt3(Point3 a, Point3 b)
-.P2
-.EQ
-a - b ~=~ left ( x sub a - x sub b ,~ y sub a - y sub b ,~ z sub a - z sub b ,~ w sub a - w sub b right )
-.EN
-.SH
-Multiplication
-.P1
-Point3 mulpt3(Point3 p, double s)
-.P2
-.EQ
-p * s ~=~ left ( xs,~ ys,~ zs,~ ws right )
-.EN
-.SH
-Division
-.P1
-Point3 divpt3(Point3 p, double s)
-.P2
-.EQ
-p / s ~=~ left ( x over s ,~ y over s ,~ z over s ,~ w over s right )
-.EN
-.SH
-Vector Dot Product
-.P1
-double dotvec3(Point3 a, Point3 b)
-.P2
-.EQ
-a vec ~•~ b vec ~=~ x sub a x sub b + y sub a y sub b + z sub a z sub b
-.EN
-.SH
-Vector Cross Product
-.P1
-double crossvec3(Point3 a, Point3 b)
-.P2
-.EQ
-a vec ~×~ b vec ~=~ left ( y sub a z sub b - z sub a y sub b ,~
- z sub a x sub b - x sub a z sub b ,~
- x sub a y sub b - y sub a x sub b right )
-.EN
-.SH
-Vector Magnitude/Length
-.P1
-double vec3len(Point3 v)
-.P2
-.EQ
-| v vec | ~=~ sqrt { x sup 2 + y sup 2 + z sup 2 }
-.EN
-.SH
-Vector Normalization
-.P1
-Point3 normvec3(Point3 v)
-.P2
-.EQ
-n vec ~=~ left ( x over {| v vec |},~ y over {| v vec |},~ z over {| v vec |} right )
-.EN
-.NH 2
-Matrix
-.SH
-Addition
-.P1
-void addm(Matrix A, Matrix B)
-.P2
-.EQ
-( bold A + bold B ) sub {i,j} ~=~ bold A sub {i,j} + bold B sub {i,j}
-.EN
-.SH
-Substraction
-.P1
-void subm(Matrix A, Matrix B)
-.P2
-.EQ
-( bold A - bold B ) sub {i,j} ~=~ bold A sub {i,j} - bold B sub {i,j}
-.EN
-.SH
-Multiplication
-.P1
-void mulm(Matrix A, Matrix B)
-.P2
-.EQ
-left [ bold A bold B right ] sub {i,j} ~=~ sum from {k = 0} to 3-1 bold A sub {i,k} bold B sub {k,j}
-.EN
-.SH
-Transpose
-.P1
-void transposem(Matrix M)
-.P2
-.EQ
-( bold M sup T ) sub {i,j} ~=~ bold A sub {j,i}
-.EN
-.SH
-Identity
-.P1
-void identity(Matrix M)
-.P2
-.EQ
-bold M ~=~ left [ rpile {
- 1 ~ 0 ~ 0
-above 0 ~ 1 ~ 0
-above 0 ~ 0 ~ 1
-} right ]
-.EN
-.SH
-Determinant
-.P1
-double detm(Matrix M)
-.P2
-.EQ
-det( bold M ) ~=~ lpile {
- m sub 00 ( m sub 11 m sub 22 - m sub 12 m sub 21 ) +
-above m sub 01 ( m sub 12 m sub 20 - m sub 10 m sub 22 ) +
-above m sub 02 ( m sub 10 m sub 21 - m sub 11 m sub 20 )
-}
-.EN
-.NH 2
-Matrix3
-.SH
-Addition
-.P1
-void addm3(Matrix3 A, Matrix3 B)
-.P2
-.EQ
-( bold A + bold B ) sub {i,j} ~=~ bold A sub {i,j} + bold B sub {i,j}
-.EN
-.SH
-Substraction
-.P1
-void subm3(Matrix3 A, Matrix3 B)
-.P2
-.EQ
-( bold A - bold B ) sub {i,j} ~=~ bold A sub {i,j} - bold B sub {i,j}
-.EN
-.SH
-Multiplication
-.P1
-void mulm3(Matrix3 A, Matrix3 B)
-.P2
-.EQ
-left [ bold A bold B right ] sub {i,j} ~=~ sum from {k = 0} to 4-1 bold A sub {i,k} bold B sub {k,j}
-.EN
-.SH
-Transpose
-.P1
-void transposem3(Matrix3 M)
-.P2
-.EQ
-( bold M sup T ) sub {i,j} ~=~ bold A sub {j,i}
-.EN
-.SH
-Identity
-.P1
-void identity3(Matrix3 M)
-.P2
-.EQ
-bold M ~=~ left [ rpile {
- 1 ~ 0 ~ 0 ~ 0
-above 0 ~ 1 ~ 0 ~ 0
-above 0 ~ 0 ~ 1 ~ 0
-above 0 ~ 0 ~ 0 ~ 1
-} right ]
-.EN
-.SH
-Determinant
-.P1
-double detm3(Matrix3 M)
-.P2
-.EQ
-det( bold M ) ~=~ rpile {
- m sub 00 ( m sub 11 ( m sub 22 m sub 33 - m sub 23 m sub 32 ) +
- m sub 12 ( m sub 23 m sub 31 - m sub 21 m sub 33 ) +
- m sub 13 ( m sub 21 m sub 32 - m sub 22 m sub 31 ) )
-above -m sub 01 ( m sub 10 ( m sub 22 m sub 33 - m sub 23 m sub 32 ) +
- m sub 12 ( m sub 23 m sub 30 - m sub 20 m sub 33 ) +
- m sub 13 ( m sub 20 m sub 32 - m sub 22 m sub 30 ) )
-above +m sub 02 ( m sub 10 ( m sub 21 m sub 33 - m sub 23 m sub 31 ) +
- m sub 11 ( m sub 23 m sub 30 - m sub 20 m sub 33 ) +
- m sub 13 ( m sub 20 m sub 31 - m sub 21 m sub 30 ) )
-above -m sub 03 ( m sub 10 ( m sub 21 m sub 32 - m sub 22 m sub 31 ) +
- m sub 11 ( m sub 22 m sub 30 - m sub 20 m sub 32 ) +
- m sub 12 ( m sub 20 m sub 31 - m sub 21 m sub 30 ) )
-}
-.EN
-.NH 2
-Quaternion
-.SH
-Addition
-.P1
-Quaternion addq(Quaternion q, Quaternion r)
-.P2
-.EQ
-q + r ~=~ ( r sub q + r sub r ,~ i sub q + i sub r ,~ j sub q + j sub r ,~ k sub q + k sub r )
-.EN
-.SH
-Substraction
-.P1
-Quaternion subq(Quaternion q, Quaternion r)
-.P2
-.EQ
-q - r ~=~ ( r sub q - r sub r ,~ i sub q - i sub r ,~ j sub q - j sub r ,~ k sub q - k sub r )
-.EN
-.SH
-Multiplication
-.P1
-Quaternion mulq(Quaternion q, Quaternion r)
-.P2
-.EQ
-q ~=~ [ r sub q ,~ v vec sub q ]
-r ~=~ [ r sub r ,~ v vec sub r ]
-qr ~=~ [ r sub q r sub r - v vec sub q • v vec sub r ,~ v vec sub r r sub q + v vec sub q r sub r + v vec sub q X v vec sub r ]
-.EN
-.SH
-Scalar Multiplication
-.P1
-Quaternion smulq(Quaternion q, double s)
-.P2
-.EQ
-qs ~=~ [ r sub q s ,~ i sub q s ,~ j sub q s ,~ k sub q s ]
-.EN
-.SH
-Inverse
-.P1
-Quaternion invq(Quaternion q)
-.P2
-.EQ
-q sup -1 ~=~ left ( r over {| q | sup 2} ,~ -i over {| q | sup 2} ,~ -j over {| q | sup 2} ,~ -k over {| q | sup 2} right )
-.EN
-.SH
-Magnitude/Length
-.P1
-double qlen(Quaternion q)
-.P2
-.EQ
-| q | ~=~ sqrt { r sup 2 + i sup 2 + j sup 2 + k sup 2 }
-.EN
-.NH 2
-RFrame
-.SH
-Change of reference
-.P1
-Point2 rframexform(Point2 p, RFrame rf)
-.P2
-.NH 2
-RFrame3
-.SH
-Change of reference
-.P1
-Point3 rframexform3(Point3 p, RFrame3 rf)
-.P2
diff --git a/libgeometry/doc/libgeometry.pdf b/libgeometry/doc/libgeometry.pdf
deleted file mode 100644
index 3a49480..0000000
--- a/libgeometry/doc/libgeometry.pdf
+++ /dev/null
Binary files differ
diff --git a/libgeometry/doc/libgeometry.ps b/libgeometry/doc/libgeometry.ps
deleted file mode 100644
index 635b9cd..0000000
--- a/libgeometry/doc/libgeometry.ps
+++ /dev/null
@@ -1,2799 +0,0 @@
-%!PS-Adobe-2.0
-%%Version: 0.1
-%%Creator: troff, Plan 9 edition
-%%DocumentFonts: (atend)
-%%Pages: (atend)
-%%EndComments
-%
-% Version 3.3.2 prologue for troff files.
-%
-
-/#copies 1 store
-/aspectratio 1 def
-/formsperpage 1 def
-/landscape false def
-/linewidth .3 def
-/magnification 1 def
-/margin 0 def
-/orientation 0 def
-/resolution 720 def
-/rotation 1 def
-/xoffset 0 def
-/yoffset 0 def
-
-/roundpage true def
-/useclippath true def
-/pagebbox [0 0 612 792] def
-
-/R /Times-Roman def
-/I /Times-Italic def
-/B /Times-Bold def
-/BI /Times-BoldItalic def
-/H /Helvetica def
-/HI /Helvetica-Oblique def
-/HB /Helvetica-Bold def
-/HX /Helvetica-BoldOblique def
-/CW /Courier def
-/CO /Courier def
-/CI /Courier-Oblique def
-/CB /Courier-Bold def
-/CX /Courier-BoldOblique def
-/PA /Palatino-Roman def
-/PI /Palatino-Italic def
-/PB /Palatino-Bold def
-/PX /Palatino-BoldItalic def
-/Hr /Helvetica-Narrow def
-/Hi /Helvetica-Narrow-Oblique def
-/Hb /Helvetica-Narrow-Bold def
-/Hx /Helvetica-Narrow-BoldOblique def
-/KR /Bookman-Light def
-/KI /Bookman-LightItalic def
-/KB /Bookman-Demi def
-/KX /Bookman-DemiItalic def
-/AR /AvantGarde-Book def
-/AI /AvantGarde-BookOblique def
-/AB /AvantGarde-Demi def
-/AX /AvantGarde-DemiOblique def
-/NR /NewCenturySchlbk-Roman def
-/NI /NewCenturySchlbk-Italic def
-/NB /NewCenturySchlbk-Bold def
-/NX /NewCenturySchlbk-BoldItalic def
-/ZD /ZapfDingbats def
-/ZI /ZapfChancery-MediumItalic def
-/S /S def
-/S1 /S1 def
-/GR /Symbol def
-
-/inch {72 mul} bind def
-/min {2 copy gt {exch} if pop} bind def
-
-/setup {
- counttomark 2 idiv {def} repeat pop
-
- landscape {/orientation 90 orientation add def} if
- /scaling 72 resolution div def
- linewidth setlinewidth
- 1 setlinecap
-
- pagedimensions
- xcenter ycenter translate
- orientation rotation mul rotate
- width 2 div neg height 2 div translate
- xoffset inch yoffset inch neg translate
- margin 2 div dup neg translate
- magnification dup aspectratio mul scale
- scaling scaling scale
-
- addmetrics
- 0 0 moveto
-} def
-
-/pagedimensions {
- useclippath userdict /gotpagebbox known not and {
- /pagebbox [clippath pathbbox newpath] def
- roundpage currentdict /roundpagebbox known and {roundpagebbox} if
- } if
- pagebbox aload pop
- 4 -1 roll exch 4 1 roll 4 copy
- landscape {4 2 roll} if
- sub /width exch def
- sub /height exch def
- add 2 div /xcenter exch def
- add 2 div /ycenter exch def
- userdict /gotpagebbox true put
-} def
-
-/addmetrics {
- /Symbol /S null Sdefs cf
- /Times-Roman /S1 StandardEncoding dup length array copy S1defs cf
-} def
-
-/pagesetup {
- /page exch def
- currentdict /pagedict known currentdict page known and {
- page load pagedict exch get cvx exec
- } if
-} def
-
-/decodingdefs [
- {counttomark 2 idiv {y moveto show} repeat}
- {neg /y exch def counttomark 2 idiv {y moveto show} repeat}
- {neg moveto {2 index stringwidth pop sub exch div 0 32 4 -1 roll widthshow} repeat}
- {neg moveto {spacewidth sub 0.0 32 4 -1 roll widthshow} repeat}
- {counttomark 2 idiv {y moveto show} repeat}
- {neg setfunnytext}
-] def
-
-/setdecoding {/t decodingdefs 3 -1 roll get bind def} bind def
-
-/w {neg moveto show} bind def
-/m {neg dup /y exch def moveto} bind def
-/done {/lastpage where {pop lastpage} if} def
-
-/f {
- dup /font exch def findfont exch
- dup /ptsize exch def scaling div dup /size exch def scalefont setfont
- linewidth ptsize mul scaling 10 mul div setlinewidth
- /spacewidth ( ) stringwidth pop def
-} bind def
-
-/changefont {
- /fontheight exch def
- /fontslant exch def
- currentfont [
- 1 0
- fontheight ptsize div fontslant sin mul fontslant cos div
- fontheight ptsize div
- 0 0
- ] makefont setfont
-} bind def
-
-/sf {f} bind def
-
-/cf {
- dup length 2 idiv
- /entries exch def
- /chtab exch def
- /newencoding exch def
- /newfont exch def
-
- findfont dup length 1 add dict
- /newdict exch def
- {1 index /FID ne {newdict 3 1 roll put}{pop pop} ifelse} forall
-
- newencoding type /arraytype eq {newdict /Encoding newencoding put} if
-
- newdict /Metrics entries dict put
- newdict /Metrics get
- begin
- chtab aload pop
- 1 1 entries {pop def} for
- newfont newdict definefont pop
- end
-} bind def
-
-%
-% A few arrays used to adjust reference points and character widths in some
-% of the printer resident fonts. If square roots are too high try changing
-% the lines describing /radical and /radicalex to,
-%
-% /radical [0 -75 550 0]
-% /radicalex [-50 -75 500 0]
-%
-% Move braceleftbt a bit - default PostScript character is off a bit.
-%
-
-/Sdefs [
- /bracketlefttp [201 500]
- /bracketleftbt [201 500]
- /bracketrighttp [-81 380]
- /bracketrightbt [-83 380]
- /braceleftbt [203 490]
- /bracketrightex [220 -125 500 0]
- /radical [0 0 550 0]
- /radicalex [-50 0 500 0]
- /parenleftex [-20 -170 0 0]
- /integral [100 -50 500 0]
- /infinity [10 -75 730 0]
-] def
-
-/S1defs [
- /underscore [0 80 500 0]
- /endash [7 90 650 0]
-] def
-%
-% Tries to round clipping path dimensions, as stored in array pagebbox, so they
-% match one of the known sizes in the papersizes array. Lower left coordinates
-% are always set to 0.
-%
-
-/roundpagebbox {
- 7 dict begin
- /papersizes [8.5 inch 11 inch 14 inch 17 inch] def
-
- /mappapersize {
- /val exch def
- /slop .5 inch def
- /diff slop def
- /j 0 def
- 0 1 papersizes length 1 sub {
- /i exch def
- papersizes i get val sub abs
- dup diff le {/diff exch def /j i def} {pop} ifelse
- } for
- diff slop lt {papersizes j get} {val} ifelse
- } def
-
- pagebbox 0 0 put
- pagebbox 1 0 put
- pagebbox dup 2 get mappapersize 2 exch put
- pagebbox dup 3 get mappapersize 3 exch put
- end
-} bind def
-
-%%EndProlog
-%%BeginSetup
-mark
-%
-% Encoding vector and redefinition of findfont for the ISO Latin1 standard.
-% The 18 characters missing from ROM based fonts on older printers are noted
-% below.
-%
-
-/ISOLatin1Encoding [
- /.notdef
- /.notdef
- /.notdef
- /.notdef
- /.notdef
- /.notdef
- /.notdef
- /.notdef
- /.notdef
- /.notdef
- /.notdef
- /.notdef
- /.notdef
- /.notdef
- /.notdef
- /.notdef
- /.notdef
- /.notdef
- /.notdef
- /.notdef
- /.notdef
- /.notdef
- /.notdef
- /.notdef
- /.notdef
- /.notdef
- /.notdef
- /.notdef
- /.notdef
- /.notdef
- /.notdef
- /.notdef
- /space
- /exclam
- /quotedbl
- /numbersign
- /dollar
- /percent
- /ampersand
- /quoteright
- /parenleft
- /parenright
- /asterisk
- /plus
- /comma
- /minus
- /period
- /slash
- /zero
- /one
- /two
- /three
- /four
- /five
- /six
- /seven
- /eight
- /nine
- /colon
- /semicolon
- /less
- /equal
- /greater
- /question
- /at
- /A
- /B
- /C
- /D
- /E
- /F
- /G
- /H
- /I
- /J
- /K
- /L
- /M
- /N
- /O
- /P
- /Q
- /R
- /S
- /T
- /U
- /V
- /W
- /X
- /Y
- /Z
- /bracketleft
- /backslash
- /bracketright
- /asciicircum
- /underscore
- /quoteleft
- /a
- /b
- /c
- /d
- /e
- /f
- /g
- /h
- /i
- /j
- /k
- /l
- /m
- /n
- /o
- /p
- /q
- /r
- /s
- /t
- /u
- /v
- /w
- /x
- /y
- /z
- /braceleft
- /bar
- /braceright
- /asciitilde
- /.notdef
- /.notdef
- /.notdef
- /.notdef
- /.notdef
- /.notdef
- /.notdef
- /.notdef
- /.notdef
- /.notdef
- /.notdef
- /.notdef
- /.notdef
- /.notdef
- /.notdef
- /.notdef
- /.notdef
- /dotlessi
- /grave
- /acute
- /circumflex
- /tilde
- /macron
- /breve
- /dotaccent
- /dieresis
- /.notdef
- /ring
- /cedilla
- /.notdef
- /hungarumlaut
- /ogonek
- /caron
- /space
- /exclamdown
- /cent
- /sterling
- /currency
- /yen
- /brokenbar % missing
- /section
- /dieresis
- /copyright
- /ordfeminine
- /guillemotleft
- /logicalnot
- /hyphen
- /registered
- /macron
- /degree % missing
- /plusminus % missing
- /twosuperior % missing
- /threesuperior % missing
- /acute
- /mu % missing
- /paragraph
- /periodcentered
- /cedilla
- /onesuperior % missing
- /ordmasculine
- /guillemotright
- /onequarter % missing
- /onehalf % missing
- /threequarters % missing
- /questiondown
- /Agrave
- /Aacute
- /Acircumflex
- /Atilde
- /Adieresis
- /Aring
- /AE
- /Ccedilla
- /Egrave
- /Eacute
- /Ecircumflex
- /Edieresis
- /Igrave
- /Iacute
- /Icircumflex
- /Idieresis
- /Eth % missing
- /Ntilde
- /Ograve
- /Oacute
- /Ocircumflex
- /Otilde
- /Odieresis
- /multiply % missing
- /Oslash
- /Ugrave
- /Uacute
- /Ucircumflex
- /Udieresis
- /Yacute % missing
- /Thorn % missing
- /germandbls
- /agrave
- /aacute
- /acircumflex
- /atilde
- /adieresis
- /aring
- /ae
- /ccedilla
- /egrave
- /eacute
- /ecircumflex
- /edieresis
- /igrave
- /iacute
- /icircumflex
- /idieresis
- /eth % missing
- /ntilde
- /ograve
- /oacute
- /ocircumflex
- /otilde
- /odieresis
- /divide % missing
- /oslash
- /ugrave
- /uacute
- /ucircumflex
- /udieresis
- /yacute % missing
- /thorn % missing
- /ydieresis
-] def
-
-/NewFontDirectory FontDirectory maxlength dict def
-
-%
-% Apparently no guarantee findfont is defined in systemdict so the obvious
-%
-% systemdict /findfont get exec
-%
-% can generate an error. So far the only exception is a VT600 (version 48.0).
-%
-
-userdict /@RealFindfont known not {
- userdict begin
- /@RealFindfont systemdict begin /findfont load end def
- end
-} if
-
-/findfont {
- dup NewFontDirectory exch known not {
- dup
- %dup systemdict /findfont get exec % not always in systemdict
- dup userdict /@RealFindfont get exec
- dup /Encoding get StandardEncoding eq {
- dup length dict begin
- {1 index /FID ne {def}{pop pop} ifelse} forall
- /Encoding ISOLatin1Encoding def
- currentdict
- end
- /DummyFontName exch definefont
- } if
- NewFontDirectory 3 1 roll put
- } if
- NewFontDirectory exch get
-} bind def
-
-%%Patch from lp
-%%EndPatch from lp
-
-setup
-%%EndSetup
-%%Page: 1 1
-/saveobj save def
-mark
-1 pagesetup
-12 /LucidaSans-Demi f
-(libgeometry) 2507 1220 w
-10 /LucidaSans-Italic f
-(Rodrigo G. L\363pez) 2469 1480 w
-(rgl@antares-labs.eu) 2377 1760 w
-10 /LucidaSansUnicode00 f
-(Antares Telecom Laboratories) 2156 1960 w
-(Albatera, Alicante) 2451 2100 w
-10 /LucidaSans-Demi f
-(1.) 720 2700 w
-(Data Structures) 873 2700 w
-(1.1.) 720 2940 w
-(Point2) 962 2940 w
-9 /LucidaTypewriter f
-(struct) 920 3110 w
-(Point2) 1375 3110 w
-({) 1830 3110 w
-(double) 1440 3220 w
-(x,) 1895 3220 w
-(y,) 2090 3220 w
-(w;) 2285 3220 w
-(};) 920 3330 w
-10 /LucidaSans-Italic f
-(Point2) 970 3546 w
-10 /LucidaSansUnicode00 f
-(represents) 1324 3546 w
-(a) 1886 3546 w
-(point) 1989 3546 w
-(in) 2289 3546 w
-(two-dimensional) 2428 3546 w
-(projective) 3299 3546 w
-(space,) 3823 3546 w
-(which) 4179 3546 w
-(itself) 4508 3546 w
-(is) 4795 3546 w
-(an) 4923 3546 w
-(extension) 720 3666 w
-(of) 1240 3666 w
-(the) 1383 3666 w
-(two-dimensional) 1583 3666 w
-(euclidean) 2451 3666 w
-(space) 2959 3666 w
-(that) 3280 3666 w
-(allows) 3516 3666 w
-(us) 3862 3666 w
-(to) 4019 3666 w
-(work) 4161 3666 w
-(with) 4442 3666 w
-(vectors) 4691 3666 w
-(and compose affine transformations in a friendly manner.) 720 3786 w
-(A point) 3589 3786 w
-(\() 2696 3966 w
-(x) 2737 3966 w
-(,) 2806 3966 w
-(y) 2846 3966 w
-(,) 2906 3966 w
-(w) 2946 3966 w
-(\)) 3031 3966 w
-(made) 720 4146 w
-(out) 1027 4146 w
-(of) 1227 4146 w
-(homogenous) 1365 4146 w
-(coordinates) 2036 4146 w
-10 /LucidaSans-Italic f
-(x) 2643 4146 w
-10 /LucidaSansUnicode00 f
-(,) 2697 4146 w
-10 /LucidaSans-Italic f
-(y) 2769 4146 w
-10 /LucidaSansUnicode00 f
-(,) 2824 4146 w
-(and) 2896 4146 w
-10 /LucidaSans-Italic f
-(w) 3116 4146 w
-10 /LucidaSansUnicode00 f
-(,) 3194 4146 w
-(yields) 3267 4146 w
-(a) 3588 4146 w
-(point) 3684 4146 w
-(with) 3977 4146 w
-(cartesian) 4223 4146 w
-(coordi\255) 4701 4146 w
-(nates) 720 4266 w
-(\() 2588 4446 w
-(x) 2629 4446 w
-(/) 2698 4446 w
-(w) 2759 4446 w
-(,) 2844 4446 w
-(y) 2884 4446 w
-(/) 2944 4446 w
-(w) 3005 4446 w
-(\)) 3090 4446 w
-(.) 3139 4446 w
-10 /LucidaSans-Demi f
-(1.2.) 720 4746 w
-(Point3) 962 4746 w
-9 /LucidaTypewriter f
-(struct) 920 4916 w
-(Point3) 1375 4916 w
-({) 1830 4916 w
-(double) 1440 5026 w
-(x,) 1895 5026 w
-(y,) 2090 5026 w
-(z,) 2285 5026 w
-(w;) 2480 5026 w
-(};) 920 5136 w
-10 /LucidaSans-Italic f
-(Point3) 970 5352 w
-10 /LucidaSansUnicode00 f
-(is a point in three-dimensional projective space.) 1309 5352 w
-10 /LucidaSans-Demi f
-(1.3.) 720 5592 w
-(Matrix) 962 5592 w
-9 /LucidaTypewriter f
-(typedef) 920 5762 w
-(double) 1440 5762 w
-(Matrix[3][3];) 1895 5762 w
-10 /LucidaSans-Italic f
-(Matrix) 970 5978 w
-10 /LucidaSansUnicode00 f
-(represents) 1341 5978 w
-(a) 1914 5978 w
-(3x3) 2028 5978 w
-(matrix,) 2274 5978 w
-(thought) 2681 5978 w
-(to) 3123 5978 w
-(compose) 3280 5978 w
-(affine) 3775 5978 w
-(transformations) 4110 5978 w
-(to) 4942 5978 w
-(apply to homogeneous 2D points.) 720 6098 w
-10 /LucidaSans-Demi f
-(1.4.) 720 6338 w
-(Matrix3) 962 6338 w
-9 /LucidaTypewriter f
-(typedef) 920 6508 w
-(double) 1440 6508 w
-(Matrix3[4][4];) 1895 6508 w
-10 /LucidaSans-Italic f
-(Matrix3) 970 6724 w
-10 /LucidaSansUnicode00 f
-(represents) 1398 6724 w
-(a) 1964 6724 w
-(4x4) 2071 6724 w
-(matrix,) 2310 6724 w
-(thought) 2711 6724 w
-(to) 3147 6724 w
-(compose) 3298 6724 w
-(affine) 3787 6724 w
-(transformations) 4116 6724 w
-(to) 4942 6724 w
-(apply to homogeneous 3D points.) 720 6844 w
-8 /S1 f
-(__________________) 720 6980 w
-8 /LucidaSansUnicode00 f
-(ACHTUNG!) 720 7080 w
-(this) 1163 7080 w
-(is) 1333 7080 w
-(a) 1423 7080 w
-8 /LucidaSans-Demi f
-(WORK) 1493 7080 w
-(IN) 1769 7080 w
-(PROGRESS) 1883 7080 w
-cleartomark
-showpage
-saveobj restore
-%%EndPage: 1 1
-%%Page: 2 2
-/saveobj save def
-mark
-2 pagesetup
-10 /LucidaSansUnicode00 f
-(\255 2 \255) 2783 480 w
-10 /LucidaSans-Demi f
-(1.5.) 720 840 w
-(Quaternion) 962 840 w
-9 /LucidaTypewriter f
-(struct) 920 1010 w
-(Quaternion) 1375 1010 w
-({) 2090 1010 w
-(double) 1440 1120 w
-(r,) 1895 1120 w
-(i,) 2090 1120 w
-(j,) 2285 1120 w
-(k;) 2480 1120 w
-(};) 920 1230 w
-10 /LucidaSans-Italic f
-(Quaternions) 970 1446 w
-10 /LucidaSansUnicode00 f
-(are) 1623 1446 w
-(a) 1829 1446 w
-(numbering) 1938 1446 w
-(system) 2522 1446 w
-(that) 2916 1446 w
-(extends) 3161 1446 w
-(the) 3601 1446 w
-(complex) 3810 1446 w
-(numbers) 4279 1446 w
-(up) 4762 1446 w
-(to) 4942 1446 w
-(four-dimensional) 720 1566 w
-(space,) 1607 1566 w
-(and) 1953 1566 w
-(are) 2171 1566 w
-(used) 2361 1566 w
-(to) 2631 1566 w
-(apply) 2767 1566 w
-(rotations) 3067 1566 w
-(and) 3539 1566 w
-(model) 3757 1566 w
-(mechanical) 4096 1566 w
-(interac\255) 4676 1566 w
-(tions) 720 1686 w
-(in) 1015 1686 w
-(3D) 1161 1686 w
-(space.) 1354 1686 w
-(Their) 1749 1686 w
-(main) 2055 1686 w
-(advantages) 2349 1686 w
-(with) 2952 1686 w
-(respect) 3212 1686 w
-(to) 3622 1686 w
-(their) 3775 1686 w
-(matrix) 4055 1686 w
-(relatives) 4426 1686 w
-(are) 4888 1686 w
-(increased computational and storage performance and gimbal lock avoidance.) 720 1806 w
-10 /LucidaSans-Demi f
-(2.) 720 2046 w
-(Algorithms) 873 2046 w
-(2.1.) 720 2286 w
-(Point2) 962 2286 w
-(Addition) 720 2526 w
-9 /LucidaTypewriter f
-(Point2) 920 2696 w
-(addpt2\(Point2) 1375 2696 w
-(a,) 2285 2696 w
-(Point2) 2480 2696 w
-(b\)) 2935 2696 w
-10 /LucidaSansUnicode00 f
-(a) 2051 2971 w
-10 /S f
-(+) 2122 2971 w
-10 /LucidaSansUnicode00 f
-(b) 2193 2971 w
-10 /S f
-(=) 2312 2971 w
-10 /LucidaSansUnicode00 f
-10 /S f
-(\354) 2431 2934 w
-(\356) 2431 3034 w
-10 /LucidaSansUnicode00 f
-(x) 2480 2971 w
-7 /LucidaSansUnicode00 f
-(a) 2552 2991 w
-10 /S f
-(+) 2615 2971 w
-10 /LucidaSansUnicode00 f
-(x) 2686 2971 w
-7 /LucidaSansUnicode00 f
-(b) 2758 2991 w
-10 /LucidaSansUnicode00 f
-(,) 2818 2971 w
-(y) 2898 2971 w
-7 /LucidaSansUnicode00 f
-(a) 2961 2991 w
-10 /S f
-(+) 3024 2971 w
-10 /LucidaSansUnicode00 f
-(y) 3095 2971 w
-7 /LucidaSansUnicode00 f
-(b) 3158 2991 w
-10 /LucidaSansUnicode00 f
-(,) 3218 2971 w
-(w) 3298 2971 w
-7 /LucidaSansUnicode00 f
-(a) 3386 2991 w
-10 /S f
-(+) 3449 2971 w
-10 /LucidaSansUnicode00 f
-(w) 3520 2971 w
-7 /LucidaSansUnicode00 f
-(b) 3608 2991 w
-10 /S f
-(\374) 3660 2934 w
-(\376) 3660 3034 w
-10 /LucidaSans-Demi f
-(Substraction) 720 3326 w
-9 /LucidaTypewriter f
-(Point2) 920 3496 w
-(subpt2\(Point2) 1375 3496 w
-(a,) 2285 3496 w
-(Point2) 2480 3496 w
-(b\)) 2935 3496 w
-10 /LucidaSansUnicode00 f
-(a) 2051 3771 w
-10 /S f
-(-) 2122 3771 w
-10 /LucidaSansUnicode00 f
-(b) 2193 3771 w
-10 /S f
-(=) 2312 3771 w
-10 /LucidaSansUnicode00 f
-10 /S f
-(\354) 2431 3734 w
-(\356) 2431 3834 w
-10 /LucidaSansUnicode00 f
-(x) 2480 3771 w
-7 /LucidaSansUnicode00 f
-(a) 2552 3791 w
-10 /S f
-(-) 2615 3771 w
-10 /LucidaSansUnicode00 f
-(x) 2686 3771 w
-7 /LucidaSansUnicode00 f
-(b) 2758 3791 w
-10 /LucidaSansUnicode00 f
-(,) 2818 3771 w
-(y) 2898 3771 w
-7 /LucidaSansUnicode00 f
-(a) 2961 3791 w
-10 /S f
-(-) 3024 3771 w
-10 /LucidaSansUnicode00 f
-(y) 3095 3771 w
-7 /LucidaSansUnicode00 f
-(b) 3158 3791 w
-10 /LucidaSansUnicode00 f
-(,) 3218 3771 w
-(w) 3298 3771 w
-7 /LucidaSansUnicode00 f
-(a) 3386 3791 w
-10 /S f
-(-) 3449 3771 w
-10 /LucidaSansUnicode00 f
-(w) 3520 3771 w
-7 /LucidaSansUnicode00 f
-(b) 3608 3791 w
-10 /S f
-(\374) 3660 3734 w
-(\376) 3660 3834 w
-10 /LucidaSans-Demi f
-(Multiplication) 720 4126 w
-9 /LucidaTypewriter f
-(Point2) 920 4296 w
-(mulpt2\(Point2) 1375 4296 w
-(p,) 2285 4296 w
-(double) 2480 4296 w
-(s\)) 2935 4296 w
-10 /LucidaSansUnicode00 f
-(p) 2395 4536 w
-(*) 2466 4536 w
-(s) 2522 4536 w
-10 /S f
-(=) 2629 4536 w
-10 /LucidaSansUnicode00 f
-10 /S f
-(\354) 2748 4499 w
-(\356) 2748 4599 w
-10 /LucidaSansUnicode00 f
-(xs) 2797 4546 w
-(,) 2917 4546 w
-(ys) 2997 4546 w
-(,) 3108 4546 w
-(ws) 3188 4546 w
-10 /S f
-(\374) 3316 4499 w
-(\376) 3316 4599 w
-10 /LucidaSans-Demi f
-(Division) 720 4841 w
-9 /LucidaTypewriter f
-(Point2) 920 5011 w
-(divpt2\(Point2) 1375 5011 w
-(p,) 2285 5011 w
-(double) 2480 5011 w
-(s\)) 2935 5011 w
-10 /LucidaSansUnicode00 f
-(p) 2394 5336 w
-(/) 2465 5336 w
-(s) 2526 5336 w
-10 /S f
-(=) 2633 5336 w
-10 /LucidaSansUnicode00 f
-10 /S f
-(\354) 2752 5249 w
-(\357) 2752 5349 w
-(\356) 2752 5449 w
-10 /LucidaSansUnicode00 f
-(s) 2831 5406 w
-(x) 2826 5276 w
-10 /S1 f
-(_) 2811 5306 w
-(_) 2852 5306 w
-10 /LucidaSansUnicode00 f
-(,) 2920 5336 w
-(s) 3025 5406 w
-(y) 3025 5276 w
-10 /S1 f
-(_) 3010 5306 w
-(_) 3042 5306 w
-10 /LucidaSansUnicode00 f
-(,) 3110 5336 w
-(s) 3228 5406 w
-(w) 3215 5276 w
-10 /S1 f
-(_) 3200 5306 w
-(__) 3207 5306 w
-10 /S f
-(\374) 3317 5249 w
-(\357) 3317 5349 w
-(\376) 3317 5449 w
-10 /LucidaSans-Demi f
-(Vector Dot Product) 720 5741 w
-9 /LucidaTypewriter f
-(double) 920 5911 w
-(dotvec2\(Point2) 1375 5911 w
-(a,) 2350 5911 w
-(Point2) 2545 5911 w
-(b\)) 3000 5911 w
-10 /LucidaSansUnicode00 f
-(a) 2375 6156 w
-7 /LucidaSansUnicode21 f
-(\222) 2370 6106 w
-10 /LucidaSansUnicode00 f
-10 /LucidaSansUnicode20 f
-(") 2479 6156 w
-10 /LucidaSansUnicode00 f
-(b) 2583 6156 w
-7 /LucidaSansUnicode21 f
-(\222) 2582 6081 w
-10 /LucidaSansUnicode00 f
-10 /S f
-(=) 2703 6156 w
-10 /LucidaSansUnicode00 f
-(x) 2814 6156 w
-7 /LucidaSansUnicode00 f
-(a) 2886 6176 w
-10 /LucidaSansUnicode00 f
-(x) 2941 6156 w
-7 /LucidaSansUnicode00 f
-(b) 3013 6176 w
-10 /S f
-(+) 3081 6156 w
-10 /LucidaSansUnicode00 f
-(y) 3152 6156 w
-7 /LucidaSansUnicode00 f
-(a) 3215 6176 w
-10 /LucidaSansUnicode00 f
-(y) 3270 6156 w
-7 /LucidaSansUnicode00 f
-(b) 3333 6176 w
-10 /LucidaSans-Demi f
-(Vector Magnitude/Length) 720 6456 w
-9 /LucidaTypewriter f
-(double) 920 6626 w
-(vec2len\(Point2) 1375 6626 w
-(v\)) 2350 6626 w
-10 /LucidaSansUnicode00 f
-(|) 2509 6901 w
-(v) 2557 6884 w
-7 /LucidaSansUnicode21 f
-(\222) 2550 6834 w
-10 /LucidaSansUnicode00 f
-(|) 2609 6901 w
-10 /S f
-(=) 2705 6884 w
-10 /LucidaSansUnicode00 f
-12 /LucidaSansUnicode22 f
-(\032) 2816 6884 w
-12 /S f
-(`) 2913 6884 w
-(`````) 2943 6884 w
-10 /LucidaSansUnicode00 f
-(x) 2921 6884 w
-7 /LucidaSansUnicode00 f
-(2) 2987 6844 w
-10 /S f
-(+) 3055 6884 w
-10 /LucidaSansUnicode00 f
-(y) 3126 6884 w
-7 /LucidaSansUnicode00 f
-(2) 3183 6844 w
-cleartomark
-showpage
-saveobj restore
-%%EndPage: 2 2
-%%Page: 3 3
-/saveobj save def
-mark
-3 pagesetup
-10 /LucidaSansUnicode00 f
-(\255 3 \255) 2783 480 w
-10 /LucidaSans-Demi f
-(Vector Normalization) 720 840 w
-9 /LucidaTypewriter f
-(Point2) 920 1010 w
-(normvec2\(Point2) 1375 1010 w
-(v\)) 2415 1010 w
-10 /LucidaSansUnicode00 f
-(n) 2502 1335 w
-7 /LucidaSansUnicode21 f
-(\222) 2500 1285 w
-10 /LucidaSansUnicode00 f
-10 /S f
-(=) 2620 1335 w
-10 /LucidaSansUnicode00 f
-10 /S f
-(\354) 2739 1248 w
-(\357) 2739 1348 w
-(\356) 2739 1448 w
-10 /LucidaSansUnicode00 f
-(|) 2813 1447 w
-(v) 2861 1430 w
-7 /LucidaSansUnicode21 f
-(\222) 2854 1380 w
-10 /LucidaSansUnicode00 f
-(|) 2913 1447 w
-(x) 2841 1275 w
-10 /S1 f
-(_) 2799 1305 w
-(__) 2845 1305 w
-10 /LucidaSansUnicode00 f
-(,) 2963 1335 w
-(|) 3068 1447 w
-(v) 3116 1430 w
-7 /LucidaSansUnicode21 f
-(\222) 3109 1380 w
-10 /LucidaSansUnicode00 f
-(|) 3168 1447 w
-(y) 3100 1275 w
-10 /S1 f
-(_) 3053 1305 w
-(__) 3099 1305 w
-10 /S f
-(\374) 3209 1248 w
-(\357) 3209 1348 w
-(\376) 3209 1448 w
-10 /LucidaSans-Demi f
-(2.2.) 720 1740 w
-(Point3) 962 1740 w
-(Addition) 720 1980 w
-9 /LucidaTypewriter f
-(Point3) 920 2150 w
-(addpt3\(Point3) 1375 2150 w
-(a,) 2285 2150 w
-(Point3) 2480 2150 w
-(b\)) 2935 2150 w
-10 /LucidaSansUnicode00 f
-(a) 1846 2425 w
-10 /S f
-(+) 1917 2425 w
-10 /LucidaSansUnicode00 f
-(b) 1988 2425 w
-10 /S f
-(=) 2107 2425 w
-10 /LucidaSansUnicode00 f
-10 /S f
-(\354) 2226 2388 w
-(\356) 2226 2488 w
-10 /LucidaSansUnicode00 f
-(x) 2275 2425 w
-7 /LucidaSansUnicode00 f
-(a) 2347 2445 w
-10 /S f
-(+) 2410 2425 w
-10 /LucidaSansUnicode00 f
-(x) 2481 2425 w
-7 /LucidaSansUnicode00 f
-(b) 2553 2445 w
-10 /LucidaSansUnicode00 f
-(,) 2613 2425 w
-(y) 2693 2425 w
-7 /LucidaSansUnicode00 f
-(a) 2756 2445 w
-10 /S f
-(+) 2819 2425 w
-10 /LucidaSansUnicode00 f
-(y) 2890 2425 w
-7 /LucidaSansUnicode00 f
-(b) 2953 2445 w
-10 /LucidaSansUnicode00 f
-(,) 3013 2425 w
-(z) 3093 2425 w
-7 /LucidaSansUnicode00 f
-(a) 3161 2445 w
-10 /S f
-(+) 3224 2425 w
-10 /LucidaSansUnicode00 f
-(z) 3295 2425 w
-7 /LucidaSansUnicode00 f
-(b) 3363 2445 w
-10 /LucidaSansUnicode00 f
-(,) 3423 2425 w
-(w) 3503 2425 w
-7 /LucidaSansUnicode00 f
-(a) 3591 2445 w
-10 /S f
-(+) 3654 2425 w
-10 /LucidaSansUnicode00 f
-(w) 3725 2425 w
-7 /LucidaSansUnicode00 f
-(b) 3813 2445 w
-10 /S f
-(\374) 3865 2388 w
-(\376) 3865 2488 w
-10 /LucidaSans-Demi f
-(Substraction) 720 2780 w
-9 /LucidaTypewriter f
-(Point3) 920 2950 w
-(subpt3\(Point3) 1375 2950 w
-(a,) 2285 2950 w
-(Point3) 2480 2950 w
-(b\)) 2935 2950 w
-10 /LucidaSansUnicode00 f
-(a) 1846 3225 w
-10 /S f
-(-) 1917 3225 w
-10 /LucidaSansUnicode00 f
-(b) 1988 3225 w
-10 /S f
-(=) 2107 3225 w
-10 /LucidaSansUnicode00 f
-10 /S f
-(\354) 2226 3188 w
-(\356) 2226 3288 w
-10 /LucidaSansUnicode00 f
-(x) 2275 3225 w
-7 /LucidaSansUnicode00 f
-(a) 2347 3245 w
-10 /S f
-(-) 2410 3225 w
-10 /LucidaSansUnicode00 f
-(x) 2481 3225 w
-7 /LucidaSansUnicode00 f
-(b) 2553 3245 w
-10 /LucidaSansUnicode00 f
-(,) 2613 3225 w
-(y) 2693 3225 w
-7 /LucidaSansUnicode00 f
-(a) 2756 3245 w
-10 /S f
-(-) 2819 3225 w
-10 /LucidaSansUnicode00 f
-(y) 2890 3225 w
-7 /LucidaSansUnicode00 f
-(b) 2953 3245 w
-10 /LucidaSansUnicode00 f
-(,) 3013 3225 w
-(z) 3093 3225 w
-7 /LucidaSansUnicode00 f
-(a) 3161 3245 w
-10 /S f
-(-) 3224 3225 w
-10 /LucidaSansUnicode00 f
-(z) 3295 3225 w
-7 /LucidaSansUnicode00 f
-(b) 3363 3245 w
-10 /LucidaSansUnicode00 f
-(,) 3423 3225 w
-(w) 3503 3225 w
-7 /LucidaSansUnicode00 f
-(a) 3591 3245 w
-10 /S f
-(-) 3654 3225 w
-10 /LucidaSansUnicode00 f
-(w) 3725 3225 w
-7 /LucidaSansUnicode00 f
-(b) 3813 3245 w
-10 /S f
-(\374) 3865 3188 w
-(\376) 3865 3288 w
-10 /LucidaSans-Demi f
-(Multiplication) 720 3580 w
-9 /LucidaTypewriter f
-(Point3) 920 3750 w
-(mulpt3\(Point3) 1375 3750 w
-(p,) 2285 3750 w
-(double) 2480 3750 w
-(s\)) 2935 3750 w
-10 /LucidaSansUnicode00 f
-(p) 2297 3990 w
-(*) 2368 3990 w
-(s) 2424 3990 w
-10 /S f
-(=) 2531 3990 w
-10 /LucidaSansUnicode00 f
-10 /S f
-(\354) 2650 3953 w
-(\356) 2650 4053 w
-10 /LucidaSansUnicode00 f
-(xs) 2699 4000 w
-(,) 2819 4000 w
-(ys) 2899 4000 w
-(,) 3010 4000 w
-(zs) 3090 4000 w
-(,) 3206 4000 w
-(ws) 3286 4000 w
-10 /S f
-(\374) 3414 3953 w
-(\376) 3414 4053 w
-10 /LucidaSans-Demi f
-(Division) 720 4295 w
-9 /LucidaTypewriter f
-(Point3) 920 4465 w
-(divpt3\(Point3) 1375 4465 w
-(p,) 2285 4465 w
-(double) 2480 4465 w
-(s\)) 2935 4465 w
-10 /LucidaSansUnicode00 f
-(p) 2296 4790 w
-(/) 2367 4790 w
-(s) 2428 4790 w
-10 /S f
-(=) 2535 4790 w
-10 /LucidaSansUnicode00 f
-10 /S f
-(\354) 2654 4703 w
-(\357) 2654 4803 w
-(\356) 2654 4903 w
-10 /LucidaSansUnicode00 f
-(s) 2733 4860 w
-(x) 2728 4730 w
-10 /S1 f
-(_) 2713 4760 w
-(_) 2754 4760 w
-10 /LucidaSansUnicode00 f
-(,) 2822 4790 w
-(s) 2927 4860 w
-(y) 2927 4730 w
-10 /S1 f
-(_) 2912 4760 w
-(_) 2944 4760 w
-10 /LucidaSansUnicode00 f
-(,) 3012 4790 w
-(s) 3120 4860 w
-(z) 3117 4730 w
-10 /S1 f
-(_) 3102 4760 w
-(_) 3139 4760 w
-10 /LucidaSansUnicode00 f
-(,) 3207 4790 w
-(s) 3325 4860 w
-(w) 3312 4730 w
-10 /S1 f
-(_) 3297 4760 w
-(__) 3304 4760 w
-10 /S f
-(\374) 3414 4703 w
-(\357) 3414 4803 w
-(\376) 3414 4903 w
-10 /LucidaSans-Demi f
-(Vector Dot Product) 720 5195 w
-9 /LucidaTypewriter f
-(double) 920 5365 w
-(dotvec3\(Point3) 1375 5365 w
-(a,) 2350 5365 w
-(Point3) 2545 5365 w
-(b\)) 3000 5365 w
-10 /LucidaSansUnicode00 f
-(a) 2210 5610 w
-7 /LucidaSansUnicode21 f
-(\222) 2205 5560 w
-10 /LucidaSansUnicode00 f
-10 /LucidaSansUnicode20 f
-(") 2314 5610 w
-10 /LucidaSansUnicode00 f
-(b) 2418 5610 w
-7 /LucidaSansUnicode21 f
-(\222) 2417 5535 w
-10 /LucidaSansUnicode00 f
-10 /S f
-(=) 2538 5610 w
-10 /LucidaSansUnicode00 f
-(x) 2649 5610 w
-7 /LucidaSansUnicode00 f
-(a) 2721 5630 w
-10 /LucidaSansUnicode00 f
-(x) 2776 5610 w
-7 /LucidaSansUnicode00 f
-(b) 2848 5630 w
-10 /S f
-(+) 2916 5610 w
-10 /LucidaSansUnicode00 f
-(y) 2987 5610 w
-7 /LucidaSansUnicode00 f
-(a) 3050 5630 w
-10 /LucidaSansUnicode00 f
-(y) 3105 5610 w
-7 /LucidaSansUnicode00 f
-(b) 3168 5630 w
-10 /S f
-(+) 3236 5610 w
-10 /LucidaSansUnicode00 f
-(z) 3307 5610 w
-7 /LucidaSansUnicode00 f
-(a) 3375 5630 w
-10 /LucidaSansUnicode00 f
-(z) 3430 5610 w
-7 /LucidaSansUnicode00 f
-(b) 3498 5630 w
-10 /LucidaSans-Demi f
-(Vector Cross Product) 720 5910 w
-9 /LucidaTypewriter f
-(double) 920 6080 w
-(crossvec3\(Point3) 1375 6080 w
-(a,) 2480 6080 w
-(Point3) 2675 6080 w
-(b\)) 3130 6080 w
-10 /LucidaSansUnicode00 f
-(a) 1650 6355 w
-7 /LucidaSansUnicode21 f
-(\222) 1645 6305 w
-10 /LucidaSansUnicode00 f
-(\327) 1754 6355 w
-(b) 1882 6355 w
-7 /LucidaSansUnicode21 f
-(\222) 1881 6280 w
-10 /LucidaSansUnicode00 f
-10 /S f
-(=) 2002 6355 w
-10 /LucidaSansUnicode00 f
-10 /S f
-(\354) 2121 6318 w
-(\356) 2121 6418 w
-10 /LucidaSansUnicode00 f
-(y) 2170 6355 w
-7 /LucidaSansUnicode00 f
-(a) 2233 6375 w
-10 /LucidaSansUnicode00 f
-(z) 2288 6355 w
-7 /LucidaSansUnicode00 f
-(b) 2356 6375 w
-10 /S f
-(-) 2424 6355 w
-10 /LucidaSansUnicode00 f
-(z) 2495 6355 w
-7 /LucidaSansUnicode00 f
-(a) 2563 6375 w
-10 /LucidaSansUnicode00 f
-(y) 2618 6355 w
-7 /LucidaSansUnicode00 f
-(b) 2681 6375 w
-10 /LucidaSansUnicode00 f
-(,) 2741 6355 w
-(z) 2821 6355 w
-7 /LucidaSansUnicode00 f
-(a) 2889 6375 w
-10 /LucidaSansUnicode00 f
-(x) 2944 6355 w
-7 /LucidaSansUnicode00 f
-(b) 3016 6375 w
-10 /S f
-(-) 3084 6355 w
-10 /LucidaSansUnicode00 f
-(x) 3155 6355 w
-7 /LucidaSansUnicode00 f
-(a) 3227 6375 w
-10 /LucidaSansUnicode00 f
-(z) 3282 6355 w
-7 /LucidaSansUnicode00 f
-(b) 3350 6375 w
-10 /LucidaSansUnicode00 f
-(,) 3410 6355 w
-(x) 3490 6355 w
-7 /LucidaSansUnicode00 f
-(a) 3562 6375 w
-10 /LucidaSansUnicode00 f
-(y) 3617 6355 w
-7 /LucidaSansUnicode00 f
-(b) 3680 6375 w
-10 /S f
-(-) 3748 6355 w
-10 /LucidaSansUnicode00 f
-(y) 3819 6355 w
-7 /LucidaSansUnicode00 f
-(a) 3882 6375 w
-10 /LucidaSansUnicode00 f
-(x) 3937 6355 w
-7 /LucidaSansUnicode00 f
-(b) 4009 6375 w
-10 /S f
-(\374) 4061 6318 w
-(\376) 4061 6418 w
-10 /LucidaSans-Demi f
-(Vector Magnitude/Length) 720 6710 w
-9 /LucidaTypewriter f
-(double) 920 6880 w
-(vec3len\(Point3) 1375 6880 w
-(v\)) 2350 6880 w
-10 /LucidaSansUnicode00 f
-(|) 2408 7155 w
-(v) 2456 7138 w
-7 /LucidaSansUnicode21 f
-(\222) 2449 7088 w
-10 /LucidaSansUnicode00 f
-(|) 2508 7155 w
-10 /S f
-(=) 2604 7138 w
-10 /LucidaSansUnicode00 f
-12 /LucidaSansUnicode22 f
-(\032) 2715 7138 w
-12 /S f
-(`) 2812 7138 w
-(````````) 2863 7138 w
-10 /LucidaSansUnicode00 f
-(x) 2820 7138 w
-7 /LucidaSansUnicode00 f
-(2) 2886 7098 w
-10 /S f
-(+) 2954 7138 w
-10 /LucidaSansUnicode00 f
-(y) 3025 7138 w
-7 /LucidaSansUnicode00 f
-(2) 3082 7098 w
-10 /S f
-(+) 3150 7138 w
-10 /LucidaSansUnicode00 f
-(z) 3221 7138 w
-7 /LucidaSansUnicode00 f
-(2) 3283 7098 w
-cleartomark
-showpage
-saveobj restore
-%%EndPage: 3 3
-%%Page: 4 4
-/saveobj save def
-mark
-4 pagesetup
-10 /LucidaSansUnicode00 f
-(\255 4 \255) 2783 480 w
-10 /LucidaSans-Demi f
-(Vector Normalization) 720 840 w
-9 /LucidaTypewriter f
-(Point3) 920 1010 w
-(normvec3\(Point3) 1375 1010 w
-(v\)) 2415 1010 w
-10 /LucidaSansUnicode00 f
-(n) 2374 1335 w
-7 /LucidaSansUnicode21 f
-(\222) 2372 1285 w
-10 /LucidaSansUnicode00 f
-10 /S f
-(=) 2492 1335 w
-10 /LucidaSansUnicode00 f
-10 /S f
-(\354) 2611 1248 w
-(\357) 2611 1348 w
-(\356) 2611 1448 w
-10 /LucidaSansUnicode00 f
-(|) 2685 1447 w
-(v) 2733 1430 w
-7 /LucidaSansUnicode21 f
-(\222) 2726 1380 w
-10 /LucidaSansUnicode00 f
-(|) 2785 1447 w
-(x) 2713 1275 w
-10 /S1 f
-(_) 2671 1305 w
-(__) 2717 1305 w
-10 /LucidaSansUnicode00 f
-(,) 2835 1335 w
-(|) 2940 1447 w
-(v) 2988 1430 w
-7 /LucidaSansUnicode21 f
-(\222) 2981 1380 w
-10 /LucidaSansUnicode00 f
-(|) 3040 1447 w
-(y) 2972 1275 w
-10 /S1 f
-(_) 2925 1305 w
-(__) 2971 1305 w
-10 /LucidaSansUnicode00 f
-(,) 3089 1335 w
-(|) 3194 1447 w
-(v) 3242 1430 w
-7 /LucidaSansUnicode21 f
-(\222) 3235 1380 w
-10 /LucidaSansUnicode00 f
-(|) 3294 1447 w
-(z) 3224 1275 w
-10 /S1 f
-(_) 3180 1305 w
-(__) 3226 1305 w
-10 /S f
-(\374) 3336 1248 w
-(\357) 3336 1348 w
-(\376) 3336 1448 w
-10 /LucidaSans-Demi f
-(2.3.) 720 1740 w
-(Matrix) 962 1740 w
-(Addition) 720 1980 w
-9 /LucidaTypewriter f
-(void) 920 2150 w
-(addm\(Matrix) 1245 2150 w
-(A,) 2025 2150 w
-(Matrix) 2220 2150 w
-(B\)) 2675 2150 w
-10 /LucidaSansUnicode00 f
-(\() 2393 2390 w
-10 /LucidaSans-Demi f
-(A) 2434 2390 w
-10 /S f
-(+) 2524 2390 w
-10 /LucidaSans-Demi f
-(B) 2595 2390 w
-10 /LucidaSansUnicode00 f
-(\)) 2666 2390 w
-7 /LucidaSansUnicode00 f
-(i) 2710 2410 w
-(,) 2735 2410 w
-(j) 2762 2410 w
-10 /LucidaSansUnicode00 f
-10 /S f
-(=) 2847 2390 w
-10 /LucidaSansUnicode00 f
-10 /LucidaSans-Demi f
-(A) 2958 2390 w
-7 /LucidaSansUnicode00 f
-(i) 3043 2410 w
-(,) 3068 2410 w
-(j) 3095 2410 w
-10 /S f
-(+) 3140 2390 w
-10 /LucidaSans-Demi f
-(B) 3211 2390 w
-7 /LucidaSansUnicode00 f
-(i) 3285 2410 w
-(,) 3310 2410 w
-(j) 3337 2410 w
-10 /LucidaSans-Demi f
-(Substraction) 720 2690 w
-9 /LucidaTypewriter f
-(void) 920 2860 w
-(subm\(Matrix) 1245 2860 w
-(A,) 2025 2860 w
-(Matrix) 2220 2860 w
-(B\)) 2675 2860 w
-10 /LucidaSansUnicode00 f
-(\() 2393 3100 w
-10 /LucidaSans-Demi f
-(A) 2434 3100 w
-10 /S f
-(-) 2524 3100 w
-10 /LucidaSans-Demi f
-(B) 2595 3100 w
-10 /LucidaSansUnicode00 f
-(\)) 2666 3100 w
-7 /LucidaSansUnicode00 f
-(i) 2710 3120 w
-(,) 2735 3120 w
-(j) 2762 3120 w
-10 /LucidaSansUnicode00 f
-10 /S f
-(=) 2847 3100 w
-10 /LucidaSansUnicode00 f
-10 /LucidaSans-Demi f
-(A) 2958 3100 w
-7 /LucidaSansUnicode00 f
-(i) 3043 3120 w
-(,) 3068 3120 w
-(j) 3095 3120 w
-10 /S f
-(-) 3140 3100 w
-10 /LucidaSans-Demi f
-(B) 3211 3100 w
-7 /LucidaSansUnicode00 f
-(i) 3285 3120 w
-(,) 3310 3120 w
-(j) 3337 3120 w
-10 /LucidaSans-Demi f
-(Multiplication) 720 3400 w
-9 /LucidaTypewriter f
-(void) 920 3570 w
-(mulm\(Matrix) 1245 3570 w
-(A,) 2025 3570 w
-(Matrix) 2220 3570 w
-(B\)) 2675 3570 w
-10 /S f
-(\351) 2370 3823 w
-(\353) 2370 3923 w
-10 /LucidaSans-Demi f
-(AB) 2420 3870 w
-10 /S f
-(\371) 2557 3823 w
-(\373) 2557 3923 w
-7 /LucidaSansUnicode00 f
-(i) 2606 3905 w
-(,) 2631 3905 w
-(j) 2658 3905 w
-10 /LucidaSansUnicode00 f
-10 /S f
-(=) 2743 3860 w
-10 /LucidaSansUnicode00 f
-7 /LucidaSansUnicode00 f
-(k) 2847 3960 w
-7 /S f
-(=) 2899 3960 w
-7 /LucidaSansUnicode00 f
-(0) 2949 3960 w
-15 /S f
-(S) 2876 3890 w
-7 /LucidaSansUnicode00 f
-(3) 2846 3760 w
-7 /S f
-(-) 2901 3760 w
-7 /LucidaSansUnicode00 f
-(1) 2951 3760 w
-10 /LucidaSans-Demi f
-(A) 3027 3860 w
-7 /LucidaSansUnicode00 f
-(i) 3112 3880 w
-(,) 3137 3880 w
-(k) 3164 3880 w
-10 /LucidaSans-Demi f
-(B) 3221 3860 w
-7 /LucidaSansUnicode00 f
-(k) 3295 3880 w
-(,) 3341 3880 w
-(j) 3368 3880 w
-10 /LucidaSans-Demi f
-(Transpose) 720 4240 w
-9 /LucidaTypewriter f
-(void) 920 4410 w
-(transposem\(Matrix) 1245 4410 w
-(M\)) 2415 4410 w
-10 /LucidaSansUnicode00 f
-(\() 2552 4650 w
-10 /LucidaSans-Demi f
-(M) 2593 4650 w
-7 /LucidaSansUnicode00 f
-(T) 2689 4610 w
-10 /LucidaSansUnicode00 f
-(\)) 2749 4650 w
-7 /LucidaSansUnicode00 f
-(i) 2793 4670 w
-(,) 2818 4670 w
-(j) 2845 4670 w
-10 /LucidaSansUnicode00 f
-10 /S f
-(=) 2930 4650 w
-10 /LucidaSansUnicode00 f
-10 /LucidaSans-Demi f
-(A) 3041 4650 w
-7 /LucidaSansUnicode00 f
-(j) 3126 4670 w
-(,) 3152 4670 w
-(i) 3179 4670 w
-10 /LucidaSans-Demi f
-(Identity) 720 4950 w
-9 /LucidaTypewriter f
-(void) 920 5120 w
-(identity\(Matrix) 1245 5120 w
-(M\)) 2285 5120 w
-10 /LucidaSans-Demi f
-(M) 2560 5495 w
-10 /LucidaSansUnicode00 f
-10 /S f
-(=) 2707 5495 w
-10 /LucidaSansUnicode00 f
-10 /S f
-(\351) 2826 5358 w
-(\357) 2826 5458 w
-(\357) 2826 5558 w
-(\353) 2826 5658 w
-10 /LucidaSansUnicode00 f
-(0) 2876 5645 w
-(0) 2987 5645 w
-(1) 3098 5645 w
-(0) 2876 5505 w
-(1) 2987 5505 w
-(0) 3098 5505 w
-(1) 2876 5365 w
-(0) 2987 5365 w
-(0) 3098 5365 w
-10 /S f
-(\371) 3161 5358 w
-(\357) 3161 5458 w
-(\357) 3161 5558 w
-(\373) 3161 5658 w
-10 /LucidaSans-Demi f
-(Determinant) 720 5950 w
-9 /LucidaTypewriter f
-(double) 920 6120 w
-(detm\(Matrix) 1375 6120 w
-(M\)) 2155 6120 w
-10 /LucidaSansUnicode00 f
-(det) 1992 6500 w
-(\() 2156 6500 w
-10 /LucidaSans-Demi f
-(M) 2197 6500 w
-10 /LucidaSansUnicode00 f
-(\)) 2296 6500 w
-10 /S f
-(=) 2393 6500 w
-10 /LucidaSansUnicode00 f
-(m) 2504 6660 w
-7 /LucidaSansUnicode00 f
-(02) 2608 6680 w
-10 /LucidaSansUnicode00 f
-(\() 2712 6660 w
-(m) 2753 6660 w
-7 /LucidaSansUnicode00 f
-(10) 2857 6680 w
-10 /LucidaSansUnicode00 f
-(m) 2961 6660 w
-7 /LucidaSansUnicode00 f
-(21) 3065 6680 w
-10 /S f
-(-) 3177 6660 w
-10 /LucidaSansUnicode00 f
-(m) 3248 6660 w
-7 /LucidaSansUnicode00 f
-(11) 3352 6680 w
-10 /LucidaSansUnicode00 f
-(m) 3456 6660 w
-7 /LucidaSansUnicode00 f
-(20) 3560 6680 w
-10 /LucidaSansUnicode00 f
-(\)) 3664 6660 w
-(m) 2504 6500 w
-7 /LucidaSansUnicode00 f
-(01) 2608 6520 w
-10 /LucidaSansUnicode00 f
-(\() 2712 6500 w
-(m) 2753 6500 w
-7 /LucidaSansUnicode00 f
-(12) 2857 6520 w
-10 /LucidaSansUnicode00 f
-(m) 2961 6500 w
-7 /LucidaSansUnicode00 f
-(20) 3065 6520 w
-10 /S f
-(-) 3177 6500 w
-10 /LucidaSansUnicode00 f
-(m) 3248 6500 w
-7 /LucidaSansUnicode00 f
-(10) 3352 6520 w
-10 /LucidaSansUnicode00 f
-(m) 3456 6500 w
-7 /LucidaSansUnicode00 f
-(22) 3560 6520 w
-10 /LucidaSansUnicode00 f
-(\)) 3664 6500 w
-10 /S f
-(+) 3713 6500 w
-10 /LucidaSansUnicode00 f
-(m) 2504 6340 w
-7 /LucidaSansUnicode00 f
-(00) 2608 6360 w
-10 /LucidaSansUnicode00 f
-(\() 2712 6340 w
-(m) 2753 6340 w
-7 /LucidaSansUnicode00 f
-(11) 2857 6360 w
-10 /LucidaSansUnicode00 f
-(m) 2961 6340 w
-7 /LucidaSansUnicode00 f
-(22) 3065 6360 w
-10 /S f
-(-) 3177 6340 w
-10 /LucidaSansUnicode00 f
-(m) 3248 6340 w
-7 /LucidaSansUnicode00 f
-(12) 3352 6360 w
-10 /LucidaSansUnicode00 f
-(m) 3456 6340 w
-7 /LucidaSansUnicode00 f
-(21) 3560 6360 w
-10 /LucidaSansUnicode00 f
-(\)) 3664 6340 w
-10 /S f
-(+) 3713 6340 w
-cleartomark
-showpage
-saveobj restore
-%%EndPage: 4 4
-%%Page: 5 5
-/saveobj save def
-mark
-5 pagesetup
-10 /LucidaSansUnicode00 f
-(\255 5 \255) 2783 480 w
-10 /LucidaSans-Demi f
-(2.4.) 720 840 w
-(Matrix3) 962 840 w
-(Addition) 720 1080 w
-9 /LucidaTypewriter f
-(void) 920 1250 w
-(addm3\(Matrix3) 1245 1250 w
-(A,) 2155 1250 w
-(Matrix3) 2350 1250 w
-(B\)) 2870 1250 w
-10 /LucidaSansUnicode00 f
-(\() 2393 1490 w
-10 /LucidaSans-Demi f
-(A) 2434 1490 w
-10 /S f
-(+) 2524 1490 w
-10 /LucidaSans-Demi f
-(B) 2595 1490 w
-10 /LucidaSansUnicode00 f
-(\)) 2666 1490 w
-7 /LucidaSansUnicode00 f
-(i) 2710 1510 w
-(,) 2735 1510 w
-(j) 2762 1510 w
-10 /LucidaSansUnicode00 f
-10 /S f
-(=) 2847 1490 w
-10 /LucidaSansUnicode00 f
-10 /LucidaSans-Demi f
-(A) 2958 1490 w
-7 /LucidaSansUnicode00 f
-(i) 3043 1510 w
-(,) 3068 1510 w
-(j) 3095 1510 w
-10 /S f
-(+) 3140 1490 w
-10 /LucidaSans-Demi f
-(B) 3211 1490 w
-7 /LucidaSansUnicode00 f
-(i) 3285 1510 w
-(,) 3310 1510 w
-(j) 3337 1510 w
-10 /LucidaSans-Demi f
-(Substraction) 720 1790 w
-9 /LucidaTypewriter f
-(void) 920 1960 w
-(subm3\(Matrix3) 1245 1960 w
-(A,) 2155 1960 w
-(Matrix3) 2350 1960 w
-(B\)) 2870 1960 w
-10 /LucidaSansUnicode00 f
-(\() 2393 2200 w
-10 /LucidaSans-Demi f
-(A) 2434 2200 w
-10 /S f
-(-) 2524 2200 w
-10 /LucidaSans-Demi f
-(B) 2595 2200 w
-10 /LucidaSansUnicode00 f
-(\)) 2666 2200 w
-7 /LucidaSansUnicode00 f
-(i) 2710 2220 w
-(,) 2735 2220 w
-(j) 2762 2220 w
-10 /LucidaSansUnicode00 f
-10 /S f
-(=) 2847 2200 w
-10 /LucidaSansUnicode00 f
-10 /LucidaSans-Demi f
-(A) 2958 2200 w
-7 /LucidaSansUnicode00 f
-(i) 3043 2220 w
-(,) 3068 2220 w
-(j) 3095 2220 w
-10 /S f
-(-) 3140 2200 w
-10 /LucidaSans-Demi f
-(B) 3211 2200 w
-7 /LucidaSansUnicode00 f
-(i) 3285 2220 w
-(,) 3310 2220 w
-(j) 3337 2220 w
-10 /LucidaSans-Demi f
-(Multiplication) 720 2500 w
-9 /LucidaTypewriter f
-(void) 920 2670 w
-(mulm3\(Matrix3) 1245 2670 w
-(A,) 2155 2670 w
-(Matrix3) 2350 2670 w
-(B\)) 2870 2670 w
-10 /S f
-(\351) 2374 2923 w
-(\353) 2374 3023 w
-10 /LucidaSans-Demi f
-(AB) 2424 2970 w
-10 /S f
-(\371) 2561 2923 w
-(\373) 2561 3023 w
-7 /LucidaSansUnicode00 f
-(i) 2610 3005 w
-(,) 2635 3005 w
-(j) 2662 3005 w
-10 /LucidaSansUnicode00 f
-10 /S f
-(=) 2747 2960 w
-10 /LucidaSansUnicode00 f
-7 /LucidaSansUnicode00 f
-(k) 2859 3060 w
-7 /S f
-(=) 2911 3060 w
-7 /LucidaSansUnicode00 f
-(0) 2961 3060 w
-15 /S f
-(S) 2888 2990 w
-7 /LucidaSansUnicode00 f
-(4) 2858 2860 w
-7 /S f
-(-) 2913 2860 w
-7 /LucidaSansUnicode00 f
-(1) 2963 2860 w
-10 /LucidaSans-Demi f
-(A) 3023 2960 w
-7 /LucidaSansUnicode00 f
-(i) 3108 2980 w
-(,) 3133 2980 w
-(k) 3160 2980 w
-10 /LucidaSans-Demi f
-(B) 3217 2960 w
-7 /LucidaSansUnicode00 f
-(k) 3291 2980 w
-(,) 3337 2980 w
-(j) 3364 2980 w
-10 /LucidaSans-Demi f
-(Transpose) 720 3340 w
-9 /LucidaTypewriter f
-(void) 920 3510 w
-(transposem3\(Matrix3) 1245 3510 w
-(M\)) 2545 3510 w
-10 /LucidaSansUnicode00 f
-(\() 2552 3750 w
-10 /LucidaSans-Demi f
-(M) 2593 3750 w
-7 /LucidaSansUnicode00 f
-(T) 2689 3710 w
-10 /LucidaSansUnicode00 f
-(\)) 2749 3750 w
-7 /LucidaSansUnicode00 f
-(i) 2793 3770 w
-(,) 2818 3770 w
-(j) 2845 3770 w
-10 /LucidaSansUnicode00 f
-10 /S f
-(=) 2930 3750 w
-10 /LucidaSansUnicode00 f
-10 /LucidaSans-Demi f
-(A) 3041 3750 w
-7 /LucidaSansUnicode00 f
-(j) 3126 3770 w
-(,) 3152 3770 w
-(i) 3179 3770 w
-10 /LucidaSans-Demi f
-(Identity) 720 4050 w
-9 /LucidaTypewriter f
-(void) 920 4220 w
-(identity3\(Matrix3) 1245 4220 w
-(M\)) 2415 4220 w
-10 /LucidaSans-Demi f
-(M) 2505 4695 w
-10 /LucidaSansUnicode00 f
-10 /S f
-(=) 2652 4695 w
-10 /LucidaSansUnicode00 f
-10 /S f
-(\351) 2771 4458 w
-(\357) 2771 4558 w
-(\357) 2771 4658 w
-(\357) 2771 4758 w
-(\357) 2771 4858 w
-(\353) 2771 4958 w
-10 /LucidaSansUnicode00 f
-(0) 2821 4915 w
-(0) 2932 4915 w
-(0) 3043 4915 w
-(1) 3154 4915 w
-(0) 2821 4775 w
-(0) 2932 4775 w
-(1) 3043 4775 w
-(0) 3154 4775 w
-(0) 2821 4635 w
-(1) 2932 4635 w
-(0) 3043 4635 w
-(0) 3154 4635 w
-(1) 2821 4495 w
-(0) 2932 4495 w
-(0) 3043 4495 w
-(0) 3154 4495 w
-10 /S f
-(\371) 3217 4458 w
-(\357) 3217 4558 w
-(\357) 3217 4658 w
-(\357) 3217 4758 w
-(\357) 3217 4858 w
-(\373) 3217 4958 w
-10 /LucidaSans-Demi f
-(Determinant) 720 5250 w
-9 /LucidaTypewriter f
-(double) 920 5420 w
-(detm3\(Matrix3) 1375 5420 w
-(M\)) 2285 5420 w
-10 /LucidaSansUnicode00 f
-(det) 567 5910 w
-(\() 731 5910 w
-10 /LucidaSans-Demi f
-(M) 772 5910 w
-10 /LucidaSansUnicode00 f
-(\)) 871 5910 w
-10 /S f
-(=) 968 5910 w
-10 /LucidaSansUnicode00 f
-10 /S f
-(-) 1079 6120 w
-10 /LucidaSansUnicode00 f
-(m) 1150 6120 w
-7 /LucidaSansUnicode00 f
-(03) 1254 6140 w
-10 /LucidaSansUnicode00 f
-(\() 1358 6120 w
-(m) 1399 6120 w
-7 /LucidaSansUnicode00 f
-(10) 1503 6140 w
-10 /LucidaSansUnicode00 f
-(\() 1607 6120 w
-(m) 1648 6120 w
-7 /LucidaSansUnicode00 f
-(21) 1752 6140 w
-10 /LucidaSansUnicode00 f
-(m) 1856 6120 w
-7 /LucidaSansUnicode00 f
-(32) 1960 6140 w
-10 /S f
-(-) 2072 6120 w
-10 /LucidaSansUnicode00 f
-(m) 2143 6120 w
-7 /LucidaSansUnicode00 f
-(22) 2247 6140 w
-10 /LucidaSansUnicode00 f
-(m) 2351 6120 w
-7 /LucidaSansUnicode00 f
-(31) 2455 6140 w
-10 /LucidaSansUnicode00 f
-(\)) 2559 6120 w
-10 /S f
-(+) 2608 6120 w
-10 /LucidaSansUnicode00 f
-(m) 2679 6120 w
-7 /LucidaSansUnicode00 f
-(11) 2783 6140 w
-10 /LucidaSansUnicode00 f
-(\() 2887 6120 w
-(m) 2928 6120 w
-7 /LucidaSansUnicode00 f
-(22) 3032 6140 w
-10 /LucidaSansUnicode00 f
-(m) 3136 6120 w
-7 /LucidaSansUnicode00 f
-(30) 3240 6140 w
-10 /S f
-(-) 3352 6120 w
-10 /LucidaSansUnicode00 f
-(m) 3423 6120 w
-7 /LucidaSansUnicode00 f
-(20) 3527 6140 w
-10 /LucidaSansUnicode00 f
-(m) 3631 6120 w
-7 /LucidaSansUnicode00 f
-(32) 3735 6140 w
-10 /LucidaSansUnicode00 f
-(\)) 3839 6120 w
-10 /S f
-(+) 3888 6120 w
-10 /LucidaSansUnicode00 f
-(m) 3959 6120 w
-7 /LucidaSansUnicode00 f
-(12) 4063 6140 w
-10 /LucidaSansUnicode00 f
-(\() 4167 6120 w
-(m) 4208 6120 w
-7 /LucidaSansUnicode00 f
-(20) 4312 6140 w
-10 /LucidaSansUnicode00 f
-(m) 4416 6120 w
-7 /LucidaSansUnicode00 f
-(31) 4520 6140 w
-10 /S f
-(-) 4632 6120 w
-10 /LucidaSansUnicode00 f
-(m) 4703 6120 w
-7 /LucidaSansUnicode00 f
-(21) 4807 6140 w
-10 /LucidaSansUnicode00 f
-(m) 4911 6120 w
-7 /LucidaSansUnicode00 f
-(30) 5015 6140 w
-10 /LucidaSansUnicode00 f
-(\)) 5119 6120 w
-(\)) 5160 6120 w
-10 /S f
-(+) 1079 5960 w
-10 /LucidaSansUnicode00 f
-(m) 1150 5960 w
-7 /LucidaSansUnicode00 f
-(02) 1254 5980 w
-10 /LucidaSansUnicode00 f
-(\() 1358 5960 w
-(m) 1399 5960 w
-7 /LucidaSansUnicode00 f
-(10) 1503 5980 w
-10 /LucidaSansUnicode00 f
-(\() 1607 5960 w
-(m) 1648 5960 w
-7 /LucidaSansUnicode00 f
-(21) 1752 5980 w
-10 /LucidaSansUnicode00 f
-(m) 1856 5960 w
-7 /LucidaSansUnicode00 f
-(33) 1960 5980 w
-10 /S f
-(-) 2072 5960 w
-10 /LucidaSansUnicode00 f
-(m) 2143 5960 w
-7 /LucidaSansUnicode00 f
-(23) 2247 5980 w
-10 /LucidaSansUnicode00 f
-(m) 2351 5960 w
-7 /LucidaSansUnicode00 f
-(31) 2455 5980 w
-10 /LucidaSansUnicode00 f
-(\)) 2559 5960 w
-10 /S f
-(+) 2608 5960 w
-10 /LucidaSansUnicode00 f
-(m) 2679 5960 w
-7 /LucidaSansUnicode00 f
-(11) 2783 5980 w
-10 /LucidaSansUnicode00 f
-(\() 2887 5960 w
-(m) 2928 5960 w
-7 /LucidaSansUnicode00 f
-(23) 3032 5980 w
-10 /LucidaSansUnicode00 f
-(m) 3136 5960 w
-7 /LucidaSansUnicode00 f
-(30) 3240 5980 w
-10 /S f
-(-) 3352 5960 w
-10 /LucidaSansUnicode00 f
-(m) 3423 5960 w
-7 /LucidaSansUnicode00 f
-(20) 3527 5980 w
-10 /LucidaSansUnicode00 f
-(m) 3631 5960 w
-7 /LucidaSansUnicode00 f
-(33) 3735 5980 w
-10 /LucidaSansUnicode00 f
-(\)) 3839 5960 w
-10 /S f
-(+) 3888 5960 w
-10 /LucidaSansUnicode00 f
-(m) 3959 5960 w
-7 /LucidaSansUnicode00 f
-(13) 4063 5980 w
-10 /LucidaSansUnicode00 f
-(\() 4167 5960 w
-(m) 4208 5960 w
-7 /LucidaSansUnicode00 f
-(20) 4312 5980 w
-10 /LucidaSansUnicode00 f
-(m) 4416 5960 w
-7 /LucidaSansUnicode00 f
-(31) 4520 5980 w
-10 /S f
-(-) 4632 5960 w
-10 /LucidaSansUnicode00 f
-(m) 4703 5960 w
-7 /LucidaSansUnicode00 f
-(21) 4807 5980 w
-10 /LucidaSansUnicode00 f
-(m) 4911 5960 w
-7 /LucidaSansUnicode00 f
-(30) 5015 5980 w
-10 /LucidaSansUnicode00 f
-(\)) 5119 5960 w
-(\)) 5160 5960 w
-10 /S f
-(-) 1079 5800 w
-10 /LucidaSansUnicode00 f
-(m) 1150 5800 w
-7 /LucidaSansUnicode00 f
-(01) 1254 5820 w
-10 /LucidaSansUnicode00 f
-(\() 1358 5800 w
-(m) 1399 5800 w
-7 /LucidaSansUnicode00 f
-(10) 1503 5820 w
-10 /LucidaSansUnicode00 f
-(\() 1607 5800 w
-(m) 1648 5800 w
-7 /LucidaSansUnicode00 f
-(22) 1752 5820 w
-10 /LucidaSansUnicode00 f
-(m) 1856 5800 w
-7 /LucidaSansUnicode00 f
-(33) 1960 5820 w
-10 /S f
-(-) 2072 5800 w
-10 /LucidaSansUnicode00 f
-(m) 2143 5800 w
-7 /LucidaSansUnicode00 f
-(23) 2247 5820 w
-10 /LucidaSansUnicode00 f
-(m) 2351 5800 w
-7 /LucidaSansUnicode00 f
-(32) 2455 5820 w
-10 /LucidaSansUnicode00 f
-(\)) 2559 5800 w
-10 /S f
-(+) 2608 5800 w
-10 /LucidaSansUnicode00 f
-(m) 2679 5800 w
-7 /LucidaSansUnicode00 f
-(12) 2783 5820 w
-10 /LucidaSansUnicode00 f
-(\() 2887 5800 w
-(m) 2928 5800 w
-7 /LucidaSansUnicode00 f
-(23) 3032 5820 w
-10 /LucidaSansUnicode00 f
-(m) 3136 5800 w
-7 /LucidaSansUnicode00 f
-(30) 3240 5820 w
-10 /S f
-(-) 3352 5800 w
-10 /LucidaSansUnicode00 f
-(m) 3423 5800 w
-7 /LucidaSansUnicode00 f
-(20) 3527 5820 w
-10 /LucidaSansUnicode00 f
-(m) 3631 5800 w
-7 /LucidaSansUnicode00 f
-(33) 3735 5820 w
-10 /LucidaSansUnicode00 f
-(\)) 3839 5800 w
-10 /S f
-(+) 3888 5800 w
-10 /LucidaSansUnicode00 f
-(m) 3959 5800 w
-7 /LucidaSansUnicode00 f
-(13) 4063 5820 w
-10 /LucidaSansUnicode00 f
-(\() 4167 5800 w
-(m) 4208 5800 w
-7 /LucidaSansUnicode00 f
-(20) 4312 5820 w
-10 /LucidaSansUnicode00 f
-(m) 4416 5800 w
-7 /LucidaSansUnicode00 f
-(32) 4520 5820 w
-10 /S f
-(-) 4632 5800 w
-10 /LucidaSansUnicode00 f
-(m) 4703 5800 w
-7 /LucidaSansUnicode00 f
-(22) 4807 5820 w
-10 /LucidaSansUnicode00 f
-(m) 4911 5800 w
-7 /LucidaSansUnicode00 f
-(30) 5015 5820 w
-10 /LucidaSansUnicode00 f
-(\)) 5119 5800 w
-(\)) 5160 5800 w
-(m) 1150 5640 w
-7 /LucidaSansUnicode00 f
-(00) 1254 5660 w
-10 /LucidaSansUnicode00 f
-(\() 1358 5640 w
-(m) 1399 5640 w
-7 /LucidaSansUnicode00 f
-(11) 1503 5660 w
-10 /LucidaSansUnicode00 f
-(\() 1607 5640 w
-(m) 1648 5640 w
-7 /LucidaSansUnicode00 f
-(22) 1752 5660 w
-10 /LucidaSansUnicode00 f
-(m) 1856 5640 w
-7 /LucidaSansUnicode00 f
-(33) 1960 5660 w
-10 /S f
-(-) 2072 5640 w
-10 /LucidaSansUnicode00 f
-(m) 2143 5640 w
-7 /LucidaSansUnicode00 f
-(23) 2247 5660 w
-10 /LucidaSansUnicode00 f
-(m) 2351 5640 w
-7 /LucidaSansUnicode00 f
-(32) 2455 5660 w
-10 /LucidaSansUnicode00 f
-(\)) 2559 5640 w
-10 /S f
-(+) 2608 5640 w
-10 /LucidaSansUnicode00 f
-(m) 2679 5640 w
-7 /LucidaSansUnicode00 f
-(12) 2783 5660 w
-10 /LucidaSansUnicode00 f
-(\() 2887 5640 w
-(m) 2928 5640 w
-7 /LucidaSansUnicode00 f
-(23) 3032 5660 w
-10 /LucidaSansUnicode00 f
-(m) 3136 5640 w
-7 /LucidaSansUnicode00 f
-(31) 3240 5660 w
-10 /S f
-(-) 3352 5640 w
-10 /LucidaSansUnicode00 f
-(m) 3423 5640 w
-7 /LucidaSansUnicode00 f
-(21) 3527 5660 w
-10 /LucidaSansUnicode00 f
-(m) 3631 5640 w
-7 /LucidaSansUnicode00 f
-(33) 3735 5660 w
-10 /LucidaSansUnicode00 f
-(\)) 3839 5640 w
-10 /S f
-(+) 3888 5640 w
-10 /LucidaSansUnicode00 f
-(m) 3959 5640 w
-7 /LucidaSansUnicode00 f
-(13) 4063 5660 w
-10 /LucidaSansUnicode00 f
-(\() 4167 5640 w
-(m) 4208 5640 w
-7 /LucidaSansUnicode00 f
-(21) 4312 5660 w
-10 /LucidaSansUnicode00 f
-(m) 4416 5640 w
-7 /LucidaSansUnicode00 f
-(32) 4520 5660 w
-10 /S f
-(-) 4632 5640 w
-10 /LucidaSansUnicode00 f
-(m) 4703 5640 w
-7 /LucidaSansUnicode00 f
-(22) 4807 5660 w
-10 /LucidaSansUnicode00 f
-(m) 4911 5640 w
-7 /LucidaSansUnicode00 f
-(31) 5015 5660 w
-10 /LucidaSansUnicode00 f
-(\)) 5119 5640 w
-(\)) 5160 5640 w
-10 /LucidaSans-Demi f
-(2.5.) 720 6420 w
-(Quaternion) 962 6420 w
-(Addition) 720 6660 w
-9 /LucidaTypewriter f
-(Quaternion) 920 6830 w
-(addq\(Quaternion) 1635 6830 w
-(q,) 2675 6830 w
-(Quaternion) 2870 6830 w
-(r\)) 3585 6830 w
-10 /LucidaSansUnicode00 f
-(q) 1974 7070 w
-10 /S f
-(+) 2053 7070 w
-10 /LucidaSansUnicode00 f
-(r) 2124 7070 w
-10 /S f
-(=) 2221 7070 w
-10 /LucidaSansUnicode00 f
-(\() 2332 7070 w
-(r) 2373 7070 w
-7 /LucidaSansUnicode00 f
-(q) 2425 7090 w
-10 /S f
-(+) 2493 7070 w
-10 /LucidaSansUnicode00 f
-(r) 2564 7070 w
-7 /LucidaSansUnicode00 f
-(r) 2616 7090 w
-10 /LucidaSansUnicode00 f
-(,) 2661 7070 w
-(i) 2741 7070 w
-7 /LucidaSansUnicode00 f
-(q) 2781 7090 w
-10 /S f
-(+) 2849 7070 w
-10 /LucidaSansUnicode00 f
-(i) 2920 7070 w
-7 /LucidaSansUnicode00 f
-(r) 2960 7090 w
-10 /LucidaSansUnicode00 f
-(,) 3005 7070 w
-(j) 3085 7070 w
-7 /LucidaSansUnicode00 f
-(q) 3126 7090 w
-10 /S f
-(+) 3194 7070 w
-10 /LucidaSansUnicode00 f
-(j) 3265 7070 w
-7 /LucidaSansUnicode00 f
-(r) 3306 7090 w
-10 /LucidaSansUnicode00 f
-(,) 3351 7070 w
-(k) 3431 7070 w
-7 /LucidaSansUnicode00 f
-(q) 3500 7090 w
-10 /S f
-(+) 3568 7070 w
-10 /LucidaSansUnicode00 f
-(k) 3639 7070 w
-7 /LucidaSansUnicode00 f
-(r) 3708 7090 w
-10 /LucidaSansUnicode00 f
-(\)) 3753 7070 w
-cleartomark
-showpage
-saveobj restore
-%%EndPage: 5 5
-%%Page: 6 6
-/saveobj save def
-mark
-6 pagesetup
-10 /LucidaSansUnicode00 f
-(\255 6 \255) 2783 480 w
-10 /LucidaSans-Demi f
-(Substraction) 720 840 w
-9 /LucidaTypewriter f
-(Quaternion) 920 1010 w
-(subq\(Quaternion) 1635 1010 w
-(q,) 2675 1010 w
-(Quaternion) 2870 1010 w
-(r\)) 3585 1010 w
-10 /LucidaSansUnicode00 f
-(q) 1974 1250 w
-10 /S f
-(-) 2053 1250 w
-10 /LucidaSansUnicode00 f
-(r) 2124 1250 w
-10 /S f
-(=) 2221 1250 w
-10 /LucidaSansUnicode00 f
-(\() 2332 1250 w
-(r) 2373 1250 w
-7 /LucidaSansUnicode00 f
-(q) 2425 1270 w
-10 /S f
-(-) 2493 1250 w
-10 /LucidaSansUnicode00 f
-(r) 2564 1250 w
-7 /LucidaSansUnicode00 f
-(r) 2616 1270 w
-10 /LucidaSansUnicode00 f
-(,) 2661 1250 w
-(i) 2741 1250 w
-7 /LucidaSansUnicode00 f
-(q) 2781 1270 w
-10 /S f
-(-) 2849 1250 w
-10 /LucidaSansUnicode00 f
-(i) 2920 1250 w
-7 /LucidaSansUnicode00 f
-(r) 2960 1270 w
-10 /LucidaSansUnicode00 f
-(,) 3005 1250 w
-(j) 3085 1250 w
-7 /LucidaSansUnicode00 f
-(q) 3126 1270 w
-10 /S f
-(-) 3194 1250 w
-10 /LucidaSansUnicode00 f
-(j) 3265 1250 w
-7 /LucidaSansUnicode00 f
-(r) 3306 1270 w
-10 /LucidaSansUnicode00 f
-(,) 3351 1250 w
-(k) 3431 1250 w
-7 /LucidaSansUnicode00 f
-(q) 3500 1270 w
-10 /S f
-(-) 3568 1250 w
-10 /LucidaSansUnicode00 f
-(k) 3639 1250 w
-7 /LucidaSansUnicode00 f
-(r) 3708 1270 w
-10 /LucidaSansUnicode00 f
-(\)) 3753 1250 w
-10 /LucidaSans-Demi f
-(Multiplication) 720 1550 w
-9 /LucidaTypewriter f
-(Quaternion) 920 1720 w
-(mulq\(Quaternion) 1635 1720 w
-(q,) 2675 1720 w
-(Quaternion) 2870 1720 w
-(r\)) 3585 1720 w
-10 /LucidaSansUnicode00 f
-(q) 1321 1965 w
-10 /S f
-(=) 1440 1965 w
-10 /LucidaSansUnicode00 f
-([) 1551 1965 w
-(r) 1592 1965 w
-7 /LucidaSansUnicode00 f
-(q) 1644 1985 w
-10 /LucidaSansUnicode00 f
-(,) 1704 1965 w
-(v) 1784 1965 w
-7 /LucidaSansUnicode21 f
-(\222) 1777 1915 w
-7 /LucidaSansUnicode00 f
-(q) 1847 1985 w
-10 /LucidaSansUnicode00 f
-(]) 1907 1965 w
-(r) 1956 1965 w
-10 /S f
-(=) 2053 1965 w
-10 /LucidaSansUnicode00 f
-([) 2164 1965 w
-(r) 2205 1965 w
-7 /LucidaSansUnicode00 f
-(r) 2257 1985 w
-10 /LucidaSansUnicode00 f
-(,) 2302 1965 w
-(v) 2382 1965 w
-7 /LucidaSansUnicode21 f
-(\222) 2375 1915 w
-7 /LucidaSansUnicode00 f
-(r) 2445 1985 w
-10 /LucidaSansUnicode00 f
-(]) 2490 1965 w
-(qr) 2539 1965 w
-10 /S f
-(=) 2699 1965 w
-10 /LucidaSansUnicode00 f
-([) 2810 1965 w
-(r) 2851 1965 w
-7 /LucidaSansUnicode00 f
-(q) 2903 1985 w
-10 /LucidaSansUnicode00 f
-(r) 2963 1965 w
-7 /LucidaSansUnicode00 f
-(r) 3015 1985 w
-10 /S f
-(-) 3068 1965 w
-10 /LucidaSansUnicode00 f
-(v) 3139 1965 w
-7 /LucidaSansUnicode21 f
-(\222) 3132 1915 w
-7 /LucidaSansUnicode00 f
-(q) 3202 1985 w
-10 /LucidaSansUnicode20 f
-(") 3262 1965 w
-10 /LucidaSansUnicode00 f
-(v) 3326 1965 w
-7 /LucidaSansUnicode21 f
-(\222) 3319 1915 w
-7 /LucidaSansUnicode00 f
-(r) 3389 1985 w
-10 /LucidaSansUnicode00 f
-(,) 3434 1965 w
-(v) 3514 1965 w
-7 /LucidaSansUnicode21 f
-(\222) 3507 1915 w
-7 /LucidaSansUnicode00 f
-(r) 3577 1985 w
-10 /LucidaSansUnicode00 f
-(r) 3622 1965 w
-7 /LucidaSansUnicode00 f
-(q) 3674 1985 w
-10 /S f
-(+) 3742 1965 w
-10 /LucidaSansUnicode00 f
-(v) 3813 1965 w
-7 /LucidaSansUnicode21 f
-(\222) 3806 1915 w
-7 /LucidaSansUnicode00 f
-(q) 3876 1985 w
-10 /LucidaSansUnicode00 f
-(r) 3936 1965 w
-7 /LucidaSansUnicode00 f
-(r) 3988 1985 w
-10 /S f
-(+) 4041 1965 w
-10 /LucidaSansUnicode00 f
-(v) 4112 1965 w
-7 /LucidaSansUnicode21 f
-(\222) 4105 1915 w
-7 /LucidaSansUnicode00 f
-(q) 4175 1985 w
-10 /LucidaSansUnicode00 f
-(Xv) 4235 1965 w
-7 /LucidaSansUnicode21 f
-(\222) 4291 1915 w
-7 /LucidaSansUnicode00 f
-(r) 4361 1985 w
-10 /LucidaSansUnicode00 f
-(]) 4406 1965 w
-10 /LucidaSans-Demi f
-(Scalar Multiplication) 720 2265 w
-9 /LucidaTypewriter f
-(Quaternion) 920 2435 w
-(smulq\(Quaternion) 1635 2435 w
-(q,) 2740 2435 w
-(double) 2935 2435 w
-(s\)) 3390 2435 w
-10 /LucidaSansUnicode00 f
-(qs) 2243 2675 w
-10 /S f
-(=) 2413 2675 w
-10 /LucidaSansUnicode00 f
-([) 2524 2675 w
-(r) 2565 2675 w
-7 /LucidaSansUnicode00 f
-(q) 2617 2695 w
-10 /LucidaSansUnicode00 f
-(s) 2677 2675 w
-(,) 2736 2675 w
-(i) 2816 2675 w
-7 /LucidaSansUnicode00 f
-(q) 2856 2695 w
-10 /LucidaSansUnicode00 f
-(s) 2916 2675 w
-(,) 2975 2675 w
-(j) 3055 2675 w
-7 /LucidaSansUnicode00 f
-(q) 3096 2695 w
-10 /LucidaSansUnicode00 f
-(s) 3156 2675 w
-(,) 3215 2675 w
-(k) 3295 2675 w
-7 /LucidaSansUnicode00 f
-(q) 3364 2695 w
-10 /LucidaSansUnicode00 f
-(s) 3424 2675 w
-(]) 3483 2675 w
-10 /LucidaSans-Demi f
-(Inverse) 720 2975 w
-9 /LucidaTypewriter f
-(Quaternion) 920 3145 w
-(invq\(Quaternion) 1635 3145 w
-(q\)) 2675 3145 w
-10 /LucidaSansUnicode00 f
-(q) 2009 3470 w
-7 /S f
-(-) 2083 3430 w
-7 /LucidaSansUnicode00 f
-(1) 2133 3430 w
-10 /LucidaSansUnicode00 f
-10 /S f
-(=) 2241 3470 w
-10 /LucidaSansUnicode00 f
-10 /S f
-(\354) 2360 3383 w
-(\357) 2360 3483 w
-(\356) 2360 3583 w
-10 /LucidaSansUnicode00 f
-(|) 2434 3567 w
-(q) 2482 3550 w
-(|) 2545 3567 w
-7 /LucidaSansUnicode00 f
-(2) 2583 3510 w
-10 /LucidaSansUnicode00 f
-(r) 2514 3410 w
-10 /S1 f
-(_) 2419 3440 w
-(____) 2450 3440 w
-10 /LucidaSansUnicode00 f
-(,) 2668 3470 w
-(|) 2781 3567 w
-(q) 2829 3550 w
-(|) 2892 3567 w
-7 /LucidaSansUnicode00 f
-(2) 2930 3510 w
-10 /S f
-(-) 2832 3410 w
-10 /LucidaSansUnicode00 f
-(i) 2903 3410 w
-10 /S1 f
-(_) 2767 3440 w
-(____) 2798 3440 w
-10 /LucidaSansUnicode00 f
-(,) 3016 3470 w
-(|) 3129 3567 w
-(q) 3177 3550 w
-(|) 3240 3567 w
-7 /LucidaSansUnicode00 f
-(2) 3278 3510 w
-10 /S f
-(-) 3179 3410 w
-10 /LucidaSansUnicode00 f
-(j) 3250 3410 w
-10 /S1 f
-(_) 3114 3440 w
-(____) 3145 3440 w
-10 /LucidaSansUnicode00 f
-(,) 3363 3470 w
-(|) 3476 3567 w
-(q) 3524 3550 w
-(|) 3587 3567 w
-7 /LucidaSansUnicode00 f
-(2) 3625 3510 w
-10 /S f
-(-) 3512 3410 w
-10 /LucidaSansUnicode00 f
-(k) 3583 3410 w
-10 /S1 f
-(_) 3461 3440 w
-(____) 3492 3440 w
-10 /S f
-(\374) 3702 3383 w
-(\357) 3702 3483 w
-(\376) 3702 3583 w
-10 /LucidaSans-Demi f
-(Magnitude/Length) 720 3875 w
-9 /LucidaTypewriter f
-(double) 920 4045 w
-(qlen\(Quaternion) 1375 4045 w
-(q\)) 2415 4045 w
-10 /LucidaSansUnicode00 f
-(|) 2337 4320 w
-(q) 2385 4303 w
-(|) 2448 4320 w
-10 /S f
-(=) 2544 4303 w
-10 /LucidaSansUnicode00 f
-12 /LucidaSansUnicode22 f
-(\032) 2655 4303 w
-12 /S f
-(`) 2752 4303 w
-(```````````) 2755 4303 w
-10 /LucidaSansUnicode00 f
-(r) 2760 4303 w
-7 /LucidaSansUnicode00 f
-(2) 2806 4263 w
-10 /S f
-(+) 2874 4303 w
-10 /LucidaSansUnicode00 f
-(i) 2945 4303 w
-7 /LucidaSansUnicode00 f
-(2) 2979 4263 w
-10 /S f
-(+) 3047 4303 w
-10 /LucidaSansUnicode00 f
-(j) 3118 4303 w
-7 /LucidaSansUnicode00 f
-(2) 3153 4263 w
-10 /S f
-(+) 3221 4303 w
-10 /LucidaSansUnicode00 f
-(k) 3292 4303 w
-7 /LucidaSansUnicode00 f
-(2) 3355 4263 w
-cleartomark
-showpage
-saveobj restore
-%%EndPage: 6 6
-%%Trailer
-done
-%%DocumentFonts: LucidaSansUnicode20 LucidaSansUnicode21 LucidaSansUnicode22 S1 S LucidaSansUnicode00 LucidaSans-Demi LucidaSans-Italic LucidaTypewriter
-%%Pages: 6
diff --git a/libgeometry/doc/mkfile b/libgeometry/doc/mkfile
deleted file mode 100644
index 8fb6d1c..0000000
--- a/libgeometry/doc/mkfile
+++ /dev/null
@@ -1,15 +0,0 @@
-FONTS='.FP lucidasans'
-DOCNAME=libgeometry
-
-all:VQ: $DOCNAME.ps $DOCNAME.pdf
-
-clean:VQ:
- rm -f $DOCNAME.ps $DOCNAME.pdf
-
-$DOCNAME.ps:V: $DOCNAME.ms
- {echo $FONTS; cat $prereq}> _$prereq
- eval `{doctype _$prereq} | lp -dstdout > $target && rm -f _$prereq
-
-$DOCNAME.pdf:V: $DOCNAME.ps
- cat /sys/doc/docfonts $prereq > _$prereq
- ps2pdf _$prereq $target && rm -f _$prereq
diff --git a/libgeometry/matrix.c b/libgeometry/matrix.c
deleted file mode 100644
index b7efc84..0000000
--- a/libgeometry/matrix.c
+++ /dev/null
@@ -1,348 +0,0 @@
-#include <u.h>
-#include <libc.h>
-#include "../geometry.h"
-
-/* 2D */
-
-void
-identity(Matrix m)
-{
- memset(m, 0, 3*3*sizeof(double));
- m[0][0] = m[1][1] = m[2][2] = 1;
-}
-
-void
-addm(Matrix a, Matrix b)
-{
- int i, j;
-
- for(i = 0; i < 3; i++)
- for(j = 0; j < 3; j++)
- a[i][j] += b[i][j];
-}
-
-void
-subm(Matrix a, Matrix b)
-{
- int i, j;
-
- for(i = 0; i < 3; i++)
- for(j = 0; j < 3; j++)
- a[i][j] -= b[i][j];
-}
-
-void
-mulm(Matrix a, Matrix b)
-{
- int i, j, k;
- Matrix tmp;
-
- for(i = 0; i < 3; i++)
- for(j = 0; j < 3; j++){
- tmp[i][j] = 0;
- for(k = 0; k < 3; k++)
- tmp[i][j] += a[i][k]*b[k][j];
- }
- memmove(a, tmp, 3*3*sizeof(double));
-}
-
-void
-smulm(Matrix m, double s)
-{
- int i, j;
-
- for(i = 0; i < 3; i++)
- for(j = 0; j < 3; j++)
- m[i][j] *= s;
-}
-
-void
-transposem(Matrix m)
-{
- int i, j;
- double tmp;
-
- for(i = 0; i < 3; i++)
- for(j = i; j < 3; j++){
- tmp = m[i][j];
- m[i][j] = m[j][i];
- m[j][i] = tmp;
- }
-}
-
-double
-detm(Matrix m)
-{
- return m[0][0]*(m[1][1]*m[2][2] - m[1][2]*m[2][1])+
- m[0][1]*(m[1][2]*m[2][0] - m[1][0]*m[2][2])+
- m[0][2]*(m[1][0]*m[2][1] - m[1][1]*m[2][0]);
-}
-
-double
-tracem(Matrix m)
-{
- return m[0][0] + m[1][1] + m[2][2];
-}
-
-void
-adjm(Matrix m)
-{
- Matrix tmp;
-
- tmp[0][0] = m[1][1]*m[2][2] - m[1][2]*m[2][1];
- tmp[0][1] = -m[0][1]*m[2][2] + m[0][2]*m[2][1];
- tmp[0][2] = m[0][1]*m[1][2] - m[0][2]*m[1][1];
- tmp[1][0] = -m[1][0]*m[2][2] + m[1][2]*m[2][0];
- tmp[1][1] = m[0][0]*m[2][2] - m[0][2]*m[2][0];
- tmp[1][2] = -m[0][0]*m[1][2] + m[0][2]*m[1][0];
- tmp[2][0] = m[1][0]*m[2][1] - m[1][1]*m[2][0];
- tmp[2][1] = -m[0][0]*m[2][1] + m[0][1]*m[2][0];
- tmp[2][2] = m[0][0]*m[1][1] - m[0][1]*m[1][0];
- memmove(m, tmp, 3*3*sizeof(double));
-}
-
-/* Cayley-Hamilton */
-//void
-//invertm(Matrix m)
-//{
-// Matrix m², r;
-// double det, trm, trm²;
-//
-// det = detm(m);
-// if(det == 0)
-// return;
-// trm = tracem(m);
-// memmove(m², m, 3*3*sizeof(double));
-// mulm(m², m²);
-// trm² = tracem(m²);
-// identity(r);
-// smulm(r, (trm*trm - trm²)/2);
-// smulm(m, trm);
-// subm(r, m);
-// addm(r, m²);
-// smulm(r, 1/det);
-// memmove(m, r, 3*3*sizeof(double));
-//}
-
-/* Cramer's */
-void
-invm(Matrix m)
-{
- double det;
-
- det = detm(m);
- if(det == 0)
- return; /* singular matrices are not invertible */
- adjm(m);
- smulm(m, 1/det);
-}
-
-Point2
-xform(Point2 p, Matrix m)
-{
- return (Point2){
- p.x*m[0][0] + p.y*m[0][1] + p.w*m[0][2],
- p.x*m[1][0] + p.y*m[1][1] + p.w*m[1][2],
- p.x*m[2][0] + p.y*m[2][1] + p.w*m[2][2]
- };
-}
-
-/* 3D */
-
-void
-identity3(Matrix3 m)
-{
- memset(m, 0, 4*4*sizeof(double));
- m[0][0] = m[1][1] = m[2][2] = m[3][3] = 1;
-}
-
-void
-addm3(Matrix3 a, Matrix3 b)
-{
- int i, j;
-
- for(i = 0; i < 4; i++)
- for(j = 0; j < 4; j++)
- a[i][j] += b[i][j];
-}
-
-void
-subm3(Matrix3 a, Matrix3 b)
-{
- int i, j;
-
- for(i = 0; i < 4; i++)
- for(j = 0; j < 4; j++)
- a[i][j] -= b[i][j];
-}
-
-void
-mulm3(Matrix3 a, Matrix3 b)
-{
- int i, j, k;
- Matrix3 tmp;
-
- for(i = 0; i < 4; i++)
- for(j = 0; j < 4; j++){
- tmp[i][j] = 0;
- for(k = 0; k < 4; k++)
- tmp[i][j] += a[i][k]*b[k][j];
- }
- memmove(a, tmp, 4*4*sizeof(double));
-}
-
-void
-smulm3(Matrix3 m, double s)
-{
- int i, j;
-
- for(i = 0; i < 4; i++)
- for(j = 0; j < 4; j++)
- m[i][j] *= s;
-}
-
-void
-transposem3(Matrix3 m)
-{
- int i, j;
- double tmp;
-
- for(i = 0; i < 4; i++)
- for(j = i; j < 4; j++){
- tmp = m[i][j];
- m[i][j] = m[j][i];
- m[j][i] = tmp;
- }
-}
-
-double
-detm3(Matrix3 m)
-{
- return m[0][0]*(m[1][1]*(m[2][2]*m[3][3] - m[2][3]*m[3][2])+
- m[1][2]*(m[2][3]*m[3][1] - m[2][1]*m[3][3])+
- m[1][3]*(m[2][1]*m[3][2] - m[2][2]*m[3][1]))
- -m[0][1]*(m[1][0]*(m[2][2]*m[3][3] - m[2][3]*m[3][2])+
- m[1][2]*(m[2][3]*m[3][0] - m[2][0]*m[3][3])+
- m[1][3]*(m[2][0]*m[3][2] - m[2][2]*m[3][0]))
- +m[0][2]*(m[1][0]*(m[2][1]*m[3][3] - m[2][3]*m[3][1])+
- m[1][1]*(m[2][3]*m[3][0] - m[2][0]*m[3][3])+
- m[1][3]*(m[2][0]*m[3][1] - m[2][1]*m[3][0]))
- -m[0][3]*(m[1][0]*(m[2][1]*m[3][2] - m[2][2]*m[3][1])+
- m[1][1]*(m[2][2]*m[3][0] - m[2][0]*m[3][2])+
- m[1][2]*(m[2][0]*m[3][1] - m[2][1]*m[3][0]));
-}
-
-double
-tracem3(Matrix3 m)
-{
- return m[0][0] + m[1][1] + m[2][2] + m[3][3];
-}
-
-void
-adjm3(Matrix3 m)
-{
- Matrix3 tmp;
-
- tmp[0][0]=m[1][1]*(m[2][2]*m[3][3] - m[2][3]*m[3][2])+
- m[2][1]*(m[1][3]*m[3][2] - m[1][2]*m[3][3])+
- m[3][1]*(m[1][2]*m[2][3] - m[1][3]*m[2][2]);
- tmp[0][1]=m[0][1]*(m[2][3]*m[3][2] - m[2][2]*m[3][3])+
- m[2][1]*(m[0][2]*m[3][3] - m[0][3]*m[3][2])+
- m[3][1]*(m[0][3]*m[2][2] - m[0][2]*m[2][3]);
- tmp[0][2]=m[0][1]*(m[1][2]*m[3][3] - m[1][3]*m[3][2])+
- m[1][1]*(m[0][3]*m[3][2] - m[0][2]*m[3][3])+
- m[3][1]*(m[0][2]*m[1][3] - m[0][3]*m[1][2]);
- tmp[0][3]=m[0][1]*(m[1][3]*m[2][2] - m[1][2]*m[2][3])+
- m[1][1]*(m[0][2]*m[2][3] - m[0][3]*m[2][2])+
- m[2][1]*(m[0][3]*m[1][2] - m[0][2]*m[1][3]);
- tmp[1][0]=m[1][0]*(m[2][3]*m[3][2] - m[2][2]*m[3][3])+
- m[2][0]*(m[1][2]*m[3][3] - m[1][3]*m[3][2])+
- m[3][0]*(m[1][3]*m[2][2] - m[1][2]*m[2][3]);
- tmp[1][1]=m[0][0]*(m[2][2]*m[3][3] - m[2][3]*m[3][2])+
- m[2][0]*(m[0][3]*m[3][2] - m[0][2]*m[3][3])+
- m[3][0]*(m[0][2]*m[2][3] - m[0][3]*m[2][2]);
- tmp[1][2]=m[0][0]*(m[1][3]*m[3][2] - m[1][2]*m[3][3])+
- m[1][0]*(m[0][2]*m[3][3] - m[0][3]*m[3][2])+
- m[3][0]*(m[0][3]*m[1][2] - m[0][2]*m[1][3]);
- tmp[1][3]=m[0][0]*(m[1][2]*m[2][3] - m[1][3]*m[2][2])+
- m[1][0]*(m[0][3]*m[2][2] - m[0][2]*m[2][3])+
- m[2][0]*(m[0][2]*m[1][3] - m[0][3]*m[1][2]);
- tmp[2][0]=m[1][0]*(m[2][1]*m[3][3] - m[2][3]*m[3][1])+
- m[2][0]*(m[1][3]*m[3][1] - m[1][1]*m[3][3])+
- m[3][0]*(m[1][1]*m[2][3] - m[1][3]*m[2][1]);
- tmp[2][1]=m[0][0]*(m[2][3]*m[3][1] - m[2][1]*m[3][3])+
- m[2][0]*(m[0][1]*m[3][3] - m[0][3]*m[3][1])+
- m[3][0]*(m[0][3]*m[2][1] - m[0][1]*m[2][3]);
- tmp[2][2]=m[0][0]*(m[1][1]*m[3][3] - m[1][3]*m[3][1])+
- m[1][0]*(m[0][3]*m[3][1] - m[0][1]*m[3][3])+
- m[3][0]*(m[0][1]*m[1][3] - m[0][3]*m[1][1]);
- tmp[2][3]=m[0][0]*(m[1][3]*m[2][1] - m[1][1]*m[2][3])+
- m[1][0]*(m[0][1]*m[2][3] - m[0][3]*m[2][1])+
- m[2][0]*(m[0][3]*m[1][1] - m[0][1]*m[1][3]);
- tmp[3][0]=m[1][0]*(m[2][2]*m[3][1] - m[2][1]*m[3][2])+
- m[2][0]*(m[1][1]*m[3][2] - m[1][2]*m[3][1])+
- m[3][0]*(m[1][2]*m[2][1] - m[1][1]*m[2][2]);
- tmp[3][1]=m[0][0]*(m[2][1]*m[3][2] - m[2][2]*m[3][1])+
- m[2][0]*(m[0][2]*m[3][1] - m[0][1]*m[3][2])+
- m[3][0]*(m[0][1]*m[2][2] - m[0][2]*m[2][1]);
- tmp[3][2]=m[0][0]*(m[1][2]*m[3][1] - m[1][1]*m[3][2])+
- m[1][0]*(m[0][1]*m[3][2] - m[0][2]*m[3][1])+
- m[3][0]*(m[0][2]*m[1][1] - m[0][1]*m[1][2]);
- tmp[3][3]=m[0][0]*(m[1][1]*m[2][2] - m[1][2]*m[2][1])+
- m[1][0]*(m[0][2]*m[2][1] - m[0][1]*m[2][2])+
- m[2][0]*(m[0][1]*m[1][2] - m[0][2]*m[1][1]);
- memmove(m, tmp, 4*4*sizeof(double));
-}
-
-/* Cayley-Hamilton */
-//void
-//invertm3(Matrix3 m)
-//{
-// Matrix3 m², m³, r;
-// double det, trm, trm², trm³;
-//
-// det = detm3(m);
-// if(det == 0)
-// return;
-// trm = tracem3(m);
-// memmove(m³, m, 4*4*sizeof(double));
-// mulm(m³, m³);
-// mulm(m³, m);
-// trm³ = tracem3(m³);
-// memmove(m², m, 4*4*sizeof(double));
-// mulm(m², m²);
-// trm² = tracem3(m²);
-// identity3(r);
-// smulm3(r, (trm*trm*trm - 3*trm*trm² + 2*trm³)/6);
-// smulm3(m, (trm*trm - trm²)/2);
-// smulm3(m², trm);
-// subm(r, m);
-// addm(r, m²);
-// subm(r, m³);
-// smulm(r, 1/det);
-// memmove(m, r, 4*4*sizeof(double));
-//}
-
-/* Cramer's */
-void
-invm3(Matrix3 m)
-{
- double det;
-
- det = detm3(m);
- if(det == 0)
- return; /* singular matrices are not invertible */
- adjm3(m);
- smulm3(m, 1/det);
-}
-
-Point3
-xform3(Point3 p, Matrix3 m)
-{
- return (Point3){
- p.x*m[0][0] + p.y*m[0][1] + p.z*m[0][2] + p.w*m[0][3],
- p.x*m[1][0] + p.y*m[1][1] + p.z*m[1][2] + p.w*m[1][3],
- p.x*m[2][0] + p.y*m[2][1] + p.z*m[2][2] + p.w*m[2][3],
- p.x*m[3][0] + p.y*m[3][1] + p.z*m[3][2] + p.w*m[3][3],
- };
-}
diff --git a/libgeometry/mkfile b/libgeometry/mkfile
deleted file mode 100644
index 5c7d79f..0000000
--- a/libgeometry/mkfile
+++ /dev/null
@@ -1,13 +0,0 @@
-</$objtype/mkfile
-
-LIB=../libgeometry.a$O
-OFILES=\
- point.$O\
- matrix.$O\
- quaternion.$O\
- rframe.$O\
- triangle.$O\
-
-HFILES=../geometry.h
-
-</sys/src/cmd/mklib
diff --git a/libgeometry/point.c b/libgeometry/point.c
deleted file mode 100644
index 657eb4c..0000000
--- a/libgeometry/point.c
+++ /dev/null
@@ -1,161 +0,0 @@
-#include <u.h>
-#include <libc.h>
-#include "../geometry.h"
-
-/* 2D */
-
-Point2
-Pt2(double x, double y, double w)
-{
- return (Point2){x, y, w};
-}
-
-Point2
-Vec2(double x, double y)
-{
- return (Point2){x, y, 0};
-}
-
-Point2
-addpt2(Point2 a, Point2 b)
-{
- return (Point2){a.x+b.x, a.y+b.y, a.w+b.w};
-}
-
-Point2
-subpt2(Point2 a, Point2 b)
-{
- return (Point2){a.x-b.x, a.y-b.y, a.w-b.w};
-}
-
-Point2
-mulpt2(Point2 p, double s)
-{
- return (Point2){p.x*s, p.y*s, p.w*s};
-}
-
-Point2
-divpt2(Point2 p, double s)
-{
- return (Point2){p.x/s, p.y/s, p.w/s};
-}
-
-Point2
-lerp2(Point2 a, Point2 b, double t)
-{
- if(t < 0) t = 0;
- if(t > 1) t = 1;
- return (Point2){
- (1 - t)*a.x + t*b.x,
- (1 - t)*a.y + t*b.y,
- (1 - t)*a.w + t*b.w
- };
-}
-
-double
-dotvec2(Point2 a, Point2 b)
-{
- return a.x*b.x + a.y*b.y;
-}
-
-double
-vec2len(Point2 v)
-{
- return sqrt(dotvec2(v, v));
-}
-
-Point2
-normvec2(Point2 v)
-{
- double len;
-
- len = vec2len(v);
- if(len == 0)
- return (Point2){0, 0, 0};
- return (Point2){v.x/len, v.y/len, 0};
-}
-
-/* 3D */
-
-Point3
-Pt3(double x, double y, double z, double w)
-{
- return (Point3){x, y, z, w};
-}
-
-Point3
-Vec3(double x, double y, double z)
-{
- return (Point3){x, y, z, 0};
-}
-
-Point3
-addpt3(Point3 a, Point3 b)
-{
- return (Point3){a.x+b.x, a.y+b.y, a.z+b.z, a.w+b.w};
-}
-
-Point3
-subpt3(Point3 a, Point3 b)
-{
- return (Point3){a.x-b.x, a.y-b.y, a.z-b.z, a.w-b.w};
-}
-
-Point3
-mulpt3(Point3 p, double s)
-{
- return (Point3){p.x*s, p.y*s, p.z*s, p.w*s};
-}
-
-Point3
-divpt3(Point3 p, double s)
-{
- return (Point3){p.x/s, p.y/s, p.z/s, p.w/s};
-}
-
-Point3
-lerp3(Point3 a, Point3 b, double t)
-{
- if(t < 0) t = 0;
- if(t > 1) t = 1;
- return (Point3){
- (1 - t)*a.x + t*b.x,
- (1 - t)*a.y + t*b.y,
- (1 - t)*a.z + t*b.z,
- (1 - t)*a.w + t*b.w
- };
-}
-
-double
-dotvec3(Point3 a, Point3 b)
-{
- return a.x*b.x + a.y*b.y + a.z*b.z;
-}
-
-Point3
-crossvec3(Point3 a, Point3 b)
-{
- return (Point3){
- a.y*b.z - a.z*b.y,
- a.z*b.x - a.x*b.z,
- a.x*b.y - a.y*b.x,
- 0
- };
-}
-
-double
-vec3len(Point3 v)
-{
- return sqrt(dotvec3(v, v));
-}
-
-Point3
-normvec3(Point3 v)
-{
- double len;
-
- len = vec3len(v);
- if(len == 0)
- return (Point3){0, 0, 0, 0};
- return (Point3){v.x/len, v.y/len, v.z/len, 0};
-}
diff --git a/libgeometry/quaternion.c b/libgeometry/quaternion.c
deleted file mode 100644
index b8eaa88..0000000
--- a/libgeometry/quaternion.c
+++ /dev/null
@@ -1,90 +0,0 @@
-#include <u.h>
-#include <libc.h>
-#include "../geometry.h"
-
-Quaternion
-Quat(double r, double i, double j, double k)
-{
- return (Quaternion){r, i, j, k};
-}
-
-Quaternion
-Quatvec(double s, Point3 v)
-{
- return (Quaternion){s, v.x, v.y, v.z};
-}
-
-Quaternion
-addq(Quaternion a, Quaternion b)
-{
- return (Quaternion){a.r+b.r, a.i+b.i, a.j+b.j, a.k+b.k};
-}
-
-Quaternion
-subq(Quaternion a, Quaternion b)
-{
- return (Quaternion){a.r-b.r, a.i-b.i, a.j-b.j, a.k-b.k};
-}
-
-Quaternion
-mulq(Quaternion q, Quaternion r)
-{
- Point3 qv, rv, tmp;
-
- qv = Vec3(q.i, q.j, q.k);
- rv = Vec3(r.i, r.j, r.k);
- tmp = addpt3(addpt3(mulpt3(rv, q.r), mulpt3(qv, r.r)), crossvec3(qv, rv));
- return (Quaternion){q.r*r.r - dotvec3(qv, rv), tmp.x, tmp.y, tmp.z};
-}
-
-Quaternion
-smulq(Quaternion q, double s)
-{
- return (Quaternion){q.r*s, q.i*s, q.j*s, q.k*s};
-}
-
-Quaternion
-sdivq(Quaternion q, double s)
-{
- return (Quaternion){q.r/s, q.i/s, q.j/s, q.k/s};
-}
-
-double
-dotq(Quaternion q, Quaternion r)
-{
- return q.r*r.r + q.i*r.i + q.j*r.j + q.k*r.k;
-}
-
-Quaternion
-invq(Quaternion q)
-{
- double len²;
-
- len² = dotq(q, q);
- if(len² == 0)
- return (Quaternion){0, 0, 0, 0};
- return (Quaternion){q.r/len², -q.i/len², -q.j/len², -q.k/len²};
-}
-
-double
-qlen(Quaternion q)
-{
- return sqrt(q.r*q.r + q.i*q.i + q.j*q.j + q.k*q.k);
-}
-
-Quaternion
-normq(Quaternion q)
-{
- return sdivq(q, qlen(q));
-}
-
-Point3
-qrotate(Point3 p, Point3 axis, double angle)
-{
- Quaternion qaxis, qr;
-
- angle /= 2;
- qaxis = Quatvec(cos(angle), mulpt3(axis, sin(angle)));
- qr = mulq(mulq(qaxis, Quatvec(0, p)), invq(qaxis));
- return Vec3(qr.i, qr.j, qr.k);
-}
diff --git a/libgeometry/rframe.c b/libgeometry/rframe.c
deleted file mode 100644
index 06d63f2..0000000
--- a/libgeometry/rframe.c
+++ /dev/null
@@ -1,51 +0,0 @@
-#include <u.h>
-#include <libc.h>
-#include "../geometry.h"
-
-Point2
-rframexform(Point2 p, RFrame rf)
-{
- Matrix m = {
- rf.bx.x, rf.bx.y, -dotvec2(rf.bx, rf.p),
- rf.by.x, rf.by.y, -dotvec2(rf.by, rf.p),
- 0, 0, 1,
- };
- return xform(p, m);
-}
-
-Point3
-rframexform3(Point3 p, RFrame3 rf)
-{
- Matrix3 m = {
- rf.bx.x, rf.bx.y, rf.bx.z, -dotvec3(rf.bx, rf.p),
- rf.by.x, rf.by.y, rf.by.z, -dotvec3(rf.by, rf.p),
- rf.bz.x, rf.bz.y, rf.bz.z, -dotvec3(rf.bz, rf.p),
- 0, 0, 0, 1,
- };
- return xform3(p, m);
-}
-
-Point2
-invrframexform(Point2 p, RFrame rf)
-{
- Matrix m = {
- rf.bx.x, rf.bx.y, -dotvec2(rf.bx, rf.p),
- rf.by.x, rf.by.y, -dotvec2(rf.by, rf.p),
- 0, 0, 1,
- };
- invm(m);
- return xform(p, m);
-}
-
-Point3
-invrframexform3(Point3 p, RFrame3 rf)
-{
- Matrix3 m = {
- rf.bx.x, rf.bx.y, rf.bx.z, -dotvec3(rf.bx, rf.p),
- rf.by.x, rf.by.y, rf.by.z, -dotvec3(rf.by, rf.p),
- rf.bz.x, rf.bz.y, rf.bz.z, -dotvec3(rf.bz, rf.p),
- 0, 0, 0, 1,
- };
- invm3(m);
- return xform3(p, m);
-}
diff --git a/libgeometry/triangle.c b/libgeometry/triangle.c
deleted file mode 100644
index a8bbf0f..0000000
--- a/libgeometry/triangle.c
+++ /dev/null
@@ -1,9 +0,0 @@
-#include <u.h>
-#include <libc.h>
-#include "../geometry.h"
-
-Point3
-centroid(Triangle3 t)
-{
- return divpt3(addpt3(t.p0, addpt3(t.p1, t.p2)), 3);
-}
diff --git a/libgraphics/camera.c b/libgraphics/camera.c
deleted file mode 100644
index bb55490..0000000
--- a/libgraphics/camera.c
+++ /dev/null
@@ -1,104 +0,0 @@
-#include <u.h>
-#include <libc.h>
-#include <draw.h>
-#include <memdraw.h>
-#include "../geometry.h"
-#include "../graphics.h"
-
-static int
-max(int a, int b)
-{
- return a > b ? a : b;
-}
-
-static void
-verifycfg(Camera *c)
-{
- assert(c->viewport.fb != nil);
- if(c->ptype == Ppersp)
- assert(c->fov > 0 && c->fov < 360);
- assert(c->clipn > 0 && c->clipn < c->clipf);
-}
-
-static void
-updatefb(Camera *c, Rectangle r, ulong chan)
-{
- Memimage *fb;
-
- fb = allocmemimage(r, chan);
- if(fb == nil)
- sysfatal("allocmemimage: %r");
- c->viewport.fb = fb;
- c->viewport.p = Pt2(r.min.x,r.max.y,1);
-}
-
-Camera*
-alloccamera(Rectangle r, ulong chan)
-{
- Camera *c;
-
- c = malloc(sizeof(Camera));
- if(c == nil)
- sysfatal("malloc: %r");
- memset(c, 0, sizeof *c);
- c->viewport.bx = Vec2(1,0);
- c->viewport.by = Vec2(0,-1);
- updatefb(c, r, chan);
- c->updatefb = updatefb;
-}
-
-void
-configcamera(Camera *c, double fov, double n, double f, Projection p)
-{
- c->fov = fov;
- c->clipn = n;
- c->clipf = f;
- c->ptype = p;
- reloadcamera(c);
-}
-
-void
-placecamera(Camera *c, Point3 p, Point3 focus, Point3 up)
-{
- c->p = p;
- if(focus.w == 0)
- c->bz = focus;
- else
- c->bz = normvec3(subpt3(c->p, focus));
- c->bx = normvec3(crossvec3(up, c->bz));
- c->by = crossvec3(c->bz, c->bx);
-}
-
-void
-aimcamera(Camera *c, Point3 focus)
-{
- placecamera(c, c->p, focus, c->by);
-}
-
-void
-reloadcamera(Camera *c)
-{
- double a;
- double l, r, b, t;
-
- verifycfg(c);
- switch(c->ptype){
- case Portho:
- /*
- r = Dx(c->viewport.fb->r)/2;
- t = Dy(c->viewport.fb->r)/2;
- l = -r;
- b = -t;
- */
- l = t = 0;
- r = Dx(c->viewport.fb->r);
- b = Dy(c->viewport.fb->r);
- orthographic(c->proj, l, r, b, t, c->clipn, c->clipf);
- break;
- case Ppersp:
- a = (double)Dx(c->viewport.fb->r)/Dy(c->viewport.fb->r);
- perspective(c->proj, c->fov, a, c->clipn, c->clipf);
- break;
- default: sysfatal("unknown projection type");
- }
-}
diff --git a/libgraphics/doc/libgraphics.ms b/libgraphics/doc/libgraphics.ms
deleted file mode 100644
index 87a23a7..0000000
--- a/libgraphics/doc/libgraphics.ms
+++ /dev/null
@@ -1,34 +0,0 @@
-.TL
-libgraphics
-.AU
-Rodrigo G. López
-.sp
-rgl@antares-labs.eu
-.AI
-Antares Telecom Laboratories
-Albatera, Alicante
-.FS
-ACHTUNG! this is a
-.B "WORK IN PROGRESS"
-.FE
-.NH 1
-Data Structures
-.NH 2
-Camera
-.P1
-struct Camera {
- RFrame3; /* VCS */
- Image *viewport;
- double fov; /* vertical FOV */
- struct {
- double n, f; /* near and far clipping planes */
- } clip;
- Projection ptype;
- Matrix3 proj; /* VCS to viewport xform */
-};
-.P2
-.PP
-A camera is an image capturing entity, analog to the real world device
-we all know, that allows us to see the virtual 3-D world by projecting
-it into a viewport we can attach to a screen or window for real-time
-visualization or write out into a file.
diff --git a/libgraphics/doc/libgraphics.pdf b/libgraphics/doc/libgraphics.pdf
deleted file mode 100644
index 0291710..0000000
--- a/libgraphics/doc/libgraphics.pdf
+++ /dev/null
Binary files differ
diff --git a/libgraphics/doc/libgraphics.ps b/libgraphics/doc/libgraphics.ps
deleted file mode 100644
index 1a566f7..0000000
--- a/libgraphics/doc/libgraphics.ps
+++ /dev/null
@@ -1,583 +0,0 @@
-%!PS-Adobe-2.0
-%%Version: 0.1
-%%Creator: troff, Plan 9 edition
-%%DocumentFonts: (atend)
-%%Pages: (atend)
-%%EndComments
-%
-% Version 3.3.2 prologue for troff files.
-%
-
-/#copies 1 store
-/aspectratio 1 def
-/formsperpage 1 def
-/landscape false def
-/linewidth .3 def
-/magnification 1 def
-/margin 0 def
-/orientation 0 def
-/resolution 720 def
-/rotation 1 def
-/xoffset 0 def
-/yoffset 0 def
-
-/roundpage true def
-/useclippath true def
-/pagebbox [0 0 612 792] def
-
-/R /Times-Roman def
-/I /Times-Italic def
-/B /Times-Bold def
-/BI /Times-BoldItalic def
-/H /Helvetica def
-/HI /Helvetica-Oblique def
-/HB /Helvetica-Bold def
-/HX /Helvetica-BoldOblique def
-/CW /Courier def
-/CO /Courier def
-/CI /Courier-Oblique def
-/CB /Courier-Bold def
-/CX /Courier-BoldOblique def
-/PA /Palatino-Roman def
-/PI /Palatino-Italic def
-/PB /Palatino-Bold def
-/PX /Palatino-BoldItalic def
-/Hr /Helvetica-Narrow def
-/Hi /Helvetica-Narrow-Oblique def
-/Hb /Helvetica-Narrow-Bold def
-/Hx /Helvetica-Narrow-BoldOblique def
-/KR /Bookman-Light def
-/KI /Bookman-LightItalic def
-/KB /Bookman-Demi def
-/KX /Bookman-DemiItalic def
-/AR /AvantGarde-Book def
-/AI /AvantGarde-BookOblique def
-/AB /AvantGarde-Demi def
-/AX /AvantGarde-DemiOblique def
-/NR /NewCenturySchlbk-Roman def
-/NI /NewCenturySchlbk-Italic def
-/NB /NewCenturySchlbk-Bold def
-/NX /NewCenturySchlbk-BoldItalic def
-/ZD /ZapfDingbats def
-/ZI /ZapfChancery-MediumItalic def
-/S /S def
-/S1 /S1 def
-/GR /Symbol def
-
-/inch {72 mul} bind def
-/min {2 copy gt {exch} if pop} bind def
-
-/setup {
- counttomark 2 idiv {def} repeat pop
-
- landscape {/orientation 90 orientation add def} if
- /scaling 72 resolution div def
- linewidth setlinewidth
- 1 setlinecap
-
- pagedimensions
- xcenter ycenter translate
- orientation rotation mul rotate
- width 2 div neg height 2 div translate
- xoffset inch yoffset inch neg translate
- margin 2 div dup neg translate
- magnification dup aspectratio mul scale
- scaling scaling scale
-
- addmetrics
- 0 0 moveto
-} def
-
-/pagedimensions {
- useclippath userdict /gotpagebbox known not and {
- /pagebbox [clippath pathbbox newpath] def
- roundpage currentdict /roundpagebbox known and {roundpagebbox} if
- } if
- pagebbox aload pop
- 4 -1 roll exch 4 1 roll 4 copy
- landscape {4 2 roll} if
- sub /width exch def
- sub /height exch def
- add 2 div /xcenter exch def
- add 2 div /ycenter exch def
- userdict /gotpagebbox true put
-} def
-
-/addmetrics {
- /Symbol /S null Sdefs cf
- /Times-Roman /S1 StandardEncoding dup length array copy S1defs cf
-} def
-
-/pagesetup {
- /page exch def
- currentdict /pagedict known currentdict page known and {
- page load pagedict exch get cvx exec
- } if
-} def
-
-/decodingdefs [
- {counttomark 2 idiv {y moveto show} repeat}
- {neg /y exch def counttomark 2 idiv {y moveto show} repeat}
- {neg moveto {2 index stringwidth pop sub exch div 0 32 4 -1 roll widthshow} repeat}
- {neg moveto {spacewidth sub 0.0 32 4 -1 roll widthshow} repeat}
- {counttomark 2 idiv {y moveto show} repeat}
- {neg setfunnytext}
-] def
-
-/setdecoding {/t decodingdefs 3 -1 roll get bind def} bind def
-
-/w {neg moveto show} bind def
-/m {neg dup /y exch def moveto} bind def
-/done {/lastpage where {pop lastpage} if} def
-
-/f {
- dup /font exch def findfont exch
- dup /ptsize exch def scaling div dup /size exch def scalefont setfont
- linewidth ptsize mul scaling 10 mul div setlinewidth
- /spacewidth ( ) stringwidth pop def
-} bind def
-
-/changefont {
- /fontheight exch def
- /fontslant exch def
- currentfont [
- 1 0
- fontheight ptsize div fontslant sin mul fontslant cos div
- fontheight ptsize div
- 0 0
- ] makefont setfont
-} bind def
-
-/sf {f} bind def
-
-/cf {
- dup length 2 idiv
- /entries exch def
- /chtab exch def
- /newencoding exch def
- /newfont exch def
-
- findfont dup length 1 add dict
- /newdict exch def
- {1 index /FID ne {newdict 3 1 roll put}{pop pop} ifelse} forall
-
- newencoding type /arraytype eq {newdict /Encoding newencoding put} if
-
- newdict /Metrics entries dict put
- newdict /Metrics get
- begin
- chtab aload pop
- 1 1 entries {pop def} for
- newfont newdict definefont pop
- end
-} bind def
-
-%
-% A few arrays used to adjust reference points and character widths in some
-% of the printer resident fonts. If square roots are too high try changing
-% the lines describing /radical and /radicalex to,
-%
-% /radical [0 -75 550 0]
-% /radicalex [-50 -75 500 0]
-%
-% Move braceleftbt a bit - default PostScript character is off a bit.
-%
-
-/Sdefs [
- /bracketlefttp [201 500]
- /bracketleftbt [201 500]
- /bracketrighttp [-81 380]
- /bracketrightbt [-83 380]
- /braceleftbt [203 490]
- /bracketrightex [220 -125 500 0]
- /radical [0 0 550 0]
- /radicalex [-50 0 500 0]
- /parenleftex [-20 -170 0 0]
- /integral [100 -50 500 0]
- /infinity [10 -75 730 0]
-] def
-
-/S1defs [
- /underscore [0 80 500 0]
- /endash [7 90 650 0]
-] def
-%
-% Tries to round clipping path dimensions, as stored in array pagebbox, so they
-% match one of the known sizes in the papersizes array. Lower left coordinates
-% are always set to 0.
-%
-
-/roundpagebbox {
- 7 dict begin
- /papersizes [8.5 inch 11 inch 14 inch 17 inch] def
-
- /mappapersize {
- /val exch def
- /slop .5 inch def
- /diff slop def
- /j 0 def
- 0 1 papersizes length 1 sub {
- /i exch def
- papersizes i get val sub abs
- dup diff le {/diff exch def /j i def} {pop} ifelse
- } for
- diff slop lt {papersizes j get} {val} ifelse
- } def
-
- pagebbox 0 0 put
- pagebbox 1 0 put
- pagebbox dup 2 get mappapersize 2 exch put
- pagebbox dup 3 get mappapersize 3 exch put
- end
-} bind def
-
-%%EndProlog
-%%BeginSetup
-mark
-%
-% Encoding vector and redefinition of findfont for the ISO Latin1 standard.
-% The 18 characters missing from ROM based fonts on older printers are noted
-% below.
-%
-
-/ISOLatin1Encoding [
- /.notdef
- /.notdef
- /.notdef
- /.notdef
- /.notdef
- /.notdef
- /.notdef
- /.notdef
- /.notdef
- /.notdef
- /.notdef
- /.notdef
- /.notdef
- /.notdef
- /.notdef
- /.notdef
- /.notdef
- /.notdef
- /.notdef
- /.notdef
- /.notdef
- /.notdef
- /.notdef
- /.notdef
- /.notdef
- /.notdef
- /.notdef
- /.notdef
- /.notdef
- /.notdef
- /.notdef
- /.notdef
- /space
- /exclam
- /quotedbl
- /numbersign
- /dollar
- /percent
- /ampersand
- /quoteright
- /parenleft
- /parenright
- /asterisk
- /plus
- /comma
- /minus
- /period
- /slash
- /zero
- /one
- /two
- /three
- /four
- /five
- /six
- /seven
- /eight
- /nine
- /colon
- /semicolon
- /less
- /equal
- /greater
- /question
- /at
- /A
- /B
- /C
- /D
- /E
- /F
- /G
- /H
- /I
- /J
- /K
- /L
- /M
- /N
- /O
- /P
- /Q
- /R
- /S
- /T
- /U
- /V
- /W
- /X
- /Y
- /Z
- /bracketleft
- /backslash
- /bracketright
- /asciicircum
- /underscore
- /quoteleft
- /a
- /b
- /c
- /d
- /e
- /f
- /g
- /h
- /i
- /j
- /k
- /l
- /m
- /n
- /o
- /p
- /q
- /r
- /s
- /t
- /u
- /v
- /w
- /x
- /y
- /z
- /braceleft
- /bar
- /braceright
- /asciitilde
- /.notdef
- /.notdef
- /.notdef
- /.notdef
- /.notdef
- /.notdef
- /.notdef
- /.notdef
- /.notdef
- /.notdef
- /.notdef
- /.notdef
- /.notdef
- /.notdef
- /.notdef
- /.notdef
- /.notdef
- /dotlessi
- /grave
- /acute
- /circumflex
- /tilde
- /macron
- /breve
- /dotaccent
- /dieresis
- /.notdef
- /ring
- /cedilla
- /.notdef
- /hungarumlaut
- /ogonek
- /caron
- /space
- /exclamdown
- /cent
- /sterling
- /currency
- /yen
- /brokenbar % missing
- /section
- /dieresis
- /copyright
- /ordfeminine
- /guillemotleft
- /logicalnot
- /hyphen
- /registered
- /macron
- /degree % missing
- /plusminus % missing
- /twosuperior % missing
- /threesuperior % missing
- /acute
- /mu % missing
- /paragraph
- /periodcentered
- /cedilla
- /onesuperior % missing
- /ordmasculine
- /guillemotright
- /onequarter % missing
- /onehalf % missing
- /threequarters % missing
- /questiondown
- /Agrave
- /Aacute
- /Acircumflex
- /Atilde
- /Adieresis
- /Aring
- /AE
- /Ccedilla
- /Egrave
- /Eacute
- /Ecircumflex
- /Edieresis
- /Igrave
- /Iacute
- /Icircumflex
- /Idieresis
- /Eth % missing
- /Ntilde
- /Ograve
- /Oacute
- /Ocircumflex
- /Otilde
- /Odieresis
- /multiply % missing
- /Oslash
- /Ugrave
- /Uacute
- /Ucircumflex
- /Udieresis
- /Yacute % missing
- /Thorn % missing
- /germandbls
- /agrave
- /aacute
- /acircumflex
- /atilde
- /adieresis
- /aring
- /ae
- /ccedilla
- /egrave
- /eacute
- /ecircumflex
- /edieresis
- /igrave
- /iacute
- /icircumflex
- /idieresis
- /eth % missing
- /ntilde
- /ograve
- /oacute
- /ocircumflex
- /otilde
- /odieresis
- /divide % missing
- /oslash
- /ugrave
- /uacute
- /ucircumflex
- /udieresis
- /yacute % missing
- /thorn % missing
- /ydieresis
-] def
-
-/NewFontDirectory FontDirectory maxlength dict def
-
-%
-% Apparently no guarantee findfont is defined in systemdict so the obvious
-%
-% systemdict /findfont get exec
-%
-% can generate an error. So far the only exception is a VT600 (version 48.0).
-%
-
-userdict /@RealFindfont known not {
- userdict begin
- /@RealFindfont systemdict begin /findfont load end def
- end
-} if
-
-/findfont {
- dup NewFontDirectory exch known not {
- dup
- %dup systemdict /findfont get exec % not always in systemdict
- dup userdict /@RealFindfont get exec
- dup /Encoding get StandardEncoding eq {
- dup length dict begin
- {1 index /FID ne {def}{pop pop} ifelse} forall
- /Encoding ISOLatin1Encoding def
- currentdict
- end
- /DummyFontName exch definefont
- } if
- NewFontDirectory 3 1 roll put
- } if
- NewFontDirectory exch get
-} bind def
-
-%%Patch from lp
-%%EndPatch from lp
-
-setup
-%%EndSetup
-%%Page: 1 1
-/saveobj save def
-mark
-1 pagesetup
-12 /LucidaSans-Demi f
-(libgraphics) 2533 1220 w
-10 /LucidaSans-Italic f
-(Rodrigo G. L\363pez) 2469 1480 w
-(rgl@antares-labs.eu) 2377 1760 w
-10 /LucidaSansUnicode00 f
-(Antares Telecom Laboratories) 2156 1960 w
-(Albatera, Alicante) 2451 2100 w
-10 /LucidaSans-Demi f
-(1.) 720 2700 w
-(Data Structures) 873 2700 w
-(1.1.) 720 2940 w
-(Camera) 962 2940 w
-9 /LucidaTypewriter f
-(struct) 920 3110 w
-(Camera) 1375 3110 w
-({) 1830 3110 w
-(};) 920 3330 w
-10 /LucidaSansUnicode00 f
-(A camera) 970 3546 w
-8 /S1 f
-(__________________) 720 6980 w
-8 /LucidaSansUnicode00 f
-(ACHTUNG!) 720 7080 w
-(this) 1163 7080 w
-(is) 1333 7080 w
-(a) 1423 7080 w
-8 /LucidaSans-Demi f
-(WORK) 1493 7080 w
-(IN) 1769 7080 w
-(PROGRESS) 1883 7080 w
-cleartomark
-showpage
-saveobj restore
-%%EndPage: 1 1
-%%Trailer
-done
-%%DocumentFonts: S1 LucidaSansUnicode00 LucidaSans-Demi LucidaSans-Italic LucidaTypewriter
-%%Pages: 1
diff --git a/libgraphics/doc/mkfile b/libgraphics/doc/mkfile
deleted file mode 100644
index 3bac031..0000000
--- a/libgraphics/doc/mkfile
+++ /dev/null
@@ -1,15 +0,0 @@
-FONTS='.FP lucidasans'
-DOCNAME=libgraphics
-
-all:VQ: $DOCNAME.ps $DOCNAME.pdf
-
-clean:VQ:
- rm -f $DOCNAME.ps $DOCNAME.pdf
-
-$DOCNAME.ps:V: $DOCNAME.ms
- {echo $FONTS; cat $prereq}> _$prereq
- eval `{doctype _$prereq} | lp -dstdout > $target && rm -f _$prereq
-
-$DOCNAME.pdf:V: $DOCNAME.ps
- cat /sys/doc/docfonts $prereq > _$prereq
- ps2pdf _$prereq $target && rm -f _$prereq
diff --git a/libgraphics/mkfile b/libgraphics/mkfile
deleted file mode 100644
index b7669a3..0000000
--- a/libgraphics/mkfile
+++ /dev/null
@@ -1,11 +0,0 @@
-</$objtype/mkfile
-
-LIB=../libgraphics.a$O
-OFILES=\
- triangle.$O\
- camera.$O\
- render.$O\
-
-HFILES=../graphics.h
-
-</sys/src/cmd/mklib
diff --git a/libgraphics/render.c b/libgraphics/render.c
deleted file mode 100644
index a1819ec..0000000
--- a/libgraphics/render.c
+++ /dev/null
@@ -1,98 +0,0 @@
-#include <u.h>
-#include <libc.h>
-#include <draw.h>
-#include "../geometry.h"
-#include "../graphics.h"
-
-/* requires p to be in NDC */
-int
-isclipping(Point3 p)
-{
- if(p.x > p.w || p.x < -p.w ||
- p.y > p.w || p.y < -p.w ||
- p.z > p.w || p.z < 0)
- return 1;
- return 0;
-}
-
-static Point2
-flatten(Camera *c, Point3 p)
-{
- Point2 p2;
- Matrix S = {
- Dx(c->viewport->r)/2, 0, 0,
- 0, Dy(c->viewport->r)/2, 0,
- 0, 0, 1,
- }, T = {
- 1, 0, 1,
- 0, 1, 1,
- 0, 0, 1,
- };
-
- p2 = (Point2){p.x, p.y, p.w};
- if(p2.w != 0)
- p2 = divpt2(p2, p2.w);
- mulm(S, T);
- p2 = xform(p2, S);
- return p2;
-}
-
-Point
-toviewport(Camera *c, Point3 p)
-{
- Point2 p2;
-
- p2 = invrframexform(flatten(c, p), c->viewport);
- return (Point){p2.x, p2.y};
-}
-
-Point2
-fromviewport(Camera *c, Point p)
-{
- return rframexform(Pt2(p.x,p.y,1), c->viewport);
-}
-
-void
-perspective(Matrix3 m, double fov, double a, double n, double f)
-{
- double cotan;
-
- cotan = 1/tan(fov/2*DEG);
- identity3(m);
- m[0][0] = cotan/a;
- m[1][1] = cotan;
- m[2][2] = -(f+n)/(f-n);
- m[2][3] = -2*f*n/(f-n);
- m[3][2] = -1;
-}
-
-void
-orthographic(Matrix3 m, double l, double r, double b, double t, double n, double f)
-{
- identity3(m);
- m[0][0] = 2/(r - l);
- m[1][1] = 2/(t - b);
- m[2][2] = -2/(f - n);
- m[0][3] = -(r + l)/(r - l);
- m[1][3] = -(t + b)/(t - b);
- m[2][3] = -(f + n)/(f - n);
-}
-
-void
-line3(Camera *c, Point3 p0, Point3 p1, int end0, int end1, Image *src)
-{
- p0 = WORLD2NDC(c, p0);
- p1 = WORLD2NDC(c, p1);
- if(isclipping(p0) || isclipping(p1))
- return;
- line(c->viewport, toviewport(c, p0), toviewport(c, p1), end0, end1, 0, src, ZP);
-}
-
-Point
-string3(Camera *c, Point3 p, Image *src, Font *f, char *s)
-{
- p = WORLD2NDC(c, p);
- if(isclipping(p))
- return (Point){~0, ~0};
- return string(c->viewport, toviewport(c, p), src, ZP, f, s);
-}
diff --git a/libobj/examples/box.obj b/libobj/examples/box.obj
deleted file mode 100644
index bd72661..0000000
--- a/libobj/examples/box.obj
+++ /dev/null
@@ -1,30 +0,0 @@
-# Vertices: 8
-# Points: 0
-# Lines: 0
-# Faces: 6
-# Materials: 1
-
-o 1
-
-# Vertex list
-
-v -0.5 -0.5 0.5
-v -0.5 -0.5 -0.5
-v -0.5 0.5 -0.5
-v -0.5 0.5 0.5
-v 0.5 -0.5 0.5
-v 0.5 -0.5 -0.5
-v 0.5 0.5 -0.5
-v 0.5 0.5 0.5
-
-# Point/Line/Face list
-
-usemtl Default
-f 4 3 2 1
-f 2 6 5 1
-f 3 7 6 2
-f 8 7 3 4
-f 5 8 4 1
-f 6 7 8 5
-
-# End of file
diff --git a/libobj/examples/cube.obj b/libobj/examples/cube.obj
deleted file mode 100644
index c569712..0000000
--- a/libobj/examples/cube.obj
+++ /dev/null
@@ -1,16 +0,0 @@
-# This is a cube that measures two units on each side. Each vertex is
-# shared by three different faces.
-v 0.000000 2.000000 2.000000
-v 0.000000 0.000000 2.000000
-v 2.000000 0.000000 2.000000
-v 2.000000 2.000000 2.000000
-v 0.000000 2.000000 0.000000
-v 0.000000 0.000000 0.000000
-v 2.000000 0.000000 0.000000
-v 2.000000 2.000000 0.000000
-f 1 2 3 4
-f 8 7 6 5
-f 4 3 7 8
-f 5 1 4 8
-f 5 6 2 1
-f 2 6 7 3
diff --git a/libobj/examples/diamond.obj b/libobj/examples/diamond.obj
deleted file mode 100644
index 519f3ac..0000000
--- a/libobj/examples/diamond.obj
+++ /dev/null
@@ -1,20 +0,0 @@
-# diamond.obj
-
-g Object001
-
-v 0.000000E+00 0.000000E+00 78.0000
-v 45.0000 45.0000 0.000000E+00
-v 45.0000 -45.0000 0.000000E+00
-v -45.0000 -45.0000 0.000000E+00
-v -45.0000 45.0000 0.000000E+00
-v 0.000000E+00 0.000000E+00 -78.0000
-
-f 1 2 3
-f 1 3 4
-f 1 4 5
-f 1 5 2
-f 6 5 4
-f 6 4 3
-f 6 3 2
-f 6 2 1
-f 6 1 5
diff --git a/libobj/examples/lamp.obj b/libobj/examples/lamp.obj
deleted file mode 100644
index d8023e1..0000000
--- a/libobj/examples/lamp.obj
+++ /dev/null
@@ -1,8863 +0,0 @@
-# Viewpoint Datalabs International, Inc. Copyright 1996
-
-
-mtllib ./vp.mtl
-
-g
-v 0.000000 8.407028 0.000000
-v 0.000000 8.380042 -0.204985
-v 0.053054 8.380042 -0.198000
-v 0.102492 8.380042 -0.177522
-v 0.144946 8.380042 -0.144946
-v 0.177522 8.380042 -0.102492
-v 0.198000 8.380042 -0.053054
-v 0.204985 8.380042 0.000000
-v 0.198000 8.380042 0.053054
-v 0.177522 8.380042 0.102492
-v 0.144946 8.380042 0.144946
-v 0.102493 8.380042 0.177522
-v 0.053054 8.380042 0.198000
-v 0.000000 8.380042 0.204985
-v -0.053054 8.380042 0.198000
-v -0.102492 8.380042 0.177522
-v -0.144946 8.380042 0.144946
-v -0.177522 8.380042 0.102493
-v -0.198000 8.380042 0.053054
-v -0.204985 8.380042 0.000000
-v -0.198000 8.380042 -0.053054
-v -0.177522 8.380042 -0.102492
-v -0.144946 8.380042 -0.144946
-v -0.102493 8.380042 -0.177522
-v -0.053054 8.380042 -0.198000
-v 0.000000 8.300921 -0.396000
-v 0.102492 8.300921 -0.382507
-v 0.198000 8.300921 -0.342946
-v 0.280014 8.300921 -0.280014
-v 0.342946 8.300921 -0.198000
-v 0.382506 8.300921 -0.102493
-v 0.396000 8.300921 0.000000
-v 0.382507 8.300921 0.102492
-v 0.342946 8.300921 0.198000
-v 0.280015 8.300921 0.280014
-v 0.198000 8.300921 0.342946
-v 0.102493 8.300921 0.382506
-v 0.000000 8.300921 0.396000
-v -0.102492 8.300921 0.382507
-v -0.197999 8.300921 0.342946
-v -0.280014 8.300921 0.280015
-v -0.342946 8.300921 0.198000
-v -0.382506 8.300921 0.102493
-v -0.396000 8.300921 0.000000
-v -0.382507 8.300921 -0.102492
-v -0.342946 8.300921 -0.197999
-v -0.280015 8.300921 -0.280014
-v -0.198001 8.300921 -0.342946
-v -0.102493 8.300921 -0.382506
-v 0.000000 8.175057 -0.560028
-v 0.144946 8.175057 -0.540946
-v 0.280014 8.175057 -0.484999
-v 0.396000 8.175057 -0.396000
-v 0.484999 8.175057 -0.280015
-v 0.540946 8.175057 -0.144947
-v 0.560028 8.175057 0.000000
-v 0.540946 8.175057 0.144945
-v 0.484999 8.175057 0.280014
-v 0.396000 8.175057 0.395999
-v 0.280015 8.175057 0.484999
-v 0.144947 8.175057 0.540946
-v 0.000000 8.175057 0.560028
-v -0.144945 8.175057 0.540946
-v -0.280014 8.175057 0.484999
-v -0.395999 8.175057 0.396001
-v -0.484998 8.175057 0.280015
-v -0.540946 8.175057 0.144947
-v -0.560028 8.175057 0.000000
-v -0.540946 8.175057 -0.144945
-v -0.484999 8.175057 -0.280013
-v -0.396001 8.175057 -0.395999
-v -0.280015 8.175057 -0.484998
-v -0.144947 8.175057 -0.540946
-v 0.000000 8.011028 -0.685892
-v 0.177521 8.011028 -0.662521
-v 0.342946 8.011028 -0.594000
-v 0.484999 8.011028 -0.484999
-v 0.594000 8.011028 -0.342947
-v 0.662521 8.011028 -0.177523
-v 0.685892 8.011028 0.000000
-v 0.662521 8.011028 0.177521
-v 0.594000 8.011028 0.342945
-v 0.484999 8.011028 0.484998
-v 0.342947 8.011028 0.594000
-v 0.177523 8.011028 0.662521
-v 0.000000 8.011028 0.685892
-v -0.177521 8.011028 0.662521
-v -0.342945 8.011028 0.594000
-v -0.484998 8.011028 0.485000
-v -0.593999 8.011028 0.342947
-v -0.662521 8.011028 0.177523
-v -0.685892 8.011028 0.000001
-v -0.662521 8.011028 -0.177521
-v -0.594001 8.011028 -0.342945
-v -0.485000 8.011028 -0.484998
-v -0.342947 8.011028 -0.593999
-v -0.177523 8.011028 -0.662521
-v 0.000000 7.820013 -0.765013
-v 0.197999 7.820013 -0.738946
-v 0.382506 7.820013 -0.662521
-v 0.540946 7.820013 -0.540946
-v 0.662521 7.820013 -0.382507
-v 0.738946 7.820013 -0.198001
-v 0.765013 7.820013 0.000000
-v 0.738946 7.820013 0.197999
-v 0.662521 7.820013 0.382506
-v 0.540947 7.820013 0.540945
-v 0.382507 7.820013 0.662520
-v 0.198001 7.820013 0.738946
-v 0.000001 7.820013 0.765013
-v -0.197999 7.820013 0.738946
-v -0.382506 7.820013 0.662521
-v -0.540945 7.820013 0.540947
-v -0.662520 7.820013 0.382508
-v -0.738946 7.820013 0.198001
-v -0.765013 7.820013 0.000001
-v -0.738946 7.820013 -0.197999
-v -0.662522 7.820013 -0.382505
-v -0.540947 7.820013 -0.540945
-v -0.382508 7.820013 -0.662520
-v -0.198001 7.820013 -0.738946
-v 0.000000 7.615029 -0.792000
-v 0.204984 7.615029 -0.765013
-v 0.395999 7.615029 -0.685892
-v 0.560028 7.615029 -0.560029
-v 0.685892 7.615029 -0.396001
-v 0.765013 7.615029 -0.204985
-v 0.792000 7.615029 0.000000
-v 0.765013 7.615029 0.204984
-v 0.685893 7.615029 0.395999
-v 0.560029 7.615029 0.560028
-v 0.396001 7.615029 0.685892
-v 0.204986 7.615029 0.765013
-v 0.000001 7.615029 0.792000
-v -0.204984 7.615029 0.765014
-v -0.395999 7.615029 0.685893
-v -0.560028 7.615029 0.560029
-v -0.685892 7.615029 0.396001
-v -0.765013 7.615029 0.204986
-v -0.792000 7.615029 0.000001
-v -0.765014 7.615029 -0.204983
-v -0.685893 7.615029 -0.395999
-v -0.560030 7.615029 -0.560028
-v -0.396001 7.615029 -0.685891
-v -0.204986 7.615029 -0.765013
-v 0.000000 7.410044 -0.765013
-v 0.198000 7.410044 -0.738946
-v 0.382506 7.410044 -0.662521
-v 0.540946 7.410044 -0.540947
-v 0.662521 7.410044 -0.382507
-v 0.738946 7.410044 -0.198001
-v 0.765013 7.410044 0.000000
-v 0.738946 7.410044 0.197999
-v 0.662521 7.410044 0.382506
-v 0.540947 7.410044 0.540945
-v 0.382507 7.410044 0.662521
-v 0.198001 7.410044 0.738946
-v 0.000001 7.410044 0.765013
-v -0.197999 7.410044 0.738946
-v -0.382506 7.410044 0.662522
-v -0.540945 7.410044 0.540947
-v -0.662520 7.410044 0.382508
-v -0.738946 7.410044 0.198001
-v -0.765013 7.410044 0.000001
-v -0.738946 7.410044 -0.197999
-v -0.662522 7.410044 -0.382506
-v -0.540947 7.410044 -0.540945
-v -0.382508 7.410044 -0.662520
-v -0.198001 7.410044 -0.738946
-v 0.000000 7.219029 -0.685892
-v 0.177522 7.219029 -0.662521
-v 0.342946 7.219029 -0.594000
-v 0.484999 7.219029 -0.485000
-v 0.594000 7.219029 -0.342947
-v 0.662521 7.219029 -0.177523
-v 0.685892 7.219029 0.000000
-v 0.662521 7.219029 0.177521
-v 0.594001 7.219029 0.342946
-v 0.485000 7.219029 0.484999
-v 0.342947 7.219029 0.594000
-v 0.177523 7.219029 0.662521
-v 0.000000 7.219029 0.685892
-v -0.177521 7.219029 0.662521
-v -0.342945 7.219029 0.594001
-v -0.484998 7.219029 0.485000
-v -0.594000 7.219029 0.342947
-v -0.662521 7.219029 0.177523
-v -0.685892 7.219029 0.000001
-v -0.662521 7.219029 -0.177521
-v -0.594001 7.219029 -0.342945
-v -0.485000 7.219029 -0.484998
-v -0.342947 7.219029 -0.594000
-v -0.177523 7.219029 -0.662521
-v 0.000000 7.055001 -0.560029
-v 0.144946 7.055001 -0.540946
-v 0.280014 7.055001 -0.484999
-v 0.396000 7.055001 -0.396001
-v 0.484999 7.055001 -0.280015
-v 0.540946 7.055001 -0.144947
-v 0.560029 7.055001 0.000000
-v 0.540946 7.055001 0.144946
-v 0.485000 7.055001 0.280014
-v 0.396001 7.055001 0.396000
-v 0.280015 7.055001 0.484999
-v 0.144947 7.055001 0.540946
-v 0.000000 7.055001 0.560029
-v -0.144945 7.055001 0.540947
-v -0.280014 7.055001 0.485000
-v -0.396000 7.055001 0.396001
-v -0.484999 7.055001 0.280015
-v -0.540946 7.055001 0.144947
-v -0.560029 7.055001 0.000000
-v -0.540947 7.055001 -0.144945
-v -0.485000 7.055001 -0.280014
-v -0.396001 7.055001 -0.395999
-v -0.280015 7.055001 -0.484999
-v -0.144947 7.055001 -0.540946
-v 0.000000 6.929136 -0.396000
-v 0.102492 6.929136 -0.382507
-v 0.198000 6.929136 -0.342947
-v 0.280014 6.929136 -0.280015
-v 0.342946 6.929136 -0.198000
-v 0.382507 6.929136 -0.102493
-v 0.396000 6.929136 0.000000
-v 0.382507 6.929136 0.102492
-v 0.342947 6.929136 0.198000
-v 0.280015 6.929136 0.280014
-v 0.198001 6.929136 0.342946
-v 0.102493 6.929136 0.382507
-v 0.000000 6.929136 0.396000
-v -0.102492 6.929136 0.382507
-v -0.198000 6.929136 0.342947
-v -0.280014 6.929136 0.280015
-v -0.342946 6.929136 0.198001
-v -0.382507 6.929136 0.102493
-v -0.396000 6.929136 0.000000
-v -0.382507 6.929136 -0.102492
-v -0.342947 6.929136 -0.198000
-v -0.280015 6.929136 -0.280014
-v -0.198001 6.929136 -0.342946
-v -0.102493 6.929136 -0.382507
-v 0.000000 6.850015 -0.204985
-v 0.053054 6.850015 -0.198000
-v 0.102492 6.850015 -0.177522
-v 0.144946 6.850015 -0.144947
-v 0.177522 6.850015 -0.102493
-v 0.198000 6.850015 -0.053054
-v 0.204985 6.850015 0.000000
-v 0.198001 6.850015 0.053054
-v 0.177522 6.850015 0.102492
-v 0.144947 6.850015 0.144946
-v 0.102493 6.850015 0.177522
-v 0.053054 6.850015 0.198000
-v 0.000000 6.850015 0.204985
-v -0.053054 6.850015 0.198001
-v -0.102492 6.850015 0.177522
-v -0.144946 6.850015 0.144947
-v -0.177522 6.850015 0.102493
-v -0.198000 6.850015 0.053054
-v -0.204985 6.850015 0.000000
-v -0.198001 6.850015 -0.053054
-v -0.177523 6.850015 -0.102492
-v -0.144947 6.850015 -0.144946
-v -0.102493 6.850015 -0.177522
-v -0.053054 6.850015 -0.198000
-v 0.000000 6.823029 0.000000
-v 1.871946 7.231124 0.000000
-v 1.924999 7.204138 -0.198000
-v 1.871946 7.204138 -0.204985
-v 1.974438 7.204138 -0.177522
-v 2.016892 7.204138 -0.144946
-v 2.049468 7.204138 -0.102492
-v 2.069946 7.204138 -0.053054
-v 2.076930 7.204138 0.000000
-v 2.069946 7.204138 0.053054
-v 2.049468 7.204138 0.102492
-v 2.016892 7.204138 0.144946
-v 1.974438 7.204138 0.177522
-v 1.925000 7.204138 0.198000
-v 1.871946 7.204138 0.204985
-v 1.818892 7.204138 0.198000
-v 1.769454 7.204138 0.177522
-v 1.727000 7.204138 0.144946
-v 1.694424 7.204138 0.102493
-v 1.673946 7.204138 0.053054
-v 1.666961 7.204138 0.000000
-v 1.673946 7.204138 -0.053054
-v 1.694424 7.204138 -0.102492
-v 1.726999 7.204138 -0.144946
-v 1.769453 7.204138 -0.177522
-v 1.818891 7.204138 -0.198000
-v 1.974438 7.125016 -0.382507
-v 1.871946 7.125016 -0.396000
-v 2.069945 7.125016 -0.342946
-v 2.151960 7.125016 -0.280014
-v 2.214891 7.125016 -0.198000
-v 2.254452 7.125016 -0.102493
-v 2.267946 7.125016 0.000000
-v 2.254452 7.125016 0.102492
-v 2.214892 7.125016 0.198000
-v 2.151960 7.125016 0.280014
-v 2.069946 7.125016 0.342946
-v 1.974439 7.125016 0.382506
-v 1.871946 7.125016 0.396000
-v 1.769454 7.125016 0.382507
-v 1.673946 7.125016 0.342946
-v 1.591932 7.125016 0.280015
-v 1.529000 7.125016 0.198000
-v 1.489439 7.125016 0.102493
-v 1.475946 7.125016 0.000000
-v 1.489439 7.125016 -0.102492
-v 1.528999 7.125016 -0.197999
-v 1.591931 7.125016 -0.280014
-v 1.673945 7.125016 -0.342946
-v 1.769453 7.125016 -0.382506
-v 2.016891 6.999153 -0.540946
-v 1.871945 6.999153 -0.560028
-v 2.151960 6.999153 -0.484999
-v 2.267945 6.999153 -0.396000
-v 2.356944 6.999153 -0.280015
-v 2.412892 6.999153 -0.144947
-v 2.431974 6.999153 0.000000
-v 2.412892 6.999153 0.144945
-v 2.356945 6.999153 0.280014
-v 2.267946 6.999153 0.395999
-v 2.151961 6.999153 0.484999
-v 2.016892 6.999153 0.540946
-v 1.871946 6.999153 0.560028
-v 1.727000 6.999153 0.540946
-v 1.591932 6.999153 0.484999
-v 1.475946 6.999153 0.396001
-v 1.386947 6.999153 0.280015
-v 1.331000 6.999153 0.144947
-v 1.311917 6.999153 0.000000
-v 1.330999 6.999153 -0.144945
-v 1.386946 6.999153 -0.280013
-v 1.475945 6.999153 -0.395999
-v 1.591931 6.999153 -0.484998
-v 1.726999 6.999153 -0.540946
-v 2.049467 6.835124 -0.662521
-v 1.871945 6.835124 -0.685892
-v 2.214891 6.835124 -0.594000
-v 2.356944 6.835124 -0.484999
-v 2.465945 6.835124 -0.342947
-v 2.534467 6.835124 -0.177523
-v 2.557838 6.835124 0.000000
-v 2.534467 6.835124 0.177521
-v 2.465946 6.835124 0.342945
-v 2.356945 6.835124 0.484998
-v 2.214892 6.835124 0.594000
-v 2.049469 6.835124 0.662521
-v 1.871947 6.835124 0.685892
-v 1.694425 6.835124 0.662521
-v 1.529001 6.835124 0.594000
-v 1.386948 6.835124 0.485000
-v 1.277946 6.835124 0.342947
-v 1.209425 6.835124 0.177523
-v 1.186054 6.835124 0.000001
-v 1.209425 6.835124 -0.177521
-v 1.277945 6.835124 -0.342945
-v 1.386946 6.835124 -0.484998
-v 1.528999 6.835124 -0.593999
-v 1.694423 6.835124 -0.662521
-v 2.069945 6.644109 -0.738946
-v 1.871945 6.644109 -0.765013
-v 2.254452 6.644109 -0.662521
-v 2.412891 6.644109 -0.540946
-v 2.534466 6.644109 -0.382507
-v 2.610892 6.644109 -0.198001
-v 2.636959 6.644109 0.000000
-v 2.610892 6.644109 0.197999
-v 2.534467 6.644109 0.382506
-v 2.412892 6.644109 0.540945
-v 2.254453 6.644109 0.662520
-v 2.069947 6.644109 0.738946
-v 1.871947 6.644109 0.765013
-v 1.673947 6.644109 0.738946
-v 1.489440 6.644109 0.662521
-v 1.331001 6.644109 0.540947
-v 1.209425 6.644109 0.382508
-v 1.133000 6.644109 0.198001
-v 1.106933 6.644109 0.000001
-v 1.132999 6.644109 -0.197999
-v 1.209424 6.644109 -0.382505
-v 1.330999 6.644109 -0.540945
-v 1.489438 6.644109 -0.662520
-v 1.673944 6.644109 -0.738946
-v 2.076930 6.439125 -0.765013
-v 1.871945 6.439125 -0.792000
-v 2.267945 6.439125 -0.685892
-v 2.431974 6.439125 -0.560029
-v 2.557837 6.439125 -0.396001
-v 2.636959 6.439125 -0.204985
-v 2.663946 6.439125 0.000000
-v 2.636959 6.439125 0.204984
-v 2.557838 6.439125 0.395999
-v 2.431975 6.439125 0.560028
-v 2.267946 6.439125 0.685892
-v 2.076931 6.439125 0.765013
-v 1.871947 6.439125 0.792000
-v 1.666962 6.439125 0.765014
-v 1.475947 6.439125 0.685893
-v 1.311918 6.439125 0.560029
-v 1.186054 6.439125 0.396001
-v 1.106933 6.439125 0.204986
-v 1.079946 6.439125 0.000001
-v 1.106932 6.439125 -0.204983
-v 1.186053 6.439125 -0.395999
-v 1.311916 6.439125 -0.560028
-v 1.475945 6.439125 -0.685891
-v 1.666960 6.439125 -0.765013
-v 2.069945 6.234140 -0.738946
-v 1.871945 6.234140 -0.765013
-v 2.254452 6.234140 -0.662521
-v 2.412891 6.234140 -0.540947
-v 2.534466 6.234140 -0.382507
-v 2.610892 6.234140 -0.198001
-v 2.636959 6.234140 0.000000
-v 2.610892 6.234140 0.197999
-v 2.534467 6.234140 0.382506
-v 2.412892 6.234140 0.540945
-v 2.254453 6.234140 0.662521
-v 2.069947 6.234140 0.738946
-v 1.871947 6.234140 0.765013
-v 1.673947 6.234140 0.738946
-v 1.489440 6.234140 0.662522
-v 1.331000 6.234140 0.540947
-v 1.209425 6.234140 0.382508
-v 1.133000 6.234140 0.198001
-v 1.106932 6.234140 0.000001
-v 1.132999 6.234140 -0.197999
-v 1.209424 6.234140 -0.382506
-v 1.330999 6.234140 -0.540945
-v 1.489438 6.234140 -0.662520
-v 1.673944 6.234140 -0.738946
-v 2.049467 6.043124 -0.662521
-v 1.871945 6.043124 -0.685892
-v 2.214891 6.043124 -0.594000
-v 2.356945 6.043124 -0.485000
-v 2.465946 6.043124 -0.342947
-v 2.534467 6.043124 -0.177523
-v 2.557838 6.043124 0.000000
-v 2.534467 6.043124 0.177521
-v 2.465946 6.043124 0.342946
-v 2.356946 6.043124 0.484999
-v 2.214893 6.043124 0.594000
-v 2.049469 6.043124 0.662521
-v 1.871947 6.043124 0.685892
-v 1.694425 6.043124 0.662521
-v 1.529000 6.043124 0.594001
-v 1.386947 6.043124 0.485000
-v 1.277946 6.043124 0.342947
-v 1.209425 6.043124 0.177523
-v 1.186054 6.043124 0.000001
-v 1.209424 6.043124 -0.177521
-v 1.277945 6.043124 -0.342945
-v 1.386946 6.043124 -0.484998
-v 1.528998 6.043124 -0.594000
-v 1.694422 6.043124 -0.662521
-v 2.016891 5.879096 -0.540946
-v 1.871945 5.879096 -0.560029
-v 2.151960 5.879096 -0.484999
-v 2.267946 5.879096 -0.396001
-v 2.356945 5.879096 -0.280015
-v 2.412892 5.879096 -0.144947
-v 2.431975 5.879096 0.000000
-v 2.412892 5.879096 0.144946
-v 2.356945 5.879096 0.280014
-v 2.267946 5.879096 0.396000
-v 2.151961 5.879096 0.484999
-v 2.016892 5.879096 0.540946
-v 1.871946 5.879096 0.560029
-v 1.727000 5.879096 0.540947
-v 1.591932 5.879096 0.485000
-v 1.475946 5.879096 0.396001
-v 1.386947 5.879096 0.280015
-v 1.331000 5.879096 0.144947
-v 1.311917 5.879096 0.000000
-v 1.330999 5.879096 -0.144945
-v 1.386946 5.879096 -0.280014
-v 1.475945 5.879096 -0.395999
-v 1.591930 5.879096 -0.484999
-v 1.726999 5.879096 -0.540946
-v 1.974438 5.753232 -0.382507
-v 1.871946 5.753232 -0.396000
-v 2.069946 5.753232 -0.342947
-v 2.151960 5.753232 -0.280015
-v 2.214892 5.753232 -0.198000
-v 2.254453 5.753232 -0.102493
-v 2.267946 5.753232 0.000000
-v 2.254453 5.753232 0.102492
-v 2.214892 5.753232 0.198000
-v 2.151961 5.753232 0.280014
-v 2.069946 5.753232 0.342946
-v 1.974439 5.753232 0.382507
-v 1.871946 5.753232 0.396000
-v 1.769454 5.753232 0.382507
-v 1.673946 5.753232 0.342947
-v 1.591932 5.753232 0.280015
-v 1.529000 5.753232 0.198001
-v 1.489439 5.753232 0.102493
-v 1.475945 5.753232 0.000000
-v 1.489439 5.753232 -0.102492
-v 1.528999 5.753232 -0.198000
-v 1.591931 5.753232 -0.280014
-v 1.673945 5.753232 -0.342946
-v 1.769453 5.753232 -0.382507
-v 1.925000 5.674111 -0.198000
-v 1.871946 5.674111 -0.204985
-v 1.974438 5.674111 -0.177522
-v 2.016892 5.674111 -0.144947
-v 2.049468 5.674111 -0.102493
-v 2.069946 5.674111 -0.053054
-v 2.076931 5.674111 0.000000
-v 2.069946 5.674111 0.053054
-v 2.049468 5.674111 0.102492
-v 2.016892 5.674111 0.144946
-v 1.974439 5.674111 0.177522
-v 1.925000 5.674111 0.198000
-v 1.871946 5.674111 0.204985
-v 1.818892 5.674111 0.198001
-v 1.769453 5.674111 0.177522
-v 1.727000 5.674111 0.144947
-v 1.694424 5.674111 0.102493
-v 1.673945 5.674111 0.053054
-v 1.666961 5.674111 0.000000
-v 1.673945 5.674111 -0.053054
-v 1.694423 5.674111 -0.102492
-v 1.726999 5.674111 -0.144946
-v 1.769453 5.674111 -0.177522
-v 1.818891 5.674111 -0.198000
-v 1.871946 5.647125 0.000000
-v 0.309896 5.515944 -0.041455
-v 0.345870 5.486310 -0.041455
-v 0.424286 5.504072 -0.093361
-v 0.418141 5.501982 -0.113838
-v 0.396498 5.533141 -0.113838
-v 0.411730 5.534671 -0.093361
-v 0.454673 5.520028 -0.112858
-v 0.438094 5.507370 -0.092381
-v 0.425538 5.537968 -0.092381
-v 0.443761 5.538089 -0.112858
-v 0.453302 5.457216 -0.089738
-v 0.441317 5.475670 -0.110215
-v 0.481455 5.465744 -0.089738
-v 0.606229 5.515820 -0.123867
-v 0.602834 5.475719 -0.123867
-v 0.579542 5.483232 -0.123867
-v 0.582807 5.538704 -0.123867
-v 0.445729 5.233723 -0.123867
-v 0.821135 5.315813 -0.123867
-v 1.000863 5.651269 -0.123867
-v 0.998508 5.634236 -0.123867
-v 0.802170 5.613324 -0.123867
-v 0.877842 5.588543 -0.123867
-v 0.948260 5.556879 -0.123867
-v 0.919384 5.572126 -0.123867
-v 0.887220 5.368674 -0.123867
-v 0.394917 5.657471 -0.123867
-v 0.406946 5.503573 -0.123867
-v 0.381454 5.531240 -0.123867
-v 0.531150 5.719302 -0.123867
-v 0.736686 5.605947 -0.123867
-v 0.458223 5.412295 -0.113265
-v 0.428678 5.362868 -0.113265
-v 0.402774 5.356741 -0.092786
-v 0.439946 5.417790 -0.092786
-v 0.403944 5.274145 -0.113282
-v 0.376874 5.259162 -0.092804
-v 0.416054 5.201977 -0.113084
-v 0.399372 5.179461 -0.092606
-v 0.480014 5.144361 -0.113117
-v 0.478291 5.118040 -0.092638
-v 0.527722 5.136270 -0.113282
-v 0.573570 5.146466 -0.113282
-v 0.582210 5.122450 -0.092804
-v 0.525999 5.109948 -0.092804
-v 0.610153 5.170753 -0.112581
-v 0.623349 5.197310 -0.112581
-v 0.646468 5.194917 -0.092102
-v 0.618793 5.146736 -0.092102
-v 0.623135 5.227768 -0.112810
-v 0.606183 5.243670 -0.112810
-v 0.622495 5.253418 -0.092331
-v 0.646254 5.225375 -0.092331
-v 0.570921 5.255943 -0.114459
-v 0.513188 5.262099 -0.114459
-v 0.550742 5.267126 -0.093982
-v 0.587233 5.265692 -0.093982
-v 0.509146 5.282185 -0.114400
-v 0.560599 5.325606 -0.114400
-v 0.575304 5.316366 -0.093922
-v 0.546701 5.287212 -0.093922
-v 0.593234 5.371274 -0.113305
-v 0.607939 5.362035 -0.092826
-v 0.625473 5.470294 -0.113282
-v 0.628868 5.510393 -0.113282
-v 0.649330 5.520258 -0.092804
-v 0.645166 5.471096 -0.092804
-v 0.615937 5.547515 -0.112902
-v 0.592514 5.570402 -0.112902
-v 0.599770 5.592010 -0.092425
-v 0.636398 5.557381 -0.092425
-v 0.536419 5.601588 -0.113282
-v 0.537775 5.625658 -0.092804
-v 0.502804 5.605110 -0.112799
-v 0.504160 5.629180 -0.092322
-v 0.433839 5.604552 -0.091985
-v 0.450710 5.583147 -0.112462
-v 0.482219 5.499254 -0.114462
-v 0.530931 5.473194 -0.114462
-v 0.499634 5.474578 -0.093983
-v 0.465640 5.486594 -0.093983
-v 0.534608 5.457798 -0.114274
-v 0.493435 5.445159 -0.114274
-v 0.475158 5.450655 -0.093796
-v 0.503310 5.459183 -0.093796
-v 0.421121 5.612298 -0.093871
-v 0.418937 5.628274 -0.114350
-v 0.506708 5.666801 -0.113882
-v 0.501502 5.648447 -0.093404
-v 0.550349 5.662285 -0.114218
-v 0.545143 5.643930 -0.093740
-v 0.629492 5.612260 -0.113562
-v 0.664060 5.578382 -0.113562
-v 0.650154 5.569179 -0.093084
-v 0.613526 5.603806 -0.093084
-v 0.696662 5.549114 -0.114802
-v 0.682757 5.539909 -0.094323
-v 0.760234 5.486811 -0.113282
-v 0.730038 5.495645 -0.092804
-v 0.810358 5.424101 -0.113282
-v 0.786797 5.426218 -0.092804
-v 0.819314 5.365025 -0.113282
-v 0.797526 5.360498 -0.092804
-v 0.802562 5.320957 -0.113282
-v 0.788883 5.308403 -0.113282
-v 0.762682 5.295666 -0.092804
-v 0.779451 5.311057 -0.092804
-v 0.794186 5.297959 -0.111517
-v 0.804707 5.297311 -0.111517
-v 0.767983 5.285222 -0.091038
-v 0.836627 5.301105 -0.113282
-v 0.843061 5.281743 -0.092804
-v 0.896286 5.324542 -0.113282
-v 0.909790 5.306975 -0.092804
-v 0.928906 5.373504 -0.113282
-v 0.946826 5.360417 -0.092804
-v 0.926206 5.448348 -0.113700
-v 0.907602 5.497252 -0.113700
-v 0.930586 5.489536 -0.093222
-v 0.945004 5.442576 -0.093222
-v 0.919570 5.525727 -0.113282
-v 0.942554 5.518014 -0.092804
-v 0.984745 5.550106 -0.113325
-v 1.015682 5.544410 -0.092846
-v 1.023436 5.590175 -0.113106
-v 1.049458 5.591613 -0.092627
-v 1.029258 5.632510 -0.113424
-v 1.018718 5.655898 -0.113424
-v 1.039579 5.667114 -0.092946
-v 1.051585 5.640802 -0.092946
-v 1.005948 5.675226 -0.110215
-v 0.995631 5.701816 -0.089738
-v 1.026809 5.686442 -0.089738
-v 0.993280 5.668571 -0.114556
-v 0.978032 5.657892 -0.114556
-v 0.980578 5.679368 -0.094078
-v 0.982963 5.695159 -0.094078
-v 0.927556 5.636914 -0.113282
-v 0.923474 5.656149 -0.092804
-v 0.877212 5.640411 -0.113949
-v 0.802427 5.662618 -0.113949
-v 0.810786 5.676223 -0.093471
-v 0.873130 5.659646 -0.093471
-v 0.539941 5.773489 -0.113282
-v 0.526252 5.797686 -0.092804
-v 0.457298 5.767262 -0.113282
-v 0.434858 5.792035 -0.092804
-v 0.382350 5.721624 -0.113282
-v 0.350880 5.742265 -0.092804
-v 0.342812 5.652568 -0.113282
-v 0.306206 5.666270 -0.092804
-v 0.335251 5.577381 -0.113282
-v 0.296974 5.582496 -0.092804
-v 0.362685 5.519274 -0.113282
-v 0.392027 5.495102 -0.113282
-v 0.361985 5.488284 -0.092804
-v 0.326010 5.517920 -0.092804
-v 0.417923 5.476707 -0.110215
-v 0.429909 5.458251 -0.089737
-v 0.387881 5.469887 -0.089737
-v 0.439370 5.482518 -0.110215
-v 0.445514 5.484608 -0.089738
-v 0.479508 5.472592 -0.089738
-v 0.440389 5.273817 -0.123867
-v 0.802856 5.311946 -0.123867
-v 0.470522 5.538355 -0.123867
-v 0.479066 5.555797 -0.123867
-v 0.530146 5.494235 -0.123867
-v 0.481434 5.520294 -0.123867
-v 0.527090 5.570638 -0.123867
-v 0.549926 5.504280 -0.123867
-v 0.591474 5.219917 -0.123867
-v 0.547534 5.217666 -0.123867
-v 0.574522 5.235818 -0.123867
-v 0.510551 5.186327 -0.123867
-v 0.856916 5.339489 -0.123867
-v 0.785386 5.561415 -0.123867
-v 0.831140 5.511280 -0.123867
-v 0.970352 5.590698 -0.123867
-v 0.874926 5.424644 -0.123867
-v 0.861703 5.463790 -0.123867
-v 0.385730 5.608974 -0.123867
-v 0.490694 5.715039 -0.123867
-v 0.541191 5.438536 -0.123867
-v 0.564482 5.431025 -0.123867
-v 0.470473 5.376470 -0.123867
-v 0.500018 5.425898 -0.123867
-v 0.545513 5.349375 -0.123867
-v 0.494061 5.305954 -0.123867
-v 0.426899 5.454040 -0.000178
-v 0.384872 5.465675 -0.000178
-v 0.392157 5.356647 -0.000178
-v 0.429328 5.417697 -0.000178
-v 0.364079 5.254062 -0.000178
-v 0.389204 5.170083 -0.000178
-v 0.474331 5.106178 -0.000178
-v 0.583881 5.110291 -0.000178
-v 0.527670 5.097790 -0.000178
-v 0.653498 5.188813 -0.000178
-v 0.625824 5.140632 -0.000178
-v 0.631697 5.254966 -0.000178
-v 0.655456 5.226924 -0.000178
-v 0.565082 5.271138 -0.000178
-v 0.601572 5.269704 -0.000178
-v 0.589741 5.315586 -0.000178
-v 0.561138 5.286431 -0.000178
-v 0.616228 5.359894 -0.000178
-v 0.659029 5.522835 -0.000178
-v 0.654866 5.473672 -0.000178
-v 0.670598 5.539687 -0.000178
-v 0.717054 5.498289 -0.000178
-v 0.775843 5.425636 -0.000178
-v 0.786682 5.357014 -0.000178
-v 0.750770 5.290197 -0.000178
-v 0.767541 5.305588 -0.000178
-v 0.763965 5.278866 -0.000178
-v 0.847876 5.272824 -0.000178
-v 0.917379 5.299571 -0.000178
-v 0.955695 5.355863 -0.000178
-v 0.941216 5.485821 -0.000178
-v 0.955634 5.438861 -0.000178
-v 0.955578 5.514775 -0.000178
-v 1.029874 5.543750 -0.000178
-v 1.061003 5.594168 -0.000178
-v 1.050158 5.671900 -0.000178
-v 1.062163 5.645587 -0.000178
-v 0.997389 5.708117 -0.000178
-v 1.028566 5.692743 -0.000178
-v 0.978222 5.692117 -0.000178
-v 0.980607 5.707908 -0.000178
-v 0.923102 5.665982 -0.000178
-v 0.811612 5.684768 -0.000178
-v 0.873955 5.668191 -0.000178
-v 0.517526 5.809513 -0.000178
-v 0.421837 5.803005 -0.000178
-v 0.334437 5.750560 -0.000178
-v 0.288120 5.670815 -0.000178
-v 0.278871 5.583405 -0.000178
-v 0.345870 5.486310 -0.000178
-v 0.309896 5.515944 -0.000178
-v 0.494061 5.305954 0.123511
-v 0.545513 5.349375 0.123511
-v 0.500018 5.425898 0.123511
-v 0.470473 5.376470 0.123511
-v 0.564482 5.431025 0.123511
-v 0.541191 5.438536 0.123511
-v 0.490694 5.715039 0.123511
-v 0.385730 5.608974 0.123511
-v 0.861703 5.463790 0.123511
-v 0.874926 5.424644 0.123511
-v 0.970352 5.590698 0.123511
-v 0.831140 5.511280 0.123511
-v 0.785386 5.561415 0.123511
-v 0.856916 5.339489 0.123511
-v 0.510551 5.186327 0.123511
-v 0.574522 5.235818 0.123511
-v 0.547534 5.217666 0.123511
-v 0.591474 5.219917 0.123511
-v 0.549926 5.504280 0.123511
-v 0.527090 5.570638 0.123511
-v 0.481434 5.520294 0.123511
-v 0.530146 5.494235 0.123511
-v 0.479066 5.555797 0.123511
-v 0.470522 5.538355 0.123511
-v 0.802856 5.311946 0.123511
-v 0.440389 5.273817 0.123511
-v 0.479508 5.472592 0.089382
-v 0.445514 5.484608 0.089382
-v 0.439370 5.482518 0.109859
-v 0.387881 5.469887 0.089381
-v 0.429909 5.458251 0.089381
-v 0.417923 5.476707 0.109859
-v 0.326010 5.517920 0.092448
-v 0.361985 5.488284 0.092448
-v 0.392027 5.495102 0.112926
-v 0.362685 5.519274 0.112926
-v 0.296974 5.582496 0.092448
-v 0.335251 5.577381 0.112926
-v 0.306206 5.666270 0.092448
-v 0.342812 5.652568 0.112926
-v 0.350880 5.742265 0.092448
-v 0.382350 5.721624 0.112926
-v 0.434858 5.792035 0.092448
-v 0.457298 5.767262 0.112926
-v 0.526252 5.797686 0.092448
-v 0.539941 5.773489 0.112926
-v 0.873130 5.659646 0.093115
-v 0.810786 5.676223 0.093115
-v 0.802427 5.662618 0.113593
-v 0.877212 5.640411 0.113593
-v 0.923474 5.656149 0.092448
-v 0.927556 5.636914 0.112926
-v 0.982963 5.695159 0.093722
-v 0.980578 5.679368 0.093722
-v 0.978032 5.657892 0.114200
-v 0.993280 5.668571 0.114200
-v 1.026809 5.686442 0.089382
-v 0.995631 5.701816 0.089382
-v 1.005948 5.675226 0.109859
-v 1.051585 5.640802 0.092590
-v 1.039579 5.667114 0.092590
-v 1.018718 5.655898 0.113068
-v 1.029258 5.632510 0.113068
-v 1.049458 5.591613 0.092271
-v 1.023436 5.590175 0.112750
-v 1.015682 5.544410 0.092490
-v 0.984745 5.550106 0.112969
-v 0.942554 5.518014 0.092448
-v 0.919570 5.525727 0.112926
-v 0.945004 5.442576 0.092866
-v 0.930586 5.489536 0.092866
-v 0.907602 5.497252 0.113344
-v 0.926206 5.448348 0.113344
-v 0.946826 5.360417 0.092448
-v 0.928906 5.373504 0.112926
-v 0.909790 5.306975 0.092448
-v 0.896286 5.324542 0.112926
-v 0.843061 5.281743 0.092448
-v 0.836627 5.301105 0.112926
-v 0.767983 5.285222 0.090682
-v 0.804707 5.297311 0.111161
-v 0.794186 5.297959 0.111161
-v 0.779451 5.311057 0.092448
-v 0.762682 5.295666 0.092448
-v 0.788883 5.308403 0.112926
-v 0.802562 5.320957 0.112926
-v 0.797526 5.360498 0.092448
-v 0.819314 5.365025 0.112926
-v 0.786797 5.426218 0.092448
-v 0.810358 5.424101 0.112926
-v 0.730038 5.495645 0.092448
-v 0.760234 5.486811 0.112926
-v 0.682757 5.539909 0.093967
-v 0.696662 5.549114 0.114446
-v 0.613526 5.603806 0.092728
-v 0.650154 5.569179 0.092728
-v 0.664060 5.578382 0.113206
-v 0.629492 5.612260 0.113206
-v 0.545143 5.643930 0.093384
-v 0.550349 5.662285 0.113862
-v 0.501502 5.648447 0.093048
-v 0.506708 5.666801 0.113526
-v 0.418937 5.628274 0.113994
-v 0.421121 5.612298 0.093515
-v 0.503310 5.459183 0.093440
-v 0.475158 5.450655 0.093440
-v 0.493435 5.445159 0.113918
-v 0.534608 5.457798 0.113918
-v 0.465640 5.486594 0.093627
-v 0.499634 5.474578 0.093627
-v 0.530931 5.473194 0.114106
-v 0.482219 5.499254 0.114106
-v 0.450710 5.583147 0.112106
-v 0.433839 5.604552 0.091629
-v 0.504160 5.629180 0.091966
-v 0.502804 5.605110 0.112443
-v 0.537775 5.625658 0.092448
-v 0.536419 5.601588 0.112926
-v 0.636398 5.557381 0.092069
-v 0.599770 5.592010 0.092069
-v 0.592514 5.570402 0.112546
-v 0.615937 5.547515 0.112546
-v 0.645166 5.471096 0.092448
-v 0.649330 5.520258 0.092448
-v 0.628868 5.510393 0.112926
-v 0.625473 5.470294 0.112926
-v 0.607939 5.362035 0.092470
-v 0.593234 5.371274 0.112949
-v 0.546701 5.287212 0.093566
-v 0.575304 5.316366 0.093566
-v 0.560599 5.325606 0.114044
-v 0.509146 5.282185 0.114044
-v 0.587233 5.265692 0.093626
-v 0.550742 5.267126 0.093626
-v 0.513188 5.262099 0.114103
-v 0.570921 5.255943 0.114103
-v 0.646254 5.225375 0.091975
-v 0.622495 5.253418 0.091975
-v 0.606183 5.243670 0.112454
-v 0.623135 5.227768 0.112454
-v 0.618793 5.146736 0.091746
-v 0.646468 5.194917 0.091746
-v 0.623349 5.197310 0.112225
-v 0.610153 5.170753 0.112225
-v 0.525999 5.109948 0.092448
-v 0.582210 5.122450 0.092448
-v 0.573570 5.146466 0.112926
-v 0.527722 5.136270 0.112926
-v 0.478291 5.118040 0.092282
-v 0.480014 5.144361 0.112761
-v 0.399372 5.179461 0.092250
-v 0.416054 5.201977 0.112728
-v 0.376874 5.259162 0.092448
-v 0.403944 5.274145 0.112926
-v 0.439946 5.417790 0.092430
-v 0.402774 5.356741 0.092430
-v 0.428678 5.362868 0.112909
-v 0.458223 5.412295 0.112909
-v 0.736686 5.605947 0.123511
-v 0.531150 5.719302 0.123511
-v 0.381454 5.531240 0.123511
-v 0.406946 5.503573 0.123511
-v 0.394917 5.657471 0.123511
-v 0.887220 5.368674 0.123511
-v 0.919384 5.572126 0.123511
-v 0.948260 5.556879 0.123511
-v 0.877842 5.588543 0.123511
-v 0.802170 5.613324 0.123511
-v 0.998508 5.634236 0.123511
-v 1.000863 5.651269 0.123511
-v 0.821135 5.315813 0.123511
-v 0.445729 5.233723 0.123511
-v 0.582807 5.538704 0.123511
-v 0.579542 5.483232 0.123511
-v 0.602834 5.475719 0.123511
-v 0.606229 5.515820 0.123511
-v 0.481455 5.465744 0.089382
-v 0.441317 5.475670 0.109859
-v 0.453302 5.457216 0.089382
-v 0.443761 5.538089 0.112502
-v 0.425538 5.537968 0.092025
-v 0.438094 5.507370 0.092025
-v 0.454673 5.520028 0.112502
-v 0.411730 5.534671 0.093005
-v 0.396498 5.533141 0.113482
-v 0.418141 5.501982 0.113482
-v 0.424286 5.504072 0.093005
-v 0.345870 5.486310 0.041099
-v 0.309896 5.515944 0.041099
-v 2.041447 5.441407 0.000016
-v 1.902422 5.157276 0.000038
-v 2.000598 5.267411 -0.000016
-v 0.827715 5.464243 -0.018954
-v 1.649046 5.069851 -0.032847
-v 1.776509 5.091953 -0.036823
-v 1.898296 5.160740 -0.040898
-v 1.994962 5.269464 -0.045596
-v 2.035121 5.441407 -0.048052
-v 2.109306 5.441407 -0.067926
-v 2.146399 5.479807 -0.077862
-v 2.084578 5.531006 -0.061302
-v 1.991847 5.569407 -0.036460
-v 2.041304 5.595008 -0.049708
-v 2.096942 5.665406 -0.064614
-v 2.127852 5.665406 -0.072894
-v 2.127852 5.697407 -0.072894
-v 0.830914 5.470578 -0.036093
-v 0.836005 5.480661 -0.050811
-v 1.643436 5.101691 -0.088847
-v 1.758191 5.123687 -0.100293
-v 1.866940 5.187052 -0.111804
-v 1.952135 5.285051 -0.124545
-v 1.987059 5.441407 -0.131312
-v 2.041368 5.441407 -0.185614
-v 2.068523 5.479807 -0.212766
-v 2.023265 5.531006 -0.167514
-v 1.955379 5.569407 -0.099636
-v 1.991585 5.595008 -0.135838
-v 2.032317 5.665406 -0.176565
-v 2.054945 5.665406 -0.199190
-v 2.054945 5.697407 -0.199190
-v 0.850366 5.509098 -0.069204
-v 1.633711 5.156838 -0.121179
-v 1.726459 5.178650 -0.136939
-v 1.812627 5.232628 -0.152744
-v 1.877953 5.312052 -0.170130
-v 1.903806 5.441407 -0.179386
-v 1.923689 5.441407 -0.253568
-v 1.933629 5.479807 -0.290659
-v 1.917061 5.531006 -0.228842
-v 1.892206 5.569407 -0.136114
-v 1.905463 5.595008 -0.185568
-v 1.920375 5.665406 -0.241205
-v 1.928659 5.665406 -0.272114
-v 1.928659 5.697407 -0.272114
-v 0.866946 5.541935 -0.069204
-v 1.622482 5.220516 -0.121182
-v 1.689813 5.242119 -0.136943
-v 1.749908 5.285254 -0.152750
-v 1.792290 5.343229 -0.170137
-v 1.807669 5.441407 -0.179394
-v 1.787799 5.441407 -0.253579
-v 1.777863 5.479807 -0.290672
-v 1.794421 5.531006 -0.228851
-v 1.819260 5.569407 -0.136119
-v 1.806012 5.595008 -0.185577
-v 1.791109 5.665406 -0.241215
-v 1.782831 5.665406 -0.272125
-v 1.782831 5.697407 -0.272125
-v 0.881305 5.570374 -0.050811
-v 1.612755 5.275664 -0.088854
-v 1.658075 5.297085 -0.100303
-v 1.695589 5.330832 -0.111818
-v 1.718102 5.370231 -0.124564
-v 1.724408 5.441407 -0.131333
-v 1.670107 5.441407 -0.185643
-v 1.642957 5.479807 -0.212799
-v 1.688207 5.531006 -0.167541
-v 1.756084 5.569407 -0.099651
-v 1.719882 5.595008 -0.135859
-v 1.679158 5.665406 -0.176592
-v 1.656531 5.665406 -0.199222
-v 1.656531 5.697407 -0.199222
-v 1.733685 5.569407 -0.070469
-v 0.889594 5.586796 -0.018954
-v 1.607137 5.307508 -0.032856
-v 1.639748 5.328821 -0.036838
-v 1.664223 5.357145 -0.040918
-v 1.675264 5.385822 -0.045622
-v 1.676331 5.441407 -0.048081
-v 1.602150 5.441407 -0.067966
-v 1.565059 5.479807 -0.077909
-v 1.626877 5.531006 -0.061338
-v 1.719603 5.569407 -0.036482
-v 1.670149 5.595008 -0.049738
-v 1.614513 5.665406 -0.064651
-v 1.583606 5.665406 -0.072936
-v 1.583606 5.697407 -0.072936
-v 0.889594 5.586796 0.017833
-v 1.607132 5.307511 0.031806
-v 1.639743 5.328824 0.036450
-v 1.664215 5.357148 0.040955
-v 1.675255 5.385825 0.045538
-v 1.676321 5.441407 0.048057
-v 1.602136 5.441407 0.067926
-v 1.565044 5.479807 0.077860
-v 1.626865 5.531006 0.061302
-v 1.719597 5.569407 0.036466
-v 1.670139 5.595008 0.049711
-v 1.614500 5.665406 0.064614
-v 1.583589 5.665406 0.072893
-v 1.583589 5.697407 0.072893
-v 1.691782 5.379807 0.088014
-v 0.881302 5.570380 0.049690
-v 1.612743 5.275675 0.087806
-v 1.658060 5.297095 0.099922
-v 1.695569 5.330838 0.111863
-v 1.718076 5.370237 0.124489
-v 1.724379 5.441407 0.131318
-v 1.670067 5.441407 0.185618
-v 1.642911 5.479807 0.212767
-v 1.688171 5.531006 0.167518
-v 1.756062 5.569407 0.099644
-v 1.719855 5.595008 0.135843
-v 1.679120 5.665406 0.176567
-v 1.656490 5.665406 0.199191
-v 1.656490 5.697407 0.199191
-v 0.866942 5.541945 0.068085
-v 1.622465 5.220531 0.120141
-v 1.689792 5.242130 0.136571
-v 1.749879 5.285265 0.152806
-v 1.792256 5.343235 0.170078
-v 1.807631 5.441407 0.179396
-v 1.787743 5.441407 0.253577
-v 1.777802 5.479807 0.290667
-v 1.794373 5.531006 0.228850
-v 1.819231 5.569407 0.136125
-v 1.805974 5.595008 0.185578
-v 1.791058 5.665406 0.241213
-v 1.782773 5.665406 0.272123
-v 1.782773 5.697407 0.272123
-v 0.850362 5.509104 0.068087
-v 1.633698 5.156850 0.120147
-v 1.726436 5.178664 0.136579
-v 1.812598 5.232639 0.152818
-v 1.877919 5.312058 0.170090
-v 1.903767 5.441407 0.179410
-v 1.923634 5.441407 0.253595
-v 1.933568 5.479807 0.290689
-v 1.917012 5.531006 0.228866
-v 1.892178 5.569407 0.136134
-v 1.905423 5.595008 0.185592
-v 1.920323 5.665406 0.241231
-v 1.928601 5.665406 0.272141
-v 1.928601 5.697407 0.272141
-v 0.836002 5.480664 0.049696
-v 1.643425 5.101700 0.087822
-v 1.758174 5.123696 0.099943
-v 1.866919 5.187061 0.111890
-v 1.952110 5.285056 0.124521
-v 1.987030 5.441407 0.131352
-v 2.041330 5.441407 0.185667
-v 2.068478 5.479807 0.212822
-v 2.023230 5.531006 0.167562
-v 1.955357 5.569407 0.099670
-v 1.991556 5.595008 0.135879
-v 2.032280 5.665406 0.176614
-v 2.054904 5.665406 0.199245
-v 2.054904 5.697407 0.199245
-v 1.977757 5.569407 0.070487
-v 0.827713 5.464243 0.017841
-v 1.649043 5.069855 0.031826
-v 1.776505 5.091958 0.036479
-v 1.898288 5.160743 0.040991
-v 1.994951 5.269464 0.045582
-v 2.035112 5.441407 0.048103
-v 2.109293 5.441407 0.067991
-v 2.146382 5.479807 0.077937
-v 2.084566 5.531006 0.061362
-v 1.991841 5.569407 0.036501
-v 2.041295 5.595008 0.049761
-v 2.096928 5.665406 0.064676
-v 2.127837 5.665406 0.072964
-v 2.127837 5.697407 0.072964
-v 1.480159 5.243531 -0.106571
-v 1.502341 5.287462 -0.078158
-v 1.454546 5.192803 -0.106571
-v 1.432361 5.148871 -0.078157
-v 1.515146 5.312833 0.027885
-v 1.502338 5.287472 0.077100
-v 1.480153 5.243540 0.105516
-v 1.454540 5.192812 0.105519
-v 1.432358 5.148880 0.077109
-v 1.419550 5.123511 0.027896
-v 1.516179 5.312378 -0.028960
-v 1.419042 5.123801 -0.028934
-v 1.563461 5.304673 0.030392
-v 1.564023 5.304605 -0.031455
-v 1.558218 5.274195 -0.084999
-v 1.549126 5.221419 -0.115918
-v 1.529535 5.107703 -0.084997
-v 1.538628 5.160480 -0.115917
-v 1.558211 5.274205 0.083947
-v 1.549116 5.221431 0.114869
-v 1.538617 5.160491 0.114874
-v 1.529527 5.107712 0.083959
-v 1.523994 5.077298 -0.031438
-v 1.524280 5.077236 0.030408
-v -0.935916 7.231124 1.621186
-v -0.790965 7.204138 1.766126
-v -0.758390 7.204138 1.723672
-v -0.833417 7.204138 1.798704
-v -0.882855 7.204138 1.819184
-v -0.935909 7.204138 1.826170
-v -0.988963 7.204138 1.819188
-v -1.038402 7.204138 1.798711
-v -1.080857 7.204138 1.766137
-v -1.113434 7.204138 1.723684
-v -1.133914 7.204138 1.674246
-v -1.140901 7.204138 1.621192
-v -1.133918 7.204138 1.568139
-v -1.113442 7.204138 1.518699
-v -1.080867 7.204138 1.476245
-v -1.038415 7.204138 1.443668
-v -0.988977 7.204138 1.423187
-v -0.935924 7.204138 1.416201
-v -0.882869 7.204138 1.423184
-v -0.833430 7.204138 1.443660
-v -0.790975 7.204138 1.476234
-v -0.758398 7.204138 1.518687
-v -0.737918 7.204138 1.568124
-v -0.730931 7.204138 1.621178
-v -0.737914 7.204138 1.674232
-v -0.655892 7.125016 1.901190
-v -0.592963 7.125016 1.819174
-v -0.737904 7.125016 1.964124
-v -0.833411 7.125016 2.003688
-v -0.935902 7.125016 2.017184
-v -1.038394 7.125016 2.003695
-v -1.133904 7.125016 1.964139
-v -1.215920 7.125016 1.901209
-v -1.278855 7.125016 1.819197
-v -1.318419 7.125016 1.723691
-v -1.331916 7.125016 1.621200
-v -1.318426 7.125016 1.518708
-v -1.278869 7.125016 1.423198
-v -1.215941 7.125016 1.341181
-v -1.133928 7.125016 1.278246
-v -1.038423 7.125016 1.238682
-v -0.935930 7.125016 1.225186
-v -0.833438 7.125016 1.238675
-v -0.737928 7.125016 1.278233
-v -0.655912 7.125016 1.341161
-v -0.592978 7.125016 1.423172
-v -0.553413 7.125016 1.518679
-v -0.539916 7.125016 1.621171
-v -0.553406 7.125016 1.723664
-v -0.539902 6.999153 2.017171
-v -0.450907 6.999153 1.901182
-v -0.655885 6.999153 2.106174
-v -0.790951 6.999153 2.162126
-v -0.935896 6.999153 2.181214
-v -1.080843 6.999153 2.162137
-v -1.215913 6.999153 2.106194
-v -1.331902 6.999153 2.017200
-v -1.420905 6.999153 1.901217
-v -1.476856 6.999153 1.766151
-v -1.495945 6.999153 1.621206
-v -1.476867 6.999153 1.476258
-v -1.420925 6.999153 1.341189
-v -1.331930 6.999153 1.225199
-v -1.215948 6.999153 1.136197
-v -1.080882 6.999153 1.080244
-v -0.935937 6.999153 1.061157
-v -0.790990 6.999153 1.080234
-v -0.655919 6.999153 1.136176
-v -0.539931 6.999153 1.225170
-v -0.450928 6.999153 1.341153
-v -0.394976 6.999153 1.476219
-v -0.375888 6.999153 1.621165
-v -0.394965 6.999153 1.766112
-v -0.450900 6.835124 2.106167
-v -0.341904 6.835124 1.964110
-v -0.592949 6.835124 2.215173
-v -0.758371 6.835124 2.283700
-v -0.935891 6.835124 2.307077
-v -1.113414 6.835124 2.283713
-v -1.278841 6.835124 2.215197
-v -1.420897 6.835124 2.106202
-v -1.529903 6.835124 1.964153
-v -1.598430 6.835124 1.798731
-v -1.621808 6.835124 1.621209
-v -1.598444 6.835124 1.443688
-v -1.529929 6.835124 1.278261
-v -1.420933 6.835124 1.136204
-v -1.278884 6.835124 1.027199
-v -1.113463 6.835124 0.958671
-v -0.935941 6.835124 0.935293
-v -0.758418 6.835124 0.958658
-v -0.592992 6.835124 1.027173
-v -0.450935 6.835124 1.136169
-v -0.341929 6.835124 1.278217
-v -0.273402 6.835124 1.443639
-v -0.250024 6.835124 1.621160
-v -0.273389 6.835124 1.798683
-v -0.394951 6.644109 2.162112
-v -0.273382 6.644109 2.003668
-v -0.553386 6.644109 2.283693
-v -0.737890 6.644109 2.360124
-v -0.935889 6.644109 2.386198
-v -1.133890 6.644109 2.360139
-v -1.318400 6.644109 2.283720
-v -1.476843 6.644109 2.162151
-v -1.598423 6.644109 2.003716
-v -1.674855 6.644109 1.819212
-v -1.700929 6.644109 1.621213
-v -1.674870 6.644109 1.423212
-v -1.598451 6.644109 1.238703
-v -1.476882 6.644109 1.080259
-v -1.318446 6.644109 0.958678
-v -1.133944 6.644109 0.882247
-v -0.935944 6.644109 0.856172
-v -0.737943 6.644109 0.882232
-v -0.553434 6.644109 0.958651
-v -0.394989 6.644109 1.080219
-v -0.273410 6.644109 1.238654
-v -0.196978 6.644109 1.423158
-v -0.170903 6.644109 1.621157
-v -0.196962 6.644109 1.819158
-v -0.375868 6.439125 2.181194
-v -0.250010 6.439125 2.017161
-v -0.539892 6.439125 2.307063
-v -0.730904 6.439125 2.386191
-v -0.935887 6.439125 2.413185
-v -1.140874 6.439125 2.386206
-v -1.331892 6.439125 2.307091
-v -1.495925 6.439125 2.181234
-v -1.621794 6.439125 2.017210
-v -1.700922 6.439125 1.826198
-v -1.727916 6.439125 1.621213
-v -1.700937 6.439125 1.416228
-v -1.621823 6.439125 1.225210
-v -1.495965 6.439125 1.061177
-v -1.331942 6.439125 0.935308
-v -1.140928 6.439125 0.856180
-v -0.935945 6.439125 0.829185
-v -0.730960 6.439125 0.856165
-v -0.539941 6.439125 0.935279
-v -0.375908 6.439125 1.061136
-v -0.250038 6.439125 1.225160
-v -0.170910 6.439125 1.416173
-v -0.143917 6.439125 1.621156
-v -0.170895 6.439125 1.826142
-v -0.394951 6.234140 2.162112
-v -0.273382 6.234140 2.003668
-v -0.553386 6.234140 2.283693
-v -0.737889 6.234140 2.360124
-v -0.935889 6.234140 2.386198
-v -1.133890 6.234140 2.360139
-v -1.318400 6.234140 2.283720
-v -1.476843 6.234140 2.162151
-v -1.598423 6.234140 2.003716
-v -1.674855 6.234140 1.819212
-v -1.700930 6.234140 1.621213
-v -1.674870 6.234140 1.423212
-v -1.598451 6.234140 1.238703
-v -1.476882 6.234140 1.080259
-v -1.318447 6.234140 0.958678
-v -1.133943 6.234140 0.882246
-v -0.935944 6.234140 0.856172
-v -0.737943 6.234140 0.882232
-v -0.553433 6.234140 0.958650
-v -0.394989 6.234140 1.080219
-v -0.273409 6.234140 1.238654
-v -0.196978 6.234140 1.423158
-v -0.170903 6.234140 1.621157
-v -0.196962 6.234140 1.819158
-v -0.450900 6.043124 2.106167
-v -0.341904 6.043124 1.964110
-v -0.592949 6.043124 2.215173
-v -0.758370 6.043124 2.283701
-v -0.935891 6.043124 2.307078
-v -1.113414 6.043124 2.283713
-v -1.278841 6.043124 2.215197
-v -1.420897 6.043124 2.106202
-v -1.529904 6.043124 1.964153
-v -1.598432 6.043124 1.798732
-v -1.621809 6.043124 1.621211
-v -1.598444 6.043124 1.443688
-v -1.529929 6.043124 1.278261
-v -1.420933 6.043124 1.136204
-v -1.278884 6.043124 1.027197
-v -1.113462 6.043124 0.958670
-v -0.935941 6.043124 0.935293
-v -0.758418 6.043124 0.958658
-v -0.592992 6.043124 1.027173
-v -0.450935 6.043124 1.136168
-v -0.341929 6.043124 1.278217
-v -0.273402 6.043124 1.443639
-v -0.250023 6.043124 1.621160
-v -0.273388 6.043124 1.798683
-v -0.539902 5.879096 2.017171
-v -0.450907 5.879096 1.901182
-v -0.655885 5.879096 2.106174
-v -0.790950 5.879096 2.162127
-v -0.935896 5.879096 2.181215
-v -1.080843 5.879096 2.162137
-v -1.215914 5.879096 2.106194
-v -1.331902 5.879096 2.017200
-v -1.420905 5.879096 1.901217
-v -1.476857 5.879096 1.766150
-v -1.495945 5.879096 1.621206
-v -1.476867 5.879096 1.476258
-v -1.420925 5.879096 1.341188
-v -1.331931 5.879096 1.225199
-v -1.215949 5.879096 1.136196
-v -1.080882 5.879096 1.080244
-v -0.935937 5.879096 1.061157
-v -0.790990 5.879096 1.080234
-v -0.655919 5.879096 1.136176
-v -0.539931 5.879096 1.225170
-v -0.450927 5.879096 1.341153
-v -0.394976 5.879096 1.476219
-v -0.375887 5.879096 1.621165
-v -0.394965 5.879096 1.766112
-v -0.655892 5.753232 1.901190
-v -0.592963 5.753232 1.819174
-v -0.737903 5.753232 1.964125
-v -0.833410 5.753232 2.003689
-v -0.935902 5.753232 2.017185
-v -1.038395 5.753232 2.003696
-v -1.133904 5.753232 1.964139
-v -1.215921 5.753232 1.901210
-v -1.278855 5.753232 1.819197
-v -1.318419 5.753232 1.723692
-v -1.331916 5.753232 1.621200
-v -1.318427 5.753232 1.518707
-v -1.278869 5.753232 1.423198
-v -1.215941 5.753232 1.341181
-v -1.133929 5.753232 1.278246
-v -1.038423 5.753232 1.238682
-v -0.935931 5.753232 1.225185
-v -0.833438 5.753232 1.238675
-v -0.737928 5.753232 1.278232
-v -0.655912 5.753232 1.341161
-v -0.592977 5.753232 1.423173
-v -0.553413 5.753232 1.518679
-v -0.539916 5.753232 1.621171
-v -0.553405 5.753232 1.723664
-v -0.790965 5.674111 1.766127
-v -0.758390 5.674111 1.723672
-v -0.833417 5.674111 1.798704
-v -0.882854 5.674111 1.819184
-v -0.935909 5.674111 1.826171
-v -0.988963 5.674111 1.819188
-v -1.038403 5.674111 1.798711
-v -1.080857 5.674111 1.766137
-v -1.113434 5.674111 1.723684
-v -1.133914 5.674111 1.674246
-v -1.140901 5.674111 1.621193
-v -1.133918 5.674111 1.568139
-v -1.113442 5.674111 1.518699
-v -1.080868 5.674111 1.476244
-v -1.038415 5.674111 1.443667
-v -0.988978 5.674111 1.423187
-v -0.935924 5.674111 1.416201
-v -0.882869 5.674111 1.423183
-v -0.833430 5.674111 1.443660
-v -0.790975 5.674111 1.476233
-v -0.758398 5.674111 1.518686
-v -0.737918 5.674111 1.568124
-v -0.730931 5.674111 1.621178
-v -0.737914 5.674111 1.674232
-v -0.935916 5.647125 1.621186
-v -0.935916 7.231124 -1.621186
-v -1.133918 7.204138 -1.568138
-v -1.113442 7.204138 -1.518699
-v -1.140901 7.204138 -1.621192
-v -1.133914 7.204138 -1.674246
-v -1.113434 7.204138 -1.723684
-v -1.080857 7.204138 -1.766137
-v -1.038402 7.204138 -1.798711
-v -0.988963 7.204138 -1.819188
-v -0.935909 7.204138 -1.826170
-v -0.882855 7.204138 -1.819184
-v -0.833417 7.204138 -1.798704
-v -0.790965 7.204138 -1.766127
-v -0.758390 7.204138 -1.723672
-v -0.737914 7.204138 -1.674233
-v -0.730932 7.204138 -1.621179
-v -0.737918 7.204138 -1.568125
-v -0.758397 7.204138 -1.518687
-v -0.790975 7.204138 -1.476234
-v -0.833430 7.204138 -1.443660
-v -0.882869 7.204138 -1.423184
-v -0.935923 7.204138 -1.416201
-v -0.988977 7.204138 -1.423187
-v -1.038415 7.204138 -1.443667
-v -1.080867 7.204138 -1.476244
-v -1.318427 7.125016 -1.518706
-v -1.278869 7.125016 -1.423198
-v -1.331916 7.125016 -1.621199
-v -1.318419 7.125016 -1.723691
-v -1.278855 7.125016 -1.819197
-v -1.215921 7.125016 -1.901209
-v -1.133904 7.125016 -1.964139
-v -1.038395 7.125016 -2.003695
-v -0.935902 7.125016 -2.017185
-v -0.833411 7.125016 -2.003688
-v -0.737904 7.125016 -1.964125
-v -0.655893 7.125016 -1.901190
-v -0.592963 7.125016 -1.819174
-v -0.553406 7.125016 -1.723665
-v -0.539916 7.125016 -1.621172
-v -0.553413 7.125016 -1.518680
-v -0.592977 7.125016 -1.423174
-v -0.655911 7.125016 -1.341161
-v -0.737928 7.125016 -1.278233
-v -0.833437 7.125016 -1.238675
-v -0.935929 7.125016 -1.225185
-v -1.038421 7.125016 -1.238682
-v -1.133928 7.125016 -1.278245
-v -1.215940 7.125016 -1.341181
-v -1.476867 6.999153 -1.476258
-v -1.420924 6.999153 -1.341188
-v -1.495945 6.999153 -1.621205
-v -1.476857 6.999153 -1.766150
-v -1.420906 6.999153 -1.901216
-v -1.331903 6.999153 -2.017199
-v -1.215913 6.999153 -2.106194
-v -1.080844 6.999153 -2.162136
-v -0.935897 6.999153 -2.181214
-v -0.790952 6.999153 -2.162126
-v -0.655885 6.999153 -2.106175
-v -0.539902 6.999153 -2.017172
-v -0.450908 6.999153 -1.901183
-v -0.394965 6.999153 -1.766113
-v -0.375888 6.999153 -1.621166
-v -0.394974 6.999153 -1.476221
-v -0.450926 6.999153 -1.341155
-v -0.539929 6.999153 -1.225172
-v -0.655919 6.999153 -1.136176
-v -0.790988 6.999153 -1.080234
-v -0.935934 6.999153 -1.061157
-v -1.080880 6.999153 -1.080244
-v -1.215946 6.999153 -1.136196
-v -1.331930 6.999153 -1.225199
-v -1.598443 6.835124 -1.443686
-v -1.529928 6.835124 -1.278260
-v -1.621808 6.835124 -1.621209
-v -1.598431 6.835124 -1.798730
-v -1.529905 6.835124 -1.964151
-v -1.420899 6.835124 -2.106201
-v -1.278841 6.835124 -2.215197
-v -1.113416 6.835124 -2.283712
-v -0.935893 6.835124 -2.307077
-v -0.758372 6.835124 -2.283700
-v -0.592949 6.835124 -2.215173
-v -0.450901 6.835124 -2.106169
-v -0.341905 6.835124 -1.964112
-v -0.273390 6.835124 -1.798685
-v -0.250025 6.835124 -1.621162
-v -0.273401 6.835124 -1.443642
-v -0.341927 6.835124 -1.278219
-v -0.450933 6.835124 -1.136170
-v -0.592990 6.835124 -1.027174
-v -0.758417 6.835124 -0.958659
-v -0.935939 6.835124 -0.935293
-v -1.113460 6.835124 -0.958670
-v -1.278882 6.835124 -1.027197
-v -1.420932 6.835124 -1.136203
-v -1.674869 6.644109 -1.423211
-v -1.598450 6.644109 -1.238701
-v -1.700929 6.644109 -1.621212
-v -1.674855 6.644109 -1.819211
-v -1.598424 6.644109 -2.003714
-v -1.476844 6.644109 -2.162150
-v -1.318400 6.644109 -2.283720
-v -1.133891 6.644109 -2.360138
-v -0.935890 6.644109 -2.386199
-v -0.737891 6.644109 -2.360124
-v -0.553387 6.644109 -2.283693
-v -0.394952 6.644109 -2.162114
-v -0.273383 6.644109 -2.003670
-v -0.196964 6.644109 -1.819160
-v -0.170903 6.644109 -1.621159
-v -0.196977 6.644109 -1.423161
-v -0.273407 6.644109 -1.238656
-v -0.394988 6.644109 -1.080221
-v -0.553432 6.644109 -0.958652
-v -0.737941 6.644109 -0.882232
-v -0.935941 6.644109 -0.856172
-v -1.133941 6.644109 -0.882246
-v -1.318445 6.644109 -0.958677
-v -1.476880 6.644109 -1.080257
-v -1.700936 6.439125 -1.416227
-v -1.621822 6.439125 -1.225209
-v -1.727916 6.439125 -1.621213
-v -1.700922 6.439125 -1.826196
-v -1.621795 6.439125 -2.017208
-v -1.495925 6.439125 -2.181233
-v -1.331892 6.439125 -2.307091
-v -1.140875 6.439125 -2.386206
-v -0.935889 6.439125 -2.413185
-v -0.730905 6.439125 -2.386192
-v -0.539892 6.439125 -2.307064
-v -0.375868 6.439125 -2.181195
-v -0.250011 6.439125 -2.017163
-v -0.170896 6.439125 -1.826144
-v -0.143916 6.439125 -1.621159
-v -0.170910 6.439125 -1.416175
-v -0.250037 6.439125 -1.225162
-v -0.375906 6.439125 -1.061138
-v -0.539939 6.439125 -0.935280
-v -0.730957 6.439125 -0.856165
-v -0.935943 6.439125 -0.829185
-v -1.140927 6.439125 -0.856179
-v -1.331939 6.439125 -0.935307
-v -1.495964 6.439125 -1.061176
-v -1.674869 6.234140 -1.423211
-v -1.598450 6.234140 -1.238701
-v -1.700929 6.234140 -1.621212
-v -1.674856 6.234140 -1.819210
-v -1.598424 6.234140 -2.003714
-v -1.476844 6.234140 -2.162150
-v -1.318400 6.234140 -2.283720
-v -1.133891 6.234140 -2.360138
-v -0.935890 6.234140 -2.386199
-v -0.737891 6.234140 -2.360124
-v -0.553387 6.234140 -2.283693
-v -0.394952 6.234140 -2.162114
-v -0.273383 6.234140 -2.003670
-v -0.196964 6.234140 -1.819160
-v -0.170902 6.234140 -1.621160
-v -0.196976 6.234140 -1.423160
-v -0.273407 6.234140 -1.238656
-v -0.394988 6.234140 -1.080221
-v -0.553432 6.234140 -0.958651
-v -0.737941 6.234140 -0.882232
-v -0.935942 6.234140 -0.856172
-v -1.133941 6.234140 -0.882246
-v -1.318445 6.234140 -0.958677
-v -1.476880 6.234140 -1.080257
-v -1.598443 6.043124 -1.443686
-v -1.529928 6.043124 -1.278260
-v -1.621808 6.043124 -1.621209
-v -1.598432 6.043124 -1.798730
-v -1.529905 6.043124 -1.964152
-v -1.420899 6.043124 -2.106201
-v -1.278841 6.043124 -2.215197
-v -1.113416 6.043124 -2.283712
-v -0.935892 6.043124 -2.307078
-v -0.758372 6.043124 -2.283701
-v -0.592950 6.043124 -2.215174
-v -0.450901 6.043124 -2.106169
-v -0.341905 6.043124 -1.964112
-v -0.273390 6.043124 -1.798685
-v -0.250023 6.043124 -1.621162
-v -0.273401 6.043124 -1.443641
-v -0.341927 6.043124 -1.278219
-v -0.450933 6.043124 -1.136170
-v -0.592990 6.043124 -1.027174
-v -0.758416 6.043124 -0.958658
-v -0.935939 6.043124 -0.935293
-v -1.113460 6.043124 -0.958670
-v -1.278882 6.043124 -1.027196
-v -1.420931 6.043124 -1.136202
-v -1.476867 5.879096 -1.476258
-v -1.420925 5.879096 -1.341187
-v -1.495945 5.879096 -1.621205
-v -1.476858 5.879096 -1.766150
-v -1.420906 5.879096 -1.901217
-v -1.331903 5.879096 -2.017199
-v -1.215914 5.879096 -2.106194
-v -1.080844 5.879096 -2.162137
-v -0.935897 5.879096 -2.181214
-v -0.790951 5.879096 -2.162127
-v -0.655885 5.879096 -2.106175
-v -0.539902 5.879096 -2.017172
-v -0.450907 5.879096 -1.901183
-v -0.394964 5.879096 -1.766113
-v -0.375887 5.879096 -1.621167
-v -0.394974 5.879096 -1.476221
-v -0.450926 5.879096 -1.341155
-v -0.539929 5.879096 -1.225172
-v -0.655919 5.879096 -1.136176
-v -0.790988 5.879096 -1.080234
-v -0.935935 5.879096 -1.061156
-v -1.080880 5.879096 -1.080244
-v -1.215947 5.879096 -1.136195
-v -1.331930 5.879096 -1.225199
-v -1.318427 5.753232 -1.518706
-v -1.278869 5.753232 -1.423198
-v -1.331917 5.753232 -1.621199
-v -1.318420 5.753232 -1.723691
-v -1.278855 5.753232 -1.819197
-v -1.215922 5.753232 -1.901210
-v -1.133904 5.753232 -1.964139
-v -1.038396 5.753232 -2.003696
-v -0.935902 5.753232 -2.017185
-v -0.833411 5.753232 -2.003689
-v -0.737904 5.753232 -1.964125
-v -0.655892 5.753232 -1.901191
-v -0.592963 5.753232 -1.819174
-v -0.553406 5.753232 -1.723665
-v -0.539915 5.753232 -1.621172
-v -0.553413 5.753232 -1.518680
-v -0.592976 5.753232 -1.423174
-v -0.655911 5.753232 -1.341161
-v -0.737928 5.753232 -1.278232
-v -0.833437 5.753232 -1.238675
-v -0.935930 5.753232 -1.225185
-v -1.038421 5.753232 -1.238682
-v -1.133928 5.753232 -1.278245
-v -1.215940 5.753232 -1.341180
-v -1.133918 5.674111 -1.568139
-v -1.113442 5.674111 -1.518699
-v -1.140901 5.674111 -1.621192
-v -1.133915 5.674111 -1.674246
-v -1.113435 5.674111 -1.723684
-v -1.080857 5.674111 -1.766137
-v -1.038403 5.674111 -1.798711
-v -0.988963 5.674111 -1.819188
-v -0.935909 5.674111 -1.826170
-v -0.882855 5.674111 -1.819184
-v -0.833418 5.674111 -1.798705
-v -0.790965 5.674111 -1.766127
-v -0.758390 5.674111 -1.723672
-v -0.737913 5.674111 -1.674233
-v -0.730931 5.674111 -1.621178
-v -0.737917 5.674111 -1.568125
-v -0.758397 5.674111 -1.518687
-v -0.790975 5.674111 -1.476233
-v -0.833430 5.674111 -1.443660
-v -0.882869 5.674111 -1.423183
-v -0.935923 5.674111 -1.416200
-v -0.988977 5.674111 -1.423187
-v -1.038415 5.674111 -1.443667
-v -1.080867 5.674111 -1.476244
-v -0.935916 5.647125 -1.621186
-v -0.190840 5.515944 -0.247657
-v -0.243367 5.517920 -0.235939
-v -0.261354 5.488284 -0.267095
-v -0.208826 5.486310 -0.278812
-v -0.173079 5.486310 -0.299449
-v -0.155093 5.515944 -0.268294
-v -0.228850 5.582496 -0.210793
-v -0.139581 5.583405 -0.241425
-v -0.233466 5.666270 -0.218788
-v -0.144205 5.670815 -0.249435
-v -0.255802 5.742265 -0.257478
-v -0.167363 5.750560 -0.289548
-v -0.297788 5.792035 -0.330207
-v -0.211060 5.803005 -0.365240
-v -0.343482 5.797686 -0.409358
-v -0.258901 5.809513 -0.448111
-v -0.486318 5.676223 -0.655443
-v -0.405936 5.684768 -0.702802
-v -0.517488 5.659646 -0.709435
-v -0.437105 5.668191 -0.756794
-v -0.571735 5.679368 -0.802186
-v -0.542081 5.656149 -0.753369
-v -0.461677 5.665982 -0.799357
-v -0.489236 5.692117 -0.847093
-v -0.572927 5.695159 -0.804252
-v -0.490428 5.707908 -0.849159
-v -0.591090 5.686442 -0.844394
-v -0.575502 5.701816 -0.817393
-v -0.498818 5.708117 -0.863693
-v -0.514406 5.692743 -0.890693
-v -0.606256 5.640802 -0.864248
-v -0.600253 5.667114 -0.853850
-v -0.525201 5.671900 -0.909393
-v -0.531203 5.645587 -0.919790
-v -0.604916 5.591613 -0.862565
-v -0.530623 5.594168 -0.918785
-v -0.588219 5.544410 -0.833204
-v -0.515060 5.543750 -0.891826
-v -0.551621 5.518014 -0.769893
-v -0.477914 5.514775 -0.827483
-v -0.553208 5.442576 -0.771806
-v -0.545999 5.489536 -0.759319
-v -0.470734 5.485821 -0.815044
-v -0.477942 5.438861 -0.827531
-v -0.553757 5.360417 -0.773593
-v -0.477973 5.355863 -0.827584
-v -0.535240 5.306975 -0.741518
-v -0.458816 5.299571 -0.794401
-v -0.501877 5.281743 -0.683728
-v -0.424066 5.272824 -0.734208
-v -0.462811 5.285222 -0.619590
-v -0.382114 5.278866 -0.661537
-v -0.470074 5.311057 -0.628639
-v -0.461690 5.295666 -0.614116
-v -0.375516 5.290197 -0.650110
-v -0.383901 5.305588 -0.664634
-v -0.479111 5.360498 -0.644293
-v -0.393471 5.357014 -0.681211
-v -0.473747 5.426218 -0.635001
-v -0.388052 5.425636 -0.671824
-v -0.445369 5.495645 -0.585845
-v -0.358659 5.498289 -0.620911
-v -0.423046 5.539909 -0.544138
-v -0.335433 5.539687 -0.580678
-v -0.402936 5.471096 -0.512342
-v -0.405018 5.520258 -0.515948
-v -0.329649 5.522835 -0.570658
-v -0.327567 5.473672 -0.567053
-v -0.384342 5.362035 -0.480091
-v -0.308249 5.359894 -0.533591
-v -0.354674 5.287212 -0.426508
-v -0.368975 5.316366 -0.451280
-v -0.295007 5.315586 -0.510652
-v -0.280706 5.286431 -0.485881
-v -0.374991 5.265692 -0.461581
-v -0.356747 5.267126 -0.429978
-v -0.282678 5.271138 -0.489296
-v -0.300922 5.269704 -0.520898
-v -0.403070 5.225375 -0.513521
-v -0.391191 5.253418 -0.492945
-v -0.315984 5.254966 -0.546988
-v -0.327862 5.226924 -0.567564
-v -0.389142 5.146736 -0.489853
-v -0.402979 5.194917 -0.513821
-v -0.326883 5.188813 -0.565868
-v -0.313047 5.140632 -0.541901
-v -0.343356 5.109948 -0.409139
-v -0.371460 5.122450 -0.457820
-v -0.292077 5.110291 -0.505577
-v -0.263973 5.097790 -0.456896
-v -0.279875 5.179461 -0.299573
-v -0.319359 5.118040 -0.367904
-v -0.237305 5.106178 -0.410702
-v -0.194744 5.170083 -0.336978
-v -0.268798 5.259162 -0.279990
-v -0.182183 5.254062 -0.315219
-v -0.281731 5.356741 -0.302429
-v -0.196221 5.356647 -0.339536
-v -0.300316 5.417790 -0.334622
-v -0.214805 5.417697 -0.371727
-v -0.271645 5.469887 -0.291056
-v -0.292658 5.458251 -0.327454
-v -0.213591 5.454040 -0.369624
-v -0.192578 5.465675 -0.333227
-v -0.296826 5.533141 -0.286469
-v -0.286707 5.534671 -0.309898
-v -0.292985 5.504072 -0.320772
-v -0.307646 5.501982 -0.305212
-v -0.292762 5.537968 -0.322346
-v -0.319607 5.538089 -0.327890
-v -0.325063 5.520028 -0.337341
-v -0.299040 5.507370 -0.333220
-v -0.318430 5.465744 -0.372094
-v -0.304354 5.457216 -0.347713
-v -0.316096 5.475670 -0.327095
-v -0.397028 5.483232 -0.439979
-v -0.398660 5.538704 -0.442806
-v -0.410370 5.515820 -0.463091
-v -0.408673 5.475719 -0.460150
-v -0.381025 5.217666 -0.412258
-v -0.362534 5.186327 -0.380229
-v -0.330125 5.233723 -0.324091
-v -0.355705 5.262099 -0.387217
-v -0.546223 5.324542 -0.719585
-v -0.516395 5.301105 -0.667917
-v -0.517817 5.315813 -0.649208
-v -0.535706 5.339489 -0.680196
-v -0.588197 5.657892 -0.789743
-v -0.595820 5.668571 -0.802949
-v -0.607675 5.651269 -0.804861
-v -0.606498 5.634236 -0.802821
-v -0.522819 5.511280 -0.657873
-v -0.499943 5.561415 -0.618248
-v -0.508335 5.613324 -0.632784
-v -0.546169 5.588543 -0.698319
-v -0.592421 5.590698 -0.778437
-v -0.581375 5.556879 -0.759304
-v -0.566938 5.572126 -0.734296
-v -0.561544 5.448348 -0.745288
-v -0.562532 5.373504 -0.747835
-v -0.550857 5.368674 -0.706441
-v -0.544711 5.424644 -0.695794
-v -0.300127 5.608974 -0.272129
-v -0.265722 5.577381 -0.233704
-v -0.269503 5.652568 -0.240252
-v -0.304721 5.657471 -0.280085
-v -0.310735 5.503573 -0.290503
-v -0.297990 5.531240 -0.268426
-v -0.374076 5.662285 -0.419520
-v -0.351965 5.666801 -0.381893
-v -0.352606 5.715039 -0.363032
-v -0.372833 5.719302 -0.398069
-v -0.327190 5.412295 -0.340212
-v -0.312418 5.362868 -0.314624
-v -0.300067 5.274145 -0.293195
-v -0.305950 5.201977 -0.303782
-v -0.337957 5.144361 -0.359158
-v -0.361952 5.136270 -0.400392
-v -0.384875 5.146466 -0.440099
-v -0.402558 5.170753 -0.472132
-v -0.409156 5.197310 -0.483560
-v -0.409247 5.227768 -0.483260
-v -0.400771 5.243670 -0.468579
-v -0.384570 5.255943 -0.437216
-v -0.353633 5.282185 -0.383746
-v -0.379358 5.325606 -0.428306
-v -0.394726 5.371274 -0.457117
-v -0.410825 5.470294 -0.485049
-v -0.412522 5.510393 -0.487989
-v -0.379911 5.592010 -0.473217
-v -0.398224 5.557381 -0.504938
-v -0.405728 5.547515 -0.476980
-v -0.394017 5.570402 -0.456695
-v -0.349243 5.625658 -0.419337
-v -0.366300 5.601588 -0.407924
-v -0.296569 5.604552 -0.329733
-v -0.332020 5.629180 -0.390466
-v -0.349076 5.605110 -0.379054
-v -0.322738 5.583147 -0.334107
-v -0.331195 5.474578 -0.385716
-v -0.314199 5.486594 -0.356276
-v -0.340224 5.499254 -0.360395
-v -0.364578 5.473194 -0.402582
-v -0.318796 5.450655 -0.364612
-v -0.332871 5.459183 -0.388993
-v -0.366254 5.457798 -0.405860
-v -0.345669 5.445159 -0.370202
-v -0.308488 5.628274 -0.305646
-v -0.291844 5.612298 -0.317776
-v -0.331628 5.648447 -0.387623
-v -0.387359 5.603806 -0.484801
-v -0.353738 5.643930 -0.425250
-v -0.413076 5.612260 -0.488390
-v -0.405672 5.569179 -0.516522
-v -0.430359 5.578382 -0.518327
-v -0.447733 5.549114 -0.545942
-v -0.478201 5.486811 -0.601758
-v -0.503262 5.424101 -0.645167
-v -0.507739 5.365025 -0.652924
-v -0.499364 5.320957 -0.638416
-v -0.492525 5.308403 -0.626569
-v -0.493647 5.297959 -0.632044
-v -0.498908 5.297311 -0.641156
-v -0.552243 5.497252 -0.729176
-v -0.557864 5.525727 -0.739749
-v -0.590487 5.550106 -0.796172
-v -0.609642 5.590175 -0.829790
-v -0.612828 5.632510 -0.834673
-v -0.607558 5.655898 -0.825545
-v -0.598394 5.675226 -0.816090
-v -0.561857 5.636914 -0.746666
-v -0.537264 5.640411 -0.702732
-v -0.499874 5.662618 -0.637965
-v -0.368061 5.773489 -0.410975
-v -0.326742 5.767262 -0.339402
-v -0.289270 5.721624 -0.274494
-v -0.279439 5.519274 -0.257463
-v -0.294109 5.495102 -0.282875
-v -0.304400 5.476707 -0.306835
-v -0.317456 5.472592 -0.370408
-v -0.315123 5.482518 -0.325409
-v -0.300460 5.484608 -0.340968
-v -0.508678 5.311946 -0.633378
-v -0.372331 5.494235 -0.397199
-v -0.347977 5.520294 -0.355013
-v -0.342521 5.538355 -0.345562
-v -0.346793 5.555797 -0.352962
-v -0.370803 5.570638 -0.394553
-v -0.382220 5.504280 -0.414330
-v -0.394518 5.235818 -0.435631
-v -0.402993 5.219917 -0.450312
-v -0.538100 5.463790 -0.684342
-v -0.342496 5.376470 -0.345520
-v -0.357268 5.425898 -0.371107
-v -0.377853 5.438536 -0.406765
-v -0.389498 5.431025 -0.426936
-v -0.380014 5.349375 -0.410508
-v -0.354290 5.305954 -0.365948
-v -0.327455 5.273817 -0.319466
-v -0.475595 5.605947 -0.576072
-v -0.155791 5.282185 -0.497961
-v -0.140050 5.305954 -0.489630
-v -0.113215 5.273817 -0.443148
-v -0.115885 5.233723 -0.447772
-v -0.157760 5.262099 -0.501491
-v -0.233969 5.578382 -0.631704
-v -0.249195 5.549114 -0.660559
-v -0.261355 5.605947 -0.699753
-v -0.244751 5.569179 -0.609422
-v -0.238444 5.557381 -0.597180
-v -0.244581 5.520258 -0.608569
-v -0.259978 5.539909 -0.638278
-v -0.303458 5.320957 -0.751513
-v -0.321466 5.339489 -0.803878
-v -0.311833 5.365025 -0.766021
-v -0.216686 5.612260 -0.601767
-v -0.158593 5.719302 -0.521750
-v -0.176548 5.662285 -0.533553
-v -0.167981 5.504280 -0.538011
-v -0.184420 5.538704 -0.566488
-v -0.156563 5.570638 -0.518234
-v -0.285703 5.561415 -0.741930
-v -0.294095 5.613324 -0.756465
-v -0.294438 5.311946 -0.757060
-v -0.296619 5.308403 -0.739666
-v -0.300799 5.297959 -0.743376
-v -0.323860 5.463790 -0.808024
-v -0.308579 5.511280 -0.781555
-v -0.307356 5.424101 -0.758264
-v -0.191680 5.643930 -0.518806
-v -0.170152 5.648447 -0.480843
-v -0.172418 5.629180 -0.482604
-v -0.188807 5.625658 -0.511957
-v -0.170394 5.601588 -0.521021
-v -0.154006 5.605110 -0.491668
-v -0.165774 5.349375 -0.534189
-v -0.181516 5.325606 -0.542521
-v -0.198780 5.371274 -0.570237
-v -0.180278 5.235818 -0.559312
-v -0.205683 5.243670 -0.581204
-v -0.186625 5.255943 -0.551490
-v -0.188753 5.219917 -0.573994
-v -0.214464 5.197310 -0.595956
-v -0.214159 5.227768 -0.595885
-v -0.148294 5.186327 -0.503911
-v -0.188969 5.146466 -0.553196
-v -0.207866 5.170753 -0.584528
-v -0.166785 5.217666 -0.535940
-v -0.142337 5.144361 -0.472090
-v -0.166046 5.136270 -0.513489
-v -0.143028 5.425898 -0.494789
-v -0.148045 5.445159 -0.484291
-v -0.131314 5.412295 -0.453292
-v -0.397708 5.668571 -0.917320
-v -0.393435 5.651269 -0.928542
-v -0.411406 5.655898 -0.938784
-v -0.407801 5.675226 -0.926120
-v -0.163613 5.438536 -0.530446
-v -0.182788 5.483232 -0.563660
-v -0.158091 5.494235 -0.520881
-v -0.166629 5.473194 -0.516859
-v -0.168630 5.457798 -0.519949
-v -0.210480 5.547515 -0.589697
-v -0.196130 5.515820 -0.586772
-v -0.216616 5.510393 -0.601086
-v -0.162331 5.472592 -0.459963
-v -0.163304 5.465744 -0.461649
-v -0.170717 5.459183 -0.482605
-v -0.168717 5.474578 -0.479515
-v -0.133737 5.520294 -0.478694
-v -0.129891 5.520028 -0.450014
-v -0.142274 5.499254 -0.474672
-v -0.124529 5.482518 -0.435439
-v -0.110778 5.501982 -0.418866
-v -0.096495 5.503573 -0.414184
-v -0.098203 5.495102 -0.395972
-v -0.113806 5.476707 -0.416865
-v -0.125503 5.475670 -0.437126
-v -0.145335 5.484608 -0.430523
-v -0.151721 5.486594 -0.450075
-v -0.139336 5.507370 -0.425418
-v -0.131584 5.504072 -0.413950
-v -0.355613 5.497252 -0.842691
-v -0.361958 5.525727 -0.852847
-v -0.352698 5.572126 -0.857978
-v -0.331929 5.588543 -0.822001
-v -0.116542 5.362868 -0.427705
-v -0.128256 5.376470 -0.469202
-v -0.100918 5.488284 -0.359716
-v -0.116521 5.469887 -0.380609
-v -0.365951 5.636914 -0.859763
-v -0.381645 5.656149 -0.845989
-v -0.355897 5.659646 -0.802723
-v -0.340203 5.640411 -0.816496
-v -0.420377 5.701816 -0.906947
-v -0.410284 5.695159 -0.898146
-v -0.439571 5.667114 -0.946612
-v -0.435965 5.686442 -0.933949
-v -0.384839 5.489536 -0.852358
-v -0.391184 5.518014 -0.862513
-v -0.350317 5.324542 -0.832682
-v -0.366626 5.373504 -0.860932
-v -0.336617 5.368674 -0.830122
-v -0.301254 5.295666 -0.706737
-v -0.305434 5.285222 -0.710445
-v -0.303577 5.315813 -0.772890
-v -0.155020 5.666801 -0.495590
-v -0.128253 5.583147 -0.446384
-v -0.124435 5.538089 -0.440564
-v -0.128281 5.538355 -0.469244
-v -0.132553 5.555797 -0.476643
-v -0.133059 5.537968 -0.414544
-v -0.137552 5.604552 -0.421535
-v -0.129560 5.612298 -0.411464
-v -0.125306 5.534671 -0.403076
-v -0.198769 5.570402 -0.569412
-v -0.220131 5.592010 -0.565458
-v -0.226438 5.603806 -0.577701
-v -0.214919 5.470294 -0.598146
-v -0.194433 5.475719 -0.583832
-v -0.175258 5.431025 -0.550617
-v -0.206602 5.316366 -0.545018
-v -0.223868 5.362035 -0.572733
-v -0.194270 5.267126 -0.523776
-v -0.192302 5.287212 -0.520247
-v -0.231574 5.253418 -0.585092
-v -0.212515 5.265692 -0.555379
-v -0.243758 5.194917 -0.605739
-v -0.243453 5.225375 -0.605668
-v -0.211023 5.122450 -0.550440
-v -0.229922 5.146736 -0.581772
-v -0.159211 5.118040 -0.460359
-v -0.182920 5.109948 -0.501759
-v -0.110387 5.201977 -0.416681
-v -0.104161 5.274145 -0.406292
-v -0.139911 5.417790 -0.427224
-v -0.156642 5.450655 -0.458224
-v -0.282295 5.486811 -0.714855
-v -0.302813 5.662618 -0.751729
-v -0.172155 5.773489 -0.524072
-v -0.138366 5.715039 -0.486714
-v -0.130836 5.767262 -0.452499
-v -0.083750 5.531240 -0.392107
-v -0.083533 5.519274 -0.370560
-v -0.110732 5.628274 -0.419811
-v -0.085887 5.608974 -0.395810
-v -0.099957 5.533141 -0.400122
-v -0.090481 5.657471 -0.403767
-v -0.093365 5.721624 -0.387591
-v -0.073597 5.652568 -0.353349
-v -0.330471 5.424644 -0.819475
-v -0.367135 5.556879 -0.882986
-v -0.394507 5.550106 -0.909312
-v -0.378181 5.590698 -0.902118
-v -0.414041 5.590175 -0.942711
-v -0.392258 5.634236 -0.926503
-v -0.416676 5.632510 -0.947912
-v -0.390084 5.657892 -0.904114
-v -0.149229 5.457216 -0.437267
-v -0.137534 5.458251 -0.417007
-v -0.137331 5.486310 -0.320087
-v -0.069817 5.577381 -0.346801
-v -0.364914 5.448348 -0.858803
-v -0.306059 5.297311 -0.752488
-v -0.320489 5.301105 -0.781014
-v -0.082931 5.517920 -0.328560
-v -0.068414 5.582496 -0.303413
-v -0.073030 5.666270 -0.311409
-v -0.095365 5.742265 -0.350098
-v -0.137352 5.792035 -0.422827
-v -0.183046 5.797686 -0.501978
-v -0.324727 5.676223 -0.748730
-v -0.409092 5.679368 -0.896081
-v -0.445574 5.640802 -0.957010
-v -0.444787 5.591613 -0.955008
-v -0.427710 5.544410 -0.925866
-v -0.392047 5.442576 -0.864844
-v -0.393320 5.360417 -0.866213
-v -0.374803 5.306975 -0.834138
-v -0.341441 5.281743 -0.776348
-v -0.309638 5.311057 -0.721259
-v -0.318675 5.360498 -0.736913
-v -0.313311 5.426218 -0.727621
-v -0.284933 5.495645 -0.678465
-v -0.242500 5.471096 -0.604963
-v -0.119781 5.179461 -0.391995
-v -0.108362 5.259162 -0.372610
-v -0.121326 5.356741 -0.395032
-v -0.119345 5.515944 -0.288931
-v -0.398380 5.464243 -0.725755
-v -0.430247 5.464243 -0.707360
-v -0.734536 5.123801 -1.214485
-v -0.685573 5.123511 -1.243338
-v -0.796909 5.069855 -1.444054
-v -0.852920 5.069851 -1.411722
-v -0.920091 5.091953 -1.520123
-v -0.856606 5.091958 -1.556768
-v -0.913586 5.160743 -1.664493
-v -0.984510 5.160740 -1.623558
-v -0.951120 5.157276 -1.647598
-v -0.957939 5.269464 -1.750503
-v -1.036909 5.269464 -1.704926
-v -1.000252 5.267411 -1.732596
-v -0.975835 5.441407 -1.786544
-v -1.059114 5.441407 -1.738478
-v -1.020648 5.441407 -1.767989
-v -1.113416 5.441407 -1.792789
-v -0.995699 5.441407 -1.860732
-v -1.140566 5.479807 -1.819945
-v -1.005629 5.479807 -1.897825
-v -1.095316 5.531006 -1.774685
-v -0.989078 5.531006 -1.836003
-v -1.027439 5.569407 -1.706796
-v -0.964249 5.569407 -1.743269
-v -1.063639 5.595008 -1.743004
-v -0.977490 5.595008 -1.792728
-v -1.104366 5.665406 -1.783737
-v -0.992388 5.665406 -1.848366
-v -1.126991 5.665406 -1.806366
-v -1.000664 5.665406 -1.879278
-v -1.126991 5.697407 -1.806366
-v -1.000664 5.697407 -1.879278
-v -0.446690 5.470578 -0.701562
-v -0.461982 5.480661 -0.698612
-v -0.783824 5.148871 -1.201410
-v -0.898613 5.101691 -1.378865
-v -0.965900 5.123687 -1.472525
-v -1.030241 5.187052 -1.560951
-v -1.083870 5.285051 -1.628364
-v -1.107191 5.441407 -1.655226
-v -1.181372 5.441407 -1.675111
-v -1.218463 5.479807 -1.685053
-v -1.156646 5.531006 -1.668482
-v -1.063919 5.569407 -1.643627
-v -1.113374 5.595008 -1.656883
-v -1.169010 5.665406 -1.671797
-v -1.199917 5.665406 -1.680082
-v -1.199917 5.697407 -1.680082
-v -0.789177 5.077298 -1.304126
-v -0.838332 5.107703 -1.282147
-v -0.869656 5.160480 -1.274563
-v -0.921752 5.156838 -1.354278
-v -0.981772 5.178650 -1.426722
-v -1.038541 5.232628 -1.493445
-v -1.086259 5.312052 -1.541328
-v -1.107201 5.441407 -1.559090
-v -1.181387 5.441407 -1.539221
-v -1.218479 5.479807 -1.529285
-v -1.156659 5.531006 -1.545843
-v -1.063926 5.569407 -1.570679
-v -1.113384 5.595008 -1.557434
-v -1.169023 5.665406 -1.542532
-v -1.199933 5.665406 -1.534253
-v -1.199933 5.697407 -1.534253
-v -0.874906 5.221419 -1.283654
-v -0.916141 5.220516 -1.344552
-v -0.963454 5.242119 -1.394983
-v -1.007189 5.285254 -1.439125
-v -1.043437 5.343229 -1.467137
-v -1.059143 5.441407 -1.475827
-v -1.113456 5.441407 -1.421529
-v -1.140612 5.479807 -1.394378
-v -1.095351 5.531006 -1.439627
-v -1.027460 5.569407 -1.507502
-v -1.063669 5.595008 -1.471301
-v -1.104403 5.665406 -1.430577
-v -1.127033 5.665406 -1.407954
-v -1.127033 5.697407 -1.407954
-v -0.852675 5.274195 -1.306987
-v -0.883280 5.275664 -1.352291
-v -0.915854 5.297085 -1.385816
-v -0.944582 5.330832 -1.412547
-v -0.966877 5.370231 -1.425672
-v -0.975892 5.441407 -1.427749
-v -0.995778 5.441407 -1.353568
-v -1.005722 5.479807 -1.316478
-v -0.989150 5.531006 -1.378294
-v -0.964291 5.569407 -1.471022
-v -0.977549 5.595008 -1.421566
-v -0.992464 5.665406 -1.365932
-v -1.000750 5.665406 -1.335022
-v -1.000750 5.697407 -1.335022
-v -0.809206 5.304605 -1.338784
-v -0.831975 5.307508 -1.375422
-v -0.851728 5.328821 -1.401674
-v -0.867498 5.357145 -1.420831
-v -0.877092 5.385822 -1.428041
-v -0.879755 5.441407 -1.427736
-v -0.859888 5.441407 -1.353550
-v -0.849955 5.479807 -1.316456
-v -0.866511 5.531006 -1.378278
-v -0.891344 5.569407 -1.471010
-v -0.927819 5.569407 -1.466213
-v -0.878099 5.595008 -1.421553
-v -0.863198 5.665406 -1.365914
-v -0.854921 5.665406 -1.335005
-v -0.854921 5.697407 -1.335005
-v -0.755362 5.304673 -1.369219
-v -0.775972 5.307511 -1.407747
-v -0.788254 5.328824 -1.438312
-v -0.796588 5.357148 -1.461758
-v -0.798139 5.385825 -1.473610
-v -0.796490 5.441407 -1.475793
-v -0.742193 5.441407 -1.421479
-v -0.715044 5.479807 -1.394323
-v -0.760293 5.531006 -1.439584
-v -0.828165 5.569407 -1.507477
-v -0.791967 5.595008 -1.471266
-v -0.751243 5.665406 -1.430531
-v -0.728618 5.665406 -1.407900
-v -0.728618 5.697407 -1.407900
-v -0.706357 5.274205 -1.391448
-v -0.730279 5.275675 -1.440605
-v -0.742443 5.297095 -1.485909
-v -0.750855 5.330838 -1.524364
-v -0.751173 5.370237 -1.550168
-v -0.769616 5.379807 -1.509160
-v -0.748410 5.441407 -1.559041
-v -0.674230 5.441407 -1.539153
-v -0.637140 5.479807 -1.529208
-v -0.698957 5.531006 -1.545782
-v -0.791682 5.569407 -1.570644
-v -0.742229 5.595008 -1.557386
-v -0.686594 5.665406 -1.542468
-v -0.655687 5.665406 -1.534181
-v -0.655687 5.697407 -1.534181
-v -0.429326 5.586796 -0.779343
-v -0.397591 5.570380 -0.788089
-v -0.684352 5.287472 -1.339637
-v -0.733378 5.312833 -1.326123
-v -0.648650 5.243540 -1.334631
-v -0.675030 5.221431 -1.399032
-v -0.707136 5.220531 -1.465191
-v -0.726568 5.242130 -1.531714
-v -0.742550 5.285265 -1.591869
-v -0.748779 5.343235 -1.637205
-v -0.748396 5.441407 -1.655179
-v -0.674209 5.441407 -1.675043
-v -0.637117 5.479807 -1.684978
-v -0.698938 5.531006 -1.668422
-v -0.791670 5.569407 -1.643591
-v -0.742214 5.595008 -1.656834
-v -0.686574 5.665406 -1.671732
-v -0.655662 5.665406 -1.680011
-v -0.655662 5.697407 -1.680011
-v -0.635842 5.192812 -1.312450
-v -0.669776 5.160491 -1.389942
-v -0.712747 5.156850 -1.474922
-v -0.744882 5.178664 -1.563453
-v -0.773897 5.232639 -1.646192
-v -0.791597 5.312058 -1.711398
-v -0.796449 5.441407 -1.738443
-v -0.742135 5.441407 -1.792739
-v -0.714976 5.479807 -1.819889
-v -0.760240 5.531006 -1.774641
-v -0.828134 5.569407 -1.706770
-v -0.791923 5.595008 -1.742968
-v -0.751187 5.665406 -1.783690
-v -0.728556 5.665406 -1.806314
-v -0.728556 5.697407 -1.806314
-v -0.649356 5.148880 -1.279036
-v -0.692005 5.107712 -1.366613
-v -0.745605 5.101700 -1.467185
-v -0.792479 5.123696 -1.572623
-v -0.836501 5.187061 -1.672774
-v -0.868155 5.285056 -1.752868
-v -0.879698 5.441407 -1.786525
-v -0.859808 5.441407 -1.860707
-v -0.849863 5.479807 -1.897795
-v -0.866438 5.531006 -1.835980
-v -0.891301 5.569407 -1.743255
-v -0.878041 5.595008 -1.792708
-v -0.863123 5.665406 -1.848343
-v -0.854835 5.665406 -1.879251
-v -0.854835 5.697407 -1.879251
-v -0.735759 5.077236 -1.335295
-v -0.927774 5.569407 -1.748064
-v -0.374937 5.480664 -0.748860
-v -0.366189 5.509104 -0.770491
-v -0.374480 5.541945 -0.784849
-v -0.783124 5.312378 -1.298597
-v -0.461185 5.586796 -0.760950
-v -0.818813 5.287462 -1.262015
-v -0.484630 5.570374 -0.737844
-v -0.832330 5.243531 -1.228599
-v -0.493380 5.541935 -0.716213
-v -0.819524 5.192803 -1.206417
-v -0.485091 5.509098 -0.701854
-v -0.119037 5.515944 0.289109
-v -0.082623 5.517920 0.328738
-v -0.100609 5.488284 0.359894
-v -0.137023 5.486310 0.320264
-v -0.172770 5.486310 0.299627
-v -0.154784 5.515944 0.268472
-v -0.068106 5.582496 0.303591
-v -0.139273 5.583405 0.241603
-v -0.072721 5.666270 0.311587
-v -0.143897 5.670815 0.249613
-v -0.095057 5.742265 0.350276
-v -0.167054 5.750560 0.289726
-v -0.137044 5.792035 0.423005
-v -0.210752 5.803005 0.365418
-v -0.182738 5.797686 0.502156
-v -0.258593 5.809513 0.448289
-v -0.324419 5.676223 0.748908
-v -0.405627 5.684768 0.702980
-v -0.355589 5.659646 0.802901
-v -0.436797 5.668191 0.756972
-v -0.408784 5.679368 0.896259
-v -0.381337 5.656149 0.846167
-v -0.461369 5.665982 0.799535
-v -0.488927 5.692117 0.847271
-v -0.409976 5.695159 0.898324
-v -0.490120 5.707908 0.849337
-v -0.435656 5.686442 0.934127
-v -0.420068 5.701816 0.907125
-v -0.498510 5.708117 0.863871
-v -0.514098 5.692743 0.890871
-v -0.445265 5.640802 0.957188
-v -0.439263 5.667114 0.946790
-v -0.524893 5.671900 0.909571
-v -0.530895 5.645587 0.919968
-v -0.444478 5.591613 0.955186
-v -0.530315 5.594168 0.918963
-v -0.427402 5.544410 0.926044
-v -0.514752 5.543750 0.892004
-v -0.390876 5.518014 0.862691
-v -0.477606 5.514775 0.827661
-v -0.391739 5.442576 0.865022
-v -0.384531 5.489536 0.852536
-v -0.470425 5.485821 0.815222
-v -0.477634 5.438861 0.827709
-v -0.393012 5.360417 0.866391
-v -0.477664 5.355863 0.827762
-v -0.374495 5.306975 0.834316
-v -0.458508 5.299571 0.794579
-v -0.341133 5.281743 0.776526
-v -0.423758 5.272824 0.734386
-v -0.305125 5.285222 0.710622
-v -0.381805 5.278866 0.661715
-v -0.309330 5.311057 0.721437
-v -0.300946 5.295666 0.706915
-v -0.375208 5.290197 0.650288
-v -0.383593 5.305588 0.664812
-v -0.318367 5.360498 0.737091
-v -0.393163 5.357014 0.681389
-v -0.313002 5.426218 0.727799
-v -0.387744 5.425636 0.672002
-v -0.284625 5.495645 0.678643
-v -0.358351 5.498289 0.621089
-v -0.259670 5.539909 0.638456
-v -0.335124 5.539687 0.580856
-v -0.242191 5.471096 0.605141
-v -0.244273 5.520258 0.608747
-v -0.329340 5.522835 0.570836
-v -0.327259 5.473672 0.567231
-v -0.223560 5.362035 0.572911
-v -0.307941 5.359894 0.533769
-v -0.191993 5.287212 0.520425
-v -0.206294 5.316366 0.545196
-v -0.294698 5.315586 0.510830
-v -0.280398 5.286431 0.486059
-v -0.212206 5.265692 0.555557
-v -0.193962 5.267126 0.523954
-v -0.282370 5.271138 0.489474
-v -0.300614 5.269704 0.521076
-v -0.243145 5.225375 0.605846
-v -0.231266 5.253418 0.585270
-v -0.315675 5.254966 0.547166
-v -0.327554 5.226924 0.567742
-v -0.229613 5.146736 0.581950
-v -0.243450 5.194917 0.605917
-v -0.326575 5.188813 0.566046
-v -0.312739 5.140632 0.542079
-v -0.182611 5.109948 0.501937
-v -0.210715 5.122450 0.550618
-v -0.291769 5.110291 0.505755
-v -0.263665 5.097790 0.457074
-v -0.119473 5.179461 0.392173
-v -0.158903 5.118040 0.460537
-v -0.236997 5.106178 0.410880
-v -0.194436 5.170083 0.337156
-v -0.108053 5.259162 0.372788
-v -0.181874 5.254062 0.315397
-v -0.121018 5.356741 0.395210
-v -0.195912 5.356647 0.339714
-v -0.139603 5.417790 0.427402
-v -0.214497 5.417697 0.371905
-v -0.116213 5.469887 0.380787
-v -0.137225 5.458251 0.417185
-v -0.213282 5.454040 0.369802
-v -0.192270 5.465675 0.333405
-v -0.099648 5.533141 0.400300
-v -0.124998 5.534671 0.403254
-v -0.131276 5.504072 0.414128
-v -0.110469 5.501982 0.419044
-v -0.132750 5.537968 0.414722
-v -0.124127 5.538089 0.440742
-v -0.129583 5.520028 0.450192
-v -0.139028 5.507370 0.425596
-v -0.162996 5.465744 0.461827
-v -0.148920 5.457216 0.437445
-v -0.125194 5.475670 0.437304
-v -0.182479 5.483232 0.563838
-v -0.184112 5.538704 0.566666
-v -0.195822 5.515820 0.586950
-v -0.194125 5.475719 0.584010
-v -0.166476 5.217666 0.536118
-v -0.147986 5.186327 0.504089
-v -0.115577 5.233723 0.447950
-v -0.157452 5.262099 0.501669
-v -0.350009 5.324542 0.832860
-v -0.320181 5.301105 0.781192
-v -0.303268 5.315813 0.773068
-v -0.321158 5.339489 0.804056
-v -0.389776 5.657892 0.904292
-v -0.397399 5.668571 0.917498
-v -0.393127 5.651269 0.928720
-v -0.391950 5.634236 0.926681
-v -0.308271 5.511280 0.781733
-v -0.285395 5.561415 0.742108
-v -0.293787 5.613324 0.756643
-v -0.331620 5.588543 0.822179
-v -0.377872 5.590698 0.902296
-v -0.366827 5.556879 0.883164
-v -0.352390 5.572126 0.858156
-v -0.364606 5.448348 0.858981
-v -0.366318 5.373504 0.861110
-v -0.336309 5.368674 0.830300
-v -0.330162 5.424644 0.819653
-v -0.085579 5.608974 0.395988
-v -0.069508 5.577381 0.346979
-v -0.073289 5.652568 0.353527
-v -0.090172 5.657471 0.403945
-v -0.096187 5.503573 0.414362
-v -0.083441 5.531240 0.392285
-v -0.176240 5.662285 0.533731
-v -0.154712 5.666801 0.495768
-v -0.138058 5.715039 0.486892
-v -0.158285 5.719302 0.521928
-v -0.131005 5.412295 0.453470
-v -0.116234 5.362868 0.427883
-v -0.103853 5.274145 0.406470
-v -0.110079 5.201977 0.416859
-v -0.142028 5.144361 0.472268
-v -0.165738 5.136270 0.513667
-v -0.188661 5.146466 0.553374
-v -0.207558 5.170753 0.584706
-v -0.214156 5.197310 0.596134
-v -0.213850 5.227768 0.596063
-v -0.205375 5.243670 0.581382
-v -0.186317 5.255943 0.551668
-v -0.155482 5.282185 0.498139
-v -0.181207 5.325606 0.542699
-v -0.198472 5.371274 0.570415
-v -0.214610 5.470294 0.598324
-v -0.216308 5.510393 0.601264
-v -0.219823 5.592010 0.565636
-v -0.238136 5.557381 0.597358
-v -0.210172 5.547515 0.589875
-v -0.198461 5.570402 0.569590
-v -0.188499 5.625658 0.512135
-v -0.170086 5.601588 0.521199
-v -0.137243 5.604552 0.421713
-v -0.172110 5.629180 0.482782
-v -0.153698 5.605110 0.491846
-v -0.127944 5.583147 0.446562
-v -0.168409 5.474578 0.479693
-v -0.151413 5.486594 0.450253
-v -0.141966 5.499254 0.474850
-v -0.166320 5.473194 0.517037
-v -0.156333 5.450655 0.458402
-v -0.170408 5.459183 0.482783
-v -0.168322 5.457798 0.520127
-v -0.147736 5.445159 0.484469
-v -0.110424 5.628274 0.419989
-v -0.129251 5.612298 0.411642
-v -0.169844 5.648447 0.481021
-v -0.226130 5.603806 0.577879
-v -0.191372 5.643930 0.518984
-v -0.216377 5.612260 0.601945
-v -0.244443 5.569179 0.609600
-v -0.233660 5.578382 0.631882
-v -0.248886 5.549114 0.660737
-v -0.281987 5.486811 0.715033
-v -0.307047 5.424101 0.758442
-v -0.311525 5.365025 0.766199
-v -0.303150 5.320957 0.751691
-v -0.296311 5.308403 0.739844
-v -0.300490 5.297959 0.743554
-v -0.305751 5.297311 0.752666
-v -0.355304 5.497252 0.842869
-v -0.361650 5.525727 0.853025
-v -0.394198 5.550106 0.909490
-v -0.413732 5.590175 0.942889
-v -0.416368 5.632510 0.948090
-v -0.411098 5.655898 0.938962
-v -0.407493 5.675226 0.926298
-v -0.365643 5.636914 0.859941
-v -0.339895 5.640411 0.816674
-v -0.302504 5.662618 0.751907
-v -0.171847 5.773489 0.524250
-v -0.130528 5.767262 0.452677
-v -0.093056 5.721624 0.387769
-v -0.083224 5.519274 0.370738
-v -0.097895 5.495102 0.396150
-v -0.113498 5.476707 0.417043
-v -0.162023 5.472592 0.460141
-v -0.124221 5.482518 0.435617
-v -0.145027 5.484608 0.430701
-v -0.294130 5.311946 0.757238
-v -0.157783 5.494235 0.521059
-v -0.133428 5.520294 0.478872
-v -0.127973 5.538355 0.469422
-v -0.132244 5.555797 0.476821
-v -0.156255 5.570638 0.518412
-v -0.167672 5.504280 0.538189
-v -0.179969 5.235818 0.559490
-v -0.188445 5.219917 0.574172
-v -0.323551 5.463790 0.808201
-v -0.127948 5.376470 0.469380
-v -0.142720 5.425898 0.494967
-v -0.163305 5.438536 0.530624
-v -0.174950 5.431025 0.550795
-v -0.165466 5.349375 0.534367
-v -0.139741 5.305954 0.489808
-v -0.112907 5.273817 0.443326
-v -0.261047 5.605947 0.699931
-v -0.353325 5.282185 0.383924
-v -0.353981 5.305954 0.366126
-v -0.327147 5.273817 0.319644
-v -0.329817 5.233723 0.324269
-v -0.355397 5.262099 0.387395
-v -0.430051 5.578382 0.518505
-v -0.447425 5.549114 0.546120
-v -0.475286 5.605947 0.576250
-v -0.405364 5.569179 0.516700
-v -0.397915 5.557381 0.505116
-v -0.404709 5.520258 0.516126
-v -0.422737 5.539909 0.544316
-v -0.499055 5.320957 0.638594
-v -0.535398 5.339489 0.680374
-v -0.507431 5.365025 0.653102
-v -0.412768 5.612260 0.488568
-v -0.372525 5.719302 0.398247
-v -0.373767 5.662285 0.419698
-v -0.381912 5.504280 0.414508
-v -0.398352 5.538704 0.442984
-v -0.370495 5.570638 0.394731
-v -0.499635 5.561415 0.618426
-v -0.508026 5.613324 0.632962
-v -0.508370 5.311946 0.633556
-v -0.492216 5.308403 0.626747
-v -0.493339 5.297959 0.632222
-v -0.537791 5.463790 0.684520
-v -0.522511 5.511280 0.658051
-v -0.502953 5.424101 0.645345
-v -0.353430 5.643930 0.425428
-v -0.331319 5.648447 0.387801
-v -0.331711 5.629180 0.390644
-v -0.348935 5.625658 0.419515
-v -0.365992 5.601588 0.408102
-v -0.348767 5.605110 0.379232
-v -0.379706 5.349375 0.410686
-v -0.379050 5.325606 0.428484
-v -0.394418 5.371274 0.457295
-v -0.394209 5.235818 0.435809
-v -0.400463 5.243670 0.468757
-v -0.384261 5.255943 0.437394
-v -0.402685 5.219917 0.450490
-v -0.408847 5.197310 0.483738
-v -0.408939 5.227768 0.483438
-v -0.362226 5.186327 0.380407
-v -0.384566 5.146466 0.440277
-v -0.402250 5.170753 0.472310
-v -0.380716 5.217666 0.412436
-v -0.337648 5.144361 0.359336
-v -0.361644 5.136270 0.400570
-v -0.356960 5.425898 0.371285
-v -0.345360 5.445159 0.370380
-v -0.326882 5.412295 0.340390
-v -0.595512 5.668571 0.803127
-v -0.607367 5.651269 0.805039
-v -0.607250 5.655898 0.825723
-v -0.598086 5.675226 0.816268
-v -0.377545 5.438536 0.406943
-v -0.396719 5.483232 0.440156
-v -0.372023 5.494235 0.397377
-v -0.364270 5.473194 0.402759
-v -0.365946 5.457798 0.406038
-v -0.405419 5.547515 0.477158
-v -0.410062 5.515820 0.463269
-v -0.412214 5.510393 0.488167
-v -0.317148 5.472592 0.370586
-v -0.318122 5.465744 0.372272
-v -0.332563 5.459183 0.389171
-v -0.330887 5.474578 0.385894
-v -0.347668 5.520294 0.355191
-v -0.324754 5.520028 0.337519
-v -0.339916 5.499254 0.360573
-v -0.314814 5.482518 0.325587
-v -0.307338 5.501982 0.305390
-v -0.310426 5.503573 0.290681
-v -0.293800 5.495102 0.283053
-v -0.304091 5.476707 0.307013
-v -0.315788 5.475670 0.327273
-v -0.300152 5.484608 0.341146
-v -0.313891 5.486594 0.356454
-v -0.298731 5.507370 0.333398
-v -0.292676 5.504072 0.320950
-v -0.551934 5.497252 0.729354
-v -0.557556 5.525727 0.739928
-v -0.566630 5.572126 0.734474
-v -0.545860 5.588543 0.698497
-v -0.312110 5.362868 0.314802
-v -0.342188 5.376470 0.345698
-v -0.261045 5.488284 0.267273
-v -0.271337 5.469887 0.291234
-v -0.561549 5.636914 0.746844
-v -0.541773 5.656149 0.753547
-v -0.517180 5.659646 0.709613
-v -0.536956 5.640411 0.702910
-v -0.575194 5.701816 0.817571
-v -0.572619 5.695159 0.804430
-v -0.599945 5.667114 0.854028
-v -0.590782 5.686442 0.844572
-v -0.545691 5.489536 0.759497
-v -0.551312 5.518014 0.770071
-v -0.545915 5.324542 0.719763
-v -0.562224 5.373504 0.748013
-v -0.550549 5.368674 0.706619
-v -0.461382 5.295666 0.614294
-v -0.462503 5.285222 0.619768
-v -0.517508 5.315813 0.649386
-v -0.351657 5.666801 0.382071
-v -0.322430 5.583147 0.334285
-v -0.319299 5.538089 0.328068
-v -0.342213 5.538355 0.345740
-v -0.346484 5.555797 0.353140
-v -0.292454 5.537968 0.322524
-v -0.296261 5.604552 0.329911
-v -0.291536 5.612298 0.317954
-v -0.286399 5.534671 0.310076
-v -0.393709 5.570402 0.456873
-v -0.379603 5.592010 0.473395
-v -0.387051 5.603806 0.484979
-v -0.410516 5.470294 0.485227
-v -0.408365 5.475719 0.460328
-v -0.389190 5.431025 0.427114
-v -0.368667 5.316366 0.451458
-v -0.384034 5.362035 0.480269
-v -0.356438 5.267126 0.430156
-v -0.354366 5.287212 0.426686
-v -0.390883 5.253418 0.493123
-v -0.374683 5.265692 0.461759
-v -0.402670 5.194917 0.513999
-v -0.402762 5.225375 0.513699
-v -0.371151 5.122450 0.457998
-v -0.388834 5.146736 0.490031
-v -0.319051 5.118040 0.368082
-v -0.343047 5.109948 0.409317
-v -0.305642 5.201977 0.303960
-v -0.299758 5.274145 0.293373
-v -0.300008 5.417790 0.334800
-v -0.318488 5.450655 0.364790
-v -0.477893 5.486811 0.601936
-v -0.499566 5.662618 0.638143
-v -0.367753 5.773489 0.411153
-v -0.352298 5.715039 0.363210
-v -0.326434 5.767262 0.339580
-v -0.297681 5.531240 0.268604
-v -0.279130 5.519274 0.257641
-v -0.308179 5.628274 0.305824
-v -0.299819 5.608974 0.272307
-v -0.296517 5.533141 0.286647
-v -0.304412 5.657471 0.280263
-v -0.288962 5.721624 0.274672
-v -0.269194 5.652568 0.240430
-v -0.544402 5.424644 0.695972
-v -0.581067 5.556879 0.759482
-v -0.590179 5.550106 0.796350
-v -0.592112 5.590698 0.778615
-v -0.609333 5.590175 0.829968
-v -0.606190 5.634236 0.802999
-v -0.612520 5.632510 0.834851
-v -0.587888 5.657892 0.789921
-v -0.304046 5.457216 0.347891
-v -0.292349 5.458251 0.327632
-v -0.208518 5.486310 0.278990
-v -0.265414 5.577381 0.233882
-v -0.561236 5.448348 0.745466
-v -0.498599 5.297311 0.641334
-v -0.516087 5.301105 0.668095
-v -0.243059 5.517920 0.236117
-v -0.228542 5.582496 0.210971
-v -0.233158 5.666270 0.218966
-v -0.255493 5.742265 0.257656
-v -0.297480 5.792035 0.330384
-v -0.343174 5.797686 0.409536
-v -0.486010 5.676223 0.655621
-v -0.571427 5.679368 0.802365
-v -0.605947 5.640802 0.864426
-v -0.604608 5.591613 0.862743
-v -0.587911 5.544410 0.833382
-v -0.552899 5.442576 0.771984
-v -0.553448 5.360417 0.773771
-v -0.534931 5.306975 0.741696
-v -0.501569 5.281743 0.683906
-v -0.469766 5.311057 0.628817
-v -0.478803 5.360498 0.644471
-v -0.473439 5.426218 0.635179
-v -0.445061 5.495645 0.586023
-v -0.402627 5.471096 0.512520
-v -0.279566 5.179461 0.299751
-v -0.268490 5.259162 0.280168
-v -0.281423 5.356741 0.302607
-v -0.190532 5.515944 0.247835
-v -0.429282 5.464243 0.707915
-v -0.397417 5.464243 0.726313
-v -0.684420 5.123801 1.243417
-v -0.733891 5.123511 1.215444
-v -0.852034 5.069855 1.412230
-v -0.796026 5.069851 1.444567
-v -0.856310 5.091953 1.556943
-v -0.919791 5.091958 1.520291
-v -0.984586 5.160743 1.623505
-v -0.913671 5.160740 1.664454
-v -0.951186 5.157276 1.647560
-v -1.036891 5.269464 1.704924
-v -0.957932 5.269464 1.750519
-v -1.000224 5.267411 1.732612
-v -1.059154 5.441407 1.738444
-v -0.975884 5.441407 1.786527
-v -1.020675 5.441407 1.767973
-v -0.995762 5.441407 1.860711
-v -1.113466 5.441407 1.792745
-v -1.005703 5.479807 1.897802
-v -1.140623 5.479807 1.819893
-v -0.989136 5.531006 1.835983
-v -1.095362 5.531006 1.774645
-v -0.964287 5.569407 1.743254
-v -1.027472 5.569407 1.706770
-v -0.977541 5.595008 1.792709
-v -1.063681 5.595008 1.742970
-v -0.992449 5.665406 1.848347
-v -1.104413 5.665406 1.783694
-v -1.000732 5.665406 1.879256
-v -1.127044 5.665406 1.806318
-v -1.000732 5.697407 1.879256
-v -1.127044 5.697407 1.806318
-v -0.384174 5.470578 0.737653
-v -0.373973 5.480661 0.749420
-v -0.648450 5.148871 1.279562
-v -0.744723 5.101691 1.467707
-v -0.792184 5.123687 1.572812
-v -0.836586 5.187052 1.672749
-v -0.868147 5.285051 1.752901
-v -0.879747 5.441407 1.786530
-v -0.859872 5.441407 1.860714
-v -0.849934 5.479807 1.897806
-v -0.866497 5.531006 1.835986
-v -0.891341 5.569407 1.743257
-v -0.878091 5.595008 1.792713
-v -0.863184 5.665406 1.848351
-v -0.854903 5.665406 1.879260
-v -0.854903 5.697407 1.879260
-v -0.734724 5.077298 1.335562
-v -0.691110 5.107703 1.367139
-v -0.668878 5.160480 1.390473
-v -0.711860 5.156838 1.475450
-v -0.744582 5.178650 1.563653
-v -0.773976 5.232628 1.646180
-v -0.791580 5.312052 1.711448
-v -0.796489 5.441407 1.738465
-v -0.742185 5.441407 1.792774
-v -0.715033 5.479807 1.819926
-v -0.760285 5.531006 1.774671
-v -0.828165 5.569407 1.706784
-v -0.791964 5.595008 1.742991
-v -0.751235 5.665406 1.783722
-v -0.728609 5.665406 1.806350
-v -0.728609 5.697407 1.806350
-v -0.674126 5.221419 1.399565
-v -0.706243 5.220516 1.465726
-v -0.726257 5.242119 1.531918
-v -0.742613 5.285254 1.591866
-v -0.748745 5.343229 1.637263
-v -0.748417 5.441407 1.655210
-v -0.674235 5.441407 1.675092
-v -0.637143 5.479807 1.685033
-v -0.698961 5.531006 1.668464
-v -0.791690 5.569407 1.643613
-v -0.742234 5.595008 1.656867
-v -0.686598 5.665406 1.671777
-v -0.655689 5.665406 1.680062
-v -0.655689 5.697407 1.680062
-v -0.705449 5.274195 1.391981
-v -0.729377 5.275664 1.441139
-v -0.742121 5.297085 1.486113
-v -0.750904 5.330832 1.524358
-v -0.751121 5.370231 1.550228
-v -0.748412 5.441407 1.559074
-v -0.674228 5.441407 1.539200
-v -0.637136 5.479807 1.529264
-v -0.698955 5.531006 1.545825
-v -0.791687 5.569407 1.570667
-v -0.742229 5.595008 1.557417
-v -0.686592 5.665406 1.542514
-v -0.655681 5.665406 1.534232
-v -0.655681 5.697407 1.534232
-v -0.754723 5.304605 1.370238
-v -0.775065 5.307508 1.408277
-v -0.787921 5.328821 1.438510
-v -0.796624 5.357145 1.461746
-v -0.798071 5.385822 1.473660
-v -0.796475 5.441407 1.475814
-v -0.742165 5.441407 1.421512
-v -0.715010 5.479807 1.394360
-v -0.760268 5.531006 1.439612
-v -0.828154 5.569407 1.507490
-v -0.805761 5.569407 1.536678
-v -0.791949 5.595008 1.471288
-v -0.751217 5.665406 1.430561
-v -0.728589 5.665406 1.407937
-v -0.728589 5.697407 1.407937
-v -0.808004 5.304673 1.338829
-v -0.831063 5.307511 1.375943
-v -0.851389 5.328824 1.401864
-v -0.867526 5.357148 1.420805
-v -0.877015 5.385825 1.428075
-v -0.879729 5.441407 1.427739
-v -0.859846 5.441407 1.353558
-v -0.849905 5.479807 1.316468
-v -0.866473 5.531006 1.378286
-v -0.891328 5.569407 1.471013
-v -0.878071 5.595008 1.421558
-v -0.863160 5.665406 1.365921
-v -0.854875 5.665406 1.335012
-v -0.854875 5.697407 1.335012
-v -0.851760 5.274205 1.307507
-v -0.882366 5.275675 1.352804
-v -0.915516 5.297095 1.385993
-v -0.944611 5.330838 1.412507
-v -0.966799 5.370237 1.425687
-v -0.922064 5.379807 1.421152
-v -0.975864 5.441407 1.427731
-v -0.995736 5.441407 1.353546
-v -1.005671 5.479807 1.316454
-v -0.989112 5.531006 1.378275
-v -0.964274 5.569407 1.471006
-v -0.977521 5.595008 1.421551
-v -0.992424 5.665406 1.365912
-v -1.000703 5.665406 1.335002
-v -1.000703 5.697407 1.335002
-v -0.460214 5.586796 0.761511
-v -0.483658 5.570380 0.738402
-v -0.817895 5.287472 1.262542
-v -0.781677 5.312833 1.298240
-v -0.831413 5.243540 1.229121
-v -0.873993 5.221431 1.284170
-v -0.915231 5.220531 1.345057
-v -0.963121 5.242130 1.395151
-v -1.007223 5.285265 1.439072
-v -1.043369 5.343235 1.467137
-v -1.059125 5.441407 1.475793
-v -1.113426 5.441407 1.421481
-v -1.140577 5.479807 1.394328
-v -1.095326 5.531006 1.439586
-v -1.027450 5.569407 1.507474
-v -1.063651 5.595008 1.471268
-v -1.104375 5.665406 1.430534
-v -1.127003 5.665406 1.407905
-v -1.127003 5.697407 1.407905
-v -0.818610 5.192812 1.206938
-v -0.868748 5.160491 1.275075
-v -0.920852 5.156850 1.354783
-v -0.981449 5.178664 1.426882
-v -1.038591 5.232639 1.493383
-v -1.086208 5.312058 1.541319
-v -1.107203 5.441407 1.559044
-v -1.181383 5.441407 1.539160
-v -1.218475 5.479807 1.529217
-v -1.156656 5.531006 1.545789
-v -1.063930 5.569407 1.570644
-v -1.113384 5.595008 1.557388
-v -1.169020 5.665406 1.542474
-v -1.199928 5.665406 1.534189
-v -1.199928 5.697407 1.534189
-v -0.782915 5.148880 1.201931
-v -0.837429 5.107712 1.282659
-v -0.897720 5.101700 1.379368
-v -0.965589 5.123696 1.472686
-v -1.030305 5.187061 1.560890
-v -1.083836 5.285056 1.628354
-v -1.107211 5.441407 1.655181
-v -1.181399 5.441407 1.675052
-v -1.218489 5.479807 1.684986
-v -1.156670 5.531006 1.668428
-v -1.063938 5.569407 1.643591
-v -1.113395 5.595008 1.656838
-v -1.169034 5.665406 1.671740
-v -1.199944 5.665406 1.680019
-v -1.199944 5.697407 1.680019
-v -0.788428 5.077236 1.304889
-v -1.049863 5.569407 1.677581
-v -0.461015 5.480664 0.699167
-v -0.484121 5.509104 0.702409
-v -0.492409 5.541945 0.716769
-v -0.732963 5.312378 1.327555
-v -0.428355 5.586796 0.779903
-v -0.683437 5.287462 1.340168
-v -0.396621 5.570374 0.788652
-v -0.647740 5.243531 1.335163
-v -0.373513 5.541935 0.785412
-v -0.634934 5.192803 1.312981
-v -0.365224 5.509098 0.771053
-v -0.255882 6.871280 0.000000
-v -0.255882 6.823281 0.000000
-v -0.207882 6.815281 0.000000
-v -0.175883 6.775281 0.000000
-v -0.111882 6.751280 0.000000
-v -0.143882 6.727280 0.000000
-v -0.135882 6.671281 0.000000
-v -0.143882 6.607280 0.000000
-v -0.175883 6.535279 0.000000
-v -0.239882 6.479280 0.000000
-v -0.239882 6.439281 0.000000
-v -0.307844 6.439281 0.000000
-v -0.331844 6.391280 0.000000
-v -0.283844 6.359281 0.000000
-v -0.227844 6.287280 0.000000
-v -0.179844 6.135281 0.000000
-v -0.171844 5.991281 0.000000
-v -0.243844 5.991281 0.000000
-v -0.243844 5.927280 0.000000
-v -0.187844 5.927280 0.000000
-v -0.187844 5.847281 0.000000
-v -0.239774 5.847281 0.000000
-v -0.295774 5.791280 0.000000
-v -0.295774 5.023280 0.000000
-v -0.351774 5.023280 0.000000
-v -0.399774 4.967279 0.000000
-v -0.401771 4.865267 0.000000
-v -0.355758 4.767281 0.000000
-v -0.411919 -0.855625 0.000000
-v -0.525026 -0.855625 0.000000
-v -0.581026 -0.903625 0.000000
-v -0.581026 -1.079625 0.000000
-v -0.541026 -1.127625 0.000000
-v -0.449117 -1.127625 0.000000
-v -0.425117 -1.183625 0.000000
-v -0.441708 -1.365037 0.000000
-v -0.511333 -1.530860 0.000000
-v -0.564391 -1.673745 0.000000
-v -0.660251 -1.819721 0.000000
-v -0.932420 -1.996708 0.000000
-v -1.076103 -2.040090 0.000000
-v -1.100103 -2.072090 0.000000
-v -1.100103 -2.128090 0.000000
-v -1.076103 -2.160089 0.000000
-v -1.012103 -2.192089 0.000000
-v -1.004103 -2.256090 0.000000
-v -1.028103 -2.356090 0.000000
-v -1.108103 -2.524090 0.000000
-v -1.192103 -2.600090 0.000000
-v -1.256103 -2.602085 0.000000
-v -1.304103 -2.642078 0.000000
-v -1.304103 -2.728091 0.000000
-v -1.272103 -2.760090 0.000000
-v -1.224103 -2.760090 0.000000
-v -1.224103 -3.284090 0.000000
-v -1.182394 -3.284090 0.316816
-v -1.182394 -2.760090 0.316816
-v -1.228759 -2.760090 0.329239
-v -1.259668 -2.728091 0.337521
-v -1.259668 -2.642078 0.337521
-v -1.213304 -2.602085 0.325098
-v -1.151484 -2.600090 0.308534
-v -1.070347 -2.524090 0.286793
-v -0.993072 -2.356090 0.266088
-v -0.969890 -2.256090 0.259877
-v -0.977618 -2.192089 0.261947
-v -1.039437 -2.160089 0.278511
-v -1.062619 -2.128090 0.284723
-v -1.062619 -2.072090 0.284723
-v -1.039437 -2.040090 0.278511
-v -0.900649 -1.996708 0.241324
-v -0.637754 -1.819721 0.170883
-v -0.545161 -1.673745 0.146073
-v -0.493910 -1.530860 0.132340
-v -0.426657 -1.365037 0.114321
-v -0.410632 -1.183625 0.110027
-v -0.433814 -1.127625 0.116238
-v -0.522592 -1.127625 0.140026
-v -0.561229 -1.079625 0.150378
-v -0.561229 -0.903625 0.150378
-v -0.507137 -0.855625 0.135884
-v -0.397884 -0.855625 0.106611
-v -0.386152 4.967279 0.103467
-v -0.131252 6.671281 0.035168
-v -0.108070 6.751280 0.028957
-v -1.060110 -3.284090 0.612042
-v -1.060110 -2.760090 0.612042
-v -1.101679 -2.760090 0.636042
-v -1.129392 -2.728091 0.652042
-v -1.129392 -2.642078 0.652042
-v -1.087823 -2.602085 0.628042
-v -1.032397 -2.600090 0.596043
-v -0.959650 -2.524090 0.554043
-v -0.890368 -2.356090 0.514044
-v -0.869583 -2.256090 0.502044
-v -0.876511 -2.192089 0.506044
-v -0.931937 -2.160089 0.538043
-v -0.952722 -2.128090 0.550043
-v -0.952722 -2.072090 0.550043
-v -0.931937 -2.040090 0.538043
-v -0.807503 -1.996708 0.466203
-v -0.571797 -1.819721 0.330120
-v -0.488780 -1.673745 0.282191
-v -0.442829 -1.530860 0.255662
-v -0.382532 -1.365037 0.220851
-v -0.368164 -1.183625 0.212555
-v -0.388949 -1.127625 0.224555
-v -0.468545 -1.127625 0.270509
-v -0.503186 -1.079625 0.290509
-v -0.503186 -0.903625 0.290509
-v -0.454688 -0.855625 0.262509
-v -0.356734 -0.855625 0.205956
-v -0.308097 4.767281 0.177876
-v -0.347946 4.865267 0.200882
-v -0.346216 4.967279 0.199884
-v -0.304647 5.023280 0.175884
-v -0.256149 5.023280 0.147885
-v -0.256149 5.791280 0.147885
-v -0.207651 5.847281 0.119885
-v -0.162678 5.847281 0.093921
-v -0.162678 5.927280 0.093921
-v -0.211176 5.927280 0.121920
-v -0.211176 5.991281 0.121920
-v -0.148822 5.991281 0.085921
-v -0.155750 6.135281 0.089921
-v -0.197320 6.287280 0.113920
-v -0.245817 6.359281 0.141920
-v -0.287387 6.391280 0.165919
-v -0.266602 6.439281 0.153920
-v -0.207745 6.439281 0.119939
-v -0.207745 6.479280 0.119939
-v -0.152320 6.535279 0.087940
-v -0.124606 6.607280 0.071940
-v -0.117678 6.671281 0.067940
-v -0.124606 6.727280 0.071940
-v -0.096893 6.751280 0.055940
-v -0.152320 6.775281 0.087940
-v -0.180032 6.815281 0.103939
-v -0.221601 6.823281 0.127939
-v -0.221601 6.871280 0.127939
-v -0.865583 -3.284090 0.865560
-v -0.865583 -2.760090 0.865560
-v -0.899524 -2.760090 0.899501
-v -0.922152 -2.728091 0.922128
-v -0.922152 -2.642078 0.922128
-v -0.888211 -2.602085 0.888187
-v -0.842955 -2.600090 0.842933
-v -0.783557 -2.524090 0.783537
-v -0.726988 -2.356090 0.726969
-v -0.710017 -2.256090 0.709999
-v -0.715674 -2.192089 0.715655
-v -0.760930 -2.160089 0.760910
-v -0.777901 -2.128090 0.777880
-v -0.777901 -2.072090 0.777880
-v -0.760930 -2.040090 0.760910
-v -0.659329 -1.996708 0.659312
-v -0.466874 -1.819721 0.466862
-v -0.399090 -1.673745 0.399080
-v -0.361571 -1.530860 0.361562
-v -0.312339 -1.365037 0.312330
-v -0.300607 -1.183625 0.300599
-v -0.317578 -1.127625 0.317569
-v -0.382568 -1.127625 0.382558
-v -0.410853 -1.079625 0.410842
-v -0.410853 -0.903625 0.410842
-v -0.371254 -0.855625 0.371245
-v -0.291275 -0.855625 0.291267
-v -0.132827 5.927280 0.132824
-v -0.172426 5.927280 0.172421
-v -0.161112 6.287280 0.161108
-v -0.200711 6.359281 0.200705
-v -0.234652 6.391280 0.234646
-v -0.101741 6.727280 0.101739
-v -0.079114 6.751280 0.079111
-v -0.612070 -3.284090 1.060094
-v -0.612070 -2.760090 1.060094
-v -0.636071 -2.760090 1.101662
-v -0.652071 -2.728091 1.129375
-v -0.652071 -2.642078 1.129375
-v -0.628071 -2.602085 1.087806
-v -0.596070 -2.600090 1.032381
-v -0.554068 -2.524090 0.959636
-v -0.514067 -2.356090 0.890354
-v -0.502067 -2.256090 0.869570
-v -0.506067 -2.192089 0.876498
-v -0.538068 -2.160089 0.931923
-v -0.550068 -2.128090 0.952708
-v -0.550068 -2.072090 0.952708
-v -0.538068 -2.040090 0.931923
-v -0.466224 -1.996708 0.807491
-v -0.330135 -1.819721 0.571788
-v -0.282204 -1.673745 0.488772
-v -0.255674 -1.530860 0.442823
-v -0.220861 -1.365037 0.382526
-v -0.212565 -1.183625 0.368158
-v -0.224565 -1.127625 0.388943
-v -0.270521 -1.127625 0.468538
-v -0.290522 -1.079625 0.503178
-v -0.290522 -0.903625 0.503178
-v -0.262521 -0.855625 0.454681
-v -0.205966 -0.855625 0.356729
-v -0.177884 4.767281 0.308092
-v -0.200892 4.865267 0.347940
-v -0.199893 4.967279 0.346211
-v -0.175892 5.023280 0.304642
-v -0.147891 5.023280 0.256145
-v -0.147891 5.791280 0.256145
-v -0.119891 5.847281 0.207648
-v -0.093925 5.847281 0.162676
-v -0.093925 5.927280 0.162676
-v -0.121926 5.927280 0.211173
-v -0.121926 5.991281 0.211173
-v -0.085925 5.991281 0.148820
-v -0.089925 6.135281 0.155748
-v -0.113925 6.287280 0.197317
-v -0.141926 6.359281 0.245814
-v -0.165927 6.391280 0.287382
-v -0.153927 6.439281 0.266598
-v -0.119945 6.439281 0.207742
-v -0.119945 6.479280 0.207742
-v -0.087944 6.535279 0.152318
-v -0.071943 6.607280 0.124604
-v -0.067943 6.671281 0.117676
-v -0.071943 6.727280 0.124604
-v -0.055943 6.751280 0.096892
-v -0.087944 6.775281 0.152318
-v -0.103944 6.815281 0.180029
-v -0.127945 6.823281 0.221598
-v -0.127945 6.871280 0.221598
-v -0.316847 -3.284090 1.182386
-v -0.316847 -2.760090 1.182386
-v -0.329271 -2.760090 1.228750
-v -0.337554 -2.728091 1.259659
-v -0.337554 -2.642078 1.259659
-v -0.325130 -2.602085 1.213295
-v -0.308564 -2.600090 1.151476
-v -0.286822 -2.524090 1.070339
-v -0.266114 -2.356090 0.993065
-v -0.259902 -2.256090 0.969883
-v -0.261973 -2.192089 0.977611
-v -0.278539 -2.160089 1.039430
-v -0.284751 -2.128090 1.062612
-v -0.284751 -2.072090 1.062612
-v -0.278539 -2.040090 1.039430
-v -0.241348 -1.996708 0.900643
-v -0.170899 -1.819721 0.637750
-v -0.146087 -1.673745 0.545157
-v -0.132353 -1.530860 0.493906
-v -0.114332 -1.365037 0.426654
-v -0.110037 -1.183625 0.410629
-v -0.116250 -1.127625 0.433811
-v -0.140039 -1.127625 0.522588
-v -0.150393 -1.079625 0.561225
-v -0.150393 -0.903625 0.561225
-v -0.135898 -0.855625 0.507133
-v -0.106621 -0.855625 0.397881
-v -0.092084 4.767281 0.343634
-v -0.091053 5.023280 0.339786
-v -0.037242 6.727280 0.138978
-v -0.028960 6.751280 0.108069
-v -0.000032 -3.284090 1.224103
-v -0.000032 -2.760090 1.224103
-v -0.000033 -2.760090 1.272103
-v -0.000034 -2.728091 1.304103
-v -0.000034 -2.642078 1.304103
-v -0.000033 -2.602085 1.256103
-v -0.000031 -2.600090 1.192103
-v -0.000029 -2.524090 1.108103
-v -0.000027 -2.356090 1.028103
-v -0.000026 -2.256090 1.004103
-v -0.000027 -2.192089 1.012103
-v -0.000028 -2.160089 1.076103
-v -0.000029 -2.128090 1.100103
-v -0.000029 -2.072090 1.100103
-v -0.000028 -2.040090 1.076103
-v -0.000025 -1.996708 0.932420
-v -0.000017 -1.819721 0.660251
-v -0.000015 -1.673745 0.564391
-v -0.000013 -1.530860 0.511333
-v -0.000012 -1.365037 0.441708
-v -0.000011 -1.183625 0.425117
-v -0.000012 -1.127625 0.449117
-v -0.000014 -1.127625 0.541026
-v -0.000015 -1.079625 0.581026
-v -0.000015 -0.903625 0.581026
-v -0.000014 -0.855625 0.525026
-v -0.000011 -0.855625 0.411919
-v -0.000009 4.767281 0.355758
-v -0.000011 4.865267 0.401771
-v -0.000011 4.967279 0.399774
-v -0.000009 5.023280 0.351774
-v -0.000008 5.023280 0.295774
-v -0.000008 5.791280 0.295774
-v -0.000006 5.847281 0.239774
-v -0.000005 5.847281 0.187844
-v -0.000005 5.927280 0.187844
-v -0.000006 5.927280 0.243844
-v -0.000006 5.991281 0.243844
-v -0.000005 5.991281 0.171844
-v -0.000005 6.135281 0.179844
-v -0.000006 6.287280 0.227844
-v -0.000007 6.359281 0.283844
-v -0.000009 6.391280 0.331844
-v -0.000008 6.439281 0.307844
-v -0.000006 6.439281 0.239882
-v -0.000006 6.479280 0.239882
-v -0.000005 6.535279 0.175883
-v -0.000004 6.607280 0.143882
-v -0.000004 6.671281 0.135882
-v -0.000004 6.727280 0.143882
-v -0.000003 6.751280 0.111882
-v -0.000005 6.775281 0.175883
-v -0.000005 6.815281 0.207882
-v -0.000007 6.823281 0.255882
-v -0.000007 6.871280 0.255882
-v 0.316785 -3.284090 1.182402
-v 0.316785 -2.760090 1.182402
-v 0.329207 -2.760090 1.228767
-v 0.337488 -2.728091 1.259677
-v 0.337488 -2.642078 1.259677
-v 0.325066 -2.602085 1.213312
-v 0.308504 -2.600090 1.151493
-v 0.286765 -2.524090 1.070354
-v 0.266062 -2.356090 0.993079
-v 0.259851 -2.256090 0.969897
-v 0.261921 -2.192089 0.977624
-v 0.278484 -2.160089 1.039444
-v 0.284695 -2.128090 1.062627
-v 0.284695 -2.072090 1.062627
-v 0.278484 -2.040090 1.039444
-v 0.241300 -1.996708 0.900656
-v 0.170866 -1.819721 0.637759
-v 0.146058 -1.673745 0.545165
-v 0.132327 -1.530860 0.493913
-v 0.114309 -1.365037 0.426660
-v 0.110016 -1.183625 0.410635
-v 0.116227 -1.127625 0.433817
-v 0.140012 -1.127625 0.522595
-v 0.150363 -1.079625 0.561233
-v 0.150363 -0.903625 0.561233
-v 0.135871 -0.855625 0.507140
-v 0.106600 -0.855625 0.397886
-v 0.092066 4.767281 0.343639
-v 0.612014 -3.284090 1.060126
-v 0.612014 -2.760090 1.060126
-v 0.636013 -2.760090 1.101696
-v 0.652012 -2.728091 1.129409
-v 0.652012 -2.642078 1.129409
-v 0.628013 -2.602085 1.087839
-v 0.596015 -2.600090 1.032412
-v 0.554018 -2.524090 0.959665
-v 0.514020 -2.356090 0.890381
-v 0.502021 -2.256090 0.869596
-v 0.506021 -2.192089 0.876525
-v 0.538019 -2.160089 0.931951
-v 0.550018 -2.128090 0.952736
-v 0.550018 -2.072090 0.952736
-v 0.538019 -2.040090 0.931951
-v 0.466182 -1.996708 0.807515
-v 0.330105 -1.819721 0.571806
-v 0.282179 -1.673745 0.488787
-v 0.255651 -1.530860 0.442836
-v 0.220840 -1.365037 0.382538
-v 0.212546 -1.183625 0.368170
-v 0.224545 -1.127625 0.388955
-v 0.270497 -1.127625 0.468552
-v 0.290495 -1.079625 0.503193
-v 0.290495 -0.903625 0.503193
-v 0.262497 -0.855625 0.454695
-v 0.205947 -0.855625 0.356740
-v 0.177868 4.767281 0.308102
-v 0.200873 4.865267 0.347951
-v 0.199875 4.967279 0.346221
-v 0.175876 5.023280 0.304651
-v 0.147878 5.023280 0.256153
-v 0.147878 5.791280 0.256153
-v 0.119880 5.847281 0.207655
-v 0.093916 5.847281 0.162681
-v 0.093916 5.927280 0.162681
-v 0.121915 5.927280 0.211179
-v 0.121915 5.991281 0.211179
-v 0.085917 5.991281 0.148824
-v 0.089917 6.135281 0.155753
-v 0.113915 6.287280 0.197323
-v 0.141913 6.359281 0.245821
-v 0.165912 6.391280 0.287391
-v 0.153913 6.439281 0.266606
-v 0.119934 6.439281 0.207748
-v 0.119934 6.479280 0.207748
-v 0.087936 6.535279 0.152322
-v 0.071937 6.607280 0.124608
-v 0.067937 6.671281 0.117680
-v 0.071937 6.727280 0.124608
-v 0.055938 6.751280 0.096895
-v 0.087936 6.775281 0.152322
-v 0.103935 6.815281 0.180035
-v 0.127933 6.823281 0.221605
-v 0.127933 6.871280 0.221605
-v 0.865537 -3.284090 0.865606
-v 0.865537 -2.760090 0.865606
-v 0.899477 -2.760090 0.899548
-v 0.922104 -2.728091 0.922177
-v 0.922104 -2.642078 0.922177
-v 0.888164 -2.602085 0.888234
-v 0.842911 -2.600090 0.842978
-v 0.783516 -2.524090 0.783578
-v 0.726950 -2.356090 0.727007
-v 0.709980 -2.256090 0.710036
-v 0.715637 -2.192089 0.715693
-v 0.760890 -2.160089 0.760950
-v 0.777860 -2.128090 0.777921
-v 0.777860 -2.072090 0.777921
-v 0.760890 -2.040090 0.760950
-v 0.659294 -1.996708 0.659346
-v 0.466849 -1.819721 0.466886
-v 0.399069 -1.673745 0.399101
-v 0.361552 -1.530860 0.361581
-v 0.312322 -1.365037 0.312347
-v 0.300591 -1.183625 0.300615
-v 0.317561 -1.127625 0.317586
-v 0.382548 -1.127625 0.382578
-v 0.410831 -1.079625 0.410864
-v 0.410831 -0.903625 0.410864
-v 0.371235 -0.855625 0.371264
-v 0.291259 -0.855625 0.291282
-v 0.132821 5.927280 0.132831
-v 0.172417 5.927280 0.172431
-v 0.172417 5.991281 0.172431
-v 0.121507 5.991281 0.121517
-v 0.127164 6.135281 0.127174
-v 0.161104 6.287280 0.161116
-v 0.096079 6.671281 0.096087
-v 0.101736 6.727280 0.101744
-v 0.079109 6.751280 0.079116
-v 1.060077 -3.284090 0.612098
-v 1.060077 -2.760090 0.612098
-v 1.101646 -2.760090 0.636100
-v 1.129358 -2.728091 0.652101
-v 1.129358 -2.642078 0.652101
-v 1.087790 -2.602085 0.628099
-v 1.032365 -2.600090 0.596097
-v 0.959621 -2.524090 0.554094
-v 0.890341 -2.356090 0.514091
-v 0.869557 -2.256090 0.502090
-v 0.876485 -2.192089 0.506090
-v 0.931909 -2.160089 0.538092
-v 0.952693 -2.128090 0.550093
-v 0.952693 -2.072090 0.550093
-v 0.931909 -2.040090 0.538092
-v 0.807479 -1.996708 0.466245
-v 0.571779 -1.819721 0.330150
-v 0.488765 -1.673745 0.282217
-v 0.442816 -1.530860 0.255686
-v 0.382520 -1.365037 0.220871
-v 0.368153 -1.183625 0.212575
-v 0.388937 -1.127625 0.224576
-v 0.468530 -1.127625 0.270534
-v 0.503170 -1.079625 0.290535
-v 0.503170 -0.903625 0.290535
-v 0.454674 -0.855625 0.262533
-v 0.356723 -0.855625 0.205975
-v 0.308088 4.767281 0.177893
-v 0.347935 4.865267 0.200901
-v 0.346206 4.967279 0.199902
-v 0.304637 5.023280 0.175900
-v 0.256141 5.023280 0.147898
-v 0.256141 5.791280 0.147898
-v 0.207645 5.847281 0.119896
-v 0.162674 5.847281 0.093929
-v 0.162674 5.927280 0.093929
-v 0.211170 5.927280 0.121931
-v 0.211170 5.991281 0.121931
-v 0.148817 5.991281 0.085929
-v 0.155746 6.135281 0.089929
-v 0.197314 6.287280 0.113931
-v 0.245810 6.359281 0.141933
-v 0.287378 6.391280 0.165935
-v 0.266594 6.439281 0.153934
-v 0.207739 6.439281 0.119950
-v 0.207739 6.479280 0.119950
-v 0.152315 6.535279 0.087948
-v 0.124602 6.607280 0.071946
-v 0.117674 6.671281 0.067946
-v 0.124602 6.727280 0.071946
-v 0.096890 6.751280 0.055945
-v 0.152315 6.775281 0.087948
-v 0.180027 6.815281 0.103949
-v 0.221595 6.823281 0.127951
-v 0.221595 6.871280 0.127951
-v 1.182377 -3.284090 0.316878
-v 1.182377 -2.760090 0.316878
-v 1.228741 -2.760090 0.329304
-v 1.259650 -2.728091 0.337587
-v 1.259650 -2.642078 0.337587
-v 1.213287 -2.602085 0.325162
-v 1.151468 -2.600090 0.308595
-v 1.070332 -2.524090 0.286850
-v 0.993058 -2.356090 0.266141
-v 0.969876 -2.256090 0.259928
-v 0.977604 -2.192089 0.261999
-v 1.039422 -2.160089 0.278566
-v 1.062604 -2.128090 0.284779
-v 1.062604 -2.072090 0.284779
-v 1.039422 -2.040090 0.278566
-v 0.900637 -1.996708 0.241371
-v 0.637745 -1.819721 0.170916
-v 0.545153 -1.673745 0.146102
-v 0.493903 -1.530860 0.132366
-v 0.426651 -1.365037 0.114343
-v 0.410626 -1.183625 0.110048
-v 0.433808 -1.127625 0.116261
-v 0.522584 -1.127625 0.140053
-v 0.561221 -1.079625 0.150408
-v 0.561221 -0.903625 0.150408
-v 0.507130 -0.855625 0.135911
-v 0.397878 -0.855625 0.106632
-v 0.131250 6.671281 0.035175
-v 0.108068 6.751280 0.028962
-v 1.224103 -3.284090 0.000064
-v 1.224103 -2.760090 0.000064
-v 1.272103 -2.760090 0.000067
-v 1.304103 -2.728091 0.000069
-v 1.304103 -2.642078 0.000069
-v 1.256103 -2.602085 0.000066
-v 1.192103 -2.600090 0.000063
-v 1.108103 -2.524090 0.000058
-v 1.028103 -2.356090 0.000054
-v 1.004103 -2.256090 0.000053
-v 1.012103 -2.192089 0.000053
-v 1.076103 -2.160089 0.000057
-v 1.100103 -2.128090 0.000058
-v 1.100103 -2.072090 0.000058
-v 1.076103 -2.040090 0.000057
-v 0.932420 -1.996708 0.000049
-v 0.660251 -1.819721 0.000035
-v 0.564391 -1.673745 0.000030
-v 0.511333 -1.530860 0.000027
-v 0.441708 -1.365037 0.000023
-v 0.425117 -1.183625 0.000022
-v 0.449117 -1.127625 0.000024
-v 0.541026 -1.127625 0.000028
-v 0.581026 -1.079625 0.000031
-v 0.581026 -0.903625 0.000031
-v 0.525026 -0.855625 0.000028
-v 0.411919 -0.855625 0.000022
-v 0.355758 4.767281 0.000019
-v 0.401771 4.865267 0.000021
-v 0.399774 4.967279 0.000021
-v 0.351774 5.023280 0.000019
-v 0.295774 5.023280 0.000016
-v 0.295774 5.791280 0.000016
-v 0.239774 5.847281 0.000013
-v 0.187844 5.847281 0.000010
-v 0.187844 5.927280 0.000010
-v 0.243844 5.927280 0.000013
-v 0.243844 5.991281 0.000013
-v 0.171844 5.991281 0.000009
-v 0.179844 6.135281 0.000009
-v 0.227844 6.287280 0.000012
-v 0.283844 6.359281 0.000015
-v 0.331844 6.391280 0.000017
-v 0.307844 6.439281 0.000016
-v 0.239882 6.439281 0.000013
-v 0.239882 6.479280 0.000013
-v 0.175883 6.535279 0.000009
-v 0.143882 6.607280 0.000008
-v 0.135882 6.671281 0.000007
-v 0.143882 6.727280 0.000008
-v 0.111882 6.751280 0.000006
-v 0.175883 6.775281 0.000009
-v 0.207882 6.815281 0.000011
-v 0.255882 6.823281 0.000013
-v 0.255882 6.871280 0.000013
-v 1.182411 -3.284090 -0.316754
-v 1.182411 -2.760090 -0.316754
-v 1.228776 -2.760090 -0.329174
-v 1.259686 -2.728091 -0.337455
-v 1.259686 -2.642078 -0.337455
-v 1.213321 -2.602085 -0.325034
-v 1.151501 -2.600090 -0.308473
-v 1.070362 -2.524090 -0.286737
-v 0.993086 -2.356090 -0.266036
-v 0.969904 -2.256090 -0.259826
-v 0.977631 -2.192089 -0.261896
-v 1.039451 -2.160089 -0.278457
-v 1.062634 -2.128090 -0.284667
-v 1.062634 -2.072090 -0.284667
-v 1.039451 -2.040090 -0.278457
-v 0.900662 -1.996708 -0.241277
-v 0.637763 -1.819721 -0.170849
-v 0.545169 -1.673745 -0.146044
-v 0.493917 -1.530860 -0.132314
-v 0.426663 -1.365037 -0.114298
-v 0.410638 -1.183625 -0.110005
-v 0.433820 -1.127625 -0.116215
-v 0.522599 -1.127625 -0.139998
-v 0.561237 -1.079625 -0.150349
-v 0.561237 -0.903625 -0.150349
-v 0.507144 -0.855625 -0.135858
-v 0.397889 -0.855625 -0.106590
-v 0.138981 6.727280 -0.037231
-v 1.060142 -3.284090 -0.611986
-v 1.060142 -2.760090 -0.611986
-v 1.101713 -2.760090 -0.635984
-v 1.129426 -2.728091 -0.651982
-v 1.129426 -2.642078 -0.651982
-v 1.087856 -2.602085 -0.627985
-v 1.032428 -2.600090 -0.595988
-v 0.959679 -2.524090 -0.553992
-v 0.890395 -2.356090 -0.513997
-v 0.869610 -2.256090 -0.501998
-v 0.876538 -2.192089 -0.505998
-v 0.931966 -2.160089 -0.537994
-v 0.952751 -2.128090 -0.549993
-v 0.952751 -2.072090 -0.549993
-v 0.931966 -2.040090 -0.537994
-v 0.807528 -1.996708 -0.466160
-v 0.571814 -1.819721 -0.330090
-v 0.488795 -1.673745 -0.282166
-v 0.442843 -1.530860 -0.255639
-v 0.382544 -1.365037 -0.220830
-v 0.368175 -1.183625 -0.212536
-v 0.388961 -1.127625 -0.224535
-v 0.468559 -1.127625 -0.270484
-v 0.503201 -1.079625 -0.290482
-v 0.503201 -0.903625 -0.290482
-v 0.454702 -0.855625 -0.262485
-v 0.356745 -0.855625 -0.205938
-v 0.308106 4.767281 -0.177860
-v 0.347956 4.865267 -0.200864
-v 0.346227 4.967279 -0.199866
-v 0.304656 5.023280 -0.175868
-v 0.256157 5.023280 -0.147871
-v 0.256157 5.791280 -0.147871
-v 0.207658 5.847281 -0.119874
-v 0.162683 5.847281 -0.093912
-v 0.162683 5.927280 -0.093912
-v 0.211183 5.927280 -0.121909
-v 0.211183 5.991281 -0.121909
-v 0.148827 5.991281 -0.085913
-v 0.155755 6.135281 -0.089912
-v 0.197326 6.287280 -0.113910
-v 0.245825 6.359281 -0.141907
-v 0.287396 6.391280 -0.165904
-v 0.266610 6.439281 -0.153906
-v 0.207751 6.439281 -0.119928
-v 0.207751 6.479280 -0.119928
-v 0.152325 6.535279 -0.087932
-v 0.124610 6.607280 -0.071933
-v 0.117681 6.671281 -0.067934
-v 0.124610 6.727280 -0.071933
-v 0.096896 6.751280 -0.055935
-v 0.152325 6.775281 -0.087932
-v 0.180037 6.815281 -0.103930
-v 0.221608 6.823281 -0.127927
-v 0.221608 6.871280 -0.127927
-v 0.865629 -3.284090 -0.865515
-v 0.865629 -2.760090 -0.865515
-v 0.899572 -2.760090 -0.899453
-v 0.922201 -2.728091 -0.922079
-v 0.922201 -2.642078 -0.922079
-v 0.888258 -2.602085 -0.888140
-v 0.843000 -2.600090 -0.842889
-v 0.783599 -2.524090 -0.783496
-v 0.727027 -2.356090 -0.726931
-v 0.710055 -2.256090 -0.709961
-v 0.715712 -2.192089 -0.715618
-v 0.760970 -2.160089 -0.760870
-v 0.777942 -2.128090 -0.777839
-v 0.777942 -2.072090 -0.777839
-v 0.760970 -2.040090 -0.760870
-v 0.659364 -1.996708 -0.659277
-v 0.466899 -1.819721 -0.466837
-v 0.399111 -1.673745 -0.399059
-v 0.361591 -1.530860 -0.361543
-v 0.312355 -1.365037 -0.312314
-v 0.300623 -1.183625 -0.300583
-v 0.317595 -1.127625 -0.317553
-v 0.382588 -1.127625 -0.382538
-v 0.410874 -1.079625 -0.410820
-v 0.410874 -0.903625 -0.410820
-v 0.371274 -0.855625 -0.371225
-v 0.291290 -0.855625 -0.291252
-v 0.132835 5.927280 -0.132817
-v 0.101747 6.607280 -0.101733
-v 0.180948 6.823281 -0.180924
-v 0.612126 -3.284090 -1.060061
-v 0.612126 -2.760090 -1.060061
-v 0.636129 -2.760090 -1.101629
-v 0.652131 -2.728091 -1.129341
-v 0.652131 -2.642078 -1.129341
-v 0.628128 -2.602085 -1.087773
-v 0.596124 -2.600090 -1.032350
-v 0.554119 -2.524090 -0.959607
-v 0.514114 -2.356090 -0.890327
-v 0.502112 -2.256090 -0.869543
-v 0.506113 -2.192089 -0.876471
-v 0.538117 -2.160089 -0.931895
-v 0.550118 -2.128090 -0.952679
-v 0.550118 -2.072090 -0.952679
-v 0.538117 -2.040090 -0.931895
-v 0.466266 -1.996708 -0.807466
-v 0.330165 -1.819721 -0.571771
-v 0.282230 -1.673745 -0.488758
-v 0.255697 -1.530860 -0.442809
-v 0.220881 -1.365037 -0.382515
-v 0.212584 -1.183625 -0.368147
-v 0.224586 -1.127625 -0.388931
-v 0.270546 -1.127625 -0.468523
-v 0.290548 -1.079625 -0.503163
-v 0.290548 -0.903625 -0.503163
-v 0.262545 -0.855625 -0.454667
-v 0.205984 -0.855625 -0.356718
-v 0.177901 4.767281 -0.308083
-v 0.200910 4.865267 -0.347930
-v 0.199911 4.967279 -0.346200
-v 0.175908 5.023280 -0.304633
-v 0.147905 5.023280 -0.256137
-v 0.147905 5.791280 -0.256137
-v 0.119902 5.847281 -0.207642
-v 0.093933 5.847281 -0.162671
-v 0.093933 5.927280 -0.162671
-v 0.121937 5.927280 -0.211167
-v 0.121937 5.991281 -0.211167
-v 0.085932 5.991281 -0.148815
-v 0.089933 6.135281 -0.155743
-v 0.113936 6.287280 -0.197311
-v 0.141939 6.359281 -0.245806
-v 0.165942 6.391280 -0.287374
-v 0.153941 6.439281 -0.266590
-v 0.119956 6.439281 -0.207736
-v 0.119956 6.479280 -0.207736
-v 0.087952 6.535279 -0.152313
-v 0.071950 6.607280 -0.124600
-v 0.067949 6.671281 -0.117672
-v 0.071950 6.727280 -0.124600
-v 0.055948 6.751280 -0.096889
-v 0.087952 6.775281 -0.152313
-v 0.103954 6.815281 -0.180024
-v 0.127956 6.823281 -0.221591
-v 0.127956 6.871280 -0.221591
-v 0.316910 -3.284090 -1.182369
-v 0.316910 -2.760090 -1.182369
-v 0.329336 -2.760090 -1.228732
-v 0.337621 -2.728091 -1.259642
-v 0.337621 -2.642078 -1.259642
-v 0.325194 -2.602085 -1.213278
-v 0.308625 -2.600090 -1.151460
-v 0.286878 -2.524090 -1.070324
-v 0.266167 -2.356090 -0.993051
-v 0.259953 -2.256090 -0.969869
-v 0.262025 -2.192089 -0.977597
-v 0.278594 -2.160089 -1.039415
-v 0.284807 -2.128090 -1.062597
-v 0.284807 -2.072090 -1.062597
-v 0.278594 -2.040090 -1.039415
-v 0.241395 -1.996708 -0.900630
-v 0.170933 -1.819721 -0.637740
-v 0.146116 -1.673745 -0.545149
-v 0.132380 -1.530860 -0.493899
-v 0.114354 -1.365037 -0.426648
-v 0.110059 -1.183625 -0.410623
-v 0.116272 -1.127625 -0.433805
-v 0.140067 -1.127625 -0.522581
-v 0.150423 -1.079625 -0.561217
-v 0.150423 -0.903625 -0.561217
-v 0.135925 -0.855625 -0.507126
-v 0.106642 -0.855625 -0.397875
-v 0.000097 -3.284090 -1.224103
-v 0.000097 -2.760090 -1.224103
-v 0.000101 -2.760090 -1.272103
-v 0.000103 -2.728091 -1.304103
-v 0.000103 -2.642078 -1.304103
-v 0.000099 -2.602085 -1.256103
-v 0.000094 -2.600090 -1.192103
-v 0.000088 -2.524090 -1.108103
-v 0.000081 -2.356090 -1.028103
-v 0.000079 -2.256090 -1.004103
-v 0.000080 -2.192089 -1.012103
-v 0.000085 -2.160089 -1.076103
-v 0.000087 -2.128090 -1.100103
-v 0.000087 -2.072090 -1.100103
-v 0.000085 -2.040090 -1.076103
-v 0.000074 -1.996708 -0.932420
-v 0.000052 -1.819721 -0.660251
-v 0.000045 -1.673745 -0.564391
-v 0.000040 -1.530860 -0.511333
-v 0.000035 -1.365037 -0.441708
-v 0.000034 -1.183625 -0.425117
-v 0.000036 -1.127625 -0.449117
-v 0.000043 -1.127625 -0.541026
-v 0.000046 -1.079625 -0.581026
-v 0.000046 -0.903625 -0.581026
-v 0.000042 -0.855625 -0.525026
-v 0.000033 -0.855625 -0.411919
-v 0.000028 4.767281 -0.355758
-v 0.000032 4.865267 -0.401771
-v 0.000032 4.967279 -0.399774
-v 0.000028 5.023280 -0.351774
-v 0.000023 5.023280 -0.295774
-v 0.000023 5.791280 -0.295774
-v 0.000019 5.847281 -0.239774
-v 0.000015 5.847281 -0.187844
-v 0.000015 5.927280 -0.187844
-v 0.000019 5.927280 -0.243844
-v 0.000019 5.991281 -0.243844
-v 0.000014 5.991281 -0.171844
-v 0.000014 6.135281 -0.179844
-v 0.000018 6.287280 -0.227844
-v 0.000022 6.359281 -0.283844
-v 0.000026 6.391280 -0.331844
-v 0.000024 6.439281 -0.307844
-v 0.000019 6.439281 -0.239882
-v 0.000019 6.479280 -0.239882
-v 0.000014 6.535279 -0.175883
-v 0.000011 6.607280 -0.143882
-v 0.000011 6.671281 -0.135882
-v 0.000011 6.727280 -0.143882
-v 0.000009 6.751280 -0.111882
-v 0.000014 6.775281 -0.175883
-v 0.000016 6.815281 -0.207882
-v 0.000020 6.823281 -0.255882
-v 0.000020 6.871280 -0.255882
-v -0.316722 -3.284090 -1.182419
-v -0.316722 -2.760090 -1.182419
-v -0.329142 -2.760090 -1.228785
-v -0.337422 -2.728091 -1.259695
-v -0.337422 -2.642078 -1.259695
-v -0.325002 -2.602085 -1.213330
-v -0.308443 -2.600090 -1.151509
-v -0.286709 -2.524090 -1.070369
-v -0.266010 -2.356090 -0.993093
-v -0.259800 -2.256090 -0.969911
-v -0.261870 -2.192089 -0.977638
-v -0.278429 -2.160089 -1.039459
-v -0.284639 -2.128090 -1.062642
-v -0.284639 -2.072090 -1.062642
-v -0.278429 -2.040090 -1.039459
-v -0.241253 -1.996708 -0.900668
-v -0.170832 -1.819721 -0.637768
-v -0.146030 -1.673745 -0.545173
-v -0.132301 -1.530860 -0.493920
-v -0.114287 -1.365037 -0.426666
-v -0.109994 -1.183625 -0.410641
-v -0.116204 -1.127625 -0.433823
-v -0.139984 -1.127625 -0.522603
-v -0.150334 -1.079625 -0.561241
-v -0.150334 -0.903625 -0.561241
-v -0.135844 -0.855625 -0.507147
-v -0.106579 -0.855625 -0.397892
-v -0.037228 6.727280 -0.138982
-v -0.028948 6.751280 -0.108072
-v -0.611958 -3.284090 -1.060158
-v -0.611958 -2.760090 -1.060158
-v -0.635955 -2.760090 -1.101729
-v -0.651952 -2.728091 -1.129444
-v -0.651952 -2.642078 -1.129444
-v -0.627956 -2.602085 -1.087872
-v -0.595961 -2.600090 -1.032444
-v -0.553967 -2.524090 -0.959694
-v -0.513973 -2.356090 -0.890408
-v -0.501975 -2.256090 -0.869623
-v -0.505975 -2.192089 -0.876551
-v -0.537970 -2.160089 -0.931980
-v -0.549968 -2.128090 -0.952765
-v -0.549968 -2.072090 -0.952765
-v -0.537970 -2.040090 -0.931980
-v -0.466139 -1.996708 -0.807540
-v -0.330075 -1.819721 -0.571823
-v -0.282153 -1.673745 -0.488802
-v -0.255627 -1.530860 -0.442849
-v -0.220820 -1.365037 -0.382550
-v -0.212526 -1.183625 -0.368181
-v -0.224524 -1.127625 -0.388966
-v -0.270472 -1.127625 -0.468566
-v -0.290469 -1.079625 -0.503209
-v -0.290469 -0.903625 -0.503209
-v -0.262473 -0.855625 -0.454709
-v -0.205928 -0.855625 -0.356750
-v -0.177852 4.767281 -0.308111
-v -0.200855 4.865267 -0.347962
-v -0.199857 4.967279 -0.346232
-v -0.175860 5.023280 -0.304661
-v -0.147864 5.023280 -0.256161
-v -0.147864 5.791280 -0.256161
-v -0.119869 5.847281 -0.207661
-v -0.093908 5.847281 -0.162686
-v -0.093908 5.927280 -0.162686
-v -0.121903 5.927280 -0.211186
-v -0.121903 5.991281 -0.211186
-v -0.085909 5.991281 -0.148829
-v -0.089908 6.135281 -0.155757
-v -0.113905 6.287280 -0.197329
-v -0.141900 6.359281 -0.245829
-v -0.165897 6.391280 -0.287400
-v -0.153899 6.439281 -0.266614
-v -0.119923 6.439281 -0.207754
-v -0.119923 6.479280 -0.207754
-v -0.087928 6.535279 -0.152327
-v -0.071930 6.607280 -0.124612
-v -0.067931 6.671281 -0.117683
-v -0.071930 6.727280 -0.124612
-v -0.055932 6.751280 -0.096898
-v -0.087928 6.775281 -0.152327
-v -0.103925 6.815281 -0.180040
-v -0.127922 6.823281 -0.221612
-v -0.127922 6.871280 -0.221612
-v -0.865492 -3.284090 -0.865651
-v -0.865492 -2.760090 -0.865651
-v -0.899430 -2.760090 -0.899596
-v -0.922055 -2.728091 -0.922225
-v -0.922055 -2.642078 -0.922225
-v -0.888117 -2.602085 -0.888281
-v -0.842866 -2.600090 -0.843022
-v -0.783475 -2.524090 -0.783619
-v -0.726912 -2.356090 -0.727046
-v -0.709943 -2.256090 -0.710073
-v -0.715599 -2.192089 -0.715731
-v -0.760850 -2.160089 -0.760990
-v -0.777819 -2.128090 -0.777962
-v -0.777819 -2.072090 -0.777962
-v -0.760850 -2.040090 -0.760990
-v -0.659259 -1.996708 -0.659381
-v -0.466825 -1.819721 -0.466911
-v -0.399048 -1.673745 -0.399122
-v -0.361533 -1.530860 -0.361600
-v -0.312306 -1.365037 -0.312363
-v -0.300575 -1.183625 -0.300631
-v -0.317544 -1.127625 -0.317603
-v -0.382528 -1.127625 -0.382598
-v -0.410810 -1.079625 -0.410885
-v -0.410810 -0.903625 -0.410885
-v -0.371215 -0.855625 -0.371284
-v -0.291244 -0.855625 -0.291298
-v -0.251536 4.767281 -0.251582
-v -0.284069 4.865267 -0.284121
-v -0.132814 5.847281 -0.132838
-v -0.132814 5.927280 -0.132838
-v -0.172408 5.927280 -0.172440
-v -0.121501 5.991281 -0.121523
-v -0.127157 6.135281 -0.127181
-v -0.161095 6.287280 -0.161125
-v -0.200690 6.359281 -0.200727
-v -0.169607 6.439281 -0.169638
-v -0.124357 6.535279 -0.124380
-v -0.101731 6.607280 -0.101749
-v -0.096074 6.671281 -0.096092
-v -0.101731 6.727280 -0.101749
-v -0.079105 6.751280 -0.079120
-v -0.124357 6.775281 -0.124380
-v -0.146981 6.815281 -0.147008
-v -0.180919 6.871280 -0.180953
-v -1.060045 -3.284090 -0.612154
-v -1.060045 -2.760090 -0.612154
-v -1.101612 -2.760090 -0.636158
-v -1.129323 -2.728091 -0.652160
-v -1.129323 -2.642078 -0.652160
-v -1.087757 -2.602085 -0.628156
-v -1.032334 -2.600090 -0.596151
-v -0.959592 -2.524090 -0.554144
-v -0.890314 -2.356090 -0.514137
-v -0.869530 -2.256090 -0.502135
-v -0.876458 -2.192089 -0.506136
-v -0.931881 -2.160089 -0.538141
-v -0.952664 -2.128090 -0.550143
-v -0.952664 -2.072090 -0.550143
-v -0.931881 -2.040090 -0.538141
-v -0.807454 -1.996708 -0.466288
-v -0.571762 -1.819721 -0.330181
-v -0.488750 -1.673745 -0.282243
-v -0.442802 -1.530860 -0.255709
-v -0.382509 -1.365037 -0.220891
-v -0.368142 -1.183625 -0.212594
-v -0.388925 -1.127625 -0.224596
-v -0.468516 -1.127625 -0.270558
-v -0.503155 -1.079625 -0.290562
-v -0.503155 -0.903625 -0.290562
-v -0.454661 -0.855625 -0.262557
-v -0.356712 -0.855625 -0.205994
-v -0.308078 4.767281 -0.177909
-v -0.347925 4.865267 -0.200919
-v -0.346195 4.967279 -0.199920
-v -0.304628 5.023280 -0.175916
-v -0.256134 5.023280 -0.147912
-v -0.256134 5.791280 -0.147912
-v -0.207639 5.847281 -0.119907
-v -0.162669 5.847281 -0.093938
-v -0.162669 5.927280 -0.093938
-v -0.211163 5.927280 -0.121942
-v -0.211163 5.991281 -0.121942
-v -0.148813 5.991281 -0.085936
-v -0.155741 6.135281 -0.089937
-v -0.197308 6.287280 -0.113941
-v -0.245802 6.359281 -0.141946
-v -0.287369 6.391280 -0.165950
-v -0.266586 6.439281 -0.153948
-v -0.207732 6.439281 -0.119961
-v -0.207732 6.479280 -0.119961
-v -0.152311 6.535279 -0.087956
-v -0.124599 6.607280 -0.071953
-v -0.117671 6.671281 -0.067952
-v -0.124599 6.727280 -0.071953
-v -0.096887 6.751280 -0.055950
-v -0.152311 6.775281 -0.087956
-v -0.180021 6.815281 -0.103958
-v -0.221588 6.823281 -0.127962
-v -0.221588 6.871280 -0.127962
-v -1.182361 -3.284090 -0.316940
-v -1.182361 -2.760090 -0.316940
-v -1.228724 -2.760090 -0.329368
-v -1.259633 -2.728091 -0.337654
-v -1.259633 -2.642078 -0.337654
-v -1.213270 -2.602085 -0.325226
-v -1.151452 -2.600090 -0.308655
-v -1.070316 -2.524090 -0.286906
-v -0.993044 -2.356090 -0.266193
-v -0.969863 -2.256090 -0.259979
-v -0.977590 -2.192089 -0.262050
-v -1.039407 -2.160089 -0.278621
-v -1.062589 -2.128090 -0.284835
-v -1.062589 -2.072090 -0.284835
-v -1.039407 -2.040090 -0.278621
-v -0.900624 -1.996708 -0.241419
-v -0.637736 -1.819721 -0.170950
-v -0.545146 -1.673745 -0.146130
-v -0.493896 -1.530860 -0.132392
-v -0.426645 -1.365037 -0.114365
-v -0.410620 -1.183625 -0.110070
-v -0.433802 -1.127625 -0.116284
-v -0.522577 -1.127625 -0.140081
-v -0.561213 -1.079625 -0.150437
-v -0.561213 -0.903625 -0.150437
-v -0.507122 -0.855625 -0.135938
-v -0.397872 -0.855625 -0.106653
-v -0.343627 4.767281 -0.092112
-v -0.138976 6.727280 -0.037253
-v -0.215708 4.671280 0.000000
-v -0.271708 4.671280 0.000000
-v -0.303708 4.639273 0.000000
-v -0.303708 4.591273 0.000000
-v -0.275705 4.561275 0.000000
-v -0.331920 0.793487 0.000000
-v -0.403919 0.779474 0.000000
-v -0.419919 0.707474 0.000000
-v -0.403919 0.641487 0.000000
-v -0.363919 0.601487 0.000000
-v -0.403919 -0.543625 0.000000
-v -0.451919 -0.543625 0.000000
-v -0.483920 -0.583625 0.000000
-v -0.483920 -0.665634 0.000000
-v -0.453928 -0.695625 0.000000
-v -0.411927 -0.695618 0.000000
-v -0.397891 -0.695618 0.106613
-v -0.438461 -0.695625 0.117483
-v -0.467431 -0.665634 0.125246
-v -0.467431 -0.583625 0.125246
-v -0.436521 -0.543625 0.116963
-v -0.390156 -0.543625 0.104540
-v -0.351519 0.601487 0.094188
-v -0.390156 0.641487 0.104540
-v -0.405611 0.707474 0.108681
-v -0.390156 0.779474 0.104540
-v -0.320610 0.793487 0.085906
-v -0.231540 4.559279 0.062040
-v -0.356741 -0.695618 0.205960
-v -0.393115 -0.695625 0.226961
-v -0.419089 -0.665634 0.241956
-v -0.419089 -0.583625 0.241956
-v -0.391375 -0.543625 0.225956
-v -0.349806 -0.543625 0.201956
-v -0.315165 0.601487 0.181957
-v -0.349806 0.641487 0.201956
-v -0.363662 0.707474 0.209956
-v -0.349806 0.779474 0.201956
-v -0.287453 0.793487 0.165957
-v -0.207594 4.559279 0.119852
-v -0.238769 4.561275 0.137850
-v -0.263020 4.591273 0.151852
-v -0.263020 4.639273 0.151852
-v -0.235307 4.671280 0.135852
-v -0.186810 4.671280 0.107852
-v -0.291280 -0.695618 0.291273
-v -0.320980 -0.695625 0.320971
-v -0.342188 -0.665634 0.342179
-v -0.342188 -0.583625 0.342179
-v -0.319559 -0.543625 0.319551
-v -0.285618 -0.543625 0.285610
-v -0.257333 0.601487 0.257326
-v -0.285618 0.641487 0.285610
-v -0.296931 0.707474 0.296924
-v -0.285618 0.779474 0.285610
-v -0.234706 0.793487 0.234700
-v -0.169501 4.559279 0.169497
-v -0.205970 -0.695618 0.356736
-v -0.226971 -0.695625 0.393109
-v -0.241967 -0.665634 0.419083
-v -0.241967 -0.583625 0.419083
-v -0.225966 -0.543625 0.391369
-v -0.201966 -0.543625 0.349801
-v -0.181965 0.601487 0.315160
-v -0.201966 0.641487 0.349801
-v -0.209966 0.707474 0.363657
-v -0.201966 0.779474 0.349801
-v -0.165965 0.793487 0.287448
-v -0.119858 4.559279 0.207591
-v -0.137857 4.561275 0.238765
-v -0.151859 4.591273 0.263016
-v -0.151859 4.639273 0.263016
-v -0.135858 4.671280 0.235304
-v -0.107857 4.671280 0.186807
-v -0.106623 -0.695618 0.397889
-v -0.117495 -0.695625 0.438458
-v -0.125258 -0.665634 0.467428
-v -0.125258 -0.583625 0.467428
-v -0.116975 -0.543625 0.436518
-v -0.104550 -0.543625 0.390153
-v -0.094197 0.601487 0.351517
-v -0.104550 0.641487 0.390153
-v -0.108692 0.707474 0.405608
-v -0.104550 0.779474 0.390153
-v -0.085914 0.793487 0.320608
-v -0.062046 4.559279 0.231539
-v -0.078612 4.639273 0.293358
-v -0.070329 4.671280 0.262448
-v -0.055834 4.671280 0.208357
-v -0.000011 -0.695618 0.411927
-v -0.000012 -0.695625 0.453928
-v -0.000013 -0.665634 0.483920
-v -0.000013 -0.583625 0.483920
-v -0.000012 -0.543625 0.451919
-v -0.000011 -0.543625 0.403919
-v -0.000010 0.601487 0.363919
-v -0.000011 0.641487 0.403919
-v -0.000011 0.707474 0.419919
-v -0.000011 0.779474 0.403919
-v -0.000009 0.793487 0.331920
-v -0.000006 4.559279 0.239708
-v -0.000007 4.561275 0.275705
-v -0.000008 4.591273 0.303708
-v -0.000008 4.639273 0.303708
-v -0.000007 4.671280 0.271708
-v -0.000006 4.671280 0.215708
-v 0.106602 -0.695618 0.397894
-v 0.117472 -0.695625 0.438464
-v 0.125233 -0.665634 0.467435
-v 0.125233 -0.583625 0.467435
-v 0.116952 -0.543625 0.436524
-v 0.104530 -0.543625 0.390159
-v 0.094178 0.601487 0.351522
-v 0.104530 0.641487 0.390159
-v 0.108671 0.707474 0.405614
-v 0.104530 0.779474 0.390159
-v 0.085897 0.793487 0.320613
-v 0.062034 4.559279 0.231542
-v 0.078596 4.591273 0.293362
-v 0.078596 4.639273 0.293362
-v 0.055823 4.671280 0.208360
-v 0.205951 -0.695618 0.356746
-v 0.226950 -0.695625 0.393121
-v 0.241945 -0.665634 0.419095
-v 0.241945 -0.583625 0.419095
-v 0.225946 -0.543625 0.391381
-v 0.201947 -0.543625 0.349811
-v 0.181948 0.601487 0.315169
-v 0.201947 0.641487 0.349811
-v 0.209947 0.707474 0.363668
-v 0.201947 0.779474 0.349811
-v 0.165950 0.793487 0.287457
-v 0.119847 4.559279 0.207597
-v 0.137844 4.561275 0.238772
-v 0.151845 4.591273 0.263024
-v 0.151845 4.639273 0.263024
-v 0.135846 4.671280 0.235311
-v 0.107847 4.671280 0.186812
-v 0.291265 -0.695618 0.291288
-v 0.320963 -0.695625 0.320988
-v 0.342170 -0.665634 0.342197
-v 0.342170 -0.583625 0.342197
-v 0.319542 -0.543625 0.319568
-v 0.285603 -0.543625 0.285625
-v 0.257319 0.601487 0.257340
-v 0.285603 0.641487 0.285625
-v 0.296916 0.707474 0.296939
-v 0.285603 0.779474 0.285625
-v 0.234694 0.793487 0.234712
-v 0.169492 4.559279 0.169506
-v 0.214745 4.591273 0.214762
-v 0.356730 -0.695618 0.205979
-v 0.393103 -0.695625 0.226981
-v 0.419076 -0.665634 0.241978
-v 0.419076 -0.583625 0.241978
-v 0.391363 -0.543625 0.225977
-v 0.349795 -0.543625 0.201975
-v 0.315155 0.601487 0.181973
-v 0.349795 0.641487 0.201975
-v 0.363651 0.707474 0.209975
-v 0.349795 0.779474 0.201975
-v 0.287444 0.793487 0.165973
-v 0.207588 4.559279 0.119863
-v 0.238761 4.561275 0.137863
-v 0.263012 4.591273 0.151866
-v 0.263012 4.639273 0.151866
-v 0.235300 4.671280 0.135864
-v 0.186804 4.671280 0.107862
-v 0.397886 -0.695618 0.106634
-v 0.438455 -0.695625 0.117506
-v 0.467425 -0.665634 0.125270
-v 0.467425 -0.583625 0.125270
-v 0.436515 -0.543625 0.116986
-v 0.390151 -0.543625 0.104561
-v 0.351514 0.601487 0.094206
-v 0.390151 0.641487 0.104561
-v 0.405605 0.707474 0.108703
-v 0.390151 0.779474 0.104561
-v 0.320606 0.793487 0.085923
-v 0.231537 4.559279 0.062052
-v 0.208355 4.671280 0.055839
-v 0.411927 -0.695618 0.000022
-v 0.453928 -0.695625 0.000024
-v 0.483920 -0.665634 0.000025
-v 0.483920 -0.583625 0.000025
-v 0.451919 -0.543625 0.000024
-v 0.403919 -0.543625 0.000021
-v 0.363919 0.601487 0.000019
-v 0.403919 0.641487 0.000021
-v 0.419919 0.707474 0.000022
-v 0.403919 0.779474 0.000021
-v 0.331920 0.793487 0.000017
-v 0.239708 4.559279 0.000013
-v 0.275705 4.561275 0.000015
-v 0.303708 4.591273 0.000016
-v 0.303708 4.639273 0.000016
-v 0.271708 4.671280 0.000014
-v 0.215708 4.671280 0.000011
-v 0.397897 -0.695618 -0.106592
-v 0.438467 -0.695625 -0.117460
-v 0.467438 -0.665634 -0.125221
-v 0.467438 -0.583625 -0.125221
-v 0.436527 -0.543625 -0.116940
-v 0.390162 -0.543625 -0.104520
-v 0.351524 0.601487 -0.094169
-v 0.390162 0.641487 -0.104520
-v 0.405617 0.707474 -0.108660
-v 0.390162 0.779474 -0.104520
-v 0.320615 0.793487 -0.085889
-v 0.231544 4.559279 -0.062028
-v 0.356752 -0.695618 -0.205942
-v 0.393127 -0.695625 -0.226940
-v 0.419102 -0.665634 -0.241934
-v 0.419102 -0.583625 -0.241934
-v 0.391387 -0.543625 -0.225935
-v 0.349817 -0.543625 -0.201938
-v 0.315174 0.601487 -0.181940
-v 0.349817 0.641487 -0.201938
-v 0.363673 0.707474 -0.209937
-v 0.349817 0.779474 -0.201938
-v 0.287461 0.793487 -0.165942
-v 0.207601 4.559279 -0.119841
-v 0.238776 4.561275 -0.137838
-v 0.263028 4.591273 -0.151838
-v 0.263028 4.639273 -0.151838
-v 0.235314 4.671280 -0.135840
-v 0.186815 4.671280 -0.107842
-v 0.291296 -0.695618 -0.291257
-v 0.320997 -0.695625 -0.320954
-v 0.342206 -0.665634 -0.342161
-v 0.342206 -0.583625 -0.342161
-v 0.319576 -0.543625 -0.319534
-v 0.285633 -0.543625 -0.285595
-v 0.257347 0.601487 -0.257313
-v 0.285633 0.641487 -0.285595
-v 0.296947 0.707474 -0.296908
-v 0.285633 0.779474 -0.285595
-v 0.234718 0.793487 -0.234687
-v 0.169510 4.559279 -0.169488
-v 0.205988 -0.695618 -0.356725
-v 0.226992 -0.695625 -0.393097
-v 0.241989 -0.665634 -0.419070
-v 0.241989 -0.583625 -0.419070
-v 0.225987 -0.543625 -0.391358
-v 0.201984 -0.543625 -0.349790
-v 0.181982 0.601487 -0.315150
-v 0.201984 0.641487 -0.349790
-v 0.209985 0.707474 -0.363646
-v 0.201984 0.779474 -0.349790
-v 0.165980 0.793487 -0.287440
-v 0.119869 4.559279 -0.207585
-v 0.137869 4.561275 -0.238758
-v 0.151872 4.591273 -0.263008
-v 0.151872 4.639273 -0.263008
-v 0.135870 4.671280 -0.235297
-v 0.107867 4.671280 -0.186801
-v 0.106644 -0.695618 -0.397883
-v 0.117518 -0.695625 -0.438452
-v 0.125283 -0.665634 -0.467421
-v 0.125283 -0.583625 -0.467421
-v 0.116998 -0.543625 -0.436511
-v 0.104571 -0.543625 -0.390148
-v 0.094215 0.601487 -0.351512
-v 0.104571 0.641487 -0.390148
-v 0.108713 0.707474 -0.405602
-v 0.104571 0.779474 -0.390148
-v 0.085931 0.793487 -0.320604
-v 0.062058 4.559279 -0.231535
-v 0.070343 4.671280 -0.262444
-v 0.000033 -0.695618 -0.411927
-v 0.000036 -0.695625 -0.453928
-v 0.000038 -0.665634 -0.483920
-v 0.000038 -0.583625 -0.483920
-v 0.000036 -0.543625 -0.451919
-v 0.000032 -0.543625 -0.403919
-v 0.000029 0.601487 -0.363919
-v 0.000032 0.641487 -0.403919
-v 0.000033 0.707474 -0.419919
-v 0.000032 0.779474 -0.403919
-v 0.000026 0.793487 -0.331920
-v 0.000019 4.559279 -0.239708
-v 0.000022 4.561275 -0.275705
-v 0.000024 4.591273 -0.303708
-v 0.000024 4.639273 -0.303708
-v 0.000022 4.671280 -0.271708
-v 0.000017 4.671280 -0.215708
-v -0.106581 -0.695618 -0.397900
-v -0.117449 -0.695625 -0.438471
-v -0.125209 -0.665634 -0.467441
-v -0.125209 -0.583625 -0.467441
-v -0.116929 -0.543625 -0.436530
-v -0.104509 -0.543625 -0.390165
-v -0.094160 0.601487 -0.351527
-v -0.104509 0.641487 -0.390165
-v -0.108649 0.707474 -0.405620
-v -0.104509 0.779474 -0.390165
-v -0.085880 0.793487 -0.320617
-v -0.062022 4.559279 -0.231545
-v -0.078581 4.591273 -0.293366
-v -0.205932 -0.695618 -0.356757
-v -0.226929 -0.695625 -0.393133
-v -0.241923 -0.665634 -0.419108
-v -0.241923 -0.583625 -0.419108
-v -0.225925 -0.543625 -0.391393
-v -0.201929 -0.543625 -0.349822
-v -0.181932 0.601487 -0.315179
-v -0.201929 0.641487 -0.349822
-v -0.209928 0.707474 -0.363679
-v -0.201929 0.779474 -0.349822
-v -0.165935 0.793487 -0.287466
-v -0.119836 4.559279 -0.207604
-v -0.137832 4.561275 -0.238780
-v -0.151831 4.591273 -0.263032
-v -0.151831 4.639273 -0.263032
-v -0.135833 4.671280 -0.235318
-v -0.107838 4.671280 -0.186818
-v -0.291250 -0.695618 -0.291303
-v -0.320946 -0.695625 -0.321005
-v -0.342152 -0.665634 -0.342215
-v -0.342152 -0.583625 -0.342215
-v -0.319526 -0.543625 -0.319584
-v -0.285588 -0.543625 -0.285640
-v -0.257306 0.601487 -0.257353
-v -0.285588 0.641487 -0.285640
-v -0.296900 0.707474 -0.296955
-v -0.285588 0.779474 -0.285640
-v -0.234681 0.793487 -0.234725
-v -0.169484 4.559279 -0.169515
-v -0.152515 4.671280 -0.152543
-v -0.356719 -0.695618 -0.205998
-v -0.393091 -0.695625 -0.227002
-v -0.419064 -0.665634 -0.242000
-v -0.419064 -0.583625 -0.242000
-v -0.391352 -0.543625 -0.225997
-v -0.349785 -0.543625 -0.201993
-v -0.315146 0.601487 -0.181990
-v -0.349785 0.641487 -0.201993
-v -0.363640 0.707474 -0.209995
-v -0.349785 0.779474 -0.201993
-v -0.287435 0.793487 -0.165988
-v -0.207582 4.559279 -0.119874
-v -0.238754 4.561275 -0.137876
-v -0.263004 4.591273 -0.151879
-v -0.263004 4.639273 -0.151879
-v -0.235293 4.671280 -0.135877
-v -0.186798 4.671280 -0.107872
-v -0.397880 -0.695618 -0.106655
-v -0.438449 -0.695625 -0.117529
-v -0.467418 -0.665634 -0.125295
-v -0.467418 -0.583625 -0.125295
-v -0.436508 -0.543625 -0.117009
-v -0.390145 -0.543625 -0.104581
-v -0.351509 0.601487 -0.094225
-v -0.390145 0.641487 -0.104581
-v -0.405600 0.707474 -0.108724
-v -0.390145 0.779474 -0.104581
-v -0.320601 0.793487 -0.085940
-v -0.231534 4.559279 -0.062064
-v -0.208352 4.671280 -0.055850
-v 0.042099 0.760516 0.319849
-v 0.049195 0.755443 0.373756
-v 0.049945 0.707794 0.379455
-v 0.048430 0.657846 0.367941
-v 0.043001 0.613739 0.326701
-v 0.047878 -0.544789 0.363746
-v -0.140407 -0.544789 0.338953
-v -0.291071 -0.544789 0.223341
-v -0.363745 -0.544789 0.047887
-v 0.223334 -0.544789 0.291076
-v 0.200588 0.613739 0.261432
-v 0.225910 0.657846 0.294434
-v 0.232979 0.707794 0.303647
-v 0.229480 0.755443 0.299087
-v 0.196382 0.760516 0.255949
-v -0.123463 0.760516 0.298048
-v -0.255945 0.760516 0.196388
-v -0.319848 0.760516 0.042108
-v -0.373755 0.755443 0.049205
-v -0.299081 0.755444 0.229487
-v -0.144271 0.755443 0.348281
-v -0.142026 0.657846 0.342863
-v -0.126108 0.613739 0.304434
-v -0.146471 0.707794 0.353592
-v -0.303641 0.707794 0.232987
-v -0.261427 0.613739 0.200596
-v -0.294428 0.657846 0.225917
-v -0.379454 0.707794 0.049955
-v -0.367940 0.657846 0.048439
-v -0.326700 0.613739 0.043010
-v -0.298039 0.760516 -0.123487
-v -0.196368 0.760516 -0.255960
-v -0.042083 0.760516 -0.319851
-v -0.049175 0.755443 -0.373759
-v -0.049925 0.707794 -0.379458
-v -0.048410 0.657846 -0.367944
-v -0.042984 0.613739 -0.326704
-v -0.200575 0.613739 -0.261443
-v -0.225894 0.657846 -0.294446
-v -0.232963 0.707794 -0.303660
-v -0.229464 0.755443 -0.299099
-v -0.348270 0.755443 -0.144298
-v -0.353580 0.707794 -0.146499
-v -0.342852 0.657846 -0.142053
-v -0.304424 0.613739 -0.126132
-v -0.338942 -0.544789 -0.140434
-v -0.223319 -0.544789 -0.291089
-v -0.047858 -0.544789 -0.363749
-v 0.140425 -0.544789 -0.338946
-v 0.291083 -0.544789 -0.223326
-v 0.363748 -0.544789 -0.047868
-v 0.123478 0.760516 -0.298043
-v 0.144289 0.755444 -0.348273
-v 0.146489 0.707794 -0.353584
-v 0.142044 0.657846 -0.342855
-v 0.126124 0.613739 -0.304427
-v 0.261438 0.613739 -0.200582
-v 0.294440 0.657846 -0.225902
-v 0.303653 0.707794 -0.232971
-v 0.299093 0.755444 -0.229471
-v 0.255955 0.760516 -0.196375
-v 0.319851 0.760516 -0.042092
-v 0.373758 0.755443 -0.049186
-v 0.379457 0.707794 -0.049935
-v 0.367943 0.657846 -0.048420
-v 0.326702 0.613739 -0.042993
-v 0.298045 0.760516 0.123471
-v 0.348277 0.755444 0.144280
-v 0.353588 0.707794 0.146480
-v 0.342859 0.657846 0.142035
-v 0.304430 0.613739 0.126115
-v 0.338950 -0.544789 0.140416
-v -0.026067 4.543957 0.197960
-v -0.038002 0.778164 0.288601
-v -0.121553 4.543957 0.158406
-v -0.177209 0.778164 0.230936
-v -0.184470 4.543957 0.076408
-v -0.268934 0.778164 0.111395
-v -0.197958 4.543957 -0.026072
-v -0.288597 0.778165 -0.038010
-v 0.184475 4.543957 -0.076399
-v 0.268941 0.778164 -0.111380
-v 0.121561 4.543957 -0.158400
-v 0.177221 0.778164 -0.230926
-v 0.026077 4.543957 -0.197959
-v 0.038017 0.778164 -0.288599
-v -0.076395 4.543957 -0.184476
-v -0.111373 0.778164 -0.268943
-v -0.158396 4.543957 -0.121565
-v -0.230922 0.778164 -0.177227
-v 0.197959 4.543957 0.026072
-v 0.288599 0.778164 0.038010
-v 0.158403 4.543957 0.121557
-v 0.230932 0.778164 0.177215
-v 0.076404 4.543957 0.184472
-v 0.111387 0.778164 0.268937
-v -0.231537 4.559279 -0.000012
-# 4440 vertices
-
-# 0 vertex parms
-
-# 0 texture vertices
-
-# 0 normals
-
-g globes
-f 1669 1692 1691
-f 1688 1692 1687
-f 1684 1692 1683
-f 1680 1692 1679
-f 1676 1692 1675
-f 1672 1692 1671
-f 1645 1669 1691 1667
-f 1664 1688 1687 1663
-f 1660 1684 1683 1659
-f 1656 1680 1679 1655
-f 1652 1676 1675 1651
-f 1648 1672 1671 1647
-f 1621 1645 1667 1643
-f 1640 1664 1663 1639
-f 1636 1660 1659 1635
-f 1632 1656 1655 1631
-f 1628 1652 1651 1627
-f 1624 1648 1647 1623
-f 1597 1621 1643 1619
-f 1616 1640 1639 1615
-f 1612 1636 1635 1611
-f 1608 1632 1631 1607
-f 1604 1628 1627 1603
-f 1600 1624 1623 1599
-f 1573 1597 1619 1595
-f 1592 1616 1615 1591
-f 1588 1612 1611 1587
-f 1584 1608 1607 1583
-f 1580 1604 1603 1579
-f 1576 1600 1599 1575
-f 1549 1573 1595 1571
-f 1568 1592 1591 1567
-f 1564 1588 1587 1563
-f 1560 1584 1583 1559
-f 1556 1580 1579 1555
-f 1552 1576 1575 1551
-f 1525 1549 1571 1547
-f 1544 1568 1567 1543
-f 1540 1564 1563 1539
-f 1536 1560 1559 1535
-f 1532 1556 1555 1531
-f 1528 1552 1551 1527
-f 1501 1525 1547 1523
-f 1520 1544 1543 1519
-f 1516 1540 1539 1515
-f 1512 1536 1535 1511
-f 1508 1532 1531 1507
-f 1504 1528 1527 1503
-f 1477 1501 1523 1499
-f 1496 1520 1519 1495
-f 1492 1516 1515 1491
-f 1488 1512 1511 1487
-f 1484 1508 1507 1483
-f 1480 1504 1503 1479
-f 1453 1477 1499 1475
-f 1472 1496 1495 1471
-f 1468 1492 1491 1467
-f 1464 1488 1487 1463
-f 1460 1484 1483 1459
-f 1456 1480 1479 1455
-f 1429 1453 1475 1451
-f 1448 1472 1471 1447
-f 1444 1468 1467 1443
-f 1440 1464 1463 1439
-f 1436 1460 1459 1435
-f 1432 1456 1455 1431
-f 1427 1429 1451
-f 1427 1448 1447
-f 1427 1444 1443
-f 1427 1440 1439
-f 1427 1436 1435
-f 1427 1432 1431
-f 1403 1426 1425
-f 1422 1426 1421
-f 1418 1426 1417
-f 1414 1426 1413
-f 1410 1426 1409
-f 1406 1426 1405
-f 1379 1403 1425 1401
-f 1398 1422 1421 1397
-f 1394 1418 1417 1393
-f 1390 1414 1413 1389
-f 1386 1410 1409 1385
-f 1382 1406 1405 1381
-f 1355 1379 1401 1377
-f 1374 1398 1397 1373
-f 1370 1394 1393 1369
-f 1366 1390 1389 1365
-f 1362 1386 1385 1361
-f 1358 1382 1381 1357
-f 1331 1355 1377 1353
-f 1350 1374 1373 1349
-f 1346 1370 1369 1345
-f 1342 1366 1365 1341
-f 1338 1362 1361 1337
-f 1334 1358 1357 1333
-f 1307 1331 1353 1329
-f 1326 1350 1349 1325
-f 1322 1346 1345 1321
-f 1318 1342 1341 1317
-f 1314 1338 1337 1313
-f 1310 1334 1333 1309
-f 1283 1307 1329 1305
-f 1302 1326 1325 1301
-f 1298 1322 1321 1297
-f 1294 1318 1317 1293
-f 1290 1314 1313 1289
-f 1286 1310 1309 1285
-f 1259 1283 1305 1281
-f 1278 1302 1301 1277
-f 1274 1298 1297 1273
-f 1270 1294 1293 1269
-f 1266 1290 1289 1265
-f 1262 1286 1285 1261
-f 1235 1259 1281 1257
-f 1254 1278 1277 1253
-f 1250 1274 1273 1249
-f 1246 1270 1269 1245
-f 1242 1266 1265 1241
-f 1238 1262 1261 1237
-f 1211 1235 1257 1233
-f 1230 1254 1253 1229
-f 1226 1250 1249 1225
-f 1222 1246 1245 1221
-f 1218 1242 1241 1217
-f 1214 1238 1237 1213
-f 1187 1211 1233 1209
-f 1206 1230 1229 1205
-f 1202 1226 1225 1201
-f 1198 1222 1221 1197
-f 1194 1218 1217 1193
-f 1190 1214 1213 1189
-f 1163 1187 1209 1185
-f 1182 1206 1205 1181
-f 1178 1202 1201 1177
-f 1174 1198 1197 1173
-f 1170 1194 1193 1169
-f 1166 1190 1189 1165
-f 1161 1163 1185
-f 1161 1182 1181
-f 1161 1178 1177
-f 1161 1174 1173
-f 1161 1170 1169
-f 1161 1166 1165
-f 531 532 530
-f 527 532 526
-f 523 532 522
-f 519 532 518
-f 515 532 514
-f 511 532 510
-f 507 531 530 506
-f 503 527 526 502
-f 499 523 522 498
-f 495 519 518 494
-f 491 515 514 490
-f 487 511 510 486
-f 483 507 506 482
-f 479 503 502 478
-f 475 499 498 474
-f 471 495 494 470
-f 467 491 490 466
-f 463 487 486 462
-f 459 483 482 458
-f 455 479 478 454
-f 451 475 474 450
-f 447 471 470 446
-f 443 467 466 442
-f 439 463 462 438
-f 435 459 458 434
-f 431 455 454 430
-f 427 451 450 426
-f 423 447 446 422
-f 419 443 442 418
-f 415 439 438 414
-f 411 435 434 410
-f 407 431 430 406
-f 403 427 426 402
-f 399 423 422 398
-f 395 419 418 394
-f 391 415 414 390
-f 387 411 410 386
-f 383 407 406 382
-f 379 403 402 378
-f 375 399 398 374
-f 371 395 394 370
-f 367 391 390 366
-f 363 387 386 362
-f 359 383 382 358
-f 355 379 378 354
-f 351 375 374 350
-f 347 371 370 346
-f 343 367 366 342
-f 339 363 362 338
-f 335 359 358 334
-f 331 355 354 330
-f 327 351 350 326
-f 323 347 346 322
-f 319 343 342 318
-f 315 339 338 314
-f 311 335 334 310
-f 307 331 330 306
-f 303 327 326 302
-f 299 323 322 298
-f 295 319 318 294
-f 291 315 314 290
-f 287 311 310 286
-f 283 307 306 282
-f 279 303 302 278
-f 275 299 298 274
-f 271 295 294 270
-f 267 291 290
-f 267 287 286
-f 267 283 282
-f 267 279 278
-f 267 275 274
-f 267 271 270
-f 265 266 264
-f 261 266 260
-f 257 266 256
-f 253 266 252
-f 249 266 248
-f 245 266 244
-f 241 265 264 240
-f 237 261 260 236
-f 233 257 256 232
-f 229 253 252 228
-f 225 249 248 224
-f 221 245 244 220
-f 217 241 240 216
-f 213 237 236 212
-f 209 233 232 208
-f 205 229 228 204
-f 201 225 224 200
-f 197 221 220 196
-f 193 217 216 192
-f 189 213 212 188
-f 185 209 208 184
-f 181 205 204 180
-f 177 201 200 176
-f 173 197 196 172
-f 169 193 192 168
-f 165 189 188 164
-f 161 185 184 160
-f 157 181 180 156
-f 153 177 176 152
-f 149 173 172 148
-f 145 169 168 144
-f 141 165 164 140
-f 137 161 160 136
-f 133 157 156 132
-f 129 153 152 128
-f 125 149 148 124
-f 121 145 144 120
-f 117 141 140 116
-f 113 137 136 112
-f 109 133 132 108
-f 105 129 128 104
-f 101 125 124 100
-f 97 121 120 96
-f 93 117 116 92
-f 89 113 112 88
-f 85 109 108 84
-f 81 105 104 80
-f 77 101 100 76
-f 73 97 96 72
-f 69 93 92 68
-f 65 89 88 64
-f 61 85 84 60
-f 57 81 80 56
-f 53 77 76 52
-f 49 73 72 48
-f 45 69 68 44
-f 41 65 64 40
-f 37 61 60 36
-f 33 57 56 32
-f 29 53 52 28
-f 25 49 48 24
-f 21 45 44 20
-f 17 41 40 16
-f 13 37 36 12
-f 9 33 32 8
-f 5 29 28 4
-f 1 25 24
-f 1 21 20
-f 1 17 16
-f 1 13 12
-f 1 9 8
-f 1 5 4
-f 1 4 3
-f 1 8 7
-f 1 12 11
-f 1 16 15
-f 1 20 19
-f 1 24 23
-f 4 28 27 3
-f 8 32 31 7
-f 12 36 35 11
-f 16 40 39 15
-f 20 44 43 19
-f 24 48 47 23
-f 28 52 51 27
-f 32 56 55 31
-f 36 60 59 35
-f 40 64 63 39
-f 44 68 67 43
-f 48 72 71 47
-f 52 76 75 51
-f 56 80 79 55
-f 60 84 83 59
-f 64 88 87 63
-f 68 92 91 67
-f 72 96 95 71
-f 76 100 99 75
-f 80 104 103 79
-f 84 108 107 83
-f 88 112 111 87
-f 92 116 115 91
-f 96 120 119 95
-f 100 124 123 99
-f 104 128 127 103
-f 108 132 131 107
-f 112 136 135 111
-f 116 140 139 115
-f 120 144 143 119
-f 124 148 147 123
-f 128 152 151 127
-f 132 156 155 131
-f 136 160 159 135
-f 140 164 163 139
-f 144 168 167 143
-f 148 172 171 147
-f 152 176 175 151
-f 156 180 179 155
-f 160 184 183 159
-f 164 188 187 163
-f 168 192 191 167
-f 172 196 195 171
-f 176 200 199 175
-f 180 204 203 179
-f 184 208 207 183
-f 188 212 211 187
-f 192 216 215 191
-f 196 220 219 195
-f 200 224 223 199
-f 204 228 227 203
-f 208 232 231 207
-f 212 236 235 211
-f 216 240 239 215
-f 220 244 243 219
-f 224 248 247 223
-f 228 252 251 227
-f 232 256 255 231
-f 236 260 259 235
-f 240 264 263 239
-f 244 266 243
-f 248 266 247
-f 252 266 251
-f 256 266 255
-f 260 266 259
-f 264 266 263
-f 267 270 268
-f 267 274 273
-f 267 278 277
-f 267 282 281
-f 267 286 285
-f 267 290 289
-f 270 294 292 268
-f 274 298 297 273
-f 278 302 301 277
-f 282 306 305 281
-f 286 310 309 285
-f 290 314 313 289
-f 294 318 316 292
-f 298 322 321 297
-f 302 326 325 301
-f 306 330 329 305
-f 310 334 333 309
-f 314 338 337 313
-f 318 342 340 316
-f 322 346 345 321
-f 326 350 349 325
-f 330 354 353 329
-f 334 358 357 333
-f 338 362 361 337
-f 342 366 364 340
-f 346 370 369 345
-f 350 374 373 349
-f 354 378 377 353
-f 358 382 381 357
-f 362 386 385 361
-f 366 390 388 364
-f 370 394 393 369
-f 374 398 397 373
-f 378 402 401 377
-f 382 406 405 381
-f 386 410 409 385
-f 390 414 412 388
-f 394 418 417 393
-f 398 422 421 397
-f 402 426 425 401
-f 406 430 429 405
-f 410 434 433 409
-f 414 438 436 412
-f 418 442 441 417
-f 422 446 445 421
-f 426 450 449 425
-f 430 454 453 429
-f 434 458 457 433
-f 438 462 460 436
-f 442 466 465 441
-f 446 470 469 445
-f 450 474 473 449
-f 454 478 477 453
-f 458 482 481 457
-f 462 486 484 460
-f 466 490 489 465
-f 470 494 493 469
-f 474 498 497 473
-f 478 502 501 477
-f 482 506 505 481
-f 486 510 508 484
-f 490 514 513 489
-f 494 518 517 493
-f 498 522 521 497
-f 502 526 525 501
-f 506 530 529 505
-f 510 532 508
-f 514 532 513
-f 518 532 517
-f 522 532 521
-f 526 532 525
-f 530 532 529
-f 1161 1162 1163
-f 1161 1167 1166
-f 1161 1171 1170
-f 1161 1175 1174
-f 1161 1179 1178
-f 1161 1183 1182
-f 1162 1186 1187 1163
-f 1167 1191 1190 1166
-f 1171 1195 1194 1170
-f 1175 1199 1198 1174
-f 1179 1203 1202 1178
-f 1183 1207 1206 1182
-f 1186 1210 1211 1187
-f 1191 1215 1214 1190
-f 1195 1219 1218 1194
-f 1199 1223 1222 1198
-f 1203 1227 1226 1202
-f 1207 1231 1230 1206
-f 1210 1234 1235 1211
-f 1215 1239 1238 1214
-f 1219 1243 1242 1218
-f 1223 1247 1246 1222
-f 1227 1251 1250 1226
-f 1231 1255 1254 1230
-f 1234 1258 1259 1235
-f 1239 1263 1262 1238
-f 1243 1267 1266 1242
-f 1247 1271 1270 1246
-f 1251 1275 1274 1250
-f 1255 1279 1278 1254
-f 1258 1282 1283 1259
-f 1263 1287 1286 1262
-f 1267 1291 1290 1266
-f 1271 1295 1294 1270
-f 1275 1299 1298 1274
-f 1279 1303 1302 1278
-f 1282 1306 1307 1283
-f 1287 1311 1310 1286
-f 1291 1315 1314 1290
-f 1295 1319 1318 1294
-f 1299 1323 1322 1298
-f 1303 1327 1326 1302
-f 1306 1330 1331 1307
-f 1311 1335 1334 1310
-f 1315 1339 1338 1314
-f 1319 1343 1342 1318
-f 1323 1347 1346 1322
-f 1327 1351 1350 1326
-f 1330 1354 1355 1331
-f 1335 1359 1358 1334
-f 1339 1363 1362 1338
-f 1343 1367 1366 1342
-f 1347 1371 1370 1346
-f 1351 1375 1374 1350
-f 1354 1378 1379 1355
-f 1359 1383 1382 1358
-f 1363 1387 1386 1362
-f 1367 1391 1390 1366
-f 1371 1395 1394 1370
-f 1375 1399 1398 1374
-f 1378 1402 1403 1379
-f 1383 1407 1406 1382
-f 1387 1411 1410 1386
-f 1391 1415 1414 1390
-f 1395 1419 1418 1394
-f 1399 1423 1422 1398
-f 1402 1426 1403
-f 1407 1426 1406
-f 1411 1426 1410
-f 1415 1426 1414
-f 1419 1426 1418
-f 1423 1426 1422
-f 1427 1428 1429
-f 1427 1433 1432
-f 1427 1437 1436
-f 1427 1441 1440
-f 1427 1445 1444
-f 1427 1449 1448
-f 1428 1452 1453 1429
-f 1433 1457 1456 1432
-f 1437 1461 1460 1436
-f 1441 1465 1464 1440
-f 1445 1469 1468 1444
-f 1449 1473 1472 1448
-f 1452 1476 1477 1453
-f 1457 1481 1480 1456
-f 1461 1485 1484 1460
-f 1465 1489 1488 1464
-f 1469 1493 1492 1468
-f 1473 1497 1496 1472
-f 1476 1500 1501 1477
-f 1481 1505 1504 1480
-f 1485 1509 1508 1484
-f 1489 1513 1512 1488
-f 1493 1517 1516 1492
-f 1497 1521 1520 1496
-f 1500 1524 1525 1501
-f 1505 1529 1528 1504
-f 1509 1533 1532 1508
-f 1513 1537 1536 1512
-f 1517 1541 1540 1516
-f 1521 1545 1544 1520
-f 1524 1548 1549 1525
-f 1529 1553 1552 1528
-f 1533 1557 1556 1532
-f 1537 1561 1560 1536
-f 1541 1565 1564 1540
-f 1545 1569 1568 1544
-f 1548 1572 1573 1549
-f 1553 1577 1576 1552
-f 1557 1581 1580 1556
-f 1561 1585 1584 1560
-f 1565 1589 1588 1564
-f 1569 1593 1592 1568
-f 1572 1596 1597 1573
-f 1577 1601 1600 1576
-f 1581 1605 1604 1580
-f 1585 1609 1608 1584
-f 1589 1613 1612 1588
-f 1593 1617 1616 1592
-f 1596 1620 1621 1597
-f 1601 1625 1624 1600
-f 1605 1629 1628 1604
-f 1609 1633 1632 1608
-f 1613 1637 1636 1612
-f 1617 1641 1640 1616
-f 1620 1644 1645 1621
-f 1625 1649 1648 1624
-f 1629 1653 1652 1628
-f 1633 1657 1656 1632
-f 1637 1661 1660 1636
-f 1641 1665 1664 1640
-f 1644 1668 1669 1645
-f 1649 1673 1672 1648
-f 1653 1677 1676 1652
-f 1657 1681 1680 1656
-f 1661 1685 1684 1660
-f 1665 1689 1688 1664
-f 1668 1692 1669
-f 1673 1692 1672
-f 1677 1692 1676
-f 1681 1692 1680
-f 1685 1692 1684
-f 1689 1692 1688
-f 1691 1692 1690
-f 1687 1692 1686
-f 1683 1692 1682
-f 1679 1692 1678
-f 1675 1692 1674
-f 1671 1692 1670
-f 1667 1691 1690 1666
-f 1663 1687 1686 1662
-f 1659 1683 1682 1658
-f 1655 1679 1678 1654
-f 1651 1675 1674 1650
-f 1647 1671 1670 1646
-f 1643 1667 1666 1642
-f 1639 1663 1662 1638
-f 1635 1659 1658 1634
-f 1631 1655 1654 1630
-f 1627 1651 1650 1626
-f 1623 1647 1646 1622
-f 1619 1643 1642 1618
-f 1615 1639 1638 1614
-f 1611 1635 1634 1610
-f 1607 1631 1630 1606
-f 1603 1627 1626 1602
-f 1599 1623 1622 1598
-f 1595 1619 1618 1594
-f 1591 1615 1614 1590
-f 1587 1611 1610 1586
-f 1583 1607 1606 1582
-f 1579 1603 1602 1578
-f 1575 1599 1598 1574
-f 1571 1595 1594 1570
-f 1567 1591 1590 1566
-f 1563 1587 1586 1562
-f 1559 1583 1582 1558
-f 1555 1579 1578 1554
-f 1551 1575 1574 1550
-f 1547 1571 1570 1546
-f 1543 1567 1566 1542
-f 1539 1563 1562 1538
-f 1535 1559 1558 1534
-f 1531 1555 1554 1530
-f 1527 1551 1550 1526
-f 1523 1547 1546 1522
-f 1519 1543 1542 1518
-f 1515 1539 1538 1514
-f 1511 1535 1534 1510
-f 1507 1531 1530 1506
-f 1503 1527 1526 1502
-f 1499 1523 1522 1498
-f 1495 1519 1518 1494
-f 1491 1515 1514 1490
-f 1487 1511 1510 1486
-f 1483 1507 1506 1482
-f 1479 1503 1502 1478
-f 1475 1499 1498 1474
-f 1471 1495 1494 1470
-f 1467 1491 1490 1466
-f 1463 1487 1486 1462
-f 1459 1483 1482 1458
-f 1455 1479 1478 1454
-f 1451 1475 1474 1450
-f 1447 1471 1470 1446
-f 1443 1467 1466 1442
-f 1439 1463 1462 1438
-f 1435 1459 1458 1434
-f 1431 1455 1454 1430
-f 1427 1451 1450
-f 1427 1447 1446
-f 1427 1443 1442
-f 1427 1439 1438
-f 1427 1435 1434
-f 1427 1431 1430
-f 1425 1426 1424
-f 1421 1426 1420
-f 1417 1426 1416
-f 1413 1426 1412
-f 1409 1426 1408
-f 1405 1426 1404
-f 1401 1425 1424 1400
-f 1397 1421 1420 1396
-f 1393 1417 1416 1392
-f 1389 1413 1412 1388
-f 1385 1409 1408 1384
-f 1381 1405 1404 1380
-f 1377 1401 1400 1376
-f 1373 1397 1396 1372
-f 1369 1393 1392 1368
-f 1365 1389 1388 1364
-f 1361 1385 1384 1360
-f 1357 1381 1380 1356
-f 1353 1377 1376 1352
-f 1349 1373 1372 1348
-f 1345 1369 1368 1344
-f 1341 1365 1364 1340
-f 1337 1361 1360 1336
-f 1333 1357 1356 1332
-f 1329 1353 1352 1328
-f 1325 1349 1348 1324
-f 1321 1345 1344 1320
-f 1317 1341 1340 1316
-f 1313 1337 1336 1312
-f 1309 1333 1332 1308
-f 1305 1329 1328 1304
-f 1301 1325 1324 1300
-f 1297 1321 1320 1296
-f 1293 1317 1316 1292
-f 1289 1313 1312 1288
-f 1285 1309 1308 1284
-f 1281 1305 1304 1280
-f 1277 1301 1300 1276
-f 1273 1297 1296 1272
-f 1269 1293 1292 1268
-f 1265 1289 1288 1264
-f 1261 1285 1284 1260
-f 1257 1281 1280 1256
-f 1253 1277 1276 1252
-f 1249 1273 1272 1248
-f 1245 1269 1268 1244
-f 1241 1265 1264 1240
-f 1237 1261 1260 1236
-f 1233 1257 1256 1232
-f 1229 1253 1252 1228
-f 1225 1249 1248 1224
-f 1221 1245 1244 1220
-f 1217 1241 1240 1216
-f 1213 1237 1236 1212
-f 1209 1233 1232 1208
-f 1205 1229 1228 1204
-f 1201 1225 1224 1200
-f 1197 1221 1220 1196
-f 1193 1217 1216 1192
-f 1189 1213 1212 1188
-f 1185 1209 1208 1184
-f 1181 1205 1204 1180
-f 1177 1201 1200 1176
-f 1173 1197 1196 1172
-f 1169 1193 1192 1168
-f 1165 1189 1188 1164
-f 1161 1185 1184
-f 1161 1181 1180
-f 1161 1177 1176
-f 1161 1173 1172
-f 1161 1169 1168
-f 1161 1165 1164
-f 509 532 531
-f 528 532 527
-f 524 532 523
-f 520 532 519
-f 516 532 515
-f 512 532 511
-f 485 509 531 507
-f 504 528 527 503
-f 500 524 523 499
-f 496 520 519 495
-f 492 516 515 491
-f 488 512 511 487
-f 461 485 507 483
-f 480 504 503 479
-f 476 500 499 475
-f 472 496 495 471
-f 468 492 491 467
-f 464 488 487 463
-f 437 461 483 459
-f 456 480 479 455
-f 452 476 475 451
-f 448 472 471 447
-f 444 468 467 443
-f 440 464 463 439
-f 413 437 459 435
-f 432 456 455 431
-f 428 452 451 427
-f 424 448 447 423
-f 420 444 443 419
-f 416 440 439 415
-f 389 413 435 411
-f 408 432 431 407
-f 404 428 427 403
-f 400 424 423 399
-f 396 420 419 395
-f 392 416 415 391
-f 365 389 411 387
-f 384 408 407 383
-f 380 404 403 379
-f 376 400 399 375
-f 372 396 395 371
-f 368 392 391 367
-f 341 365 387 363
-f 360 384 383 359
-f 356 380 379 355
-f 352 376 375 351
-f 348 372 371 347
-f 344 368 367 343
-f 317 341 363 339
-f 336 360 359 335
-f 332 356 355 331
-f 328 352 351 327
-f 324 348 347 323
-f 320 344 343 319
-f 293 317 339 315
-f 312 336 335 311
-f 308 332 331 307
-f 304 328 327 303
-f 300 324 323 299
-f 296 320 319 295
-f 269 293 315 291
-f 288 312 311 287
-f 284 308 307 283
-f 280 304 303 279
-f 276 300 299 275
-f 272 296 295 271
-f 267 269 291
-f 267 288 287
-f 267 284 283
-f 267 280 279
-f 267 276 275
-f 267 272 271
-f 242 266 265
-f 262 266 261
-f 258 266 257
-f 254 266 253
-f 250 266 249
-f 246 266 245
-f 218 242 265 241
-f 238 262 261 237
-f 234 258 257 233
-f 230 254 253 229
-f 226 250 249 225
-f 222 246 245 221
-f 194 218 241 217
-f 214 238 237 213
-f 210 234 233 209
-f 206 230 229 205
-f 202 226 225 201
-f 198 222 221 197
-f 170 194 217 193
-f 190 214 213 189
-f 186 210 209 185
-f 182 206 205 181
-f 178 202 201 177
-f 174 198 197 173
-f 146 170 193 169
-f 166 190 189 165
-f 162 186 185 161
-f 158 182 181 157
-f 154 178 177 153
-f 150 174 173 149
-f 122 146 169 145
-f 142 166 165 141
-f 138 162 161 137
-f 134 158 157 133
-f 130 154 153 129
-f 126 150 149 125
-f 98 122 145 121
-f 118 142 141 117
-f 114 138 137 113
-f 110 134 133 109
-f 106 130 129 105
-f 102 126 125 101
-f 74 98 121 97
-f 94 118 117 93
-f 90 114 113 89
-f 86 110 109 85
-f 82 106 105 81
-f 78 102 101 77
-f 50 74 97 73
-f 70 94 93 69
-f 66 90 89 65
-f 62 86 85 61
-f 58 82 81 57
-f 54 78 77 53
-f 26 50 73 49
-f 46 70 69 45
-f 42 66 65 41
-f 38 62 61 37
-f 34 58 57 33
-f 30 54 53 29
-f 2 26 49 25
-f 22 46 45 21
-f 18 42 41 17
-f 14 38 37 13
-f 10 34 33 9
-f 6 30 29 5
-f 1 2 25
-f 1 22 21
-f 1 18 17
-f 1 14 13
-f 1 10 9
-f 1 6 5
-f 1 3 2
-f 1 7 6
-f 1 11 10
-f 1 15 14
-f 1 19 18
-f 1 23 22
-f 3 27 26 2
-f 7 31 30 6
-f 11 35 34 10
-f 15 39 38 14
-f 19 43 42 18
-f 23 47 46 22
-f 27 51 50 26
-f 31 55 54 30
-f 35 59 58 34
-f 39 63 62 38
-f 43 67 66 42
-f 47 71 70 46
-f 51 75 74 50
-f 55 79 78 54
-f 59 83 82 58
-f 63 87 86 62
-f 67 91 90 66
-f 71 95 94 70
-f 75 99 98 74
-f 79 103 102 78
-f 83 107 106 82
-f 87 111 110 86
-f 91 115 114 90
-f 95 119 118 94
-f 99 123 122 98
-f 103 127 126 102
-f 107 131 130 106
-f 111 135 134 110
-f 115 139 138 114
-f 119 143 142 118
-f 123 147 146 122
-f 127 151 150 126
-f 131 155 154 130
-f 135 159 158 134
-f 139 163 162 138
-f 143 167 166 142
-f 147 171 170 146
-f 151 175 174 150
-f 155 179 178 154
-f 159 183 182 158
-f 163 187 186 162
-f 167 191 190 166
-f 171 195 194 170
-f 175 199 198 174
-f 179 203 202 178
-f 183 207 206 182
-f 187 211 210 186
-f 191 215 214 190
-f 195 219 218 194
-f 199 223 222 198
-f 203 227 226 202
-f 207 231 230 206
-f 211 235 234 210
-f 215 239 238 214
-f 219 243 242 218
-f 223 247 246 222
-f 227 251 250 226
-f 231 255 254 230
-f 235 259 258 234
-f 239 263 262 238
-f 243 266 242
-f 247 266 246
-f 251 266 250
-f 255 266 254
-f 259 266 258
-f 263 266 262
-f 267 268 269
-f 267 273 272
-f 267 277 276
-f 267 281 280
-f 267 285 284
-f 267 289 288
-f 268 292 293 269
-f 273 297 296 272
-f 277 301 300 276
-f 281 305 304 280
-f 285 309 308 284
-f 289 313 312 288
-f 292 316 317 293
-f 297 321 320 296
-f 301 325 324 300
-f 305 329 328 304
-f 309 333 332 308
-f 313 337 336 312
-f 316 340 341 317
-f 321 345 344 320
-f 325 349 348 324
-f 329 353 352 328
-f 333 357 356 332
-f 337 361 360 336
-f 340 364 365 341
-f 345 369 368 344
-f 349 373 372 348
-f 353 377 376 352
-f 357 381 380 356
-f 361 385 384 360
-f 364 388 389 365
-f 369 393 392 368
-f 373 397 396 372
-f 377 401 400 376
-f 381 405 404 380
-f 385 409 408 384
-f 388 412 413 389
-f 393 417 416 392
-f 397 421 420 396
-f 401 425 424 400
-f 405 429 428 404
-f 409 433 432 408
-f 412 436 437 413
-f 417 441 440 416
-f 421 445 444 420
-f 425 449 448 424
-f 429 453 452 428
-f 433 457 456 432
-f 436 460 461 437
-f 441 465 464 440
-f 445 469 468 444
-f 449 473 472 448
-f 453 477 476 452
-f 457 481 480 456
-f 460 484 485 461
-f 465 489 488 464
-f 469 493 492 468
-f 473 497 496 472
-f 477 501 500 476
-f 481 505 504 480
-f 484 508 509 485
-f 489 513 512 488
-f 493 517 516 492
-f 497 521 520 496
-f 501 525 524 500
-f 505 529 528 504
-f 508 532 509
-f 513 532 512
-f 517 532 516
-f 521 532 520
-f 525 532 524
-f 529 532 528
-f 1161 1164 1162
-f 1161 1168 1167
-f 1161 1172 1171
-f 1161 1176 1175
-f 1161 1180 1179
-f 1161 1184 1183
-f 1164 1188 1186 1162
-f 1168 1192 1191 1167
-f 1172 1196 1195 1171
-f 1176 1200 1199 1175
-f 1180 1204 1203 1179
-f 1184 1208 1207 1183
-f 1188 1212 1210 1186
-f 1192 1216 1215 1191
-f 1196 1220 1219 1195
-f 1200 1224 1223 1199
-f 1204 1228 1227 1203
-f 1208 1232 1231 1207
-f 1212 1236 1234 1210
-f 1216 1240 1239 1215
-f 1220 1244 1243 1219
-f 1224 1248 1247 1223
-f 1228 1252 1251 1227
-f 1232 1256 1255 1231
-f 1236 1260 1258 1234
-f 1240 1264 1263 1239
-f 1244 1268 1267 1243
-f 1248 1272 1271 1247
-f 1252 1276 1275 1251
-f 1256 1280 1279 1255
-f 1260 1284 1282 1258
-f 1264 1288 1287 1263
-f 1268 1292 1291 1267
-f 1272 1296 1295 1271
-f 1276 1300 1299 1275
-f 1280 1304 1303 1279
-f 1284 1308 1306 1282
-f 1288 1312 1311 1287
-f 1292 1316 1315 1291
-f 1296 1320 1319 1295
-f 1300 1324 1323 1299
-f 1304 1328 1327 1303
-f 1308 1332 1330 1306
-f 1312 1336 1335 1311
-f 1316 1340 1339 1315
-f 1320 1344 1343 1319
-f 1324 1348 1347 1323
-f 1328 1352 1351 1327
-f 1332 1356 1354 1330
-f 1336 1360 1359 1335
-f 1340 1364 1363 1339
-f 1344 1368 1367 1343
-f 1348 1372 1371 1347
-f 1352 1376 1375 1351
-f 1356 1380 1378 1354
-f 1360 1384 1383 1359
-f 1364 1388 1387 1363
-f 1368 1392 1391 1367
-f 1372 1396 1395 1371
-f 1376 1400 1399 1375
-f 1380 1404 1402 1378
-f 1384 1408 1407 1383
-f 1388 1412 1411 1387
-f 1392 1416 1415 1391
-f 1396 1420 1419 1395
-f 1400 1424 1423 1399
-f 1404 1426 1402
-f 1408 1426 1407
-f 1412 1426 1411
-f 1416 1426 1415
-f 1420 1426 1419
-f 1424 1426 1423
-f 1427 1430 1428
-f 1427 1434 1433
-f 1427 1438 1437
-f 1427 1442 1441
-f 1427 1446 1445
-f 1427 1450 1449
-f 1430 1454 1452 1428
-f 1434 1458 1457 1433
-f 1438 1462 1461 1437
-f 1442 1466 1465 1441
-f 1446 1470 1469 1445
-f 1450 1474 1473 1449
-f 1454 1478 1476 1452
-f 1458 1482 1481 1457
-f 1462 1486 1485 1461
-f 1466 1490 1489 1465
-f 1470 1494 1493 1469
-f 1474 1498 1497 1473
-f 1478 1502 1500 1476
-f 1482 1506 1505 1481
-f 1486 1510 1509 1485
-f 1490 1514 1513 1489
-f 1494 1518 1517 1493
-f 1498 1522 1521 1497
-f 1502 1526 1524 1500
-f 1506 1530 1529 1505
-f 1510 1534 1533 1509
-f 1514 1538 1537 1513
-f 1518 1542 1541 1517
-f 1522 1546 1545 1521
-f 1526 1550 1548 1524
-f 1530 1554 1553 1529
-f 1534 1558 1557 1533
-f 1538 1562 1561 1537
-f 1542 1566 1565 1541
-f 1546 1570 1569 1545
-f 1550 1574 1572 1548
-f 1554 1578 1577 1553
-f 1558 1582 1581 1557
-f 1562 1586 1585 1561
-f 1566 1590 1589 1565
-f 1570 1594 1593 1569
-f 1574 1598 1596 1572
-f 1578 1602 1601 1577
-f 1582 1606 1605 1581
-f 1586 1610 1609 1585
-f 1590 1614 1613 1589
-f 1594 1618 1617 1593
-f 1598 1622 1620 1596
-f 1602 1626 1625 1601
-f 1606 1630 1629 1605
-f 1610 1634 1633 1609
-f 1614 1638 1637 1613
-f 1618 1642 1641 1617
-f 1622 1646 1644 1620
-f 1626 1650 1649 1625
-f 1630 1654 1653 1629
-f 1634 1658 1657 1633
-f 1638 1662 1661 1637
-f 1642 1666 1665 1641
-f 1646 1670 1668 1644
-f 1650 1674 1673 1649
-f 1654 1678 1677 1653
-f 1658 1682 1681 1657
-f 1662 1686 1685 1661
-f 1666 1690 1689 1665
-f 1670 1692 1668
-f 1674 1692 1673
-f 1678 1692 1677
-f 1682 1692 1681
-f 1686 1692 1685
-f 1690 1692 1689
-g arms
-usemtl bronze
-f 2106 2107 1728 1726 1725 2029
-f 2936 2922 2921 2753
-f 2892 2907 2908 2893
-f 2829 2815 2945 2943
-f 2945 2947 2948 2946
-f 2858 2890 2889 2872
-f 2753 2921 2938 2750
-f 2932 2776 2778 2933
-f 2928 2768 2770 2929
-f 2924 2757 2758 2925
-f 2918 2933 2934 2919
-f 2914 2929 2930 2915
-f 2910 2925 2926 2911
-f 2904 2919 2920 2905
-f 2900 2915 2916 2901
-f 2896 2911 2912 2897
-f 2891 2906 2907 2892
-f 2882 2901 2902 2883
-f 2878 2897 2898 2879
-f 2873 2893 2894 2874
-f 2869 2884 2885 2870
-f 2865 2880 2881 2866
-f 2861 2875 2876 2877 2862
-f 2856 2870 2871 2857
-f 2851 2866 2867 2852
-f 2847 2862 2863 2848
-f 2843 2858 2859 2844
-f 2838 2853 2852 2854 2839
-f 2834 2848 2849 2835
-f 2830 2844 2845 2831
-f 2825 2839 2840 2826
-f 2821 2835 2836 2822
-f 2817 2831 2832 2818
-f 2812 2826 2827 2813
-f 2808 2822 2823 2809
-f 2804 2818 2819 2805
-f 2797 2813 2814 2798
-f 2793 2809 2810 2794
-f 2789 2805 2806 2790
-f 2800 2801 2802 2786
-f 2775 2795 2796 2777
-f 2767 2791 2792 2769
-f 2756 2787 2788 2759
-f 2778 2777 2779 2780
-f 2770 2769 2771 2772
-f 2761 2758 2760 2759 2762 2763
-f 2721 2649 2726 2749 2326 2325
-f 2729 2730 2334 2332
-f 2652 2733 2344 2343
-f 2736 2660 2360 2358
-f 2739 2740 2370 2368
-f 2742 2743 2380 2378
-f 2745 2683 2390 2388
-f 2688 2691 2406 2405
-f 2747 2748 2418 2416
-f 2669 2672 2641 2631
-f 2725 2661 2574 2666
-f 2662 2723 2711 2663
-f 2696 2748 2647 2613
-f 2693 2690 2606 2610
-f 2685 2682 2597 2561
-f 2677 2593 2594 2676
-f 2628 2697 2612 2622
-f 2678 2569 2566 2576
-f 2742 2741 2573 2575
-f 2739 2738 2662 2661
-f 2736 2735 2715 2713
-f 2656 2733 2718 2614
-f 2731 2730 2702 2700
-f 2727 2726 2704 2722
-f 2586 2724 2725 2666 2584
-f 2606 2605 2610
-f 2723 2643 2587 2711
-f 2681 2648 2562 2596
-f 2658 2657 2353 2350
-f 2683 2682 2393 2390
-f 2691 2690 2409 2406
-f 2642 2634 2633 2639
-f 2627 2719 2697 2628
-f 2624 2680 2679 2625
-f 2651 2714 2716 2718
-f 2714 2712 2713 2715
-f 2705 2667 2701 2708 2706
-f 2583 2699 2700 2577 2568
-f 2613 2647 2648 2611
-f 2606 2690 2691 2607
-f 2600 2686 2687 2601
-f 2597 2682 2683 2598
-f 2677 2678 2590 2593
-f 2668 2671 2581 2595
-f 2632 2621 2620 2630
-f 2566 2569 2572 2567
-f 2643 2659 2660 2644
-f 2636 2649 2650 2637
-f 2633 2634 2635 2636 2637 2638
-f 2618 2619 2579 2620 2621 2622
-f 2605 2606 2607 2608
-f 2581 2594 2595
-f 2582 2583 2568
-f 2569 2570 2571 2572
-f 2515 2560 2516
-f 2549 2548 2437
-f 2510 2512 2494 2497
-f 2551 2482 2481
-f 2450 2449 2530 2529
-f 2545 2502 2431
-f 2559 2474 2553 2558
-f 2352 2529 2530 2347
-f 2521 2520 2446 2543
-f 2500 2503 2506 2505
-f 2496 2429 2426 2509
-f 2495 2493 2437 2548
-f 2556 2439 2488 2487 2557
-f 2443 2484 2550 2440
-f 2481 2480 2440 2551
-f 2474 2559 2475
-f 2517 2516 2560 2453
-f 2463 2508 2425 2468
-f 2458 2457 2526 2525
-f 2451 2450 2529 2528
-f 2436 2439 2556 2555
-f 2435 2434 2422 2539
-f 2431 2430 2546 2545
-f 2412 2407 2410 2413
-f 2396 2391 2394 2397
-f 2362 2359 2360 2363
-f 2324 2323 2421 2424 2325
-f 2537 2464 2463 2468
-f 2519 2461 2447
-f 2544 2545 2546 2547
-f 2323 2322 2537 2538
-f 2331 2333 2535 2536
-f 2342 2341 2448 2531
-f 2351 2355 2527 2528
-f 2361 2365 2460 2459
-f 2374 2373 2520 2521
-f 2381 2383 2516 2517
-f 2425 2508 2509 2426
-f 2496 2497 2498 2499
-f 2385 2389 2487 2488
-f 2404 2403 2480 2481
-f 2415 2417 2474 2475
-f 2463 2464 2465 2466
-f 2448 2449 2450 2451
-f 2433 2434 2435
-f 2419 2417 2418 2420
-f 2407 2408 2409 2410
-f 2391 2392 2393 2394
-f 2381 2379 2380 2382
-f 2371 2369 2370 2372
-f 2361 2362 2363 2364
-f 2351 2352 2353 2354
-f 2339 2337 2338 2340
-f 2331 2329 2330 2332
-f 2153 2170 2186 2200 2214 2229 2243 2258 2277 2292 2307 2154
-f 2172 2171 2124 2157
-f 2173 2172 2157 2319
-f 2230 2215 2313 2262
-f 2313 2315 2316 2314
-f 2278 2263 2312 2311
-f 2306 2152 2154 2307
-f 2302 2144 2146 2309 2303
-f 2298 2133 2136 2299
-f 2294 2308 2126 2295
-f 2288 2303 2304 2289
-f 2284 2299 2300 2285
-f 2280 2295 2296 2281
-f 2274 2289 2290 2275
-f 2270 2285 2286 2271
-f 2266 2281 2282 2267
-f 2256 2275 2276 2257
-f 2252 2271 2272 2253
-f 2247 2267 2268 2248
-f 2259 2260 2261 2262
-f 2239 2254 2255 2240
-f 2235 2250 2251 2236
-f 2231 2245 2246 2232
-f 2226 2240 2241 2227
-f 2221 2236 2237 2222
-f 2217 2232 2233 2218
-f 2212 2227 2228 2213
-f 2208 2222 2223 2209
-f 2204 2218 2219 2205
-f 2199 2213 2214 2200
-f 2195 2209 2210 2196
-f 2191 2205 2206 2192
-f 2187 2201 2202 2188
-f 2182 2196 2197 2183
-f 2178 2192 2193 2179
-f 2174 2188 2189 2175
-f 2167 2183 2184 2168
-f 2163 2179 2180 2164
-f 2159 2175 2176 2160
-f 2151 2169 2170 2153
-f 2143 2165 2166 2145
-f 2134 2161 2162 2137
-f 2123 2155 2156 2157 2124
-f 2146 2145 2147 2148
-f 2136 2138 2137 2139 2140
-f 2126 2127 2128 2129
-f 2099 2100 1702 1700
-f 2103 2104 1710 1708
-f 2027 2030 1722 1721
-f 2109 2110 1738 1736
-f 2036 2113 1748 1747
-f 2116 1944 1756 1754
-f 2056 2059 1770 1769
-f 2064 2118 1786 1785
-f 2092 2022 1796 1795
-f 1952 1991 2052 1996
-f 1954 1960 2018 1955
-f 2006 2079 2075 2007
-f 2119 2118 2066 2067
-f 2061 2058 1972 1976
-f 2117 1943 1997 2051
-f 2044 2041 2040 2045
-f 2046 1963 2039 2077
-f 2116 2115 1961 2070
-f 2037 2112 2097 2096 1958
-f 2109 2031 2015 2095
-f 2106 2029 1988 2089
-f 2025 2104 2071 2026
-f 2101 2100 2082 2081
-f 2022 2092 2009
-f 2043 1992 1951 1953
-f 2070 1961 1960 1954
-f 2074 2081 2080 2073
-f 2025 2024 1715 1712
-f 2037 2036 1747 1744
-f 2059 2058 1773 1770
-f 2068 2069 2091 2092 1795 1792
-f 2003 2013 2012 2004
-f 1991 1952 1951
-f 1936 1935 2067 2066
-f 2086 2023 2026 2018 2017
-f 1959 1961 1947 2035 2083
-f 2007 2075 2076 2008
-f 1940 1948 1938
-f 2066 1981 1977 1936
-f 1975 2060 2061 1976
-f 1937 2056 2057 1933
-f 1997 1943 1942 1995
-f 1966 1965 1964 1967
-f 2040 2041 2042 2043
-f 1994 1984 1983 1990
-f 1957 2036 2037 1958
-f 1989 2027 2028 1986
-f 2015 2016 2017 2018 1960 1959
-f 1998 1999 2000 2001
-f 1983 1984 1985
-f 1971 1972 1973
-f 1959 1960 1961
-f 1948 1940 1949 1950
-f 1933 1934 1935 1936 1937
-f 1892 1891 1819
-f 1915 1894 1893
-f 1929 1859 1858
-f 1813 1850 1849
-f 1864 1861 1810
-f 1873 1914 1799 1804
-f 1714 1903 1904 1711
-f 1832 1816 1819 1833
-f 1882 1842 1841 1884
-f 1873 1872 1912 1914
-f 1869 1868 1881 1882
-f 1863 1862 1883 1886
-f 1858 1857 1930 1929
-f 1855 1854 1923 1922
-f 1784 1849 1850 1779
-f 1845 1791 1876 1879
-f 1844 1843 1907 1906
-f 1838 1837 1908
-f 1827 1826 1905 1904
-f 1892 1819 1818
-f 1810 1809 1865 1864
-f 1805 1807 1913 1912
-f 1799 1798 1801 1804
-f 1776 1771 1774 1777
-f 1758 1755 1756 1759
-f 1720 1717 1718 1721
-f 1925 1926 1927 1928
-f 1900 1899 1828 1823
-f 1922 1923 1812
-f 1912 1913 1914
-f 1699 1701 1837 1836
-f 1707 1709 1905 1906
-f 1719 1902 1720
-f 1729 1731 1897 1898
-f 1739 1741 1817 1816
-f 1749 1751 1890 1891
-f 1883 1884 1841 1885
-f 1872 1873 1874 1875
-f 1862 1863 1864 1865
-f 1768 1767 1856 1815
-f 1784 1783 1848 1849
-f 1841 1842 1843 1844
-f 1828 1829 1830
-f 1812 1813 1814 1815
-f 1797 1798 1799 1800
-f 1787 1783 1786 1788
-f 1771 1772 1773 1774
-f 1757 1758 1759 1760
-f 1749 1745 1748 1750
-f 1739 1737 1738 1740
-f 1729 1727 1728 1730
-f 1717 1713 1716 1718
-f 1707 1705 1706 1708
-f 1699 1694 1693 1698 1700
-f 1160 1158 1145 1146
-f 1156 1157 1095 1081
-f 1151 1152 1137 1138
-f 1137 1139 994 1008
-f 1149 1141 1142 1155
-f 1146 1145 1108 1123
-f 1118 1133 1134 1119
-f 1114 1129 1130 1115
-f 1110 1125 1126 1111
-f 1105 1119 1120 1106
-f 1101 1115 1116 1102
-f 1097 1111 1112 1098
-f 1092 1106 1107 1093
-f 1088 1102 1103 1089
-f 1084 1098 1099 1085
-f 1143 1144 1157 1156
-f 1075 1089 1090 1076
-f 1071 1085 1086 1072
-f 1067 1081 1082 1068
-f 1062 1077 1078 1063
-f 1058 1073 1074 1059
-f 1054 1069 1070 1065 1055
-f 1049 1063 1064 1050
-f 1045 1059 1060 1046
-f 1041 1055 1056 1042
-f 1150 1149 1052 1038
-f 1031 1036 1046 1047 1032
-f 1027 1042 1043 1028
-f 1023 1038 1039 1024
-f 1018 1032 1033 1019
-f 1014 1028 1029 1015
-f 1010 1024 1025 1011
-f 1005 1019 1020 1006
-f 1001 1015 1016 1002
-f 997 1011 1012 998
-f 992 1006 1007 993
-f 988 1002 1003 989
-f 984 998 999 985
-f 1153 1154 995 981
-f 975 990 991 976
-f 971 986 987 972
-f 967 982 983 968
-f 1134 976 977 1135
-f 1130 972 973 1131
-f 1127 1126 963 968 969 964
-f 960 806 805 961 772 771
-f 813 815 767 768
-f 823 826 761 763
-f 832 836 756 758
-f 842 846 751 753
-f 856 855 747 746
-f 863 865 742 743
-f 906 905 736 735
-f 921 923 727 728
-f 803 802 723 722
-f 945 946 947 948
-f 785 784 939 940
-f 958 957 933 934
-f 925 923 924 926
-f 909 910 911 912
-f 895 896 897 898
-f 953 952 885 886
-f 876 873 874 875
-f 863 861 862 864
-f 852 850 851 853 854
-f 842 843 844 845
-f 832 833 834 835
-f 819 820 821 822
-f 813 811 812 814
-f 802 803 804
-f 795 794 791 792
-f 864 862 784 785
-f 816 814 935 779
-f 819 823 763 765
-f 852 856 746 748
-f 905 910 733 736
-f 927 878 951 803 722 725
-f 955 954 881 884
-f 946 945 791
-f 944 798 926 924
-f 783 824 822 939 937
-f 781 862 860 936 782
-f 934 933 808 807
-f 931 870 869
-f 924 922 787 944
-f 915 914 909 912
-f 907 906 901 904
-f 897 896 891 894
-f 890 889 887 888
-f 885 952 796 795
-f 880 879 775 778
-f 857 856 852 854
-f 831 830 825 828
-f 844 841 937 939 784 781
-f 799 949 877 882
-f 775 879 930
-f 788 911 908
-f 781 784 862
-f 870 931 932 872
-f 904 773 798 944 907
-f 636 634 708
-f 697 640 637
-f 720 594 591
-f 707 574 572
-f 600 597 546
-f 613 694 535 540
-f 671 670 672 675
-f 647 645 708 558
-f 621 620 622 623
-f 613 612 695 694
-f 607 608 618 621
-f 603 602 627 626
-f 591 590 721 720
-f 583 582 704 706
-f 573 572 574 577
-f 564 567 616 615
-f 562 715 678 676
-f 559 682 680
-f 555 554 673 672
-f 636 708 551
-f 546 549 601 600
-f 545 544 693 695
-f 535 538 541 540
-f 580 585 734 731
-f 598 629 742 740
-f 664 669 762 759
-f 718 719 716 717
-f 659 657 711 553
-f 706 704 705
-f 695 693 694
-f 685 683 682 684
-f 677 674 673 676
-f 665 663 664
-f 656 654 653 655
-f 646 644 643 645
-f 635 633 632 634
-f 627 623 622 624
-f 612 613 610 611
-f 602 603 600 601
-f 588 589 586 587
-f 573 571 570 572
-f 622 620 715 562
-f 711 556 557
-f 705 707 550 587
-f 537 538 535 536
-f 569 571 727 726
-f 585 584 733 734
-f 599 598 740 741
-f 635 639 747 745
-f 646 648 751 750
-f 656 658 756 755
-f 669 668 761 762
-f 677 679 767 766
-f 685 689 533 772 770
-f 683 685 770 769
-f 674 677 766 764
-f 665 664 759 760
-f 654 656 755 754
-f 644 646 750 749
-f 633 635 745 744
-f 595 599 741 739
-f 581 580 731 732
-f 566 569 726 724
-f 541 542 539 540
-f 645 643 551 708
-f 649 647 558 712
-f 566 567 564 565
-f 576 577 574 575
-f 592 593 590 591
-f 605 602 601 604
-f 616 617 614 615
-f 626 627 624 625
-f 639 635 634 636
-f 648 646 645 647
-f 658 656 655 657
-f 668 669 666 667
-f 679 677 676 678
-f 689 685 684 686
-f 643 641 640 697 551
-f 575 574 707
-f 650 649 712 713
-f 718 717 720 721
-f 661 665 760 757
-f 592 595 739 737
-f 576 581 732 729
-f 536 535 694 693
-f 543 545 617 616
-f 547 546 597 596
-f 711 670 667 553
-f 556 711 657 655
-f 715 620 619 714 559
-f 676 673 554 563 562
-f 565 564 719 718
-f 576 575 578 581
-f 584 583 586 589
-f 592 591 594 595
-f 627 602 605 623
-f 699 609 606 702
-f 611 610 701 700
-f 626 625 628 629
-f 651 650 653 654
-f 688 687 690 692
-f 687 560 536 693 544 690
-f 700 703 548 716 614 611
-f 575 707 705 578
-f 702 606 604
-f 709 563 554
-f 603 626 629 598
-f 869 866 931
-f 791 945 792
-f 871 873 887 889
-f 790 915 912
-f 828 942 834 831
-f 793 955 884
-f 929 798 773 776
-f 834 833 829 831
-f 858 857 797 943
-f 883 882 877 880
-f 953 886 876 956
-f 893 890 792 945
-f 898 947 777 774 900
-f 908 907 789 788
-f 916 915 790 789
-f 929 926 798
-f 866 864 785 931
-f 875 780 933 957
-f 938 937 841 839
-f 942 941 835 834
-f 947 946 778 777
-f 951 950 804 803
-f 952 955 793 796
-f 917 921 728 730
-f 901 906 735 738
-f 840 843 752 754
-f 802 806 960 771 723
-f 810 808 933 780
-f 860 786 936
-f 793 794 795 796
-f 805 806 807 808
-f 815 813 814 816
-f 826 823 824 827
-f 836 832 835 837
-f 846 842 845 847
-f 855 856 857 858
-f 865 863 864 866
-f 875 957 956 876
-f 887 886 885 888
-f 899 895 898 900
-f 913 914 915 916
-f 928 925 926 929
-f 810 780 935 812
-f 828 827 941 942
-f 949 950 951
-f 928 927 725 724
-f 918 917 730 729
-f 902 901 738 737
-f 861 863 743 744
-f 850 852 748 749
-f 843 842 753 752
-f 833 832 758 757
-f 820 819 765 764
-f 811 813 768 769
-f 1123 965 1148 1146
-f 1128 1127 964 969 970 962
-f 1131 973 974 1132
-f 1135 977 978 1136
-f 968 983 984 969
-f 972 987 988 973
-f 976 991 992 977
-f 981 995 996 982
-f 985 999 1000 986
-f 989 1003 1004 990
-f 1154 1152 1009 995
-f 998 1012 1013 999
-f 1002 1016 1017 1003
-f 1006 1020 1021 1007
-f 1011 1025 1026 1012
-f 1015 1029 1030 1016
-f 1019 1033 1034 1020
-f 1024 1039 1040 1025
-f 1028 1043 1044 1029
-f 1032 1047 1048 1033
-f 1038 1052 1053 1039
-f 1042 1056 1057 1043
-f 1046 1060 1061 1047
-f 1149 1155 1067 1052
-f 1055 1065 1070 1071 1056
-f 1059 1074 1075 1060
-f 1063 1078 1079 1064
-f 1068 1082 1083 1069
-f 1072 1086 1087 1073
-f 1076 1090 1091 1077
-f 1081 1095 1096 1082
-f 1085 1099 1100 1086
-f 1089 1103 1104 1090
-f 1144 1145 1158 1157
-f 1098 1112 1113 1099
-f 1102 1116 1117 1103
-f 1106 1120 1121 1107
-f 1111 1126 1127 1112
-f 1115 1130 1131 1116
-f 1119 1134 1135 1120
-f 1145 1144 1094 1108
-f 1141 1147 1037 1051
-f 1139 1140 980 994
-f 1152 1154 1139 1137
-f 1157 1158 1109 1095
-f 1080 1066 1051 1037 1022 1008 994 980 979 965 1123 1108 1094
-f 1701 1699 1700 1702
-f 1709 1707 1708 1710
-f 1719 1720 1721 1722
-f 1731 1729 1730 1732
-f 1741 1739 1740 1742
-f 1751 1749 1750 1752
-f 1761 1757 1760 1762
-f 1775 1776 1777 1778
-f 1789 1787 1788 1790
-f 1801 1802 1803 1804
-f 1816 1817 1818 1819
-f 1831 1832 1833 1834
-f 1789 1791 1845 1846
-f 1780 1779 1850 1851
-f 1764 1763 1857 1858
-f 1866 1862 1865 1867
-f 1876 1877 1878 1879
-f 1886 1883 1885 1887
-f 1745 1749 1891 1892
-f 1737 1739 1816 1832
-f 1727 1729 1898 1899
-f 1713 1717 1821 1820
-f 1705 1707 1906 1907
-f 1694 1699 1836 1909
-f 1817 1895 1894 1915 1818
-f 1851 1850 1813
-f 1896 1831 1834 1924
-f 1925 1928 1929 1930
-f 1724 1719 1722 1725
-f 1764 1761 1762 1765
-f 1780 1775 1778 1781
-f 1800 1799 1914 1913
-f 1806 1805 1877 1876
-f 1811 1810 1861 1860
-f 1828 1903 1820 1823
-f 1829 1828 1899 1898
-f 1843 1842 1880 1835 1838
-f 1906 1905 1826 1932 1844
-f 1846 1845 1926 1925
-f 1780 1851 1852 1775
-f 1772 1855 1856 1767
-f 1764 1858 1859 1761
-f 1883 1862 1866 1884
-f 1919 1871 1870 1920
-f 1875 1874 1917 1916
-f 1886 1887 1888 1755
-f 1734 1896 1897 1731
-f 1695 1910 1911 1793
-f 1910 1839 1800 1913 1807 1911
-f 1916 1921 1808 1927 1878 1875
-f 1851 1813 1812 1852
-f 1920 1870 1867
-f 1825 1932 1826
-f 1863 1886 1755 1758
-f 1938 1939 1940
-f 1951 1952 1953
-f 1962 1963 1964 1965
-f 1974 1975 1976
-f 1986 1987 1988 1989
-f 2002 2003 2004
-f 2019 1935 1934 2020
-f 1988 2029 2030 1989
-f 1945 1957 1956 2038
-f 1993 2001 2000 1994
-f 2044 2045 2046 2047
-f 2048 1966 1953 1952
-f 2051 2052 2053 1968 1970
-f 1973 1937 1980 1971
-f 1979 1975 1974 1980
-f 2019 2067 1935
-f 1939 2070 1954 1940
-f 2077 2078 2075 2079
-f 2084 2017 2016 2085
-f 1987 2088 2089 1988
-f 2052 1991 1990 2053
-f 2091 2010 2009 2092
-f 2041 2003 2002 2042
-f 2065 2064 1785 1782
-f 2057 2056 1769 1766
-f 2032 2031 1735 1732
-f 2022 2021 2093 1697 1796
-f 2094 2076 2075 2078
-f 1947 1946 2035
-f 2002 1992 2043 2042
-f 2098 2021 2008 2076
-f 2102 2101 2081 2074
-f 2105 2024 2023 2090
-f 2107 2106 2089 2087
-f 2110 2109 2095 2034
-f 2113 2036 1957 1945
-f 1944 2116 2070 1939
-f 2077 2079 2047 2046
-f 1964 2045 2040 1967
-f 2055 2117 2051 1970
-f 2063 2060 1975 1979
-f 2120 2119 2067 2019
-f 2094 2078 2080 2082
-f 1986 2090 2088 1987
-f 1999 2010 2091
-f 2120 2068 1792 1790
-f 2062 2065 1782 1781
-f 2054 2057 1766 1765
-f 2115 2116 1754 1752
-f 2112 2037 1744 1742
-f 2031 2109 1736 1735
-f 2105 2028 1718 1716
-f 2102 2103 1708 1706
-f 2121 2098 2099 1700 1698
-f 2130 2129 2128 2131 2132
-f 2140 2139 2141 2142
-f 2148 2147 2149 2150
-f 2127 2158 2159 2128
-f 2137 2162 2163 2139
-f 2145 2166 2167 2147
-f 2127 2171 2172 2158
-f 2160 2176 2177 2161
-f 2164 2180 2181 2165
-f 2168 2184 2185 2169
-f 2175 2189 2190 2176
-f 2179 2193 2194 2180
-f 2183 2197 2198 2184
-f 2188 2202 2203 2189
-f 2192 2206 2207 2193
-f 2196 2210 2211 2197
-f 2201 2215 2216 2202
-f 2205 2219 2220 2206
-f 2209 2223 2224 2225 2210
-f 2213 2228 2229 2214
-f 2218 2233 2234 2219
-f 2222 2237 2238 2223
-f 2227 2241 2242 2228
-f 2232 2246 2247 2233
-f 2236 2251 2252 2237
-f 2240 2255 2256 2241
-f 2261 2263 2264 2244
-f 2248 2268 2269 2250
-f 2253 2272 2273 2254
-f 2257 2276 2277 2258
-f 2267 2282 2283 2268
-f 2271 2286 2287 2272
-f 2275 2290 2291 2276
-f 2281 2296 2297 2282
-f 2285 2300 2301 2286
-f 2289 2304 2305 2290
-f 2295 2126 2129 2296
-f 2299 2136 2140 2300
-f 2303 2309 2146 2148 2304
-f 2308 2171 2127 2126
-f 2263 2261 2260 2312
-f 2315 2317 2318 2316
-f 2215 2201 2315 2313
-f 2244 2264 2265 2245
-f 2171 2308 2125 2124
-f 2321 2322 2323 2324 2325 2326
-f 2333 2331 2332 2334
-f 2341 2342 2343 2344
-f 2355 2351 2354 2356
-f 2365 2361 2364 2366
-f 2373 2374 2375 2376
-f 2383 2381 2382 2384
-f 2395 2396 2397 2398
-f 2411 2412 2413 2414
-f 2421 2422 2423 2424
-f 2436 2437 2438 2439
-f 2452 2453 2454 2455
-f 2425 2428 2467 2468
-f 2411 2415 2475 2476
-f 2400 2399 2482 2483
-f 2386 2385 2488 2489
-f 2430 2429 2496 2499
-f 2510 2509 2508 2470
-f 2379 2381 2517 2518
-f 2445 2369 2371 2522 2523
-f 2362 2361 2459 2524
-f 2352 2351 2528 2529
-f 2337 2339 2532 2533
-f 2329 2331 2536 2465
-f 2421 2539 2422
-f 2544 2547 2548 2549
-f 2518 2517 2453 2452
-f 2536 2535 2471 2466
-f 2342 2339 2340 2343
-f 2374 2371 2372 2375
-f 2400 2395 2398 2401
-f 2422 2434 2504 2419 2420 2423
-f 2432 2431 2502 2501
-f 2436 2549 2437
-f 2559 2442 2476 2475
-f 2532 2531 2456 2458 2455
-f 2519 2518 2552 2462 2461
-f 2468 2467 2538 2537
-f 2560 2515 2513
-f 2477 2476 2442 2441
-f 2404 2481 2482 2399
-f 2396 2443 2485 2391
-f 2386 2489 2492 2491
-f 2494 2495 2498 2497
-f 2430 2499 2547 2546
-f 2507 2506 2555 2554
-f 2374 2521 2522 2371
-f 2348 2530 2449 2345
-f 2455 2458 2525 2524 2552 2452
-f 2433 2540 2500 2505
-f 2554 2473 2507
-f 2550 2484 2483
-f 2552 2518 2452
-f 2560 2513 2469 2472
-f 2559 2558 2485 2443 2442
-f 2573 2574 2575
-f 2584 2585 2586
-f 2596 2597 2598
-f 2605 2609 2610
-f 2623 2624 2625
-f 2639 2640 2641 2642
-f 2651 2652 2653 2654
-f 2661 2662 2663 2574
-f 2667 2591 2590 2578
-f 2629 2640 2639 2626
-f 2673 2592 2591 2674
-f 2677 2570 2569 2678
-f 2561 2597 2596 2562
-f 2604 2600 2599 2602
-f 2609 2692 2693 2610
-f 2696 2613 2612 2697
-f 2701 2577 2700 2702
-f 2708 2709 2710
-f 2583 2646 2654 2699
-f 2573 2666 2574
-f 2580 2624 2623 2676
-f 2638 2627 2626 2633
-f 2675 2642 2641 2672
-f 2689 2688 2405 2402
-f 2572 2571 2387 2384
-f 2656 2655 2349 2346
-f 2611 2648 2681 2618
-f 2715 2717 2716 2714
-f 2599 2608 2602
-f 2626 2639 2633
-f 2728 2727 2722 2710
-f 2732 2731 2700 2699
-f 2658 2655 2617
-f 2660 2736 2713 2644
-f 2740 2739 2661 2725
-f 2743 2742 2575 2589
-f 2590 2678 2576 2578
-f 2640 2629 2621 2632
-f 2570 2677 2676 2623
-f 2687 2684 2565 2601
-f 2746 2692 2609 2694
-f 2667 2578 2577 2701
-f 2714 2645 2712
-f 2605 2608 2565 2564
-f 2675 2707 2634 2642
-f 2746 2747 2416 2414
-f 2686 2689 2402 2401
-f 2571 2745 2388 2387
-f 2741 2742 2378 2376
-f 2738 2739 2368 2366
-f 2735 2736 2358 2356
-f 2732 2653 2340 2338
-f 2728 2729 2332 2330
-f 2750 2751 2752 2753
-f 2764 2761 2763 2762 2765 2766
-f 2772 2771 2773 2774
-f 2780 2779 2781 2782
-f 2759 2788 2789 2762
-f 2769 2792 2793 2771
-f 2777 2796 2797 2779
-f 2786 2802 2803 2787
-f 2790 2806 2807 2791
-f 2794 2810 2811 2795
-f 2801 2815 2816 2802
-f 2805 2819 2820 2806
-f 2809 2823 2824 2810
-f 2813 2827 2828 2814
-f 2818 2832 2833 2819
-f 2822 2836 2837 2823
-f 2826 2840 2841 2827
-f 2831 2845 2846 2832
-f 2835 2849 2850 2836
-f 2839 2854 2855 2840
-f 2844 2859 2860 2845
-f 2848 2863 2864 2849
-f 2852 2867 2868 2854
-f 2858 2872 2873 2859
-f 2862 2877 2876 2878 2863
-f 2866 2881 2882 2867
-f 2870 2885 2886 2871
-f 2874 2894 2895 2875
-f 2879 2898 2899 2880
-f 2883 2902 2903 2884
-f 2893 2908 2909 2894
-f 2897 2912 2913 2898
-f 2901 2916 2917 2902
-f 2906 2921 2922 2907
-f 2911 2926 2927 2912
-f 2915 2930 2931 2916
-f 2919 2934 2935 2920
-f 2925 2758 2761 2926
-f 2929 2770 2772 2930
-f 2933 2778 2780 2934
-f 2921 2906 2939 2938
-f 2890 2941 2942 2887
-f 2947 2785 2784 2948
-f 2815 2801 2947 2945
-f 2907 2922 2923 2908
-f 2940 2888 2887 2942 2944 2946 2948 2784 2783 2751 2750 2938 2939
-f 2799 2936 2753 2752
-f 2872 2892 2893 2873
-f 2843 2829 2943 2941
-f 2943 2945 2946 2944
-f 2891 2889 2888 2940
-f 2936 2799 2755 2754
-f 2931 2937 2774 2776 2932
-f 2927 2764 2768 2928
-f 2923 2754 2757 2924
-f 2917 2932 2933 2918
-f 2913 2928 2929 2914
-f 2909 2924 2925 2910
-f 2903 2918 2919 2904
-f 2899 2914 2915 2900
-f 2895 2910 2911 2896
-f 2885 2904 2905 2886
-f 2881 2900 2901 2882
-f 2876 2896 2897 2878
-f 2889 2891 2892 2872
-f 2868 2883 2884 2869
-f 2864 2879 2880 2865
-f 2860 2874 2875 2861
-f 2855 2869 2870 2856
-f 2850 2865 2866 2851
-f 2846 2861 2862 2847
-f 2841 2856 2857 2842
-f 2837 2851 2852 2853 2838
-f 2833 2847 2848 2834
-f 2829 2843 2844 2830
-f 2824 2838 2839 2825
-f 2820 2834 2835 2821
-f 2816 2830 2831 2817
-f 2811 2825 2826 2812
-f 2807 2821 2822 2808
-f 2803 2817 2818 2804
-f 2796 2812 2813 2797
-f 2792 2808 2809 2793
-f 2788 2804 2805 2789
-f 2755 2799 2800 2786
-f 2773 2794 2795 2775
-f 2765 2790 2791 2767
-f 2755 2786 2787 2756
-f 2776 2775 2777 2778
-f 2768 2767 2769 2770
-f 2758 2757 2756 2759 2760
-f 2749 2726 2727 2328 2326
-f 2730 2731 2336 2334
-f 2733 2656 2346 2344
-f 2659 2737 2364 2363
-f 2740 2665 2372 2370
-f 2743 2744 2382 2380
-f 2682 2685 2394 2393
-f 2690 2693 2410 2409
-f 2748 2696 2420 2418
-f 2627 2638 2719
-f 2614 2718 2716 2615
-f 2722 2706 2708 2710
-f 2748 2747 2695 2647
-f 2691 2688 2603 2607
-f 2683 2745 2679 2598
-f 2592 2673 2668 2595
-f 2705 2707 2675 2674
-f 2572 2744 2698 2567
-f 2741 2664 2585 2573
-f 2738 2737 2723 2662
-f 2735 2734 2717 2715
-f 2733 2652 2651 2718
-f 2730 2729 2709 2702
-f 2726 2649 2636 2704
-f 2630 2620 2671 2670
-f 2575 2574 2663
-f 2722 2704 2703 2706
-f 2650 2649 2721 2325 2424
-f 2660 2659 2363 2360
-f 2685 2684 2397 2394
-f 2693 2692 2413 2410
-f 2669 2631 2630 2670
-f 2719 2638 2637 2720
-f 2680 2619 2618 2681
-f 2615 2716 2717 2616
-f 2712 2645 2644 2713
-f 2705 2706 2703 2707
-f 2567 2698 2582 2568
-f 2647 2695 2563
-f 2607 2603 2602 2608
-f 2601 2565 2608 2599
-f 2679 2680 2681 2596 2598
-f 2676 2594 2581 2580
-f 2672 2673 2674 2675
-f 2621 2629 2628 2622
-f 2573 2585 2584 2666
-f 2616 2657 2658 2617
-f 2647 2563 2562 2648
-f 2630 2631 2632
-f 2614 2615 2616 2617
-f 2602 2603 2604
-f 2590 2591 2592 2593
-f 2579 2580 2581
-f 2566 2567 2568
-f 2491 2514 2383 2386
-f 2453 2560 2454
-f 2548 2498 2495
-f 2479 2441 2440 2480
-f 2544 2549 2436 2555 2506 2503
-f 2538 2467 2428 2541 2435 2539
-f 2323 2538 2539 2421
-f 2362 2524 2525 2359
-f 2514 2515 2516 2383
-f 2503 2502 2545 2544
-f 2547 2499 2498 2548
-f 2511 2490 2494 2512
-f 2392 2486 2487 2389
-f 2400 2483 2484 2395
-f 2408 2479 2480 2403
-f 2474 2473 2554 2553
-f 2534 2533 2454 2560 2472
-f 2471 2470 2508 2463 2466
-f 2457 2456 2527 2526
-f 2456 2531 2448 2451
-f 2439 2438 2489 2488
-f 2434 2433 2505 2504
-f 2428 2427 2542 2541
-f 2408 2403 2406 2409
-f 2392 2389 2390 2393
-f 2352 2347 2350 2353
-f 2553 2556 2557 2558
-f 2524 2459 2462 2552
-f 2479 2478 2441
-f 2445 2523 2522 2543 2446
-f 2322 2327 2464 2537
-f 2333 2335 2534 2535
-f 2341 2345 2449 2448
-f 2355 2357 2526 2527
-f 2365 2367 2444 2460
-f 2373 2377 2519 2520
-f 2514 2511 2513 2515
-f 2504 2505 2506 2507
-f 2494 2490 2493 2495
-f 2392 2391 2485 2486
-f 2408 2407 2478 2479
-f 2417 2419 2473 2474
-f 2459 2460 2461 2462
-f 2444 2445 2446 2447
-f 2429 2430 2431 2432
-f 2417 2415 2416 2418
-f 2403 2404 2405 2406
-f 2389 2385 2388 2390
-f 2379 2377 2378 2380
-f 2369 2367 2368 2370
-f 2359 2357 2358 2360
-f 2347 2348 2349 2350
-f 2337 2335 2336 2338
-f 2329 2327 2328 2330
-f 2312 2260 2259 2314 2316 2318 2320 2156 2155 2123 2122 2310 2311
-f 2279 2294 2295 2280
-f 2187 2173 2319 2317
-f 2319 2157 2156 2320
-f 2262 2313 2314 2259
-f 2293 2278 2311 2310
-f 2305 2150 2152 2306
-f 2301 2142 2144 2302
-f 2297 2130 2133 2298
-f 2291 2306 2307 2292
-f 2287 2302 2303 2288
-f 2283 2298 2299 2284
-f 2278 2293 2294 2279
-f 2273 2288 2289 2274
-f 2269 2284 2285 2270
-f 2265 2280 2281 2266
-f 2255 2274 2275 2256
-f 2251 2270 2271 2252
-f 2246 2266 2267 2247
-f 2242 2257 2258 2243
-f 2238 2253 2254 2239
-f 2234 2249 2248 2250 2235
-f 2230 2244 2245 2231
-f 2224 2239 2240 2226
-f 2220 2235 2236 2221
-f 2216 2231 2232 2217
-f 2211 2226 2227 2212
-f 2207 2221 2222 2208
-f 2203 2217 2218 2204
-f 2198 2212 2213 2199
-f 2194 2208 2209 2195
-f 2190 2204 2205 2191
-f 2185 2199 2200 2186
-f 2181 2195 2196 2182
-f 2177 2191 2192 2178
-f 2173 2187 2188 2174
-f 2166 2182 2183 2167
-f 2162 2178 2179 2163
-f 2158 2174 2175 2159
-f 2149 2168 2169 2151
-f 2141 2164 2165 2143
-f 2131 2160 2161 2134
-f 2152 2151 2153 2154
-f 2144 2143 2145 2146
-f 2136 2133 2135 2134 2137 2138
-f 2122 2123 2124 2125
-f 2100 2101 1704 1702
-f 2104 2025 1712 1710
-f 2107 2108 1730 1728
-f 2110 2111 1740 1738
-f 2113 2114 1750 1748
-f 1943 2117 1760 1759
-f 2058 2061 1774 1773
-f 2118 2119 1788 1786
-f 2047 2079 2006 2014
-f 1977 1980 1937 1936
-f 2086 2017 2084
-f 2039 1950 1949 2073
-f 2118 2064 1981 2066
-f 2059 2056 1937 1973
-f 1942 2049 2048 1995
-f 2012 2001 1993 2004
-f 1962 2050 1948 1950
-f 2115 2114 1947 1961
-f 2112 2111 2033 2097
-f 2032 2108 2085 2016
-f 2030 2027 1989
-f 2104 2103 2072 2071
-f 2100 2099 2094 2082
-f 1998 2011 2005
-f 1971 1980 1974
-f 2087 2089 2088 2086
-f 1983 2020 2053 1990
-f 2028 2027 1721 1718
-f 1944 1943 1759 1756
-f 2061 2060 1777 1774
-f 2047 2014 2013 2044
-f 2010 1999 1998 2005
-f 1952 1996 1995 2048
-f 1945 2038 1946
-f 1955 2018 2026 2071
-f 2080 2081 2082
-f 2073 1949 2072 2074
-f 2068 1985 1984 2069
-f 1981 2064 2065 1982
-f 1976 1972 1971 1974
-f 1933 1969 1968 1934
-f 2049 1942 1941 2050
-f 2045 1964 1963 2046
-f 2001 2012 2011 1998
-f 2039 1963 1962 1950
-f 2033 2034 2035 1946
-f 2023 2024 2025 2026
-f 2011 2012 2013 2014
-f 1995 1996 1997
-f 1977 1981 1982
-f 1968 1969 1970
-f 1956 1957 1958
-f 1945 1946 1947
-f 1931 1930 1857 1815 1814
-f 1932 1885 1841 1844
-f 1924 1890 1824
-f 1922 1856 1855
-f 1926 1845 1879
-f 1805 1912 1872 1877
-f 1827 1830 1897 1896 1924 1824
-f 1720 1902 1821 1717
-f 1746 1893 1894 1743
-f 1879 1878 1927 1926
-f 1802 1871 1919 1918
-f 1866 1867 1870 1869
-f 1758 1861 1864 1863
-f 1768 1815 1857 1763
-f 1776 1853 1854 1771
-f 1849 1848 1814 1813
-f 1932 1887 1885
-f 1840 1839 1910 1909
-f 1891 1890 1924 1834 1833
-f 1904 1903 1828 1830 1827
-f 1931 1814 1848 1847
-f 1808 1921 1809
-f 1804 1803 1874 1873
-f 1794 1806 1876 1791 1792 1795
-f 1772 1767 1770 1773
-f 1746 1743 1744 1747
-f 1714 1711 1712 1715
-f 1908 1907 1843 1838
-f 1890 1889 1825 1824
-f 1916 1919 1920 1921
-f 1793 1911 1794
-f 1701 1703 1908 1837
-f 1709 1711 1904 1905
-f 1724 1723 1900 1901
-f 1734 1733 1831 1896
-f 1817 1741 1743 1894 1895
-f 1751 1753 1889 1890
-f 1882 1881 1880 1842
-f 1802 1801 1868 1871
-f 1758 1757 1860 1861
-f 1772 1771 1854 1855
-f 1783 1787 1847 1848
-f 1797 1800 1839 1840
-f 1824 1825 1826 1827
-f 1808 1809 1810 1811
-f 1793 1794 1795 1796
-f 1783 1784 1785 1786
-f 1767 1768 1769 1770
-f 1755 1753 1754 1756
-f 1745 1746 1747 1748
-f 1737 1733 1736 1738
-f 1727 1723 1726 1728
-f 1713 1714 1715 1716
-f 1705 1703 1704 1706
-f 1693 1694 1695 1696 1697 1698
-f 1159 1160 1146 1148
-f 1155 1156 1081 1067
-f 1150 1151 1138 1147
-f 1138 1137 1008 1022
-f 1143 1142 1066 1080
-f 1160 1159 966 1124
-f 1117 1122 1132 1133 1118
-f 1113 1128 1129 1114
-f 1109 1124 1125 1110
-f 1104 1118 1119 1105
-f 1100 1114 1115 1101
-f 1096 1110 1111 1097
-f 1091 1105 1106 1092
-f 1087 1101 1102 1088
-f 1083 1097 1098 1084
-f 1078 1092 1093 1079
-f 1074 1088 1089 1075
-f 1070 1084 1085 1071
-f 1142 1143 1156 1155
-f 1061 1076 1077 1062
-f 1057 1072 1073 1058
-f 1053 1068 1069 1054
-f 1048 1062 1063 1049
-f 1044 1058 1059 1045
-f 1040 1054 1055 1041
-f 1034 1049 1050 1035
-f 1030 1045 1046 1036 1031
-f 1026 1041 1042 1027
-f 1151 1150 1038 1023
-f 1017 1031 1032 1018
-f 1013 1027 1028 1014
-f 1009 1023 1024 1010
-f 1004 1018 1019 1005
-f 1000 1014 1015 1001
-f 996 1010 1011 997
-f 991 1005 1006 992
-f 987 1001 1002 988
-f 983 997 998 984
-f 966 1159 1153 981
-f 974 989 990 975
-f 970 985 986 971
-f 966 981 982 967
-f 1133 975 976 1134
-f 1129 971 972 1130
-f 1126 1125 967 968 963
-f 961 805 809 770 772
-f 815 817 766 767
-f 826 825 762 761
-f 836 838 755 756
-f 846 848 750 751
-f 855 859 745 747
-f 896 895 741 740
-f 910 909 734 733
-f 923 925 726 727
-f 956 957 958 959
-f 787 789 907 944
-f 783 937 938
-f 874 872 932 779
-f 923 921 922 924
-f 905 906 907 908
-f 891 892 893 894
-f 881 882 883 884
-f 871 867 870 872
-f 861 859 860 862
-f 850 848 849 851
-f 840 838 839 841
-f 829 830 831
-f 820 817 818 821
-f 811 809 810 812
-f 799 800 801
-f 788 789 790
-f 837 835 941 783
-f 775 776 777 778
-f 825 830 759 762
-f 865 896 740 742
-f 909 914 731 734
-f 956 959 954 953
-f 950 949 799 801
-f 945 948 894 893
-f 858 943 786
-f 940 939 822 821
-f 935 814 812
-f 779 932 818 816
-f 927 930 879 878
-f 922 921 917 920
-f 912 911 788 790
-f 904 903 774 773
-f 892 891 868 867
-f 886 887 873 876
-f 882 881 800 799
-f 874 873 871 872
-f 849 847 936 786
-f 824 823 819 822
-f 800 881 954 959
-f 894 948 897
-f 787 922 920
-f 774 903 900
-f 797 857 854
-f 858 786 860
-f 696 721 590 587 550
-f 563 624 622 562
-f 713 632 710
-f 706 586 583
-f 719 564 615
-f 545 695 612 617
-f 555 557 653 650 713 710
-f 664 663 666 669
-f 638 637 640 642
-f 615 614 716 719
-f 542 609 699 698
-f 605 604 606 607
-f 598 597 600 603
-f 588 587 590 593
-f 580 579 582 585
-f 572 570 550 707
-f 563 625 624
-f 561 560 687 686
-f 634 632 713 712 558
-f 672 670 711 557 555
-f 696 550 570 568
-f 548 703 549
-f 540 539 610 613
-f 691 543 616 567 725 722
-f 584 589 736 733
-f 638 642 748 746
-f 671 675 765 763
-f 680 678 715 559
-f 632 630 709 710
-f 700 699 702 703
-f 692 690 691
-f 683 681 680 682
-f 674 675 672 673
-f 661 662 659 660
-f 651 652 649 650
-f 643 644 642 640 641
-f 633 631 630 632
-f 621 618 619 620
-f 542 541 608 609
-f 598 599 596 597
-f 584 585 582 583
-f 571 569 568 570
-f 537 536 560 561
-f 710 709 554 555
-f 548 549 546 547
-f 692 691 722 723
-f 571 573 728 727
-f 589 588 735 736
-f 629 631 743 742
-f 639 638 746 747
-f 648 652 753 751
-f 658 662 758 756
-f 668 671 763 761
-f 679 681 768 767
-f 533 689 688 534 771 772
-f 681 683 769 768
-f 675 674 764 765
-f 662 661 757 758
-f 652 651 752 753
-f 642 644 749 748
-f 631 633 744 743
-f 593 592 737 738
-f 577 576 729 730
-f 567 566 724 725
-f 545 543 544
-f 667 666 552 553
-f 714 684 682 559
-f 569 566 565 568
-f 580 581 578 579
-f 599 595 594 596
-f 608 607 606 609
-f 537 619 618 538
-f 631 629 628 630
-f 638 639 636 637
-f 652 648 647 649
-f 662 658 657 659
-f 671 668 667 670
-f 681 679 678 680
-f 688 689 686 687
-f 700 701 698 699
-f 634 558 708
-f 686 684 714 561
-f 534 688 692 723 771
-f 651 654 754 752
-f 588 593 738 735
-f 573 577 730 728
-f 539 542 698 701
-f 544 543 691 690
-f 548 547 717 716
-f 553 552 660 659
-f 557 556 655 653
-f 714 619 537 561
-f 630 628 563 709
-f 565 696 568
-f 579 578 705 704
-f 587 586 706 705
-f 717 547 596 594 720
-f 604 601 549 702
-f 608 541 538 618
-f 612 611 614 617
-f 637 636 551 697
-f 661 660 663 665
-f 696 565 718 721
-f 701 610 539
-f 552 666 663 660
-f 704 582 579
-f 621 623 605 607
-f 703 702 549
-f 625 563 628
-f 868 891 896 865
-f 785 940 931
-f 792 890 888
-f 787 919 916 789
-f 778 946 791 794 883 880
-f 801 958 934 807 804 950
-f 807 806 802 804
-f 844 843 840 841
-f 869 868 865 866
-f 884 883 794 793
-f 885 795 792 888
-f 892 867 871 889
-f 903 902 899 900
-f 911 910 905 908
-f 919 918 913 916
-f 930 929 776 775
-f 940 821 818 932 931
-f 875 874 779 935 780
-f 783 938 839 837
-f 824 783 941 827
-f 948 947 898 897
-f 949 951 878 877
-f 959 958 801 800
-f 913 918 729 732
-f 899 902 737 739
-f 829 833 757 760
-f 777 776 773 774
-f 845 844 781 782
-f 919 787 920
-f 854 853 851 943 797
-f 809 805 808 810
-f 817 815 816 818
-f 825 826 827 828
-f 838 836 837 839
-f 848 846 847 849
-f 859 855 858 860
-f 867 868 869 870
-f 877 878 879 880
-f 892 889 890 893
-f 901 902 903 904
-f 917 918 919 920
-f 927 928 929 930
-f 847 845 782 936
-f 851 849 786 943
-f 952 953 954 955
-f 925 928 724 726
-f 914 913 732 731
-f 895 899 739 741
-f 859 861 744 745
-f 848 850 749 750
-f 838 840 754 755
-f 830 829 760 759
-f 817 820 764 766
-f 809 811 769 770
-f 1124 966 967 1125
-f 1128 962 970 971 1129
-f 1132 974 975 1133
-f 965 979 980 1140 1148
-f 969 984 985 970
-f 973 988 989 974
-f 977 992 993 978
-f 982 996 997 983
-f 986 1000 1001 987
-f 990 1004 1005 991
-f 995 1009 1010 996
-f 999 1013 1014 1000
-f 1003 1017 1018 1004
-f 1152 1151 1023 1009
-f 1012 1026 1027 1013
-f 1016 1030 1031 1017
-f 1020 1034 1035 1021
-f 1025 1040 1041 1026
-f 1029 1044 1045 1030
-f 1033 1048 1049 1034
-f 1039 1053 1054 1040
-f 1043 1057 1058 1044
-f 1047 1061 1062 1048
-f 1052 1067 1068 1053
-f 1056 1071 1072 1057
-f 1060 1075 1076 1061
-f 1051 1066 1142 1141
-f 1069 1083 1084 1070
-f 1073 1087 1088 1074
-f 1077 1091 1092 1078
-f 1082 1096 1097 1083
-f 1086 1100 1101 1087
-f 1090 1104 1105 1091
-f 1095 1109 1110 1096
-f 1099 1113 1114 1100
-f 1103 1117 1118 1104
-f 1158 1160 1124 1109
-f 1112 1127 1128 1113
-f 1116 1131 1132 1122 1117
-f 1120 1135 1136 1121
-f 1144 1143 1080 1094
-f 1147 1138 1022 1037
-f 1149 1150 1147 1141
-f 1154 1153 1140 1139
-f 1153 1159 1148 1140
-f 978 993 1007 1021 1035 1050 1064 1079 1093 1107 1121 1136
-f 1703 1701 1702 1704
-f 1711 1709 1710 1712
-f 1723 1724 1725 1726
-f 1733 1734 1735 1736
-f 1743 1741 1742 1744
-f 1753 1751 1752 1754
-f 1763 1764 1765 1766
-f 1779 1780 1781 1782
-f 1791 1789 1790 1792
-f 1805 1806 1807
-f 1820 1821 1822 1823
-f 1835 1836 1837 1838
-f 1787 1789 1846 1847
-f 1776 1775 1852 1853
-f 1757 1761 1859 1860
-f 1868 1869 1870 1871
-f 1797 1880 1881 1798
-f 1753 1755 1888 1889
-f 1746 1745 1892 1893
-f 1733 1737 1832 1831
-f 1723 1727 1899 1900
-f 1714 1713 1820 1903
-f 1703 1705 1907 1908
-f 1695 1694 1909 1910
-f 1916 1917 1918 1919
-f 1891 1833 1819
-f 1909 1836 1835 1840
-f 1696 1695 1793 1796 1697
-f 1734 1731 1732 1735
-f 1768 1763 1766 1769
-f 1784 1779 1782 1785
-f 1803 1802 1918 1917
-f 1807 1806 1794 1911
-f 1808 1811 1928 1927
-f 1823 1822 1901 1900
-f 1830 1829 1898 1897
-f 1835 1880 1797 1840
-f 1889 1888 1932 1825
-f 1846 1931 1847
-f 1853 1852 1812 1923
-f 1815 1856 1922 1812
-f 1928 1811 1860 1859 1929
-f 1867 1865 1809 1920
-f 1868 1801 1798 1881
-f 1872 1875 1878 1877
-f 1893 1892 1818 1915
-f 1724 1901 1902 1719
-f 1931 1846 1925 1930
-f 1917 1874 1803
-f 1822 1821 1902 1901
-f 1923 1854 1853
-f 1882 1884 1866 1869
-f 1921 1920 1809
-f 1887 1932 1888
-f 1941 1942 1943 1944
-f 1954 1955 1940
-f 1953 1966 1967
-f 1977 1978 1979 1980
-f 1990 1991 1951 1992 1993 1994
-f 2005 2006 2007 2008 2009 2010
-f 2008 2021 2022 2009
-f 2015 2031 2032 2016
-f 1938 1941 1944 1939
-f 2004 1993 1992 2002
-f 2040 2043 1953 1967
-f 2049 2050 1962 1965
-f 1969 2054 2055 1970
-f 1972 2058 2059 1973
-f 1978 2062 2063 1979
-f 1985 2019 2020 1983
-f 1955 2071 2072 1949 1940
-f 2077 2039 2073 2080 2078
-f 2086 2084 2085 2087
-f 2023 2086 2088 2090
-f 1996 2052 2051 1997
-f 1999 2091 2069 2000
-f 2014 2006 2005 2011
-f 2063 2062 1781 1778
-f 2055 2054 1765 1762
-f 2030 2029 1725 1722
-f 2053 2020 1934 1968
-f 2095 2015 1959 2083
-f 1978 1977 1982
-f 1958 2096 2097 2038 1956
-f 2099 2098 2076 2094
-f 2103 2102 2074 2072
-f 2028 2105 2090 1986
-f 2108 2107 2087 2085
-f 2111 2110 2034 2033
-f 2114 2113 1945 1947
-f 2050 1941 1938 1948
-f 2000 2069 1984 1994
-f 2049 1965 1966 2048
-f 2057 2054 1969 1933
-f 2065 2062 1978 1982
-f 2068 2120 2019 1985
-f 2034 2095 2083 2035
-f 2097 2033 1946 2038
-f 2041 2044 2013 2003
-f 2119 2120 1790 1788
-f 2060 2063 1778 1777
-f 2117 2055 1762 1760
-f 2114 2115 1752 1750
-f 2111 2112 1742 1740
-f 2108 2032 1732 1730
-f 2024 2105 1716 1715
-f 2101 2102 1706 1704
-f 2093 2021 2098 2121 1698 1697
-f 2133 2130 2132 2131 2134 2135
-f 2142 2141 2143 2144
-f 2150 2149 2151 2152
-f 2128 2159 2160 2131
-f 2139 2163 2164 2141
-f 2147 2167 2168 2149
-f 2172 2173 2174 2158
-f 2161 2177 2178 2162
-f 2165 2181 2182 2166
-f 2169 2185 2186 2170
-f 2176 2190 2191 2177
-f 2180 2194 2195 2181
-f 2184 2198 2199 2185
-f 2189 2203 2204 2190
-f 2193 2207 2208 2194
-f 2197 2211 2212 2198
-f 2202 2216 2217 2203
-f 2206 2220 2221 2207
-f 2210 2225 2224 2226 2211
-f 2215 2230 2231 2216
-f 2219 2234 2235 2220
-f 2223 2238 2239 2224
-f 2228 2242 2243 2229
-f 2233 2247 2248 2249 2234
-f 2237 2252 2253 2238
-f 2241 2256 2257 2242
-f 2245 2265 2266 2246
-f 2250 2269 2270 2251
-f 2254 2273 2274 2255
-f 2263 2278 2279 2264
-f 2268 2283 2284 2269
-f 2272 2287 2288 2273
-f 2276 2291 2292 2277
-f 2282 2297 2298 2283
-f 2286 2301 2302 2287
-f 2290 2305 2306 2291
-f 2296 2129 2130 2297
-f 2300 2140 2142 2301
-f 2304 2148 2150 2305
-f 2125 2293 2310 2122
-f 2230 2262 2261 2244
-f 2317 2319 2320 2318
-f 2201 2187 2317 2315
-f 2264 2279 2280 2265
-f 2308 2294 2293 2125
-f 2327 2322 2321 2326 2328
-f 2335 2333 2334 2336
-f 2345 2341 2344 2346
-f 2357 2355 2356 2358
-f 2367 2365 2366 2368
-f 2377 2373 2376 2378
-f 2385 2386 2387 2388
-f 2399 2400 2401 2402
-f 2415 2411 2414 2416
-f 2425 2426 2427 2428
-f 2440 2441 2442 2443
-f 2456 2457 2458
-f 2469 2470 2471 2472
-f 2412 2411 2476 2477
-f 2396 2395 2484 2443
-f 2490 2491 2492 2493
-f 2500 2501 2502 2503
-f 2511 2512 2469 2513
-f 2377 2379 2518 2519
-f 2367 2369 2445 2444
-f 2357 2359 2525 2526
-f 2347 2530 2348
-f 2335 2337 2533 2534
-f 2327 2329 2465 2464
-f 2540 2541 2542
-f 2550 2551 2440
-f 2528 2527 2456 2451
-f 2553 2554 2555 2556
-f 2348 2345 2346 2349
-f 2386 2383 2384 2387
-f 2404 2399 2402 2405
-f 2427 2426 2429 2432
-f 2433 2435 2541 2540
-f 2438 2437 2493 2492
-f 2520 2447 2446
-f 2455 2454 2533 2532
-f 2466 2465 2536
-f 2472 2471 2535 2534
-f 2473 2419 2504 2507
-f 2412 2477 2478 2407
-f 2483 2482 2551 2550
-f 2486 2485 2558 2557
-f 2491 2490 2511 2514
-f 2497 2496 2509 2510
-f 2501 2500 2540 2542
-f 2510 2470 2469 2512
-f 2460 2444 2447 2461
-f 2342 2531 2532 2339
-f 2501 2542 2427 2432
-f 2492 2489 2438
-f 2441 2478 2477
-f 2557 2487 2486
-f 2543 2522 2521
-f 2520 2519 2447
-f 2561 2562 2563 2564 2565
-f 2576 2568 2577 2578
-f 2587 2588 2589
-f 2599 2600 2601
-f 2611 2612 2613
-f 2626 2627 2628 2629
-f 2643 2644 2645 2646 2588 2587
-f 2617 2655 2656 2614
-f 2585 2664 2665 2586
-f 2622 2612 2611 2618
-f 2668 2669 2670 2671
-f 2594 2593 2592 2595
-f 2625 2571 2570 2623
-f 2565 2684 2685 2561
-f 2603 2688 2689 2604
-f 2694 2609 2605 2564
-f 2568 2576 2566
-f 2635 2703 2704 2636
-f 2587 2589 2575 2663 2711
-f 2714 2651 2654 2646 2645
-f 2564 2563 2695 2694
-f 2619 2580 2579
-f 2631 2641 2640 2632
-f 2696 2697 2719 2720 2423 2420
-f 2687 2686 2401 2398
-f 2665 2664 2375 2372
-f 2653 2652 2343 2340
-f 2702 2709 2708 2701
-f 2698 2589 2588 2582
-f 2671 2620 2579 2581
-f 2650 2720 2637
-f 2729 2728 2710 2709
-f 2653 2732 2699 2654
-f 2734 2657 2616 2717
-f 2737 2659 2643 2723
-f 2665 2740 2725 2724 2586
-f 2744 2743 2589 2698
-f 2674 2591 2667 2705
-f 2672 2669 2668 2673
-f 2745 2571 2625 2679
-f 2689 2686 2600 2604
-f 2747 2746 2694 2695
-f 2634 2707 2703 2635
-f 2582 2588 2646 2583
-f 2580 2619 2680 2624
-f 2720 2650 2424 2423
-f 2692 2746 2414 2413
-f 2684 2687 2398 2397
-f 2744 2572 2384 2382
-f 2664 2741 2376 2375
-f 2737 2738 2366 2364
-f 2655 2658 2350 2349
-f 2731 2732 2338 2336
-f 2727 2728 2330 2328
-f 2754 2755 2756 2757
-f 2764 2766 2765 2767 2768
-f 2774 2773 2775 2776
-f 2751 2783 2784 2785 2752
-f 2762 2789 2790 2765
-f 2771 2793 2794 2773
-f 2779 2797 2798 2781
-f 2787 2803 2804 2788
-f 2791 2807 2808 2792
-f 2795 2811 2812 2796
-f 2802 2816 2817 2803
-f 2806 2820 2821 2807
-f 2810 2824 2825 2811
-f 2815 2829 2830 2816
-f 2819 2833 2834 2820
-f 2823 2837 2838 2824
-f 2827 2841 2842 2828
-f 2832 2846 2847 2833
-f 2836 2850 2851 2837
-f 2840 2855 2856 2841
-f 2845 2860 2861 2846
-f 2849 2864 2865 2850
-f 2854 2868 2869 2855
-f 2859 2873 2874 2860
-f 2863 2878 2879 2864
-f 2867 2882 2883 2868
-f 2887 2888 2889 2890
-f 2875 2895 2896 2876
-f 2880 2899 2900 2881
-f 2884 2903 2904 2885
-f 2894 2909 2910 2895
-f 2898 2913 2914 2899
-f 2902 2917 2918 2903
-f 2908 2923 2924 2909
-f 2912 2927 2928 2913
-f 2916 2931 2932 2917
-f 2922 2936 2754 2923
-f 2926 2761 2764 2927
-f 2930 2772 2774 2937 2931
-f 2934 2780 2782 2935
-f 2906 2891 2940 2939
-f 2941 2943 2944 2942
-f 2858 2843 2941 2890
-f 2801 2800 2785 2947
-f 2800 2799 2752 2785
-f 2781 2798 2814 2828 2842 2857 2871 2886 2905 2920 2935 2782
-f 2734 2735 2356 2354 2353 2657
-g post
-f 4422 4440 4342
-f 4147 4134 4436
-f 4163 4176 4435
-f 4324 4325 4432 4433
-f 4265 4252 4428
-f 4222 4234 4427
-f 4205 4206 4424 4425
-f 4023 4024 4420 4421
-f 4085 4070 4416
-f 4401 4400 4218 4219
-f 4396 4395 4234 4233
-f 4392 4399 4230 4229
-f 4380 4379 4261 4260
-f 4383 4382 4308 4309
-f 4386 4385 4323 4322
-f 4373 4352 4006 4007
-f 4361 4362 4010 4011
-f 4369 4370 4020 4019
-f 4367 4365 4066 4067
-f 4346 4345 4083 4082
-f 4354 4353 4128 4129
-f 4358 4357 4132 4133
-f 4409 4408 4173 4172
-f 4413 4412 4144 4143
-f 4340 3991 3990 4341
-f 4336 3995 3994 4337
-f 4332 3999 3998 4333
-f 4329 3986 3985 4343 4330
-f 4325 4342 4440 3989 4326
-f 4387 4338 4339 4386
-f 4317 4334 4335 4318
-f 3927 3982 4331 4314
-f 4308 4321 4322 4309
-f 4304 4317 4318 4305
-f 3882 3927 4314 4301
-f 4297 4327 4328 4298
-f 4384 4375 4294 4293
-f 4390 4381 4290 4289
-f 4285 4302 4303 4286
-f 4280 4293 4294 4281
-f 4276 4289 4290 4277
-f 4272 4285 4286 4273
-f 4269 4299 4300 4270
-f 4265 4282 4295 4296 4266
-f 4379 4278 4279 4378
-f 4257 4274 4275 4258
-f 3743 3798 4271 4254
-f 4248 4261 4262 4249
-f 4244 4257 4258 4245
-f 3716 3743 4254 4241
-f 4237 4267 4268 4238
-f 4396 4250 4251 4395
-f 4392 4246 4247 4399
-f 4225 4242 4243 4226
-f 4221 4233 4234 4222
-f 4217 4229 4230 4218
-f 4213 4225 4226 4214
-f 4210 4239 4240 4211
-f 4206 4223 4235 4236 4207
-f 4401 4402 4203 4202
-f 4198 4215 4216 4199
-f 3576 3631 4212 4195
-f 4190 4202 4203 4191
-f 4186 4198 4199 4187
-f 3548 3576 4195 4183
-f 4179 4208 4209 4180
-f 4406 4192 4193 4405
-f 4394 4188 4189 4409
-f 4167 4184 4185 4168
-f 4162 4175 4176 4163
-f 4158 4171 4172 4159
-f 4154 4167 4168 4155
-f 4151 4181 4182 4165 4152
-f 4147 4164 4177 4178 4148
-f 4413 4160 4161 4412
-f 4139 4156 4157 4140
-f 3409 3464 4153 4136
-f 4130 4143 4144 4131
-f 4126 4139 4140 4127
-f 3373 3409 4136 4123
-f 4119 4135 4149 4150 4120
-f 4357 4358 4116 4115
-f 4353 4354 4112 4111
-f 4107 4124 4125 4108
-f 4100 4115 4116 4101
-f 4096 4111 4112 4097
-f 4092 4107 4108 4093
-f 4089 4121 4122 4105 4090
-f 4085 4102 4117 4118 4086
-f 4347 4098 4099 4346
-f 4077 4094 4095 4078
-f 3235 3290 4091 4074
-f 4066 4081 4082 4067
-f 4062 4077 4078 4063
-f 3204 3235 4074 4059
-f 4055 4087 4088 4071 4056
-f 4364 4359 4052 4051
-f 4350 4366 4048 4047
-f 4043 4060 4061 4044
-f 4039 4051 4052 4040
-f 4035 4047 4048 4036
-f 4031 4043 4044 4032
-f 4028 4057 4058 4029
-f 4024 4041 4053 4054 4025
-f 4370 4037 4038 4368
-f 4016 4033 4034 4017
-f 3060 3115 4030 4013
-f 4008 4020 4021 4009
-f 4004 4016 4017 4005
-f 3030 3060 4013 4001
-f 3988 4026 4027 3987
-f 4362 4361 3990 3991
-f 4352 4373 3994 3995
-f 3999 4002 4003 3998
-f 3772 3717 3690 3635 3605 3550 3522 3467 3438 3383 3347 3292 3264 3209 3178 3123 3089 3034 3004 3003 3956 3901 3856 3801
-f 2980 3979 3978 2981
-f 2984 3975 3974 2985
-f 2988 3971 3970 2989
-f 2992 3967 3966 2993
-f 2996 3963 3962 2997
-f 3000 3959 3958 3001
-f 2951 2950 3954 3953
-f 2955 2954 3984 3950 3949
-f 2959 2958 3946 3945
-f 2963 2962 3942 3941
-f 2967 2966 3938 3937
-f 2971 2970 3934 3933
-f 2975 2974 3930 3929
-f 3980 3925 3924 3979
-f 3976 3921 3920 3975
-f 3972 3917 3916 3971
-f 3968 3913 3912 3967
-f 3964 3909 3908 3963
-f 3960 3905 3904 3959
-f 3927 3882 3881 3926
-f 3923 3878 3877 3922
-f 3919 3874 3873 3918
-f 3915 3870 3869 3914
-f 3911 3866 3865 3910
-f 3907 3862 3861 3906
-f 3903 3858 3857 3902
-f 3952 3953 3899 3853 3852 3898
-f 3948 3949 3895 3849 3848 3894
-f 3944 3945 3892 3845 3844
-f 3940 3941 3890 3841 3840 3889
-f 3936 3937 3887 3837 3836 3886
-f 3932 3933 3833 3832
-f 3928 3929 3884 3829 3828 3883
-f 3879 3824 3823 3878
-f 3875 3820 3819 3874
-f 3871 3816 3815 3870
-f 3867 3812 3811 3866
-f 3863 3808 3807 3862
-f 3859 3804 3803 3858
-f 3826 3797 3796 3825
-f 3822 3793 3792 3821
-f 3818 3789 3788 3817
-f 3814 3785 3784 3813
-f 3810 3781 3780 3809
-f 3806 3777 3776 3805
-f 3802 3773 3772 3801
-f 3851 3852 3768 3767 3800
-f 3847 3848 3764 3763
-f 3843 3844 3760 3759
-f 3839 3840 3756 3755
-f 3835 3836 3752 3751
-f 3831 3832 3748 3747
-f 3798 3743 3742 3797
-f 3794 3739 3738 3793
-f 3790 3735 3734 3789
-f 3786 3731 3730 3785
-f 3782 3727 3726 3781
-f 3778 3723 3722 3777
-f 3774 3719 3718 3773
-f 3741 3714 3713 3740
-f 3737 3710 3709 3736
-f 3733 3706 3705 3732
-f 3729 3702 3701 3728
-f 3725 3698 3697 3724
-f 3721 3694 3693 3720
-f 3770 3771 3689 3688
-f 3766 3767 3685 3684
-f 3762 3763 3681 3680
-f 3758 3759 3677 3676
-f 3754 3755 3673 3672
-f 3750 3751 3669 3668
-f 3746 3747 3665 3664
-f 3715 3660 3659 3714
-f 3711 3656 3655 3710
-f 3707 3652 3651 3706
-f 3703 3648 3647 3702
-f 3699 3644 3643 3698
-f 3695 3640 3639 3694
-f 3691 3636 3635 3690
-f 3658 3628 3627 3657
-f 3654 3624 3623 3653
-f 3650 3620 3619 3649
-f 3646 3616 3615 3645
-f 3642 3612 3611 3641
-f 3638 3608 3607 3637
-f 3687 3688 3634 3603 3602
-f 3683 3684 3599 3598
-f 3679 3680 3595 3594
-f 3675 3676 3591 3590
-f 3671 3672 3587 3586
-f 3667 3668 3583 3582
-f 3663 3664 3579 3578
-f 3629 3574 3573 3628
-f 3625 3570 3569 3624
-f 3621 3566 3565 3620
-f 3617 3562 3561 3616
-f 3613 3558 3557 3612
-f 3609 3554 3553 3608
-f 3576 3548 3547 3575
-f 3572 3544 3543 3571
-f 3568 3540 3539 3567
-f 3564 3536 3535 3563
-f 3560 3532 3531 3559
-f 3556 3528 3527 3555
-f 3552 3524 3523 3551
-f 3601 3602 3519 3518
-f 3597 3598 3515 3514
-f 3593 3594 3511 3510
-f 3589 3590 3507 3506
-f 3585 3586 3503 3502
-f 3581 3582 3499 3498
-f 3578 3495 3494 3577
-f 3545 3490 3489 3544
-f 3541 3486 3485 3540
-f 3537 3482 3481 3536
-f 3533 3478 3477 3532
-f 3529 3474 3473 3528
-f 3525 3470 3469 3524
-f 3492 3463 3462 3491
-f 3488 3459 3458 3487
-f 3484 3455 3454 3483
-f 3480 3451 3450 3479
-f 3476 3447 3446 3475
-f 3472 3443 3442 3471
-f 3468 3439 3438 3467
-f 3517 3518 3434 3433 3466
-f 3513 3514 3430 3429
-f 3509 3510 3426 3425
-f 3505 3506 3422 3421
-f 3501 3502 3418 3417
-f 3497 3498 3414 3413
-f 3464 3409 3408 3463
-f 3460 3405 3404 3459
-f 3456 3401 3400 3455
-f 3452 3397 3396 3451
-f 3448 3393 3392 3447
-f 3444 3389 3388 3443
-f 3440 3385 3384 3439
-f 3407 3371 3370 3406
-f 3403 3367 3366 3402
-f 3399 3363 3362 3398
-f 3395 3359 3358 3394
-f 3391 3355 3354 3390
-f 3387 3351 3350 3386
-f 3436 3437 3346 3345
-f 3432 3433 3382 3342 3341 3381
-f 3428 3429 3338 3337
-f 3424 3425 3334 3333
-f 3420 3421 3377 3330 3329 3376
-f 3416 3417 3326 3325
-f 3412 3413 3322 3321
-f 3372 3317 3316 3371
-f 3368 3313 3312 3367
-f 3364 3309 3308 3363
-f 3360 3305 3304 3359
-f 3356 3301 3300 3355
-f 3352 3297 3296 3351
-f 3348 3293 3292 3347
-f 3315 3287 3286 3314
-f 3311 3283 3282 3310
-f 3307 3279 3278 3306
-f 3303 3275 3274 3302
-f 3299 3271 3270 3298
-f 3295 3267 3266 3294
-f 3344 3345 3262 3261
-f 3340 3341 3258 3257
-f 3336 3337 3254 3253
-f 3332 3333 3250 3249
-f 3328 3329 3246 3245
-f 3324 3325 3242 3241
-f 3320 3321 3238 3237
-f 3288 3233 3232 3287
-f 3284 3229 3228 3283
-f 3280 3225 3224 3279
-f 3276 3221 3220 3275
-f 3272 3217 3216 3271
-f 3268 3213 3212 3267
-f 3235 3204 3203 3234
-f 3231 3200 3199 3230
-f 3227 3196 3195 3226
-f 3223 3192 3191 3222
-f 3219 3188 3187 3218
-f 3215 3184 3183 3214
-f 3211 3180 3179 3210
-f 3260 3261 3175 3174
-f 3256 3257 3171 3170
-f 3252 3253 3167 3166
-f 3248 3249 3163 3162
-f 3244 3245 3159 3158
-f 3240 3241 3155 3154
-f 3236 3237 3151 3150 3205
-f 3201 3146 3145 3200
-f 3197 3142 3141 3196
-f 3193 3138 3137 3192
-f 3189 3134 3133 3188
-f 3185 3130 3129 3184
-f 3181 3126 3125 3180
-f 3148 3114 3113 3147
-f 3144 3110 3109 3143
-f 3140 3106 3105 3139
-f 3136 3102 3101 3135
-f 3132 3098 3097 3131
-f 3128 3094 3093 3127
-f 3124 3090 3089 3123
-f 3173 3174 3085 3084 3122
-f 3169 3170 3081 3080
-f 3165 3166 3077 3076 3120
-f 3161 3162 3073 3072
-f 3157 3158 3116 3069 3068
-f 3153 3154 3065 3064
-f 3115 3060 3059 3114
-f 3111 3056 3055 3110
-f 3107 3052 3051 3106
-f 3103 3048 3047 3102
-f 3099 3044 3043 3098
-f 3095 3040 3039 3094
-f 3091 3036 3035 3090
-f 3058 3028 3027 3057
-f 3054 3024 3023 3053
-f 3050 3020 3019 3049
-f 3046 3016 3015 3045
-f 3042 3012 3011 3041
-f 3038 3008 3007 3037
-f 3087 3088 2949 2950
-f 3083 3084 3033 2953 2954
-f 3079 3080 2957 2958
-f 3075 3076 2961 2962
-f 3071 3072 2965 2966
-f 3067 3068 2969 2970
-f 3063 3064 2973 2974 3031
-f 3029 2978 2979 3028
-f 3025 2982 2983 3024
-f 3021 2986 2987 3020
-f 3017 2990 2991 3016
-f 3013 2994 2995 3012
-f 3009 2998 2999 3008
-f 3005 3002 3003 3004
-f 3008 2999 3000 3007
-f 3012 2995 2996 3011
-f 3016 2991 2992 3015
-f 3020 2987 2988 3019
-f 3024 2983 2984 3023
-f 3028 2979 2980 3027
-f 3062 3063 3031 2974 2975
-f 3066 3067 2970 2971
-f 3070 3071 2966 2967
-f 3074 3075 2962 2963
-f 3078 3079 2958 2959
-f 3082 3083 2954 2955 3032
-f 3086 3087 2950 2951
-f 3037 3007 3006 3036
-f 3041 3011 3010 3040
-f 3045 3015 3014 3044
-f 3049 3019 3018 3048
-f 3053 3023 3022 3052
-f 3057 3027 3026 3056
-f 3090 3035 3034 3089
-f 3094 3039 3038 3093
-f 3098 3043 3042 3097
-f 3102 3047 3046 3101
-f 3106 3051 3050 3105
-f 3110 3055 3054 3109
-f 3114 3059 3058 3113
-f 3152 3153 3064 3063
-f 3156 3157 3068 3067
-f 3160 3161 3072 3071
-f 3164 3165 3120 3076 3075 3119
-f 3168 3169 3080 3079
-f 3172 3173 3122 3084 3083 3121
-f 3176 3177 3088 3087
-f 3127 3093 3092 3126
-f 3131 3097 3096 3130
-f 3135 3101 3100 3134
-f 3139 3105 3104 3138
-f 3143 3109 3108 3142
-f 3147 3113 3112 3146
-f 3180 3125 3124 3179
-f 3184 3129 3128 3183
-f 3188 3133 3132 3187
-f 3192 3137 3136 3191
-f 3196 3141 3140 3195
-f 3200 3145 3144 3199
-f 3204 3149 3148 3203
-f 3239 3240 3154 3153 3206
-f 3243 3244 3158 3157
-f 3247 3248 3162 3161
-f 3251 3252 3166 3165
-f 3255 3256 3170 3169
-f 3259 3260 3174 3173 3208
-f 3210 3179 3178 3209
-f 3214 3183 3182 3213
-f 3218 3187 3186 3217
-f 3222 3191 3190 3221
-f 3226 3195 3194 3225
-f 3230 3199 3198 3229
-f 3234 3203 3202 3233
-f 3267 3212 3211 3266
-f 3271 3216 3215 3270
-f 3275 3220 3219 3274
-f 3279 3224 3223 3278
-f 3283 3228 3227 3282
-f 3287 3232 3231 3286
-f 3319 3320 3237 3236 3291
-f 3323 3324 3241 3240
-f 3327 3328 3245 3244
-f 3331 3332 3249 3248
-f 3335 3336 3253 3252
-f 3339 3340 3257 3256
-f 3343 3344 3261 3260
-f 3294 3266 3265 3293
-f 3298 3270 3269 3297
-f 3302 3274 3273 3301
-f 3306 3278 3277 3305
-f 3310 3282 3281 3309
-f 3314 3286 3285 3313
-f 3318 3290 3289 3317
-f 3351 3296 3295 3350
-f 3355 3300 3299 3354
-f 3359 3304 3303 3358
-f 3363 3308 3307 3362
-f 3367 3312 3311 3366
-f 3371 3316 3315 3370
-f 3411 3412 3321 3320
-f 3415 3416 3325 3324
-f 3419 3420 3376 3329 3328 3375
-f 3423 3424 3333 3332 3379
-f 3427 3428 3337 3336
-f 3431 3432 3381 3341 3340 3380
-f 3435 3436 3345 3344
-f 3386 3350 3349 3385
-f 3390 3354 3353 3389
-f 3394 3358 3357 3393
-f 3398 3362 3361 3397
-f 3402 3366 3365 3401
-f 3406 3370 3369 3405
-f 3439 3384 3383 3438
-f 3443 3388 3387 3442
-f 3447 3392 3391 3446
-f 3451 3396 3395 3450
-f 3455 3400 3399 3454
-f 3459 3404 3403 3458
-f 3463 3408 3407 3462
-f 3496 3497 3413 3412
-f 3500 3501 3417 3416
-f 3504 3505 3421 3420
-f 3508 3509 3425 3424
-f 3512 3513 3429 3428
-f 3516 3517 3466 3433 3432
-f 3520 3521 3437 3436
-f 3471 3442 3441 3470
-f 3475 3446 3445 3474
-f 3479 3450 3449 3478
-f 3483 3454 3453 3482
-f 3487 3458 3457 3486
-f 3491 3462 3461 3490
-f 3524 3469 3468 3523
-f 3528 3473 3472 3527
-f 3532 3477 3476 3531
-f 3536 3481 3480 3535
-f 3540 3485 3484 3539
-f 3544 3489 3488 3543
-f 3548 3493 3492 3547
-f 3580 3581 3498 3497
-f 3584 3585 3502 3501
-f 3588 3589 3506 3505
-f 3592 3593 3510 3509
-f 3596 3597 3514 3513
-f 3600 3601 3518 3517
-f 3551 3523 3522 3550
-f 3555 3527 3526 3554
-f 3559 3531 3530 3558
-f 3563 3535 3534 3562
-f 3567 3539 3538 3566
-f 3571 3543 3542 3570
-f 3575 3547 3546 3574
-f 3608 3553 3552 3607
-f 3612 3557 3556 3611
-f 3616 3561 3560 3615
-f 3620 3565 3564 3619
-f 3624 3569 3568 3623
-f 3628 3573 3572 3627
-f 3663 3578 3577 3662
-f 3666 3667 3582 3581
-f 3670 3671 3586 3585 3632
-f 3674 3675 3590 3589
-f 3678 3679 3594 3593
-f 3682 3683 3598 3597 3633
-f 3686 3687 3602 3601
-f 3637 3607 3606 3636
-f 3641 3611 3610 3640
-f 3645 3615 3614 3644
-f 3649 3619 3618 3648
-f 3653 3623 3622 3652
-f 3657 3627 3626 3656
-f 3661 3631 3630 3660
-f 3694 3639 3638 3693
-f 3698 3643 3642 3697
-f 3702 3647 3646 3701
-f 3706 3651 3650 3705
-f 3710 3655 3654 3709
-f 3714 3659 3658 3713
-f 3745 3746 3664 3663
-f 3749 3750 3668 3667
-f 3753 3754 3672 3671
-f 3757 3758 3676 3675
-f 3761 3762 3680 3679
-f 3765 3766 3684 3683
-f 3769 3770 3688 3687
-f 3720 3693 3692 3719
-f 3724 3697 3696 3723
-f 3728 3701 3700 3727
-f 3732 3705 3704 3731
-f 3736 3709 3708 3735
-f 3740 3713 3712 3739
-f 3773 3718 3717 3772
-f 3777 3722 3721 3776
-f 3781 3726 3725 3780
-f 3785 3730 3729 3784
-f 3789 3734 3733 3788
-f 3793 3738 3737 3792
-f 3797 3742 3741 3796
-f 3830 3831 3747 3746
-f 3834 3835 3751 3750
-f 3838 3839 3755 3754
-f 3842 3843 3759 3758
-f 3846 3847 3763 3762
-f 3850 3851 3800 3767 3766 3799
-f 3854 3855 3771 3770
-f 3805 3776 3775 3804
-f 3809 3780 3779 3808
-f 3813 3784 3783 3812
-f 3817 3788 3787 3816
-f 3821 3792 3791 3820
-f 3825 3796 3795 3824
-f 3858 3803 3802 3857
-f 3862 3807 3806 3861
-f 3866 3811 3810 3865
-f 3870 3815 3814 3869
-f 3874 3819 3818 3873
-f 3878 3823 3822 3877
-f 3882 3827 3826 3881
-f 3931 3932 3832 3831
-f 3935 3936 3886 3836 3835 3885
-f 3939 3940 3889 3840 3839 3888
-f 3943 3944 3844 3843
-f 3947 3948 3894 3848 3847 3893
-f 3951 3952 3898 3852 3851 3897
-f 3902 3857 3856 3901
-f 3906 3861 3860 3905
-f 3910 3865 3864 3909
-f 3914 3869 3868 3913
-f 3918 3873 3872 3917
-f 3922 3877 3876 3921
-f 3926 3881 3880 3925
-f 3959 3904 3903 3958
-f 3963 3908 3907 3962
-f 3967 3912 3911 3966
-f 3971 3916 3915 3970
-f 3975 3920 3919 3974
-f 3979 3924 3923 3978
-f 2976 2975 3929 3928 3983
-f 2972 2971 3933 3932
-f 2968 2967 3937 3936
-f 2964 2963 3941 3940
-f 2960 2959 3945 3944
-f 2956 2955 3949 3948
-f 2952 2951 3953 3952
-f 3001 3958 3957 3002
-f 2997 3962 3961 2998
-f 2993 3966 3965 2994
-f 2989 3970 3969 2990
-f 2985 3974 3973 2986
-f 2981 3978 3977 2982
-f 2977 3982 3981 2978
-f 4000 4001 4002 3999
-f 3995 3996 4005 4006 4352
-f 4371 4362 3991 3992
-f 3989 4025 4026 3988
-f 3985 4029 3061 2976
-f 4003 4015 4016 4004
-f 4007 4019 4020 4008
-f 4012 4011 4421 4420
-f 4015 4032 4033 4016
-f 4369 4036 4037 4370
-f 4023 4360 4040 4041 4024
-f 4027 4056 4057 4028
-f 4030 4042 4043 4031
-f 4034 4046 4047 4035
-f 4038 4050 4051 4039
-f 4042 4059 4060 4043
-f 4047 4046 4063 4064 4350
-f 4367 4364 4051 4050
-f 4054 4086 4087 4055
-f 4058 4073 4090 3236 3205 3150
-f 4061 4076 4077 4062
-f 4065 4080 4081 4066
-f 4070 4069 4417 4416
-f 4076 4093 4094 4077
-f 4348 4097 4098 4347
-f 4084 4344 4101 4102 4085
-f 4088 4104 4120 4121 4089
-f 4091 4106 4107 4092
-f 4095 4110 4111 4096
-f 4099 4114 4115 4100
-f 4106 4123 4124 4107
-f 4111 4110 4127 4128 4353
-f 4356 4357 4115 4114
-f 4118 4148 4149 4135 4119
-f 4122 4152 3410 3319
-f 4125 4138 4139 4126
-f 4129 4142 4143 4130
-f 4134 4133 4437 4436
-f 4138 4155 4156 4139
-f 4414 4159 4160 4413
-f 4146 4410 4163 4164 4147
-f 4150 4180 4181 4151
-f 4153 4166 4167 4154
-f 4157 4170 4171 4158
-f 4161 4174 4175 4162
-f 4166 4183 4184 4167
-f 4171 4170 4187 4188 4394
-f 4407 4191 4192 4406
-f 4178 4207 4208 4179
-f 4182 4211 3577 3494
-f 4185 4197 4198 4186
-f 4189 4201 4202 4190
-f 4194 4193 4425 4424
-f 4197 4214 4215 4198
-f 4400 4401 4202 4201
-f 4205 4404 4222 4223 4206
-f 4209 4238 4239 4210
-f 4212 4224 4225 4213
-f 4216 4228 4229 4217
-f 4220 4232 4233 4221
-f 4224 4241 4242 4225
-f 4229 4228 4245 4246 4392
-f 4397 4249 4250 4396
-f 4236 4266 4267 4237
-f 4240 4270 3744 3662
-f 4243 4256 4257 4244
-f 4247 4260 4261 4248
-f 4252 4251 4429 4428
-f 4256 4273 4274 4257
-f 4380 4277 4278 4379
-f 4264 4376 4281 4282 4265
-f 4268 4298 4299 4269
-f 4271 4284 4285 4272
-f 4275 4288 4289 4276
-f 4279 4292 4293 4280
-f 4284 4301 4302 4285
-f 4289 4288 4305 4306 4390
-f 4383 4384 4293 4292
-f 4296 4326 4327 4297
-f 4300 4313 4330 3928 3883 3828
-f 4303 4316 4317 4304
-f 4307 4320 4321 4308
-f 4312 4311 4433 4432
-f 4316 4333 4334 4317
-f 4388 4337 4338 4387
-f 4324 4374 4341 4342 4325
-f 4328 3987 3986 4329
-f 4331 4000 3999 4332
-f 4335 3996 3995 4336
-f 4339 3992 3991 4340
-f 4414 4413 4143 4142
-f 4394 4409 4172 4171
-f 4406 4405 4176 4175
-f 4355 4354 4129 4130
-f 4347 4346 4082 4081
-f 4364 4367 4067 4068
-f 4351 4369 4019 4018
-f 4363 4360 4023 4022
-f 4372 4373 4007 4008
-f 4387 4386 4322 4321
-f 4384 4383 4309 4310
-f 4391 4380 4260 4259
-f 4377 4376 4264 4263
-f 4397 4396 4233 4232
-f 4402 4401 4219 4220
-f 4069 4084 4417
-f 4053 4041 4418
-f 4341 3990 4423
-f 4234 4235 4426 4427
-f 4251 4264 4429
-f 4295 4282 4430
-f 4176 4177 4434 4435
-f 4133 4146 4437
-f 4117 4102 4438
-f 4440 4422 4423 3990
-f 4116 4117 4438 4439
-f 4177 4164 4434
-f 4311 4324 4433
-f 4294 4295 4430 4431
-f 4235 4223 4426
-f 4193 4205 4425
-f 4011 4023 4421
-f 4052 4053 4418 4419
-f 4400 4393 4217 4218
-f 4404 4403 4221 4222
-f 4399 4398 4231 4230
-f 4379 4378 4262 4261
-f 4382 4381 4307 4308
-f 4385 4374 4324 4323
-f 4389 4388 4320 4319
-f 4362 4371 4009 4010
-f 4370 4368 4021 4020
-f 4365 4366 4065 4066
-f 4344 4084 4083 4345
-f 4349 4348 4080 4079
-f 4357 4356 4131 4132
-f 4408 4407 4174 4173
-f 4412 4411 4145 4144
-f 4342 4341 4423 4422
-f 4337 3994 3993 4338
-f 4333 3998 3997 4334
-f 4330 4343 3985 2976 3983 3928
-f 4326 3989 3988 4327
-f 4386 4339 4340 4385
-f 4319 4318 4335 4336 4389
-f 4314 4331 4332 4315
-f 4309 4322 4323 4310
-f 4305 4318 4319 4306
-f 4301 4314 4315 4302
-f 4298 4328 4329 4299
-f 4294 4375 4311 4312 4295
-f 4381 4382 4291 4290
-f 4286 4303 4304 4287
-f 4282 4281 4431 4430
-f 4277 4290 4291 4278
-f 4273 4286 4287 4274
-f 4270 4300 3828 3744
-f 4266 4296 4297 4283 4267
-f 4378 4279 4280 4377
-f 4259 4258 4275 4276 4391
-f 4254 4271 4272 4255
-f 4249 4262 4263 4250
-f 4245 4258 4259 4246
-f 4241 4254 4255 4242
-f 4238 4268 4269 4253 4239
-f 4234 4395 4251 4252 4235
-f 4399 4247 4248 4398
-f 4226 4243 4244 4227
-f 4223 4222 4427 4426
-f 4218 4230 4231 4219
-f 4214 4226 4227 4215
-f 4211 4240 3662 3577
-f 4207 4236 4237 4208
-f 4402 4403 4204 4203
-f 4200 4199 4216 4217 4393
-f 4195 4212 4213 4196
-f 4191 4203 4204 4192
-f 4187 4199 4200 4188
-f 4183 4195 4196 4184
-f 4180 4209 4210 4181
-f 4176 4405 4193 4194 4177
-f 4409 4189 4190 4408
-f 4168 4185 4186 4169
-f 4164 4163 4435 4434
-f 4159 4172 4173 4160
-f 4155 4168 4169 4156
-f 4152 4165 4182 3494 3410
-f 4148 4178 4179 4149
-f 4412 4161 4162 4411
-f 4141 4140 4157 4158 4415
-f 4136 4153 4154 4137
-f 4131 4144 4145 4132
-f 4127 4140 4141 4128
-f 4123 4136 4137 4124
-f 4120 4150 4151 4121
-f 4116 4358 4133 4134 4117
-f 4354 4355 4113 4112
-f 4108 4125 4126 4109
-f 4102 4101 4439 4438
-f 4097 4112 4113 4098
-f 4093 4108 4109 4094
-f 4090 4105 4122 3319 3291 3236
-f 4086 4118 4119 4103 4087
-f 4346 4099 4100 4345
-f 4079 4078 4095 4096 4349
-f 4074 4091 4092 4075
-f 4067 4082 4083 4068
-f 4063 4078 4079 4064
-f 4059 4074 4075 4060
-f 4056 4071 4088 4089 4072 4057
-f 4052 4359 4069 4070 4053
-f 4366 4365 4049 4048
-f 4044 4061 4062 4045
-f 4041 4040 4419 4418
-f 4036 4048 4049 4037
-f 4032 4044 4045 4033
-f 4029 4058 3150 3061
-f 4025 4054 4055 4026
-f 4368 4038 4039 4363
-f 4018 4017 4034 4035 4351
-f 4013 4030 4031 4014
-f 4009 4021 4022 4010
-f 4005 4017 4018 4006
-f 4001 4013 4014 4002
-f 3987 4027 4028 3986
-f 4440 3990 4361 4011 4012
-f 4373 4372 3993 3994
-f 3998 4003 4004 3997
-f 3088 3177 3263 3346 3437 3521 3604 3689 3771 3855 3900 3955 2949
-f 2979 3980 3979 2980
-f 2983 3976 3975 2984
-f 2987 3972 3971 2988
-f 2991 3968 3967 2992
-f 2995 3964 3963 2996
-f 2999 3960 3959 3000
-f 2950 2949 3955 3954
-f 2954 2953 3951 3950 3984
-f 2958 2957 3947 3946
-f 2962 2961 3943 3942
-f 2966 2965 3939 3938
-f 2970 2969 3935 3934
-f 2974 2973 3931 3930
-f 3981 3926 3925 3980
-f 3977 3922 3921 3976
-f 3973 3918 3917 3972
-f 3969 3914 3913 3968
-f 3965 3910 3909 3964
-f 3961 3906 3905 3960
-f 3957 3902 3901 3956
-f 3924 3879 3878 3923
-f 3920 3875 3874 3919
-f 3916 3871 3870 3915
-f 3912 3867 3866 3911
-f 3908 3863 3862 3907
-f 3904 3859 3858 3903
-f 3953 3954 3854 3853 3899
-f 3949 3950 3896 3850 3849 3895
-f 3945 3946 3846 3845 3892
-f 3941 3942 3891 3842 3841 3890
-f 3937 3938 3838 3837 3887
-f 3933 3934 3834 3833
-f 3929 3930 3830 3829 3884
-f 3880 3825 3824 3879
-f 3876 3821 3820 3875
-f 3872 3817 3816 3871
-f 3868 3813 3812 3867
-f 3864 3809 3808 3863
-f 3860 3805 3804 3859
-f 3827 3798 3797 3826
-f 3823 3794 3793 3822
-f 3819 3790 3789 3818
-f 3815 3786 3785 3814
-f 3811 3782 3781 3810
-f 3807 3778 3777 3806
-f 3803 3774 3773 3802
-f 3852 3853 3769 3768
-f 3848 3849 3765 3764
-f 3844 3845 3761 3760
-f 3840 3841 3757 3756
-f 3836 3837 3753 3752
-f 3832 3833 3749 3748
-f 3829 3745 3744 3828
-f 3795 3740 3739 3794
-f 3791 3736 3735 3790
-f 3787 3732 3731 3786
-f 3783 3728 3727 3782
-f 3779 3724 3723 3778
-f 3775 3720 3719 3774
-f 3742 3715 3714 3741
-f 3738 3711 3710 3737
-f 3734 3707 3706 3733
-f 3730 3703 3702 3729
-f 3726 3699 3698 3725
-f 3722 3695 3694 3721
-f 3718 3691 3690 3717
-f 3767 3768 3686 3685
-f 3763 3764 3682 3681
-f 3759 3760 3678 3677
-f 3755 3756 3674 3673
-f 3751 3752 3670 3669
-f 3747 3748 3666 3665
-f 3716 3661 3660 3715
-f 3712 3657 3656 3711
-f 3708 3653 3652 3707
-f 3704 3649 3648 3703
-f 3700 3645 3644 3699
-f 3696 3641 3640 3695
-f 3692 3637 3636 3691
-f 3659 3629 3628 3658
-f 3655 3625 3624 3654
-f 3651 3621 3620 3650
-f 3647 3617 3616 3646
-f 3643 3613 3612 3642
-f 3639 3609 3608 3638
-f 3688 3689 3604 3603 3634
-f 3684 3685 3600 3599
-f 3680 3681 3596 3595
-f 3676 3677 3592 3591
-f 3672 3673 3588 3587
-f 3668 3669 3584 3583
-f 3664 3665 3580 3579
-f 3630 3575 3574 3629
-f 3626 3571 3570 3625
-f 3622 3567 3566 3621
-f 3618 3563 3562 3617
-f 3614 3559 3558 3613
-f 3610 3555 3554 3609
-f 3606 3551 3550 3605
-f 3573 3545 3544 3572
-f 3569 3541 3540 3568
-f 3565 3537 3536 3564
-f 3561 3533 3532 3560
-f 3557 3529 3528 3556
-f 3553 3525 3524 3552
-f 3602 3603 3520 3519
-f 3598 3599 3549 3516 3515
-f 3594 3595 3512 3511
-f 3590 3591 3508 3507
-f 3586 3587 3504 3503
-f 3582 3583 3500 3499
-f 3578 3579 3496 3495
-f 3546 3491 3490 3545
-f 3542 3487 3486 3541
-f 3538 3483 3482 3537
-f 3534 3479 3478 3533
-f 3530 3475 3474 3529
-f 3526 3471 3470 3525
-f 3493 3464 3463 3492
-f 3489 3460 3459 3488
-f 3485 3456 3455 3484
-f 3481 3452 3451 3480
-f 3477 3448 3447 3476
-f 3473 3444 3443 3472
-f 3469 3440 3439 3468
-f 3518 3519 3435 3434
-f 3514 3515 3465 3431 3430
-f 3510 3511 3427 3426
-f 3506 3507 3423 3422
-f 3502 3503 3419 3418
-f 3498 3499 3415 3414
-f 3495 3411 3410 3494
-f 3461 3406 3405 3460
-f 3457 3402 3401 3456
-f 3453 3398 3397 3452
-f 3449 3394 3393 3448
-f 3445 3390 3389 3444
-f 3441 3386 3385 3440
-f 3408 3372 3371 3407
-f 3404 3368 3367 3403
-f 3400 3364 3363 3399
-f 3396 3360 3359 3395
-f 3392 3356 3355 3391
-f 3388 3352 3351 3387
-f 3384 3348 3347 3383
-f 3433 3434 3343 3342 3382
-f 3429 3430 3339 3338
-f 3425 3426 3335 3334
-f 3421 3422 3378 3331 3330 3377
-f 3417 3418 3374 3327 3326
-f 3413 3414 3323 3322
-f 3373 3318 3317 3372
-f 3369 3314 3313 3368
-f 3365 3310 3309 3364
-f 3361 3306 3305 3360
-f 3357 3302 3301 3356
-f 3353 3298 3297 3352
-f 3349 3294 3293 3348
-f 3316 3288 3287 3315
-f 3312 3284 3283 3311
-f 3308 3280 3279 3307
-f 3304 3276 3275 3303
-f 3300 3272 3271 3299
-f 3296 3268 3267 3295
-f 3345 3346 3263 3262
-f 3341 3342 3259 3258
-f 3337 3338 3255 3254
-f 3333 3334 3251 3250
-f 3329 3330 3247 3246
-f 3325 3326 3243 3242
-f 3321 3322 3239 3238
-f 3289 3234 3233 3288
-f 3285 3230 3229 3284
-f 3281 3226 3225 3280
-f 3277 3222 3221 3276
-f 3273 3218 3217 3272
-f 3269 3214 3213 3268
-f 3265 3210 3209 3264
-f 3232 3201 3200 3231
-f 3228 3197 3196 3227
-f 3224 3193 3192 3223
-f 3220 3189 3188 3219
-f 3216 3185 3184 3215
-f 3212 3181 3180 3211
-f 3261 3262 3176 3175
-f 3257 3258 3207 3172 3171
-f 3253 3254 3168 3167
-f 3249 3250 3164 3163
-f 3245 3246 3160 3159
-f 3241 3242 3156 3155
-f 3237 3238 3152 3151
-f 3202 3147 3146 3201
-f 3198 3143 3142 3197
-f 3194 3139 3138 3193
-f 3190 3135 3134 3189
-f 3186 3131 3130 3185
-f 3182 3127 3126 3181
-f 3149 3115 3114 3148
-f 3145 3111 3110 3144
-f 3141 3107 3106 3140
-f 3137 3103 3102 3136
-f 3133 3099 3098 3132
-f 3129 3095 3094 3128
-f 3125 3091 3090 3124
-f 3174 3175 3086 3085
-f 3170 3171 3082 3081
-f 3166 3167 3078 3077
-f 3162 3163 3118 3074 3073
-f 3158 3159 3117 3070 3069 3116
-f 3154 3155 3066 3065
-f 3151 3062 3061 3150
-f 3112 3057 3056 3111
-f 3108 3053 3052 3107
-f 3104 3049 3048 3103
-f 3100 3045 3044 3099
-f 3096 3041 3040 3095
-f 3092 3037 3036 3091
-f 3059 3029 3028 3058
-f 3055 3025 3024 3054
-f 3051 3021 3020 3050
-f 3047 3017 3016 3046
-f 3043 3013 3012 3042
-f 3039 3009 3008 3038
-f 3035 3005 3004 3034
-f 3084 3085 2952 2953 3033
-f 3080 3081 2956 2957
-f 3076 3077 2960 2961
-f 3072 3073 2964 2965
-f 3068 3069 2968 2969
-f 3064 3065 2972 2973
-f 3030 2977 2978 3029
-f 3026 2981 2982 3025
-f 3022 2985 2986 3021
-f 3018 2989 2990 3017
-f 3014 2993 2994 3013
-f 3010 2997 2998 3009
-f 3006 3001 3002 3005
-f 3007 3000 3001 3006
-f 3011 2996 2997 3010
-f 3015 2992 2993 3014
-f 3019 2988 2989 3018
-f 3023 2984 2985 3022
-f 3027 2980 2981 3026
-f 3062 2975 2976 3061
-f 3065 3066 2971 2972
-f 3069 3070 2967 2968
-f 3073 3074 2963 2964
-f 3077 3078 2959 2960
-f 3081 3082 3032 2955 2956
-f 3085 3086 2951 2952
-f 3036 3006 3005 3035
-f 3040 3010 3009 3039
-f 3044 3014 3013 3043
-f 3048 3018 3017 3047
-f 3052 3022 3021 3051
-f 3056 3026 3025 3055
-f 3060 3030 3029 3059
-f 3093 3038 3037 3092
-f 3097 3042 3041 3096
-f 3101 3046 3045 3100
-f 3105 3050 3049 3104
-f 3109 3054 3053 3108
-f 3113 3058 3057 3112
-f 3151 3152 3063 3062
-f 3155 3156 3067 3066
-f 3159 3160 3071 3070 3117
-f 3163 3164 3119 3075 3074 3118
-f 3167 3168 3079 3078
-f 3171 3172 3121 3083 3082
-f 3175 3176 3087 3086
-f 3126 3092 3091 3125
-f 3130 3096 3095 3129
-f 3134 3100 3099 3133
-f 3138 3104 3103 3137
-f 3142 3108 3107 3141
-f 3146 3112 3111 3145
-f 3179 3124 3123 3178
-f 3183 3128 3127 3182
-f 3187 3132 3131 3186
-f 3191 3136 3135 3190
-f 3195 3140 3139 3194
-f 3199 3144 3143 3198
-f 3203 3148 3147 3202
-f 3238 3239 3206 3153 3152
-f 3242 3243 3157 3156
-f 3246 3247 3161 3160
-f 3250 3251 3165 3164
-f 3254 3255 3169 3168
-f 3258 3259 3208 3173 3172 3207
-f 3262 3263 3177 3176
-f 3213 3182 3181 3212
-f 3217 3186 3185 3216
-f 3221 3190 3189 3220
-f 3225 3194 3193 3224
-f 3229 3198 3197 3228
-f 3233 3202 3201 3232
-f 3266 3211 3210 3265
-f 3270 3215 3214 3269
-f 3274 3219 3218 3273
-f 3278 3223 3222 3277
-f 3282 3227 3226 3281
-f 3286 3231 3230 3285
-f 3290 3235 3234 3289
-f 3322 3323 3240 3239
-f 3326 3327 3244 3243
-f 3330 3331 3248 3247
-f 3334 3335 3252 3251
-f 3338 3339 3256 3255
-f 3342 3343 3260 3259
-f 3293 3265 3264 3292
-f 3297 3269 3268 3296
-f 3301 3273 3272 3300
-f 3305 3277 3276 3304
-f 3309 3281 3280 3308
-f 3313 3285 3284 3312
-f 3317 3289 3288 3316
-f 3350 3295 3294 3349
-f 3354 3299 3298 3353
-f 3358 3303 3302 3357
-f 3362 3307 3306 3361
-f 3366 3311 3310 3365
-f 3370 3315 3314 3369
-f 3411 3320 3319 3410
-f 3414 3415 3324 3323
-f 3418 3419 3375 3328 3327 3374
-f 3422 3423 3379 3332 3331 3378
-f 3426 3427 3336 3335
-f 3430 3431 3380 3340 3339
-f 3434 3435 3344 3343
-f 3385 3349 3348 3384
-f 3389 3353 3352 3388
-f 3393 3357 3356 3392
-f 3397 3361 3360 3396
-f 3401 3365 3364 3400
-f 3405 3369 3368 3404
-f 3409 3373 3372 3408
-f 3442 3387 3386 3441
-f 3446 3391 3390 3445
-f 3450 3395 3394 3449
-f 3454 3399 3398 3453
-f 3458 3403 3402 3457
-f 3462 3407 3406 3461
-f 3495 3496 3412 3411
-f 3499 3500 3416 3415
-f 3503 3504 3420 3419
-f 3507 3508 3424 3423
-f 3511 3512 3428 3427
-f 3515 3516 3432 3431 3465
-f 3519 3520 3436 3435
-f 3470 3441 3440 3469
-f 3474 3445 3444 3473
-f 3478 3449 3448 3477
-f 3482 3453 3452 3481
-f 3486 3457 3456 3485
-f 3490 3461 3460 3489
-f 3523 3468 3467 3522
-f 3527 3472 3471 3526
-f 3531 3476 3475 3530
-f 3535 3480 3479 3534
-f 3539 3484 3483 3538
-f 3543 3488 3487 3542
-f 3547 3492 3491 3546
-f 3579 3580 3497 3496
-f 3583 3584 3501 3500
-f 3587 3588 3505 3504
-f 3591 3592 3509 3508
-f 3595 3596 3513 3512
-f 3599 3600 3517 3516 3549
-f 3603 3604 3521 3520
-f 3554 3526 3525 3553
-f 3558 3530 3529 3557
-f 3562 3534 3533 3561
-f 3566 3538 3537 3565
-f 3570 3542 3541 3569
-f 3574 3546 3545 3573
-f 3607 3552 3551 3606
-f 3611 3556 3555 3610
-f 3615 3560 3559 3614
-f 3619 3564 3563 3618
-f 3623 3568 3567 3622
-f 3627 3572 3571 3626
-f 3631 3576 3575 3630
-f 3665 3666 3581 3580
-f 3669 3670 3632 3585 3584
-f 3673 3674 3589 3588
-f 3677 3678 3593 3592
-f 3681 3682 3633 3597 3596
-f 3685 3686 3601 3600
-f 3636 3606 3605 3635
-f 3640 3610 3609 3639
-f 3644 3614 3613 3643
-f 3648 3618 3617 3647
-f 3652 3622 3621 3651
-f 3656 3626 3625 3655
-f 3660 3630 3629 3659
-f 3693 3638 3637 3692
-f 3697 3642 3641 3696
-f 3701 3646 3645 3700
-f 3705 3650 3649 3704
-f 3709 3654 3653 3708
-f 3713 3658 3657 3712
-f 3745 3663 3662 3744
-f 3748 3749 3667 3666
-f 3752 3753 3671 3670
-f 3756 3757 3675 3674
-f 3760 3761 3679 3678
-f 3764 3765 3683 3682
-f 3768 3769 3687 3686
-f 3719 3692 3691 3718
-f 3723 3696 3695 3722
-f 3727 3700 3699 3726
-f 3731 3704 3703 3730
-f 3735 3708 3707 3734
-f 3739 3712 3711 3738
-f 3743 3716 3715 3742
-f 3776 3721 3720 3775
-f 3780 3725 3724 3779
-f 3784 3729 3728 3783
-f 3788 3733 3732 3787
-f 3792 3737 3736 3791
-f 3796 3741 3740 3795
-f 3829 3830 3746 3745
-f 3833 3834 3750 3749
-f 3837 3838 3754 3753
-f 3841 3842 3758 3757
-f 3845 3846 3762 3761
-f 3849 3850 3799 3766 3765
-f 3853 3854 3770 3769
-f 3804 3775 3774 3803
-f 3808 3779 3778 3807
-f 3812 3783 3782 3811
-f 3816 3787 3786 3815
-f 3820 3791 3790 3819
-f 3824 3795 3794 3823
-f 3857 3802 3801 3856
-f 3861 3806 3805 3860
-f 3865 3810 3809 3864
-f 3869 3814 3813 3868
-f 3873 3818 3817 3872
-f 3877 3822 3821 3876
-f 3881 3826 3825 3880
-f 3930 3931 3831 3830
-f 3934 3935 3885 3835 3834
-f 3938 3939 3888 3839 3838
-f 3942 3943 3843 3842 3891
-f 3946 3947 3893 3847 3846
-f 3950 3951 3897 3851 3850 3896
-f 3954 3955 3900 3855 3854
-f 3905 3860 3859 3904
-f 3909 3864 3863 3908
-f 3913 3868 3867 3912
-f 3917 3872 3871 3916
-f 3921 3876 3875 3920
-f 3925 3880 3879 3924
-f 3958 3903 3902 3957
-f 3962 3907 3906 3961
-f 3966 3911 3910 3965
-f 3970 3915 3914 3969
-f 3974 3919 3918 3973
-f 3978 3923 3922 3977
-f 3982 3927 3926 3981
-f 2973 2972 3932 3931
-f 2969 2968 3936 3935
-f 2965 2964 3940 3939
-f 2961 2960 3944 3943
-f 2957 2956 3948 3947
-f 2953 2952 3952 3951
-f 3002 3957 3956 3003
-f 2998 3961 3960 2999
-f 2994 3965 3964 2995
-f 2990 3969 3968 2991
-f 2986 3973 3972 2987
-f 2982 3977 3976 2983
-f 2978 3981 3980 2979
-f 2977 3030 4001 4000
-f 3997 4004 4005 3996
-f 4372 4371 3992 3993
-f 4440 4012 4024 4025 3989
-f 3986 4028 4029 3985
-f 4002 4014 4015 4003
-f 4006 4018 4019 4007
-f 4010 4022 4023 4011
-f 4014 4031 4032 4015
-f 4351 4035 4036 4369
-f 4363 4039 4040 4360
-f 4026 4055 4056 4027
-f 3115 3149 4042 4030
-f 4033 4045 4046 4034
-f 4037 4049 4050 4038
-f 3149 3204 4059 4042
-f 4045 4062 4063 4046
-f 4365 4367 4050 4049
-f 4053 4070 4085 4086 4054
-f 4057 4072 4089 4090 4073 4058
-f 4060 4075 4076 4061
-f 4064 4079 4080 4065
-f 4068 4083 4084 4069
-f 4075 4092 4093 4076
-f 4349 4096 4097 4348
-f 4345 4100 4101 4344
-f 4087 4103 4119 4120 4104 4088
-f 3290 3318 4106 4091
-f 4094 4109 4110 4095
-f 4098 4113 4114 4099
-f 3318 3373 4123 4106
-f 4109 4126 4127 4110
-f 4355 4356 4114 4113
-f 4117 4134 4147 4148 4118
-f 4121 4151 4152 4122
-f 4124 4137 4138 4125
-f 4128 4141 4142 4129
-f 4132 4145 4146 4133
-f 4137 4154 4155 4138
-f 4415 4158 4159 4414
-f 4411 4162 4163 4410
-f 4149 4179 4180 4150
-f 3464 3493 4166 4153
-f 4156 4169 4170 4157
-f 4160 4173 4174 4161
-f 3493 3548 4183 4166
-f 4169 4186 4187 4170
-f 4408 4190 4191 4407
-f 4177 4194 4206 4207 4178
-f 4181 4210 4211 4182
-f 4184 4196 4197 4185
-f 4188 4200 4201 4189
-f 4192 4204 4205 4193
-f 4196 4213 4214 4197
-f 4393 4400 4201 4200
-f 4403 4404 4205 4204
-f 4208 4237 4238 4209
-f 3631 3661 4224 4212
-f 4215 4227 4228 4216
-f 4219 4231 4232 4220
-f 3661 3716 4241 4224
-f 4227 4244 4245 4228
-f 4398 4248 4249 4397
-f 4235 4252 4265 4266 4236
-f 4239 4253 4269 4270 4240
-f 4242 4255 4256 4243
-f 4246 4259 4260 4247
-f 4250 4263 4264 4251
-f 4255 4272 4273 4256
-f 4391 4276 4277 4380
-f 4377 4280 4281 4376
-f 4267 4283 4297 4298 4268
-f 3798 3827 4284 4271
-f 4274 4287 4288 4275
-f 4278 4291 4292 4279
-f 3827 3882 4301 4284
-f 4287 4304 4305 4288
-f 4382 4383 4292 4291
-f 4295 4312 4325 4326 4296
-f 4299 4329 4330 4313 4300
-f 4302 4315 4316 4303
-f 4306 4319 4320 4307
-f 4310 4323 4324 4311
-f 4315 4332 4333 4316
-f 4389 4336 4337 4388
-f 4385 4340 4341 4374
-f 4327 3988 3987 4328
-f 3982 2977 4000 4331
-f 4334 3997 3996 4335
-f 4338 3993 3992 4339
-f 4415 4414 4142 4141
-f 4411 4410 4146 4145
-f 4407 4406 4175 4174
-f 4356 4355 4130 4131
-f 4348 4347 4081 4080
-f 4359 4364 4068 4069
-f 4366 4350 4064 4065
-f 4368 4363 4022 4021
-f 4371 4372 4008 4009
-f 4388 4387 4321 4320
-f 4375 4384 4310 4311
-f 4381 4390 4306 4307
-f 4378 4377 4263 4262
-f 4398 4397 4232 4231
-f 4403 4402 4220 4221
-f 4084 4085 4416 4417
-f 4040 4052 4419
-f 4024 4012 4420
-f 4206 4194 4424
-f 4264 4265 4428 4429
-f 4281 4294 4431
-f 4325 4312 4432
-f 4146 4147 4436 4437
-f 4101 4116 4439
-# 4404 elements
diff --git a/libobj/examples/negcube.obj b/libobj/examples/negcube.obj
deleted file mode 100644
index 18109cd..0000000
--- a/libobj/examples/negcube.obj
+++ /dev/null
@@ -1,33 +0,0 @@
-# This is a cube with negative vertex reference numbers. Each element
-# references the vertices stored immediately above it in the file.
-# Note that vertices are not shared.
-v 0.000000 2.000000 2.000000
-v 0.000000 0.000000 2.000000
-v 2.000000 0.000000 2.000000
-v 2.000000 2.000000 2.000000
-f -4 -3 -2 -1
-v 2.000000 2.000000 0.000000
-v 2.000000 0.000000 0.000000
-v 0.000000 0.000000 0.000000
-v 0.000000 2.000000 0.000000
-f -4 -3 -2 -1
-v 2.000000 2.000000 2.000000
-v 2.000000 0.000000 2.000000
-v 2.000000 0.000000 0.000000
-v 2.000000 2.000000 0.000000
-f -4 -3 -2 -1
-v 0.000000 2.000000 0.000000
-v 0.000000 2.000000 2.000000
-v 2.000000 2.000000 2.000000
-v 2.000000 2.000000 0.000000
-f -4 -3 -2 -1
-v 0.000000 2.000000 0.000000
-v 0.000000 0.000000 0.000000
-v 0.000000 0.000000 2.000000
-v 0.000000 2.000000 2.000000
-f -4 -3 -2 -1
-v 0.000000 0.000000 2.000000
-v 0.000000 0.000000 0.000000
-v 2.000000 0.000000 0.000000
-v 2.000000 0.000000 2.000000
-f -4 -3 -2 -1
diff --git a/libobj/examples/square.obj b/libobj/examples/square.obj
deleted file mode 100644
index d44fd6d..0000000
--- a/libobj/examples/square.obj
+++ /dev/null
@@ -1,9 +0,0 @@
-# This example shows a square that measures two units on each side and
-# faces in the positive direction (toward the camera). Note that the
-# ordering of the vertices is counterclockwise. This ordering
-# determines that the square is facing forward.
-v 0.000000 2.000000 0.000000
-v 0.000000 0.000000 0.000000
-v 2.000000 0.000000 0.000000
-v 2.000000 2.000000 0.000000
-f 1 2 3 4
diff --git a/libobj/mkfile b/libobj/mkfile
deleted file mode 100644
index f32264e..0000000
--- a/libobj/mkfile
+++ /dev/null
@@ -1,9 +0,0 @@
-</$objtype/mkfile
-
-LIB=../libobj.a$O
-OFILES=\
- obj.$O\
-
-HFILES=../obj.h
-
-</sys/src/cmd/mklib
diff --git a/libobj/obj.2.man b/libobj/obj.2.man
deleted file mode 100644
index 9196385..0000000
--- a/libobj/obj.2.man
+++ /dev/null
@@ -1,88 +0,0 @@
-.TH OBJ 2
-.SH NAME
-objparse,
-objfree,
-OBJfmt,
-OBJfmtinstall
-\- OBJ parser
-.SH SYNOPSIS
-.ta 0.7i +0.7i +0.7i +0.7i +0.7i +0.7i +0.7i
-.EX
-#include <u.h>
-#include <libc.h>
-#include <obj.h>
-
-enum {
- OBJVGeometric,
- OBJVTexture,
- OBJVNormal,
- OBJVParametric,
- OBJNVERT
-};
-
-enum {
- OBJEPoint,
- OBJELine,
- OBJEFace,
- OBJECurve,
- OBJECurve2,
- OBJESurface
-};
-
-enum {
- OBJHTSIZE = 17
-};
-
-typedef struct
-{
- union {
- struct { double x, y, z, w; }; /* geometric */
- struct { double u, v, vv; }; /* texture and parametric */
- struct { double i, j, k; }; /* normal */
- };
-} OBJVertex;
-
-typedef struct
-{
- OBJVertex *verts;
- int nvert;
-} OBJVertexArray;
-
-typedef struct
-{
- int *indices;
- int nindex;
- int type;
- OBJElem *next;
-} OBJElem;
-
-typedef struct
-{
- char *name;
- OBJElem *child;
- OBJObject *next;
-} OBJObject;
-
-typedef struct
-{
- OBJVertexArray vertdata[OBJNVERT];
- OBJObject *objtab[OBJHTSIZE];
-} OBJ;
-
-OBJ *objparse(char *file);
-void objfree(OBJ *obj);
-int OBJfmt(Fmt*);
-void OBJfmtinstall(void);
-.EE
-.SH DESCRIPTION
-An OBJ structure contains geometry and material information about a set of 3D objects
-.SH SOURCE
-.B /sys/src/libobj
-.SH SEE ALSO
-.IR geometry (2)
-.br
-http://paulbourke.net/dataformats/obj
-.br
-https://people.sc.fsu.edu/~jburkardt/data/obj/obj.html
-.SH DIAGNOSTICS
-.SH BUGS
diff --git a/libobj/obj.c b/libobj/obj.c
deleted file mode 100644
index 1575f70..0000000
--- a/libobj/obj.c
+++ /dev/null
@@ -1,584 +0,0 @@
-#include <u.h>
-#include <libc.h>
-#include <ctype.h>
-#include <bio.h>
-#include "../obj.h"
-
-#undef isspace(c)
-#define isspace(c) ((c) == ' ' || (c) == '\t')
-
-typedef struct Line Line;
-struct Line
-{
- char *file;
- ulong lineno;
-};
-
-static Line curline;
-
-static void
-error(char *fmt, ...)
-{
- va_list va;
- char buf[ERRMAX], *bp;
-
- va_start(va, fmt);
- bp = seprint(buf, buf + sizeof buf, "%s:%lud ", curline.file, curline.lineno);
- vseprint(bp, buf + sizeof buf, fmt, va);
- va_end(va);
- werrstr("%s\n", buf);
-}
-
-static void *
-emalloc(ulong n)
-{
- void *p;
-
- p = malloc(n);
- if(p == nil)
- sysfatal("malloc: %r");
- memset(p, 0, n);
- setmalloctag(p, getcallerpc(&n));
- return p;
-}
-
-static void *
-erealloc(void *v, ulong n)
-{
- void *nv;
-
- nv = realloc(v, n);
- if(nv == nil)
- sysfatal("realloc: %r");
- setrealloctag(nv, getcallerpc(&v));
- return nv;
-}
-
-static uint
-hash(char *s)
-{
- uint h;
-
- h = 0x811c9dc5;
- while(*s != 0)
- h = (h^(uchar)*s++) * 0x1000193;
- return h % OBJHTSIZE;
-}
-
-static void
-addvertva(OBJVertexArray *va, OBJVertex v)
-{
- va->verts = erealloc(va->verts, ++va->nvert*sizeof(OBJVertex));
- va->verts[va->nvert-1] = v;
-}
-
-static void
-addvert(OBJ *obj, OBJVertex v, int vtype)
-{
- addvertva(&obj->vertdata[vtype], v);
-}
-
-static void
-addelem(OBJObject *o, OBJElem *e)
-{
- OBJElem *ep;
-
- if(o->child == nil){
- o->child = e;
- return;
- }
- for(ep = o->child; ep->next != nil; ep = ep->next)
- ;
- ep->next = e;
-}
-
-static OBJElem *
-allocelem(int t)
-{
- OBJElem *e;
-
- e = emalloc(sizeof(OBJElem));
- e->type = t;
- return e;
-}
-
-static void
-addelemidx(OBJElem *e, int idx)
-{
- e->indices = erealloc(e->indices, ++e->nindex*sizeof(int));
- e->indices[e->nindex-1] = idx;
-}
-
-static void
-freeelem(OBJElem *e)
-{
- free(e->indices);
- free(e);
-}
-
-static OBJObject *
-alloco(char *n)
-{
- OBJObject *o;
-
- o = emalloc(sizeof(OBJObject));
- o->name = strdup(n);
- return o;
-}
-
-static void
-freeo(OBJObject *o)
-{
- OBJElem *e, *ne;
-
- free(o->name);
- for(e = o->child; e != nil; e = ne){
- ne = e->next;
- freeelem(e);
- }
- free(o);
-}
-
-static void
-pusho(OBJ *obj, OBJObject *o)
-{
- OBJObject *op, *prev;
- uint h;
-
- prev = nil;
- h = hash(o->name);
- for(op = obj->objtab[h]; op != nil; prev = op, op = op->next)
- if(strcmp(op->name, o->name) == 0){
- o->next = op->next;
- freeo(op);
- break;
- }
- if(prev == nil){
- obj->objtab[h] = o;
- return;
- }
- prev->next = o;
-}
-
-static OBJObject *
-geto(OBJ *obj, char *n)
-{
- OBJObject *o;
- uint h;
-
- h = hash(n);
- for(o = obj->objtab[h]; o != nil; o = o->next)
- if(strcmp(o->name, n) == 0)
- break;
- return o;
-}
-
-OBJ *
-objparse(char *file)
-{
- Biobuf *bin;
- OBJ *obj;
- OBJObject *o;
- OBJElem *e;
- OBJVertex v;
- double *d;
- char c, buf[256], *p;
- int vtype, idx, sign;
-
- o = nil;
- bin = Bopen(file, OREAD);
- if(bin == nil)
- sysfatal("Bopen: %r");
- curline.file = file;
- curline.lineno = 1;
- obj = emalloc(sizeof(OBJ));
- while((c = Bgetc(bin)) != Beof){
- switch(c){
- case 'v':
- d = (double*)&v;
- c = Bgetc(bin);
- vtype = OBJVGeometric;
- switch(c){
- case 't': vtype = OBJVTexture; break;
- case 'p': vtype = OBJVParametric; break;
- case 'n': vtype = OBJVNormal; break;
- default:
- if(!isspace(c)){
- error("wrong vertex type");
- goto error;
- }
- }
- while(c = Bgetc(bin), c != Beof && c != '\n' && d-(double*)&v < 4){
- while(isspace(c))
- c = Bgetc(bin);
- if(c == '\\'){
- while(c != '\n')
- c = Bgetc(bin);
- continue;
- }
- if(c != '-' && !isdigit(c)){
- error("unexpected character '%c'", c);
- goto error;
- }
- Bungetc(bin);
- Bgetd(bin, d++);
- }
- switch(vtype){
- case OBJVGeometric:
- if(d-(double*)&v < 3){
- error("not enough coordinates");
- goto error;
- }
- if(d-(double*)&v < 4)
- *d = 1; /* default w value */
- break;
- case OBJVTexture:
- if(d-(double*)&v < 1){
- error("not enough coordinates");
- goto error;
- }
- while(d-(double*)&v < 3)
- *d++ = 0; /* default v and w values */
- break;
- case OBJVParametric:
- if(d-(double*)&v < 2){
- error("not enough coordinates");
- goto error;
- }
- if(d-(double*)&v < 3)
- *d = 1; /* default w value */
- break;
- case OBJVNormal:
- if(d-(double*)&v < 3){
- error("not enough coordinates");
- goto error;
- }
- }
- addvert(obj, v, vtype);
- break;
- case 'o':
- p = buf;
- c = Bgetc(bin);
- if(!isspace(c)){
- error("syntax error");
- goto error;
- }
- while(isspace(c))
- c = Bgetc(bin);
- if(!isalnum(c)){
- error("unexpected character '%c'", c);
- goto error;
- }
- do{
- *p++ = c;
- }while(c = Bgetc(bin), isalnum(c) && p-buf < sizeof(buf)-1);
- *p = 0;
- o = geto(obj, buf);
- if(o == nil){
- o = alloco(buf);
- pusho(obj, o);
- }
- break;
- case 'g':
- case 's':
- /* element and smoothing groups ignored for now */
- while(c != '\n')
- c = Bgetc(bin);
- break;
- case 'p':
- c = Bgetc(bin);
- if(!isspace(c)){
- error("syntax error");
- goto error;
- }
- while(c = Bgetc(bin), c != '\n'){
- idx = 0;
- sign = 0;
- while(isspace(c))
- c = Bgetc(bin);
- if(c == '\\'){
- while(c != '\n')
- c = Bgetc(bin);
- continue;
- }
- if(c != '-' && !isdigit(c)){
- error("unexpected character '%c'", c);
- goto error;
- }
- if(c == '-'){
- sign = 1;
- c = Bgetc(bin);
- if(!isdigit(c)){
- error("unexpected character '%c'", c);
- goto error;
- }
- }
- do{
- idx = idx*10 + c-'0';
- }while(c = Bgetc(bin), isdigit(c));
- Bungetc(bin);
- idx = sign ? obj->vertdata[OBJVGeometric].nvert-idx : idx-1;
- if(idx+1 > obj->vertdata[OBJVGeometric].nvert){
- error("not enough vertices");
- goto error;
- }
- e = allocelem(OBJEPoint);
- addelemidx(e, idx);
- if(o == nil){
- o = alloco("default");
- pusho(obj, o);
- }
- addelem(o, e);
- }
- break;
- case 'l':
- c = Bgetc(bin);
- if(!isspace(c)){
- error("syntax error");
- goto error;
- }
- while(c = Bgetc(bin), c != '\n'){
- idx = 0;
- sign = 0;
- while(isspace(c))
- c = Bgetc(bin);
- if(c == '\\'){
- while(c != '\n')
- c = Bgetc(bin);
- continue;
- }
- if(c != '-' && !isdigit(c)){
- error("unexpected character '%c'", c);
- goto error;
- }
- if(c == '-'){
- sign = 1;
- c = Bgetc(bin);
- if(!isdigit(c)){
- error("unexpected character '%c'", c);
- goto error;
- }
- }
- do{
- idx = idx*10 + c-'0';
- }while(c = Bgetc(bin), isdigit(c));
- idx = sign ? obj->vertdata[OBJVGeometric].nvert-idx : idx-1;
- if(idx+1 > obj->vertdata[OBJVGeometric].nvert){
- error("not enough vertices");
- goto error;
- }
- e = allocelem(OBJELine);
- addelemidx(e, idx);
-Line2:
- idx = 0;
- sign = 0;
- while(isspace(c))
- c = Bgetc(bin);
- if(c == '\\'){
- while(c != '\n')
- c = Bgetc(bin);
- c = Bgetc(bin);
- goto Line2;
- }
- if(c != '-' && !isdigit(c)){
- freeelem(e);
- error("unexpected character '%c'", c);
- goto error;
- }
- if(c == '-'){
- sign = 1;
- c = Bgetc(bin);
- if(!isdigit(c)){
- freeelem(e);
- error("unexpected character '%c'", c);
- goto error;
- }
- }
- do{
- idx = idx*10 + c-'0';
- }while(c = Bgetc(bin), isdigit(c));
- Bungetc(bin);
- idx = sign ? obj->vertdata[OBJVGeometric].nvert-idx : idx-1;
- if(idx+1 > obj->vertdata[OBJVGeometric].nvert){
- freeelem(e);
- error("not enough vertices");
- goto error;
- }
- addelemidx(e, idx);
- if(o == nil){
- o = alloco("default");
- pusho(obj, o);
- }
- addelem(o, e);
- }
- break;
- case 'f':
- e = allocelem(OBJEFace);
- c = Bgetc(bin);
- if(!isspace(c)){
- freeelem(e);
- error("syntax error");
- goto error;
- }
- while(c = Bgetc(bin), c != '\n'){
- idx = 0;
- sign = 0;
- while(isspace(c))
- c = Bgetc(bin);
- if(c == '\\'){
- while(c != '\n')
- c = Bgetc(bin);
- continue;
- }
- if(c != '-' && !isdigit(c)){
- freeelem(e);
- error("unexpected character '%c'", c);
- goto error;
- }
- if(c == '-'){
- sign = 1;
- c = Bgetc(bin);
- if(!isdigit(c)){
- freeelem(e);
- error("unexpected character '%c'", c);
- goto error;
- }
- }
- do{
- idx = idx*10 + c-'0';
- }while(c = Bgetc(bin), isdigit(c));
- Bungetc(bin);
- idx = sign ? obj->vertdata[OBJVGeometric].nvert-idx : idx-1;
- if(idx+1 > obj->vertdata[OBJVGeometric].nvert){
- freeelem(e);
- error("not enough vertices");
- goto error;
- }
- addelemidx(e, idx);
- }
- if(o == nil){
- o = alloco("default");
- pusho(obj, o);
- }
- addelem(o, e);
- break;
- case 'm':
- case 'u':
- p = buf;
- do{
- *p++ = c;
- }while(c = Bgetc(bin), isalpha(c) && p-buf < sizeof(buf)-1);
- *p = 0;
- if(strcmp(buf, "mtllib") != 0 && strcmp(buf, "usemtl") != 0){
- error("syntax error");
- goto error;
- }
- while(c != '\n')
- c = Bgetc(bin);
- break;
- case '#':
- while(c != '\n')
- c = Bgetc(bin);
- break;
- }
- do{
- if(c == '\n'){
- curline.lineno++;
- break;
- }
- if(!isspace(c)){
- error("syntax error");
- goto error;
- }
- }while((c = Bgetc(bin)) != Beof);
- }
- Bterm(bin);
- return obj;
-error:
- objfree(obj);
- Bterm(bin);
- return nil;
-}
-
-void
-objfree(OBJ *obj)
-{
- OBJObject *o, *no;
- int i;
-
- if(obj == nil)
- return;
- for(i = 0; i < nelem(obj->vertdata); i++)
- free(obj->vertdata[i].verts);
- for(i = 0; i < nelem(obj->objtab); i++)
- for(o = obj->objtab[i]; o != nil; o = no){
- no = o->next;
- freeo(o);
- }
- free(obj);
-}
-
-int
-OBJfmt(Fmt *f)
-{
- OBJ *obj;
- OBJObject *o;
- OBJElem *e;
- OBJVertex v;
- int i, j, r, pack;
-
- r = pack = 0;
- obj = va_arg(f->args, OBJ*);
- for(i = 0; i < nelem(obj->vertdata); i++)
- for(j = 0; j < obj->vertdata[i].nvert; j++){
- v = obj->vertdata[i].verts[j];
- switch(i){
- case OBJVGeometric:
- r += fmtprint(f, "v %g %g %g %g\n", v.x, v.y, v.z, v.w);
- break;
- case OBJVTexture:
- r += fmtprint(f, "vt %g %g %g\n", v.u, v.v, v.vv);
- break;
- case OBJVNormal:
- r += fmtprint(f, "vn %g %g %g\n", v.i, v.j, v.k);
- break;
- case OBJVParametric:
- r += fmtprint(f, "vp %g %g %g\n", v.u, v.v, v.vv);
- break;
- }
- }
- for(i = 0; i < nelem(obj->objtab); i++)
- for(o = obj->objtab[i]; o != nil; o = o->next){
- if(strcmp(o->name, "default") != 0)
- r += fmtprint(f, "o %s\n", o->name);
- for(e = o->child; e != nil; e = e->next){
- switch(e->type){
- case OBJEPoint:
- if(pack == 0)
- r += fmtprint(f, "p");
- pack = pack > 0 ? --pack : 8-1;
- break;
- case OBJELine:
- r += fmtprint(f, "l");
- break;
- case OBJEFace:
- r += fmtprint(f, "f");
- break;
- //case OBJECurve:
- //case OBJECurve2:
- //case OBJESurface:
- }
- for(j = 0; j < e->nindex; j++)
- r += fmtprint(f, " %d", e->indices[j]+1);
- if(e->type != OBJEPoint || pack == 0)
- r += fmtprint(f, "\n");
- }
- }
- return r;
-}
-
-void
-OBJfmtinstall(void)
-{
- fmtinstall('O', OBJfmt);
-}
diff --git a/libobj/spec b/libobj/spec
deleted file mode 100644
index a535f4b..0000000
--- a/libobj/spec
+++ /dev/null
@@ -1,2 +0,0 @@
-http://paulbourke.net/dataformats/obj
-https://people.sc.fsu.edu/~jburkardt/data/obj/obj.html
diff --git a/libobj/test/main.acid b/libobj/test/main.acid
deleted file mode 100644
index 25a8f30..0000000
--- a/libobj/test/main.acid
+++ /dev/null
@@ -1,525 +0,0 @@
-sizeof_1_ = 8;
-aggr _1_
-{
- 'U' 0 lo;
- 'U' 4 hi;
-};
-
-defn
-_1_(addr) {
- complex _1_ addr;
- print(" lo ", addr.lo, "\n");
- print(" hi ", addr.hi, "\n");
-};
-
-sizeofFPdbleword = 8;
-aggr FPdbleword
-{
- 'F' 0 x;
- {
- 'U' 0 lo;
- 'U' 4 hi;
- };
-};
-
-defn
-FPdbleword(addr) {
- complex FPdbleword addr;
- print(" x ", addr.x, "\n");
- print("_1_ {\n");
- _1_(addr+0);
- print("}\n");
-};
-
-UTFmax = 4;
-Runesync = 128;
-Runeself = 128;
-Runeerror = 65533;
-Runemax = 1114111;
-Runemask = 2097151;
-sizeofFmt = 80;
-aggr Fmt
-{
- 'b' 0 runes;
- 'Y' 8 start;
- 'Y' 16 to;
- 'Y' 24 stop;
- 'Y' 32 flush;
- 'Y' 40 farg;
- 'D' 48 nfmt;
- 'Y' 56 args;
- 'D' 64 r;
- 'D' 68 width;
- 'D' 72 prec;
- 'U' 76 flags;
-};
-
-defn
-Fmt(addr) {
- complex Fmt addr;
- print(" runes ", addr.runes, "\n");
- print(" start ", addr.start\Y, "\n");
- print(" to ", addr.to\Y, "\n");
- print(" stop ", addr.stop\Y, "\n");
- print(" flush ", addr.flush\Y, "\n");
- print(" farg ", addr.farg\Y, "\n");
- print(" nfmt ", addr.nfmt, "\n");
- print(" args ", addr.args\Y, "\n");
- print(" r ", addr.r, "\n");
- print(" width ", addr.width, "\n");
- print(" prec ", addr.prec, "\n");
- print(" flags ", addr.flags, "\n");
-};
-
-FmtWidth = 1;
-FmtLeft = 2;
-FmtPrec = 4;
-FmtSharp = 8;
-FmtSpace = 16;
-FmtSign = 32;
-FmtZero = 64;
-FmtUnsigned = 128;
-FmtShort = 256;
-FmtLong = 512;
-FmtVLong = 1024;
-FmtComma = 2048;
-FmtByte = 4096;
-FmtFlag = 8192;
-sizeofTm = 40;
-aggr Tm
-{
- 'D' 0 sec;
- 'D' 4 min;
- 'D' 8 hour;
- 'D' 12 mday;
- 'D' 16 mon;
- 'D' 20 year;
- 'D' 24 wday;
- 'D' 28 yday;
- 'a' 32 zone;
- 'D' 36 tzoff;
-};
-
-defn
-Tm(addr) {
- complex Tm addr;
- print(" sec ", addr.sec, "\n");
- print(" min ", addr.min, "\n");
- print(" hour ", addr.hour, "\n");
- print(" mday ", addr.mday, "\n");
- print(" mon ", addr.mon, "\n");
- print(" year ", addr.year, "\n");
- print(" wday ", addr.wday, "\n");
- print(" yday ", addr.yday, "\n");
- print(" zone ", addr.zone, "\n");
- print(" tzoff ", addr.tzoff, "\n");
-};
-
-PNPROC = 1;
-PNGROUP = 2;
-Profoff = 0;
-Profuser = 1;
-Profkernel = 2;
-Proftime = 3;
-Profsample = 4;
-sizeofLock = 8;
-aggr Lock
-{
- 'D' 0 val;
-};
-
-defn
-Lock(addr) {
- complex Lock addr;
- print(" val ", addr.val, "\n");
-};
-
-sizeofQLp = 16;
-aggr QLp
-{
- 'D' 0 inuse;
- 'D' 4 state;
- 'A' QLp 8 next;
-};
-
-defn
-QLp(addr) {
- complex QLp addr;
- print(" inuse ", addr.inuse, "\n");
- print(" state ", addr.state, "\n");
- print(" next ", addr.next\Y, "\n");
-};
-
-sizeofQLock = 32;
-aggr QLock
-{
- Lock 0 lock;
- 'D' 8 locked;
- 'A' QLp 16 $head;
- 'A' QLp 24 $tail;
-};
-
-defn
-QLock(addr) {
- complex QLock addr;
- print("Lock lock {\n");
- Lock(addr.lock);
- print("}\n");
- print(" locked ", addr.locked, "\n");
- print(" $head ", addr.$head\Y, "\n");
- print(" $tail ", addr.$tail\Y, "\n");
-};
-
-sizeofRWLock = 32;
-aggr RWLock
-{
- Lock 0 lock;
- 'D' 8 readers;
- 'D' 12 writer;
- 'A' QLp 16 $head;
- 'A' QLp 24 $tail;
-};
-
-defn
-RWLock(addr) {
- complex RWLock addr;
- print("Lock lock {\n");
- Lock(addr.lock);
- print("}\n");
- print(" readers ", addr.readers, "\n");
- print(" writer ", addr.writer, "\n");
- print(" $head ", addr.$head\Y, "\n");
- print(" $tail ", addr.$tail\Y, "\n");
-};
-
-sizeofRendez = 24;
-aggr Rendez
-{
- 'A' QLock 0 l;
- 'A' QLp 8 $head;
- 'A' QLp 16 $tail;
-};
-
-defn
-Rendez(addr) {
- complex Rendez addr;
- print(" l ", addr.l\Y, "\n");
- print(" $head ", addr.$head\Y, "\n");
- print(" $tail ", addr.$tail\Y, "\n");
-};
-
-sizeofNetConnInfo = 72;
-aggr NetConnInfo
-{
- 'Y' 0 dir;
- 'Y' 8 root;
- 'Y' 16 spec;
- 'Y' 24 lsys;
- 'Y' 32 lserv;
- 'Y' 40 rsys;
- 'Y' 48 rserv;
- 'Y' 56 laddr;
- 'Y' 64 raddr;
-};
-
-defn
-NetConnInfo(addr) {
- complex NetConnInfo addr;
- print(" dir ", addr.dir\Y, "\n");
- print(" root ", addr.root\Y, "\n");
- print(" spec ", addr.spec\Y, "\n");
- print(" lsys ", addr.lsys\Y, "\n");
- print(" lserv ", addr.lserv\Y, "\n");
- print(" rsys ", addr.rsys\Y, "\n");
- print(" rserv ", addr.rserv\Y, "\n");
- print(" laddr ", addr.laddr\Y, "\n");
- print(" raddr ", addr.raddr\Y, "\n");
-};
-
-RFNAMEG = 1;
-RFENVG = 2;
-RFFDG = 4;
-RFNOTEG = 8;
-RFPROC = 16;
-RFMEM = 32;
-RFNOWAIT = 64;
-RFCNAMEG = 1024;
-RFCENVG = 2048;
-RFCFDG = 4096;
-RFREND = 8192;
-RFNOMNT = 16384;
-sizeofQid = 16;
-aggr Qid
-{
- 'W' 0 path;
- 'U' 8 vers;
- 'b' 12 type;
-};
-
-defn
-Qid(addr) {
- complex Qid addr;
- print(" path ", addr.path, "\n");
- print(" vers ", addr.vers, "\n");
- print(" type ", addr.type, "\n");
-};
-
-sizeofDir = 80;
-aggr Dir
-{
- 'u' 0 type;
- 'U' 4 dev;
- Qid 8 qid;
- 'U' 24 mode;
- 'U' 28 atime;
- 'U' 32 mtime;
- 'V' 40 length;
- 'Y' 48 name;
- 'Y' 56 uid;
- 'Y' 64 gid;
- 'Y' 72 muid;
-};
-
-defn
-Dir(addr) {
- complex Dir addr;
- print(" type ", addr.type, "\n");
- print(" dev ", addr.dev, "\n");
- print("Qid qid {\n");
- Qid(addr.qid);
- print("}\n");
- print(" mode ", addr.mode, "\n");
- print(" atime ", addr.atime, "\n");
- print(" mtime ", addr.mtime, "\n");
- print(" length ", addr.length, "\n");
- print(" name ", addr.name\Y, "\n");
- print(" uid ", addr.uid\Y, "\n");
- print(" gid ", addr.gid\Y, "\n");
- print(" muid ", addr.muid\Y, "\n");
-};
-
-sizeofWaitmsg = 24;
-aggr Waitmsg
-{
- 'D' 0 pid;
- 'a' 4 time;
- 'Y' 16 msg;
-};
-
-defn
-Waitmsg(addr) {
- complex Waitmsg addr;
- print(" pid ", addr.pid, "\n");
- print(" time ", addr.time, "\n");
- print(" msg ", addr.msg\Y, "\n");
-};
-
-sizeofIOchunk = 16;
-aggr IOchunk
-{
- 'Y' 0 addr;
- 'U' 8 len;
-};
-
-defn
-IOchunk(addr) {
- complex IOchunk addr;
- print(" addr ", addr.addr\Y, "\n");
- print(" len ", addr.len, "\n");
-};
-
-OBJVGeometric = 0;
-OBJVTexture = 1;
-OBJVNormal = 2;
-OBJVParametric = 3;
-OBJNVERT = 4;
-OBJEPoint = 0;
-OBJELine = 1;
-OBJEFace = 2;
-OBJECurve = 3;
-OBJECurve2 = 4;
-OBJESurface = 5;
-OBJGGlobal = 0;
-OBJGSmoothing = 1;
-OBJGMerging = 2;
-OBJGObject = 3;
-OBJHTSIZE = 16;
-sizeof_2_ = 32;
-aggr _2_
-{
- 'F' 0 x;
- 'F' 8 y;
- 'F' 16 z;
- 'F' 24 w;
-};
-
-defn
-_2_(addr) {
- complex _2_ addr;
- print(" x ", addr.x, "\n");
- print(" y ", addr.y, "\n");
- print(" z ", addr.z, "\n");
- print(" w ", addr.w, "\n");
-};
-
-sizeof_3_ = 24;
-aggr _3_
-{
- 'F' 0 u;
- 'F' 8 v;
- 'F' 16 vv;
-};
-
-defn
-_3_(addr) {
- complex _3_ addr;
- print(" u ", addr.u, "\n");
- print(" v ", addr.v, "\n");
- print(" vv ", addr.vv, "\n");
-};
-
-sizeof_4_ = 24;
-aggr _4_
-{
- 'F' 0 i;
- 'F' 8 j;
- 'F' 16 k;
-};
-
-defn
-_4_(addr) {
- complex _4_ addr;
- print(" i ", addr.i, "\n");
- print(" j ", addr.j, "\n");
- print(" k ", addr.k, "\n");
-};
-
-sizeof_5_ = 32;
-aggr _5_
-{
- {
- 'F' 0 x;
- 'F' 8 y;
- 'F' 16 z;
- 'F' 24 w;
- };
- {
- 'F' 0 u;
- 'F' 8 v;
- 'F' 16 vv;
- };
- {
- 'F' 0 i;
- 'F' 8 j;
- 'F' 16 k;
- };
-};
-
-defn
-_5_(addr) {
- complex _5_ addr;
- print("_2_ {\n");
- _2_(addr+0);
- print("}\n");
- print("_3_ {\n");
- _3_(addr+0);
- print("}\n");
- print("_4_ {\n");
- _4_(addr+0);
- print("}\n");
-};
-
-sizeofOBJVertex = 32;
-aggr OBJVertex
-{
- {
- {
- 'F' 0 x;
- 'F' 8 y;
- 'F' 16 z;
- 'F' 24 w;
- };
- {
- 'F' 0 u;
- 'F' 8 v;
- 'F' 16 vv;
- };
- {
- 'F' 0 i;
- 'F' 8 j;
- 'F' 16 k;
- };
- };
-};
-
-defn
-OBJVertex(addr) {
- complex OBJVertex addr;
- print("_5_ {\n");
- _5_(addr+0);
- print("}\n");
-};
-
-sizeofOBJVertexArray = 16;
-aggr OBJVertexArray
-{
- 'A' OBJVertex 0 verts;
- 'D' 8 nvert;
-};
-
-defn
-OBJVertexArray(addr) {
- complex OBJVertexArray addr;
- print(" verts ", addr.verts\Y, "\n");
- print(" nvert ", addr.nvert, "\n");
-};
-
-sizeofOBJElem = 24;
-aggr OBJElem
-{
- 'Y' 0 indices;
- 'D' 8 nindex;
- 'D' 12 type;
- 'A' OBJElem 16 next;
-};
-
-defn
-OBJElem(addr) {
- complex OBJElem addr;
- print(" indices ", addr.indices\Y, "\n");
- print(" nindex ", addr.nindex, "\n");
- print(" type ", addr.type, "\n");
- print(" next ", addr.next\Y, "\n");
-};
-
-sizeofOBJObject = 24;
-aggr OBJObject
-{
- 'Y' 0 name;
- 'A' OBJElem 8 child;
- 'A' OBJObject 16 next;
-};
-
-defn
-OBJObject(addr) {
- complex OBJObject addr;
- print(" name ", addr.name\Y, "\n");
- print(" child ", addr.child\Y, "\n");
- print(" next ", addr.next\Y, "\n");
-};
-
-sizeofOBJ = 192;
-aggr OBJ
-{
- 'a' 0 vertdata;
- 'a' 64 objtab;
-};
-
-defn
-OBJ(addr) {
- complex OBJ addr;
- print(" vertdata ", addr.vertdata, "\n");
- print(" objtab ", addr.objtab, "\n");
-};
-
-complex OBJ main:obj;
diff --git a/libobj/test/main.c b/libobj/test/main.c
deleted file mode 100644
index 1a60b42..0000000
--- a/libobj/test/main.c
+++ /dev/null
@@ -1,35 +0,0 @@
-#include <u.h>
-#include <libc.h>
-#include "../../obj.h"
-
-static char fd0[] = "/fd/0";
-
-void
-usage(void)
-{
- fprint(2, "usage: %s [file]\n", argv0);
- exits("usage");
-}
-
-void
-main(int argc, char *argv[])
-{
- OBJ *obj;
- char *f;
-
- f = fd0;
- OBJfmtinstall();
- ARGBEGIN{
- default: usage();
- }ARGEND;
- if(argc > 1)
- usage();
- if(argc == 1)
- f = argv[0];
- obj = objparse(f);
- if(obj == nil)
- sysfatal("objparse: %r");
- print("%O\n", obj);
- objfree(obj);
- exits(0);
-}
diff --git a/libobj/test/mkfile b/libobj/test/mkfile
deleted file mode 100644
index 2f4895c..0000000
--- a/libobj/test/mkfile
+++ /dev/null
@@ -1,21 +0,0 @@
-</$objtype/mkfile
-
-BIN=$home/$objtype/bin
-TARG=objtest
-OFILES=\
- main.$O\
-
-HFILES=../../obj.h
-
-LIB=\
- ../../libobj.a$O\
-
-</sys/src/cmd/mkone
-
-../../libobj.a$O:
- cd ..
- mk install
-
-clean nuke:V:
- rm -f *.[$OS] [$OS].out y.tab.? y.debug y.output $TARG
- @{cd ..; mk $target}
diff --git a/main.acid b/main.acid
index 67e14e0..1a55a8a 100644
--- a/main.acid
+++ b/main.acid
@@ -788,6 +788,162 @@ complex Display display;
complex Font font;
complex Image screen;
complex Screen _screen;
+sizeofMemdata = 40;
+aggr Memdata
+{
+ 'Y' 0 base;
+ 'Y' 8 bdata;
+ 'D' 16 ref;
+ 'Y' 24 imref;
+ 'D' 32 allocd;
+};
+
+defn
+Memdata(addr) {
+ complex Memdata addr;
+ print(" base ", addr.base\Y, "\n");
+ print(" bdata ", addr.bdata\Y, "\n");
+ print(" ref ", addr.ref, "\n");
+ print(" imref ", addr.imref\Y, "\n");
+ print(" allocd ", addr.allocd, "\n");
+};
+
+Frepl = 1;
+Fsimple = 2;
+Fgrey = 4;
+Falpha = 8;
+Fcmap = 16;
+Fbytes = 32;
+sizeofMemimage = 168;
+aggr Memimage
+{
+ Rectangle 0 r;
+ Rectangle 16 clipr;
+ 'D' 32 depth;
+ 'D' 36 nchan;
+ 'U' 40 chan;
+ 'Y' 48 cmap;
+ 'A' Memdata 56 data;
+ 'D' 64 zero;
+ 'U' 68 width;
+ 'Y' 72 layer;
+ 'U' 80 flags;
+ 'a' 84 shift;
+ 'a' 112 mask;
+ 'a' 140 nbits;
+};
+
+defn
+Memimage(addr) {
+ complex Memimage addr;
+ print("Rectangle r {\n");
+ Rectangle(addr.r);
+ print("}\n");
+ print("Rectangle clipr {\n");
+ Rectangle(addr.clipr);
+ print("}\n");
+ print(" depth ", addr.depth, "\n");
+ print(" nchan ", addr.nchan, "\n");
+ print(" chan ", addr.chan, "\n");
+ print(" cmap ", addr.cmap\Y, "\n");
+ print(" data ", addr.data\Y, "\n");
+ print(" zero ", addr.zero, "\n");
+ print(" width ", addr.width, "\n");
+ print(" layer ", addr.layer\Y, "\n");
+ print(" flags ", addr.flags, "\n");
+ print(" shift ", addr.shift, "\n");
+ print(" mask ", addr.mask, "\n");
+ print(" nbits ", addr.nbits, "\n");
+};
+
+sizeofMemcmap = 4864;
+aggr Memcmap
+{
+ 'a' 0 cmap2rgb;
+ 'a' 768 rgb2cmap;
+};
+
+defn
+Memcmap(addr) {
+ complex Memcmap addr;
+ print(" cmap2rgb ", addr.cmap2rgb, "\n");
+ print(" rgb2cmap ", addr.rgb2cmap, "\n");
+};
+
+sizeofMemsubfont = 32;
+aggr Memsubfont
+{
+ 'Y' 0 name;
+ 'd' 8 n;
+ 'b' 10 height;
+ 'C' 11 ascent;
+ 'A' Fontchar 16 info;
+ 'A' Memimage 24 bits;
+};
+
+defn
+Memsubfont(addr) {
+ complex Memsubfont addr;
+ print(" name ", addr.name\Y, "\n");
+ print(" n ", addr.n, "\n");
+ print(" height ", addr.height, "\n");
+ print(" ascent ", addr.ascent, "\n");
+ print(" info ", addr.info\Y, "\n");
+ print(" bits ", addr.bits\Y, "\n");
+};
+
+Simplesrc = 1;
+Simplemask = 2;
+Replsrc = 4;
+Replmask = 8;
+Fullmask = 16;
+sizeofMemdrawparam = 104;
+aggr Memdrawparam
+{
+ 'A' Memimage 0 dst;
+ Rectangle 8 r;
+ 'A' Memimage 24 src;
+ Rectangle 32 sr;
+ 'A' Memimage 48 mask;
+ Rectangle 56 mr;
+ 'D' 72 op;
+ 'U' 76 state;
+ 'U' 80 mval;
+ 'U' 84 mrgba;
+ 'U' 88 sval;
+ 'U' 92 srgba;
+ 'U' 96 sdval;
+};
+
+defn
+Memdrawparam(addr) {
+ complex Memdrawparam addr;
+ print(" dst ", addr.dst\Y, "\n");
+ print("Rectangle r {\n");
+ Rectangle(addr.r);
+ print("}\n");
+ print(" src ", addr.src\Y, "\n");
+ print("Rectangle sr {\n");
+ Rectangle(addr.sr);
+ print("}\n");
+ print(" mask ", addr.mask\Y, "\n");
+ print("Rectangle mr {\n");
+ Rectangle(addr.mr);
+ print("}\n");
+ print(" op ", addr.op, "\n");
+ print(" state ", addr.state, "\n");
+ print(" mval ", addr.mval, "\n");
+ print(" mrgba ", addr.mrgba, "\n");
+ print(" sval ", addr.sval, "\n");
+ print(" srgba ", addr.srgba, "\n");
+ print(" sdval ", addr.sdval, "\n");
+};
+
+complex Memimage memwhite;
+complex Memimage memblack;
+complex Memimage memopaque;
+complex Memimage memtransparent;
+complex Memcmap memdefcmap;
sizeofMouse = 24;
aggr Mouse
{
@@ -963,51 +1119,51 @@ Quaternion(addr) {
print(" k ", addr.k, "\n");
};
-sizeofReferenceFrame = 72;
-aggr ReferenceFrame
+sizeofRFrame = 72;
+aggr RFrame
{
Point2 0 p;
- Point2 24 xb;
- Point2 48 yb;
+ Point2 24 bx;
+ Point2 48 by;
};
defn
-ReferenceFrame(addr) {
- complex ReferenceFrame addr;
+RFrame(addr) {
+ complex RFrame addr;
print("Point2 p {\n");
Point2(addr.p);
print("}\n");
- print("Point2 xb {\n");
- Point2(addr.xb);
+ print("Point2 bx {\n");
+ Point2(addr.bx);
print("}\n");
- print("Point2 yb {\n");
- Point2(addr.yb);
+ print("Point2 by {\n");
+ Point2(addr.by);
print("}\n");
};
-sizeofReferenceFrame3 = 128;
-aggr ReferenceFrame3
+sizeofRFrame3 = 128;
+aggr RFrame3
{
Point3 0 p;
- Point3 32 xb;
- Point3 64 yb;
- Point3 96 zb;
+ Point3 32 bx;
+ Point3 64 by;
+ Point3 96 bz;
};
defn
-ReferenceFrame3(addr) {
- complex ReferenceFrame3 addr;
+RFrame3(addr) {
+ complex RFrame3 addr;
print("Point3 p {\n");
Point3(addr.p);
print("}\n");
- print("Point3 xb {\n");
- Point3(addr.xb);
+ print("Point3 bx {\n");
+ Point3(addr.bx);
print("}\n");
- print("Point3 yb {\n");
- Point3(addr.yb);
+ print("Point3 by {\n");
+ Point3(addr.by);
print("}\n");
- print("Point3 zb {\n");
- Point3(addr.zb);
+ print("Point3 bz {\n");
+ Point3(addr.bz);
print("}\n");
};
@@ -1053,101 +1209,325 @@ Vertex(addr) {
print("}\n");
};
-sizeofTriangle = 24;
-aggr Triangle
+sizeofViewport = 80;
+aggr Viewport
{
- Point 0 p0;
- Point 8 p1;
- Point 16 p2;
+ {
+ Point2 0 p;
+ Point2 24 bx;
+ Point2 48 by;
+ };
+ 'A' Memimage 72 fb;
};
defn
-Triangle(addr) {
- complex Triangle addr;
- print("Point p0 {\n");
- Point(addr.p0);
- print("}\n");
- print("Point p1 {\n");
- Point(addr.p1);
- print("}\n");
- print("Point p2 {\n");
- Point(addr.p2);
+Viewport(addr) {
+ complex Viewport addr;
+ print("RFrame {\n");
+ RFrame(addr+0);
print("}\n");
+ print(" fb ", addr.fb\Y, "\n");
+};
+
+sizeofCamera = 384;
+aggr Camera
+{
+ {
+ Point3 0 p;
+ Point3 32 bx;
+ Point3 64 by;
+ Point3 96 bz;
+ };
+ Viewport 128 viewport;
+ 'F' 208 fov;
+ 'F' 216 clipn;
+ 'F' 224 clipf;
+ 'a' 232 proj;
+ 'D' 360 ptype;
+ 'Y' 368 updatefb;
+ 'Y' 376 develop;
};
-sizeof_2_ = 16;
+defn
+Camera(addr) {
+ complex Camera addr;
+ print("RFrame3 {\n");
+ RFrame3(addr+0);
+ print("}\n");
+ print("Viewport viewport {\n");
+ Viewport(addr.viewport);
+ print("}\n");
+ print(" fov ", addr.fov, "\n");
+ print(" clipn ", addr.clipn, "\n");
+ print(" clipf ", addr.clipf, "\n");
+ print(" proj ", addr.proj, "\n");
+ print(" ptype ", addr.ptype, "\n");
+ print(" updatefb ", addr.updatefb\Y, "\n");
+ print(" develop ", addr.develop\Y, "\n");
+};
+
+OBJVGeometric = 0;
+OBJVTexture = 1;
+OBJVNormal = 2;
+OBJVParametric = 3;
+OBJNVERT = 4;
+OBJEPoint = 0;
+OBJELine = 1;
+OBJEFace = 2;
+OBJECurve = 3;
+OBJECurve2 = 4;
+OBJESurface = 5;
+OBJGGlobal = 0;
+OBJGSmoothing = 1;
+OBJGMerging = 2;
+OBJHTSIZE = 17;
+sizeof_2_ = 32;
aggr _2_
{
- 'F' 0 n;
- 'F' 8 f;
+ 'F' 0 x;
+ 'F' 8 y;
+ 'F' 16 z;
+ 'F' 24 w;
};
defn
_2_(addr) {
complex _2_ addr;
- print(" n ", addr.n, "\n");
- print(" f ", addr.f, "\n");
+ print(" x ", addr.x, "\n");
+ print(" y ", addr.y, "\n");
+ print(" z ", addr.z, "\n");
+ print(" w ", addr.w, "\n");
};
-sizeofCamera = 296;
-aggr Camera
+sizeof_3_ = 24;
+aggr _3_
+{
+ 'F' 0 u;
+ 'F' 8 v;
+ 'F' 16 vv;
+};
+
+defn
+_3_(addr) {
+ complex _3_ addr;
+ print(" u ", addr.u, "\n");
+ print(" v ", addr.v, "\n");
+ print(" vv ", addr.vv, "\n");
+};
+
+sizeof_4_ = 24;
+aggr _4_
+{
+ 'F' 0 i;
+ 'F' 8 j;
+ 'F' 16 k;
+};
+
+defn
+_4_(addr) {
+ complex _4_ addr;
+ print(" i ", addr.i, "\n");
+ print(" j ", addr.j, "\n");
+ print(" k ", addr.k, "\n");
+};
+
+sizeof_5_ = 32;
+aggr _5_
{
{
- Point3 0 p;
- Point3 32 xb;
- Point3 64 yb;
- Point3 96 zb;
+ 'F' 0 x;
+ 'F' 8 y;
+ 'F' 16 z;
+ 'F' 24 w;
+ };
+ {
+ 'F' 0 u;
+ 'F' 8 v;
+ 'F' 16 vv;
+ };
+ {
+ 'F' 0 i;
+ 'F' 8 j;
+ 'F' 16 k;
};
- 'A' Image 128 viewport;
- 'F' 136 fov;
- _2_ 144 clip;
- 'D' 160 ptype;
- 'a' 168 proj;
};
defn
-Camera(addr) {
- complex Camera addr;
- print("ReferenceFrame3 {\n");
- ReferenceFrame3(addr+0);
+_5_(addr) {
+ complex _5_ addr;
+ print("_2_ {\n");
+ _2_(addr+0);
print("}\n");
- print(" viewport ", addr.viewport\Y, "\n");
- print(" fov ", addr.fov, "\n");
- print("_2_ clip {\n");
- _2_(addr.clip);
+ print("_3_ {\n");
+ _3_(addr+0);
print("}\n");
- print(" ptype ", addr.ptype, "\n");
- print(" proj ", addr.proj, "\n");
+ print("_4_ {\n");
+ _4_(addr+0);
+ print("}\n");
+};
+
+sizeofOBJVertex = 32;
+aggr OBJVertex
+{
+ {
+ {
+ 'F' 0 x;
+ 'F' 8 y;
+ 'F' 16 z;
+ 'F' 24 w;
+ };
+ {
+ 'F' 0 u;
+ 'F' 8 v;
+ 'F' 16 vv;
+ };
+ {
+ 'F' 0 i;
+ 'F' 8 j;
+ 'F' 16 k;
+ };
+ };
+};
+
+defn
+OBJVertex(addr) {
+ complex OBJVertex addr;
+ print("_5_ {\n");
+ _5_(addr+0);
+ print("}\n");
+};
+
+sizeofOBJVertexArray = 16;
+aggr OBJVertexArray
+{
+ 'A' OBJVertex 0 verts;
+ 'D' 8 nvert;
+};
+
+defn
+OBJVertexArray(addr) {
+ complex OBJVertexArray addr;
+ print(" verts ", addr.verts\Y, "\n");
+ print(" nvert ", addr.nvert, "\n");
+};
+
+sizeofOBJElem = 24;
+aggr OBJElem
+{
+ 'Y' 0 indices;
+ 'D' 8 nindex;
+ 'D' 12 type;
+ 'A' OBJElem 16 next;
+};
+
+defn
+OBJElem(addr) {
+ complex OBJElem addr;
+ print(" indices ", addr.indices\Y, "\n");
+ print(" nindex ", addr.nindex, "\n");
+ print(" type ", addr.type, "\n");
+ print(" next ", addr.next\Y, "\n");
+};
+
+sizeofOBJObject = 24;
+aggr OBJObject
+{
+ 'Y' 0 name;
+ 'A' OBJElem 8 child;
+ 'A' OBJObject 16 next;
+};
+
+defn
+OBJObject(addr) {
+ complex OBJObject addr;
+ print(" name ", addr.name\Y, "\n");
+ print(" child ", addr.child\Y, "\n");
+ print(" next ", addr.next\Y, "\n");
};
-STACK = 8192;
-SEC = 1000;
-FPS = 60;
+sizeofOBJ = 200;
+aggr OBJ
+{
+ 'a' 0 vertdata;
+ 'a' 64 objtab;
+};
+
+defn
+OBJ(addr) {
+ complex OBJ addr;
+ print(" vertdata ", addr.vertdata, "\n");
+ print(" objtab ", addr.objtab, "\n");
+};
+
+K↑ = 0;
+K↓ = 1;
+K← = 2;
+K→ = 3;
+Krise = 4;
+Kfall = 5;
+KR↑ = 6;
+KR↓ = 7;
+KR← = 8;
+KR→ = 9;
+KR↺ = 10;
+KR↻ = 11;
+Kcam0 = 12;
+Kcam1 = 13;
+Kcam2 = 14;
+Kcam3 = 15;
+Kscrshot = 16;
+Ke = 17;
Scamno = 0;
-Scampos = 1;
-Scambs = 2;
-Sfov = 3;
-Se = 4;
+Sfov = 1;
+Scampos = 2;
+Scambx = 3;
+Scamby = 4;
+Scambz = 5;
+Se = 6;
+sizeofCamcfg = 128;
+aggr Camcfg
+{
+ Point3 0 p;
+ Point3 32 lookat;
+ Point3 64 up;
+ 'F' 96 fov;
+ 'F' 104 clipn;
+ 'F' 112 clipf;
+ 'D' 120 ptype;
+};
+
+defn
+Camcfg(addr) {
+ complex Camcfg addr;
+ print("Point3 p {\n");
+ Point3(addr.p);
+ print("}\n");
+ print("Point3 lookat {\n");
+ Point3(addr.lookat);
+ print("}\n");
+ print("Point3 up {\n");
+ Point3(addr.up);
+ print("}\n");
+ print(" fov ", addr.fov, "\n");
+ print(" clipn ", addr.clipn, "\n");
+ print(" clipf ", addr.clipf, "\n");
+ print(" ptype ", addr.ptype, "\n");
+};
+
complex Mousectl mctl;
-complex Keyboardctl kctl;
-complex ReferenceFrame scrrf;
-complex RWLock worldlock;
-complex Triangle3 tri;
-complex Camera cam0;
-complex Camera cam1;
-complex Camera cam2;
-complex Camera cam3;
+complex Channel drawc;
complex Camera maincam;
complex Fmt vfmt:f;
complex Point2 vfmt:p;
complex Fmt Vfmt:f;
complex Point3 Vfmt:p;
-complex Point3 flatten:p;
-complex Point2 toscreen:p;
-complex Point fromscreen:p;
-complex Triangle redraw:trit;
-complex Quaternion key:q;
-complex Quaternion key:qtmp;
+complex Triangle3 depthcmp:ta;
+complex Triangle3 depthcmp:tb;
+complex Point3 drawaxis:op;
+complex Point3 drawaxis:px;
+complex Point3 drawaxis:py;
+complex Point3 drawaxis:pz;
+complex OBJ threadmain:objmesh;
MOUSE = 0;
-KBD = 1;
-RESIZE = 2;
+RESIZE = 1;
+DRAW = 2;
diff --git a/main.c b/main.c
index 703fbac..db2ebf7 100644
--- a/main.c
+++ b/main.c
@@ -2,16 +2,16 @@
#include <libc.h>
#include <thread.h>
#include <draw.h>
+#include <memdraw.h>
#include <mouse.h>
#include <keyboard.h>
-#include "geometry.h"
-#include "graphics.h"
-#include "obj.h"
+#include <geometry.h>
+#include <graphics.h>
+#include <obj.h>
#include "dat.h"
#include "fns.h"
typedef struct Camcfg Camcfg;
-
struct Camcfg
{
Point3 p, lookat, up;
@@ -46,21 +46,28 @@ Channel *drawc;
int kdown;
vlong t0, t;
double Δt;
-//Mesh model;
char *mdlpath = "../threedee/mdl/rocket.obj";
-Camera *cams[4], *maincam;
+Camera cams[4], *maincam;
Camcfg camcfgs[4] = {
- Pt3(2,0,-4,1), Pt3(0,0,0,1), Vec3(0,1,0),
+ 2,0,-4,1,
+ 0,0,0,1,
+ 0,1,0,0,
90, 0.1, 100, Ppersp,
- Pt3(-2,0,-4,1), Pt3(0,0,0,1), Vec3(0,1,0),
+ -2,0,-4,1,
+ 0,0,0,1,
+ 0,1,0,0,
120, 0.1, 100, Ppersp,
- Pt3(-2,0,4,1), Pt3(0,0,0,1), Vec3(0,1,0),
+ -2,0,4,1,
+ 0,0,0,1,
+ 0,1,0,0,
90, 0.1, 100, Ppersp,
- Pt3(2,0,4,1), Pt3(0,0,0,1), Vec3(0,1,0),
+ 2,0,4,1,
+ 0,0,0,1,
+ 0,1,0,0,
120, 0.1, 100, Ppersp
};
@@ -114,8 +121,8 @@ depthcmp(void *a, void *b)
Triangle3 *ta, *tb;
double za, zb;
- ta = (Triangle3 *)a;
- tb = (Triangle3 *)b;
+ ta = (Triangle3*)a;
+ tb = (Triangle3*)b;
za = (ta->p0.z + ta->p1.z + ta->p2.z)/3;
zb = (tb->p0.z + tb->p1.z + tb->p2.z)/3;
return zb-za;
@@ -124,10 +131,10 @@ depthcmp(void *a, void *b)
void
drawaxis(void)
{
- Point3 op = (Point3){0, 0, 0, 1},
- px = (Point3){1, 0, 0, 1},
- py = (Point3){0, 1, 0, 1},
- pz = (Point3){0, 0, 1, 1};
+ Point3 op = Pt3(0,0,0,1),
+ px = Pt3(1,0,0,1),
+ py = Pt3(0,1,0,1),
+ pz = Pt3(0,0,1,1);
line3(maincam, op, px, 0, Endarrow, display->black);
string3(maincam, px, display->black, font, "x");
@@ -142,14 +149,14 @@ drawstats(void)
{
int i;
- snprint(stats[Scamno], sizeof(stats[Scamno]), "CAM %lld", maincam-cams[0]+1);
+ snprint(stats[Scamno], sizeof(stats[Scamno]), "CAM %lld", maincam-cams+1);
snprint(stats[Sfov], sizeof(stats[Sfov]), "FOV %g°", maincam->fov);
snprint(stats[Scampos], sizeof(stats[Scampos]), "%V", maincam->p);
snprint(stats[Scambx], sizeof(stats[Scambx]), "bx %V", maincam->bx);
snprint(stats[Scamby], sizeof(stats[Scamby]), "by %V", maincam->by);
snprint(stats[Scambz], sizeof(stats[Scambz]), "bz %V", maincam->bz);
for(i = 0; i < Se; i++)
- stringn(maincam->viewport, addpt(screen->r.min, Pt(10,10 + i*font->height)), display->black, ZP, font, stats[i], sizeof(stats[i]));
+ string(screen, addpt(screen->r.min, Pt(10,10 + i*font->height)), display->black, ZP, font, stats[i]);
}
void
@@ -184,7 +191,7 @@ redraw(void)
// /* clipping */
// /*
// * no clipping for now, the whole triangle is ignored
-// * if any of its vertices gets outside the fustrum.
+// * if any of its vertices gets outside the frustum.
// */
// if(isclipping(tmp.p0) || isclipping(tmp.p1) || isclipping(tmp.p2))
// continue;
@@ -198,6 +205,7 @@ redraw(void)
// nvistri++;
// }
// qsort(vistris, nvistri, sizeof(TTriangle3), depthcmp);
+
lockdisplay(display);
draw(maincam->viewport, maincam->viewport->r, display->white, nil, ZP);
drawaxis();
@@ -332,13 +340,13 @@ handlekeys(void)
if(kdown & 1<<KR↻)
placecamera(maincam, maincam->p, maincam->bz, qrotate(maincam->by, maincam->bz, -5*DEG));
if(kdown & 1<<Kcam0)
- maincam = cams[0];
+ maincam = &cams[0];
if(kdown & 1<<Kcam1)
- maincam = cams[1];
+ maincam = &cams[1];
if(kdown & 1<<Kcam2)
- maincam = cams[2];
+ maincam = &cams[2];
if(kdown & 1<<Kcam3)
- maincam = cams[3];
+ maincam = &cams[3];
if(kdown & 1<<Kscrshot)
screenshot();
}
@@ -350,7 +358,8 @@ resize(void)
if(getwindow(display, Refnone) < 0)
fprint(2, "can't reattach to window\n");
unlockdisplay(display);
- maincam->updatefb(maincam, screen->r, screen->chan);
+ maincam->viewport = screen;
+ reloadcamera(maincam);
}
void
@@ -381,11 +390,10 @@ threadmain(int argc, char *argv[])
if((mctl = initmouse(nil, screen)) == nil)
sysfatal("initmouse: %r");
for(i = 0; i < nelem(cams); i++){
- cams[i] = alloccamera(screen->r, screen->chan);
- placecamera(cams[i], camcfgs[i].p, camcfgs[i].lookat, camcfgs[i].up);
- configcamera(cams[i], camcfgs[i].fov, camcfgs[i].clipn, camcfgs[i].clipf, camcfgs[i].ptype);
+ placecamera(&cams[i], camcfgs[i].p, camcfgs[i].lookat, camcfgs[i].up);
+ configcamera(&cams[i], screen, camcfgs[i].fov, camcfgs[i].clipn, camcfgs[i].clipf, camcfgs[i].ptype);
}
- maincam = cams[0];
+ maincam = &cams[0];
if((objmesh = objparse(mdlpath)) == nil)
sysfatal("objparse: %r");
drawc = chancreate(1, 0);
diff --git a/mkfile b/mkfile
index c56ce21..7e1d254 100644
--- a/mkfile
+++ b/mkfile
@@ -5,29 +5,35 @@ TARG=3d
OFILES=\
main.$O\
-HFILES=geometry.h graphics.h obj.h dat.h fns.h
+HFILES=libgeometry/geometry.h\
+ libgraphics/graphics.h\
+ libobj/obj.h\
+ dat.h\
+ fns.h\
LIB=\
- libgeometry.a$O\
- libgraphics.a$O\
- libobj.a$O
+ libobj/libobj.a$O\
+ libgraphics/libgraphics.a$O\
+ libgeometry/libgeometry.a$O\
+
+CFLAGS=$CFLAGS -I. -Ilibgeometry -Ilibgraphics -Ilibobj
</sys/src/cmd/mkone
-libgeometry.a$O:
+libgeometry/libgeometry.a$O:
cd libgeometry
mk install
-libgraphics.a$O:
+libgraphics/libgraphics.a$O:
cd libgraphics
mk install
-libobj.a$O:
+libobj/libobj.a$O:
cd libobj
mk install
clean nuke:V:
- rm -f *.[$OS] [$OS].out y.tab.? y.debug y.output $TARG
+ rm -f *.[$OS] [$OS].out $TARG
@{cd libgeometry; mk $target}
@{cd libgraphics; mk $target}
@{cd libobj; mk $target}
diff --git a/obj.h b/obj.h
deleted file mode 100644
index 19bfdcb..0000000
--- a/obj.h
+++ /dev/null
@@ -1,92 +0,0 @@
-/* vertex types */
-enum {
- OBJVGeometric,
- OBJVTexture,
- OBJVNormal,
- OBJVParametric,
- OBJNVERT
-};
-/* element types */
-enum {
- OBJEPoint,
- OBJELine,
- OBJEFace,
- OBJECurve,
- OBJECurve2,
- OBJESurface
-};
-/* grouping types */
-enum {
- OBJGGlobal,
- OBJGSmoothing,
- OBJGMerging
-};
-/* object hash table size */
-enum {
- OBJHTSIZE = 17
-};
-
-typedef struct OBJVertex OBJVertex;
-typedef struct OBJVertexArray OBJVertexArray;
-typedef struct OBJElem OBJElem;
-//typedef struct OBJGroup OBJGroup;
-typedef struct OBJObject OBJObject;
-typedef struct OBJ OBJ;
-
-#pragma varargck type "O" OBJ*
-
-struct OBJVertex
-{
- union {
- struct { double x, y, z, w; }; /* geometric */
- struct { double u, v, vv; }; /* texture and parametric */
- struct { double i, j, k; }; /* normal */
- };
-};
-
-struct OBJVertexArray
-{
- OBJVertex *verts;
- int nvert;
-};
-
-struct OBJElem
-{
- int *indices;
- int nindex;
- int type;
- OBJElem *next;
-};
-
-//struct OBJGroup
-//{
-// char *name;
-// int type;
-// OBJElem *elem0;
-// OBJGroup *next;
-//};
-//struct OBJObject
-//{
-// char *name;
-// OBJGroup *grptab[OBJHTSIZE];
-// OBJObject *next;
-//};
-
-struct OBJObject
-{
- char *name;
- OBJElem *child;
- OBJObject *next;
-};
-
-struct OBJ
-{
- OBJVertexArray vertdata[OBJNVERT];
- OBJObject *objtab[OBJHTSIZE];
-};
-
-OBJ *objparse(char*);
-void objfree(OBJ*);
-
-int OBJfmt(Fmt*);
-void OBJfmtinstall(void);