diff --git a/.gitattributes b/.gitattributes index 1447101586d..aa8886146b2 100644 --- a/.gitattributes +++ b/.gitattributes @@ -482,6 +482,7 @@ BGL/test/BGL/test_suffix_Polyhedron_3.cpp -text Benchmark/doc_tex/Benchmark/Conics_14_1.arr -text Benchmark/doc_tex/Benchmark/fig/Conics_14_1.eps -text svneol=unset#application/postscript Benchmark/doc_tex/Benchmark/fig/Conics_14_1.png -text svneol=unset#image/png +Benchmark/doc_tex/Benchmark/fig/classification.eps -text svneol=unset#application/postscript Benchmark/doc_tex/Benchmark/fig/classification.gif -text svneol=unset#image/gif Benchmark/doc_tex/Benchmark/fig/classification.pdf -text svneol=unset#application/pdf Benchmark/src/Benchmark/benchmark_lexer.l -text diff --git a/Benchmark/doc_tex/Benchmark/fig/classification.eps b/Benchmark/doc_tex/Benchmark/fig/classification.eps new file mode 100644 index 00000000000..082e8f4f1d7 --- /dev/null +++ b/Benchmark/doc_tex/Benchmark/fig/classification.eps @@ -0,0 +1,1690 @@ +%!PS-Adobe-2.0 +%%Creator: dvips(k) 5.95a Copyright 2005 Radical Eye Software +%%Title: classification.dvi +%%Pages: 1 +%%PageOrder: Ascend +%%BoundingBox: 142 613 470 711 +%%HiResBoundingBox: 142.509441 613.578286 469.539900 710.196096 + +%%DocumentFonts: Times-Roman +%%DocumentPaperSizes: a4 +%%EndComments +%DVIPSWebPage: (www.radicaleye.com) +%DVIPSCommandLine: dvips -P cmz classification.dvi -o +%DVIPSParameters: dpi=600 +%DVIPSSource: TeX output 2006.11.04:1944 +%%BeginProcSet: tex.pro 0 0 +%! +/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S +N}B/A{dup}B/TR{translate}N/isls false N/vsize 11 72 mul N/hsize 8.5 72 +mul N/landplus90{false}def/@rigin{isls{[0 landplus90{1 -1}{-1 1}ifelse 0 +0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{ +landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize +mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR[ +matrix currentmatrix{A A round sub abs 0.00001 lt{round}if}forall round +exch round exch]setmatrix}N/@landscape{/isls true N}B/@manualfeed{ +statusdict/manualfeed true put}B/@copies{/#copies X}B/FMat[1 0 0 -1 0 0] +N/FBB[0 0 0 0]N/nn 0 N/IEn 0 N/ctr 0 N/df-tail{/nn 8 dict N nn begin +/FontType 3 N/FontMatrix fntrx N/FontBBox FBB N string/base X array +/BitMaps X/BuildChar{CharBuilder}N/Encoding IEn N end A{/foo setfont}2 +array copy cvx N load 0 nn put/ctr 0 N[}B/sf 0 N/df{/sf 1 N/fntrx FMat N +df-tail}B/dfs{div/sf X/fntrx[sf 0 0 sf neg 0 0]N df-tail}B/E{pop nn A +definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get +}B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub} +B/Cdx{Cd A length 1 sub get}B/Ci{Cd A type/stringtype ne{ctr get/ctr ctr +1 add N}if}B/CharBuilder{save 3 1 roll S A/base get 2 index get S +/BitMaps get S get/Cd X pop/ctr 0 N Cdx 0 Cx Cy Ch sub Cx Cw add Cy +setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx sub Cy .1 sub]{Ci}imagemask +restore}B/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn +/BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put +}if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{ +bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A +mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{ +SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{ +userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X +1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4 +index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N +/p{show}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 N/Ry 0 N/V{}B/RV/v{ +/Ry X/Rx X V}B statusdict begin/product where{pop false[(Display)(NeXT) +(LaserWriter 16/600)]{A length product length le{A length product exch 0 +exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}ifelse +end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{BDot}imagemask +grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat{BDot} +imagemask grestore}}ifelse B/QV{gsave newpath transform round exch round +exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 rlineto +fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B/M{S p +delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M}B/g{0 M} +B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p -3 w}B/n{ +p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{0 S +rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end + +%%EndProcSet +%%BeginProcSet: pstricks.pro 0 0 +%! +% PostScript prologue for pstricks.tex. +% Version 97 patch 4, 04/05/10 +% For distribution, see pstricks.tex. +% +/tx@Dict 200 dict def tx@Dict begin +/ADict 25 dict def +/CM { matrix currentmatrix } bind def +/SLW /setlinewidth load def +/CLW /currentlinewidth load def +/CP /currentpoint load def +/ED { exch def } bind def +/L /lineto load def +/T /translate load def +/TMatrix { } def +/RAngle { 0 } def +/Atan { /atan load stopped { pop pop 0 } if } def +/Div { dup 0 eq { pop } { div } ifelse } def +/NET { neg exch neg exch T } def +/Pyth { dup mul exch dup mul add sqrt } def +/PtoC { 2 copy cos mul 3 1 roll sin mul } def +/PathLength@ { /z z y y1 sub x x1 sub Pyth add def /y1 y def /x1 x def } +def +/PathLength { flattenpath /z 0 def { /y1 ED /x1 ED /y2 y1 def /x2 x1 def +} { /y ED /x ED PathLength@ } {} { /y y2 def /x x2 def PathLength@ } +/pathforall load stopped { pop pop pop pop } if z } def +/STP { .996264 dup scale } def +/STV { SDict begin normalscale end STP } def +% +%%-------------- DG begin patch 15 ---------------%% +%/DashLine { dup 0 gt { /a .5 def PathLength exch div } { pop /a 1 def +%PathLength } ifelse /b ED /x ED /y ED /z y x add def b a .5 sub 2 mul y +%mul sub z Div round z mul a .5 sub 2 mul y mul add b exch Div dup y mul +%/y ED x mul /x ED x 0 gt y 0 gt and { [ y x ] 1 a sub y mul } { [ 1 0 ] +%0 } ifelse setdash stroke } def +/DashLine { + dup 0 gt { /a .5 def PathLength exch div } { pop /a 1 def PathLength } ifelse + /b ED /x1 ED /y1 ED /x ED /y ED + /z y x add y1 add x1 add def + /Coef b a .5 sub 2 mul y mul sub z Div round + z mul a .5 sub 2 mul y mul add b exch Div def + /y y Coef mul def /x x Coef mul def /y1 y1 Coef mul def /x1 x1 Coef mul def + x1 0 gt y1 0 gt x 0 gt y 0 gt and { [ y x y1 x1 ] 1 a sub y mul} + { [ 1 0] 0 } ifelse setdash stroke +} def +%%-------------- DG end patch 15 ---------------%% +/DotLine { /b PathLength def /a ED /z ED /y CLW def /z y z add def a 0 gt +{ /b b a div def } { a 0 eq { /b b y sub def } { a -3 eq { /b b y add +def } if } ifelse } ifelse [ 0 b b z Div round Div dup 0 le { pop 1 } if +] a 0 gt { 0 } { y 2 div a -2 gt { neg } if } ifelse setdash 1 +setlinecap stroke } def +/LineFill { gsave abs CLW add /a ED a 0 dtransform round exch round exch +2 copy idtransform exch Atan rotate idtransform pop /a ED .25 .25 +% DG/SR modification begin - Dec. 12, 1997 - Patch 2 +%itransform translate pathbbox /y2 ED a Div ceiling cvi /x2 ED /y1 ED a +itransform pathbbox /y2 ED a Div ceiling cvi /x2 ED /y1 ED a +% DG/SR modification end +Div cvi /x1 ED /y2 y2 y1 sub def clip newpath 2 setlinecap systemdict +/setstrokeadjust known { true setstrokeadjust } if x2 x1 sub 1 add { x1 +% DG/SR modification begin - Jun. 1, 1998 - Patch 3 (from Michael Vulis) +% a mul y1 moveto 0 y2 rlineto stroke /x1 x1 1 add def } repeat grestore } +% def +a mul y1 moveto 0 y2 rlineto stroke /x1 x1 1 add def } repeat grestore +pop pop } def +% DG/SR modification end +/BeginArrow { ADict begin /@mtrx CM def gsave 2 copy T 2 index sub neg +exch 3 index sub exch Atan rotate newpath } def +/EndArrow { @mtrx setmatrix CP grestore end } def +/Arrow { CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 +scale } if w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill +grestore } def +/Tbar { CLW mul add /z ED z -2 div CLW 2 div moveto z 0 rlineto stroke 0 +CLW moveto } def +/Bracket { CLW mul add dup CLW sub 2 div /x ED mul CLW add /y ED /z CLW 2 +div def x neg y moveto x neg CLW 2 div L x CLW 2 div L x y L stroke 0 +CLW moveto } def +/RoundBracket { CLW mul add dup 2 div /x ED mul /y ED /mtrx CM def 0 CLW +2 div T x y mul 0 ne { x y scale } if 1 1 moveto .85 .5 .35 0 0 0 +curveto -.35 0 -.85 .5 -1 1 curveto mtrx setmatrix stroke 0 CLW moveto } +def +/SD { 0 360 arc fill } def +/EndDot { { /z DS def } { /z 0 def } ifelse /b ED 0 z DS SD b { 0 z DS +CLW sub SD } if 0 DS z add CLW 4 div sub moveto } def +/Shadow { [ { /moveto load } { /lineto load } { /curveto load } { +/closepath load } /pathforall load stopped { pop pop pop pop CP /moveto +load } if ] cvx newpath 3 1 roll T exec } def +/NArray { aload length 2 div dup dup cvi eq not { exch pop } if /n exch +cvi def } def +/NArray { /f ED counttomark 2 div dup cvi /n ED n eq not { exch pop } if +f { ] aload /Points ED } { n 2 mul 1 add -1 roll pop } ifelse } def +/Line { NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if ArrowA /n n 2 sub +def n { Lineto } repeat CP 4 2 roll ArrowB L pop pop } if } def +/Arcto { /a [ 6 -2 roll ] cvx def a r /arcto load stopped { 5 } { 4 } +ifelse { pop } repeat a } def +/CheckClosed { dup n 2 mul 1 sub index eq 2 index n 2 mul 1 add index eq +and { pop pop /n n 1 sub def } if } def +/Polygon { NArray n 2 eq { 0 0 /n 3 def } if n 3 lt { n { pop pop } +repeat } { n 3 gt { CheckClosed } if n 2 mul -2 roll /y0 ED /x0 ED /y1 +ED /x1 ED x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 +moveto /n n 2 sub def n { Lineto } repeat x1 y1 x0 y0 6 4 roll Lineto +Lineto pop pop closepath } ifelse } def +/Diamond { /mtrx CM def T rotate /h ED /w ED dup 0 eq { pop } { CLW mul +neg /d ED /a w h Atan def /h d a sin Div h add def /w d a cos Div w add +def } ifelse mark w 2 div h 2 div w 0 0 h neg w neg 0 0 h w 2 div h 2 +div /ArrowA { moveto } def /ArrowB { } def false Line closepath mtrx +setmatrix } def +% DG modification begin - Jan. 15, 1997 +%/Triangle { /mtrx CM def translate rotate /h ED 2 div /w ED dup 0 eq { +%pop } { CLW mul /d ED /h h d w h Atan sin Div sub def /w w d h w Atan 2 +%div dup cos exch sin Div mul sub def } ifelse mark 0 d w neg d 0 h w d 0 +%d /ArrowA { moveto } def /ArrowB { } def false Line closepath mtrx +%setmatrix } def +/Triangle { /mtrx CM def translate rotate /h ED 2 div /w ED dup +CLW mul /d ED /h h d w h Atan sin Div sub def /w w d h w Atan 2 +div dup cos exch sin Div mul sub def mark 0 d w neg d 0 h w d 0 +d /ArrowA { moveto } def /ArrowB { } def false Line closepath mtrx +% DG/SR modification begin - Jun. 1, 1998 - Patch 3 (from Michael Vulis) +% setmatrix } def +setmatrix pop } def +% DG/SR modification end +/CCA { /y ED /x ED 2 copy y sub /dy1 ED x sub /dx1 ED /l1 dx1 dy1 Pyth +def } def +/CCA { /y ED /x ED 2 copy y sub /dy1 ED x sub /dx1 ED /l1 dx1 dy1 Pyth +def } def +/CC { /l0 l1 def /x1 x dx sub def /y1 y dy sub def /dx0 dx1 def /dy0 dy1 +def CCA /dx dx0 l1 c exp mul dx1 l0 c exp mul add def /dy dy0 l1 c exp +mul dy1 l0 c exp mul add def /m dx0 dy0 Atan dx1 dy1 Atan sub 2 div cos +abs b exp a mul dx dy Pyth Div 2 div def /x2 x l0 dx mul m mul sub def +/y2 y l0 dy mul m mul sub def /dx l1 dx mul m mul neg def /dy l1 dy mul +m mul neg def } def +/IC { /c c 1 add def c 0 lt { /c 0 def } { c 3 gt { /c 3 def } if } +ifelse /a a 2 mul 3 div 45 cos b exp div def CCA /dx 0 def /dy 0 def } +def +/BOC { IC CC x2 y2 x1 y1 ArrowA CP 4 2 roll x y curveto } def +/NC { CC x1 y1 x2 y2 x y curveto } def +/EOC { x dx sub y dy sub 4 2 roll ArrowB 2 copy curveto } def +/BAC { IC CC x y moveto CC x1 y1 CP ArrowA } def +/NAC { x2 y2 x y curveto CC x1 y1 } def +/EAC { x2 y2 x y ArrowB curveto pop pop } def +/OpenCurve { NArray n 3 lt { n { pop pop } repeat } { BOC /n n 3 sub def + n { NC } repeat EOC } ifelse } def +/AltCurve { { false NArray n 2 mul 2 roll [ n 2 mul 3 sub 1 roll ] aload +/Points ED n 2 mul -2 roll } { false NArray } ifelse n 4 lt { n { pop +pop } repeat } { BAC /n n 4 sub def n { NAC } repeat EAC } ifelse } def +/ClosedCurve { NArray n 3 lt { n { pop pop } repeat } { n 3 gt { +CheckClosed } if 6 copy n 2 mul 6 add 6 roll IC CC x y moveto n { NC } +repeat closepath pop pop } ifelse } def +/SQ { /r ED r r moveto r r neg L r neg r neg L r neg r L fill } def +/ST { /y ED /x ED x y moveto x neg y L 0 x L fill } def +/SP { /r ED gsave 0 r moveto 4 { 72 rotate 0 r L } repeat fill grestore } +def +/FontDot { DS 2 mul dup matrix scale matrix concatmatrix exch matrix +rotate matrix concatmatrix exch findfont exch makefont setfont } def +/Rect { x1 y1 y2 add 2 div moveto x1 y2 lineto x2 y2 lineto x2 y1 lineto +x1 y1 lineto closepath } def +/OvalFrame { x1 x2 eq y1 y2 eq or { pop pop x1 y1 moveto x2 y2 L } { y1 +y2 sub abs x1 x2 sub abs 2 copy gt { exch pop } { pop } ifelse 2 div +exch { dup 3 1 roll mul exch } if 2 copy lt { pop } { exch pop } ifelse +/b ED x1 y1 y2 add 2 div moveto x1 y2 x2 y2 b arcto x2 y2 x2 y1 b arcto +x2 y1 x1 y1 b arcto x1 y1 x1 y2 b arcto 16 { pop } repeat closepath } +ifelse } def +/Frame { CLW mul /a ED 3 -1 roll 2 copy gt { exch } if a sub /y2 ED a add +/y1 ED 2 copy gt { exch } if a sub /x2 ED a add /x1 ED 1 index 0 eq { +pop pop Rect } { OvalFrame } ifelse } def +/BezierNArray { /f ED counttomark 2 div dup cvi /n ED n eq not { exch pop +} if n 1 sub neg 3 mod 3 add 3 mod { 0 0 /n n 1 add def } repeat f { ] +aload /Points ED } { n 2 mul 1 add -1 roll pop } ifelse } def +/OpenBezier { BezierNArray n 1 eq { pop pop } { ArrowA n 4 sub 3 idiv { 6 +2 roll 4 2 roll curveto } repeat 6 2 roll 4 2 roll ArrowB curveto } +ifelse } def +/ClosedBezier { BezierNArray n 1 eq { pop pop } { moveto n 1 sub 3 idiv { +6 2 roll 4 2 roll curveto } repeat closepath } ifelse } def +/BezierShowPoints { gsave Points aload length 2 div cvi /n ED moveto n 1 +sub { lineto } repeat CLW 2 div SLW [ 4 4 ] 0 setdash stroke grestore } +def +/Parab { /y0 exch def /x0 exch def /y1 exch def /x1 exch def /dx x0 x1 +sub 3 div def /dy y0 y1 sub 3 div def x0 dx sub y0 dy add x1 y1 ArrowA +x0 dx add y0 dy add x0 2 mul x1 sub y1 ArrowB curveto /Points [ x1 y1 x0 +y0 x0 2 mul x1 sub y1 ] def } def +/Grid { newpath /a 4 string def /b ED /c ED /n ED cvi dup 1 lt { pop 1 } +if /s ED s div dup 0 eq { pop 1 } if /dy ED s div dup 0 eq { pop 1 } if +/dx ED dy div round dy mul /y0 ED dx div round dx mul /x0 ED dy div +round cvi /y2 ED dx div round cvi /x2 ED dy div round cvi /y1 ED dx div +round cvi /x1 ED /h y2 y1 sub 0 gt { 1 } { -1 } ifelse def /w x2 x1 sub +0 gt { 1 } { -1 } ifelse def b 0 gt { /z1 b 4 div CLW 2 div add def +/Helvetica findfont b scalefont setfont /b b .95 mul CLW 2 div add def } +if systemdict /setstrokeadjust known { true setstrokeadjust /t { } def } +{ /t { transform 0.25 sub round 0.25 add exch 0.25 sub round 0.25 add +exch itransform } bind def } ifelse gsave n 0 gt { 1 setlinecap [ 0 dy n +div ] dy n div 2 div setdash } { 2 setlinecap } ifelse /i x1 def /f y1 +dy mul n 0 gt { dy n div 2 div h mul sub } if def /g y2 dy mul n 0 gt { +dy n div 2 div h mul add } if def x2 x1 sub w mul 1 add dup 1000 gt { +pop 1000 } if { i dx mul dup y0 moveto b 0 gt { gsave c i a cvs dup +stringwidth pop /z2 ED w 0 gt {z1} {z1 z2 add neg} ifelse h 0 gt {b neg} +{z1} ifelse rmoveto show grestore } if dup t f moveto g t L stroke /i i +w add def } repeat grestore gsave n 0 gt +% DG/SR modification begin - Nov. 7, 1997 - Patch 1 +%{ 1 setlinecap [ 0 dx n div ] dy n div 2 div setdash } +{ 1 setlinecap [ 0 dx n div ] dx n div 2 div setdash } +% DG/SR modification end +{ 2 setlinecap } ifelse /i y1 def /f x1 dx mul +n 0 gt { dx n div 2 div w mul sub } if def /g x2 dx mul n 0 gt { dx n +div 2 div w mul add } if def y2 y1 sub h mul 1 add dup 1000 gt { pop +1000 } if { newpath i dy mul dup x0 exch moveto b 0 gt { gsave c i a cvs +dup stringwidth pop /z2 ED w 0 gt {z1 z2 add neg} {z1} ifelse h 0 gt +{z1} {b neg} ifelse rmoveto show grestore } if dup f exch t moveto g +exch t L stroke /i i h add def } repeat grestore } def +/ArcArrow { /d ED /b ED /a ED gsave newpath 0 -1000 moveto clip newpath 0 +1 0 0 b grestore c mul /e ED pop pop pop r a e d PtoC y add exch x add +exch r a PtoC y add exch x add exch b pop pop pop pop a e d CLW 8 div c +mul neg d } def +/Ellipse { /mtrx CM def T scale 0 0 1 5 3 roll arc mtrx setmatrix } def +/Rot { CP CP translate 3 -1 roll neg rotate NET } def +/RotBegin { tx@Dict /TMatrix known not { /TMatrix { } def /RAngle { 0 } +def } if /TMatrix [ TMatrix CM ] cvx def /a ED a Rot /RAngle [ RAngle +dup a add ] cvx def } def +/RotEnd { /TMatrix [ TMatrix setmatrix ] cvx def /RAngle [ RAngle pop ] +cvx def } def +/PutCoor { gsave CP T CM STV exch exec moveto setmatrix CP grestore } def +/PutBegin { /TMatrix [ TMatrix CM ] cvx def CP 4 2 roll T moveto } def +/PutEnd { CP /TMatrix [ TMatrix setmatrix ] cvx def moveto } def +/Uput { /a ED add 2 div /h ED 2 div /w ED /s a sin def /c a cos def /b s +abs c abs 2 copy gt dup /q ED { pop } { exch pop } ifelse def /w1 c b +div w mul def /h1 s b div h mul def q { w1 abs w sub dup c mul abs } { +h1 abs h sub dup s mul abs } ifelse } def +/UUput { /z ED abs /y ED /x ED q { x s div c mul abs y gt } { x c div s +mul abs y gt } ifelse { x x mul y y mul sub z z mul add sqrt z add } { q +{ x s div } { x c div } ifelse abs } ifelse a PtoC h1 add exch w1 add +exch } def +/BeginOL { dup (all) eq exch TheOL eq or { IfVisible not { Visible +/IfVisible true def } if } { IfVisible { Invisible /IfVisible false def +} if } ifelse } def +/InitOL { /OLUnit [ 3000 3000 matrix defaultmatrix dtransform ] cvx def +/Visible { CP OLUnit idtransform T moveto } def /Invisible { CP OLUnit +neg exch neg exch idtransform T moveto } def /BOL { BeginOL } def +/IfVisible true def } def +end +% END pstricks.pro + +%%EndProcSet +%%BeginProcSet: pst-dots.pro 0 0 +%!PS-Adobe-2.0 +%%Title: Dot Font for PSTricks +%%Creator: Timothy Van Zandt +%%Creation Date: May 7, 1993 +%% Version 97 patch 1, 99/12/16 +%% Modified by Etienne Riga - Dec. 16, 1999 +%% to add /Diamond, /SolidDiamond and /BoldDiamond +10 dict dup begin + /FontType 3 def + /FontMatrix [ .001 0 0 .001 0 0 ] def + /FontBBox [ 0 0 0 0 ] def + /Encoding 256 array def + 0 1 255 { Encoding exch /.notdef put } for + Encoding + dup (b) 0 get /Bullet put + dup (c) 0 get /Circle put + dup (C) 0 get /BoldCircle put + dup (u) 0 get /SolidTriangle put + dup (t) 0 get /Triangle put + dup (T) 0 get /BoldTriangle put + dup (r) 0 get /SolidSquare put + dup (s) 0 get /Square put + dup (S) 0 get /BoldSquare put + dup (q) 0 get /SolidPentagon put + dup (p) 0 get /Pentagon put + dup (P) 0 get /BoldPentagon put +% DG/SR modification begin - Dec. 16, 1999 - From Etienne Riga + dup (l) 0 get /SolidDiamond put + dup (d) 0 get /Diamond put + (D) 0 get /BoldDiamond put +% DG/SR modification end + /Metrics 13 dict def + Metrics begin + /Bullet 1000 def + /Circle 1000 def + /BoldCircle 1000 def + /SolidTriangle 1344 def + /Triangle 1344 def + /BoldTriangle 1344 def + /SolidSquare 886 def + /Square 886 def + /BoldSquare 886 def + /SolidPentagon 1093.2 def + /Pentagon 1093.2 def + /BoldPentagon 1093.2 def +% DG/SR modification begin - Dec. 16, 1999 - From Etienne Riga + /SolidDiamond 1008 def + /Diamond 1008 def + /BoldDiamond 1008 def +% DG/SR modification end + /.notdef 0 def + end + /BBoxes 13 dict def + BBoxes begin + /Circle { -550 -550 550 550 } def + /BoldCircle /Circle load def + /Bullet /Circle load def + /Triangle { -571.5 -330 571.5 660 } def + /BoldTriangle /Triangle load def + /SolidTriangle /Triangle load def + /Square { -450 -450 450 450 } def + /BoldSquare /Square load def + /SolidSquare /Square load def + /Pentagon { -546.6 -465 546.6 574.7 } def + /BoldPentagon /Pentagon load def + /SolidPentagon /Pentagon load def +% DG/SR modification begin - Dec. 16, 1999 - From Etienne Riga + /Diamond { -428.5 -742.5 428.5 742.5 } def + /BoldDiamond /Diamond load def + /SolidDiamond /Diamond load def +% DG/SR modification end + /.notdef { 0 0 0 0 } def + end + /CharProcs 20 dict def + CharProcs begin + /Adjust { + 2 copy dtransform floor .5 add exch floor .5 add exch idtransform + 3 -1 roll div 3 1 roll exch div exch scale + } def + /CirclePath { 0 0 500 0 360 arc closepath } def + /Bullet { 500 500 Adjust CirclePath fill } def + /Circle { 500 500 Adjust CirclePath .9 .9 scale CirclePath + eofill } def + /BoldCircle { 500 500 Adjust CirclePath .8 .8 scale CirclePath + eofill } def + /BoldCircle { CirclePath .8 .8 scale CirclePath eofill } def + /TrianglePath { 0 660 moveto -571.5 -330 lineto 571.5 -330 lineto + closepath } def + /SolidTriangle { TrianglePath fill } def + /Triangle { TrianglePath .85 .85 scale TrianglePath eofill } def + /BoldTriangle { TrianglePath .7 .7 scale TrianglePath eofill } def + /SquarePath { -450 450 moveto 450 450 lineto 450 -450 lineto + -450 -450 lineto closepath } def + /SolidSquare { SquarePath fill } def + /Square { SquarePath .89 .89 scale SquarePath eofill } def + /BoldSquare { SquarePath .78 .78 scale SquarePath eofill } def + /PentagonPath { + -337.8 -465 moveto + 337.8 -465 lineto + 546.6 177.6 lineto + 0 574.7 lineto + -546.6 177.6 lineto + closepath + } def + /SolidPentagon { PentagonPath fill } def + /Pentagon { PentagonPath .89 .89 scale PentagonPath eofill } def + /BoldPentagon { PentagonPath .78 .78 scale PentagonPath eofill } def +% DG/SR modification begin - Dec. 16, 1999 - From Etienne Riga + /DiamondPath { 0 742.5 moveto -428.5 0 lineto 0 -742.5 lineto + 428.5 0 lineto closepath } def + /SolidDiamond { DiamondPath fill } def + /Diamond { DiamondPath .85 .85 scale DiamondPath eofill } def + /BoldDiamond { DiamondPath .7 .7 scale DiamondPath eofill } def +% DG/SR modification end + /.notdef { } def + end + /BuildGlyph { + exch + begin + Metrics 1 index get exec 0 + BBoxes 3 index get exec + setcachedevice + CharProcs begin load exec end + end + } def + /BuildChar { + 1 index /Encoding get exch get + 1 index /BuildGlyph get exec + } bind def +end +/PSTricksDotFont exch definefont pop +%END pst-dots.pro + +%%EndProcSet +%%BeginProcSet: pst-node.pro 0 0 +%! +% PostScript prologue for pst-node.tex. +% Version 97 patch 1, 97/05/09. +% For distribution, see pstricks.tex. +% +/tx@NodeDict 400 dict def tx@NodeDict begin +tx@Dict begin /T /translate load def end +/NewNode { gsave /next ED dict dup 3 1 roll def exch { dup 3 1 roll def } +if begin tx@Dict begin STV CP T exec end /NodeMtrx CM def next end +grestore } def +/InitPnode { /Y ED /X ED /NodePos { NodeSep Cos mul NodeSep Sin mul } def +} def +/InitCnode { /r ED /Y ED /X ED /NodePos { NodeSep r add dup Cos mul exch +Sin mul } def } def +/GetRnodePos { Cos 0 gt { /dx r NodeSep add def } { /dx l NodeSep sub def +} ifelse Sin 0 gt { /dy u NodeSep add def } { /dy d NodeSep sub def } +ifelse dx Sin mul abs dy Cos mul abs gt { dy Cos mul Sin div dy } { dx +dup Sin mul Cos Div } ifelse } def +/InitRnode { /Y ED /X ED X sub /r ED /l X neg def Y add neg /d ED Y sub +/u ED /NodePos { GetRnodePos } def } def +/DiaNodePos { w h mul w Sin mul abs h Cos mul abs add Div NodeSep add dup +Cos mul exch Sin mul } def +/TriNodePos { Sin s lt { d NodeSep sub dup Cos mul Sin Div exch } { w h +mul w Sin mul h Cos abs mul add Div NodeSep add dup Cos mul exch Sin mul +} ifelse } def +/InitTriNode { sub 2 div exch 2 div exch 2 copy T 2 copy 4 index index /d +ED pop pop pop pop -90 mul rotate /NodeMtrx CM def /X 0 def /Y 0 def d +sub abs neg /d ED d add /h ED 2 div h mul h d sub Div /w ED /s d w Atan +sin def /NodePos { TriNodePos } def } def +/OvalNodePos { /ww w NodeSep add def /hh h NodeSep add def Sin ww mul Cos +hh mul Atan dup cos ww mul exch sin hh mul } def +/GetCenter { begin X Y NodeMtrx transform CM itransform end } def +/XYPos { dup sin exch cos Do /Cos ED /Sin ED /Dist ED Cos 0 gt { Dist +Dist Sin mul Cos div } { Cos 0 lt { Dist neg Dist Sin mul Cos div neg } +{ 0 Dist Sin mul } ifelse } ifelse Do } def +/GetEdge { dup 0 eq { pop begin 1 0 NodeMtrx dtransform CM idtransform +exch atan sub dup sin /Sin ED cos /Cos ED /NodeSep ED NodePos NodeMtrx +dtransform CM idtransform end } { 1 eq {{exch}} {{}} ifelse /Do ED pop +XYPos } ifelse } def +/AddOffset { 1 index 0 eq { pop pop } { 2 copy 5 2 roll cos mul add 4 1 +roll sin mul sub exch } ifelse } def +/GetEdgeA { NodeSepA AngleA NodeA NodeSepTypeA GetEdge OffsetA AngleA +AddOffset yA add /yA1 ED xA add /xA1 ED } def +/GetEdgeB { NodeSepB AngleB NodeB NodeSepTypeB GetEdge OffsetB AngleB +AddOffset yB add /yB1 ED xB add /xB1 ED } def +/GetArmA { ArmTypeA 0 eq { /xA2 ArmA AngleA cos mul xA1 add def /yA2 ArmA +AngleA sin mul yA1 add def } { ArmTypeA 1 eq {{exch}} {{}} ifelse /Do ED +ArmA AngleA XYPos OffsetA AngleA AddOffset yA add /yA2 ED xA add /xA2 ED +} ifelse } def +/GetArmB { ArmTypeB 0 eq { /xB2 ArmB AngleB cos mul xB1 add def /yB2 ArmB +AngleB sin mul yB1 add def } { ArmTypeB 1 eq {{exch}} {{}} ifelse /Do ED +ArmB AngleB XYPos OffsetB AngleB AddOffset yB add /yB2 ED xB add /xB2 ED +} ifelse } def +/InitNC { /b ED /a ED /NodeSepTypeB ED /NodeSepTypeA ED /NodeSepB ED +/NodeSepA ED /OffsetB ED /OffsetA ED tx@NodeDict a known tx@NodeDict b +known and dup { /NodeA a load def /NodeB b load def NodeA GetCenter /yA +ED /xA ED NodeB GetCenter /yB ED /xB ED } if } def +/LPutLine { 4 copy 3 -1 roll sub neg 3 1 roll sub Atan /NAngle ED 1 t sub +mul 3 1 roll 1 t sub mul 4 1 roll t mul add /Y ED t mul add /X ED } def +/LPutLines { mark LPutVar counttomark 2 div 1 sub /n ED t floor dup n gt +{ pop n 1 sub /t 1 def } { dup t sub neg /t ED } ifelse cvi 2 mul { pop +} repeat LPutLine cleartomark } def +/BezierMidpoint { /y3 ED /x3 ED /y2 ED /x2 ED /y1 ED /x1 ED /y0 ED /x0 ED +/t ED /cx x1 x0 sub 3 mul def /cy y1 y0 sub 3 mul def /bx x2 x1 sub 3 +mul cx sub def /by y2 y1 sub 3 mul cy sub def /ax x3 x0 sub cx sub bx +sub def /ay y3 y0 sub cy sub by sub def ax t 3 exp mul bx t t mul mul +add cx t mul add x0 add ay t 3 exp mul by t t mul mul add cy t mul add +y0 add 3 ay t t mul mul mul 2 by t mul mul add cy add 3 ax t t mul mul +mul 2 bx t mul mul add cx add atan /NAngle ED /Y ED /X ED } def +/HPosBegin { yB yA ge { /t 1 t sub def } if /Y yB yA sub t mul yA add def +} def +/HPosEnd { /X Y yyA sub yyB yyA sub Div xxB xxA sub mul xxA add def +/NAngle yyB yyA sub xxB xxA sub Atan def } def +/HPutLine { HPosBegin /yyA ED /xxA ED /yyB ED /xxB ED HPosEnd } def +/HPutLines { HPosBegin yB yA ge { /check { le } def } { /check { ge } def +} ifelse /xxA xA def /yyA yA def mark xB yB LPutVar { dup Y check { exit +} { /yyA ED /xxA ED } ifelse } loop /yyB ED /xxB ED cleartomark HPosEnd +} def +/VPosBegin { xB xA lt { /t 1 t sub def } if /X xB xA sub t mul xA add def +} def +/VPosEnd { /Y X xxA sub xxB xxA sub Div yyB yyA sub mul yyA add def +/NAngle yyB yyA sub xxB xxA sub Atan def } def +/VPutLine { VPosBegin /yyA ED /xxA ED /yyB ED /xxB ED VPosEnd } def +/VPutLines { VPosBegin xB xA ge { /check { le } def } { /check { ge } def +} ifelse /xxA xA def /yyA yA def mark xB yB LPutVar { 1 index X check { +exit } { /yyA ED /xxA ED } ifelse } loop /yyB ED /xxB ED cleartomark +VPosEnd } def +/HPutCurve { gsave newpath /SaveLPutVar /LPutVar load def LPutVar 8 -2 +roll moveto curveto flattenpath /LPutVar [ {} {} {} {} pathforall ] cvx +def grestore exec /LPutVar /SaveLPutVar load def } def +/NCCoor { /AngleA yB yA sub xB xA sub Atan def /AngleB AngleA 180 add def +GetEdgeA GetEdgeB /LPutVar [ xB1 yB1 xA1 yA1 ] cvx def /LPutPos { +LPutVar LPutLine } def /HPutPos { LPutVar HPutLine } def /VPutPos { +LPutVar VPutLine } def LPutVar } def +/NCLine { NCCoor tx@Dict begin ArrowA CP 4 2 roll ArrowB lineto pop pop +end } def +/NCLines { false NArray n 0 eq { NCLine } { 2 copy yA sub exch xA sub +Atan /AngleA ED n 2 mul dup index exch index yB sub exch xB sub Atan +/AngleB ED GetEdgeA GetEdgeB /LPutVar [ xB1 yB1 n 2 mul 4 add 4 roll xA1 +yA1 ] cvx def mark LPutVar tx@Dict begin false Line end /LPutPos { +LPutLines } def /HPutPos { HPutLines } def /VPutPos { VPutLines } def } +ifelse } def +/NCCurve { GetEdgeA GetEdgeB xA1 xB1 sub yA1 yB1 sub Pyth 2 div dup 3 -1 +roll mul /ArmA ED mul /ArmB ED /ArmTypeA 0 def /ArmTypeB 0 def GetArmA +GetArmB xA2 yA2 xA1 yA1 tx@Dict begin ArrowA end xB2 yB2 xB1 yB1 tx@Dict +begin ArrowB end curveto /LPutVar [ xA1 yA1 xA2 yA2 xB2 yB2 xB1 yB1 ] +cvx def /LPutPos { t LPutVar BezierMidpoint } def /HPutPos { { HPutLines +} HPutCurve } def /VPutPos { { VPutLines } HPutCurve } def } def +/NCAngles { GetEdgeA GetEdgeB GetArmA GetArmB /mtrx AngleA matrix rotate +def xA2 yA2 mtrx transform pop xB2 yB2 mtrx transform exch pop mtrx +itransform /y0 ED /x0 ED mark ArmB 0 ne { xB1 yB1 } if xB2 yB2 x0 y0 xA2 +yA2 ArmA 0 ne { xA1 yA1 } if tx@Dict begin false Line end /LPutVar [ xB1 +yB1 xB2 yB2 x0 y0 xA2 yA2 xA1 yA1 ] cvx def /LPutPos { LPutLines } def +/HPutPos { HPutLines } def /VPutPos { VPutLines } def } def +/NCAngle { GetEdgeA GetEdgeB GetArmB /mtrx AngleA matrix rotate def xB2 +yB2 mtrx itransform pop xA1 yA1 mtrx itransform exch pop mtrx transform +/y0 ED /x0 ED mark ArmB 0 ne { xB1 yB1 } if xB2 yB2 x0 y0 xA1 yA1 +tx@Dict begin false Line end /LPutVar [ xB1 yB1 xB2 yB2 x0 y0 xA1 yA1 ] +cvx def /LPutPos { LPutLines } def /HPutPos { HPutLines } def /VPutPos { +VPutLines } def } def +/NCBar { GetEdgeA GetEdgeB GetArmA GetArmB /mtrx AngleA matrix rotate def +xA2 yA2 mtrx itransform pop xB2 yB2 mtrx itransform pop sub dup 0 mtrx +transform 3 -1 roll 0 gt { /yB2 exch yB2 add def /xB2 exch xB2 add def } +{ /yA2 exch neg yA2 add def /xA2 exch neg xA2 add def } ifelse mark ArmB +0 ne { xB1 yB1 } if xB2 yB2 xA2 yA2 ArmA 0 ne { xA1 yA1 } if tx@Dict +begin false Line end /LPutVar [ xB1 yB1 xB2 yB2 xA2 yA2 xA1 yA1 ] cvx +def /LPutPos { LPutLines } def /HPutPos { HPutLines } def /VPutPos { +VPutLines } def } def +/NCDiag { GetEdgeA GetEdgeB GetArmA GetArmB mark ArmB 0 ne { xB1 yB1 } if +xB2 yB2 xA2 yA2 ArmA 0 ne { xA1 yA1 } if tx@Dict begin false Line end +/LPutVar [ xB1 yB1 xB2 yB2 xA2 yA2 xA1 yA1 ] cvx def /LPutPos { +LPutLines } def /HPutPos { HPutLines } def /VPutPos { VPutLines } def } +def +/NCDiagg { GetEdgeA GetArmA yB yA2 sub xB xA2 sub Atan 180 add /AngleB ED +GetEdgeB mark xB1 yB1 xA2 yA2 ArmA 0 ne { xA1 yA1 } if tx@Dict begin +false Line end /LPutVar [ xB1 yB1 xA2 yA2 xA1 yA1 ] cvx def /LPutPos { +LPutLines } def /HPutPos { HPutLines } def /VPutPos { VPutLines } def } +def +/NCLoop { GetEdgeA GetEdgeB GetArmA GetArmB /mtrx AngleA matrix rotate +def xA2 yA2 mtrx transform loopsize add /yA3 ED /xA3 ED /xB3 xB2 yB2 +mtrx transform pop def xB3 yA3 mtrx itransform /yB3 ED /xB3 ED xA3 yA3 +mtrx itransform /yA3 ED /xA3 ED mark ArmB 0 ne { xB1 yB1 } if xB2 yB2 +xB3 yB3 xA3 yA3 xA2 yA2 ArmA 0 ne { xA1 yA1 } if tx@Dict begin false +Line end /LPutVar [ xB1 yB1 xB2 yB2 xB3 yB3 xA3 yA3 xA2 yA2 xA1 yA1 ] +cvx def /LPutPos { LPutLines } def /HPutPos { HPutLines } def /VPutPos { +VPutLines } def } def +% DG/SR modification begin - May 9, 1997 - Patch 1 +%/NCCircle { 0 0 NodesepA nodeA \tx@GetEdge pop xA sub 2 div dup 2 exp r +%r mul sub abs sqrt atan 2 mul /a ED r AngleA 90 add PtoC yA add exch xA add +%exch 2 copy /LPutVar [ 4 2 roll r AngleA ] cvx def /LPutPos { LPutVar t 360 +%mul add dup 5 1 roll 90 sub \tx@PtoC 3 -1 roll add /Y ED add /X ED /NAngle ED +/NCCircle { NodeSepA 0 NodeA 0 GetEdge pop 2 div dup 2 exp r +r mul sub abs sqrt atan 2 mul /a ED r AngleA 90 add PtoC yA add exch xA add +exch 2 copy /LPutVar [ 4 2 roll r AngleA ] cvx def /LPutPos { LPutVar t 360 +mul add dup 5 1 roll 90 sub PtoC 3 -1 roll add /Y ED add /X ED /NAngle ED +% DG/SR modification end +} def /HPutPos { LPutPos } def /VPutPos { LPutPos } def r AngleA 90 sub a add +AngleA 270 add a sub tx@Dict begin /angleB ED /angleA ED /r ED /c 57.2957 r +Div def /y ED /x ED } def +/NCBox { /d ED /h ED /AngleB yB yA sub xB xA sub Atan def /AngleA AngleB +180 add def GetEdgeA GetEdgeB /dx d AngleB sin mul def /dy d AngleB cos +mul neg def /hx h AngleB sin mul neg def /hy h AngleB cos mul def +/LPutVar [ xA1 hx add yA1 hy add xB1 hx add yB1 hy add xB1 dx add yB1 dy +add xA1 dx add yA1 dy add ] cvx def /LPutPos { LPutLines } def /HPutPos +{ xB yB xA yA LPutLine } def /VPutPos { HPutPos } def mark LPutVar +tx@Dict begin false Polygon end } def +/NCArcBox { /l ED neg /d ED /h ED /a ED /AngleA yB yA sub xB xA sub Atan +def /AngleB AngleA 180 add def /tA AngleA a sub 90 add def /tB tA a 2 +mul add def /r xB xA sub tA cos tB cos sub Div dup 0 eq { pop 1 } if def +/x0 xA r tA cos mul add def /y0 yA r tA sin mul add def /c 57.2958 r div +def /AngleA AngleA a sub 180 add def /AngleB AngleB a add 180 add def +GetEdgeA GetEdgeB /AngleA tA 180 add yA yA1 sub xA xA1 sub Pyth c mul +sub def /AngleB tB 180 add yB yB1 sub xB xB1 sub Pyth c mul add def l 0 +eq { x0 y0 r h add AngleA AngleB arc x0 y0 r d add AngleB AngleA arcn } +{ x0 y0 translate /tA AngleA l c mul add def /tB AngleB l c mul sub def +0 0 r h add tA tB arc r h add AngleB PtoC r d add AngleB PtoC 2 copy 6 2 +roll l arcto 4 { pop } repeat r d add tB PtoC l arcto 4 { pop } repeat 0 +0 r d add tB tA arcn r d add AngleA PtoC r h add AngleA PtoC 2 copy 6 2 +roll l arcto 4 { pop } repeat r h add tA PtoC l arcto 4 { pop } repeat } +ifelse closepath /LPutVar [ x0 y0 r AngleA AngleB h d ] cvx def /LPutPos +{ LPutVar /d ED /h ED /AngleB ED /AngleA ED /r ED /y0 ED /x0 ED t 1 le { +r h add AngleA 1 t sub mul AngleB t mul add dup 90 add /NAngle ED PtoC } +{ t 2 lt { /NAngle AngleB 180 add def r 2 t sub h mul t 1 sub d mul add +add AngleB PtoC } { t 3 lt { r d add AngleB 3 t sub mul AngleA 2 t sub +mul add dup 90 sub /NAngle ED PtoC } { /NAngle AngleA 180 add def r 4 t +sub d mul t 3 sub h mul add add AngleA PtoC } ifelse } ifelse } ifelse +y0 add /Y ED x0 add /X ED } def /HPutPos { LPutPos } def /VPutPos { +LPutPos } def } def +/Tfan { /AngleA yB yA sub xB xA sub Atan def GetEdgeA w xA1 xB sub yA1 yB +sub Pyth Pyth w Div CLW 2 div mul 2 div dup AngleA sin mul yA1 add /yA1 +ED AngleA cos mul xA1 add /xA1 ED /LPutVar [ xA1 yA1 m { xB w add yB xB +w sub yB } { xB yB w sub xB yB w add } ifelse xA1 yA1 ] cvx def /LPutPos +{ LPutLines } def /VPutPos@ { LPutVar flag { 8 4 roll pop pop pop pop } +{ pop pop pop pop 4 2 roll } ifelse } def /VPutPos { VPutPos@ VPutLine } +def /HPutPos { VPutPos@ HPutLine } def mark LPutVar tx@Dict begin +/ArrowA { moveto } def /ArrowB { } def false Line closepath end } def +/LPutCoor { NAngle tx@Dict begin /NAngle ED end gsave CM STV CP Y sub neg +exch X sub neg exch moveto setmatrix CP grestore } def +/LPut { tx@NodeDict /LPutPos known { LPutPos } { CP /Y ED /X ED /NAngle 0 +def } ifelse LPutCoor } def +/HPutAdjust { Sin Cos mul 0 eq { 0 } { d Cos mul Sin div flag not { neg } +if h Cos mul Sin div flag { neg } if 2 copy gt { pop } { exch pop } +ifelse } ifelse s add flag { r add neg } { l add } ifelse X add /X ED } +def +/VPutAdjust { Sin Cos mul 0 eq { 0 } { l Sin mul Cos div flag { neg } if +r Sin mul Cos div flag not { neg } if 2 copy gt { pop } { exch pop } +ifelse } ifelse s add flag { d add } { h add neg } ifelse Y add /Y ED } +def +end +% END pst-node.pro + +%%EndProcSet +%%BeginProcSet: 8r.enc 0 0 +% File 8r.enc TeX Base 1 Encoding Revision 2.0 2002-10-30 +% +% @@psencodingfile@{ +% author = "S. Rahtz, P. MacKay, Alan Jeffrey, B. Horn, K. Berry, +% W. Schmidt, P. Lehman", +% version = "2.0", +% date = "30 October 2002", +% filename = "8r.enc", +% email = "tex-fonts@@tug.org", +% docstring = "This is the encoding vector for Type1 and TrueType +% fonts to be used with TeX. This file is part of the +% PSNFSS bundle, version 9" +% @} +% +% The idea is to have all the characters normally included in Type 1 fonts +% available for typesetting. This is effectively the characters in Adobe +% Standard encoding, ISO Latin 1, Windows ANSI including the euro symbol, +% MacRoman, and some extra characters from Lucida. +% +% Character code assignments were made as follows: +% +% (1) the Windows ANSI characters are almost all in their Windows ANSI +% positions, because some Windows users cannot easily reencode the +% fonts, and it makes no difference on other systems. The only Windows +% ANSI characters not available are those that make no sense for +% typesetting -- rubout (127 decimal), nobreakspace (160), softhyphen +% (173). quotesingle and grave are moved just because it's such an +% irritation not having them in TeX positions. +% +% (2) Remaining characters are assigned arbitrarily to the lower part +% of the range, avoiding 0, 10 and 13 in case we meet dumb software. +% +% (3) Y&Y Lucida Bright includes some extra text characters; in the +% hopes that other PostScript fonts, perhaps created for public +% consumption, will include them, they are included starting at 0x12. +% These are /dotlessj /ff /ffi /ffl. +% +% (4) hyphen appears twice for compatibility with both ASCII and Windows. +% +% (5) /Euro was assigned to 128, as in Windows ANSI +% +% (6) Missing characters from MacRoman encoding incorporated as follows: +% +% PostScript MacRoman TeXBase1 +% -------------- -------------- -------------- +% /notequal 173 0x16 +% /infinity 176 0x17 +% /lessequal 178 0x18 +% /greaterequal 179 0x19 +% /partialdiff 182 0x1A +% /summation 183 0x1B +% /product 184 0x1C +% /pi 185 0x1D +% /integral 186 0x81 +% /Omega 189 0x8D +% /radical 195 0x8E +% /approxequal 197 0x8F +% /Delta 198 0x9D +% /lozenge 215 0x9E +% +/TeXBase1Encoding [ +% 0x00 + /.notdef /dotaccent /fi /fl + /fraction /hungarumlaut /Lslash /lslash + /ogonek /ring /.notdef /breve + /minus /.notdef /Zcaron /zcaron +% 0x10 + /caron /dotlessi /dotlessj /ff + /ffi /ffl /notequal /infinity + /lessequal /greaterequal /partialdiff /summation + /product /pi /grave /quotesingle +% 0x20 + /space /exclam /quotedbl /numbersign + /dollar /percent /ampersand /quoteright + /parenleft /parenright /asterisk /plus + /comma /hyphen /period /slash +% 0x30 + /zero /one /two /three + /four /five /six /seven + /eight /nine /colon /semicolon + /less /equal /greater /question +% 0x40 + /at /A /B /C + /D /E /F /G + /H /I /J /K + /L /M /N /O +% 0x50 + /P /Q /R /S + /T /U /V /W + /X /Y /Z /bracketleft + /backslash /bracketright /asciicircum /underscore +% 0x60 + /quoteleft /a /b /c + /d /e /f /g + /h /i /j /k + /l /m /n /o +% 0x70 + /p /q /r /s + /t /u /v /w + /x /y /z /braceleft + /bar /braceright /asciitilde /.notdef +% 0x80 + /Euro /integral /quotesinglbase /florin + /quotedblbase /ellipsis /dagger /daggerdbl + /circumflex /perthousand /Scaron /guilsinglleft + /OE /Omega /radical /approxequal +% 0x90 + /.notdef /.notdef /.notdef /quotedblleft + /quotedblright /bullet /endash /emdash + /tilde /trademark /scaron /guilsinglright + /oe /Delta /lozenge /Ydieresis +% 0xA0 + /.notdef /exclamdown /cent /sterling + /currency /yen /brokenbar /section + /dieresis /copyright /ordfeminine /guillemotleft + /logicalnot /hyphen /registered /macron +% 0xD0 + /degree /plusminus /twosuperior /threesuperior + /acute /mu /paragraph /periodcentered + /cedilla /onesuperior /ordmasculine /guillemotright + /onequarter /onehalf /threequarters /questiondown +% 0xC0 + /Agrave /Aacute /Acircumflex /Atilde + /Adieresis /Aring /AE /Ccedilla + /Egrave /Eacute /Ecircumflex /Edieresis + /Igrave /Iacute /Icircumflex /Idieresis +% 0xD0 + /Eth /Ntilde /Ograve /Oacute + /Ocircumflex /Otilde /Odieresis /multiply + /Oslash /Ugrave /Uacute /Ucircumflex + /Udieresis /Yacute /Thorn /germandbls +% 0xE0 + /agrave /aacute /acircumflex /atilde + /adieresis /aring /ae /ccedilla + /egrave /eacute /ecircumflex /edieresis + /igrave /iacute /icircumflex /idieresis +% 0xF0 + /eth /ntilde /ograve /oacute + /ocircumflex /otilde /odieresis /divide + /oslash /ugrave /uacute /ucircumflex + /udieresis /yacute /thorn /ydieresis +] def + + +%%EndProcSet +%%BeginProcSet: texps.pro 0 0 +%! +TeXDict begin/rf{findfont dup length 1 add dict begin{1 index/FID ne 2 +index/UniqueID ne and{def}{pop pop}ifelse}forall[1 index 0 6 -1 roll +exec 0 exch 5 -1 roll VResolution Resolution div mul neg 0 0]FontType 0 +ne{/Metrics exch def dict begin Encoding{exch dup type/integertype ne{ +pop pop 1 sub dup 0 le{pop}{[}ifelse}{FontMatrix 0 get div Metrics 0 get +div def}ifelse}forall Metrics/Metrics currentdict end def}{{1 index type +/nametype eq{exit}if exch pop}loop}ifelse[2 index currentdict end +definefont 3 -1 roll makefont/setfont cvx]cvx def}def/ObliqueSlant{dup +sin S cos div neg}B/SlantFont{4 index mul add}def/ExtendFont{3 -1 roll +mul exch}def/ReEncodeFont{CharStrings rcheck{/Encoding false def dup[ +exch{dup CharStrings exch known not{pop/.notdef/Encoding true def}if} +forall Encoding{]exch pop}{cleartomark}ifelse}if/Encoding exch def}def +end + +%%EndProcSet +%%BeginProcSet: special.pro 0 0 +%! +TeXDict begin/SDict 200 dict N SDict begin/@SpecialDefaults{/hs 612 N +/vs 792 N/ho 0 N/vo 0 N/hsc 1 N/vsc 1 N/ang 0 N/CLIP 0 N/rwiSeen false N +/rhiSeen false N/letter{}N/note{}N/a4{}N/legal{}N}B/@scaleunit 100 N +/@hscale{@scaleunit div/hsc X}B/@vscale{@scaleunit div/vsc X}B/@hsize{ +/hs X/CLIP 1 N}B/@vsize{/vs X/CLIP 1 N}B/@clip{/CLIP 2 N}B/@hoffset{/ho +X}B/@voffset{/vo X}B/@angle{/ang X}B/@rwi{10 div/rwi X/rwiSeen true N}B +/@rhi{10 div/rhi X/rhiSeen true N}B/@llx{/llx X}B/@lly{/lly X}B/@urx{ +/urx X}B/@ury{/ury X}B/magscale true def end/@MacSetUp{userdict/md known +{userdict/md get type/dicttype eq{userdict begin md length 10 add md +maxlength ge{/md md dup length 20 add dict copy def}if end md begin +/letter{}N/note{}N/legal{}N/od{txpose 1 0 mtx defaultmatrix dtransform S +atan/pa X newpath clippath mark{transform{itransform moveto}}{transform{ +itransform lineto}}{6 -2 roll transform 6 -2 roll transform 6 -2 roll +transform{itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll +curveto}}{{closepath}}pathforall newpath counttomark array astore/gc xdf +pop ct 39 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack} +if}N/txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1 +-1 scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3 +get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip +yflip not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub +neg 0 TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{ +noflips{TR pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop +90 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get +neg sub neg TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr +1 get neg sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr +2 get ppr 0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4 +-1 roll add 2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S +TR}if}N/cp{pop pop showpage pm restore}N end}if}if}N/normalscale{ +Resolution 72 div VResolution 72 div neg scale magscale{DVImag dup scale +}if 0 setgray}N/psfts{S 65781.76 div N}N/startTexFig{/psf$SavedState +save N userdict maxlength dict begin/magscale true def normalscale +currentpoint TR/psf$ury psfts/psf$urx psfts/psf$lly psfts/psf$llx psfts +/psf$y psfts/psf$x psfts currentpoint/psf$cy X/psf$cx X/psf$sx psf$x +psf$urx psf$llx sub div N/psf$sy psf$y psf$ury psf$lly sub div N psf$sx +psf$sy scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub +TR/showpage{}N/erasepage{}N/setpagedevice{pop}N/copypage{}N/p 3 def +@MacSetUp}N/doclip{psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll +newpath 4 copy 4 2 roll moveto 6 -1 roll S lineto S lineto S lineto +closepath clip newpath moveto}N/endTexFig{end psf$SavedState restore}N +/@beginspecial{SDict begin/SpecialSave save N gsave normalscale +currentpoint TR @SpecialDefaults count/ocount X/dcount countdictstack N} +N/@setspecial{CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs +neg 0 rlineto closepath clip}if ho vo TR hsc vsc scale ang rotate +rwiSeen{rwi urx llx sub div rhiSeen{rhi ury lly sub div}{dup}ifelse +scale llx neg lly neg TR}{rhiSeen{rhi ury lly sub div dup scale llx neg +lly neg TR}if}ifelse CLIP 2 eq{newpath llx lly moveto urx lly lineto urx +ury lineto llx ury lineto closepath clip}if/showpage{}N/erasepage{}N +/setpagedevice{pop}N/copypage{}N newpath}N/@endspecial{count ocount sub{ +pop}repeat countdictstack dcount sub{end}repeat grestore SpecialSave +restore end}N/@defspecial{SDict begin}N/@fedspecial{end}B/li{lineto}B +/rl{rlineto}B/rc{rcurveto}B/np{/SaveX currentpoint/SaveY X N 1 +setlinecap newpath}N/st{stroke SaveX SaveY moveto}N/fil{fill SaveX SaveY +moveto}N/ellipse{/endangle X/startangle X/yrad X/xrad X/savematrix +matrix currentmatrix N TR xrad yrad scale 0 0 1 startangle endangle arc +savematrix setmatrix}N end + +%%EndProcSet +%%BeginProcSet: color.pro 0 0 +%! +TeXDict begin/setcmykcolor where{pop}{/setcmykcolor{dup 10 eq{pop +setrgbcolor}{1 sub 4 1 roll 3{3 index add neg dup 0 lt{pop 0}if 3 1 roll +}repeat setrgbcolor pop}ifelse}B}ifelse/TeXcolorcmyk{setcmykcolor}def +/TeXcolorrgb{setrgbcolor}def/TeXcolorgrey{setgray}def/TeXcolorgray{ +setgray}def/TeXcolorhsb{sethsbcolor}def/currentcmykcolor where{pop}{ +/currentcmykcolor{currentrgbcolor 10}B}ifelse/DC{exch dup userdict exch +known{pop pop}{X}ifelse}B/GreenYellow{0.15 0 0.69 0 setcmykcolor}DC +/Yellow{0 0 1 0 setcmykcolor}DC/Goldenrod{0 0.10 0.84 0 setcmykcolor}DC +/Dandelion{0 0.29 0.84 0 setcmykcolor}DC/Apricot{0 0.32 0.52 0 +setcmykcolor}DC/Peach{0 0.50 0.70 0 setcmykcolor}DC/Melon{0 0.46 0.50 0 +setcmykcolor}DC/YellowOrange{0 0.42 1 0 setcmykcolor}DC/Orange{0 0.61 +0.87 0 setcmykcolor}DC/BurntOrange{0 0.51 1 0 setcmykcolor}DC +/Bittersweet{0 0.75 1 0.24 setcmykcolor}DC/RedOrange{0 0.77 0.87 0 +setcmykcolor}DC/Mahogany{0 0.85 0.87 0.35 setcmykcolor}DC/Maroon{0 0.87 +0.68 0.32 setcmykcolor}DC/BrickRed{0 0.89 0.94 0.28 setcmykcolor}DC/Red{ +0 1 1 0 setcmykcolor}DC/OrangeRed{0 1 0.50 0 setcmykcolor}DC/RubineRed{ +0 1 0.13 0 setcmykcolor}DC/WildStrawberry{0 0.96 0.39 0 setcmykcolor}DC +/Salmon{0 0.53 0.38 0 setcmykcolor}DC/CarnationPink{0 0.63 0 0 +setcmykcolor}DC/Magenta{0 1 0 0 setcmykcolor}DC/VioletRed{0 0.81 0 0 +setcmykcolor}DC/Rhodamine{0 0.82 0 0 setcmykcolor}DC/Mulberry{0.34 0.90 +0 0.02 setcmykcolor}DC/RedViolet{0.07 0.90 0 0.34 setcmykcolor}DC +/Fuchsia{0.47 0.91 0 0.08 setcmykcolor}DC/Lavender{0 0.48 0 0 +setcmykcolor}DC/Thistle{0.12 0.59 0 0 setcmykcolor}DC/Orchid{0.32 0.64 0 +0 setcmykcolor}DC/DarkOrchid{0.40 0.80 0.20 0 setcmykcolor}DC/Purple{ +0.45 0.86 0 0 setcmykcolor}DC/Plum{0.50 1 0 0 setcmykcolor}DC/Violet{ +0.79 0.88 0 0 setcmykcolor}DC/RoyalPurple{0.75 0.90 0 0 setcmykcolor}DC +/BlueViolet{0.86 0.91 0 0.04 setcmykcolor}DC/Periwinkle{0.57 0.55 0 0 +setcmykcolor}DC/CadetBlue{0.62 0.57 0.23 0 setcmykcolor}DC +/CornflowerBlue{0.65 0.13 0 0 setcmykcolor}DC/MidnightBlue{0.98 0.13 0 +0.43 setcmykcolor}DC/NavyBlue{0.94 0.54 0 0 setcmykcolor}DC/RoyalBlue{1 +0.50 0 0 setcmykcolor}DC/Blue{1 1 0 0 setcmykcolor}DC/Cerulean{0.94 0.11 +0 0 setcmykcolor}DC/Cyan{1 0 0 0 setcmykcolor}DC/ProcessBlue{0.96 0 0 0 +setcmykcolor}DC/SkyBlue{0.62 0 0.12 0 setcmykcolor}DC/Turquoise{0.85 0 +0.20 0 setcmykcolor}DC/TealBlue{0.86 0 0.34 0.02 setcmykcolor}DC +/Aquamarine{0.82 0 0.30 0 setcmykcolor}DC/BlueGreen{0.85 0 0.33 0 +setcmykcolor}DC/Emerald{1 0 0.50 0 setcmykcolor}DC/JungleGreen{0.99 0 +0.52 0 setcmykcolor}DC/SeaGreen{0.69 0 0.50 0 setcmykcolor}DC/Green{1 0 +1 0 setcmykcolor}DC/ForestGreen{0.91 0 0.88 0.12 setcmykcolor}DC +/PineGreen{0.92 0 0.59 0.25 setcmykcolor}DC/LimeGreen{0.50 0 1 0 +setcmykcolor}DC/YellowGreen{0.44 0 0.74 0 setcmykcolor}DC/SpringGreen{ +0.26 0 0.76 0 setcmykcolor}DC/OliveGreen{0.64 0 0.95 0.40 setcmykcolor} +DC/RawSienna{0 0.72 1 0.45 setcmykcolor}DC/Sepia{0 0.83 1 0.70 +setcmykcolor}DC/Brown{0 0.81 1 0.60 setcmykcolor}DC/Tan{0.14 0.42 0.56 0 +setcmykcolor}DC/Gray{0 0 0 0.50 setcmykcolor}DC/Black{0 0 0 1 +setcmykcolor}DC/White{0 0 0 0 setcmykcolor}DC end + +%%EndProcSet +TeXDict begin 39139632 55387786 1000 600 600 (classification.dvi) +@start /Fa 134[33 2[33 33 18 26 22 1[33 33 33 52 18 1[18 +18 33 33 22 29 33 29 33 29 11[48 41 37 44 48 37 48 2[41 +2[22 1[48 37 41 48 44 44 48 13[33 33 8[22 22 1[52 38[{ +TeXBase1Encoding ReEncodeFont}42 66.4176 /Times-Roman +rf end +%%EndProlog +%%BeginSetup +%%Feature: *Resolution 600dpi +TeXDict begin +%%PaperSize: A4 + end +%%EndSetup +%%Page: 1 1 +TeXDict begin 1 0 bop 0 TeXcolorgray Black 0 TeXcolorgray +1 TeXcolorgray 0 TeXcolorgray 1 TeXcolorgray 0 TeXcolorgray +0 TeXcolorgray 0 TeXcolorgray 1 TeXcolorgray 0 TeXcolorgray +0 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray +0 TeXcolorgray 0 TeXcolorgray 0.25 TeXcolorgray 0 TeXcolorgray +0.5 TeXcolorgray 0 TeXcolorgray 581 523 a + currentpoint currentpoint translate 0.4 0.4 scale neg exch neg exch +translate + 581 523 a 4283 +538 a + tx@Dict begin tx@NodeDict begin {9.26 5.54 32.04001 16.02 1.86 } false +/N@T-0 16 {InitRnode } NewNode end end + 4283 538 a 31 w @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray 0. true 3.8 neg 5.54 +neg 28.24 9.26 .5 Frame gsave 0.8 SLW 0 setgray 0 setlinecap stroke + grestore end + +@endspecial +Fa(Objects)1872 1012 y + tx@Dict begin tx@NodeDict begin {9.26 5.22 56.488 28.244 2.01999 } +false /N@T-0-0 16 {InitRnode } NewNode end end + 1872 1012 a 31 w @beginspecial +@setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray 0. true 3.8 neg 5.22 +neg 52.688 9.26 .5 Frame gsave 0.8 SLW 0 setgray 0 setlinecap stroke + grestore end + +@endspecial Fa(\(RootIsolation\))2106 995 +y + tx@Dict begin gsave STV newpath 0.8 SLW 0 setgray /ArrowA { moveto +} def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 +0.0 0 0 /N@T-0 /N@T-0-0 InitNC { NCLine } if end gsave 0.8 SLW 0 +setgray 0 setlinecap stroke grestore grestore end + 2106 995 a 1886 1490 a + tx@Dict begin tx@NodeDict begin {9.152 3.8 13.8679 6.93394 2.676 } +false /N@T-0-0-0 16 {InitRnode } NewNode end end + 1886 1490 a 32 w @beginspecial +@setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray 0. true 3.8 neg 3.8 +neg 10.0679 9.152 .5 Frame gsave 0.8 SLW 0 setgray 5.0 3.0 0.0 0.0 +2 DashLine grestore end + +@endspecial 1944 1468 a + tx@Dict begin gsave STV newpath 0.8 SLW 0 setgray /ArrowA { moveto +} def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 +0.0 0 0 /N@T-0-0 /N@T-0-0-0 InitNC { NCLine } if end gsave 0.8 SLW +0 setgray 5.0 3.0 0.0 0.0 0 0 add DashLine grestore grestore end + 1944 1468 a 2049 +1490 a + tx@Dict begin tx@NodeDict begin {9.152 3.8 13.8679 6.93394 2.676 } +false /N@T-0-0-1 16 {InitRnode } NewNode end end + 2049 1490 a 31 w @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray 0. true 3.8 neg 3.8 +neg 10.0679 9.152 .5 Frame gsave 0.8 SLW 0 setgray 5.0 3.0 0.0 0.0 +2 DashLine grestore end + +@endspecial +2106 1468 a + tx@Dict begin gsave STV newpath 0.8 SLW 0 setgray /ArrowA { moveto +} def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 +0.0 0 0 /N@T-0-0 /N@T-0-0-1 InitNC { NCLine } if end gsave 0.8 SLW +0 setgray 5.0 3.0 0.0 0.0 0 0 add DashLine grestore grestore end + 2106 1468 a 2211 1490 a + tx@Dict begin tx@NodeDict begin {9.152 3.8 13.8679 6.93394 2.676 } +false /N@T-0-0-2 16 {InitRnode } NewNode end end + 2211 1490 a 32 w +@beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray 0. true 3.8 neg 3.8 +neg 10.0679 9.152 .5 Frame gsave 0.8 SLW 0 setgray 5.0 3.0 0.0 0.0 +2 DashLine grestore end + +@endspecial 2269 1468 a + tx@Dict begin gsave STV newpath 0.8 SLW 0 setgray /ArrowA { moveto +} def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 +0.0 0 0 /N@T-0-0 /N@T-0-0-2 InitNC { NCLine } if end gsave 0.8 SLW +0 setgray 5.0 3.0 0.0 0.0 0 0 add DashLine grestore grestore end + 2269 +1468 a 4167 1010 a + tx@Dict begin tx@NodeDict begin {9.152 5.54 52.92001 26.46 1.806 } +false /N@T-0-1 16 {InitRnode } NewNode end end + 4167 1010 a 31 w @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray 0. true 3.8 neg 5.54 +neg 49.12001 9.152 .5 Frame gsave 0.8 SLW 0 setgray 0 setlinecap +stroke grestore end + + +@endspecial Fa(Arrangements)4386 995 y + tx@Dict begin gsave STV newpath 0.8 SLW 0 setgray /ArrowA { moveto +} def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 +0.0 0 0 /N@T-0 /N@T-0-1 InitNC { NCLine } if end gsave 0.8 SLW 0 +setgray 0 setlinecap stroke grestore grestore end + 4386 995 a 2374 +1490 a + tx@Dict begin tx@NodeDict begin {9.152 3.90799 67.248 33.624 2.622 +} false /N@T-0-1-0 16 {InitRnode } NewNode end end + 2374 1490 a 31 w @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray 0. true 3.8 neg 3.90799 +neg 63.448 9.152 .5 Frame gsave 0.8 SLW 0 setgray 0 setlinecap stroke + grestore end + +@endspecial +Fa(2D)17 b(Curv)o(es)h(&)e(Arcs)2653 1468 y + tx@Dict begin gsave STV newpath 0.8 SLW 0 setgray /ArrowA { moveto +} def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 +0.0 0 0 /N@T-0-1 /N@T-0-1-0 InitNC { NCLine } if end gsave 0.8 SLW +0 setgray 0 setlinecap stroke grestore grestore end + 2653 1468 +a 1146 1963 a + tx@Dict begin tx@NodeDict begin {9.26 3.884 25.376 12.688 2.68799 +} false /N@T-0-1-0-0 16 {InitRnode } NewNode end end + 1146 1963 a 32 w @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray 0. true 3.8 neg 3.884 +neg 21.576 9.26 .5 Frame gsave 0.8 SLW 0 setgray 0 setlinecap stroke + grestore end + + +@endspecial Fa(Lines)1252 1940 y + tx@Dict begin gsave STV newpath 0.8 SLW 0 setgray /ArrowA { moveto +} def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 +0.0 0 0 /N@T-0-1-0 /N@T-0-1-0-0 InitNC { NCLine } if end gsave 0.8 +SLW 0 setgray 0 setlinecap stroke grestore grestore end + 1252 1940 a 598 2435 +a + tx@Dict begin tx@NodeDict begin {9.26 3.90799 43.04 21.51999 2.676 +} false /N@T-0-1-0-0-0 16 {InitRnode } NewNode end end + 598 2435 a 31 w @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray 0. true 3.8 neg 3.90799 +neg 39.23999 9.26 .5 Frame gsave 0.8 SLW 0 setgray 0 setlinecap stroke + grestore end + +@endspecial +Fa(FullCurv)o(es)776 2413 y + tx@Dict begin gsave STV newpath 0.8 SLW 0 setgray /ArrowA { moveto +} def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 +0.0 0 0 /N@T-0-1-0-0 /N@T-0-1-0-0-0 InitNC { NCLine } if end gsave +0.8 SLW 0 setgray 0 setlinecap stroke grestore grestore end + 776 2413 a 1002 2435 a + tx@Dict begin tx@NodeDict begin {9.26 3.884 51.59201 25.796 2.68799 +} false /N@T-0-1-0-0-1 16 {InitRnode } NewNode end end + 1002 +2435 a 32 w @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray 0. true 3.8 neg 3.884 +neg 47.792 9.26 .5 Frame gsave 0.8 SLW 0 setgray 0 setlinecap stroke + grestore end + +@endspecial Fa(BoundedArcs)1216 +2413 y + tx@Dict begin gsave STV newpath 0.8 SLW 0 setgray /ArrowA { moveto +} def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 +0.0 0 0 /N@T-0-1-0-0 /N@T-0-1-0-0-1 InitNC { NCLine } if end gsave +0.8 SLW 0 setgray 0 setlinecap stroke grestore grestore end + 1216 2413 a 1478 2435 a + tx@Dict begin tx@NodeDict begin {9.26 3.90799 60.03201 30.016 2.676 +} false /N@T-0-1-0-0-2 16 {InitRnode } NewNode end end + 1478 2435 a 31 w @beginspecial +@setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray 0. true 3.8 neg 3.90799 +neg 56.23201 9.26 .5 Frame gsave 0.8 SLW 0 setgray 0 setlinecap stroke + grestore end + +@endspecial Fa(UnboundedArcs)1727 2413 y + tx@Dict begin gsave STV newpath 0.8 SLW 0 setgray /ArrowA { moveto +} def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 +0.0 0 0 /N@T-0-1-0-0 /N@T-0-1-0-0-2 InitNC { NCLine } if end gsave +0.8 SLW 0 setgray 0 setlinecap stroke grestore grestore end + +1727 2413 a 2118 1963 a + tx@Dict begin tx@NodeDict begin {9.26 3.90799 30.264 15.132 2.676 +} false /N@T-0-1-0-1 16 {InitRnode } NewNode end end + 2118 1963 a 31 w @beginspecial +@setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray 0. true 3.8 neg 3.90799 +neg 26.464 9.26 .5 Frame gsave 0.8 SLW 0 setgray 0 setlinecap stroke + grestore end + +@endspecial Fa(Circles)2243 1940 y + tx@Dict begin gsave STV newpath 0.8 SLW 0 setgray /ArrowA { moveto +} def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 +0.0 0 0 /N@T-0-1-0 /N@T-0-1-0-1 InitNC { NCLine } if end gsave 0.8 +SLW 0 setgray 0 setlinecap stroke grestore grestore end + 2243 +1940 a 2024 2435 a + tx@Dict begin tx@NodeDict begin {9.152 3.8 13.8679 6.93394 2.676 } +false /N@T-0-1-0-1-0 16 {InitRnode } NewNode end end + 2024 2435 a 31 w @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray 0. true 3.8 neg 3.8 +neg 10.0679 9.152 .5 Frame gsave 0.8 SLW 0 setgray 5.0 3.0 0.0 0.0 +2 DashLine grestore end + + +@endspecial 2081 2413 a + tx@Dict begin gsave STV newpath 0.8 SLW 0 setgray /ArrowA { moveto +} def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 +0.0 0 0 /N@T-0-1-0-1 /N@T-0-1-0-1-0 InitNC { NCLine } if end gsave +0.8 SLW 0 setgray 5.0 3.0 0.0 0.0 0 0 add DashLine grestore grestore +end + 2081 2413 a 2186 2435 a + tx@Dict begin tx@NodeDict begin {9.152 3.8 13.8679 6.93394 2.676 } +false /N@T-0-1-0-1-1 16 {InitRnode } NewNode end end + 2186 +2435 a 31 w @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray 0. true 3.8 neg 3.8 +neg 10.0679 9.152 .5 Frame gsave 0.8 SLW 0 setgray 5.0 3.0 0.0 0.0 +2 DashLine grestore end + +@endspecial 2243 +2413 a + tx@Dict begin gsave STV newpath 0.8 SLW 0 setgray /ArrowA { moveto +} def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 +0.0 0 0 /N@T-0-1-0-1 /N@T-0-1-0-1-1 InitNC { NCLine } if end gsave +0.8 SLW 0 setgray 5.0 3.0 0.0 0.0 0 0 add DashLine grestore grestore +end + 2243 2413 a 2348 2435 a + tx@Dict begin tx@NodeDict begin {9.152 3.8 13.8679 6.93394 2.676 } +false /N@T-0-1-0-1-2 16 {InitRnode } NewNode end end + 2348 2435 a 32 w @beginspecial +@setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray 0. true 3.8 neg 3.8 +neg 10.0679 9.152 .5 Frame gsave 0.8 SLW 0 setgray 5.0 3.0 0.0 0.0 +2 DashLine grestore end + +@endspecial 2406 2413 a + tx@Dict begin gsave STV newpath 0.8 SLW 0 setgray /ArrowA { moveto +} def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 +0.0 0 0 /N@T-0-1-0-1 /N@T-0-1-0-1-2 InitNC { NCLine } if end gsave +0.8 SLW 0 setgray 5.0 3.0 0.0 0.0 0 0 add DashLine grestore grestore +end + 2406 2413 a 2767 +1963 a + tx@Dict begin tx@NodeDict begin {9.26 3.90799 29.824 14.912 2.676 +} false /N@T-0-1-0-2 16 {InitRnode } NewNode end end + 2767 1963 a 32 w @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray 0. true 3.8 neg 3.90799 +neg 26.024 9.26 .5 Frame gsave 0.8 SLW 0 setgray 0 setlinecap stroke + grestore end + +@endspecial +Fa(Conics)2891 1940 y + tx@Dict begin gsave STV newpath 0.8 SLW 0 setgray /ArrowA { moveto +} def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 +0.0 0 0 /N@T-0-1-0 /N@T-0-1-0-2 InitNC { NCLine } if end gsave 0.8 +SLW 0 setgray 0 setlinecap stroke grestore grestore end + 2891 1940 a 2511 2435 a + tx@Dict begin tx@NodeDict begin {9.152 3.8 13.8679 6.93394 2.676 } +false /N@T-0-1-0-2-0 16 {InitRnode } NewNode end end + 2511 2435 +a 31 w @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray 0. true 3.8 neg 3.8 +neg 10.0679 9.152 .5 Frame gsave 0.8 SLW 0 setgray 5.0 3.0 0.0 0.0 +2 DashLine grestore end + +@endspecial 2568 2413 +a + tx@Dict begin gsave STV newpath 0.8 SLW 0 setgray /ArrowA { moveto +} def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 +0.0 0 0 /N@T-0-1-0-2 /N@T-0-1-0-2-0 InitNC { NCLine } if end gsave +0.8 SLW 0 setgray 5.0 3.0 0.0 0.0 0 0 add DashLine grestore grestore +end + 2568 2413 a 2673 2435 a + tx@Dict begin tx@NodeDict begin {9.152 3.8 13.8679 6.93394 2.676 } +false /N@T-0-1-0-2-1 16 {InitRnode } NewNode end end + 2673 2435 a 32 w @beginspecial +@setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray 0. true 3.8 neg 3.8 +neg 10.0679 9.152 .5 Frame gsave 0.8 SLW 0 setgray 5.0 3.0 0.0 0.0 +2 DashLine grestore end + +@endspecial 2731 2413 a + tx@Dict begin gsave STV newpath 0.8 SLW 0 setgray /ArrowA { moveto +} def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 +0.0 0 0 /N@T-0-1-0-2 /N@T-0-1-0-2-1 InitNC { NCLine } if end gsave +0.8 SLW 0 setgray 5.0 3.0 0.0 0.0 0 0 add DashLine grestore grestore +end + 2731 2413 a 2835 +2428 a + tx@Dict begin tx@NodeDict begin {9.26 5.54 32.936 16.468 1.86 } false +/N@T-0-1-0-2-2 16 {InitRnode } NewNode end end + 2835 2428 a 0.75 TeXcolorgray 0 TeXcolorgray 32 +w @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 0.75 setgray 0. true 3.8 neg 5.54 +neg 29.136 9.26 .5 Frame gsave 0.8 SLW 0.75 setgray 0 setlinecap +stroke grestore end + +@endspecial Fa(Ellipses)2972 +2413 y + tx@Dict begin gsave STV newpath 0.8 SLW 0 setgray /ArrowA { moveto +} def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 +0.0 0 0 /N@T-0-1-0-2 /N@T-0-1-0-2-2 InitNC { NCLine } if end gsave +0.8 SLW 0 setgray 0 setlinecap stroke grestore grestore end + 2972 2413 a 3156 2435 a + tx@Dict begin tx@NodeDict begin {9.152 3.8 13.8679 6.93394 2.676 } +false /N@T-0-1-0-2-3 16 {InitRnode } NewNode end end + 3156 2435 a 32 w @beginspecial +@setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray 0. true 3.8 neg 3.8 +neg 10.0679 9.152 .5 Frame gsave 0.8 SLW 0 setgray 5.0 3.0 0.0 0.0 +2 DashLine grestore end + +@endspecial 3214 2413 a + tx@Dict begin gsave STV newpath 0.8 SLW 0 setgray /ArrowA { moveto +} def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 +0.0 0 0 /N@T-0-1-0-2 /N@T-0-1-0-2-3 InitNC { NCLine } if end gsave +0.8 SLW 0 setgray 5.0 3.0 0.0 0.0 0 0 add DashLine grestore grestore +end + 3214 2413 a 3415 +1963 a + tx@Dict begin tx@NodeDict begin {9.26 3.90799 29.824 14.912 2.676 +} false /N@T-0-1-0-3 16 {InitRnode } NewNode end end + 3415 1963 a 31 w @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray 0. true 3.8 neg 3.90799 +neg 26.024 9.26 .5 Frame gsave 0.8 SLW 0 setgray 0 setlinecap stroke + grestore end + +@endspecial +Fa(Cubics)3538 1940 y + tx@Dict begin gsave STV newpath 0.8 SLW 0 setgray /ArrowA { moveto +} def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 +0.0 0 0 /N@T-0-1-0 /N@T-0-1-0-3 InitNC { NCLine } if end gsave 0.8 +SLW 0 setgray 0 setlinecap stroke grestore grestore end + 3538 1940 a 3318 2435 a + tx@Dict begin tx@NodeDict begin {9.152 3.8 13.8679 6.93394 2.676 } +false /N@T-0-1-0-3-0 16 {InitRnode } NewNode end end + 3318 2435 +a 32 w @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray 0. true 3.8 neg 3.8 +neg 10.0679 9.152 .5 Frame gsave 0.8 SLW 0 setgray 5.0 3.0 0.0 0.0 +2 DashLine grestore end + +@endspecial 3376 2413 +a + tx@Dict begin gsave STV newpath 0.8 SLW 0 setgray /ArrowA { moveto +} def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 +0.0 0 0 /N@T-0-1-0-3 /N@T-0-1-0-3-0 InitNC { NCLine } if end gsave +0.8 SLW 0 setgray 5.0 3.0 0.0 0.0 0 0 add DashLine grestore grestore +end + 3376 2413 a 3481 2435 a + tx@Dict begin tx@NodeDict begin {9.152 3.8 13.8679 6.93394 2.676 } +false /N@T-0-1-0-3-1 16 {InitRnode } NewNode end end + 3481 2435 a 31 w @beginspecial +@setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray 0. true 3.8 neg 3.8 +neg 10.0679 9.152 .5 Frame gsave 0.8 SLW 0 setgray 5.0 3.0 0.0 0.0 +2 DashLine grestore end + +@endspecial 3538 2413 a + tx@Dict begin gsave STV newpath 0.8 SLW 0 setgray /ArrowA { moveto +} def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 +0.0 0 0 /N@T-0-1-0-3 /N@T-0-1-0-3-1 InitNC { NCLine } if end gsave +0.8 SLW 0 setgray 5.0 3.0 0.0 0.0 0 0 add DashLine grestore grestore +end + 3538 2413 a 3643 +2435 a + tx@Dict begin tx@NodeDict begin {9.152 3.8 13.8679 6.93394 2.676 } +false /N@T-0-1-0-3-2 16 {InitRnode } NewNode end end + 3643 2435 a 32 w @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray 0. true 3.8 neg 3.8 +neg 10.0679 9.152 .5 Frame gsave 0.8 SLW 0 setgray 5.0 3.0 0.0 0.0 +2 DashLine grestore end + +@endspecial +3701 2413 a + tx@Dict begin gsave STV newpath 0.8 SLW 0 setgray /ArrowA { moveto +} def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 +0.0 0 0 /N@T-0-1-0-3 /N@T-0-1-0-3-2 InitNC { NCLine } if end gsave +0.8 SLW 0 setgray 5.0 3.0 0.0 0.0 0 0 add DashLine grestore grestore +end + 3701 2413 a 3709 1956 a + tx@Dict begin tx@NodeDict begin {9.26 5.54 82.888 41.444 1.86 } false +/N@T-0-1-0-4 16 {InitRnode } NewNode end end + 3709 1956 a 32 w +@beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray 0. true 3.8 neg 5.54 +neg 79.088 9.26 .5 Frame gsave 0.8 SLW 0 setgray 0 setlinecap stroke + grestore end + +@endspecial Fa(arbitrary)j(de)o(gree)g(Curv) +o(es)4054 1940 y + tx@Dict begin gsave STV newpath 0.8 SLW 0 setgray /ArrowA { moveto +} def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 +0.0 0 0 /N@T-0-1-0 /N@T-0-1-0-4 InitNC { NCLine } if end gsave 0.8 +SLW 0 setgray 0 setlinecap stroke grestore grestore end + 4054 1940 a 3834 2435 a + tx@Dict begin tx@NodeDict begin {9.152 3.8 13.8679 6.93394 2.676 } +false /N@T-0-1-0-4-0 16 {InitRnode } NewNode end end + 3834 2435 a +31 w @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray 0. true 3.8 neg 3.8 +neg 10.0679 9.152 .5 Frame gsave 0.8 SLW 0 setgray 5.0 3.0 0.0 0.0 +2 DashLine grestore end + +@endspecial 3891 2413 +a + tx@Dict begin gsave STV newpath 0.8 SLW 0 setgray /ArrowA { moveto +} def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 +0.0 0 0 /N@T-0-1-0-4 /N@T-0-1-0-4-0 InitNC { NCLine } if end gsave +0.8 SLW 0 setgray 5.0 3.0 0.0 0.0 0 0 add DashLine grestore grestore +end + 3891 2413 a 3996 2435 a + tx@Dict begin tx@NodeDict begin {9.152 3.8 13.8679 6.93394 2.676 } +false /N@T-0-1-0-4-1 16 {InitRnode } NewNode end end + 3996 2435 a 32 w @beginspecial +@setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray 0. true 3.8 neg 3.8 +neg 10.0679 9.152 .5 Frame gsave 0.8 SLW 0 setgray 5.0 3.0 0.0 0.0 +2 DashLine grestore end + +@endspecial 4054 2413 a + tx@Dict begin gsave STV newpath 0.8 SLW 0 setgray /ArrowA { moveto +} def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 +0.0 0 0 /N@T-0-1-0-4 /N@T-0-1-0-4-1 InitNC { NCLine } if end gsave +0.8 SLW 0 setgray 5.0 3.0 0.0 0.0 0 0 add DashLine grestore grestore +end + 4054 2413 a 4158 +2435 a + tx@Dict begin tx@NodeDict begin {9.152 3.8 13.8679 6.93394 2.676 } +false /N@T-0-1-0-4-2 16 {InitRnode } NewNode end end + 4158 2435 a 32 w @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray 0. true 3.8 neg 3.8 +neg 10.0679 9.152 .5 Frame gsave 0.8 SLW 0 setgray 5.0 3.0 0.0 0.0 +2 DashLine grestore end + +@endspecial +4216 2413 a + tx@Dict begin gsave STV newpath 0.8 SLW 0 setgray /ArrowA { moveto +} def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 +0.0 0 0 /N@T-0-1-0-4 /N@T-0-1-0-4-2 InitNC { NCLine } if end gsave +0.8 SLW 0 setgray 5.0 3.0 0.0 0.0 0 0 add DashLine grestore grestore +end + 4216 2413 a 4385 1490 a + tx@Dict begin tx@NodeDict begin {9.152 3.90799 67.248 33.624 2.622 +} false /N@T-0-1-1 16 {InitRnode } NewNode end end + 4385 1490 a 32 w +@beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray 0. true 3.8 neg 3.90799 +neg 63.448 9.152 .5 Frame gsave 0.8 SLW 0 setgray 0 setlinecap stroke + grestore end + +@endspecial Fa(3D)e(Curv)o(es)h(&)e(Arcs) +4665 1468 y + tx@Dict begin gsave STV newpath 0.8 SLW 0 setgray /ArrowA { moveto +} def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 +0.0 0 0 /N@T-0-1 /N@T-0-1-1 InitNC { NCLine } if end gsave 0.8 SLW +0 setgray 0 setlinecap stroke grestore grestore end + 4665 1468 a 4445 1963 a + tx@Dict begin tx@NodeDict begin {9.152 3.8 13.8679 6.93394 2.676 } +false /N@T-0-1-1-0 16 {InitRnode } NewNode end end + 4445 1963 a 31 w +@beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray 0. true 3.8 neg 3.8 +neg 10.0679 9.152 .5 Frame gsave 0.8 SLW 0 setgray 5.0 3.0 0.0 0.0 +2 DashLine grestore end + +@endspecial 4502 1940 a + tx@Dict begin gsave STV newpath 0.8 SLW 0 setgray /ArrowA { moveto +} def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 +0.0 0 0 /N@T-0-1-1 /N@T-0-1-1-0 InitNC { NCLine } if end gsave 0.8 +SLW 0 setgray 5.0 3.0 0.0 0.0 0 0 add DashLine grestore grestore +end + 4502 +1940 a 4607 1963 a + tx@Dict begin tx@NodeDict begin {9.152 3.8 13.8679 6.93394 2.676 } +false /N@T-0-1-1-1 16 {InitRnode } NewNode end end + 4607 1963 a 32 w @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray 0. true 3.8 neg 3.8 +neg 10.0679 9.152 .5 Frame gsave 0.8 SLW 0 setgray 5.0 3.0 0.0 0.0 +2 DashLine grestore end + + +@endspecial 4665 1940 a + tx@Dict begin gsave STV newpath 0.8 SLW 0 setgray /ArrowA { moveto +} def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 +0.0 0 0 /N@T-0-1-1 /N@T-0-1-1-1 InitNC { NCLine } if end gsave 0.8 +SLW 0 setgray 5.0 3.0 0.0 0.0 0 0 add DashLine grestore grestore +end + 4665 1940 a 4770 1963 a + tx@Dict begin tx@NodeDict begin {9.152 3.8 13.8679 6.93394 2.676 } +false /N@T-0-1-1-2 16 {InitRnode } NewNode end end + 4770 +1963 a 31 w @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray 0. true 3.8 neg 3.8 +neg 10.0679 9.152 .5 Frame gsave 0.8 SLW 0 setgray 5.0 3.0 0.0 0.0 +2 DashLine grestore end + +@endspecial 4827 +1940 a + tx@Dict begin gsave STV newpath 0.8 SLW 0 setgray /ArrowA { moveto +} def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 +0.0 0 0 /N@T-0-1-1 /N@T-0-1-1-2 InitNC { NCLine } if end gsave 0.8 +SLW 0 setgray 5.0 3.0 0.0 0.0 0 0 add DashLine grestore grestore +end + 4827 1940 a 5782 1490 a + tx@Dict begin tx@NodeDict begin {9.26 3.90799 81.384 40.692 2.676 +} false /N@T-0-1-2 16 {InitRnode } NewNode end end + 5782 1490 a 32 w @beginspecial +@setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray 0. true 3.8 neg 3.90799 +neg 77.584 9.26 .5 Frame gsave 0.8 SLW 0 setgray 0 setlinecap stroke + grestore end + +@endspecial Fa(3D)h(Surf)o(aces)h(&)f(P)o(atches)6120 +1468 y + tx@Dict begin gsave STV newpath 0.8 SLW 0 setgray /ArrowA { moveto +} def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 +0.0 0 0 /N@T-0-1 /N@T-0-1-2 InitNC { NCLine } if end gsave 0.8 SLW +0 setgray 0 setlinecap stroke grestore grestore end + 6120 1468 a 4932 1963 a + tx@Dict begin tx@NodeDict begin {9.26 3.884 28.488 14.244 2.68799 +} false /N@T-0-1-2-0 16 {InitRnode } NewNode end end + 4932 1963 a 32 w @beginspecial +@setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray 0. true 3.8 neg 3.884 +neg 24.688 9.26 .5 Frame gsave 0.8 SLW 0 setgray 0 setlinecap stroke + grestore end + +@endspecial Fa(Planes)5050 1940 y + tx@Dict begin gsave STV newpath 0.8 SLW 0 setgray /ArrowA { moveto +} def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 +0.0 0 0 /N@T-0-1-2 /N@T-0-1-2-0 InitNC { NCLine } if end gsave 0.8 +SLW 0 setgray 0 setlinecap stroke grestore grestore end + 5050 1940 +a 4830 2435 a + tx@Dict begin tx@NodeDict begin {9.152 3.8 13.8679 6.93394 2.676 } +false /N@T-0-1-2-0-0 16 {InitRnode } NewNode end end + 4830 2435 a 32 w @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray 0. true 3.8 neg 3.8 +neg 10.0679 9.152 .5 Frame gsave 0.8 SLW 0 setgray 5.0 3.0 0.0 0.0 +2 DashLine grestore end + + +@endspecial 4888 2413 a + tx@Dict begin gsave STV newpath 0.8 SLW 0 setgray /ArrowA { moveto +} def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 +0.0 0 0 /N@T-0-1-2-0 /N@T-0-1-2-0-0 InitNC { NCLine } if end gsave +0.8 SLW 0 setgray 5.0 3.0 0.0 0.0 0 0 add DashLine grestore grestore +end + 4888 2413 a 4993 2435 a + tx@Dict begin tx@NodeDict begin {9.152 3.8 13.8679 6.93394 2.676 } +false /N@T-0-1-2-0-1 16 {InitRnode } NewNode end end + 4993 +2435 a 31 w @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray 0. true 3.8 neg 3.8 +neg 10.0679 9.152 .5 Frame gsave 0.8 SLW 0 setgray 5.0 3.0 0.0 0.0 +2 DashLine grestore end + +@endspecial 5050 +2413 a + tx@Dict begin gsave STV newpath 0.8 SLW 0 setgray /ArrowA { moveto +} def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 +0.0 0 0 /N@T-0-1-2-0 /N@T-0-1-2-0-1 InitNC { NCLine } if end gsave +0.8 SLW 0 setgray 5.0 3.0 0.0 0.0 0 0 add DashLine grestore grestore +end + 5050 2413 a 5155 2435 a + tx@Dict begin tx@NodeDict begin {9.152 3.8 13.8679 6.93394 2.676 } +false /N@T-0-1-2-0-2 16 {InitRnode } NewNode end end + 5155 2435 a 32 w @beginspecial +@setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray 0. true 3.8 neg 3.8 +neg 10.0679 9.152 .5 Frame gsave 0.8 SLW 0 setgray 5.0 3.0 0.0 0.0 +2 DashLine grestore end + +@endspecial 5213 2413 a + tx@Dict begin gsave STV newpath 0.8 SLW 0 setgray /ArrowA { moveto +} def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 +0.0 0 0 /N@T-0-1-2-0 /N@T-0-1-2-0-2 InitNC { NCLine } if end gsave +0.8 SLW 0 setgray 5.0 3.0 0.0 0.0 0 0 add DashLine grestore grestore +end + 5213 2413 a 5916 +1957 a + tx@Dict begin tx@NodeDict begin {9.26 5.22 36.48001 18.24 2.01999 +} false /N@T-0-1-2-1 16 {InitRnode } NewNode end end + 5916 1957 a 32 w @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray 0. true 3.8 neg 5.22 +neg 32.68001 9.26 .5 Frame gsave 0.8 SLW 0 setgray 0 setlinecap stroke + grestore end + +@endspecial +Fa(Quadrics)6068 1940 y + tx@Dict begin gsave STV newpath 0.8 SLW 0 setgray /ArrowA { moveto +} def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 +0.0 0 0 /N@T-0-1-2 /N@T-0-1-2-1 InitNC { NCLine } if end gsave 0.8 +SLW 0 setgray 0 setlinecap stroke grestore grestore end + 6068 1940 a 5317 2435 a + tx@Dict begin tx@NodeDict begin {9.26 3.90799 47.96 23.98 2.676 } +false /N@T-0-1-2-1-0 16 {InitRnode } NewNode end end + 5317 +2435 a 32 w @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray 0. true 3.8 neg 3.90799 +neg 44.16 9.26 .5 Frame gsave 0.8 SLW 0 setgray 0 setlinecap stroke + grestore end + +@endspecial Fa(FullSurf)o(aces) +5517 2413 y + tx@Dict begin gsave STV newpath 0.8 SLW 0 setgray /ArrowA { moveto +} def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 +0.0 0 0 /N@T-0-1-2-1 /N@T-0-1-2-1-0 InitNC { NCLine } if end gsave +0.8 SLW 0 setgray 0 setlinecap stroke grestore grestore end + 5517 2413 a 5763 2435 a + tx@Dict begin tx@NodeDict begin {9.26 3.884 60.808 30.40399 2.68799 +} false /N@T-0-1-2-1-1 16 {InitRnode } NewNode end end + 5763 2435 a 31 w +@beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray 0. true 3.8 neg 3.884 +neg 57.008 9.26 .5 Frame gsave 0.8 SLW 0 setgray 0 setlinecap stroke + grestore end + +@endspecial Fa(BoundedP)o(atches)6015 +2413 y + tx@Dict begin gsave STV newpath 0.8 SLW 0 setgray /ArrowA { moveto +} def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 +0.0 0 0 /N@T-0-1-2-1 /N@T-0-1-2-1-1 InitNC { NCLine } if end gsave +0.8 SLW 0 setgray 0 setlinecap stroke grestore grestore end + 6015 2413 a 6315 2435 a + tx@Dict begin tx@NodeDict begin {9.26 3.90799 73.248 36.624 2.676 +} false /N@T-0-1-2-1-2 16 {InitRnode } NewNode end end + 6315 2435 a 32 w @beginspecial +@setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray 0. true 3.8 neg 3.90799 +neg 69.448 9.26 .5 Frame gsave 0.8 SLW 0 setgray 0 setlinecap stroke + grestore end + +@endspecial Fa(UndboundedP)o(atches)6619 +2413 y + tx@Dict begin gsave STV newpath 0.8 SLW 0 setgray /ArrowA { moveto +} def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 +0.0 0 0 /N@T-0-1-2-1 /N@T-0-1-2-1-2 InitNC { NCLine } if end gsave +0.8 SLW 0 setgray 0 setlinecap stroke grestore grestore end + 6619 2413 a 7104 1963 a + tx@Dict begin tx@NodeDict begin {9.26 3.884 20.73601 10.368 2.68799 +} false /N@T-0-1-2-2 16 {InitRnode } NewNode end end + 7104 1963 a 32 w @beginspecial +@setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray 0. true 3.8 neg 3.884 +neg 16.936 9.26 .5 Frame gsave 0.8 SLW 0 setgray 0 setlinecap stroke + grestore end + +@endspecial Fa(T)-5 b(ori)7190 1940 y + tx@Dict begin gsave STV newpath 0.8 SLW 0 setgray /ArrowA { moveto +} def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 +0.0 0 0 /N@T-0-1-2 /N@T-0-1-2-2 InitNC { NCLine } if end gsave 0.8 +SLW 0 setgray 0 setlinecap stroke grestore grestore end + 7190 +1940 a 6970 2435 a + tx@Dict begin tx@NodeDict begin {9.152 3.8 13.8679 6.93394 2.676 } +false /N@T-0-1-2-2-0 16 {InitRnode } NewNode end end + 6970 2435 a 32 w @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray 0. true 3.8 neg 3.8 +neg 10.0679 9.152 .5 Frame gsave 0.8 SLW 0 setgray 5.0 3.0 0.0 0.0 +2 DashLine grestore end + + +@endspecial 7028 2413 a + tx@Dict begin gsave STV newpath 0.8 SLW 0 setgray /ArrowA { moveto +} def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 +0.0 0 0 /N@T-0-1-2-2 /N@T-0-1-2-2-0 InitNC { NCLine } if end gsave +0.8 SLW 0 setgray 5.0 3.0 0.0 0.0 0 0 add DashLine grestore grestore +end + 7028 2413 a 7133 2435 a + tx@Dict begin tx@NodeDict begin {9.152 3.8 13.8679 6.93394 2.676 } +false /N@T-0-1-2-2-1 16 {InitRnode } NewNode end end + 7133 +2435 a 31 w @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray 0. true 3.8 neg 3.8 +neg 10.0679 9.152 .5 Frame gsave 0.8 SLW 0 setgray 5.0 3.0 0.0 0.0 +2 DashLine grestore end + +@endspecial 7190 +2413 a + tx@Dict begin gsave STV newpath 0.8 SLW 0 setgray /ArrowA { moveto +} def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 +0.0 0 0 /N@T-0-1-2-2 /N@T-0-1-2-2-1 InitNC { NCLine } if end gsave +0.8 SLW 0 setgray 5.0 3.0 0.0 0.0 0 0 add DashLine grestore grestore +end + 7190 2413 a 7295 2435 a + tx@Dict begin tx@NodeDict begin {9.152 3.8 13.8679 6.93394 2.676 } +false /N@T-0-1-2-2-2 16 {InitRnode } NewNode end end + 7295 2435 a 32 w @beginspecial +@setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray 0. true 3.8 neg 3.8 +neg 10.0679 9.152 .5 Frame gsave 0.8 SLW 0 setgray 5.0 3.0 0.0 0.0 +2 DashLine grestore end + +@endspecial 7353 2413 a + tx@Dict begin gsave STV newpath 0.8 SLW 0 setgray /ArrowA { moveto +} def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 +0.0 0 0 /N@T-0-1-2-2 /N@T-0-1-2-2-2 InitNC { NCLine } if end gsave +0.8 SLW 0 setgray 5.0 3.0 0.0 0.0 0 0 add DashLine grestore grestore +end + 7353 2413 a 6629 +1017 a + tx@Dict begin tx@NodeDict begin {9.152 3.90799 23.16 11.58 2.622 } +false /N@T-0-2 16 {InitRnode } NewNode end end + 6629 1017 a 32 w @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray 0. true 3.8 neg 3.90799 +neg 19.36 9.152 .5 Frame gsave 0.8 SLW 0 setgray 0 setlinecap stroke + grestore end + +@endspecial +Fa(CSG)6725 995 y + tx@Dict begin gsave STV newpath 0.8 SLW 0 setgray /ArrowA { moveto +} def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 +0.0 0 0 /N@T-0 /N@T-0-2 InitNC { NCLine } if end gsave 0.8 SLW 0 +setgray 0 setlinecap stroke grestore grestore end + 6725 995 a 6505 1490 a + tx@Dict begin tx@NodeDict begin {9.152 3.8 13.8679 6.93394 2.676 } +false /N@T-0-2-0 16 {InitRnode } NewNode end end + 6505 1490 a +32 w @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray 0. true 3.8 neg 3.8 +neg 10.0679 9.152 .5 Frame gsave 0.8 SLW 0 setgray 5.0 3.0 0.0 0.0 +2 DashLine grestore end + +@endspecial 6563 1468 +a + tx@Dict begin gsave STV newpath 0.8 SLW 0 setgray /ArrowA { moveto +} def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 +0.0 0 0 /N@T-0-2 /N@T-0-2-0 InitNC { NCLine } if end gsave 0.8 SLW +0 setgray 5.0 3.0 0.0 0.0 0 0 add DashLine grestore grestore end + 6563 1468 a 6668 1490 a + tx@Dict begin tx@NodeDict begin {9.152 3.8 13.8679 6.93394 2.676 } +false /N@T-0-2-1 16 {InitRnode } NewNode end end + 6668 1490 a 31 w @beginspecial +@setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray 0. true 3.8 neg 3.8 +neg 10.0679 9.152 .5 Frame gsave 0.8 SLW 0 setgray 5.0 3.0 0.0 0.0 +2 DashLine grestore end + +@endspecial 6725 1468 a + tx@Dict begin gsave STV newpath 0.8 SLW 0 setgray /ArrowA { moveto +} def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 +0.0 0 0 /N@T-0-2 /N@T-0-2-1 InitNC { NCLine } if end gsave 0.8 SLW +0 setgray 5.0 3.0 0.0 0.0 0 0 add DashLine grestore grestore end + 6725 1468 a 6830 +1490 a + tx@Dict begin tx@NodeDict begin {9.152 3.8 13.8679 6.93394 2.676 } +false /N@T-0-2-2 16 {InitRnode } NewNode end end + 6830 1490 a 32 w @beginspecial @setspecial + tx@Dict begin STP newpath 0.8 SLW 0 setgray 0. true 3.8 neg 3.8 +neg 10.0679 9.152 .5 Frame gsave 0.8 SLW 0 setgray 5.0 3.0 0.0 0.0 +2 DashLine grestore end + +@endspecial +6888 1468 a + tx@Dict begin gsave STV newpath 0.8 SLW 0 setgray /ArrowA { moveto +} def /ArrowB { } def /NCLW CLW def tx@NodeDict begin 0.0 0.0 neg 0.0 +0.0 0 0 /N@T-0-2 /N@T-0-2-2 InitNC { NCLine } if end gsave 0.8 SLW +0 setgray 5.0 3.0 0.0 0.0 0 0 add DashLine grestore grestore end + 6888 1468 a 581 523 a + currentpoint currentpoint translate 1 0.4 div 1 0.4 div scale neg +exch neg exch translate + 581 523 a 0 TeXcolorgray +0 TeXcolorgray eop end +%%Trailer + +userdict /end-hook known{end-hook}if +%%EOF