diff options
Diffstat (limited to 'Master/texmf-dist/doc/latex/skak/tuggame.ps')
-rw-r--r-- | Master/texmf-dist/doc/latex/skak/tuggame.ps | 7558 |
1 files changed, 0 insertions, 7558 deletions
diff --git a/Master/texmf-dist/doc/latex/skak/tuggame.ps b/Master/texmf-dist/doc/latex/skak/tuggame.ps deleted file mode 100644 index 1aa0c8d7026..00000000000 --- a/Master/texmf-dist/doc/latex/skak/tuggame.ps +++ /dev/null @@ -1,7558 +0,0 @@ -%!PS-Adobe-2.0 -%%Creator: dvips(k) 5.991 Copyright 2011 Radical Eye Software -%%Title: tuggame.dvi -%%CreationDate: Thu Jul 18 23:26:36 2013 -%%Pages: 2 -%%PageOrder: Ascend -%%BoundingBox: 0 0 596 842 -%%DocumentFonts: CMR17 CMTT12 CMR12 CMSS10 SkakNew-Diagram CMR10 -%%+ SkakNew-Figurine CMBX10 SkakNew-Figurine-Bold CMR5 CMSY10 CMTI10 -%%+ SFRM1000 -%%DocumentPaperSizes: a4 -%%EndComments -%DVIPSWebPage: (www.radicaleye.com) -%DVIPSCommandLine: dvips -o tuggame.ps tuggame.dvi -%DVIPSParameters: dpi=600 -%DVIPSSource: TeX output 2013.07.18:2326 -%%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 -/dir 0 def/dyy{/dir 0 def}B/dyt{/dir 1 def}B/dty{/dir 2 def}B/dtt{/dir 3 -def}B/p{dir 2 eq{-90 rotate show 90 rotate}{dir 3 eq{-90 rotate show 90 -rotate}{show}ifelse}ifelse}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 647 2012-02-12 15:03:40Z herbert $ -% -%% PostScript prologue for pstricks.tex. -%% Version 1.12, 2012/02/12 -%% -%% 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 % -% -/DashLine { - dup 0 gt - { /a .5 def PathLength exch div } - { pop /a 1 def PathLength } ifelse - /b ED % pattern should fit evenly in b - dup /X ED % pattern array - 0 get /y ED % length of first black segment - /z 0 X {add} forall def % length of the full pattern - %% Computation of the scaling factor as described by van Zandt: - 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 - %%%% scaling factor on stack. - /z ED %% now, z is the scaling factor - false % for the length test below - X { z mul } forall X astore %% modification TN 04-08-07 - %%% Checking whether at least one dash in X has positive length: - {0 gt or} forall - { X 1 a sub y mul } - { [ 1 0 ] 0 } - ifelse - setdash stroke -} def -% -/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 -% -/SymbolLine { % on stack [ x y x y ... - counttomark % number of elements - 2 div cvi /n ED % n pairs - /YA ED /XA ED % the start point - n 1 sub { - /YB ED /XB ED - /XLength XB XA sub def - /YLength YB YA sub def - /PAngle YLength XLength Atan def - /XYLength XLength YLength Pyth def - - %% for negative SymStep we calculate the distance - SymStep 0 lt - { %XYLength SymStep div abs cvi - /nSym SymStep abs cvi def } - { /nSym XYLength SymStep div cvi def } - ifelse - 0.5 setflat - /Shift Symbol stringwidth pop 2 div def - /deltaX XLength nSym div def - /deltaY YLength nSym div def - curveticks - { XA YA moveto } - { XA Shift sub YA Shift sub moveto } - ifelse - nSym { - gsave - curveticks - { PAngle 180 sub CorrAngle sub tickAngle add /rotAngle ED - currentpoint translate rotAngle rotate - 0 SymbolWidth 2 div moveto 0 SymbolWidth 2 div neg lineto - SymbolLinewidth setlinewidth stroke - } - { - rotateSymbol { PAngle 180 sub CorrAngle sub rotate } if - Symbol show - } - ifelse - grestore - deltaX deltaY rmoveto - } repeat - /YA YB def /XA XB def - } repeat - curveticks - { XA YA moveto } - { XA Shift sub YA Shift sub moveto } - ifelse - gsave - curveticks - { PAngle 180 sub CorrAngle sub tickAngle add /rotAngle ED - XA YA translate rotAngle rotate - 0 SymbolWidth 2 div moveto 0 SymbolWidth 2 div neg lineto - SymbolLinewidth setlinewidth stroke - } - { - rotateSymbol { PAngle 180 sub CorrAngle sub rotate } if - Symbol show - } - ifelse - grestore - pop % delete the mark symbol -} 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 -% -/DotFill {% on stack: dot radius - /dotRadius 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 % llx lly urx ury of smallest bounding box - /y2 ED /x2 ED /y1 ED /x1 ED - y2 y1 sub a div 2 add cvi /Ny ED - x2 x1 sub a div 2 add cvi /Nx ED - clip - newpath - /yA y1 dotRadius add CLW add def - /xA0 x1 dotRadius add CLW add def - Ny { - /xA xA0 def - Nx { - newpath - xA yA dotRadius 0 360 arc - SolidDot { gsave fill grestore } if - stroke - xA a add /xA ED - } repeat - yA a add /yA ED - } repeat - grestore -} 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 -% -/TruchetFill { % on stack: scaling factor - 10 dict begin - 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 - /ma a neg def - /ha a 2 div def - /mha ha neg def - /tile { - rand dup 2 idiv 2 mul eq { 90 rotate } if - mha mha moveto ha mha lineto - ha ha lineto mha ha lineto -% closepath .1 setlinewidth stroke - contents - } def - /contents{ - 0 ha moveto ha 0 lineto - 0 mha moveto mha 0 lineto -% 1 setlinewidth stroke - } def - /dotiling { - f ma mul a f a mul { - /i exch def - f ma mul a f a mul { - /j exch def - gsave i j translate - tile stroke grestore - } for - } for - } def -% - /f 3 def - 5 srand dotiling - end % local user dict -} def -% -/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 % outer or inner dimen - /b ED % the color definition - 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 { % holds the coordinates and on top of stack the showpoints boolean - /showpoints ED - counttomark 2 div dup cvi /n ED % n 2 div on stack - n eq not { exch pop } if % even numbers of points? delete one - ] aload /Points ED - showpoints not { Points aload pop } if -% { ] aload /Points ED } -% { n 2 mul 1 add -1 roll pop } ifelse % delete the mark symbol -} 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 -% -/LineToYAxis { - /Ox ED % Save the x origin value - NArray % all x-y pairs on stack - n { 2 copy moveto % go to current point - Ox exch Lineto % line to y-axis - pop % delete old x-value - } repeat -} def -% -/LineToXAxis{ - /Oy ED % Save the y origin value - NArray % all x-y pairs on stack - n 0 eq not - { n 1 eq { 0 0 /n 2 def } if - ArrowA - /n n 2 sub def - CP 2 copy moveto pop Oy Lineto - n { 2 copy moveto pop Oy Lineto } repeat - CP - 4 2 roll - ArrowB - 2 copy moveto pop Oy - 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 -% -/SymbolPolygon { % on stack [ x y x y ... - counttomark % number of elements - 2 add /m ED - 2 copy m 2 roll % copy last two - m 2 div cvi /n ED % n pairs - /YA ED /XA ED % the start point - n 1 sub { - /YB ED /XB ED - /XLength XB XA sub def - /YLength YB YA sub def - /PAngle YLength XLength Atan def - /XYLength XLength YLength Pyth def - /nSym XYLength SymStep Div cvi def - /Shift Symbol stringwidth pop 2 Div def - /deltaX XLength nSym Div def - /deltaY YLength nSym Div def - XA Shift sub YA Shift sub moveto - nSym { - gsave rotateSymbol { PAngle 180 sub CorrAngle sub rotate } if - Symbol show - grestore - deltaX deltaY rmoveto - } repeat -% XB Shift sub YB Shift sub moveto Symbol show - /YA YB def /XA XB def - } repeat - pop % delete the mark symbol -} 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 -% -/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 -% -/CurvePath { - %% for negative SymStep we calculate the distance - SymStep 0 lt { gsave PathLength SymStep div abs /SymStep ED grestore } if - 0.5 setflat - flattenpath /z 0 def /z0 0 def - { /y1 ED /x1 ED /y2 y1 def /x2 x1 def - x1 Shift sub y1 Shift sub moveto - gsave - curveticks - { x1 y1 translate startAngle rotate - 0 SymbolWidth 2 div moveto 0 SymbolWidth 2 div neg lineto - SymbolLinewidth setlinewidth stroke - } - { startAngle rotate Symbol show } - ifelse - grestore /z0 z def } - { /y ED /x ED PathLength@ z z0 sub SymStep ge { - x Shift sub y Shift sub moveto - gsave - curveticks - { y yOld sub x xOld sub Atan 180 sub CorrAngle sub /rotAngle ED - x y translate rotAngle rotate - 0 SymbolWidth 2 div moveto 0 SymbolWidth 2 div neg lineto - SymbolLinewidth setlinewidth stroke - } - { - rotateSymbol { y yOld sub x xOld sub Atan 180 sub CorrAngle sub rotate } if - Symbol show - } - ifelse - grestore /z0 z def } if - /yOld y def /xOld x def } - {} %% the lineto part - { /y y2 def /x x2 def PathLength@ - x Shift sub y Shift sub moveto - gsave - curveticks - { y yOld sub x xOld sub Atan 180 sub /rotAngle ED - x y translate rotAngle rotate - 0 SymbolWidth 2 div moveto 0 SymbolWidth 2 div neg lineto - SymbolLinewidth setlinewidth stroke - } - { - x Shift sub y Shift sub moveto - rotateSymbol { y yOld sub x xOld sub Atan 180 sub CorrAngle sub rotate } if - Symbol show - } - ifelse - grestore - } - pathforall -% curveticks -% { gsave -% x y translate rotAngle rotate -% 0 SymbolWidth 2 div moveto 0 SymbolWidth 2 div neg lineto -% SymbolLinewidth setlinewidth stroke grestore -% } if - z -} def -% -/OpenSymbolCurve { - OpenCurve - 0.1 setflat - /Shift Symbol stringwidth pop 2 div def - CurvePath -} 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 -% -/AltOpenSymbolCurve { - AltCurve - 0.1 setflat - /Shift Symbol stringwidth pop 2 div def - CurvePath -} 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 -% -/ClosedSymbolCurve { - ClosedCurve - 0.1 setflat - /Shift Symbol stringwidth pop 2 div def - CurvePath -} 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 -% -/OpenSymbolBezier { - OpenBezier - 0.1 setflat - /Shift Symbol stringwidth pop 2 div def - CurvePath -} 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 -% -/ClosedSymbolBezier { - /f ED % save showpoints value - 2 copy /yEnd ED /xEnd ED - counttomark -2 roll 2 copy /yStart ED /xStart ED - counttomark 2 roll - f - ClosedBezier - 0.1 setflat - /Shift Symbol stringwidth pop 2 div def - CurvePath - [ xEnd yEnd xStart yStart SymbolLine -} 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 % psk@gridlabels in pt - /c ED % { \pst@usecolor\psgridlabelcolor } - /n ED % psk@griddots - cvi dup 1 lt { pop 1 } if - /s ED % \psk@subgriddiv - s div dup 0 eq { pop 1 } if - /dy ED s div dup 0 eq { pop 1 } if % \pst@number\psyunit abs - /dx ED dy div round dy mul % \pst@number\psxunit abs - /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 { - /rotAngle ED - /mtrx CM def - T - rotAngle rotate - 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 -% -%%%%%%%%%%%%%%%%% tools %%%%%%%%%%%%%%%%%%%%%%%%% -%%%%% ### bubblesort ### -%% syntax : array bubblesort --> array2 trie par ordre croissant -%% code de Bill Casselman -%% http://www.math.ubc.ca/people/faculty/cass/graphics/text/www/ -/bubblesort { -4 dict begin - /a exch def - /n a length 1 sub def - n 0 gt { - % at this point only the n+1 items in the bottom of a remain to - % the sorted largest item in that blocks is to be moved up into - % position n - n { - 0 1 n 1 sub { - /i exch def - a i get a i 1 add get gt { - % if a[i] > a[i+1] swap a[i] and a[i+1] - a i 1 add - a i get - a i a i 1 add get - % set new a[i] = old a[i+1] - put - % set new a[i+1] = old a[i] - put - } if - } for - /n n 1 sub def - } repeat - } if - a -end -} def -% -% -/concatstringarray{ % [(a) (b) ... (z)] --> (ab...z) 20100422 - 0 1 index { length add } forall - string - 0 3 2 roll - { 3 copy putinterval length add }forall - pop -} bind def -% -/dot2comma {% on stack a string (...) - 2 dict begin - /Output exch def - 0 1 Output length 1 sub { - /Index exch def - Output Index get 46 eq { Output Index 44 put } if - } for - Output - end -} def -% -end -%-----------------------------------------------------------------------------% -% -% END pstricks.pro - -%%EndProcSet -%%BeginProcSet: pst-algparser.pro 0 0 -% $Id: pst-algparser.pro 594 2011-10-31 18:13:18Z herbert $ -%% -%% PostScript prologue for PSTricks algorithm parser -%% Version 0.04, 2011/10/21 -%% -%% 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.13 -% -% 09/2011 DR factorial with ! added -% -% E->T|E+T -% T->FS|T*FS -% FS -> F | +FS | -FS -% F->P|F^SF|P! -% 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|P! -%% STR index -/AnalyzeFactor { - AnalyzePreHook AnalyzePower IsEndingFactor - { dup 0 ne { 32 eq { NextNonBlankChar } if } { pop } ifelse } - { { dup 33 eq%% is there a ! DR 09/2011 - { pop 1 add NextNonBlankChar pop EvalFactorial } - { RollOp 1 add NextNonBlankChar pop AnalyzePower PreEvalHook EvalPower } - ifelse - 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 -/EvalFactorial {% DR 09/2011 - /ExpressionVector ExpressionVector aload length - /fact 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 -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% No derivative for factorial ! only cst => null derivative -/EvalFactorial {% DR 09/2011 - 4 index (0) eq - { (0) mark 8 -2 roll cleartomark 2 index 7 index dup 4 index exch sub getinterval exch 6 2 roll } - { DERIVATIVE_ENGINE_ERROR_no_variable_in_factorial } ifelse -} 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 - { DERIVATIVE_ENGINE_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_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 { DERIVATIVE_ENGINE_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 -/! { Fact } bind def -end -% -% END pst-algparser.pro - -%%EndProcSet -%%BeginProcSet: pst-tools.pro 0 0 -% $Id: pst-tools.pro 622 2012-01-01 15:36:14Z herbert $ -% -%% PostScript tools prologue for pstricks.tex. -%% Version 0.02, 2012/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. -% -% -/Pi2 1.57079632679489661925640 def -/factorial { % n on stack, returns n! - dup 0 eq { 1 }{ - dup 1 gt { dup 1 sub factorial mul } if } - ifelse } def -% -/MoverN { % m n on stack, returns the binomial coefficient m over n - 2 dict begin - /n exch def /m exch def - n 0 eq { 1 }{ - m n eq { 1 }{ - m factorial n factorial m n sub factorial mul div } ifelse } ifelse - end -} def -% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% subroutines for complex numbers, given as an array [a b] -% which is a+bi = Real+i Imag -% -/cxadd { % [a1 b1] [a2 b2] = [a1+a2 b1+b2] - dup 0 get % [a1 b1] [a2 b2] a2 - 3 -1 roll % [a2 b2] a2 [a1 b1] - dup 0 get % [a2 b2] a2 [a1 b1] a1 - 3 -1 roll % [a2 b2] [a1 b1] a1 a2 - add % [a2 b2] [a1 b1] a1+a2 - 3 1 roll % a1+a2 [a2 b2] [a1 b1] - 1 get % a1+a2 [a2 b2] b1 - exch 1 get % a1+a2 b1 b2 - add 2 array astore -} def -% -/cxneg { % [a b] - dup 1 get % [a b] b - exch 0 get % b a - neg exch neg % -a -b - 2 array astore -} def -% -/cxsub { cxneg cxadd } def % same as negative addition -% -% [a1 b1][a2 b2] = [a1a2-b1b2 a1b2+b1a2] = [a3 b3] -/cxmul { % [a1 b1] [a2 b2] - dup 0 get % [a1 b1] [a2 b2] a2 - exch 1 get % [a1 b1] a2 b2 - 3 -1 roll % a2 b2 [a1 b1] - dup 0 get % a2 b2 [a1 b1] a1 - exch 1 get % a2 b2 a1 b1 - dup % a2 b2 a1 b1 b1 - 5 -1 roll dup % b2 a1 b1 b1 a2 a2 - 3 1 roll mul % b2 a1 b1 a2 b1a2 - 5 -2 roll dup % b1 a2 b1a2 b2 a1 a1 - 3 -1 roll dup % b1 a2 b1a2 a1 a1 b2 b2 - 3 1 roll mul % b1 a2 b1a2 a1 b2 a1b2 - 4 -1 roll add % b1 a2 a1 b2 b3 - 4 2 roll mul % b1 b2 b3 a1a2 - 4 2 roll mul sub % b3 a3 - exch 2 array astore -} def -% -% [a b]^2 = [a^2-b^2 2ab] = [a2 b2] -/cxsqr { % [a b] square root - dup 0 get exch 1 get % a b - dup dup mul % a b b^2 - 3 -1 roll % b b^2 a - dup dup mul % b b^2 a a^2 - 3 -1 roll sub % b a a2 - 3 1 roll mul 2 mul % a2 b2 - 2 array astore -} def -% -/cxsqrt { % [a b] -% dup cxnorm sqrt /r exch def -% cxarg 2 div RadtoDeg dup cos r mul exch sin r mul cxmake2 - cxlog % log[a b] - 2 cxrdiv % log[a b]/2 - aload pop exch % b a - 2.781 exch exp % b exp(a) - exch cxconv exch % [Re +iIm] exp(a) - cxrmul % -} def -% -/cxarg { % [a b] - aload pop % a b - exch atan % arctan b/a - DegtoRad % arg(z)=atan(b/a) -} def -% -% log[a b] = [a^2-b^2 2ab] = [a2 b2] -/cxlog { % [a b] - dup % [a b][a b] - cxnorm % [a b] |z| - log % [a b] log|z| - exch % log|z|[a b] - cxarg % log|z| Theta - cxmake2 % [log|z| Theta] -} def -% -% square of magnitude of complex number -/cxnorm2 { % [a b] - dup 0 get exch 1 get % a b - dup mul % a b^2 - exch dup mul add % a^2+b^2 -} def -% -/cxnorm { % [a b] - cxnorm2 sqrt -} def -% -/cxconj { % conjugent complex - dup 0 get exch 1 get % a b - neg 2 array astore % [a -b] -} def -% -/cxre { 0 get } def % real value -/cxim { 1 get } def % imag value -% -% 1/[a b] = ([a -b]/(a^2+b^2) -/cxrecip { % [a b] - dup cxnorm2 exch % n2 [a b] - dup 0 get exch 1 get % n2 a b - 3 -1 roll % a b n2 - dup % a b n2 n2 - 4 -1 roll exch div % b n2 a/n2 - 3 1 roll div % a/n2 b/n2 - neg 2 array astore -} def -% -/cxmake1 { 0 2 array astore } def % make a complex number, real given -/cxmake2 { 2 array astore } def % dito, both given -% -/cxdiv { cxrecip cxmul } def -% -% multiplikation by a real number -/cxrmul { % [a b] r - exch aload pop % r a b - 3 -1 roll dup % a b r r - 3 1 roll mul % a r b*r - 3 1 roll mul % b*r a*r - exch 2 array astore % [a*r b*r] -} def -% -% division by a real number -/cxrdiv { % [a b] r - 1 exch div % [a b] 1/r - cxrmul -} def -% -% exp(i theta) = cos(theta)+i sin(theta) polar<->cartesian -/cxconv { % theta - RadtoDeg dup sin exch cos cxmake2 -} def - -%%%%% ### bubblesort ### -%% syntax : array bubblesort --> array2 trie par ordre croissant -%% code de Bill Casselman -%% http://www.math.ubc.ca/people/faculty/cass/graphics/text/www/ -/bubblesort { % on stack must be an array [ ... ] -4 dict begin - /a exch def - /n a length 1 sub def - n 0 gt { - % at this point only the n+1 items in the bottom of a remain to - % the sorted largest item in that blocks is to be moved up into - % position n - n { - 0 1 n 1 sub { - /i exch def - a i get a i 1 add get gt { - % if a[i] > a[i+1] swap a[i] and a[i+1] - a i 1 add - a i get - a i a i 1 add get - % set new a[i] = old a[i+1] - put - % set new a[i+1] = old a[i] - put - } if - } for - /n n 1 sub def - } repeat - } if - a % return the sorted array -end -} def -% -/concatstringarray{ % [(a) (b) ... (z)] --> (ab...z) 20100422 - 0 1 index { length add } forall - string - 0 3 2 roll - { 3 copy putinterval length add }forall - pop -} bind def -% -/dot2comma {% on stack a string (...) - 2 dict begin - /Output exch def - 0 1 Output length 1 sub { - /Index exch def - Output Index get 46 eq { Output Index 44 put } if - } for - Output - end -} def -% -%-----------------------------------------------------------------------------% -% END pst-tools.pro - -%%EndProcSet -%%BeginProcSet: pst-dots.pro 0 0 -% $Id: pst-dots.pro 130 2009-08-27 08:55:03Z herbert $ -% -%% PostScript prologue for pstricks.tex. -%% Version 2.02, 2009/06/16 -%% -%% 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 % changed to next line 20060616 hv - /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 { - 550 dup 22.5 tan mul dup neg dup add /xMove exch def - exch moveto 7 { xMove 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: pst-node.pro 0 0 -% $Id: pst-node.pro 645 2012-02-12 09:09:51Z herbert $ -%% -%% PostScript prologue for pst-node.tex. -%% Version 1.13, 2011/11/21. -%% -%% 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 - /CP /currentpoint load def -end -/NewNode { % on stack: { x y } boolean N@name type InitXnode - gsave - NodeScale % a bugfix for xelatex, it's empty for dvips - /next exch def % { 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 { - /lineAngle ED - GetEdgeA GetEdgeB GetArmA GetArmB mark - lineAngle abs 0 gt { - /xTemp xA2 10 add def - /yTemp yA2 lineAngle dup sin exch cos div 10 mul add def - /dY1 yTemp yA2 sub def - /dX1 xTemp xA2 sub def - /dY2 yB2 yB1 sub def - /dX2 xB2 xB1 sub def - dX1 abs 0.01 lt { - /m2 dY2 dX2 div def - /xB2 xA2 def - /yB2 xA2 xB1 sub m2 mul yB1 add def - }{ - dX2 abs 0.01 lt { - /m1 dY1 dX1 div def - /xB2 xB1 def - /yB2 xB1 xA2 sub m1 mul yA2 add def - }{% - /m1 dY1 dX1 div def - /m2 dY2 dX2 div def - /xB2 m1 xA2 mul m2 xB1 mul sub yA2 sub yB1 add m1 m2 sub div def - /yB2 xB2 xA2 sub m1 mul yA2 add def - } ifelse - } ifelse - } if - 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 -% -% 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 { - /lineAngle ED - GetEdgeA GetArmA - lineAngle abs 0 gt - { lineAngle } - { yB yA2 sub xB xA2 sub Atan 180 add } ifelse - /AngleB ED - GetEdgeB mark - lineAngle abs 0 gt { - /dY2 yA2 yA1 sub def - /dX2 xA2 xA1 sub def - lineAngle abs 90 eq { - /m2 dY2 dX2 div def - /yA2 xB xA2 sub m2 mul yA2 add def - /xA2 xB def - }{ - /m1 lineAngle dup sin exch cos div def % tan alpha - dX2 abs 0.01 lt { - /yA2 xA1 xB sub m1 mul yB add def - /xA2 xA1 def - }{% - /m2 dY2 dX2 div def - /xA2 m1 xB mul m2 xA2 mul sub yA2 add yB sub m1 m2 sub div def - /yA2 xA2 xB sub m1 mul yB add def - } ifelse - } ifelse - } if - 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 -% -% 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: cm-super-ts1.enc 0 0 -% This file is generated from `TS1uni.map' and `glyphlist.txt', `gl-other.txt' -/TS1Encoding [ -% 0x00 -/Grave -/Acute -/Circumflex % ? -/Tilde % ? -/Dieresis -/Hungarumlaut -/Ring % ? -/Caron -/Breve % ? -/Macron -/Dotaccent % ? -/cedilla -/ogonek -/quotesinglbase.ts1 -/.notdef -/.notdef -% 0x10 -/.notdef -/.notdef -/quotedblbase.ts1 -/.notdef -/.notdef -/twelveudash % ? -/threequartersemdash -/afii61664.cap % ? -/arrowleft -/arrowright -/tieaccentlowercase % ? -/tieaccentcapital % ? -/tieaccentlowercase.new % ? -/tieaccentcapital.new % ? -/.notdef -/afii61664.asc % ? -% 0x20 -/uni2422 -/.notdef -/.notdef -/.notdef -/dollar -/.notdef -/.notdef -/quotesingle -/.notdef -/.notdef -/asteriskmath -/.notdef -/comma -/hyphendbl % ? -/period -/fraction -% 0x30 -/zerooldstyle -/oneoldstyle -/twooldstyle -/threeoldstyle -/fouroldstyle -/fiveoldstyle -/sixoldstyle -/sevenoldstyle -/eightoldstyle -/nineoldstyle -/.notdef -/.notdef -/angleleft -/minus -/angleright -/.notdef -% 0x40 -/.notdef -/.notdef -/.notdef -/.notdef -/.notdef -/.notdef -/.notdef -/.notdef -/.notdef -/.notdef -/.notdef -/.notdef -/.notdef -/uni2127 -/.notdef -/circle -% 0x50 -/.notdef -/.notdef -/.notdef -/.notdef -/.notdef -/.notdef -/.notdef -/Omega -/.notdef -/.notdef -/.notdef -/uni301A -/.notdef -/uni301B -/arrowup -/arrowdown -% 0x60 -/grave.ts1 -/.notdef -/born % ? -/divorced % ? -/died % ? -/.notdef -/.notdef -/.notdef -/.notdef -/.notdef -/.notdef -/.notdef -/leaf % ? -/married % ? -/musicalnote -/.notdef -% 0x70 -/.notdef -/.notdef -/.notdef -/.notdef -/.notdef -/.notdef -/.notdef -/.notdef -/.notdef -/.notdef -/.notdef -/.notdef -/.notdef -/.notdef -/tildelow % ? -/hyphendbl.alt % ? -% 0x80 -/breve.ts1 -/caron.ts1 -/hungarumlaut.ts1 -/dblgrave.ts1 -/dagger -/daggerdbl -/uni2016 -/perthousand -/bullet -/uni2103 -/dollaroldstyle -/centoldstyle -/florin -/colonmonetary -/uni20A9 -/uni20A6 -% 0x90 -/guarani % ? -/peso % ? -/lira -/recipe % ? -/uni203D -/gnaborretni % ? -/dong -/trademark -/uni2031 -/paragraph.alt % ? -/uni0E3F -/afii61352 -/discount % ? -/estimated -/openbullet -/uni2120 -% 0xA0 -/uni2045 -/uni2046 -/cent -/sterling -/currency -/yen -/brokenbar -/section -/dieresis.ts1 -/copyright -/ordfeminine -/copyleft % ? -/logicalnot -/uni2117 -/registered -/macron.ts1 -% 0xB0 -/degree -/plusminus -/twosuperior -/threesuperior -/acute.ts1 -/mu -/paragraph -/periodcentered -/uni203B -/onesuperior -/ordmasculine -/radical -/onequarter -/onehalf -/threequarters -/Euro % or /Euro.alt -% 0xC0 -/.notdef -/.notdef -/.notdef -/.notdef -/.notdef -/.notdef -/.notdef -/.notdef -/.notdef -/.notdef -/.notdef -/.notdef -/.notdef -/.notdef -/.notdef -/.notdef -% 0xD0 -/.notdef -/.notdef -/.notdef -/.notdef -/.notdef -/.notdef -/multiply -/.notdef -/.notdef -/.notdef -/.notdef -/.notdef -/.notdef -/.notdef -/.notdef -/.notdef -% 0xE0 -/.notdef -/.notdef -/.notdef -/.notdef -/.notdef -/.notdef -/.notdef -/.notdef -/.notdef -/.notdef -/.notdef -/.notdef -/.notdef -/.notdef -/.notdef -/.notdef -% 0xF0 -/.notdef -/.notdef -/.notdef -/.notdef -/.notdef -/.notdef -/divide -/.notdef -/.notdef -/.notdef -/.notdef -/.notdef -/.notdef -/.notdef -/.notdef -/.notdef -] 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: SFRM1000 -%!FontType1-1.0: SFRM1000 0.3 -%%CreationDate: Wed Sep 12 2001 -% Copyright (c) 2001 Vladimir Volovich <vvv@vsu.ru>. -% See the file COPYING (GNU General Public License) for license conditions. -% Converted from METAFONT EC/TC and LH fonts: -% ecrm1000, tcrm1000, larm1000, lbrm1000, lcrm1000, rxrm1000. -11 dict begin -/FontInfo 6 dict dup begin -/version (0.3) def -/FullName (Computer Modern Roman) def -/FamilyName (Computer Modern) def -/ItalicAngle 0 def -/isFixedPitch false def -/Weight (Medium) def -end readonly def -/FontName /SFRM1000 def -/Encoding StandardEncoding def -/PaintType 0 def -/FontType 1 def -/FontMatrix [0.001 0 0 0.001 0 0] def -/FontBBox{-189 -321 1456 937}readonly def -currentdict end -currentfile eexec -D9D66F633B846A97B686A97E45A3D0AA052BD0CE60552BD63101D7CDBEEF5B11 -69C468645FE4ED1AF2541AA0770C1DCF81623DE0ECDF49F2B522618F650CE6CB -CC8C21885DD61AF8A523AA677EAEDDFA51A1F9B1885EEE0456196D634E04EF89 -F17499DAD982502ACC349B9EEAAE4A71A73D1147318C60A8BAC10510DE90D8D3 -F46E47295D27129A5AFE0C65E22BAD10D06885A2EE623FF8E1D90287A083E00C -EF25195F68A2A98170E48759F267FE330B57DF626EBF73D2779A4A6B462AE6E5 -19E5878939A488F2FE1094A76925CD24DAD4573AD3CF34E426708CF06E7EBFFC -BEF5595408106E2189F418D17AD510ED5B6A528E8902AA3A5F0FF52AE3DEAB07 -32F06B63E28BB88229E046F4FF8A356BBDDE82DF2A197F2E26CA00D5594725A1 -83A89A36487EAAE1AC312C929CDCE50722FA6C596C261E4D78D6C6ABF77F5CCE -0E410ED74287A0F201140F8D9674A7AC585D3CBC72CCB824F9E1CEBD08AEDB3A -A4015CADF471F7ABD9B0F0AF73A8274FD441BC1988A61799856E4770155341D6 -516CD0E25BFA59B67AB7E0571DF3F5BA70AB52137D9E6A79EFADBE70CA05AC8D -991D0895C8FFC747FBC0E9A7212BAE6560B9E2B64FFCC58112E64A3B4CF7ECF7 -595F51C34AD1342F5678FE1E62EC5A389CF04E82B5F832914B91F921F30A7E32 -CA3919F57A2D9DE844CAAAC0DC751C255C9916595E8C9532E7A0A84A0AEFCACD -83EDE059FD06EEE9951473180B517F25F609F347DBA012AE9F004DC3C771777B -BE812787C3C50315D67254A384EB65F260943C6E16B2CDC64E15EEEDC67C5544 -8ADE9981A6867405E46222CACCEF79F9DC8674268BBBE1EFEC2187A75FB7FBF8 -CB2DB2134848DEA2F9CED443DCF561E7272B38F830871B2A5196A787924EF556 -4B7E9093ADD414ACBC10147944D216D35011830CDA336A7A2F11AADC42948AFC -2A806FCCDF6E10175677535AB193ADCC13B34B86F061878D79B5BD236FB5BB43 -2D6B7B739EAAF07B14FD159018685C3780BDE05EF14AA63B1271FD59CAE2BC87 -98E1B1951322D326947C8657B04D9BF2D550511EF456D139738F39745530E923 -528C48A6E954D3379D5F7A940AECD4E70D57234A71AD13F049ABC369539682FB -986E048CBE764A02C5E73C47D2539A7E4342D8237ECF5ADBF07AB15209A6712C -3113BE0028E4DCACF603C4F102F9E2AA18516962A1AD68FBBEE1FD914FEAFCF3 -66F48A88E590B337B459A12E2F6E062EC0119152A2B11018CB16C3CA62E3A8A1 -3857CFE8DF1BF60225FD42B69A96C2A9B19F36F88EA6A9BA832CCAA8C23D8B02 -D4AB0243019755A424FC1321A85CC9FE3763528F3F985F854EDFE2F733D1BF4A -71CD736B57B1A544439C3F617915B199ACD1AAD721B88E6DCC63FE1391093F43 -11DBF5DE70081B1D802169D97B269C3C98227F2E7740BEE44DD684F6E90B5BB3 -438AA5F2DBDA56892275EF8F0A749DE40D40F2899B61D871EAEACA93575ED798 -5C59B28CACE5662A9FAD4296E73652B7FB80680336134037829130E732360E44 -0168775DFCB7DB4D9EA57F146D74EFAB8CE3D79618A3D2032A5720997E47F754 -3CCA68BE703BF2258E3791721860BF3495656C3948381157158E041B943BCCC6 -C0 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -cleartomark -%%EndFont -%%BeginFont: CMTI10 -%!PS-AdobeFont-1.0: CMTI10 003.002 -%%Title: CMTI10 -%Version: 003.002 -%%CreationDate: Mon Jul 13 16:17:00 2009 -%%Creator: David M. Jones -%Copyright: Copyright (c) 1997, 2009 American Mathematical Society -%Copyright: (<http://www.ams.org>), with Reserved Font Name CMTI10. -% This Font Software is licensed under the SIL Open Font License, Version 1.1. -% This license is in the accompanying file OFL.txt, and is also -% available with a FAQ at: http://scripts.sil.org/OFL. -%%EndComments -FontDirectory/CMTI10 known{/CMTI10 findfont dup/UniqueID known{dup -/UniqueID get 5000828 eq exch/FontType get 1 eq and}{pop false}ifelse -{save true}{false}ifelse}{false}ifelse -11 dict begin -/FontType 1 def -/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def -/FontName /CMTI10 def -/FontBBox {-35 -250 1124 750 }readonly def -/UniqueID 5000828 def -/PaintType 0 def -/FontInfo 9 dict dup begin -/version (003.002) readonly def -/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMTI10.) readonly def -/FullName (CMTI10) readonly def -/FamilyName (Computer Modern) readonly def -/Weight (Medium) readonly def -/ItalicAngle -14.04 def -/isFixedPitch false def -/UnderlinePosition -100 def -/UnderlineThickness 50 def -end readonly def -/Encoding 256 array -0 1 255 {1 index exch /.notdef put} for -dup 37 /percent put -readonly def -currentdict end -currentfile eexec -D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 -5182433CF9F333A38BD841C0D4E68BF9E012EB32A8FFB76B5816306B5EDF7C99 -8B3A16D9B4BC056662E32C7CD0123DFAEB734C7532E64BBFBF5A60336E646716 -EFB852C877F440D329172C71F1E5D59CE9473C26B8AEF7AD68EF0727B6EC2E0C -02CE8D8B07183838330C0284BD419CBDAE42B141D3D4BE492473F240CEED931D -46E9F999C5CB3235E2C6DAAA2C0169E1991BEAEA0D704BF49CEA3E98E8C2361A -4B60D020D325E4C2450F3BCF59223103D20DB6943DE1B57C5FD29DA32D34C95E -2AB2ADB3F60EEB0600C8ADE15A2380DE10AC5AAD585FBD13097B1A7E8E210D4A -EE96785449E07F0C8EBC2EC5EFBFD0897DFDC15E5BFAC9584D8DE95C5AB288CD -8AD8B9BEF0B8E5F887B3B0B331542FC8184DCCB753DB6ACEEF98B85756B988DF -CAF1AE0DBE7D37D5F44A2E760AAE3A5197C27B15E32275A64946C3E4D0476FD2 -7FDE148C788DD2106F7C825E270588AC05B57E625AB17BDD02306F9E5FC851DC -32A5A6EDC43C770A71419B2C0C8074EF3F222C8A2097CD81A91F333A521B3A09 -482A4FE1CB231CE344AD126AA284C3280AAC3AD162CF0EE241BFB4C8F20502FF -118507F5D1B5FD898571015E73E5CF2281085072E00D401F6F59761EEC3E8381 -1F26F75DB66C504AB6BABA87D121B1E7040A07AA2FE01F80DBC246CC03C4B2DC -C2A715980C52B7F96BC1A78FCC7F4F52EEED5F705E08FC1E5BBFCAD121FA88AA -8EBE58172C162AF409DBB0728F14923ED02A65EA24E5D52B6AD07777455A70A4 -61833D3789C719BA92E901232599767E423D5AD9C807670BE0E7B5CFF8256A20 -C7BF7214FFE0342809570F5966A2C43E784F35015D9040BA34FEAB6A6F089504 -3A40A9E9D711A2721D3F4998371430FB3C94BFC619559B97D49627BB630F4B70 -9D0A8FE4E916235335C3962F3CFDB04C4A3CF714DB5E260F4E66FFF2F27CEF2A -D4AA26BBCAED23B8BDC98F8F453BA27AD7758537561E766B82DC3032E92A9EB0 -125D98A22C5466AF069BF72A9BFA052A8628FEC6A6AD0B711DFFEDE3AA2D7CE8 -34EA487038EF50F953B8B4471CBA6FC3C53877EC1BC94582B1123EDF44B4056A -30F49394BDE22CDAD7F01951C7013D26979277D18EFA594E8F4F2B5E615187D9 -39E842EC28461B9ABA52020A127D2CB9002A673A435B13C10602EEFDBBA6BD49 -9DDEAB9E68D655443A5C2492BA061C1391A51592BA8C353A6F6A0708E8860184 -2B5D031D2CAB87D618E9F6F7A0BF3F66B3FD5A25BB91F7F1F5F99CFF56EFF4FF -0A35C55658001ED2E97B26C869292F6274D433A5443179DBB8EE987196306348 -3F9E87C6422AFFDD30080C9AC4EE7FE5E2DCBFEE4974331F4AAE479FD8806D4D -9C2B85FC69EB0453AD827A1E767E5C484BDFBF5C8D6E2B3C96298B390F22D757 -802643A79D5E29CF3AEDF0E12CFBECA4663444FC87F2027571DBA9ECF688BF28 -FF0DDB3AEDBA0FB28447CB4B5D5205F40C1E7A525FD7373392EEFFD910AC82D0 -98E71660A1B3227C4A2592F3E853CA4CDF64DF19A52582E167234F4036FAAAB9 -5446BE102DE2BF43E82F0112C2A20F15A3F92C6571AC761665A905362C4F8BDF -AC8705519C99862CD9C0D75113C4AB5FBB83C880E46B82715B5628890D9103AD -A2329638B95D93C4DECDC5E6C588C9D5183EE6FC28FAF9825F02DCA567306D93 -5440987A81B51EE7291107A08F201C609FEF91A8F0587E8B13D4BAF74A5A6815 -DE9E4441F46AF8E1DDDFA2D611C889614040B144A5EC064DEE4638C04EAB2E37 -4CA8F50FB8C4D65BB296DCCCD39F1F554CFBED96670A91F515CA10EF896874BC -8EF48C6447752C70FF5A06F928DB55586354076773BFF7E94C4C3A7A1C1F421B -A9B4E3936EC26E0C19BBBFC90F021E877F54B62108F6DD1C7F6D5B8E64FC9362 -E173F01BF2904B7E5A08B3543611562C2714099DE7D4FA330DB148B560A9601F -42A84452811CE213DCE782A0D7809CFD954D6BC1EBF2BA4D1B18F50FA8174C96 -3E0120E266AD5DDB40B3F6798AC28CDC5C3C4BC34583528F5B5DC8A222B80B59 -A3A93DC715D061EC6915E6E6E21A25425C25E8747C60F170D61047108826F96F -7830E220C108B441B6EA3198E33C49BAD8D43086E49F5A2BC7958A1A8CD011C4 -49045193394696EC3DDD0BE084E8F2E9F0B9496F035C0DEC1CE11409DF566428 -D50043CFF5CDD1092F6E0807E660B68163BCA738E8D98FC6EE3F713164CD204C -0BA84FFF4F33F47BC31750B448603D7ADB9AE92FA91AEBBBEC0DCD66980E6955 -CEB425ED07115B24E40F53B29B9D840842EAC691B4F591F866DF27556474B485 -1C6F53DD72499847109B16C7093984A6B8487D4F3870DD517945CD90E648C1BB -8A6861E540FCF9D75B984B5009B5CC760CBE297042C240DD624111670B703388 -6FE6FC0E89C6B4C88F51DFF3913D0CC1FB4770C8CBEADD4B86393605C0B6C468 -83CA5594754411B6FC331EF56D7CD6D247FAE42E966583C29239A8F862348D29 -60B177984B6B957E733DB4D275015691D91443BBB13C2DA96097A29733CDB284 -42F89C85A7A743338C9DD3BBC4EE53F695E5163E6E1ABE5791ABF100B198B9B2 -1C21E2FA2FB4AFE7F9BB2D381260CDD3A2CC05BF513AA1E80ED69FA27BC5ED5A -21445BF00BC2F997B356D94AF13736C6D3B0613EB6F4CD96A685FEB672661DCA -206105EDC3CA07900676EB2FAB37F48D2E8207BDE1463894DA3C5B1488AC1EE9 -D39DAF691648048F5D7A384B8927F8DA2BE3602669F71D80686E427F395134E7 -7ADCC611BA91AD4B7A0237213C60CF2C905359C90795230344FC3C50A22BD44B -55B2044792509F50F5C21F53D9F9E9F063ADBED3AB99E2613B23334FE8DF70B4 -6120F2EDF69F50BE793EE145B9FF9C73179DE640FC2ACEB5C6617F918CEEB762 -4CD81E665B2E544864D13230B058717B207D3CC5D6647D5343DB4D0356082392 -871EFFA896631A7E0D6477942B632074A9A4EF7B09D4701B1639BAAB4E03A40E -9B54A7A4F845CD63F88831EBFA4FB847847CB98F3455CB5957F2E0A0F5623645 -DBB5C5564C7F8B117D6E27E65C0F3EA81AE67B4AE4B201E7C4FB0A8364FE53F5 -41A7CE8F834C2C4B322809B353A5E63BBA7BF3B7DC1A85EA700BD287C2BD3FC8 -2832B0BB4695FC937FF5EF06FCD87DCE6DE793C2B1EE10E6450352C17726155F -220D550B1759E15AB2C1D5968E52C8080CD280E99D3CCC0E80C2EF8BBFD96001 -A226FEED7311EFB4B67F424B557A877379A15BCA54780F0CD2CCA00400B9B39D -981C6B552AFD2506D1B23618FA9AE6D8143CD7198A8482CB416CCE62B992347F -337D505A4078713BBD91E5535BD58EF0351EBDCD749CC24D4AD39F8CECD7D6C8 -139756680A4C03A58B3374CEC658D30160AE4863A3938A891BB59CBE02BB451B -1BA4B2B6E68AB61DEB85F95E3C909B8B66E220B9F18280161C279F10F7093CDC -100A53D542F071CC0A5AF834DC1D18738F5DD62A5573E884E1FFD22BD810828A -1EA47F8218C15A2E97CBC609927DA3CC2B802EA4A0D7EB57627C135E3B065905 -F97597D818A2C5CC6F328AD25AD11FA50F1E4FE637980B7474D6F85A521892FB -72989AABEBE02A2D0EFE88A6F67AC29F5D8DDFEDAAF465C439983C6B84389FF7 -A6434462BEB7B07DBE4BBA61ACD4A60C55B5C0AAE527DE381DFECA2E6BAFDC8D -310364ECB42CAFF72BA93C067B2F02D1CA7C34AE7CDC46787A0E234C8BE8A928 -7A6F3DDE0338FAD532A9886E8E3525B85DD39364AB03EC4C0DD25DC179CC1989 -1BE232E387E857C78332D834679195E10F1E7B87B7966DA3B2238F53D1E13FE2 -8F55ED6A92A750C7250C9B91E29796621E7E9520373214D7DA81B2875A986D33 -80382AFF6DE1F829F048E57664D9C4ACE91E4684A51023943A4964AB5657D610 -3A5405EFD4CFD1EBA684243E15093C9667797BB47617B66054EE02C41FFEC45C -C1BAE8AD56B00D323FCB1D2744F061FA16E161988741A319B1564E04BA210996 -4F9F02A3268CABE450D166A763F5284954564A1C86B76544C5F5ACDFE0D758DB -865A1CFCF9FE8CD5F9C3B2998C56468FD52DF8EE60C6935A3D221EAEC7714E3B -301371C7DDA0B03A2416238F2B47BAD3A2C5021C886DF51C695AF9C87A864B48 -3BB3FE0B355EED5454B59B25A0D8A1B8CBD356C24F64D9B55E16C30C011365C9 -1E0380753BA3EDC0868788D5F50B9353D0227BCEE1BE36998B2622C0759BD66B -E4444250589F9CEDE766D8B940770CB6B89503E925B35C00CBEC2873D2DC4A29 -0823FB7A3717B69A7DEDBAAECC067949932728E89BEECAA91DE3AF9BF070B9C0 -30EEFA8C0A55C8388CAA2F0515915C98E67FA095BB98967D14B0DCAFA9622E4E -2E0EBFC768D80585ACDF28D8A5C2B6EE2FE7AAF62FFB90F569F84A0903996DF0 -C1D5723366C436E4088F3E2BB9B47F9789052A71CF5C49908CDC1DDA194BFB89 -14D7E3D7D4D72A150FD6FFD8303E9DE5A97A71B808B8BDF2AE466F31BF5D7A4A -44F81230BBE2B456A221E2F72A8B59F8FEA8D31F8A005A5BD93B9F49CFDC3DCC -CE2B67090460F632271C7157BDC2F05BC2749FD562FC28682A616A52D1B67654 -DF78B7843A9EC26A7DE2EB168F874904C2915B97534B2D4D9F74A9573A771D34 -9F7BC855E8F794621BF6AD471BCC347E2DF5F620F5C209E33A4CBF1EA85AEA87 -4492A77342DD33EF615FF34037D660B713C908786D9022051B825226545827A3 -2AD1B05D654DB6E6D261B4E8AF0933AD1F0FCFC7201E1A7C1B4199F160C38676 -21ABA2DDF1CEB655B3EC3226E0B122976EEA998F7A5241F062E54AD1DFD6ED26 -47C99A439E0AE95415059179867CDD3F0FF751F3141309F40E00A6C7C28433E4 -F649BCD5DAA64177580E05C495EE7BCBCC5FBF104DAF360CC2711386655B26F9 -D349D887EEB32ADE595241560FD5924A1745A22E6A01DB9C285EF14596EBFF0F -03F36EB2E0A7C3864F819EF7B0855121292D49482F046A55CD7271FE03F02EA5 -886864D9D8EC22A68C23089EAEFFF03DED6484D8C341861EF8B6FD3C5BDF5AC8 -352DA4E13A1E30D0CB71E090E9CFB9AB2CAFD0CA7C34AE7D8E3B2EB4666834BD -9CCD1AC2108348AFEF6071796F4BB2FFA4A67ED917E76A109FA2DC2A30D744A0 -9AE653A748C1D18FB52595D84E87F1C1FB6B2F32667FE203262C66627AEFFED3 -92B23861E5EB238BB4EDCE09DAE1C65BAFC198CDD1B45D42CDF93E16BB82D35F -821E9E49067E966AFAB2AB52928F8DD6359984071FC37AA652FB834A09E5BD93 -3AFAE161140E74C6531E413E8FBBFC42BFE8A464B71EB1D8CAA93B33D7BCC3B0 -47C7EEFCD3E9FCF26FF9441DD9BDE68D77AD7251C06BBB9A2103049E8827CAF0 -F26BEF33F656A690235DEEC623CC519AFA82DE2AE16FB99F780FD7D8290DA40B -9B604AEF36B529FD184239E7D50561A07428D28E51B55546590A1AEAD4B7F2B1 -AB8C5B9022C1FA03E33F8F409B24911AB8BFCF6EF4A8E415263C789F89063E71 -C0910DC20347469380B7FC1EEB87D4CED7F4A361E58B61C91AFCABA35C03F978 -B9FB5257C31657EE48504C355CE893FE3C553274C641DBC4004F5D5B879CC5ED -D3F21F867F6DF054127067DE86189F0B59A1B90FDABCDFEE61423609D888EEFD -F4A1367129962110C651D9481CEDDB8C5C2576A59AED64E95F7ED042AEAE2F7E -81AC0C408E593DC30DCAC334EDE9EE27D932B98F040DDCD195D6155607DD2038 -970EB78221A94C52BD4F0EAC65F1FC10E5DAA93C17266F351669CAE56F42B68C -6D01E1EA03AE554D63CE76D800FDD9CFD89F80A241EAEFF7EDFA41794EA25CE7 -97BD5028464D2CD45B53834B4AEF8BF0B9E7C6ECDEACEC887E8790A47A93F668 -A9095E5FA1116A122C0E5B74E2226C654D3187C6CFD8807917820423DA3EC1DE -AA020EEEF2280C44A15209EE2F3FC1776875308CEAD38571E7BF889F287E4594 -971A83605E0B4169D4A23EE790515223DF8724054EDAD905F57918FC0BC64F96 -514B4BF7DC9BA79E763C22C977FB6146B10D26FEA1BAA7BAF21312F78D1625A7 -8E242D743471DB5821408AB786E4A7EA9D35E30E85533C617689F95758FB2C7C -392E759C299DCCE36689686DE0C4DCE32649493650BA194A6208C5EAB670B170 -3F2C70BF0EF0E3BE2FB0A79224FF4ECECD6BB3388C6D06867A0E5E3DB93C1B2F -464C23E44D3132E7D4086E3B59B1D13F49EB4772DEDF8EDC4F603217233FB7BE -C13C28648E9AA51D53F11FB896839F97AEDD8834BCA53CB0021AE91FD8E95E2E -F8A094093AF556B9639F508A401542B06821FF9DE1A745FE9AC5CACD5E8E1053 -911442FC15CA5333751ABFE2C617D38FA1DC332BFEF44AE569DC631C93EC54D6 -261583A695F5A392867A57F59B741EFCD2DCFECBC55D1EA5F2317601C9DFE9ED -D1EA466210FFA905A8F85BD58B98991BEA58DFD1CDED5C9B086D42CCE632DADA -147941917B879139E016B0DDEB8446BA017FC8EE5A354533D667B0835F5D027D -C2D580C16B80B3D05CC92C0465CAE077729F0A15B2DAFC89DCD349B3F81D0516 -C65526EB5C10E45A8A85D716EE35FB9AB201FD7C89ADE5AD925A174169DA20FB -61E96C73A143DF964C20589EF24A0FCFE6195317F2FA0D2249C0D8E649C3D9AD -FF13332EA2E4C9CD36D8443EC8F027B61CEF92C6A6B72DD4ACBACC16E429A9A3 -F5F29C1631360E32F8C1C93ACB22F810B86D2969A7480F486F62F8488BEEC74C -2C1AF13BB92BC578E8CD30BEA6BC8CB68ED730F54CED0167605FA76AD7B7E88C -7AE7688E598F91C471BD65A542E96D64B1EAF19FB4F1234308C48C2DC86E2193 -11ABDB4C6189C6F201627C693691A86DD07FF55C30FDB3F72381E09C6080FD7C -9182762E5001E30F52A216E0B71E4D2D4E2F3B20F95DF3A11FDB2D2B5B5FAA66 -C46226D5E0C77066349770514E5675550FAC9394FB27CD2C2F974F1FD58C04A3 -1EF53A8AB3B2202CCA1CEFA66228E1480A0709436C44BD3319C40CF888AE4692 -5DBBB52B15CF3A518F627F672135A24D5DB9B2EBEF04C860AECF231EBB5A3BF5 -6DCCD5E72FE4B6DD29E896691868A7DE4120AD06AC573F5608B8449B38E71CA0 -EB5CDA3F942482EA7973661170F81DC88D54DD5B92323F46F833DFA757107E9E -F62A47CC50FAA1B68ED535C3E0E1073532A05ED339C8D70B3B9864808ABACD23 -AA95E9FDA43D54C66A675FA074E0A5B8777D3C07850A09087F36852B5351F35D -8BC4DDFCA35CF29CD5E3DE118A741FAC4DED36847F2E2C6CFE08669301722D94 -376F540982958074E7F1383C409652F6C99DA39FE90B38221E75BC1ECB93ABF6 -B00F410A0C5651DB418566AB350FDA1789AFD88286AF3BCB42B98386F7BC144B -02DEB8940D20A6B3062F0C4244EABC50923390064F1D027A8BACC3DE45156E56 -4A942D1B87F1C4A76B0D4D6801AE792CCAE3009BF25368B31B6AD5476FBD3BFF -9759EF463EF5E78E10B7BF64005B2ABE0E8813950A08A1808587A98E0021D0DD -751AD515E8278F1A0759E85D8A084490BBB0F8206484AA36388B1013643D3198 -3509078847BDAE08E76FA5BF3E3A73C323CE093DCC148E3C02C2DE1E26C94D5A -40EC8308ECB02FF7DD04EC1005A2A0DC74D4E587F10A3EF349E828F69FD38962 -2F0C74D5DAB3ED6CC9F97008ACCE74C086A503948DEF1AAF58FC8BEC703CD360 -D32098A56AC776B1BD08442052A2A4EF6C8798F7CDC102AF1A2009657254762A -0793F79A39DCD6ADBAA5EC84A7ED6018BBE727E5D477893D84F157074B24C13E -8D4881C7DF8ADC13EBA0D89745EF93B7616EC5355600BB0D2B630AABA3CF2946 -AFFD0B2B724EF0F28393F3DEFD59E05F83ED622EF1906B1A24A599C58E9CB8EA -E9A28325A5DD621EDB3642FC06FFB416FB3029ADCFE5D7D23192C650FCD7D1F8 -ED7AEDC7166E26191B12F8E56F060D2D08D41E533813A8D64E5B7F2F151EC8E7 -E2333ACD6F78ACA804CD809616BE4342A5047C07E7421CCFAFA7B057B6F5A801 -21254E447FB15A8D020E976D854276B98523807EBAC37AF98CB5A6ED12784963 -E3E05E94975C105A90F15B7722380DE5AF5A43914530BDA64264CCE7298C90A5 -CE3182A75FB05DA5C62E83934C6C2FF348607A16CFEE88C6AC39219D24FF5CCA -E386D9CAC70F214156C50F8C0FFB3F79D154FD4108EAE719E15C70E8B91B75AE -455A51374F7F4E8B85DD134200D13C8B0A4CF3B5F69E7B91F8CF93842B3BF411 -D2B22FDDD19D3A34BA745AF57209A04091ABB85BEF83A431745A2AC0E11098EE -427DF11F434A1F96AF2E2CDA0BC7338359A741F5357919A883C9B215FC9CE805 -B75C817C99E3697B3E530AD45484133C9DA8D11E6FD1C370AD86B4B7C49A3BAA -B5645DECCB16FF104C7F42B51B807A545BA681752D5BEB267FD021DEC2FDF58A -3D98DE548F571B3F65CA02B310BF19CC782D69565E37E9100C33783E06552BC4 -CC8786EE39AD94454C930AFF84105EDE1848CFAE37A8AAC2ACCE3EDA25830C22 -70F7FC6B7D16FF99679E15163E3DE15D5215273A894378FD986DA50EBDEF6D6E -CD5DC25DFC1964FB3F6085475CACBA52F627CC5A10CD366FAB28 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -cleartomark -{restore}if -%%EndFont -%%BeginFont: CMSY10 -%!PS-AdobeFont-1.0: CMSY10 003.002 -%%Title: CMSY10 -%Version: 003.002 -%%CreationDate: Mon Jul 13 16:17:00 2009 -%%Creator: David M. Jones -%Copyright: Copyright (c) 1997, 2009 American Mathematical Society -%Copyright: (<http://www.ams.org>), with Reserved Font Name CMSY10. -% This Font Software is licensed under the SIL Open Font License, Version 1.1. -% This license is in the accompanying file OFL.txt, and is also -% available with a FAQ at: http://scripts.sil.org/OFL. -%%EndComments -FontDirectory/CMSY10 known{/CMSY10 findfont dup/UniqueID known{dup -/UniqueID get 5096651 eq exch/FontType get 1 eq and}{pop false}ifelse -{save true}{false}ifelse}{false}ifelse -11 dict begin -/FontType 1 def -/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def -/FontName /CMSY10 def -/FontBBox {-29 -960 1116 775 }readonly def -/UniqueID 5096651 def -/PaintType 0 def -/FontInfo 9 dict dup begin -/version (003.002) readonly def -/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMSY10.) readonly def -/FullName (CMSY10) readonly def -/FamilyName (Computer Modern) readonly def -/Weight (Medium) readonly def -/ItalicAngle -14.04 def -/isFixedPitch false def -/UnderlinePosition -100 def -/UnderlineThickness 50 def -end readonly def -/Encoding 256 array -0 1 255 {1 index exch /.notdef put} for -dup 0 /minus put -dup 102 /braceleft put -dup 103 /braceright put -dup 110 /backslash put -readonly def -currentdict end -currentfile eexec -D9D66F633B846AB284BCF8B0411B772DE5CD06DFE1BE899059C588357426D7A0 -7B684C079A47D271426064AD18CB9750D8A986D1D67C1B2AEEF8CE785CC19C81 -DE96489F740045C5E342F02DA1C9F9F3C167651E646F1A67CF379789E311EF91 -511D0F605B045B279357D6FC8537C233E7AEE6A4FDBE73E75A39EB206D20A6F6 -1021961B748D419EBEEB028B592124E174CA595C108E12725B9875544955CFFD -028B698EF742BC8C19F979E35B8E99CADDDDC89CC6C59733F2A24BC3AF36AD86 -1319147A4A219ECB92D0D9F6228B51A97C29547000FCC8A581BE543D73F1FED4 -3D08C53693138003C01E1D216B185179E1856E2A05AA6C66AABB68B7E4409021 -91AA9D8E4C5FBBDA55F1BB6BC679EABA06BE9795DB920A6343CE934B04D75DF2 -E0C30B8FD2E475FE0D66D4AA65821864C7DD6AC9939A04094EEA832EAD33DB7A -11EE8D595FB0E543D0E80D31D584B97879B3C7B4A85CC6358A41342D70AD0B97 -C14123421FE8A7D131FB0D03900B392FDA0ABAFC25E946D2251F150EC595E857 -D17AE424DB76B431366086F377B2A0EEFD3909E3FA35E51886FC318989C1EF20 -B6F5990F1D39C22127F0A47BC8461F3AFDF87D9BDA4B6C1D1CFD7513F1E3C3D3 -93BEF764AA832316343F9FE869A720E4AA87AE76FA87A833BBC5892DE05B867F -10FA225E233BCFA9BB51F46A6DF22ADCEACC01C3CD1F54C9AEFA25E92EFAC00D -7E2BA427C25483BA42A199F4D2E43DFCE79A7156F7417ACF78E41FCA91E6C9EF -B933450D851B73A6AB6AEA7EE4C710CB5C14270D1674FA334686653793FCB31B -491E870D3C2BC654D2C1DE463EC9BA29D7371AA1078800EF93D3F66263A2EBBB -F5723697BF7448BD0D2E301544BECF497FD475B85DFEF52AF4F8F8BE445CABE6 -019318806D10C5952157FF8F8286C1EE701545C8F60EFA854EAE66835A2046A6 -915D395F1E0366EFE0C0391583FE001FF16D82A2E2DA5F57754A2C6F69306E36 -356ECF8EFC3F1188AD6FCD2427E0580C97A5B69B4E0E09B85EEDE142F5ADD2F0 -5DE51D6DB72B127412A0D57106C19CA493048A4F815129ABE767D51715B1515D -9C21067CB5BC88741B7298C83EAE36A866DFA87D8981F179B1C31292F56BBB64 -3C430779468AAF07C8A8B4934E1E775FE3F35186BD1FA6EE3689C1C750678AF1 -FBF9B23195A124C5C991FE670AC0C86FD39D2B07B9A319E74EFD498B45820252 -720ECDF7294F7B0B137CEB86D33BFCEB8606985A3260FD669E461C8BE94216C5 -D434FD8854F44EE66E5A289A9F9E32BC36AF645D53F96652602BAED418C8D726 -BD04A1B4617551FE4DEF54083D414F7DCE004E6BB2DC9C2EF7CE232B254BA2C5 -7DCBD36C2072ED46FF711F121A701E2284BF1B718B3164382B8F453D68FA0377 -DFE106503B8401D4DB87F5402A3AC9A442FA060B0610A9524D530C7157C26B56 -AC970FCC1D5655FFFFA39246E6420CF97D08ADFB7B05822679BD40C638DDF0E7 -A97BFE8918B611A145AC965C203F1428812F9D340AF499B3A915B22BE798594E -0F520109FC81E452180AE45B170FF999C5FC2761C6CECD8742A5A6FC97F16743 -AD4EFCC6572A6D3F3E4E330C5CB2FF6FEA48A5B64DD3DBE943BD9918D4A18E18 -CBCF598AEFBB6AB3CD2CBC9BFD6099272F6543F3E532E0E21E614BD2880B1023 -0AC234CB705827BF016DB84E00E8C255FDEFA0101A842929540B7B4AA8A089BD -5EFF05B72356B6BC3727817823B5CDBB1B963103000D7F2A4E2A1472FC3E614B -5CBCB6D6D784023173DEFEBFA8F9ED87EC1A0A9EE98CA59CFC964CF943DC683F -E9E00DA718C4425A705A69D99988EC6F152525C790912C2E46A2381A569424AB -54DF4798BC2D7E7A361E7991641D4B756CE2A7FF4A2848927092C59C2C4B8809 -E13AB84FB6B111E680D7FB9F2FFC2C5C66B0B501E4447C2E46C10E2F6124476F -A140C404CFE2DC9E0199BF61E035CEB481D438139A9630934E541D261FFD2906 -4CAD99E20655FA746AFB81EDBB5601F5FD6B1D6832A01D585E2C55053F6A7378 -4DAACCAC7608DBDADAAE732D66B3E7F87E79756337C1A961E53A4651BE7C77F4 -038B89C87F650C54A2A90EB7F1D525BB353F33318551EE8D84A6A83C718EA5A4 -B2AC0F7306B1E095819B87015A90CA3ED739B09061782C28CDB36BA4BD5E5308 -5CBB70414E4112193DAC4A1FA30996327230D1E021F3CD8115E12D239D93FFDC -B645910EB29E40D830E7BAF2DB255FD7C4E776557BB38157917D993EAC245837 -A3B515147043574157B8342D829C7228CCEA843ABC89D1785A9672A5923FC4CD -2F3FF27E6FCACF84E2D3136CA2C0FD3EF1EE7354CD04C38B5FB874553646ED2D -CEDF7E362EADD04B18051F20A8FB0DE18E152385B9D05F98A3A7EF177824E246 -455ABE69E2F700EB78185CCFC07E3B4C6FA301112528D977367D30D0D5D59EDE -FAEB706DDC970A9E296236C725B2B55B09B9C336B8E23CBA5FB8692D56F33B03 -16294E5FC7FAA42E96395A57CE51CA8DDD77442F142E2E576B778373FB31C81C -16840BB422CA827E30A81829648BDF1CA36700EA32AD888D097C1FE0A05B2D9F -483AEE40269DF09AF0D1AD3DF80C45DDC59C2A03FBB661C79B87853737C6D352 -67626B657321B16198DBD6DB98A092F17878AE4698121E1006E53D6F9B0A3BE2 -3FB68828EF854A0CDBAA68B37ABCA6AD4A3D809AAF0BAB1697A81FE59C98C472 -1E33CD70A75A22C249DD11D76C2575ED3370A25892A16D2FD569CDA70C130770 -93F493C7D47D6F9A5424A7A542BAD726BFC3AB225DCEBBE6AC4BE006F8C7C0EA -051424B08305BF2D951AB2986AAFEA04E078CA79B399585BFF0F1ADCED02E15B -8765EB6BF6A8E4D0901EFF2C3AA104924EAD9637A35D877E0C51A3C37DA78CD4 -8643C8CE6DCDDE3F116A6C2390F948E5371BEB5AD2E87B41C5F01FB5C196C436 -6E256A88D082E3F46E4EFFBF605B2EFF1E9D9AD5EE4DDC323A137CD9451EDEE0 -06F7D82898D71FAF2362C0FCF1F726F97F820305B7CE20728CA08C63575083A7 -84BA28B7DE2B916432475510E274C12FFD1660A717F51DACFDF0A102D85224E0 -D6DB607BB72569ABB8A7BC6A10354CBBC01732EFE35B72062DF269CB25EA3DE6 -DC603B04C90C5912D2C38D7A5ACDCDD3F6F116D884F0D8C528F69D5D47BA20DB -0A9E585C7D8CC3C324FE8A1DF150279F7E8FB43BDB720E624E5E9918032C02CD -8020636AE5C38DA2484B7F4B34163E0D0A561B43B80E97746DC05C871AB620EC -C5D47101ECED4A7E25F291184BEF8B80024AA7BB456C1B83A907652B331DEA34 -754226C39C6889EBEEFDAD081E01EF8FE47751987667836FDE4C8BB8A3FD4406 -1E643B4EA37BD370734D1A2DB17C2F4B74B4ED75098B433601F75A88C9A37A05 -CCB157EF6E32023BFA33973F3E655A4D58289136996FCFA61EEABD70791B6523 -1FF5DE71AB8A17038923118A5EED8D59C4C58D246FFA9BB26472346B40C8741F -153D19CAFF20DD2A86C6DB89154A630FB1761929FC3F0448EE2F089C1C953E02 -905BA8DE75D101A982A611056C4B237596C10951DD98BAB838B742D3CF7DE718 -617DB72E5268583223E37E029D1C8FD3F1D21690151F76B76C52C725CA135CA2 -8666553E863CE188BFC9B99AF56AC2DB5BFEBEB12FB563D00244EB89E478657A -98AF2E1223C1ABC25A4500E8119B86EB3C26B8A2F3505A3E5610F89B7C34E278 -53FA0A54A7F46D84A35EFEC36AE660A9E3C37EE3864106702DE5AF6C45ABF64B -888A4A51323138CE77DB935576FE6B4824B6942DF80625098CE1B5B32B234F1D -052A9D6039697118A9D793793775D8729D8574A2E74D7109C7B7E23BC5E2E87A -CA8E019203952A4892544E1AD3D4EDD22971611358AB230E9A2ABDF00A288501 -A01B67C42B33F6B78C39562DB50F4663B922D9BE0D8A150311AE44B83C1F129F -07337323E9A23211EE58E16043E127C6F9574019179F5635648A011266677B56 -B5D0201A4E1470B952A1579B57AB2329CD4C615395023C653F784D36B5EE3672 -10D191F29EA508CE84763CA4CE7C2C5229E38E241255A5CABCD6C7CBAED901A2 -CA53B5E24111921CDDF83578D33D463D70EDACA0E470D8F592303FB6BFD68B4D -3F3BE2D7C5EC8BBF10C90111A33E205F2649B56E8443F6FAA6C721C66575AE12 -D4C40F1F46CF9E9DA675AB5D5840D938780CD9E4AD6736ECBEB6A4397613586F -849B51048AC5F9405E03E14540A5E5582F61CDCDB57EDDF95A8C6705F433EE16 -648F098C03DED8A2AD94AE3DE202D629B9422ABB031318D48F2C85F9DBFA17BE -84708AA3B6C9F81F4508F7A5CB7B6646AB8722ECF817877B77D473F577556DAA -2BA0ABACFCF5DEA7498C47328E873019A956FBB250FD9D8885D21D368FA70CBD -2709D2DA44EE7A9869963EAB48789541906DE49FAE785ECE1F18A22C7E7ED204 -9768896B78E9EB7A2BD6EEC1B26083940656ECD689D92942CC8AF05CBF82AED0 -B45A7DF4DD7AA6526FB597322560B9ED3087A65B5EEF1371C328A021411BFE3B -D9B5088B2F1AAE381FFED52D2D1E02CD0DA78683E3B06171CBE94BE9760005D7 -135893D7CC2DB097F6AC664D9594CF1C650F84DA80D2EDE04802DBA33CE3DAFE -EB7A37E8AEFA4FDA6252FF21E8673DD98E67124D5DBC7BACF361E57077B71939 -C1D1FB923E4E35C075CD1BCBE0E80DAEA1320D55B43EAB45D9B26C366B278782 -7519FDC482D98839BF0DF2E7C3A56A1C1A3FC0E57A75CA414F6536C1FE8EB7A0 -4ADFEE3BEDA0F53BE8CF5F64230784A797133E8CD46BCCB3BF38BCE38A73CCE2 -9E073ADE792F7128231DDD1F63E6156ADB2609C200837C2E8A2D93D2A7BC9171 -050C709A71E44E32B1B03C92EB5CF1D3BAB1C38E027DC4ED9AED633D98CD7486 -3F773ACF8AE332631CF2ABE6D606607593FE862ADE31803964E3F4DC3CE3A271 -C76BDD95C87CDB3B87BC26FC7A16D567EEC62E6FF0D471B4853DB8A94D4CACF8 -843824F818083F10E88D52FC4253E8203292CB40F1414AE7E51DD7347007C342 -CD70E8E9F2D2A13D71213B841DDEAAB208AD9EA644591C15DEB084165F9DF24B -B91D3BBEEC2E34E38EF16A0C3F00700A7BDCBBFED2EC0D09601AD6538288DB50 -3478B051B5E16B604A0341FE621A58718D960D699D3FAD284310DCF54EB13175 -19A75A539EE98E804AEA24689D3540F0F12951A3C01FACCE9A7BAF4D0DAFA946 -FF65A4D2A4C39969607272C6886F44E90ABE27CA3A1F12A29D9B32E60E8E34F0 -17C5FE43D0E69A99A922D98909B2BBCD145E59A5E7F5426B3988F73B09A525F6 -8BD4915663C1301323180E760BE81CB874B020FDA3AE63340E4261E4F3E4949B -CC0966BDC4426190BE9F5D77F76A72AD925662E5FE1CEF9CCAB68F0BD33DA003 -F11EB91AC4502FBD6AE48DA0F9D07C35B96B103E379B8A83A05FE728F1716194 -1F650F75BEBADB2E3810388F3E2DC7B19F1BA9E32925F2FD9F19F4E8701F3E4E -4069125D7C401144740691E7A460021A47B1E27997FC1DDABEC5BD0EE0B20194 -2D579C7D6727AA124083242BDA46D8E116E2751C5F298851A62B60AEBE82A929 -9B9F2492BA35690D1EFD16215B8EF14E7A3803B93C28FA41D971B05B6AF3B593 -E74AD1E68A5FCE12A86E63B78BFEA87D3949FD164F12277A4688BE96356791CB -8671C49365608F3EDECC109321AF92B4C29CAF073DA3A7D73E913D0D83FAC5EB -BD884D4C686056404DAAAD6F82F94F803FA1FB0DD8908D1DF08FB87A8BB83027 -04DE0CBB1C6FEB6B517FBD7CF065120079E608CE41893C2BC96A347826CCDFD5 -C69E161217F2127A59F1A6F22037641613F191F22D5B4CDCBCC2EE5615623404 -ABA7BE6C5FE475481615B2AC1A2412E54688DD21E44CC9AF5F16E634AFCA389C -4D740B7B51BB141BFAD1080E7C726C1606A28ED492E6BDE9F800EFACD1513909 -84E98CEB6A0B7A2A6F3E1D1DCC3B2552795E0932673E59ECC56DDD37A1D52BA6 -C3F0E905978AB568941A163F4CE3AAB5C5B16F86016EC47BA6F3F7AAAA77C3B6 -09C8C3ABDB6D514A76ECD37C37AA88B5860630B3406B494F7725975596F84777 -D9CF48686EC9C5DBCC1D78513F591C7C10AB9D153B3D41426B7BF668B0D04503 -56BCB686258462C1DC61095724B9F3312316262FD7C1AEC6E54DE7E5A7BD8EFF -035299B8FD8A4A7B0F51404F4A760F4D8B4C0FB7A32FA4B2383AB6E9C78FDEDB -FE6A5788D38A6701B123630C2A6D820A684166FBBC83DB17069494FBD411B333 -CB37E2491C5BD035A33867A6D3A3D420CC31ACF43AA07182CAAE67E40EC63663 -B678F71D4C6E0EC3A0AAF904CD3AA66E0DE5E3CDE049E94249B39A1C06E3CE9A -F974B2484BB2CDA14282B9511E505B3C89F9C802218AE40D1A7541335C5736DD -CD565D4B9F4CC78F3A393737EDB4FBD0DA299E21CCFEBA5478EEF013F0552A8B -0BB11FF46CCDB784E8BDCF730A16363E66572049E42C695886EAB42A9AD9094C -B635DF4B5B9BD9B9AE8455DFA3EEFC77653190F9A8B1E93B7281C2A21EA7DDA9 -33484745BDF7E3DD63C7AC66C286C9A5A698A5E4D7A91710B7FF943FB23609B6 -4B442F83CB795788FAB5E9CF3F75D5487DA26170E4561C7941C910B088C3B86D -F844B0F340CF82786A3FCF347048463EBD2006281A816627065DDA6CD4D3AC5E -2024BC96C7D896381BBB567951E7A1F29D4E95351298B000D29E5F3D0448CB5A -CFDAE1BADE9403B90371C3A07D208948AFA022A69C519434B6813086ADF518D5 -88E0B92072A44BA1B3EBB630A13B7AB90992E85B6D67361C8D96F3E0D826FF37 -17B67E4B1EB7BADFD98D7F4FD17BECE740ADF13C141EBF0A91CB105DABB32FE0 -55086D56A0D358841D15FD349E6B95512E4EDF4C430216FF85C2ABE995E4B40A -A6044CC8820AD885C07E052B3F91C2E9A1D163BFFD210F7BE95B923E2500DB50 -2075106DB541C267BD450B25B670CE80BCD068D4DBFF2D82634175B61FBD3BC3 -406131F44C7D6F18D375D1F2270829DDF29DC14DBB58A30AC193245D18DE91F8 -AB88AB548D8138605BB5A50073295534E314366E26665AE70482B890E4101D6B -60E4F3B37ABCA1346DAAE8FDB8DD9C832EFF3E73BA470E2BACE7B8515CB43388 -C27AF99FF9322175CF8D4947E6B3846AFF5163E972156847F58A66660EC8A3A6 -5FB47C9F637B4CBB4C73B6A080B0CF6FD1E9665E92032540570FFCC747C67C50 -822811AADC404BC7ECD1673E8AA6C3A2F1D82F39430B58C29145E2F1B679C46E -94EDC711883F1E4EA84117A54757E8895A40401A26E1437B39A2F65CAADD6E02 -D71FA8AF7453668DC613F326A3344F74AD7AC67569AF399385500ABDA5EDD3BA -343CC5EDD4B558467626850E752B9959FEF1454E53E7A3DCBC2255AD8F6AB4FE -894455118A61C58840CB68A925ACCAD75CEACE863D806916228F0614191A1CD5 -DC9BAE256018615AA3725834519449B0A88B4F396654E74099C007930ADB1327 -DD119BF799FE3B0B223E1EDA04FE2DA7A1C879143E1C33B6C6344F4BA033AD6F -8E88C33DEF1977796B454BAB2494C930F492A518E8198C708A75FFEF8C49C324 -A718AB59B889DED521229E741FFE53F98EBE88B0405AD523254FD3FA4BBE96DA -DA1C27C1C979A0DD4E61C3B1F4C4DE01E42F1C4435EECFC02D97994BC8AF5270 -E7CB1458D76ED0229C5FFB4A23B8716018F9050970895D51722CDE8F2EA3D947 -DFF374D84915D5C5D16463A6FFCD079D1ED416C4347BF831FF0C4ADFB61295DC -4D5785BB0852BF472CFC97EC174491CAF961AB90629F055E75DAA6D9898E8653 -5BCF379816CAE46FEA62E7BE8E9B953466E51828172C4DBD0E1BBAD1CE28B5B1 -02B3E36403BE80B49A47446A6677FCED438F01D60EB10F478C89528FA337D0D8 -88D3FC123C076507ACDAF783A9A6E24ED73BF24B6E0F11C13E532DE5F70EB02A -60651FC2E263002D3986B7B20CC2AA08330B9FC2E26765CD52266969A86EE30E -71E0B41B6C1C6DA423D3A7E1553D2FAF26EF40DC183099322D362E4965695C52 -9FC3E5BD7ABD743CDCB717DB10372A722A39CE53FABB454EADE2179C4CBFC016 -A8E893C28EF549CA1692C8D8ADFC471DCCDE266FB4E97A1F3035801F3F034D44 -A962226E1AFD39AD32B28B924B247F85B87CC4CE00A01F0DE7DCC439C05297F8 -AB66A0899A135B400DA86109FFA8CB56DC528C494B2833B69725F533632F8717 -91A4E78EEF79C4F59E5F068B6A0ADB9FA9E3A09E1B0F367030EDCE6C24B46739 -6B440EF7EF8132FD8C737FF9B7561D4D01564106610633561FB31239E96C9ED3 -D43B799ED76BF07AE4D419E13A47EA8FC5671F927DB24DED249A8E2A89862737 -0608FBB802E84B16FDF6684A329A14487D1234897C3D7EE35487B81B625132E5 -56E71B16459AA33D50B534349C58BCFDF6166EA766FBF4EE0D1614F108316B67 -7622CF41FDAEC84B17A3C3472C1046B4653ED1ABBED6FCD557F02225E052DFF7 -FEB03898163EFE8B85D2FC830823222F4652D5FBB0DB57DB8C42C138B986BA07 -D61AB480BEE9FBC33ECE2A4864A380C1840EC2495415A274735DE53663421E0B -13560F618C64C74843F9596AE89EBE5F51C633EF6758C82D576EB4427D33367C -DA82E9EEB6453A3528A50A5C60873193BA611FFA185D8DF9CFB9648F7A7D11A8 -482DBADCD4E500A4A2EA6F89363A0ACF3E8A1F6E901008FE95D2A712DA189C54 -F20696FBCF4672D414E17FAEF6517A79A915085C4AABF66A0BCD9A9BA6F0594F -9D4A829CEC6FD1DAABD35680F9FB72BC14C65AC75201BF0CF15C05027A5C2F5F -0E52148C24B68E42823007717BCB450509A0EF474495D1381DB6C6F47775CBD5 -9ECF9D77FBF9F57686C34E3BC43FE5FB31AFD3A1A0CB84A2877AFC6C0AF29F7E -C7CA04A3754F6FE6DE0CF7F1A2102BFE361E4CD94F45E02D30F92544AA888238 -A3B07EE188829512C4E5EBD57675A0285D55B32BFF94BE7EBA0D25147471E54D -AC4BEA702B1402A353386DFFFF05A6EBF2A665E771620BEAE2E47368CE4868EA -018D1BABCAF1A2A759282AD1F238D62C662788F87F140A97D8386B129DA38914 - -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -cleartomark -{restore}if -%%EndFont -%%BeginFont: CMR5 -%!PS-AdobeFont-1.0: CMR5 003.002 -%%Title: CMR5 -%Version: 003.002 -%%CreationDate: Mon Jul 13 16:17:00 2009 -%%Creator: David M. Jones -%Copyright: Copyright (c) 1997, 2009 American Mathematical Society -%Copyright: (<http://www.ams.org>), with Reserved Font Name CMR5. -% This Font Software is licensed under the SIL Open Font License, Version 1.1. -% This license is in the accompanying file OFL.txt, and is also -% available with a FAQ at: http://scripts.sil.org/OFL. -%%EndComments -FontDirectory/CMR5 known{/CMR5 findfont dup/UniqueID known{dup -/UniqueID get 5000788 eq exch/FontType get 1 eq and}{pop false}ifelse -{save true}{false}ifelse}{false}ifelse -11 dict begin -/FontType 1 def -/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def -/FontName /CMR5 def -/FontBBox {-10 -250 1304 750 }readonly def -/UniqueID 5000788 def -/PaintType 0 def -/FontInfo 9 dict dup begin -/version (003.002) readonly def -/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMR5.) readonly def -/FullName (CMR5) readonly def -/FamilyName (Computer Modern) readonly def -/Weight (Medium) readonly def -/ItalicAngle 0 def -/isFixedPitch false def -/UnderlinePosition -100 def -/UnderlineThickness 50 def -end readonly def -/Encoding 256 array -0 1 255 {1 index exch /.notdef put} for -dup 48 /zero put -dup 49 /one put -dup 50 /two put -dup 51 /three put -dup 52 /four put -dup 53 /five put -dup 54 /six put -dup 55 /seven put -dup 56 /eight put -dup 57 /nine put -readonly def -currentdict end -currentfile eexec -D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA -0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93 -51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71 -7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551 -E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078 -0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273 -C01924195A181D03F5054A93B71E5065F8D92FE23794D2DAE26BF1F487876AD1 -16184ABCA7446A2352AB37C36E9C9BB67CEE105C612D36566FB459D6ACFB1DC3 -7A59448A06EBA21F8824266BDD0ACF9E356251A897A920C39F1AB236EE06C039 -8C4C0AE55FCED464E19AFAF548D454FCF73F6087102630AEA03E622AF2596870 -1353925801642BBDC11F09963F4ADF037671B73D48CD9C209DB4D5BE7F4CB381 -94887E8365D25C45D1F87EFFAE360104ABD3235E4D2F4BA163408448E814D49A -3E7C171B8F1275D49937C3255326069007B302844EBF2BC1990DDFF1A34C2770 -A262ACCE874DA1E0002188D6A713C79D5E9226178EED27D6F4E4DC24ED2669B2 -3873F42A48E5C1365AAFC83FAD8B849E5D7E52BFBB01B281005A9EBEB4EA2F35 -B691489305BCFE5516DEFBA092F66ABCA2D739A9277AC69F74F786045E63B0F8 -66D545B12B0581AEB579D5E1E2A412DB8F66276E05F131EC3B9F543E11F40FBA -8CC47071DB04A5D38A707C9F825527521CA1FC412FB54DBD72E912BA4EC8F747 -306A65040671237C8FE84AB6D6157D96EDE13B3A8FBF7140F1A9DA55B666953B -C7FA638353F278D07066AB8DDF0DFFC832F7025DF1AF9F894D52E9FA95EBBEF5 -9D6B97768FEC26E845B87C6ACF5395C75B894B5A1F50B248BA33943C5AD6CC2A -8D9AC65C08B3206E7F5E5913CD0D54C9FF741A4D92B628F85E43F52082397891 -66E6F922E0BFA2E45F0072217011D4B8EB40893F151E4E2E92ECE5862C467D4E -3833311B08340AE1C0C692095AFB739E9B9A4F56BFA0F0B2AB8455A7470C22C2 -0C2EC285026195CB73EE2A713ABBDE4945AFEB92630BF852DD4845FB4C9A8C8A -0C8C971F29440B4A786108D0DA1AEFDBE03568B6B2F3953B4D07A5B7D6FF564F -6CC0D8C08CA459D556154A45133BD7AF70C7D8F474DE66E64FA112D776478A83 -B282EA4E941CE2FD6D8F7B68D129CE0093AAF7C1D345C3D65BE74EE9391C9B89 -2D4D31764F1BA81CB12CE46D15A6BF941C9F0EACB4A2DECC8F2F6B85FFF490D4 -ED7BB6C7CDED10F03F68282B2ED20809F95840A904020C98299E17C46243D9EF -05B5B8173BB2E8CBAB3AA9B8207A9EFE6366C91A7674DBCD9FAF12A2EF4B5117 -5687F3DF1244F5439ECD8AB0587F492E990DD7B516C664AFAB76CE71084FDD70 -E7F5A38BD46926615659488D3548C5066C06E443016DD40275CFF3105573117E -369C8C34E48BEE832D93F0ADA7674FC6F5A64183DB2B70FF166E02E044B7063A -41D2F396A9158A26D3953F12982ACD1D7593F474DB98ECFD00EAF57FAAF17C7E -C1E4775B37FCBCD6DB1B5BC6209162E57E21A6AF427043562D9854B430A0BAED -20D31A9AC334C87875E53E0B956D33111955459DCD98D54E1BCC61BA58CDB41E -03009979C0A541FA9F69B55D3F3750515E5F268A7B55254B8A44CA732F2B9242 -18F34C029665B31EB68331B0147607645983340D15E322E3D0532E6376D40FA2 -1041F7988EB9F56D83946757786737D8BB4A996EA7933E79BE61B4EA1115AA4C -286B7AAFE80AB7C619329AD5FA772A6279FE85FA6B623138FAE1C6AE3FA45AB0 -95D8020D2EE2979E8A87D7E7C5DA2E6B701FEB4923F401F892D83A4928807152 -96CB664018AF24E829E582FA8B4F0E07387BAC53530AB3AADF74404EB2F311E6 -C6A70F960FA962E52A30CCC6E15097F9B7BF011626DAD38EDF78745B60C0818B -34663683577D897B1B6AEB240F3A2AA29F1F1800FE0A5C205B35C6A6438259FF -CCEC942AD2D7C3CFE01F956B795C0349DD5380D0140D3BB54FD99EEE5171DAF5 -4FA360A740589A1F8AB4FBC275CC06FF89A8350F4982F87E747501A74B7C81A0 -0F40FBA9D2875022DC3D417FD623D89FB6A0C0F1B930ACC2117C6CE94AAE5844 -0B5C9DAD579B7DDB73F2B26B05E1AAE30AF69937722E8360987AC0BDBE305B5B -DDBEF5A6C03BE1743C518E6B7B58A85AC961B8755BF37688E37DE0632BBE06E0 -53FAFAFBE52EAF276365A0484A1A682C9B9486CDCFBFBC4F4A1D6BF71378F014 -56DDF9B15A5AE0276827ACBD9AB04D685F52A62BD3DA33BDC2A262B756B58C26 -4F3B552841B81CA60C951F400551166C72B8D357D8122685FE97D14AC22AB6FD -2EE4CC429D580AD7B8D12A9C601FEE5D25C98BCBCF96C87FCFBF28419BEEFFA8 -7A4FC7B6E5FD377EBD5E743C3FDBB7554A1FB9663B648B15C4119CA952A8263B -278E5845AB929942E1A0FC4CC413F36134884EAF3704865C1478D6988880EB54 -C5C5C1BDD7CB0548342B9C7B6F94DD6341C5744A9A3C4A866F620BB70575EABD -AAA42E3B6E23AA029080B299294AF2E9388520367E964A3A66A84628D75F1BEB -C7A58C92EF7335F30BD0A26D072A986635318E0473CE3CD5B4F1BBFF6E781938 -EE4E3C11AC27A1BE0C3B55586A4565E4B967ED2EE4674121A46DA1C32C5D278A -44BEB43CCA246B730D337918AAA394728814C726DA4F9C40AC6EE877365976EE -A53276A818CF25E995CAA34039339C55DDDE74B3C11742786C1E9FA5C432EAC4 -E184F35560EA31D687D005843B02F9252C2A16F9E4C31C18D0D45B7D5F63D589 -3C1FE3D33C912B9CD79DBCCF9FD8223FDC18D55762F0DB2DB241625B91DB17F6 -206120D6300D317E82F3DDE6D2D0825547C08BE7E6FF8FB54D4DFEF2F4E475F7 -F3838B4ADBE49F8C41409D85085DB5A030858AAEEA5AB9CD2D1172C8D0EE31AE -507D8048E123AEAB05979C872ADBA4833D36626166BBB2A2CEF2F3E641DB429C -AB15C97D7180E8E6AC0D871E20678516ABAA4D616B51C132F41E5661858B8C2C -ECEE4A65A2B0FF310DFB531B213196D2E2AB015963246F44E22E603E741BBFF0 -16DBFC284906983A8C15278A36F5379F46C152304DADC8D90C313961E5F58180 -EEEC5A15131E5C48AD27F80B77EB0370482D528735FBA3E6C0548BB66CC222F7 -CCE87194F565B9EF7F32E656E6964501CE32462FFA6B87087EBAF45D454CFBA9 -ACA808C4397F3852158F1C0AE44772253ABEF6D278F726A03A9CBC4330EC80D0 -117F9131C5974445B81093C1D6E093C669CD285D1BFE864D53E5F140D40BE4CC -2689C42C50C4137DE564374B2130609785D8F519E0083DD24A44DE24A68E4071 -4A2122AB8AB9649660D1C96DC58F37F88623528078BFDA3BA3085D527ED4CAF6 -25BA663A61AEC4938CA78C49623FE0EED33DA2D08CC78F86A807E791BC9CFCFE -8FBFA55EC2259B64C31F6EBC45D2DF9B47EE09AA54011D40F55B6F12F49F2266 -EDDB09D44C521EC9568CA7E62283C483A436417B65B4FCBC7EA32AC6EB4E7B30 -080816F29F06D6B09E5506D3149C5D758BA85D820357D4955B0C1FFB383E10DA -4D61774D3B23C84A339C7348ECA6078080FF8B436B2261091DBBDC02583E366A -622ED9F95D2A85BDBA48DCE8BE45628A4ADFD5A48869800D9B54F530F43A8F53 -F765F5D5C44A9399FC1B9CEFA343966118DD11CB102423D46BA0F096795AF0D1 -BA33F089AD80A104DE7FDF8A6E7D935E6713963FE3C57CC673BCDD423DF3DCE0 -C57EADCA2AE4DBB30166C2CF1F7113DF96A27D4BBB23ABECC5A4795F1290F4F5 -5293B5870F892C9A32C776AAD06D78D0514F047373879CFC5AF9D624DCE5BC8F -7CEA5055064050AAB2F24A1C792B2609FFDADC6AB8D0F31A12403CF3436A1E1E -E24BA5F92587925C4D6795A3FB163245FBF054BB1B0FF01FD63DBF7C192D0F31 -33A17E7764699B669A3ACCF7C36849EEDA395E7F55174023A79904A766F21D58 -3DDB7B4C2808DE7FFB8717658084E70DBE046A13BBF1F9BB97B3AB527D68DE8E -924DE65486C3B883CD65A95901B0DE57821CB6C6AE37644E02F5CB0163617113 -C91D2C649A0BA10736F3709BD504F22DA8831A09BD0B2D6790A498F2FBC2F642 -7845796E606ECAB2356238AAF40323D71B236CBD1E3E43BD5443F304D52F3CC0 -28DB5D33A732695AA09C0449C53C656704D820217AC035DF45F59AE445946481 -E5BFBE5D4EC0A42B5662FBEB9FF6ECFFB5E8517312F56C91A01824E401E7203E -258C3BA073C1B2532B8312F5AE29E37F5EA71C52F171593B1370D4ED5D7341CD -567390ED5B75D612D5873BAC518587525A591164E8D36D2BD89F792BD9EE6ACE -99FB72B23CB2445F12B8A6A0876EE711166C9E34897D370174C17A2495D58B4D -3DA19DBB1AF2E09C72FA42AA3D8047D05AC4F6A27F3EBF32ADD2AD2FF26EAE05 -A9AB34C9287EE00E8EC29C6603036D365AE08E00D1C7C410EA2551696954EC92 -92080C8FA5C9E67698BD7B895C82ED29391E015F83E0DA145384E223319CBA74 -19494F070649E03CE9FF905619C6CB40F562DA49C1EDD2CA221DD7D3DAFA8279 -AB50DE1C059CB8D5C9FA8137DA711B9D30F236526AA389B2F79F3D5BA6ED9534 -8852BF4448DC1B72E361A6A2B94CF865BC9C3401D995529E2A36DE755EE001FE -C67B184AE8241D08AF88D626BD2D8AA12EE791AC4253D4761A21917C7F2F5AEC -795CD14B33F59DD7080C7654DEFFFA669F50FB1AC8C0F2E60201673A78D03DFD -DE0CB142F0F616C4051772BDB837CB4CE87A0C8D61E0FC7F90517EA0F5F6B1B4 -D57143CC0AE7CA9521C1536962867D6318DF1C9CE6476CEB9ADB21655D379B26 -7A0EAEC2D28430C14D38764C493BA4C06EF4BE6780131F2FEC066C4866E0B258 -51C48BEF77011A0B5763CB3D69A50BDD50C2D7EFBBF18BF42544B1AC196377FB -4826BACB3C16DB805D38C34F9E92AA9AB5F9A9B317D8BF32AF8A758017269914 -DE3B748625D319E571187E1BFED9CCBE11ABC18C0C6123D24D2C7303DE998847 -0F6F644748ED225135CC3B957EDE8567AF3EE47F5E942EA9293F7BF74260D1D5 -A6F5E56705E12C8379DED158E66DF54349F0504EF584C6D05C44CDD8B720809E -3DC36FF60BF55FDF1CA8C968E68346CF43C568E0B3175CB7D55343DE21CF9730 -C9DF918360036E4204CD024A67E764D3CC7677E5B229C1B909ECD1B9042134BB -DD8E47FDBF63F212D401A797EF60011F52EAAFB88E3E70E007BF19826E40FE4A -73B57D52FAB33A737B1341381EB2ED307E0B83B45D6911E04BE623DA82DD6BDB -2DA096827E6A498A8D503668E45926525789D43D1BD5B896B487C0CE04FC9DAA -CD9078D0C8A0639E27F0DCD82C552A7FABA42BFFEAD66CEBBD4D2E4B4A1B40A7 -B6FD119D37FA26C14C29A70E2EDB3253A1AAAC2650009CA3B97B430B1A05F2C6 -F2120C8981683D0976BC42FE98AB2D33014B983CE1E2F1E1AC4A524249C3CF13 -4B36652F96FCBD3660ACFC2F9778B729AFE2CE1BCF473DC5A846FCC3ACBE455E -2C37853F5204085ABF3BEE50C28D99312A078CE2F6F4C1D2D3017F0E5BB5B614 -102BE45CAF8108407EA970111B5A97CA8C7A64C70D52D28D2EDCD27879B1003A -6D168CD054E87C063744CDE097887CDF268D89180AF8BB4F170804AE5DA779B2 -1941775FC32FA189038D6050EC0E400BBED364E0CCD8DA571E902DAD812988E2 -4BF761F472EBEB411388FEB6F901777D090400F695D823C758882CC008D889E1 -02678FF81B252C33C89E3B04157C889D4F0F86D432F0B3DD7811BCF01C2FC041 -0D4B1DD9CB6F2433F9B34E7E8ED8BB1FA4F9F7CEB5354A8305C372C2EDEAFE5B -4AE23CEF34AC457961B15CEA084E31B3741CF2EC317DF484736EDD688737C380 -6D868BDC02D1E63A52D21C8E7C1FD1BD8717612FC247293CC91E0EEA08D5F805 -70217761CFCA0F9C13996DE0F045F28DB67378221722416236E4DC00194E9C45 -A3839F4BB53E226919C2CD13A44E4F67334454DB7E133B2D308925CC2E275293 -F81AFEC4DCF49230F22EFA19F48CAB7E09FA727CC2E11E5A5CCF57307506D5E7 -6DD1D26BFD3DF97E73C2DC019B0A75B9D6386469ACF1A00A5AAB55F99BA1DE49 -9883DC4FB0E8AD9421B105E050519976705F7BC889FB3B6C2921D2E198FEA294 -E192DB3738EBEBF6485075728A0E16ABD53A25BB0795A21B65AFB6ABD7EAA3F7 -1DAE1BA012651B4BA0ABE02F3CCCEB9E92979F17A3338A376C57A1F13E3C90C7 -9DE8ADE421329A57369CCC2BA622840B79C0DF098EA42B810C596DE85F51EB9E -C8F6FAA598C73F359FD7CB1D337E3B083833389846A99C87885A7537D35772DC -A7EE51E8EEECF4E4F38AA04C3F4C447080386A41F1461599739D73C58CD02D65 -0899177F7D707AE793B4C915C590AFD6E6810700BC0C3D14B67E03129A4215E4 -953B88C7A9FF1AF4B6DA293E1DF2EF5667D408AD3F2DFDBA46EF95A1D8E1CA29 -FBFA01A4B965D1101CA6C0C2BF4670E94776753FF52C2751AE41872EBE3DC66D -EE58BFD3BF8F543802C7614F64E7A9CC4474DAB5F4C59F8085FD523C91F0FCE2 -0CAEE1B9613064F9C9CE9556C841563A43660E0E71EE761F0448C41589AD0312 -958167F62FB166655800150F9E81A558949071F01BB11C9ACFB2ACA4F332D2AC -598AD5ABD3D5EB17AFA97456C0DE4D3D872750F548C357FF34919A3EDCFF9658 -F3DBF53BB3D0A204E84702DF6FCF5022E753CA92323ABEDC81071ED44C306A7B -C10D15F905672783BFCDF28D97EE156E293046C09595159C735A266ADAACB887 -7026C404951C27B88CC3EC1A6F15F016D55AE6B5DD739914DBD6861098977064 -762AE2867697967117DD7E3CDFC24D046F1D83856D49224191CBAE95C2E7B9DA -4DC5ACB06B9F637312C1378941EF6B9D966E84DA69E66C43EDC0564D4A9B201E -5CCD830900AC4D4EEDBBA4AD14ACBADA20179AE138CF35D6F830801D7F9D1F3A -B48B6C2EA3B77E7EE42DC0A26C7FDA6EB64DF4136FC3AE0FADAB84CD30392E44 -49DD3F7DFAB77AC2E3A8D16C9BC002AA17A9C1E9166A21648AE2AD7F9DB250DD -2F3F480844C93059796E89238B0DD470329C2AEC9F178B83D421063BCC18CC35 -2C562DAE86EBE6529D19066FAB70C8E73B260C71924B0B3DD652AE37DC2ADCD7 -A3E3E1936FDD259A3F32D669B6CD82D73436212D6CCBE436578139AE07BA8C5F -07A8D2158C8F21007FC0B96E2B3588466A6FAB4F70363E994AC4FDC2CAB3A478 -9C98DE079DF219648A6219EC7040A8FA91BE9D9451BEA89906677866F50B6FAB -E8FC00E826B115CD65FAF738492A919CCB657186BA12260C2816C44A632285CC -25CA1D797DB0D901EECA675FFA1182AD6D48A8A96402D07A288CCC02F8A7CE0A -39084DA379C5FD08743060851BD02A3C9CC298FFA0AEAC5F5E1928C46A6EBB42 -7D2AF9D32BD0117A8CD7B453C66FF39163092568B5A26F210900D466EA5CE01F -14BC1F57BB0D3186BEE9BA1A5648887CAC06E23057199A31781C4C37B1A07C32 -B8AE8A40F5C481C8D2854AE5C2C3C746C4A2B48189A373A438F512642A55F2B2 -3CCD2D5A06A1859B50C1C3352B1B5B56E652F00EE79060842A33A8CBD002E777 -3CF6C051A6D5F02E35480569E9D00493C494F9FB977E665AAE4468E6DBBCC950 -33876A21B75095CF391E09E814D7A03EAA19BA0D7A560610CC36EC3A9CA39CD1 -4A359FBC14B07975379B68949C9FC2DFAF037C56C13802A7F66C809549EF2FC5 -25EF3F517F06F90EEDFA6F8A3E5F1F3531A5415F3191B8FA7B0F28950A20A1E0 -6E354480D09729E3A2D6796DB81825DADFA4580FDC7813B7989B18020C3AB1A2 -87E948890C25563CB26A068ABABD94F3D42213218F2ACBB2F5B317311474B222 -BE1844548554B37C97284940D5B7AF9E4CBD884D4994A76CC1ABF8E6AB0676A4 -0A8130F05B0ABAC088FE4F9FB536924A55451C8772B29087B8E5E649DA3B449B -4A055214DF69D0218549440B3665E4D20C5A8660B3E0C3ABBA3426E7820E1A94 -5D273A6AC95BFBF247F695F4D7E3C2BF9FB7C5D7D1E4913953B9595C37A9C774 -3BC37749D7EDF4B3979F4DF8F5D0225B9237410F39AA49791D3E9DD2C1C33B75 -F7D79CF6A2B421E9704D68013F510E1408F0C243E58A3B01F2AB6488D1C43C1D -11CC206EE00A0189A780A11816C1490A3D43DA1891DC61E55CCD6C1BBDE82871 -27E7848799A526BDC965C7382E650485A05341E9BA6769B4DE062EDE099928E8 -B5A7A5748A7A1AA6707FB743625A9C2EF7AEE00D188F914C8032C9FD72F110EA -A18B8CF1F442FF1D2941ACF480E012A46BC423CF80B8B27F71AEEF12A3837683 -B835F569BF799016A0F0DED29BDDDF42FF4B0C6E9DD685DE6FF0865E46F55D8A -2FC8EC23D31F281092AEBB07C9002ED1D7516AC8CC5881CC0B75443DF6DF9AE7 -0C373DFB29294713B2D142119D8097A35EC6EE55B0765351A47A433634F8AA99 -AC77CDFD58E5B4949F68A3B3AE8CEBC1461957D757E82FF2EDDD15631AB33EF7 -93175D3F26FE229E828E09BA0E09AD83060426A04CC0D66C4A5F68FF07ADCDC2 -DD0D86454F8722AA4DBBF313AD9711DCC07FD0FD78829201FCB6E8F101E3FDB5 -604ED8B8468235741A6001E63A13DC1019804DCE8FB3E8F1275C19515045149D -757890701A6EB0262C1E616C9BBB2E223EF07EB47A4A767280CF6AA71F21F158 -C945B51897394DCCF42E5DB57A3FC6D68B9933A9AB17A11C83CA0EE1FB3F4549 -7A7AC43B07267C8BA09F3AB2A52C6E91D236554B0C0E25E50F6CED6BA46EE12F -935E4E19DBC6411493EE29335EF6C3FA87AB5E70C028DDA186055C308A2DE1A9 -1193B3E15B11D1E155513349471BEFFDB5C5071BA393A1EBDDBAE2B346E522B0 -1B2812B4696369361C43EF9A2FCFCD37D32EAD713C35A1B358A0BE920F435B9B -0D53D5573F96FC2EB63BFF0EF59B177319B02EF472054B64BC918D7B61C87250 -EE1DE8ED8C365BCAA589B9FB870CF3431D4898BE3A5BD9ADFDBF9CB20B285954 -FB18AFFC8D4C4C3CE1C15236386F2BCDB0A89BE18ECC88A189395448FB8FE090 -37DE2E03530D14C1C5A498DE640F91A4C092858AAE8ECABFD3CA48388486423B -EAAE8AA6AD668286443BFF680A4E5475C2AE27FC0842F10EC321DEF74B3C9383 -0C1728E7D5014E53D83416658D4D039987A654231BC50937B2C71318A9671AD2 -DB628C3C99D0EB41AE2E505CBD33BBA5FDAC7439DEE3FB3422118CA5ED5023EA -58BF1D47260AEF9EFBCC3122E42650DC69F3D8D8B575093A6F6D6F93E171C3DF -0C82FF4ED3B1E592FB326B8EFBFA5201E80F474D2F7A68287E3C109A0B8A064A -CDDB2330DC068B5DD69F8E7BB6FE8E647AD3A05938BB75DF93C0B3B03D76EB68 -E0DE1AC5F4A31BC2E23C3CF721D6CD0BBC3030DBD0DBB1BCEA5E136D1522E73F -2AE7CEA2D566F8B32CA888276FD69F5FD361308A71A4B0F4E2CBFC723277F36C -28C982FC82EF3ED04F5FEBFBF9C2D76370E9149E10626778ED2352CD8E7E0E5E -42E27B2E31C542B1F9C172C21F2BE5932C87A6393F9AA755DFC805B5C13E94A0 -64805D8CC48F76E412EADEE158450E74F60E3BDB8D95455A765702996968BDC8 -F013A657DD6D85400CAA4CDF9BBFC714E431DFB0E59DF43AF9816A0042528EDA -29C32D43009DE33DF99DF19C1569CBEE990A0E2FAB94AE647AF6173C690E6F78 -76C5B3019B0127DC37DB2EF1C85ED74F782F2825C52006905D8D6E27BF77DAB0 -4CEA0158482DAE525B9A2CB2686B664EAB54C75F41B90240E89C00BB1712A05D -62743A38E63AFCE7240FBBF3F08983EC757651E74D28BCEE36894A4B234777F6 -E2800ED2D740CA1880327EE6F1609F9CA0C617F2782DFC7C6C03F1D99A94FBBF -2D2D672026CE044164348BD7E4F73251514B6D9543CC6FA7E236F23CCE4DCEEC -2A373F4134FB9E2A51EFAD456C431F08F6A4336955BDAB85F8704AE7769A2F64 -6E6F27EA470E2726C4A660BDB14C8712D5A68AF1380CEAA495737037C393B2AF -07072B4247BB7D012B7AD60091E78D77917B881A4749B9BFEA05F16B9285D48D -C5E38F9EADC31F697F308E11D32448F5AAF124B540D3E5778774B8F09D4506FC -9C78EFEEA457048B2510C1F46F28B9EF8FCA0052ECBFFEB938830A1A5EF4703B -CD1C445DE17A044634ADC6317AAB5D81A7700E90BA2ABCAECE474A22664106C7 -5711C23E9CC8C600879797C785292D5FA15E294C42865B1FDD59A207C388BC27 -8EE14E1F453BA173016D90843A1CE334E917A3BFA7431F09665BE57C0FBE0C97 -0BC8969FDA31EED683C479B92143B88BF6A27F3B18B12E8F1CE2B4249DB7433F -1A0B6F7367BCDE34903049F49B4C1F2891DC381F1ABAA5795053A027E2B115FF -644520CBC66565ADACBBE849218A0EEB6F3D7C788D1E4970BA3120C219BCB162 -596CFCC2D590689276DA9AA8847F8195B412A1584280BAF8F8CADCD2B0AFA695 -76A3190C601B5038E6E29AA502A290938D3C410E7D78919014C1160E7ED51DD4 -AE48E760A719DE1F19F45AD907A5355FD7F82E44300B095C1FEC3DEC920A0897 -79235EA5A815CB73EF76C3920EA385CFBAD1C1D4EE7EBF0F0D4105F7D1C837C6 -E407E1 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -cleartomark -{restore}if -%%EndFont -%%BeginFont: SkakNew-Figurine-Bold -%!PS-AdobeFont-1.0: SkakNew-Figurine-Bold 001.002 -%%CreationDate: Thu Feb 12 14:57:56 2009 -%%VMusage: 120000 150000 -11 dict begin -/FontInfo 15 dict dup begin -/version (001.002) readonly def -/Notice (Copyright (c) Ulrich Dirr 2004, former designs by Piet Tutelaers, Torben Hoffmann, Dirk Bächle. All rights reserved.) readonly def -/FullName (SkakNew-Figurine Bold) readonly def -/FamilyName (SkakNew-Figurine) readonly def -/ItalicAngle 0 def -/isFixedPitch false def -/UnderlinePosition -100 def -/UnderlineThickness 50 def -/Weight (Bold) readonly def -end readonly def -/FontName /SkakNew-Figurine-Bold def -/Encoding 256 array -0 1 255 {1 index exch /.notdef put} for -dup 43 /plus put -dup 66 /B put -dup 75 /K put -dup 81 /Q put -dup 82 /R put -dup 88 /X put -readonly def -/PaintType 0 def -/FontType 1 def -/FontMatrix [ 0.001 0 0 0.001 0 0 ] readonly def -/FontBBox {0 -158 1430 846} readonly def -currentdict end -currentfile eexec -D9D66F633B846A989B9974B0179FC6CC445BCF7C3C3333173232E3FDBFF43949 -1DB866C39088C203DC22FDC758584860EC7BB67FDA28CC6208249060E18FAB32 -204779B5C03C0493BBBBC95CF02692CC4DEAA8D2EA90B5C2E64374E92BCB8501 -429B8FAE4A76C0C6B76D6FF7CF9A7D5EDFBCA0E959541C59BD05B7DE43D25D53 -FC3DDA6EF0C2743978A6D03E19CCED4A11F2EA4BCC3110BE8B8D9E2772361969 -C19258EFAFDC276CB1ADE9208A941A36D18F9FB1C33DEF76AA315DDB07D440EF -662966E7DB0A01929A1BB04538E2CF2BD8A1AFB22C6EC0DD4F2C4D488C742D5E -669571267C49BCAFB5C141B2C1FA88DAC7931EFDE3A9815238A12786ECFC62FA -829A03F564B87235AC7420AC23AEBBD71F9C9A61A5AB1DE260D375D2983DBB87 -74F692AF0FB6AD250BDFD9718C66C64B496E10CBCAA1272A4CE2A5F1AB056004 -6A925040164BC75D2DC2C125142BE35F3CC3730D755348B4871F7B8365D752F4 -1E87227E52D71057A43F80D8F8952C60AD1B492C9611CFA54734F60DCFC55069 -A5CC3D4086B8E449CFB9D8BFF2AF93A775DC2161B4F79150373C5457E7293AC2 -7FE3A244835166E48CD7AFE325F59ADB3044EB1563492ADF6B9CF08A7A5990FD -DD569794F2C8D74C8B75C2633A58AC2700558316F587E46578F89B7F392AB6C3 -889E1979AFB38550018F0152A56D5A2C5A532A12D3B6C01B2916D158BD3C58C5 -60354E4BFC38CF937A14E8B51293EDA34D0194AA9DF7DF26DFF17408966AF9EE -9981E7FC5202D660D75282FEBF7E9548FFA00CF8E549F66E9604200BA578D28B -FD3611E3DCCADC448E5861752CA847CF85FE46532EBAC475558E6074B8107F22 -DAA87EF9B3611E35F301351E76E634B035DB3DF6AAFFE9B7A705E7246B469EF5 -4096B247A636661D3356A8AA466240554BC0FF629DFA9A66C8A607E48F7297F6 -5B47189D8398C7D61FC5EED7D7E1E9E105216D435F50DE83B089282C84CAEABB -C5C18A1CB8E616C0C1E75832291A59F9839CE31278626C4C5EFD410278B3F850 -41CE1CF859FBA2870DCEB5F7E7F30FB1E250F12170D8692852666BE1920B40F3 -AA28D246C52061DFB9076201D7557AA20ABCABBDC2C05F7E120B481F8D77C8CA -A24F1526CCE72033B37AB2E428D61D7906FF68BE2E0D6A96BB289564770D0A5E -EBD81A73FE2DA4B58FBBDD9F6384613275A7AF3F075CE9B88F69719BAE108F34 -7F25D40A3917AE6E23981338327B9DAB8B8CFEAA801B46F1F65EF5DF3A632B05 -845F38AEDE98D51E984FEAD578755F62A385B339CF2195F15E74193E8AEFBD3F -557DF3D62706B0B2D8402B671BB6287A295757CEAC5275EE6661C4DE72166531 -ACD6743E589BA205D2A3F9F81935C02F05560B15D2344A1834883A4143A89A1D -220A4639691A84D7F728A02F7546F803A4C4A388BA2B23C2F894EA40682F08A8 -CCF303CB484A6F2108124D00A25EDE3383CB75B5F89FFD5EEEEB0C032D13A0AC -ABD574EF95280E0C9E750E371ACAC36BDF3931A36B3F7756E3FD60A30E2871A9 -AA6373A4130CBF33F0BC5D534BE0E96BC0FF6BE135825DCD37BEAAA6D845473D -B6FD06418906DB49C55AD602D8E99B3A8BBD3247AC243E25214074B620FE45A4 -0F369D58E096610D7B4DFE75318EAB91191B962D6766CF78823F39346FA04774 -2BE123EB80D86AC1FA5EA5326F001BECB3FC7DC3E9F2CB5B8299D8DC4CC03D4D -2F1AC4E92B9C1E42D0FED76CEAA854204449A841EC5A814A0D6E0AE9A715426F -11953708EFD53A2D60CE32134C8DCB044FD9F1A56CE9C6AD6A3C176104A3E70E -4884C96C0B8FD2A6E4C1D7F358DC4BEB4C2845C1F62D4121F7FCA3E7031B98E5 -563F0E13971047DBFD7E1F86B6D88D79EE401AD1BAA04C3322B763F07CCAA53E -2D9CFFF6744D0149039C958ACF9FD31392279BCF1D4D55505D45024C8294081A -F5C36E6F6EE4FF3E0DF037FB8CF49C9413B94D4BD26B5E5BAA9E9A7A3340F74D -B27F3498860B7113FD8A7D8796D62C0E61D7918C20CAD5EB1CFF4BF2AF3F2674 -C4BA899C8950B0013097B611586CA538C6EA0C984196C3182FE1E5E51E29C9D6 -5AEEFAF3ED36110826F1C8EE3A7AD4285FFC1C55CFCE5FA154206A39A8AA7B99 -6FE277DF0898140B044E1EAAF8B41840ED60450C6A9E450F1AF3F2417B5B7366 -F95EBCF7767C36AA560BC51AD38D61E7E86B1C59E6C9BC72B7AF36E28B0C7086 -93EC22B89F3B212CE5BC176FD3F0D13B62FAAE9B4BB65975E73B3A1FB28A6975 -D8E4A49EAA132EDF52BD4EE3DE3C55CD7E37B5B1019E0134773FF2C983F9997C -7085F1500123E497BCAA31936DCEA35F5D8C5C4E50201D764191F5C40091F50C -4FF49778D0460034C2BBC73CB36C2FA4F2D4A2388471FF76F14011FE576451A1 -992860D57B64F45349B1E25C3ECAB9DA64780E34812C15AE62873FFC09EECEC8 -796B102C3B5B929CAF55624441D1A51187C3F36BDEEAAE4EC95484299E42FE0B -9B3F7D176110F3076DA78FD266EB97C9801A2FF623A05EEF96046EE6089B9133 -2F15EA0EBB1910C9911BAADDB3A65DC8672552B236E7A79555E684255329B7CC -A94AEE53014265950A5E01C6632160977D24444B3AF5592E03244057F9D95669 -E0E4B6FC69F28740C0D1EB38B93C8ADBAC421A488FAF5E941F103621522E135E -EF3C926282763A6D690B0E7CFAF8198438CB0C505F3323FB17CB1D35CF29E178 -35478255274D5FEFC2AA10208E77ED1EC017372D5A58FA5D9A592D1CBB9760CB -311AE8B618F2AC621411C94855EFAC3F2CA3A0A1442576E9DEFAD4D2AEBE3F10 -46AA6D5DE405D3C85EA5AAD3782AB3ED302A624C590164986690A2AC093BD78A -7D7C5730A1F2E0EE8AE22747A38903E8053E13553908E6548A3DD89CC871AF35 -18FED8BE403B75D50D79298826D70D87C55AA91F7443A585ADC9D5AD431762F2 -3DFDA2448E41ADFD2C0A2AB562C9C8BDF55C7D7321A1CE3CF3906DD21DB2B785 -CEE97EAC5B312478618006FA46648CA264A71482BC08F7FE4BEFABCEFDE61FFE -9F2DAB831551397C378DB83CD57A98DE845D78C627DFFDA26480C193B145C227 -9E9FC6D90092E00AC8FA142BA7B27E1BCF0EBB30CE54B961C30D37B2C4FE45A8 -0AD3C2A75FB1923D78F4108F27B8C930E168242938984C90F6062C3ED876A108 -BA2167B629D96D6722ED956B24148340394F8BF22CD82594793ED1B1E52D10E1 -61C181FAEB539C1CAD48640C8DE924DF4E546A1219F4B911F44953D76D6A437F -DA54A8D6528FDC32B929926C577540CF216E2BE378502E3C909BAF81615D7DD5 -845EFBC0C61C522A582DFCFCC65B7CC7489890CDE36EE51FE93F82955C82E0E4 -AA47B33F912194B25E4C21451463073D46C90E596231ACE0B566F9D2AEC5C0BA -E2CF11A396B10AD0208D3855232A03BDF8746E0470CF8ED64B7147C736498733 -FD7962085EA8335A06BAE417C45DAAF5CA836806F39AAFDA63C6D40DBFD9CD2C -B58471F07B003D6F1D77DABA13966C8970435FCB9D697B965F95635C5AA4E18A -F298EFF1CE76A84C08F1E3B318BB556B641BA842694C76F5427B330DE1A0F96B -25552D7616A19255CB8AC303C0FD20DF6A802B15B9A307565114AEBF2778BDE3 -BCA25281F498F9E668E946499CD471AA25E4D9E25D10A31648EB6AF9DB605719 -E7669CD856A93E84EE9568073E9E22FB4878D115BCF24D6D95B98043DE54DD6B -F8C8348DB295293B9C318BDAB0C79F9B25C69446BCA2933B06E461CC8CF407C3 -3EB13EE5E7A9AAF5CBC6BBD87FD0CCB5871F8A128CA9DC02B8F00732460C76A4 -6299C3D871F8A7AF5CE2DFD70F0057E9A3F86969C8EE3108750879A07602AC8D -EFDAAA11182006AFC79F25C923785A24772BA5C8E28B38C4968C39D64B764E6F -69FD8E2C2E4A6F56492AD790502F0BAB3DFD16AE147E1D8932AA4D9487EAB2FE -27FA2F53FF793AC2802A9431170EE9A2BDAD0B86D7F47642B132308CD1AD3E0E -0A5DBB261020BA7FEB75E0786654DEE2491942A18DF26401E454B77205601ABE -9045CC8DE2C5B77CEBAE75019864EFF6F019912B9F8227F6468DB6350A0D6A46 -4DB8DE1BCB88B3B226FD8F9F2063AAC05FDC249E7937B81023B39A7EA431BC18 -F3733AC6710842D53ACCF66D7081FC2E8BD8772E0083824169E62E43C8C8F390 -C58FD63034DC4AD4218BC4FE80E00113C7E4305499FD1E3CAEC052037F3EC8FF -F951070EF3AD1B47BF4829278C6951C3585D232FEE9F4D659309B483F53AA7BA -21C1D1730C26AF49CB34B679279F0EA44F1BDFA56E0DF5C7A25A3110F85E7DE0 -166BEA0516EBC63FE5F487B3427B5519FB885D9F90A16EA47D546E26C75F3114 -D3F6659B0A1C48BAF44480C1A5F55D595655BC8E9F5313AE7149B2D19DC73A37 -97D4234DDE57AE181627C8474C6DAA88EA0EB7766DE9FA5AB82165203A86B209 -DF76DE1186C99950F24FC759455BC886DABBFA6252D0C827A1C1A5508CD330BB -36F97909EAE89F08AC7D0F709F3A748CDA5618B131C60717809A484B943AF1CC -AC628636E16F8CBFE273C14AA1D3EF1F2169DC59A98EFF1BF19A16B68E22EA13 -C6718DA08396E5BE82582DC124AF4665754FA56606A509B325605F79AFF974A0 -E8D45318FE8F2514249D62B9DE647C3E1ED5EC64B09FE3C3A186348661C42083 -41CC725F21BF20D97F412E22E4A5197F493311762C9E2CD73E0E1CC7E1EB4273 -653593F5BE12B12E6F980AF0A2064A7E59411B1259922856E1664971FF676533 -7AFAC243BB427BD425E022EFD659654F043C870BA56458BF7EC3EC7A081B9C31 -EC1DFA6E54D3928F400C770377486714D04CA600D6EDF5801E2FC4AC9D00A4F0 -22363320D02A927F577A4D104E6B94CF5CC84783CA3FBB5E12F67D9DBB28FC33 -CE1C65ACE78A7F5E2FA8E9170E0D925CEEF9245F2FB54D339A3B2299A756F369 -6AD7AB62D3B5CCCC7934E886A8C4EF753E6D0E6134A10B924CF6C937E172366E -C3451EDA484FE09526558728E84EAB78C74179C891F18DFE769C833C81AD7110 -6D74FF36D48B3211BABA3060E291AB30C9BBFB840C63847C964E413B4E9FD0D2 -73B482CAB9DB121D3DC14CFD70661F949C9BA8A4A46D289C1E1A3AB1F03A18F4 -67D77BC98C82B5631075B1B7BE0AAB6604E692F0883F6D9DBC499FC0FC6BB5A4 -F38E589A0B43E1F4F0BCBE54C0872DD66158385713072148D400FDEAEB326CB0 -9290678140533C56CEF1CD88AC12AEAD88A8CB129972815FE9F95F23B9248B79 -5AA1F0CD67797ED1152A7545476131B01C4C1EFD352F2E186A5B790000159325 -43CB65293EE73FC25B6C993DE2EF0FD5703DF49B5CE9A0981FD94B34694F9291 -B9C9A228AE62DC2740559DA1CED2C38EB28EF05F4D22561AD9947C35D7B8F86A -797D6273822FF0FDF3799660A9A9FB0C5BFF35F8BFB21896294AF2C797F109BF -E391AB2380789915D6C1F41D6D3E10C739ED560614404CD22AF12BDA5ED266FF -84191D92648E6AB73F00780AD2D5F8D651 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -cleartomark -%%EndFont -%%BeginFont: CMBX10 -%!PS-AdobeFont-1.0: CMBX10 003.002 -%%Title: CMBX10 -%Version: 003.002 -%%CreationDate: Mon Jul 13 16:17:00 2009 -%%Creator: David M. Jones -%Copyright: Copyright (c) 1997, 2009 American Mathematical Society -%Copyright: (<http://www.ams.org>), with Reserved Font Name CMBX10. -% This Font Software is licensed under the SIL Open Font License, Version 1.1. -% This license is in the accompanying file OFL.txt, and is also -% available with a FAQ at: http://scripts.sil.org/OFL. -%%EndComments -FontDirectory/CMBX10 known{/CMBX10 findfont dup/UniqueID known{dup -/UniqueID get 5000768 eq exch/FontType get 1 eq and}{pop false}ifelse -{save true}{false}ifelse}{false}ifelse -11 dict begin -/FontType 1 def -/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def -/FontName /CMBX10 def -/FontBBox {-56 -250 1164 750 }readonly def -/UniqueID 5000768 def -/PaintType 0 def -/FontInfo 9 dict dup begin -/version (003.002) readonly def -/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMBX10.) readonly def -/FullName (CMBX10) readonly def -/FamilyName (Computer Modern) readonly def -/Weight (Bold) readonly def -/ItalicAngle 0 def -/isFixedPitch false def -/UnderlinePosition -100 def -/UnderlineThickness 50 def -end readonly def -/Encoding 256 array -0 1 255 {1 index exch /.notdef put} for -dup 46 /period put -dup 48 /zero put -dup 49 /one put -dup 50 /two put -dup 51 /three put -dup 52 /four put -dup 53 /five put -dup 54 /six put -dup 55 /seven put -dup 56 /eight put -dup 57 /nine put -dup 97 /a put -dup 98 /b put -dup 99 /c put -dup 100 /d put -dup 103 /g put -readonly def -currentdict end -currentfile eexec -D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA -0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93 -51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71 -7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551 -E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078 -0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273 -C01924195A181D03F5054A93B71E5065F8D92FE23794D2D43B233BABF23DF8DB -B6C2BD2F04672F9A3B7FE430263E962F16A948319C51B8ADE6E8A80D3D88023A -6DEA4D271676C2C8615C4A0EA7DC8F6601610F398673A4D4B905F49EA868FEF6 -39BE073001A36DEA6C08ED51452F062B971740019692E221F4455EDE46AF24B8 -407A98B791F6AD525C72C09776247E194043281D04FE1CD1D8AD8DCEEC3045B4 -F95B3B41CD3300768D8A049815348BD7AC1004F5500817E3A267D694AE108BAF -285B288FC5F28A03E9D34FE5D9B2F9A9BB26ADE66B1CF8EB5BE606E83D213C33 -DE083C20D636EF780E761944FCE3B8A950B1E6E7568F33B557C6D59E0CEAF185 -53E609A4F58AC4D5269116F958C4D115C44B5A6DABAB79D3BB6E60BDFCECE108 -74CFBE258779F32C80CD7D9A7CEBA50A0966BD9961F71560119668C4A0C30A5D -ED91ACB30940502B24F33906D6E0F16F81DA87EB6D7FC8B7853BE388C40D75C2 -2CA8F94713AAA1561F5321CE97997CB4AF0E37F44E25B0F73CF4986422B1CD89 -8F861CA623004ADB1C28268D7F8C484AA10C9519B6AEADC95AFAA3304D60E85D -718B2F67D2B734095E5A92C90785252C98067DC05137BE735220BBCB7C341D61 -C4B98BFB1EAF883D38D7A93195A059EF82B42027F23B6CD633231D704B891A9B -03D11A646F13898F20321D7BC150C63FD6DC6BF9CAFD8DA759E95384B729A0B2 -767B9F3E55C682F7A248BC1184F7D294CFFAE0B246DFCC8F215625DDD4F49F09 -FA8D41CBF4A06152FEB152C61539ADF7E70A4D23AF8267D25CE3B12D39D62377 -547E2528D18DC4134FA3BE0437EE0B3509223D71F06D44C6227D62BD01AC0A2A -3EDA975E894371C07CA1027B102549A7D552FFD25ED2DCC68E29E71BBAB43C62 -57B0BFC6A953ABC2EF703F35D112F6B5460018CDCEAD17F149DBE5B52C2B9E10 -9818EA6D97C8AC884F6841C9B600A7D868F59C1D80E98DE0741D06D69858EC84 -1B33C6C9938B7E8A6FF6C12AD456EECBD3EBAF0D7331536B9F6422019FAFFFA4 -822E79D6D89D6366DA636CB708894FEF904F366E295F1CB808E78E883913C4FB -1631248ED6A7CF1095C0C61C4F05E4B9DFC47533A5FD24540AD71A0E2907B98B -28085EB88ABFC3478C9644594C7DC4244ED5A7C1CA8D960B65497D56D174645A -B88F12C2CF0A807DA314017984CF3C4FB7F47392A651EB9CFA961B28E2989893 -9FC4D97171BD5338673F5D1CE2C3C08D48A1B77769F01D5058236C655FFD864B -80E28F900191D4EB349AA5E400A7B0A0FCA0F3E79D7A7C69775BF754329397B7 -D18B20B2683CBC4A19729BA878B3C17EBA0A7E9EE297A5B67E915CAD92C8F356 -582B8299DE6A58E73408F525F7EA895C48A8F0D626A06A96A50348DFBE479D89 -4272576FBB0CD332193D28A8F11503BAE98F8E1D73CF5BCADF23DCD4E6586ABB -323568F5A34E359661074D50CD8D9DF27191FCE24F10225A5D721EFDE2547E1D -CA998077D2340B1A4ADFFF570AA677CDF3305D5E3A394BB1626EB35074D4EEAC -2F037CA2EA389F7683FD17A8E07C12B4CB3BA8C249C9B12D297C618009F76717 -0EBF5F2DD39A6BDA10A2E5A811D4E190660F5FDDBA29201B6F8042620397AB2C -E59267A7247B0463891831A6F40582BC3F614E5167B646A8F53D8A31717DD9A1 -9034034E705BA7884F0E0738307AF69D3517147C282747F2788462FDC4336A4F -9CD222908401A25F0A1F7B13B8DAE622DC965AD0BE62497420B70C04AF432237 -E0FDD043456187658ED93B0F9822A3998511DF05E59CC85B7B9992CA0CE3B814 -9723BAE70D2631F32B4BF93511F67179FFAD2075E1591CA5907A4C67701B56CF -A5E5B02EB4A842BA1F18D6864E5677359C2FB4AF5BCBABAFB053F230CC129B45 -8D15413F736EB07C571521C7DE2A13F2AC1C133D491B0A607197BE9AA1231D96 -BED7968788246B2E4D2BD330F802810F5BDA3760FEA5210CFC6F54748FB1D921 -5CC3624BBA5B8962AA7D94159651589540B17CF7A785F297264F9C1006D36928 -6E2756D3B623A6087E4B106FBA76255903C624C07E18A1AF4E185A533C640711 -86BB477A906ADD36EB6C8F4A12BC2F01B2B98412E4E105977640930CD998D990 -0254A1E5E9843B7A8ADE0AF6D5871E6D3D666465AE69813A2E26333213FF6713 -6F08D55A90C079A56E1B9AC655F720FC22B5AD8550FFF26DA7B0C5A0B60DDB05 -64E8FAF684F3A455BA9BC9278043D79537D201D520E38750335A4C8FEA887377 -879331B68DAD6B253F4FF9981D0F9B9550ED5179B15EEEB00E560A3DB6E5973B -63403E4E2F40A3D0B937246E9652000B917B1369741E0F913C14C2D2D6D1FCBE -2CEC4422177C58523715BD070002EC2E13D383A1DC8C84228862B6C5D3B65667 -9FA97E175239BB7FE7E37E14B96DD7960A8AD49DF428CFC13B5D3CC22E245317 -47B5244DA97F1DF954CED2D552477237CB23D037C0DE728E26C82738954EEA1F -F34FE497DA005AF03746DD2ACF77F6E6F2C224862A1D18AF6F7A5DAF34564387 -9E01DBFF49F8621C058C04C2B3F4F3033FF3E8A977B2CD6B2A3CA4A6C569B19F -C5AC457AE9AF334DA66A730960C7565E93A2D373C0E3DE14646FFDA05DF4C6EB -6D4CA8ACCA3C3115764F77B842581760BFB9E5C0EBE55308B0577A8F4D968CE2 -BA3361D79378D451DD150C34D7E901397AC63B33BD7DB13C50D678F5DE999238 -4B4EA15BD449C46F262D931478F5685CDEEC4C4201FC3EFA607AFB8F27AF6751 -125DE42D2FE2D31DE769B7E7FD8CC8C5D91343B537139A822A5BC4160BB5314E -37501F65B4FC35475FE9E03E34CBF6795AE86CE409500BD0799DE39FA69978B6 -EC74D2197C03632D3F59B85F404DB31240968FA75059B2581B101E028CDECC2E -7E5E25DFA106E9B8ADB81E82BE9ED3BAA9D03EEB22B7B67AB1262DF6AF5F5EFD -A5627EFEB84F3A5F92EF2557EDA2843D7D18C592635623CEAB14CC3620F33986 -410D6DBAEF9F86E4E6682054540E2B01D8FF2161F10E66851A188BC15BD6666E -8D3F21709F196A31EE676D28A2D12639CC2E7020A52910F052E61A0710DF09B0 -064171D05611451BD24FAD64716F141E1C41D3218A8115A3D73CA041D02B46D9 -28C3D07DF0FB668E8E91409C8D0A26A65CD737C075E026AC0A974C9BE658199B -3B9D82ED95E4646977D8F60717DA4C68767DBD7E8320D5AA1D5DEB2E6B009759 -8282F27D64F1F904830AAB501CDA4D9233FC2F12F77F0FBCC46E6B729C71F6D5 -E6F3EA02EC35D1048394F4EF2177FC5EB726DE5EF2DE7997166B8BE5B5105D08 -EAAC3481FC612665CA112D3F889A0E5B7843EFFCEFACA24A01B6AC2B7DDE02F4 -A9295AA2409A3756BAAB44608DACBB56840060037869455BEBA46F10AFC68DD0 -0563843DF111C6D34911CF13AA6023E5E899060B5EC60D0F78FDEF3E981151A9 -24903EB13ED1A67EA1977449716D1A5A7EDE1A2E9465C9C2B20A58AF02D9F373 -73E627CBF296B3A6A4670C39F3B5EA30D76F0362C81020A1777F0ADDBC6B52F7 -213FEE1718214087837049CF2AF00407639657428B9E8B532F68B631611A3501 -3D9DCA38090E227BD0D6D0FB4130EE866DB6B195C873AFD18DDB3B1E40F740C6 -B3B375ADCBBF628A07A5FACED539FEDA3379D3B60216C2EA6629BE2F65199D82 -FE3AE627D7C67270F3497AE75F7A9514968B5950E2D63C38DA240AF4E6CAE88E -E25167D179108679876E7C80C85FE1D2BCC2EC9B88BE76A8F5736E8E6B3A9CF9 -42E58A4ECB7914865E67C1468CF66D658206830B9380FE346DC2DC4BB56A92CE -4B5E4EA9036C177869315A2D9E6CFE97E3BFD7CBE0747D40CE5E8A3A0988576B -8AD2B1E4314C0D8A0CBCA08844A49F7E054D31BA7543730C0A7390BC4A288D10 -CE29E389A4791305D3AC1BB6F77C805F1032787306F78FF76A20A9E629899F6D -13356768D33D7B9E294E8CD50CBFB9CA02A193922BD9B4372C912D1689B6644D -52CAA30F7421E8114D077288119AD9514EF21E5B9989CCE2ABA0C12549FDF493 -FFB39736AC9EB72DAF45E4EA6057527FA9F5AA0A1A3F03C12F7482E465C766D3 -760DA7714D56C91BDAED507A5572BEB51A895F8DD3BD5AAB042650154FC7E4E5 -5EEA6194DF73AC5EE2CBD4EE26E29B1D2D0C458B4850BFE842DDF2EBB4E2A25D -C6A11CA2D8F346E2B736DF88A3D57BC0380B52396A6C039212699F5D3342EB58 -0C3DD5D01D5078479BD9FD10C07925556C0AB0F03606F33796BA72074549EDA6 -E33644F62CA35207D7421D2727AD8419AD1772789D33405FCDDC9286BC34C974 -A52297F5BBD2E541E8BB473F733AE5097BBC9D5FACF18DE4173B4711E28B23ED -16E0A6746A60F6FF903026A3900169EDA87D98396E762C2EC963D89197B8CD0C -25244806BE7CBF46BE60A8F9171731EADFC969C28679B025371E5572E52A0EF8 -B3FD9B4638D03E20BFDEC9345E70B8166D38846DCA68E0D0B4B53629C7E7620B -45E0A610BCD07FEF8814CF915CFB11119F42407D1C6DC1E6353451D40A382C2E -C74DF2A4889ED5A3495C3E973565F7178CA190D22C9693C10EB12C1E7A8679CE -4AFECFC964CC98111BA4ED2BA9B10292A71D5B11870EB08EB483922CE8628A06 -05E7CF6DF93E112B60EF888AA8DB52994EC33DC7277D7B7A4F913AD30257261A -D6EE80476A9A8D316D190BE6CE0046CBBCED365AB305495284FA921BE0638E00 -63DB2AA4C5F163340BCCD1061B469504DEE350B82FBE1689C1B65D095405614B -35997D6F0DACA7190D64ABA351705B17B23FE2EE5996FCD607F49F54392463EC -DD5B944A4B82FA2BE3E75E2946D483060DF99277340B0AB65A2042AD088E2B75 -BBDAB869D1940F64B50D25078519D18748AD64AC5615EFAAF4F3105B0111AD40 -70EE173ABE6A4ACE486B4E5999158A4377FDA6922FAA6E9305F48570D14BC81F -BFF4C663E1EA9D1E050534F9315A663C4C5DA52CB02EA6408AA473C32CB0CD71 -169BB43C0508A842F400240F0063243B4C459A1FCB3312C41C32ED0EE87F591A -BCB6D5D3830AE4645CB4D40336DB4AB6540B52E70E1EA415CC6D886827EBC5B3 -EC35CC5C136243B0C20B3C603B648B132B99D05F9B48263ACFA59A856BE74441 -FECF5C6D1FE9D1F4F9942F460961901E16017144C37E83C6822177B2A6C47ECC -6C47A1104460665E5BCFCF08874008302750EB991CD98D0D8D22B921F90B99B9 -05EE7C39F2BC2A7798157503743C9F2F267BDBE2E8A4CDA7317F81DBF8962E1C -EC02822CC7F770FD4D08D335904375BF0C6DAA0510771627ECB9EE69C0F47D30 -69A87052989DF80D9F4F19F75B070C3689AB3BE0966453F9D56CED6C1745B50D -813AE6D7E44B73423AB3778ABE4CD2C4DF40E14C5A426043F7057E2DFA2DAA70 -EA6723F1C7967FECB1E7C1C0CA283334163FBE31C32254490170C3513580A552 -19A5DD75E6C4ADCB12D33517A03318A6BBC7E4214266E125140D8C40F78A0340 -1F95D9FBEC4DCC55B71E89375AA94B0D55646F6C069561480407D0A3AC127024 -D7D1E9ED6B599A2A8766B8792F46D35508B66F302D289405B101A3C6BADA680D -8C56E2A00B766A4CB155446F862FCF17537A2BE85418E20CD77C4F1F69F70BC6 -17BB5DA8FAA876D0E8BABE273A19C04A8697B3E3CF4725E2C77C8761A9243F24 -96F8AE96399996001A57FD75106745AB4646FB9C6421F1D4EBF3BE533BD11AE8 -14BFBD6D308376B26E08E4ADA490DDCCA94BE8240403D5EB0FE3549061DFB668 -4105B4FE77189546619B6BCF3F9723E278E98D50A17DB8A4C46744FA21760635 -5B332689316BD17C966D466AE737FE3ED7ABC443ADD88D4823A10BC9747ABDEE -027515AC353A420523F85298029475D8BFD83A2CD00C02CA07974BAA581D2215 -A850E6E4C0A5E17E0EDF91C63FAC18C70093F40FEEAF0350B403E2806F4EAE96 -BF616A805616EE55C4657418C26CAF54187A6684821B86A76F15088AC4D5B551 -66C3CA8DC61E9810858D1204F899C7E3A1754F483134609F6EEE6364B1CC04FD -92C86EF194FA3249601AD722D75D1D395CD15A93C768EC60A486AE885683364F -93DA00A865C1035F913FDA69E7D9A0422880FB81EC23C00427F07A5EA3CCB613 -83C859958AC53FAEA26A6BB39ABA068863CCE3D447720BC31A5136E08EE58963 -093AF587A72112D55853A1048A2B1695DB2D7F13CC924F2F0902071260C33ED6 -30893A04577C0ACF0681C0FEC23E5404F844A83BB5A2F8DE1F0792196139993C -1152094BC36A6AE5BAB4B8281E506F485F0BAEEBBE71E174B7CED1E52A8242F9 -DBDF3E0FBA296538D964EB5B7A4E23B1BB0F59872C9D4FE8498203E3AC08B71E -D2B965AA6CD5D20DA6C83FDC86F4A5D68A58A72C5BB9BFE9BC755C56B24025CE -6F24443D3CF32CD711D3D94C7C1DC275DDAE3341D840090F97CB6CAEF274C94F -9F3BD3AAB3F98BA8A7B5CE5E48D1462DAAB37BEB1C10B410E8D33FA42D898183 -BD4F807112D78AA94509E33C179BF7C9E82E55AA7D09E128A0DA06A330CF4AF8 -5DC861498CE029CE8C1BD15C923A708F2E7AF98E4F7B34212A0CB417553C86EB -6DD46B0466F1A21D29FC5111226794ECFCA5DD4240C0B8D106CCD7EA6F03E133 -BB7733F055D6FFA04EF5C6F872B4FDA3E42F0F036C4825543D75682ACF71B548 -DED160ACD05625274799D0AE201305DA526E01A3D2A719B1B15C05CC09467F3A -5627860C0F36C503EE392E1786620F3F2287AFE56634E03566B9B1F537FD92A2 -913166228791871A8F8CBA1A1DA634E8224058052A10FE1E67CBD3FD21A6C07E -243CBF58BDC78577847664EEA5225EB8D6679AB17C563848A9D4D58995EA3609 -51C1443B752A070D9872FE1643F0677019235AC25DC2B29169D38308F2170A1A -A0FDCC59E6602197D2815B914041FFC7106DAAAF30CD97400C6D0826A40385A4 -C8520119A065CF32CF2FC5FBD8DFD29222528A7F96FDA533145846B3428F8239 -E50277C366418D713F84B12A5FD4F904DC13DB1844A391FDAEB97643A6FD2945 -942FD4FC5A4A35E184F23304B8B4D93D0C37EFCC4E106D4FCD0DA3E5D2117589 -3FFC2BD1D121026562C55C455C3585050B9460891B006F62D9D9B66695C3D348 -A467C14C0256FA9621CB056E7CD389505194FF463BCC4010897F9A690EA87D9D -BB3ED4C174FBADB8A4744C6E4A44D773967FD703EC37672F9993DC48BCC8A060 -6CEFE8E6B8F10886E15BA0466AF410B90DF0020FAB88BE493606B6A734EA85BB -926950EB10D2F2CFDBD182B0F133809612CCF6ACCAD049C8005A42FAF78368B9 -E7684F98DE421BE0A3BC0FAEE024A7BE67E15C8394F17FE84DFD8156C2A3E94D -08259E15CC657E8CE3088395BF6B5F825764E141AE15EBD186DC049261623D26 -8636705E06C6E4A1F8ACAEA59F91B042DF5DB9C2AB986A784384706A43E5F18E -42C29CC1CA86D4F247B3BBBC89F3633EE074DCA4AC15B1E33EE4822812A62E88 -C32B0AA57249980EE17AFC1346074800FA529445D18649A0475246A25CF325A0 -BDA06AAF392FD455218B13D9ED577D51A9500B9FB7860716A8E2FB3A8C4BE3B3 -6656C6A5653AEF00184020ACA0BCCBF48BE3BF91E11C8658686C89848E714E6D -DC158DC6B86AA73E883ABDC43AA6155756145B9EE8EFC505738B7AAA434E093E -029F4BDA397FACAB37996C354110879CA5EAC9D735A9EAD4C6090650B5D5023D -FC9947DE3D2582C88B2C8C9C6213593ED5EFBFCB8EB161A9C9F572701A3C80AA -033903CBED807628BE32BA603E03194E76D374D3813FEBD09ABCAE0CEDC276B1 -390CAEE8408FA4E01108DF54D34CD31F444F24C67742DB868CC2967CDA1B8562 -C4DC3AAE53445277C899FE86E54B8BDB1490AC76FF84E6E695E526BF8394BE7D -685F4AE35AA17151913D70F35CD7820B221FE0B71A0CA584024C964575599D83 -F428992270E1039CAEE78B2D136545062399ED51E17EFE2DD72FD72ECAF8623A -C2C6E1DE8EF99678F333A0A25549721103667E88138D473DCBFDA8573A59C59C -5287D92E1A8CB5A195036AE42DFBAFB1E18A1941C494C795ECF17CAA969792C8 -628B6809C79D5B58F56106EE7EFA0BDED029D2273032E1C8A5CD07991064AB2F -20E7735CFD4B13C2A8CBBE519A8F57C66B98A31ED82CC4A183ED86D278180D66 -D97CE9B52FE6867C09D913F35AB9B9F6931BF820312DBDE76CEAF3D3F2EECA19 -9594CF093FB8D49DAB28DA0EDB9463F81A02C55BD1C45D2C5729767507D93B8C -0D596E1098DB1CFB42CB821E8FA5B5B93BFB454C7CD598BCC5F92BA5486A550A -868D0C17E5861E79939718243DB1F2F6B23D7BC51D926CA86263840FFCC3BAF7 -98B72E5F9191183CA5F1FCD9BACF833A9D58F384DC27B11B30790AFA8C1F0D61 -5CBD7F3E30A565B9703D739A46149AD05407515A3F397A287343D7C4CB6C8137 -FD441A887C7DB8DAF0F445E1DE2BB3A859D465B74109BA18C85A32C8C988D247 -6DC190297FBF224E92AD47C87239667707D70B5D344F4E93013C35939AD543B1 -A8AF20D9DF0629D03971CAD27426CE3536F737B960CFDA0206EA1DD152DA5891 -2B07455FB24A043124FE60C9C35B3565570C5AAF132A27B8098A928F14B7E5D0 -E619EBC509E1E61A0F1A69A7A6028305B86D25FE25B380D2DFC3330B70F99A47 -E67E22527BD17C135A5311F9E7264E646D1EDCF553CD612C2889FE41EC7553D2 -E0616DE75AA40C0171FA981F888E736BE0F3D7F6438FA76FD02D322CF2A6FC61 -1ED2EC97FCD26F6DA6E9EFDDD829D6FCFBD66F76F6E5E4D192A584A8CFF3DF3B -F895FFCD2FBC3152977FF27D05B3656FC546F64133AADE7A8ED6135F0B1E5BCA -B170AE703571A817E2A75AD7C9CF2A7827563357469FE34F6F87E141E181D826 -EA00D46FC974539970EFB2D13C85D6FEEA1B50207E9F18D93CDF9AC655D0DEC4 -0661E300811EAF5EB7123C92A5F8A656B4684E2ED3C9B3F98541C5E6FBBC5DBD -23F23FB7C7E6AE15D9CF22EA2F3357F4A161C2317347FD3DC952FE14918CDA8E -9125741E24E14E3E74A2796BDF8606B932D06E9995A1FECAC1191EEE535662D9 -2B07F4EBA18FB4CFED5E2D516A4350D296BC197E9B6C1B2706DC46F7F8D829CC -9695A77009E865486E5EE1319968FC0D479941F62F3D55A9D81FBF62CCC99525 -D028DCF0F801959BECFBC3C04CE0AA147C50B6DA26D3CEF17F5BDD61E7C82368 -E361D4034E462F659DFFB64C404825C32EC8F73BB1572F7875CC54AE4EDF1087 -D5254167A2188EA00116FAFDD66C3DBFE6419612225D642CEBA1AE5BEF843151 -973EA9BDE8FB7F834730E19E46C61A0FFAC21CC470A32CFCF7AC318CDE98739B -360390E9A8A6642B13AF7C2E28DF5904959122E200ADEB44D45BCC02B9958C25 -65390A99D8E18AD621A0AFC48D88397FB09D0EAB3B1214182E7DB08E59E004E2 -255DBDC4EEF3D97094ED2C21EC501C3F055320126651F8DFCA056E62753E97CE -1C0B152D66E148E1C5883A9EA1550AFEE246506B981C4C25D9FB5C08D065EB27 -2EEEA920D60D7CA26FAFD56023EEDCEAFEBF246C843B688A32AE308D25476AF4 -9FA053FD2ECA0B7A027A91E51846B9AE624BE0FF069DD38912AC08C084C92A3C -EA8D2EA18A342B248CFFBBFAB3B7C2DCCDFC038A7C57FB2C01E4142E7DDD1A93 -770F48F47C49FA0A28749F73EA96B75E8CC013FB0F3FF2B9211D48DFB521FD15 -358BC83C595E1EE2EDF7BD08F26149C6AC81C19B03AC6B53B8D2A9C58B784920 -264D387AFAAB7294AFDC171948CC9C5A1F80D025B7A76515DD9339D135C8D58D -F6EBB9A6A0C58B9C729B91BC2F5BD8DFF8B5821ACDCDE4FE8F64D137D888EA4C -0285B38CB7142663AE9A46A6DD7823863457AA39F61171ED24A3FE3B2B5EC745 -530241D478FE1788AF768F19982A7C869AF45CDB2C7032478A5D2D7492178FAD -7D477D1F4F1B0DB87B057EDD4280D406B1031A2015C741D529C5C10F6FAF27AA -77BCE7B3A4C4E4EF11E73995DF736093C85BCAC506B836D86A0F83CD924C15CD -6BCBF8E6854D2A19F2002CF3AF40155DD84A26C504AB95C5232A86199FC1295D -8BC52BBA9C508DFE62630BC035EF01B9D4D0A5D02ADED4DAECA436B90D0A5B4E -0F7E975F0A6A6B0914482B2CA100D46D3D402E9D77EACBBE3D271C3DD27C28F7 -54521E715BEBC58B3750415CA80E8590F52DE971DAB656E0A43ACBF16653DD40 -C4DF8D976A9561F7A2A4AAA27D75E802284C686C87AE283E6F3B63483AD8A2AE -B5805C2D47FDAB9D5F77E601BED695A5684A1B63876F4735431983720CF1DB67 -EDD3D6CDFE2221396F2D15F5D60F235A897DF33B1FAAD1781C2F7D2BFEC411AA -DFCC865D82832B76458887F0FD9D971D2C75AAA237EFCFBE097C258574978048 -3D682D172A2CAF15C4D2B23690A9738D7AEF0E05AFCE599847B993C18E41D0CD -EF403409BDAF1CEBB60C9DD75E91CF2E77FE532265F8D32F0F393417537F7F72 -3DB71C80C8EBF1D239416C879F1794C6DEE3FA7431267CB6EC7A96C590EBC1CC -733013F337F31FC100C92E6405D7DD1C1CADCF7E712A8B9AD4AF92BA5D627FA6 -97E110BC240CD8069D8039DF36B6E81F96156EBF5B7D624A8032161D54A462A9 -BCC870403230C4E7527EF177CB25E684AE7DD09D09057BBD928D3FF52E73696F -7EE6A9A6C549D8F732F74E01287FE939BD9F4A12191B15548AE275EAE43BE620 -3DC78893B9FFF47FCC219A25EB4010D777E0CB975A4C64FAF62B44F99A6F6E96 -E9466DB126AAA2A3F423A3259422FABAC14D92F7BA4856524EE655D03627B644 -51C8CF8F3085B1FE83B4FC4DC8A8051AED50A8467D17658779C2273F61F89C86 -DE2FB1877E780A50A9EF4FFD5EF53661F69A48AC76BAF7C1B52A067A889C5CB4 -01266FA67C23F1B35E546D928BE9EAAE5A881A239D330B82E3A34469D10B45FC -867C26294E50651B27BBB2DEC0E56B0504CD06C83512421EC1F8F874764B75F1 -067993733DF1586B3C4E6563F060BE9380FD024E0D7B75B672A14A6072BDF9B0 -5B789BAD7E6979717471DA94CA7E569500805A6262E664F817688B513E24125F -5A4F24D8C07280A2C7CC5D14A8A122BA33D5A92DF8B63A9E8FD0C4A410EA8954 -51E2DA453A099295A2108EEA1D1360DE2CB0B04864014B6C542F6E73FA7FFE88 -A2C7F52BFF930C23C97A6C44F17827763AA744F40FA7666C63E502BE9FD530EB -12DA1F4EBB0116E895DF6A8D79B0DD557F943E463110F58B5A3453B9343BB5AD -8DBFCA8FD3C7727D2261190DE52CFE2DFEDDED8199DBF1C67C5B062D2084CCE4 -19A81E23B6EBE286C6455C1364635FD0908EF11AC8DC93A211AB4D896760A1DE -8DAEBCB80B8298239E74776EA1CF8F32DAA0D05984B61A654CF1DDF3FFE2FED4 -344AECB1CFB87FA6CA4290BC7496D79664A4B28823EB1BA123C78262F043E97D -08E2C3E7454B9B1412274D551BB695479C5C2008CFC2BB22B6AFB653387073F6 -40353B1747594E74BAC591D5C8FECC3D53891CA744D427BC2DDC4D75B560FA76 -FD4F23DB3B69B6EF04E84DEDF80BA158F65CE4EFB9D49CDB91BDF5B6AD617670 -7DD0660630634CD859B496C142F25616FF13D4D3D1301E4E5E5CAD40F933A2FC -E4DD8C39720591A480C6C50F3C40D2C1CC6B7245E94513F2FF39AD1D4A91A6AB -7EC0839C4005ACC939FAE7D465DB47DB927BDF466D910DEADC182DA54DCCF1E6 -5B8B975976B65F9AC9AE1FE6F6C9062C27686580ACEEF323D532F0A0FE695752 -A50E555534C4306D9D90ACFEFDFA4913BD873CCD2B09C7823F423594C118A7B2 -141238A31F874D6B989DB29619C2DA86E5FAF3FBCCA64EF338702DF035344B51 -52D0104539D62090F0BA6D4B5A40908BA2BD8A1141433EEF11A285569004C635 -3A14830F5D5A53CA6D5C67B4737112206E1BD0BD8C6342AA2ACFD7C7D6BBC7D8 -49BCE310323386A72C9B6FB548C07AE070B4BD4FCBD1F84137A343EA68868269 -27147992E0CC0012C8B68B7F57B9123DA0DA1143CA553179BF4EFEF2FB2C0CF0 -4ACF7016B3158C2C74A2FC84BFBDE5C5322B37090D694AD0651EA948C26E60A8 -28403DB34726337F018DC85A98CF5F7155514AC989E4C0093C9657599BF3DBB8 -1F7F8E22DDDC4F306C7275F06E539AFB7BA7481F2693613BFB1A4F8FCB85D285 -5D65FC33F59AFA5A8FD010264FF9A2C47FDD68A045E0638BA9134A6C6C5329A2 -5D23D611A4B5F9956EF11FE57375CCB6BDF02339D108BE7F35A1F4AE512B251E -8C7E1A68DBE739C0ADEE551A9C79F5BA2C4DE440FD82A9CD68AFD7D777689DEA -03CF7C10D1A4961AB8E83B47C7DA62BC511875E236F4059CDA0EA338FDE74B20 -E47527397AB72BAF65A2427D2C0EDB2B2967E0E477A7CA12B92829CE017178AF -E9BF94D237869EE5863B0DD1E861F4F795F8281C384E4128C43A57BB7180BD34 -C5CDE905E8AE97A574ADCC58800840240740FCFA053DE052CF6271075516EB2F -5910760B323368F7FBE41F4EF6A8DC6CE2147BB8687752738420B403C6394477 -D6C3FC005FED27BA23289BF57A350A7C70B46773509869A2F4C64CE323680F13 -FA73EF5239CCDF72B6C2154DC055F896625DC8BCD2E11AE0E10126971C1368B0 -AD732315EEDF137435382C6A44CF0B32B6004E4DA8BE0E941BDDC8BFD3F3859C -08DCD6C54563807A6BBD44D8515B60B82F48160E257BEE60E7EE957B9CFFDE28 -8E8E787F83492D26EA4502602962F9A8505C25BE2FD6D9FDE82553F1E65A8E48 -EE5BD5DB27A7217935D2EE5868A99F5147EA8F0A082900CBDA4974C63484AB38 -DCFB009F17E6F71821B6D2F424172CDFF87828AFCD88DC529C99B91B5FDD0033 -97E21A35A8C9D0967902DABB023A684A26334D2EED3893284AE182CE147D9880 -F3F22A92672756A0ECA4F0706625478BE98D0CD6403ABC3D362D88B03194AE30 -56726837C5DFA2173C3B35D5C814D14E2DA76B6082F9A214718CD73989CFCD36 -B98A84AF935D003F98E20A84D3A1560D994C1ACE85DDC1455C3DC0ADCB29C1A9 -8AAFDF4ECF14687DB575C746BE067DDEB8D80C5CFFAC2773C39D753807E23F9A -698FA26D09D7B86904DD07EC7A1BB4FA02EEA39F3C0F782713EA97DC0DA7E346 -BEB371C48AFED3CB5FB93455A74C7E019AD49C68C8A1A1727593D37E876E16AB -82915DD2B021E8C24E23ADEF13EAC4078AAF0DBCD804B857073DCD9F2D5F708E -5F22A7F1696A03BF125E4F7F39B384E2E1A7443D39F966461202F8E982C6D43C -F007EE624A105FEE73DB0B48158785F5BF59ED044C359AA707EB4A517B8DA7E1 -C8AD358C267CF8B7A15E735DC8369A198E2B492B90A522B7F1427B6F7596B0B2 -83E5BE9E92F80B74476129B576A0FFC87F78C45A1307AC31FCF23CC1063BD252 -411B5E606A6A4768675D3E7946EB0E2B5D34BDE201C1A8B35332A67F8B07837B -5942804CFA1B19559E33CD25AAE690270B1DEE1FFEA67A1B8D1F31DEE32D4BA6 -6062DCC567FD233986E0EADA6CF0878D008515030BC6DBC5B5AC7850AF176A18 -7FF2FAEFAADB5B80344D2F92CEA511E17EA7ED5C4A83D57176E136D4B27A43B8 -59637DFC22BB508F64027D60560BD3FD35B2D1830C2E87799F6BBE67111DC2A3 -5A8E72098BD03D7ABF54B0645D3922E43141734576FE16361862EA68CFECB3BA -7CA2AC1B8233EF8761CCBE6000FF8732BE869571EA205FE718591A0EEC115877 -3A3C4A77D844BA26D6BDE27B65F91765E26331AF3313159D36470B99B260837D -93CA8C74964662703A5232605134F103DD23CC0BCA0449EBB3679C25612750FB -ADA29C2EA947AC0AAA648C01C73A8CC96D4E526736E68E6D8DACCA9702DCFFC9 -170AE223B4EC21D9BEF5CDC045E927BF083B5D870A18DA83827D4E696AE43F14 -F351C44CCCAC5E0AB218B8FE1BEB32B1B982CDA89EF23D9CA35E8C3B57FA84EC -CC89BD8F7307186FFB65E2A0A685E4A1CA15DA2E6D3E08CCEF7ADB8BBFA8C0E8 -9C171BE5D85979C546D01E70375CCBD009902F28CAD06FE0A68639E4B6CCE0FF -A9E967B15B3B9A5CF8DFCE6A60954D50D1B6EC58969E58735EE5153ACFA20DCE -26AF2E1F5DC77426811E40B61214282BE4BBFA120438B4F9C4367C88E4E7F352 -830790F5F91B5B1F91B88C077AEE6BFAE21B92969585F34B7EC0D69202FA2EA2 -CDED90CAEA432D905C3C0E539EA3201C99EC5807E22D95FCEB48D17F4FF75E0B -D1A28314EE1FDC3B11976BA4F18AF451E020B76B0E680291D554DF3FE4312600 -0DCF216224075204BE7E60FBCF0709834F266222E2A4B92EF33F0CBCF7C90C5D -B97CDDD049FA4C1DF9FA8A7034DC5255EEB5E80D6576F5F0C91660DD25223078 -C807E4219807FA1974CB4F2B1DC84B -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -cleartomark -{restore}if -%%EndFont -%%BeginFont: SkakNew-Figurine -%!PS-AdobeFont-1.0: SkakNew-Figurine 001.003 -%%CreationDate: Mon Feb 02 15:14:46 2009 -%%VMusage: 120000 150000 -11 dict begin -/FontInfo 15 dict dup begin -/version (001.003) readonly def -/Notice (Copyright (c) Ulrich Dirr 2003, former designs by Piet Tutelaers, Torben Hoffmann, Dirk Bächle. All rights reserved.) readonly def -/FullName (SkakNew-Figurine) readonly def -/FamilyName (SkakNew-Figurine) readonly def -/ItalicAngle 0 def -/isFixedPitch false def -/UnderlinePosition -100 def -/UnderlineThickness 50 def -/Weight (Regular) readonly def -end readonly def -/FontName /SkakNew-Figurine def -/Encoding 256 array -0 1 255 {1 index exch /.notdef put} for -dup 43 /plus put -dup 66 /B put -dup 75 /K put -dup 81 /Q put -dup 82 /R put -dup 88 /X put -readonly def -/PaintType 0 def -/FontType 1 def -/FontMatrix [ 0.001 0 0 0.001 0 0 ] readonly def -/FontBBox {0 -114 1241 842} readonly def -currentdict end -currentfile eexec -D9D66F633B846A989B9974B0179FC6CC445BCF7C3C3333173232E3FDBFF43949 -1DB866C39088C203DC22FDC758584860EC7BB67FDA28CC6208249060E18FAB32 -204779B5C03C0493BBBBC95CF02692CC4DEAA8D2EA90B5C2E64374E92BCB8501 -429B8FAE4A76C0C6B76D6FF7CF9A7D5EDFBCA0E959541C59BD05B7DE43D25D53 -FC3DDA6EF0C2743978A6D03E19CCED4A11F2EA4BCC3110BE8B8D9E2772361969 -C19258EFAFDC276CB1ADE9208A941A36D18F9FB1C33DEF76AA315DDB04A81691 -6676E5A648D7DE382599A7743325F8403952F71AC144CB079B79EA0F6CC70FE9 -5F3188F983A1F1EC77ACFC7CCF01778F00CCFB385AFDEB4E5A9CE7CC620FF716 -C61C9DE01E055E0CAFD45A716C0BE3FCBE9055D993851DE60E1E573FA960A4E0 -DA00D6FC534C4CF679C935A5D4A5B19672767A386D945B17D996CF36231F8E98 -218CA1C3BBB7D39931D4D50B1D1EF947277C4A9C9E84D419D55550E2A5FF0549 -1FA0277DC7AD9334BF50CC5492D5EAA01A2BD4770AD8B320B546FDD69F0FE7B8 -7DCE3B013AFA239B624C50424184F8B2E6C035CD8D09C0AEEA727DA23EBB0563 -F296F801C2D059FAA56DDC675D141E980EE19E8693DD546BB1EFAF23B25EE18F -401F89336BBB74A63088F8D1EEBE74494B265B6B737BBE29B09C257B26F2DC39 -B3CC5E66AB9A1696EE887C7638A4455C101BA7567859E0E604629B5D3FF0C3BD -9415B98896048B159A2B809B92737580090FE1E59963263B10DCFDBFEFE15B88 -68ADC79BDC0DF2CA41AEBB4338C85C6CC6C21EA274FF5724D26BC8563E63DACC -067651091F0E4F77C75213298BCD391606C39E1C1F37DD9C2C4515172E0DB0AB -3E93275D2FCA7CBFA53CB4D8123F6F54D0986482FE3E98ECF421B3A21437BD9E -E1556833796B0E3BDAAB179595F761991103B3CF06E89E5DDA1F6D91AE06E510 -6896FF0B71F0D2911767CB1DFEEF3500F070270EADED32C917A92CEE4B70D0AA -AEC0F959827BFFAB9A4BCDD270540B157307FC76AA894CE6094B0A399768CC90 -A73760A9C1CE6E752C797A9BF8237387DDE337CECF8B700CD88C93A7E1C10C03 -F27952B8CB11105B4077B438642E42FF6F9C2DCEE55E7B8238412D74D1F0A486 -35436B1C389EF0665F668421B4FA232744CD27DEBCED1A2DE22DE3D1C72ED102 -BA781E75C506EE31682106D63A7C091ADDCD30712FCFADB16B9DF147925668C4 -3DADB9361CAE8FD66F76F6E5E4D192A337083689D1D79F1AC5CBAE15BF318AE0 -0B5848ACD555D1F5EDCC5DBF9B56C33C3A0E2AF542853069BE9ADA00A8E88FA6 -FB73703965418F4356592A3480369019BD83005FCA77ECB3172F50F230448C09 -073A73F51F7E4AE79246673B0800073A8B82FF19251B1D3735B67FF464CD5729 -5728A510B3B7A39A6D5A5256034728EBB6114077B845D72A33AC7666F807FD8C -DEC072865DE18B7EF90EA679848271EF162346D13BACA029163AC7176586832A -FB06AC0958351C0024D437935DA64F61ED7690342C15ADD496341140AFAA8CB5 -AB146141EB03139B40C2430CF62375565978A9201E6CC2D80D110F5C6CBF5267 -E5D0FC80357FFCEF31DEE07B67D89DC4C03B4AC4717496EE4EDDC1E226F973DF -96B5B2D1C67A6703FC35E10BC84A48B5AB27BBC9E5780C668EA061153A52ABB1 -647801032F8FC9FEAA8FC9FA35194F98828425DDD6AB48BD3CA4F6E2A15EEAFF -5C2CBB20CD992A98E4D81B6738D978FDA51EAC4C73137BD6620620EEED08E431 -CD42B2ED848BB2FD9FF30E64CB7CD99357C9D57CAF0A677405A907BC73E7CA20 -314870B89A749F73FA6434F912787554BDD3C1D89782C64CB28523218DBCEF20 -23CB982AF6A7F5FD92B07F556CA112F85AB2AC07A0543E8D90FACC6E2B37BE24 -4A30669AF4E20CD5C356286CDCADB555EB13AC43E448EE00F114D9BCF9E88F23 -6DF91AE40194013106107F6B4C22CBEE46FF24A7C3611B9A49E2D0314E264E5A -BEFC2D31EAF73FFFEFAABA4BDAEC16B1C259922CB2070E8E33C57BF8B2E8113F -01BFB9CFA574F3480DC97383046A038D9F309400E2552B4ADD738F615089C5BD -967000DED6D674A05DC573F17609105471CAC02E96A3D95FC36FEA07B203E722 -7490B9092E5A2BA8BE7D50923010A6F7943906050604D5357C46790A27FEAE42 -47A8F79C39374073DE4316CA6B46F06898516C871D267A5FCDF97D5BE5A6EDAA -236880CAAEC62C6D2A9117340CADB571B5886008F1C3B0E956C40F1D49CB3247 -F8ACAE0937F8E35CE8FCF9DC7C8EE419C59FB9C8F98231750E59C82C4513691A -12AF08C10FCE155BFBC15A3BBEA8E0102576D5DDF104FE5B26A1F268AC3845F6 -66830E8B4B4675D437087E94DB20212A433240F3FF94010B984C461D5345CD42 -82ABA722B60B931A3C5626926CC463BB83D6EB5BF97280A58D83314481AAF972 -211A93664CD135F96CC59DA790ABBA2E0D5EE35CC217BC33669A41FF19200574 -EBB63C8C429CB0DD0279D0FC834B3DA7B3B8C176ABD5244D15738C62BBA2C6AD -31A0D44B1E9FD3E9E8CFBC357625340CBBE92862923F31B8FE9C75C0F505BE62 -6524B6BECBCD412A7D6A0F93A57C39E2BF0A9AE90D064A71538878B4522D1AEE -2980FC421B2977AF4C08D89F2E862434D6CB5D80F69E0010B97E1A371ECA95C3 -9F02F18C584BF5F2330AFCE8FF92E2DF9B35F469ABC5D431BB5A2E1B9C174075 -1CB0C82D8E1C74333BD75251659EE74A875CB811177A20A894351D75B4E76D55 -4DA06353DDFA9C87125E5C9B69FE0A5923903203E9957272239B7DA8B9139CCF -9ABC5294AF21AF58E4AED70786CE013C9E384C313328E543B17C4DF1ACBF63AB -4D80B77B661269EC4624D5293DC84921BFA1BB47FCB4F743459677756A8A329C -70DF3DBDCF298FECFBBA8476C63349C478E4EE4BF5D8E676E3AFF67832F8939A -22AA9087162D13925C8DE1DB79331CE565A9B48BE75ADD8BA98F22CD90F521F6 -0435664B05EFED8EF6F286AEEC3B72DD3723DEBE3E9E17370CB4AD148989C48C -81A758CE61CABA57FB52A574223ACB9761D4FD3514C702DF13DB209E1A12F7A0 -CE40D7B937AC4C2BFE28B49A48F3E4A3DBFAC0B7614A92FC8471670B045EBBEF -A988BE3B61FE01F9905A5EEBE252656439B1F6A1B1E02857C331E9977A42F544 -34DC2D4BDC7735ADBC55E2B60BA4701D5505DB6D23898A306B0F5CD8B100F465 -28A78C9854FD473293F03384D9BD1017D62BBA0DF604AA1EC9448E8293A55340 -308F6E75ABB18F7B2B00E58D4E8A1168D965AFD09B0ADECB75B675CFA67F94DD -C8D06C0B7843F96FBBE06959667A048BBAEE26C305BD5607659A26EC82914D3C -EFBB5EA8BB65D031AAB63C604AD92A3229A5FA2672F05DD214554CDB0EEF7BBA -E45870F9F7A61EB9AD7D712A87EC34B971F850A5C2217391A8FB59669871248E -272E330FF47242E18B07C2129E119B0B5A28B19AE3AE9AA2964CB78389E6ED79 -15AA14FDDC0FFEF5CD47D27773A3CF535B2101E5DA40717013BDE06FB939FAA0 -8448EE8B1D330731C8ABE18D4CCA132EEA15E013BBA27360D9A1D27BCF1DD166 -73025C13C7E1C158C11F3801ADF541E9A61A32F32450896A6D9DC787A20069E7 -FE8060D03BB41597D8F511F27747EB31090B36CC7C33D31D285E1F794F20D1C4 -C60C3309038E37E851E5FDA72CBF29F81E303B3731283D269B87D66280D36D63 -B0AE9627B2E3B4C3D6EAFE71D80B62BEB40F9759DBC3AD4E4F9D9BC4C47FDD3A -7C71DEDC7EB5B8017B56B0AE13F25A2B96B2C6EFC68D6F587254E5C02C13DAC7 -1550B1357FB24A3B690AAC0BCD4C1D4163F9BD72E4A0A18933DD410F9254CF15 -C9EDDBEE82A0938E9FCC4262B9337FCB3A0CCB0F7FA482154DAC6E31DB4F9F5B -19EE1D97C5D9A65CBEB671129571478DD239D8F90379932871854AF78F55D468 -B2D51DF12B11C51169711DD57563B656BC6780A9E569EE2CEAD23AFD17760CA4 -81855AA2350D7F286A522231A38F1C9E3F151787D2A90910C928E23BFF7904AE -B082EA444F6EE13B456E2A32396F87EEA2CAE099C8481D7EFCFF519E018CA769 -165948EE32CDC140C764FE7CBC937F0823429CC4DF0757CD684D769FE32F2A4B -89379B10C2D07B03C13520A2BED99977BAA95927E570634B9B97C19ED2367860 -0FEAF113B2D8DE8E4F7EDC5BCF7FFB5FDC0E66341F995B8F5D8969DB790A67F0 -E78CC178F35D248C0B2C13392DF58ED0EA0EF6929DFEF37B71A37F7D2593F988 -23D128410217F2CA52560E07EEEE9C5C1E06EE088082A26853CCD92E29550146 -FE188F65D505A2A97D97712DF41D8DC9C59560090A732D4F339B355AD2A85C49 -3B2264729A22717B25DB86A906B329BB80C9C5F7DA7BF6C0FD1F16CCDA20E647 -F7E14636D4B3F1E82C26B5A16381DBB92476776721CBF40A15C2FB6AAECCA6BE -08FBF91E5EA0A0815243827CD8A4EE100C0EA132ABD9EB438BEB4CFA4BE9FE5D -A17D171931354A80F40A0F7DB859D6F2163BDB85837D555E145C27B6A7DEC383 -7D7D0A521328D3538AC7D54F66F51CF1DDE755C73987AAFBCE2BF30FDEFE6D95 -B4C649F67F8F328201EBAA214381D27BF80BE810D6786D5F42760F368CE90F5F -6A43D26621F8B8999EF0905501E8AF5198C9FB191003547A7ECF36B5DC7B8E1A -B1F7145C1DD508766970050809C7BC2B3C672FFE073076C6889170BDD7646C1F -D76279E1CD28171AF9474D4F5FA5164E19CFC938A864E7F5C9F0A193EE2505B5 -90CDA1350272398FB6EFAFAEA8BFC906C47D8A0B3E08314F59E52A5E659877FC -EB42F7769290CBA45B383E6B17100327D472464D07F500DFEDB8151BF6D61EB5 -9D5CA8D82111B0E090AEF98A5F9B3E039A387FC19F87D4A05F2EA17E8C230904 -0F25EAA536518333886666B40FBFB0FD64B0D47752FDBA563E45E1F588F94E97 -31BDE09F9785D2C9E8F3735A80A2EEE977FA608ED9AD6A7BD87D1B2A976AF061 -95B4C1028426B1B60A83CFEB6989E98F565A99B4C5F7A931D44C61231540CFAA -33B04D4FF921C8341AAE5D249604E994A1EF556F182FD53499F711378FBD875E -69AD98457DC36B3F9554E39EF2CB07FD5B8766200E0249C08D7C8D3166A1C163 -415114AAB0BC06AFE6E5D8F48CBF3740FD20C9CBE7AB36E0FFFE3D58951A3E87 -397BECD138EC67AC3EAA124DECF1A3CE7FB719E73863492C08C5E4A37423268A -295097D83534DDE19F28A94A7349076BC78A3531A54EA98F9E952A0EFA5C5D2C -DF87172E02C0EAD4C03D43A29A33536D1412FA683AEBD527083D34D141FEE381 -3CF161E957FC386D7FA4F35B20F6D308E4C6DC8E4B692B9594E76B304A27086A -2162AE28814AAD04820AF6A9974C3A347F97C138A70AE6168FA0E2054C6B768A -257988531E10F3E32BFA87E710D6109A2A2230384D325E280614C61E36B4B33D -9077856BAA398070677F1A1558CFDA29D3CBC41C4B45859D9B95077E153B6691 -AEF4ECAE627CD42D497C258BD2CF78860290A2B861D3732E74ED52E09D8314F3 -D3603B93F917DCF7CB3A82A88BC354EC358F2799E6466A6BC5280319C9AB3635 -532648A14E8D594638E8D70F63D2F9A95DB6805DC2A43916241B1F92CB6E3292 -E31595C6B3CBD43B09E01DC45F02A09BA155CE49E9DDD4AFBA61582EB67E90B6 -92FF3F5E1A62F42CC489D1B80C7B85FF210779A6CFCD96B6B8B1727131A96B9B -4FC4E83455E065E1CCB71AFD65F201FFABB264DD6303518704C551FB6262ED66 -657DCBA5264C5F2B9B03D8DEA072936CE4B34AF667F513F70BA460BF9A28F82B -2DA0F053CA5B3B714648773A42E679938CB75DDDC1ADE8BACA281C7A61F9FCFA -4D6EA966546240F90A7289FD7D53006E24CAE3655A58E0694CECDDC2C0981B95 -4EAD771D1E25E75C4262D958C9580C31F5CA9F3E7D5155D0872118C34E3458B1 -6DEEAD823AE8C0C29DCF080B2B61EDD88A4FF4E540481AC39FC67C051715E39C -BBAFAC4F5EF84995D4407D6A069531FC2A1AACFFA218151B5D51E5D55F70FCCF -48BD4C3EF8FED791A25A71840BAE1F2C4FA1DFAE87268A812452F4579FEAEDF1 -D3E07F2D862934ADBCE3FF8A97BB61566CEA9D1D1497A5AB2EBDA5274CC9EC1B -3AE89468FCF53CAD65A992B2A5C8D60B33C1D8C3EFE26B614F3F2F7583F3DBA8 -6FD903D4043582CD3C39F27E00100C983861A0D890929CEB7D342954F6F13898 -11A0F9FA5F369CC3ACA040023B89D6EFED20246FB16C15937944702A8563EBDB -AC4002DA500D912E9BB7C3F0B8444514AB788FAFA7D21C35CA3532093F86FC75 -FE4D9F5E8D8C852A6DA167614414B3289E5BDFCEDE492CAE714EDA2804603205 -CCBC3E44099EB8EC65C888A9821B5DFA846FF9D551C7B03F3258776C51D2EFD3 -3CB73D1C8ABDC0A61A811EC1C8E9546D9054DBFB158B256FA1802FF7278271DA -182289DE766CEF8CA58517ECF0BBE12D09036780CA1B62D7474225F6DADAA6DE -AA53C1FB98767BB019211CBD5062F5034D2BFDF36C7959A5798C99C975EEE81C -1957A26780E90F730AA688DB50F081C6788A7F0492C9A565C681ED8A72C0364F -3F9B154D940AF06F003F5EC5F52E03C336A0161BEF1BA7955D28DE3DDBC09CAB -6D712307FF5DE32DBBE24DD05E25BE19AB9CB6137A86A1EF183E190170B3D1BD -1AC4CAE5AF592FC86950462CD705445BC8C81570D76030F8B498DF611B1693C1 -846549AD7C13B7859845382FA53DA860A58B78411E8AFFA76733178BF05FDDDB -F1AF98C5D4C28776711E971981C823B4F3B768824841F718CB5F634CB5DC80CD -B5ED4A31942B488E07E86AE6996B352BFAEDBEE2A7EF6FC74CF1591470CC5D29 -8E2D1A77547C63C2641459605DBD337F0F7C131D3F796B379A408B7C3AD0A42C -0A08C4C5B6CD59B37414527129CAA5122BCE694C7D88078BE10CB54226BFF7B4 -53373CF0ECADF9C7E6EB39D764E4C7F187BF49434A0F8935BC1958C260E4B2E4 - -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -cleartomark -%%EndFont -%%BeginFont: CMR10 -%!PS-AdobeFont-1.0: CMR10 003.002 -%%Title: CMR10 -%Version: 003.002 -%%CreationDate: Mon Jul 13 16:17:00 2009 -%%Creator: David M. Jones -%Copyright: Copyright (c) 1997, 2009 American Mathematical Society -%Copyright: (<http://www.ams.org>), with Reserved Font Name CMR10. -% This Font Software is licensed under the SIL Open Font License, Version 1.1. -% This license is in the accompanying file OFL.txt, and is also -% available with a FAQ at: http://scripts.sil.org/OFL. -%%EndComments -FontDirectory/CMR10 known{/CMR10 findfont dup/UniqueID known{dup -/UniqueID get 5000793 eq exch/FontType get 1 eq and}{pop false}ifelse -{save true}{false}ifelse}{false}ifelse -11 dict begin -/FontType 1 def -/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def -/FontName /CMR10 def -/FontBBox {-40 -250 1009 750 }readonly def -/UniqueID 5000793 def -/PaintType 0 def -/FontInfo 9 dict dup begin -/version (003.002) readonly def -/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMR10.) readonly def -/FullName (CMR10) readonly def -/FamilyName (Computer Modern) readonly def -/Weight (Medium) readonly def -/ItalicAngle 0 def -/isFixedPitch false def -/UnderlinePosition -100 def -/UnderlineThickness 50 def -end readonly def -/Encoding 256 array -0 1 255 {1 index exch /.notdef put} for -dup 12 /fi put -dup 33 /exclam put -dup 39 /quoteright put -dup 40 /parenleft put -dup 41 /parenright put -dup 43 /plus put -dup 44 /comma put -dup 45 /hyphen put -dup 46 /period put -dup 47 /slash put -dup 48 /zero put -dup 49 /one put -dup 50 /two put -dup 51 /three put -dup 52 /four put -dup 53 /five put -dup 54 /six put -dup 55 /seven put -dup 56 /eight put -dup 57 /nine put -dup 61 /equal put -dup 66 /B put -dup 70 /F put -dup 75 /K put -dup 78 /N put -dup 79 /O put -dup 80 /P put -dup 81 /Q put -dup 82 /R put -dup 84 /T put -dup 87 /W put -dup 97 /a put -dup 98 /b put -dup 99 /c 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 113 /q put -dup 114 /r put -dup 115 /s put -dup 116 /t put -dup 117 /u put -dup 118 /v put -dup 119 /w put -dup 120 /x put -dup 121 /y put -dup 123 /endash put -readonly def -currentdict end -currentfile eexec -D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA -0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93 -51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71 -7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551 -E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078 -0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273 -C01924195A181D03F5054A93B71E5065F8D92FE23794D2DB9B8591E5F01442D8 -569672CF86B91C3F79C5DDC97C190EE0082814A5B5A2A5E77C790F087E729079 -24A5AC880DDED58334DD5E8DC6A0B2BD4F04B17334A74BF8FF5D88B7B678A04A -2255C050CB39A389106B0C672A1912AFA86A49EFD02E61E6509E50EE35E67944 -8FC63D91C3D2794B49A0C2993832BC4CDC8F7BD7575AD61BCDF42E2E421AA93E -3FF9E4FAD980256D8B377043A07FC75D6169338028692CCA8CD1FE92FD60AD26 -D57B7519B80A8F8DCE9CEE5CDF720AF268D3C14099498A843D76E3B6C0328F24 -D36EFE7F5C4E5B5C612786200C8DE3A41EE5F1FFAF4097653CFCDC8F4FD32E0B -03EDB3E413283B9EFB0AC33B055617005BC9B0057FD68C52D1B0E67F0C571685 -767F2AA85ADE4E0104A1C777733D5E318A22A9944336E5B98D965E50D31F357A -8B6EA5A0EA98E1B027CE68C2EDB149EDDD04ED74A1B3D206D471A0C11C11449B -DE190BBFEBC08C9E1B7513B43DA3134D6B11A2516E6E86B67F68C970A320D05E -94FEC57FB347606DF89989C33482BD09D011C55AA920319E7B26A205D3D0F004 -22466F09C0482A164CFB27EF6ED2B040ECCC3DCAF345B5A73676F193D43123B7 -72FD6CFC5E37930E61EBD5A6307E4DE70194E6384EC0D79DB6AD86D3B319A31C -8B0589D0FE28241D8ACE280D0530EE99C80723E560BB72AE9D53F4713181F491 -344B06D3027BA4E9E94D4305BE1D817197C54C8FF56CD6964165F6448ECC8A8A -64B48B4F0FD69299A137589E2491A283509B21A3A5772F75B7602A9F60AE559B -07A58436D04222C73EAEA72DE9A5A441F88D27C11F4F91255EFE280E91A4ACAC -1E98A4E5E6C57B9AE86FD218C3CD8F24A4104156A80F13821384E529783C52C8 -78B94AB3A0096090867ED32E8A30980E737922037F75F062BD83BF4F5929BC51 -CC22AEE2DBBAAA001CFFBFF41D258424FAD888FFF1BEAB796A44E3126159E120 -7E4025C676CF94888A1971AEF8B6764B3AF4A92D36FAF6FC56FD049710EE3782 -BC2CD84FE2473F133BE03C1346B875463F126DCAB15C7A9BCC9A727D23611462 -4E8D2BFD2466600285D79518712B8681ABCD69608E6AA9578F7BD771EC36E01A -5A17BC17E375020ECA59B43790ABEB9DF5F4FBBEF807E5699EFEAC563E1ACC5D -EFA336E75DE6D8248E9381BB110884FDC89C2F9A41EBBC9A8A1F98E6A41F68BE -EE30E25CA148C1EFF42DFF8C214A6537AB11F260B8C329A4947B5FC8DC9C5622 -4DF7BF4FBFB00380D47BABB03BC30627AA74103E553F55278F538EDD8C1E64CE -0F1398CA0AB5A86630139B4A7E8FC02804CAFF3830114640AE50D2FDA3B561B5 -C63AD7EE3347804CBB40FB1E77A6C89735DD870351C3A1811591AB493251B904 -314F65791963C0412377C1D02362C5E9655F1C3D4803CD379A8EF24C48218C2E -DF1165840462BF37DDE1B8D5FF09FA2C3B261E2F1A65ECFBE5D4EAD43B52C029 -EEB3948CB8A252CBAF545C8FA1C31E920E23A12DD7222CEF2D2A513BD758EA13 -DA33BF5FBF1D734653EB83DA2D374A5B9A0CE316F24EE375D6DF6BDA49954C2E -DB25A88821193636119D469BA66E5DAA9C92520FD4F84426A4E54273FA469084 -7517817A6EE3E21176D333825E88046F50B3CF6938AF9BA79A2F51398239EB91 -1A2D07F7FCD948427FF62F40FF95E39FE1A1AA8451411563FD5388472251C155 -69BDE9283B41900B21EB1190D06E6B13B7794FED020D2C1BDD205AE77B084BCE -EF628249398B496DE85B406FC2E1939EF00DFC84C07E26CF72EC401BAAE756E5 -7F6673216E7560D1C2A723CB405EE5CA474A07F61B81F8836482F73DC9516D67 -CE0CB770EAD755B6B356198B4B97EBB29C63456953270CCC8D5650C1D006E69D -38DE2DFEAB27DAD50A817F0D645D30AF5B75A7B53CBD3D2B8D87BD0A7E525AF3 -22F7ADDFCE31716914C2318260C2E2B4664893921B68C5A93334A361D94A759C -0D7B146D6FD94F0442D672BDA0F6432E18F3C5DFA37ADA378D95B75F413C9ED1 -BB5C606A3EC7DFB3F796F59B0478C13FD1900381EFE0BB5242D5B5D34D03AF1D -4BDC93EAF8020E26CA23C8B0E7DDEBBC6762A557067A4CE05A524188A8F02E2F -3625DA38DFCF381727887F5646A3995A8A38A5FB1E5D5EBB395FDD0B7C8E71AD -B48EEDB62AB2CE99D121435EFBBFCEEA69AE9ED8238B60CC7288DE33C766CDFE -15B767B4AE2E6CE0965E77272AC9F86023DA620548CFAC85BC751C44218A29C9 -849F1C2DCBDFAD895B54E51A569952ED50F82DC8A19F367E7E44643854EFD6B3 -FCAEB04E55E4661C82D31E2932611748480EF61FB2FBFB0CFB940BEA81AFCD84 -4C6A6332D7A600170E38A8EAFCD4F93DC153C43175434C86BC747348FAC61B76 -1FEC9027C1A193E55C80F1F20B5317AA0A05AAA36AE235F6E49F06E570FEE798 -84857D7552EA92EF3EFAD52DE39C2F8F43C59E3A957B7B926FC95FC4B60186DF -7F3523EE2AB74E294C8C4BCD8B4975E84849E0FBDA6C0B0F24A636DFA578B122 -CF97BC5089E21E9F5298D1C9F30CB8BAFF6A3A11BB4D9A0A5CF2B18D055C44CA -4FD4D8FE1AF3630907DE7E585AA811F9CD11FB2C8FC791851D651009FA5DF20B -3C33FD2FF848A9E3F5652BD294965A332DD3F246C91B0ADA34017FF2451D1394 -F9C3C95AAC6EC8062BE98E8914D51DA6A164AD13938693D446044859D03A949D -F9AC5DF4A000CDA98BB516D762CB9F6D44B5268FD0C26E88BC4A760C0F75A140 -DEBDECA4F511128B7D2805872160C55236F0A0FA7637FF0D4E94AC079CD3C8A7 -D03A5A56F26B0438B577C46011A10532FEBCAD14FBD6032E224F45691A726886 -56F305231EB2FCDF59C8BBFCB5DBD2D093A0E84D62AC93A2312CA69295E937C4 -8DBA1802B85F54B5E7E6D6216A918F911FF705D3B5CF055F1D873B96283A0B53 -59344D910CD396D883F6F7836BA65FAB4393A773A8F6BC298069E5BA38210EED -49C9D920F718E3FCE692527DC7CCE6963BF744F2C91BC5952564196D60574E86 -87A0FAB21F2DB2BD5A51D7FBD8FC19946D24E5A228462C4772F978E650ADCE3B -8D66B9C21279C531CA1C3A8ECE3420BB65837287A7222CC3673A2A5F8BBFDB60 -C719CD073EF9A23675198462C7C87B24CC92D6AEE5C25AC63855CC3281494342 -D28F3D2FDE0C183486769A4FD5B0143193D31FCB2C2A14E487BBD96D0BADBB64 -D1B56021C363A795BF10E2DB448261C363A54A4AC1182B470C457AA82DF3F5D1 -F4B329806141EBD53CAE309319B94133D7EBDC2D0453A905ADD207364371E178 -0A95C2686E3B34C4A978BFC0EE968C39ABA00889BC5149162C2B54483D44FD3B -5CFF41F611C7E03B94945F414560E874D7CF27FFD0630890D7D7EA66CBD15448 -229059E1C436BB33D69552B5367AB5D53591C4678D0C704DD3EA23F5D9E8A7AC -17D003C19E333E726FFFA2961F33C70F429085F7BFE3E2510F59B78F58B19CB4 -01B48E184BAD9020FECCE3AF52048A056981DAEA02AE78197E65855DDB170616 -F54278395D9EA50DC83761AE759F9CDEF9E1948E7002414FC05286ED793E6662 -3347F2A9AF8917493D7305B92CF93E8E9185F70015F5594084298A6C2F9FD3C0 -689F262AC9FEDC9B89577ECDE92F08D3142209FBCE7B5C0A840CC767BCA56C20 -4E4E545E2BE4D21C53855CEE4CD0AB35D1A604C0FFFF77DBAE4289752276559F -A05FEE65F45ECAF44E95E23FAB6052195C7948AF0B1126482D4E02D72BF8AB03 -DE0F1A632F7672AD9DDE70EDC82AA993678A82BEAD0BC2649C4707FD8509810D -364B5C6FE0E10772E95288C622C2F06C634F4DF8C7FD1432BC9310D5F24FEE3F -7AB324863D6DABAA1576E70643CA79EF4D7DF4105093D66CEE0F3B87D2164A7F -26EA05F5C4645B22D3E1BFD2219657712C168FD90DE801FB0F32759E80DEC1E1 -43CEEB19FED12D757205043FC98FEC62D6A8D8B97BC083B4A0E985AF7850D6FD -8716B9957C1C35A0675BC53DF672C425C79F43FDABAEE7D63F092CF271C9A9D7 -C41F40C4189510987887942E60A412B3EEC84C9A6E1AC7D54D528F5604B72C08 -94B7882621A5BF1F325B92FF96B80878CC550D1AE4D8196E41CB1251856609A5 -C4D3BD05A922D0D45E039D9450DEF8490A3E924E41434194910BF60BA1B08BE1 -B41824345627745541A4F1703E956328F6227D11C74946B38CFB096139979E56 -4E723B889B44C6D78673868C89912F8B4F0B4B485F1587A637B630F92E6072D5 -7F3B44EA6FD96BBD4FC28A6C1D90805E3BE3E42A7BC9C880762966C55BC04E01 -204D083AE976FAE6F37C94F27E68F8C0F28D52B17F6C0FD7C9150701FD78F8CE -B8E8DC9260E3974005EB5CA728171F482D765016C94D4ADFE4A42EF42212BC56 -7E4EEEE8B0D2A7856CD4E44F55C0BAB762F92CB8D64C17022D4BF3A47C12F5E6 -279FC23101FEE93753653CE8CEDC3B75C9CCB29BF1D4554C6120DE8EE750FCBB -E38B5D915206974962E320362E59B3F21B3AB1875703191043D03284D4467346 -CFF2F98CEB4845B73ED8E003E0DC94251B73E13A9B51A3F1430BCF6A21EB9B7A -65E17FA411F53BE6432F1506232B8159E008FA257F884A4A01AC53BE91754D78 -BF14A5B0FBFB9C31BF4908355F8A762052968DF526D118708CCB0B7CB5BEE285 -6DAB6CD2E3934178E60BECB11AAB5478623CF6C50C92F8BB5D1A583609028FA7 -B8A53B791BDC9EF76A124F3F7641857E4BEA0837CB36176EC9A522EA7F41B8D3 -63C37D1145367BD300F17B54522A834BBB74DE12BF9EB26ACE6F24A046D58F89 -4D4B7DF74875F1A0C1C9D97BE0849593D7B398EB4B00BEBC8C8D1497B6EF831A -A35380FFB7F1AFA4D888AA52C9482E8B1755CC209905F98F40D95B44D4DCBCB6 -67423D1BC2F3560FF0A8B4F0CAC352A4EE2C1D946E45AAEC8A6AD40303F3382C -DF0756BFA3B1ED64C169E56ED1C760F2FF0E24DC5C9F41306EF8D2628153D30A -5DCB0791126BEFD4947D7EF08301FE015F2B0008DFFCBF9F2D4D859FD43EC7D9 -C5BE237E9BF6665B7B1BEBB362F0C0C3A8D86010B9C97FA741C97C2E0513386C -9C26C235B14DD2A58BFDAC7B5F63DB4DA6D5D37D0098175A9071590E1DF66A3D -B8173A047C29D7D35557F06132CC920B5460B8AFC11D23D09A4E45D089F5EB51 -963FA1A6256E359D485107FD143B2BF21FDE9DA5744BC2615E86C31C89470CF0 -D06C6397D9FCCB316EA9989430240759D2C4945D941F159FC02327F34B042BAB -B5C3A47C78E8C1A6FBCD396B1A51CC4B020B8AD401841EDABACECDB482D6EC5B -72D2BFEB4556720FADD49D07307C8B22ACB7E310CA4151A85C71EEF70E8D15DE -B3B00F26E0E166C14647A65ADA228A3D1C89025BE059306565DB1B1EFC37D358 -8C1EB024254AFD049BA977BD4C2C605050E17940A89D0D4C5D963E792320F5DB -3706682E03D25D9E02487247819551465092CC22B6B56E93F3AB528038FEC3F0 -668F866707A19B0463BE706EC729D2EE1653AAC7E29BD25BFB3241D4792F5152 -ED415B4E7FA92C2EE5A22E27E8B75542C492E56D811C192E95542A6FE0BFE5A5 -69273C2ABED4300D491B92D2AECDD278404CB84B1BB1BD7AFEC858215837D118 -C0E928BE7E07CFEEB51A6D21375B772B8248C994564014015232A0DA4BEA1754 -3274F407FED0837A236371F1A32056240F2015B1E7F4B2CA72C6B58610A66F13 -407CFFBA5E0A2893C1F572D50F51286E9133B5A84239C9493B0574E77D281D01 -11D00683354A000C9700EAFBC1FD104EA19DFCB87470190E7E2CE26E3A6FD0FF -2620B87B82AC8686B6206B530F17E9348BC7D04B948348802CE53A312443DB87 -4DBBA5313A6A2A8DAB8A1CC9A594FF8C299281C0A261C8CB2226B732FBEEDE40 -2C6ACC74A1A61379E2E1CD5548CD908268A32FA83D8504C442EA0E183ADBF7FF -9FD09C037AB03516ECCA93FF048235BD11A25DB07F164512A079C5392AC7F889 -CE96AE5C8D9580BCAFCC087C35E76EED1A671E87C12E3045E15A687134736DF8 -DA984772AFD189D68571A2ED7256F1E204230E41D3D9DD876F938951714A3973 -0CA9310489F8E807C1C7A4E51AEA5BC030610A5D7263FF7E0F9FDE3E5E37A362 -5B919000BD94D978583B942EB79CF2BEAC33FEBC9A67272EB10865BA8FB75FD7 -9D280AB59F91B96C16C982DE848D76D8FA8620DFD7C80B7DEAE7264350D6FB3A -EF04794DA3305844A7CF718F6D1A4A3AFF6826173A076A1372ABFC54ED3AC6C2 -09C9287FC830556CA694E21CA5342ECA7B10C90AFC4783D841D7B1E34FA3DB7A -2B706F3E21B0FBAB23E7257962FC3BC309CEA2C7239A9D6B44CC96825115ABD2 -AF9A2566D2F3382C01569FBDB94C8D664A5DA0F7DC3DD140CA77C743D7BC1420 -324ECF9E4780280EB119885E96A6C619CE3C0C8E1E264E2DEB137E5DC8149786 -486D65667ECF47B1A1E20E9E6E4FC8323E0BC8E61BDD3BCDFC6575C69C03E31A -EFFC290472CBBD049DE3F840AEE37A2486034240F80E75D8A79E0762377DF660 -52B12EAA16D678990B11A9BFBC03C1D4FCDA9FD4FFBB3E88352438102F10B7C5 -9F04C013B6575B5E948FAB58EA691984A0E54E6B9F3F505FFFEF74D06FA1CDF3 -4B8A95904C8A2763AA8AF5B71D00F5DE09DC1CDF87A08B6D181453063E14C12D -B7BB3775A6E2A901636273D9EEB833EA8CF20FD83AE899E28DADE10EEEC20BD7 -BD93085A4B1AC80AC1AE8280C14767F1A487BD066007A0D050317BD081131A14 -6EA0898ED59E46DA7B6254BDCCBC660686E2EDA0E77A705A653733BB5C5497D0 -B130359F866CF293FB6EF0C2AC5BAA2DB0DED045E2DED3A2612D078333260359 -16CF0CCB272D34767EA069E0F0B0D42327A18529D72E890EDA6195C2688438ED -E9ACDBEED41E81CA8EB5E43C2B09CE266EFCA03F2D7FF57F12B06F9E54FCC6A6 -546676F6FFC5B8B7D3F0982B6FF0D21D949309F0C0B175CC1D0976F8C55C6AED -6E821C39041E22D91AB30922F2B2EC2746BC7DAB484991542FBC82D87B487507 -559AB466F73EE23C2D3194DC5CE4C9AE66D3164613AC5CBB3DB501B64DA7C91B -C7ED2EE9027FC0906820B35D4F2CF66C4F9CE4A884B7C07155BCA884ECA5EB3A -ABB83F84DB1F5639599DC7D3F51241AB5D95C3BCB7AB1EC90B4BC989F74FB354 -04B2D7366A34D335A47B8C00C05CB423482BF6C7970A95545424A08AFF9A035B -7F83F52B65A9799CE76E303B85664B624C65E9CA58184C7BE2BB9D9C86A4DE5A -8165EE3DA2E652B5022EE7893896BABD88931DE1D538F615787645DF5ACBBA0B -A8E5B899A37321AA7D4B283AC9234978C2DD81813A1EE5DB6EC170DAC1B6EF02 -94892635B498765C07A38D2E9DB0B7581B11056C28278F89B0E60998379C07EB -C0EAEDC32AA69B8B836F92A61AFD35688315B2C3F860632FC13E4BDFB63214BC -41CC6859EAB3AC3034449213CAB99FA1D216563419CD6D6CE4E1B56F33E6C654 -7AA9DCB5B05FC068DF02AC32408C8010AD004F6CCA9887830927F8CBCD49CDB5 -18CAC1EAFF815FF2F6F527F936948201565003022C6C7390B4E3C2B219FB4F76 -9F12BD25CA7B3B61D1A2F8DFEE795D04D5428B42FB66E0C254AF7B7A10CEF7FD -E5ADA5E217BE24851180E9A1700FBA66C7D2B0D7BFDE4F4EED1D24B821A40947 -5620363657F6D048E651A689822CF815E72FC8AE9D835BE31D1DD8B54C9A717F -4DC319B4B59AE073936EA40B070524C7E71D5A7B64436DA107749746B516E29F -E3BBCB8F8C473E706670E11E5B221716F315FF097CD1841D0069FA69EA1898FF -9F9EC2518C77806A19730C97F54BEAD604548D553D4A6EDB247853225E24E7E9 -89D71F6BC94DB986467E755CCC99069B313F5745B02B4BB608A39F0A0A732B87 -7EA2DED68219754BF1FBCA350327572D769C962EF9242132D93A5C8E9725D8D3 -AAAEC15ED0F43F9A1290E91C463895BD12E8A831DAD661EF23CB9AD2C26CFB26 -71B72D15270CD8CB1D59CA2D9DE884C96BB923B1EC8208BD7DCEAB0FC2293629 -2AA1F72C6B470701C381E335C2364CFCEBACDD20CA36182CA7E70AFF5B14B02B -75CBD0738E35DAD8E60CB3DA4DDED557FF9ED386DA52D10615E700751C842FBC -85D89C0E713F556814E051C6CEFE7E83C2F379B88A801DDA565BE73013DD56D9 -44D97798564787AE6D5A6A9FB777EEB850C7481B4A353EB9279731512C9B95D3 -2ACA3A0D44585E55AFD968135F6492A9381FA2D126CF50373AB7D47B509AE6F5 -C4B100BE8334ABE2268DAFB7983BF339540A8D8280F3576CDCD4F21408AA7D92 -BBB218043ADCAB60ADF6385516C2A5A9BFC5C3845124E0954EC5C627FA7C65AE -AC1A283A5A9670ED2A2073826941E9AAD904A05CDB5B692AF725B6B9102574E2 -461D2FAE65B7321C0093A2A34996C214331F7A91B4F74898E2FAD14576F81B1D -688DD9ADCABD51FF07C966B61B0118F09E24354A9F75277B03026CA1C783CF92 -76255E2A560768B3A8764F0BBACFC2BCEBF870EC12EF096A2BE42692EA401E2A -3A12BA99AA66F8BEC315412BA9A17E6574742A624447122C877F80740924F346 -0E22CA288DC767537CFC7236CB28E31AC2C563B89563D0A57F798CB843680E9A -26A03BAD01DA05792528BDD89944986C15BEF8D3E84C08B3CFD68AD25993B6A3 -903A215F9BAE352E428CA0E862EBFCED059D65F3C47D22B2B8E48E97507E8399 -AD4FC0BE438049A369F1C68E0430642B5CA02080DD55A96E34ACFAC469B18732 -655CE5C09F9E499346B2E0DB6FCD5D64384C2F529685F91BFAED8E85CD5704A2 -54E457F74B77B97BC47EBB0F292F8B9839D248B20DFA40ED6AC6C136A7451F9E -57FE699CD9F0CABE94AA602DD5F17214F05886AD032731EDA504B76A19DCB8C5 -02B38C86D8D507AC17AA803E5A22632DD205AF07F8AE35EE4129EB0B37E20231 -463C95CD9943F718E9635F8765BC693AA01D8B18E0318A3C06F1086EA20848A8 -9BC45782CD659959CA78F1E2599AC0C8E7A7396D59EC0EBB19DE8A07FF884C99 -45FBC16DD47324B47C81CE0D663B2087DFD2E5F23D3167AC0F1B9A7C31836B03 -59DB1249B0445E4D9172E11414A9DAB776BB862C29749077A9C46242EAB10087 -1F063F497EFA5A35617FA7770432D63B1C903E570D7F56E52DFF3E48051C4F31 -38BAD9D2C195BC8C6D5E49EDF16A023087DE1F666D696510B2AA4A5DF38E733F -5E7EBA96669D80EE118FE03972813811277F1F07A99581FB458D18F0D2C5EAC5 -CF755173A99C37525615E1920418067A840679646802606148A0314A2A129104 -3CB775A23833AFA223319BCCF2966C76AB573D333529F06FDFCA1636023C3B45 -D99837E560B8539F00777A6B882F96B951F92E5D4E51D532F29BCDCD4EC988F9 -8528CE2BF580724B588C348665435FEC66D6CFF8FF2000E67AA8C8A80C71C13F -9E6EB178DE3DF17696DCE0AABC09D1B6E2F91C968D4028D2F1E7C0B2E494B201 -4160CF85023E0F171856279D43F1DCC9167D163B7D007B43C1294747F3ADD403 -E3C9F6D68D89DBADA1CDD616DD17877C26DE170AA0AF621A9C62DCAE4EFDDCEB -0C8E8A14922639E5077C139E3A8CB172D46635220FB98495B2642C8CB6D5D360 -B708534472691544911A108D788F2F72CEE5F5594959B75C1A20FC3A54B30B97 -E23CD3030B8255F7C59AC9F2E29BB880EFC696D77D210536D7D1148AC9EA94CA -FFE245B4D5889C9730D6ACFB73B7ECF503EA4B28EF733C4C57410956520F9C16 -708AAEE0D9AE34F101CC6DB33D20EE915955268578AAE27C6170F40F3D569DAE -88DE374178241DEF1327DFAB37DAAFF1BC1F8FCFD21ACEAE6F4E4B0F724F14B9 -40A2031B372029D19806994A5D1E80C7C8E282533C5E4B84052DCE367D5ACB3F -961420CBBDD14EC9930D30A3EA8185BCFD352D3E1449E877EC12EF096A55791C -F3FFFA6BED1E63BFD90B97CB1F38C560D1CEA5EF7E17116174B74692941F65FB -C83E4168467A22AE77A3C0AB38CB05E98BEB3E2CD0667ADD38512D2EE3ED8F04 -F1472D09309A682485948E702A91601FA203AE3415AEEA37E86909CDFD42FEB8 -0F9353743A9984EF36254D60772A0EEDCA800923461E086F456B9753C2806CC4 -C2E9E615BBAD5F6818CE08C1B910BB59940BAC40E626D5E1C7A474BA19F3AFCE -FB9D25B2413766DDE50E614EAEBA3ABD5B96BE9DBDC12A4094221FAC159AA47F -09DA0306984DECFD6E52BA3B7278495076098184FBFF2D7E49D0438F00507B4F -86ED43B1A3A915E690A6A6F4DDB84E30BCFCEEF96C4EA137A96771CD533AFD20 -4F9DCBFC404657430F1CEC5308979421CD6AF9C7CB61185B672C8708518A74F4 -4976FF68DF0865B6F761BC8C1ABAAA7CE8CAA45A17BF41E7486DC04006A0D7FA -DFC54A72519CAC107D8180396BA6046B6335AEB26E92B59FBD94B1C5479A7FA6 -F7F2DDD06E0FA2EF74810E89B4C9CEB156DC85AEA94441AB4F30E8B1A8BF9F1D -9E6132B59366AF69851F634A595E61CB4AFE77B6EA9F0B72E803A4E69106EC5B -C97294A4F68346CD40AE6E3AE9B6669155208FBB42B01EBA44737186307A2C2D -D5FCFDBA9199FB466789DC7286129299A31E20836F8C654587A7E07A288E56D9 -E7CFB0A43278FDC697D103B20F969938164BC1BC6357112336162FFC796DFF19 -DDF8E85BF9CD2F22465DF9226B333182571F8332B6ABA8543986B454F256FFCD -F706B4563D38AD9280AA6A259810DA62EC7621124723233EC014E6F3D1E6E16F -DFC0C905BAACAFA7B2EB6C0D5AF07C3A3FA051E3910340D206DB78FDF24F36CA -8ABD4ABFEE6FF3BA46C73AD77C07BA81576FE601B577BD767381341CA872B121 -CA506D28A9F757158E62A4C78E38FA8990BDBB65C1413FD1BF8681675DF641A0 -5664BCB5A71663B830977E30F467E48FC91FD4EB224114A598A85BABF0AFA857 -B73C885E843CA29B55BB99CD69A1AB6C7DBA63C9A550AF93B65CC2ADE0F13294 -3AEE55FE39E8D10D1E9B8A9DFD05C44C457C2669807F31630BBA53DF3C8BD167 -60A91B02D5E8D679C227DA8E320136E114E110C064F95504C55B8BD04F9804BB -63D95C3A06521C95DE7B7EB10B14A0BB45AB5F764623A120BB2F48160E257BEE -60D71EB768DB3A62AA4DD59AB5EFBD77C096B8BE13D597A4FF1AD2CF4A43DF7A -21C7DE55DC385B2EAEC8C5BF5B130DD4243F52B202ABAFB60F0D8085FA97FE69 -DCAA77924CC60A09BEA9A64E8D41AE80C247B71DA764C4834D428AA542D8229D -F208FEA5AA3F5A1641A6FCD1E20CAC604AB4557767744B2A27F0AEB56AA6E56E -A0D8B5114F032BA029D820738B5E5028B7F18DDE8C00317A3607FA37588203AA -43F10BF00C24A89CD674D022C50FD0958CB514C9994459941A8D17FA33196674 -CB030E024E01E74F3F10BC537D4B899CDF7F9FB226E250BD21F87DCC6C881D6C -453C68C647CE8EA1D5EB53E6F3F170006AD8AE8E1CAB7517D01CF4EC5619407E -EF70039C6D418328E035D4468AE5C730B690104998509ABB3E77DC0349672EA6 -DC28006F2F8F493E1FCB1F200D09191F8E0EEA8BAA5812EE6C2953783E04CAE7 -3FF5614A0B14D9A6F44932CB1F647F8023144649A72A04360EE1F679A7B30AEE -F204AE780433864491F2B85D31FA19333D9BC85C076030F9ADECD4C7FEA3D99A -1E48954E58145A1BDEC3F2E401C3D7EFA3F6906011B85B811EA445A5651759AC -0C95C24065D9A4DC329C5B055AAB0DDFA45DB0FDF9B94F00B77781D9435CF699 -EFFC1E7CA4071F53DEBEB2AA8AE34538B3B812DA2EA2EE5BA19AC90695E436D6 -B0129745977065519D41FEA05DE277A2BD6BF981E70310B8A923BF37C6238712 -C33E29D059AD32CD87DFE82C5861D06A936E6000F6B60072EF21954716FF2871 -3D488FAEB0294B62BAF5C7DEA508980547FA5474AE86F48C3C5FBA2F06DBF435 -673A0E2B798C612172660B703C1243A9110E4CAD2443E6724FD24EF80C565A15 -8F0835D70F9F22D9E4EC0EFB3BE975011B4D741E81AF94FA6EDDAAD9F4BFE7FD -82AF03CBFC91B1A868DFE2CD9E7AF9222345E319126AD8176C24DBEDD2808DBE -F3C6BDDD95BAB691BB29CFEA534319E195268F9BA2F1518AC40027D89A07A5B9 -E4C87FE8878535BCD860EE9F90C095FCDD345D4E041CE9BE982C78A9AA854944 -3D1AB9AD6B0CE790F5F9F45695A30B4A82AF5946F02161943D96760214DA5B34 -88A3A8656E62CD8F0BD00FE8EB0E42F2277ECDC7A6DB2F27458527E6C5341811 -F5E347E954DCB8E8EF675047023AF7015B32194D4DCD4D6D3E000B54D8E622F4 -92ACD8D6C6254658340DB70968FAAED1226A949C78D176733CA14273A8C56A49 -A1B72C6FC4C10EEE2D3E0BCF702A36CB57D824D250AC3F036BFD854D622C3953 -4F12614E0DF155D72F1EB25082796485083EEB79B1901DE7CE1A8A01975DFAD1 -8BB4620D605DBFE2EA87A0A3572AF9A41A8CF5D2839845A6610F0E9C2FD31F59 -FFD1B4CD4C9E0E334B3301D6A484F143D7F962EC913E7B00097E296B2903AD9E -5C8401B7AB60874A1CCE2BECB4E6ABC006875C803B853B0C68D2C7608EF4C9BE -B2C27DBC3DDF24BF236567A14857102E12B8B4A7DF237A4AF3C2B6C7620BD28A -83B41F259A9DF2FCDBFA90C50D1561B5E431514E851A2B31A249791235546D31 -F4174CCEE6B2C8C629860746D3C93EA8A43FF1A3EEA11810763D6F7B8CF0978D -159CF5EE92DB4E102A8B9D1D57B3EB884455867F2533F047AC7F59ACC60CD530 -AB656B083C177275F7230A7ACD461D546B44ADEF73AE2658F753C7D3C6B7DCB3 -ECD47AC3D397B42941FF47674E269502250F0EA86071D6BD1732524DE9B19768 -369845919391F7E9C34CA2239F104A016162771194CD1A6BCFCE5D3FE23B3505 -9E85DF68DF7B17FC7067B933865552B6B9F99815F09121842489DB31D412F0EB -2CE4AA554B60F4F43FE6470CFE2AC1B88D624094693E1B727605F2987F64B8F0 -22429F488005D227B543ECCAB1504B04B99F1B5932B21CA75F94FF12D08902EE -7DA73AB3756DF40DE452539F21E66023D26B925CA8417B124283C4CE2D867857 -B7B60A5055543FB599A49AD658AB78DF41303E979C2CC9C463B8B5E8B82E5B92 -CF4F0221F40C6C900D10132B93B1D4949452A209598B29BEE9889111F81E0234 -8C99B01C33E480D9A665A113872249D3632065717765A80768E7825207F0B4DB -36939AE40A343C271EBB74051FF28F1D03851AAAA9F74AFA088568177586C54C -96D6A0CA26D77F403C0619C48EBD9486E9CE6A5ED985D8210C0ED0D847993AF9 -C6E1D0D4300E5C701682DCB0BBC3D0C629487FDFED8C02AACA2AD48EAA5F8276 -8E062E72838419D59FC909504ACD1905F56E667522077AEAA89881D09354F6F5 -6956CF33ADA7D9E20D9BD468C7088D6757984DCEC450DA23612A4AA21F3593B0 -C11EBA281585E0FA0628FCAAA65DCA6EA8AEA6593631A8C701CF03CE75B4D6B3 -79B4A5542A05115BF7718A00FCD81562EEFD48E696BDFEF3FEB1ACC6EE68202F -4C84F3F87FF5917A64F3AAC24B52E39D9589CA3DD643C93E0FF4FE5D3C5B86E0 -C41452A5497EB0190C1F0C4DA4A69DDF6D821FB30D6C303904A01E543F9C3862 -B292312FB49117CDEB0BAE1A0E6CA04F93BE0174C18D4A8B23F08499DCF12490 -65346B75E42EB8A743735F69BC1A70996EBA24D3A0BC27B3FACB40F8C8991B22 -170039346F91568267CDE454C5539DA257F1FAAC16AF505B842D884F117C8E25 -4ABAAA69CDA2E17E97AB402F41B216299261691EF9035C6E9FE5B5D0B9096F97 -891C0769134A380449F15A1AE74A61C2260579C7DDA09A0AF83A7A46D67010CD -1E359826030307E664F24221775ACD982B1DB002495105DF1333287E30590AE7 -B70345985E6AA799C53F53D769522C90546744410FFEF7F5D66A0ED0CA713032 -B10C2341682BE0A3DF529A995E2CE23EF3C218ABB46F3CBE98F998736E6137ED -27E2010801E51B3AC8A0D2F7172721EF5956F77B740B1DAB2F19FDDF084E1C0F -B5E3CCFDFDE12439850176C02D4CF525A39FB3CC333940DA73F6933A6B97710D -290B4566ABE0A39F488568A11BEFC30346DC6E4C24367FBCBCF890E9B79937A9 -AAF8E21BF8C04C16C7F49BE12D437DD928DE95FC9B7D2CAA17B4148171C9052D -634CAB14C879E7A2CAEF6686C96942AD652B91679201471312A109944170B6BD -7FC48A3EE74C872574E0422560A79F9919C65C0B8DAD1ACFE57DE31C4E1F9DCC -F584363DA6195FD10B82127FE1E1C9696AB9D61635413E7AC613616488194112 -7BFAC0F79E7C777AC8A34106B4CCBD7242C3FE1F83C661F6B8568284EDBFD7F9 -E5BA837E86F61606384C1570080344A4B020389DEB8841CB820090E7AD07CD73 -FD6A97FE32B4E2DE31C4278148C8953B4080B9C5F0DCC98139C4B1ED8476EA59 -2D2E19F09DB590F962DA9EB500365B58194DB638EC71646E44380276E68B1EA3 -DADA3239F00A5C1984D73BBE24C1CF58C56BF232EE0F1C063183B94FDB6A308F -E0725698D884FA9AAB7A017C21CAB90597FC02EB242F97C9DC0DEF033234F6BD -0B4A530E8E159B295796770E119AE1B21D0E55A5FA71B514D49520859DF64EDF -2B84C4B1D77AA92AC1870CBA9FDD5024A0C86DCAB16161D0040789530FEC0569 -916C4DF8D6E7945210C84A2E0E71AAD88524AD4236A127F236A33F02CB3A17E8 -52236E55CFCA560CAB241C0D35BC53BD46D320509197B1C858198AA95983A866 -C7B277EC80054470E943C966EC42BCDB7D822EE85298E7C3C7F95C7D135DB7FE -BD07B8023F3381346D2E02D65D54DEE68F97FACEDF2DE0831EC13AD33BAE86B5 -5368CC34B228E7B37A2642FB8CD4478B0FE274B11DFD3AB24C1014DADEE43988 -732E5E63BDCB5C28446CF52FA3CFE7990BC25C6C7122AA71299E921BD09F1493 -E62F9E6C54F6686764901392E4C56954CEE05DA3E139FC6763D1CE511479FE83 -6B407DA9EEE3E9C565EE3C3C9FC636557D023910CADCF04AAB18384C496FEEE7 -FEC30120B99667816FAF6BB247CABAE1D3A1CE9BE05D5C560E106F6133D86918 -928DBA2161F641C0DBC7FF5B22A80D98E5469B65E1EC0332D73A3965A325A43F -E7FA55F45233702DE20D383E3EE3316C891D23347F300EFCD46097ADAB00B6B1 -7AC09DDD0D520360F5E0456C97F8CC6BD1EFCD1689325667C002146148FCDC8C -0D1E617758BB173D0090B2D1944F20975B13C8E66AA25690B2E9A7EEEDA1FE98 -313204D5258A9CD9C4F7F2006D2AEFF7A65F1A8A5FDA986F55F2E0E829239149 -359D4063277B008468F588AE0EDF80660A260A4839AA9C0CCC21BC6AC9D6675E -31D832EB3E6C99DA7946645F4E5F5F134D8D03620AE940C629E68682C77574E4 -2FCDD05858B62D5B2C3E6CE4B599FD58B9A47DC5A15CC5A11A8CC2F0D4E64916 -11B6D29B909B878AF431F29A33BFEBD5E9929C181AD36FB48A1071AF4E3B486F -731BA47CACC876D5FDAD03C92C5F8C4164A16604AE49A390C5A6F6A3DC4298C3 -CDD4F09CEE9816A4B9DB79B0506DDD339799F6656F7BB8E673B1DDB7D988B8E3 -A72E45C0C53F78D354E55EBA6FF61A67DE268FC10BD4210640B07AD730A44238 -B5625BC87B960F3386AD8BB146C58A9ED57C51A633729E308C4FB4F645B493F6 -DF8345AB31560C339E5F3F016A2EEBDA4FD46BC6BCBD2E570419C48E99ADD9C8 -97D3FE15961CCBB30AAFB93EA1F94FD49A9D9ED27B9E59B10ED7095DE02D9E74 -FFFE353C126540AF283DBCC68B26AD64B3D4EE859F303D230DCA295E6343816D -A069C3C70CF460EE38A45AAC447042D333A7A8F7333E5C28C62DF0E8FECDD762 -B39E8A6DC9AE7F6AB7DE1E8B749BF6AC518B5995A6C7F74672650C5A97B30117 -C93250FF6E85041B9667174204289887259C99C357E79B0A4C92E63CA9FBF994 -B1CE217F48D66EE7A66C569F61F2EA5098EA1577C870025C551AB599C3EA4AE5 -8DAD9F414BB0755A8F7573A847FDC2546CE17A124AAE91F2EFA4B8B0926AF806 -B4193B7D587004CEA70D68B924715716606FEB103C45D624CEF341D12C0C511C -9EBA66E67838B801A35D338E7EC425DE71DFE409667C845BC23FE9BBE71C26AE -49C0C90E7BA16880FEE1F8ABE8BAB6678A48143B4BDCCDA61338EEE63EC5AC49 -86C01D0AA9CAD76EED3414C025C941FBDD3A0278DD441110AC00F963BF3512DB -10BC449F63852A12B4611473E51850BA13E9F3E11B2B2BCDAEA34AA79AB141A3 -B5FBFCB991AEAFC5396C82A95CD527F20F514C5E70A4B2EE9CDBEB834CB3063F -B1807DB9E48E3326249E137907DD52EA6D0DE38B7579BE41B2329A632DF721F1 -491899540B30F28B20E1D2856E18862CC0DA01EB88C6FA4990AA9C5892170FCB -5D4C36D252E6BDB726E38BBF094992333A431816F3DD4A5B6CF5CD8E105D4BB7 -5BF04C4DFCBC00BF12B7D904EB945275C19D54678408D7EE19D57D8C9D6CBF7E -D946A3A94A42C0546AD30BF89A93FFDF868100DBE4915F9B67FD4273F71CF10E -9D55709926730B36C77B1DC0B999D912347353760B35CDE2254794073C53FFC4 -57BF5887D94FF4EA15DF393C192CC586BFFF1AE3A088B89BA9736DDA96AC7E82 -FCF8EB9467454F669719CB0860834C5F3C58FBD07F203E7A859A5497FF374E1E -6FFCA42DE0F08DC83A605C8A62E73E1CB7775C7324F46C74FCC96C1AAF3BC836 -8EC4099A1661DE05E8B420F97B6413E48F66BB056CEF885E3C1E113843220077 -559D74259D87D453C4B685919C749B2B6D1BAF972B7581E18336E01D4FB99098 -D7E8EC3D47A1B7B6A496D913C197C128E4B3CB99B3FDF82A967FFEA1ACD69E48 -708D286372AE141516B184CD5662971031EBF66540FF7FAF83DAD19A9F08B1F3 -1B5176D821389017344AE6003D8EA4252148EC56AA6901355A967E7A05A16DD1 -B4C53C0B271031F6D4C6BFF75F9C77C84F9CEBF80678081E8313226F8F724C06 -CC4D08D2286DE941AF7120FD1DB8F0609744D0A293A0DFD20E985758DF70613D -04EAAB91920E12775CDEF13F3BA285707C8349E4F3602C1DD861E95B3D397F80 -7D71B441FCC607BE050057A5E5F710722F08A6D5BE98CBD0198B4CC6F3615B2B -974CD3F6B7E54115CBA755AFBC2FB1238770F21616D4F3E397552C552BA7F28A -D3982C10B19C046F9739C2DAF5FB9CF9FD6DC69B74008F1FC2AAED755C966C04 -8826B15E5E795246E916F959301E1D92099C3ED5CF777F30DFA5150FF8E93DBD -D25C2D7476201A13506CAD321A778F6A7F4B6499DF1C1934DF42AE56DEA86F54 -4AA0DA2E01B51CBE0F407D6F6957E5D8F20409B3117CFFE462B75709FB2D9679 -E5E3D098F903749C49D1562A648D3FABC9E5849795DC61F94EFA9052D3A2574E -540EBD53858CD9CDD7BA1AB8E44FEAC4FE81A0DFF58B1BAA418BE0D831BEE37D -928BDFA083B89B6A1EF4334E0246526FBD75FD2AB12387AAA8643F1C3E25B649 -77FE01F107F267EA7EAB28E3F21F4E1C76CFF634E7712E3AC7E1D7276FA30971 -C422DF15343940531A4F002BBDC39EC4E45B1B0F040A51303C27027BE8781D43 -7D7E8FB0CFB0FA9D484281C0ADD4A7DD8387D8BB355D57AE440F94DDAEF24A60 -4FA32EF951B7CAB669950F11BA3E9819ED307141912F6E366AFBFF16E388155E -03AE0DE4ED3F77BF02FAFB18B2D9F451F5A3C08BD1C6278B573694ABD67F6F5D -7436FF5FAF5A6189E69FCEBCEBA89AEC82CC6F273DE9E93EC67B19AE5CC20E79 -FEC3795B8CD68928951808F656AFC0B8480B3CF7182B4B9453ABB31852BA7638 -31EC23A96D34A9E0BE628E8432E6330E4AC6DE9D3CF6EF9F20435E0211F14840 -59F3AA7C85C5F70CE08C17DA47B8C0BF069185B68DB187A0DF7726E2F6CC9E16 -FE958E641D8399FFB48EAA5FE910698A83643316E051F6705D0F1FEA32FA7143 -A16786F6245A907EBB872332A8920155C117ABA3729B7C4B4B66C25661E89F9E -AF60C6DACC78934CB6C5CE24513B7D34DF7BEB3504FCB0E3BCEB7D569865CA3A -07A2E4F61E3AD4B00FFDF5EEECF2550FB4E505681C42601FA12794893ABE5EC3 -F87B26F0D91FA31DDEE1FD4698D9DFAB95215BB040F8E912AA3CE37916BFEC4D -B6BF6A0C2B3DA8B37ECCB470DDB74099E52A86D8A320A47958A860F4B68B362A -45BE498C23594FFA6F5F776897C33087C70F280CF5C76FD5D667974129ED47C8 -5E31AD231D8D73515B1F8768FB56B3F26C9A39631961C72C14B2308DAB9607B7 -8153B87DE57E54612E4F9E4652A59933D7D810AF88C59A104B2FE06C3B06ADE5 -AA70CF4C7438E1073E10C181B2E6ED5F48A8E2AF76FCABA815152C5BE2012F95 -178F40D9396E54346F6A1D39B88A3BF8F819E80ACA1F1027B924685044BF3F95 -815440AE17A5B31682C7C82AE5D6AB3732BA57394CAC88C9C325339DEC5B0BCA -A2FFF81A3E377D2BFE90031080C63715F3649BC0B6D2B43C7213DB486FACCCD8 -0539D116C75FF7791A3D05F13410BAF462ACB2B4C49DE64FDC347A49322BB300 -13471694007407A22E605D98BAF8E106105D5BBEF5056F14D3370AAC40D322A9 -6442E1FEE766E69AA68DA3168A71EA7F0D11BD5F32990CFFC0770315DEE84654 -7A6B2854BDA8BE2F89B2AF5700075D0EA3FE7D9B57EC016DDE7587DEEE004655 -FD1384830F86EBEC2B4E122682BF0BB58187D93A085640EBA52A47EE9DF73190 -B62DBA8273B14B9BF25BAB086B16674258016D665DA33A5AFE144CB254BBD1CE -AC0D924A1BE8378E848010B7D43781B60A1B1905F3A859845A802DAA60E20B0C -3B09792072FC338255102A3C079108BCED3EC4EE0F9C87C6924E8C9EF5768AD3 -42E7FA8E0E9B052A24EA86799182AF4FEC30A775C3D14493498BBCBD2D56FB0F -1586E1A9DDF31E7A317DD46249809639ACBFB22BF17FE0552AF53A47836C45B0 -C06993C57F957852FD5FD51B447F05D25817CF8EACCD40AA3885336769DCAC35 -D25EF60E4653BB42909F71E14A199AB16F8ACD853FF128FD7ABBF2071D742EA2 -8CE85BE49166D1EA9D721B8EC9E7204527414380506D97B6917CFDD76C4A2DBE -1B5B11C1DD95BBD492481F51DAE5795723BF0F6E8D22A568E44A85D9760FB716 -45E613F24821CFD1C18AA7BBA62186614200BDFBBF68C8F51C05D109486DA07D -9020DC6D13E27D83734FB2EE7F48F09E25C75D843DCCBB440F745FD2644CDEDE -DDBF4D71DEAC9CB4721475519E8A9273D9959C9B15AC9042DF29A7E1CBCEFF5D -8A90A34BA77E59BF49B5954361D48DF9F64F94C06614275B50A74A355FBE5CDF -98A3764328EBA0F911EC6677564CFCC290B7BF1A652FEABBD9696F20E3187C2E -7616BA83E8A580F15B751829FDBC3343D339F6D625CEC805B4672C57C9BB24EF -3CD1C60F451983D26301346C05B59D2036430B82031479E7E6AF7DA0B84CB532 -F4C5E107970B0C0B63B31657D9028CAF95B45CBD5566B4D946256B8E4A4B2272 -F20BAEC4CF1D411322A0A355BBB261BA2387D42C86340C63CC87D0E3954D5202 -9DD7F6664C80AE67F8ED1C96FE293BE0EE5E57192264B6A8DF867CCE24E0463A -1E72A418B827A535317F3A074B4BBE64E0815ADB097633C6ABEA06C302C4AAC2 -37BA25B0844ABA32985EA702197A53FCD60CBCC77A2B456F59B65851C242EE66 -8F4528439A9956F3B4470263A4D90E526C7AAF9D1A38F2533F9E4B4C8D5CE045 -BA4664FA7011D81B8AB2722C89EC04EDC875A0CC0C37C7AC337D79FF72FF7DC9 -1BF4D4B1A0223BB1E574650DDF3C7E21F4B4C4DDDAF0F640FCBE060690A5BCC3 -6AF69751D06A83190F68E618AD2C224A7462464447ACAFAC9F1D93B98021E1D6 -75E2A80D3CF87B19C34CFD382F14AE9BCE7E5C7EC3C1DB4273AC81C68EBC8D72 -CA3A363F12E47DB1796F13A5EAEFD1E93FEDCB4A58212920E010CBB1240D29CD -43797DAD97789C2032D4F7320182D9AA7C22D1A836DD08223B6FA93D54BFE3D7 -A053027FD06B4AA651F36A11B8AFAE6B640100EDB9AD1103428CD5325F6B376D -53482D5968ABAA9F7C47BA9D680C6F58D44DF11EB73BBBF883E8CCD4AE85CA04 -695C624674EF2D7C5872FF35C01275ABC5F881C08BAC01932FF6D325E995661D -5CA3E3B424574E64CFD69080170773579423223301F3B9D79D1E433139A70E49 -FAD1A478F99AD81C0B098B5E1A0B8FAA83B9F94EF17DFC40059F480C6A500BD8 -CB9382D50DA910A0871C696C70D589BFFAD428DF101E67E1B755A6DF47DDCD92 -36D413A5B7E607D593C18EA98CD8518F86D53688971C70C8C25F649432CD0010 -992463487E9C02F025BE12913D47BDDB4235F59A95C836A17A0F73EC11B04531 -F191C21FEA9FF5AF04379EC467A6BD9A45A5454838BF2E63CF559F1BEB394E64 -5AF41EBC603BA939E8B951A4398B8AE0F2B2B4477D241042F9AE801F1D5CDA5A -214D784B54AC566EC581BA6DF6180B6D9B326F72536CF38149D87FF3AE03384D -03C25CD0D4B0E718ABEB331EB8CBE59B7FEB5F513D5D952AF1AEF1AAB5EB6BBB -58BEC6F378881F9FD2C70DCBDBFED4BC340C4320FDCD92C825F5BC45B7E08CD1 -0813ECE8FE8A9F23DA1BA4BEF81DD02E25129250C43DF0388C6AC55C787268C6 -E0C2F454E624D43FA0B070FE7F6B0407F308808884438BEE0C65C48734B5D039 -A8EDDD2DBA016ED1E6F0889108D807156F0AB340A6BFBB0B763B5555A911CC3D -E0882567730E743084E4C4A46E6C389A0362D3DF076B8B29F23548531487D6B2 -3F8BDB8F91D3C94A7B0C89D554AC4BFF2617192FACFCB06C52C65319856685BE -1CCE58AC200F7FCDCF4850FA23FE9CF1DD10533BD563A3549B7DC1D5C3D0493E -90D548C8F7EC6967188725F800895D5E890C43C2F4A37AE095D3B952E99021A7 -DD4384844B286668AC25096C9688FA14F3948F9B9D60C33375EB8967395F1797 -2859DE997FCF278E38FE8F203FF2C62773E8EF82537F479A18D0E3615EDF1678 -923B33687E2AC11798D55C4AE2F96FF911FFBDED641B8133A0EEF3A05D3BC242 -DC89F08C5E77D46F296C516FE92FEF39F03D1C8EF083185E88905CF25ED4147F -2D2474F07E2B893836B1BF65C2E9FA7B298749956636C4384A9CFDD305636B09 -9160A640696DF70865085F7C3F9E3910585DE7336E20D15583A9553239C26953 -01B6A59F6250D8536ABDC3A3884F28A4106F1BC86B15C104868DB82A8F1B7185 -2F1173C827B1D07D03A83E39B6FE269859B64D56B4549D7BA1DE509932DE6AC5 -F9D77FF0C8F6670D97D9B4A631E4DD55DA1B31BBB1B9E3ADBDD298EF7C6E4A82 -1BBE9788A7F46613971A114E28AF4DFA248D1FB8CBB2399B22EB8C9AC85060D6 -737E5188211832C946A00B22E3B7A3AF0075ECA48041E27E7DA930230970A194 -81088B75FA68F53FA2DA37FB8AED11FAC820B37CA89FE2ABAEBD4D2B52BADB0A -C9699035210EC6727773D2873F89244530AA84D5D287F2DEA3048A2C4F436149 -B22443CB18894C910C0B27839773670B8D8762A4EAEE16A31FA4156C5CD2470F -96A72B5675C8D39666204758CD9AF9179A9087C7A1C1F704683F67651AB4970D -356A4B36A9E57898A928E8885C574C9596136CD4C3C71E2897F6FC9D72754F41 -D9B5FC619AAF711E280CD88DA78E887DF8774B89B7A022B142E7117275A857BF -3AFB4D268E7CC33F36A5E3BE297E5AF9C96F25333B95A0EFC1C45DA27B09B4C9 -44B57978D2173CB4BCC7333E606ECDE6D47094B78E69DFA1F87EC50C21CF9C49 -6001A3986BA0B328AED88DDE04905A683D616DC236A09C9C4A22BBC91F5D9440 -4618F7FA2093C54D14684E710FB7601BBB3E8A5F37AB4047E252ADB05CCB9A2B -316F84AD443E029072911B172512B97ABC8C2F1A46B1C1D6525DD2B44CF3D699 -8DFB1B6F19AB65E5F2634E4A5745D3023ABD382D0638CCD2BC812AE9C658F973 -F54EE11BA04A1DC0608C17D8B8B234D2D53D045628BEE9C02AF468FBD756C277 -0A6F579630DF209CC3F850A62B55132D2853602C0B531D790853E497C69D5D66 -8D1747A9D451D403749C14DB1AEAE8A78C8C9D7AFFAB3BB85995F37859DC367C -0438A04B776BB400C01D7CB0604D7E4E4EF729542F9707B7F569DA0398FCB340 -89FA9216472B52CB5EC8CA165AAE3EF1FBC908FF790B90728BFF513A31AD2C3C -6FCB97EF26D925B0CA3F1908E1717CA7C1C4D8A760B6CF4D4AE2D1C67F136AAE -7C28367016773F9B519D998DC4843DB454A5B6365CDDDD1888F18C085F63C61A -F13FCDA01D8F4E5E116E49E36AF2BA5EC77A148A32C7F24F4FEAA51C5A488E9B -02EE50D59E049DC8C34FE159D8552E375A51139E64E8375F099E4D83B7F3F0F8 -1A9E10F3830448E71E30E571C0B463970DA072C1DCB1E028E3F3BFE0CD3D6EE5 -CE02E75B250A599526C4879C82D17382086AA5E29AE29D3E4B3000F68C5ED50A -E3AA4192B758B4555DA8A7785C1F37729007EAA5125BE8075F9C5EFDB4933BB7 -5986BA53BD161F68EFED2DC764482569F24C6FF8E8B3D7C543D14A60C6CA6B54 -601685ECD8AC5AC69698A27F3A9CA19A270CD8FDC52FCEFC4D4CED2C08AF850A -AB820EDCDE6CA87E8C10E21A306EC623FB99584639089BB609F92BAC6DEBD7C7 -4B6C1D1A8D60E41FB9471F93BC88F0C5DC47C67AEC95F6143B96183811C0C04E -B5C59BD633C413FF53CDEA355C302425DD07DBB3C42FCB0E75FAB09025626187 -2E4D1DF715A98F4AC682511EFAEC2921BAFBD868D0FAD141A73AFB9B7BDCA510 -67894BB37286B0D2B923646304B71125AA462332C4E2F515714FD521B6F5B5E7 -55EC1E3E14A1EB77E843CD79AED9C552264525BF028FAA10C26114C5D7231EFE -D2FBDFC54D0B8FB49339AEC4C1FCAF6ACD3F0835F3525F8FDDF00C288F337750 -E3C2A9A8A82CA3BB31CDFEEE2AB06586F8153437C4A049D87A77FD491FA801D4 -D821F0DBA6A437DA72567A0A2D734C1E563B511D7F42BB61849130C2191A4BBF -DD4B538C4D5FDCCC8E67B2697EB1E9F1C0BB8C853D81403741D56F10D7A10BE3 -AB63EB0E62206D762EEE4D5D3052B96AAD09D2873C4EEEEB1AC3758D704F8F0D -E65CE7023DA8CA071EAFC18C9C8B612605E7403A8E4BE38FFE85B4A4D73BD2D3 -A96AF1B041773CD2A8CC12703E6AD3E5BC28D4DAEF6B58807D4245DC1326B6DE -D20027F61D83ADC0A35E4CD5C111DE1D79E5B18B9B942370F98B0358EC108C79 -C186C6A49C58F0D8B2A08B46024D792A185F86375DAA4CAE0221E2C18D369A66 -98DA4E6771C545CC0734079D93251C056B78BA1D47CCA8E146E6A404025C93BA -CC2E9EC35A3F169BE661EA2557A7180EFAB0F243710068950A73EBA4BF1D6C62 -B86F1A0D69C4B89B4E230500CE2C5D34C36AE442E4E7D25188FCFF747F3A0320 -019377D9F9C8401AAB3FB53D93789D7812F75B7A1C3F8276050F6EC2DA642D71 -6ED0C4D5A93C4785DCAD345A2D7705A0E459ADF6B697A616F07AA95F65E9D147 -55A6A26941CE0C5BADC91056EA6EA5CD61A56DAA6195D4AAC442455C0B079E6E -6A448DB127E008ACD93B86505EBFFE7ABD899E66C55F4EDC92C03DB8EF70F75C -BE015483FEAF83F5EF2F26B42C8CFC94E9DE5205212770899A0B45562DD2CA71 -960CCFE0F73AD272FB600B695CB0B2E030E287A93762170CC3E3EAA05CACDB9E -0846FB080E3897DB46F49511AAFBB5C4C178E998D3E0143F7D49589B129D3EA5 -54E8C541C5704D159DD790A5A056EBA93FB35D93AB947EEA00D82887897B91EE -AF261FD75E2792C0DFC97955AE2E52702B436AC0738C77DEE1E36CF07D1DDAF7 -C02C4BBB02DFF21E5EA61533F0536CBB8E0BD98ACFDBEFE43EAA1241BD5599CA -568D05D326CF0E02664446AFBC8DF3FAD64E0C93A88FE59727C7555347E53AD9 -019EAFF922CB7CDD5FEAC61B5AE8F11DA90B4F0CB822DE69EBE5F203B5CAEF67 -CDB2F992DD76611881520A07E3CD0601DC12FAFF079AF921C7E9336C587B7F75 -7651D715CFB6D94DCD6F84E77201DC8C1C373EC0E5F58D0589569AAE6EAB1805 -A266ACEB6B4F8653DD97B2A99E49E29C51F8D2A5275C33EE72DB131D4942E29E -158E856AD128689CAA4E964C9C4845F8201C88A5205DF5D6C1AED9C7EBAFC923 -06EC61F7BCEE7F90186D7E17B84B7F9E233EB666CF1894971C21EE0B5A4A6DE7 -2E067B1EF3358A15655324BCD97F5F07BEC60640F5F3A8C6BF21B27C72A8E46B -E9CA1AFB93A274B96C30CD221D54D113AA8C373643071D38C286A95D81887093 -68FB69AC2B683580140FF010134E539D5DDB69F384D0257237C17C65CF2DF77C -E7060EBD5B74913359AF537448A2AA5E093D92C59CAD1C77D17B6C14D5B2A021 -83F941B3CF9D026244C55F95CE70DDAC16856DF34E9CFCCED70647743568C20B -6E0A08E0ECF1F6E00D059792C8051663E378FE6CE13EF7FF4322569B3BB173C9 -A057D4FE766054F9A4767D9766D5075DF0994AFB946D5F605DB333DF4E7DD50A -268432486AD41E5E411279866304C18A798F4E453C38A165B5C7B6DA8ADCBABB -3236A015FF5B06F587CFF6F58A2BE985B5AAE6044EC13450CF9589AF8683D9A4 -D0875C21C0D9DAE1252A3FE2691A766916175AFE887912C958D2BBB57D333649 -A3601F0A99A0E9FDE63F40276F4B975FC34F28F5000DED0DC3B2DF725B26F832 -F53CC316AA0393A0723456F7264B7FB2A68274BCD7B397B4325F19F00DBF6EC5 -ED40579A05A05367365F68A9E853C110ED49F17D03FA483A78B60A2190386DCE -19481A5D1AD40AAD598F62F34059CD19DEE504895CB2EEA95C54C59265077EBD -2FB13C449417412822288D828262055C0EE9DB7BB0EF786BB70A6DE27234D7CE -F971D170BFA28A6CBCBF9F2758CAD38F6B6C60D7A77FB5EEA9364213F68CE4F3 -1C683B249DEE6DA20A0AFF62D7D2B81676B4095974F88D3B4EBF0EB369061066 -529091E0B8010DBF265A353A8C48B4C1E3F2B4B1FEB9AD8D92448AD5F54E4EC1 -566EF905160607EF787C86521F3AC0F36A90485EF0BC1D4783F817C803658583 -A9566BB4914E3DCBD5EA875AC098B7124C55F04C48897AC6D28DEFA7C01984BF -B820969C51A914E1BDCDD1726E5065E93A168EB94B1EF991AF1161EB22143822 -D4AF3373FA7EBFCE0BCFC34F37CDBED5D118DA7EF01E7201145D2097525FA537 -A0EF87E90BC57B7CA35B6D87B425744140299479155CA14DD118B9A602D4FF94 -F2D206B7D3E183A339F628D1548660D6D2DAD8AF65D6153009590D3B0AFD2148 -EC95F4E53FD29B603657328F91CC1C60453FAA0BE452E32772D38E97E19301EB -EA8A18B0976F6A0206FB503C97D4199B6C0E396AA5314B90E7EF23EEAE1F6E0A -CF681E3C242F60AD09F118B9BB5AAA2DF36B06CFCC8447631D2D26F09A86D69F -C9B6B369F20E3C7D55603184EE917BEF74860BC08B456EE270CE786192E3517E -F95DF3BA7C51F464144A3BA7BCDB4CCA688590072C076FBA2E01D1425954528B -1BA6F1542AFC961B3489908401C4662F1BFD3E19B4809BC5561E2F999CA17B28 -77DCB37A259494F302ECEB55E3F8AE91B21CDA8E72589A259ECF0A7D4DA756A4 -5AEDC216784BE44F52778BA5E9C1AF00FFF10F11D3555AB06AB808EA664C2953 -6CF487E03C4964F746129D1433B88F05B90C9285F2BBBF8C446859F27D73F6BF -23942EC4C1B822D6958824B2DB8A1BB524017B7908CF0AE8BC17B5A18F2C5C8E -306D247F19ADDEAFF146E9D78F32228C7182FED45E2539D157239E8A74E4B0A1 -29DBCBC6711680CC9DCE28A2652799F33E6BF47DA7 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -cleartomark -{restore}if -%%EndFont -%%BeginFont: SkakNew-Diagram -%!PS-AdobeFont-1.0: SkakNew-Diagram 1.004 -%%CreationDate: Mon Feb 02 09:31:47 2009 -%%VMusage: 120000 150000 -11 dict begin -/FontInfo 15 dict dup begin -/version (1.004) readonly def -/Notice (Copyright (c) Ulrich Dirr 2004-2009, former designs by Piet Tutelaers, Torben Hoffmann, Dirk Bächle. All rights reserved.) readonly def -/FullName (SkakNew-Diagram) readonly def -/FamilyName (SkakNew-Diagram) readonly def -/ItalicAngle 0 def -/isFixedPitch false def -/UnderlinePosition -100 def -/UnderlineThickness 50 def -/Weight (Regular) readonly def -end readonly def -/FontName /SkakNew-Diagram def -/Encoding 256 array -0 1 255 {1 index exch /.notdef put} for -dup 48 /zero put -dup 75 /K put -dup 79 /O put -dup 80 /P put -dup 81 /Q put -dup 83 /S put -dup 90 /Z put -dup 97 /a put -dup 106 /j put -dup 108 /l put -dup 111 /o put -dup 112 /p put -dup 114 /r put -readonly def -/PaintType 0 def -/FontType 1 def -/FontMatrix [ 0.001 0 0 0.001 0 0 ] readonly def -/FontBBox {-8 0 1008 1000} readonly def -currentdict end -currentfile eexec -D9D66F633B846A989B9974B0179FC6CC445BCF7C3C3333173232E3FDBFF43949 -1DB866C39088C203DC22FDC758584860EC7BB67FDA28CC6208249060E18FAB32 -204779B5C03C0493BBBBC95CF02692CC4DEAA8D2EA90B5C2E64374E92BCB8501 -429B8FAE4A76C0C6B76D6FF7CF9A7D5EDFBCA0E959541C59BD05B7DE43D25D53 -FC3DDA6EF0C2743978A6D03E19CCED4A11F2EA4BCC3110BE8B8D9E2772361969 -C19258EFAFDC276CB1ADE9208A941A36D18F9FB1C33DEF76AA315DD2D0A9FE76 -DE8B61CED3A549CAC0FB08F46CBFB35BE196B97136BF7D3A7C46BD5B65120194 -EB73D8BBCEC2322379B94E96FB58E7485954D301AF2FFAC68C04C239A2B22205 -EAD28C6A7011030515B132B3B45A0304E110E8C974F5C04A443060A2D11941FA -5075D4D0355D98FCFF3E3BBF3254013BA36ACA86A53D6F3354E33B2FE863D455 -57542BD527022AA7897985AE714A9C8658BE8B9C27152B55006BD61B97ABBDE1 -E6E3A9E009CD076FE4B0E359AAAE8FFE537BA05DB90F52CCE82677ED16B710AE -2389D5D8202056B1B0EF627990F6BC84FE14AD2F2285B5B0236BCD4D04798925 -81F1254AC5DE72C2C9E3812792B35DDA8EF3CE5E9C827E08BBA4E34774FF50BF -B7CD8504811C46A55F60CA62BC443CBF2AC5DE65F021C15F5DFE0CE9822D6D27 -4C523844561CF21D149F7B63F9AF15AADBF5C435837BDD8F51A8723F62A9E299 -5C191B4314AFEC5A8304DE2197B30809135C774EEA5A0D74C13EAAF0925C48FB -84E338385190BFF4DD3FA539D2FB72ED259DC750C25B768F77D39A8008608732 -139A9EEC29C9BD41AE31412561B0CD45DB7E733E2F33A30E2485E5B64D6DA3A3 -A50653009D886E16512852780D564DDF59A14BE05AF9D81A06419946AC40C3C7 -175B03BA897325E788CBBFB97777BCFD9EAC58B14F82085D50EC4091882741C2 -6A4654A3CD2CE7580F5AA8F9E224851100C06B22089A73ED25B9F4FE4A9751C0 -826E8251B4131D3C72AB5F37E660CA215CCF192A808AB2052A876FBBD745096D -B2C8406B1EACE49F64C413DEBFE0DA3383220B8730FC326E808AB857E66D8101 -7FD582FF740B7A52C70B1CECF120623F043E86C3C6CC7D12B580DD12D7747B43 -A165E4A50D1D6D582C7A94DAED3DB66355C4382893123F0F199CC6106609CC1A -998112FCF13E69233B7E422F30E6C0D9848FD327369F803A4FF311D53F1A0044 -B5A3B428CE10C53A802E0D2A06C44FD4CFE03574DA68CD4464B399BAC0B33CAC -1EF21086DB1731F1F1240F7AD440A8956A67264921284DC59A3D519F7D4F859B -F6C36E5D5272541EDD22E416FD810F7958F7C859ACCBF8EB5404B684841BFB08 -22C13B4E4EB304CCBB22AFC4919911B945DDE4833A7205A402012BE5E3FE8E6C -C190CAF25D9965C9A906707D4050015C93B8A7F9FDBAB914EE33DB1E8151676C -78399E3740D125965EF07E828443D85CA5B1E43034C9088967DC3A672E00BF10 -A60E874E605E291645C1E4CF533954D34F92069F48790BAB38B2416231807525 -3CB95ED81F25DF2801CF89B662720179B5485E90D42090B3BB1211F59F3780DD -65EE069205B06752D4639E3D24D7253A6012A4251016C65FF04EF3D95EB6954F -9211CE43A71E702A66C28FE58B54874D5648A668E11FFF45D332DF2857BA62A0 -5D82B7F7A1BE9E3CA0F00FA762B912DE83CF90439A5FF014DF8098D83F657530 -8B39ED035BB984A5281A7E8BDDDBDFD699172673C268FDB85314ADC9D730DCB6 -5B854C77F0F5DCC0A3445C697272432750BAE03BC3DEACEEDB00B5C2FCEAB980 -FDD68FC60AC5D67F07C30255B5CB7A8C0E9DE289C42EAB07B0F60457AF73B288 -B207BDDB0B184B2CDC9B5B76AC26DB381A6CF438E168C0B7160EC4F07284025A -8AF779BF093624AFCDD595D14B03296E87548221D6264C70E301A3CA3D87AE27 -06D1501864E8486724035519F75822A4732560D04E5DE9E3CF25BB0C4EE70CAB -7C5DA7C9BCDCFB67F1B6699A4EFC52D90EA1C3CCD41ED86ADAE9C01123EFAC50 -1E62221B95FE357BF67271EE6EED93B251B11A906340301E5BDC0E125346571C -3AC8F053A09AB668003CE8733C4C57410956520F9C16708AAEE0D9AE34F1050E -A1F200A5F7EBD0A7DEDA931A3F3AB2A52ADDF6EA97FAA3E9D10D4B47F75D05CE -2D81DB06B129721A92E55CD0C1369B201B4DA7CE2B7194624D33B42527A69FC5 -22A123C16C70A3FFFF76164637D645477544F691BAD3A9D3976BA027B720A62C -133DE3866CB703A5B760715238B61A4A3DA50DF82D7BE0840C35FF2A964A6D5A -BBACCE69775DA6C04E997534F0FEE5F93C8DC30C05EB0FF7D443012A7BACEAED -4CE94CA2FBA52D5EA6D676BEC0271C9EF3F4050B181152F53128A31BFEA011DD -FEE3C89A9FA5772BD7C4C94ADBD6C74097660098B89D670CEF6EBF5FCFCE06AA -CE819E77F1594EE8C7E1A576A6158838E5E2B013BCCAE98DF45A3716924A2571 -20F14D633BBCA267212F3D633FBD45BFA51FFFCEAE9E1A97661A47326B6308D4 -1B37E97BE87AF5CED09CF717D58E2A1C8B5E7A2AE4E28D24625EC6D1308E8E2E -8FF8BA03158083E47282BD8DE13C30983C4FCDD1836FEDC80308316401D8B181 -EE2855CAE4648BBD1EBF369E7696C8B79441C929EE3F279641FEB9433AF21E8D -84C50F750434191ECF16684AC5877640C27032E69A65588CD61115FC966FCFE5 -18BFA6204EBAEBAD35AC7918A9C6F373314BDC5623F523C03999939FFC6CC505 -03BB871565797EC537E26CD0FCEEB7BA24A8294C452A3E6A6E801FDD83FFDA11 -926E41B4251518F5F104AE5CD4A2FDD0DDF0A49EBF5C56160359E166BF88694D -92194916965CA4B0D9F91E630066630D8595A47913D246893E3D16828335191A -6589A066E3C09DEF8C946669EF2C286DAB56E326FB382CF18147282729BF9FAE -0CE3CDA5671A9D3CBE451D45D2F5BD0ED0868159FDFB3820D02F460E2C290EB5 -E169FC53F95B10FBDAFD939D8FDBC0EBBE739BBF7CE3E2B32279C16898AC65C6 -9BBCE78BD27F7402BE5B846CC8D970ED51C10F44C8415FAFC12C5777A6BB9805 -8DA68BB2A3832DF7CCC162DB746AC013D8BE893E9B5F81CED307128F7F523149 -B24460809E7A474CB05F65857EC1CBE59F047E3956309ECAAA931850A2221351 -B0C59C9F6CC71B257345C6CF339D33335AAF8808C145CC50FE50BFD826FE7971 -8D613B376A7E1BCD2091191C823FAE3C79AC5BAE9CA0241308E9893DA7B3B8C1 -76ABD5200AE59147B5B34155C98558C496D302AC4DA29C914113C2CA40D86939 -3B90E40A63A05302E96AEF0D666258BCC72CAFAED1EB86A9F586EB695F3FD5D2 -8C97E396004548C3781EC4E2C20E619FD387F75C5E2F04DC9C3BA0AB925223C9 -54CF1ABD3A4EECD3B71C2B7C69BFDD974478B78274EF3C92858AB858675525EE -2D6843EFC6755AA86869A6AFF6EA1F55737165797AC6EA8DFEEDD25CE03E90EC -5C27BCDC450D9E276DC5B083531EDFFDCDBE3B426CBDAA773F9BE202A9A4EB12 -858EA5F098C825C0F45DA2C8C78EE35410AFEB196EA9C5E48037C7C41198C7CF -AD9144D76A9734D9927730DB8538E2355B9A45D99EB55DC3179E9BA6F6C7272B -77E36ECB5D5768255EB21B30FD7F07AC6B13BF416DCC77FA9898FB83CBA4A237 -E86C07B88C60E4E1090151F43665FFEAE0369FBB3900A0F225EF03A2CA61EFF4 -7DB6C9BC66DA160D7A34C2AF28029D4089C078CF1DD202F1D0FA8107D37BA748 -E8DDAFFFC3D0003ED3413018908C01494A5F2C192A623CD123EA4CE7659E8A3A -0959EAAAB50C065DC034442B55BF6ACBA2368A9C213EC0F82A1D7750F7C741BC -F6C7F0879E5E268404ABF21B37478324926398CC3922983BDBD714F29D2D94F1 -272CE8C67FBA104EAF37E97C820EBD82B80C3C450BCBFDBAF55CBAEA2B0BE90E -9738D7F26C0D8A12CDA3061BC91F3EA559DF1E7508DB4E28E8CF02ED325AE7AE -F68D816BC8DEC9E653F92077A61DFC7DD671041A08A4F8B7CC46CBCF1499EBB6 -4A6152F5B682489A4B0A6F295D222B545B1E00A91B3D2BD203F86C01D9C955D3 -16EAC44D87207395D3C5812A9F3856B18369D8F63FCFC0B5A889AA9985C9B1C0 -A493D9BFDB9BE58DD24EE3DA7550D3CE0DC86DA1645B9163C671A8E071FDCADF -AAC1C1211B5F1BA6E2D1E4A45CCCBE989F253C9EFB5D678008FAB0329BDB6AF0 -F2AE4E41457830F8D66E97307E6B8D0FDA58FED35CC96CFB69C19BA993460CF5 -A4EB59A67192BCA9ED8B4D70ACD4EFFD55C41234EA8F648222DF87570F4CB161 -2BEFA1CB71BC1CFF2264C613C9F61C1FD5A30B240DD1FB8177DF569589B97AC1 -A10E33FC1E611BC3142D4A9B58F97102E7AE06C0253B84F8A2A807C55DD3FA8E -6BD89DB799536AA931CEBB0999EFCFD079ABA71327FBC15077E17CB2561AF7D1 -036FA5C7935303AD6D0DDE22CC3126DA20B79679E5AE4670C0B0B61E49E23399 -4DE3021D1A157F3D22F58FAC1115AFF937E1A8502296281BF8389906234492D7 -F4DBE3C41DB9F9DC99116C1224EE53A5F341E51F352F5ACF474B8D104A5677B2 -31727E89E7C1C3C3AC7708061FAC0F21DE18CC23D29A563527B0A52A7A6133F4 -6882944B7D444B9CF969977681A88D0512AC95DA0AEBFEAD38B6016D9F92BAC1 -70EF57755B1A45D342CDB4DF615E2CB64980C415B399C24396D1D00F476D6B54 -F2D50058F7D003FAA3C3F882090298B710BC75E0106F5F94BDCD5EC3826DA194 -68F817AA3AB8F380A19F5FDCDCFB687120DD2BE53053630FCDB7D87FCAE8F871 -2E1BEC7272951D9CC4ECBF2DC74F1261B9CA2E4FD8A303BAE14060E139457139 -2C367C2C38BACBC1CBB32F277C3765B969071CF2D0CAB561867EF86DE95F3144 -9EF355650C284961104DE937C39D179FEC22D258A9F7CF063183A0278A8DE53E -74B74219F49EE8C789A9BC7F63500C8A735DF316A689830618B6B3407A6E6551 -05235B3419660D079F71D9C379605CED53147A5A50D0C160A05FE5C50204E88A -E677FEDED7A6DF943F58C453A442BCB65C7FB09245340D6807933B01CD32EAE9 -B8F2B6A9D16E393A0663CD62F1034255B6423DD09714ED42E2B11D950AD673BD -2C25E9064465AA5B382AA84C7CE4A629090B9ADB727F855D03F9E815C6A4E1FA -B1751E66E3CEC9077501F85A4CF668917A3196CECE6089CD23C9471924481BA3 -362FC2C7FD16DD4BFDC262A42BD451CDE74EEC945A00DF7A1093F0ADABDCF6DE -B097819815B4C51BD2DD18B48840820AEFEF8DA4BDBD8FAD0E9E2F5F490B488A -46FAEB230B361E560919DAFC4259C849EF68D224414875722C9F069E2BFEAB62 -FD5A466564BE53B20659B937F6C06C0B9E84238D0E0CB373B16BBE1E2BEE149F -027E2F2200E8015C30E8256DD992C9AF6B003F14B42E6CEC6DAAF5B2224C2716 -2649E8624B742F841CFAB2FE9CE2400B2722A63E9DEA54289DAE0BECF45E4B90 -633609A45B0ADE604A1729747CE57ED614440AFA08F2C07CB7B9CBF2CC349EE0 -7C9B57FF0DED57838B0351915C6A5C65C82077CBF312F6F99C6D5949B701678B -815A92FE853644775F1BFCA63FD8B738F969D47E8D8C1193943C0A98F92C73A3 -CA86D601DDD3BFED1662963555B069E758F75026235DFD7925408E848A6F69F1 -F060A1939B29C16D42FF4D7AC37DF6A14754539318A2EA5F78A1B273D93788A6 -304366386D92945935D2F3859F38B0BE646E70738CEF26FE95797B1EB7ED8358 -F66687F002776F0758DA3200A193AC8301EF93D840358BF2A8F3F710398C8F9B -F117C0B4E509F0374E602D71EEF218C4E38C4E468BDBF3A89D5828B6E1941895 -974E9C1A25F3B43DC3CD5CDAEAC7E3C24AED9C3FE49E2F51BD0B4A91C3A6EF7F -B84709F6A6B56EC290E1CCF5B0D7BC2DB79342F2A9B4A62840A3890821C8C226 -AB8D4393D6E56578783F9D3CB16F01D6DCD7CAF5163D79AD0B2E0BECDAA083C1 -22083EFE0397660DC50FD2C5515479F1AF9699EB9A326C5EE8E3238959C8CA39 -0696DFE87E53946918B64434AA86577C4771F7180E48C490582AD53DBB0F4E20 -4F5DE7818699D5CC8AF020393111112866444F8612B33D1AED2C0A61DC1A7B2A -17E1A8397AD6DB98EFFBD230F9FE2F0AEF1ADE2550B7E5815B692C0BB9350B80 -CEF8B51C01DAB8BA84AB26C1C932D415EC89E21FA9B47B28CA25543387135547 -C90E3EF345D6D1EDF0BCC4C87981520B6C1366C76A29EE0B1FB9D7EE414147F6 -AE928C43CBB242E83BB97680C9AE0D3B7962CBCA1EEA8528A4AA4C1433AD8BB5 -A828369A7E8BF115B130B8642096B3D2883318C2AF955F21CEF0A09F07433DD6 -A275CA8E950BC89FEEA75F3977115EA024A452F88BA6EA2255F76E41FFE93544 -DC61BB4BA83D134891647E98D9C3ACAC1F7C1C7138041EDB15C5C61B92462375 -987E9618753B5224EDA6FDD7C47F29D972E787E114BD944E68F51A53C219358F -DD89E876FFA05D6492268883C7E681C1F9098417601D57F7527CFB15F1F48706 -653FA96532CB9F77C7BA843637214099FDD81D7DFF42E3A2FF055E4F12B637B1 -ADB98A6D6B11464DAB7FE1EC34ED176891F814DA4BCF8DE169FA4E0EA83347DD -8C4E57A829A84F1254B500C7D00CE863428177440A64DBEF2EABB39D27C838BC -ED3D025CE25EDC61EB9B9BDDEB9C953CC4F66FFBB9765ECC476E447B58D8F206 -113B3C307DDB572D0EE5913DF126E211BB5DC1F1B3DD6ADE199B3BF655D30B51 -9E24864941DE3BE09C83C5F89CC232101F5DA649519DDAC7A8916E6919D4E419 -541AE70317D9A43FB56934298F0B57C8ABEBFDBD5282EDA35CF081E640F5EB32 -F419EED37A3A2B9991E2DFADB85B5B42CA430C097D042AC1CEAEF5B309F70127 -8A5B70F471D35276EDB3AB456D19D9769EADDEFC3906E27CA32C8D92C9D6FC61 -E711F0E68DAB9B4979D0F3B3A4AC153FC8B1725DAA1FDD4AE02131E1CDADD911 -30CA6BB97C2C41B4F01A69863E6CD41A80EC051E875EAD151C0B4868833BA0E7 -E1169119B5CC9FCAB4CEC00312A445FB64A25B668D921CE5BE314EB0EAD1C3B7 -F5ABF4976A25020142B206ACEF8A74E9C7BB7C800F86C1891FD4648F4388EEEA -32DE22BED937CB908519456A3E409A30CD01684A5E9C8C84AF486301CF82EDFA -9570188608D83CF2BBB84600513052348B23F94ED4C07E05D7C81F03A2AD9E74 -B1285317E6A05A1084DC4A37DA452881FC884850DA7309C0EC4B7BE0A5705750 -FC488FCC95909B6BCCE03C29448F7608D4A2ED13C6055367688278A7CEDA30C5 -50C78230F9DE24876A2E5295CF4D93546A18972431DCC12D2A753D8E1F0E948F -E12872CC92FB18E2ACBAE1C95E7B62A395F305A893492EB71DAD0EA444C3026B -C5294311BDC84BD9EA2524732B84584045EDDB3786713FAAAD66DACF63CB87D3 -ECCB14EA842C6FA1EB500099E522A90BD03E4E65C935960C053AD895C831A5D6 -876F3CFBE476CF21E897E9FB8AFF9059D3EA782B9A45B19B14BEE9261ADB183F -6A0FDEFABF81731C3B13913C89F8FC4F73E0D2837960B942C4B87B261EF55AC6 -5E333352326942DB124D10E819DBB8BEC26439F9FA6F27F76366D209B543D5A8 -5C53DC0F79CC2DB7D8B5A05A1CB4C4407C344D217A3F199078282082929D57C1 -BF0A99132B9771BC766CBECFADA4C112AD37A58B1D3066183116BBA293C02937 -B0ED9BAD4E072FF6DC6C6416245F4BCC46D4954E8ED6B970B22BB3620BE1F047 -1635EE4605EEC3615B4F829889CD20AA17EC1A626601D73F9A4469852A8FE26E -F9FD12D949C7221DACB8FB7899528714AEF039366395B6245B5BB5E4C581B307 -A53D7D8B5B68829B4B42EAD91819A25BBE96CCB2B6ABA455B4A27C3C5D07C999 -9A28A5CDCA89D5B3E64D4A9E9491D41B22DE805DD5C57E07F169D8669D4BF6A4 -D03AAE2D22B300891203A4FC43B6F5A5565B8B515360E0E3EEB859CD455BD414 -A87523D9D58A9B4148C0AD35673D34FFEE27F8D87B0FE40DB6961C260C78B1CC -957B525779305B1D20FB785DA25E52D0FFD976570F10C917F38D74C27ADEFDD9 -7AAD697267C3FF131416E5DE1CFFBB4F3B3A6C17D741EB32F0C45B254F419FB3 -914B4BD1212FBC1E53B3FF59A99145208D57021698A60BD5CD24068935EC8DE4 -20952102E10912EB8164C2105D4EBE9F98E790EA7A0837B78D67CD5551973099 -2EE383E598E7F639C8839B010CC3C9E2DB7628C63B61286CC30313CD0496EB87 -4631222E31FC30720BE4235CC1A1509E6C22D8A6A4B5DA5CD25AFB36DDEB15CA -5D91B363F99E42A61B3CC2F907008ABC42900305FDFDD0D7168844F4118A2FDB -14171DE10D191CE211EF0413CB476BCAD7D7BA099993C1E2FA580F2510837ABA -7A29AB1A59DF012592848F9C633E95E827DEE76DE61414ED95947FA5452997AF -C83EFFF9A67FD27548500057B6B8BF8EC6A5E15F3E8C52F3058367A129B1E0BE -CB71FBA63EBB6509B2C252B922839FCD7AA69DB1309FB9447D1D4D1CB1353AF3 -FBF4E30867353DF4A4E969DA79080CE4579CC90C04E945DEC2CA07A8865AAF1A -69D930BA26D7F63CF310D8E24090077A800F4240299FF1FF96FCC97467F51D79 -ED2589B8048B73A51DDB27E711C889B7DCAB443BC52921B7CBDEFFAE1F4CF5A0 -52FB035011E0980D6ED12470397C8A106532AF95BD5B0A61395FBA0868F6FD11 -81A2B31DC98AA67CA359A290D1C0C95A9CD47B10411428A4705149BF3C6B0CFE -EE493E07AE9AC74DE46590945FEB9F5031C1EE2C4E6511579F5B7B114B73B2AA -4B404CB08B7DB3BA8067C2CB35A138323C7F56147EB952FDB2BAA2A1D77769FB -A1B9EF2A828B9D5901D005A79B771D90C897A256BE0D3E338E017976FED70F20 -FB3BCD31DA8F5D5D8547404A0253B547601703587894DA9302CB513F2229661C -502520862953617A4EF3588B09E34A98B52EDE89520FF0E0F172E261F976D56A -860BE9BFB98A322D9F7F5AF507CB853A32E8C1FFD99A12E4A3DD5015F73817D8 -5460435C35BC08038108B259ED741BE850795CE53BC7C3DC0F7680595959FB48 -35F94906877D355C828E58CABFCD81A3DA9472A22295C9BF8772982306764D00 -200DFE492B0EC52B379877644E3B1BEF2B5A2ED9879E4C0B21EE21FF2EEB9478 -5E8B2F9399627B884BCFFAF7DF4149B8303D942CD3F2349AC7FE93539F4EB191 -4005E4D9872384DD9CA4BFAB5E42888B8CABF41FDE9BF8837E079EC0A3A50BD5 -3A2B2842B5E5F78447481E79C2BC389B1EB00BCC202D4247BEDE02BBF4A5BD6D -D4548469EEAEFDA855FFCB91BFAA8793CA2CDDFE27391490962FA99C77F7197F -01F29C3A2D3D941F377427FF66940934F8C171948B35AC0B137D65649CE7CD75 -A6E7F80E84757AE4E6A883C83B48EBBEC2230821F0F86E63752F77F0976F9718 -3EBC12520481FE571BDACD0E192393647AC851BFE938EB2754A4D4DAE0E477AB -D037CD8DAB4109CD47BC0243906A5C137BCF97DEDAA8CBD8F951C84DD163704B -E2673217734539D7AB1C7B16CF2F2A2C2B19055199214002DAAE9F3DA54C6AE1 -7CD60B143D5EE016861F0371C24C73D88D61B44A3A8A3FC64CD8BDF1591C573C -AFE8CEA98030E8C7D47B08C1ED1FB5785EBC9DCF654D83B145D2488E2761A218 -68652C73CB684F6B365FFA542615F640E839B75FEA0C39670D97686101541BD8 -7F0DE4B10454BF13749B1854D78EC403398692C56D185742D61EA00A90684BBF -8ED823DB19F50315F6E436BFDDE72A9EEB68C72D3FE008DF3211F255F8728BC7 -A4CFE3137A6784ABE20CE80CF25356164384C3E55B518AA5A642FCBC54E335F7 -812CF722D1CEE4EB206AB0E1DEEAF9981BD19A4FDA9FACE453AFC284946E38EE -E2F99E19CBBC96875435F0B36F74841DC2E412AC13F1032D4FEF05F53C9B1135 -8C4AC7295F1A221220997125EB36704A77D0F78B4B4E7A78F436D4A0E65EC239 -A9CC1B8ACB2C0B23CF04D87A27D153C4C138B06FB06C226C86149D35DD944DA6 -D8BF2B52775DE6ABA1D5794EAA52CBD98581E58B68BB094FDF6582C38ACFFFD0 -0083AC53899CB8F87ED5B96E2A5F356329A6C81FC7F00659CDF66111A0A4EE03 -BBC3DBD6D9C6AF99164850714E1B087883DB609E1B04B5B722C9685E25C8285C -FC77164B166A19A7FBCC1DDEA0E7B467FEF2A943904B9BCD593D8D88008E689A -A26AC22DD822E1A1D375DCF9FF275A0A4B15A7AA5E62C0609861B8B0564464BE -0553D44E0E6B1D4E7C0F88C05594474B9F978D9375EE8C948A6E4822E09D23BF -859A1E48BE746A268526CA1888C2E03004DF09DA2B60D27247761455296E1B40 -AA8338AC2D98DE5438DC7FFD2BC92C158FE3BECFB4E4E0D1705704094BFFB5D4 -01F3E9E0A9B7230490CB985AE3DE72FF0A301D916686D396EC0976ADE245D580 -892D9E2B66703065D152A14CAAC1220CB06AC1875B7C2A37C3B934F41CE7472E -A64417A9BD68908F0B8E195F44984506E7895F3CBC816946BDFDF218C41881B1 -227F99926BDDC0136273767F0D70947A8A972B91C6611D42171313569CA65077 -8D9A47E6E6AF5FB8A77382E000AC2793180E2114BA0A1BDAFA987A7F0C1C6897 -A5424F8490FB81A5A18E98E97BE10343E4BBA763F1BA02F06EFE9A7A626A2786 -6E656689AB47460C710F6A3BC969C0A6DBD915AB7188FFBCE3AF16B4FDE1F878 -DBBC7B1A24E458B53D7095AAB9DB281CA35C73DF54DC992FA9D3A38F8985AA01 -206FA298ABAE1A432799BD2AFFDC27BA536AFC7CCBB43F0F88F3D2F88752F700 -C01987F090D1FE9AC25A8D51D9310505085A8791024AA39E6242D748A55451B1 -52CC46DE074F8267722F93813FBA44D3F6D54227964E0805C500FAA90AADAA39 -5EF3161969097F1D3D310056C19A29D84FC1D8E2BB88A1C3289901352E1490ED -24E6C760BBB62590F911E3045AF7BC577F1363169B5DC4689DC7232BB664806B -CC02E3751928CF0CE7820185B06D200BCF612A2CF22A9E93BDB2CA7BE2407964 -6CF2425401ABEFA7321EA704F1B7530595E2D41C859E70CC08E4B1DCA17E4393 -4A6F16FF3C237CA637BAB5E946C41C32ED18BB5FCA67E033C13795DBF23CC7F1 -75B4C7737AA38B8E702B68CC09B5CCF821AA07CE2304D2BA2C7BF7F4D4E5050F -E970987F70883389750BE58C11FA6EB8BED6F19E0726C9763E0F4286D7A753D9 -5FABD8B8E28FE0A2C726D95DB87E99488C8C156B51AC18FD24874BFC887BB6AD -04EFFABA9BEC035CBDB6CA041207595106208E4FCC3A023EF49F46534F4930AE -E16D6F8C6AF17AD979F33614F2100542904A830E3B6D77B72AACAFB333D66612 -C1840E58E0F1AA2E14E4906AD545913334B3DAD55C2B7912EDB6DFA362B415EB -8240046ED37DB4B283DE1F94BC8B77A2745CD6073E2FC17EDC07053555B90A0B -C3E9402671A6175C187F4C8F143959A7812DE34E35C6A74C2D82FEC55199DA55 -579D0CDE8F9434CC239E71EEC8E07FDDEA8DB656B0845A6E7E8B981326BDEAD9 -FD01D2B746E85A5468F45F8B9FE5707E4BEB56E9BE789A62F1F96388A2DE2383 -45999307C2158C613133BCF52E1A8E52ABC9F2067E79DCA0DB0EB7FC4612B2BA -21B735E50006CE99245CE0FBB220BEDF4212A7AD21FC7EA92B643D8C7899039A -A04E85EF69E3A039FFA787234CA15E28FFBAF83C19B09A9A34A41B029AA54577 -02CF364EBDF678AB60A95E580BEDB39CA4F40D1C1E7AA8296EC07377C07A5E0B -4554E5846B097E2E5610867A9E8C78CBA3BCC7CC6ECC6B5C2F5393BCBE053CB6 -1126D28348FA54DBC0150066876BB8239BFA985CB5B54001509243D31643C274 -842B5F836BFAA3499E03FEF9D73576C0F76DFDBEB9A5AA5968C4DE3EBE45232D -7932A8BA22E0CF34C56525E100C7084831A4E2B94A6A060780455220F9E12E8F -2AE0BBC62C90F769875E33E73900476B8F1F423D107D0921BE2D95066DA08989 -D9234707546926C375A41CC84B7402E9AEEDB0FAABBA328E4BCB38BBAC47E110 -B69C1CF3442C1B49CE577C4FBB9941A4D009F7C78DC7948DBE5CE32407D11A99 -EDAC63F719DD8C463225CD7C79CCC3A7F6221BE0A569D275E4034E3BA16DD36E -E94E0889FFCE95FEEC9238732340E2AD6E9EF13882CB7EA8DDC4B258C43591F6 -1895B089E263A98D3AE6D9343D3C4F0A65BCF51A252622F0BDEDB605CE6C825A -5AF90FA52D897063121AB13F811F31D6B3C3E50AB06E6A2ABB39E6880D0F2445 -D225D68BC58553A5982DAA17B38E54520D5EE35E3DD349A31DDC984D3F92F8A5 -F42D6FF9DCC598239FDF6F7B68E64C76FE45A4ACCA98273F6FE9A4BA85E69F39 -DBF5A254ED43DD04E98923B6918FB2BA5CF0DA06AABD5E045745B58BA9D4D1DB -E6A5C880B9C0E74C4F1FD30B4C00BAD35947879ABE2297993D453DB037E4C638 -6DC6DB889812BFCB7AF2A76468AC59CFB2D409014B5903B117433E62916D2F9D -4EA48A081DB8276F5C8F5A8BBBFEC1F14C997583166DD81C33D53ABDB2AE7F41 -F30D07A206171A8179D5B9EBAB9297FE432DBE7F2DD80552998DD9D5905A64BB -854F0FE14BEEAC18E0F425DD97100F126099C7F26D09F14786DEBB42F17B0A47 -9B7A338747669176A55800D04A6AEC0DFBB05F71BA0648239A4AABDEFECE71CF -A1D3803DD1C0700F5B5527A6AE94F0AD9D92F176BDA9FB3D1F4E9AD822FE300E -B0CBC175B12D3F4127C2AD6437973A851D4C70CEEFA2A11A33266EF8C688802E -CE3783646ED36BD35998738D36C4B0E53DDE0AA45382BE7AA88C26EE820FBCAD -7951684DE4BD795B57E683B987CDF324CB85FB45B5FC02F88F5FFB44EBF5BD64 -E36C1F0907C566794E24152646471D3A6C8AA12BC56B04F79CD1C6FEE86EEDD4 -AE95F042EA12A658A8B4DFC9B34989AEEEAD4E55424762E97569B495E436E94E -AEFFFABCD99F9D39BFD2AB00AD3D11B1E5C45229E38774504CA760B0B6780995 -A53266E509D69AAB9BD34B85B1EF68C3294EF770A29B977B23DF765634C249F0 -A9B9E1E7476C0735321A7A0B3DB4CABB688898E76D1C9BC959D43B135720389A -B016202D4AE7FA16C373275B40F73B8B680ED08CE0D626D716398AE0C3C8CBA0 -013E23814446767E081C42E09804B6BAFC899A63CC8674E91DD54A40492ED29D -2249EAEC0C925A20D5C4F67A645E8B1A3C978FA71B4AEF22B11CAEDACAB54ADB -530B5E72B51B56054A586F59F2CCA15C0784902DB90E6186A8967FC4C78857F1 -25F708D757B99EF860AC3481A375D913D3AE22DDD1397C1D550DDCEDF51D4573 -87B6B93624F792B977B9BDE53201D72CF4D1C7F43B27FF6D5D1C5E7FF2F3F789 -4C82DD8C8F2FAFA61C1D37BD7B2FBC389B1ACF7D6DB69666732BB95BF526C772 -15F605092D980B9424397D9255253BB3EE31D76AA8E2B654277ECABD3FF4F7F5 -B9514913058E318A75C8DFB580FA7330F47DE250CA2B72083263F1113741F29A -91E2B837B7DAEEFBBCCF989D1FB3CD1256B4B445081252357884FC4F55B3425C -FEA15E347A7538B77008A889A50BC89D470CC7E6513FEA8ADA3C40D2E7C3BE07 -B68FCD5935CDDEFC8ED03633E5B54A1D8CFF9E3C960DFAE4BBE0870B430B8952 -F4305D942B1A0BC179CDBF0104823E8A687AA80772F61E49460DAF12227F35BE -D85F149887B00E6E5F5602397B03ACB2C3CA03B76412B679CF2D59A1CB415DE5 -2AB186DA365FFE06128DA7A5CACD6F47EF9A31241FBB405DAD62B2AF361306C4 -ED1C87482DC28C63208279250B60FEE4F96FB0E56AC9E7E717B0D1F15E96DBAD -1D94ED6C5BB48AB30F913684EB1A08F5539536A59E8EAF4AF5F06EE04B0CBC27 -763D6C32914266A1EEFC83D24F4DC6AEA7C79E0ACCDA506BC47BC74C08AD13AA -F2EAE756E3D80E0DE1F5A3A387BCDAA5D12B8714EF0F39EE05760559499D9B9A -6243CCAB1F1CED1AA5229FC8ADCF7CF78A9ABB6EF80FE4DF1BD73D5B9FB98BEE -7492554BF0602C34C60579BD3CB0331AE1C295E478C993A7ADA235A5BA49CE18 -52C547C498073E671987CFF769C6A45B7EF754900697F1197647BCD03606F402 -FAC710264FE772B46F23EE8D146B598B35AC3E0AA9E366543862CF7C920BE177 -389B4AB95B19CC0965F13228AF36409C6BDCB4C54CB4DB75EFCF1056933198A9 -15E6C0317B7FB3448DA772864FEFBBD5F4FD0FC46A2ADC96EF7A962A3F82581C -4628FEF805305484DF7E76E7919EE9DBF7830F050674C5E46684C37D3C98340A -EF9DE0AC8DA464920CF428A64FD6B1BFDC8E5CA8C34797DB79942A41FF75B43A -E6347357E80C7C4BFF045EDA8C92F716A476A613643035E82D6817EFE6E1FDCA -FA2EAEC95446DAABA3351E8FB9EE8EC2AB71D4BBB8182B795EEE2268115249BD -29D0061DD1E0D2C7FC3D912FBF3363C585E3E4ADD0CB03065AE4E55C21DEB085 -DDBA367AB1F482A648CB2724973E0D327B03C29B08EB378F6D0E420BD51B038D -CD5D9434E54EC36B0DD5FB0F91F585E9D4F7A4F30BE9D44F72B6F442D7AF1035 -C3CF3ECE244F19A6292356464AAFB5C37BC1E21A333539288A3335E15A9C4366 -2410045031E0126F1956C815C90214AF64278793279FE63929065A2A9DE82AD5 -A3D6A2DDFF936C13CE9380316EEE56318980FFA1D1FC157ECA7AD2C2A1D38553 -1B0A6E0D5912B7C0EFF0C503AE5333386BD8BDF95377F1561D3527225C7B7FC6 -9A23395F5DF405E21652D8FA185EE3CDA3D88BAA9381227E439508BAF5644DF0 -4E9E83B452D9C0012E2A679655C4754ED3BC10F3765E669CCF550FA8E4EDFB37 -354753A57A18E5F20E28F4F432015106CE784920763CB74AEDAA7340294C92AD -20873FD395A6C0CE73ABF38503881958388025AA758E79FC34496E322F1683EA -9C59688D969BD74FD85FDF4412E2AE60FEB4346E339B8DBA9EDD0397E4FEFF21 -6D18FB6E89CD19B92CC9A8BBF00F48D8D6CD4E014DB7AE1E1397A788B0B625A9 -00771809B394448079FA93300A7ACBCE391C605E70CC9774702E1AFA8A6942CF -6F08205FB08C6B4918C8D9EBCF573BB106FEA5A3A4E409A4549947FB2667E559 -E49EC3B565423CA78D272CCC39F87A952BD446F66AA9D4931B1A93487AC647DE -4650AD7D9D0715D1B65E16A75B5D3C35D85EF41C19D139BD4CB5531CE19B4586 -C08A9750877996CB27045271DD13C396E4CA04EB732D867F059B391588D36B18 -0DD90514222C4CF59AA3421A5E9D4E6E7AF69460C157C827DD19991772532C5B -D8C9BBFDE29BAC0B2F9C52B7D21EE2A2E6655FAC957A43B4440E52B494E34F8D -86D2E33AA38CE0353592751AEE6B6791B6AE3BB1EFFDFEEA54D8987530BEC42B -8D6B6ED5DAE5D8A0D018BBAEF2221B6F395E7814AFEAC3C8E7035E72D3B6910A -81B3376C53A3CF4669C1F044AAFADC65BB9003208BB18D24E590C6D8FF4E4422 -5F88930C3B3CA00038591A9DA83973AC1E69300B569DA0AA4BABF8A53CDA5BA4 -7B68674F55DD2DAA20758E2C3051CC0333735253217635762F4C218A8754DEF3 -F05ACA3A15181E8FDBE1121E23A3E8811309E6B645CFD1D131205B4AEC76E98E -FEF758E9E240F33957FBF1C0B7C2A36D22562921F0F7BD4CB300D05F79120064 -6041DC50CB8E1647812D7A041D34AA0C65FC35D8F42B5D23E280D82AF7404C9E -6D39074688B4A94FA9F1A3A628749716172C9B5D2883D63D32E6BFBF8FECCDBB -F7B987D0F767620D76784D4D340932399E1F278F19AEFC992C12B90822A40BE9 -90067CC849B02C8B11EED1C283EEEC032EEA8E4E8E20CC54C6F09500F85BE9CF -2E163EEF10FD8ADA6E4763ED8B370CDB5EED742AABEB4F8085F538A62C02B50C -9AF2E177C9D3288D0AAE979398F25EFFFD23317D66B71B3C8CB0A6268EBAC911 -DDADC5DA7DE4A1A51505E8C8C6662933B2D4F335A0D153C3C5D81B873A555B00 -FE549B4AAC5147E573DB208220DC9C41D48788C9565468E36430DED19F803D25 -14D11E352013130285196DFA1D66C3C221911606C70097D68641DEDC3BD6FA3B -6E7B931F4F603A8A6FAF8D7B678897D15B53CF627157FEE48C005A5A997A42B7 -5C84F764ACD53133C0521B78A72974463335505096D7A191B1BCA7DEEC02A148 -147B38DD0EB9EE0759406F4B6BA86807AF702D514E601F73AAABCE7C6F571599 -09B988EF67671AEE12FD8D8347538D9A960EE5CF73DBC9D2CC4CB0CB6E3AECD1 -FA671728F666FFCDA4AA6394211D79A9DD8C9489DF7917651A454EB9181D7A67 -763317A90B25F2B5C6CDE93B891866697EFABC45704D986BF721EE67900B444B -AED0347834688B33709C80F2EDCA6182224451C9F696398F525678B887D8E90E -45DB4B8F728B845E2E22EEBE31029ADA9991A3DDC265D3E92CE587247CD423B7 -923B18032E4B0AF16DCF334F9607150D4CC0D711E5C7F87CBC4183BE3FF0A610 -44B59BF7B766B2C99A9246FDA4567CE25EFE9D34F0DEB6DED70DE129A4A4EDD1 -E73735DACA5F256083415910D06B2CE97159C8A2574D1A012AB0F99B956CD26B -FA1B11CB1F0827CA2BEF4B27045E889671975698C5F48173A6B223846F1FF84F -B9CCB0EB1D268FFEAFFB59BF3DA985AA1F1ADC7DAD2336991806C88A33FC6D8B -CB45227C718F00F948340E6CB52244259337CF88CE08BB8715FC3582FD64D78A -94CE17D4AC2B77DD4EECE1F6F48F14387386EA013B6014E4C2D92695DCB15BE7 -5FABF65B1472458809438C20B19BAD8D13A10B16A8DAFD9CCA5D6E0C7300DF65 -7CB480776BFD935CB53BF6E25837EB0E0452B2BBD165B215D136CDFDD3EF7026 -5F71F2AEEE58A491705AD8D79B91D8B408F3A0FD5B5C48973FE49E1296BAE9F4 -6E2AC063A8D1398F7B8CBFD7FFDA8E4F50F9D9F28FB98636466B8C85DC680C3F -55EA9F3F9B8E110A587E18F5A856319F8A8D2BB9C2CB41F606DED417E2135CD7 -F0B612A2A935D46A26E6330C8428E3CBD0658D209BB82E95A8428D03CDFB5B07 -CF70A4324AFF630B21E6B315BEFE09D122E309E2C8511B299825E9F3D21542C9 -60DE11C6838A7C41A9E3EB4AB4D64DAB6F8FB7C29CE4D55CD7AF6D5617DBF632 -661CC425DA7C961FE13028A27577DF1520238244751F217E02121D5E0B4AD356 -37305E8024FE5F957E9AED9077F6C1A346217185BC7C2427656B081506D39816 -9B1C9F8231DDC249626440313275BED6EFD21BB4B22DFB5AF9C5BB2050682291 -328AAA98ED378FF237B83796FC6FDEE884852751A012F46316249C3852A60F5B -56FD4FA546FDE6E9DC2280B5D52A9508C216D189E5C168D003CD4E8274A59645 -0E843A4934C83B51BFD97A170B718D49A0A5781D4E75458CB3A9BED03ADDCB66 -A49AA3B97CA7C5F121D57CCECCE3C2F6C98F44A23965DCB55F747B2195E59548 -F04D5F5573136B86532DE14669CADA7D988669A876309DE1404B14BF81DE63AE -0215B67ABDEA446D9017795648728731D6C3C8D5E6330E92C947EB356705D225 -AFAF5027E5DCFBB9D6B38570B57413E184AC60970B44032374D1146FD163D484 -778A0F411D5CD2B951E62C68AB1241E8BB57268AE6377E16CC00D49890CA20C8 -175084A0E7E3A952AB90BF7FB79ACEFF85F14F9563E6197A2ACAB6BB91A98602 -CF918F32F868A061D3EC395048C13B54B8BC68EB33327C0A346373B60860EBCE -71F8158DC865BBCEEFD38042D152969E8BD6D6078482815F986AA39AECB040C1 -898D48B604433CB74413B09BB02EFBE285B57C66871571E3A92C3A90A877A24C -191E39FD1AD149E66FE7397595B46B766CE1886E0A9A2F43297DF7C0284228BC -36C057D9FC88D14ED0E64B39B223386B400468E3344788C732D4263E8A73EB06 -3648302B0D2B436BC58C2B027D9CDBDAC0E99513BA5EE420F83C54F90B24534C -1E93AAB793F88FDF9B3C7D62DCC93097AF2C218509EA50935A0C3EF7E5EDBDB7 -5C39E7DB3BCFBBB34228F56289256026CF1EE1F3CC30DE62E4D836633EC335C3 -B2FDB1408B9C65DEF5FE896F1C2E161F9AEF79DD683D257D8982D3A5BA13F1D1 -4BA23A4F16ED6EC3A72E95291C1BB062E07AE5D4556015FE461E47449DA0609E -4A3501602EB68AD3EE30C014B7963CCC920EA63D3DF7E9DC4B13CEF5B5267F27 -1C1B5A7FAE80B39928260CAD8999C812F837DEB7AA9C3AA2E8FC0C41ABCFED31 -D0E251D76D277A837595C252833F10487BFB990B043C60A50E430A7FF330D25D -63C8CDD68377C215188D1E92FFEAF89010968E64A4C05C5FA11F2D64ABE22727 -9984B40797D90CA0ED7B2A7F8CDE9521FDB5EF1C7C28083C85032623ED80F47D -1C8395910EB3E288AD9891C7561C3D06B9CBCE4FC3EF2A6E09F797FD3DB48346 -340FF47871318E83FDBDABB09DBE7CC449460171ADD00694B5DE20BD1C3A1652 -DDC586618700AC0897822F8CFAB42A148EC57FABE4CB334BE2220E842991951F -FBF9148C4172E20E47D2ACF4B6F9CF05E8FF36AF953D36E485A8EAA98D55DDC4 -836452EEA4EAF2EB4ED5595554C6D39C938FF269443E114E0D5F8EBA6E7ADEDE -A90897D3625108F719FA6505D72A7A053E7EB4054397FFC01270E7494565A180 -DC852083B33AF5AF6788388D617FB0C43955BE8FE6A83CCBB07F8AB1D45F9148 -05CF28922C35C8E1A1CD160913E8592CA99D884254384CF480DA41AD60CBE99B -74DF7F6D3657E512BF1DC292FFEA3DF1EC362B9967FB28E395E33E95F02A3198 -D269AA9330C05A5D74EF2A0CF76E007AE1119CE57CD9DCA256ABA7521965D9E6 -F92EBB41AE0A59FBDF4C4921BDA658B2BF4D4CACF98985618301083DFEE781AA -58D302FF07A1CCA66DF19006C01A128BB9E1F5ECF793DFB2541AD93410979CA8 -2AF79BBED41EDAC3FF50BC48BDCCD538C4812F8E5FD4B04F5409D1E4579A1EBF -92143A05781309345503667F123046E40FD65621E7D6E147542C06E035687ECA -882076E1BD8F9F7CEE826DADAE9E5951573772A03D07E93FF40736F69C43B343 -9CF802A7AA3C40D8CC015977C793F2D5FC49D22BC7398512E8EEE1587E7B1D93 -8E399474D7E66D6BFD7F2EA573F2455C9B4AC967C6750E91AF919A91462A94C1 -4FEB8D9F218BB4CD2EB324F38729F1A2DB9F6578BF052AD84588BA531C61EC8D -76A524CFFE366D7754F1894794F4531D9070ACB960610D598C7E9BD4A775EE28 -C265974CE0E21568BED3C65900625D2E42D4CE8744499635281406709EA9EA1E -D78946B8648787ECF327804AC895043BCD4C750A9B166B7C28672F9C9C8792CC -17778D0F10B1F5D566B23351C5B631602842135446F1403D7FE2E3EE25C863AE -0EF81A7BC3F90C98EED435F42DF16A0AFD9DA6B5A3F40D35E3A965759DFF18D4 -A97A94AFB732BCAA5FC1E38AC9DCDC3537ABE3906BC2B6EBFF84384CBAE8BB88 -39B5F82AA14A5960A325909AD9E4883C2B280DC31D78CE360C1F8CBA109B991F -31A96161B5D97CB038839B1EF425A3A60B16DD938F35E9895218BD0F15AF4B09 -1F2A3D153C0206289F935682BF552F719BDFA6E7F6E6CD15AB7B3208D0E57456 -65DB05F6DA041A87854B25342F5511D5444B126B43C20853E2211331EE2C27D8 -E9FBE2E1FC77CB745FA2CB018C7F37BB891BEAE72A7484B9AB932AC27452CB96 -781AB04B61B553436B36FF531FF002D3B469E6F041C906D6E181F7341D66FDE9 -FE94B8479DA1568E6A490D2C1A71AAFE2B9F1707E9F89E8DA5AFAEE3D1657803 -A17BF624D86FE30E7923E4A8DDB6E8851DCD320512D8B3E688CB6D5ACD3AB737 -C5DFBEAAF24757EDC21B7BA67CA813E4CBB93DDF420CDA67579E9C235B06C8EB -800EA39354C76DDDB7E6D0666E083D0C8B332DEF8770201AB0184C061585227F -261B438B26FD7F92842DC6A4C66983AF2368A833DCE5ADB99D6A48B4D51C4BA8 -7F5870F9939AAFBA781FBA09092206B589DCFA3E6E2F069E78F85BC88601CC66 -9B260E10AC1829C4FB705B432EF98315DB27489C7704A2C870A32013B2DCBCC6 -F76724C4B3CB1CB57BB5A754043BF7041E7640E588D3EDA65AA7902CCED24026 -5270DCE5207B7D73200272B87FEB487FA6CD290E899FF0EF57F643015947378C -A2776BF8E5908BC0B1D081E65BE85625A75F8E17BA297BB0071CAB5ED03A8AD7 -BF94EE114F3432E2D261FC74B04E0407F84DF54C434A4D63899B14DD7F878076 -C913C4DE2FCCDDA86306E4D0573355F5035DC48D988BC188A6B05782CF8E9D20 -53FABDBFB89AEA3C8DF03C6064A463992864105730B18301B9082BC2ED977B7D -AF7F0BC393EFB07BFE49A332C0FE5C194EDC63F62AEC831D0A905B7C90FB05B1 -E0036A45EC4F6B8AE154825F9248C49FAACDDECE835587983A2AEE7A4568D717 -A331A83D817ABF4259226B93EDF9FDEDF013A2C6C518B55F91FC3950B38379CD -B4C4BC53C7302D27367AE0695140C15028EDF4875708024C864CFD9695609DA8 -2005CE799F0B890EF5395CEC44306704C2383FCAFE3CE747D4B38FDEB849A5DF -F11F56A7F15A9B0158F26628995B091678FC6E4BA332A5CEABDDBD5D0B355855 -46AA5A064AA45183196BE43951636A51F5812FAD5FDDE0CF49DAA594D13524D5 -81B9BC088848F163A5D70BB17E5A29BC8DE8D9892989E78282F1AFE94D33051C -0468AC916E4F3B4A65CB05EC25D176C60F8EE78E255C6E846B77CF8388275890 -290A5BAC7D36242F16C701761D5AF80DBBD5105A9F315D392D860C0ABCEAA196 -DDB5CF16F0AF3A43C31BAC0D92E2F1DADD09949FFC942A4557BF4B8A1B5066AB -4B83E1B46850E088B290FE9145BCCC51DE53D7B691DBDFAD1B79BB50E0C0CD1B -40A122946A8D8190EA2B244566E0E86E404DBD828B1BCBDA143786CC8515DE00 -96C9CB766777B1B19968F1C109B95EFA06F7D2BE8B3661810DA2C140027F278F -BBA99DF19B0597A37532008F2300A2A7BB1FBDEA49F093CB8261BF9E899709AE -FC38150D9E5BE2283C16B9E91FEAAE6FBED35C3558A0F18E538C91DEDC84280C -1052B82571B1C52050CEB9B1D0678AFA0EAE72DFE349609CC1F47ABE06A8EB97 -2D0F075E43B84A99A4E86B99F457CBED6FE4AE6C27651FC539AB8B8E74A2DA93 -C88FF0ADA8BF1F575C6C9865E46136CA3AF5BB7126E5ABB5C54C1A2457D1162A -FA33E68B140A76B892E77D89AA55987FE32ECAD75A4DDBA10C845F58FF41BA9C -93E47BBE36ABE89C0593FE229B24D3F6099C1DA52BF3BF28B695D95CDE7B964A -984E5946571FBE88A85BAD123C2E5A9334473B3F131D7F329CD4B16F28B7BD8C -B30B19CD06CD1E6674D3F61569C60772E0F172B4156CECD04AD5F855AD8FE9AF -3904D9A7FAA58F8CDF046E11A605EE8B4665230132D5FBACDA30A873A7EDCA03 -01A87AAC8D88093BAA9B0388A7F43AB0E75353F3A359F290701191C61E0FBC09 -22CCBBFC6838B81CE3C7FC0AB5C4BF5AC6FEA3080B55C86D39B50665F1B709AA -24218753C40C80A65FC60EE0390D35F8138FECDD00D77F713F5F9731206E3A49 -96504BF6014FBF4402F411F8C8A55B8F5D3FB8486BE30D3AE46F61D3F0793621 -5C51B0CCCC410B25449DAB7A7FD21DDD9A5D4E67CAF19E5EC83576382957D573 -B96B8ECFEFB712C6F0FDEFDBF37934813D647968E3271BFBAF8505E8C195233F -30DF51B160588B50FE776D495AA604B26B6AFE866483762228618FAB19AD7D51 -8294646D792FFC3793D03033E5A44C2CD047E20C3905BED576D043A7623E4106 -BCA2B6A1112101B198F86474FCFB71519B0021188B2FDF7A06438E3C5D54A880 -2964C986EED27E8676DAD5A02917EB31E44C62FE0E37239BDA46277B257086D1 -DCD8C6E22D3E2107D226C8290180755DD4AA9087CD11A109DE7863A6F2F339F0 -3F347793DE6BEE6D5C51C7398293BEBDD367CA296E6FB5447888D6711C7428C5 -BBD403D46C46087AB2F90432FC4A83449A1111B0BB650B2FEE78D6EAAAD6FE0C -707D4082405F1ABBC4C69258A0A3281826E59CD825B94C1FE796E3E1FB6366A3 -81CC90C946603FAE714D51A9BC57CD8F16CD3C1846F53F68CADF31920BC5FDFC -C66E43A01E87E6524D9E437520FB95CF65D033B24511FDC1910BC666176A6DEC -F5CFD1ECF93F05904B5D368502D6438BE3A8963D2478BF0CB340CBC1EAB0DA2D -81823BE79843C3EA5EA2EB9F63BF233DB77C2FC4416CF6B3D42F73124696F5EA -E51E84A7EEA01606E79AC070D546772E3DA95A9C2058CDA7664513D1BCEA796F -DCFD2638F8942657ACECA105A2E3C644E8A8D82EE000010D5F052CEC30A8F148 -EDE39AB037989A0E0E574EB80394C18F37C36B78D050093B3C19FCEC01DF7018 -E9534239A284528371D64A0F6A148FABD6C372840B8A8935D2B1AEB6744BF669 -AEFDE8F9160DE68CE8CF225F502C51F2A10D97454B42314ECE5587A95279CB81 -9F389BE10AADD9E93F14C525472E7108E8277F7952BD647712C39DF86C93DB3D -6E95B5F64158D3A86E7F3899AAD1F3BBF77961C496824CA1371D245D03E9E565 -F2039C16A5C12C48AEE26ADE09108EF889E47C13E49924AFD19AEFF302336741 -40A244EABFE9735D3C3625D5A801F553AA9DC74639C330666B404B6A5C2378B0 -7142C12CA3AF3947156D600B18102D91C1AA39A45E7E89F32624492288C53FBB -AB3C67280299CBA90A54DD8A22EA34329848E2F7D960DE555E12FCF85F7D2C56 -609D63B62BA431932AB55BF47D3F25409A878B4223DD96EA1732A61017C19BAF -1479E414864CB2642A7F99BE0D4A6086824FDF3D4A6126339EF23D8FEAD67644 -DC94780B50EC1BF289355E86EC3679A8853632 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -cleartomark -%%EndFont -%%BeginFont: CMSS10 -%!PS-AdobeFont-1.0: CMSS10 003.002 -%%Title: CMSS10 -%Version: 003.002 -%%CreationDate: Mon Jul 13 16:17:00 2009 -%%Creator: David M. Jones -%Copyright: Copyright (c) 1997, 2009 American Mathematical Society -%Copyright: (<http://www.ams.org>), with Reserved Font Name CMSS10. -% This Font Software is licensed under the SIL Open Font License, Version 1.1. -% This license is in the accompanying file OFL.txt, and is also -% available with a FAQ at: http://scripts.sil.org/OFL. -%%EndComments -FontDirectory/CMSS10 known{/CMSS10 findfont dup/UniqueID known{dup -/UniqueID get 5000803 eq exch/FontType get 1 eq and}{pop false}ifelse -{save true}{false}ifelse}{false}ifelse -11 dict begin -/FontType 1 def -/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def -/FontName /CMSS10 def -/FontBBox {-61 -250 999 759 }readonly def -/UniqueID 5000803 def -/PaintType 0 def -/FontInfo 9 dict dup begin -/version (003.002) readonly def -/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMSS10.) readonly def -/FullName (CMSS10) readonly def -/FamilyName (Computer Modern) readonly def -/Weight (Medium) readonly def -/ItalicAngle 0 def -/isFixedPitch false def -/UnderlinePosition -100 def -/UnderlineThickness 50 def -end readonly def -/Encoding 256 array -0 1 255 {1 index exch /.notdef put} for -dup 49 /one put -dup 50 /two put -dup 51 /three put -dup 52 /four put -dup 53 /five put -dup 54 /six put -dup 55 /seven put -dup 56 /eight put -dup 97 /a put -dup 98 /b put -dup 99 /c put -dup 100 /d put -dup 101 /e put -dup 102 /f put -dup 103 /g put -dup 104 /h put -readonly def -currentdict end -currentfile eexec -D9D66F633B846AB284BCF8B0411B772DE5CD06DFE1BE899059C588357426D7A0 -7B684C079A47D271426064AD18CB9750D8A986D1D67C1B2AEEF8CE785CC19C81 -DE96489F740045C5E342F02DA1C9F9F3C167651E646F1A67CF379789E311EF91 -511D0F605B045B279357D6FC8537C233E7AEE6A4FDBE73E75A39EB206D20A6F6 -1021961B748D419EBEEB028B592124E174CA595C108E12725B9875544955CFFD -028B698EF742BC8C19F979E35B8E99CADDDDC89CC6C59733F2A24BC3AF36AD86 -1319147A4A219ECB92D0D9F6228B51A97C295470093CA270C4488BB4EB864B48 -63941B9739638D2E6F3CC778582B46AEB4E466D89D1C211225274356A4BC90F3 -274C6AA56E200249B7D0949A3FD4185DCB3E5286910EFD7CA72D5D8E8052C96F -388D12094B87D3705CE64459558CF024667C0FE96CBB32B0BC9E51037D7BD62B -E4B05FF99384E71D78441A79B0B1DBA1CAE02434A9FAE46596FB86B873B1670D -AE0BAF516445A0DDC127F8FF3ADA0B10EC30A9CC1F7E9248828B5E8AB46C3FE4 -154B80A54128A08777F5F9B8C519C7E3B632B3476F007FA156E9F39FBE57638B -4214CD2BA79BA9DDA0F4C073AED814ABCCC2F7906C57A872C00E67FF03AC1200 -29DAB92376422FA21C67CA98BCEB8C431CA2D3EDDC16972F84BF6DB2F705BAB5 -CAB39C82D139FB1304B9E7BF1F6FF447596081D5690B1519E468D6BE49C329C5 -C9C809023EDEB9DCE4A6D52A8049E0CC134E8B41BFC6558CFCAD3D9D2773EA16 -131567AE6231B3235869767A1E7C1FA6C8D6FC1B276CBB1CAD14D376188C9682 -302836A9290E587D4225EB8BB1DBA2C4580A81FACFDA197174FE948CE757C575 -F23070FD84DE121955D7D9307BF986C5E739FFFB6CB76822C341FBD9FC2E3378 -AC9332B40C07D5B8745D74E30F1D719EAFAEDBF5FBC40D0546F69A66072D8A49 -28D2CC2E76B9B1EFD191E0BC7510C2C8761BD92EFCFDAC263342A01398A56D18 -121A591FF5CD4AD8B25699A7897E60BA940336BC17B9EC9F97C2464D031F958A -A3548D0C97C50C580B6EEFD0FE8330EE2BB0D2E7FD1DAE33448953544A4B1C5D -8EB57798D0ED4B22909FEA78ECDBC4D8A124DA05B9999242D68681017285A0C7 -69041C1F79442279FBE328733EA0A6694D68BA89739FDB9297BE0CF1808C07F7 -BBF6F1538DFE084EC8C0EC24D883F6CC08A51DFEA23EE920F44BA55FFF58E960 -C7BEE551FCD2D5814DE7E3F835608073C2CB80EC57100CFD484C837881674E92 -B217F4D11165427DACCC29C129005874C05CDE5FBB2D912368EA2B98C45AEDD8 -8A0D2493F60EF36809C8C6EBBC7856F6656E8D398BCB29DAACD4F7D4300A0B01 -161CEF51195D2C58DDFBCAFC1C03F49304ADF02789889826F1E20BCC14827565 -F2A45CA57DCC61B52E33638A0C6C5A59B145E82B82571DF1806EC40FC0E8634E -A34A791B1325571E19F3AC2EF6FE68A14B0ABEF7EBE0EDA3942E85E5AE967A14 -0C5AEBFF2A36DCA8866700CB7082D2ABE470864C44AEE1F6D180D511304C8674 -D02FAB12A7079ABF96E1CA3CDF9D75532123E87663B1D524265AEF63EB5C2169 -B67A651A101E1C7EDB008D3DB06DB1FC1A81B41B291D6C4A58FB57989FFCA434 -DA84B3914D1D80B17AA3A55A70BBC06C49DD5F7DDD03FEB0055088558FA192A5 -261477899857CF598DB740E82D035E84CF17B33048CFED2DCBEBC2B75CCAEBEA -B6C5AA1C6978FBB36ED98D9047028360ED430A0AA69AC85A8F83825EA649E1B2 -64B260197B06A24A1DD969CEEEE136FB046D713D0630B246BD41CA285F076038 -F7F8431913BB9A3E70311844D4C22AA446E3CA217A9DFD75A898997130269B29 -AD4AB7D9662856E677FB2DAED7078639CF31C6E6637C74DE2B5D0ACB88BD61F3 -CE3C5D56D3D4B3EC1ACB33EACBE05E53A133EBFE93CE6A0CBC8F24BDC5B31BBF -5B3E55D6B40B1CED389076014667E28BBBD60145A06BDECEE8011A2C6F06D091 -73767A8045CEF2A110B614149FEE783A2351FB2938A9F73CA406538EAD82ACC5 -A3DFD3DE00221E1B4EA977AF8C89661357FF7D2F1FCEAD6CFC9D6AD81F95100D -EA1F328249AD84AE849220E6593D45015B4D7C9527F3063E9F6DB6E572092A1F -1F460696227D5F0FA5A5484B1F0D8B4A35066451663BE448D924DBBFD388B6D6 -D7CFC87C9E75B7CF79A4C9207E29E0BAAAD7FDF529B860F7731EA978E335334C -13CB2F0A4250F5957B44CAA0674AE8356F586A24FD137103973B9A1FC31090C7 -C84DC5D380404BCDF3FE20C6F74FFDD8BD1DE845E99DC6FE09931F003834ECC8 -08C5D962070B6C44F901A787CCEF048A2C584A2285506B4D4E82B1BF130E2220 -B6C8B3240A4CBBCE16AD3676B23A50B75F82CD88D1B8F21D30A12716426112B3 -23DFDE5A348DC9DCCCE5BB5DB5433A5AC125DE1229FFAAE0D8319B2929986EEA -56A93BA1FBDBE617F30852A3DC8C712DF674169C6D656F75E252187A085B2788 -2467CC4DB08D48EE6A98C61BC55E6EFB1938FAA718802B7587B94C8F1477E9BB -DCF6E02B5E67FE3AD9D87C321CD9BC0CCD36B9C4BC601E6BD552EAB8E1C940CE -3A22F3C2501C3C939CB4F17CE97566F0A04602D2A22A05CECDF4A49CAFD6332D -5870E1F31AAA5F86867F71610CDB83E473B9D20BA00D8986D7148E0EED03865D -9622864B52B09D12E0C5FCDD023D29D5AB1CACFA92B6FC14FC84E95F407861D5 -2BEE3301AF399FD7ED04DFDE6679A345A282E7FC08D47E3FC8969D3B00ACD7B7 -F8769647D6D4F4106340EF739583374D023C2702C48FAC1B643B5897D2D7DBCB -73257712A0FDEEEB98A021D218CDDEBBA34687E23C4828D7F96D1ADDFAED7EA5 -B279322E6D55FB486AD8F3A8E7B2C67915564FE56F0C9277A06B29C47FB7D007 -11AFDDB3FC1B173B4E449CC6B198041CCA0624D81B4840FE5B63BE72157AC6E7 -03E5E95D2E2CE2E40BCE8044A8F2AA45F855484A891B9F0F8F70188AC66A8DEE -F4D656CBE216E6D9AC33BA8DD0685D480833E1226784469A221D9FA3CA600AC7 -5574B5226649A9C48CCB43339942FC9010F86BAA2D181AEB487A92A96BF2EDF1 -60F3B93FDFF4137A25A8AEC5ADF8613019CDB103DC4367EF3D8AEB4FED0E6BF7 -622AE0CD3CAA0321D26CA4280CFB60D08D9560AB8AA5698231171B881BE9A27F -BDCF3162134126212C523738D221AA05E31CEE73D9D40F73C450B6AE2C1E70D5 -C37162BDF55943069923A290A6C720042566E55A21CD81C460818883AB016C16 -8FCCD1255A66977DC1C110261D7642199D466DD3D2493A2D47694F842241C474 -1752B00DA03E69CD16A8A14BEB8A431A315D19A39BA978E46EB1189089FEF647 -F9DBB58AAE6B3FBD475E4DCAD241A051DD100ABE81D40ADF18A4C50F53BF749F -D6F7C8E02A5665B4AD18DDAE79096DD447F8BD32C68F9F97F05E0071D9E9AFEE -257B96D48ABD9920418E17C8F027E9E975E4A08DFB1988E7104CBBC1CAF356EA -7750AA7110BE116AF1BA69A94776E4356573B38472A8A1292C63701543B0F315 -611A0E0595B30424A1137478BA6F990AC7C3AB4DB69E75C222B617F373C521D4 -246E954E9857AF59D1E6C36412B643733CF5E1C90389EF0E5E0DA55D3AD12E97 -E7630C315F72A03CAF22E0ACE3AAAFC1D496CF4E5ABC49C2DD5E264BE7EB2698 -AFF36089B5DD2C53DB1C1FCFBE1E89D41A95DDD278CEB29DC85FD1DB8B83CAB1 -EB37C531E9BB8466ED6B8B60258D3C355626CDA43A32834DC89DFB11E5FC6D68 -0F78CFA871113DB81A1690250A6F842ADA15734CB6DF7C6ACED6D8D586BC4E1A -94EF3052FB0F8B9454390B882CBB6E135AF1F9C777AC362C2A758C3A98117120 -73C6E2FAFB580716D4B2889A4331CC658AAE996245685B973D9C184541385680 -AEC2956107DAB00230FB39BE98D3CA898D917E5F2088F26CBA4F8B5B115B6443 -8753331233B10852702FC26D9DD4C990C13CE4D0DCEA23D62A826A4B4FD16070 -5F3638C0A50A3373A33FCAA6F3644975AFD0560EE5F2D1CDF08820373468E4FE -6679A229D6955CFDF7ACAA92A87E6D8571AD18CF59F84F88A674B2946FF20A28 -B9798EAA22442415EB46B9498DDC0F4BA6ADD347AB43E9293CAABEAE80127378 -129D5DC69F6DFFBDAFA5D65580239E8EDF6833D0DE6DF75F0FD090A83CE0974B -AC947BABBD1B1C7194DDAEA37B0CAB477ABF9433FCE0243C8D308409427D1DCB -8EE4FC36C7E5CEE104904B520B3F6E677A5B92F694BDBC2C799991667E0EC14C -B95EAE7DE1854BF4542F05B4AF401CF67FC3E46EA5A0DC362F3CF177B1796DA6 -753AA803E724D1721DDD1BCB0C12CE0859E172D2A370C3697286F80D9E138AFD -A0EE016805F847BD30D11D8B891E54C77AB51A7CABF76BB14B06153C7F811FE4 -93FC4B7CF161051A458EDF767DF94F487DB939A2740B4242BFEE234F75084DDE -207E84533004B933D43C712F0C71DA4A00FFD6D721EBC93AFDC4200E3B8DE433 -3ED3E1DB799BAA27548ADC853AFF5D9D6BD92D644E3CF394789C99D9DC054A26 -7770AF5DC5BD6563929AE11BE341F036584DD573D3F43D9D975201EF77BEEF80 -D1EEDD1D4AD5D4D4DAF6D5B9D4C1736CB111D6FC74C236779C0ADA430323A825 -09EA8D0CB1772220AF28B93098BDB36913159208D1B2D7ED45808BF7B686419C -5C0E3DAB5BC9830FDF3B494D624EE8068BF6F5212BD69EF466B9A213047BD105 -B848F056DC544A8CE66C546B1A4DCB4BA29CF0EB4DCD9C2452F22172AFF33B29 -E97E12D8F0D312B03BD9E5377BF0C81D884F1E79DB66E8144F106DFD2579AD26 -C693C5B68F3AC46BF0D6281032D4D4BAEB2243151AB1AC0BDA2ACDDD4D590C90 -F29B335DF8F57DC593DCC081FB56924028E3161AC4865B49D1B0F63F5EE866D9 -7A71171C09B09A44B0E32F03494D9EA63F3C89F5E772BE25A6557F119299E989 -99BA041694ED805AA4F3BBDF00D88171C9D43A9085A287A36A1F0F9386F2A98A -96815CA51F06E1CDF20B757983C5FDF4003F5438232159F325C6335B734FD982 -1423BA77D0EFD044381AFBD0704E3DE95D23A70E2428E9AA355A9A8A25C6C74B -48488C14DEC93A766E112D74C83576ED355F17A809E8D3F9C65C4E3E14EF484F -4658DFB57597E2A4461D8044E95844391C1275D63F282B37888C842A5151937A -45007547263D70195ACC018A373D498B88C5A028BC66ED96A343EEE74D61EEB3 -D9472B6A549CEB8699F4B35154A0E2ED22867E4F9E4A76311EB2C9F9078FBA81 -838EA49C2966BA64C165434DA3093206B70186BE80600B891D9979F730FDC794 -5DD6D8B2090CC67A634B719F441092A10C447A86ADB78DAE45823ECED5FCEADA -ECA52E363D913D9EFC0ED98A5A1F823DDA3350EE27F09C14E4C7298CC0FB6200 -DEBC640C68C82D70AFB7A7BA668F1D7948686206884736CD03D9F6E6CF9702BF -E3C932CEF3CE07FBBFCEC0476EA6E8D5D4C5C6450C8FB236B89BB82D51886240 -5BA7462F50A88F69228DCBDF26B7250E90B3DF8E94ACA1CADD9EFB5C73EF9DD5 -46052314D445CC92512BA231F79A09A2F0D91976B160B8C9BA055DA4AAC1300D -491193EC66A6DE12BE01EEEDBC3A2291DA1F27AB76596A236B75E19FC5F1FB6A -DA1AD835CA08B6CD03B97B4CA1BFCBDD2500BB09F1A1B0438E4A759370EFA318 -F062BA9F3D352572CE232E6FBADDAA5363807D0DC5320B807FE5485C8CB09B6B -0BED9F5B1300FF370252DEBAC9DB25CE2EC494E8EEA45FC6604B3C104E81B287 -EDD49F3D7430EC9176A16B4FCEC5DF68DCC11ADF90BD5337E2E4B59BEFAC8298 -E5ED2C7FC5928635420FB1955251932713236DCE28012C86F63D12AF1DB634D0 -0B8CB8992B8723548177BD6822A808FF221A9E38B0DCCBC1F3430A9BAEDA89CD -ACEBBDD8CCA5E17F1CC37E35A01E058BAAAB6BE7124314DA19962BADB74EE73D -8FB13FF6AFB6FFF97926CA045B62B98BAA753AB0FC78B881D3FAFF9EE2FE918C -8EDBEF87637F1530E3E13AC090FF81F4136E08D5F3734327E643CDF621278741 -A17AEBC56E21217888A6C8B5ED4269731910E7E25693CFBDD4EB4A32698F2447 -4C45D73E810B627D8719E4E34D8FF378F9B68BFB149AC67B3B1E55F20D097FC1 -AF74D46F5A3923C63DFEBFCA210F6B257F5FF3F2AC34CE41C15C9977634E473C -2235295C05C3DF6B3009C7854BF11CC87471CBE085793AF9C5D05C5479B9E780 -14A5A6F3F6DDE5A18243DA15732CCF26ADE40C566DBC3C62B71D46DE87A12C6A -647CAC923254E2E74AF882DBD5C9E108A9160393C5CD12566AF7C824EFEAC56E -6F05B92C73A76824C5ED1735BCBAC61B98D509250C854CF1500C212F574D18D6 -4426B8510FE9785B814A70E75C9234D42483E736D0689D3561E8EE5650F33A36 -D50127589401D267BA6442E8616E2CDB1F6691D3FC4A2A377E5E154972E890DD -60CB463E9EA9A6EA61087DF452FA5646F69BE879337EAA0F5DA4438FF0365627 -4E3B16851C2F08E976FDA27AF451CCEFED00376FC3D6E0C160F0BC19544DE289 -BECEEF9A067FD71D54DA3A4F73F06E2F522BA07551296214DDA47B1BBB1212E0 -1100ACB5F65FD30C655A3402C83058F8ECFE48FA60B6A3DC86C4996414130194 -6676EC7F37454023AB53E9D9EE60249ABF6953E76DCE3123DD268BBD492412BE -65D7C3E5A5E483C381182A8F19B506F0AF6DCD55532B89852D1D96021B22E9DF -D9D072BD7DD4450577E658B433A84F92752B260AFA2EC4A118747CBFE36AB7D7 -6D5DD96A119AA1BDD0FDCBC3AFDAE5FF72713EB46759A06CD09B5CFABCDAB0E9 -85599506AC07AA525978AB157496163AAB387F079EC9FA1F9E91B9C2FBCDC9EC -7027D77016760539AC03F1C1DB242D28D6EE946C42DD2262D82ED48C3A839853 -BA977046F0EF373AFF884AC3112D2FB319421C3165DFA5710BFB9AB9595A10F4 -9D05704B9E22137CF27F4B2DA9CEF6D8801D5F792969B2E58FB539B8038DF440 -6DE20C0313A7BCD16F279290AD6859B0E657CC3041C7928CAE35B9D3A681F2A3 -2D40F8EDAF1127E754276556C95E1282514B6EB6E43FF4F0FAFF28C715E3F39A -374415B62C1F5F8E31E006D6ABC736057910A3729AC60360CEE1B2C8D9F77336 -39CAC45329A372205FD551B9E9EA5082411207473D9D90E76136AA70180172E6 -AF6EF3EF6B38B1906B904BE9BD5251EF067738840C28877659B649C6C4CA328F -1BEF8A9CEC2CB062702F58CC0B8D2D097FBC278F9FD894E10ACE1DEC4530CBF8 -E4E467B6DB9C596DF0C3D43E6AD70F30B733EEE692C2EBD68756D0C16E1F00B6 -AD011B5DA073A769B53C2DA2E7C9B7ADC6F551BF4DF4C39C66443692C3DC62CD -B1E094013F364D04BE2FBFCD1C7B2836180E9022E0434421FFA4317A50096684 -CF0B8740EF680F27F4A84AAF2AA92C64883BAF57BDC60C6467A8D4E09E6316FF -9BE73053045E5F3586DA3BD1298DC15D751913FB1E72EF80047F6B33591B97D3 -DFAD34EB224D64EF60F5B4ACC6EB42E1BE0CB2812FF2F3C264AD2E44F5EBA441 -670CA0A60E73176ACDC4E42E74F8F489C73481EB5D46A61FDA1C0FF9F8844DBD -99CECAFE2A72833E4522981FA13713AAFAF8F121E60FAA6F379B2C8874CFF23B -8FECE70654E5855E525A403700A96CF7F8111BF2B58386E29640D82F1DD86900 -E0E203F3ED554209CBDA2A61A5641D4B39D98C5C43D4575648D06BB82B6C4D4A -F043EC61B17C208CE8B4F43A7BCBBE588A3D13A183D79A47404223037FCFA4F1 -DD237344E589F161BB9BBF3FAD2E28749350DB9A74C09E894BBCA85B82E704E2 -99788B24642A7D0F0FD96601CF1AE4819EBECAB89824A0DC1C03BA4B546ED36E -DABC8D49CFAA53D2A9A5DD6B3431E364C99ED0323513476CDCEE49BC413E50BF -51EB93563DC03B62F84C5F96ED713F288D109C79179AEC41424822772032035A -40E84014F5BF40948F05E8562C90FC0D56DEF85E629CAD8E550AC809CE6DD366 -2306521C62810E7C8094AA310BB3E8C5B2E9792E6510FD62DA71DB5739A29DDA -D51970DEAB2569A665EEE09E12C44829215A25A28E43DDFECF131EA7027FD3CB -9E87B17D39B03D2D1418FA11E2F7907B9626CA16609BFEE67DB56CFE2B8DD209 -DDDB0964A51388B669C597141ADACC7692B27A350233112B0A339366B7373CE0 -58456E0E103A27305874D4AEC967043DBCF9275F027D92A0AE3B9CB6B88C188D -462820361376FF9917120D5BE7BE501C11AE527A65B173ABFF706BEAA8332B39 -A9B455ED64573BBD6EAE89F3A956D8F3D2D20C981DC85400A08C95AD9938D7B0 -98BB1CC96B9A823C6359B2843772181735F80EACCB3CFF84825AEC4474D38961 -FFE547746194597E8DB0BD4635276E6DDE73497A3B48229E6B4C5ED6B54F4942 -4EF2E6C391B3B4ED4CA652F989068D45028D73236472FE8858E2AEDC1D570652 -0360431ED7B4F7E56E59E7995E35BAE4A31394D8DA3BFCC0C0C8A63865E7631E -4ED870F93259D5E3CB571A8EE9C088D96683293D2BAE38A742DE01C8F3F23538 -B7C4EC8055925D77C5718DB7F5906990D3C451FB4F5267AAA3BF6EBBB708891E -AAAC48BCD5C310F3ED12E5A3246B0DDEEBEC07282F670637C05832CE6EF302B5 -A55F2C51FCA1B04E748A676FAE083E774E17647D25D15D76C896298A9A3DB670 -8E74ACE32A4B709D8FB3D2F67D359AC27E564509E8A3F01EB9304597B04C1B11 -47CBDEE0E44D408757AABDFF38C083B7C91E387B833EC0FE08C72511FFAD5512 -855D738B3CE02D03579FB60C44CB53579CA236085FD1D9DB34607E91F1A43FA6 -F0B55B7E8B4B02421CE78F91C43A0C1CB1C80AD89E37AD4FD79E40FB8DD8C754 -7FE2FC4E6A95DAFB72D91409CEC0641180742F858AB0033EFDEC0BBEA6C36605 -C70CB08B10F592B92A5D49A971F125238D4DC9A66D8E1208C57B04F378524DC6 -3960AA9DD62F7BADE47D6CA81AE2A7EDDFAFA1103F9170DC3D033CE3AFBD6744 -C3AA5A92FA19FC7FD73363A8CA354D2A26140355C24C75F8D6C0DAE731952C5D -145F644008F8E37A48E97390F90AFE14C586DD8F773CF21EF81CDB40CDC85164 -BAE535420BE07BE2BBF30428AD87547B3F4D1AE989AFF426BA4F95DFBCD0CA5D -AA30C307E984534F83DD8F20F2E6EB156B31F6544081A0D23A916B166B2B478D -C4F511BCD7BB2E9D5F26D4F0A979CCDC8B10714E47CAFBE1CE61BB0D8BB48B40 -1A08606411B68658155420B3DD668E35FE16D5F42CB78B43489881204477BF4F -E4C03F2F511EA703A8105C151BEEB6E3CDB474AC1F7E9EF855D7AC4CF45C4BC3 -ABD060FF02FBFF00F96C23BFC4A5397DFE7A0B59B66BCEDD7195E561AE39D3D0 -38576E12ADA09077336616920CA8F4748F7715E599A9002D16BE14F47D64C0FB -E3DF0FB2AA1503E6025E3A25943E7EC0D085462252CA47D6D168E4E333388470 -93E290312EE65BA324640B70E907BD302B56652EAA730BD78AE646B97B125330 -DA732A6B6BADFD0F98A491ECB1512EDBDD8C486114B7FA8910119532C405742B -1816E3E06113B48FC649394DA9EA2FDDDF1185EB3C24A6D774692F213E2BE3E1 -798319BC9422620E2F7B66A120D7F57A8DC475F6C72256ED14558DCBC614F878 -D990E07AA1E2654B2247C569A23DE671E2A03F54597B4EAAC71328E29A133237 -3F72F1E690B6F55C88424C03A036CCEE17817FBF7CE3520943A1C79A6FE8512F -805D6B27129D6EE18553B45AF8FD6B827B0F583D97CB2AFB9DBC6B94AA4E5158 -1219DE0510CDA0FCAD32147C731748F28CBE526D90854F3AA87447868CF1758D -5F739105A75FD1C4051E4227E01A2FDFE2542FD2043F8049DCBB1963A9AAC452 -D05B92AB177A13E2C242AE31EC3AFE884B73BF18686BDC579D0FF989730979EF -E0BCB5BA166A7DBB84D725F45E1253CE0A0C4C4A7DC3E989847F5066900632E5 -DF5B87A89B4218F38B17A3C669AE7D6757FD9B42A8D53BC3972FAD676EF93F88 -878809AF4E87F488FA59E6A8031934C915E274478F73D353DC565F797D6BBC30 -C96407A52B885AB2113C98AF6499C111312D4C880CA542E3C43FA7C8D1F9D1E7 -DCEC62611EC7F4EDC36D1FEB4D7F6D207F8CBD42C987090DAC99A90C10421E41 -B6AF48AAE86AF266B4D43FAE6CD50B36A75A50975EC1E129D9D4641807FA1083 -DBD15889155001D5AB72EE9E0773D719475962C4DBBE9F1A828C43F881A8E6BE -16B694AF598EA0C1E0AB872BBA0D6B65AB1C573AF0ACB9253EF46BF5C89CC24A -3ADA2B581BA1AA2A71AB995559EA713693F26596CDB52FDD226983C2ED3CB371 -9B2D2058458BB4F45CF954349BF5FA1DFB9BACC66B939708C4DFC5CD68EB2C73 -F664041A8BACC35B4FEC67B6EF22749B35806A9BF79CC82875D2708A8D71C865 -FBCA50C0EA7C5A48260DAEFC463D7E71F8593FEA33B4D8DA620F62B87A086EA6 -CC888EC8A674173183466F8015E7152C53599788B7D5A2B174C444CAA445ABD6 -37FEEC62A46364003789276DD80CE476B05DDCE89B1EDFA100A52DBC517314C6 -189750A09DC42BA30EF7285CD42C2FB48CD6F91533B7F547A2D53E377ED694CC -73809CD619F10AC41388B50470B3D870EEB5E2356B70533BD44933A286751C2D -F12E7F6157346648C7379AE7D3D3B7A27EE1BA734A1EBAAC886EC6B9E88EEF2F -38272FA38AD2AE2163E3305E9261C158704F513502B8043585DE9571E1AE387D -FB2A48304C13C96778A87FEADF6603236FF5699302AC002493B62E58AA269665 -7232B90EA13A1394CB5EC7CD31CD4E7CF1B5358D3F96286CF29E3D258572D4D7 -39FBEB58FF46F3F9F30D97CFF70AC631A449AD0A83B6531C8CCF548C23C89066 -A36BDDDF8E2EC49D9FE10C2CB02E0535CE626C337156E7B5A760EEA85F9BBAAC -F6ECF9AA5E5D1CF964261461C22267C7FFC9300133A32AAD4A3CA56CC4C392DF -1D58A1F49D71699A8E053562F874D78D58B0A9FE9C9F270AD661DCC7CF1F6BE4 -AC942CCE877E78750D08A70F36B6DBEE2155F9863C6F1263861C29F02544DE7B -2FF01CD36A0B797C1D2487B7E4146F74358E01158F24111A1EF3F93644B9B132 -1FE4C0504DC5690D5C5524AB468C07A6ADF8D8A5316B10D772FF184E1AC1DB38 -A4B7538AACC20DAD300FF6B8E37F1D61A36C9A9391DC8378B6BE68D77155B9A0 -5BE2264E8AD9C438F761BFA31839042B60E71E90BFD7699ABD415DE7BF3D70F3 -BC -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -cleartomark -{restore}if -%%EndFont -%%BeginFont: CMR12 -%!PS-AdobeFont-1.0: CMR12 003.002 -%%Title: CMR12 -%Version: 003.002 -%%CreationDate: Mon Jul 13 16:17:00 2009 -%%Creator: David M. Jones -%Copyright: Copyright (c) 1997, 2009 American Mathematical Society -%Copyright: (<http://www.ams.org>), with Reserved Font Name CMR12. -% This Font Software is licensed under the SIL Open Font License, Version 1.1. -% This license is in the accompanying file OFL.txt, and is also -% available with a FAQ at: http://scripts.sil.org/OFL. -%%EndComments -FontDirectory/CMR12 known{/CMR12 findfont dup/UniqueID known{dup -/UniqueID get 5000794 eq exch/FontType get 1 eq and}{pop false}ifelse -{save true}{false}ifelse}{false}ifelse -11 dict begin -/FontType 1 def -/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def -/FontName /CMR12 def -/FontBBox {-34 -251 988 750 }readonly def -/UniqueID 5000794 def -/PaintType 0 def -/FontInfo 9 dict dup begin -/version (003.002) readonly def -/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMR12.) readonly def -/FullName (CMR12) readonly def -/FamilyName (Computer Modern) readonly def -/Weight (Medium) readonly def -/ItalicAngle 0 def -/isFixedPitch false def -/UnderlinePosition -100 def -/UnderlineThickness 50 def -end readonly def -/Encoding 256 array -0 1 255 {1 index exch /.notdef put} for -dup 11 /ff put -dup 44 /comma put -dup 48 /zero put -dup 49 /one put -dup 50 /two put -dup 51 /three put -dup 56 /eight put -dup 72 /H put -dup 74 /J put -dup 84 /T put -dup 97 /a put -dup 98 /b put -dup 101 /e put -dup 108 /l put -dup 109 /m put -dup 110 /n put -dup 111 /o put -dup 114 /r put -dup 117 /u put -dup 121 /y put -readonly def -currentdict end -currentfile eexec -D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA -0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93 -51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71 -7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551 -E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078 -0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273 -C01924195A181D03F5054A93B71E5065F8D92FE23794D2DB9C535A5E57376651 -F6823308463DC4E0339C78699AC82C769542FD3B410E236AF8AF68CF124D9224 -FD6EE92A38075CAAF82447C7AF41EF96F3ADF62F76FB425BEDE4C4124E7B1E0B -8BF254D91912D3A99557F5427907A56514C5A3EB961B94112077FE9417B70DA0 -B2E1C1FA3E1D6F01D11F640CF848E45BE3E205258E64FE36AFBD4DF4E93F6B1A -966C8E7FBE2CC8FF43C1F67BF6C361678B5E90F4BA524FE8A4CAD6AB28183E6E -CA6C9636E884845105595A2E40CDBE8D4807A81AF4DB77B31873FEB221BCADD4 -2C4669459704CB58A7BC230FC59F867EEADE660E49AEEDEEB042BA9A7DD8193E -56C3A36A1F639F7EA512EE4BC6992F52C2FC82A890EFDA730105B0AF7B819295 -EE00B48F64C2B5BCB275B1DD62F289CDAD4AD9B7EF057684642FA6FA6322C277 -E779CAC36D78F7779CB6DE12638B3C65B70C6B5F8A8C6421A379719B8DD44973 -5F52856A4A29B2ED37F2B1FBE6EF4B79B7C0CD6395C756A00FACD763C235914F -847D1D99831023CE1FD89EFEC83AA7E313131C0C197248605EF5BA773D0A4000 -72F607551A8EA6F0FF19441ACA179177D1FF7B423FEBDF58B0C19CAE3C10EEF6 -3538D8FC4762B77C5AA023A8186C40D0365A4487DC3564265B3DF908572DEAA2 -57E29EC669DD72974F806EFF5ECAFA9ADF1F9D2A63087FB7BBD100F0F81C6FFB -B1EA1C9DD46548AEDD147EE64B1B4894972DAE1DC3E8569D6A3CEF9F9E46DEB7 -547E10BB2959D374A33E47C58F1B20419920AB485F166062FCCC08EB5CC9AC88 -F388F0C0155027B727729488E44CCABB7064A1432E179189C4627453C5231535 -47D1F2B8BA43069696830CBB6E5F9A135CF22D3D1FE490A3A63C088EA32FF444 -24A2427BBA63033DFE2E06DF8CE67949B6AB02F26335A376B57376814D2A7DE7 -64A4347577EBE9A6E33DD2FC214A09C6D889C8FFBF1D567032548851B8F97204 -49E215CC7D222F593E1EF1439ED60AD922D41E0E9EFB5CA48F2FEFF75AC5FEE7 -FB6676D8B8D4DB6885FBE8B61B586313E4DAFB09D94CEDC0507E93000104F3DD -F83865A2C6F6A7DA8562BF86F5DB233CC9B53391273A1462E40876A8AC2B098A -DBADD5A160DEAC061F86A5FCCAB495EF8A9D121AF07928EAFD56F618E4EAEA97 -CF89A3AFD406FC9DE1E9769C1E1EB83BB883786BC075EB5DA2692CD59C4DD7C1 -7FD2FF9B18AC740A390C1DB38670DEB18C67721A1DCD502FE7368F47DB4281D5 -459B3F020595FA3B10544AAE9EF786A0645FB7C9BB29D091E1432CD878A05918 -1665643005BFD9A4B0FFD347ADC84CE22D6F9AD4EDC05E8C7179DCB360AB57D1 -6ABCD200A4B4AD56825DC345984D9A3DE11CDA5E9EC1E5006EE4181E4EFE0846 -67D8C27BEE8F84A1E01947E945BBE988702DEB2240C4BED952E433E5305484E5 -71965D3DE95C4115FF78CE9EC18E323C599727C8B93CDFBCD1CCA780DB8C81ED -C4B5E596E1603624308972FFAE9A57B0EDB51FDDB6E23EDE2946F61BEB241345 -2A192D8CAD53E823D687F9C64A70A4B4B703291FA6317C051DC6A44BCCE0288E -3839D726A8F2E39BFF429865E95C726E808E02CD06F36C1CC9AC77999F8E28BF -CE9D74B699CA982479E9D0DD98EAB24D29C981EF0349721D6819549A39413801 -F80182D567EE316E2F0AB208068E15693E4C399A381BF9BBA625E597E6E109B8 -16F3A84C8EC92F2ADE288821092A421A8D3B907048FE947230810F0777EE2542 -29A3485223FEA079B359034F70464DAD2F0E420271A4E0CCF57A0ABBC20AB327 -0CA71B292126D395E0D083B19BEC6B48A9DE2BF470C3D01A8C3F52075BD4BE02 -A0C518355814478202FD4762EC542F8E7B9B1F7824F0554660CEB83E35635E1E -DF0D03C94C903ECB36B4948ED98B6324E0094EB1DF70863142D4ED3A932D7346 -39D69F8F044B6084482D7748C27328AFD24A3A70B99D1F7D32CB984488672254 -28B6A9E9DCA2C9FF6A1B311D72413404B3CE5428BDB7FF3C36357D7975184F56 -FA6B32AD54C37D0AF7576663AB1397B80D4E998F0B4C4F6D90B483029EF2EDA9 -D4C4204C1546EFF3100629453EAE01918D09FE104E626ABA38646F17B6A94CE8 -116BC7A8D9C319434CA5B830859B4164DFADF1D7C3ECA5C78D8DEA930EA4AC3F -59DBBF3148C91A2E807FB934E3439D4F67C6DBBA9972854E6E3688E1E0A34B74 -482217CFE031CD7B5DFEF727C3EF8DAEEEDA08F4C90289E62FB2AF2357EB2E45 -4BC547980FD479101FFEEE477AAC6268DD659E8DD9E244676FD3C6909713B71A -323B211E571BE711D103FA23B5B9AF077D84E2D20FEE805E81D20C03501F0F17 -C3B081946CD0FD577F00E50B76CC37CFA97A61B89C25DD43911B28857284BEBB -5BEC61FFE3A14C64BC5425A7A82326617F6F1FA4FEAE56071C9F559F91568179 -46369B394A5CE96FB7420FF8AB7C61CB83492FA5AE4A4B0799578594C9EA67E1 -E54498AA5CD6ABA34AD3417F04F5D8D664A7EB39D41E2D17643CAEBBCCD9C38C -C5C9541641A09335EFBCE0D276A54253EFD68141807A66F1DFEB4BEA5889FFA3 -4D20BD52012206A9F8D3E0F6AFC03FDBBDF3E51506EC6336E249CEFB571AB84C -BDF8E471E3795C04E38A5306BA6D450D72E50910D1AC385BB06CCD4B8E433A32 -5A4B7FACC976BB31FCAA1E62DB2C4FE06DDDE7367930E336B49F47DAD91C8735 -9A35D80CA2E117E86B52E41E9278046ED923454989E48610ACB3B1663F197117 -52659A9D7BFA561C7ACE0771794FC778675F83C5EDCB132AF124C7E6540A140B -E0A268836C73A3C746DC964E482E63C56C0D396515283970FBFF182F9F684FE2 -655FD8F5D057D22246DDC3FD11B77552DB4D90ADBAB77BBB1FB1592129DE0AEC -F822D7D36E52BCDABBD560B403A5C56C5E1BE789C3AC049318C7FAC5E5861E42 -FD66C3C0F46361078D7E036281682BCE9BBF77983C93ECBBEBA9B359769CA442 -87FCA1B98F4EEC4935CC93B08AAADDF355C99816453587310F08C50B9BA3D107 -5388A1F3AED2AE32BEFADF0285DA90436D1D7EA85D7B9B6DF2AC4B778CFADFF6 -6EEE54D1A1C5DEE3CCA7EFF57A7C2931933CEED90CA26DAAB45E4388EC4DC366 -B9E88518D6CF094861D2A59282044CC06E63EFB390A6DF4BA5EAC7CE39E1EE03 -3D84099F5BE96612789AF3EDED07266EF10A0FC23EA1EA97040B6BAA63138B1A -A9CB8F5DED781260962D7618EDB200C3ED976033E8967A8CC676E9C11F74BE34 -343A7ECE7EE97E8F76F7E95517A6D6163527406EF5A669535CB2BF4031F29046 -BB2D0FFFB47A576F5EAB1D00A582965C56F28C00B3BB7BE2CC8D8391F789070D -775EB775437F0CD53DA840BB3575104B63E4B0BF14E3F14B320EDEF65FD4CAF5 -8596DA491BBCF3153DED3B718F833D106432DF8DB8B8E6B34D5308C9010A5DD0 -7E0E53260BB84BAB3EA748E8D72F75901604F80F4416920D69B4B983DCDB72C5 -E9928F01A4A85954FD74578AE336C782CDF81D1EB7EBCEBFBAE7ED8AB4862584 -397928F502D65139CCD582CF0723C5262EE54B9D2B8C39614652A8A90E1C3B65 -7D26B99DA298FE4B9A7E98848F619C9BB4FF9FD215B72F99506F06355B332689 -37D80AFD9F9ACD8172CDC51FCD3A759ACA0F7D4EBB07840840EE42C2D5B8B257 -2C6DB3A7657B75F2F0B9730A20112745703E2D0FE709436CA6A5F36F59E64D9E -37C0A23D6D289E1AC1DA273872F5FC5C3DA2B127F078A4D7AB3FD7E124455817 -DDC796D54EF26A1FBFD539D3A21B86DD4477DA49213259ABB3FF241424F2BE5F -89151E02FF87E0BEE26E85C0E518D8BE7CC9214B8E9A9EA1DBB49C6C212CCF08 -90C0F23E9858947EE344062EBD9C574979087439975EAD4E85CD7BFAD3C91CF1 -EFF577843AF1427D06CB2F3BB519ED1591974218C43F0D2038665F9E2E3960B7 -FE68CD3CB2DB6B36C7997C6B21EC11CF1DE049541001FFF26D14C255E3AE862C -5A5701292FD2FB3D04523D6E2F3547923BB117718DFB6E6520F0D0B5450C695B -8C9242CC8671B7284CB2E1E9EB097A3DB1B4D5E8EEB93B4DC7E38C0A10474665 -54DDCBAF079B92EA494F6FA75A84C5AAFE280284D0823D7C22249A21044BB0E6 -4062074ECD17B62E03EDF4945A294BFEFB51F5FD870D9D7230FC91B83C1D85A8 -86CDDF326FC90E04362145D6E8630C50594484FB829DA18F5C078F2EE67D2F2B -08DFF39AE2E8C9741FA989AE494C7166F122D2C5F71B97C973B7CE8500E9F87E -D59C30F2E99CC4D34713DAB680598F41955FBDC26A14CF1E73D6BD6B9AAC8D3B -B998F2D0D647356CD236DEAD6561389ED3A6746221B0CF15D6648412B35A6B54 -6A0EF5BBB34AA376D9BAF025BFC650C1B74333CE85413D0EBB2F4D082A26A5BC -3C0A25D2B12CB159F140E00E262F1CFECCB2C802FF94CD34DA0CE9B4B3830FB1 -DA85B9B670D5169928990A2E9CC869891CA2FFAD9774E6B92549644DAA5FE00C -A5BE4F5FF91A0B6D2FD8F96121D766391EC4ED3E73DADD476B7DAE1A50AFCD98 -DB7E27E44D30416088D9BC07D4661D9ECEC0806830ABF14CE55AA3CA2DF66E8E -748B8ED46466F1EEB072AC0674FE6FED231E0DDA59ED7C42BC05EF00E176050A -C4834D893DE42474EA20DB1E25059E84BD137EF65A02CC295B0FFDE4CDE95879 -0FE88BDF2519ABAE7F8CC3E6386ED35E04A14F1E3861922645E3A3F43B48A5AA -1999A5EFE192515FCC625C829FF5A7B337AA422F5E920545F9BB269C869A821D -6C4C26DD2AE746EF0F0B4C1E7E9871ADB5270E1CA9BE28225F7A0370D4C52422 -E25263EE101C4EC1C7811B05AD42F364844A56BB91EE72FC8ED53CC6954D2BD6 -F945D739BE4C61E36143CE890FC0CBF2F610018D678ECF7CEAB18FF5A0E48F76 -FDE2463D40A99380D679B3B76D39C664F4992D23E5988B0D1AF33DFB04894016 -E852EFD1EFFE586153C0F31ADBDBDE3F73FB49C5EE64D0D02E1504248FAFAC3D -903FD44679BB09C30288139B41B1E90A10139CA3172677250B16535A1F3E5E4B -6F4264DE58896E66051FC677030A121C5A285C47B6129CB5A3998830CE070D21 -2F093FC1B44089F603A21F45F60960F134A47226874C737EF6C085634B0A4A66 -139420501351F737A73F39D960EC38420BE46E5B09D298E7C16B8E32F01507D4 -0141FC52DA1DE718D634AD9C8B00E46EEEF84356759324D2B9A3473C5DA38DE9 -E30182B87F91B6A7F7BACF29A93B44C879CCDEDB063F9D2E51E0F1FC9F018FE1 -2433D85AF24B55DE3A61C4D0A2DA4FDE933F5F6FDF17E9FA9932BFC46E2D71F6 -585EEF5B2E4E89E797A24B799D7F064DD1A817A53677FC9EB8CC3E7F93FE50E8 -D50E3191052943FD6C98B573BDD1F6D70349E1F8011599E3F8FDF1D6E80A710E -51E434E85801617C6FD8ACCF1B77B4BFCCDD35CB4C0367F4EB4D8D9DE8284D5E -B4F43E2F8320C2C5A9AE90ECBA7E65D377E91DB69FEF27069235366AD3E126C3 -A73CE97F4C90BA00D206FA012C327FD69EE59AF4470A315B1799CDC0539BF90E -512C8FC3BEFE4D1B01D969EA9E3FEF976CD6E0FA4C9ECEC955B265CFD58AB8E5 -F7371E479279EE14B689269205C5B506940606CF3E24A1E7EFF3CA96ED30AD6D -E243DE57690C3D69A401AB3315FA49E4BF4ACD4DD1CA39272533E82EFDD508E5 -1C2CD286CCC5DE1202C7C7F654521750632EB637F918667E2233A43DF75239EB -F28F3129EB5DEE2FC5BFC331FF709B0FE9B327CBBCE98BCA2C861C6547E50407 -1218CEBE6EB5F9BABA4F2E11BCC6FB553A544A567B459E06375102C69F8018DF -BA6A227CFB13E2D74E6A521E01B74F2963E9A0A1C9FD87A88EE6356E3BFABF55 -BABC751D2BF85E6712E8EF57914920775906662E4BA68FFA21AD422D34E15578 -43CA0568B431101A1194F8AB1EF25E886BFCDFC10F4A5EBD9530816548BC298E -AE4A0B6B52B8B59C644C409B4191B6F4203F52314F2675F02AEB65A72C66E92A -2AC703E15D8D381522C0AC30C165B822A9B8D18CAECC094EDE020756018DCF51 -D0701B507519C4270B70D8CE94B436F640C15872F9B5B77892AA3D110E4D6A65 -8F0815C61A5127BA25815378683F46E69E54A391A8675977E7DF9C2D4E6FA991 -9F029E50CC2F266B31EE9F9F24452D5838905F330CB7E416B8AF836C5AC26AB8 -BE2ECC6EA4BDAA08C30995709E225C21D35DB6369167602CBFA8DB2697635925 -969002CD1BEE745DA2E56C17EF3F0C05E3847147F86963C37A221C8827195A8A -3D38993E4939AC915BFD9A212F5FF3F826F742B952018986F9FBDDB69C3AC65A -845F7F33C55D4BE60A1817EBBCA7E1538E8087E1BD5C083A320D52953BE65F31 -E8339C612A510B59CE48D2EF7061560C4AD258E7DC59694493E3AC878246F37D -6DE89253EBC8830C6B209E818213C4AC4CF1F391AD91D57BE76FB0E2924A1407 -E4A949C905E44F54EAED6419F13D59942C8079336A172D4758BEB5D3E786FB93 -3CBE4FD2EB53E4E1DAC34E821EB30FD44BC6CB4298242C38F848FC23AEDC9733 -52BE6F32E31E25F18301370F8936810B0566B664B042C7AE0D78ACF0A87E5BF6 -F9B66E358168B2CEA30DCD940074F3ADB793CDB136161FE2522905E87B8E463F -95D4DAB7E14A3DF7BCCE8141C5A08FCFA2BCE9F2D1B05A7642E75877EB840149 -AAB007CD239AE47AD115929427717F219B0A8907F0EC79ADE1B901DAEE87A2F8 -39361DAB43DFFF69650F601B24061A9353CFD619FF9626F63275FD09A5B13BB4 -8B3379EC4D147C41197E8387FC04DA7BE409524CEF74EA91DC066808A7FD0EF3 -957A44E2503EDA67B1C61827479486134E922E560A673BF314D601C66003CD07 -55569085AFC8428389A140EB976CCFB8F29E27587E46C413ABE2EFB51AF5913F -53EEB74063162E0BA1E24CEDCA320377D3E11BD374F0B44E132A5C35835B6E2C -D32948EF9DC7931D104C1385709DA882DED6458319F21C2329938396BC074106 -CB9CFB9E0A915F8DBC8435F386917AC87A2BA45D857EC30ECA66FB4044F5439E -CDD556B82A0E43418D179AD883C85AC276E1190CEC242E3E1D86E725ADC39E46 -BB6C47FE9E17E29F8EA81E870302A00D91434F3B7A05F243176E6EF1082541A1 -B9052191EE5C2B8E94A2E02DB65FC769653CA8D1C07A13CB853544AEC7FC35C5 -218DE3128AA31952DCE19C55C23FD69BCEA2C661F57B11B8F9E86BFA718D1521 -3346E78C701A5E51923D6D937E62FDE3669B214D240538F069A100A542720A86 -31DE88116DE775F7ACC2A49EA6C02A24408271A846990669F2AF60AFAB4C16F9 -7F4E88E917F0FFDCE68F22998AC0AF2A60A73258C3A4BBC42A2F918123128195 -196D0E150D79AC3CF4628503D1F3FC528265ED8324E56849A47B3B07C29940B9 -1BC270071E221D355EA51E9942D3BD7F99816304FFFC8F5B036C953B38759341 -ED5D7B9C8E6B70C409DD8362FD291201CC385E4A98D73E8518A4C0E544152563 -82032FBD2FCB6E403D34B85ED4053A8CB619BDD4DE001F4C3007B1F317579651 -E6D6662189CC2D95AB85D7473F65C5D7B4AC63B0FE928F3400035D5A9D443D0D -F3532B99F3AC26CB25EA3CD64C341159061E02EFBC7C033C05CD919BBD827A6A -BFCF3BD739E32E7FE909AEE068D50FAC33605FFF98C7D0115FB860178FD03DB9 -7985B78E0AC21F2EA065FA841F5928FB85163B2E2D8F850DC7EE313912C45C28 -2783F6762C67882EFEDDC7E7567F91C16B16FD8D5A1ABF35B5586307701B91AD -54984598F2AD46FEE3D68A2731BEAA754C8E730FE0E84952EF77930E4118F8D7 -2F3AD7552C48C6D71102367AF3DD19DD76FA71928B63D7918C3DEB88840FEB80 -D288565525B144453F03FD08340E2DD4777484B552E241EB0180BF47E9A19BCD -086D89AC4DC263E273CB0F1D2E2082E023038DA303AB252AA63564D26ED8721F -8EA7AB22FEE60F04C671961BD11F2080F30456DFBBC89894FF05BC9517EB869B -40A4E58290546539BFDB4BDBB450AA7A70D019BC5A39236EFEA6F93A9FBCB8C9 -7EC6DC89C5F27EF258F0D533FE882202FB786D0CE1A9D7D0CD18CEC7826291BF -1D3DF573690386F2ADABAEEA8E83960631A33AA07BB7B4970477C46E92D30D75 -6E9F27887A8D1CE84F20F88DB678A0D65A53FCC7638BC932CBB2715639B5786C -3E4C88CCFE8F7D758EB497C82FB73635E828F165B2BA010AF65D973D0FF3CBD4 -71CCEC76F7E415FE5C72FDF6E2D511B5105874E9B69AD641302FD432DAFC4D80 -6B6CD4D1D5B658D4A984B34A2666ED8A74B8A070D33AD7A0E411C644BBD42FFE -AA7FE68F9E5EEA0521867422FD6BE49B18BF8AC265E40049F851DBEA997C34DF -3CA77697F5D48FE22C64C303D089E0B928AC2712EDD68A0EDC595FAF83B5D4E0 -28EFCAFA72269A4FB0CCAEBFECEDCE66AC7D1FEB9DBA1FC28C33DB8B89D5CF97 -932939B64B63070D7C293EF846EB7DE76B5F06FF4DB59278DA0F1111FF97FD5D -25291C63D01506FB143DD9677CB27DD0364FB1D756AADB0D6DF4816B0B1118F6 -340C38E4FBCC4C393F928D47585ECEEF5A7F8A15FBBE393029B12DE7E9E4D781 -71AC2DFC33FD7D59FD80DC1A634C5D99A068803C674B94D56D1520BD4B21FFEF -E020A7B28948FC4534240839D1C825B4E6C4C0844F057A38EE984B7E5B9AD8BA -533B9492E64A43E7A04EEE064DA56DA3E08747D5705F44F7156AD5C65653164A -82150DE6717C614AE1F722D571745119BCDF5B8F40EBE4B73D8CA0A567EC9991 -9DEE71B60A72734E0E19C41457BC2CBF08FBA1B4E045DB90FC51E874B64D3ED7 -FB7487F36D12E8D3D95FE7D078976AD534AB074FFE6BC8279006DAB8CA55DBC7 -89A13800F9DAC874BC74E1C6A6E3A0318AC1656DA73FCC4F5A8727DC1A0F9595 -5EC9B02BC987B9C37CDCB45F921306EA22788C3930E3BD2C5E91C9FA8FCB2F52 -30BE9FDA1E9F58620F5D95AF91C389A6ACA28BDEE8BEFEB80DF279D17269CCD0 -279CD36DB612D1D0DB9F3B398C04A1D39591F3660486759C2C2B9EB9393BA61A -81B2DD33CEEF70E02173165D6C15FD36D3F40B5D7244F29D3C57415F60F19698 -4BB27B6B6DA60E7BDA42F2E66AAA8E40FBF06465B80B4AE49CF3607C79472706 -C29322ACCD0D0151F3D279ADD31AD7FFE9D694169DAA60CE6A67642202BCDCDA -6E29C8BD1D9705034FC1680ED7D7F44621EB918EB0F3233C0AF28372ECBBA672 -059017C88511FBF0EA1F3B7DD84411D019D17A915EE05E68D79DFC4F03DB59A5 -ECB39748A437A5882EBFC1574027684145EE9264D62757CF038C0AC868A13319 -EE14856DEE3979D82F249869C7A505A4B7AAD1BD0599CF398A32AFF95D3B88AA -12974DFA24CEF4D673E9BC4B9FB36398CA44F2B9FF23AA192D56E35056C2177A -ED4A6B1660520A05C01651D10A37748E1483DBB6FE13FD3EEBC1FAA34349AD82 -06111CAE95F2013F111D8FE902B996C77A1BE211C2B6F9BC4DF73FB024B4D2E1 -CDE9A94BFA9727D95619B30F332C018B528A8F292A142BD5CFB53AF214E36C08 -E986347EFFCC3C3C885857D04A85E2514063067F3141BD86B3452A1A2B495372 -EAE088FC784DBCA46CC744D9947BC5A8BF354F2C630BECA351DE6A2D47B30F80 -DDA9ADA37E50B1816F739DB303627C79CE5DFAC2E94A9CF79957C0CA9B8566BD -892431AE4F23AF6056C7D8F184818C9D4A9E57FB1CEA8D74CCCBD38E5D7E1BC2 -4551ECC268BDCDA07E675C206B2DCC7E5C7DAE865A4363D4122848B46F198507 -7E166303E4F30C50F0061F6EF316AC7EC5FF61662F088696E1795D75591E6CB7 -0ED973CED00B0D058E9622043AF118ABE8C2B757BA3A1A4D5CE2E6C06A2EB582 -B99ECB6C765811568EC35E38B81523CCBFF8327E2CEDBE765C18A70B9E054453 -1EA6E3E33B9975A49873F3E1CD0438BB53F056254E7051938D08A8173AB22AB0 -9B42C13A84F330DB43CAB3AB877A66C3F2A0295E9D8B6292EAB9546F02FABD59 -13A88D7CA669122B532C906C4081988C0BF556AF1991E1E4C9B2D6B3BC798B49 -A8A6943A242A0CDFC03B498F8F495661C0B32ADAA6C3CEA8C1CCD1E84BC3D174 -425A71F8A84A1F806489E2C926CF032CF157A1CFF0498121BB3A6DE04DC400EC -3D98FC20A2A20C110DB95B335C4E1682515292A12C8415E323EBFA11551F2B7E -ADBB7682960FA594CBE077E1EB10AA0158273659E8444562093B5A4C28A39E11 -362611D6907C0B34DC4C958DEF21D232E2D01DE7F9C649C45ED941A8108AE2D9 -775DDD587DDC8CA72A97C3E2E713DDECB09C09F67026284E674A5EF85DE699E5 -7258BF1AA40FE374FF2363847DD0953A20259C7C8191E0FE0A391FFD06DF9051 -3FA61907BA4F984D7089F1329579927E64A8076B5DC08BE067E449948BF1EC70 -03AED3DFBBE20C2B23CB113E3F4973DB01433A72E68335BCEDA94CFC7239E7CA -55939B5EC58B380871397F1F13D7A640D8FC6924AD183ADAFC447CDB9A6CB63E -BCCFE5C11E884CABA6261D5605CDA3EDE239737490593E4E4CBDADA0182C8362 -F27FDE36EFC56AC691376AEC6F3204D96AEE953AD141629A31132296FF60ED96 -0D54E153FFB5117845FCB6EA3B1D71FF4328CFA0972B2E3AD0B1430E33F6AF44 -5C12F58959EC611A449923604D95883E378D2DFDA4D2B2D43BC9B4F6D1538350 -D9FB3E6B5445C696D916E93A1FFEBF2C59973A523F8972BD8FD20E160AFEF38B -E355E2FBDC98F0971A4D04298C47C6781201EA4F16964E6C441331193383C6BF -B3109040BFEBFD7217655899FFBC57FFAC3778729924CF9C9504A25823CFEB22 -DE375E4AB029F99B91B037A1F956F4CB14E973D5847A3D1F15F400E54730E0AE -C9C15DD4322AF9DDA0CE77074EBE320435B9D82BD73040E5150DF87AE690115C -AEF26E5EB2612FD51F7761BD894DC139E79C7952BC319E364BC09825CADF4EDF -129D8F7B6D819BE5BCD1C223DBCA46785DB5A2DBF04FB42D451691B25F647B1F -3595EC997C631B70AE41317E8F80394B768C58E64CFC5F97417F88C9DDB98CAD -9F53DEAF7B225CC6DA84B79B21C1C4810D90C1871EE2B20E0D0B4783F20EE925 -0E91C1C8671B97FA9E248E8F03B15EDE15F4BA072879E90AA8CAED46886DE114 -D19E0A1BE52572FDA487FC97405B4571CD2A48B6135D6EF8C22420AE5C7C9B89 -84D96A38FE9067CB6CBC1826C490675DCA6EBC3AFE89FFEDCBB7C83F92D03A32 -30C76AFAA57B6F0854E3F4327BF892F0C4985DBDF87E476DB2DD76A5A235A7E4 -E750171DB3F4C945A6ED52112B1FB818CC513DF536B7DE1C16685B03589B3D03 -DC7056DD140F39C2D21DF867BC23237F697B6CFC080D59239AB465FE688461F2 -EA9F0350D62450EF80C454227DB6D60CC4A1156A2C3983503EC4C020B8072F7D -7D471D3D288CA1A1497EEFB7C826FA93CE0A31B1AE583E75E9A97E84CF0F39F5 -27694E23AD868C04440B4B3B674246712D89752365E32A6FD7DD024B6B2E9E09 -420420996C797C228DBBA33529D256565B4C479C9A4826943B79494816FE9AB1 -7A7CF2E0C3110142D10076589753AB96EB827399232E10EFCF1303500DAD9F9A -050FF4D2A7BE882CEC519E57C44AB791605BBD1CF9EB46F588AE695026ADD366 -ABA1988D0F692BD8ADA131CD77A6A1E3B44536DC67A00E6FAD10A2807F3B4A76 -7AE8F7C5CE76A10958CE05FEE5A6B9DF29540306704239A72166F38FB34ABD12 -189B5395FAC0CFBB0B9B743486E0A3E36103A60DA0CC52D78D3A6E646F04BB5D -533B1371C2C7BFEDB46DCDA8E7CF7A00FC29C1BA4F0554FCD1701E0FB3614C8C -E63A351C080E03B7779FF122014A34B32EE0D4557F0C3AB0EDB23EB6ED0179DE -34B1440C36BA2B40CB06D26DEDE8C2EF827E10BAFDB6800B60963FC5509333D4 -C6AEA8BDD3102EF19E1DCACE8402DB0E98343CBDDD6BCE24D2D9303BA4AD16B8 -EE56A24D80F464EB153987368F7E899F51FB67923DE8EE2F20D6D235E28D94B9 -8456BDEF0959A3B015462E79AB7B84ECF0299444CE4DEB3C8EE7E2BD23CA59BE -49E6E2C27C0E787376FB5F9524441F803ED572ED7A1321E3C775D8890EFB4A6F -A2AAD2B92BAAF651D09E1C7B3059AAB87EA01E1EA8CD7206186202B9115B13E6 -7995708F70E72A38BB9FBC9BAF38077D3AAB047A7B469BDC8CBC1D2DF9AA8492 -74D52FF2AF461CF685C751EC27E643EE8206CFAA38B9EE236E051C1847D58D33 -E2801A3F1DA3205E8F383832356366C6D83A22ED1051FB93AA1944A220FA05D1 -4D5FB1A3D14781160712140F698CB99C7EC5E4EA8F3C8DA526A7F92BACC1C67D -E04F1A5B080D43B0B8589FE343656B8B84E676ABDC34FD93E24F6D1A0EE4685F -DE701BFE614C49EE893F9E2D7DA3F6E3110C55324A3858E9406D1F098D53D65C -C5CFD7A5B8FAD2EEA008188F3CDCB6A3029FCE3E1FB6B7363E610DE04FF30604 -6262C8B4EF036C5BCC2FA76C09DC2106411E40E8382671BEAD16EC56C6EB5A5B -FF2650A38302C5E0A9E5B0456659225818878FD550DEA6D1C8704C6020D2A9A2 -9728DAC36B72ACF23991C122E9EA0E52DBBD639431A0C4375225D16C7D1C226A -B09C2CD2A6FE67209668B9B876D777B86F68C3AE872EFECD1730456F168E48D7 -23E7A26B783AFA95962E94AEDB1B158DC3DC3A6DA5C17BEA6F42C7D4D5A33206 -32A767AC088B9BE230BF67353507449272A35F18937656529A7D701C5D6ED11A -30391309A4FCCD5E7530BFDB769C2F3FBA44C27FF56FFC8BE6BCB316DBBD1B69 -85A75C6726A9C0A63AAC84036265EB952556A0610C2832FD04636488B89E2C02 -528754DA559FBF275565644798D4F11E33892AFA540C1F9573DB2DEC7B2832A0 -A538E9903EC4A97AE8ECE9F42B72EEC9B4B5560D1BA7248993C46DA23A3929C0 -EB18C32E4ADB24350F10F1B703A93BAE3B82D7CB66E0FE460DFE1C97FA5FB799 -74E827C03981CB1175E54682465C5946442B9C2ED1E5AE3430D7E95680D69315 -0603E5B2994FA3666DDB44CD35E5C8116CF2F5DDA46C61BD309353D3D89BF459 -7DEDC647A51267BFF24F029F7C34F4B82B9AA619B1B23A678E90003B710D801D -FD60E1ED36 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -cleartomark -{restore}if -%%EndFont -%%BeginFont: CMTT12 -%!PS-AdobeFont-1.0: CMTT12 003.002 -%%Title: CMTT12 -%Version: 003.002 -%%CreationDate: Mon Jul 13 16:17:00 2009 -%%Creator: David M. Jones -%Copyright: Copyright (c) 1997, 2009 American Mathematical Society -%Copyright: (<http://www.ams.org>), with Reserved Font Name CMTT12. -% This Font Software is licensed under the SIL Open Font License, Version 1.1. -% This license is in the accompanying file OFL.txt, and is also -% available with a FAQ at: http://scripts.sil.org/OFL. -%%EndComments -FontDirectory/CMTT12 known{/CMTT12 findfont dup/UniqueID known{dup -/UniqueID get 5000833 eq exch/FontType get 1 eq and}{pop false}ifelse -{save true}{false}ifelse}{false}ifelse -11 dict begin -/FontType 1 def -/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def -/FontName /CMTT12 def -/FontBBox {-1 -234 524 695 }readonly def -/UniqueID 5000833 def -/PaintType 0 def -/FontInfo 9 dict dup begin -/version (003.002) readonly def -/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMTT12.) readonly def -/FullName (CMTT12) readonly def -/FamilyName (Computer Modern) readonly def -/Weight (Medium) readonly def -/ItalicAngle 0 def -/isFixedPitch true def -/UnderlinePosition -100 def -/UnderlineThickness 50 def -end readonly def -/Encoding 256 array -0 1 255 {1 index exch /.notdef put} for -dup 46 /period put -dup 97 /a put -dup 107 /k put -dup 115 /s put -dup 116 /t put -dup 121 /y put -readonly def -currentdict end -currentfile eexec -D9D66F633B846AB284BCF8B0411B772DE5CE32340DC6F28AF40857E4451976E7 -5182433CF9F333A38BD841C0D4E68BF9E012EB32A8FFB76B5816306B5EDF7C99 -8B3A16D9B4BC056662E32C7CD0123DFAEB734C7532E64BBFBF5A60336E646716 -EFB852C877F440D329172C71F1E5D59CE9473C26B8AEF7AD68EF0727B6EC2E0C -02CE8D8B07183838330C0284BD419CBDAE42B141D3D4BE492473F240CEED931D -46E9F999C5CB3235E2C6DAAA2C0169E1991BEAEA0D704BF49CEA3E98E8C2361A -4B60D020D325E4C2450F3BCF59223103D20DB6943DE1B57D05DA0555DF933BB0 -7B42D264831116C06C79335D519461E7B0E870A6715E3D74A08D1BCF86E3BCC3 -A43FC6BAD1C68BD9D4AFCC06D845FD1F1E70D7A47F0BBCAECE8396E04591E5E3 -4797F646AFEEB7DB548183F0B74C9BB6BA2AA04E7F5950EC8AE97C741D4B2C5C -A8E7A8DF5A36A30B5A7592D95E1DBC63EF33C92FE459792CED29E2B8B6919251 -75EF62089BD7D44A6E1F9B62EC802FBE62B821DA1C3B2DDED45D27964AD29ED0 -9FB7868F3A8FEADA87A8E42D52C1EB7229D7C79B60BDA263F2BDB025AE14A507 -098FA274206BACFB4A0A7257D5998EE8F0FDCA79CB61DD1FC59DADD11E16BF02 -ECDFD706CDA1E72054D4EB55AF7BA9F19955886BC0BD6E0E3FE3769C94AF3581 -DFB2BCD67FE2892AF07E858A01280194D8DD7332B3D0A585C87FAB056C2EAA9B -5AD48D1C9F00CEF8EF0D1408DBE1C03D04B231D7B8D5D998FE0CD7EE19828EF2 -F988EBF6DDBFEE00F04A4A1F4E1A55DED7EF3AACEAB5005F1962C724A017C914 -2936E2E0DF26A55ACD7DD836C6035CBF07981C1BCE3615064F0540A1034C69B4 -E3908E76EF8925D486DF0B4A8E1F02D8AA99585A7C31847AB9382F83880C1C21 -C496AB2DF8E7BD4643B28B704B5F6B53429D3EE940A79135F5BF0396E5B46F23 -42AF406C26D12BEA7A41F332AEB75DF43C15334CF4651A99F602036946B1B91D -4BB0D2E51C20216D892C8173241AC8FD15A37C3CDD8AB4FB67D8565AFA61C068 -95E3D6E46D7C09BBD09428207D506AD43C693F3C3D787F6A5C39084AE45E81C9 -830900DB50DAD10A17E118FB5E9680B5194716A788FF7514A1167DD1A305FBE4 -8A4DAE2CD7284E912B80B491E822EE84CEC0ED22BEB736389C419C5FBDB9140E -99A33F94722F0A1B4D56F2D280B077B8A35183620992F3ED4DAA665F1C31F622 -A6C3728DA48021B70DB89EC4B946965AF75BF6B1AC7A25C002DEEA0A7B58F0B3 -A71010CE8BC3CBC4698763770EDBD04EE2BBA631A61C5CC3289354D143CD1A9E -DCD1722EA62EF9FE7CF81EE3DA486A5876941BD639BCBB37778D1CF1806B1DE0 -81D2C9B995BF1EE3842EF993F08C5B690EDF00F3FE36C9CAA4C56E41279ACDCC -BFC37A265AF506B75CB8F498914E17C88A931F7642D8C77E55B9E967CD057C1A -EB9E463700DEEBA3B41B3CA4DD5B1DEC9F09A663BA83AB1D578004557B946254 -14C4E20D63B967BE9C9E23AB6E54C9A00795DA195FF8A46B2C443B163FED648D -F6B19E93C11914C2DC6D668F514F0A1B32478B8132A8D4C3B14FACB153A2615D -C5F183315FEC08741B1D4FCE4C67CD9E29BA9802115EFAF4F5F0E6E57F28301A -4B002AE8F44BA1B2E3C7343FC7E6C72759F123B6070D698BC43B6CCB451D7547 -7C2407FE1CAC67295BBC1A9A20DDD33108EA2B45BFB41B982971D9DF4ABD9638 -4AD2805F78D82A11E8DDD81DBB43878E3EF527DF3FC629635ECB8FCB0BEB7A10 -E9F47DEF9CD26E23E8FF4C8B8B2C2624355FC01E0209937ECD0E9B3451CCC4D0 -BA7BD9017AF2E9228B1B00BC8AE7D4D365C9989296A7C9974F03BD7AF5F64775 -FBAA3AB9C23B01CE46D85C643A48BE765AC368995B9A8F23CB08E81328343F56 -777C75E604516713AF21E28F442925541E1D8D09B659445C28753D230E776F3A -84993CC9AD0AAA13E8EE223DEF4B712271E646CE9103B434788BBB5AD093AC0B -D5DFAC3A5BFAFE07714887938C01172F1239C8617D77071CCA9D3F7D7EAB52D8 -FC651CAC3076CC3D24063ED06459C6EF2FADEE7D7DB3D27AA8D147973E844C35 -B08CBB5A0F4277F0552ED1E83AF4D257894898F4223B36630B03056D38D9CB17 -FCD01E0636AA11AA3940EE04E7C44390C27307763F5B81093CFBB818F04DF9E2 -B397BD293A61E699C9A1CD0E21CCB9491808591CB7F0CBE016443B519D9F0D46 -BC12B921326C61BF37D232DA9F2FA46D2E820A3F0E38BCD552AD55B0ED25A678 -CE23E7B27EE72E6852013DB5BEF0CD5F1F11BD32175EBC122A31A24FC1EA77E0 -FF1FFC5EDD5B59DC35B51EA52DB3EA8B40C16D436A7926EC0F9BC75C92487680 -2831B7A69124A203CD9CE93372FA08F280DDC7FDA3D0B5C1CFAB6863E857CCA0 -7958D04FB03E3F37E01265DDD257A0F7562B70AF83EDD3B00CD9DAA07DD53367 -C7970B80B36D4671D725F2C4CEF4F47EC2254ED32516A2DEC84AAFBD925F2712 -791AFCF83753984AEC128905FC6F896F09DF363F1BB6418A945CA03C5810F5A5 -26E483A971D9883FD254928FAD300F7BF8BD8369EFCB27D9141BF0A64F002D85 -BAC179D851B5927CE63706D708E8D460D8BE12278CB5DF45545E118E9166A83E -81715BC1C267F8BB43658C69E4901480112299A473CC43AFC2BE532E7FED81E0 -A5BB869285799896D02F3D3F8B040EF9AB97063634736F0CDA77DF9CAFFC1144 -8BA30CF4D0A1259DEC6A071DFBA40CFCA7000687ABB03B393111918EECEE2847 -800D8EF62D733CB730481800BC625927F6C665E26BCAE17D20C690524D0D40B4 -8BB411D8A6A7906610202240E3C44D4C18D20A044C9CA59DCEC1157CAC635F8A -76E62A1DECCB004F02435F1ADDBD0C0DA0B0A95B1210651FC1DB867D924858CB -FD3E1C28C9E81F7BA9F450E7697B9C95236934B72ECF1E9614E2F337707CC5B2 -33C1318695924D8C890A21D43595D80E0276808C19E40C40479D1FC707F91897 -FD35AEF08EE51E8498200D648260A97793519B -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -cleartomark -{restore}if -%%EndFont -%%BeginFont: CMR17 -%!PS-AdobeFont-1.0: CMR17 003.002 -%%Title: CMR17 -%Version: 003.002 -%%CreationDate: Mon Jul 13 16:17:00 2009 -%%Creator: David M. Jones -%Copyright: Copyright (c) 1997, 2009 American Mathematical Society -%Copyright: (<http://www.ams.org>), with Reserved Font Name CMR17. -% This Font Software is licensed under the SIL Open Font License, Version 1.1. -% This license is in the accompanying file OFL.txt, and is also -% available with a FAQ at: http://scripts.sil.org/OFL. -%%EndComments -FontDirectory/CMR17 known{/CMR17 findfont dup/UniqueID known{dup -/UniqueID get 5000795 eq exch/FontType get 1 eq and}{pop false}ifelse -{save true}{false}ifelse}{false}ifelse -11 dict begin -/FontType 1 def -/FontMatrix [0.001 0 0 0.001 0 0 ]readonly def -/FontName /CMR17 def -/FontBBox {-33 -250 945 749 }readonly def -/UniqueID 5000795 def -/PaintType 0 def -/FontInfo 9 dict dup begin -/version (003.002) readonly def -/Notice (Copyright \050c\051 1997, 2009 American Mathematical Society \050<http://www.ams.org>\051, with Reserved Font Name CMR17.) readonly def -/FullName (CMR17) readonly def -/FamilyName (Computer Modern) readonly def -/Weight (Medium) readonly def -/ItalicAngle 0 def -/isFixedPitch false def -/UnderlinePosition -100 def -/UnderlineThickness 50 def -end readonly def -/Encoding 256 array -0 1 255 {1 index exch /.notdef put} for -dup 45 /hyphen put -dup 69 /E put -dup 76 /L put -dup 84 /T put -dup 88 /X put -dup 97 /a put -dup 99 /c 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 108 /l put -dup 109 /m put -dup 110 /n put -dup 111 /o put -dup 112 /p put -dup 115 /s put -dup 116 /t put -dup 117 /u put -dup 120 /x put -readonly def -currentdict end -currentfile eexec -D9D66F633B846AB284BCF8B0411B772DE5CE3DD325E55798292D7BD972BD75FA -0E079529AF9C82DF72F64195C9C210DCE34528F540DA1FFD7BEBB9B40787BA93 -51BBFB7CFC5F9152D1E5BB0AD8D016C6CFA4EB41B3C51D091C2D5440E67CFD71 -7C56816B03B901BF4A25A07175380E50A213F877C44778B3C5AADBCC86D6E551 -E6AF364B0BFCAAD22D8D558C5C81A7D425A1629DD5182206742D1D082A12F078 -0FD4F5F6D3129FCFFF1F4A912B0A7DEC8D33A57B5AE0328EF9D57ADDAC543273 -C01924195A181D03F5054A93B71E5065F8D92FE23794D2DB9D6295729076BD8E -CBC0F4C1BE246922D2482233846A96D867B66D9CF25A1DB661141D36B8506E61 -A022F9EF8BC1F2F674EDF1533E67A78CA29A612AA9268E113C5EB84DA56CEDFC -D7A111403E6E2A8682DB04368889747E003A124395ECF0C7FC81218552EE7C6F -60BCFB4120893528670D0E8A4117EA5676915E3591AE5652D003EEF67818A41A -8882E102AEEEBECBD15DCF632ED246A6A58B6A7780DB6F1F9AE3FDAC8344585D -E104F2BA2DF06D68945889A2A3B6C262FB53FC670BC5EB7C56887FBFB7AA7026 -84115872CFB0652C6BB330447AFF8F0F665EFD6A41D6DB6877B08052F402448F -CB21C26BDC900636C99CA347B79AA73AFCDE9762A992CA3DDF7279E5C50F453F -52098529850AFB1F501A442D6A02E0A2896F81C8AC735AF1E7EE47208B4CC944 -649DF6802EEE813F1456205C6126D7D0B1821AB62DD65468F3A30575E491623E -0054E2E680E4402E1C8C538DA389B81603BE88D6DC287A076F92B224CD58A0AC -44B8D490197341808DEF243660971F444A560C747BC6F52707ED42A99736ECCF -EBCB694A561C3A70A319D204CD40D402FBF937A00BBCBE85DD26C9E3F91B7D10 -D85B9D314BC3AAD5A58B107F5F341BE2C53490924142566417D6BE03BB4977FA -6635EA58DEB9508E40B9FFAC75FF44C683680CF242FE210519C9BF92483B0A54 -83F48341318BE16D2F8C988FE3DB2E7914581F579D5E323148A31E4ED03BC24B -C990372DF5F3B0C5FA32EB2CA4FA0EA33316569133C87697BAA2292E685C26CC -F8CD40A2366E60B47D47CC9D0FA29D2836011376A07F78BA7664DE96E775CF45 -9BC91559A063073A4C2FAAD0893C517C5C46A1425D07EDCC2B57162E3A45103E -FF26A2D2F98B194256A4B052AAFCC08965A50EECD7B9E8F35AFDF7B6568B3983 -8030655E7C2BEC961A2F20539D617626E8454E3FE9EBD3EFCEF7F63498441DAE -16CB509BF239FBBE25EFEF07A3E16C9C71EB8D9DCB8403916FB40FD7F4E1A52F -72F2DFF94FD14D7D49FE775390C17C37C1BA0CAF35CF75D682B7833A83224158 -D54CE962CFBAFB1B2CA50B60CBEB1F8F58DDB2F5470C355ED9632342D9382AE4 -5D33BCA3A0A25EE9E5B39BE5370E7F20684C664EDB48E7973FEDAD9676F9EE8F -701CD4D8CC9B9EBC06E8C86EB88AD56E15CEBB8E1930E8F711CB6E01D5D14967 -D7E6C1BDDDE2C4D00384EF4CB02877DECC27AD53FC981338977BA0CC0257CF7D -B42E9BC91AF45D9722461EC3CD9DEAA8011FB855FE14B74BE0A102008EACA2B6 -0E287BB4F466FBFDD6E65A5262B9322F95E20DAB875A10A84572D982E6FC7ACA -23C0C37E5EB47B8E69C07507B53CDD98CD1B6445E1699CF35B3DA3E0DC56BB76 -F997C40E2ECE47DBDDB707EB527055960113F2DABC87FD9EC7D0AB36B400CE33 -0D54D4F197B2830B43DF0AA802DFB2BF747A4C44B31FB708B2C8BBE1955A6A28 -379C91AA4CC065A50098AEC0B837E180B76801865A43C74859DF18FE1DA1483B -C17843BF1C7E1B11A8C6D8BB8CDB1D552FE6A1FD0A696A8F7405F2320F8621EA -17C1A32056C45A9ED35D2BD12D02D8B26489CAAEBF4EF33B66FF4BD9B46E4823 -6395831A8F3366EEA0D0EA88D612DEBF63DA7FAA24DA979ACC1A52544BCAA007 -6C39946BEA6076ACF45722B2B8E4D0823EA2D12B14A98367BB0433A21FBD9F94 -18DF298C56F67ABC9DB1868D431A854DBEDF8E1F49E359A545C75A7AA1FA4D5A -50F1EE6B45FC68ABF65FFF257964E4E50D8B0C1FAF498DFC554073697C2F219D -4A68DA9E873B270B9C56F0DDBC9927ADAF9203FD684DE615F68C24ACFFB44690 -89C0D5322049FA69E7FD00EFC9C9B2BD177B5B339907F81C31496662847BEC1E -56B5DCDF4FE618970F4268F475B2EF7E0F28CC986DDF098E59DDAD818649CC35 -4080C0867A884B8177A6880F06F1E5CC130AB4243EF8DD8032FCF390765BAB1C -1F0C9728EEE261A09F8C1D7ABC7A6B1550551BE2A7D19D45B656650DB00B3A5E -B3E1186043E173BB4DD5EFFB379654F88146382AE3F7196F099BDCD6D245FB6B -AA2FA9B6CFBC9F0CD52798DDF2F13874BDE5B124DFFE0DD93E24C9DAEAE4C3BB -71A9A13AE2860F620B4EC789F95221015D9C510CB4AC775EF69DB9E32E59C896 -1AF82C9F0DCDB4812A37761859A3D3BA0CA57F244489C78065346FFA78F5F7C8 -0B2E8CBA9EE62FF5C27369D0BCD52857D40F1FB8F8A1441B83565A4150AB1945 -0B54D6E49F66389E43096269EF5CDD39526A288C0CB81E324E75D326EC9A182F -2CD966368CE300B41873B08E17C3E6BB51804460D2562AF5A12339966F44CD09 -114C6809AF246B5BA6937631842CB9417781A58944B6BA4FCF961465C208957C -81A662D560D0F81BD3CB53C06B6D979F04F6121CCFD5D52702CBF6C70C01EDBF -2040AAB9CB144321E68C4010E0E98CCA2603EB55DD62E881DB621C37EA4108D1 -528ECC7A0121B57C6BB1E26F8AE7161ABA7E88256D2D6A8B7CDE2E730D137493 -3FF628EF6030DD2330D747FABBA03B44CF600418C245C388F33EC5559E7313BC -4B530C4FC12530D38B27D6408548F25FC084DD0523B27D29D6518D3115AE7755 -37162CFD4CF528214466FE525B13782F9C3CD78F3D6C7423E63A134C0A371F15 -10F4ECE1D482C647B563D3D15586F80BD9DF7381BD53927825D5AEAF762E1CDC -3BD184F345029A95B3AD4D1B66E79AB4F0809418C0CFD4D503457A190D02F134 -3F57FC04FF655AEEB783D6791E4EC300755861837D3D50649F6B7F60766211B3 -8148F8E575E28D6C2DE75B15E722ABFC6DAADAE53D89FD295352781DCC2CFF6D -982F6DB778D6FCBF1B7BDCB53F3A23AE6EB499BBFA96E8BE04C3C8E5B660EF24 -01EB842DAEBE979F2C2DB72AAB4D21627063B1D3C6CD40944E4CB81655698FBA -A343766CB22E392E5DAE01DB33A00918D6DAA07F2F38B336A3C5DF3708865E75 -0DE04D3AFBCA27A249E97377D5785B4E28EE0E93F7D353619C200DB967372ED2 -153BF8BE945474266EB2FD30F80042A11B7E3586DE4AB1FBD4A741D36DE583E9 -1CA25DA345520AA60634EC819E7EB493CDB128BBADEC3890F055455F060A1100 -D5A41D7B180027E08AD6EE7E393DB9F83799544404FE397F557773BE6A130541 -157C0EB37E036C94825B5090EF85F8B4E3DB72895D86687758C20EDEBD6D1079 -196E9949DC6ED0113571C70B150B37E446E319EC54D44CC0CF6A14760953DF4A -D0E1F33A54D240E236AB63B35BA8E071D77776BE5B9312245F2C6E4FDB4312A0 -0D9CF723E7D9A3D8546C4739C00C301A89ABA60A02757AB1A0AC40B24CE6CF12 -5850485B11E16646D7150795EABAEB08364A53161111F46A7BC3423A0D3BEB69 -BF15726C1F8363914945DEEB29CB8766328318AF3B344FD6D77BBB92BD7FD161 -93356493D4D8252AD125708D47C124E44232FB2BF7DD75F87889496DCDB75D03 -F58A57D4122CFC194B75A9E9C4789C9A33C0435FB4ADA16AD4A6191928D1663D -05FB8152C0AA176FBA4755205F8A66713404787070757D3721ED6E6D55A59DF0 -C92BA8F05EC7BE05D0A2E66DE85E75373483EA3BBEE0F0DFC7E2FA5FBAFAB118 -058D095AA71FDFC8AF37E5A98406B64E58BF476C6926725D7EF3C2346CE3F662 -1E5A4A18D966479A37070859014719456EA2C7F23E68E1AB2F25ED3A0C00A18C -DD403506923BC983F89CCA125780DC76A411472E38173BC0DD4CDA7B43E13419 -B5AB0B9A35E77C58BBA12AA4F5C7EBF8A29996B059E4FAE6809565570442AEE5 -D56CBF4407E1CD9A4398B1F3ADFF023F64B230E3D29F526B62D964F5C8DF801F -E94295AD85BD9E1C18E6327977260A871E921C0745CA06A263E335E344686E7D -D6FE3ADB4EE0A7E462F3C00873C3E95D183CCEC71C0E5DC1D2FB310B28FC3611 -67C23DE336C374F72368F4973052B48E39969305791C986E6EE35D0350571860 -3A8ED849712CF21AEF444BA390644E8646CCA16559BA4642A5800827A0DDC453 -7CA0818BC47DF6348A5209A2F0A10CA39840CE6346E89CA0E842BE8692DEF25C -4623A5A0E0B98708B9492E9F564324BB3872D6B953CA59E9F393C477E2AB85EC -C557D333E88C111CF995FB79D9432DC94C2BDB3BFEE13C0D7D1BB920DAFA6158 -8548447AFC65CD5515D5021E0ED7D213B0C08C35BB424AA91885CA023D7AF767 -B83E619B15DFEF5588D2F0564296E14B5A6ACE03751E1016105C51BE76EA5ADB -4167BAED2A8899031FD7BA05C410ADA25ADD94A787EED1A7AE133B0568B1DBA5 -44B41BE013782CFCA3D81E8E8210DD506ADFCE7DC7E792EFEF438221164A7D1B -5E7089F476240C5F94988F081943F24DBF7CC3D1E58CB89E1C0C1624682CC3D8 -C95815ECC9183A4B3E353C7F920B7E64086E01672DAA7C8A81319BAA03C1FBB7 -8E5E84CC5BAE0E107754794C755B7AF00953504094E1A9DF357D51B578259613 -8D26F0BA26AAC459BBEEB90BCC98B865EDD26AA4DF533D6624EDAC762C446B6F -CF9F86DD2D8989D4655775E662B93BF51805EE3CBA0AE2293D95F166E80973CC -82C53042D0249C598B0821E9E7F218BA6114EEC86C158F277934F2651490B723 -7F0D0288560DA5BEBAFDDF243048E590871AD18B3B220EC56549004DF122AA03 -BAAD6971D790BC644369FDBEE74A324083CFA9496C2A333774F06E35299242BC -F4B26578907CC5AD1893613F2B8622CFBB7B55810162EEBFAAEAB2A6D69CB72B -D7859C73843E665125FF450631F32E64F13A6207F368103C7A7318DBAF2560D0 -F1CDD83C3E48CB30C62AF1E0896E1962C655D9ED98E1BB38477C1C60ECDB6B95 -067D3A638AD43EE886338F7AD2D2A574CE6FD2E21F6FCB4220EFEC85ABF8272A -82081CE70E4390A74EC717F1DDD168F4A4A080A79EE2ECE0F98A96871DA4B52F -78441601AF47763C2219F5A167604C32F478D498835EF3A6167936994F7C7139 -3019FF43C97E7978D3CDA641C1E391FEA572D308E759F28DDE2B40B5BC207A4B -C5EB6A93EEE26782016F8B6534420BE4D790A2E1A65B6CDBE9468152230384FD -14E9AE84418A44F94E6825DD7D77D0BB5486DE26A692B3DA96C81FA4440C5D44 -8E7F3CAA9B8DF38F87E09C4D78841F629F78F4E7CC8580CC44E59E5D9AE8B2DE -C0682F793AE7AEC12A8AE688636197E8A08FEB70EFDB6203681A60223B9B0D39 -2DA656E5E99B82130D4BE38D7AFE18568DD30B0CC3C73C1E2914ACE11A65334D -A9F18135E7B86157122CD221C33C62012FFB16D2D2F3473A53BE3E7B9FD4303F -66ADF0B07155C7B9B002EA68C6AC7247EB3CE7D2670A60138049DAA964F86A05 -22983EDA7242E6BEEB90DF61C937399B2CE1061DF1E551CEED4A80D86C2D4649 -C9FF9A1F93E96773CD392478D5B70D5336A03A274E0A6EF44BE8CB2274324142 -706BC2E340DC944339D647961FD7BF29944503B4AFCDC69A706AA6B0F6AB2CB5 -D220A96ACC1EE5E7826F6F75F044224E5260D581AE761AD0C752A06AA03FD935 -FAD65C9EDD4E5505396E331D45DE88F0D1A4303D766ABE0702C17E2A7F53C0EA -96A4DEC5A6B6186F5DBAAB05DD78E38AFE630465BEF0EC66ABA9C1C9232214A9 -795D105C33CF069F6BE20B179F4CC9F484AB63ED25C1212C457DF62CA0D56E20 -608572216F2D4C09010B03A8AA6D287C8F514BEEDC1C912552CC2489858BF4D3 -084882CE4F4B6FB9EE27C0168671E6DA154018ABEAD013C88E1D3EC918371251 -63D95BA0FE20212C20AD3F4DB614EE36B488A3F55D94C1EDFCA8E68E54A1EED4 -7DD168DCCF07C3DDB5E2B499DB5635C5C5056A7438120DB4839427D07F96AB8E -F842E285243E40259F6DF029E27779CCF3D3BD7206B2C341045A5A4AABACC2A5 -91C6830FE05ACDCFDE99046F16F2AC183426ACA4A89FE5F09B7EB2F811BB5FB5 -AF073BDA2886070B2327D582DCBA66B47E8948C3BE05E837BE4B81402A583403 -74FF9E938F0E9DC3B1CB81B93DFD4070F9EBAED40BA570DE8F9A5C2C0A097311 -22A6065139A6580E332473E9410D9F4C734794F79E41D0D437CEC7381919DF6F -A24B170E2BC97A6396A4E3AC3D844AD6E2B8FCE1C6AE97DFC5319F49130C3D6F -AF2541EB2384D5D4CCBEB976846EF8C2165DBF706112BDDDEC9A57D157F5996D -95229FD5C71B885D16B177BAB06B9DF5740A45C2A005778EE879193290419C0A -A4A339029E37E685B8A05B111DDF94AC19B1D85C8E6026E57E3D3B373C08557A -F96E6FE3916695ADFC1F0BF5D558565F42A71C61ACFEFC9026424397F0646642 -7EDAA05794BCCD164A645860B57EAD53CB6899B18C6E9496EA4DAB0A0C272639 -DEBC4FCBA94B3BF123F7771F602E7667C8F56E12429669F2219C7D8E294BE07B -71E88EA62F5616CAAB7C0198E6FF12A348E36B306FE2684A401399431B6A84CF -B46EE4BAA0F4099E65E9AF3B70274EDD6B6524F4FA38C23F9CD5273EEDC8C6C3 -E7312B6E0497C05AD3F3C246638F01387CC11DBCBD287ACF54D8E24759F51415 -35ED64132EF4158F54AB9F4D567482B3057880490F805822F71E7E2C52F7BC38 -8B1F803AC3731064B90E5E97AA3351D17E73DC2FE526CD6C91158636E395867D -C1150FD3BD12493FFFB813AF0D08C8ED0B7418A2CF90BD5B783364358605D075 -5DEA95A9299C0654EFB28E2FE8A41358A0DD124D0314A27558E42ED5F2D74BB7 -056DE04D2CF13B9B804A3CBBA29BC155A3F18B8B48283194C33CE8291677E1EF -0721138F8E0409D49BB99F217607586D2DF00C29A25536E21924B4CF6702CF85 -C02DFBFD2AA4DE3DBED1D2C02E21052A8D10F96629D0D18154923638FE0C48BD -E2DEAF11663E20717EA77A5453686AAA39D6FF7919AF09B1AD956FDBF734F49E -262F3076F62E77BD45122B55A5913902D9F91C4246FC235BA9C0FA4A96994291 -830638949BED423387DA2D455A3C9122484EFF27F5367D1D3DD27D207D973815 -965E1CFF36F43C653ED406F65348671D9FFAF55BA3FC266D438AF473181B7801 -164EA3F04FEC870743195B3F467DE36B3719BAD9BF15A18637A314C887D46673 -445BA3C212749B0A33136FEE9FE2C9A13D62E7ACC96378D257FBE0EB06AD4D4E -D41976AB92AC720DFD33B0677062C32E6F5C992A0324FD26E984B5341A58C190 -D20EC3F1144697D514D9157340A6C9F82E62AD8CFDEE59F6FF86C6250CE33D6B -BB82DDB4F65BEFC6F6D0E4044F7BF307CC346E2FFD191846E3CA288C6F91CB71 -5FDE855FEC5E38816CC635C470BF15263A10A409F0BC4877F7E6D4C223E3564E -E7BB5B320AAA5AAF4F32528F7413BFB97C70FF5E6843E1FE501472129BC9758D -7531BE576C75840CBC4CD3E6D9E5FF52559B68DE6E7827128BB2ED1BAD43F36E -A0CB68C1A147A7093EB02062AC5492DB7EEE08B1BDB187E15339A66269E459BC -67495937B4317AF66A498923322B087ECF47B601C26E253D223A784DB2D204FD -0668BD403A73723848018B7C86B627B9AE0BD9038F567CD5F670CAFC5C4D86FC -ECA211B713ACF8C1370191161CBB6C2592E8B9DBF3471133F2D9A60F15D72F9C -5E5539D59A6A7E124D9A38A6FF6EB7C71990716F88E1888295584F17D49144B2 -B57183FE1C6ED5D71A48D20EA8C18DB6CA7D3C3A6403B9A767D805747C0D25BF -7F2F88CEE69141F72141640FD36EDB5886A78D3A1E0FA4DD0E213082C3E6822B -F981212D179C25CD0570748C3BBE642CCF1F43F5226B9C2EEA6B966628B185F7 -11441471ED972022B4D84CF007C1D9B1D12804610E4F730DAF2F2D5AB767C320 -C62543E261EDE128761D164A9843955BBFEC7213307B78378CD1914FD7D79D14 -947572CB28073B7AA530ADC51270B03CEB7FD7ADB4D72671135435609A235501 -EA55EDE2B2B915DCA5D50A7E3512B325253FEEE5FB8F99189924DE9EDDB672E5 -653E83A354F6E55F47CB4B2F056C6232AA66CF460A06E592FB4DAB538C280A86 -6C7FC5A1A8A411A597335E6BCB62888AC8539B30E8AC2A39A813FC4891B49E77 -75375100F55E9F16BABDD3F76B2F587530D12214A376FCA98170E67BE8E450CF -CD9116344965344652128A18AA5FBC61A89117BB7D016B4F18A1BBBD8717F984 -F8E429995D5C39BFEC047550D9ED7F9B6538EF020EB60AB57A17600467AD46FF -AD725999FF72F5DAB93D690AEF7C4640D3A85F71763090740FFCDFFDCA590A91 -FC3B7CA38DC0F1A788550208C1A92993333550753088988692F0931B64538968 -780D323E550908A44EFF17F43281800B9FA0A227DE31664FF3148CD766D2B1FC -A5CDD82B16A4C0A4E5CAB9A3C2617E9840E977A69D17CF0E2E6A8B1AEB0618ED -75782C64036BF2514420F656A8379A287081D6EC02EEED83D5271FAA4CCB27EB -522C2FD607271D1990A0E2B70C16371E0EAB42602BA9418F290F9DC6C5D659B9 -C7992F238557A504436771189D70BA4B690E4185B10097B1EA77C1CCAF3004A6 -EB513465AF0578897ED0091038F790C5CF9818CED62E323A6B43C465B0ECF9AA -7BA13ED52836F3578BB6B2F6369260E1DD0A204E285338642532060DD5BDDAD2 -91A327F1B132EC549E1D0D5AEDCC8D63E1FA43A57BC9F963384FBAFD4EC19C67 -EC6143A21DF169E1CCC33F1B16293CED9F1BB960AEA4B41AEF27D0387B12FC9F -2B3C476A858670B98F69EF399C8C6D80FBD6C57E7030F9D9D5EC79E263AD9F23 -0CFE38A7D8FAE476CD9BA96A1601A2788247AFECBC1C66F95B6EC3F6B8472EE3 -FCDDEF445A07C8AA2BD0DA9ABF3B69A83BB06B5136A8AD22957E0EDFD2B9A6F9 -158F1B49139D98E8467E3A85DBAC942064CE728D9C098F9169C4CDDD84A1CB4B -DBC4ADD790FC086C2950DD90AA8B50BBA0F69C64309B631FC42142402F9F5C44 -5A3DE9CAE675685C5F398ABF78BF6EA8B96B437DC224632FEC4160156C09A74A -29D656BCC1B1FBFFA82FEF9C869D1AD1E70102C8FF6A57BA9D41A94A9E2DBB08 -3ECFB88C2393164CFDEE8D6F7443090E881C886BFFF5844698CA4395DDDAB76E -E9AC0FCC1BD476FC1AF9CD7198C18F2EDB4E80FC1BA717EAEC1A10E9B42A78FA -D134BD20E0B457E044DECE5D0FA107D02C67EEBE7340070E175E31439636FF1A -6406022BF17A512C2E9752184831BE0A31197C66BA29FFAD724C0438F2FF8E93 -58A1E63ADB0FECFCFEA88A34D7E42856E7169DC484838DDB1031C62B32BA99BD -A38250055C78537BABEA7AE8AFB6F2489E14CD00C56DE6DEBB75DC2AA19172C3 -8986D0201F7F143BE6061A029C75955BD8882506D3ADAC59B665A7C7C7A2CC6A -5FB2CDC1133F257A44AC2F62C8D7264A16EE33FF2F1E0D51E3CD97036E8A5188 -35538375B6EE00093E3A6D2F261E6F833FEDAC632D8E35EC17F89B11545B3741 -5F53E4CDC0123AB600AFB1C0BF865B616F2807C4D037C9A8646370E3E48A0499 -E529FB435E02ABD0CC9ADA6611E0A484D7DEFDE317868382059B9BD36A2E978D -E461024E3D932D1D66BDCFB2E5BCEDD39B7C6FB7F63D699F84E4DB63E30D808E -ED5FE3DC3F00E3DDBD06B82787B8E860480240A8ACD263B8E901002253B8CBB6 -25F497577258F6CF92CCBEE015A2FF661DEB6E27E6B18F8DF67BD7C4484FD11B -8BF0D13548697BA412900F3554A99D33F5C50C6CCFEDF87DF5721C7707736BC8 -C68F89AF7D8198AC510A27BDD65361B4AFFCEF10DD5761D7C143AA9EA1482361 -D41EC9976246FD76D3F6A41E4A88E306AA9207ADB33D676739968C185061CE8F -0F5BE904326B93696305B3A8B03EA3D26D4B16CD743B84CC4651C0A1E7703436 -61B8F60A96EFAD6AFB646F54CEC7CD2F100300AB9B2844BCC1BDA289F7A524B2 -50F23FFF2BDDBDE100030F7CE1F5F81E4EE3794B4A57C7BF04C8915D33E9CB74 -2F3134A928FB530E68BEA4518AFFF226018EA2FED6FF48C71871C1DEF6EDE48E -B34764BF2B43AA6464374444E09AB5C56212BE811E8D15DF1B4756D23E164F05 -70E04A40DD56ED7C0BE6D42A1667D0D2F8D2D253AB911E437ACDBC56D765E26A -7ADFE32C2A8F368262FD7B68E1EA6FB161BA30AC2386D572F7DB45E2DB8D85A3 -8B95939A4FEE586188BA82718C5BABE415632517B378D4D9C04172FB390B6658 -FE17042FBFE96B503A6146E0E7FB95480F9835F816F0BE0999FDF559AB9DAADB -7B86DC33ADE53D8B33C52A4939445D2CAE72F02077BBA85018624AB4CAB58A06 -5F5A527435CD38717DB7EE6357EFD12E35B689B185F0B376696D0E9C99E392CE -89D42BFAB8901395F21EA77BC11AE0AEEBA0288297852CD9F52F359B81190CAF -48D8DB7578D649409B25BF519E004CD989075D48D5CF381AC07767DF59D9E9EA -A67BB06D036F46DB07480ED41E24AE18179BB3699261E5FF6952CC0A23C72F86 -81D4BA27F39EF02609F37CEC6B28EF1FB908E97F0C43B809CEFA5DE55D8C8DAB -442DE761D727639D26DD574CC13B99AA152CAB93181236456680E56AF5E43FB1 -96B3DDBDDECE3698B96552D2B47DC613FDF97902B8CA628847EE5E39A48DDED1 -FAF76061C59C36316C0DCAE8CF22BC7AB6499F2C3E896E80A8EB58F1CF09E490 -BCD67F26A2086C7D7FB59E41A2A3E5E95B9994F9D5714E5C8035EF2B77717B28 -43D938FD6F75CF2AFF33B24E6193B3E9B5ADCDDE513A2F933ED6F43E54D9E4D3 -6B63BC108AA2AC3C0D1FB57450F7DECC3DDA8D862324A1FD9EF92E7862224A92 -CECEFAEC81B103A690617A150ED09DCB2414C28CF6109710920973BCC04C68E1 -B2C7F0DBB2215030F0CA2ABFA25F2DEEF96CBF632E9F6ECFF371053FC7722502 -0E7D96CCD9F92B3D6C6A5A66EF30FB955E04936AE7C607DB4182B3E7522903CD -51BEFC4256611298AB2ECBBCC3B3E0AD078C0C646C7AD5940D63601082D676AE -8C5895AACD44A94EDC85FDDF9078BBD45772DDECAB9FCF51294D0A36E6050085 -349BFCD4847D8A47845A8312AF937E5099BE31B9D745EDBC744B5BA8199CBF4B -55A04CDCC38EDF6806A50B311A91F332F8B7D028D2E0AA77DE19807AB7BD2CF2 -16D7321A2C286F3BAB927465CDCF3BAE550C9C87465B5918C61D3E4830487122 -B97D35D8ADC7630795D46E10E50BA0663A41F477C67197ADDF9573FD350CB7A6 -3316DF111B96E0436688DA51874BCB7EDB6421B7D787C30D0D6DEE7A8FB04FAE -48B2209DCB600FBBF146ECBE6AFAA51750FDB35BE3278AD5600D7E027378D3DA -74E1A16D1FC85EB3E36299524D5BA829F13E28DA37D07FC2EA2A68C6CCD113B2 -5AA3A3FD701CF10108E4C91E79E2C085CAB89CB9682E9DDC9991AB5732197767 -E67AD742DD781213B92DC7048F2BA8641D86BFA8C305ABB453513AFCD500CF63 -80567745840DFAD7EEC297E9B5D784687DFE383AE0921F6285CE32C7AD5E01FC -4CF6B41627C4DD42DEA4AE2402C358C95D4E610C04B7D275E279CBB2457590D5 -C58319987C4D8948E92ED060B184AED9B8206B69B952195B242D1E30E242594F -40625CE181FCE0CA4B1844627961018CDF734015AE780914C68C7A4B6A40BB74 -8BE7159A7173F840645D90448AC103CB5FB33C5A29FEB0C8AAA8F493BC3DF407 -5E3C03F02FF2E5B3B2DADADB9EC50D21F09F4F4C9A80499998F6412097932328 -A0C807673351F19271D02660B3B0B122CDBABC38C413E868066808B8645114BE -D56751A288486CE7A3EA31746F5F04E46731962F5A0132F67C62F71491E4AFF9 -41FF406658ED53155B376FA77EA32633581375541816C6C6A31473FB9AC44F02 -A2AAC603A0E25BCB806393329014AC9F7E2568997707C9854826CBF84659800D -D7F74D96FF5D39C17B9ADB9A6AD9AB1E9695B052BAE1F2A604257FB45F00F491 -290EA2D1FE9C7FB5E5E81D3AC401C254C941B74A100FCF572022B7C7186A9CD5 -C06BA4D26ADC66C7E09530701BA4E6BC5010840133D4CCF8880FB13921C2D7F3 -A46E61A48C4186A04E4A3B00318FB66E2AC902A63E360542B8D3235F2BC93637 -06D80E9575954A68C00FE890557A94F1ADFC3721304AD3B78FBC6CF30B9058FA -1A550325CDFEF0B500CC8E01F87D34DBE05914D182B5D4389C8575F444ACDD44 -E5C8BD2C3C2F5BC303806F4B8DD396F16BA2819A3480CD6766D7B375BA653441 -01DD2536C845C283CE545A281B2B4178D5E35E898A28BF72B6F0779D51A58A25 -0EEE5A0E29E7CECEAC40F87F5A96997B824C6F6A14F21BC39ADCA95D9AE952A7 -AB150DDAFA07134206AEDEB246B6D304BEB46DB7C9C1AF68259A065614C6D33E -F1F50FFED01067E4B1C31A60E377043D87E99497C88F040712B2D7E234E6D7C9 -074F82F900E392A08B6604A326F44BB086F7B3D997DD0931994B4833509E1FD1 -377991AFE01152D6F2DFC3E3B0585DF07D333960265264409AED0DBCB0BFE4FB -9B17F713176F923784B448E006EE90003B343C25FC7AD7743017FFE87C91BD40 -A648ADED466F85FA2FB670D3C873D4BA8D48B7B050438832E766BDB8D11EF2C9 -C92729FBF123AED75BC2BCF2B704A7659171FDA2F4AC04D4F59475CA59B4934B -C05D89FF01A78E01858BA75941DAFF7132C4C30C6FCC948C9A833E126BFF36D0 -50121814F70E63A0B7BF29093D38B9C6B8BBF71046D1BC301AA0FE181C13ACE0 -8EB40D7AB98AF2CC530C9AD75A7077195A62B72AE9F3417B392179FA634A9835 -343E4FA2E6842B65785038EB869BD9C6F207313B49E44F1228E6EAB3E5CD16F8 -2E76C351B37D43F0218AE3F2E645086AB90F6A48C4CF92498AA8AB5F1F402A9D -03F2D6D55778E28C82583F8822747C647EF53AB68FA046DA38D560CBBC2498DF -FF3B493041AE7973577030000702E0B77950331D4B28B54C51576DD540A216C8 -DA67D754B773038F5885A4EF0AA595742114DFD130E0EF138719B432C1ADEDAE -8BDD33CB568EC454F2FE435470A9891D3C8C995053FCE888EC5F7A4509A77FF2 -D6AFAE751272625B23F5E32B081469CECF8E8F87F7C0A32D68F7A6D2F5151BA6 -6B6868BE45468342210DF57A438C81C05D45929F2FB47E11B03AAC4665F8A1B3 -2971B00CF1490231B33AA21715C27C40526B554DAB4265B4EB899B73490A1F75 -5AF32445552769C8C506ADFE0AFF58F980DE0949F2060B5CDCF5BC2B9214743A -A1EB51234369021B1B51361ECC682CF4489395858C661EDC6E7488F6D95E3FA1 -590FA3CA96613756EEEBD409886A78FA1A7B1211C68559F2A591D213B24C57D9 -566477F456E539D3AEC0FB56F09E77D1C5D7B149D56327A846816163ECF20390 -372501BC8519B9AC8D98C827DBA2BEF673784B6B78A89D0B5E030436F439AC25 -FBF815E78A85DAA1AF220803DC01393398AFFF3E193192DD537F16A7152F696D -2C95E0AA1DF307D4C152D325122C3EC09E289A5844661C81E69F5E5E1D5CA1C0 -EE8F914A5CB2473BB9D953FBD6A5102B2FC7E0DF44C7AB7372CF32DF81150701 -17C2B4E1E70A4D827AA467F862F04162850A4CFD0F81A4DB3C65027957A40CC7 -AF55FF4FB4DEFE25CB6B0593EAD93E47F4755DCDD8F734E630E7FAA238AE9ECF -5AF2806EDF0CE9C7135F17D1A145192EA884AEC71342A329A29869ADFC5883DC -A5B8470675F02860DC4DD8723D9342F5FCA7CAB1D506E2F662444181931A6704 -7BD96E7921CC4E818961E88E9051A4D87B475CCBD03E81787DE8F56D3CC6ADFA -71D030AAFEC4DE428867416582F14E7ACB7A3C1522DFA33318D2901A04603692 -96C04697C5386518D9D32729AB9AC3D2F8819A402050D25EA2853F3B6C358803 -2C87CBECE387344FC55ADD6D9F58146BB68BC44A7C29EEC21CD554AF51A32F94 -174F181F5BA882D3B9DAC2BE977004DF191471 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -cleartomark -{restore}if -%%EndFont -TeXDict begin 39158280 55380996 1000 600 600 (tuggame.dvi) -@start /Fa 219[42 36[{ TS1Encoding ReEncodeFont }1 83.022 -/SFRM1000 rf /Fb 218[68 37[{}1 83.022 /CMTI10 rf /Fc -145[42 6[42 42 101[65{}4 83.022 /CMSY10 rf /Fd 198[28 -28 28 28 28 28 28 28 28 28 48[{}10 41.511 /CMR5 rf /Fe -167[50 5[62 83 5[75 8[71 22[58 43[{}6 83.022 /SkakNew-Figurine-Bold -rf /Ff 152[48 2[53 42 53 46 39[48 48 48 48 48 48 48 48 -48 48 1[27 46[{}16 83.022 /CMBX10 rf /Fg 167[50 5[63 -79 5[75 8[71 22[59 43[{}6 83.022 /SkakNew-Figurine rf -/Fh 132[42 1[44 44 60 44 46 32 33 33 44 46 42 46 69 23 -44 1[23 46 42 25 37 46 37 46 42 9[85 2[60 1[61 65 57 -65 62 2[65 4[54 3[59 4[65 3[42 42 42 42 42 42 42 42 42 -42 42 23 28 23 65 1[32 32 23 5[23 20[46 12[{}56 83.022 -/CMR10 rf /Fi 141[166 1[166 166 2[166 1[166 8[166 6[166 -6[166 1[166 166 166 3[166 26[166 48[{}13 166.044 /SkakNew-Diagram -rf /Fj 151[43 42 25 37 43 37 43 40 40[42 42 42 42 42 -42 42 42 49[{}16 83.022 /CMSS10 rf /Fk 134[51 3[54 2[38 -2[49 54 81 27 6[43 2[54 49 12[70 9[50 1[73 15[49 4[49 -49 49 49 3[27 32[57 11[{}20 99.6264 /CMR12 rf /Fl 134[74 -4[74 74 7[74 9[74 50[74 46[{}6 143.462 /CMTT12 rf /Fm -135[70 2[73 51 52 2[73 66 73 111 36 2[36 73 66 40 58 -73 58 1[66 8[99 3[96 7[83 6[90 23[43 45[{}22 143.462 -/CMR17 rf end -%%EndProlog -%%BeginSetup -%%Feature: *Resolution 600dpi -TeXDict begin -%%BeginPaperSize: a4 -/setpagedevice where -{ pop << /PageSize [595 842] >> setpagedevice } -{ /a4 where { pop a4 } if } -ifelse -%%EndPaperSize - end -%%EndSetup -%%Page: 1 1 -TeXDict begin 1 0 bop 0 TeXcolorgray Black 150 307 a -tx@Dict begin gsave STV CP T /ps@rot 0 def grestore end - -150 307 a 150 307 a -tx@Dict begin gsave STV CP T /ps@refangle 0. def grestore end - 150 307 a 0 TeXcolorgray 150 307 -a -tx@Dict begin gsave STV CP T /ps@rot 0 def grestore end - 150 307 a 0 TeXcolorgray 0 TeXcolorgray 263 739 a Fm(Example)43 -b(of)f(the)i(LaT)-11 b(eX-input)44 b(and)g(output)f(of)g(an)g -(annotated)1106 922 y(c)l(hess)h(game)f(using)i Fl(skak.sty)1536 -1162 y Fk(T)-8 b(orb)s(en)33 b(Ho\013mann)1629 1358 y(July)g(18,)f -(2013)p 0 TeXcolorgray 0 TeXcolorgray 359 1638 1345 9 -v 301 1750 a Fj(8)p 359 1804 9 167 v 368 1804 a Fi(0l0Z0jrZ)p -1695 1804 V 301 1916 a Fj(7)p 359 1970 V 368 1970 a Fi(Z0Zra0Zp)p -1695 1970 V 301 2082 a Fj(6)p 359 2136 V 368 2136 a Fi(pZ0ZQZ0Z)p -1695 2136 V 301 2248 a Fj(5)p 359 2302 V 368 2302 a Fi(Z0Z0Z0Z0)p -1695 2302 V 301 2414 a Fj(4)p 359 2468 V 368 2468 a Fi(0o0Z0Z0Z)p -1695 2468 V 301 2581 a Fj(3)p 359 2634 V 368 2634 a Fi(Z0Z0Z0Z0)p -1695 2634 V 301 2747 a Fj(2)p 359 2800 V 368 2800 a Fi(POPZ0ZPO)p -1695 2800 V 301 2913 a Fj(1)p 359 2966 V 368 2966 a Fi(Z0Z0S0ZK)1696 -2966 y -tx@Dict begin tx@NodeDict begin {-10.0 10.0 } false /N@BM 10 {InitPnode -} /NodeScale {} def NewNode end end - 1696 2966 a 1695 2966 9 167 v 359 2974 1345 9 -v 422 3049 a Fj(a)124 b(b)i(c)g(d)h(e)134 b(f)f(g)124 -b(h)78 b @beginspecial @setspecial - tx@Dict begin STP newpath 0.8 SLW 0 setgray tx@NodeDict begin tx@NodeDict -/N@BM known { /N@BM load GetCenter } { 0 0 } ifelse end translate 0.0 -0.0 translate 0.8 SLW 0 setgray /ArrowA { /lineto load stopped { -moveto } if } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 -1.5 2. 1. .setopacityalpha Arrow EndArrow } def [ 20.0 16.00006 -20.0 5.0 /currentpoint load stopped pop /Lineto /lineto load def -0 setlinejoin false Line 0.8 SLW 0 setgray 0. true 16.79993 -3.20007 -23.20007 3.20007 .5 Frame gsave 0.8 SLW 0 setgray 1. .setopacityalpha - 0 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 178 3198 -a Fh(Fisc)n(her{T)-7 b(al)26 b(after)h(25...)37 b Fg(K)p -Fh(f8!)p 0 TeXcolorgray 0 TeXcolorgray 519 3381 a Ff(26)246 -b Fe(QX)p Ff(d7)178 3572 y Fh(Not)28 b(26)f Fg(R)p Fh(f1)p -Fg(+)g(K)p Fh(g7)g(27)f Fg(R)p Fh(f7)p Fg(+)i(K)p Fh(h8)f(and)g(if)178 -3671 y(28)g Fg(QX)p Fh(d7)g Fg(R)p Fh(d8)g(29)g Fg(Q)p -Fh(g4)f Fg(Q)p Fh(e5)h(wins.)p 0 TeXcolorgray 0 TeXcolorgray -519 3854 a Ff(26)246 b(.)15 b(.)h(.)229 b Fe(Q)p Ff(d6)519 -3954 y(27)246 b Fe(Q)p Ff(b7)157 b Fe(R)p Ff(g6)178 4136 -y Fh(Within)29 b(a)e(handful)h(of)g(mo)n(v)n(es)e(the)i(game)f(has)178 -4236 y(c)n(hanged)g(its)h(complexion.)178 4336 y(No)n(w)f(it)h(is)g -(White)g(who)f(m)n(ust)h(\014gh)n(t)g(for)f(a)g(dra)n(w!)p -0 TeXcolorgray 0 TeXcolorgray 519 4518 a Ff(28)246 b(c3)178 -4701 y Fh(Blac)n(k's)27 b(extra)f(piece)i(means)f(less)g(with)h(eac)n -(h)f(pa)n(wn)178 4801 y(that's)h(exc)n(hanged.)p 0 TeXcolorgray -0 TeXcolorgray 519 4983 a Ff(28)246 b(.)15 b(.)h(.)229 -b(a5)178 5166 y Fh(On)28 b(28.)13 b(.)g(.)h(b)p Fg(X)p -Fh(c3)27 b(29)g Fg(Q)p Fh(c8)p Fg(+)g(B)p Fh(d8)g(30)g -Fg(QX)p Fh(c3=.)p 150 1596 1763 4 v 150 5196 4 3602 v -1909 5196 V 150 5198 1763 4 v 0 TeXcolorgray 2033 2369 -a Fd(1)18 b Fc(n)o Fh(fen)n(b)r(oard)o Fc(f)p Fh(1)o(q3kr)o(1/3)n -(rb2p/)o(p3Q)o(3/8/1)n(p6/8/)n Fb(\045)2033 2469 y Fd(2)g -Fh(PPP)n(3PP)o(/4)o(R2)o(K)27 b(w)h Fc(\000)f(\000)h -Fh(0)f(26)p Fc(g)2033 2568 y Fd(3)2033 2668 y(4)2033 -2768 y(5)18 b Fa($$)p Fc(n)n Fh(sho)n(wb)r(oard)n Fa($$)2033 -2867 y Fd(6)2033 2967 y(7)g Fh(Fisc)n(her)p Fc(\000\000)o -Fh(T)-7 b(al)27 b(after)h Fc(n)o Fh(mo)n(v)n(ecommen)n(t)o -Fc(f)p Fh(25...)e(Kf8!)p Fc(g)2033 3066 y Fd(8)2033 3166 -y(9)18 b Fc(n)o Fh(mainline)p Fc(f)p Fh(26.)26 b(Qxd7)p -Fc(g)2006 3266 y Fd(10)2005 3365 y(11)18 b Fh(Not)27 -b Fc(n)p Fh(v)-5 b(ariation)o Fc(f)p Fh(26.)34 b(Rf)q(1+)27 -b(Kg)o(7)g(27.)g(Rf7+)g(Kh8)p Fc(g)f Fh(and)i(if)2006 -3465 y Fd(12)17 b Fc(n)r Fh(con)n(tin)n(uev)-5 b(ariationcurren)n(t)q -Fc(f)p Fh(28.)37 b(Qxd7)27 b(Rd8)g(29.)g(Qg)o(4)g(Qe5)p -Fc(g)g Fh(wins.)2006 3565 y Fd(13)2005 3664 y(14)18 b -Fc(n)o Fh(mainline)8 b Fc(f)p Fh(26...)f(Qd6)27 b(27.)g(Qb)o(7)g(Rg6)p -Fc(g)2006 3764 y Fd(15)17 b Fh(Within)28 b(a)f(handful)h(of)g(mo)n(v)n -(es)e(the)i(game)f(has)g(c)n(hanged)g(its)g(complexion.)2006 -3864 y Fd(16)17 b Fh(No)n(w)27 b(it)32 b(is)41 b(White)29 -b(who)e(m)n(ust)g(\014gh)n(t)h(for)f(a)g(dra)n(w)o(!)2006 -3963 y Fd(17)2005 4063 y(18)18 b Fc(n)o Fh(mainline)p -Fc(f)p Fh(28.)26 b(c3)p Fc(g)2006 4162 y Fd(19)17 b Fh(Blac)n(k)n(')r -(s)39 b(extra)h(piece)h(means)27 b(less)k(with)d(eac)n(h)f(pa)n(wn)g -(that's)g(exc)n(hanged)o(.)2006 4262 y Fd(20)2005 4362 -y(21)18 b Fc(n)o Fh(mainline)8 b Fc(f)p Fh(28...)f(a)o(5)p -Fc(g)2006 4461 y Fd(22)17 b Fh(On)27 b Fc(n)o Fh(v)-5 -b(ariation)7 b Fc(f)p Fh(28...)f(b)n(xc3)27 b(29.)36 -b(Qc)o(8+)27 b(Bd8)g(30.)g(Qxc)o(3)p Fc(g)p Fh(=.)p 0 -TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray -1892 5919 a(1)p 0 TeXcolorgray eop end -%%Page: 2 2 -TeXDict begin 2 1 bop 0 TeXcolorgray 0 TeXcolorgray 0 -TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray -0 TeXcolorgray 519 405 a Ff(29)246 b Fe(Q)p Ff(c8)p Fe(+)178 -588 y Fh(On)25 b(the)h(wrong)e(trac)n(k.)35 b(Righ)n(t)25 -b(is)g(29)f(c)p Fg(X)p Fh(b4)h Fg(QX)p Fh(b4)g(\(if)178 -687 y(29.)13 b(.)h(.)g(a)p Fg(X)p Fh(b4)27 b(30)f(a3!)36 -b(b)p Fg(X)p Fh(a3)27 b(31)g(b)p Fg(X)p Fh(a3)f Fg(QX)p -Fh(a3)178 787 y(dra)n(ws\))178 887 y Fg(Q)p Fh(f3)p Fg(+)i(K)p -Fh(g7)54 b Fg(Q)p Fh(e2)27 b(dra)n(ws,)178 986 y(since)h(Blac)n(k)e -(can't)i(p)r(ossibly)f(build)h(up)g(a)f(winning)178 1086 -y(K-side)178 1186 y(attac)n(k)g(and)g(his)h(o)n(wn)f(king)g(is)h(to)f -(exp)r(osed.)p 0 TeXcolorgray 0 TeXcolorgray 519 1368 -a Ff(29)246 b(.)15 b(.)h(.)229 b Fe(K)p Ff(g7)519 1468 -y(30)246 b Fe(Q)p Ff(c4)168 b Fe(B)p Ff(d8)519 1567 y(31)246 -b(c)p Fe(X)p Ff(b4)148 b(a)p Fe(X)p Ff(b4)178 1750 y -Fh(On)28 b(31.)13 b(.)g(.)h Fg(QX)p Fh(b4)27 b(32)g Fg(Q)p -Fh(e2)178 1850 y(White)i(should)e(dra)n(w)f(with)j(b)r(est)f(pla)n(y)-7 -b(.)p 359 1966 1345 9 v 301 2079 a Fj(8)p 359 2132 9 -167 v 368 2132 a Fi(0Z0a0Z0Z)p 1695 2132 V 301 2245 a -Fj(7)p 359 2298 V 368 2298 a Fi(Z0Z0Z0jp)p 1695 2298 -V 301 2411 a Fj(6)p 359 2464 V 368 2464 a Fi(0Z0l0ZrZ)p -1695 2464 V 301 2577 a Fj(5)p 359 2630 V 368 2630 a Fi(Z0Z0Z0Z0)p -1695 2630 V 301 2743 a Fj(4)p 359 2796 V 368 2796 a Fi(0oQZ0Z0Z)p -1695 2796 V 301 2909 a Fj(3)p 359 2962 V 368 2962 a Fi(Z0Z0Z0Z0)p -1695 2962 V 301 3075 a Fj(2)p 359 3128 V 368 3128 a Fi(PO0Z0ZPO)p -1695 3128 V 301 3241 a Fj(1)p 359 3294 V 368 3294 a Fi(Z0Z0S0ZK)1696 -3294 y -tx@Dict begin tx@NodeDict begin {-10.0 10.0 } false /N@BM 10 {InitPnode -} /NodeScale {} def NewNode end end - 1696 3294 a 1695 3294 9 167 v 359 3302 1345 9 -v 422 3377 a Fj(a)124 b(b)i(c)g(d)h(e)134 b(f)f(g)124 -b(h)78 b @beginspecial @setspecial - tx@Dict begin STP newpath 0.8 SLW 0 setgray tx@NodeDict begin tx@NodeDict -/N@BM known { /N@BM load GetCenter } { 0 0 } ifelse end translate 0.0 -0.0 translate 0.8 SLW 0 setgray /ArrowA { /lineto load stopped { -moveto } if } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 -1.5 2. 1. .setopacityalpha Arrow EndArrow } def [ 20.0 16.00006 -20.0 5.0 /currentpoint load stopped pop /Lineto /lineto load def -0 setlinejoin false Line 0.8 SLW 0 setgray 0. true 16.79993 -3.20007 -23.20007 3.20007 .5 Frame gsave 0.8 SLW 0 setgray 1. .setopacityalpha - 0 setlinejoin 0 setlinecap stroke grestore end - -@endspecial 150 311 -1763 4 v 150 3420 4 3111 v 1909 3420 V 150 3422 1763 -4 v 0 TeXcolorgray 2033 1037 a Fd(1)2033 1137 y(2)18 -b Fc(n)o Fh(storegame)n Fc(f)p Fh(mainline)p Fc(g)2033 -1237 y Fd(3)g Fc(n)o Fh(mainline)p Fc(f)p Fh(29.)26 b(Qc8+)p -Fc(g)2033 1336 y Fd(4)18 b Fh(On)27 b(the)h(wrong)e(trac)n(k)o(.)i -(Righ)n(t)f(is)32 b Fc(n)5 b Fh(v)-5 b(ariation)5 b Fc(f)p -Fh(29.)37 b(cxb4)27 b(Qxb4)p Fc(g)2079 1436 y Fh(\()9 -b(if)2033 1535 y Fd(5)18 b Fc(n)r Fh(con)n(tin)n(uev)-5 -b(ariation)16 b Fc(f)p Fh(29...)52 b(axb)o(4)27 b(30.)i(a)r(3!)40 -b(b)n(xa)o(3)28 b(31.)i(b)n(xa3)d(Qxa)o(3)p Fc(g)2033 -1635 y Fd(6)18 b Fh(dra)n(ws)n(\))2033 1735 y Fd(7)g -Fc(n)o Fh(restoregame)n Fc(f)o Fh(mainline)p Fc(g)27 -b(n)p Fh(hidemo)n(v)n(es)o Fc(f)p Fh(29.)f(cxb4)h(Qxb)o(4)p -Fc(g)2033 1834 y Fd(8)18 b Fc(n)5 b Fh(v)-5 b(ariationcurren)n(t)5 -b Fc(f)p Fh(30.)36 b(Qf3+)27 b(Kg)o(7)g(31.)g(Qe2)p Fc(g)f -Fh(dra)n(ws)o(,)2033 1934 y Fd(9)d Fh(since)43 b(Blac)n(k)26 -b(can')q(t)42 b(p)r(ossibly)f(build)e(up)28 b(a)g(winning)f(K)p -Fc(\000)o Fh(side)2006 2034 y Fd(10)17 b Fh(attac)n(k)34 -b(and)27 b(his)36 b(o)n(wn)27 b(king)g(is)38 b(to)f(exp)r(osed.)2006 -2133 y Fd(11)2005 2233 y(12)18 b Fc(n)o Fh(restoregame)n -Fc(f)o Fh(mainline)p Fc(g)27 b(n)p Fh(hidemo)n(v)n(es)o -Fc(f)p Fh(29.)f(Qc)o(8+)p Fc(g)2006 2332 y Fd(13)2005 -2432 y(14)18 b Fc(n)o Fh(mainline)8 b Fc(f)p Fh(29...)f(Kg)o(7)27 -b(30.)g(Qc)o(4)h(Bd8)f(31.)f(cxb4)i(axb)o(4)p Fc(g)2006 -2532 y Fd(15)17 b Fh(On)27 b Fc(n)o Fh(v)-5 b(ariation)7 -b Fc(f)p Fh(31...)44 b(Qxb)o(4)27 b(32.)g(Qe2)p Fc(g)2006 -2631 y Fd(16)17 b Fh(White)28 b(should)f(dra)n(w)g(with)h(b)r(est)g -(pla)n(y)o(.)2006 2731 y Fd(17)17 b Fa($$)p Fc(n)n Fh(sho)n(wb)r(oard)n -Fa($$)p 0 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray -0 TeXcolorgray 1892 5919 a Fh(2)p 0 TeXcolorgray eop -end -%%Trailer - -userdict /end-hook known{end-hook}if -%%EOF |