summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/latex/presentations/images/pd/wieesgeht.eps
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/doc/latex/presentations/images/pd/wieesgeht.eps')
-rw-r--r--Master/texmf-dist/doc/latex/presentations/images/pd/wieesgeht.eps3837
1 files changed, 0 insertions, 3837 deletions
diff --git a/Master/texmf-dist/doc/latex/presentations/images/pd/wieesgeht.eps b/Master/texmf-dist/doc/latex/presentations/images/pd/wieesgeht.eps
deleted file mode 100644
index 6804ea17d4d..00000000000
--- a/Master/texmf-dist/doc/latex/presentations/images/pd/wieesgeht.eps
+++ /dev/null
@@ -1,3837 +0,0 @@
-%!PS-Adobe-2.0 EPSF-2.0
-%%Creator: dvips(k) 5.97 Copyright 2008 Radical Eye Software
-%%Title: wieesgeht.dvi
-%%CreationDate: Sun May 31 12:40:54 2009
-%%BoundingBox: 135 381 525 664
-%%DocumentFonts: LucidaBright-Demi LucidaBrightCE LucidaSans-Typewriter
-%%EndComments
-%DVIPSWebPage: (www.radicaleye.com)
-%DVIPSCommandLine: dvips -E wieesgeht.dvi -o wieesgeht.eps
-%DVIPSParameters: dpi=600
-%DVIPSSource: TeX output 2009.05.31:1240
-%%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
-% $Id: pstricks.pro 40 2008-09-04 17:56:41Z herbert $
-%
-%% PostScript prologue for pstricks.tex.
-%% Version 1.06, 2009/01/30
-%%
-%% This program can be redistributed and/or modified under the terms
-%% of the LaTeX Project Public License Distributed from CTAN archives
-%% in directory macros/latex/base/lppl.txt.
-%
-%
-% Define the follwing gs-functions if not known, eg when using distiller
-%
-systemdict /.setopacityalpha known not {/.setopacityalpha { pop } def } if
-systemdict /.setblendmode known not {/.setblendmode { pop } def } if
-systemdict /.setshapealpha known not {/.setshapealpha { pop } def } if
-%
-/tx@Dict 200 dict def % the main PSTricks dictionary
-tx@Dict begin
-/ADict 25 dict def % The arrow dictionaray
-/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
-/Sqrt { dup 0 lt { pop 0 } { sqrt } ifelse } def % return 0 for negative arguments
-/Atan { /atan load stopped { pop pop 0 } if } def % return 0 if atan not known
-/ATAN1 {neg -1 atan 180 sub } def % atan(x) (only one parameter)
-/Div { dup 0 eq { pop } { div } ifelse } def % control the division
-/tan { dup cos abs 1.e-10 lt
- { pop 1.e10 } % return 1.e10 as infinit
- { dup sin exch cos div } ifelse % default sin/cos
-} def
-/Tan { dup sin exch cos Div } def % sin(x)/cos(x) x in degrees
-/Acos {dup dup mul neg 1 add dup 0 lt { % arc cos, returns 0 when negative root
- pop pop 0 }{ sqrt exch atan} ifelse } def
-/NET { neg exch neg exch T } def % change coordinate system to the negative one
-/Pyth { dup mul exch dup mul add sqrt } def % Pythagoras, expects 2 parameter
-/Pyth2 { % Pythagoras, xA yA xB yB
- 3 -1 roll % xA xB yB yA
- sub % xA xB yB-yA
- 3 1 roll % yB-yA xA xB
- sub % yB-yA xA-xB
- Pyth } def
-/PtoC { 2 copy cos mul 3 1 roll sin mul } def % Polar to Cartesian
-/Rand { rand 4294967295 div } def % a real random number
-%----------------- hv added 20050516 ---------------
-/PiDiv2 1.57079632680 def
-/Pi 3.14159265359 def
-/TwoPi 6.28318530718 def
-/Euler 2.71828182846 def
-%/e Euler bind def
-%
-/RadtoDeg { 180 mul Pi div } bind def % convert from radian to degrees
-/DegtoRad { Pi mul 180 div } bind def % viceversa
-%----------------- hv end---------------------------
-/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 % BP/PT scaling
-/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 or x 0 gt or 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 { % hv ------------ patch 7 -------------
- gsave
- abs /hatchWidthInc ED
- abs /hatchSepInc ED
- abs CLW add /a ED
- a 0 dtransform round exch round exch
- 2 copy idtransform
- exch Atan rotate
- idtransform pop /a ED
- .25 .25 itransform pathbbox
- /y2 ED
- a Div ceiling cvi /x2 ED /y1 ED
- a 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 a mul y1 moveto 0 y2 rlineto stroke
- /x1 x1 1 add
- hatchWidthInc 0 gt { CLW add } if
- def
- hatchSepInc 0 gt hatchWidthInc 0 gt or {
- /a a hatchSepInc add def
- CLW hatchWidthInc add SLW
- } if
- } repeat
- grestore
- pop pop } def
-%
-/PenroseFill {% on stack: scaling factor
- dup dup scale
- 1 exch div round /penroseFactor ED
- a 0 dtransform round exch round exch
- 2 copy idtransform
- exch Atan rotate
- idtransform pop /a ED
- .25 .25 itransform pathbbox
- /y2 ED
- a Div ceiling cvi /x2 ED /y1 ED
- a Div cvi /x1 ED /y2 y2 y1 sub def
- clip
- newpath
- systemdict
- /setstrokeadjust known { true setstrokeadjust } if
- /I/S/L/W/G/+/Z/F/E/D[/def/exch/for{E D}/add{s E get mul}
- { Z -36.2001 1 33 }{25 E S rlineto}{/q Z dup q G E q 1 + G}{Z 2 2}]{cvx def}forall
- [0 72 1008 {dup sin E cos }F ]1 setlinejoin/s W{/a W{/b I 10{/i I 4{/m I moveto
- i m +/j I 10{/l Z b m l + G a l G sub s m get div .2 + floor .3 + 25
- mul j l + S rmoveto}F i L j L stroke }F}F}F}F
- grestore
- pop pop
-} def
-%
-%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 % hold it local, for end see EndArrow
- /@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 % end the ADict
-%
-/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
-%
-/ArrowD { % the sides are drawn as curves (hv 20071211)
- CLW mul add dup
- 2 div /w ED
- mul dup /h ED
- mul /Inset ED
- { 0 h T 1 -1 scale } if % changes the direction
-% we use y=w/h^2 * x^2 as equation for the control points
-% for the coordinates the arrow is seen from top to bottom
-% the bottom (tip) is (0;0)
- w neg h moveto % lower left of >
- w 9 div 4 mul neg h 3 div 2 mul
- w 9 div neg h 3 div
- 0 0 curveto % tip of >
- w 9 div h 3 div
- w 9 div 4 mul h 3 div 2 mul
- w h curveto % upper left of >
- w neg Inset neg rlineto % move to x=0 and inset
- 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 { % DS is the dot size
- { /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 { % holds the coordinates and on top of stack the showpoints boolean
- /showpoints ED
- counttomark 2 div dup cvi /n ED
- n eq not { exch pop } if
- showpoints { ] 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
-%
-/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 ED /x0 ED /y1 ED /x1 ED
- /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
-%
-/Parab1 { % 1 end | 0 SP
- /ySP ED /xSP ED /y1 ED /x1 ED
- /dx xSP x1 sub 3 div def
- /dy ySP y1 sub 3 div def
- newpath x1 y1 moveto xSP y1 lineto xSP ySP lineto
- x1 ySP lineto closepath clip
- currentpoint
- newpath moveto
- xSP dx sub ySP dy add x1 y1 ArrowA
- xSP dx add ySP dy add xSP 2 mul x1 sub y1 ArrowB
- curveto
- /Points [ x1 y1 xSP ySP xSP 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
-%
-/ArcAdjust { %%%% Vincent Guirardel
-% given a target length (targetLength) and an initial angle (angle0) [in the stack],
-% let M(angle0)=(rx*cos(angle0),ry*sin(angle0))=(x0,y0).
-% This computes an angle t such that (x0,y0) is at distance
-% targetLength from the point M(t)=(rx*cos(t),ry*sin(t)).
-% NOTE: this an absolute angle, it does not have to be added or substracted to angle0
-% contrary to TvZ's code.
-% To achieve, this, one iterates the following process: start with some angle t,
-% compute the point M' at distance targetLength of (x0,y0) on the semi-line [(x0,y0) M(t)].
-% Now take t' (= new angle) so that (0,0) M(t') and M' are aligned.
-%
-% Another difference with TvZ's code is that we need d (=add/sub) to be defined.
-% the value of d = add/sub is used to know on which side we have to move.
-% It is only used in the initialisation of the angle before the iteration.
-%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Input stack: 1: target length 2: initial angle
-% variables used : rx, ry, d (=add/sub)
-%
- /targetLength ED /angle0 ED
- /x0 rx angle0 cos mul def
- /y0 ry angle0 sin mul def
-% we are looking for an angle t such that (x0,y0) is at distance targetLength
-% from the point M(t)=(rx*cos(t),ry*sin(t)))
-%initialisation of angle (using 1st order approx = TvZ's code)
- targetLength 57.2958 mul
- angle0 sin rx mul dup mul
- angle0 cos ry mul dup mul
- add sqrt div
-% if initialisation angle is two large (more than 90 degrees) set it to 90 degrees
-% (if the ellipse is very curved at the point where we draw the arrow, %
-% the value can be much more than 360 degrees !)
-% this should avoid going on the wrong side (more than 180 degrees) or go near
-% a bad attractive point (at 180 degrees)
- dup 90 ge { pop 90 } if
- angle0 exch d % add or sub
-% maximum number of times to iterate the iterative procedure:
-% iterative procedure: takes an angle t on top of stack, computes a
-% better angle (and put it on top of stack)
- 30 { dup
-% compute distance D between (x0,y0) and M(t)
- dup cos rx mul x0 sub dup mul exch sin ry mul y0 sub dup mul add sqrt
-% if D almost equals targetLength, we stop
- dup targetLength sub abs 1e-5 le { pop exit } if
-% stack now contains D t
-% compute the point M(t') at distance targetLength of (x0,y0) on the semi-line [(x0,y0) M(t)]:
-% M(t')= ( (x(t)-x0)*targetLength/d+x0 , (y(t)-y0)*targetLength/d+y0 )
- exch dup cos rx mul x0 sub exch sin ry mul y0 sub
-% stack contains: y(t)-y0, x(t)-x0, d
- 2 index Div targetLength mul y0 add ry Div exch
- 2 index Div targetLength mul x0 add rx Div
-% stack contains x(t')/rx , y(t')/ry , d
-% now compute t', and remove D from stack
- atan exch pop
- } repeat
-% we don't look at what happened... in particular, if targetLength is greater
-% than the diameter of the ellipse...
-% the final angle will be around /angle0 + 180. maybe we should treat this pathological case...
-% after iteration, stack contains an angle t such that M(t) is the tail of the arrow
-% to give back the result as a an angle relative to angle0 we could add the following line:
-% angle0 sub 0 exch d
-%
-% begin bug fix 2006-01-11
-% we want to adjust the new angle t' by a multiple of 360 so that | t'-angle0 | <= 180
-%(we don't want to make the ellipse turn more or less than it should)...
-dup angle0 sub dup abs 180 gt { 180 add 360 div floor 360 mul sub } { pop } ifelse
-% end bug fix
-} def
-%
-/EllipticArcArrow {
- /d ED % is add or sub
- /b ED % arrow procedure
- /a1 ED % angle
- gsave
- newpath
- 0 -1000 moveto
- clip % Set clippath far from arrow.
- newpath
- 0 1 0 0 b % Draw arrow to determine length.
- grestore
-% Length of arrow is on top of stack. Next 3 numbers are junk.
-%
- a1 exch ArcAdjust % Angular position of base of arrow.
- /a2 ED
- pop pop pop
- a2 cos rx mul xOrig add % hv 2007-08-29 x->xOrig
- a2 sin ry mul yOrig add % hv 2007-08-29 y->yOrig
- a1 cos rx mul xOrig add %
- a1 sin ry mul yOrig add %
-% Now arrow tip coor and base coor are on stack.
- b pop pop pop pop % Draw arrow, and discard coordinates.
- a2 CLW 8 div
-% change value of d (test it by looking if `` 1 1 d '' gives 2 or not )
- 1 1 d 2 eq { /d { sub } def } { /d { add } def } ifelse
- ArcAdjust
-% resets original value of d
- 1 1 d 2 eq { /d { sub } def } { /d { add } def } ifelse % Adjust angle to give overlap.
-} def
-%%------------------ tvz/DG/hv (2004-05-10) end -------------------%%
-%
-/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-algparser.pro 0 0
-% $Id: pst-algparser.pro 26 2008-06-14 11:50:02Z herbert $
-%%
-%% PostScript prologue for PSTricks algorithm parser
-%% Version 0.01, 2008/01/01
-%%
-%% This program can be redistributed and/or modified under the terms
-%% of the LaTeX Project Public License Distributed from CTAN archives
-%% in directory macros/latex/base/lppl.txt.
-%%
-%%-----------------------------------------------------------------------------%
-%
-/AlgParser { tx@AlgToPs begin AlgToPs end } def % Dominique Rodriguez
-%
-/tx@CoreAnalyzerDict 100 dict def tx@CoreAnalyzerDict begin
-%
-% PS ANALYZER FOR ALGEBRAIC EXPRESSION V1.12
-% E->T|E+T
-% T->FS|T*FS
-% FS -> F | +FS | -FS
-% F->P|F^SF
-% P->(E)|literal
-% literal->number|var|var[E]|func(params)
-% params->E|E,param
-% number->TOBEFINISHED
-%
-%% E expression, T term, SF signed factor, F factor, P power
-%
-%% parser
-%
-%% str
-%
-%% C->E<condition_operators>E
-%% STR index -> STR index+lenExpr
-/AnalyzeCond { AnalyzeExpr ReadCondOp AnalyzeExpr EvalCondOp } def
-%
-%% analyze Expression List (separator , or | )
-%% STR index -> STR index+lenExpr
-%% /AnalyzeListOfE {
-%% { NextNonBlankChar pop AnalyzeExpr%%dup Strlen eq { exit } if NextNonBlankChar
-%% NextNonBlankChar dup 0 eq { pop exit } if
-%% dup 44 ne 1 index 124 ne and { dup 41 ne { PROBLEMCONTACTBILLOU } { pop exit } ifelse } if
-%% pop NextNonBlankChar dup 0 eq { exit } if 124 ne { PROBLEMCONTACTBILLOU } if 1 add NextNonBlankChar 0 eq {toto} if } loop
-%% AnalyzeListOfEPostHook
-%% } def
-/AnalyzeListOfE {
- /NotFirst false def
- { NextNonBlankChar pop AnalyzeExpr
- NotFirst { EvalListOfExpr } { /NotFirst true def } ifelse
- dup Strlen eq { exit } if NextNonBlankChar
- dup 44 ne 1 index 124 ne and
- { dup 41 ne { PROBLEMCONTACTBILLOU } { pop exit } ifelse }
- if pop 1 add } loop
- AnalyzeListOfEPostHook
-} def
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% E->T|E+T
-%% STR index -> STR index+lenExpr
-/AnalyzeExpr {
- AnalyzePreHook AnalyzeTerm IsEndingExpr
- { dup 0 ne { 32 eq { NextNonBlankChar } if } { pop } ifelse }
- { { RollOp 1 add NextNonBlankChar pop AnalyzeTerm PreEvalHook EvalAddSub IsEndingExpr { pop exit } if } loop }
- ifelse
- AnalyzePostHook
-} def
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% T->FS|T*FS
-%% STR index
-/AnalyzeTerm {
- AnalyzePreHook AnalyzeSignedFactor IsEndingTerm
- { dup 0 ne { 32 eq { NextNonBlankChar } if } { pop } ifelse }
- { { RollOp 1 add NextNonBlankChar pop AnalyzeSignedFactor PreEvalHook EvalMulDiv IsEndingTerm { pop exit } if} loop }
- ifelse
- AnalyzePostHook
-} def
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% FS -> F | +FS | -FS
-%% STR index
-/AnalyzeSignedFactor {
- AnalyzePreHook 2 copy get dup IsUnaryOp
- { RollOp 1 add NextNonBlankChar pop AnalyzeSignedFactor EvalUnaryOp }
- { pop AnalyzeFactor }
- ifelse AnalyzePostHook
-} def
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% F->P|F^P
-%% STR index
-/AnalyzeFactor {
- AnalyzePreHook AnalyzePower IsEndingFactor
- { dup 0 ne { 32 eq { NextNonBlankChar } if } { pop } ifelse }
- { { RollOp 1 add NextNonBlankChar pop AnalyzePower PreEvalHook EvalPower IsEndingFactor { pop exit } if} loop }
- ifelse AnalyzePostHook
-} def
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% P->(E)|literal
-%% STR index
-/AnalyzePower {
- %% depending of first char either a number, or a literal
- 2 copy get dup 40 eq%%an open par
- { pop 1 add NextNonBlankChar pop AnalyzeExpr 1 add NextNonBlankChar pop }
- { AnalyzeLiteral }
- ifelse
-} def
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% STR index STR[index] -> STR index
-%/AnalyzeLiteral { IsNumber { EvalNumber } { EvalLiteral } ifelse } def
-/AnalyzeLiteral { dup IsUnaryOp exch IsNumber or { EvalNumber } { EvalLiteral } ifelse } def%%dr 09102006
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% recognize + or -
-%% chr -> T/F
-/IsUnaryOp { dup 43 eq exch 45 eq or } bind def
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% a number can contain only : 0123456789.
-%% chr -> T/F
-/IsNumber { dup 48 ge exch dup 57 le 3 -1 roll and exch 46 eq or } bind def
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% STR index -> STR index number
-%% a number can be of the form [0-9]*.[0-9]*\([eE][+-]?[0-9]+\)?
-%% STR index -> STR index' number
-/ReadNumber {
- exch dup 3 -1 roll dup 3 1 roll
- %%read mantissa
- { 1 add 2 copy dup Strlen eq { pop pop 0 exit } if get dup IsNumber not { exit } if pop } loop
- dup 101 eq exch 69 eq or
- %%% there is a "e" or "E" -> read exponant
- { 1 add 2 copy get dup IsUnaryOp
- { pop 1 add 2 copy get } if
- { IsNumber not { exit } if 1 add 2 copy get } loop }
- if
- dup 4 1 roll
- 3 -1 roll exch 1 index sub getinterval
-} def
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% a number can contain only : 0123456789.
-%% chr -> T/F
-/IsCondOp { dup 30 eq exch dup 60 ge exch 62 le and or } bind def
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% STR index -> STR index number
-%% a number can be of the form [0-9]*.[0-9]*\([eE][+-]?[0-9]+\)?
-%% STR index -> STR index' number
-/ReadCondOp {
- NextNonBlankChar 1 index 4 1 roll
- { IsCondOp not { exit } if 1 add 2 copy get } loop
- 2 copy 5 -1 roll
- exch 1 index sub getinterval 3 1 roll
-} def
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% a literal can contain only : 0123456789.
-%% chr -> T/F
-/IsLiteral {%
- dup 48 ge exch dup 57 le 3 -1 roll and exch
- dup 65 ge exch dup 90 le 3 -1 roll and 3 -1 roll or exch
- dup 97 ge exch 122 le and or } bind def
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% a literal can be of the form [a-zA-Z][a-zA-Z0-9]*\(\((Expression)\)|\(\[Expression\]\)\)?
-%% STR index -> literal STR index' nextchr
-/ReadLiteral {
- exch dup 3 -1 roll dup 3 1 roll
- %%read literal core
- { 2 copy dup Strlen eq { pop pop 0 exit } if get dup IsLiteral not { exit } if pop 1 add } loop
- 4 1 roll dup 5 1 roll 3 -1 roll exch 1 index sub getinterval 4 1 roll
-} def
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% expr is ended by end of str or a clpar
-%% STR index -> STR index STR[index] T/F
-/IsEndingExpr {%
- 2 copy dup Strlen eq
- %% if end of str is reached -> end !
- { pop pop 0 true }
- %% ending chr -> clpar, comma, |, <, >, =, !,
- {get dup dup 41 eq
- exch dup 124 eq
- exch dup 93 eq
- exch dup 44 eq
- exch dup 30 eq
- exch dup 60 ge exch 62 le and or or or or or}
- ifelse } def
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% expr is ended by end of str or a +-
-%% STR index -> STR index STR[index] T/F
-/IsEndingTerm { IsEndingExpr { true } { dup dup 43 eq exch 45 eq or } ifelse } def
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% expr is ended by end of str or */
-%% STR index -> STR index STR[index] T/F
-/IsEndingFactor { IsEndingTerm { true } { dup dup 42 eq exch 47 eq or } ifelse } def
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% expr is ended by end of str or ^
-%% STR index -> STR index STR[index] T/F
-/IsEndingPower { IsEndingFactor { true } { dup 94 eq } ifelse } def
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% STR index -> STR index STR[index]
-/NextNonBlankChar { { dup Strlen eq { 0 exit } if 2 copy get dup neBlkChar { exit } if pop 1 add } loop } bind def
-/neBlkChar { dup 32 ne exch dup 10 ne exch 9 ne and and } bind def
-%%%%%%%%%%%%%%%%%%%%%%%%
-%% DEBUG
-/BRK {false} def
-/BRKtrue {/BRK true def} def
-/BRKStop {BRK {BRKtoto} if } def
-/BRKEvalStop {BRK exch if } def
-/BRKBRK2true {BRK {BRK2true} if } def
-/BRK2 {false} def
-/BRK2true {/BRK2 true def} def
-/BRK2Stop {BRK2 {BRK2toto} if } def/BRK {false} def
-end
-%
-%-------------------------------------------------------------------------------%
-%
-/tx@AlgToPs 12 dict def tx@AlgToPs begin
-%
-%% algExpr -> PSVector
-/AlgToPs { tx@CoreAnalyzerDict begin InitParser AnalyzeListOfE pop pop EndingSequence end } def
-/EndingSequence { ExpressionVector aload length /end cvx exch 1 add array astore } def
-/InitParser { /ExpressionVector [ /tx@AddMathFunc cvx /begin cvx ] def dup length /Strlen exch def 0 } def
-/Strlen 0 def
-/EvalListOfExpr {} def%
-/EvalNumber {%
- ReadNumber cvr /ExpressionVector ExpressionVector aload length dup 3 add -1 roll cvx
- exch 1 add array astore def NextNonBlankChar pop } def
-/EvalAddSub {%
- /ExpressionVector ExpressionVector aload length dup 5 add -1 roll
- 43 eq { /add } { /sub } ifelse cvx exch 1 add array astore def
-} def
-/EvalMulDiv {%
- /ExpressionVector ExpressionVector aload length dup 5 add -1 roll
- 42 eq { /mul } { /div } ifelse cvx exch 1 add array astore def
-} def
-/EvalPower {%
- /ExpressionVector ExpressionVector aload length dup 5 add -1 roll
- pop /exp cvx exch 1 add array astore def
-} def
-/EvalLiteral {%
- ReadLiteral
- dup 40 eq%%% there is an open par -> function call
- { pop 2 index
- dup (Sum) eq { EvalSum }
- { dup (IfTE) eq { EvalCond }
- { dup (Derive) eq { pop EvalDerive }
- { pop 1 add NextNonBlankChar pop AnalyzeListOfE 2 index TrigoFunc
- /ExpressionVector ExpressionVector aload length dup 5 add -1 roll cvn cvx
- exch 1 add array astore def 1 add NextNonBlankChar pop } ifelse } ifelse} ifelse }
- { /ExpressionVector ExpressionVector aload length dup 6 add -1 roll cvn cvx exch 1 add array astore def
- dup 91 eq%%% there is an open bracket -> vector element
- { pop 1 add NextNonBlankChar pop AnalyzeExpr
- /ExpressionVector ExpressionVector aload length /cvi cvx exch /get cvx exch 2 add array astore def 1 add }
- { pop NextNonBlankChar pop }
- ifelse}
- ifelse
-} def
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% the derive function : Derive(n,f(x))
-%% firstparindex lastparindex ->
-/EvalDerive {
- %% manage the function descripiton
- 1 add ReadNumber 3 1 roll NextNonBlankChar
- 44 ne { ANALYZER_ERROR_missing_second_comma_in_Sum } if
- 1 add NextNonBlankChar pop
- 3 -1 roll cvi
- dup 0 eq
- { pop AnalyzeExpr 3 -1 roll pop 1 add }
- { 1 sub 3 1 roll (x) exch tx@Derive begin DeriveIndexed end 4 -1 roll
- { (x) tx@Derive begin Derive end } repeat
- ExpressionVector exch /ExpressionVector [] def
- AlgToPs aload length
- /ExpressionVector 1 index 3 add -1 roll aload length dup 3 add -1 roll /l2 exch def /l1 exch def
- l1 l2 add 1 add l2 neg roll l1 l2 add array astore def 3 -1 roll pop 1 add
- 1 index length /Strlen exch def } ifelse
-} def
-/EvalSum {%
- pop 1 add NextNonBlankChar pop
- %% read the variable name
- ReadLiteral pop NextNonBlankChar
- 44 ne { ANALYZER_ERROR_missing_first_comma_in_Sum } if
- %% read the initial value
- 1 add NextNonBlankChar pop ReadNumber cvi 3 1 roll
- 2 copy get 44 ne { ANALYZER_ERROR_missing_second_comma_in_Sum } if
- %% read the increment value
- 1 add NextNonBlankChar pop ReadNumber cvi 3 1 roll
- 2 copy get 44 ne { ANALYZER_ERROR_missing_second_comma_in_Sum } if
- %% read the limit value
- 1 add NextNonBlankChar pop ReadNumber cvi 3 1 roll
- 2 copy get 44 ne { ANALYZER_ERROR_missing_second_comma_in_Sum } if
- /ExpressionVector ExpressionVector aload length dup 7 add -3 roll 0 4 1 roll
- 5 -1 roll 4 add array astore def
- %% keep ExpressionVector for later and create a new one for internal Sum computation
- ExpressionVector 3 1 roll /ExpressionVector [ 6 -1 roll cvn /exch cvx /def cvx ] def
- 1 add NextNonBlankChar pop AnalyzeExpr
- %% add each term
- /ExpressionVector ExpressionVector aload length 1 add /add cvx exch array astore def
- /ExpressionVector 4 -1 roll aload length ExpressionVector cvx /for cvx 3 -1 roll 2 add
- array astore def 3 -1 roll pop 1 add
-} def
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% Convert to radians if trigo function call
-%% (name) ->
-/TrigoFunc {
- dup (cos) eq 1 index (sin) eq or exch (tan) eq or
- { /ExpressionVector ExpressionVector aload length Pi /div cvx 180 /mul cvx 5 -1 roll 4 add
- array astore def
- } if
-} def
-/EvalCond {%
- pop 1 add AnalyzeCond NextNonBlankChar
- 44 ne { ANALYZER_ERROR_missing_first_comma_in_IfTE } if
- ExpressionVector 3 1 roll /ExpressionVector [] def
- 1 add AnalyzeExpr ExpressionVector 3 1 roll /ExpressionVector [] def
- NextNonBlankChar 44 ne { ANALYZER_ERROR_missing_second_comma_in_IfTE } if
- 1 add AnalyzeExpr
- NextNonBlankChar 41 ne { ANALYZER_ERROR_missing_ending parenthesis_in_IfTE } if
- ExpressionVector
- /ExpressionVector 6 -1 roll aload length dup
- 6 add -1 roll cvx exch dup 4 add -1 roll cvx /ifelse cvx 3 -1 roll 3 add array astore def
- 1 add 3 -1 roll pop
-} def
-%% CondOp STR index
-/EvalCondOp {%
- 3 -1 roll
- dup (=) eq { /eq } {%
- dup (<) eq { /lt } {%
- dup (>) eq { /gt } {%
- dup (>=) eq { /ge } {%
- dup (<=) eq { /ge } {%
- dup (!=) eq { /ne } { ERROR_non_valid_conditional_operator }
- ifelse } ifelse } ifelse } ifelse } ifelse } ifelse
- cvx exch pop
- /ExpressionVector ExpressionVector aload length dup 3 add -1 roll exch 1 add array astore def } def
-/EvalUnaryOp {
- 3 -1 roll 45 eq { /ExpressionVector ExpressionVector aload length /neg cvx exch 1 add array astore def } if
-} def
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% H O O K S
-/AnalyzePreHook {} bind def
-/PreEvalHook {} bind def
-/AnalyzeListOfEPostHook {} bind def
-/AnalyzePostHook {} def
-/RollOp { 3 1 roll } bind def
-end %tx@CoreAnalyzerDict
-%
-%--------------------------------------------------------------------%
-%
-/tx@Derive 41 dict def tx@Derive begin
-%%increase ^^ for each function added
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% algExpr variable -> PSVector
-/Derive {%
- 10240 string 3 1 roll 0 3 1 roll
- /Variable exch def
- tx@CoreAnalyzerDict begin InitParser AnalyzeListOfE end
-} def
-/Strlen 0 def
-/InitParser { dup length /Strlen exch def 0 } def
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% algExpr variable index -> PSVector
-/DeriveIndexed {%
- 3 1 roll 10240 string 3 1 roll 0 3 1 roll
- /Variable exch def
- tx@CoreAnalyzerDict begin InitParser pop 4 -1 roll AnalyzeExpr 4 -2 roll pop pop 4 -2 roll exch pop end
-} def
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% (u,v)'=-(u',v')
-/EvalListOfExpr {%
- 4 2 roll 2 copy 9 -1 roll dup length 4 1 roll putinterval add AddPipe
- 2 copy 7 -1 roll dup length 4 1 roll putinterval add
- 6 -2 roll pop pop
- 2 copy pop 0 6 2 roll GetIntervalNewStr 5 1 roll 2 copy 0 exch getinterval 6 1 roll } def
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% (-u)'=-(u')
-/EvalUnaryOp {
- 4 -2 roll 4 index (0) eq
- { (0) StrConcat 7 -1 roll pop }
- { 7 -1 roll 45 eq
- { AddSub AddOpPar true } { false } ifelse
- 3 1 roll 5 index StrConcat 3 -1 roll { AddClPar } if } ifelse
- 2 copy pop 0 6 2 roll GetIntervalNewStr
- 7 -2 roll pop pop 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll
-} def
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% (number)'=0
-/EvalNumber { ReadNumber (0) 6 2 roll } def
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% (u+v)'=u'+v'
-/EvalAddSub {%
- 7 index dup (0) eq
- { pop true }%% du=0 nothing added
- { dup length exch 5 index 5 index 3 -1 roll putinterval 4 -1 roll add 3 1 roll false }
- ifelse
- 5 index dup (0) eq
- { pop { (0) } { 4 -2 roll 2 copy pop 0 6 2 roll GetIntervalNewStr } ifelse }%%dv=0
- { exch
- { 5 -2 roll 7 index 45 eq { AddSub } if false } %%nothing yet added
- { 5 -2 roll 7 index 43 eq%%something yet added
- { AddAdd false } { AddSub AddOpPar true } ifelse }
- ifelse 11 1 roll
- 3 -1 roll StrConcat 10 -1 roll { AddClPar } if
- 2 copy pop 0 6 2 roll GetIntervalNewStr }
- ifelse
- mark 11 -5 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll
-} def
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% (u*v)' or (u/v)'
-/EvalMulDiv { 6 index 42 eq {EvalMul} {EvalDiv} ifelse } def
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% (u*v)'=u'*v+u*v'
-/EvalMul {%
- 4 -2 roll 7 index dup (0) eq
- { pop false }%%du=0
- { (1) eq%%du=1
- { false }
- { AddOpPar 7 index StrConcat AddClPar AddMul AddOpPar true } ifelse
- 3 1 roll 6 index StrConcat 3 -1 roll { AddClPar } if
- true }%%du!=0
- ifelse
- 5 1 roll 5 index (0) eq
- { 5 -1 roll not { (0) StrConcat } if }%%dv=0
- { 5 -1 roll { AddAdd } if
- 4 index (1) eq
- { 8 index StrConcat }
- { AddOpPar 8 index StrConcat AddClPar AddMul AddOpPar 4 index StrConcat AddClPar }
- ifelse
- }%%dv!=0
- ifelse
- 2 copy pop 0 6 2 roll GetIntervalNewStr
- mark 11 -5 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll
-} def
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% (u/v)'=(u'*v-u*v')/v^2
-/EvalDiv {%
- 4 -2 roll
- 4 index (0) eq%%dv=0 -> u'/v
- { 7 index (0) eq { (0) StrConcat } { AddOpPar 7 index StrConcat AddClPar AddDiv 5 index StrConcat } ifelse }
- { 7 index dup (0) eq
- { pop }%%du=0
- { (1) eq%%du=1
- { false }
- { AddOpPar 7 index StrConcat AddClPar AddMul AddOpPar true } ifelse
- 3 1 roll 6 index StrConcat 3 -1 roll { AddClPar } if}%%du!=0
- ifelse
- AddSub
- 4 index (1) eq
- { 8 index StrConcat }
- { AddOpPar 8 index StrConcat AddClPar AddMul AddOpPar 4 index StrConcat AddClPar }
- ifelse
- %}%%dv!=0
- 2 copy GetIntervalNewStr 3 1 roll pop 0 AddOpPar 3 -1 roll StrConcat AddClPar
- AddDiv AddOpPar 5 index StrConcat AddClPar 2 copy (^2) putinterval 2 add }
- ifelse
- 2 copy pop 0 6 2 roll GetIntervalNewStr
- mark 11 -5 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll
-} def
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% str1 index str2 -> str1 index
-/StrConcat { dup length 4 2 roll 2 copy 6 -1 roll putinterval 3 -1 roll add } bind def
-/GetIntervalNewStr { 0 exch getinterval dup length string copy } bind def
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% (u^v)'=(u^v)'=u'vu^(v-1)+v'u^(v)ln(u)
-/EvalPower {%
- 4 -2 roll 7 index (0) eq
- {%%if du=0 then (u^v)'=v'ln(u)u^v
- 4 index (0) eq
- { (0) StrConcat }%%if dv=0 then (u^v)'=0
- { 4 index (1) ne { AddOpPar 4 index StrConcat (\)*) StrConcat } if
- 8 index (e) ne { (ln\() StrConcat 8 index StrConcat (\)*) StrConcat } if
- AddOpPar 8 index StrConcat (\)^\() StrConcat 5 index StrConcat AddClPar } ifelse
- }
- {%%du!=0
- 4 index (0) eq
- {%%if dv=0 then (u^v)'=vu'u^(v-1)
- 5 index dup IsStrNumber
- { dup (0) eq
- { StrConcat }
- { dup dup (1) eq exch (1.0) eq or
- { StrConcat }
- { StrConcat
- 7 index dup (1) ne exch (1.0) ne and%%%dr 09102006 insert du if <> 1
- { (*\() StrConcat 7 index StrConcat (\)) StrConcat } if%%%dr 09102006
- (*\() StrConcat 8 index StrConcat (\)) StrConcat
- 5 index dup dup (2) eq exch (2.0) eq or
- { pop } { cvr 1 sub 20 string cvs 3 1 roll (^) StrConcat 3 -1 roll StrConcat } ifelse } ifelse } ifelse }
- { pop AddOpPar 5 index StrConcat (\)*\() StrConcat 8 index StrConcat (\)^\() StrConcat
- 5 index StrConcat (-1\)) StrConcat } ifelse
- }
- {%%if dv!=0 and du!=0 then (u^v)'=u'vu^(v-1)+v'u^(v)ln(u)
- 7 index (1) ne { AddOpPar 7 index StrConcat (\)*) StrConcat } if
- AddOpPar 5 index StrConcat (\)*\() StrConcat
- 8 index StrConcat (\)^\() StrConcat
- 5 index StrConcat (-1\)+\() StrConcat
- 4 index (1) ne { 4 index StrConcat (\)*\() StrConcat } if
- 8 index StrConcat (\)^\() StrConcat
- 5 index StrConcat (\)*ln\() StrConcat
- 8 index StrConcat AddClPar
- } ifelse
- } ifelse
- 2 copy pop 0 6 2 roll GetIntervalNewStr
- mark 11 -5 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll
-} def
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% str -> true/false
-/IsStrNumber {%
- true exch
- { dup 48 lt exch dup 57 gt 3 -1 roll or
- exch dup 46 ne%%.
- exch dup 43 ne%%+
- exch 45 ne%%-
- and and and { pop false } if } forall
-} def
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% literal switch -> func call, vector, variables
-/EvalLiteral {%
- ReadLiteral dup 40 eq%%% there is an open par -> function call
- { pop (EvalFunc_ ) 9 4 index StrConcat 0 exch getinterval cvn cvx exec }
- { dup 91 eq%%% there is an open bracket -> vector element
- { ERROR_vector_not_yet_implemented }
- { pop EvalVariable }
- ifelse }
- ifelse
-} def
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% first last parpos Expr[first:parpos-1] ->
-/EvalVariable { 2 index Variable eq { (1) } { (0) } ifelse 4 -1 roll exch 6 2 roll } def
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% (f(u))'=u'f'(u)
-/EvalFunc {
- 4 2 roll 4 index (1) ne
- { AddOpPar 4 index StrConcat (\)*) StrConcat } if
- (Eval ) 4 8 index StrConcat 0 exch getinterval cvn cvx exec
- 2 copy pop 0 6 2 roll GetIntervalNewStr
- mark 9 -3 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll
-} def
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% Func derivative -> Eval<func>
-/EvalFunc_sin {%
- PreCommonFunc
- { (cos\() StrConcat 5 index StrConcat AddClPar } if
- PostCommonFunc } def
-/EvalFunc_cos {%
- PreCommonFunc
- { (\(-sin\() StrConcat 5 index StrConcat (\)\)) StrConcat } if
- PostCommonFunc } def
-/EvalFunc_tan {%
- PreCommonFunc
- { dup 0 eq { (1) StrConcat } { 1 sub } ifelse (/cos\() StrConcat 5 index StrConcat (\)^2) StrConcat } if
- PostCommonFunc } def
-/EvalFunc_asin {%
- PreCommonFunc
- { (1/sqrt\(1-\() StrConcat 5 index StrConcat (\)^2\)\)) StrConcat } if
- PostCommonFunc } def
-/EvalFunc_acos {%
- PreCommonFunc
- { (-1/sqrt\(1-\() StrConcat 5 index StrConcat (\)^2\)\)) StrConcat } if
- PostCommonFunc } def
-/EvalFunc_atg {%
- PreCommonFunc
- { (1/\(1+\() StrConcat 5 index StrConcat (\)^2\)\)) StrConcat } if
- PostCommonFunc } def
-/EvalFunc_ln {%
- PreCommonFunc
- { dup 0 eq { (1) StrConcat } { 1 sub } ifelse (/\() StrConcat 5 index StrConcat AddClPar } if
- PostCommonFunc } def
-/EvalFunc_exp {%
- PreCommonFunc
- { (exp\() StrConcat 5 index StrConcat AddClPar } if
- PostCommonFunc } def
-/EvalFunc_sqrt {%
- PreCommonFunc
- { dup 0 eq { (1) StrConcat } { 1 sub } ifelse (/\(2*sqrt\() StrConcat 5 index StrConcat (\)\)) StrConcat } if
- PostCommonFunc } def
-/EvalFunc_Fact {%
- PreCommonFunc { ERROR_no_variable_expression_in_Fact } if
- PostCommonFunc } def
-/EvalFunc_sh {%
- PreCommonFunc
- { (ch\() StrConcat 5 index StrConcat AddClPar } if
- PostCommonFunc } def
-/EvalFunc_ch {%
- PreCommonFunc
- { (sh\() StrConcat 5 index StrConcat AddClPar } if
- PostCommonFunc } def
-/EvalFunc_th {%
- PreCommonFunc
- { dup 0 eq { (1) StrConcat } { 1 sub } ifelse (/ch\() StrConcat 5 index StrConcat (\)^2) StrConcat } if
- PostCommonFunc } def
-/EvalFunc_Argsh {%
- PreCommonFunc
- { (1/sqrt\(1+\() StrConcat 5 index StrConcat (\)^2\)\)) StrConcat } if
- PostCommonFunc } def
-/EvalFunc_Argch {%
- PreCommonFunc
- { (1/sqrt\(\() StrConcat 5 index StrConcat (\)^2-1\)\)) StrConcat } if
- PostCommonFunc } def
-/EvalFunc_Argth {%
- PreCommonFunc
- { (1/\(1-\() StrConcat 5 index StrConcat (\)^2\)\)) StrConcat } if
- PostCommonFunc } def
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-/PreCommonFunc {
- 1 add NextNonBlankChar pop 3 -1 roll 5 1 roll AnalyzeExpr 1 add NextNonBlankChar pop
- 4 2 roll 4 index (0) eq
- { (0) StrConcat false }
- { 4 index (1) ne { AddOpPar 4 index StrConcat (\)*) StrConcat } if true } ifelse
-} def
-/PostCommonFunc {
- 2 copy pop 0 6 2 roll GetIntervalNewStr
- mark 9 -3 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll
-} def
-/EvalFunc_Derive {%
- 1 add ReadNumber cvi 1 add dup cvr log 1 add cvi string cvs
- 4 -1 roll pop 5 1 roll 1 add NextNonBlankChar pop AnalyzeExpr 1 add
- 4 -2 roll (Derive\() StrConcat 7 -1 roll StrConcat (,) StrConcat 6 -1 roll StrConcat AddClPar
- 2 copy pop 0 6 2 roll GetIntervalNewStr 6 -1 roll pop 2 index 6 index dup 4 index exch sub getinterval
- exch 6 2 roll } def
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% literal switch -> func call, vector, variables
-/EvalFunc_Sum {%
- 1 add NextNonBlankChar pop
- %% read the variable name
- ReadLiteral pop 3 -1 roll pop NextNonBlankChar
- 44 ne { ANALYZER_ERROR_missing_first_comma_in_Sum } if
- %% read the initial value
- 1 add NextNonBlankChar pop ReadNumber pop
- 2 copy get 44 ne { ANALYZER_ERROR_missing_second_comma_in_Sum } if
- %% read the increment value
- 1 add NextNonBlankChar pop ReadNumber pop
- 2 copy get 44 ne { ANALYZER_ERROR_missing_third_comma_in_Sum } if
- %% read the limit value
- 1 add NextNonBlankChar pop ReadNumber pop
- 2 copy get 44 ne { ANALYZER_ERROR_missing_fourth_comma_in_Sum } if
- 1 add NextNonBlankChar pop dup 6 1 roll 3 -1 roll pop AnalyzeExpr 1 add NextNonBlankChar pop
- 4 -2 roll 3 index 8 index dup 9 index exch sub getinterval StrConcat
- 4 index StrConcat AddClPar
- 2 copy pop 0 6 2 roll GetIntervalNewStr
- mark 9 -3 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll
-} def
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% literal switch -> func call, vector, variables
-/EvalFunc_IfTE {%
- 3 -1 roll pop 1 add NextNonBlankChar pop SkipCond
- NextNonBlankChar
- 44 ne { ANALYZER_ERROR_missing_first_comma_in_IfTE } if
- 1 add NextNonBlankChar pop dup 5 1 roll
- AnalyzeExpr NextNonBlankChar
- 44 ne { ANALYZER_ERROR_missing_second_comma_in_IfTE } if
- 1 add NextNonBlankChar pop
- AnalyzeExpr 1 add NextNonBlankChar pop
- 4 -2 roll 3 index 10 index dup 11 index exch sub getinterval StrConcat
- 6 index StrConcat (,) StrConcat 4 index StrConcat AddClPar
- 2 copy pop 0 6 2 roll GetIntervalNewStr
- mark 11 -5 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll
-} def
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% advance in str until a comma is found (no error detection!)
-%% str index -> str index'
-/SkipCond { { 1 add 2 copy get 44 eq {exit } if } loop } bind def
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% Convert to radians if trigo function call
-%% (name) ->
-/TrigoFunc {
- dup (cos) eq 1 index (sin) eq or exch (tan) eq or
- { /ExpressionVector ExpressionVector aload length Pi /div cvx 180 /mul cvx 5 -1 roll 4 add
- array astore def
- } if
-} def
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% No derivative for condition....
-/EvalCondOp { 3 -1 roll pop } bind def
-/PutIntervalOneAdd {putinterval 1 add} bind def
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% Add open parenthesis in string at the given index
-%% str index -> str index+1
-/AddOpPar {2 copy (\() PutIntervalOneAdd} bind def
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% Add close parenthesis in string at the given index
-%% str index -> str index+1
-/AddClPar {2 copy (\)) PutIntervalOneAdd} bind def
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% Add 0 in string at the given index
-%% str index -> str index+1
-/AddZero {2 copy (0) PutIntervalOneAdd} bind def
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% Add open parenthesis in string at the given index
-%% str index -> str index+1
-/AddMul {2 copy (*) PutIntervalOneAdd} bind def
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% Add open parenthesis in string at the given index
-%% str index -> str index+1
-/AddDiv {2 copy (/) PutIntervalOneAdd} bind def
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% Add a plus sign in string at the given index
-%% str index -> str index+1
-/AddAdd {2 copy (+) PutIntervalOneAdd} bind def
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% Add a minus sign in string at the given index
-%% str index -> str index+1
-/AddSub {2 copy (-) PutIntervalOneAdd} bind def
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% Add a pipe sign in string at the given index
-%% str index -> str index+1
-/AddPipe {2 copy (|) PutIntervalOneAdd} bind def
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% H O O K S
-/AnalyzePreHook { dup 5 1 roll } bind def
-/PreEvalHook {} def
-/AnalyzePostHook { 7 -1 roll pop } bind def
-/AnalyzeListOfEPostHook { 6 -1 roll mark 6 1 roll cleartomark } bind def
-/RollOp { 5 1 roll } bind def
-end%%%tx@CoreAnalyzerDict
-/tx@AddMathFunc 12 dict def tx@AddMathFunc begin
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% NEW FUNC
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% function arcsine in radians asin(x)=atan(x/sqrt(1-x^2))
-%% x -> theta
-/asin {%
- dup abs 1 gt { EQDFasinrangeerror } if
- dup dup dup mul 1 exch sub sqrt atan exch 0 lt { 360 sub } if DegtoRad
-} def
-%% function arccosine in radians acos(x)=atan(sqrt(1-x^2)/x)
-%% x -> theta
-/acos {%
- dup abs 1 gt { EQDFacosrangeerror } if
- dup dup mul 1 exch sub sqrt exch atan DegtoRad
-} def
-%% function arctangent in radians
-%% x -> theta
-/atg { 1 atan dup 90 gt { 360 sub } if DegtoRad } bind def
-%% HYPERBOLIC FUNCTIONS
-/sh { dup Ex exch neg Ex sub 2 div } def
-/ch { dup Ex exch neg Ex add 2 div } def
-/th { dup sh exch ch div } def
-/Argsh { dup dup mul 1 add sqrt add ln } def
-/Argch { dup dup mul 1 sub sqrt add ln } def
-/Argth { dup 1 add exch 1 exch sub div ln 2 div } def
-%% modified exponential funtion for 0
-%% x n -> x^n
-/Exp { dup 0 eq { pop pop 1 } { exp } ifelse } bind def
-%% modified exponential funtion for 0
-%% x -> e^x
-/Ex { Euler exch exp } bind def
-%%
-%% factorial function
-%% n -> n!
-/Fact { 1 exch 2 exch 1 exch { mul } for } bind def
-/fact { Fact } bind def
-end
-%
-% END pstricks.pro
-
-%%EndProcSet
-%%BeginProcSet: pst-dots.pro 0 0
-% $Id: pst-dots.pro 11 2008-01-24 13:37:27Z herbert $
-%
-%% PostScript prologue for pstricks.tex.
-%% Version 2.01, 2008/04/18
-%%
-%% For distribution, see pstricks.tex.
-%%
-%% Timothy Van Zandt <tvz@Princeton.EDU>
-%%
-%% This program can be redistributed and/or modified under the terms
-%% of the LaTeX Project Public License Distributed from CTAN archives
-%% in directory macros/latex/base/lppl.txt.
-%%
-%% Modified by Etienne Riga - Dec. 16, 1999
-%% Modified by Etienne Riga - 2005/01/01 (er)
-%% to add /Diamond, /SolidDiamond and /BoldDiamond
-%% Modified by Herbert Voss (hv) - 2008/04/17
-%
-10 dict dup begin % hold local
- /FontType 3 def
- /FontMatrix [.001 0 0 .001 0 0] def
- /FontBBox [-571.5 -742.5 571.5 742.5] def
-% /FontBBox [-1000 -1000 1000 1000] def % See end of file in /BuildGlyph
- /Encoding 256 array def
- 0 1 255 {Encoding exch /.notdef put} for % fill the array with /.notdef
- Encoding % replace with given dot names
- dup (b) 0 get /Bullet put % get the numerical position of b in ASCII
-% % and save /Bullet at this place in Encoding
- dup (c) 0 get /Circle put
- dup (C) 0 get /BoldCircle put % 67
- 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
-%%%
- dup (k) 0 get /Asterisk put
- dup (K) 0 get /BoldAsterisk put
- dup (J) 0 get /SolidAsterisk put
- dup (h) 0 get /Hexagon put
- dup (H) 0 get /BoldHexagon put
- dup (G) 0 get /SolidHexagon put
- dup (f) 0 get /Octogon put % 2008-04-18 hv
- dup (F) 0 get /BoldOctogon put % 2008-04-18 hv
- dup (g) 0 get /SolidOctogon put % 2008-04-18 hv
- dup (a) 0 get /Add put
- dup (A) 0 get /BoldAdd put % 65
- dup (x) 0 get /Mul put
- dup (X) 0 get /BoldMul put
- dup (m) 0 get /Oplus put
- dup (M) 0 get /BOplus put
- dup (e) 0 get /SolidOplus put
- dup (n) 0 get /Otimes put
- dup (N) 0 get /BOtimes put
- dup (E) 0 get /SolidOtimes put
- dup (i) 0 get /Bar put
- dup (I) 0 get /BoldBar put
- dup (l) 0 get /SolidDiamond put
- dup (d) 0 get /Diamond put
- (D) 0 get /BoldDiamond put
-%%%
-/CharProcs 47 dict def
-CharProcs begin
- /CirclePath {0 0 500 0 360 arc closepath} def
- /Bullet {CirclePath fill} def
- /Circle {CirclePath .9 .9 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
-%-------------- hv begin 2004/07/25 from: er 2003/03/24
- /HexagonPath {
- 0 550 moveto -476 275 lineto -476 -275 lineto
- 0 -550 lineto 476 -275 lineto 476 275 lineto closepath
- } def
- /SolidHexagon {HexagonPath fill} def
- /Hexagon {HexagonPath .89 .89 scale HexagonPath eofill} def
- /BoldHexagon {HexagonPath .79 .79 scale HexagonPath eofill} def
-% 2008-04-18 hv
- /OctogonPath {
- 228 550 moveto 7 { -456 0 rlineto 45 rotate } repeat
- closepath
- } def
- /SolidOctogon { OctogonPath fill } def
- /Octogon { OctogonPath .89 .89 scale OctogonPath eofill } def
- /BoldOctogon { OctogonPath .79 .79 scale OctogonPath eofill } def
-%
- /AsteriskPath {
- 20 0 moveto 10 250 180 500 0 500 curveto
- -180 500 -10 250 -20 0 curveto closepath
- } def
- /Asterisk {
- AsteriskPath 60 rotate AsteriskPath 60 rotate AsteriskPath
- 60 rotate AsteriskPath 60 rotate AsteriskPath 60 rotate AsteriskPath fill
- } def
-%
- /Basterp {50 250 220 500 0 500 curveto -220 500 -50 250 -50 30 cos 100 mul curveto} def
- /BoldAsteriskPath {
- 50 30 cos 100 mul moveto Basterp
- 60 rotate Basterp 60 rotate Basterp
- 60 rotate Basterp 60 rotate Basterp
- 60 rotate Basterp closepath
- } def
- /BoldAsterisk {BoldAsteriskPath fill} def
- /SolidAsterisk {CirclePath .9 .9 scale BoldAsteriskPath eofill} def
- /CrossPath {
- 40 550 moveto -40 550 lineto -40 40 lineto -550 40 lineto
- -550 -40 lineto -40 -40 lineto -40 -550 lineto 40 -550 lineto
- 40 -40 lineto 550 -40 lineto 550 40 lineto 40 40 lineto closepath
- } def
- /BoldCrossPath {80 550 moveto -80 550 lineto -80 80 lineto -550 80 lineto
- -550 -80 lineto -80 -80 lineto -80 -550 lineto 80 -550 lineto
- 80 -80 lineto 550 -80 lineto 550 80 lineto 80 80 lineto closepath
- } def
- /Add {CrossPath fill} def
- /Mul {45 rotate CrossPath fill} def
- /BoldAdd {BoldCrossPath fill} def
- /BoldMul {45 rotate BoldCrossPath fill} def
- /Oplus {CirclePath .9 .9 scale CirclePath eofill .775 .775 scale CrossPath fill } def
- /SolidOplus {CirclePath .775 .775 scale BoldCrossPath eofill} def
- /BOplus {CirclePath .8 .8 scale CirclePath eofill .775 .775 scale BoldCrossPath fill} def
- /Otimes {CirclePath .9 .9 scale CirclePath eofill 45 rotate .775 .775 scale CrossPath fill} def
- /BOtimes {CirclePath .8 .8 scale CirclePath eofill 45 rotate .775 .775 scale BoldCrossPath fill } def
- /SolidOtimes {CirclePath 45 rotate .775 .775 scale BoldCrossPath eofill} def
- /BarPath {40 660 moveto -40 660 lineto -40 -660 lineto 40 -660 lineto closepath} def
- /Bar {BarPath fill} def
- /BoldBarPath {80 660 moveto -80 660 lineto -80 -660 lineto 80 -660 lineto closepath} def
- /BoldBar {BoldBarPath fill} def
- /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 .865 .865 scale DiamondPath eofill} def
- /BoldDiamond {DiamondPath .73 .73 scale DiamondPath eofill} def
-%%%
- /.notdef { } def
-end
-%
-/BuildGlyph {
- exch
- begin
-% Metrics 1 index get exec 0
- 0 0
-% BBoxes 3 index get exec
- -1000 -1000 1000 1000
-% -571.5 -742.5 571.5 742.5
- 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
-
-%%EndProcSet
-%%BeginProcSet: xcolor.pro 0 0
-%!
-%%
-%% This is file `xcolor.pro',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% xcolor.dtx (with options: `dvips')
-%%
-%% IMPORTANT NOTICE:
-%%
-%% For the copyright see the source file.
-%%
-%% Any modified versions of this file must be renamed
-%% with new filenames distinct from xcolor.pro.
-%%
-%% For distribution of the original source see the terms
-%% for copying and modification in the file xcolor.dtx.
-%%
-%% This generated file may be distributed as long as the
-%% original source files, as listed above, are part of the
-%% same distribution. (The sources need not necessarily be
-%% in the same archive or directory.)
-%%
-%% xcolor.pro (PostScript/dvips header file)
-%% [2007/01/21 v2.11 LaTeX color extensions (UK)]
-%%
-%% ----------------------------------------------------------------
-%% Copyright (C) 2003-2007 by Dr. Uwe Kern <xcolor at ukern dot de>
-%% ----------------------------------------------------------------
-%%
-userdict begin
-/setcmycolor{0 setcmykcolor}def
-/XCbd{bind def}bind def
-/XCed{exch def}XCbd
-/XCdef{exch dup TeXDict exch known{pop pop}{XCed}ifelse}XCbd
-/XCsetcolor{cvx counttomark array astore cvx exch pop XCdef}XCbd
-/XCcmy{mark exch exec/setcmycolor XCsetcolor}XCbd
-/XCcmyk{mark exch exec/setcmykcolor XCsetcolor}XCbd
-/XCgray{mark exch exec/setgray XCsetcolor}XCbd
-/XChsb{mark exch exec/sethsbcolor XCsetcolor}XCbd
-/XCrgb{mark exch exec/setrgbcolor XCsetcolor}XCbd
-/XCfixnormalscale{/normalscale{Resolution 72 div VResolution 72 div neg
- scale magscale{DVImag dup scale}if}def}def
-/XC!b{save XCfixnormalscale}XCbd
-/XC!e{restore}XCbd
-/XCsp2bp{1 65781.76 div dup scale}XCbd
-/XCsetline
- {setlinewidth [] 0 setdash 2 setlinecap 0 setlinejoin 4 setmiterlimit}XCbd
-/XCboxframe{/d XCed/h XCed/w XCed/l XCed w 0 gt{h d neg gt{l 0 gt
- {XCsp2bp l XCsetline
- l 2 div dup translate
- 0 d neg w l sub h l sub d add rectstroke}if}if}if}XCbd
-/XCcolorblock{/d XCed/h XCed/w XCed w 0 gt{h d neg gt
- {XCsp2bp 0 XCsetline
- 0 d neg w h d add rectfill}if}if}XCbd
-end
-%% End of file `xcolor.pro'.
-
-%%EndProcSet
-%%BeginProcSet: wieesgeht.xcp 0 0
-%!
-TeXDict begin
-/XC@red{0 1 1 0}XCcmyk
-/XC@green{1 0 1 0}XCcmyk
-/XC@blue{1 1 0 0}XCcmyk
-/XC@brown{0 0.25 0.5 0.25}XCcmyk
-/XC@lime{0.25 0 1 0}XCcmyk
-/XC@orange{0 0.5 1 0}XCcmyk
-/XC@pink{0 0.25 0.25 0}XCcmyk
-/XC@purple{0 0.75 0.5 0.25}XCcmyk
-/XC@teal{0.5 0 0 0.5}XCcmyk
-/XC@violet{0 0.5 0 0.5}XCcmyk
-/XC@cyan{1 0 0 0}XCcmyk
-/XC@magenta{0 1 0 0}XCcmyk
-/XC@yellow{0 0 1 0}XCcmyk
-/XC@olive{0 0 1 0.5}XCcmyk
-/XC@black{0 0 0 1}XCcmyk
-/XC@darkgray{0 0 0 0.75}XCcmyk
-/XC@gray{0 0 0 0.5}XCcmyk
-/XC@lightgray{0 0 0 0.25}XCcmyk
-/XC@white{0 0 0 0}XCcmyk
-/GreenYellow{0.15 0 0.69 0}XCcmyk
-/Yellow{0 0 1 0}XCcmyk
-/Goldenrod{0 0.1 0.84 0}XCcmyk
-/Dandelion{0 0.29 0.84 0}XCcmyk
-/Apricot{0 0.32 0.52 0}XCcmyk
-/Peach{0 0.5 0.7 0}XCcmyk
-/Melon{0 0.46 0.5 0}XCcmyk
-/YellowOrange{0 0.42 1 0}XCcmyk
-/Orange{0 0.61 0.87 0}XCcmyk
-/BurntOrange{0 0.51 1 0}XCcmyk
-/Bittersweet{0 0.75 1 0.24}XCcmyk
-/RedOrange{0 0.77 0.87 0}XCcmyk
-/Mahogany{0 0.85 0.87 0.35}XCcmyk
-/Maroon{0 0.87 0.68 0.32}XCcmyk
-/BrickRed{0 0.89 0.94 0.28}XCcmyk
-/Red{0 1 1 0}XCcmyk
-/OrangeRed{0 1 0.5 0}XCcmyk
-/RubineRed{0 1 0.13 0}XCcmyk
-/WildStrawberry{0 0.96 0.39 0}XCcmyk
-/Salmon{0 0.53 0.38 0}XCcmyk
-/CarnationPink{0 0.63 0 0}XCcmyk
-/Magenta{0 1 0 0}XCcmyk
-/VioletRed{0 0.81 0 0}XCcmyk
-/Rhodamine{0 0.82 0 0}XCcmyk
-/Mulberry{0.34 0.9 0 0.02}XCcmyk
-/RedViolet{0.07 0.9 0 0.34}XCcmyk
-/Fuchsia{0.47 0.91 0 0.08}XCcmyk
-/Lavender{0 0.48 0 0}XCcmyk
-/Thistle{0.12 0.59 0 0}XCcmyk
-/Orchid{0.32 0.64 0 0}XCcmyk
-/DarkOrchid{0.4 0.8 0.2 0}XCcmyk
-/Purple{0.45 0.86 0 0}XCcmyk
-/Plum{0.5 1 0 0}XCcmyk
-/Violet{0.79 0.88 0 0}XCcmyk
-/RoyalPurple{0.75 0.9 0 0}XCcmyk
-/BlueViolet{0.86 0.91 0 0.04}XCcmyk
-/Periwinkle{0.57 0.55 0 0}XCcmyk
-/CadetBlue{0.62 0.57 0.23 0}XCcmyk
-/CornflowerBlue{0.65 0.13 0 0}XCcmyk
-/MidnightBlue{0.98 0.13 0 0.43}XCcmyk
-/NavyBlue{0.94 0.54 0 0}XCcmyk
-/RoyalBlue{1 0.5 0 0}XCcmyk
-/Blue{1 1 0 0}XCcmyk
-/Cerulean{0.94 0.11 0 0}XCcmyk
-/Cyan{1 0 0 0}XCcmyk
-/ProcessBlue{0.96 0 0 0}XCcmyk
-/SkyBlue{0.62 0 0.12 0}XCcmyk
-/Turquoise{0.85 0 0.2 0}XCcmyk
-/TealBlue{0.86 0 0.34 0.02}XCcmyk
-/Aquamarine{0.82 0 0.3 0}XCcmyk
-/BlueGreen{0.85 0 0.33 0}XCcmyk
-/Emerald{1 0 0.5 0}XCcmyk
-/JungleGreen{0.99 0 0.52 0}XCcmyk
-/SeaGreen{0.69 0 0.5 0}XCcmyk
-/Green{1 0 1 0}XCcmyk
-/ForestGreen{0.91 0 0.88 0.12}XCcmyk
-/PineGreen{0.92 0 0.59 0.25}XCcmyk
-/LimeGreen{0.5 0 1 0}XCcmyk
-/YellowGreen{0.44 0 0.74 0}XCcmyk
-/SpringGreen{0.26 0 0.76 0}XCcmyk
-/OliveGreen{0.64 0 0.95 0.4}XCcmyk
-/RawSienna{0 0.72 1 0.45}XCcmyk
-/Sepia{0 0.83 1 0.7}XCcmyk
-/Brown{0 0.81 1 0.6}XCcmyk
-/Tan{0.14 0.42 0.56 0}XCcmyk
-/Gray{0 0 0 0.5}XCcmyk
-/Black{0 0 0 1}XCcmyk
-/White{0 0 0 0}XCcmyk
-/XC@AliceBlue{0.06 0.028 0 0}XCcmyk
-/XC@AntiqueWhite{0 0.06 0.136 0.02}XCcmyk
-/XC@Aqua{1 0 0 0}XCcmyk
-/XC@Aquamarine{0.502 0 0.17 0}XCcmyk
-/XC@Azure{0.06 0 0 0}XCcmyk
-/XC@Beige{0 0 0.096 0.04}XCcmyk
-/XC@Bisque{0 0.106 0.23 0}XCcmyk
-/XC@Black{0 0 0 1}XCcmyk
-/XC@BlanchedAlmond{0 0.08 0.196 0}XCcmyk
-/XC@Blue{1 1 0 0}XCcmyk
-/XC@BlueViolet{0.348 0.718 0 0.112}XCcmyk
-/XC@Brown{0 0.483 0.483 0.352}XCcmyk
-/XC@BurlyWood{0 0.15 0.34 0.13}XCcmyk
-/XC@CadetBlue{0.256 0.008 0 0.372}XCcmyk
-/XC@Chartreuse{0.502 0 1 0}XCcmyk
-/XC@Chocolate{0 0.414 0.708 0.176}XCcmyk
-/XC@Coral{0 0.502 0.688 0}XCcmyk
-/XC@CornflowerBlue{0.538 0.345 0 0.07}XCcmyk
-/XC@Cornsilk{0 0.028 0.136 0}XCcmyk
-/XC@Crimson{0 0.784 0.629 0.136}XCcmyk
-/XC@Cyan{1 0 0 0}XCcmyk
-/XC@DarkBlue{0.545 0.545 0 0.455}XCcmyk
-/XC@DarkCyan{0.545 0 0 0.455}XCcmyk
-/XC@DarkGoldenrod{0 0.195 0.676 0.28}XCcmyk
-/XC@DarkGray{0 0 0 0.336}XCcmyk
-/XC@DarkGreen{0.392 0 0.392 0.608}XCcmyk
-/XC@DarkGrey{0 0 0 0.336}XCcmyk
-/XC@DarkKhaki{0 0.024 0.32 0.26}XCcmyk
-/XC@DarkMagenta{0 0.545 0 0.455}XCcmyk
-/XC@DarkOliveGreen{0.088 0 0.235 0.58}XCcmyk
-/XC@DarkOrange{0 0.45 1 0}XCcmyk
-/XC@DarkOrchid{0.2 0.604 0 0.2}XCcmyk
-/XC@DarkRed{0 0.545 0.545 0.455}XCcmyk
-/XC@DarkSalmon{0 0.322 0.432 0.088}XCcmyk
-/XC@DarkSeaGreen{0.176 0 0.176 0.264}XCcmyk
-/XC@DarkSlateBlue{0.261 0.305 0 0.455}XCcmyk
-/XC@DarkSlateGray{0.125 0 0 0.69}XCcmyk
-/XC@DarkSlateGrey{0.125 0 0 0.69}XCcmyk
-/XC@DarkTurquoise{0.82 0.012 0 0.18}XCcmyk
-/XC@DarkViolet{0.248 0.828 0 0.172}XCcmyk
-/XC@DeepPink{0 0.92 0.424 0}XCcmyk
-/XC@DeepSkyBlue{1 0.25 0 0}XCcmyk
-/XC@DimGray{0 0 0 0.59}XCcmyk
-/XC@DimGrey{0 0 0 0.59}XCcmyk
-/XC@DodgerBlue{0.884 0.435 0 0}XCcmyk
-/XC@FireBrick{0 0.566 0.566 0.302}XCcmyk
-/XC@FloralWhite{0 0.02 0.06 0}XCcmyk
-/XC@ForestGreen{0.413 0 0.413 0.455}XCcmyk
-/XC@Fuchsia{0 1 0 0}XCcmyk
-/XC@Gainsboro{0 0 0 0.136}XCcmyk
-/XC@GhostWhite{0.028 0.028 0 0}XCcmyk
-/XC@Gold{0 0.156 1 0}XCcmyk
-/XC@Goldenrod{0 0.207 0.73 0.145}XCcmyk
-/XC@Gray{0 0 0 0.5}XCcmyk
-/XC@Green{0.5 0 0.5 0.5}XCcmyk
-/XC@GreenYellow{0.32 0 0.815 0}XCcmyk
-/XC@Grey{0 0 0 0.5}XCcmyk
-/XC@Honeydew{0.06 0 0.06 0}XCcmyk
-/XC@HotPink{0 0.59 0.295 0}XCcmyk
-/XC@IndianRed{0 0.444 0.444 0.196}XCcmyk
-/XC@Indigo{0.216 0.51 0 0.49}XCcmyk
-/XC@Ivory{0 0 0.06 0}XCcmyk
-/XC@Khaki{0 0.04 0.39 0.06}XCcmyk
-/XC@Lavender{0.08 0.08 0 0.02}XCcmyk
-/XC@LavenderBlush{0 0.06 0.04 0}XCcmyk
-/XC@LawnGreen{0.502 0 0.99 0.01}XCcmyk
-/XC@LemonChiffon{0 0.02 0.196 0}XCcmyk
-/XC@LightBlue{0.22 0.052 0 0.1}XCcmyk
-/XC@LightCoral{0 0.44 0.44 0.06}XCcmyk
-/XC@LightCyan{0.12 0 0 0}XCcmyk
-/XC@LightGoldenrod{0 0.066 0.423 0.067}XCcmyk
-/XC@LightGoldenrodYellow{0 0 0.156 0.02}XCcmyk
-/XC@LightGray{0 0 0 0.172}XCcmyk
-/XC@LightGreen{0.367 0 0.367 0.068}XCcmyk
-/XC@LightGrey{0 0 0 0.172}XCcmyk
-/XC@LightPink{0 0.288 0.244 0}XCcmyk
-/XC@LightSalmon{0 0.372 0.52 0}XCcmyk
-/XC@LightSeaGreen{0.573 0 0.03 0.302}XCcmyk
-/XC@LightSkyBlue{0.45 0.172 0 0.02}XCcmyk
-/XC@LightSlateBlue{0.482 0.56 0 0}XCcmyk
-/XC@LightSlateGray{0.132 0.068 0 0.4}XCcmyk
-/XC@LightSlateGrey{0.132 0.068 0 0.4}XCcmyk
-/XC@LightSteelBlue{0.18 0.1 0 0.13}XCcmyk
-/XC@LightYellow{0 0 0.12 0}XCcmyk
-/XC@Lime{1 0 1 0}XCcmyk
-/XC@LimeGreen{0.608 0 0.608 0.196}XCcmyk
-/XC@Linen{0 0.04 0.08 0.02}XCcmyk
-/XC@Magenta{0 1 0 0}XCcmyk
-/XC@Maroon{0 0.5 0.5 0.5}XCcmyk
-/XC@MediumAquamarine{0.404 0 0.136 0.196}XCcmyk
-/XC@MediumBlue{0.804 0.804 0 0.196}XCcmyk
-/XC@MediumOrchid{0.098 0.496 0 0.172}XCcmyk
-/XC@MediumPurple{0.284 0.42 0 0.14}XCcmyk
-/XC@MediumSeaGreen{0.465 0 0.256 0.3}XCcmyk
-/XC@MediumSlateBlue{0.448 0.524 0 0.068}XCcmyk
-/XC@MediumSpringGreen{0.98 0 0.376 0.02}XCcmyk
-/XC@MediumTurquoise{0.536 0 0.02 0.18}XCcmyk
-/XC@MediumVioletRed{0 0.696 0.26 0.22}XCcmyk
-/XC@MidnightBlue{0.342 0.342 0 0.56}XCcmyk
-/XC@MintCream{0.04 0 0.02 0}XCcmyk
-/XC@MistyRose{0 0.106 0.116 0}XCcmyk
-/XC@Moccasin{0 0.106 0.29 0}XCcmyk
-/XC@NavajoWhite{0 0.13 0.32 0}XCcmyk
-/XC@Navy{0.5 0.5 0 0.5}XCcmyk
-/XC@NavyBlue{0.5 0.5 0 0.5}XCcmyk
-/XC@OldLace{0 0.032 0.092 0.008}XCcmyk
-/XC@Olive{0 0 0.5 0.5}XCcmyk
-/XC@OliveDrab{0.136 0 0.42 0.444}XCcmyk
-/XC@Orange{0 0.352 1 0}XCcmyk
-/XC@OrangeRed{0 0.73 1 0}XCcmyk
-/XC@Orchid{0 0.415 0.015 0.145}XCcmyk
-/XC@PaleGoldenrod{0 0.022 0.264 0.068}XCcmyk
-/XC@PaleGreen{0.389 0 0.389 0.015}XCcmyk
-/XC@PaleTurquoise{0.244 0 0 0.068}XCcmyk
-/XC@PaleVioletRed{0 0.42 0.284 0.14}XCcmyk
-/XC@PapayaWhip{0 0.064 0.165 0}XCcmyk
-/XC@PeachPuff{0 0.145 0.275 0}XCcmyk
-/XC@Peru{0 0.284 0.556 0.196}XCcmyk
-/XC@Pink{0 0.248 0.204 0}XCcmyk
-/XC@Plum{0 0.24 0 0.132}XCcmyk
-/XC@PowderBlue{0.21 0.02 0 0.1}XCcmyk
-/XC@Purple{0 0.5 0 0.5}XCcmyk
-/XC@Red{0 1 1 0}XCcmyk
-/XC@RosyBrown{0 0.176 0.176 0.264}XCcmyk
-/XC@RoyalBlue{0.629 0.474 0 0.116}XCcmyk
-/XC@SaddleBrown{0 0.275 0.47 0.455}XCcmyk
-/XC@Salmon{0 0.48 0.532 0.02}XCcmyk
-/XC@SandyBrown{0 0.312 0.58 0.044}XCcmyk
-/XC@SeaGreen{0.365 0 0.205 0.455}XCcmyk
-/XC@Seashell{0 0.04 0.068 0}XCcmyk
-/XC@Sienna{0 0.308 0.452 0.372}XCcmyk
-/XC@Silver{0 0 0 0.248}XCcmyk
-/XC@SkyBlue{0.39 0.112 0 0.08}XCcmyk
-/XC@SlateBlue{0.389 0.452 0 0.196}XCcmyk
-/XC@SlateGray{0.125 0.065 0 0.435}XCcmyk
-/XC@SlateGrey{0.125 0.065 0 0.435}XCcmyk
-/XC@Snow{0 0.02 0.02 0}XCcmyk
-/XC@SpringGreen{1 0 0.502 0}XCcmyk
-/XC@SteelBlue{0.43 0.195 0 0.295}XCcmyk
-/XC@Tan{0 0.119 0.274 0.176}XCcmyk
-/XC@Teal{0.5 0 0 0.5}XCcmyk
-/XC@Thistle{0 0.098 0 0.152}XCcmyk
-/XC@Tomato{0 0.61 0.72 0}XCcmyk
-/XC@Turquoise{0.63 0 0.065 0.12}XCcmyk
-/XC@Violet{0 0.422 0 0.068}XCcmyk
-/XC@VioletRed{0 0.691 0.251 0.184}XCcmyk
-/XC@Wheat{0 0.09 0.26 0.04}XCcmyk
-/XC@White{0 0 0 0}XCcmyk
-/XC@WhiteSmoke{0 0 0 0.04}XCcmyk
-/XC@Yellow{0 0 1 0}XCcmyk
-/XC@YellowGreen{0.2 0 0.608 0.196}XCcmyk
-/XC@gradbegin{1 0 0 0}XCcmyk
-/XC@gradend{0.95 0.85 0 0.05}XCcmyk
-/XC@black{0 0 0 1}XCcmyk
-/XC@darkgray{0 0 0 0.75}XCcmyk
-/XC@gray{0 0 0 0.5}XCcmyk
-/XC@lightgray{0 0 0 0.25}XCcmyk
-/XC@white{0 0 0 0}XCcmyk
-/XC@red{0 1 1 0}XCcmyk
-/XC@green{1 0 1 0}XCcmyk
-/XC@blue{1 1 0 0}XCcmyk
-/XC@yellow{0 0 1 0}XCcmyk
-/XC@cyan{1 0 0 0}XCcmyk
-/XC@magenta{0 1 0 0}XCcmyk
-end
-
-%%EndProcSet
-%%BeginProcSet: pst-node.pro 0 0
-% $Id: pst-node.pro 40 2008-09-04 17:56:41Z herbert $
-%%
-%% PostScript prologue for pst-node.tex.
-%% Version 1.02, 2009/01/30.
-%%
-%% This program can be redistributed and/or modified under the terms
-%% of the LaTeX Project Public License Distributed from CTAN archives
-%% in directory macros/latex/base/lppl.txt.
-%
-/tx@NodeDict 400 dict def tx@NodeDict begin
-tx@Dict begin % from main pstricks dict
- /T /translate load def
-end
-/NewNode { % on stack: { x y } boolean N@name type InitXnode
- gsave
- /next ED % { x y } boolean N@name type
- dict dup % { x y } boolean N@name dict dict
- 3 1 roll def % { x y } boolean dict N@name dict def
- exch { dup 3 1 roll def } if % { x y } dict boolean
- begin % { x y } dict begin
- tx@Dict begin
- STV CP T exec % set scaling
- end
- /NodeMtrx CM def % save CM
- next % InitXNode
- 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 % second and first node
- /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
- t floor dup n ge % to allow npos<= hv 2008-08-14
- { 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 = "27nov06",
-% 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
-% 0xB0
- /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
-%%BeginFont: LucidaBrightCE
-%!PS-AdobeFont-1.0: LucidaBrightCE 001.000
-%%CreationDate: 18.02.00 at 15:55
-%%VMusage: 1024 47599
-% Generated by Fontographer 4.1
-% Copyright \(c\) 1998 Bigelow & Holmes Inc. Pat. Des 289,421.
-% ADL: 800 200 0
-%%EndComments
-FontDirectory/LucidaBrightCE known{/LucidaBrightCE findfont dup/UniqueID known{dup
-/UniqueID get 4890615 eq exch/FontType get 1 eq and}{pop false}ifelse
-{save true}{false}ifelse}{false}ifelse
-20 dict begin
-/FontInfo 16 dict dup begin
-/version (001.000) readonly def
-/FullName (LucidaBrightCE) readonly def
-/FamilyName (LucidaBrightCE) readonly def
-/Weight (Medium) readonly def
-/ItalicAngle 0 def
-/isFixedPitch false def
-/UnderlinePosition -200 def
-/UnderlineThickness 100 def
-/Notice (Copyright \(c\) 1998 Bigelow & Holmes Inc. Pat. Des 289,421.) readonly def
-/em 1000 def
-/ascent 800 def
-/descent 200 def
-end readonly def
-/FontName /LucidaBrightCE def
-/Encoding 256 array
-0 1 255 {1 index exch /.notdef put} for
-dup 40 /parenleft put
-dup 41 /parenright put
-dup 44 /comma put
-dup 45 /hyphen put
-dup 46 /period put
-dup 49 /one put
-dup 51 /three put
-dup 65 /A put
-dup 66 /B put
-dup 67 /C put
-dup 68 /D put
-dup 69 /E put
-dup 70 /F put
-dup 72 /H put
-dup 73 /I put
-dup 75 /K put
-dup 77 /M put
-dup 80 /P put
-dup 83 /S put
-dup 84 /T put
-dup 86 /V put
-dup 88 /X put
-dup 90 /Z put
-dup 97 /a put
-dup 98 /b put
-dup 100 /d put
-dup 101 /e put
-dup 102 /f put
-dup 103 /g put
-dup 104 /h put
-dup 105 /i put
-dup 107 /k put
-dup 108 /l put
-dup 109 /m put
-dup 110 /n put
-dup 111 /o put
-dup 112 /p put
-dup 114 /r put
-dup 115 /s put
-dup 116 /t put
-dup 117 /u put
-dup 120 /x put
-dup 121 /y put
-dup 122 /z put
-dup 228 /adieresis put
-readonly def
-/PaintType 0 def
-/FontType 1 def
-/StrokeWidth 0 def
-/FontMatrix[0.001 0 0 0.001 0 0]readonly def
-/FontBBox{-36 -318 1014 993}readonly def
-currentdict end
-currentfile eexec
-D9D66F633B846AB28EDC112EE8CE6C673600130707DE48BF082E5E38F377870F
-EC577CC0BE324DC9F48DDE3E42F41F80F0529CA4D00437E413B730C2971C6596
-BC0E5C3CB3B0C4CB00F49710EE39BFC08B25EE73EE0110AA0B09087B61961613
-F28957190014C668EBE72F94F0C3F59D322B6654935C89D08228D87A26CB5A02
-2AF72D68BFA18797C9A4FCE0EA5F267180E8BBB3523B860BA31385E6D13FB249
-82A8F708AC7E7D555EF420CED2D8DB13A0496426DF3157841D9CB57CA0874D6C
-1664C8C8A9CC63CD76B945A2969EA0EA63C31EDAD9E7870E96E3E72336D46967
-E2EA0D0FA5AA4B8604D019149C8957096EEB1BEA900ECD03022DB5142AB0A1F2
-A0C71498AAECE590586CA1F863B9E9AB06D9E27AC5D1DA50CECFAC74079A60A4
-F6230379CBAB3461A106E033B6B59B40E8D65D99E65021394297EB3507ABE8EA
-DEA26615E1210C21B30725C3640860849878C424D06E3DD1F22F0A674109204C
-A95519D84EFC3F1B77BAE0B13BC5357B109628D853AA0833BF4B06CB19D1C124
-0FD5E1ED6C9E910C32611762700E6475AAB74B8E9FA547ACFB7E9B2B15F1D5A8
-9543DB47255A2C5443BCED6E28F46E079CF27120ABB9917BBDF765C662C25C0E
-1C118C7B61DEF5D51FC56896A34EF0F1657A403654044F0315DFBD0783B71787
-2DB951A9A1A36F27A910774C31F7E1D0878CC6570470AF607FBB369CB6BF9F66
-15B04672B879998517BF99B9E4F0ADD769E5D41AB933E3E6DA8EC54BEA6E431B
-7A5E2DBA54549224E46E3C5E5E9AFA5541E4775DD42FA9522E820F5D07539F1A
-FCFEFF7376918A35C7EA8C1A0A48D9721A86BEDEF76AD6F32D5A3768FB6BFF5A
-1E7BEC988F06F62E178393E8BB74CA37E8D89DC67C0F9842B0368AD7A499EE5D
-B75C1A20FC3A555708DD7932F8863383E5851027BBE6D042F65CEFCD3023B738
-6FD34E7056F062F57B7A5DA64B28AC1842A8F42ADD4915D8D4407C4A868FD4E9
-256C6E8561AB69E56C391001D99B860BDFC3508BE480018EA7760738963A66B9
-B5D897A3C67A2462C67F883413E087786C64C752F930E609AA90D47A1310422E
-1AED61C75904BBA4E3377958FC9412767223B29BC367F1C0A4313FC57A916CF9
-434B2384EB1ED34FF52F9C9E0D3FB5901AC4BB19D8066FEB0E9B16FA1385BD5F
-1B653894A952257D37FF0E25A81CA7D01F5A103CB3F50F1D88919C419C91A650
-AEE18C8BC3BC1633C1EED8854448063316B83CB4058BBC339DF76BAFABEC1D78
-053982CA60D0A2B591F4139829FC1AE5BF699E0506DFFA5739E88BEB81076CBB
-0D25D106A2E0B77B2219F8DFC93B00AB0E2AAA910AD5C7C4064B4DEC8B2A5378
-89B206A137DEB2509F6AF2C908FB12B5D161B63A9E42CDAF15BDA866D575DDA2
-FAA82DBADA1FCB2770B15579D50F03C3B45ABA5EA21743669C87A0D99DD594E1
-C3B520A779331BA4EA61ACF225D27F2C179B139811BF4EE0281A610B03592111
-5379F02C527E4625FC0A91AA222524C6AEBB402EDC33ED2C6C1BBD8827527917
-8552D080E2A715B0E16C82BD58EE66C622DE285C8B2BA420BC87B3E776FAA4A8
-E3A31BC6C19C309C72BFD7EDCFDF439B2B05CCA4C3C1E3AA750E86B604B81F22
-B414AAF0E1A95B47BFF24C4E93AF27FB1BE92AD979EC491ADAB58E002E8A1762
-5632601A8A2CD0CB820C71C9F09504A66E08D42F0A1D4CE48EDFDBEE06EA244A
-AFDABAF7A8C06C8C61F288B8E820FB0228863CF12161FA0A770ED6D39E571D79
-E7ABE0D0583038C3346D7FF6A92E3A15F5BF0D75F30CE83E1D5AEC2C330B4F75
-B39E74BA104215F3C12D51650AAE159DE6E9FE620D86E9B05E900D14042BF7FF
-0CE1300F22FE7136611595047CE8FAD26EDB09844D3209B64E00A86B9E3CDE75
-D72CD14E5821A476F51FF61C1BC23091605CDA81DF7AFD6C9BB23D75C86DEC3C
-DAAB810C2E0DF5239BF33993123C80F7C2A81D666FC998798BDCD371CCFA568C
-79AD7D9815E0BD34702EFF739EF974989569AFD6AC2191776FD806E84A974A00
-C1807FEF6F0AB2532B630445F8B4F7F4B975DB8D7E5D664C30D82236EEAF7236
-E220EFE0D60DB5E9D3E39B24A78AB2C62629C048F320F7045055F1636279052D
-63383C0D35946F084C8D59321F918EBFA21910AB452424307E0C5685C0E79759
-DE2709F47847F981E61F7E086A867FE874762CEEA7BA9CABCEA4DF01C72D51B2
-795B17073F7556030AB9C797372FA41E76391B55ABCDA623F55A3E82E5AAA694
-7BFB2743C872FCBBB373AF6421C788FB9264AA9D82F4E5DA9C8513B9A0AE52DD
-248ACD3FB6AE7A99FC866794AC1F3365E5792A46A5BFF3BC69D0EE356B34D0B3
-801CC3432BC8C99AC01A0005FB2EE6FC30FB29C0FF50BB1D23CF91DD906AC481
-E28B9EB73E963DEBCF119B1A1F627D6E78CB328EFAEDDC0D51EBE0C2888B369D
-421BEBB6E7FCDCA196ACDC62087BBAFA394FEA400984FE53C5E61C03E3930585
-CF95DE2F4696D2F24B8A11518C65601D62FD795E1A67EB300EBE8891A877C3D7
-B0F0D6AC90858CB2DF7CBF17F5C7B10288D40B623A22FE5D9CB9EE4B758840DF
-7BF9C8949FC4335BE0FE6D0F6493ABF0629D1882ED5CAD28D7AAAF5DB961F79B
-776580EED2567976EFDE5F160A83B6BA54E9A92DCCF3F80A8F6E82B0C4BE159F
-1FFE69903E315C601C5CDBF7CFFC95F27EA0792C87DC525532FF2370583B082B
-75C735FEC6D53DF6A7895FFAC9A8E8D927EDB7278F17D62CB86F2BDA69DFEEDF
-76DD11EE009AE4AEFE178AAC68F5FBA0B930BC84861CE5D9CCC2ADD97B114725
-E11C84F7F6E8117D338C6A5B59881ABB66ACCCDFF457EF70D7E213898246A0F8
-E534A05D9ADBD0ED6FF22ADFC529E2149B9A574F6D08DAFC69C29F305CF08B57
-79488F15A313A17F552E5E69ECA25F35C313BEC07F7852D31DE56BE21DFBBF93
-05092E87740A7F60F5C7EF6573B1ECA3D9137DF5EA301BAF0E630B0B6253D36B
-7012C80E9E3C0FA10D0B9999D2330281D9057CFC928132D299BBE6A6DF9744D6
-9C71E4396905538AB55686AE4DBB1E3D7AAD020E7A6C7790294B0330B852B4F2
-2B1738CCB7933CB706D9172025B1E100423F773B45583683094D4E3A93B7892C
-1BE21A3DFC7CFB35E19025DC0E0BFE1E8724866EEE2F9B557A3757C3CC58920E
-82E0B514384EEC28B33B84D075F46EAAC0FDB0137341CD04A8B52471908AE151
-534D5FEACD9E7209572BF049A41F70D637D76DC345472CF61777CBA7787E9550
-82E4D4C71396FA6A537641AD4D2389EAF3F0F6CDBC26F6C64562846FC73B3324
-0A73FCE50DFCAF6C4F15600AEC20578682D9B00A2C6589C92DB0F1FBA5921B8A
-62BAF30BE5AF104DF56B8A107A8AD29F105279381C986BFCAC77A376E7AB677F
-94165CA9A108DF5CF4A938FED50331E9E39957A90D3BD69E1C978CE26B683CDA
-EC7BE97BCB940256D1E23DF701BE018D951E64F7145DDCD6AE768A910C3E5A31
-1BA8D8C69352B12EEA916B4487EDE3762AFA2EF766F57F2358F3022B1BF94866
-2136D3385E054C5D5741E6D0A3A34950438EB4067CFBDD9856B588AD9FF43739
-AB26B223E36F4959258BC4C04B151259EF4854FCF903B9358699BA59C3457871
-CF222176E7778A3DBA7F996B3BC60101A63F9519ACEE1E468BB222EBA8BCC3FB
-7DC371485B9A63F7B6FC2902B9AC5AC550A7A7EAFD6293CDD986B41131F4D582
-2FD6D5CC31DE06F192528B3EE7DE6EE6ED53B51E9DBB15BDF6B9EE5C277DF354
-FCA6BA5585C9C545650D7538342D32DACF923BACF30683B8CAF4C3BE2D9805BA
-C811F8662ECFA7FBD623B9C73846D0307F36D19FF321D2DF159515D48A32BA14
-745AE580CE51356C6BFF5C183EFAB82F66B1E76D7A62E0F9FBFE98E3109EE9CD
-C913937A28AA74915A858724AD3F58F0B9315291E8C70C28CD49AF3310EDDA89
-20A1718DFABF780E8557602DB8EA63FA566CAF1518C0261B218D2D9F5FC3C429
-0F59F715AFF98FF485CAB673A38A4E58B37645CC0FAD687060A72F4B6D6D9069
-A4C5D612B6AE00B6F9241A358FB12B1DA0CF354D6439F1D6EC4210D9AE49D496
-3540E8B10E468F53F770A7C333779043E79F8E8E49FE3B554A99A282BEAABE0F
-3D35EBE6927D4BCF1DAE5ABF4CF9E44A55EA019EB1F8B3A21B85E8440728FDA6
-E785141F6A283FEA15CB2E04FC8987D0BE71AA3565519DAE4B20A20139899C76
-E19AB5711B78B077D12978922A292D4425136AF93799A598C242E24459A1A63D
-F29CE90F42FB3D7454635950FCBFD60E695FB562A50E863DC8E42BD1129BA58B
-63F5EAA7169F949A65DAEF9124BFFE4D5DF1F7711B9DCEE9DCE113EAB4060046
-CA992C26D7AED7CFC38089CAC56D5F9897EC3E628459A56788D6B03933BC5A46
-877014ED1D703AB7CEE1406128111A0F2A5474B5A03ABE84F8A8701FD2BBBC1A
-2F096AC0AC54A0D23F8A1F44EE26D9FEB4799D814809FA0B508E468A40208640
-B2C47992C48D7EA1794DF5341F1F8AE0C8F5ACC6DFFB79EEDD6FD3B720900DBE
-03AA6EEB9CDF7FAD505C70454BA0FB883E2415C26B284407AC7D4C602C8ADEB4
-BBB9AFBAA5B44457DCC42D0AEB2F948A60B4833F50BD77859C6F8B975CE5A164
-E375EB1D42FCD94DB862977C6E6A9718C83840EE024F069B5F1E2927A923950A
-811661EEC30D6F3789DE80CA4729DE366CAF8B32164A530FC3B04AD9377E1EDC
-8E550C3ECABA1556101AB8278FA596F460F632CCBAD91AAD3684B6973AF3B543
-D5AEE13391B8D65BBB189C0D5131960E2426D48C9E07EC15EA94362050C667FC
-861ABFC947E52AB59BC1F958AE8963F5A945CDA944A2DB91AC2F9D1D1E63C48E
-5FE7A555F73EC3ADFC1B786770E19FAA2364B8FFECC695478C95394775A5936E
-6F84955BE446E9CA13674DE40BBAAD2039060EEAF750ABD433FC540D43FB5A57
-93886D68F7581E85A4761FDD281913462FB5E925F8D8ECAC334ABBE8756D8BC3
-5B5F8D8F8C0097F40056173D3AEC06AD95E9B1ED681A9A7F6E1BBDA383AD61ED
-B35952CA895FF526029A799122AB79F06F6890FCE493CA7BFA6285F7851B1BAB
-F419AC37A61EFBE823569245AB01DCC45821DD1B1ADDCD46E226A4B4502AC8B2
-62CCAFFEA61B73EB6ADB9E0C12CAAC426C9F1ED39E7226F3430A260FA7D82BC7
-620DC66D883D40753BCE01231AFD9DE187FCBDE96C278336A37813EEACFC530C
-022F381794B5F27EC031FC1DCEA982D8412EE373E92B4190C97D3DA3F5DA339C
-5016E4A0330A11423AC54D0DE81DA44D2058F65434A44F01023C3EA18373E083
-9BFA31AD78489B7E2495EAC1F51C743185D3E6F2A34C37B414A8F93F0C684E38
-0364C3E1C2E75007CC38A310DCAAF98A9C750C80B809668BEB0B6810362198FA
-1C23C00AE41C417A58B41B301FE702313064066D86B9AEFE97DF38222D9D9FED
-D6052953FC39219028ECC8FC90900EB593BC5EB16A0F8C8C26C710FE8F5A804D
-AA354B808D2E303C24E83312E06E366C59141943FACBD6998095AF52A963E7A1
-FA942A4FDCF44F55522465B82A18A4DF9199D9F46B1C2E0D5397F0A7AB6A552E
-AC512EEFD176FAAC23991F465B3463F4253AD4BEDDC933C420A4F1F02E9DD7FE
-48F779E08AFED30209D7A9EC92CB249770B74D6F82601E4F4F10956115CD956C
-3B1F420EF3A6C0198E82B2A7A84397D66B32BA0CDDCE057612AC14E3A0F9966B
-F78DF3FC010B4B0ABCB9EF44046E7443C87A035E4FF44D086C618E7C7E3ADBE2
-404698B4041781DA590D73A58A49B43FCEC92B58D50410B32A75F3FA0F07FEEB
-1BB4540B375082BA01A325F1AB3EB48758AD9968195575CCC2B294E10F8D84F5
-7F49C4B93E7E23965B6CEE228B17D1E569FC53F95A6CF24EBDEDDF61B263C632
-F02DE118F608AD734DE71E321844E30CA564C93008D1B39275C86E03452E87BD
-2CF46FD9ED6D7CB14BAF17916972B08021F5CEB2E85EE91447E4416D379F53D2
-BCD4825B12FF3EDEF9F439F146195F44C20B05C0E79E2F3FADAE612CBBFFCBA5
-07610B525421DA25B5023E851755445BE59AAEBD9E31CEA5E4DAB941907E63F4
-5A855D9896C783C88ACC8AEC447A946371E7F5E77EBA05ACF43F9F702018C5E1
-9EE407FEACF7A8B252EC73B2ACD5105460D430DEE2C3B78C80D81844D804B98B
-30A1BE22B7278FBF24FECF61BA13A4F35A14259BB04BF74D17A7E7B7FA28CC91
-2099DD510B0EBD7394B26ECB33430C94CC4B3EA14374B4B838AEBA14602C876C
-BAF1CE4A9D6B214375AE9E5BBEA54F424C4151D3FF6D442FD287B217C2D53A7D
-5DE74662007FC8B7F8760D774FF93506EF1C2FDDE46788BCA28B9DDBBEC0D8EA
-20EBD944FC83F7ABD0EA77E65D2F1B736206CB5E1D27B1EE8AEB42141406E314
-C2DCA94941F67F5CC0D788F43A3ABFFE4EFC9A825A69955682D36FFA18C7B5A3
-B5D01EE4BB944E9E0F8CA438EAD2B679B02B621BDA36CBAAF6395F158B699130
-E5CFB2512D99A1E8DE1C9B1EE13AD831924410D38F1DE14AA1F7D317A8F2E3E0
-542F59CCE9DA35C4878768885FEF99F21F9E9DD0B99C10A99B5D728CE0A72269
-545AC304C7998EB92BD47C5386AC22D9CD51E6FF45000FBE1F2F09F90EB265A8
-8B2D70B1BC088816F600A29AFD4FCACF313369B08959A6ED478D5874ACAA1B68
-B03B03F4DD7E58E93D92AA0A0BC28A9E9C6762A539494A890C9783D36B86BCD9
-AD173CDE0758F5B20F8292E6A504EF03FDA016763798BFF14410EE4E592F74F9
-9A92C79539206E225CD94ED10689BA313C26455F144DC6CF4B1AC99FF1265672
-89FC495D0B8A49A60266C06C598B7B372CA3694D123F7B05ED102BCDC0A9796A
-D77C4F1D3D20C0F8FDC33D6C6DA3252F1DE65D98501CAC77972C876D1F206339
-3A2931084DB63E40DEADC6E7B1C27DBF88F5BEF7847F72DDB2684FBC0EA0AEE1
-C056A081F0ED0221EF59B0E50DD9B3E10DDEBE07138424009E6AC35F702FD182
-2D1BF5BB42C63B7D68ED3F0234C5299B8ADEDED4E5A3034FBF77430CF4BE91C9
-19F8B1693B30997642103F1170B861EDB14C98A278EF133537A9D188D1282D7E
-B21E424025D52A99BF82E818AB3774485E5CA20116033B6F76D225B6A0350EE9
-1A935126FBE34C4537BEFA6A05209E0B8EC443A306679A8C2A59135421B9FB51
-B5F9867A1EBA3E76EFA33FF01CC61782F00ACE57ABE68C5AFA48D7FCD737EDDD
-84F9B347D390A5A7E1BC307679BB976680D65FF2CCFE31F94B4357757514EC17
-142C398FEACAD6C27F7E781651E5590242EED22529D4B32E159563231F3091F8
-EBB51035A54E09DBC6EDBEBEF8D5B486887C6D7A1B91FC3BE0253A0100688CFD
-285EC3F16070CC2FEE2604E7CF4E962D60946B473BF174DBB3617512C38B9DD4
-31A7C153FCF68BD9E4520C5E3449E00EA0ED7A4AE8BCFEBE6DA65958730B298F
-B50C0ACB145D69FCCB1A533548F122D5CCA2CF1AF421DE5885059FF65FC122A4
-74541E8CB59F977876DE92D679F58401F2083E961D448568EBCEDE7F07CDEDA6
-19904F826E696C34C6CAFC680303670F28FB26EC355087082F3DD7597E7126AA
-68E1F3334F4CD9243AC9051FAD8C76DD61330D89A58DC1E94D738181135CA376
-00BB6658A2F38D4C385C2D0D39797D973A647D2BA79EDBF98EC34EBE0982779D
-612146B6EB1DC13C4BDC92EBEFD46B20FE0D904211BEEDD16EFDBC9E878B1495
-2BF7F5D38679388AE320D5D4A64DA1B32197A28A6B929BABA470EBA78A91A05B
-604B42C95D4BF56B8602C2C1E539E0C49AA936AD9F8C3692F150008D1006EE5A
-EFDF6E4E08782D9A67D1F63067F269C29CF655887D56D4264FEF5A3167EEC777
-C1F722A92E5C5AEAA1A20E9D82E3C99CBB6F1B331A441C5F8825737950A32D13
-8F48B49A783D379C5BE3788106A47F1DF1B49C8526B85D82941F2064732C66FF
-82561D06AD28654187A6F502AC3178C8014D1943E287A2EF30D1497989840832
-A089DC38F5C36361FB506B815224640CBB4CB38C5D56D6970447D13D1E8A7637
-AE112A86DA9B2B0726CFAE85B918BF848816BD7F5BD18E974B38C77734565AE3
-FD487B855D2D65136B39A73FA7B66B4DEB01EAADE01972F5D39FFCFC3765E4E9
-47C1F855F43F49E67D6D9577CE32212096AD99CC00F93C0893F027C5264C4783
-65F434BE3561981A6F71084F39228156080E61A5CF9F8AD165684778BE5D1214
-1D01BC7C7F598BC28C87E6DEF4565D8A63388F93D5529DFB7254409A74CA5C78
-EF4214775FC75D89CB86B88BC6030F718F50F7D66FA9F74AC255681B6ACFA49A
-0074F80A00339A36503478382D32E699C448B9303DF152E77E7573B535FFB40A
-AE424DAC6A9AE56B39CFFE0B0367B5F4F614563DE3B4CA30586318CA250322A6
-681B39CFD58D9E7958AE206C8F2DCE01D899C44CCFA1D198AA44501ACC6B8CFE
-EC811899F75825B49F396EED17D95703CFE367B5BC06617C356E5619F9CD919B
-654DFC2F2ABDDD6360150D8A976058EBE34D113E7475480681AB0A1FF0580BE1
-FC9F7BC36EA193D2164B2EB8D623AC874E83A3A28724FC8EC1B5A9E5ADCE8462
-D4AF1963BA1A9F28932C04FF17AB32747D2416C856F1581BC01794D15B0BB02F
-8BF8CAAB12843316FFE1211F2F595EE6E3AA4488654A16340147ED0B203E3456
-5410A26D8C9F2115E4156BEDE05CA81819FEFAF953B5193A4C3136FB16885F33
-CEE94ED70DB203C109E7D414E9969702D73FBBB31B4D82E3AAC88EA8D6980725
-7B88186C5DEF881E4DC65D44990D5ECF5B8504A3CECF4206E28308AE776244EC
-005297EF7326F01704BD18ABD49E04FD0D7E7E519B1F038DEDBB3185951D66D4
-4BE8D61B18621E12C6B02C411585F53FDD0F68EB0B5F6488A928B5B07EE8CA0A
-94600DE7113D253CDE2C76B3918A56E922A9724E7872C7E290C60E0CF644E3C5
-24EB1E65114E465229057EE787E736A981E1918D8FE798631FD4FE51885A5B65
-C14DE540F379D3C3C0F09DFEF903BBDBF66C563B1C62A573EB0603EBDCFBE84B
-03677AF26C01317E5200D904E305FF3136593C252F8E623B37652A0E484C539C
-A9C812E95CFB0B9824F8EE9F97A4C0C2E935BE89DF8C762937D25A392E01178F
-95F0D1A6AE42D57C9409A96281BC088472F8CEDED2DBA08DA84BF6179C7DACDD
-45F7DFA8D152161310F5B198FE8D4D7009A18799C7757FB47F029BF5F01B913B
-4C66EB2D59689D5CD72BC59E13C7210D57629DE10685B1FA508DC3ED49DEC9A9
-4ED1D318ACB60AA416F6729F0DE5C57A0EC29C4E130B0487DB674BCE6F811BCD
-F07DCFF5EC6B2384636422616E6D657075F5E01F783FB4F3EDC22E9EF3DE5068
-5690EEC6F5278A7BA6E2DAEB8084095B465E2F66E5102435B8A904848B708C59
-4997C66384E433D8349BD5238FFC9D69022345B02BAE6A3DE412892DB69D7B89
-EEE9266625B8EEA74B72EA9287307F64D91556CC94AA1D6CAAFCC6D6156D4F1C
-E3EA366B16666D20599886ABA8734B92776748E5EB53D5B30F6084F7AB201D5E
-716201027D7C0ED2F4966C0ABE9BB774763C7C5045C1A3F72B11069E13117E11
-7CC6885E1E852ECAB4BEB313DAC59534055C45774180E763DCDDDE64DB3DDB11
-50BFBDFE2A4C1D595F0017AF147BB002506089FB5EBC57B74283D5F732770BFD
-58B902E45847FA0022E7B6DB9FE55D07C7BF57A6864A7734844CC534ED9951A1
-22DA3927A2A8140922EE41524F0BCE548DADC047A0489DDBE9CC612336CF5CED
-21130586C0F48CACD6B13F932F76668D4532D3127599AE7037EBA388BF0E4879
-6A1E4CBFAA0022EAC1D44615E450B6F99522F2589D3459AAC8DD9DB8B72BCEDB
-25924053F6809B3D25DA50E29C60E76F1E7F5B5320DAAE8656E939C45D05D983
-BECEBF267FF41F617766E30226972BFAC06D4748DFFFAE2C2D5E0003D4B3F239
-3A7FFA021D9AC4A2B0B62221DE0FD9E3D0EF80A592A2CFDBF306C4946BCDB069
-89584B013936438C89A1B42F77EA19EEF541BF1B130CAFD5D9692E48B0498649
-B1B7D24F131238080A70CD38D4F83CA05611C4741AEDADA722DC233AC6374874
-82ACE403CEDAF685BBA04CD1441394577550715434D80BB574B091934AEB7FCF
-34A38A7C99A8E40A1527C47684FBF8FE6A0F51D1B216DC0863C1C96432199161
-C40213C79B0AD5FAF233A64B2029406DFBC47C8C5255541B6B4F1AF04EEE2D7A
-7B68C47BC7BE7BF018A2B89A392E617A066256F393FA05924C9145D014FD9152
-B986C9E79D60F451878709FF0F3540B7466DC199221386CE348B65C98AFA536A
-33D0B685ADDEAC414A479B3EF27D5988B51FDED72480F6A1A43340DFBFA9DD75
-D55D383121F9E713D8CEAE6AB1B297A1EC2E1196DF48E6C3589E5D0558E9C6CD
-17632CC09EAB03F728BC4C67F7E173D6E9DACD99BA670244FA34CE78BA7807DB
-C4F4BF52526017748E10F1EB223A96C6D76D50F9513FC5807D76103BAA33C2CE
-4F959E6DCE32DD8EFC78F4457A05DDD932D4ACD754959A236DB415821A93D7DF
-DDD91AFD8BDC659B59EB5B84A49BF6535562013BA7112D078FF1B717760C31F1
-A7F75F7FE7831849BBDC507FE875369F49680F54737973B85AA5DE4789623172
-4F09FCE02078234F752BA08CC6520E6051C93DD85D1677B01201D20BFD57AF70
-A0CAD6791D6B466F815468C5EACE0F9B1A0BE397E9695081348F752DC3810683
-272C67809BC5D021A412A7D31E55B42B6CABD4DDA8D917D7418A38505C2C2F57
-C9B9155FEDFAA3017EE7D1C75577E347FBAA585B35C237099C14C9A7ACA5529C
-85AEE0D6E20317A3E6673CDE5E7ED8B4B983DEFE2C73C31BBCDCCB101919A6DC
-FECD12CC142523BAED6F78E28FAB02E804590664DBBD4AA4A6992F02C1E054A6
-0FA53DCEC02036554C89A8BA6BB1CD3121E5388A55600481CF8E0C0952F401D6
-C3EA92D314164FF8E335035081D3C5AB43EEA5462A96EFE50CE071E6C17D1CAF
-E58E244998FD425014E0B0B54B49740E82E0221DE3D863DBABFEB39C3B1AF4EC
-CBA498F2A4CFF965DF4DBC6383F212D5427813CE902BF8E30B0B85320FD502EB
-1B0E606B6A5E263648CD77C9F77B731029DA91B5A8AA22F401D844112C004E24
-83F0AE30D89C5A78F76AF0772D00A1E0BEEEC3E3ED5DD84C90EDF242277963BB
-341049337AC3F33CE02DE93E8F5FF463A788A14E02A522F039FD7D26B0BEFD97
-BE429A0F527D7182EE133C5291FF35C7F269E1EB73575EFF92D9328B39406063
-3A5C0F208ABDAF933DDD2F48A1E8571B418FB32AC6686B4DBB1FEB65D7858678
-296D85EF316648D079375800EC712627B34926CF41C542F491472F5798EA2AAF
-B6A9F5E540202B5F136DCD474D6C662AE3C7F11CB7A40D926E3CCDE38A87ECE9
-657B806688FFCE2B10E27AE03F1E9DAD1207A2A85B3FB70C349E2627F7FE372C
-F3174D8777E4985ABB10F116042460ACE945591284367CC3BB3D312CCB4999B6
-F1BF5FA095E705954523C573ED0F0F10887A149C68CD0A16417DC30561FB66D8
-42CC989C6F694ADBB064BB5E6E57CF11FDBE72381B2399EC7ADEF283A9B0D302
-A1D969F69612A6AB78C6EA08E27A527B11AD2121249F117C7A56843B1E17B0B1
-D1E0DA0DD6CCEA83C63D60F314FA826259C8C2167542D16FF3B46CE34669B38C
-1F1EA068CFD585F1F90AFC2DA5A7C3ED9E08DE1F9926F5DC4E0FC422123185E7
-AB7F6B6C8E1F33CFB724E4B3401541CE133B9F22DDA38D4F23489987C8FED499
-D4456298A9865B4F0B47F21190977DE56A36DD665CFF0B117FC3B697036D25E0
-E2103B98BB3787CEF2908A2797691BC01FBAF3E48850C048A870A866314CCBF0
-F9C1FA776B54B67134242A353514B0726B1EBB53352EDB15886980C6690058C4
-30F9EAF88DA2F1A54408D3836EEA6C5F00B8A5D2AC0063C86F266A2571A7E2AE
-7C866962C0D6E7636F440A3B72F5BF141D73180C1915B757941DCA5D5B7CBA22
-7E841314D6E7303EA9506BE3019D85633B4E87EFCF6D86C36FFD2CF9A0672D8A
-9517FEF736A5093D81544D0C75AFE7894B7D9F65E035EAE63E6B9A205B37FAF7
-4E76CAEFB2CA314FC615563CF3F4D1CCA8154703BCABA0EA88F62229C9ACACDC
-03A56F203E46B94E0A13397C98604821E01F883E2387CCE3FD1A76EA4148CA9E
-68BD8B49D45C39AB0C620CA7D12A86892AC441692A166F51180202F4EC3854B8
-50FAD53B2CEFC495A0393D832FD8786DCD567772E50B23AFC76A54A611BF0708
-7ECFB7488510CFB2C175428F1DE21520C338B48A6F4AC9EA487D4DBC690116F8
-6F896BBC3E4120412AAC07BFAEB390811B0E628793F8DD8C4BEF8B088AF00799
-06A59A9B27A74880B78B8637E50653985212DD45FE677027DF5C40B37465AA83
-3476022E907300C2C72D3A485F5D38F1A7B21C8BE16748BD1702BC49AAEC6E07
-B1BC1727D1DB053625AB8B3945DFA40AFF97A2018DCB532E7E8671A722C20037
-C0C29D6E0E06DEF5E0AF6B987E9D36F97B9EC014A366124918507A2EACC31280
-04C7F840EBB21B0BB11F81987310906055CE5BCCDF7C32880F7E2A0B40660E16
-941DDBE36DE54CDE16DE96BDD88B14688C08AAE4938109B81E8794A83D3A2EB4
-4A0BD8903FA386CC83FF7FE031FCC6F3C99DBD3DD961C713E8B6A395B55E82A6
-4423927FEE493B050C22C86467E39C0E1B341A4BD614860B102CFA6379B767CD
-355EBFA68A663B583F56187B048F80E29238B208F1F062EACE8A2D7DBC83CC80
-218FA484AC546146A6DA52E5C8432255E6F4CBC3DCA58EF0691805817042878E
-F3B77426C0A61E3D07F123DDADEBC0F4D8798ACDCE3106B0E722238AE0B0ACDA
-EFBE54FA5AAE849219E77FD7650105F954DAC187B128DC3DDDFAC7C3494A4644
-A647D090084D52FA14098E35ACA1BB77D98E658773AACB3D7FB0FA688384E32C
-072833618C72F007500BEB9E3FB121E4AF6BAE5493E1F7C105252486AFDD8751
-DD35C516605C354980D1F01307597B7985146464554C49A87E5D6C1E6BEDC1EA
-3F575A376B5BE7EB71548429B8AB2E6FD6A1D5D02B254DAEE84886EFE5EFBEC7
-7BD25B41952FAAE6D91BF1448CEDAD1C5336F06655A9EA3B23A094729DE9FFBC
-51C659427D9AE9F3B5E6BFD4818475E1B32A9F9926AA17D9E4E6D9228C473641
-4B1EAE8C048EDCB5922928A9C8212A808E1D039B8AEB42A0A2CBDABF6383EC04
-011D88EE5ECE841B10ECBA60F37AA1EB1B375C5306D2CCE0BA2855A71955F05C
-5CDF7515AF810EEFC1D9746E80DB8C6D1F1660CE961CAD132F9A194C5A5C331B
-EE6569884A7DED0464C622EF317CB84590236ED09E4A2811494884EB156215B5
-9F71D6FA34C119186C6C8E7BAEB668201C6E0D5A7904E5C03AFBE8B05BACA12F
-ABB1F44A6AD6056EF703AB3A493D96813F4A685ED14953A35F57102DABFCCA77
-0D8CEACDBCF4911AE0A6FB53BDD7463DC5E38A9BEC309A087F718947C99749A5
-E6EC7CEE1B0BF87A7293CD3C778A826BEBC455FCA9D89C56824DC3B5FA1D29BA
-10FA582302106DB094EA752F77981A5F15849F57EBD2BC97D65610D2F9FF2467
-E24CF3B2C054C716F79C50C0C52F097ACD4E959C81A8E3D6DB21F728E19039F7
-5B567634A64F8D416E96E20BC194
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-cleartomark{restore}if
-%%EndFont
-%%BeginFont: LucidaSans-Typewriter
-%!PS-AdobeFont-1.1: LucidaSans-Typewriter 1.006
-%%CreationDate: 1993 Dec 07 10:43:50
-%%RevisionDate: 1998 Aug 11 09:45:12
-% Bigelow & Holmes Inc. Pat. Des. 289,422
-% Lucida is a registered trademark of Bigelow & Holmes Inc.
-11 dict begin
-/FontInfo 9 dict dup begin
-/version (1.006) readonly def
-/Notice (Copyright (c) 1991 Bigelow & Holmes and Y&Y, Inc. http://www.YandY.com All Rights Reserved.) readonly def
-/FullName (Lucida Sans Typewriter) readonly def
-/FamilyName (LucidaSansTypewriter) readonly def
-/Weight (Medium) readonly def
-/ItalicAngle 0 def
-/isFixedPitch true def
-/UnderlinePosition -100 def
-/UnderlineThickness 50 def
-end readonly def
-/FontName /LucidaSans-Typewriter def
-/PaintType 0 def
-/FontType 1 def
-/FontMatrix [0.001 0 0 0.001 0 0] readonly def
-/Encoding StandardEncoding def
-/FontBBox{-12 -205 618 928}readonly def
-currentdict end
-currentfile eexec
-D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
-016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
-9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
-D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
-469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
-2BDBF16FBC7512FAA308A093FE5F093A8DD28A1105B8F1F45E83350E1A28A9FB
-120979EB7214FB22705850743580927667FFE0A7F79B201CE22DE069A46E69CE
-07EF71A03D0719532050C8E023D2D3B0BC64AB04C9048B447134BA084A29DE31
-AA6C3E58684B266860B1428F95F838E5E279C2EE9D6C8BD836B1554C2B17A1FB
-3431BFCD994A9900889B090388203BB5EB869ECD8E5374B724D279E941796B51
-2B9A129F690746109B89666D1C4DC0594C07C7BA3A993BD85F63CDB6911C7173
-D4BC2B5372FE9DF6F902A1AF01F36C4E12A93A5E8E781BCEC47D70E12A13D9DD
-E203E7344655838AB5D9E0332A2F41E29140361904C0103B5C1CC6CD9185F359
-9166A1D59404EE64C441F412802C79896447F0CAFCECBA339A7918DAF195EC11
-5ECA390C6E6BE029A13DCBB49148B21B6675BF9BBC168669BAA4EB9A6C0826DE
-476186CEC9462EB3C1C34F4BD2C3DE28426FE84C3747D3894735856D585C7565
-3493F792593C9F2DF043842CA4B7334F101019DE241FFDAB47BB7AD92208F155
-9E173E7AB4B4B20A31FE1934CA70C680AED8E7621C8AE143CE86C70A831B6811
-D838290481144F47547D034A893A55A70ADD53FFB9184E32504C988DB7B866EF
-D978A8BEF2D95B7284325DA96DC5EC4CDC72BE1FF19A64C20F06ADC0511C2DEE
-D173897B9CC85E2797C5FAC9BABBEEBA98AD92AFB248FA68493462A254182C4D
-74C6015B2E051A6C01EAA64D5BB8AFE4FBAEC50F70C945AAF733C7B0F7166237
-0BF63C246E94023837575D02BEC675BB4B5754D6A9D26140BA17197CD4A6FF4E
-01A45898DD0F2BE9148FD403D181CF3B498F8F696E6146D2E5511ACA11F04D70
-E268F1D4B5DE04B45FD7B2D6290324B1C341427D0A4107DD587499B7A4B09E56
-92F323BC687A2F4EA3B19D7E909D7E57B80AD9F00D0CC3D3B7A1ECFC649A6142
-11EBEBA3D0A82B2003DA541162672A62617B5C7D69D73B3D107D4E9FF30796CA
-DE8F0C39DF8F351E153B539BF8237387D56F9CAEC0D5C3C68A433198010C94B8
-8ABB8D8D08262725A0904BCB5EA7C17A39552A1F26283F54A8AA17D716B28286
-06C553F92C65BC84B42D8361F4F4AAC58F6CA8228F29E7E73BC9CA5E20B1B2C5
-ACB704C5AB8E84B4BB49A972F49D260EF7A5A6763155E7FF5DB75C1A20FC3A54
-B30B97E23CD3030B8255F7C59FCD30333A29536DCB1FFE24A9224B08CF14E591
-7061FEDF22A5CA189508F1C6E52F1D15141F83FFE6AAE18CC0C8944004642195
-78846685909845C2A0B9924D7BC3394593C5B714D11C02CC38D1DD42E3743CD9
-89FF2F781D1E47C6309659B02050118CBD931E99A7EA9CF38D4DC9CEF2618FDD
-A774EBDBE7A95014ED450627C39C2D01215CEDDAE51158AF491169D7FDCAC504
-4E1EB97149F9616B2BE2C332D736A277AD129893E668AB6E56729EBD42E0590F
-3089B1CCB31958BE05D50483317505A8B7891E5023062BFA55918CA493180E5D
-EFCCF303FC7994638F0F14DB3C180F84CFCACA59F16FCEC9F8C1BEAA555F7D56
-544EEFEBF1D3F3CCDC189380F5A35DE65E45B0135F710FE5A044AB0E8D7E3E68
-73CD7F574245CB42154B3241037B8AA1DB2A52AB99BBA392E127C63CD8959D9A
-65EF45AEE10546E33593CB959BFA693C5E3296F653357D5368782DA29016C87D
-70824346621EF420E7F2982C73F8942122D709569A92AFFF54C0ACD377489056
-3561F6EB92307AC314EBA480C184AD8F07CD7C6689E3A8B78AF75972140DA275
-C25E80658F5864CFC3C4B17778DCFC0217DDB3A85A0A284B863AC79188F0E884
-2F590B0085CFCB984961F1CD5EDA44A2417FC94C3F69B34ECA68F8B27F929DA6
-23BD36780349A3383193FA419DB7587DB5F5922047941C76D585FD8A324639A4
-99E137A5A092F17D358DCB42CE0BE35F8144E2002A8954BD5B13DD4572D53EB1
-9881B664DE528A57110A96B88325D8B21EDD46E771AB9D6FAC3A27E55198D0EE
-516FA4D2E555C2E1E24231224B4ACEA3B8CFC9140FFEBDE5DBF52B698D593F36
-4EF5244E5C2ECDB3C7CF828FE728E6F4C99DDCB5BA5FEEA87AAE2B9120E5AA44
-4F64A64A0E6703534E93E08D96B612BF0C2ABE3A90DDEC4DD57D22D23B16F7A8
-243FC9CB2229D5B0142C50820744E06EF35A656F243E44E6D85747365B2ACEC1
-7BC0FF1579B936B58E4DA0E7332E8D2A3403C9C0DBA6785D535BEF2E6F53BA13
-CADA440506513B9DB5F7344BB7D0DF0A1DE792CF53A1F7EA532AA8F26AB1F77B
-FC0AE724678F69DF20A093BBBAD9C03510CF28BF2ACB640167F539509184350E
-C343C85483662486008F30C8136AE86E9BC61E9C1FE4523E7319D0A1459D4AF4
-CA3E25ABEE3FF84898D2AD8C05632CB2DAB23060C8897B8EBAD04E05797C4119
-7F77ECC27DDFB51EC441AD9B81C081229AFD69BF599FC83F56F85621AC7DF5E2
-49AF73118C9823A693F5A90CE04C91F3F45E3A14562065620BE6E77AC7F78950
-20BC2F46A2412DF008F552DEE49A701AE8572A7DD638B5DC7DC5D627FF9D5CC2
-75A64EE8695B96B49130909A70334FBC6C9C897AC8CC1631E2E0F61902132F2D
-ECE8905A29E776978DACE10B6AD982CA4C80F4DC6ED8AABB58003444F93682EE
-2F1FE8AFE0670DF5E4BC47D6A687951B22215259897FA61021ED425F565D92C4
-F614377CF4D5037FA2283AAC577783EE72BCD98BCB05F01560F6DA2A6F087163
-C374A355BDA461F252CB9ED18195F08B051E9EF5AAA28F777E4B38F62EF56EEC
-3EE18494D13A029420CB695539D43C062F396D9CBBD1AA80E2362280A0F91AEC
-3A1E5D5E2FEF17B65265C9A76680CFA3A67D589C574FA31FD4122A54124C19BA
-D8B0AE29EF4B873111C519537C11F8E32A0DE7F1B00C0C5434ABEADCF1323766
-9F1DADA849333F1DDAFCA7FAC202D9355F924C856231FE5DA6FC520202CF4D1D
-F2047A7B2E9AB3BD3FCE1504892B17EF92053C4E7C1E1790D9FC2341291F1139
-A23D6AEEFF1023A3D84E29BFA4D11F5F79BB7E9BCCF3D1B9C0498C448C9D873C
-45060B78BF529CB5F5F4324540C415147AF4EDC20504B77FCA9B275215D6B710
-5A14F6355EE890914DF8EAEFFD592BCAFE306B7401AA39AA61A760448D037AA5
-318C90F8EC19FD29C47B622E863C651A0054BDA26E4A14C0E6DE8DE3FBD5E295
-C59B4F4538075C8BB2347E6619D0FDB77CC23C3DA462621C2348A7C611D6F521
-07D132189931FB8BA438606FA02B732C1649706F5BDFED4AC10C607F4240135E
-AAA9237C12F92559BA3F0D48F2EFEF55B620932D1B397A8F565D1F9145C81348
-7B06D15C33162AC05B9D7D2B7F5115538972801845639CD4B53953B33D1AC75B
-15345DBE9977CD34F786C80D8826B7C68473EEFCC107238DE011B0A08BEB5CDC
-F3472CD3619146BFE3029848E69DD2A3ABFEC7612E15059A6BD6808FDD27FE78
-706C3D705A8D5543DA4787059081A6A585A023EEA94A804E8BFB6DC285BFFC4A
-759B6AADEC57A2E38D6A681D7DFEAE21ABAC15D147F15C61AD76623A26225973
-3B3344B3C18FE43DC600BD480CBA8CAF9126E3612B0389F3618CDC776C1A674F
-AE69FF7C2EF73A5D6EA1F965E0928650FE30A83A15C00091182783623694A93F
-392546669D87BFF1E19531A0A4DA1CE63A550BA4268110A665BA7B4091B85A2C
-F846EE895ED1D2D40F6E0173A1F092DFC8DC7C0D7F506660715142C26D8D8BC8
-7CA02556A50D18B642A4419844D92E160D53481B097B43E196153EAED66E59E2
-575E6EA8817D4A3BEAB6276E21F36104C234C84ADD48BCAF0C16C583431535BC
-379BF175AD135A368144BFFA48618A0B734DD5BCCAB37F9EF75CC006E0CFB735
-84EB71D0ECF2E74C10AD6C6980CDD73AFF6402879FA59D6444D7C57A5AF99BE4
-E19B0AC28C5518130C71CC70E85259C43AFE47F482E880F3D982D02298742764
-01CFA264455E90C789303DB5587BB836EF15909A1BDC9077F70F2BABD919636A
-F8239D454135EFF2B9C4FE20F19AD1CDA32B4C4F709FDA6EB7885C9BFB606366
-6855A5C672AD6C37B3C03E932C5284A0E87C77EF00A6A494F034F6D97DC28D94
-F3F277A02BE0CC2C08EB092D1B42F3AD513A10F8DBA26EEA6E6060E80D52B199
-D3DAE4428BA8B60D429A8080
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-cleartomark
-%%EndFont
-%%BeginFont: LucidaBright-Demi
-%!PS-AdobeFont-1.1: LucidaBright-Demi 1.010
-%%CreationDate: 1993 Aug 11 14:19:39
-%%RevisionDate: 1998 Aug 11 09:45:12
-% Lucida is a registered trademark of Bigelow & Holmes Inc.
-% Bigelow & Holmes Inc. Pat. Des. 289,421
-11 dict begin
-/FontInfo 9 dict dup begin
-/version (1.010) readonly def
-/Notice (Copyright (c) 1991, 1992 Bigelow & Holmes and Y&Y, Inc. http://www.YandY.com All Rights Reserved.) readonly def
-/FullName (Lucida Bright Demibold) readonly def
-/FamilyName (LucidaBright) readonly def
-/Weight (DemiBold) readonly def
-/ItalicAngle 0 def
-/isFixedPitch false def
-/UnderlinePosition -100 def
-/UnderlineThickness 50 def
-end readonly def
-/FontName /LucidaBright-Demi def
-/PaintType 0 def
-/FontType 1 def
-/FontMatrix [0.001 0 0 0.001 0 0] readonly def
-/Encoding StandardEncoding def
-/FontBBox{-287 -205 1122 928}readonly def
-currentdict end
-currentfile eexec
-D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891
-016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171
-9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F
-D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758
-469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8
-2BDBF16FBC7512FAA308A093FE5F093A8DD28A1105B8F1F45E83350E1C85FB4B
-8E0949C46537E67A9D92EE02E5724E15F8F3B3E93C8F35B871FFEA1B4DB0DB19
-B21866F8DFDF2DCFA70C3B351F8279D762826688E0BAA2A93A97B39FD3DC894E
-BE465409060FB4A755BCB74CCF9250ED2CFC57DCF3888B1DF55F1E8FCB6AA441
-B3006FB7A4CE515E6EE633C9C492186870A0935E897EA3CB3F072F9B78FD4BF0
-A8D1466FA5EA1CB4D188F300EC0C49B3F67B0B7F39290107FE36BD36A6DC32B9
-E774FDD17523E7AEDA9B664CC8FFC808F3450F244B6D2ED304C838A9CD353F30
-11BB4F0EE55209B464ACBB3501EE7348661D12C5846573444207293BB2B16730
-719E5CAE448461186329331A717AF04574C8F1D8F3F26C2B575B6C182E390E00
-8817A70D21F5DA3ADB0EEAA86FD793068922723A28DC27060F79E34533749F85
-AB9F381CBB865FB8A641BBBD0924B947734C73FD7AC576C17638941885EE92BF
-3C0D2B8F5374F36FA27FF568D6DF65D2DD3FC9D67268B6551AB2E4EA58BE1E93
-E6E016233E7D4E8D54A47418CF91DE34178FDC9666D9EFC7D0E1E7FBF2742CDD
-ECBE888F47B4C192212D8E1E058A2DC36A19A900C20BCDC50E8712A8ED3E6D23
-CEC6F81C987F54CE4F7174F6C4D80055F87B980427CA2095E2D236055D8D4F24
-A5AF8C162D8C5D0918889614FEB7A2D51EE4BDB9E6E9840FE2D8A1F8B975B64B
-76766095B00B3BBB75DBEE08A7E5877208A658006E6AD382239E2AAB88824048
-5B0A6E4018FB03C530C2DB257C42BDF8F4324B6D4F8117D51896E73ADCF88131
-996F6B19CB8FEFCBC7FC09F9FDB1F478E3990DF27DDD98272660643BA5293F09
-EA311F49295304D67B63178154B496940A35962879E04DC0D6283698A574592C
-951B42EA7469609F072D384661B2F06F856541DAF493CECD10A54A3281F18C95
-43719F90217B8FADECBD0A0255ABDEB555EE5EA7AD4D7782A8387E49B8F4641A
-F333A71119C04E7C670E03482CC063B75149A74D1489DFD974588112D4CB6303
-89A4F601F288DC3A55C75248E4DB744F6E0C54E83C14066C3443BB3AD6DC4CF0
-05D393672AF65F0D015C86E975DA613B1A7BF337DA8B9939021638949FB0039D
-A5F622FC4100B2ED4E790A79B996D7C775A472FC1F39ABD4BDEA1D5AD143A5E8
-6CB8B7FFA77448B48C85E46121067F55360E3E2A83100A7477F0591A23CFC73E
-FC3F8B29E27BED418F2926E3496E3DD9C4C65867FE27A3706B63E838D767065B
-E62A4C6637A0FCB6836AAAC07E50D024D45A9A51D740B3A96E7AB386AB4E1154
-350DFD382B371DA1EBCC42F52683F8F49270A5065C793517EE94E6FDB094D882
-E2C716E592FB4DAB538C280A8164E79E8841E7080BFEE466A1D97C63750404EC
-5E3A3F07070905E0622558353F91315BFDCEEA44345BB1F938A561CDF4FDB94A
-ECC50946E35C24843A7B62D21FC003739276995E30218C8E845A418D697A3875
-96180740D0CEB6C5B14CFFDBC5AE92C777114569740FBB5BED1DE0646F56F9C7
-FD6AABBE605A4785AEDB5A295F77C7F3597665D53F539E269F431CBC87F668E9
-9B42621C2C212F7FBC125CD7E22B34A5E2E9064C6443F42ABD28940932FEFDDD
-1A0EB7BB9A900DEBB6211CE3C17EE39CBDF02CC4DB937D6D65EDCEC72E05BE70
-6BE6BBF540B73C9268FBB2ECDC51608951A6720E2C11C10F3C61A201262D85E0
-479B51BAE5B57A30844CDFEA6506CD5686D98B39AB7430B63CF0AA378B53F687
-F703558DAE23665B1FD2DADF6013E01082F9D8123A4AC2F36BE4210E0AB3B21F
-2EAA800EBFA9C86AD6D937F0C76DA62C7C44A8456C90D18E5663632646CC97FD
-BFBB1AC537877E4FB07EEE6EEF5803B850BE68193F5E23E31CACB91A692CCB05
-2937052B6DAB8C02FBBFAE92983B396478CDA35BC3F1E4B5686D6A10AC0E8CF0
-DEA7DA19881B7402A86FC94651A5F857CA4C4A88CC3673E1CBDA35F3E0A293F6
-B321287A6CE2DB2F6ECBA45FABD9550C187F17A987C761F8B61F42CFA8CB1A4F
-90D21ED4DC9E5CC0512C9C3F7AE1A3858110044549CF53648510388D1BE1DE71
-BB00FD82A0B7EA1F6B653685213207D10B85D19D578718D637AD0BA43F25AA0D
-EB5235E70EF63788154D9A74857C7730449E1984B04EDAE8B1EE0DE1E4EF7BE1
-3D95DD16C898748C1D026197BF5DE48A607A46D2B8EC4CE738C2135F89745E15
-A6815F9DCCBB0341A60D255609C293876FC0CF3CAF1CD0400E4AE09D44DD72DA
-7D50680F1D903957F2FDF4A84F96CD019F9C02775BE06FE300093652D986941C
-7B1B9FC7BED14BB903EC66BE875F2FED6D8C0C6CA0657270010ED6BE2A5A1B55
-19E85D2EE252D3F04655CBFDA4566BC870528C4FD8940971FEA8DF73B718FB94
-45722C3B50DCB437DF6E518BF765B66B1E674E79A8D053D902A94AD5A3EE7570
-03F14EFEEDC96845A7D73A8C48CCA72DFF86EEEAB106ACAB24B88CAB8036938B
-55DA649EC8E5B332A532423F9E1F4E57C6F2EAE2E28DA245CF5A9E7909D36114
-DD6004726643092F42A67EE784C1AC964AC3DBA158DBF8F477F6E757E1AF2574
-1872DC4238FA1C1B8059EB4B11BB65CEA4CBF519CD4D1EA7DD7F08DEC1B25535
-99AB9825918728B868B3AA59D66F52396DC8366EF0658444A03E10EDAABDE7CA
-00B18B226FB7B22C78454297C7BB3F5BCBF2412175AA1C4FDF7E79C70FB1214D
-6A9C084BAE2DFA603DE0BEC4EA38F08B3A9CBD30E81B98B528A087DFA19EF923
-237465D8696CF8F5BAF6DA8989774ACFD442A06B9BFFA4D0C10F163838C2BF01
-30E8EA2AB8F95AB54E2C062C7546A3227931C1FE2C22D41AE7EF9365E29ECCAC
-34C2711A70D9C4921940795D7BC356146971EB2CCB636B4D512028B138AC87CA
-21015749FEE7BCBAE79E96A3B25B6EA6B32AA0CB3C522EAFDCB5EC4D3518092C
-3329DDA6019F58908E9C3813BE1EFEDD7A9E9862D01F7BB852E308B42F72B5A2
-CD4DF2A05ABF7CDE6977DB56950FAB75D47F9EDFD5644F56D09DDA5F61F93969
-978E007A8FC7FED44A4E85D27691E651E981FE647D03707515460A6A9760A39E
-4D26EC05ED435B5742B9BBE1B00B630C49BE768178462BA6C8E1E0030D9B08E4
-D94ED908816740A02EEB4F43290E43D895488B80D5D4B0EC2502DF618406C788
-D458FD6E3BB082203B6250D255E3550CAB2937EB8912FA88CB9B7EEEEED5AD05
-206BD9533D607EFD797CC41B64C6E2273CBBEBBF8FA50F2523F5AD2499F49174
-1C203BD16325744724512D4F2BC2618DD3F109D9C52AAEDA5EE9E4AB406DC1F2
-015A90C5DC9DF127E900F604D5A22DDD6FED2ECC93CE5396EDB54D49987E6094
-24E48CC4691B4B422C873ABC84A4F5900D98811EF530D3A23F8E8F30E0BD5A1E
-2C6F3EC2243BFECF17867643B0227A66C525C0A3842B6FB5466B158636F5AF7C
-0340EAC929330C4C37C4E6A8B1A2C66CA1D91578D4FEB5DFCD1564E483B4CB34
-D8EE38B95D2F4FB183433141A02993E1E795C5EC45DC68CEC9DC4133FBBBEC2F
-D3E050C82C60D87E85B67B8E8F59A14395AA88975D64961D40E9BA2EF074FB60
-3D188643B8CEBDDF4C3B30D674A1AEB6C8C3E0B256135CC77B3A4CDC0A1E9F19
-1300C3FFB4672D49F46405FA7B1743A48B6B055CBEA3ACFE3470FAF423F7F609
-CBD6B8D13C6575DFA932C6C2E33A3CA1E6F468A97B008AAFBFBE7F59D33746FF
-FC8B7A641617CAEF381F98A64077C74D0A750615E657159D60D27EFDD672359F
-ACAF24C997895E85DA91A46E2C2A93FC5BE6587C65454BC3200CFE3BFE4E6703
-D8885066337A1C325FFFE0DFA71606F619099305ABDA093EBB1FEDB040C5A57F
-55DC3762A4FA0718BBE91EC9B75AF8CF4DA692A2F3C608DE81EA453AEC156768
-A95035AA131552247AD8D85DBA90F7CAE0476D1BBDD76CEB8D1EF7402976457B
-0816F9F4E2955E9254DF57372F057ECD00EE79B05F8EAE210F0E3319A0EBF1CD
-7B6CDE6FFDE272592990EC2CEC4A54F18CFB2DE2E347BB274369FB86A36F4E47
-0082DEA5D88D4F05D023081F678CFE58E7D9AFF5343BF2A456C42FD15EF7899F
-1B2DE6186C5F08DAF34F5EAE33FD7097CED52050007FFB75CC78DFD646A8DAD3
-508F9BF37A8BDF68425A881A239D203CCC7640C505C32438B21BFECABC304B25
-BE59939BEB9CC5A8F3F8AA5A18B2A8C1E8EF9FCBAFF5CF80B7458E4EC14E9C6E
-78C9EBE8FEA91B5C95AE0EC12A0F552C48C519B5BE339877DCF7697BCFB86ED5
-76C66E6A6DD54F4C7DAA5834443D63B2F1DB15F6EE40544BB4A0187EA177F934
-F930B7239828D849D12B8C973435C3DDAA8FCB41B1F9EADC6BC71F9E8C6648B8
-59D6D91E295A36E58D2E17C703B754699983F371F605BFC462EFD8A7079538A5
-63A00B1E3DEE28B7287861800F9CECEFC39919927337E9ECACA8D7D9829B2591
-D8B6754F7A02C6715587CEC78FD539ACB8A9EB92DF6B4F55321F31A914B8808E
-6DC0C43C7C18CA5AEA0E71142522022F51862EDA124274B375B4631F8E32D8E4
-FD799590D4ED552209C80F5C59EB3F9EDD58EA2C18CDB0A90323013932ABAA9A
-D8C95D1DCDC6704F26D995F20B2F2CB111E2023A4F5522CFE857699A4123733E
-B3BFE28D3324575C95E27F4B0484A504C16EFA8357EB6C414CE5875128361B40
-0C0F175A2D16AE1FF8DFC7FD672CC0E8B07D5327A084F9BC0CABE0598A9C3DD7
-1A23F408D23839C9B46B3217BE6F20452106B9BFB35DB0DB657D0C0F463C0DD7
-8D62E30396D1CBF5149219C4058E0DD6F6E1CDCE7D8742502490DC51084B4610
-D578B52B7B382FE9052A9F0555C9EB64ADF49118B7CF472FE10D04343E0C4853
-E720286B6F14AF5BE28FD1672FF0D4D8F7267DF57DC25AFAEA9603BFB4A339F8
-A6194C93F304A4F9876741D0406E95B7FD97DD5F0AC41AE3629E73376D2F261E
-1B954283552E4BE25A727B74C96DB2C59145192010D323B1F56E4DF96E778914
-C8C4B20D9A15DB9B6E55D41463CD63689382AD45D837013501D46BA94B3F63FD
-0DEE315187EEAFBF661F20F5A2442ABA5CBF6935D8640B9BF636AA116AAAF266
-34BA0762789E2317B7D5CDCF42F9B15878414EC5EF166A28EF47556ABED44624
-79C435F19F515251ED6F25CFF52848ACD7A2AC757440BAE2B2115ADC297679EB
-67EF99585457C8078A708ED35AEB86C15730BF3A7AAA4229AD4EE31DB46E232C
-239405078097D02AB9A1FB97EE6D6F2500498B9CCD8A87DD759A6E34281ECDAF
-03734790C3F6323EA7E3AB0A4695249E89B7DB7E3A6BD87914A5341B2172C116
-3F97187141F671DE835DE1378576DE25A0424EEAEAB30528C4352DF96840E3EF
-8D111B7C1355CA7C01BC6E96FC7781DDA4FA11D2246EE4505C8EE0D8AC6BE84D
-D8AEEA27B133227E9BCE7CBD112C8592B57BB913EF8FCD54366DD5CCC3019E46
-3CD6ACA285B846A46DF25C7DB1284A344130194379F4337A437F91569758E0D7
-5F79D6153ACB451C8DAFEAA357B8AF8F1722CBC5DCCBECEC5B1CF3CC81D6F153
-DBA3B35D5A55E149C1F9048C0BEE5853B5FDF77CF3041D26706A750A2B5150B3
-72728B82EB0AA9DC21A4265EFB0164794AA7B4DDEFC9441D57E9231CC57F0654
-A83F5F8969F1949ADAAE297140C3E59D0E975E6DB23560E9B9B5671FD8666C4B
-878D898D38E34BECFC49C52E85A66D0F6197FF037B9F8420165210CE849337FB
-AD86B5C4E461E54E2F46625B99B942269FB8152FC5B83E606E150102EDCD1264
-6DE7D701997C93BC5DD8CB90D6D2CB99013894AF6730184B7FD52274D77CE6FD
-27F168A18C760721D551AD127BA78F97EBA581E132537C660630BA9A5E88BC8F
-3A09C83DB706A9C6991B1BDF819934B221375B29460C5C9B1E8D26F7B4DAD37A
-B4145854461DBF7F1B33E22C24DE1810BB9421049C54FEBE01002DB9ECAB218A
-46AE61F223ADA791441580F70A7ACC31B3D4BB832F703F70F37AE1DE21FCAA0E
-559D346B48BD079EE0444039269A8B0EF29F611B66866465D98E7868E218BADA
-39FB04FFDC5378514A552D2ED6806D9C0CEEC67D9EC3A5B288575522B5B8DED1
-52BCBA9C275F5DC2956325BC0BAEC3D55EFB11B4F6F23184C9073A3D424B4798
-CC3D7EA0D06E14E4E02E59C176A53EC7E8AA66A78B3E723673F6188806D65A31
-CF67C6A5630267A7476A6154FF59666072150C2E7CE801590E697FB3F683805F
-BEF78422057AC1C94F05AA5BECB9AF69B9C1B9757BD631983747B985AD3D4A39
-753505BAD1C6721584BA0D2F6F0F04672A9BBFBA5C7EF4DB44267D7BA0EC0871
-80B72061CEF1D21F3B1986D3C5706158C11E0CC785B7383D902896B2F3A2FCDA
-A2017A2323F2BFB06C80035743E4FE19A4B070B9D3894F432425D1EFE33E6112
-B9B7E66E16971E73EA04A387885B602CC8FFD866DB3CC1E5492F176EA0D2E90E
-011AE6438C4B5A540D6CC434D550CDA2641B9F5C850C08FD9FAC9CF43BAED59E
-6DC927C793826DEF390F626E5FD6C154359A41FF90E4ACFC
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-cleartomark
-%%EndFont
-TeXDict begin 40258437 52099154 1000 600 600 (wieesgeht.dvi)
-@start /Fa 135[38 3[27 1[30 2[41 43 64 21 41 1[21 43
-39 1[36 44 1[42 37 16[39 6[22 6[41 21[18 2[21 21 40[{}21
-67.9953 /LucidaBrightCE rf /Fb 139[45 45 45 1[45 45 5[45
-45 45 3[45 12[45 2[45 2[45 6[45 2[45 1[45 68[{
-TeXBase1Encoding ReEncodeFont}15 74.7193 /LucidaSans-Typewriter
-rf /Fc 27[41 105[45 41 3[47 29 38 33 1[48 45 47 71 23
-45 1[23 47 43 30 40 48 1[46 41 6[47 1[49 1[52 1[50 40
-2[43 2[64 1[53 1[24 58 1[41 42 57 52 46 56 13[45 1[45
-2[20 24 20 2[24 24 40[{}44 74.7193 /LucidaBrightCE rf
-/Fd 141[41 1[57 54 1[85 28 2[28 2[36 49 57 11[62 3[63
-14[53 1[62 21[25 45[{TeXBase1Encoding ReEncodeFont}14
-87.6717 /LucidaBright-Demi rf /Fe 190[43 65[{
-TeXBase1Encoding ReEncodeFont}1 54.6286 /LucidaBright-Demi
-rf /Ff 135[45 2[49 29 7[24 6[42 12[52 3[53 2[61 4[44
-6[45 69[{TeXBase1Encoding ReEncodeFont}10 74.7193 /LucidaBright-Demi
-rf end
-%%EndProlog
-%%BeginSetup
-%%Feature: *Resolution 600dpi
-TeXDict begin
- end
-%%EndSetup
-TeXDict begin 1 0 bop 0 0 0 1 TeXcolorcmyk Black 0 0 0 1
-TeXcolorcmyk 1677 577 a
- tx@Dict begin tx@NodeDict begin {10.79294 6.21198 91.44824 45.72412
-2.29048 } false /N@A 16 {InitRnode } NewNode end end
- 1677 577 a 32 w @beginspecial
-@setspecial
- tx@Dict begin STP newpath 0.8 SLW TeXDict begin XC@black end 0.4
-true 3.8 neg 6.21198 neg 87.64824 10.79294 .5 Frame gsave 3.0 -45.
-PtoC Shadow 0 0 0 0.4 setcmykcolor gsave fill grestore stroke grestore
-gsave 0 0.1656 0.584 0.116 setcmykcolor gsave fill grestore stroke
-grestore gsave 0 0.1656 0.584 0.116 setcmykcolor 1. .setopacityalpha
- fill grestore gsave 0.8 SLW TeXDict begin XC@black end 1. .setopacityalpha
- 0 setlinecap stroke grestore end
-
-@endspecial 74 w Ff(L)1800 564 y Fe(A)1832
-577 y Ff(T)1873 597 y(E)1909 577 y(X)23 b(Quelltext)1594
-935 y
- tx@Dict begin tx@NodeDict begin {13.80516 8.4301 111.32481 55.6624
-2.68753 } false /N@B 16 {InitRnode } NewNode end end
- 1594 935 a 47 w @beginspecial @setspecial
- tx@Dict begin STP newpath 2.6 SLW TeXDict begin XC@black end 0.
-true 5.6 neg 8.4301 neg 105.72481 13.80516 .5 Frame gsave 3.0 -45.
-PtoC Shadow 0 0 0 0.4 setcmykcolor gsave fill grestore stroke grestore
-gsave 0 0 0.3 0 setcmykcolor gsave fill grestore stroke grestore gsave
-0 0 0.3 0 setcmykcolor 1. .setopacityalpha fill grestore gsave
-2.6 SLW TeXDict begin XC@black end 1. .setopacityalpha 0 setlinecap
-stroke grestore gsave 1.0 SLW TeXDict begin XC@white end stroke grestore
- end
-
-@endspecial
-45 w Fd(pdfT)1884 958 y(E)1927 935 y(X-Compiler)875 2684
-y
- tx@Dict begin gsave STV newpath 0.8 SLW TeXDict begin XC@black end
- /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4
-1.4 1.5 2. 1. .setopacityalpha Arrow EndArrow } def /NCLW CLW
-def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@A /N@B InitNC { NCLine
- } if end gsave 0.8 SLW TeXDict begin XC@black end 1. .setopacityalpha
- 0 setlinecap stroke grestore grestore end
- 875 2684 a 2794 700 a
- tx@Dict begin tx@NodeDict begin {18.61697 12.98303 78.42354 39.21176
-2.81697 } false /N@C 16 {InitRnode } NewNode end end
- 2794 700 a 32 w @beginspecial
-@setspecial
- tx@Dict begin STP newpath 0.8 SLW TeXDict begin XC@black end 0.4
-true 3.8 neg 12.98303 neg 74.62354 18.61697 .5 Frame gsave 3.0 -45.
-PtoC Shadow 0 0 0 0.4 setcmykcolor gsave fill grestore stroke grestore
-gsave 0 0.0621 0.219 0.0435 setcmykcolor gsave fill grestore stroke
-grestore gsave 0 0.0621 0.219 0.0435 setcmykcolor 1. .setopacityalpha
- fill grestore gsave 0.8 SLW TeXDict begin XC@black end 1. .setopacityalpha
- 0 setlinecap stroke grestore end
-
-@endspecial 2875 646 a Fc(Klassendatei)2875
-746 y(Zusatzpakete)875 2684 y
- tx@Dict begin gsave STV newpath 0.8 SLW TeXDict begin XC@black end
- /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4
-1.4 1.5 2. 1. .setopacityalpha Arrow EndArrow } def /NCLW CLW
-def tx@NodeDict begin 0.0 -5.0 neg 0.0 0.0 0 0 /N@C /N@B InitNC { tx@Dict
-begin /Lineto /lineto load def false 0 setlinejoin pop end /AngleA
--90. def /AngleB 0. def /ArmA 10.0 def /ArmB 10.0 def /ArmTypeA 0 def
-/ArmTypeB 0 def NCAngle } if end gsave 0.8 SLW TeXDict begin XC@black
-end 1. .setopacityalpha 0 setlinecap stroke grestore grestore
-end
- 875 2684 a 567 700 a
- tx@Dict begin tx@NodeDict begin {18.61697 12.98303 102.87631 51.43816
-2.81697 } false /N@D 16 {InitRnode } NewNode end end
- 567
-700 a 31 w @beginspecial @setspecial
- tx@Dict begin STP newpath 0.8 SLW TeXDict begin XC@black end 0.4
-true 3.8 neg 12.98303 neg 99.07631 18.61697 .5 Frame gsave 3.0 -45.
-PtoC Shadow 0 0 0 0.4 setcmykcolor gsave fill grestore stroke grestore
-gsave 0 0.0621 0.219 0.0435 setcmykcolor gsave fill grestore stroke
-grestore gsave 0 0.0621 0.219 0.0435 setcmykcolor 1. .setopacityalpha
- fill grestore gsave 0.8 SLW TeXDict begin XC@black end 1. .setopacityalpha
- 0 setlinecap stroke grestore end
-
-@endspecial 648
-646 a Fc(bin\344re)e(Formatdatei)648 746 y(Fonts)i(\(Metriken\))875
-2684 y
- tx@Dict begin gsave STV newpath 0.8 SLW TeXDict begin XC@black end
- /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4
-1.4 1.5 2. 1. .setopacityalpha Arrow EndArrow } def /NCLW CLW
-def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@D /N@B InitNC { tx@Dict
-begin /Lineto /lineto load def false 0 setlinejoin pop end /AngleA
--90. def /AngleB 180. def /ArmA 10.0 def /ArmB 10.0 def /ArmTypeA 0
-def /ArmTypeB 0 def NCAngle } if end gsave 0.8 SLW TeXDict begin
-XC@black end 1. .setopacityalpha 0 setlinecap stroke grestore
-grestore end
- 875 2684 a 1480 1283 a
- tx@Dict begin tx@NodeDict begin {15.8 11.8 53.63864 26.81932 2.0 }
-false /N@E 16 {InitRnode } NewNode end end
- 1480 1283 a 31 w @beginspecial
-@setspecial
- tx@Dict begin STP newpath 0.8 SLW TeXDict begin XC@black end 0.4
-true 3.8 neg 11.8 neg 49.83864 15.8 .5 Frame gsave 3.0 -45. PtoC Shadow
-0 0 0 0.4 setcmykcolor gsave fill grestore stroke grestore gsave 0
-0 0.3 0 setcmykcolor gsave fill grestore stroke grestore gsave 0 0
-0.3 0 setcmykcolor 1. .setopacityalpha fill grestore gsave 0.8
-SLW TeXDict begin XC@black end 1. .setopacityalpha 0 setlinecap
-stroke grestore end
-
-@endspecial 17 w Fb(DVI)p Fc(-Datei)875
-2684 y
- tx@Dict begin gsave STV newpath 0.8 SLW TeXDict begin XC@black end
- /ArrowA { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. 1. .setopacityalpha
- Arrow EndArrow moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict
-begin 0.0 42.8 neg 0.0 0.0 0 0 /N@E /N@B InitNC { tx@Dict begin /Lineto
-/lineto load def false 0 setlinejoin pop end /AngleA 90. def /AngleB
--90. def /ArmA 10.0 def /ArmB 10.0 def /ArmTypeA 0 def /ArmTypeB 0
-def NCAngle } if end gsave 0.8 SLW TeXDict begin XC@black end 1.
-.setopacityalpha 0 setlinecap stroke grestore grestore end
- 875 2684 a 2320 1283 a
- tx@Dict begin tx@NodeDict begin {15.8 11.8 64.47456 32.23727 2.0 }
-false /N@F 16 {InitRnode } NewNode end end
- 2320 1283 a 32 w @beginspecial
-@setspecial
- tx@Dict begin STP newpath 0.8 SLW TeXDict begin XC@black end 0.4
-true 3.8 neg 11.8 neg 60.67456 15.8 .5 Frame gsave 3.0 -45. PtoC Shadow
-0 0 0 0.4 setcmykcolor gsave fill grestore stroke grestore gsave 0
-0 0.3 0 setcmykcolor gsave fill grestore stroke grestore gsave 0 0
-0.3 0 setcmykcolor 1. .setopacityalpha fill grestore gsave 0.8
-SLW TeXDict begin XC@black end 1. .setopacityalpha 0 setlinecap
-stroke grestore end
-
-@endspecial 17 w Fc(Hilfsdateien)875 2684
-y @beginspecial @setspecial
- tx@Dict begin STP newpath 0.8 SLW TeXDict begin XC@black end /ArrowA
-{ moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5
-2. 1. .setopacityalpha Arrow EndArrow } def [ 184.94283 184.08928
-184.94283 202.01465 /Lineto /lineto load def false 0 setlinejoin
-Line gsave 0.8 SLW TeXDict begin XC@black end 1. .setopacityalpha
- 0 setlinecap stroke grestore end
-
-@endspecial 875 2684 a
- tx@Dict begin gsave STV newpath 0.8 SLW TeXDict begin XC@black end
- /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4
-1.4 1.5 2. 1. .setopacityalpha Arrow EndArrow } def /NCLW CLW
-def tx@NodeDict begin -20.0 5.0 neg 0.0 0.0 0 0 /N@F /N@B InitNC {
-tx@Dict begin /Lineto /lineto load def false 0 setlinejoin pop end
-/AngleA 90. def /AngleB 0. def /ArmA 10.0 def /ArmB 10.0 def /ArmTypeA
-0 def /ArmTypeB 0 def NCAngle } if end gsave 0.8 SLW TeXDict begin
-XC@black end 1. .setopacityalpha 0 setlinecap stroke grestore
-grestore end
- 875
-2684 a 2951 1286 a
- tx@Dict begin tx@NodeDict begin {16.36348 11.8 97.46252 48.73126 2.28174
-} false /N@G 16 {InitRnode } NewNode end end
- 2951 1286 a 32 w @beginspecial @setspecial
- tx@Dict begin STP newpath 0.8 SLW TeXDict begin XC@black end 0.
-true 3.8 neg 11.8 neg 93.66252 16.36348 .5 Frame gsave 3.0 -45. PtoC
-Shadow 0 0 0 0.4 setcmykcolor gsave fill grestore stroke grestore
-gsave 0 0.1242 0.438 0.087 setcmykcolor gsave fill grestore stroke
-grestore gsave 0 0.1242 0.438 0.087 setcmykcolor 1. .setopacityalpha
- fill grestore gsave 0.8 SLW TeXDict begin XC@black end 1. .setopacityalpha
- 0 setlinecap stroke grestore end
-
-
-@endspecial 3033 1245 a Fa(externe)d(Programme)3033
-1320 y(\(Index,Bibliothek\))875 2684 y
- tx@Dict begin gsave STV newpath 0.8 SLW TeXDict begin XC@black end
- /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4
-1.4 1.5 2. 1. .setopacityalpha Arrow EndArrow } def /NCLW CLW
-def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@F /N@G InitNC { tx@Dict
-begin /Lineto /lineto load def false 0 setlinejoin pop end /AngleA
--90. def /AngleB 0. def /ArmA 12.80363 def /ArmB 10.0 def /ArmTypeA
-0 def /ArmTypeB 0 def /AngleB -90. def NCBar } if end gsave 0.8 SLW
-TeXDict begin XC@black end 1. .setopacityalpha 0 setlinecap stroke
- grestore grestore end
- 875 2684 a 875
-2684 a
- tx@Dict begin gsave STV newpath 0.8 SLW TeXDict begin XC@black end
- /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4
-1.4 1.5 2. 1. .setopacityalpha Arrow EndArrow } def /NCLW CLW
-def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@G /N@B InitNC { tx@Dict
-begin /Lineto /lineto load def false 0 setlinejoin pop end /AngleA
-90. def /AngleB 0. def /ArmA 10.0 def /ArmB 10.0 def /ArmTypeA 0 def
-/ArmTypeB 0 def NCAngle } if end gsave 0.8 SLW TeXDict begin XC@black
-end 1. .setopacityalpha 0 setlinecap stroke grestore grestore
-end
- 875 2684 a 1460 1643 a
- tx@Dict begin tx@NodeDict begin {10.84695 5.62248 58.46756 29.23378
-2.61223 } false /N@H 16 {InitRnode } NewNode end end
- 1460 1643 a 31 w @beginspecial
-@setspecial
- tx@Dict begin STP newpath 0.8 SLW TeXDict begin XC@black end 0.
-true 3.8 neg 5.62248 neg 54.66756 10.84695 .5 Frame gsave 3.0 -45.
-PtoC Shadow 0 0 0 0.4 setcmykcolor gsave fill grestore stroke grestore
-gsave 0 0.1656 0.584 0.116 setcmykcolor gsave fill grestore stroke
-grestore gsave 0 0.1656 0.584 0.116 setcmykcolor 1. .setopacityalpha
- fill grestore gsave 0.8 SLW TeXDict begin XC@black end 1. .setopacityalpha
- 0 setlinecap stroke grestore end
-
-@endspecial Fb(DVI)p Fc(-Treiber)875 2684
-y
- tx@Dict begin gsave STV newpath 0.8 SLW TeXDict begin XC@black end
- /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4
-1.4 1.5 2. 1. .setopacityalpha Arrow EndArrow } def /NCLW CLW
-def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@E /N@H InitNC { NCLine
- } if end gsave 0.8 SLW TeXDict begin XC@black end 1. .setopacityalpha
- 0 setlinecap stroke grestore grestore end
- 875 2684 a 532 1704 a
- tx@Dict begin tx@NodeDict begin {18.61697 12.98303 82.72548 41.36273
-2.81697 } false /N@I 16 {InitRnode } NewNode end end
- 532 1704 a 32 w @beginspecial
-@setspecial
- tx@Dict begin STP newpath 0.8 SLW TeXDict begin XC@black end 0.4
-true 3.8 neg 12.98303 neg 78.92548 18.61697 .5 Frame gsave 3.0 -45.
-PtoC Shadow 0 0 0 0.4 setcmykcolor gsave fill grestore stroke grestore
-gsave 0 0.0621 0.219 0.0435 setcmykcolor gsave fill grestore stroke
-grestore gsave 0 0.0621 0.219 0.0435 setcmykcolor 1. .setopacityalpha
- fill grestore gsave 0.8 SLW TeXDict begin XC@black end 1. .setopacityalpha
- 0 setlinecap stroke grestore end
-
-@endspecial 613 1650 a Fc(Fonts)j(\(Type1,)613
-1750 y(Type3,Bitmap\))875 2684 y
- tx@Dict begin gsave STV newpath 0.8 SLW TeXDict begin XC@black end
- /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4
-1.4 1.5 2. 1. .setopacityalpha Arrow EndArrow } def /NCLW CLW
-def tx@NodeDict begin 2.56073 0.0 neg 0.0 0.0 0 0 /N@I /N@H InitNC
-{ NCLine } if end gsave 0.8 SLW TeXDict begin XC@black end 1. .setopacityalpha
- 0 setlinecap stroke grestore grestore end
- 875 2684 a @beginspecial
-@setspecial
- tx@Dict begin STP newpath 0.8 SLW TeXDict begin XC@black end /ArrowA
-{ moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5
-2. 1. .setopacityalpha Arrow EndArrow } def [ 156.49008 113.81097
-38.41138 113.81097 /Lineto /lineto load def false 0 setlinejoin
-Line gsave 0.8 SLW TeXDict begin XC@black end 1. .setopacityalpha
- 0 setlinecap stroke grestore end
-
-@endspecial 1502 2701 a
- tx@Dict begin tx@NodeDict begin {15.8 11.8 48.22069 24.11034 2.0 }
-false /N@J 16 {InitRnode } NewNode end end
- 1502 2701 a 32 w
-@beginspecial @setspecial
- tx@Dict begin STP newpath 0.8 SLW TeXDict begin XC@black end 0.4
-true 3.8 neg 11.8 neg 44.42068 15.8 .5 Frame gsave 3.0 -45. PtoC Shadow
-0 0 0 0.4 setcmykcolor gsave fill grestore stroke grestore gsave 0
-0 0.3 0 setcmykcolor gsave fill grestore stroke grestore gsave 0 0
-0.3 0 setcmykcolor 1. .setopacityalpha fill grestore gsave 0.8
-SLW TeXDict begin XC@black end 1. .setopacityalpha 0 setlinecap
-stroke grestore end
-
-@endspecial 16 w Fb(PS)p Fc(-Datei)875
-2684 y
- tx@Dict begin gsave STV newpath 0.8 SLW TeXDict begin XC@black end
- /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4
-1.4 1.5 2. 1. .setopacityalpha Arrow EndArrow } def /NCLW CLW
-def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@H /N@J InitNC { NCLine
- } if end gsave 0.8 SLW TeXDict begin XC@black end 1. .setopacityalpha
- 0 setlinecap stroke grestore grestore end
- 875 2684 a @beginspecial @setspecial
- tx@Dict begin STP newpath 0.8 SLW TeXDict begin XC@black end /DS
-2.0 2. CLW mul add 2 div def /PSTricksDotFont 0. [1.0 0.0 0.0 1.0 0.0
-0.0] FontDot /Dot { moveto gsave 1. 1. scale (b) show grestore }
-bind def 99.5846 85.35823 Dot end
-
-@endspecial
-875 2684 a
- tx@Dict begin tx@NodeDict begin {99.5846 85.35823 } false /N@J 10
-{InitPnode } NewNode end end
- 875 2684 a 951 2350 a
- tx@Dict begin tx@NodeDict begin {10.60394 5.62248 67.1975 33.59874
-2.49072 } false /N@J1 16 {InitRnode } NewNode end end
- 951 2350 a 31 w @beginspecial
-@setspecial
- tx@Dict begin STP newpath 0.8 SLW TeXDict begin XC@black end 0.
-true 3.8 neg 5.62248 neg 63.39749 10.60394 .5 Frame gsave 3.0 -45.
-PtoC Shadow 0 0 0 0.4 setcmykcolor gsave fill grestore stroke grestore
-gsave 0 0.1656 0.584 0.116 setcmykcolor gsave fill grestore stroke
-grestore gsave 0 0.1656 0.584 0.116 setcmykcolor 1. .setopacityalpha
- fill grestore gsave 0.8 SLW TeXDict begin XC@black end 1. .setopacityalpha
- 0 setlinecap stroke grestore end
-
-@endspecial Fb(ghostscript)875 2684 y
- tx@Dict begin gsave STV newpath 0.8 SLW TeXDict begin XC@black end
- /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4
-1.4 1.5 2. 1. .setopacityalpha Arrow EndArrow } def /NCLW CLW
-def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@J /N@J1 InitNC { tx@Dict
-begin /Lineto /lineto load def false 0 setlinejoin pop end /AngleA
-180. def /AngleB 90. def /ArmA 10.0 def /ArmB 10.0 def /ArmTypeA 0
-def /ArmTypeB 0 def NCAngle } if end gsave 0.8 SLW TeXDict begin
-XC@black end 1. .setopacityalpha 0 setlinecap stroke grestore
-grestore end
- 875
-2684 a 1007 2701 a
- tx@Dict begin tx@NodeDict begin {15.8 11.8 53.63864 26.81932 2.0 }
-false /N@J2 16 {InitRnode } NewNode end end
- 1007 2701 a 32 w @beginspecial @setspecial
- tx@Dict begin STP newpath 0.8 SLW TeXDict begin XC@black end 0.4
-true 3.8 neg 11.8 neg 49.83864 15.8 .5 Frame gsave 3.0 -45. PtoC Shadow
-0 0 0 0.4 setcmykcolor gsave fill grestore stroke grestore gsave 0
-0 0.3 0 setcmykcolor gsave fill grestore stroke grestore gsave 0 0
-0.3 0 setcmykcolor 1. .setopacityalpha fill grestore gsave 0.8
-SLW TeXDict begin XC@black end 1. .setopacityalpha 0 setlinecap
-stroke grestore end
-
-
-@endspecial 16 w Fb(PDF)p Fc(-Datei)875 2684 y
- tx@Dict begin gsave STV newpath 0.8 SLW TeXDict begin XC@black end
- /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4
-1.4 1.5 2. 1. .setopacityalpha Arrow EndArrow } def /NCLW CLW
-def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@J1 /N@J2 InitNC {
-NCLine } if end gsave 0.8 SLW TeXDict begin XC@black end 1. .setopacityalpha
- 0 setlinecap stroke grestore grestore end
- 875 2684
-a 1952 2701 a
- tx@Dict begin tx@NodeDict begin {15.8 11.8 53.63864 26.81932 2.0 }
-false /N@K 16 {InitRnode } NewNode end end
- 1952 2701 a 32 w @beginspecial @setspecial
- tx@Dict begin STP newpath 0.8 SLW TeXDict begin XC@black end 0.4
-true 3.8 neg 11.8 neg 49.83864 15.8 .5 Frame gsave 3.0 -45. PtoC Shadow
-0 0 0 0.4 setcmykcolor gsave fill grestore stroke grestore gsave 0
-0 0.3 0 setcmykcolor gsave fill grestore stroke grestore gsave 0 0
-0.3 0 setcmykcolor 1. .setopacityalpha fill grestore gsave 0.8
-SLW TeXDict begin XC@black end 1. .setopacityalpha 0 setlinecap
-stroke grestore end
-
-
-@endspecial 16 w Fb(PDF)p Fc(-Datei)875 2684 y
- tx@Dict begin gsave STV newpath 0.8 SLW TeXDict begin XC@black end
- /ArrowA { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. 1. .setopacityalpha
- Arrow EndArrow moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict
-begin 0.0 -14.22636 neg 0.0 0.0 0 0 /N@K /N@B InitNC { tx@Dict begin
-/Lineto /lineto load def false 0 setlinejoin pop end /AngleA 90. def
-/AngleB -90. def /ArmA 10.0 def /ArmB 10.0 def /ArmTypeA 0 def /ArmTypeB
-0 def NCAngle } if end gsave 0.8 SLW TeXDict begin XC@black end
-1. .setopacityalpha 0 setlinecap stroke grestore grestore end
- 875 2684
-a 2473 2152 a Fc(Der)g(Aufbau)f(eines)g(T)3163 2172 y(E)3195
-2152 y(X-Systems)g(mit)2648 2252 y(pdfT)2812 2271 y(E)2845
-2252 y(X)g(als)h(Compiler,)f(der)g(eine)2792 2351 y(Ausgabe)f(im)h
-(PDF-)h(oder)g(im)2516 2451 y(treiberunabh\344ngigen)e(DVI-Format)3446
-2551 y(erlaubt.)p 0 0 0 1 TeXcolorcmyk 0 0 0 1 TeXcolorcmyk
-eop end
-%%Trailer
-
-userdict /end-hook known{end-hook}if
-%%EOF