From ccfb7362e633d55206b5f6cdb66668f835625b32 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Thu, 16 Oct 2008 23:42:13 +0000 Subject: skak 1.5 (16oct08) git-svn-id: svn://tug.org/texlive/trunk@10991 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/latex/skak/README | 148 + Master/texmf-dist/doc/latex/skak/_region_.tex | 52 + .../texmf-dist/doc/latex/skak/debug_storegame.tex | 105 + .../texmf-dist/doc/latex/skak/fen_with_black.tex | 28 + Master/texmf-dist/doc/latex/skak/games.tex | 72 - Master/texmf-dist/doc/latex/skak/informator.pdf | Bin 0 -> 43911 bytes Master/texmf-dist/doc/latex/skak/informator.ps | 1224 ---- Master/texmf-dist/doc/latex/skak/informator.tex | 2 +- Master/texmf-dist/doc/latex/skak/longmoves.tex | 42 + Master/texmf-dist/doc/latex/skak/makefile | 105 + Master/texmf-dist/doc/latex/skak/readme.txt | 137 - Master/texmf-dist/doc/latex/skak/refman.pdf | Bin 0 -> 73165 bytes Master/texmf-dist/doc/latex/skak/refman.ps | 1575 ----- Master/texmf-dist/doc/latex/skak/refman.tex | 17 +- Master/texmf-dist/doc/latex/skak/skakdoc.pdf | Bin 0 -> 125892 bytes Master/texmf-dist/doc/latex/skak/skakdoc.ps | 7024 -------------------- Master/texmf-dist/doc/latex/skak/skakdoc.tex | 13 +- Master/texmf-dist/doc/latex/skak/tuggame.pdf | Bin 0 -> 80592 bytes Master/texmf-dist/doc/latex/skak/tuggame.ps | 2108 ------ Master/texmf-dist/doc/latex/skak/tuggame.tex | 152 +- Master/texmf-dist/fonts/tfm/public/skak/skak10.tfm | Bin 392 -> 328 bytes Master/texmf-dist/fonts/tfm/public/skak/skak15.tfm | Bin 392 -> 328 bytes Master/texmf-dist/fonts/tfm/public/skak/skak20.tfm | Bin 392 -> 328 bytes Master/texmf-dist/fonts/tfm/public/skak/skak30.tfm | Bin 392 -> 328 bytes .../texmf-dist/fonts/tfm/public/skak/skakf10.tfm | Bin 484 -> 420 bytes .../texmf-dist/fonts/tfm/public/skak/skakf10b.tfm | Bin 476 -> 412 bytes .../tex/latex/skak/chess-workshop-symbols.sty | 4 +- Master/texmf-dist/tex/latex/skak/pap.sty | 1572 ----- Master/texmf-dist/tex/latex/skak/skak.fd | 11 + Master/texmf-dist/tex/latex/skak/skak.sty | 295 +- Master/texmf-dist/tex/latex/skak/uskak.fd | 11 + 31 files changed, 813 insertions(+), 13884 deletions(-) create mode 100644 Master/texmf-dist/doc/latex/skak/README create mode 100644 Master/texmf-dist/doc/latex/skak/_region_.tex create mode 100644 Master/texmf-dist/doc/latex/skak/debug_storegame.tex create mode 100644 Master/texmf-dist/doc/latex/skak/fen_with_black.tex delete mode 100644 Master/texmf-dist/doc/latex/skak/games.tex create mode 100644 Master/texmf-dist/doc/latex/skak/informator.pdf delete mode 100644 Master/texmf-dist/doc/latex/skak/informator.ps create mode 100644 Master/texmf-dist/doc/latex/skak/longmoves.tex create mode 100644 Master/texmf-dist/doc/latex/skak/makefile delete mode 100644 Master/texmf-dist/doc/latex/skak/readme.txt create mode 100644 Master/texmf-dist/doc/latex/skak/refman.pdf delete mode 100644 Master/texmf-dist/doc/latex/skak/refman.ps create mode 100644 Master/texmf-dist/doc/latex/skak/skakdoc.pdf delete mode 100644 Master/texmf-dist/doc/latex/skak/skakdoc.ps create mode 100644 Master/texmf-dist/doc/latex/skak/tuggame.pdf delete mode 100644 Master/texmf-dist/doc/latex/skak/tuggame.ps delete mode 100644 Master/texmf-dist/tex/latex/skak/pap.sty create mode 100644 Master/texmf-dist/tex/latex/skak/skak.fd create mode 100644 Master/texmf-dist/tex/latex/skak/uskak.fd (limited to 'Master') diff --git a/Master/texmf-dist/doc/latex/skak/README b/Master/texmf-dist/doc/latex/skak/README new file mode 100644 index 00000000000..2df74502f6e --- /dev/null +++ b/Master/texmf-dist/doc/latex/skak/README @@ -0,0 +1,148 @@ + +Change History +============== + +Version 1.5 +----------- + +* Fixed a serioous problem with longmoves, in particular the algebraic notation. Thanks to Jernej Cop for describing the bug. + +* As part of the longmoves fix the commands \variationcurrent, \continuevariation and \continuevariationcurrent has been introduced to make writing about variations from the mainline eaiser. + +* Documented weird behaviours of \showallbut and \showonly. Thanks to Frank Mittelbach for pointing that out. + +* Documented that \showmover requires loading skak with the ps option. Thanks to Christian H. Kuhn. + +Version 1.4 +----------- +* Ulrike Fischer has created an easy access to new fonts. It is decribed in + the "Using chessfonts with skak.sty" document - ask her for the + location of the document.. + +* A new command \showallbut has been in- troduced by request from + Ulrike Fischer , it has the opposite effect to showonly, i.e., all + pieces except those listed are showed in when showing the board. + +* The engine has been rewritten so now it is possible to define + typesetting using algebraic notation derived from the moves given in + SAN notation. It is also posible to typeset e.p. after en passant moves + if one care to define that. + +* The documentation has been restructured and rewritten: + - The readme.txt file has been created to keep track of the change history + and the whis-list. + - The skakdoc.tex file has been totally rewritten; hopefully to the better. + +* A SourceForge project for skak has been created: latex-skak. The hope and + intention is to start a community for the skak package in addition to better + reporting of bugs. + +Version 1.3 +----------- +* Dirk Baechle has reworked the typesetting of chess moves: + - A new capture symbol has been introduced to make the spacing + around it better. + + - The figurine symbols have been improved so that the spacing around + them are more uniform - it looks really good now, at least to my eyes. + - A proposal for what syntax the skak package should handle in the + future has been included in the distribution. + - The Informator symbols \novelty", \comment" and \various" needed + another pair of curly braces in order to work right within the + \mainline" and \variation" environments. + - The check for trailing spaces in the macro \typeset@cmoves" had to + be removed because it led to problems at the end of a \mainline" + or \variation" environment when an additional Informator symbol + was involved. + +* A reference to the pgn2ltx tool created by Dirk Bachle has been + added to the document. + +* A reference to an URL decribing the PGN standard has been added. + +Version 1.2 +----------- + +* Dirk Baechle has - once again - done a great job: + - the informator symbols have been improved and now scale as they + should (I have in the same go done some Metafont clean-up associated + with the symbols). + - he has also discovered that the selection of other fonts for the + typesetting of moves can be done by redefining the \skakfamily + command! + - added the \movecomment for flexible typesetting of comments - + see the Reference Manual for details. + - The PostScript file are now 10 times smaller (for large files) and + a comprehensive test of the PostScript ornaments has been created. + +* All dead code has been removed from skak.sty. + +Version 1.1 +----------- + +* Dirk Baechle 's enhancements have been incorporated: + - extension of the \highlight command; it now accepts X, x, O and + o as optional arguments a cross and a circle on the square, respectively, + instead of a frame around the square. + - unwanted generation of spaces removed. + - a set of Informator symbols were added to the fonts and made + available through commands documented in the informator.ps file. + +* Two fixes by Ulrike Fischer have been incorporated: + - a bug in \ParseCoordinates. + - a problem in the fonts regarding size. + +* Ulrike Fischer reported a problem with opening spaces causing the + input to be ignored - this has been fixed and test/test2.tex + verifies this. + +Version 1.0 +----------- + +The major novelty in this release is that the documentation has been +updated and a reference manual has been created. + + + +Future Additions/Wish-list +========================== + +Choosing Language for mainline +------------------------------ +(Proposal date: mid 2002.) + +It would be nice if one could choose the language for the mainline, +variation and \hidemoves for each invocation as it allows for easier +inclusion of analysis from chess programs when using a non-english +language. + + +Optimisation of the Implementation +---------------------------------- +(Proposal date: 2-Jan-2003.) + +I would like to improve some areas of the im- +plementation since they are unnecessary slow +and/or complicated, e.g., \IsPieceName could +easily be implemented as a case statement in- +stead of a list look-up. I have a strong feeling +that this would be a lot faster than the current +implementation which has a very functional pro- +gramming flavour --- this was very helpful during +the development, but it has a tendency to be a +bit inefficient. + + +Test Suite +---------- +(Proposal date: 03-Jan-2003.) +It would be a very good idea to create a test +suite created using normal testing techniques. +Areas of test should include: + +* resolving ambiguous moves, i.e., ensuring +that moves like Rad1 moves the right rook. + +* all legal SAN moves are accepted. + + diff --git a/Master/texmf-dist/doc/latex/skak/_region_.tex b/Master/texmf-dist/doc/latex/skak/_region_.tex new file mode 100644 index 00000000000..8cb7c0d4bae --- /dev/null +++ b/Master/texmf-dist/doc/latex/skak/_region_.tex @@ -0,0 +1,52 @@ +\message{ !name(longmoves.tex)}\documentclass[11pt,a4paper]{book} +% + +\usepackage{skak} +%\usepackage{texmate} +%\usepackage{chessboard} +% + + +\begin{document} + +\message{ !name(longmoves.tex) !offset(-3) } + +\pagestyle{headings} + +\styleC + +\chapter*{} + +\section*{8.\ partija\\ +DAMIN GAMBIT. TARRASCHEVA OBRAMBA} +{\tiny\bf Igrana 26. julija 1906. leta v Nurnbergu} +%% +%\newchessgame[id=Vidmar_8, +%white={M. Vidmar}, +%black={dr. S. Tarrasch}, +%result={1-0}] +%% +%\begin{center} +%{\em\xskakgetgame{white}\ ---\ \xskakgetgame{black}} +%\end{center} + +\newgame\longmoves +\mainline{1.d4 d5 2.c4 e6 3.Nc3 c5} +% + +basuhsa +(\variation{3... Nf6}) +nezadostna in da rni proti daminemu +gambitu ne more dovolj zgodaj igrati \wmove{c7—c5}. To obrambno potezo je poskušal celo kot odgovor na 2. c2—c4, potem pa se je z njo utaboril +v tretjem poteznem paru. Njegov veliki sloves je njegovi obrambi dajal +odgovarjal +\variation{4.e3}. +Nazadnje pa je A. Rubinstein n pravo pot: +\variation{4. cxd5 exd5 5. Nf3 Nf6 6. g3 Nc6 7. Bg2 Be7 8.O-O O-O}. +V tej varianti ima črni nedvomno teave, ki so gotovo nekoliko veje od teav v +ortodoksni obrambi dami-nega gambita. Toda Tarrasch jih nikoli ni priznal. Tarrasch tudi ni nikoli popolnoma razumel svojega velikega +učenca Rubinsteina. Ta veliki mojster je bil namreč nesporno eden izmed vodilnih pionirjev hipermoderne ole, in Reti ter Nimcovi, +priznana ustanovitelja te ole, mu ne moreta krajšati ustreznih zaslug. + +\end{document} +\message{ !name(longmoves.tex) !offset(-52) } diff --git a/Master/texmf-dist/doc/latex/skak/debug_storegame.tex b/Master/texmf-dist/doc/latex/skak/debug_storegame.tex new file mode 100644 index 00000000000..bccd6f3e7a2 --- /dev/null +++ b/Master/texmf-dist/doc/latex/skak/debug_storegame.tex @@ -0,0 +1,105 @@ + + +\documentclass[10pt]{article} + +\usepackage[ps,mover]{skak} + +\title{Ensure that storegame stores the full game} +\author{Torben Hoffmann } + +\begin{document} + +\parindent=0pt + +\maketitle + + + +\newgame +\mainline{1. d4 d5} + +\boardasfen + +\storegame{game1} +\restoregame{game1} + +\boardasfen + +\showboard + +\mainline{2. Nc3 Nc6 3. Bg5 Bd7} + +\showboard + +\boardasfen + +%\restoregame{skak.mainline.previous} + +\boardasfen + +\variation{3...f6} + +\mainline{4.e4} + +\showboard + +\section{Next} + +\newgame +\mainline{1.e4 e5 2. Nf3 Nc6 3.Bb5} +\storegame{game1} + +\showboard +\boardasfen + +\mainline{3...a6 4.Ba4 b5} + +\showboard +\restoregame{game1} + +\showboard +\boardasfen + +Move number: \arabic{move}. + + + + +\mainline{3...Bd7} +\showboard + +\section{tuggame} + +\fenboard{1q3kr1/3rb2p/p3Q3/8/% +1p6/8/PPP3PP/4R2K w - - 0 26} + +\showboard + +\mainline{26. Qxd7} + +\showboard + +Not \variation{26. Rf1+ Kg7 27. Rf7+ +Kh8} + +%\variation{26. Rf1+} + +\showboard + +% \variationcurrent{26...Qa7} + +% \showboard + +and if \continuevariationcurrent{28. Qxd7 Rd8 29. Qg4 Qe5} +wins. + +\showboard + + +\end{document} + + + + + + diff --git a/Master/texmf-dist/doc/latex/skak/fen_with_black.tex b/Master/texmf-dist/doc/latex/skak/fen_with_black.tex new file mode 100644 index 00000000000..f874af38711 --- /dev/null +++ b/Master/texmf-dist/doc/latex/skak/fen_with_black.tex @@ -0,0 +1,28 @@ + + +\documentclass[11pt,twocolumn]{article} + +\usepackage[ps,mover]{skak} + +\title{Fen with black to move} +\author{Torben Hoffmann } + +\begin{document} + +\parindent=0pt + +\maketitle + +\newgame +\fenboard{1k6/4K3/8/1B1N4/8/8/8/8 b - - 0 1} +\showboard +\mainline{1...Ka7 2. Kd7 Kb7 3. Kd8 Kb8 4. Ba6} +\showboard + +\end{document} + + + + + + diff --git a/Master/texmf-dist/doc/latex/skak/games.tex b/Master/texmf-dist/doc/latex/skak/games.tex deleted file mode 100644 index 67dcb264cc5..00000000000 --- a/Master/texmf-dist/doc/latex/skak/games.tex +++ /dev/null @@ -1,72 +0,0 @@ -\documentclass[german, twocolumn,a4paper,twoside,10pt]{article} - -\usepackage{skak} -\usepackage{babel} -\newcommand{\chessgame}[4]{ - \begin{center} - \large{\textbf{#1} -- \textbf{#2}} - - \textsf{#3} - - \small{\textsc{#4}} - \end{center} -} - -\title{Tournament} -\author{Franz Meier} -\begin{document} - -\maketitle - -\chessgame{Hans Schulze}{Franz Meier}{Tournament, 2002}{} -\styleB -\newgame -\mainline{1. d4 d5 2. Nf3 Nf6 3.Bf4 c5 4.e3 Nc6 5.c3} -\[\showboard\] - -\chessgame{Franz Meier}{Gustav Frank}{Tournament, 2002}{K\"{o}nigsindisch} -\styleB -\newgame -\mainline{1. Nf3 Nf6 2. c4 g6 3. Nc3 Bg7 4. e4 d6 5. d4 O-O 6. Be2 e5 7. O-O Nc6 8. d5 Ne7 9. b4 a5 10. Ba3 Nd7 11. bxa5 Rxa5 12. Bb4 Ra8 13. a4 Bh6 14. a5 f5 15. Nd2 Nf6 16.c5 Bxd2 17.Qxd2 fxe4} -\[\showboard\] - - -\chessgame{John Bauer}{Franz Meier}{Tournament, 2002}{Caro-Kann} -\styleB -\newgame -\mainline{1.e4 c6 2.d4 d5 3.Nc3 dxe4 4.Nxe4 Nd7 5.Ng5 Ngf6 6.Bd3 e6 7.N1f3 Bd6 8.Qe2 h6 9.Ne4} -\[\showboard\] - -\chessgame{Franz Meier}{Karl Adams}{Tournament, 2002}{} -\styleB -\newgame -\mainline{1.Nf3 Nf6 2.c4 e6 3.Nc3 d5 4.d4 c6 5.e3 Nbd7} -\[\showboard\] - -\chessgame{Christian Klaus}{Franz Meier}{Tournament, 2002}{} -\styleB -\newgame -\mainline{1.e4 c6 2.d4 d5 3.e5 Bf5 4.Bd3 Bxd3} -\[\showboard\] - -\chessgame{Franz Meier}{Norbert Ludwig}{Tournament, 2002}{Englisch 1. $\dots$ c5} -\styleB -\newgame -\mainline{1.Nf3 c5 2.c4 Nf6 3.Nc3 Nc6 4.g3 d5 5.d4 cxd4 6.Nxd4 dxc4 7.Nxc6 Qxd1+ 8.Nxd1 bxc6 9.Bg2 Nd5 10.Ne3 e6 11.Nxc4 Ba6 12.Na5 Bb4+ 13.Bd2 Bxa5 14.Bxa5 Rb8 -15.b3 Ke7} -\[\showboard\] - -\chessgame{Dieter Klose}{Franz Meier}{Tournament, 2002}{Caro-Kann} -\styleB -\newgame -\mainline{1.e4 c6 2.d4 d5 3.exd5 cxd5 4.c4 Nf6 5.Nc3 e6 6.Nf3 Bb4 7.cxd5 Nxd5 8.Bd2 Nc6 9.Bd3 O-O 10.O-O Be7} -\[\showboard\] - -\chessgame{Franz Meier}{Karl Eich}{Tournament, 2002}{} -\styleB -\newgame -\mainline{1.Nf3 Nf6 2.c4 b6 3.g3 c5 4.Bg2 Bb7 5.O-O} -\[\showboard\] - -\end{document} - diff --git a/Master/texmf-dist/doc/latex/skak/informator.pdf b/Master/texmf-dist/doc/latex/skak/informator.pdf new file mode 100644 index 00000000000..cb46461d130 Binary files /dev/null and b/Master/texmf-dist/doc/latex/skak/informator.pdf differ diff --git a/Master/texmf-dist/doc/latex/skak/informator.ps b/Master/texmf-dist/doc/latex/skak/informator.ps deleted file mode 100644 index 101243e1e67..00000000000 --- a/Master/texmf-dist/doc/latex/skak/informator.ps +++ /dev/null @@ -1,1224 +0,0 @@ -%!PS-Adobe-2.0 -%%Creator: dvips(k) 5.86f Copyright 2001 Radical Eye Software -%%Title: informator.dvi -%%Pages: 1 -%%PageOrder: Ascend -%%BoundingBox: 0 0 596 842 -%%DocumentPaperSizes: a4 -%%EndComments -%DVIPSWebPage: (www.radicaleye.com) -%DVIPSCommandLine: dvips informator.dvi -%DVIPSParameters: dpi=600, compressed -%DVIPSSource: TeX output 2004.07.21:2013 -%%BeginProcSet: texc.pro -%! -/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/id 0 N/rw 0 N/rc 0 N/gp 0 N/cp 0 N/G 0 N/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]/id Ci N/rw Cw 7 add 8 idiv string N/rc 0 N/gp 0 N/cp 0 N{ -rc 0 ne{rc 1 sub/rc X rw}{G}ifelse}imagemask restore}B/G{{id gp get/gp -gp 1 add N A 18 mod S 18 idiv pl S get exec}loop}B/adv{cp add/cp X}B -/chg{rw cp id gp 4 index getinterval putinterval A gp add/gp X adv}B/nd{ -/cp 0 N rw exit}B/lsh{rw cp 2 copy get A 0 eq{pop 1}{A 255 eq{pop 254}{ -A A add 255 and S 1 and or}ifelse}ifelse put 1 adv}B/rsh{rw cp 2 copy -get A 0 eq{pop 128}{A 255 eq{pop 127}{A 2 idiv S 128 and or}ifelse} -ifelse put 1 adv}B/clr{rw cp 2 index string putinterval adv}B/set{rw cp -fillstr 0 4 index getinterval putinterval adv}B/fillstr 18 string 0 1 17 -{2 copy 255 put pop}for N/pl[{adv 1 chg}{adv 1 chg nd}{1 add chg}{1 add -chg nd}{adv lsh}{adv lsh nd}{adv rsh}{adv rsh nd}{1 add adv}{/rc X nd}{ -1 add set}{1 add clr}{adv 2 chg}{adv 2 chg nd}{pop nd}]A{bind pop} -forall N/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn -/BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put -}if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{ -bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A -mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{ -SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{ -userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X -1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4 -index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N -/p{show}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 N/Ry 0 N/V{}B/RV/v{ -/Ry X/Rx X V}B statusdict begin/product where{pop false[(Display)(NeXT) -(LaserWriter 16/600)]{A length product length le{A length product exch 0 -exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}ifelse -end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{BDot}imagemask -grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat{BDot} -imagemask grestore}}ifelse B/QV{gsave newpath transform round exch round -exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 rlineto -fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B/M{S p -delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M}B/g{0 M} -B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p -3 w}B/n{ -p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{0 S -rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end - -%%EndProcSet -%%BeginProcSet: pstricks.pro -%! -% PostScript prologue for pstricks.tex. -% Version 97 patch 3, 98/06/01 -% For distribution, see pstricks.tex. -% -/tx@Dict 200 dict def tx@Dict begin -/ADict 25 dict def -/CM { matrix currentmatrix } bind def -/SLW /setlinewidth load def -/CLW /currentlinewidth load def -/CP /currentpoint load def -/ED { exch def } bind def -/L /lineto load def -/T /translate load def -/TMatrix { } def -/RAngle { 0 } def -/Atan { /atan load stopped { pop pop 0 } if } def -/Div { dup 0 eq { pop } { div } ifelse } def -/NET { neg exch neg exch T } def -/Pyth { dup mul exch dup mul add sqrt } def -/PtoC { 2 copy cos mul 3 1 roll sin mul } def -/PathLength@ { /z z y y1 sub x x1 sub Pyth add def /y1 y def /x1 x def } -def -/PathLength { flattenpath /z 0 def { /y1 ED /x1 ED /y2 y1 def /x2 x1 def -} { /y ED /x ED PathLength@ } {} { /y y2 def /x x2 def PathLength@ } -/pathforall load stopped { pop pop pop pop } if z } def -/STP { .996264 dup scale } def -/STV { SDict begin normalscale end STP } def -/DashLine { dup 0 gt { /a .5 def PathLength exch div } { pop /a 1 def -PathLength } ifelse /b ED /x ED /y ED /z y x add def b a .5 sub 2 mul y -mul sub z Div round z mul a .5 sub 2 mul y mul add b exch Div dup y mul -/y ED x mul /x ED x 0 gt y 0 gt and { [ y x ] 1 a sub y mul } { [ 1 0 ] -0 } ifelse setdash stroke } def -/DotLine { /b PathLength def /a ED /z ED /y CLW def /z y z add def a 0 gt -{ /b b a div def } { a 0 eq { /b b y sub def } { a -3 eq { /b b y add -def } if } ifelse } ifelse [ 0 b b z Div round Div dup 0 le { pop 1 } if -] a 0 gt { 0 } { y 2 div a -2 gt { neg } if } ifelse setdash 1 -setlinecap stroke } def -/LineFill { gsave abs CLW add /a ED a 0 dtransform round exch round exch -2 copy idtransform exch Atan rotate idtransform pop /a ED .25 .25 -% DG/SR modification begin - Dec. 12, 1997 - Patch 2 -%itransform translate pathbbox /y2 ED a Div ceiling cvi /x2 ED /y1 ED a -itransform pathbbox /y2 ED a Div ceiling cvi /x2 ED /y1 ED a -% DG/SR modification end -Div cvi /x1 ED /y2 y2 y1 sub def clip newpath 2 setlinecap systemdict -/setstrokeadjust known { true setstrokeadjust } if x2 x1 sub 1 add { x1 -% DG/SR modification begin - Jun. 1, 1998 - Patch 3 (from Michael Vulis) -% a mul y1 moveto 0 y2 rlineto stroke /x1 x1 1 add def } repeat grestore } -% def -a mul y1 moveto 0 y2 rlineto stroke /x1 x1 1 add def } repeat grestore -pop pop } def -% DG/SR modification end -/BeginArrow { ADict begin /@mtrx CM def gsave 2 copy T 2 index sub neg -exch 3 index sub exch Atan rotate newpath } def -/EndArrow { @mtrx setmatrix CP grestore end } def -/Arrow { CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 -scale } if w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill -grestore } def -/Tbar { CLW mul add /z ED z -2 div CLW 2 div moveto z 0 rlineto stroke 0 -CLW moveto } def -/Bracket { CLW mul add dup CLW sub 2 div /x ED mul CLW add /y ED /z CLW 2 -div def x neg y moveto x neg CLW 2 div L x CLW 2 div L x y L stroke 0 -CLW moveto } def -/RoundBracket { CLW mul add dup 2 div /x ED mul /y ED /mtrx CM def 0 CLW -2 div T x y mul 0 ne { x y scale } if 1 1 moveto .85 .5 .35 0 0 0 -curveto -.35 0 -.85 .5 -1 1 curveto mtrx setmatrix stroke 0 CLW moveto } -def -/SD { 0 360 arc fill } def -/EndDot { { /z DS def } { /z 0 def } ifelse /b ED 0 z DS SD b { 0 z DS -CLW sub SD } if 0 DS z add CLW 4 div sub moveto } def -/Shadow { [ { /moveto load } { /lineto load } { /curveto load } { -/closepath load } /pathforall load stopped { pop pop pop pop CP /moveto -load } if ] cvx newpath 3 1 roll T exec } def -/NArray { aload length 2 div dup dup cvi eq not { exch pop } if /n exch -cvi def } def -/NArray { /f ED counttomark 2 div dup cvi /n ED n eq not { exch pop } if -f { ] aload /Points ED } { n 2 mul 1 add -1 roll pop } ifelse } def -/Line { NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if ArrowA /n n 2 sub -def n { Lineto } repeat CP 4 2 roll ArrowB L pop pop } if } def -/Arcto { /a [ 6 -2 roll ] cvx def a r /arcto load stopped { 5 } { 4 } -ifelse { pop } repeat a } def -/CheckClosed { dup n 2 mul 1 sub index eq 2 index n 2 mul 1 add index eq -and { pop pop /n n 1 sub def } if } def -/Polygon { NArray n 2 eq { 0 0 /n 3 def } if n 3 lt { n { pop pop } -repeat } { n 3 gt { CheckClosed } if n 2 mul -2 roll /y0 ED /x0 ED /y1 -ED /x1 ED x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 -moveto /n n 2 sub def n { Lineto } repeat x1 y1 x0 y0 6 4 roll Lineto -Lineto pop pop closepath } ifelse } def -/Diamond { /mtrx CM def T rotate /h ED /w ED dup 0 eq { pop } { CLW mul -neg /d ED /a w h Atan def /h d a sin Div h add def /w d a cos Div w add -def } ifelse mark w 2 div h 2 div w 0 0 h neg w neg 0 0 h w 2 div h 2 -div /ArrowA { moveto } def /ArrowB { } def false Line closepath mtrx -setmatrix } def -% DG modification begin - Jan. 15, 1997 -%/Triangle { /mtrx CM def translate rotate /h ED 2 div /w ED dup 0 eq { -%pop } { CLW mul /d ED /h h d w h Atan sin Div sub def /w w d h w Atan 2 -%div dup cos exch sin Div mul sub def } ifelse mark 0 d w neg d 0 h w d 0 -%d /ArrowA { moveto } def /ArrowB { } def false Line closepath mtrx -%setmatrix } def -/Triangle { /mtrx CM def translate rotate /h ED 2 div /w ED dup -CLW mul /d ED /h h d w h Atan sin Div sub def /w w d h w Atan 2 -div dup cos exch sin Div mul sub def mark 0 d w neg d 0 h w d 0 -d /ArrowA { moveto } def /ArrowB { } def false Line closepath mtrx -% DG/SR modification begin - Jun. 1, 1998 - Patch 3 (from Michael Vulis) -% setmatrix } def -setmatrix pop } def -% DG/SR modification end -/CCA { /y ED /x ED 2 copy y sub /dy1 ED x sub /dx1 ED /l1 dx1 dy1 Pyth -def } def -/CCA { /y ED /x ED 2 copy y sub /dy1 ED x sub /dx1 ED /l1 dx1 dy1 Pyth -def } def -/CC { /l0 l1 def /x1 x dx sub def /y1 y dy sub def /dx0 dx1 def /dy0 dy1 -def CCA /dx dx0 l1 c exp mul dx1 l0 c exp mul add def /dy dy0 l1 c exp -mul dy1 l0 c exp mul add def /m dx0 dy0 Atan dx1 dy1 Atan sub 2 div cos -abs b exp a mul dx dy Pyth Div 2 div def /x2 x l0 dx mul m mul sub def -/y2 y l0 dy mul m mul sub def /dx l1 dx mul m mul neg def /dy l1 dy mul -m mul neg def } def -/IC { /c c 1 add def c 0 lt { /c 0 def } { c 3 gt { /c 3 def } if } -ifelse /a a 2 mul 3 div 45 cos b exp div def CCA /dx 0 def /dy 0 def } -def -/BOC { IC CC x2 y2 x1 y1 ArrowA CP 4 2 roll x y curveto } def -/NC { CC x1 y1 x2 y2 x y curveto } def -/EOC { x dx sub y dy sub 4 2 roll ArrowB 2 copy curveto } def -/BAC { IC CC x y moveto CC x1 y1 CP ArrowA } def -/NAC { x2 y2 x y curveto CC x1 y1 } def -/EAC { x2 y2 x y ArrowB curveto pop pop } def -/OpenCurve { NArray n 3 lt { n { pop pop } repeat } { BOC /n n 3 sub def -n { NC } repeat EOC } ifelse } def -/AltCurve { { false NArray n 2 mul 2 roll [ n 2 mul 3 sub 1 roll ] aload -/Points ED n 2 mul -2 roll } { false NArray } ifelse n 4 lt { n { pop -pop } repeat } { BAC /n n 4 sub def n { NAC } repeat EAC } ifelse } def -/ClosedCurve { NArray n 3 lt { n { pop pop } repeat } { n 3 gt { -CheckClosed } if 6 copy n 2 mul 6 add 6 roll IC CC x y moveto n { NC } -repeat closepath pop pop } ifelse } def -/SQ { /r ED r r moveto r r neg L r neg r neg L r neg r L fill } def -/ST { /y ED /x ED x y moveto x neg y L 0 x L fill } def -/SP { /r ED gsave 0 r moveto 4 { 72 rotate 0 r L } repeat fill grestore } -def -/FontDot { DS 2 mul dup matrix scale matrix concatmatrix exch matrix -rotate matrix concatmatrix exch findfont exch makefont setfont } def -/Rect { x1 y1 y2 add 2 div moveto x1 y2 lineto x2 y2 lineto x2 y1 lineto -x1 y1 lineto closepath } def -/OvalFrame { x1 x2 eq y1 y2 eq or { pop pop x1 y1 moveto x2 y2 L } { y1 -y2 sub abs x1 x2 sub abs 2 copy gt { exch pop } { pop } ifelse 2 div -exch { dup 3 1 roll mul exch } if 2 copy lt { pop } { exch pop } ifelse -/b ED x1 y1 y2 add 2 div moveto x1 y2 x2 y2 b arcto x2 y2 x2 y1 b arcto -x2 y1 x1 y1 b arcto x1 y1 x1 y2 b arcto 16 { pop } repeat closepath } -ifelse } def -/Frame { CLW mul /a ED 3 -1 roll 2 copy gt { exch } if a sub /y2 ED a add -/y1 ED 2 copy gt { exch } if a sub /x2 ED a add /x1 ED 1 index 0 eq { -pop pop Rect } { OvalFrame } ifelse } def -/BezierNArray { /f ED counttomark 2 div dup cvi /n ED n eq not { exch pop -} if n 1 sub neg 3 mod 3 add 3 mod { 0 0 /n n 1 add def } repeat f { ] -aload /Points ED } { n 2 mul 1 add -1 roll pop } ifelse } def -/OpenBezier { BezierNArray n 1 eq { pop pop } { ArrowA n 4 sub 3 idiv { 6 -2 roll 4 2 roll curveto } repeat 6 2 roll 4 2 roll ArrowB curveto } -ifelse } def -/ClosedBezier { BezierNArray n 1 eq { pop pop } { moveto n 1 sub 3 idiv { -6 2 roll 4 2 roll curveto } repeat closepath } ifelse } def -/BezierShowPoints { gsave Points aload length 2 div cvi /n ED moveto n 1 -sub { lineto } repeat CLW 2 div SLW [ 4 4 ] 0 setdash stroke grestore } -def -/Parab { /y0 exch def /x0 exch def /y1 exch def /x1 exch def /dx x0 x1 -sub 3 div def /dy y0 y1 sub 3 div def x0 dx sub y0 dy add x1 y1 ArrowA -x0 dx add y0 dy add x0 2 mul x1 sub y1 ArrowB curveto /Points [ x1 y1 x0 -y0 x0 2 mul x1 sub y1 ] def } def -/Grid { newpath /a 4 string def /b ED /c ED /n ED cvi dup 1 lt { pop 1 } -if /s ED s div dup 0 eq { pop 1 } if /dy ED s div dup 0 eq { pop 1 } if -/dx ED dy div round dy mul /y0 ED dx div round dx mul /x0 ED dy div -round cvi /y2 ED dx div round cvi /x2 ED dy div round cvi /y1 ED dx div -round cvi /x1 ED /h y2 y1 sub 0 gt { 1 } { -1 } ifelse def /w x2 x1 sub -0 gt { 1 } { -1 } ifelse def b 0 gt { /z1 b 4 div CLW 2 div add def -/Helvetica findfont b scalefont setfont /b b .95 mul CLW 2 div add def } -if systemdict /setstrokeadjust known { true setstrokeadjust /t { } def } -{ /t { transform 0.25 sub round 0.25 add exch 0.25 sub round 0.25 add -exch itransform } bind def } ifelse gsave n 0 gt { 1 setlinecap [ 0 dy n -div ] dy n div 2 div setdash } { 2 setlinecap } ifelse /i x1 def /f y1 -dy mul n 0 gt { dy n div 2 div h mul sub } if def /g y2 dy mul n 0 gt { -dy n div 2 div h mul add } if def x2 x1 sub w mul 1 add dup 1000 gt { -pop 1000 } if { i dx mul dup y0 moveto b 0 gt { gsave c i a cvs dup -stringwidth pop /z2 ED w 0 gt {z1} {z1 z2 add neg} ifelse h 0 gt {b neg} -{z1} ifelse rmoveto show grestore } if dup t f moveto g t L stroke /i i -w add def } repeat grestore gsave n 0 gt -% DG/SR modification begin - Nov. 7, 1997 - Patch 1 -%{ 1 setlinecap [ 0 dx n div ] dy n div 2 div setdash } -{ 1 setlinecap [ 0 dx n div ] dx n div 2 div setdash } -% DG/SR modification end -{ 2 setlinecap } ifelse /i y1 def /f x1 dx mul -n 0 gt { dx n div 2 div w mul sub } if def /g x2 dx mul n 0 gt { dx n -div 2 div w mul add } if def y2 y1 sub h mul 1 add dup 1000 gt { pop -1000 } if { newpath i dy mul dup x0 exch moveto b 0 gt { gsave c i a cvs -dup stringwidth pop /z2 ED w 0 gt {z1 z2 add neg} {z1} ifelse h 0 gt -{z1} {b neg} ifelse rmoveto show grestore } if dup f exch t moveto g -exch t L stroke /i i h add def } repeat grestore } def -/ArcArrow { /d ED /b ED /a ED gsave newpath 0 -1000 moveto clip newpath 0 -1 0 0 b grestore c mul /e ED pop pop pop r a e d PtoC y add exch x add -exch r a PtoC y add exch x add exch b pop pop pop pop a e d CLW 8 div c -mul neg d } def -/Ellipse { /mtrx CM def T scale 0 0 1 5 3 roll arc mtrx setmatrix } def -/Rot { CP CP translate 3 -1 roll neg rotate NET } def -/RotBegin { tx@Dict /TMatrix known not { /TMatrix { } def /RAngle { 0 } -def } if /TMatrix [ TMatrix CM ] cvx def /a ED a Rot /RAngle [ RAngle -dup a add ] cvx def } def -/RotEnd { /TMatrix [ TMatrix setmatrix ] cvx def /RAngle [ RAngle pop ] -cvx def } def -/PutCoor { gsave CP T CM STV exch exec moveto setmatrix CP grestore } def -/PutBegin { /TMatrix [ TMatrix CM ] cvx def CP 4 2 roll T moveto } def -/PutEnd { CP /TMatrix [ TMatrix setmatrix ] cvx def moveto } def -/Uput { /a ED add 2 div /h ED 2 div /w ED /s a sin def /c a cos def /b s -abs c abs 2 copy gt dup /q ED { pop } { exch pop } ifelse def /w1 c b -div w mul def /h1 s b div h mul def q { w1 abs w sub dup c mul abs } { -h1 abs h sub dup s mul abs } ifelse } def -/UUput { /z ED abs /y ED /x ED q { x s div c mul abs y gt } { x c div s -mul abs y gt } ifelse { x x mul y y mul sub z z mul add sqrt z add } { q -{ x s div } { x c div } ifelse abs } ifelse a PtoC h1 add exch w1 add -exch } def -/BeginOL { dup (all) eq exch TheOL eq or { IfVisible not { Visible -/IfVisible true def } if } { IfVisible { Invisible /IfVisible false def -} if } ifelse } def -/InitOL { /OLUnit [ 3000 3000 matrix defaultmatrix dtransform ] cvx def -/Visible { CP OLUnit idtransform T moveto } def /Invisible { CP OLUnit -neg exch neg exch idtransform T moveto } def /BOL { BeginOL } def -/IfVisible true def } def -end -% END pstricks.pro - -%%EndProcSet -%%BeginProcSet: pst-dots.pro -%!PS-Adobe-2.0 -%%Title: Dot Font for PSTricks -%%Creator: Timothy Van Zandt -%%Creation Date: May 7, 1993 -%% Version 97 patch 1, 99/12/16 -%% Modified by Etienne Riga - Dec. 16, 1999 -%% to add /Diamond, /SolidDiamond and /BoldDiamond -10 dict dup begin - /FontType 3 def - /FontMatrix [ .001 0 0 .001 0 0 ] def - /FontBBox [ 0 0 0 0 ] def - /Encoding 256 array def - 0 1 255 { Encoding exch /.notdef put } for - Encoding - dup (b) 0 get /Bullet put - dup (c) 0 get /Circle put - dup (C) 0 get /BoldCircle put - dup (u) 0 get /SolidTriangle put - dup (t) 0 get /Triangle put - dup (T) 0 get /BoldTriangle put - dup (r) 0 get /SolidSquare put - dup (s) 0 get /Square put - dup (S) 0 get /BoldSquare put - dup (q) 0 get /SolidPentagon put - dup (p) 0 get /Pentagon put - dup (P) 0 get /BoldPentagon put -% DG/SR modification begin - Dec. 16, 1999 - From Etienne Riga - dup (l) 0 get /SolidDiamond put - dup (d) 0 get /Diamond put - (D) 0 get /BoldDiamond put -% DG/SR modification end - /Metrics 13 dict def - Metrics begin - /Bullet 1000 def - /Circle 1000 def - /BoldCircle 1000 def - /SolidTriangle 1344 def - /Triangle 1344 def - /BoldTriangle 1344 def - /SolidSquare 886 def - /Square 886 def - /BoldSquare 886 def - /SolidPentagon 1093.2 def - /Pentagon 1093.2 def - /BoldPentagon 1093.2 def -% DG/SR modification begin - Dec. 16, 1999 - From Etienne Riga - /SolidDiamond 1008 def - /Diamond 1008 def - /BoldDiamond 1008 def -% DG/SR modification end - /.notdef 0 def - end - /BBoxes 13 dict def - BBoxes begin - /Circle { -550 -550 550 550 } def - /BoldCircle /Circle load def - /Bullet /Circle load def - /Triangle { -571.5 -330 571.5 660 } def - /BoldTriangle /Triangle load def - /SolidTriangle /Triangle load def - /Square { -450 -450 450 450 } def - /BoldSquare /Square load def - /SolidSquare /Square load def - /Pentagon { -546.6 -465 546.6 574.7 } def - /BoldPentagon /Pentagon load def - /SolidPentagon /Pentagon load def -% DG/SR modification begin - Dec. 16, 1999 - From Etienne Riga - /Diamond { -428.5 -742.5 428.5 742.5 } def - /BoldDiamond /Diamond load def - /SolidDiamond /Diamond load def -% DG/SR modification end - /.notdef { 0 0 0 0 } def - end - /CharProcs 20 dict def - CharProcs begin - /Adjust { - 2 copy dtransform floor .5 add exch floor .5 add exch idtransform - 3 -1 roll div 3 1 roll exch div exch scale - } def - /CirclePath { 0 0 500 0 360 arc closepath } def - /Bullet { 500 500 Adjust CirclePath fill } def - /Circle { 500 500 Adjust CirclePath .9 .9 scale CirclePath - eofill } def - /BoldCircle { 500 500 Adjust CirclePath .8 .8 scale CirclePath - eofill } def - /BoldCircle { CirclePath .8 .8 scale CirclePath eofill } def - /TrianglePath { 0 660 moveto -571.5 -330 lineto 571.5 -330 lineto - closepath } def - /SolidTriangle { TrianglePath fill } def - /Triangle { TrianglePath .85 .85 scale TrianglePath eofill } def - /BoldTriangle { TrianglePath .7 .7 scale TrianglePath eofill } def - /SquarePath { -450 450 moveto 450 450 lineto 450 -450 lineto - -450 -450 lineto closepath } def - /SolidSquare { SquarePath fill } def - /Square { SquarePath .89 .89 scale SquarePath eofill } def - /BoldSquare { SquarePath .78 .78 scale SquarePath eofill } def - /PentagonPath { - -337.8 -465 moveto - 337.8 -465 lineto - 546.6 177.6 lineto - 0 574.7 lineto - -546.6 177.6 lineto - closepath - } def - /SolidPentagon { PentagonPath fill } def - /Pentagon { PentagonPath .89 .89 scale PentagonPath eofill } def - /BoldPentagon { PentagonPath .78 .78 scale PentagonPath eofill } def -% DG/SR modification begin - Dec. 16, 1999 - From Etienne Riga - /DiamondPath { 0 742.5 moveto -428.5 0 lineto 0 -742.5 lineto - 428.5 0 lineto closepath } def - /SolidDiamond { DiamondPath fill } def - /Diamond { DiamondPath .85 .85 scale DiamondPath eofill } def - /BoldDiamond { DiamondPath .7 .7 scale DiamondPath eofill } def -% DG/SR modification end - /.notdef { } def - end - /BuildGlyph { - exch - begin - Metrics 1 index get exec 0 - BBoxes 3 index get exec - setcachedevice - CharProcs begin load exec end - end - } def - /BuildChar { - 1 index /Encoding get exch get - 1 index /BuildGlyph get exec - } bind def -end -/PSTricksDotFont exch definefont pop -%END pst-dots.pro - -%%EndProcSet -%%BeginProcSet: pst-node.pro -%! -% PostScript prologue for pst-node.tex. -% Version 97 patch 1, 97/05/09. -% For distribution, see pstricks.tex. -% -/tx@NodeDict 400 dict def tx@NodeDict begin -tx@Dict begin /T /translate load def end -/NewNode { gsave /next ED dict dup 3 1 roll def exch { dup 3 1 roll def } -if begin tx@Dict begin STV CP T exec end /NodeMtrx CM def next end -grestore } def -/InitPnode { /Y ED /X ED /NodePos { NodeSep Cos mul NodeSep Sin mul } def -} def -/InitCnode { /r ED /Y ED /X ED /NodePos { NodeSep r add dup Cos mul exch -Sin mul } def } def -/GetRnodePos { Cos 0 gt { /dx r NodeSep add def } { /dx l NodeSep sub def -} ifelse Sin 0 gt { /dy u NodeSep add def } { /dy d NodeSep sub def } -ifelse dx Sin mul abs dy Cos mul abs gt { dy Cos mul Sin div dy } { dx -dup Sin mul Cos Div } ifelse } def -/InitRnode { /Y ED /X ED X sub /r ED /l X neg def Y add neg /d ED Y sub -/u ED /NodePos { GetRnodePos } def } def -/DiaNodePos { w h mul w Sin mul abs h Cos mul abs add Div NodeSep add dup -Cos mul exch Sin mul } def -/TriNodePos { Sin s lt { d NodeSep sub dup Cos mul Sin Div exch } { w h -mul w Sin mul h Cos abs mul add Div NodeSep add dup Cos mul exch Sin mul -} ifelse } def -/InitTriNode { sub 2 div exch 2 div exch 2 copy T 2 copy 4 index index /d -ED pop pop pop pop -90 mul rotate /NodeMtrx CM def /X 0 def /Y 0 def d -sub abs neg /d ED d add /h ED 2 div h mul h d sub Div /w ED /s d w Atan -sin def /NodePos { TriNodePos } def } def -/OvalNodePos { /ww w NodeSep add def /hh h NodeSep add def Sin ww mul Cos -hh mul Atan dup cos ww mul exch sin hh mul } def -/GetCenter { begin X Y NodeMtrx transform CM itransform end } def -/XYPos { dup sin exch cos Do /Cos ED /Sin ED /Dist ED Cos 0 gt { Dist -Dist Sin mul Cos div } { Cos 0 lt { Dist neg Dist Sin mul Cos div neg } -{ 0 Dist Sin mul } ifelse } ifelse Do } def -/GetEdge { dup 0 eq { pop begin 1 0 NodeMtrx dtransform CM idtransform -exch atan sub dup sin /Sin ED cos /Cos ED /NodeSep ED NodePos NodeMtrx -dtransform CM idtransform end } { 1 eq {{exch}} {{}} ifelse /Do ED pop -XYPos } ifelse } def -/AddOffset { 1 index 0 eq { pop pop } { 2 copy 5 2 roll cos mul add 4 1 -roll sin mul sub exch } ifelse } def -/GetEdgeA { NodeSepA AngleA NodeA NodeSepTypeA GetEdge OffsetA AngleA -AddOffset yA add /yA1 ED xA add /xA1 ED } def -/GetEdgeB { NodeSepB AngleB NodeB NodeSepTypeB GetEdge OffsetB AngleB -AddOffset yB add /yB1 ED xB add /xB1 ED } def -/GetArmA { ArmTypeA 0 eq { /xA2 ArmA AngleA cos mul xA1 add def /yA2 ArmA -AngleA sin mul yA1 add def } { ArmTypeA 1 eq {{exch}} {{}} ifelse /Do ED -ArmA AngleA XYPos OffsetA AngleA AddOffset yA add /yA2 ED xA add /xA2 ED -} ifelse } def -/GetArmB { ArmTypeB 0 eq { /xB2 ArmB AngleB cos mul xB1 add def /yB2 ArmB -AngleB sin mul yB1 add def } { ArmTypeB 1 eq {{exch}} {{}} ifelse /Do ED -ArmB AngleB XYPos OffsetB AngleB AddOffset yB add /yB2 ED xB add /xB2 ED -} ifelse } def -/InitNC { /b ED /a ED /NodeSepTypeB ED /NodeSepTypeA ED /NodeSepB ED -/NodeSepA ED /OffsetB ED /OffsetA ED tx@NodeDict a known tx@NodeDict b -known and dup { /NodeA a load def /NodeB b load def NodeA GetCenter /yA -ED /xA ED NodeB GetCenter /yB ED /xB ED } if } def -/LPutLine { 4 copy 3 -1 roll sub neg 3 1 roll sub Atan /NAngle ED 1 t sub -mul 3 1 roll 1 t sub mul 4 1 roll t mul add /Y ED t mul add /X ED } def -/LPutLines { mark LPutVar counttomark 2 div 1 sub /n ED t floor dup n gt -{ pop n 1 sub /t 1 def } { dup t sub neg /t ED } ifelse cvi 2 mul { pop -} repeat LPutLine cleartomark } def -/BezierMidpoint { /y3 ED /x3 ED /y2 ED /x2 ED /y1 ED /x1 ED /y0 ED /x0 ED -/t ED /cx x1 x0 sub 3 mul def /cy y1 y0 sub 3 mul def /bx x2 x1 sub 3 -mul cx sub def /by y2 y1 sub 3 mul cy sub def /ax x3 x0 sub cx sub bx -sub def /ay y3 y0 sub cy sub by sub def ax t 3 exp mul bx t t mul mul -add cx t mul add x0 add ay t 3 exp mul by t t mul mul add cy t mul add -y0 add 3 ay t t mul mul mul 2 by t mul mul add cy add 3 ax t t mul mul -mul 2 bx t mul mul add cx add atan /NAngle ED /Y ED /X ED } def -/HPosBegin { yB yA ge { /t 1 t sub def } if /Y yB yA sub t mul yA add def -} def -/HPosEnd { /X Y yyA sub yyB yyA sub Div xxB xxA sub mul xxA add def -/NAngle yyB yyA sub xxB xxA sub Atan def } def -/HPutLine { HPosBegin /yyA ED /xxA ED /yyB ED /xxB ED HPosEnd } def -/HPutLines { HPosBegin yB yA ge { /check { le } def } { /check { ge } def -} ifelse /xxA xA def /yyA yA def mark xB yB LPutVar { dup Y check { exit -} { /yyA ED /xxA ED } ifelse } loop /yyB ED /xxB ED cleartomark HPosEnd -} def -/VPosBegin { xB xA lt { /t 1 t sub def } if /X xB xA sub t mul xA add def -} def -/VPosEnd { /Y X xxA sub xxB xxA sub Div yyB yyA sub mul yyA add def -/NAngle yyB yyA sub xxB xxA sub Atan def } def -/VPutLine { VPosBegin /yyA ED /xxA ED /yyB ED /xxB ED VPosEnd } def -/VPutLines { VPosBegin xB xA ge { /check { le } def } { /check { ge } def -} ifelse /xxA xA def /yyA yA def mark xB yB LPutVar { 1 index X check { -exit } { /yyA ED /xxA ED } ifelse } loop /yyB ED /xxB ED cleartomark -VPosEnd } def -/HPutCurve { gsave newpath /SaveLPutVar /LPutVar load def LPutVar 8 -2 -roll moveto curveto flattenpath /LPutVar [ {} {} {} {} pathforall ] cvx -def grestore exec /LPutVar /SaveLPutVar load def } def -/NCCoor { /AngleA yB yA sub xB xA sub Atan def /AngleB AngleA 180 add def -GetEdgeA GetEdgeB /LPutVar [ xB1 yB1 xA1 yA1 ] cvx def /LPutPos { -LPutVar LPutLine } def /HPutPos { LPutVar HPutLine } def /VPutPos { -LPutVar VPutLine } def LPutVar } def -/NCLine { NCCoor tx@Dict begin ArrowA CP 4 2 roll ArrowB lineto pop pop -end } def -/NCLines { false NArray n 0 eq { NCLine } { 2 copy yA sub exch xA sub -Atan /AngleA ED n 2 mul dup index exch index yB sub exch xB sub Atan -/AngleB ED GetEdgeA GetEdgeB /LPutVar [ xB1 yB1 n 2 mul 4 add 4 roll xA1 -yA1 ] cvx def mark LPutVar tx@Dict begin false Line end /LPutPos { -LPutLines } def /HPutPos { HPutLines } def /VPutPos { VPutLines } def } -ifelse } def -/NCCurve { GetEdgeA GetEdgeB xA1 xB1 sub yA1 yB1 sub Pyth 2 div dup 3 -1 -roll mul /ArmA ED mul /ArmB ED /ArmTypeA 0 def /ArmTypeB 0 def GetArmA -GetArmB xA2 yA2 xA1 yA1 tx@Dict begin ArrowA end xB2 yB2 xB1 yB1 tx@Dict -begin ArrowB end curveto /LPutVar [ xA1 yA1 xA2 yA2 xB2 yB2 xB1 yB1 ] -cvx def /LPutPos { t LPutVar BezierMidpoint } def /HPutPos { { HPutLines -} HPutCurve } def /VPutPos { { VPutLines } HPutCurve } def } def -/NCAngles { GetEdgeA GetEdgeB GetArmA GetArmB /mtrx AngleA matrix rotate -def xA2 yA2 mtrx transform pop xB2 yB2 mtrx transform exch pop mtrx -itransform /y0 ED /x0 ED mark ArmB 0 ne { xB1 yB1 } if xB2 yB2 x0 y0 xA2 -yA2 ArmA 0 ne { xA1 yA1 } if tx@Dict begin false Line end /LPutVar [ xB1 -yB1 xB2 yB2 x0 y0 xA2 yA2 xA1 yA1 ] cvx def /LPutPos { LPutLines } def -/HPutPos { HPutLines } def /VPutPos { VPutLines } def } def -/NCAngle { GetEdgeA GetEdgeB GetArmB /mtrx AngleA matrix rotate def xB2 -yB2 mtrx itransform pop xA1 yA1 mtrx itransform exch pop mtrx transform -/y0 ED /x0 ED mark ArmB 0 ne { xB1 yB1 } if xB2 yB2 x0 y0 xA1 yA1 -tx@Dict begin false Line end /LPutVar [ xB1 yB1 xB2 yB2 x0 y0 xA1 yA1 ] -cvx def /LPutPos { LPutLines } def /HPutPos { HPutLines } def /VPutPos { -VPutLines } def } def -/NCBar { GetEdgeA GetEdgeB GetArmA GetArmB /mtrx AngleA matrix rotate def -xA2 yA2 mtrx itransform pop xB2 yB2 mtrx itransform pop sub dup 0 mtrx -transform 3 -1 roll 0 gt { /yB2 exch yB2 add def /xB2 exch xB2 add def } -{ /yA2 exch neg yA2 add def /xA2 exch neg xA2 add def } ifelse mark ArmB -0 ne { xB1 yB1 } if xB2 yB2 xA2 yA2 ArmA 0 ne { xA1 yA1 } if tx@Dict -begin false Line end /LPutVar [ xB1 yB1 xB2 yB2 xA2 yA2 xA1 yA1 ] cvx -def /LPutPos { LPutLines } def /HPutPos { HPutLines } def /VPutPos { -VPutLines } def } def -/NCDiag { GetEdgeA GetEdgeB GetArmA GetArmB mark ArmB 0 ne { xB1 yB1 } if -xB2 yB2 xA2 yA2 ArmA 0 ne { xA1 yA1 } if tx@Dict begin false Line end -/LPutVar [ xB1 yB1 xB2 yB2 xA2 yA2 xA1 yA1 ] cvx def /LPutPos { -LPutLines } def /HPutPos { HPutLines } def /VPutPos { VPutLines } def } -def -/NCDiagg { GetEdgeA GetArmA yB yA2 sub xB xA2 sub Atan 180 add /AngleB ED -GetEdgeB mark xB1 yB1 xA2 yA2 ArmA 0 ne { xA1 yA1 } if tx@Dict begin -false Line end /LPutVar [ xB1 yB1 xA2 yA2 xA1 yA1 ] cvx def /LPutPos { -LPutLines } def /HPutPos { HPutLines } def /VPutPos { VPutLines } def } -def -/NCLoop { GetEdgeA GetEdgeB GetArmA GetArmB /mtrx AngleA matrix rotate -def xA2 yA2 mtrx transform loopsize add /yA3 ED /xA3 ED /xB3 xB2 yB2 -mtrx transform pop def xB3 yA3 mtrx itransform /yB3 ED /xB3 ED xA3 yA3 -mtrx itransform /yA3 ED /xA3 ED mark ArmB 0 ne { xB1 yB1 } if xB2 yB2 -xB3 yB3 xA3 yA3 xA2 yA2 ArmA 0 ne { xA1 yA1 } if tx@Dict begin false -Line end /LPutVar [ xB1 yB1 xB2 yB2 xB3 yB3 xA3 yA3 xA2 yA2 xA1 yA1 ] -cvx def /LPutPos { LPutLines } def /HPutPos { HPutLines } def /VPutPos { -VPutLines } def } def -% DG/SR modification begin - May 9, 1997 - Patch 1 -%/NCCircle { 0 0 NodesepA nodeA \tx@GetEdge pop xA sub 2 div dup 2 exp r -%r mul sub abs sqrt atan 2 mul /a ED r AngleA 90 add PtoC yA add exch xA add -%exch 2 copy /LPutVar [ 4 2 roll r AngleA ] cvx def /LPutPos { LPutVar t 360 -%mul add dup 5 1 roll 90 sub \tx@PtoC 3 -1 roll add /Y ED add /X ED /NAngle ED -/NCCircle { NodeSepA 0 NodeA 0 GetEdge pop 2 div dup 2 exp r -r mul sub abs sqrt atan 2 mul /a ED r AngleA 90 add PtoC yA add exch xA add -exch 2 copy /LPutVar [ 4 2 roll r AngleA ] cvx def /LPutPos { LPutVar t 360 -mul add dup 5 1 roll 90 sub PtoC 3 -1 roll add /Y ED add /X ED /NAngle ED -% DG/SR modification end -} def /HPutPos { LPutPos } def /VPutPos { LPutPos } def r AngleA 90 sub a add -AngleA 270 add a sub tx@Dict begin /angleB ED /angleA ED /r ED /c 57.2957 r -Div def /y ED /x ED } def -/NCBox { /d ED /h ED /AngleB yB yA sub xB xA sub Atan def /AngleA AngleB -180 add def GetEdgeA GetEdgeB /dx d AngleB sin mul def /dy d AngleB cos -mul neg def /hx h AngleB sin mul neg def /hy h AngleB cos mul def -/LPutVar [ xA1 hx add yA1 hy add xB1 hx add yB1 hy add xB1 dx add yB1 dy -add xA1 dx add yA1 dy add ] cvx def /LPutPos { LPutLines } def /HPutPos -{ xB yB xA yA LPutLine } def /VPutPos { HPutPos } def mark LPutVar -tx@Dict begin false Polygon end } def -/NCArcBox { /l ED neg /d ED /h ED /a ED /AngleA yB yA sub xB xA sub Atan -def /AngleB AngleA 180 add def /tA AngleA a sub 90 add def /tB tA a 2 -mul add def /r xB xA sub tA cos tB cos sub Div dup 0 eq { pop 1 } if def -/x0 xA r tA cos mul add def /y0 yA r tA sin mul add def /c 57.2958 r div -def /AngleA AngleA a sub 180 add def /AngleB AngleB a add 180 add def -GetEdgeA GetEdgeB /AngleA tA 180 add yA yA1 sub xA xA1 sub Pyth c mul -sub def /AngleB tB 180 add yB yB1 sub xB xB1 sub Pyth c mul add def l 0 -eq { x0 y0 r h add AngleA AngleB arc x0 y0 r d add AngleB AngleA arcn } -{ x0 y0 translate /tA AngleA l c mul add def /tB AngleB l c mul sub def -0 0 r h add tA tB arc r h add AngleB PtoC r d add AngleB PtoC 2 copy 6 2 -roll l arcto 4 { pop } repeat r d add tB PtoC l arcto 4 { pop } repeat 0 -0 r d add tB tA arcn r d add AngleA PtoC r h add AngleA PtoC 2 copy 6 2 -roll l arcto 4 { pop } repeat r h add tA PtoC l arcto 4 { pop } repeat } -ifelse closepath /LPutVar [ x0 y0 r AngleA AngleB h d ] cvx def /LPutPos -{ LPutVar /d ED /h ED /AngleB ED /AngleA ED /r ED /y0 ED /x0 ED t 1 le { -r h add AngleA 1 t sub mul AngleB t mul add dup 90 add /NAngle ED PtoC } -{ t 2 lt { /NAngle AngleB 180 add def r 2 t sub h mul t 1 sub d mul add -add AngleB PtoC } { t 3 lt { r d add AngleB 3 t sub mul AngleA 2 t sub -mul add dup 90 sub /NAngle ED PtoC } { /NAngle AngleA 180 add def r 4 t -sub d mul t 3 sub h mul add add AngleA PtoC } ifelse } ifelse } ifelse -y0 add /Y ED x0 add /X ED } def /HPutPos { LPutPos } def /VPutPos { -LPutPos } def } def -/Tfan { /AngleA yB yA sub xB xA sub Atan def GetEdgeA w xA1 xB sub yA1 yB -sub Pyth Pyth w Div CLW 2 div mul 2 div dup AngleA sin mul yA1 add /yA1 -ED AngleA cos mul xA1 add /xA1 ED /LPutVar [ xA1 yA1 m { xB w add yB xB -w sub yB } { xB yB w sub xB yB w add } ifelse xA1 yA1 ] cvx def /LPutPos -{ LPutLines } def /VPutPos@ { LPutVar flag { 8 4 roll pop pop pop pop } -{ pop pop pop pop 4 2 roll } ifelse } def /VPutPos { VPutPos@ VPutLine } -def /HPutPos { VPutPos@ HPutLine } def mark LPutVar tx@Dict begin -/ArrowA { moveto } def /ArrowB { } def false Line closepath end } def -/LPutCoor { NAngle tx@Dict begin /NAngle ED end gsave CM STV CP Y sub neg -exch X sub neg exch moveto setmatrix CP grestore } def -/LPut { tx@NodeDict /LPutPos known { LPutPos } { CP /Y ED /X ED /NAngle 0 -def } ifelse LPutCoor } def -/HPutAdjust { Sin Cos mul 0 eq { 0 } { d Cos mul Sin div flag not { neg } -if h Cos mul Sin div flag { neg } if 2 copy gt { pop } { exch pop } -ifelse } ifelse s add flag { r add neg } { l add } ifelse X add /X ED } -def -/VPutAdjust { Sin Cos mul 0 eq { 0 } { l Sin mul Cos div flag { neg } if -r Sin mul Cos div flag not { neg } if 2 copy gt { pop } { exch pop } -ifelse } ifelse s add flag { d add } { h add neg } ifelse Y add /Y ED } -def -end -% END pst-node.pro - -%%EndProcSet -%%BeginProcSet: special.pro -%! -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 -TeXDict begin 39158280 55380996 1000 600 600 (informator.dvi) -@start -%DVIPSBitmapFont: Fa cmss10 10 2 -/Fa 2 83 df78 -D82 D E -%EndDVIPSBitmapFont -%DVIPSBitmapFont: Fb skakf10 10 41 -/Fb 41 122 df<17301770A317781738173C171FB912F018F818F0CAEA0F80EF1E005F17 -3817781770A31720351479AA4B>65 D<134013E0A37F12017F487EEA0FFF387FEFE038FE -E7F03878E1E03800E000B3B3A5143571BB32>67 D<92380FFF8092B512F8020314FE913A -0FF800FF80DA3F80EB0FE002FEC7EA03F8D903F8EC00FED907E0153FD90F80ED0F80011E -C9EA03C049707E49707E49177848488349171C0003181E48488390CB7E481980000E1803 -001E19C0001C1801003C19E000381800A2007819F000701970A300F003F8157848DA03FE -15384B7EA24B7FA46F90C8FCA26F5A6CDA00F81578007092C91270A3007819F0003819E0 -A2003C1801001C19C0001E1803000E1980000F18076C19006D5F6C6C171E0001181C6D17 -3C6C6C5F01785F6D4C5A6D4C5A6D6CED0F80D907E0033FC7FCD903F815FED900FEEC03F8 -DA3F80EB0FE0DA0FF8EBFF800203B548C8FC020014F8030F1380454679C353>I<162016 -7016F8A24B7E16DCED03DE168EED078F1607030F7FED0E03031E7FED1C01033C7FED3800 -03787F0370137003F013784B13380201143C4B131C0203141E4B130E0207140F92C77E4A -81020E1403021E81021C1401023C81023814000278810270157002F015784A1538010116 -3C4A151C0103161E4A150E0107160F91C97E4983010E1603011E83011C1601013C830138 -16000178830170177001F017784917380001183C49171C0003181E49170E0007180F90CB -7E481980000E1803001E19C0001C1801003C19E000381800007819F000701970BB12F8A3 -454579C353>I<007FBA12F8BBFCA200E0CC1238B3B3B3A9BB12F8A3454579C353>I<0403 -B612F85E8293C7381E00386060604D5A4D5A4D5A4DC7FC171E5F5F4D14784C4814F84C48 -13014C4813034CC7EA07B8041EEC0F384C141E4C143C4C14784B4814F04B48EB01E04B48 -EB03C04BC7EA0780031EEC0F004B141E4B5C4B5C4A485C4A48494813004A48495A4AC748 -5A021E4AC8FC4A141E4A5C4A5C49485C4948495A4948495A49C7485A011E4AC9FC49141E -495C495C48485C4848495A4848495A48C7485A001E4ACAFC48141E485C485C485C48495A -C7485A4A5A4ACBFC141E5C5C5C495A495A495A49CCFC130E454579C353>I<0260153002 -E015380101163C49488149488149C96C7E011E707E49707E017FB87E90B97E4884D803C0 -CA121E48488348CBEA0780001EF003C048F001E048F000F0481978A2007819F06CF001E0 -6CF003C06CF007806C6CEF0F006C6C171E6CB912FC6C606D5F013CC9EA01E06D4C5A6D4C -5A6D6C4BC7FC6D6C151E6D6C5D0100163802601530452479B253>I<007FBA12F8BBFCA2 -00E0CC1238A516201670B3A6017FB812F090B912F86D17F090C80070C8FCB3A793C9FCA5 -BB12F8A3454579C353>I<00C019186C19386C1978007819F06CF001E06CF003C06CF007 -806C6CEF0F006C6C171E6C6C5F6C6C5F01785F6D4C5A6D4C5A6D4C5A6D6C4BC7FC6D6C15 -1E6D6C5D6D6C5D02785D6E4A5A6E4A5A6E4A5A6E6C49C8FC6E6C131E6E6C5B6E6C5B0378 -5B6F485A6F485A6F485ADB078FC9FCED03DEED01FC6F5AA24B7EED03DEED078F92380F07 -8092381E03C04B6C7E4B6C7E4B13784A487F4A487F4A487F4AC76C7E021E6E7E4A6E7E4A -6E7E4A157849488149488149488149C96C7E011E707E49707E49707E4917784848834848 -8348488348CBEA0780001EF003C048F001E048F000F0481978481938454579C353>I<16 -201670B3B3B3ABBB12F8A3454579C353>76 D<032013200370137003F013F0913901E001 -E0913903C003C091390780078091390F000F00021E131E4A5B4A5B4A5B4948485A494848 -5A4948485A494848C7FC011E131E495B495B495B4848485A4848485A4848485A484848C8 -FC001E131E485B485B485B147800787F6C7F6C7F6C6D7E6C6C6C7E6C6C6C7E6C6C6C7E6C -6C137801787F6D7F6D7F6D6D7E6D6C6C7E6D6C6C7E6D6C6C7E6D6C137802787F6E7F6E7F -6EEB07809139078003C0913903C001E0913901E000F06E6C1370036013302C3579BB42> -I<0040132000E013706C137800787F6C7F6C7F6C6D7E6C6C6C7E6C6C6C7E6C6C6C7E6C6C -137801787F6D7F6D7F6D6D7E6D6C6C7E6D6C6C7E6D6C6C7E6D6C137802787F6E7F6E7F6E -EB07809139078003C0913903C001E0913901E000F06E6C137817F0913901E001E0913903 -C003C091390780078091390F000F00021E131E4A5B4A5B4A5B4948485A4948485A494848 -5A494848C7FC011E131E495B495B495B4848485A4848485A4848485A484848C8FC001E13 -1E485B485B4813704813602D3571BB42>79 D<0040134000E013E0B3B3B3AE134579C321 ->I<12C012F07E127E121FEA0FC0EA03E0EA01F8EA007C133FEB0F80EB07E0EB01F0EB00 -FC143E6E7EEC07C0EC03F0EC00F8157E151FED0FC0ED03E0ED01F8ED007C163FEE0F80EE -07E0EE01F0EE00FC173EEF1F80EF07C0EF03F0EF00F8EF01F0EF03E0EF0FC0EF1F00177E -17F8EE03F0EE07C0EE1F80043EC7FC16FCED01F0ED07E0ED0F80033FC8FC157C4A5AEC03 -E0EC0FC04AC9FC147E14F8EB03F0EB07C0EB1F80013ECAFC13FCEA01F0EA07E0EA0F8000 -3FCBFC127C5A12E0354579C342>83 D<92380FFF8092B512F8020314FE913A0FF800FF80 -DA3F80EB0FE002FEC7EA03F8D903F8EC00FED907E0153FD90F800120EB0F80011EC70070 -EB03C049707E49707E49177848488349171C0003181E48488390C881481980000E180300 -1E19C0001C1801003C19E000381800A2007819F000701970A300F01978481938A3017FB8 -12F090B912F86D17F090C80070C8FCA46C197800701970A3007819F0003819E0A2003C18 -01001C19C0001E1803000E1980000F18076C19006D5F6C6C171E0001181C6D173C6C6C5F -01785F6D4C5A6D4C5A6D6C90C7EA0F80D907E0033FC7FCD903F815FED900FEEC03F8DA3F -80EB0FE0DA0FF8EBFF800203B548C8FC020014F8030F1380454679C353>I<92380FFF80 -92B512F8020314FE913A0FF800FF80DA3F80EB0FE002FEC7EA03F8D903F8EC00FED907E0 -153FD90F80ED0F80011EC9EA03C049707E49707E49177848488349171C0003181E484883 -90CB7E481980000E1803001E19C0001C1801003C19E000381800A2007819F000701970A3 -00F01978481938AA6C197800701970A3007819F0003819E0A2003C1801001C19C0001E18 -03000E1980000F18076C19006D5F6C6C171E0001181C6D173C6C6C5F01785F6D4C5A6D4C -5A6D6CED0F80D907E0033FC7FCD903F815FED900FEEC03F8DA3F80EB0FE0DA0FF8EBFF80 -0203B548C8FC020014F8030F1380454679C353>I<13E0A412015B1203EA0F80B912F018 -F818F0D80F80CAFCEA03C012017F120017201770A290C9FC17781738173C83EF0F80B912 -F018F818F0CAEA1F00173C173817781770A31720352479B242>I<037FB712F8A30370C9 -1238B3A4B812F0A300E0C738700070AE037FB712F8A28192C70070C8FCB3A3B812F0A27E -454579C353>97 D<93380FFFC093B512FC0307ECFF80923A3FF8007FF0DBFF80EB07FCDA -03FCC8B4FCDA0FE0ED1FC0DA1F80ED07E0023EC9EA01F002F8EE007C494883494883D907 -80EF078049CB6C7E011E727E49727E4919780170193801F0193C48488548488549850007 -1B8090CD1203481BC0000E1A01001E1BE0001C1A00A2003C1BF000381B70A200781B7800 -701B38A300F01B3C481B1CA4BD12FCA3562C79AA64>I<14021407B3A2B812F0A3C70007 -C8FCB3A2140291C9FCA5B812F0A32C3579C33A>III<14021407B3A2B812F0A3C70007C8FCB3A2140291C9FCA5B812F0 -A3CBFCA5B812F0A32C3D79C33A>II<14035CB3A2B8D8F03FB712FCA3C70007CEFCB3A2 -5E2C79AA6C>I<507E1A03B3A2B8D8F03FB712FCA3CDD80380C7FCB3A25E2C79AA6C>IIII<0240142002E01470B0BA12F019F819F0C700E0C70070 -C7FCB3A4BA12F019F819F0C700E0C70070C7FCB03D3D79BB4B>II<033FB712F0B3A5BB -FCA300E0C7123FAF92C70070C8FCB3A5B812F0A27E444379C153>I -113 D<14201470A414F8A2497EEB07FF017F13F01477EB7C71D90070C7FCADEB03FE9038 -1FFFC0017F13F03901FE03FC3903F0007ED807C0131F48C7EA0780001EEC03C0001C1401 -003C15E048EC00F000701570A200F01578481538A86C157800701570A2007815F06CEC01 -E0001C15C0001E14036CEC0780D807C0EB1F00D803F0137E3901FE03FC39007FFFF0011F -13C0D903FEC7FC253D69BB53>I<037FB712E0B3A6BBFCB105C0C8FCB3A7434278C153>I< -DB0FFF141092B500F01338020314FE913A0FF801FF80913A3F80001FE002FEC7EA03F0D9 -01F8EC00FCD907E0153ED90F80151F49C9EA07B8013CEE03F84916014916004848ED03FF -495D0003705B484892C9FC90CDFC5A120E121E001CF00380123C003819C0007818011AE0 -007018001AF01A7012F05A1A781A38A87E12701A781A70127812381AF0003C19E0121C00 -1E1801000E19C0000F18036C19806D17076C6CEF0F000001180E6D171E6C6C5F01785F6D -5F011F4C5A6D6CED07C0D907E04B5AD901F8033FC7FCD900FEEC01FCDA3FC0EB07F8DA0F -FCEBFFE00203B6C8FCDA007F13FC03071380454679C353>II<124012E0B3B3B3ABBB12F8A27E454579C353>I<1A101A38B3B3B3ABBB -12F8A3454579C353>I<007C171F00FEEF3F806C177F6D16FF6D5D6C6C4B13006C6C4B5A -6C6C4B5A6C6C4B5A6C6C4B5A6C6C4B5A6C6D4A5A6C6D495B6D6C4990C7FC6D6C495A6D6C -495A6D6C495A6D6C495A6D6C495A6D6D485A6D01C15BDA7FE390C8FC91383FF7FE6EB45A -6E5B6E5B6E5B6E5BA24A7F4A7F4A7F4A7F91383FF7FE91387FE3FFDAFFC17F4901807F49 -496C7E49486D7E49486D7E49486D7E49486D7E49486D7E49486D7F48496D7F4890C86C7E -48486F7E48486F7E48486F7E48486F7E48486F7E48486F1380498190CA127F48173F007C -EF1F00393873B453>I<913803FFE0021F13FC027F13FF49B612C0010715F0011F15FC49 -81499038007FFFD9FFF8010F7F4801E001037F48018001007F4848C8EA3FF049151F4848 -6F7E48486F7E491503003F83491501A248486F7EA290CA7E481880A248173FA86C177FA2 -6C18006D5EA26C6C4B5AA26D1503001F5F6D15076C6C4B5A6C6C4B5A6D153F6C6C6CECFF -E06C01E001035B6C01F8010F5B6DB4017F90C7FC6D90B55A6D5D010715F0010115C06D6C -91C8FC021F13FC020313E0393873B453>I E -%EndDVIPSBitmapFont -%DVIPSBitmapFont: Fc cmssbx10 10 24 -/Fc 24 123 df<903903FE01FF90260FFF831380013F018713C090B5FCA25A4813C71483 -148148EB80076F13806F130092C8FCA9003F9039FF01FF8048028313C0B6FCA36C140300 -071380B3AC7E6C496C13802A3B7EBA31>12 D<90380FFF8090B512F0000714FC001F14FF -168016C0EBF003D9C00113E0EA0F00000E15F0000C7FC8FCA649B5FC133F90B6FC000313 -F8000F138048485A485A485AA2485AA45CA26D5A007F5BEBFC1F383FFFFEA26C13F86C5B -00039038C07FE0C648C8FC24297DA72C>97 DI<903803FFC0011F13FC017F13FF48B612C05A5A48EB807F3A1FFE001F8048481307 -15034990C7FC127FA25B12FFAD127F7F16C015016C6C130315076C6CEB1FE0390FFF80FF -91B5FC7E000115806CECFE00011F13F80103138023297DA729>II<903803FF80011F13F0017F13FC48B57E488048158048018113C04848C613E04913 -7F4848EB3FF0A2485A151F16F812FFA25BA290B6FCA316F001E0C8FCA27FA2127FA37F00 -3F15306D1470001FEC01F06C6C13079038FFC03F6C90B5FC7EC615C06D1400011F13FC01 -0113C025297EA72A>I103 DII107 DIII<903803FF -80011F13F0017F13FC48B6FC4815804815C048018313E04848C613F049137F4848EB3FF8 -A2007F15FC49131FA300FF15FEAC007F15FCA26D133FA2003F15F86D137F6C6CEBFFF0EB -FF836C90B512E06C15C06C1580C6ECFE00013F13F80103138027297DA72E>II<903907F81FF890393FFE3FFC -90B512BF000314FF5A5A4813C114004848137F49133F127F5BA212FF5BAC7F127FA27F12 -3F6D137F6D13FF6C13836C90B5FC7E6C14BF6C143F38007FFEEB0FF090C7FCAEED1FF826 -377DA62F>III<48B4FC487F -5AA9003FEBFFC04814E0B6FCA36C14C00007EB8000B3A6ECC03015706CEBE1F814FFA27E -15E06C6C1300EB1FF01D327EB022>II<007FEC07F0D8 -FFC0EB0FF8151F7F007FEC3FF0A27F003FEC7FE0A27F001FECFFC0A27F000F491380A36C -6C481300A36C6C485AA314876CEB8FFCA214CF6CEBDFF8A214FF6D5BA36D5BA36D5BA201 -0790C7FC25267EA52A>I<007F027E147F486C01FFECFF806D6E5A5C01E014C0007F4C13 -005CA2D83FF002E05B17075C13F8001F9139DFF00FFCA2EC0FCFD80FFC02F85B171F141F -158FD807FE903987FC3FF0A2143F01FF13076C6F485A1503147F6C01FF01FF5B02FE14FF -81A26C01FC5D81A36D4892C7FC826D485C6D486D5A39267EA53E>I121 D<001FB6FC4815805AA37EC7000F13004A5A4A5AA24A5A4A5A495BA2 -495B495B4990C7FCA2495A495A495AA2495A485B485BA2485B4890C8FC485AA2485A485A -90B6FCB71280A46C150021267DA528>I E -%EndDVIPSBitmapFont -%DVIPSBitmapFont: Fd cmsy10 10 1 -/Fd 1 111 df<126012F07EA21278127CA2123C123EA2121E121FA27E7FA212077FA212 -037FA212017FA212007FA21378137CA2133C133EA2131E131FA27F80A2130780A26D7EA2 -130180A2130080A21478147CA2143C143EA2141E141FA2801580A2140715C0A2140315E0 -A2140115F0A2140015F8A21578157CA2153C153EA2151E150C1F537BBD2A>110 -D E -%EndDVIPSBitmapFont -%DVIPSBitmapFont: Fe cmr10 10 30 -/Fe 30 128 df45 D<121C127FEAFF80A5EA7F00121C09097988 -17>I49 D66 D<913A01FF800180020FEBE003027F13F8903A01FF807E -07903A03FC000F0FD90FF0EB039F4948EB01DFD93F80EB00FF49C8127F01FE153F120148 -48151F4848150FA248481507A2485A1703123F5B007F1601A35B00FF93C7FCAD127F6DED -0180A3123F7F001F160318006C7E5F6C7E17066C6C150E6C6C5D00001618017F15386D6C -5CD91FE05C6D6CEB03C0D903FCEB0F80902701FF803FC7FC9039007FFFFC020F13F00201 -1380313D7BBA3C>II73 -D79 D<003FB812E0A3D9C003EB001F273E0001FE130348EE01F00078160000701770A3 -00601730A400E01738481718A4C71600B3B0913807FF80011FB612E0A335397DB83C>84 -D97 DIIII<147E903803FF8090380FC1E0EB1F8790 -383F0FF0137EA213FCA23901F803C091C7FCADB512FCA3D801F8C7FCB3AB487E387FFFF8 -A31C3B7FBA19>I -104 DI -107 DI<2703F00FF0EB1F -E000FFD93FFCEB7FF8913AF03F01E07E903BF1C01F83803F3D0FF3800FC7001F802603F7 -0013CE01FE14DC49D907F8EB0FC0A2495CA3495CB3A3486C496CEB1FE0B500C1B50083B5 -FCA340257EA445>I<3903F00FF000FFEB3FFCECF03F9039F1C01F803A0FF3800FC03803 -F70013FE496D7EA25BA35BB3A3486C497EB500C1B51280A329257EA42E>II<3903F01FE000FFEB7FF89038F1E07E9039F3801F803A0FF7000FC0D803FEEB07E0 -49EB03F04914F849130116FC150016FEA3167FAA16FEA3ED01FCA26DEB03F816F06D1307 -6DEB0FE001F614C09039F7803F009038F1E07E9038F0FFF8EC1FC091C8FCAB487EB512C0 -A328357EA42E>I<3807E01F00FFEB7FC09038E1E3E09038E387F0380FE707EA03E613EE -9038EC03E09038FC0080491300A45BB3A2487EB512F0A31C257EA421>114 -DI<1318A5 -1338A31378A313F8120112031207001FB5FCB6FCA2D801F8C7FCB215C0A93800FC011580 -EB7C03017E13006D5AEB0FFEEB01F81A347FB220>II119 D121 -D<001C131C007F137F39FF80FF80A5397F007F00001C131C190978B72A>127 -D E -%EndDVIPSBitmapFont -%DVIPSBitmapFont: Ff cmr12 12 19 -/Ff 19 122 df<9239FFC001FC020F9038F80FFF913B3F803E3F03C0913BFC00077E07E0 -D903F890390FFC0FF0494890383FF81F4948EB7FF0495A494814E049C7FCF00FE0499139 -3FC0038049021F90C7FCAFB912F0A3C648C7D81FC0C7FCB3B2486CEC3FF0007FD9FC0FB5 -12E0A33C467EC539>11 D<121EEA7F8012FF13C0A213E0A3127FEA1E601200A413E013C0 -A312011380120313005A1206120E5A5A5A12600B1D78891B>44 D<14FF010713E090381F -81F890383E007C01FC133F4848EB1F8049130F4848EB07C04848EB03E0A2000F15F04913 -01001F15F8A2003F15FCA390C8FC4815FEA54815FFB3A46C15FEA56D1301003F15FCA300 -1F15F8A26C6CEB03F0A36C6CEB07E0000315C06D130F6C6CEB1F806C6CEB3F00013E137C -90381F81F8903807FFE0010090C7FC28447CC131>48 D<143014F013011303131F13FFB5 -FC13E713071200B3B3B0497E497E007FB6FCA3204278C131>II52 D72 D<010FB512FEA3D9000313806E130080B3B3AB123F487E487EA44A5A1380 -1300006C495A00705C6C13076C5C6C495A6CEB1F802603E07FC7FC3800FFFCEB1FE02746 -7BC332>74 D<003FB912F8A3903BF0001FF8001F01806D481303003EC7150048187C0078 -183CA20070181CA30060180CA5481806A5C81600B3B3A54B7EED7FFE49B77EA33F447DC3 -46>84 D97 -DI101 D108 DI<3901FC01FE00FF903807FFC091381E07F091383801F800070170 -7F0003EBE0002601FDC07F5C01FF147F91C7FCA25BA35BB3A8486CECFF80B5D8F83F13FE -A32F2C7DAB36>II<3903F803F000FFEB1F -FCEC3C3EEC707F0007EBE0FF3803F9C000015B13FBEC007E153C01FF13005BA45BB3A748 -B4FCB512FEA3202C7DAB26>114 D117 D121 -D E -%EndDVIPSBitmapFont -%DVIPSBitmapFont: Fg cmtt12 17.28 3 -/Fg 3 116 df<903801FFFE011FEBFFE0017F14F848B612FE486F7E834816F0488283EC -800391C77FEE3FFF160F707F6C48806C486E7F6C5ACA7FA3177FA50303B5FC92B6FC140F -91B7FC1307131F137F90B8FC0003EDE07F48ECE0004849C7FC4813F014804848C8FC485A -5B485A5BA25BA46D15FFA26D5C007F5D6D5CD83FFE141F6D6C017F13F86CD9E007B612FE -91B9FC6C19807E6C16DF6C160F6CEDFC07013FDAF0011400010F91C7EA3FFE010101F091 -C8FC414178BF4A>97 D<383FFFC0487FB57EA57E7EEA000FB1043FB512FC4C8093B7FCA5 -705C705C9326003FF8C7FC4D5A4D5A4C5B4C5B4C90C8FC4C5A4C5AEE7FF84C5A4B5B4B5B -4B5B4B90C9FC4B5AED3FF8157F4B7E14F102F37F02F77F91B67E15FD03F87F4B6C7E4B6C -7E15C04B6C7E4B6C7E4A6D7E5C4A6D7E4A6D7F707FA2717E717EA2717E717E717EA2717E -717F003FB500FC013FEBFF80486E4914C0B790B612E0A56C4A6D14C06C4A6D148043587D -D74A>107 D<913A1FFF800F800103B5EAF81F011F9138FF3FC0017F15FF48B8FC5A5A5A -5A48EBE00049C7121FD87FF880491403D8FFC080A25B82A37FEF7F806C7E01F892C7FC13 -FE383FFFC06C13FE6CEBFFF86CECFFE06C15FC6CEDFF806C6C15F0011F81010315FED900 -7F8002011580DA000F14C0DB003F13E01607040113F0D83F809138007FF8007F163F486C -ED1FFC170F7F1707A27FA26D150FA27F6DED1FF86D157F02C0ECFFF06E130302FC013F13 -E091B712C0A2188001BF1600019F15FC010F15F0010315C0267E007F49C7FC007C010713 -E0364176BF4A>115 D E -%EndDVIPSBitmapFont -%DVIPSBitmapFont: Fh cmr17 17.28 22 -/Fh 22 122 df<170FA34D7EA24D7EA34D7EA34D7EA34C7F17DFA29338039FFC178FA293 -38070FFE1707040F7FEE0E03A2041E80EE1C01A2043C80EE3800A24C80187FA24C80183F -A24B4880181F0303814C130FA203078193C71207A24B81030E80A24B8284A24B8284A24B -82197F03F0824B153FA20201834B151FA202038392B8FCA24A83A292C91207020E8385A2 -4A8485023C84023882A20278840270177FA202F0844A173FA24948841A1FA24948841A0F -A249CB7F1A074985865B496C85497E48486C4D7F000F01F8051F13F0B60407B612F0A45C -657DE463>65 D73 D80 -D83 D97 -DI<4AB47E020F13 -F8023F13FE9139FF007F80D903FCEB07E0D907F0EB01F0D91FE0EB007849488049488049 -C87E48485D4915FF00034B138048485CA2485AA2485AA2003F6F130049EC007C94C7FC12 -7FA35B12FFAD127F7FA4123F7FA2001FEE01C07F000F16036D168012076C6C15076D1600 -00015E6C6C151E6D6C5C6D6C5C6D6C5CD90FF8495AD903FCEB07C0903A00FF803F809126 -3FFFFEC7FC020F13F80201138032417CBF3A>I101 DIII<133C13FF487F487FA66C5B6C90C7FC133C90C8FCB3A2EB03 -C0EA07FF127FA41201EA007FA2133FB3B3AC497E497EB612E0A41B5F7DDE23>I107 DIIII<9039078003F8D807FFEB0FFFB5013F13C092387C0F -E0913881F01F9238E03FF00001EB838039007F8700148FEB3F8E029CEB1FE0EE0FC00298 -EB030002B890C7FCA214B014F0A25CA55CB3B0497EEBFFF8B612FCA42C3F7CBE33>114 -D<9139FFE00180010FEBFC03017FEBFF073A01FF001FCFD803F8EB03EFD807E0EB01FF48 -487F4848147F48C8123F003E151F007E150F127CA200FC1507A316037EA27E7F6C7E6D91 -C7FC13F8EA3FFE381FFFF06CEBFF806C14F86C14FF6C15C06C6C14F0011F80010714FED9 -007F7F02031480DA003F13C01503030013E0167F00E0ED1FF0160F17F86C15071603A36C -1501A37EA26C16F016037E17E06D14076DEC0FC06D1580D8FDF0141FD8F8F8EC7F00013E -14FC3AF01FC00FF80107B512E0D8E001148027C0003FF8C7FC2D417DBF34>I<1438A714 -78A414F8A31301A31303A21307130F131FA2137F13FF1203000F90B6FCB8FCA3260007F8 -C8FCB3AE17E0AE6D6CEB01C0A316036D6C148016076D6C14006E6C5A91383FC01E91381F -F07C6EB45A020313E09138007F802B597FD733>I118 -D121 D E -%EndDVIPSBitmapFont -end -%%EndProlog -%%BeginSetup -%%Feature: *Resolution 600dpi -TeXDict begin -%%BeginPaperSize: a4 -a4 -%%EndPaperSize - -%%EndSetup -%%Page: 1 1 -1 0 bop 407 797 a Fh(Informator)42 b(Sym)l(b)t(ols)h(Av)-7 -b(ailable)46 b(in)e(the)g Fg(skak)f Fh(P)l(ac)l(k)-7 -b(age)1500 1038 y Ff(T)f(orb)s(en)33 b(Ho\013mann)1592 -1233 y(July)g(21,)f(2004)83 1543 y Fe(Dirk)23 b(B\177)-42 -b(ac)n(hle)22 b(has)h(b)r(een)h(so)e(kind)h(as)g(to)g(create)f(a)h(n)n -(um-)0 1643 y(b)r(er)34 b(of)g(the)h(sym)n(b)r(ols)e(used)i(in)f(the)h -(Informator.)55 b(They)0 1742 y(are)27 b(no)n(w)g(a)g(part)g(of)g(the)h -(sk)-5 b(ak)27 b(fon)n(t.)p 83 2536 1031 7 v 133 2629 -a(Command)289 b(Output)p 83 2677 1031 5 v 133 2784 a -Fd(n)p Fc(wb)s(etter)431 b Fb(f)133 2896 y Fd(n)p Fc(bb)s(etter)446 -b Fb(g)133 3009 y Fd(n)p Fc(wupp)s(erhand)262 b Fb(c)133 -3122 y Fd(n)p Fc(bupp)s(erhand)277 b Fb(e)133 3235 y -Fd(n)p Fc(wdecisive)348 b Fb(h)133 3348 y Fd(n)p Fc(b)s(decisive)360 -b Fb(i)133 3461 y Fd(n)p Fc(equal)525 b Fb(j)133 3574 -y Fd(n)p Fc(unclea)m(r)456 b Fb(k)133 3687 y Fd(n)p Fc(comp)s(ensation) -200 b Fb(n)133 3800 y Fd(n)p Fc(devadvantage)192 b Fb(t)133 -3913 y Fd(n)p Fc(mo)m(rero)s(om)325 b Fb(U)133 4026 y -Fd(n)p Fc(withattack)312 b Fb(A)133 4138 y Fd(n)p Fc(withinit)443 -b Fb(C)133 4251 y Fd(n)p Fc(counterpla)m(y)282 b Fb(V)133 -4364 y Fd(n)p Fc(zugzw)m(ang)344 b Fb(D)133 4477 y Fd(n)p -Fc(mate)524 b Fb(m)133 4590 y Fd(n)p Fc(withidea)395 -b Fb(E)133 4703 y Fd(n)p Fc(onlymove)354 b Fb(F)133 4816 -y Fd(n)p Fc(b)s(etteris)416 b Fb(b)133 4929 y Fd(n)p -Fc(\014le)601 b Fb(H)133 5042 y Fd(n)p Fc(diagonal)397 -b Fb(G)133 5155 y Fd(n)p Fc(centre)476 b Fb(I)133 5268 -y Fd(n)p Fc(kside)532 b Fb(O)133 5380 y Fd(n)p Fc(qside)d -Fb(M)p 83 5431 1031 7 v 2001 1467 1007 7 v 2051 1560 -a Fe(Command)265 b(Output)p 2001 1608 1007 5 v 2051 1714 -a Fd(n)p Fc(w)m(eakpt)420 b Fb(J)2051 1827 y Fd(n)p Fc(ending)440 -b Fb(L)2051 1940 y Fd(n)p Fc(bishoppair)304 b Fb(a)2051 -2053 y Fd(n)p Fc(opp)s(osbishops)188 b Fb(o)2051 2166 -y Fd(n)p Fc(samebishops)218 b Fb(s)2051 2279 y Fd(n)p -Fc(unitedpa)m(wns)i Fb(u)2051 2392 y Fd(n)p Fc(seppa)m(wns)323 -b Fb(q)2051 2505 y Fd(n)p Fc(doublepa)m(wns)212 b Fb(d)2051 -2618 y Fd(n)p Fc(passedpa)m(wn)243 b Fb(r)2051 2730 y -Fd(n)p Fc(mo)m(repa)m(wns)277 b Fb(S)2051 2843 y Fd(n)p -Fc(timelimit)350 b Fb(T)2051 2943 y Fd(n)p Fc(novelt)m(y)431 -b Fa(N)2051 3043 y Fd(n)p Fc(comment)322 b Fa(RR)2051 -3142 y Fd(n)p Fc(va)m(rious)441 b Fa(R)2051 3255 y Fd(n)p -Fc(without)399 b Fb(v)2051 3368 y Fd(n)p Fc(with)526 -b Fb(w)2051 3481 y Fd(n)p Fc(etc)598 b Fb(P)2051 3594 -y Fd(n)p Fc(see)571 b Fb(l)2051 3694 y Fd(n)p Fc(ma)m(rk)m(era)387 -b Fb(x)2051 3793 y Fd(n)p Fc(ma)m(rk)m(erb)d Fb(y)p 2001 -3844 1007 7 v 1856 5662 a Fe(1)p eop -%%Trailer -end -userdict /end-hook known{end-hook}if -%%EOF diff --git a/Master/texmf-dist/doc/latex/skak/informator.tex b/Master/texmf-dist/doc/latex/skak/informator.tex index 737e7529fa5..418387c475c 100644 --- a/Master/texmf-dist/doc/latex/skak/informator.tex +++ b/Master/texmf-dist/doc/latex/skak/informator.tex @@ -71,7 +71,7 @@ Command & \multicolumn{1}{l}{Output}\\ \midrule \Cmd{without} & \without \\ \Cmd{with} & \with \\ \Cmd{etc} & \etc \\ -\Cmd{see} & \see \\ +\Cmd{see} & see \\ \Cmd{markera} & \markera \\ \Cmd{markerb} & \markerb \\ diff --git a/Master/texmf-dist/doc/latex/skak/longmoves.tex b/Master/texmf-dist/doc/latex/skak/longmoves.tex new file mode 100644 index 00000000000..684b75aca53 --- /dev/null +++ b/Master/texmf-dist/doc/latex/skak/longmoves.tex @@ -0,0 +1,42 @@ +\documentclass[11pt,a4paper]{book} +% + +\usepackage{skak} +%\usepackage{texmate} +%\usepackage{chessboard} +% + + +\begin{document} +\pagestyle{headings} + +\styleC + +\chapter*{} + +\section*{8.\ partija\\ +DAMIN GAMBIT. TARRASCHEVA OBRAMBA} +{\tiny\bf Igrana 26. julija 1906. leta v Nurnbergu} +%% +%\newchessgame[id=Vidmar_8, +%white={M. Vidmar}, +%black={dr. S. Tarrasch}, +%result={1-0}] +%% +%\begin{center} +%{\em\xskakgetgame{white}\ ---\ \xskakgetgame{black}} +%\end{center} + +\newgame\longmoves +\mainline{1.d4 d5 2.c4 e6 3.Nc3 c5} +% + +basuhsa +(\variation{3... Nf6}) + \wmove{c7-c5}. 2. c2-c4, + +\variationcurrent{4.e3}. + +\variationcurrent{4. cxd5 exd5 5. Nf3 Nf6 6. g3 Nc6 7. Bg2 Be7 8.O-O O-O}. + +\end{document} \ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/skak/makefile b/Master/texmf-dist/doc/latex/skak/makefile new file mode 100644 index 00000000000..61218d5c820 --- /dev/null +++ b/Master/texmf-dist/doc/latex/skak/makefile @@ -0,0 +1,105 @@ +# File: Makefile +# Purpose: automatic generation of fonts +# Author: Torben Hoffmann, based on work by Piet Tutelaers +# Version: July 1999 + +SHELL = /bin/sh + +# where should the .sty and .tfm files go? +TEXMFROOT=$(HOME)/Library/texmf +INPUTS=$(TEXMFROOT)/tex/latex/skak/ +DESTPK=$(TEXMFROOT)/fonts/pk/public/skak/ +DESTGF=$(TEXMFROOT)/fonts/gf/public/skak/ +DESTTFM=$(TEXMFROOT)/fonts/tfm/public/skak/ +DESTSOURCE=$(TEXMFROOT)/fonts/source/public/skak/ +DESTDOC=$(TEXMFROOT)/doc/latex/skak/ +MFSKAKBASE= mf/skakbrikker.mf mf/skakbase.mf mf/skakinf.mf +SKAKMACROS= skak10.600pk skak15.600pk skak20.600pk skak30.600pk skakf10.600pk skakf10b.600pk tex/skak.sty tex/lambda.sty + +.SUFFIXES: .dvi .ps .600gf .600pk + +all: fonts doc + +doc: skakdoc.ps tuggame.ps refman.ps informator.ps + +fonts: skak10.600pk skak15.600pk skak20.600pk skak30.600pk skakf10.600pk skakf10b.600pk + +skakbase: skakbrikker.mf skakbase.mf skakf10.mf skakf10b.mf skakinf.mf + +skakbrikker.mf: mf/skakbrikker.mf + (cp mf/skakbrikker.mf .) + +skakbase.mf: mf/skakbase.mf + (cp mf/skakbase.mf .) + +skakf10.mf: mf/skakf10.mf + (cp mf/skakf10.mf .) + +skakf10b.mf: mf/skakf10b.mf + (cp mf/skakf10b.mf .) + +skakinf.mf: mf/skakinf.mf + (cp mf/skakinf.mf .) + + +skakdoc.dvi: doc/skakdoc.tex $(SKAKMACROS) + (cp tex/*.sty .; \ + latex "\batchmode\input doc/skakdoc.tex" \ + latex "\batchmode\input doc/skakdoc.tex") + +tuggame.dvi: doc/tuggame.tex $(SKAKMACROS) + (cp tex/*.sty .; \ + latex "\batchmode\input doc/tuggame.tex" \ + latex "\batchmode\input doc/tuggame.tex") + +refman.dvi: doc/refman.tex $(SKAKMACROS) + (cp tex/*.sty .; \ + latex "\batchmode\input doc/refman.tex" \ + latex "\batchmode\input doc/refman.tex") + +informator.dvi: doc/informator.tex $(SKAKMACROS) + (cp tex/*.sty .; \ + latex "\batchmode\input doc/informator.tex" \ + latex "\batchmode\input doc/informator.tex") + + +.dvi.ps : + dvips -o $@ $< + +.600gf.600pk: + gftopk $< + +skak10.tfm skak10.600gf: mf/skak10.mf $(MFSKAKBASE) skakbase + (mf "\mode:=localfont; input mf/skak10") + +skak15.tfm skak15.600gf: mf/skak15.mf $(MFSKAKBASE) skakbase + (mf "\mode:=localfont; input mf/skak15") + +skak20.tfm skak20.600gf: mf/skak20.mf $(MFSKAKBASE) skakbase + (mf "\mode:=localfont; input mf/skak20") + +skak30.tfm skak30.600gf: mf/skak30.mf $(MFSKAKBASE) skakbase + (mf "\mode:=localfont; input mf/skak30") + +skakf10.tfm skakf10.600gf: mf/skakf10.mf $(MFSKAKBASE) skakbase + (mf "\mode:=localfont; input mf/skakf10") + +# bold versions of the figurine notation fonts +skakf10b.tfm skakf10b.600gf: mf/skakf10b.mf $(MFSKAKBASE) skakbase + (mf "\mode:=localfont; input mf/skakf10b") + +install: fonts doc + install skak*.600pk $(DESTPK) + install skak*.600gf $(DESTGF) + install skak*.tfm $(DESTTFM) + install mf/skak*.mf $(DESTSOURCE) + install tex/skak.sty $(INPUTS) + install tex/lambda.sty $(INPUTS) + install *.ps $(DESTDOC) + @echo "Remember to run texhash!" +clean: + rm -f *gf *pk *.ps *.dvi *.aux *.log *.tfm *.mf *.fd *.sty *.toc + + + + diff --git a/Master/texmf-dist/doc/latex/skak/readme.txt b/Master/texmf-dist/doc/latex/skak/readme.txt deleted file mode 100644 index ed88490c89d..00000000000 --- a/Master/texmf-dist/doc/latex/skak/readme.txt +++ /dev/null @@ -1,137 +0,0 @@ - -Change History -============== - -Version 1.4 ------------ -* Ulrike Fischer has created an easy access to new fonts. It is decribed in - the "Using chessfonts with skak.sty" document - ask her for the - location of the document.. - -* A new command \showallbut has been in- troduced by request from - Ulrike Fischer , it has the opposite effect to showonly, i.e., all - pieces except those listed are showed in when showing the board. - -* The engine has been rewritten so now it is possible to define - typesetting using algebraic notation derived from the moves given in - SAN notation. It is also posible to typeset e.p. after en passant moves - if one care to define that. - -* The documentation has been restructured and rewritten: - - The readme.txt file has been created to keep track of the change history - and the whis-list. - - The skakdoc.tex file has been totally rewritten; hopefully to the better. - -* A SourceForge project for skak has been created: latex-skak. The hope and - intention is to start a community for the skak package in addition to better - reporting of bugs. - -Version 1.3 ------------ -* Dirk Baechle has reworked the typesetting of chess moves: - - A new capture symbol has been introduced to make the spacing - around it better. - - - The figurine symbols have been improved so that the spacing around - them are more uniform - it looks really good now, at least to my eyes. - - A proposal for what syntax the skak package should handle in the - future has been included in the distribution. - - The Informator symbols \novelty", \comment" and \various" needed - another pair of curly braces in order to work right within the - \mainline" and \variation" environments. - - The check for trailing spaces in the macro \typeset@cmoves" had to - be removed because it led to problems at the end of a \mainline" - or \variation" environment when an additional Informator symbol - was involved. - -* A reference to the pgn2ltx tool created by Dirk Bachle has been - added to the document. - -* A reference to an URL decribing the PGN standard has been added. - -Version 1.2 ------------ - -* Dirk Baechle has - once again - done a great job: - - the informator symbols have been improved and now scale as they - should (I have in the same go done some Metafont clean-up associated - with the symbols). - - he has also discovered that the selection of other fonts for the - typesetting of moves can be done by redefining the \skakfamily - command! - - added the \movecomment for flexible typesetting of comments - - see the Reference Manual for details. - - The PostScript file are now 10 times smaller (for large files) and - a comprehensive test of the PostScript ornaments has been created. - -* All dead code has been removed from skak.sty. - -Version 1.1 ------------ - -* Dirk Baechle 's enhancements have been incorporated: - - extension of the \highlight command; it now accepts X, x, O and - o as optional arguments a cross and a circle on the square, respectively, - instead of a frame around the square. - - unwanted generation of spaces removed. - - a set of Informator symbols were added to the fonts and made - available through commands documented in the informator.ps file. - -* Two fixes by Ulrike Fischer have been incorporated: - - a bug in \ParseCoordinates. - - a problem in the fonts regarding size. - -* Ulrike Fischer reported a problem with opening spaces causing the - input to be ignored - this has been fixed and test/test2.tex - verifies this. - -Version 1.0 ------------ - -The major novelty in this release is that the documentation has been -updated and a reference manual has been created. - - - -Future Additions/Wish-list -========================== - -Choosing Language for mainline ------------------------------- -(Proposal date: mid 2002.) - -It would be nice if one could choose the language for the mainline, -variation and \hidemoves for each invocation as it allows for easier -inclusion of analysis from chess programs when using a non-english -language. - - -Optimisation of the Implementation ----------------------------------- -(Proposal date: 2-Jan-2003.) - -I would like to improve some areas of the im- -plementation since they are unnecessary slow -and/or complicated, e.g., \IsPieceName could -easily be implemented as a case statement in- -stead of a list look-up. I have a strong feeling -that this would be a lot faster than the current -implementation which has a very functional pro- -gramming flavour --- this was very helpful during -the development, but it has a tendency to be a -bit inefficient. - - -Test Suite ----------- -(Proposal date: 03-Jan-2003.) -It would be a very good idea to create a test -suite created using normal testing techniques. -Areas of test should include: - -* resolving ambiguous moves, i.e., ensuring -that moves like Rad1 moves the right rook. - -* all legal SAN moves are accepted. - - diff --git a/Master/texmf-dist/doc/latex/skak/refman.pdf b/Master/texmf-dist/doc/latex/skak/refman.pdf new file mode 100644 index 00000000000..098140006d5 Binary files /dev/null and b/Master/texmf-dist/doc/latex/skak/refman.pdf differ diff --git a/Master/texmf-dist/doc/latex/skak/refman.ps b/Master/texmf-dist/doc/latex/skak/refman.ps deleted file mode 100644 index 6842bdcbfbb..00000000000 --- a/Master/texmf-dist/doc/latex/skak/refman.ps +++ /dev/null @@ -1,1575 +0,0 @@ -%!PS-Adobe-2.0 -%%Creator: dvips(k) 5.86f Copyright 2001 Radical Eye Software -%%Title: refman.dvi -%%Pages: 2 -%%PageOrder: Ascend -%%Orientation: Landscape -%%BoundingBox: 0 0 596 842 -%%DocumentPaperSizes: a4 -%%EndComments -%DVIPSWebPage: (www.radicaleye.com) -%DVIPSCommandLine: dvips refman.dvi -%DVIPSParameters: dpi=600, compressed -%DVIPSSource: TeX output 2004.07.21:2013 -%%BeginProcSet: texc.pro -%! -/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/id 0 N/rw 0 N/rc 0 N/gp 0 N/cp 0 N/G 0 N/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]/id Ci N/rw Cw 7 add 8 idiv string N/rc 0 N/gp 0 N/cp 0 N{ -rc 0 ne{rc 1 sub/rc X rw}{G}ifelse}imagemask restore}B/G{{id gp get/gp -gp 1 add N A 18 mod S 18 idiv pl S get exec}loop}B/adv{cp add/cp X}B -/chg{rw cp id gp 4 index getinterval putinterval A gp add/gp X adv}B/nd{ -/cp 0 N rw exit}B/lsh{rw cp 2 copy get A 0 eq{pop 1}{A 255 eq{pop 254}{ -A A add 255 and S 1 and or}ifelse}ifelse put 1 adv}B/rsh{rw cp 2 copy -get A 0 eq{pop 128}{A 255 eq{pop 127}{A 2 idiv S 128 and or}ifelse} -ifelse put 1 adv}B/clr{rw cp 2 index string putinterval adv}B/set{rw cp -fillstr 0 4 index getinterval putinterval adv}B/fillstr 18 string 0 1 17 -{2 copy 255 put pop}for N/pl[{adv 1 chg}{adv 1 chg nd}{1 add chg}{1 add -chg nd}{adv lsh}{adv lsh nd}{adv rsh}{adv rsh nd}{1 add adv}{/rc X nd}{ -1 add set}{1 add clr}{adv 2 chg}{adv 2 chg nd}{pop nd}]A{bind pop} -forall N/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn -/BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put -}if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{ -bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A -mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{ -SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{ -userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X -1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4 -index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N -/p{show}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 N/Ry 0 N/V{}B/RV/v{ -/Ry X/Rx X V}B statusdict begin/product where{pop false[(Display)(NeXT) -(LaserWriter 16/600)]{A length product length le{A length product exch 0 -exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}ifelse -end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{BDot}imagemask -grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat{BDot} -imagemask grestore}}ifelse B/QV{gsave newpath transform round exch round -exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 rlineto -fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B/M{S p -delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M}B/g{0 M} -B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p -3 w}B/n{ -p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{0 S -rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end - -%%EndProcSet -%%BeginProcSet: pstricks.pro -%! -% PostScript prologue for pstricks.tex. -% Version 97 patch 3, 98/06/01 -% For distribution, see pstricks.tex. -% -/tx@Dict 200 dict def tx@Dict begin -/ADict 25 dict def -/CM { matrix currentmatrix } bind def -/SLW /setlinewidth load def -/CLW /currentlinewidth load def -/CP /currentpoint load def -/ED { exch def } bind def -/L /lineto load def -/T /translate load def -/TMatrix { } def -/RAngle { 0 } def -/Atan { /atan load stopped { pop pop 0 } if } def -/Div { dup 0 eq { pop } { div } ifelse } def -/NET { neg exch neg exch T } def -/Pyth { dup mul exch dup mul add sqrt } def -/PtoC { 2 copy cos mul 3 1 roll sin mul } def -/PathLength@ { /z z y y1 sub x x1 sub Pyth add def /y1 y def /x1 x def } -def -/PathLength { flattenpath /z 0 def { /y1 ED /x1 ED /y2 y1 def /x2 x1 def -} { /y ED /x ED PathLength@ } {} { /y y2 def /x x2 def PathLength@ } -/pathforall load stopped { pop pop pop pop } if z } def -/STP { .996264 dup scale } def -/STV { SDict begin normalscale end STP } def -/DashLine { dup 0 gt { /a .5 def PathLength exch div } { pop /a 1 def -PathLength } ifelse /b ED /x ED /y ED /z y x add def b a .5 sub 2 mul y -mul sub z Div round z mul a .5 sub 2 mul y mul add b exch Div dup y mul -/y ED x mul /x ED x 0 gt y 0 gt and { [ y x ] 1 a sub y mul } { [ 1 0 ] -0 } ifelse setdash stroke } def -/DotLine { /b PathLength def /a ED /z ED /y CLW def /z y z add def a 0 gt -{ /b b a div def } { a 0 eq { /b b y sub def } { a -3 eq { /b b y add -def } if } ifelse } ifelse [ 0 b b z Div round Div dup 0 le { pop 1 } if -] a 0 gt { 0 } { y 2 div a -2 gt { neg } if } ifelse setdash 1 -setlinecap stroke } def -/LineFill { gsave abs CLW add /a ED a 0 dtransform round exch round exch -2 copy idtransform exch Atan rotate idtransform pop /a ED .25 .25 -% DG/SR modification begin - Dec. 12, 1997 - Patch 2 -%itransform translate pathbbox /y2 ED a Div ceiling cvi /x2 ED /y1 ED a -itransform pathbbox /y2 ED a Div ceiling cvi /x2 ED /y1 ED a -% DG/SR modification end -Div cvi /x1 ED /y2 y2 y1 sub def clip newpath 2 setlinecap systemdict -/setstrokeadjust known { true setstrokeadjust } if x2 x1 sub 1 add { x1 -% DG/SR modification begin - Jun. 1, 1998 - Patch 3 (from Michael Vulis) -% a mul y1 moveto 0 y2 rlineto stroke /x1 x1 1 add def } repeat grestore } -% def -a mul y1 moveto 0 y2 rlineto stroke /x1 x1 1 add def } repeat grestore -pop pop } def -% DG/SR modification end -/BeginArrow { ADict begin /@mtrx CM def gsave 2 copy T 2 index sub neg -exch 3 index sub exch Atan rotate newpath } def -/EndArrow { @mtrx setmatrix CP grestore end } def -/Arrow { CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 -scale } if w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill -grestore } def -/Tbar { CLW mul add /z ED z -2 div CLW 2 div moveto z 0 rlineto stroke 0 -CLW moveto } def -/Bracket { CLW mul add dup CLW sub 2 div /x ED mul CLW add /y ED /z CLW 2 -div def x neg y moveto x neg CLW 2 div L x CLW 2 div L x y L stroke 0 -CLW moveto } def -/RoundBracket { CLW mul add dup 2 div /x ED mul /y ED /mtrx CM def 0 CLW -2 div T x y mul 0 ne { x y scale } if 1 1 moveto .85 .5 .35 0 0 0 -curveto -.35 0 -.85 .5 -1 1 curveto mtrx setmatrix stroke 0 CLW moveto } -def -/SD { 0 360 arc fill } def -/EndDot { { /z DS def } { /z 0 def } ifelse /b ED 0 z DS SD b { 0 z DS -CLW sub SD } if 0 DS z add CLW 4 div sub moveto } def -/Shadow { [ { /moveto load } { /lineto load } { /curveto load } { -/closepath load } /pathforall load stopped { pop pop pop pop CP /moveto -load } if ] cvx newpath 3 1 roll T exec } def -/NArray { aload length 2 div dup dup cvi eq not { exch pop } if /n exch -cvi def } def -/NArray { /f ED counttomark 2 div dup cvi /n ED n eq not { exch pop } if -f { ] aload /Points ED } { n 2 mul 1 add -1 roll pop } ifelse } def -/Line { NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if ArrowA /n n 2 sub -def n { Lineto } repeat CP 4 2 roll ArrowB L pop pop } if } def -/Arcto { /a [ 6 -2 roll ] cvx def a r /arcto load stopped { 5 } { 4 } -ifelse { pop } repeat a } def -/CheckClosed { dup n 2 mul 1 sub index eq 2 index n 2 mul 1 add index eq -and { pop pop /n n 1 sub def } if } def -/Polygon { NArray n 2 eq { 0 0 /n 3 def } if n 3 lt { n { pop pop } -repeat } { n 3 gt { CheckClosed } if n 2 mul -2 roll /y0 ED /x0 ED /y1 -ED /x1 ED x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 -moveto /n n 2 sub def n { Lineto } repeat x1 y1 x0 y0 6 4 roll Lineto -Lineto pop pop closepath } ifelse } def -/Diamond { /mtrx CM def T rotate /h ED /w ED dup 0 eq { pop } { CLW mul -neg /d ED /a w h Atan def /h d a sin Div h add def /w d a cos Div w add -def } ifelse mark w 2 div h 2 div w 0 0 h neg w neg 0 0 h w 2 div h 2 -div /ArrowA { moveto } def /ArrowB { } def false Line closepath mtrx -setmatrix } def -% DG modification begin - Jan. 15, 1997 -%/Triangle { /mtrx CM def translate rotate /h ED 2 div /w ED dup 0 eq { -%pop } { CLW mul /d ED /h h d w h Atan sin Div sub def /w w d h w Atan 2 -%div dup cos exch sin Div mul sub def } ifelse mark 0 d w neg d 0 h w d 0 -%d /ArrowA { moveto } def /ArrowB { } def false Line closepath mtrx -%setmatrix } def -/Triangle { /mtrx CM def translate rotate /h ED 2 div /w ED dup -CLW mul /d ED /h h d w h Atan sin Div sub def /w w d h w Atan 2 -div dup cos exch sin Div mul sub def mark 0 d w neg d 0 h w d 0 -d /ArrowA { moveto } def /ArrowB { } def false Line closepath mtrx -% DG/SR modification begin - Jun. 1, 1998 - Patch 3 (from Michael Vulis) -% setmatrix } def -setmatrix pop } def -% DG/SR modification end -/CCA { /y ED /x ED 2 copy y sub /dy1 ED x sub /dx1 ED /l1 dx1 dy1 Pyth -def } def -/CCA { /y ED /x ED 2 copy y sub /dy1 ED x sub /dx1 ED /l1 dx1 dy1 Pyth -def } def -/CC { /l0 l1 def /x1 x dx sub def /y1 y dy sub def /dx0 dx1 def /dy0 dy1 -def CCA /dx dx0 l1 c exp mul dx1 l0 c exp mul add def /dy dy0 l1 c exp -mul dy1 l0 c exp mul add def /m dx0 dy0 Atan dx1 dy1 Atan sub 2 div cos -abs b exp a mul dx dy Pyth Div 2 div def /x2 x l0 dx mul m mul sub def -/y2 y l0 dy mul m mul sub def /dx l1 dx mul m mul neg def /dy l1 dy mul -m mul neg def } def -/IC { /c c 1 add def c 0 lt { /c 0 def } { c 3 gt { /c 3 def } if } -ifelse /a a 2 mul 3 div 45 cos b exp div def CCA /dx 0 def /dy 0 def } -def -/BOC { IC CC x2 y2 x1 y1 ArrowA CP 4 2 roll x y curveto } def -/NC { CC x1 y1 x2 y2 x y curveto } def -/EOC { x dx sub y dy sub 4 2 roll ArrowB 2 copy curveto } def -/BAC { IC CC x y moveto CC x1 y1 CP ArrowA } def -/NAC { x2 y2 x y curveto CC x1 y1 } def -/EAC { x2 y2 x y ArrowB curveto pop pop } def -/OpenCurve { NArray n 3 lt { n { pop pop } repeat } { BOC /n n 3 sub def -n { NC } repeat EOC } ifelse } def -/AltCurve { { false NArray n 2 mul 2 roll [ n 2 mul 3 sub 1 roll ] aload -/Points ED n 2 mul -2 roll } { false NArray } ifelse n 4 lt { n { pop -pop } repeat } { BAC /n n 4 sub def n { NAC } repeat EAC } ifelse } def -/ClosedCurve { NArray n 3 lt { n { pop pop } repeat } { n 3 gt { -CheckClosed } if 6 copy n 2 mul 6 add 6 roll IC CC x y moveto n { NC } -repeat closepath pop pop } ifelse } def -/SQ { /r ED r r moveto r r neg L r neg r neg L r neg r L fill } def -/ST { /y ED /x ED x y moveto x neg y L 0 x L fill } def -/SP { /r ED gsave 0 r moveto 4 { 72 rotate 0 r L } repeat fill grestore } -def -/FontDot { DS 2 mul dup matrix scale matrix concatmatrix exch matrix -rotate matrix concatmatrix exch findfont exch makefont setfont } def -/Rect { x1 y1 y2 add 2 div moveto x1 y2 lineto x2 y2 lineto x2 y1 lineto -x1 y1 lineto closepath } def -/OvalFrame { x1 x2 eq y1 y2 eq or { pop pop x1 y1 moveto x2 y2 L } { y1 -y2 sub abs x1 x2 sub abs 2 copy gt { exch pop } { pop } ifelse 2 div -exch { dup 3 1 roll mul exch } if 2 copy lt { pop } { exch pop } ifelse -/b ED x1 y1 y2 add 2 div moveto x1 y2 x2 y2 b arcto x2 y2 x2 y1 b arcto -x2 y1 x1 y1 b arcto x1 y1 x1 y2 b arcto 16 { pop } repeat closepath } -ifelse } def -/Frame { CLW mul /a ED 3 -1 roll 2 copy gt { exch } if a sub /y2 ED a add -/y1 ED 2 copy gt { exch } if a sub /x2 ED a add /x1 ED 1 index 0 eq { -pop pop Rect } { OvalFrame } ifelse } def -/BezierNArray { /f ED counttomark 2 div dup cvi /n ED n eq not { exch pop -} if n 1 sub neg 3 mod 3 add 3 mod { 0 0 /n n 1 add def } repeat f { ] -aload /Points ED } { n 2 mul 1 add -1 roll pop } ifelse } def -/OpenBezier { BezierNArray n 1 eq { pop pop } { ArrowA n 4 sub 3 idiv { 6 -2 roll 4 2 roll curveto } repeat 6 2 roll 4 2 roll ArrowB curveto } -ifelse } def -/ClosedBezier { BezierNArray n 1 eq { pop pop } { moveto n 1 sub 3 idiv { -6 2 roll 4 2 roll curveto } repeat closepath } ifelse } def -/BezierShowPoints { gsave Points aload length 2 div cvi /n ED moveto n 1 -sub { lineto } repeat CLW 2 div SLW [ 4 4 ] 0 setdash stroke grestore } -def -/Parab { /y0 exch def /x0 exch def /y1 exch def /x1 exch def /dx x0 x1 -sub 3 div def /dy y0 y1 sub 3 div def x0 dx sub y0 dy add x1 y1 ArrowA -x0 dx add y0 dy add x0 2 mul x1 sub y1 ArrowB curveto /Points [ x1 y1 x0 -y0 x0 2 mul x1 sub y1 ] def } def -/Grid { newpath /a 4 string def /b ED /c ED /n ED cvi dup 1 lt { pop 1 } -if /s ED s div dup 0 eq { pop 1 } if /dy ED s div dup 0 eq { pop 1 } if -/dx ED dy div round dy mul /y0 ED dx div round dx mul /x0 ED dy div -round cvi /y2 ED dx div round cvi /x2 ED dy div round cvi /y1 ED dx div -round cvi /x1 ED /h y2 y1 sub 0 gt { 1 } { -1 } ifelse def /w x2 x1 sub -0 gt { 1 } { -1 } ifelse def b 0 gt { /z1 b 4 div CLW 2 div add def -/Helvetica findfont b scalefont setfont /b b .95 mul CLW 2 div add def } -if systemdict /setstrokeadjust known { true setstrokeadjust /t { } def } -{ /t { transform 0.25 sub round 0.25 add exch 0.25 sub round 0.25 add -exch itransform } bind def } ifelse gsave n 0 gt { 1 setlinecap [ 0 dy n -div ] dy n div 2 div setdash } { 2 setlinecap } ifelse /i x1 def /f y1 -dy mul n 0 gt { dy n div 2 div h mul sub } if def /g y2 dy mul n 0 gt { -dy n div 2 div h mul add } if def x2 x1 sub w mul 1 add dup 1000 gt { -pop 1000 } if { i dx mul dup y0 moveto b 0 gt { gsave c i a cvs dup -stringwidth pop /z2 ED w 0 gt {z1} {z1 z2 add neg} ifelse h 0 gt {b neg} -{z1} ifelse rmoveto show grestore } if dup t f moveto g t L stroke /i i -w add def } repeat grestore gsave n 0 gt -% DG/SR modification begin - Nov. 7, 1997 - Patch 1 -%{ 1 setlinecap [ 0 dx n div ] dy n div 2 div setdash } -{ 1 setlinecap [ 0 dx n div ] dx n div 2 div setdash } -% DG/SR modification end -{ 2 setlinecap } ifelse /i y1 def /f x1 dx mul -n 0 gt { dx n div 2 div w mul sub } if def /g x2 dx mul n 0 gt { dx n -div 2 div w mul add } if def y2 y1 sub h mul 1 add dup 1000 gt { pop -1000 } if { newpath i dy mul dup x0 exch moveto b 0 gt { gsave c i a cvs -dup stringwidth pop /z2 ED w 0 gt {z1 z2 add neg} {z1} ifelse h 0 gt -{z1} {b neg} ifelse rmoveto show grestore } if dup f exch t moveto g -exch t L stroke /i i h add def } repeat grestore } def -/ArcArrow { /d ED /b ED /a ED gsave newpath 0 -1000 moveto clip newpath 0 -1 0 0 b grestore c mul /e ED pop pop pop r a e d PtoC y add exch x add -exch r a PtoC y add exch x add exch b pop pop pop pop a e d CLW 8 div c -mul neg d } def -/Ellipse { /mtrx CM def T scale 0 0 1 5 3 roll arc mtrx setmatrix } def -/Rot { CP CP translate 3 -1 roll neg rotate NET } def -/RotBegin { tx@Dict /TMatrix known not { /TMatrix { } def /RAngle { 0 } -def } if /TMatrix [ TMatrix CM ] cvx def /a ED a Rot /RAngle [ RAngle -dup a add ] cvx def } def -/RotEnd { /TMatrix [ TMatrix setmatrix ] cvx def /RAngle [ RAngle pop ] -cvx def } def -/PutCoor { gsave CP T CM STV exch exec moveto setmatrix CP grestore } def -/PutBegin { /TMatrix [ TMatrix CM ] cvx def CP 4 2 roll T moveto } def -/PutEnd { CP /TMatrix [ TMatrix setmatrix ] cvx def moveto } def -/Uput { /a ED add 2 div /h ED 2 div /w ED /s a sin def /c a cos def /b s -abs c abs 2 copy gt dup /q ED { pop } { exch pop } ifelse def /w1 c b -div w mul def /h1 s b div h mul def q { w1 abs w sub dup c mul abs } { -h1 abs h sub dup s mul abs } ifelse } def -/UUput { /z ED abs /y ED /x ED q { x s div c mul abs y gt } { x c div s -mul abs y gt } ifelse { x x mul y y mul sub z z mul add sqrt z add } { q -{ x s div } { x c div } ifelse abs } ifelse a PtoC h1 add exch w1 add -exch } def -/BeginOL { dup (all) eq exch TheOL eq or { IfVisible not { Visible -/IfVisible true def } if } { IfVisible { Invisible /IfVisible false def -} if } ifelse } def -/InitOL { /OLUnit [ 3000 3000 matrix defaultmatrix dtransform ] cvx def -/Visible { CP OLUnit idtransform T moveto } def /Invisible { CP OLUnit -neg exch neg exch idtransform T moveto } def /BOL { BeginOL } def -/IfVisible true def } def -end -% END pstricks.pro - -%%EndProcSet -%%BeginProcSet: pst-dots.pro -%!PS-Adobe-2.0 -%%Title: Dot Font for PSTricks -%%Creator: Timothy Van Zandt -%%Creation Date: May 7, 1993 -%% Version 97 patch 1, 99/12/16 -%% Modified by Etienne Riga - Dec. 16, 1999 -%% to add /Diamond, /SolidDiamond and /BoldDiamond -10 dict dup begin - /FontType 3 def - /FontMatrix [ .001 0 0 .001 0 0 ] def - /FontBBox [ 0 0 0 0 ] def - /Encoding 256 array def - 0 1 255 { Encoding exch /.notdef put } for - Encoding - dup (b) 0 get /Bullet put - dup (c) 0 get /Circle put - dup (C) 0 get /BoldCircle put - dup (u) 0 get /SolidTriangle put - dup (t) 0 get /Triangle put - dup (T) 0 get /BoldTriangle put - dup (r) 0 get /SolidSquare put - dup (s) 0 get /Square put - dup (S) 0 get /BoldSquare put - dup (q) 0 get /SolidPentagon put - dup (p) 0 get /Pentagon put - dup (P) 0 get /BoldPentagon put -% DG/SR modification begin - Dec. 16, 1999 - From Etienne Riga - dup (l) 0 get /SolidDiamond put - dup (d) 0 get /Diamond put - (D) 0 get /BoldDiamond put -% DG/SR modification end - /Metrics 13 dict def - Metrics begin - /Bullet 1000 def - /Circle 1000 def - /BoldCircle 1000 def - /SolidTriangle 1344 def - /Triangle 1344 def - /BoldTriangle 1344 def - /SolidSquare 886 def - /Square 886 def - /BoldSquare 886 def - /SolidPentagon 1093.2 def - /Pentagon 1093.2 def - /BoldPentagon 1093.2 def -% DG/SR modification begin - Dec. 16, 1999 - From Etienne Riga - /SolidDiamond 1008 def - /Diamond 1008 def - /BoldDiamond 1008 def -% DG/SR modification end - /.notdef 0 def - end - /BBoxes 13 dict def - BBoxes begin - /Circle { -550 -550 550 550 } def - /BoldCircle /Circle load def - /Bullet /Circle load def - /Triangle { -571.5 -330 571.5 660 } def - /BoldTriangle /Triangle load def - /SolidTriangle /Triangle load def - /Square { -450 -450 450 450 } def - /BoldSquare /Square load def - /SolidSquare /Square load def - /Pentagon { -546.6 -465 546.6 574.7 } def - /BoldPentagon /Pentagon load def - /SolidPentagon /Pentagon load def -% DG/SR modification begin - Dec. 16, 1999 - From Etienne Riga - /Diamond { -428.5 -742.5 428.5 742.5 } def - /BoldDiamond /Diamond load def - /SolidDiamond /Diamond load def -% DG/SR modification end - /.notdef { 0 0 0 0 } def - end - /CharProcs 20 dict def - CharProcs begin - /Adjust { - 2 copy dtransform floor .5 add exch floor .5 add exch idtransform - 3 -1 roll div 3 1 roll exch div exch scale - } def - /CirclePath { 0 0 500 0 360 arc closepath } def - /Bullet { 500 500 Adjust CirclePath fill } def - /Circle { 500 500 Adjust CirclePath .9 .9 scale CirclePath - eofill } def - /BoldCircle { 500 500 Adjust CirclePath .8 .8 scale CirclePath - eofill } def - /BoldCircle { CirclePath .8 .8 scale CirclePath eofill } def - /TrianglePath { 0 660 moveto -571.5 -330 lineto 571.5 -330 lineto - closepath } def - /SolidTriangle { TrianglePath fill } def - /Triangle { TrianglePath .85 .85 scale TrianglePath eofill } def - /BoldTriangle { TrianglePath .7 .7 scale TrianglePath eofill } def - /SquarePath { -450 450 moveto 450 450 lineto 450 -450 lineto - -450 -450 lineto closepath } def - /SolidSquare { SquarePath fill } def - /Square { SquarePath .89 .89 scale SquarePath eofill } def - /BoldSquare { SquarePath .78 .78 scale SquarePath eofill } def - /PentagonPath { - -337.8 -465 moveto - 337.8 -465 lineto - 546.6 177.6 lineto - 0 574.7 lineto - -546.6 177.6 lineto - closepath - } def - /SolidPentagon { PentagonPath fill } def - /Pentagon { PentagonPath .89 .89 scale PentagonPath eofill } def - /BoldPentagon { PentagonPath .78 .78 scale PentagonPath eofill } def -% DG/SR modification begin - Dec. 16, 1999 - From Etienne Riga - /DiamondPath { 0 742.5 moveto -428.5 0 lineto 0 -742.5 lineto - 428.5 0 lineto closepath } def - /SolidDiamond { DiamondPath fill } def - /Diamond { DiamondPath .85 .85 scale DiamondPath eofill } def - /BoldDiamond { DiamondPath .7 .7 scale DiamondPath eofill } def -% DG/SR modification end - /.notdef { } def - end - /BuildGlyph { - exch - begin - Metrics 1 index get exec 0 - BBoxes 3 index get exec - setcachedevice - CharProcs begin load exec end - end - } def - /BuildChar { - 1 index /Encoding get exch get - 1 index /BuildGlyph get exec - } bind def -end -/PSTricksDotFont exch definefont pop -%END pst-dots.pro - -%%EndProcSet -%%BeginProcSet: pst-node.pro -%! -% PostScript prologue for pst-node.tex. -% Version 97 patch 1, 97/05/09. -% For distribution, see pstricks.tex. -% -/tx@NodeDict 400 dict def tx@NodeDict begin -tx@Dict begin /T /translate load def end -/NewNode { gsave /next ED dict dup 3 1 roll def exch { dup 3 1 roll def } -if begin tx@Dict begin STV CP T exec end /NodeMtrx CM def next end -grestore } def -/InitPnode { /Y ED /X ED /NodePos { NodeSep Cos mul NodeSep Sin mul } def -} def -/InitCnode { /r ED /Y ED /X ED /NodePos { NodeSep r add dup Cos mul exch -Sin mul } def } def -/GetRnodePos { Cos 0 gt { /dx r NodeSep add def } { /dx l NodeSep sub def -} ifelse Sin 0 gt { /dy u NodeSep add def } { /dy d NodeSep sub def } -ifelse dx Sin mul abs dy Cos mul abs gt { dy Cos mul Sin div dy } { dx -dup Sin mul Cos Div } ifelse } def -/InitRnode { /Y ED /X ED X sub /r ED /l X neg def Y add neg /d ED Y sub -/u ED /NodePos { GetRnodePos } def } def -/DiaNodePos { w h mul w Sin mul abs h Cos mul abs add Div NodeSep add dup -Cos mul exch Sin mul } def -/TriNodePos { Sin s lt { d NodeSep sub dup Cos mul Sin Div exch } { w h -mul w Sin mul h Cos abs mul add Div NodeSep add dup Cos mul exch Sin mul -} ifelse } def -/InitTriNode { sub 2 div exch 2 div exch 2 copy T 2 copy 4 index index /d -ED pop pop pop pop -90 mul rotate /NodeMtrx CM def /X 0 def /Y 0 def d -sub abs neg /d ED d add /h ED 2 div h mul h d sub Div /w ED /s d w Atan -sin def /NodePos { TriNodePos } def } def -/OvalNodePos { /ww w NodeSep add def /hh h NodeSep add def Sin ww mul Cos -hh mul Atan dup cos ww mul exch sin hh mul } def -/GetCenter { begin X Y NodeMtrx transform CM itransform end } def -/XYPos { dup sin exch cos Do /Cos ED /Sin ED /Dist ED Cos 0 gt { Dist -Dist Sin mul Cos div } { Cos 0 lt { Dist neg Dist Sin mul Cos div neg } -{ 0 Dist Sin mul } ifelse } ifelse Do } def -/GetEdge { dup 0 eq { pop begin 1 0 NodeMtrx dtransform CM idtransform -exch atan sub dup sin /Sin ED cos /Cos ED /NodeSep ED NodePos NodeMtrx -dtransform CM idtransform end } { 1 eq {{exch}} {{}} ifelse /Do ED pop -XYPos } ifelse } def -/AddOffset { 1 index 0 eq { pop pop } { 2 copy 5 2 roll cos mul add 4 1 -roll sin mul sub exch } ifelse } def -/GetEdgeA { NodeSepA AngleA NodeA NodeSepTypeA GetEdge OffsetA AngleA -AddOffset yA add /yA1 ED xA add /xA1 ED } def -/GetEdgeB { NodeSepB AngleB NodeB NodeSepTypeB GetEdge OffsetB AngleB -AddOffset yB add /yB1 ED xB add /xB1 ED } def -/GetArmA { ArmTypeA 0 eq { /xA2 ArmA AngleA cos mul xA1 add def /yA2 ArmA -AngleA sin mul yA1 add def } { ArmTypeA 1 eq {{exch}} {{}} ifelse /Do ED -ArmA AngleA XYPos OffsetA AngleA AddOffset yA add /yA2 ED xA add /xA2 ED -} ifelse } def -/GetArmB { ArmTypeB 0 eq { /xB2 ArmB AngleB cos mul xB1 add def /yB2 ArmB -AngleB sin mul yB1 add def } { ArmTypeB 1 eq {{exch}} {{}} ifelse /Do ED -ArmB AngleB XYPos OffsetB AngleB AddOffset yB add /yB2 ED xB add /xB2 ED -} ifelse } def -/InitNC { /b ED /a ED /NodeSepTypeB ED /NodeSepTypeA ED /NodeSepB ED -/NodeSepA ED /OffsetB ED /OffsetA ED tx@NodeDict a known tx@NodeDict b -known and dup { /NodeA a load def /NodeB b load def NodeA GetCenter /yA -ED /xA ED NodeB GetCenter /yB ED /xB ED } if } def -/LPutLine { 4 copy 3 -1 roll sub neg 3 1 roll sub Atan /NAngle ED 1 t sub -mul 3 1 roll 1 t sub mul 4 1 roll t mul add /Y ED t mul add /X ED } def -/LPutLines { mark LPutVar counttomark 2 div 1 sub /n ED t floor dup n gt -{ pop n 1 sub /t 1 def } { dup t sub neg /t ED } ifelse cvi 2 mul { pop -} repeat LPutLine cleartomark } def -/BezierMidpoint { /y3 ED /x3 ED /y2 ED /x2 ED /y1 ED /x1 ED /y0 ED /x0 ED -/t ED /cx x1 x0 sub 3 mul def /cy y1 y0 sub 3 mul def /bx x2 x1 sub 3 -mul cx sub def /by y2 y1 sub 3 mul cy sub def /ax x3 x0 sub cx sub bx -sub def /ay y3 y0 sub cy sub by sub def ax t 3 exp mul bx t t mul mul -add cx t mul add x0 add ay t 3 exp mul by t t mul mul add cy t mul add -y0 add 3 ay t t mul mul mul 2 by t mul mul add cy add 3 ax t t mul mul -mul 2 bx t mul mul add cx add atan /NAngle ED /Y ED /X ED } def -/HPosBegin { yB yA ge { /t 1 t sub def } if /Y yB yA sub t mul yA add def -} def -/HPosEnd { /X Y yyA sub yyB yyA sub Div xxB xxA sub mul xxA add def -/NAngle yyB yyA sub xxB xxA sub Atan def } def -/HPutLine { HPosBegin /yyA ED /xxA ED /yyB ED /xxB ED HPosEnd } def -/HPutLines { HPosBegin yB yA ge { /check { le } def } { /check { ge } def -} ifelse /xxA xA def /yyA yA def mark xB yB LPutVar { dup Y check { exit -} { /yyA ED /xxA ED } ifelse } loop /yyB ED /xxB ED cleartomark HPosEnd -} def -/VPosBegin { xB xA lt { /t 1 t sub def } if /X xB xA sub t mul xA add def -} def -/VPosEnd { /Y X xxA sub xxB xxA sub Div yyB yyA sub mul yyA add def -/NAngle yyB yyA sub xxB xxA sub Atan def } def -/VPutLine { VPosBegin /yyA ED /xxA ED /yyB ED /xxB ED VPosEnd } def -/VPutLines { VPosBegin xB xA ge { /check { le } def } { /check { ge } def -} ifelse /xxA xA def /yyA yA def mark xB yB LPutVar { 1 index X check { -exit } { /yyA ED /xxA ED } ifelse } loop /yyB ED /xxB ED cleartomark -VPosEnd } def -/HPutCurve { gsave newpath /SaveLPutVar /LPutVar load def LPutVar 8 -2 -roll moveto curveto flattenpath /LPutVar [ {} {} {} {} pathforall ] cvx -def grestore exec /LPutVar /SaveLPutVar load def } def -/NCCoor { /AngleA yB yA sub xB xA sub Atan def /AngleB AngleA 180 add def -GetEdgeA GetEdgeB /LPutVar [ xB1 yB1 xA1 yA1 ] cvx def /LPutPos { -LPutVar LPutLine } def /HPutPos { LPutVar HPutLine } def /VPutPos { -LPutVar VPutLine } def LPutVar } def -/NCLine { NCCoor tx@Dict begin ArrowA CP 4 2 roll ArrowB lineto pop pop -end } def -/NCLines { false NArray n 0 eq { NCLine } { 2 copy yA sub exch xA sub -Atan /AngleA ED n 2 mul dup index exch index yB sub exch xB sub Atan -/AngleB ED GetEdgeA GetEdgeB /LPutVar [ xB1 yB1 n 2 mul 4 add 4 roll xA1 -yA1 ] cvx def mark LPutVar tx@Dict begin false Line end /LPutPos { -LPutLines } def /HPutPos { HPutLines } def /VPutPos { VPutLines } def } -ifelse } def -/NCCurve { GetEdgeA GetEdgeB xA1 xB1 sub yA1 yB1 sub Pyth 2 div dup 3 -1 -roll mul /ArmA ED mul /ArmB ED /ArmTypeA 0 def /ArmTypeB 0 def GetArmA -GetArmB xA2 yA2 xA1 yA1 tx@Dict begin ArrowA end xB2 yB2 xB1 yB1 tx@Dict -begin ArrowB end curveto /LPutVar [ xA1 yA1 xA2 yA2 xB2 yB2 xB1 yB1 ] -cvx def /LPutPos { t LPutVar BezierMidpoint } def /HPutPos { { HPutLines -} HPutCurve } def /VPutPos { { VPutLines } HPutCurve } def } def -/NCAngles { GetEdgeA GetEdgeB GetArmA GetArmB /mtrx AngleA matrix rotate -def xA2 yA2 mtrx transform pop xB2 yB2 mtrx transform exch pop mtrx -itransform /y0 ED /x0 ED mark ArmB 0 ne { xB1 yB1 } if xB2 yB2 x0 y0 xA2 -yA2 ArmA 0 ne { xA1 yA1 } if tx@Dict begin false Line end /LPutVar [ xB1 -yB1 xB2 yB2 x0 y0 xA2 yA2 xA1 yA1 ] cvx def /LPutPos { LPutLines } def -/HPutPos { HPutLines } def /VPutPos { VPutLines } def } def -/NCAngle { GetEdgeA GetEdgeB GetArmB /mtrx AngleA matrix rotate def xB2 -yB2 mtrx itransform pop xA1 yA1 mtrx itransform exch pop mtrx transform -/y0 ED /x0 ED mark ArmB 0 ne { xB1 yB1 } if xB2 yB2 x0 y0 xA1 yA1 -tx@Dict begin false Line end /LPutVar [ xB1 yB1 xB2 yB2 x0 y0 xA1 yA1 ] -cvx def /LPutPos { LPutLines } def /HPutPos { HPutLines } def /VPutPos { -VPutLines } def } def -/NCBar { GetEdgeA GetEdgeB GetArmA GetArmB /mtrx AngleA matrix rotate def -xA2 yA2 mtrx itransform pop xB2 yB2 mtrx itransform pop sub dup 0 mtrx -transform 3 -1 roll 0 gt { /yB2 exch yB2 add def /xB2 exch xB2 add def } -{ /yA2 exch neg yA2 add def /xA2 exch neg xA2 add def } ifelse mark ArmB -0 ne { xB1 yB1 } if xB2 yB2 xA2 yA2 ArmA 0 ne { xA1 yA1 } if tx@Dict -begin false Line end /LPutVar [ xB1 yB1 xB2 yB2 xA2 yA2 xA1 yA1 ] cvx -def /LPutPos { LPutLines } def /HPutPos { HPutLines } def /VPutPos { -VPutLines } def } def -/NCDiag { GetEdgeA GetEdgeB GetArmA GetArmB mark ArmB 0 ne { xB1 yB1 } if -xB2 yB2 xA2 yA2 ArmA 0 ne { xA1 yA1 } if tx@Dict begin false Line end -/LPutVar [ xB1 yB1 xB2 yB2 xA2 yA2 xA1 yA1 ] cvx def /LPutPos { -LPutLines } def /HPutPos { HPutLines } def /VPutPos { VPutLines } def } -def -/NCDiagg { GetEdgeA GetArmA yB yA2 sub xB xA2 sub Atan 180 add /AngleB ED -GetEdgeB mark xB1 yB1 xA2 yA2 ArmA 0 ne { xA1 yA1 } if tx@Dict begin -false Line end /LPutVar [ xB1 yB1 xA2 yA2 xA1 yA1 ] cvx def /LPutPos { -LPutLines } def /HPutPos { HPutLines } def /VPutPos { VPutLines } def } -def -/NCLoop { GetEdgeA GetEdgeB GetArmA GetArmB /mtrx AngleA matrix rotate -def xA2 yA2 mtrx transform loopsize add /yA3 ED /xA3 ED /xB3 xB2 yB2 -mtrx transform pop def xB3 yA3 mtrx itransform /yB3 ED /xB3 ED xA3 yA3 -mtrx itransform /yA3 ED /xA3 ED mark ArmB 0 ne { xB1 yB1 } if xB2 yB2 -xB3 yB3 xA3 yA3 xA2 yA2 ArmA 0 ne { xA1 yA1 } if tx@Dict begin false -Line end /LPutVar [ xB1 yB1 xB2 yB2 xB3 yB3 xA3 yA3 xA2 yA2 xA1 yA1 ] -cvx def /LPutPos { LPutLines } def /HPutPos { HPutLines } def /VPutPos { -VPutLines } def } def -% DG/SR modification begin - May 9, 1997 - Patch 1 -%/NCCircle { 0 0 NodesepA nodeA \tx@GetEdge pop xA sub 2 div dup 2 exp r -%r mul sub abs sqrt atan 2 mul /a ED r AngleA 90 add PtoC yA add exch xA add -%exch 2 copy /LPutVar [ 4 2 roll r AngleA ] cvx def /LPutPos { LPutVar t 360 -%mul add dup 5 1 roll 90 sub \tx@PtoC 3 -1 roll add /Y ED add /X ED /NAngle ED -/NCCircle { NodeSepA 0 NodeA 0 GetEdge pop 2 div dup 2 exp r -r mul sub abs sqrt atan 2 mul /a ED r AngleA 90 add PtoC yA add exch xA add -exch 2 copy /LPutVar [ 4 2 roll r AngleA ] cvx def /LPutPos { LPutVar t 360 -mul add dup 5 1 roll 90 sub PtoC 3 -1 roll add /Y ED add /X ED /NAngle ED -% DG/SR modification end -} def /HPutPos { LPutPos } def /VPutPos { LPutPos } def r AngleA 90 sub a add -AngleA 270 add a sub tx@Dict begin /angleB ED /angleA ED /r ED /c 57.2957 r -Div def /y ED /x ED } def -/NCBox { /d ED /h ED /AngleB yB yA sub xB xA sub Atan def /AngleA AngleB -180 add def GetEdgeA GetEdgeB /dx d AngleB sin mul def /dy d AngleB cos -mul neg def /hx h AngleB sin mul neg def /hy h AngleB cos mul def -/LPutVar [ xA1 hx add yA1 hy add xB1 hx add yB1 hy add xB1 dx add yB1 dy -add xA1 dx add yA1 dy add ] cvx def /LPutPos { LPutLines } def /HPutPos -{ xB yB xA yA LPutLine } def /VPutPos { HPutPos } def mark LPutVar -tx@Dict begin false Polygon end } def -/NCArcBox { /l ED neg /d ED /h ED /a ED /AngleA yB yA sub xB xA sub Atan -def /AngleB AngleA 180 add def /tA AngleA a sub 90 add def /tB tA a 2 -mul add def /r xB xA sub tA cos tB cos sub Div dup 0 eq { pop 1 } if def -/x0 xA r tA cos mul add def /y0 yA r tA sin mul add def /c 57.2958 r div -def /AngleA AngleA a sub 180 add def /AngleB AngleB a add 180 add def -GetEdgeA GetEdgeB /AngleA tA 180 add yA yA1 sub xA xA1 sub Pyth c mul -sub def /AngleB tB 180 add yB yB1 sub xB xB1 sub Pyth c mul add def l 0 -eq { x0 y0 r h add AngleA AngleB arc x0 y0 r d add AngleB AngleA arcn } -{ x0 y0 translate /tA AngleA l c mul add def /tB AngleB l c mul sub def -0 0 r h add tA tB arc r h add AngleB PtoC r d add AngleB PtoC 2 copy 6 2 -roll l arcto 4 { pop } repeat r d add tB PtoC l arcto 4 { pop } repeat 0 -0 r d add tB tA arcn r d add AngleA PtoC r h add AngleA PtoC 2 copy 6 2 -roll l arcto 4 { pop } repeat r h add tA PtoC l arcto 4 { pop } repeat } -ifelse closepath /LPutVar [ x0 y0 r AngleA AngleB h d ] cvx def /LPutPos -{ LPutVar /d ED /h ED /AngleB ED /AngleA ED /r ED /y0 ED /x0 ED t 1 le { -r h add AngleA 1 t sub mul AngleB t mul add dup 90 add /NAngle ED PtoC } -{ t 2 lt { /NAngle AngleB 180 add def r 2 t sub h mul t 1 sub d mul add -add AngleB PtoC } { t 3 lt { r d add AngleB 3 t sub mul AngleA 2 t sub -mul add dup 90 sub /NAngle ED PtoC } { /NAngle AngleA 180 add def r 4 t -sub d mul t 3 sub h mul add add AngleA PtoC } ifelse } ifelse } ifelse -y0 add /Y ED x0 add /X ED } def /HPutPos { LPutPos } def /VPutPos { -LPutPos } def } def -/Tfan { /AngleA yB yA sub xB xA sub Atan def GetEdgeA w xA1 xB sub yA1 yB -sub Pyth Pyth w Div CLW 2 div mul 2 div dup AngleA sin mul yA1 add /yA1 -ED AngleA cos mul xA1 add /xA1 ED /LPutVar [ xA1 yA1 m { xB w add yB xB -w sub yB } { xB yB w sub xB yB w add } ifelse xA1 yA1 ] cvx def /LPutPos -{ LPutLines } def /VPutPos@ { LPutVar flag { 8 4 roll pop pop pop pop } -{ pop pop pop pop 4 2 roll } ifelse } def /VPutPos { VPutPos@ VPutLine } -def /HPutPos { VPutPos@ HPutLine } def mark LPutVar tx@Dict begin -/ArrowA { moveto } def /ArrowB { } def false Line closepath end } def -/LPutCoor { NAngle tx@Dict begin /NAngle ED end gsave CM STV CP Y sub neg -exch X sub neg exch moveto setmatrix CP grestore } def -/LPut { tx@NodeDict /LPutPos known { LPutPos } { CP /Y ED /X ED /NAngle 0 -def } ifelse LPutCoor } def -/HPutAdjust { Sin Cos mul 0 eq { 0 } { d Cos mul Sin div flag not { neg } -if h Cos mul Sin div flag { neg } if 2 copy gt { pop } { exch pop } -ifelse } ifelse s add flag { r add neg } { l add } ifelse X add /X ED } -def -/VPutAdjust { Sin Cos mul 0 eq { 0 } { l Sin mul Cos div flag { neg } if -r Sin mul Cos div flag not { neg } if 2 copy gt { pop } { exch pop } -ifelse } ifelse s add flag { d add } { h add neg } ifelse Y add /Y ED } -def -end -% END pst-node.pro - -%%EndProcSet -%%BeginProcSet: special.pro -%! -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 -TeXDict begin 55379997 39157999 1000 600 600 (refman.dvi) -@start -%DVIPSBitmapFont: Fa skakf10 10 1 -/Fa 1 89 df<00F015386C157C6C15FC007EEC01F86CEC03F06C6CEB07E06C6CEB0FC06C -6CEB1F806C6CEB3F006C6C137E6C6C5B90387E01F86D485A90381F87E090380FCFC06DB4 -5A6D90C7FC6D5A6D5A497E497E497F90380FCFC090381F87E090383F03F090387E01F849 -6C7E4848137E48487F4848EB1F804848EB0FC04848EB07E048C7EA03F0007EEC01F848EC -00FC48157C0070153826257AA432>88 D E -%EndDVIPSBitmapFont -%DVIPSBitmapFont: Fb skak10 10 1 -/Fb 1 79 df<0104131801071338903805C06C90380460C4EC3984EC0F06EC0E02903806 -3803903902E001F890390380000F0106C7EA01C049EC007049151C4915064981496F7E49 -6F7ED981C01560D9838015200187163091C97E018E160801980220130CD80180160490C8 -1406481702000203601303000603407F000415C0000C4A481480484AC8FC00105C003002 -1D15C0002002311540006014E10040D90381156000C0D90E011520008C1338009CEB6003 -DAC002153026980180161000C0EB0006D840031304D86042130CD830C601081518D81F84 -01181508D8030C5BD801985BD800F05B90380001804AC9120C020616045C140814181410 -14301420A5023FB712FC3E3F76C853>78 D E -%EndDVIPSBitmapFont -%DVIPSBitmapFont: Fc cmmi10 10 2 -/Fc 2 63 df60 -D<126012FCB4FCEA7FC0EA1FF0EA07FCEA01FF38007FC0EB1FF0EB07FCEB01FF9038007F -C0EC1FF0EC07FCEC01FF9138007FC0ED1FF0ED07FCED01FF9238007FC0EE1FF0EE07FCEE -01FF9338007F80EF1FC0A2EF7F80933801FF00EE07FCEE1FF0EE7FC04B48C7FCED07FCED -1FF0ED7FC04A48C8FCEC07FCEC1FF0EC7FC04948C9FCEB07FCEB1FF0EB7FC04848CAFCEA -07FCEA3FF0EA7FC048CBFC12FC1270323279AD41>62 D E -%EndDVIPSBitmapFont -%DVIPSBitmapFont: Fd cmti10 10 3 -/Fd 3 117 df110 -D<147F903803FFC090380FC1F090381F00F8017E137C5B4848137E4848133E0007143F5B -120F485AA2485A157F127F90C7FCA215FF5A4814FEA2140115FC5AEC03F8A2EC07F015E0 -140F007C14C0007EEB1F80003EEB3F00147E6C13F8380F83F03803FFC0C648C7FC202677 -A42A>I116 -D E -%EndDVIPSBitmapFont -%DVIPSBitmapFont: Fe cmssi10 10 44 -/Fe 44 122 df12 D44 DI<1706171FA2173EA2177CA217F8A2EE -01F0160317E0EE07C0A2EE0F80A2EE1F00A2163E167E167C5EA24B5AA24B5AA24B5AA24B -5A151F93C7FC153EA25DA25DA24A5A14035D4A5AA24A5AA24AC8FCA2143E147E147C5CA2 -495AA2495AA2495A130F5C49C9FCA2133EA25BA25B12015B485AA2485AA2485AA248CAFC -5A123E5AA25AA25A126030537FBD2A>47 DI<15181578EC01F01407143FEB3FFFA215 -E05B148FEB000FEC1FC0A5EC3F80A5EC7F00A414FEA5495AA5495AA5495AA4495AA5495A -A2007FB512F0B6FCA315E01D3878B72A>I<0103B612805BA449150002E0C8FCA4495AA5 -495AA490387F07F0EC3FFC91B5FC82829039FFF03FE0ECC01F9138000FF04913075B0001 -81C8FCA84B5AA34B5AA200084A5A121C003C4A5A007E4AC7FCB4495A397F8007FC393FF0 -1FF890B55A6C5C6C5C000391C8FC6C13FC38003FE029387CB52A>53 -D56 D<16FFA24B7F5DA25D16DFED0F9FA29238 -1F1FC0153FA2157EA215FC83EC01F8140315F0EC07E0A291380FC00F83EC1F80143F1500 -5C147E14FE4A6D7E495A13035C13075C130F91B67E5B5BA25B017EC7120313FE49810001 -1501485A5B12075B000F825B001F81485AA248C9FC127E00FE17805A313A7DB937>65 -D<010FB512F8EEFF8017E0834915FC9139E0003FFE1607EE01FF7013804948147FA2173F -A2495AA4EF7F0049C85A4C5A4C5A4C5A4C5A4848EC3FE04BB45A90B7C7FC16FC4815E016 -FC16FF9026FC001F13C003007F4848EC3FF0EE0FF81607707EA24848140183A35F485AA2 -16035F484814074C5A4C5AEE7FC04C5A4848010790C7FCED3FFE90B65A16F016C0B648C8 -FC15F0313A79B937>I<923807FF80033F13F84AB512FE0207ECFF80021F15005C9138FF -F803499038C0003E4990C7120ED907FC1404494891C7FC495A495A495A495A91CAFC485A -485AA2485AA2485AA2485AA2485AA4485AA648CBFCA37F127FA57F123F7F121F7F6C6C5C -6D14076C6C141F6C6C147E6C9038E007FE6C90B5FC6D5C6D14F0010F14C0010391C8FC90 -38007FF0313C76BA35>I<010FB7FCA44915FEA202E0C8FCA3495AA4495AA549C9FCA548 -5AA290B71280A2481600A301FCC9FCA2485AA5485AA5485AA4485AA548B612FEA5B75AA2 -303A78B932>69 D<010FB7FCA44915FEA202E0C8FCA3495AA4495AA549C9FCA5485AA390 -B612FE485DA401FCC9FC485AA5485AA5485AA4485AA5485AA548CAFCA2303A79B92F>I< -D90FE0EC01FFEF03FEEF07F8EF0FF04948EC1FE0EF7FC0EFFF804C13004C5A4948EB07F8 -4C5AEE3FE04C5A49C7485A4B90C7FC4B5AED07F84B5A01FEEB3FE04B5A4B5A4A90C8FCEC -03FC3801FC074A7E143F4A7E4848B5FC01F96D7EEBFBFC9038FFF83F02F07F48EBE01F02 -C07FEC800F02007F01FC13074848804913034980A2150148488015008282484881163F83 -161F8348C8FC160F8316078300FE150383383A78B93A>75 D78 D<010FB512FCEEFF8017E017F849819139E0001FFEEE03FF827013 -804948147FEF3FC0A34948141FA4173F49C81380A2177F180017FE484814014C5A4C5AEE -1FF04848EC7FE0923803FFC090B75A4CC7FC16F84815E04BC8FC01F8CAFCA3485AA5485A -A4485AA5485AA548CBFCA2323A79B935>80 DI<010FB5 -12F8EEFF8017E08349819139E0001FFCEE07FEEE01FF824948EC7F80A2173FA2495AA317 -7F180049C8FC17FE16014C5A4C5A48484A5AEE3FE0923803FFC090B75A484BC7FC16F816 -E016809038FC003F484880A2151F82A24848130F82A26F7EA24848130382A21501484880 -A2150082A248486E7EA3707EA248C8FC707E313A78B936>II91 D93 D97 DI< -EC1FF0ECFFFC010313FF010F14804914C090383FE01F90387F80079039FE000380484813 -01484890C7FC485AA2485A485AA25B123FA248C9FCA5127E12FEA2127E127FA315046C6C -131C6D1378391FE001F8EBF00F6CB5FC6C14E06C1480C649C7FCEB3FE022287AA625>I< -EE1FC0A4EE3F80A5EE7F00A416FEA54B5AA2147F903803FFE1010F13F149EBFBF84913FF -90387FE07F9038FF801F4848486C5A48481307485A5B485A001F4A5A5BA2485AA248C748 -5AA500FE4A5AA44BC7FC127FA25D6D5A003F495AEBC007381FF03FEBFFFE6C13FC6CEBF1 -FC6C13C1C66CC9FC2A3B7AB92B>IIIIII107 -DIIIII<91387F01FC903801FFE1010713F1011FEBFBF84913FF90387FE07F9038FF801F2601 -FE0013F04848130F485A5B485A001F15E05BA2485AA248C7EA1FC0A548EC3F805AA27EED -7F007EA26D5B5C6C6C485AEBE007381FF83FEBFFFE6C13FC6CEBF1FC6C13C1C613011300 -4A5AA54A5AA54A5AA426367AA52B>I<15F0EBFC07141F3901F87FE014FF13F99038FBFE -003803F7F0EBFFE0148091C7FC5B485AA25B5BA2120F5BA4485AA4485AA548C8FCA512FE -A21C267AA51C>IIII<00FEEC1FC0A26CEC3F807EED7F00A215FE5D14016D485A123F4A5AA24A5A -5D141F5D381FC03F4AC7FCA214FE5C13C15CEA0FC35C13C75C5C13CF5CEA07DF91C8FC13 -FF5B5BA2222577A426>I<00FED901FCEB01F80203140318F04A6C130703BE14E06CD90F -3E130F6C027E14C0021F141F021E1580023E143F023C1500027C5C177E02F814FE5FD901 -F013015F903903E03E03003F023F5BD907C013075F0280130F010F5D0200131F495D131E -4CC7FC5B167E5B001FEC3E7C017014FCED1EF849131F5E5B5E352577A439>I<017FEC0F -E080EE1FC0133FEE3F80EE7F008016FE131F4B5AA24B5A6E485A130F4B5AA24B5A5E0107 -133F02F090C7FC5D157E5D1303ECF1F8A2ECF3F05D1301ECF7C0A25D92C8FC6DB4FC5CA2 -5CA2495A5C13035C1307495A5C131F49C9FCEA403EEA70FEEA7FFC485A5B13C0EA3F802B -3680A426>121 D E -%EndDVIPSBitmapFont -%DVIPSBitmapFont: Ff cmr10 10 61 -/Ff 61 125 df12 D<121C127FEAFF80A213C0A3127F121C1200A412 -011380A2120313005A1206120E5A5A5A12600A1979B917>39 D<146014E0EB01C0EB0380 -EB0700130E131E5B5BA25B485AA2485AA212075B120F90C7FCA25A121EA2123EA35AA65A -B2127CA67EA3121EA2121F7EA27F12077F1203A26C7EA26C7E1378A27F7F130E7FEB0380 -EB01C0EB00E01460135278BD20>I<12C07E12707E7E7E120F6C7E6C7EA26C7E6C7EA213 -78A2137C133C133E131EA2131F7FA21480A3EB07C0A6EB03E0B2EB07C0A6EB0F80A31400 -A25B131EA2133E133C137C1378A25BA2485A485AA2485A48C7FC120E5A5A5A5A5A13527C -BD20>I<121C127FEAFF80A213C0A3127F121C1200A412011380A2120313005A1206120E -5A5A5A12600A19798817>44 DI<121C127FEAFF80A5EA7F0012 -1C0909798817>I48 DIII<1538A2157815F8A2140114031407A2140F141F141B14331473146314C313011483EB -030313071306130C131C131813301370136013C01201EA038013005A120E120C5A123812 -305A12E0B712F8A3C73803F800AB4A7E0103B512F8A325397EB82A>I<0006140CD80780 -133C9038F003F890B5FC5D5D158092C7FC14FC38067FE090C9FCABEB07F8EB3FFE903878 -0F803907E007E090388003F0496C7E12066E7EC87EA28181A21680A4123E127F487EA490 -C71300485C12E000605C12700030495A00385C6C1303001E495A6C6C485A3907E03F8000 -01B5C7FC38007FFCEB1FE0213A7CB72A>I<121C127FEAFF80A5EA7F00121CC7FCB2121C -127FEAFF80A5EA7F00121C092479A317>58 D<1538A3157CA315FEA34A7EA34A6C7EA202 -077FEC063FA2020E7FEC0C1FA2021C7FEC180FA202387FEC3007A202707FEC6003A202C0 -7F1501A2D901807F81A249C77F167FA20106810107B6FCA24981010CC7121FA2496E7EA3 -496E7EA3496E7EA213E0707E1201486C81D80FFC02071380B56C90B512FEA3373C7DBB3E ->65 DI<913A01FF800180020FEBE003027F13F8903A01FF807E0790 -3A03FC000F0FD90FF0EB039F4948EB01DFD93F80EB00FF49C8127F01FE153F1201484815 -1F4848150FA248481507A2485A1703123F5B007F1601A35B00FF93C7FCAD127F6DED0180 -A3123F7F001F160318006C7E5F6C7E17066C6C150E6C6C5D00001618017F15386D6C5CD9 -1FE05C6D6CEB03C0D903FCEB0F80902701FF803FC7FC9039007FFFFC020F13F002011380 -313D7BBA3C>IIII -73 D75 DIIIIIIII<003FB812E0A3D9C003EB001F27 -3E0001FE130348EE01F00078160000701770A300601730A400E01738481718A4C71600B3 -B0913807FF80011FB612E0A335397DB83C>II87 D<007FB590383FFFFCA3C6 -01F801071380D97FE0D903FCC7FC013FEC01F06D6C5C5F6D6C5C6D6C13034CC8FC6D6C13 -06160E6D6C5B6DEB8018163891387FC0306E6C5A16E06E6C5A91380FF18015FB6EB4C9FC -5D14036E7EA26E7F6F7EA24B7E15DF9138019FF09138038FF8150F91380607FC91380E03 -FE140C4A6C7EEC38000230804A6D7E14E04A6D7E49486D7E130391C76C7E01066E7E130E -010C6E7E011C1401013C8101FE822607FF80010713E0B500E0013FEBFF80A339397EB83E ->I97 DIIII<147E903803FF8090380FC1E0EB1F87 -90383F0FF0137EA213FCA23901F803C091C7FCADB512FCA3D801F8C7FCB3AB487E387FFF -F8A31C3B7FBA19>III -IIII<2703F00FF0EB1FE000FFD93FFCEB7FF8913AF03F01 -E07E903BF1C01F83803F3D0FF3800FC7001F802603F70013CE01FE14DC49D907F8EB0FC0 -A2495CA3495CB3A3486C496CEB1FE0B500C1B50083B5FCA340257EA445>I<3903F00FF0 -00FFEB3FFCECF03F9039F1C01F803A0FF3800FC03803F70013FE496D7EA25BA35BB3A348 -6C497EB500C1B51280A329257EA42E>II<3903F01FE000FFEB7FF890 -38F1E07E9039F3801F803A0FF7000FC0D803FEEB07E049EB03F04914F849130116FC1500 -16FEA3167FAA16FEA3ED01FCA26DEB03F816F06D13076DEB0FE001F614C09039F7803F00 -9038F1E07E9038F0FFF8EC1FC091C8FCAB487EB512C0A328357EA42E>II<3807E01F -00FFEB7FC09038E1E3E09038E387F0380FE707EA03E613EE9038EC03E09038FC00804913 -00A45BB3A2487EB512F0A31C257EA421>II<1318A51338A31378A313F8120112031207001FB5FCB6 -FCA2D801F8C7FCB215C0A93800FC011580EB7C03017E13006D5AEB0FFEEB01F81A347FB2 -20>IIIIII<003FB512FCA2EB8003D83E0013F8003CEB07F00038EB0FE012300070EB1F -C0EC3F800060137F150014FE495AA2C6485A495AA2495A495A495AA290387F000613FEA2 -485A485A0007140E5B4848130C4848131CA24848133C48C7127C48EB03FC90B5FCA21F24 -7EA325>I124 D E -%EndDVIPSBitmapFont -%DVIPSBitmapFont: Fg cmsy10 10 4 -/Fg 4 111 df102 D<12FCEAFFC0EA07F0EA01FCEA -007E7F80131F80130FB3A7801307806D7E6D7EEB007EEC1FF0EC07F8EC1FF0EC7E00495A -495A495A5C130F5CB3A7131F5C133F91C7FC137E485AEA07F0EAFFC000FCC8FC1D537ABD -2A>I<126012F0B3B3B3B3A91260045377BD17>106 D<126012F07EA21278127CA2123C12 -3EA2121E121FA27E7FA212077FA212037FA212017FA212007FA21378137CA2133C133EA2 -131E131FA27F80A2130780A26D7EA2130180A2130080A21478147CA2143C143EA2141E14 -1FA2801580A2140715C0A2140315E0A2140115F0A2140015F8A21578157CA2153C153EA2 -151E150C1F537BBD2A>110 D E -%EndDVIPSBitmapFont -%DVIPSBitmapFont: Fh cmssbx10 12 31 -/Fh 31 123 df<92380FFFF04AB612C0020F15F8027F15FF49B8FC13075B495E137F90B8 -FC489138FE003F03E0130748028013004849C8127C4A151C4849150C4A92C7FC485BA248 -5BA25C5AA291CBFCA3B5FC5BAF7F7EA380A27E80A26C7FA26C6DED01806E15036C6D150F -6E151F6C6D6C147F6C02E0903801FFC003FE131F6C91B7FC7F131F7F6D170001015E6D6C -15F8020F15E0020192C7FCDA000F13F03A477AC546>67 D<003FB612F848EDFFC0B812F8 -17FE717E18E084848449C76C7F040F7F040114807014C0173F7113E08319F0837113F8A3 -8319FCA283A319FEB019FCA25FA319F85FA24D13F0A25F4D13E05F4D13C04CB512801607 -047F140090B85A606018E06095C7FC17F86C16C06C03F8C8FC3F4577C44F>I<92380FFF -F04AB6FC020F15E0027F15FC49B8FC010717C05B5B137F90B91280489138FE003F03E013 -0748028013004849C8127F4A151F4849ED0F004A8148498195C7FC485BA25C5AA291CBFC -A3B5FC5BA9040FB512E0A67F7EA36EEB0007A27E80A26C7FA26C7F806C7F806C6D7E6C14 -E003FE131F6C91B7FC7F131F7F7F010117806D6CEDFE00020F15F0020192C7FCDA000F13 -E03B477AC549>71 D<263FFF80933807FFF8486D5EB56C4C13FCA26E5EA26E5EA36E93B5 -FCA26E5DA201F718BF6E5D01F3183F6F5CA301F16DEC0FFEA26F141F01F017FCA26F143F -027F16F86F147FA2023F16F06F14FF021F16E06F5BA2020F16C06F5BA26E1680705A6E16 -00705AA26E5DEEE01F6E5DA2EEF03F037F5CEEF87F033F5CA2EEFCFF031F5CA2030F5C93 -B5FCA26F5CA26F91C7FCA36F5BA26F5BA2705A705A6C4891C9EA1FF8123F4E4577C461> -77 D<263FFFC0ED7FE0487FB56CEDFFF080A280A280A280A281A201F77FA201F37FA201 -F17FA201F07FA26E7EA26E7EA26E7EA26E7FA26E7FA26E7FA26E7F82806F7EA26F7EA26F -7EA26F7FA26F7FA26F7FA26F7FA26F7FA2707EA2707EA270B5FCA282A282A282A282A282 -6C486F13E0003F823C4577C44F>I<003FB612F04815FFB812E017F817FE83188018C0A2 -49C714E0041F13F0827013F88282A218FC82A95E18F8A25E4C13F05E4C13E093B5FC90B8 -12C0188018005F17F817E0178004F0C7FC49CAFCB3A76C5A123F364577C446>80 -D83 D85 D<903801FFF8011F13FF90B612E0 -000381000F15FC82A249C66C7E01F86D1380D807E07F5B496D13C090C7FC1206C8FCA602 -07B5FC49B6FC131F137F48B512EF0007EBF80F4813C0481380481300485A5B12FF5BA45D -7F5D6C6C5B92B5FC383FFF8391B6FC6C14EF6C14CF6C148F6CD9FE071380C613F8D93FC0 -C8FC2A317DAF34>97 DII -IIIIII107 DIIIII114 DIIII -I121 D<001FB612F84815FC4815FEA37E16FCC8FC4A13F84A13F0A24A13E04A13C01680 -5C4A13004A5A5D14FF495B495BA2495B495B495BA24990C7FC495A5C13FF485B485B5C5A -485B485BA24890C8FC485A90B612FEB7FC16FFA36C15FE7E282E7DAD2F>I -E -%EndDVIPSBitmapFont -%DVIPSBitmapFont: Fi cmssbx10 10 30 -/Fi 30 122 df11 -D44 -D<91380FFFC04A7F4A7FA24A7FA391B57EA3498015DF15CF4980158FA24901877FA21507 -496D7FA214FE011F818114FC013F8181A2494880167FA2494880163FA2484980161FA248 -498091B7FCA2481780A34817C0A291C71203484816E082A2484816F082A2484816F8177F -A2484816FC007FEE3FF801C0151F363A7DB93D>65 D<003FB512FE48ECFFE0B712F816FE -82178017C09026F0001F13E0030313F08181EE7FF8A2163FA5167F17F016FF17E05D0307 -13C0037F138090B7120016FC16E016FEEEFF8017C09026F0000713F0030113F89238007F -FC163FEE1FFE160FA217FF82A55EA2EE1FFEA2163FEEFFFC150790B712F817F017E017C0 -17006C15F86C1580303A79B93D>I<913801FFF8023FEBFFC049B612F8010715FE131F5B -5B48B712FC5AED801F489038F800014801E0EB007C4A143C4849140891C9FC5A5B5B127F -A25BA212FFA25BAC7FA2127FA27FA2123F7F7F7E6E14066C6D141E6E143E6C01F814FE6C -9039FF800FFF92B6FC7E6C7E7F6D15FC010715F8010115E0D9003F1400020113F8303C7B -BA3A>I77 D<913807FFC0027F13FC0103B67E010F15E04981017F15FC4948C67F4801F8 -EB3FFF4801E0010F13804A7F48496D13C04890C76C13E04980001F17F049157F003F17F8 -49153FA2007F17FCA349151FA200FF17FEB0007F17FC6D153FA46C6CED7FF8A36C6CEDFF -F0A26C6C4A13E06E5B6C6D4913C06E5B6C01F8013F13806CD9FF01B512006C91B55A6D5D -6D5D010F15E001031580D9007F01FCC7FC020713C0373E7BBB42>79 -D<003FB512FC48ECFFC0B712F88216FF178017C09026F0000F13E01503030013F0A2167F -17F8A2163FA5167FA217F016FF4B13E05D031F13C090B7128017005E16F816E093C7FCD9 -F0077F80826E7F8082157F826F7EA26F7E150F826F1380A26F13C08117E06F13F0A2EE7F -F8A2EE3FFC161F127F6C48140F2E3A79B93A>82 D<90380FFF8090B512F0000714FC001F -14FF168016C0EBF003D9C00113E0EA0F00000E15F0000C7FC8FCA649B5FC133F90B6FC00 -0313F8000F138048485A485A485AA2485AA45CA26D5A007F5BEBFC1F383FFFFEA26C13F8 -6C5B00039038C07FE0C648C8FC24297DA72C>97 DI<903803FFC0011F13FC017F13FF48B612C05A5A48EB807F3A1FFE001F804848 -130715034990C7FC127FA25B12FFAD127F7F16C015016C6C130315076C6CEB1FE0390FFF -80FF91B5FC7E000115806CECFE00011F13F80103138023297DA729>II<903803FF80011F13F0017F13FC48B57E488048158048018113C04848C613E0 -49137F4848EB3FF0A2485A151F16F812FFA25BA290B6FCA316F001E0C8FCA27FA2127FA3 -7F003F15306D1470001FEC01F06C6C13079038FFC03F6C90B5FC7EC615C06D1400011F13 -FC010113C025297EA72A>IIIII< -EA3F80487E12FFB2EDFF80020313C05C4A13804A13004A5AEC7FF84A5A01C15B01C35B01 -CF5B01DF90C7FCEBFFFE5C5C5C80A2808080A201F37F01E17F01C07FA26E7E6E7E6E7EA2 -6E7E6E7E6E138016C0806E13E0007F147F6C48EB3FC0233A7BB92C>107 -DIII<903803FF80011F13F0017F -13FC48B6FC4815804815C048018313E04848C613F049137F4848EB3FF8A2007F15FC4913 -1FA300FF15FEAC007F15FCA26D133FA2003F15F86D137F6C6CEBFFF0EBFF836C90B512E0 -6C15C06C1580C6ECFE00013F13F80103138027297DA72E>II114 -DI<48B4FC487F5AA9003FEBFFC04814E0B6FCA36C14C00007EB80 -00B3A6ECC03015706CEBE1F814FFA27E15E06C6C1300EB1FF01D327EB022>II<007FEC07F0D8FFC0EB0FF8151F7F007FEC3FF0A27F003FEC7FE0 -A27F001FECFFC0A27F000F491380A36C6C481300A36C6C485AA314876CEB8FFCA214CF6C -EBDFF8A214FF6D5BA36D5BA36D5BA2010790C7FC25267EA52A>I<007F027E147F486C01 -FFECFF806D6E5A5C01E014C0007F4C13005CA2D83FF002E05B17075C13F8001F9139DFF0 -0FFCA2EC0FCFD80FFC02F85B171F141F158FD807FE903987FC3FF0A2143F01FF13076C6F -485A1503147F6C01FF01FF5B02FE14FF81A26C01FC5D81A36D4892C7FC826D485C6D486D -5A39267EA53E>I121 D E -%EndDVIPSBitmapFont -%DVIPSBitmapFont: Fj cmbx10 10 10 -/Fj 10 119 df46 D<141E143E14FE1307133FB5FCA313CFEA000FB3B3A6007FB61280A4213779B630> -49 DI<903803 -FF80011F13F0017F13FC3901FF83FE3A03FE007F804848133F484814C0001FEC1FE05B00 -3FEC0FF0A2485A16F8150712FFA290B6FCA301E0C8FCA4127FA36C7E1678121F6C6C14F8 -6D14F000071403D801FFEB0FE06C9038C07FC06DB51200010F13FC010113E025257DA42C ->101 D105 D<01FEEB7FC000FF903803FFF8020F13FE91381F03FFDA -3C011380000713780003497E6D4814C05CA25CA291C7FCB3A3B5D8FC3F13FFA430257DA4 -35>110 D<903801FFC0010F13F8017F13FFD9FF807F3A03FE003FE048486D7E48486D7E -48486D7EA2003F81491303007F81A300FF1680A9007F1600A3003F5D6D1307001F5DA26C -6C495A6C6C495A6C6C495A6C6C6CB45A6C6CB5C7FC011F13FC010113C029257DA430>I< -9038FE03F000FFEB0FFEEC3FFF91387C7F809138F8FFC000075B6C6C5A5CA29138807F80 -ED3F00150C92C7FC91C8FCB3A2B512FEA422257EA427>114 D<90383FF0383903FFFEF8 -000F13FF381FC00F383F0003007E1301007C130012FC15787E7E6D130013FCEBFFE06C13 -FCECFF806C14C06C14F06C14F81203C614FC131F9038007FFE140700F0130114007E157E -7E157C6C14FC6C14F8EB80019038F007F090B512C000F8140038E01FF81F257DA426>I< -B539F001FFF8A4000390C7EA3F00161E6E133E6C153C6E137C6C15786E13F8017F5CECF0 -01013F5C14F8011F495AA2ECFC07010F5CECFE0F010791C7FC6E5A6D131E15BE6D13BC15 -FC6D5BA36E5AA26E5AA26E5AA26E5AA22D257EA432>118 D E -%EndDVIPSBitmapFont -%DVIPSBitmapFont: Fk cmtt10 10 33 -/Fk 33 121 df<007FB6FCB71280A46C150021067B9B2C>45 D<121FEA3F80EA7FC0EAFF -E0A5EA7FC0EA3F80EA1F000B0B708A2C>I51 DI<007FB512E015F8B612FE6C8016C03903F0003FED0FE0ED07F01503 -A2ED01F8A6ED03F0A21507ED0FE0ED1FC0EDFF8090B612005D5D15FF16C09039F0001FE0 -ED07F0ED03F81501ED00FCA216FE167EA616FE16FC1501ED03F8150FED3FF0007FB612E0 -16C0B712806CECFE0015F027337FB22C>66 D<007FB5FCB612C015F0816C803907E003FE -EC00FFED7F80153FED1FC0ED0FE0A2150716F0150316F81501A4ED00FCACED01F8A31503 -16F0A2150716E0150FED1FC0153FED7F80EDFF00EC03FE007FB55AB65A5D15C06C91C7FC -26337EB22C>68 D75 -D<387FFFE0B57EA36C5BD803F0C8FCB3AE16F0ED01F8A8007FB6FCB7FCA36C15F025337D -B22C>I78 D<90381FF80790B5EA0F804814CF000714FF5A381FF01F383FC003497E -48C7FC007E147F00FE143F5A151FA46CEC0F00007E91C7FC127F7FEA3FE0EA1FFCEBFFC0 -6C13FC0003EBFFC06C14F06C6C7F01077F9038007FFEEC07FF02001380153FED1FC0A2ED -0FE0A20078140712FCA56CEC0FC0A26CEC1F806D133F01E0EB7F009038FE01FF90B55A5D -00F914F0D8F83F13C0D8700790C7FC23357CB32C>83 D<007FB612FCB712FEA43AFC007E -007EA70078153CC71400B3AF90383FFFFCA2497F6D5BA227337EB22C>I<3801FFF00007 -13FE001F6D7E15E048809038C01FF81407EC01FC381F80000006C77EC8127EA3ECFFFE13 -1F90B5FC1203120F48EB807E383FF800EA7FC090C7FC12FE5AA47E007F14FEEB8003383F -E01F6CB612FC6C15FE6C14BF0001EBFE1F3A003FF007FC27247CA32C>97 -DI<903803FFE0011F13F8017F13FE48B5FC48804848C6FCEA0FF0485A49137E4848 -131890C9FC5A127EA25AA8127EA2127F6C140F6DEB1F806C7E6D133F6C6CEB7F003907FE -03FF6CB55A6C5C6C6C5B011F13E0010390C7FC21247AA32C>IIIIII<1307 -EB1FC0A2497EA36D5AA20107C7FC90C8FCA7387FFFC080B5FC7EA2EA0007B3A8007FB512 -FCB612FEA36C14FC1F3479B32C>I107 D<387FFFE0B57EA37EEA0003B3B3A5007FB612 -80B712C0A36C158022337BB22C>I<3A7F83F007E09039CFFC1FF83AFFDFFE3FFCD87FFF -13FF91B57E3A07FE1FFC3E01FCEBF83F496C487E01F013E001E013C0A301C01380B33B7F -FC3FF87FF0027F13FFD8FFFE6D13F8D87FFC4913F0023F137F2D2481A32C>I<397FF01F -E039FFF87FFC9038F9FFFE01FB7F6CB6FC00019038F03F80ECC01F02807FEC000F5B5BA2 -5BB3267FFFE0B5FCB500F11480A36C01E0140029247FA32C>II<397FF01FE039FF -F8FFF801FB13FE90B6FC6C158000019038F07FC09138801FE091380007F049EB03F85BED -01FC491300A216FE167EA816FE6D14FCA2ED01F86D13036DEB07F0150F9138801FE09138 -E07FC091B51280160001FB5B01F813F8EC3FC091C8FCAD387FFFE0B57EA36C5B27367FA3 -2C>I114 -D<90387FF8700003B512F8120F5A5A387FC00F387E00034813015AA36CEB00F0007F1400 -13F0383FFFC06C13FE6CEBFF80000314E0C66C13F8010113FCEB0007EC00FE0078147F00 -FC143F151F7EA26C143F6D133E6D13FE9038F007FC90B5FC15F815E000F8148039701FFC -0020247AA32C>I<131E133FA9007FB6FCB71280A36C1500D8003FC8FCB1ED03C0ED07E0 -A5EC800F011FEB1FC0ECE07F6DB51280160001035B6D13F89038003FE0232E7EAD2C>I< -3A7FF003FF80486C487FA3007F7F0001EB000FB3A3151FA2153F6D137F3900FE03FF90B7 -FC6D15807F6D13CF902603FE07130029247FA32C>I<3A7FFF01FFFCB514FE148314016C -15FC3A03E0000F80A26D131F00011500A26D5B0000143EA26D137E017C137CA2017E13FC -013E5BA2EB3F01011F5BA21483010F5BA214C701075BA214EF01035BA214FF6D90C7FCA2 -6D5A147C27247EA32C>II<3A3FFF03 -FFF048018713F8A36C010313F03A00FC007E005D90387E01F8013F5BEB1F83EC87E09038 -0FCFC0903807EF80EB03FF6D90C7FC5C6D5A147C14FE130180903803EF80903807CFC0EB -0FC7EC83E090381F01F0013F7FEB7E00017C137C49137E0001803A7FFF01FFFC1483B514 -FE6C15FC140127247EA32C>I E -%EndDVIPSBitmapFont -end -%%EndProlog -%%BeginSetup -%%Feature: *Resolution 600dpi -TeXDict begin -%%BeginPaperSize: a4 -a4 -%%EndPaperSize - @landscape -%%EndSetup -%%Page: 1 1 -1 0 bop 2220 -282 a Fk(skak)31 b Fj(v)m(ersion)g(1.2)g -Fi(Reference)h(Manual)p 102 -249 5613 4 v 102 38 a Fh(Up)s(dating)37 -b(the)f(b)s(oa)m(rd)102 185 y Fg(n)p Fi(newgame)102 285 -y Ff(Initialises)27 b(the)h(b)r(oard)f(to)g(the)h(op)r(ening)f(p)r -(osition.)102 421 y Fg(n)p Fi(mainline)p Fg(f)p Fe(SAN)e(moves)p -Fg(g)102 521 y Ff(Up)r(dates)k(the)h(b)r(oard)f(with)h(the)g -Fe(SAN)g(moves)36 b Ff(and)29 b(t)n(yp)r(esets)h Fe(SAN)g(moves)35 -b Ff(according)102 620 y(to)27 b(the)h(curren)n(t)f Fg(n)p -Fi(mainlinest)m(yle)p Ff(.)102 757 y Fg(n)p Fi(hidemoves)p -Fg(f)p Fe(SAN)e(moves)p Fg(g)102 857 y Ff(Up)r(dates)30 -b(the)h(b)r(oard)e(with)i(the)f Fe(SAN)h(moves)36 b Ff(but)31 -b(do)r(es)f Fd(not)38 b Ff(t)n(yp)r(eset)30 b(the)h(mo)n(v)n(es)d(|)102 -956 y(this)j(is)g(useful)h(for)f(commen)n(ting)g(a)g(game)f(where)h(y)n -(ou)g(w)n(an)n(t)f(to)i(fo)r(cus)f(on)g(a)g(certain)102 -1056 y(p)r(osition)c(after)g(some)g(mo)n(v)n(es)f(ha)n(v)n(e)h(already) -f(b)r(een)i(made.)102 1193 y Fg(n)p Fi(fenb)s(oa)m(rd)p -Fg(f)p Fe(FEN)c(p)r(osition)p Fg(g)102 1292 y Ff(Initialises)f(the)i(b) -r(oard)e(to)h(the)h(p)r(osition)f(describ)r(ed)f(with)i -Fe(FEN)f(p)r(osition)q Ff(.)35 b(The)24 b(format)102 -1392 y(of)j(a)g(FEN)h(p)r(osition)f(is:)102 1492 y Fc(<)p -Fe(b)r(oa)n(rd)f(ro)n(ws)p Fc(>)h Fe(w)p Fg(j)p Fe(b)j -Fc(<)p Fe(castling)c(options)p Fc(>)f(<)p Fe(en)i(passant)g(squa)n(re)p -Fc(>)102 1591 y(<)p Fe(50)f(moves)h(counter)p Fc(>)g(<)p -Fe(move)g(numb)r(er)p Fc(>)102 1691 y Ff(The)g(FEN)h(for)f(the)h(op)r -(ening)f(p)r(osition)h(is)102 1790 y Fe(rnb)r -(qkbnr/pppppppp/8/8/8/8/PPPPPPPP/R)o(NBQKBNR)102 1890 -y(w)f(K)n(Qkq)g(-)g(0)g(1)102 1990 y Ff(Note:)44 b(the)32 -b(50)f(mo)n(v)n(es)f(coun)n(ter)g(is)i(not)f(used)h(b)n(y)f(the)h -Fk(skak)e Ff(game)g(engine,)j(but)f(it)g(is)102 2089 -y(up)r(dated)c(to)f(sta)n(y)g(in)h(sync)f(with)h(external)f(programs.) -102 2309 y Fh(Describing)36 b(moves)102 2580 y Fg(n)p -Fi(va)m(riation)p Fg(f)p Fe(SAN)25 b(moves)p Fg(g)102 -2679 y Ff(This)i(will)h(t)n(yp)r(eset)g Fe(SAN)g(moves)33 -b Ff(using)27 b(the)h(curren)n(t)f Fg(n)p Fi(va)m(riationst)m(yle)p -Ff(.)102 2816 y Fg(n)p Fi(wmove)p Fg(f)p Fe(SAN)e(move)p -Fg(g)102 2916 y Ff(T)n(yp)r(esets)74 b Fe(SAN)h(move)80 -b Ff(using)75 b(the)g(curren)n(t)f Fg(n)p Fi(va)m(riationst)m(yle)p -Ff(.)176 b(Example:)102 3028 y Fg(n)p Fk(wmove)p Fg(f)p -Fk(Nf3)p Fg(g)22 b Ff(giv)n(es)27 b Fb(N)p Ff(f3.)102 -3165 y Fg(n)p Fi(bmove)p Fg(f)p Fe(SAN)e(move)p Fg(g)102 -3264 y Ff(T)n(yp)r(esets)i Fe(SAN)h(move)34 b Ff(using)27 -b(the)h(curren)n(t)f Fg(n)p Fi(va)m(riationst)m(yle)f -Ff(but)j(with)f(.)14 b(.)g(.)g(\(or)27 b(some-)102 3364 -y(thing)j(similar)f(according)g(to)h(the)g(st)n(yle\))h(in)f(fron)n(t)g -(of)g(the)h(mo)n(v)n(e)e(|)h(can)g(b)r(e)g(used)h(to)102 -3476 y(describ)r(e)c(a)g(single)g(blac)n(k)g(mo)n(v)n(e.)36 -b(Example:)g Fg(n)p Fk(bmove)p Fg(f)p Fk(Nxd4)p Fg(g)22 -b Ff(giv)n(es)27 b(.)13 b(.)h(.)g Fb(N)p Fa(X)p Ff(d4)102 -3613 y Fg(n)p Fi(movecomment)p Fg(f)p Fe(Chess)21 b(moves)p -Fg(g)102 3712 y Ff(T)n(yp)r(esets)e(the)h Fe(Chess)g(moves)26 -b Ff(using)20 b(the)g(curren)n(t)f Fg(n)p Fi(va)m(riationst)m(yle)p -Ff(,)h(but)g(do)r(esn't)g(c)n(hec)n(k)102 3812 y(for)27 -b(mo)n(v)n(e)f(n)n(um)n(b)r(ers)h(lik)n(e)g Fg(n)p Fi(va)m(riation)f -Ff(do)r(es.)2949 38 y Fh(Sho)m(wing)37 b(the)f(b)s(oa)m(rd)2949 -180 y Fg(n)p Fi(sho)m(wb)s(oa)m(rd)2949 280 y Ff(Sho)n(ws)27 -b(the)h(curren)n(t)f(p)r(osition)g(from)h(whites)f(p)r(ersp)r(ectiv)n -(e.)2949 412 y Fg(n)p Fi(sho)m(winverseb)s(oa)m(rd)2949 -511 y Ff(Sho)n(ws)g(the)h(curren)n(t)f(p)r(osition)g(from)h(blac)n(ks)e -(p)r(ersp)r(ectiv)n(e.)2949 721 y Fh(St)m(yle)37 b(selection)2949 -863 y Fg(n)p Fi(st)m(yleA)2949 962 y Ff(Cho)r(oses)27 -b(the)h Fe(st)n(yleA)f Ff(for)g(t)n(yp)r(esetting)h(of)g(mo)n(v)n(es.) -2949 1094 y Fg(n)p Fi(st)m(yleB)2949 1194 y Ff(Cho)r(oses)f(the)h -Fe(st)n(yleB)34 b Ff(for)27 b(t)n(yp)r(esetting)h(of)g(mo)n(v)n(es.)35 -b(This)28 b(is)f(the)h(default)g(st)n(yle.)2949 1325 -y Fg(n)p Fi(st)m(yleC)2949 1425 y Ff(Cho)r(oses)f(the)h -Fe(st)n(yleC)37 b Ff(for)27 b(t)n(yp)r(esetting)h(of)f(mo)n(v)n(es.) -2949 1634 y Fh(Size)38 b(of)e(the)h(b)s(oa)m(rd)2949 -1776 y Fg(n)p Fi(no)m(rmalb)s(oa)m(rd)2949 1876 y Ff(The)28 -b(default)g(size)f(of)h(the)g(b)r(oard)f(t)n(yp)r(eset)g(b)n(y)h(the)g -Fg(n)p Fi(sho)m(wb)s(oa)m(rd)d Ff(commands.)2949 2008 -y Fg(n)p Fi(tinyb)s(oa)m(rd)2949 2107 y Ff(The)j Fg(n)p -Fi(sho)m(wb)s(oa)m(rd)d Ff(commands)i(will)h(b)r(e)g(t)n(yp)r(eset)g -(in)f(a)h(tin)n(y)f(fon)n(t.)2949 2239 y Fg(n)p Fi(smallb)s(oa)m(rd) -2949 2338 y Ff(The)h Fg(n)p Fi(sho)m(wb)s(oa)m(rd)d Ff(commands)i(will) -h(b)r(e)g(t)n(yp)r(eset)g(in)f(a)h(small)f(fon)n(t.)2949 -2470 y Fg(n)p Fi(la)m(rgeb)s(oa)m(rd)2949 2570 y Ff(The)h -Fg(n)p Fi(sho)m(wb)s(oa)m(rd)d Ff(commands)i(will)h(b)r(e)g(t)n(yp)r -(eset)g(in)f(a)h(large)e(fon)n(t.)2949 2779 y Fh(Notation)38 -b(and)e(mover)2949 2921 y Fg(n)p Fi(notationOn)2949 3021 -y Ff(The)28 b Fg(n)p Fi(sho)m(wb)s(oa)m(rd)d Ff(commands)i(sho)n(w)g -(rank)f(and)i(\014le)g(names.)36 b(This)28 b(is)f(the)h(default.)2949 -3153 y Fg(n)p Fi(notationO\013)2949 3252 y Ff(The)g Fg(n)p -Fi(sho)m(wb)s(oa)m(rd)d Ff(commands)i(sho)n(w)g(only)g(the)h(b)r(oard.) -2949 3384 y Fg(n)p Fi(sho)m(wmoverOn)2949 3483 y Ff(The)23 -b Fg(n)p Fi(sho)m(wb)s(oa)m(rd)d Ff(commands)i(indicate)h(|)f(with)h(a) -f(small)h(b)r(o)n(x)f(|)g(whic)n(h)h(pla)n(y)n(er)e(has)2949 -3583 y(to)28 b(mo)n(v)n(e.)2949 3715 y Fg(n)p Fi(sho)m(wmoverO\013)2949 -3814 y Ff(The)g(dual)g(of)34 b Fg(n)p Fi(sho)m(wmoverOn)p -Ff(.)2887 4113 y(1)p eop -%%Page: 2 2 -2 1 bop 2220 -282 a Fk(skak)31 b Fj(v)m(ersion)g(1.2)g -Fi(Reference)h(Manual)p 102 -249 5613 4 v 102 38 a Fh(Selective)k(sho)m -(wing)h(of)g(pieces)102 174 y Fg(n)p Fi(sho)m(w)m(all)102 -273 y Ff(Mak)n(es)26 b(the)i Fg(n)p Fi(sho)m(wb)s(oa)m(rd)d -Ff(commands)i(sho)n(w)g(all)g(pieces.)102 395 y Fg(n)p -Fi(sho)m(w)m(onlywhite)102 494 y Ff(The)g Fg(n)p Fi(sho)m(wb)s(oa)m(rd) -e Ff(commands)i(will)h(only)f(sho)n(w)g(the)h(white)g(pieces.)102 -616 y Fg(n)p Fi(sho)m(w)m(onlyblack)102 715 y Ff(The)f -Fg(n)p Fi(sho)m(wb)s(oa)m(rd)e Ff(commands)i(will)h(only)f(sho)n(w)g -(the)h(blac)n(k)f(pieces.)102 837 y Fg(n)p Fi(sho)m(w)m(onlypa)m(wns) -102 936 y Ff(The)g Fg(n)p Fi(sho)m(wb)s(oa)m(rd)e Ff(commands)i(will)h -(only)f(sho)n(w)g(the)h(pa)n(wns.)102 1058 y Fg(n)p Fi(sho)m(w)m(only)q -Fg(f)p Fe(piece)d(names)p Fg(g)102 1157 y Ff(The)41 b(argumen)n(t)f -Fe(piece)g(names)48 b Ff(is)41 b(a)f(comma)h(separated)f(list)h(of)g -(names)g(of)g(pieces)102 1257 y(to)f(b)r(e)h(sho)n(wn)f(using)g(the)h -Fg(n)p Fi(sho)m(wb)s(oa)m(rd)d Ff(commands.)75 b(White)42 -b(pieces)e(are)g(named)102 1357 y Fe(K,Q,R,B,N,P)34 b -Ff(and)27 b(blac)n(k's)g Fe(k,q,r,b,n,p)s Ff(.)102 1478 -y Fg(n)p Fi(sho)m(w)m(allbut)p Fg(f)p Fe(piece)d(names)p -Fg(g)102 1578 y Ff(The)d(argumen)n(t)g Fe(piece)g(names)28 -b Ff(is)22 b(a)f(comma)h(separated)e(list)i(of)g(names)f(of)h(pieces)g -(whic)n(h)102 1677 y(will)27 b Fd(not)36 b Ff(b)r(e)28 -b(sho)n(wn)e(when)i(using)f(the)h Fg(n)p Fi(sho)m(wb)s(oa)m(rd)d -Ff(commands.)102 1866 y Fh(Move)36 b(a)m(rro)m(ws)102 -2001 y Fg(n)p Fi(p)m(rinta)m(rro)m(w)q Fg(f)p Fe(from)p -Fg(gf)p Fe(to)p Fg(g)102 2101 y Ff(Dra)n(ws)22 b(an)i(arro)n(w)e(on)i -(the)g(last)g(t)n(yp)r(eset)g(b)r(oard)f(from)h(the)g(square)f -Fe(from)i Ff(to)f(the)h(square)102 2201 y Fe(to)5 b Ff(.)102 -2322 y Fg(n)p Fi(highlight)p Fe([ms])i Fg(f)p Fe(squa)n(re)24 -b(list)p Fg(g)102 2422 y Ff(The)i(comma)g(separated)g -Fe(squa)n(re)g(list)32 b Ff(will)27 b(b)n(y)f(default)i(b)r(e)f -(highligh)n(ted)f(using)g(a)g(thic)n(k)102 2521 y(frame)f(on)g(the)h -(last)g(t)n(yp)r(eset)f(b)r(oard.)36 b(The)25 b(optional)g(mark)n(er)f -(sym)n(b)r(ol)i Fe(ms)31 b Ff(can)26 b(b)r(e)g(one)102 -2621 y(of)34 b(X,)h(x,)i(O)d(and)h(o)f(in)h(whic)n(h)g(case)f(a)g -(cross)f(or)h(a)h(circle)f(is)g(used)h(to)g(highligh)n(t)f(the)102 -2721 y(square.)102 2820 y Fg(n)p Fi(p)m(rintknightmove)p -Fg(f)p Fe(from)p Fg(gf)p Fe(to)p Fg(g)102 2920 y Ff(Dra)n(ws)26 -b(a)h(b)r(en)n(t)h(arro)n(w)e(from)h(the)h(square)e Fe(from)k -Ff(to)d(the)h(square)e Fe(to)5 b Ff(.)102 3109 y Fh(Customizations)102 -3244 y Fg(n)p Fi(newsk)m(aklanguage)p Fg(f)p Fe(language)p -Fg(gf)p Fe(piecena)o(mes)p Fg(g)102 3344 y Ff(De\014nes)28 -b(a)f(new)i Fe(language)j Ff(for)c(the)g(input)h(of)f(SAN)g(mo)n(v)n -(es.)37 b Fe(piecenames)c Ff(are)27 b(the)h(up-)102 3443 -y(p)r(ercase)h(letters)i(used)g(for)f(the)h(pieces)f(in)h(the)g(order)f -(King,)h(Queen,)g(Ro)r(ok,)g(Bishop,)102 3543 y(Knigh)n(t,)24 -b(P)n(a)n(wn.)34 b(Example:)h Fg(n)p Fk(newskaklanguage)o -Fg(f)p Fk(d)o(an)o(ish)o Fg(gf)o Fk(KD)o(TLS)o(B)p Fg(g)18 -b Ff(de\014nes)24 b Fe(dan-)102 3643 y(ish)k Ff(as)f(a)g(new)h(input)g -(language.)102 3764 y Fg(n)p Fi(sk)m(aklanguage)p Fe([language])102 -3864 y Ff(Cho)r(oses)e Fe(language)32 b Ff(as)27 b(new)g(input)i -(language)d(|)h(defaults)h(to)g Fe(english)q Ff(.)2949 -38 y Fg(n)p Fi(mainlinest)m(yle)2949 138 y Ff(Activ)-5 -b(ates)41 b(the)f(t)n(yp)r(esetting)g(st)n(yle)g(for)f(the)h(mainline)g -(|)g(this)h(command)e(can)h(b)r(e)2949 238 y(rede\014ned)28 -b(if)g(sp)r(ecial)f(requiremen)n(ts)g(for)g(the)h(t)n(yp)r(esetting)f -(exists.)2949 355 y Fg(n)p Fi(va)m(riationst)m(yle)2949 -455 y Ff(Similar)h(to)f Fg(n)p Fi(mainlinest)m(yle)f -Ff(just)i(for)f(the)h(t)n(yp)r(esetting)g(of)g(v)-5 b(ariations.)2949 -637 y Fh(Game)37 b(sto)m(rage)2949 773 y Fg(n)p Fi(savegame)p -Fg(f)p Fe(\014le)24 b(name)p Fg(g)2949 872 y Ff(W)-7 -b(rites)23 b(the)g(FEN)g(string)f(for)h(the)g(curren)n(t)f(p)r(osition) -h(on)f(the)h(b)r(oard)f(to)h(the)g(\014le)g Fc(<)p Fk(file)2949 -972 y(name)p Fc(>)p Fk(.fen)2949 1090 y Fg(n)p Fi(loadgame)p -Fg(f)p Fe(\014le)h(name)p Fg(g)2949 1190 y Ff(Load)j(the)h(p)r(osition) -f(stored)g(in)h(the)g(\014le)g Fc(<)p Fk(file)41 b(name)p -Fc(>)p Fk(.fen)2949 1308 y Fg(n)p Fi(sto)m(regame)p Fg(f)p -Fe(name)p Fg(g)2949 1407 y Ff(Stores)27 b(the)h(curren)n(t)f(game)g(p)r -(osition)g(using)h Fe(name)33 b Ff(as)27 b(reference.)2949 -1525 y Fg(n)p Fi(resto)m(regame)p Fg(f)p Fe(name)p Fg(g)2949 -1625 y Ff(Restores)g(the)h(game)f(previously)f(sa)n(v)n(ed)g(using)i -Fg(n)p Fi(sto)m(regame)p Ff(.)2949 1807 y Fh(P)m(ack)m(age)37 -b(options)2949 1943 y Fi(ps)45 b Ff(Includes)g(the)g -Fk(ps-tricks)d Ff(pac)n(k)-5 b(age)43 b(in)i(order)f(to)h(mak)n(e)f -(ornamen)n(ts)f(on)i(the)2949 2042 y(b)r(oard.)60 b(Required)35 -b(to)g(mak)n(e)g(the)h(follo)n(wing)e(commands)h(w)n(ork:)51 -b Fg(n)p Fi(sho)m(wmoverOn)p Ff(,)2949 2142 y Fg(n)p -Fi(p)m(rinta)m(rro)m(w)q Ff(,)27 b Fg(n)p Fi(highlight)p -Ff(,)f Fg(n)p Fi(p)m(rintknightmove)p Ff(.)2949 2260 -y Fi(pso\013)34 b Ff(Do)r(es)27 b Fd(not)36 b Ff(include)28 -b(the)g Fk(ps-tricks)c Ff(pac)n(k)-5 b(age.)2949 2378 -y Fi(mover)28 b Ff(Issues)f(the)h Fg(n)p Fi(sho)m(wmoveOn)d -Ff(command.)2949 2495 y Fi(movero\013)33 b Ff(Issues)27 -b(the)h Fg(n)p Fi(sho)m(wmoveOn)d Ff(command.)2949 2613 -y Fi(notation)g Ff(Issues)i(the)h Fg(n)p Fi(notationOn)d -Ff(command.)2949 2731 y Fi(english)30 b Ff(Mak)n(es)e(english)h(the)h -(preferred)e(input)j(language)c(|)j(the)g(only)f(de\014ned)h(lan-)2949 -2831 y(guage)d(at)g(the)h(momen)n(t.)2949 2949 y Fi(st)m(yleA)g -Ff(Cho)r(oses)f Fg(n)p Fi(st)m(yleA)g Ff(st)n(yle)g(for)g(the)h(t)n(yp) -r(esetting)g(of)f(mo)n(v)n(es.)2949 3067 y Fi(st)m(yleB)h -Ff(Cho)r(oses)f Fg(n)p Fi(st)m(yleB)g Ff(st)n(yle)g(for)g(the)h(t)n(yp) -r(esetting)g(of)f(mo)n(v)n(es.)2949 3185 y Fi(st)m(yleC)i -Ff(Cho)r(oses)d Fg(n)p Fi(st)m(yleC)i Ff(st)n(yle)f(for)g(the)h(t)n(yp) -r(esetting)g(of)f(mo)n(v)n(es.)2949 3303 y Fi(tiny)h -Ff(The)g(b)r(oard)f(is)g(sho)n(wn)g(using)g(the)h(tin)n(y)g(size)f(fon) -n(t.)2949 3421 y Fi(small)g Ff(The)h(b)r(oard)e(is)i(sho)n(wn)f(using)g -(the)h(small)f(size)h(fon)n(t.)2949 3538 y Fi(no)m(rmal)e -Ff(The)i(b)r(oard)f(is)g(sho)n(wn)g(using)g(the)h(normal)f(size)g(fon)n -(t.)2949 3656 y Fi(la)m(rge)h Ff(The)g(b)r(oard)f(is)g(sho)n(wn)g -(using)g(the)h(large)e(size)i(fon)n(t.)2949 3847 y(The)g(default)g -(options)f(are)g Fi(notation,)h(no)m(rmal,)h(pso\013,)h(english,)h -(movero\013,)e(st)m(yleB)p Ff(.)2887 4113 y(2)p eop -%%Trailer -end -userdict /end-hook known{end-hook}if -%%EOF diff --git a/Master/texmf-dist/doc/latex/skak/refman.tex b/Master/texmf-dist/doc/latex/skak/refman.tex index d3d5cac6198..e715ac05b56 100644 --- a/Master/texmf-dist/doc/latex/skak/refman.tex +++ b/Master/texmf-dist/doc/latex/skak/refman.tex @@ -95,7 +95,16 @@ engine, but it is updated to stay in sync with external programs.} % possible to describe moves in the running text. \command{variation}{SAN moves} -{This will typeset \Arg{SAN moves} using the current \Cmd{variationstyle}.} +{This will typeset \Arg{SAN moves} using the current \Cmd{variationstyle}. This command undoes the last move so you have to start one ply back.} + +\command{variationcurrentt}{SAN moves} +{Like \Cmd{variation}, but does not undo the last move.} + +\command{continuevariation}{SAN moves} +{Continues the variation but undoes the last move first.} + +\command{continuevariationcurrent}{SAN moves} +{Continues the variation without undoing the last move first.} \command{wmove}{SAN move} {Typesets \Arg{SAN move} using the current \Cmd{variationstyle}. @@ -170,7 +179,7 @@ but doesn't check for move numbers like \Cmd{variation} does.} \simpleCommand{showmoverOn} {The \Cmd{showboard} commands indicate --- with a small box --- which - player has to move.} + player has to move. Note: this only works when the ps option is used.} \simpleCommand{showmoverOff} {The dual of \Cmd{showmoverOn}.} @@ -194,12 +203,12 @@ but doesn't check for move numbers like \Cmd{variation} does.} \command{showonly}{piece names} {The argument \Arg{piece names} is a comma separated list of names of pieces to be shown using the \Cmd{showboard} commands. White pieces - are named \Arg{K,Q,R,B,N,P} and black's \Arg{k,q,r,b,n,p}.} + are named \Arg{K,Q,R,B,N,P} and black's \Arg{k,q,r,b,n,p}. Note: called with no arguments all pieces are showed!} \command{showallbut}{piece names} {The argument \Arg{piece names} is a comma separated list of names of pieces which will \emph{not} be shown when using the \Cmd{showboard} - commands.} + commands. Note: called with an empty list no pieces are shown!} %\newpage diff --git a/Master/texmf-dist/doc/latex/skak/skakdoc.pdf b/Master/texmf-dist/doc/latex/skak/skakdoc.pdf new file mode 100644 index 00000000000..0f40b14f9fb Binary files /dev/null and b/Master/texmf-dist/doc/latex/skak/skakdoc.pdf differ diff --git a/Master/texmf-dist/doc/latex/skak/skakdoc.ps b/Master/texmf-dist/doc/latex/skak/skakdoc.ps deleted file mode 100644 index 17339b588ec..00000000000 --- a/Master/texmf-dist/doc/latex/skak/skakdoc.ps +++ /dev/null @@ -1,7024 +0,0 @@ -%!PS-Adobe-2.0 -%%Creator: dvips(k) 5.92b Copyright 2002 Radical Eye Software -%%Title: skakdoc.dvi -%%Pages: 13 -%%PageOrder: Ascend -%%BoundingBox: 0 0 596 842 -%%DocumentFonts: CMR17 CMR12 CMSS17 CMTT12 CMBX9 CMR9 CMR6 CMSS9 CMR10 -%%+ CMBX12 CMBX10 CMSSBX10 CMSS10 CMSY10 CMTT10 CMR7 -%%+ SkakNew-Figurine-Bold CMSS8 SkakNew-DiagramT CMTT8 SkakNew-Figurine -%%+ CMTI10 CMITT10 CMBSY10 -%%EndComments -%DVIPSWebPage: (www.radicaleye.com) -%DVIPSCommandLine: dvips skakdoc.dvi -o skakdoc.ps -%DVIPSParameters: dpi=600, compressed -%DVIPSSource: TeX output 2006.03.19:1530 -%%BeginProcSet: texc.pro -%! -/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/id 0 N/rw 0 N/rc 0 N/gp 0 N/cp 0 N/G 0 N/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]/id Ci N/rw Cw 7 add 8 idiv string N/rc 0 N/gp 0 N/cp 0 N{ -rc 0 ne{rc 1 sub/rc X rw}{G}ifelse}imagemask restore}B/G{{id gp get/gp -gp 1 add N A 18 mod S 18 idiv pl S get exec}loop}B/adv{cp add/cp X}B -/chg{rw cp id gp 4 index getinterval putinterval A gp add/gp X adv}B/nd{ -/cp 0 N rw exit}B/lsh{rw cp 2 copy get A 0 eq{pop 1}{A 255 eq{pop 254}{ -A A add 255 and S 1 and or}ifelse}ifelse put 1 adv}B/rsh{rw cp 2 copy -get A 0 eq{pop 128}{A 255 eq{pop 127}{A 2 idiv S 128 and or}ifelse} -ifelse put 1 adv}B/clr{rw cp 2 index string putinterval adv}B/set{rw cp -fillstr 0 4 index getinterval putinterval adv}B/fillstr 18 string 0 1 17 -{2 copy 255 put pop}for N/pl[{adv 1 chg}{adv 1 chg nd}{1 add chg}{1 add -chg nd}{adv lsh}{adv lsh nd}{adv rsh}{adv rsh nd}{1 add adv}{/rc X nd}{ -1 add set}{1 add clr}{adv 2 chg}{adv 2 chg nd}{pop nd}]A{bind pop} -forall N/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn -/BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put -}if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{ -bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A -mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{ -SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{ -userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X -1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4 -index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N -/p{show}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 N/Ry 0 N/V{}B/RV/v{ -/Ry X/Rx X V}B statusdict begin/product where{pop false[(Display)(NeXT) -(LaserWriter 16/600)]{A length product length le{A length product exch 0 -exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}ifelse -end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{BDot}imagemask -grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat{BDot} -imagemask grestore}}ifelse B/QV{gsave newpath transform round exch round -exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 rlineto -fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B/M{S p -delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M}B/g{0 M} -B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p -3 w}B/n{ -p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{0 S -rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end - -%%EndProcSet -%%BeginProcSet: pstricks.pro -%! -% PostScript prologue for pstricks.tex. -% Version 97 patch 3, 98/06/01 -% For distribution, see pstricks.tex. -% -/tx@Dict 200 dict def tx@Dict begin -/ADict 25 dict def -/CM { matrix currentmatrix } bind def -/SLW /setlinewidth load def -/CLW /currentlinewidth load def -/CP /currentpoint load def -/ED { exch def } bind def -/L /lineto load def -/T /translate load def -/TMatrix { } def -/RAngle { 0 } def -/Atan { /atan load stopped { pop pop 0 } if } def -/Div { dup 0 eq { pop } { div } ifelse } def -/NET { neg exch neg exch T } def -/Pyth { dup mul exch dup mul add sqrt } def -/PtoC { 2 copy cos mul 3 1 roll sin mul } def -/PathLength@ { /z z y y1 sub x x1 sub Pyth add def /y1 y def /x1 x def } -def -/PathLength { flattenpath /z 0 def { /y1 ED /x1 ED /y2 y1 def /x2 x1 def -} { /y ED /x ED PathLength@ } {} { /y y2 def /x x2 def PathLength@ } -/pathforall load stopped { pop pop pop pop } if z } def -/STP { .996264 dup scale } def -/STV { SDict begin normalscale end STP } def -/DashLine { dup 0 gt { /a .5 def PathLength exch div } { pop /a 1 def -PathLength } ifelse /b ED /x ED /y ED /z y x add def b a .5 sub 2 mul y -mul sub z Div round z mul a .5 sub 2 mul y mul add b exch Div dup y mul -/y ED x mul /x ED x 0 gt y 0 gt and { [ y x ] 1 a sub y mul } { [ 1 0 ] -0 } ifelse setdash stroke } def -/DotLine { /b PathLength def /a ED /z ED /y CLW def /z y z add def a 0 gt -{ /b b a div def } { a 0 eq { /b b y sub def } { a -3 eq { /b b y add -def } if } ifelse } ifelse [ 0 b b z Div round Div dup 0 le { pop 1 } if -] a 0 gt { 0 } { y 2 div a -2 gt { neg } if } ifelse setdash 1 -setlinecap stroke } def -/LineFill { gsave abs CLW add /a ED a 0 dtransform round exch round exch -2 copy idtransform exch Atan rotate idtransform pop /a ED .25 .25 -% DG/SR modification begin - Dec. 12, 1997 - Patch 2 -%itransform translate pathbbox /y2 ED a Div ceiling cvi /x2 ED /y1 ED a -itransform pathbbox /y2 ED a Div ceiling cvi /x2 ED /y1 ED a -% DG/SR modification end -Div cvi /x1 ED /y2 y2 y1 sub def clip newpath 2 setlinecap systemdict -/setstrokeadjust known { true setstrokeadjust } if x2 x1 sub 1 add { x1 -% DG/SR modification begin - Jun. 1, 1998 - Patch 3 (from Michael Vulis) -% a mul y1 moveto 0 y2 rlineto stroke /x1 x1 1 add def } repeat grestore } -% def -a mul y1 moveto 0 y2 rlineto stroke /x1 x1 1 add def } repeat grestore -pop pop } def -% DG/SR modification end -/BeginArrow { ADict begin /@mtrx CM def gsave 2 copy T 2 index sub neg -exch 3 index sub exch Atan rotate newpath } def -/EndArrow { @mtrx setmatrix CP grestore end } def -/Arrow { CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 -scale } if w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill -grestore } def -/Tbar { CLW mul add /z ED z -2 div CLW 2 div moveto z 0 rlineto stroke 0 -CLW moveto } def -/Bracket { CLW mul add dup CLW sub 2 div /x ED mul CLW add /y ED /z CLW 2 -div def x neg y moveto x neg CLW 2 div L x CLW 2 div L x y L stroke 0 -CLW moveto } def -/RoundBracket { CLW mul add dup 2 div /x ED mul /y ED /mtrx CM def 0 CLW -2 div T x y mul 0 ne { x y scale } if 1 1 moveto .85 .5 .35 0 0 0 -curveto -.35 0 -.85 .5 -1 1 curveto mtrx setmatrix stroke 0 CLW moveto } -def -/SD { 0 360 arc fill } def -/EndDot { { /z DS def } { /z 0 def } ifelse /b ED 0 z DS SD b { 0 z DS -CLW sub SD } if 0 DS z add CLW 4 div sub moveto } def -/Shadow { [ { /moveto load } { /lineto load } { /curveto load } { -/closepath load } /pathforall load stopped { pop pop pop pop CP /moveto -load } if ] cvx newpath 3 1 roll T exec } def -/NArray { aload length 2 div dup dup cvi eq not { exch pop } if /n exch -cvi def } def -/NArray { /f ED counttomark 2 div dup cvi /n ED n eq not { exch pop } if -f { ] aload /Points ED } { n 2 mul 1 add -1 roll pop } ifelse } def -/Line { NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if ArrowA /n n 2 sub -def n { Lineto } repeat CP 4 2 roll ArrowB L pop pop } if } def -/Arcto { /a [ 6 -2 roll ] cvx def a r /arcto load stopped { 5 } { 4 } -ifelse { pop } repeat a } def -/CheckClosed { dup n 2 mul 1 sub index eq 2 index n 2 mul 1 add index eq -and { pop pop /n n 1 sub def } if } def -/Polygon { NArray n 2 eq { 0 0 /n 3 def } if n 3 lt { n { pop pop } -repeat } { n 3 gt { CheckClosed } if n 2 mul -2 roll /y0 ED /x0 ED /y1 -ED /x1 ED x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 -moveto /n n 2 sub def n { Lineto } repeat x1 y1 x0 y0 6 4 roll Lineto -Lineto pop pop closepath } ifelse } def -/Diamond { /mtrx CM def T rotate /h ED /w ED dup 0 eq { pop } { CLW mul -neg /d ED /a w h Atan def /h d a sin Div h add def /w d a cos Div w add -def } ifelse mark w 2 div h 2 div w 0 0 h neg w neg 0 0 h w 2 div h 2 -div /ArrowA { moveto } def /ArrowB { } def false Line closepath mtrx -setmatrix } def -% DG modification begin - Jan. 15, 1997 -%/Triangle { /mtrx CM def translate rotate /h ED 2 div /w ED dup 0 eq { -%pop } { CLW mul /d ED /h h d w h Atan sin Div sub def /w w d h w Atan 2 -%div dup cos exch sin Div mul sub def } ifelse mark 0 d w neg d 0 h w d 0 -%d /ArrowA { moveto } def /ArrowB { } def false Line closepath mtrx -%setmatrix } def -/Triangle { /mtrx CM def translate rotate /h ED 2 div /w ED dup -CLW mul /d ED /h h d w h Atan sin Div sub def /w w d h w Atan 2 -div dup cos exch sin Div mul sub def mark 0 d w neg d 0 h w d 0 -d /ArrowA { moveto } def /ArrowB { } def false Line closepath mtrx -% DG/SR modification begin - Jun. 1, 1998 - Patch 3 (from Michael Vulis) -% setmatrix } def -setmatrix pop } def -% DG/SR modification end -/CCA { /y ED /x ED 2 copy y sub /dy1 ED x sub /dx1 ED /l1 dx1 dy1 Pyth -def } def -/CCA { /y ED /x ED 2 copy y sub /dy1 ED x sub /dx1 ED /l1 dx1 dy1 Pyth -def } def -/CC { /l0 l1 def /x1 x dx sub def /y1 y dy sub def /dx0 dx1 def /dy0 dy1 -def CCA /dx dx0 l1 c exp mul dx1 l0 c exp mul add def /dy dy0 l1 c exp -mul dy1 l0 c exp mul add def /m dx0 dy0 Atan dx1 dy1 Atan sub 2 div cos -abs b exp a mul dx dy Pyth Div 2 div def /x2 x l0 dx mul m mul sub def -/y2 y l0 dy mul m mul sub def /dx l1 dx mul m mul neg def /dy l1 dy mul -m mul neg def } def -/IC { /c c 1 add def c 0 lt { /c 0 def } { c 3 gt { /c 3 def } if } -ifelse /a a 2 mul 3 div 45 cos b exp div def CCA /dx 0 def /dy 0 def } -def -/BOC { IC CC x2 y2 x1 y1 ArrowA CP 4 2 roll x y curveto } def -/NC { CC x1 y1 x2 y2 x y curveto } def -/EOC { x dx sub y dy sub 4 2 roll ArrowB 2 copy curveto } def -/BAC { IC CC x y moveto CC x1 y1 CP ArrowA } def -/NAC { x2 y2 x y curveto CC x1 y1 } def -/EAC { x2 y2 x y ArrowB curveto pop pop } def -/OpenCurve { NArray n 3 lt { n { pop pop } repeat } { BOC /n n 3 sub def -n { NC } repeat EOC } ifelse } def -/AltCurve { { false NArray n 2 mul 2 roll [ n 2 mul 3 sub 1 roll ] aload -/Points ED n 2 mul -2 roll } { false NArray } ifelse n 4 lt { n { pop -pop } repeat } { BAC /n n 4 sub def n { NAC } repeat EAC } ifelse } def -/ClosedCurve { NArray n 3 lt { n { pop pop } repeat } { n 3 gt { -CheckClosed } if 6 copy n 2 mul 6 add 6 roll IC CC x y moveto n { NC } -repeat closepath pop pop } ifelse } def -/SQ { /r ED r r moveto r r neg L r neg r neg L r neg r L fill } def -/ST { /y ED /x ED x y moveto x neg y L 0 x L fill } def -/SP { /r ED gsave 0 r moveto 4 { 72 rotate 0 r L } repeat fill grestore } -def -/FontDot { DS 2 mul dup matrix scale matrix concatmatrix exch matrix -rotate matrix concatmatrix exch findfont exch makefont setfont } def -/Rect { x1 y1 y2 add 2 div moveto x1 y2 lineto x2 y2 lineto x2 y1 lineto -x1 y1 lineto closepath } def -/OvalFrame { x1 x2 eq y1 y2 eq or { pop pop x1 y1 moveto x2 y2 L } { y1 -y2 sub abs x1 x2 sub abs 2 copy gt { exch pop } { pop } ifelse 2 div -exch { dup 3 1 roll mul exch } if 2 copy lt { pop } { exch pop } ifelse -/b ED x1 y1 y2 add 2 div moveto x1 y2 x2 y2 b arcto x2 y2 x2 y1 b arcto -x2 y1 x1 y1 b arcto x1 y1 x1 y2 b arcto 16 { pop } repeat closepath } -ifelse } def -/Frame { CLW mul /a ED 3 -1 roll 2 copy gt { exch } if a sub /y2 ED a add -/y1 ED 2 copy gt { exch } if a sub /x2 ED a add /x1 ED 1 index 0 eq { -pop pop Rect } { OvalFrame } ifelse } def -/BezierNArray { /f ED counttomark 2 div dup cvi /n ED n eq not { exch pop -} if n 1 sub neg 3 mod 3 add 3 mod { 0 0 /n n 1 add def } repeat f { ] -aload /Points ED } { n 2 mul 1 add -1 roll pop } ifelse } def -/OpenBezier { BezierNArray n 1 eq { pop pop } { ArrowA n 4 sub 3 idiv { 6 -2 roll 4 2 roll curveto } repeat 6 2 roll 4 2 roll ArrowB curveto } -ifelse } def -/ClosedBezier { BezierNArray n 1 eq { pop pop } { moveto n 1 sub 3 idiv { -6 2 roll 4 2 roll curveto } repeat closepath } ifelse } def -/BezierShowPoints { gsave Points aload length 2 div cvi /n ED moveto n 1 -sub { lineto } repeat CLW 2 div SLW [ 4 4 ] 0 setdash stroke grestore } -def -/Parab { /y0 exch def /x0 exch def /y1 exch def /x1 exch def /dx x0 x1 -sub 3 div def /dy y0 y1 sub 3 div def x0 dx sub y0 dy add x1 y1 ArrowA -x0 dx add y0 dy add x0 2 mul x1 sub y1 ArrowB curveto /Points [ x1 y1 x0 -y0 x0 2 mul x1 sub y1 ] def } def -/Grid { newpath /a 4 string def /b ED /c ED /n ED cvi dup 1 lt { pop 1 } -if /s ED s div dup 0 eq { pop 1 } if /dy ED s div dup 0 eq { pop 1 } if -/dx ED dy div round dy mul /y0 ED dx div round dx mul /x0 ED dy div -round cvi /y2 ED dx div round cvi /x2 ED dy div round cvi /y1 ED dx div -round cvi /x1 ED /h y2 y1 sub 0 gt { 1 } { -1 } ifelse def /w x2 x1 sub -0 gt { 1 } { -1 } ifelse def b 0 gt { /z1 b 4 div CLW 2 div add def -/Helvetica findfont b scalefont setfont /b b .95 mul CLW 2 div add def } -if systemdict /setstrokeadjust known { true setstrokeadjust /t { } def } -{ /t { transform 0.25 sub round 0.25 add exch 0.25 sub round 0.25 add -exch itransform } bind def } ifelse gsave n 0 gt { 1 setlinecap [ 0 dy n -div ] dy n div 2 div setdash } { 2 setlinecap } ifelse /i x1 def /f y1 -dy mul n 0 gt { dy n div 2 div h mul sub } if def /g y2 dy mul n 0 gt { -dy n div 2 div h mul add } if def x2 x1 sub w mul 1 add dup 1000 gt { -pop 1000 } if { i dx mul dup y0 moveto b 0 gt { gsave c i a cvs dup -stringwidth pop /z2 ED w 0 gt {z1} {z1 z2 add neg} ifelse h 0 gt {b neg} -{z1} ifelse rmoveto show grestore } if dup t f moveto g t L stroke /i i -w add def } repeat grestore gsave n 0 gt -% DG/SR modification begin - Nov. 7, 1997 - Patch 1 -%{ 1 setlinecap [ 0 dx n div ] dy n div 2 div setdash } -{ 1 setlinecap [ 0 dx n div ] dx n div 2 div setdash } -% DG/SR modification end -{ 2 setlinecap } ifelse /i y1 def /f x1 dx mul -n 0 gt { dx n div 2 div w mul sub } if def /g x2 dx mul n 0 gt { dx n -div 2 div w mul add } if def y2 y1 sub h mul 1 add dup 1000 gt { pop -1000 } if { newpath i dy mul dup x0 exch moveto b 0 gt { gsave c i a cvs -dup stringwidth pop /z2 ED w 0 gt {z1 z2 add neg} {z1} ifelse h 0 gt -{z1} {b neg} ifelse rmoveto show grestore } if dup f exch t moveto g -exch t L stroke /i i h add def } repeat grestore } def -/ArcArrow { /d ED /b ED /a ED gsave newpath 0 -1000 moveto clip newpath 0 -1 0 0 b grestore c mul /e ED pop pop pop r a e d PtoC y add exch x add -exch r a PtoC y add exch x add exch b pop pop pop pop a e d CLW 8 div c -mul neg d } def -/Ellipse { /mtrx CM def T scale 0 0 1 5 3 roll arc mtrx setmatrix } def -/Rot { CP CP translate 3 -1 roll neg rotate NET } def -/RotBegin { tx@Dict /TMatrix known not { /TMatrix { } def /RAngle { 0 } -def } if /TMatrix [ TMatrix CM ] cvx def /a ED a Rot /RAngle [ RAngle -dup a add ] cvx def } def -/RotEnd { /TMatrix [ TMatrix setmatrix ] cvx def /RAngle [ RAngle pop ] -cvx def } def -/PutCoor { gsave CP T CM STV exch exec moveto setmatrix CP grestore } def -/PutBegin { /TMatrix [ TMatrix CM ] cvx def CP 4 2 roll T moveto } def -/PutEnd { CP /TMatrix [ TMatrix setmatrix ] cvx def moveto } def -/Uput { /a ED add 2 div /h ED 2 div /w ED /s a sin def /c a cos def /b s -abs c abs 2 copy gt dup /q ED { pop } { exch pop } ifelse def /w1 c b -div w mul def /h1 s b div h mul def q { w1 abs w sub dup c mul abs } { -h1 abs h sub dup s mul abs } ifelse } def -/UUput { /z ED abs /y ED /x ED q { x s div c mul abs y gt } { x c div s -mul abs y gt } ifelse { x x mul y y mul sub z z mul add sqrt z add } { q -{ x s div } { x c div } ifelse abs } ifelse a PtoC h1 add exch w1 add -exch } def -/BeginOL { dup (all) eq exch TheOL eq or { IfVisible not { Visible -/IfVisible true def } if } { IfVisible { Invisible /IfVisible false def -} if } ifelse } def -/InitOL { /OLUnit [ 3000 3000 matrix defaultmatrix dtransform ] cvx def -/Visible { CP OLUnit idtransform T moveto } def /Invisible { CP OLUnit -neg exch neg exch idtransform T moveto } def /BOL { BeginOL } def -/IfVisible true def } def -end -% END pstricks.pro - -%%EndProcSet -%%BeginProcSet: pst-dots.pro -%!PS-Adobe-2.0 -%%Title: Dot Font for PSTricks -%%Creator: Timothy Van Zandt -%%Creation Date: May 7, 1993 -%% Version 97 patch 1, 99/12/16 -%% Modified by Etienne Riga - Dec. 16, 1999 -%% to add /Diamond, /SolidDiamond and /BoldDiamond -10 dict dup begin - /FontType 3 def - /FontMatrix [ .001 0 0 .001 0 0 ] def - /FontBBox [ 0 0 0 0 ] def - /Encoding 256 array def - 0 1 255 { Encoding exch /.notdef put } for - Encoding - dup (b) 0 get /Bullet put - dup (c) 0 get /Circle put - dup (C) 0 get /BoldCircle put - dup (u) 0 get /SolidTriangle put - dup (t) 0 get /Triangle put - dup (T) 0 get /BoldTriangle put - dup (r) 0 get /SolidSquare put - dup (s) 0 get /Square put - dup (S) 0 get /BoldSquare put - dup (q) 0 get /SolidPentagon put - dup (p) 0 get /Pentagon put - dup (P) 0 get /BoldPentagon put -% DG/SR modification begin - Dec. 16, 1999 - From Etienne Riga - dup (l) 0 get /SolidDiamond put - dup (d) 0 get /Diamond put - (D) 0 get /BoldDiamond put -% DG/SR modification end - /Metrics 13 dict def - Metrics begin - /Bullet 1000 def - /Circle 1000 def - /BoldCircle 1000 def - /SolidTriangle 1344 def - /Triangle 1344 def - /BoldTriangle 1344 def - /SolidSquare 886 def - /Square 886 def - /BoldSquare 886 def - /SolidPentagon 1093.2 def - /Pentagon 1093.2 def - /BoldPentagon 1093.2 def -% DG/SR modification begin - Dec. 16, 1999 - From Etienne Riga - /SolidDiamond 1008 def - /Diamond 1008 def - /BoldDiamond 1008 def -% DG/SR modification end - /.notdef 0 def - end - /BBoxes 13 dict def - BBoxes begin - /Circle { -550 -550 550 550 } def - /BoldCircle /Circle load def - /Bullet /Circle load def - /Triangle { -571.5 -330 571.5 660 } def - /BoldTriangle /Triangle load def - /SolidTriangle /Triangle load def - /Square { -450 -450 450 450 } def - /BoldSquare /Square load def - /SolidSquare /Square load def - /Pentagon { -546.6 -465 546.6 574.7 } def - /BoldPentagon /Pentagon load def - /SolidPentagon /Pentagon load def -% DG/SR modification begin - Dec. 16, 1999 - From Etienne Riga - /Diamond { -428.5 -742.5 428.5 742.5 } def - /BoldDiamond /Diamond load def - /SolidDiamond /Diamond load def -% DG/SR modification end - /.notdef { 0 0 0 0 } def - end - /CharProcs 20 dict def - CharProcs begin - /Adjust { - 2 copy dtransform floor .5 add exch floor .5 add exch idtransform - 3 -1 roll div 3 1 roll exch div exch scale - } def - /CirclePath { 0 0 500 0 360 arc closepath } def - /Bullet { 500 500 Adjust CirclePath fill } def - /Circle { 500 500 Adjust CirclePath .9 .9 scale CirclePath - eofill } def - /BoldCircle { 500 500 Adjust CirclePath .8 .8 scale CirclePath - eofill } def - /BoldCircle { CirclePath .8 .8 scale CirclePath eofill } def - /TrianglePath { 0 660 moveto -571.5 -330 lineto 571.5 -330 lineto - closepath } def - /SolidTriangle { TrianglePath fill } def - /Triangle { TrianglePath .85 .85 scale TrianglePath eofill } def - /BoldTriangle { TrianglePath .7 .7 scale TrianglePath eofill } def - /SquarePath { -450 450 moveto 450 450 lineto 450 -450 lineto - -450 -450 lineto closepath } def - /SolidSquare { SquarePath fill } def - /Square { SquarePath .89 .89 scale SquarePath eofill } def - /BoldSquare { SquarePath .78 .78 scale SquarePath eofill } def - /PentagonPath { - -337.8 -465 moveto - 337.8 -465 lineto - 546.6 177.6 lineto - 0 574.7 lineto - -546.6 177.6 lineto - closepath - } def - /SolidPentagon { PentagonPath fill } def - /Pentagon { PentagonPath .89 .89 scale PentagonPath eofill } def - /BoldPentagon { PentagonPath .78 .78 scale PentagonPath eofill } def -% DG/SR modification begin - Dec. 16, 1999 - From Etienne Riga - /DiamondPath { 0 742.5 moveto -428.5 0 lineto 0 -742.5 lineto - 428.5 0 lineto closepath } def - /SolidDiamond { DiamondPath fill } def - /Diamond { DiamondPath .85 .85 scale DiamondPath eofill } def - /BoldDiamond { DiamondPath .7 .7 scale DiamondPath eofill } def -% DG/SR modification end - /.notdef { } def - end - /BuildGlyph { - exch - begin - Metrics 1 index get exec 0 - BBoxes 3 index get exec - setcachedevice - CharProcs begin load exec end - end - } def - /BuildChar { - 1 index /Encoding get exch get - 1 index /BuildGlyph get exec - } bind def -end -/PSTricksDotFont exch definefont pop -%END pst-dots.pro - -%%EndProcSet -%%BeginProcSet: pst-node.pro -%! -% PostScript prologue for pst-node.tex. -% Version 97 patch 1, 97/05/09. -% For distribution, see pstricks.tex. -% -/tx@NodeDict 400 dict def tx@NodeDict begin -tx@Dict begin /T /translate load def end -/NewNode { gsave /next ED dict dup 3 1 roll def exch { dup 3 1 roll def } -if begin tx@Dict begin STV CP T exec end /NodeMtrx CM def next end -grestore } def -/InitPnode { /Y ED /X ED /NodePos { NodeSep Cos mul NodeSep Sin mul } def -} def -/InitCnode { /r ED /Y ED /X ED /NodePos { NodeSep r add dup Cos mul exch -Sin mul } def } def -/GetRnodePos { Cos 0 gt { /dx r NodeSep add def } { /dx l NodeSep sub def -} ifelse Sin 0 gt { /dy u NodeSep add def } { /dy d NodeSep sub def } -ifelse dx Sin mul abs dy Cos mul abs gt { dy Cos mul Sin div dy } { dx -dup Sin mul Cos Div } ifelse } def -/InitRnode { /Y ED /X ED X sub /r ED /l X neg def Y add neg /d ED Y sub -/u ED /NodePos { GetRnodePos } def } def -/DiaNodePos { w h mul w Sin mul abs h Cos mul abs add Div NodeSep add dup -Cos mul exch Sin mul } def -/TriNodePos { Sin s lt { d NodeSep sub dup Cos mul Sin Div exch } { w h -mul w Sin mul h Cos abs mul add Div NodeSep add dup Cos mul exch Sin mul -} ifelse } def -/InitTriNode { sub 2 div exch 2 div exch 2 copy T 2 copy 4 index index /d -ED pop pop pop pop -90 mul rotate /NodeMtrx CM def /X 0 def /Y 0 def d -sub abs neg /d ED d add /h ED 2 div h mul h d sub Div /w ED /s d w Atan -sin def /NodePos { TriNodePos } def } def -/OvalNodePos { /ww w NodeSep add def /hh h NodeSep add def Sin ww mul Cos -hh mul Atan dup cos ww mul exch sin hh mul } def -/GetCenter { begin X Y NodeMtrx transform CM itransform end } def -/XYPos { dup sin exch cos Do /Cos ED /Sin ED /Dist ED Cos 0 gt { Dist -Dist Sin mul Cos div } { Cos 0 lt { Dist neg Dist Sin mul Cos div neg } -{ 0 Dist Sin mul } ifelse } ifelse Do } def -/GetEdge { dup 0 eq { pop begin 1 0 NodeMtrx dtransform CM idtransform -exch atan sub dup sin /Sin ED cos /Cos ED /NodeSep ED NodePos NodeMtrx -dtransform CM idtransform end } { 1 eq {{exch}} {{}} ifelse /Do ED pop -XYPos } ifelse } def -/AddOffset { 1 index 0 eq { pop pop } { 2 copy 5 2 roll cos mul add 4 1 -roll sin mul sub exch } ifelse } def -/GetEdgeA { NodeSepA AngleA NodeA NodeSepTypeA GetEdge OffsetA AngleA -AddOffset yA add /yA1 ED xA add /xA1 ED } def -/GetEdgeB { NodeSepB AngleB NodeB NodeSepTypeB GetEdge OffsetB AngleB -AddOffset yB add /yB1 ED xB add /xB1 ED } def -/GetArmA { ArmTypeA 0 eq { /xA2 ArmA AngleA cos mul xA1 add def /yA2 ArmA -AngleA sin mul yA1 add def } { ArmTypeA 1 eq {{exch}} {{}} ifelse /Do ED -ArmA AngleA XYPos OffsetA AngleA AddOffset yA add /yA2 ED xA add /xA2 ED -} ifelse } def -/GetArmB { ArmTypeB 0 eq { /xB2 ArmB AngleB cos mul xB1 add def /yB2 ArmB -AngleB sin mul yB1 add def } { ArmTypeB 1 eq {{exch}} {{}} ifelse /Do ED -ArmB AngleB XYPos OffsetB AngleB AddOffset yB add /yB2 ED xB add /xB2 ED -} ifelse } def -/InitNC { /b ED /a ED /NodeSepTypeB ED /NodeSepTypeA ED /NodeSepB ED -/NodeSepA ED /OffsetB ED /OffsetA ED tx@NodeDict a known tx@NodeDict b -known and dup { /NodeA a load def /NodeB b load def NodeA GetCenter /yA -ED /xA ED NodeB GetCenter /yB ED /xB ED } if } def -/LPutLine { 4 copy 3 -1 roll sub neg 3 1 roll sub Atan /NAngle ED 1 t sub -mul 3 1 roll 1 t sub mul 4 1 roll t mul add /Y ED t mul add /X ED } def -/LPutLines { mark LPutVar counttomark 2 div 1 sub /n ED t floor dup n gt -{ pop n 1 sub /t 1 def } { dup t sub neg /t ED } ifelse cvi 2 mul { pop -} repeat LPutLine cleartomark } def -/BezierMidpoint { /y3 ED /x3 ED /y2 ED /x2 ED /y1 ED /x1 ED /y0 ED /x0 ED -/t ED /cx x1 x0 sub 3 mul def /cy y1 y0 sub 3 mul def /bx x2 x1 sub 3 -mul cx sub def /by y2 y1 sub 3 mul cy sub def /ax x3 x0 sub cx sub bx -sub def /ay y3 y0 sub cy sub by sub def ax t 3 exp mul bx t t mul mul -add cx t mul add x0 add ay t 3 exp mul by t t mul mul add cy t mul add -y0 add 3 ay t t mul mul mul 2 by t mul mul add cy add 3 ax t t mul mul -mul 2 bx t mul mul add cx add atan /NAngle ED /Y ED /X ED } def -/HPosBegin { yB yA ge { /t 1 t sub def } if /Y yB yA sub t mul yA add def -} def -/HPosEnd { /X Y yyA sub yyB yyA sub Div xxB xxA sub mul xxA add def -/NAngle yyB yyA sub xxB xxA sub Atan def } def -/HPutLine { HPosBegin /yyA ED /xxA ED /yyB ED /xxB ED HPosEnd } def -/HPutLines { HPosBegin yB yA ge { /check { le } def } { /check { ge } def -} ifelse /xxA xA def /yyA yA def mark xB yB LPutVar { dup Y check { exit -} { /yyA ED /xxA ED } ifelse } loop /yyB ED /xxB ED cleartomark HPosEnd -} def -/VPosBegin { xB xA lt { /t 1 t sub def } if /X xB xA sub t mul xA add def -} def -/VPosEnd { /Y X xxA sub xxB xxA sub Div yyB yyA sub mul yyA add def -/NAngle yyB yyA sub xxB xxA sub Atan def } def -/VPutLine { VPosBegin /yyA ED /xxA ED /yyB ED /xxB ED VPosEnd } def -/VPutLines { VPosBegin xB xA ge { /check { le } def } { /check { ge } def -} ifelse /xxA xA def /yyA yA def mark xB yB LPutVar { 1 index X check { -exit } { /yyA ED /xxA ED } ifelse } loop /yyB ED /xxB ED cleartomark -VPosEnd } def -/HPutCurve { gsave newpath /SaveLPutVar /LPutVar load def LPutVar 8 -2 -roll moveto curveto flattenpath /LPutVar [ {} {} {} {} pathforall ] cvx -def grestore exec /LPutVar /SaveLPutVar load def } def -/NCCoor { /AngleA yB yA sub xB xA sub Atan def /AngleB AngleA 180 add def -GetEdgeA GetEdgeB /LPutVar [ xB1 yB1 xA1 yA1 ] cvx def /LPutPos { -LPutVar LPutLine } def /HPutPos { LPutVar HPutLine } def /VPutPos { -LPutVar VPutLine } def LPutVar } def -/NCLine { NCCoor tx@Dict begin ArrowA CP 4 2 roll ArrowB lineto pop pop -end } def -/NCLines { false NArray n 0 eq { NCLine } { 2 copy yA sub exch xA sub -Atan /AngleA ED n 2 mul dup index exch index yB sub exch xB sub Atan -/AngleB ED GetEdgeA GetEdgeB /LPutVar [ xB1 yB1 n 2 mul 4 add 4 roll xA1 -yA1 ] cvx def mark LPutVar tx@Dict begin false Line end /LPutPos { -LPutLines } def /HPutPos { HPutLines } def /VPutPos { VPutLines } def } -ifelse } def -/NCCurve { GetEdgeA GetEdgeB xA1 xB1 sub yA1 yB1 sub Pyth 2 div dup 3 -1 -roll mul /ArmA ED mul /ArmB ED /ArmTypeA 0 def /ArmTypeB 0 def GetArmA -GetArmB xA2 yA2 xA1 yA1 tx@Dict begin ArrowA end xB2 yB2 xB1 yB1 tx@Dict -begin ArrowB end curveto /LPutVar [ xA1 yA1 xA2 yA2 xB2 yB2 xB1 yB1 ] -cvx def /LPutPos { t LPutVar BezierMidpoint } def /HPutPos { { HPutLines -} HPutCurve } def /VPutPos { { VPutLines } HPutCurve } def } def -/NCAngles { GetEdgeA GetEdgeB GetArmA GetArmB /mtrx AngleA matrix rotate -def xA2 yA2 mtrx transform pop xB2 yB2 mtrx transform exch pop mtrx -itransform /y0 ED /x0 ED mark ArmB 0 ne { xB1 yB1 } if xB2 yB2 x0 y0 xA2 -yA2 ArmA 0 ne { xA1 yA1 } if tx@Dict begin false Line end /LPutVar [ xB1 -yB1 xB2 yB2 x0 y0 xA2 yA2 xA1 yA1 ] cvx def /LPutPos { LPutLines } def -/HPutPos { HPutLines } def /VPutPos { VPutLines } def } def -/NCAngle { GetEdgeA GetEdgeB GetArmB /mtrx AngleA matrix rotate def xB2 -yB2 mtrx itransform pop xA1 yA1 mtrx itransform exch pop mtrx transform -/y0 ED /x0 ED mark ArmB 0 ne { xB1 yB1 } if xB2 yB2 x0 y0 xA1 yA1 -tx@Dict begin false Line end /LPutVar [ xB1 yB1 xB2 yB2 x0 y0 xA1 yA1 ] -cvx def /LPutPos { LPutLines } def /HPutPos { HPutLines } def /VPutPos { -VPutLines } def } def -/NCBar { GetEdgeA GetEdgeB GetArmA GetArmB /mtrx AngleA matrix rotate def -xA2 yA2 mtrx itransform pop xB2 yB2 mtrx itransform pop sub dup 0 mtrx -transform 3 -1 roll 0 gt { /yB2 exch yB2 add def /xB2 exch xB2 add def } -{ /yA2 exch neg yA2 add def /xA2 exch neg xA2 add def } ifelse mark ArmB -0 ne { xB1 yB1 } if xB2 yB2 xA2 yA2 ArmA 0 ne { xA1 yA1 } if tx@Dict -begin false Line end /LPutVar [ xB1 yB1 xB2 yB2 xA2 yA2 xA1 yA1 ] cvx -def /LPutPos { LPutLines } def /HPutPos { HPutLines } def /VPutPos { -VPutLines } def } def -/NCDiag { GetEdgeA GetEdgeB GetArmA GetArmB mark ArmB 0 ne { xB1 yB1 } if -xB2 yB2 xA2 yA2 ArmA 0 ne { xA1 yA1 } if tx@Dict begin false Line end -/LPutVar [ xB1 yB1 xB2 yB2 xA2 yA2 xA1 yA1 ] cvx def /LPutPos { -LPutLines } def /HPutPos { HPutLines } def /VPutPos { VPutLines } def } -def -/NCDiagg { GetEdgeA GetArmA yB yA2 sub xB xA2 sub Atan 180 add /AngleB ED -GetEdgeB mark xB1 yB1 xA2 yA2 ArmA 0 ne { xA1 yA1 } if tx@Dict begin -false Line end /LPutVar [ xB1 yB1 xA2 yA2 xA1 yA1 ] cvx def /LPutPos { -LPutLines } def /HPutPos { HPutLines } def /VPutPos { VPutLines } def } -def -/NCLoop { GetEdgeA GetEdgeB GetArmA GetArmB /mtrx AngleA matrix rotate -def xA2 yA2 mtrx transform loopsize add /yA3 ED /xA3 ED /xB3 xB2 yB2 -mtrx transform pop def xB3 yA3 mtrx itransform /yB3 ED /xB3 ED xA3 yA3 -mtrx itransform /yA3 ED /xA3 ED mark ArmB 0 ne { xB1 yB1 } if xB2 yB2 -xB3 yB3 xA3 yA3 xA2 yA2 ArmA 0 ne { xA1 yA1 } if tx@Dict begin false -Line end /LPutVar [ xB1 yB1 xB2 yB2 xB3 yB3 xA3 yA3 xA2 yA2 xA1 yA1 ] -cvx def /LPutPos { LPutLines } def /HPutPos { HPutLines } def /VPutPos { -VPutLines } def } def -% DG/SR modification begin - May 9, 1997 - Patch 1 -%/NCCircle { 0 0 NodesepA nodeA \tx@GetEdge pop xA sub 2 div dup 2 exp r -%r mul sub abs sqrt atan 2 mul /a ED r AngleA 90 add PtoC yA add exch xA add -%exch 2 copy /LPutVar [ 4 2 roll r AngleA ] cvx def /LPutPos { LPutVar t 360 -%mul add dup 5 1 roll 90 sub \tx@PtoC 3 -1 roll add /Y ED add /X ED /NAngle ED -/NCCircle { NodeSepA 0 NodeA 0 GetEdge pop 2 div dup 2 exp r -r mul sub abs sqrt atan 2 mul /a ED r AngleA 90 add PtoC yA add exch xA add -exch 2 copy /LPutVar [ 4 2 roll r AngleA ] cvx def /LPutPos { LPutVar t 360 -mul add dup 5 1 roll 90 sub PtoC 3 -1 roll add /Y ED add /X ED /NAngle ED -% DG/SR modification end -} def /HPutPos { LPutPos } def /VPutPos { LPutPos } def r AngleA 90 sub a add -AngleA 270 add a sub tx@Dict begin /angleB ED /angleA ED /r ED /c 57.2957 r -Div def /y ED /x ED } def -/NCBox { /d ED /h ED /AngleB yB yA sub xB xA sub Atan def /AngleA AngleB -180 add def GetEdgeA GetEdgeB /dx d AngleB sin mul def /dy d AngleB cos -mul neg def /hx h AngleB sin mul neg def /hy h AngleB cos mul def -/LPutVar [ xA1 hx add yA1 hy add xB1 hx add yB1 hy add xB1 dx add yB1 dy -add xA1 dx add yA1 dy add ] cvx def /LPutPos { LPutLines } def /HPutPos -{ xB yB xA yA LPutLine } def /VPutPos { HPutPos } def mark LPutVar -tx@Dict begin false Polygon end } def -/NCArcBox { /l ED neg /d ED /h ED /a ED /AngleA yB yA sub xB xA sub Atan -def /AngleB AngleA 180 add def /tA AngleA a sub 90 add def /tB tA a 2 -mul add def /r xB xA sub tA cos tB cos sub Div dup 0 eq { pop 1 } if def -/x0 xA r tA cos mul add def /y0 yA r tA sin mul add def /c 57.2958 r div -def /AngleA AngleA a sub 180 add def /AngleB AngleB a add 180 add def -GetEdgeA GetEdgeB /AngleA tA 180 add yA yA1 sub xA xA1 sub Pyth c mul -sub def /AngleB tB 180 add yB yB1 sub xB xB1 sub Pyth c mul add def l 0 -eq { x0 y0 r h add AngleA AngleB arc x0 y0 r d add AngleB AngleA arcn } -{ x0 y0 translate /tA AngleA l c mul add def /tB AngleB l c mul sub def -0 0 r h add tA tB arc r h add AngleB PtoC r d add AngleB PtoC 2 copy 6 2 -roll l arcto 4 { pop } repeat r d add tB PtoC l arcto 4 { pop } repeat 0 -0 r d add tB tA arcn r d add AngleA PtoC r h add AngleA PtoC 2 copy 6 2 -roll l arcto 4 { pop } repeat r h add tA PtoC l arcto 4 { pop } repeat } -ifelse closepath /LPutVar [ x0 y0 r AngleA AngleB h d ] cvx def /LPutPos -{ LPutVar /d ED /h ED /AngleB ED /AngleA ED /r ED /y0 ED /x0 ED t 1 le { -r h add AngleA 1 t sub mul AngleB t mul add dup 90 add /NAngle ED PtoC } -{ t 2 lt { /NAngle AngleB 180 add def r 2 t sub h mul t 1 sub d mul add -add AngleB PtoC } { t 3 lt { r d add AngleB 3 t sub mul AngleA 2 t sub -mul add dup 90 sub /NAngle ED PtoC } { /NAngle AngleA 180 add def r 4 t -sub d mul t 3 sub h mul add add AngleA PtoC } ifelse } ifelse } ifelse -y0 add /Y ED x0 add /X ED } def /HPutPos { LPutPos } def /VPutPos { -LPutPos } def } def -/Tfan { /AngleA yB yA sub xB xA sub Atan def GetEdgeA w xA1 xB sub yA1 yB -sub Pyth Pyth w Div CLW 2 div mul 2 div dup AngleA sin mul yA1 add /yA1 -ED AngleA cos mul xA1 add /xA1 ED /LPutVar [ xA1 yA1 m { xB w add yB xB -w sub yB } { xB yB w sub xB yB w add } ifelse xA1 yA1 ] cvx def /LPutPos -{ LPutLines } def /VPutPos@ { LPutVar flag { 8 4 roll pop pop pop pop } -{ pop pop pop pop 4 2 roll } ifelse } def /VPutPos { VPutPos@ VPutLine } -def /HPutPos { VPutPos@ HPutLine } def mark LPutVar tx@Dict begin -/ArrowA { moveto } def /ArrowB { } def false Line closepath end } def -/LPutCoor { NAngle tx@Dict begin /NAngle ED end gsave CM STV CP Y sub neg -exch X sub neg exch moveto setmatrix CP grestore } def -/LPut { tx@NodeDict /LPutPos known { LPutPos } { CP /Y ED /X ED /NAngle 0 -def } ifelse LPutCoor } def -/HPutAdjust { Sin Cos mul 0 eq { 0 } { d Cos mul Sin div flag not { neg } -if h Cos mul Sin div flag { neg } if 2 copy gt { pop } { exch pop } -ifelse } ifelse s add flag { r add neg } { l add } ifelse X add /X ED } -def -/VPutAdjust { Sin Cos mul 0 eq { 0 } { l Sin mul Cos div flag { neg } if -r Sin mul Cos div flag not { neg } if 2 copy gt { pop } { exch pop } -ifelse } ifelse s add flag { d add } { h add neg } ifelse Y add /Y ED } -def -end -% END pst-node.pro - -%%EndProcSet -%%BeginProcSet: f7b6d320.enc -% Thomas Esser, Dec 2002. public domain -% -% Encoding for: -% cmb10 cmbx10 cmbx12 cmbx5 cmbx6 cmbx7 cmbx8 cmbx9 cmbxsl10 -% cmdunh10 cmr10 cmr12 cmr17cmr6 cmr7 cmr8 cmr9 cmsl10 cmsl12 cmsl8 -% cmsl9 cmss10cmss12 cmss17 cmss8 cmss9 cmssbx10 cmssdc10 cmssi10 -% cmssi12 cmssi17 cmssi8cmssi9 cmssq8 cmssqi8 cmvtt10 -% -/TeXf7b6d320Encoding [ -/Gamma /Delta /Theta /Lambda /Xi /Pi /Sigma /Upsilon /Phi /Psi /Omega -/ff /fi /fl /ffi /ffl /dotlessi /dotlessj /grave /acute /caron /breve -/macron /ring /cedilla /germandbls /ae /oe /oslash /AE /OE /Oslash -/suppress /exclam /quotedblright /numbersign /dollar /percent /ampersand -/quoteright /parenleft /parenright /asterisk /plus /comma /hyphen -/period /slash /zero /one /two /three /four /five /six /seven /eight -/nine /colon /semicolon /exclamdown /equal /questiondown /question /at -/A /B /C /D /E /F /G /H /I /J /K /L /M /N /O /P /Q /R /S /T /U /V /W /X -/Y /Z /bracketleft /quotedblleft /bracketright /circumflex /dotaccent -/quoteleft /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o /p /q /r /s /t /u -/v /w /x /y /z /endash /emdash /hungarumlaut /tilde /dieresis /suppress -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /space -/Gamma /Delta /Theta /Lambda /Xi /Pi /Sigma /Upsilon /Phi /Psi /.notdef -/.notdef /Omega /ff /fi /fl /ffi /ffl /dotlessi /dotlessj /grave /acute -/caron /breve /macron /ring /cedilla /germandbls /ae /oe /oslash /AE -/OE /Oslash /suppress /dieresis /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -] def - -%%EndProcSet -%%BeginProcSet: 09fbbfac.enc -% Thomas Esser, Dec 2002. public domain -% -% Encoding for: -% cmsltt10 cmtt10 cmtt12 cmtt8 cmtt9 -/TeX09fbbfacEncoding [ -/Gamma /Delta /Theta /Lambda /Xi /Pi /Sigma /Upsilon /Phi /Psi -/Omega /arrowup /arrowdown /quotesingle /exclamdown /questiondown -/dotlessi /dotlessj /grave /acute /caron /breve /macron /ring /cedilla -/germandbls /ae /oe /oslash /AE /OE /Oslash /visiblespace /exclam -/quotedbl /numbersign /dollar /percent /ampersand /quoteright /parenleft -/parenright /asterisk /plus /comma /hyphen /period /slash /zero /one -/two /three /four /five /six /seven /eight /nine /colon /semicolon /less -/equal /greater /question /at /A /B /C /D /E /F /G /H /I /J /K /L /M /N -/O /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft /backslash /bracketright -/asciicircum /underscore /quoteleft /a /b /c /d /e /f /g /h /i /j /k /l -/m /n /o /p /q /r /s /t /u /v /w /x /y /z /braceleft /bar /braceright -/asciitilde /dieresis /visiblespace /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /space /Gamma /Delta /Theta /Lambda /Xi /Pi -/Sigma /Upsilon /Phi /Psi /.notdef /.notdef /Omega /arrowup /arrowdown -/quotesingle /exclamdown /questiondown /dotlessi /dotlessj /grave /acute -/caron /breve /macron /ring /cedilla /germandbls /ae /oe /oslash /AE -/OE /Oslash /visiblespace /dieresis /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -] def - -%%EndProcSet -%%BeginProcSet: bbad153f.enc -% Thomas Esser, Dec 2002. public domain -% -% Encoding for: -% cmsy10 cmsy5 cmsy6 cmsy7 cmsy8 cmsy9 -% -/TeXbbad153fEncoding [ -/minus /periodcentered /multiply /asteriskmath /divide /diamondmath -/plusminus /minusplus /circleplus /circleminus /circlemultiply -/circledivide /circledot /circlecopyrt /openbullet /bullet -/equivasymptotic /equivalence /reflexsubset /reflexsuperset /lessequal -/greaterequal /precedesequal /followsequal /similar /approxequal -/propersubset /propersuperset /lessmuch /greatermuch /precedes /follows -/arrowleft /arrowright /arrowup /arrowdown /arrowboth /arrownortheast -/arrowsoutheast /similarequal /arrowdblleft /arrowdblright /arrowdblup -/arrowdbldown /arrowdblboth /arrownorthwest /arrowsouthwest /proportional -/prime /infinity /element /owner /triangle /triangleinv /negationslash -/mapsto /universal /existential /logicalnot /emptyset /Rfractur /Ifractur -/latticetop /perpendicular /aleph /A /B /C /D /E /F /G /H /I /J /K -/L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /union /intersection -/unionmulti /logicaland /logicalor /turnstileleft /turnstileright -/floorleft /floorright /ceilingleft /ceilingright /braceleft /braceright -/angbracketleft /angbracketright /bar /bardbl /arrowbothv /arrowdblbothv -/backslash /wreathproduct /radical /coproduct /nabla /integral -/unionsq /intersectionsq /subsetsqequal /supersetsqequal /section -/dagger /daggerdbl /paragraph /club /diamond /heart /spade /arrowleft -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/minus /periodcentered /multiply /asteriskmath /divide /diamondmath -/plusminus /minusplus /circleplus /circleminus /.notdef /.notdef -/circlemultiply /circledivide /circledot /circlecopyrt /openbullet -/bullet /equivasymptotic /equivalence /reflexsubset /reflexsuperset -/lessequal /greaterequal /precedesequal /followsequal /similar -/approxequal /propersubset /propersuperset /lessmuch /greatermuch -/precedes /follows /arrowleft /spade /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -] def - -%%EndProcSet -%%BeginProcSet: 74afc74c.enc -% Thomas Esser, Dec 2002. public domain -% -% Encoding for: -% cmbxti10 cmff10 cmfi10 cmfib8 cmti10 cmti12 cmti7 cmti8cmti9 cmu10 -% -/TeX74afc74cEncoding [ -/Gamma /Delta /Theta /Lambda /Xi /Pi /Sigma /Upsilon /Phi /Psi /Omega -/ff /fi /fl /ffi /ffl /dotlessi /dotlessj /grave /acute /caron /breve -/macron /ring /cedilla /germandbls /ae /oe /oslash /AE /OE /Oslash -/suppress /exclam /quotedblright /numbersign /sterling /percent -/ampersand /quoteright /parenleft /parenright /asterisk /plus /comma -/hyphen /period /slash /zero /one /two /three /four /five /six /seven -/eight /nine /colon /semicolon /exclamdown /equal /questiondown /question -/at /A /B /C /D /E /F /G /H /I /J /K /L /M /N /O /P /Q /R /S /T /U /V /W -/X /Y /Z /bracketleft /quotedblleft /bracketright /circumflex /dotaccent -/quoteleft /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o /p /q /r /s /t /u -/v /w /x /y /z /endash /emdash /hungarumlaut /tilde /dieresis /suppress -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /space -/Gamma /Delta /Theta /Lambda /Xi /Pi /Sigma /Upsilon /Phi /Psi /.notdef -/.notdef /Omega /ff /fi /fl /ffi /ffl /dotlessi /dotlessj /grave /acute -/caron /breve /macron /ring /cedilla /germandbls /ae /oe /oslash /AE -/OE /Oslash /suppress /dieresis /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -] def - -%%EndProcSet -%%BeginProcSet: b6a4d7c7.enc -% Thomas Esser, Dec 2002. public domain -% -% Encoding for: -% cmitt10 -% -/TeXb6a4d7c7Encoding [ -/Gamma /Delta /Theta /Lambda /Xi /Pi /Sigma /Upsilon /Phi /Psi /Omega -/arrowup /arrowdown /quotesingle /exclamdown /questiondown /dotlessi -/dotlessj /grave /acute /caron /breve /macron /ring /cedilla /germandbls -/ae /oe /oslash /AE /OE /Oslash /visiblespace /exclam /quotedbl -/numbersign /sterling /percent /ampersand /quoteright /parenleft -/parenright /asterisk /plus /comma /hyphen /period /slash /zero /one -/two /three /four /five /six /seven /eight /nine /colon /semicolon /less -/equal /greater /question /at /A /B /C /D /E /F /G /H /I /J /K /L /M /N -/O /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft /backslash /bracketright -/asciicircum /underscore /quoteleft /a /b /c /d /e /f /g /h /i /j /k /l -/m /n /o /p /q /r /s /t /u /v /w /x /y /z /braceleft /bar /braceright -/asciitilde /dieresis /visiblespace /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /space /Gamma /Delta /Theta /Lambda /Xi /Pi -/Sigma /Upsilon /Phi /Psi /.notdef /.notdef /Omega /arrowup /arrowdown -/quotesingle /exclamdown /questiondown /dotlessi /dotlessj /grave /acute -/caron /breve /macron /ring /cedilla /germandbls /ae /oe /oslash /AE -/OE /Oslash /visiblespace /dieresis /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -] def - -%%EndProcSet -%%BeginProcSet: 10037936.enc -% Thomas Esser, Dec 2002. public domain -% -% Encoding for: -% cmbsy10 -% -/TeX10037936Encoding [ -/minus /periodcentered /multiply /asteriskmath /divide /diamondmath -/plusminus /minusplus /circleplus /circleminus /circlemultiply -/circledivide /circledot /circlecopyrt /openbullet /bullet -/equivasymptotic /equivalence /reflexsubset /reflexsuperset /lessequal -/greaterequal /precedesequal /followsequal /similar /approxequal -/propersubset /propersuperset /lessmuch /greatermuch /precedes /follows -/arrowleft /arrowright /arrowup /arrowdown /arrowboth /arrownortheast -/arrowsoutheast /similarequal /arrowdblleft /arrowdblright /arrowdblup -/arrowdbldown /arrowdblboth /arrownorthwest /arrowsouthwest /proportional -/prime /infinity /element /owner /triangle /triangleinv /negationslash -/mapsto /universal /existential /logicalnot /emptyset /Rfractur /Ifractur -/latticetop /perpendicular /aleph /A /B /C /D /E /F /G /H /I /J /K -/L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /union /intersection -/unionmulti /logicaland /logicalor /turnstileleft /turnstileright -/floorleft /floorright /ceilingleft /ceilingright /braceleft /braceright -/angbracketleft /angbracketright /bar /bardbl /arrowbothv /arrowdblbothv -/backslash /wreathproduct /radical /coproduct /nabla /integral -/unionsq /intersectionsq /subsetsqequal /supersetsqequal /section -/dagger /daggerdbl /paragraph /club /diamond /heart /spade /arrowleft -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /space -/minus /periodcentered /multiply /asteriskmath /divide /diamondmath -/plusminus /minusplus /circleplus /circleminus /.notdef /.notdef -/circlemultiply /circledivide /circledot /circlecopyrt /openbullet -/bullet /equivasymptotic /equivalence /reflexsubset /reflexsuperset -/lessequal /greaterequal /precedesequal /followsequal /similar -/approxequal /propersubset /propersuperset /lessmuch /greatermuch -/precedes /follows /arrowleft /spade /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef -] def - -%%EndProcSet -%%BeginProcSet: texps.pro -%! -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 -%! -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 -%! -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: CMBSY10 -%!PS-AdobeFont-1.1: CMBSY10 1.00 -%%CreationDate: 1992 Jul 23 21:21:18 -% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. -11 dict begin -/FontInfo 7 dict dup begin -/version (1.00) readonly def -/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def -/FullName (CMBSY10) readonly def -/FamilyName (Computer Modern) readonly def -/Weight (Bold) readonly def -/ItalicAngle -14.035 def -/isFixedPitch false def -end readonly def -/FontName /CMBSY10 def -/PaintType 0 def -/FontType 1 def -/FontMatrix [0.001 0 0 0.001 0 0] readonly def -/Encoding 256 array -0 1 255 {1 index exch /.notdef put} for -dup 0 /.notdef put -readonly def -/FontBBox{-27 -940 1332 825}readonly def -/UniqueID 5000762 def -currentdict end -currentfile eexec -D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891 -016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171 -9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F -D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758 -469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8 -2BDBF16FBC7512FAA308A093FE5CF17EFB0FFE6C69FEBA8389DCC1923D30683D -A8CD93F7195D5A07BA2F18CB3FD5FFEDA4D83BF758062134D84AC0100187A6CD -1F80F5DC15B47D73F69655445AD218A8AD78C16EF96F385C9E2D46F8A330C7B5 -A859EB0610C78FC5CE39715A1C5458D30498C0A339504A74C7E8F84B3DEC1516 -B3ABAA0A06DEDCD5F9FEAA5AC4AE8D5A5BA5EC0B64784454F58049E13467D705 -8F13A22BDED5F93EDDCAB7A1886A5168D25B120F8BBCC23546BC7398D4E3EC17 -138921404C390EB84C3CC243C0FF3DEC9EBFFF3DEA73365F1E4BC2F3AB911B2F -780946F4F6F49935A54EF955D9894FEB37239C896CF98240162F6A6E9677EA24 -06BEE1F04463C033047F7F972C560213C7A02BFEE5AE5AE5BF72377CED942A6D -8059E59CF03CD6782BD34BC02AA4FD1BA25A5CBE32569D7FED28EFB4C0F5F7C8 -6DADC1A047CB514E19B36A84D4DB390FFE5B841C390666FE27C712E23E22FC84 -A8670626E8B72700B9EE9F06F2121264C1CF69FEEC3E20897D0D9057032830FE -A18A4BA2AD5CE10EE4FED4BB9E2A9C06965779827D7CBA93926793A7161454E3 -C5AC6A3AAEB75EC64556142508DE6E37B71058F8B97C1A9B4CEBF74FBD2D6D84 -F5DAA2B04AD30B313070B33789935E83DB470FAB8EC65165679F247964BD0C20 -78291B6E13C29E8B86429C1B90C396729D6BDE4CCF24BE000390D798DA73BBEC -AC5C9B1AC19B2C660CF1CDEC05289F6CAEF0E43465E3627DE26670BAA825429B -4B8FE57928267D5EBE38C5BF93F90304EB89DE120F81362FB5A3D374AB25B33C -D03A8E9E176E41C964625E58A65EA958EF2B089933C06B71E29249A96D5A2395 -DE687A0C60B837B5657B90F8642A27B037E4FFFA82343351B7C3657469CF109F -7A0D906B989CC9F9C181546D6D64DC6CCBF184FF6824893EFFE1B74C7BF29C26 -E3DF9E4D4219434DD295CA9C8034BAC756EFF8DB207FB6863C0039C9492DBD95 -561C9997D2F0B343FCD38331B24B7A988B000B6FD1D2806D29858420CB6B0553 -0110BAE06D0780B5EA5B6B54BAEB2C25644CC9754D96F1C14EA80044AF4A094B -668DA818E217647ED96AE1B8381DED927818B8FAABF1A73B7C104AFD8406B7F6 -D7F466C35D3A4B36255D2743EAE95123C5EC1553C15C03CBD9105DCA0D65CE72 -8191EB1E47C3572AB6D08BDC1E8AD37BDE2865D8143F -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -cleartomark -%%EndFont -%%BeginFont: CMITT10 -%!PS-AdobeFont-1.1: CMITT10 1.0 -%%CreationDate: 1991 Aug 18 17:48:50 -% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. -11 dict begin -/FontInfo 7 dict dup begin -/version (1.0) readonly def -/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def -/FullName (CMITT10) readonly def -/FamilyName (Computer Modern) readonly def -/Weight (Medium) readonly def -/ItalicAngle -14.04 def -/isFixedPitch true def -end readonly def -/FontName /CMITT10 def -/PaintType 0 def -/FontType 1 def -/FontMatrix [0.001 0 0 0.001 0 0] readonly def -/Encoding 256 array -0 1 255 {1 index exch /.notdef put} for -dup 0 /.notdef put -readonly def -/FontBBox{11 -233 669 696}readonly def -/UniqueID 5000779 def -currentdict end -currentfile eexec -D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE -3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B -532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470 -B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B -986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE -D919C2DDD26BDC0D99398B9F4D004D606918A40B8D7BFA821B73E118040992A4 -E1BF99740F8FAA47E4349853C8149C0F8BE2F23C6F332BC0373C867D0715E8FA -FF163A60AFD0FED665D5829739975C5DE12EB30895604D211F645D4E13330DB7 -64B6E35463C93B752F691FDDC44595B0A0E9E57C6F649809C4DBC7DB58102A60 -46349E9A5740893A1BD4536B99ECE72B147B713619037400669C07291022F84F -4F3302F8244D2F0F1380466E81E0B5E00AF33E021A55620A7A93F3BD49C7040A -67C096167F502EF2051B526405B9391B4340A3FFEC103E317E315A88D31661E1 -7E4104A2B925D1DDA9586861904FF6FFCE6A8E808385E4C4014F5A494874E2FB -C3758D6989AB68C4CEF82F92B9439794FC404A29D086ED6B27997735BC3A24F0 -473FFD74BAECF5282E2EBFCB92D69B81C568D394055E2E30A7E3F448796E4EB8 -019AC2E075377F777183BD87FDD194E855ABFA35AFA73304DBB181C267431B16 -70456FD8470B525011891C1E140B8FF24A474B89F1CEAAB509F91FCAF512E16D -8413BAC0C664FDCD31245C5996F4883305D3EDF1C8D1E6F0B1E79A06028BBDDF -6AA5B515DF33BA8FFF2394262F3FE1DF95AD661322BFA5179E325BD1B1EECE49 -69F64789FF1BE8DE5CD7485571A07471BD6CAB4891BAB122BE4C4A1B7176F33E -A1A434F745811B71EA8AF73407F32E9F4EAAE1C1FAA979523C18A24F754C307C -CE056DCB71B20292D4FBCBF9AB9E9B81DADAB90E60BE926315049E5BF0F50315 -66D82E4963CB556F19461F43EF80302912AC1168884A1692AC59BFBC431B14AC -A5FC06C4AB595F9DF66CE5EB69568038445A9EDDE20CF92BA308A235A872B15E -8EE6356F4041C28B24C085EF70B6626241A3AD73D4DD274D5B7A4C0BCA80F121 -957D0E504B12C2484E2B7DFF711F704995A9AD468B796B294473D338BB8C8B76 -E53D7C1D6A92F0B332F505A7FCECEA75BAAE4C92ED1397FAB77F6F69A2D42568 -52D623D1AC829D0B2F8642868CFCED6F86EAAE43C1C63F61E3FCFF126CDE44FD -6BF01F8482B9CF1D0314714E91338BB4E6EA1ACA6492AF6AE6C06843E097D24C -58E56D593B06EDEEF7F3709D49C8DAA30204AE7376D59EEB0369CF87C75067B7 -C65F71804CB095AE249C8806DCA75B0792A655A9927E000072470A33CA142B82 -9A702CD9D6DAAF57DCB4719D66E840575B05CF73204654941B90683AC3573B2D -E8020E09A0062CF70EC4D0CB44382B62CF565E9628BA3A4DA0794FFE91196108 -8F95BB524D40C8B75D8CC34E3E74F36D160C9238A5DA145DFD05A2AFE0002143 -DBC87D2A434B937F4C78CD46E8EA50752EEF375CAB685292515C1DBAF6CE4F36 -9C1675C425D4B48C3905711510D9F303266776D6FFD1A49C0C5309ED15DD9187 -73E7198388BDCB7DCEA58B58A97FB976B1F3CBFD4937120E907FFF61DCA722B9 -A8F38D0368D4DF8E02380638B1782B4F6BA93F1AB4BA8893E0B3EFBAA8675159 -7EAF7F8ABEBABB52BF1C5990D71B4709960D700B847277542EFDCE5C96BF1ABF -885303ABD9A841E89C089859928A70BD79E291442F9AA3595A126451DE4B7371 -49AF0A6D94E3EDEA4526DA3A3A94FA5BCE3DD072E206A011740CF53A94BFB060 -49334AFA199DCE2C3EE5B7DF2DF9F850E60388E09B52C73DC8ADB967E566CE32 -FC870A1954216F0D48B0B1B55853F6BC7F0E492C23670BB760ECDE936E3F93EF -4E0A1816A7C66923A1A1E7154EE5E38878C808C91B6C070C27BB028D83AF1365 -638ED168EC1012A58A0D10DDD6B96A0DB8923F27F8C06C5949B19ADA5A94FF74 -6E6A4F5714C0165E926E73A41FD770FF7B6F66603995036FECA76D165915BB29 -2C31CA09CB2D80C90B7B8AFB1C1D5EEFC516756C5CE07FE40973A478FE1D4A2D -1C14562A4FE8EFCD9A06114B4DDC1A0EF50C08569865F2C35042 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -cleartomark -%%EndFont -%%BeginFont: CMTI10 -%!PS-AdobeFont-1.1: CMTI10 1.00B -%%CreationDate: 1992 Feb 19 19:56:16 -% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. -11 dict begin -/FontInfo 7 dict dup begin -/version (1.00B) readonly def -/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def -/FullName (CMTI10) readonly def -/FamilyName (Computer Modern) readonly def -/Weight (Medium) readonly def -/ItalicAngle -14.04 def -/isFixedPitch false def -end readonly def -/FontName /CMTI10 def -/PaintType 0 def -/FontType 1 def -/FontMatrix [0.001 0 0 0.001 0 0] readonly def -/Encoding 256 array -0 1 255 {1 index exch /.notdef put} for -dup 0 /.notdef put -readonly def -/FontBBox{-163 -250 1146 969}readonly def -/UniqueID 5000828 def -currentdict end -currentfile eexec -D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE -3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B -532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470 -B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B -986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE -D919C2DDD26BDC0D99398B9F4D03D5993DFC0930297866E1CD0A319B6B1FD958 -9E3948FFB0B4E70F212EC976D65099D84E0D37A7A771C3101D6AD26A0513378F -21EC3643079EECE0C9AB54B4772E5DCA82D0D4ACC7F42FB493AA04A3BF4A1BD6 -06ECE186315DBE9CFDCB1A0303E8D3E83027CD3AFA8F0BD466A8E8CA0E7164CF -55B332FAD43482748DD4A1CB3F40CB1F5E67192B8216A0D8FE30F9F05BF016F5 -B5CC130A4B0796EE065495422FBA55BEE9BFD99D04464D987AC4D237C208FA86 -0B112E55CE7B3782A34BC22E3DE31755D9AFF19E490C8E43B85E17ECE87FA8B9 -1485831624D24F37C39BF9972D74E6EC4784727AC00B9C4A3AD3DA1C22BD6961 -7E0ADAF55422F22ACA5E4DCD4DF9FCD187A566B7FB661D0530454D0DD6C6C50A -7A3875C6CBF8EC7769F32A1F3F7FC1C072BADEC97794D4E90E0035282A170402 -356E5A9CD9ABD80AC4342A5283E458A7269252F4541CBB6452B39ED54D336D0B -19928E9CD1AB26AD83EB209E2EC75011A2643813053B5DBB0246097C4821B5F2 -C92554E9140BE35B2DBFCD98809A8EC9FC910FDE9E0D86457C70ACB056EBF90F -244DC0A5BBD455E15D6E3180311D52CF50B0BF7D0A7F64F3A1821E0AEDBC2E7B -AEB549FE1D51088C153799C6E089B5D5D65E1C4E2D2B430CDF1FFA23CCB25D95 -5C4DD885310A706B320AB25C8D742C6F29953254FA54DAAEE60ED477877D19BC -D28E9AB576B0EA088171FD000B60D73B3C57F754BC07EBC9BF751B7D2B32459D -993861B7C4B0D98C422A11BECEF76F4EFC0ECAEE89723E6CED53E3678D733363 -2DF068AEF0FE7DFB57393BDAA439A6A4C396F86032A98009EAE1247B7DE83B3B -E46DF2898598FF5E6CA6953127432A967E4FD41CDD60D6E413059A58FA556EF3 -309178B57C16A763CFC9BEEC276944BDEA255789EF4E1ECDE1EA43EEDB955513 -F42EDDCF39AE522A1DC2D80B2772B05DA60F3DC15A815A6BAFEDC399C7956E75 -3851CB3588E22936FBFB63A58300298B11C45D82385C083D07AF133BB1BC941A -FDD9F34D5E0B8087EF2A58C54D8AB7580EE3ED58AEB83B72CB9028F472ADBF11 -05A77651F118824F6CD00209EFB60C1D32D46A78E8C8DCB8B0E742828E3B7D17 -DF5200D68189C91FB8489CDEE8BC223C4281DDCA5F7DA80BD5C2D66A14695EA1 -5F05E03500579ADD440ED2C57F535807560C6FE3873143D792734FEAB93AE8DD -633BA6FC5683083402BF086D23594AAC84A4868AFAA32AFBDF86142B350F8F62 -E2531321E4CCF34293024EF8AB617BAB11A3A5EDA03CAC5AC431C893607DF8E5 -C3DC8646027A7554625A16FD184A70DB5FE6DCEA366B64430A147144CC9839F5 -72829FFA42BC3A8406D680E44A0305C9C9E265E91AE82EDF30F73730DCD4A972 -1075699B4D5902C9A10BDE669900444DD85782E9DE14ED402A0F68FB89A741B4 -ACC23456978D6688C1116360697E13928E4ADB10C3F1F876B64443BF671628BB -B44187C933E4361B77E1EEDA0E0F16B232EE4D3B35851D898185340538CF879C -CE541F330A2AE1C1D43A94E75351FE0913B7B6ED3F085C0B7347F143E38668CA -0D7609A82A9FF8BCECB303391B3A62894C3B5DF6BC0EE55F69705379EF377150 -B246039F064B876D2F9392526A7A678C6271833F014E2E0624C4F02662D3C994 -5E92462F74014094F20CBF99162F1F72608684B1E8D0521512739C5735AD0515 -774ADB3742C4221C8C31F432F4F292AD16D6B3427F2DCA521ED4852D26AC9F4F -9C143D677751D7353A3F354B9ED4CA45D744B9C1370B62C3429BF642DE8A2773 -E98AC223259C7432A401FA8CE6F466C42D2DB339306D0CE0C4727F8455DA5706 -F388969840E487E1364E06F74036E83825087DA82CC92C455972C6BC1058F58C -57C2351C5845A6F4FB971E24E9B1E9069A6A13CA16177C90760AC91F09696E62 -E71A7A4CB1CAAFBA1B1C691B9F033079D025FC32C9F06CA1726390DC919C0E60 -C4902E6DF99B87587A62EB730FB411B079D9D28FFA4C131C4382222EAB60817D -B0F6727CBCEF3D4B2407F756B9B2564F3733896A13E1D6A76569F979F09FC7F4 -112328106450B6D48169D2185F42D38AF68B4D473C0F957E9A5149538B426638 -E791956A584CD2805F78D82E4A0892E30C865DC984517EEC40ACAFF82531A0D6 -6C216C5A60B91164886205E42444439EE0595882E49A22FD6083FFC49C7FD37F -4647ED56CB1E105036E87712339A4E64CA6904DDC66A7474D242F67700B3C4B6 -53CEF40563995CCC463287FA12CD41E3159288B0BEC39D8B3FFCB10B84411114 -57A12410F2427B8D2F068EC8F98F046B7A888FD0283E9A67BFE15B511EBF1F81 -F6866FFD6B37AB069BB76DCDF39A591006DEA5766DE47581F12953F9FD271B92 -C9729FB3C0BF6173C57988609127AEDB9B0FF341DB00673B66C802C87F2E88BA -426CBB3339E4C3DA6571A2771768DC78F41249CD68E8FAFE6E0DD18451FB13F4 -B4543A9259FEC3EF2608DAE67BDA023AE852F72B8D50C1803D2B156A1018F677 -3664006D313806D199C3E6200BAA081D163B8E26491FA8CE589C8A5A672D5D24 -CD57476C182A2CED2AA06920A211A2DB32092A6F6166F723594A31B196AB5549 -7B8FF6229573FC15FD3CC688E02CD3E0BDE677327348BA2716077B4AAC87A683 -3C3099EE754EE0B18350D50AC59817E9CCAB2642E7F3E9D16BD91D61CDE5529F -90B2C0B769314B47FC9D0411503CFBB76C432C0E4A7EDE4B5D55F3F3D9FDF6FD -D80709808E5619DEBD3F3C607932ED7E32BD9101D596563864673A8EE60F75EE -103E39BB210783D87DEA34D5AF80D73206D2C803089E1641DFED1DFC581D1F5A -E983DA804EEF7F352A5C7F33022CDF57E6671476EAFDEA38B71AC2096A35ABE1 -5B2FD822BCACAC5AA2A6AEA4AC5DC9A93B61274863E2C46C6DE2EFD651BAEA23 -044AF9577962AE7E20FAF6E53B252FD7C5884E1038532B462B2B9DD8208E25DB -642FFFE4A55AED5676BBCF21944F7EE5AAA952F849FE14113FA714A966DC784C -A7FF3CF44C2C5F8A7B6964EE121658C72423BB5D32FF73B42612D4C97A7B4614 -8FA89ADF8824C27BFBC1926144BC1AC19E48793501293AC2AB4CF8FABC91F85D -06470E5C19CD3499793D2FADB9EA51B1DE7F3000A8ED3435F6F62833F8FE967A -4F5AE90DE37EF5F635A4F0D0CDF78EA0FE4EE0823209BC76F42842843AD6F532 -E7D1065452E9B36803B33C098162C8165C4339259791A9C0EC277B08C03653CF -DB6DDB1D3E2F53787F57BD205E9B234BC7131BE415AE79F5752D4F544BC6EFE8 -670F90F90B7C1BA7F564C891AE6E4C40A3B712AC9E02DFDE27070078E92FC72B -DCB19C503AA99E684F638794B9B8F83926B836D6022E50E30CBAC4AB9066C421 -33440FA274B2F95E6BE1A6796342F7A7F3A5885748CF1A3606C69427C65F72A7 -83466E4689BD1D3BE0CB868174E52A3389AA8CF111C775E21E0207F3FCF5DEE0 -EC6BAD17974ED6CEB68F6EB7EC97F5E09BE4F5E7D41F4695147303FE3B89A186 -7DAFE758F0C518D7352F5C69FA9E5FBDDEC9F8C7B544F329BFE0F2E99796486A -966E928AB70980152183CD62519809EE44F7B6FD27195424A8A95CA53814EF1B -8897B129BCA34722BCF327FD678BF6CA3198436E91271788734FD83323AB415A -FD46037541E70DD5AD2E99CC1DFCBC56185D186331BDA78AC64CA5E4A7F5D71A -1F8C3A3FC11F4FEA00B5E9D64A6895CE007E3A19B852A9B845DEB74369227C35 -13FFBC52F90C723DFE021B4165EED9FAE18721AAA764B62776ABDDDBAB734171 -7553581613E7EAC5910EB9752817D144B648846980B51B7E1E9E44E14E717FCC -249D8D051CE54D97EB5F460B8DACD162B4A2AA631720C57EB60C41AF718A0320 -5726191DB2259F4C44DF369133A27EC6D9E5A4B0CE87AAED5A269BE708A6D5CC -00B60DE58308B834891CA7FB0639CEABE8312C16E8D73CA6678AE0203B63A501 -9E148368560EAB3361A165679CA763A53400B5853A48C308F8AD83BA50EE948D -32840C7B440D2F4ECCB3B49C67FD02EE645E4184D08917EB582D08044788F28E -4E02184CE0DB8CFB7687E091C3ECF5BC10D620B1E72A9C9CA5831D51AF6C5AE7 -8E2F9CD6C4C4FB11383E0B442026634B94D7FFE58F03CE6871CB391544224F87 -8FDDF81D85CA66B925D4EFD51831D74449ABC163FBA020FFCA9F604628B2DF15 -7EB40FE8649F2433524361646B2547FC62DE9905BB041569E3DC73D96BED8F2C -BA3556E121109B54A4FA99F700B23E9F74CC5C5C8B87DE69AE60FF2515464967 -D915EA764F8FFB76C9D789119F48ACA3E7B216D539237ABD893C6A370F0D52CF -BF9A218CD584A7076F194E07EB02F01C47DE79F904B6C2896A7EFB439DD10A73 -2AE2004873E01D2A73FC72587A81055AD10D57672917008B2A72EE8B05A64FFE -B138090C8994B2B6D033E0056CA05E6A4E90872CC26B024348EF8708A0AB6E92 -7F0A67B4FA0DEC84CE3B4AE8C53A057016F3093102F93A2AE24858B1423234BA -DD5F34CB7FC01C41EDC190F3390C1D4F44F11B4E64B9B046DC10EB3C3B1D6DAD - -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -cleartomark -%%EndFont -%%BeginFont: SkakNew-Figurine -%!PS-AdobeFont-1.0: SkakNew-Figurine 001.003 -%%CreationDate: Thu Jan 29 13:33:07 2004 -%%VMusage: 120000 150000 -11 dict begin -/FontInfo 14 dict dup begin -/version (001.003) readonly def -/Notice (Copyright (c) Ulrich Dirr 2003, former designs by Piet Tutelaers, Torben Hoffmann, Dirk Bchle. 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 78 /N put -readonly def -/PaintType 0 def -/FontType 1 def -/FontMatrix [ 0.0010000 0 0 0.0010000 0 0 ] readonly def -/UniqueID 555555 def -/FontBBox {0 -114 1241 842} readonly def -currentdict end -currentfile eexec -D9D66F633B846A989B9974B0179FC6CC445BCF7C3C3333173232E3FDBFF43949 -1DB866C39088C203DC22FDC758584860EC7BB67FDA28CC6208249060E18FAB32 -204779B5C03C0493BBBBC95CF02692CC4DEAA8D2EA90B5C2E64374E92BCB8501 -429B8FAE4A76C0C6B76D6FF7CF9A7D5EDFBCA0E959541C59BD05B7DE43D25D53 -FC3DDA6EF0C2743978A6D03E19CCED4A11F2EA4BCC3110BE8B8D9E2772361969 -C19258EFAFDC276CB1ADE9208A941A36D18A96F6D1C771F81C4B3B8CF0CBC2E8 -4B44D923DDCE84E17DAE82547EA9EA5E732D78F03AA245377BF0780A3752527B -6E63F6A41202E7A6C4E4F9330A0AABBD04387E12F2ABF531216BF498DC6B6BE6 -06DD50B385DDB864515170905E2BF225AB9AEF29A2181200040460795735C124 -59C90AE9BF9545ED2C99C55236DCC611064B099A80845395788E7166AB5C6A5A -F720DC76ACC3D91855ED09CC7E29B938A720C8AADEFC053DEF34A2F9CA068D09 -3662981CCDFA33148994FD5794F52837D2C37958AE4A8856C643C53BFDB62449 -AF0FF1C0CC2EBD54E69A8367A171B5707EFA10E2EA5D0C63D5FA74C26226B95E -86809E6F6122225DA57CF7260F9581640FB005DCEE2D789A909C21CEBE458F52 -5DF21768F6CA126919EA7EC00F644C726323D6C0C181C98AAAF51B105F264B5C -B036E187D42B9AF84132A5B6058DF83AE051DC5FFBC1009C908CE2E00C9AE2EE -578B8EED656CF363B56C768BEF0F666CF7D411D3031A839C261604A37B95AA9D -21E26358EDEB62621479B0DD9B81DB317AF64FE109DBBBBBA24A0607A59B573E -533F697ADBE0B3B72B4DB7958AB21F087C4198762305E8BD772EF94B1FE5D3F6 -B4CB72454AEAB0D084862847160859D77EE9B97C9108A6DA5EC880FB09E3FA06 -1C5289F118E0DEF0D8D007601516BF04F1CD1BD2F6F0501412DDB627B5B961DD -D798E929B6C10175500623F3A56099BAB001A5C8838F226782172218DAF090D8 -C9DFB85BD9355CCF8CB603A6DBB71EA17E5B1FA1B8553EFA10D2A9AF620BF1D7 -F06399A0E56EA8959786CB0F714375D3EACEC0622533CD5D4DE4BEAC215C07DD -8A98B0DCBC2398D3FB9469502241D4200BD16ED8E05A5960142E668C9C28543B -8C38BE2719E23968D45BB14C8D5C3926FC98A0B3E3B42BD4246658BBA304F0F0 -D036B9E40B8AB4E17E4CFFFEF50DF596F238886DB3187F017A7E2E71E4B4F1A2 -AD2F2CBBD1A04CAD375F74F86A8584B3AE37BF555A3F5287FEAB126B63383BF9 -4285B28F2FF117224076D69BAEFC1726078DBCDA456A555B1E1A66D0C48E4037 -0D584F327ADEA4CE38E6542D9C677A9B55FF7D95FDBE67B61470DA4057404860 -42C1EDC1800D48102A19A9B2DF435AFF9CF55E3B00B7B9A969EECE8F1578F76E -5069022CC79384C6ADD3D5164423F8B52C0F685FA42B7AA77530A23861DB6214 -461F4C20E771996A7688C9F91A153A75C13F2B7C12D010DD01B99B6E0E8860EC -049C736CDE282C8CF9A1A907849A4A6E8717730511357EC8E95A14F16E59C2A4 -EF7FBCD800EEC3B17623FC7B6E1D8CF767521022789C7357E2162A9DF07CF06F -344C2461F709D16366549675B3346A651BA5FAAD41E0F890BB4A942C7D90CB36 -62670F5CAFE5E5D9D7AA53F3446A628D4F1F062C0AA18EA135441352BB26162F -1888268C549741B41D46B72EE2FBD1E9E06E7DEA5DD8182737C1586F96989439 -FB613B16454F6821267B63054E2F086CA837644C6C85242429CF68051824F920 -CAB9A66CC55A843AA1E9123475ECEB8C8E726192A8086C9035864B0FEBC94449 -0DFD33C0C5C0BBCFD817F11E62BDAC923EE717AA17EE09DAA40680533C8BE527 -9E57AB1D6F4968280DFC18E0E83BE2F012F1094D3687EE48543F832981B5C777 -25B8B4E77526A45B1AB4727546213C294A16A762137314C04E7DCA011E1873E7 -7393B6F1F8D42CDD16D236BCC578407F2195BFBAAB540C5C43EE879906AC4F07 -5251FA3466B8F07E6B6539DA4665509E36474CCCD1DAD8D4490827DEFC71CF01 -16810CF579C9E025C5D8CA88BE78C3791A28BFCCA56FA739A08897927D3C5A87 -CA2759BD923D0DD4E47B37C54190F96F8E14B3A8FB4789DEDF76D819FD66BFD5 -AAF3A21CA574DC18E5D20B4767D862D2D5A71D78A31FE042EF1145DCECAFA540 -CA42EC01E0DAE2D115756F6DA36634EE89F6C26253CB08C853D35E3DA0039DEF -9FC9B2546680D18D94ED2B3875B01568C913734EF2CABB9709E13ACCEA2D60D5 -35C7B0B85BDB68AE6524A0AEF9532AEF7C21EB70371E1F7DCE68104A20C3 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -cleartomark -%%EndFont -%%BeginFont: CMTT8 -%!PS-AdobeFont-1.1: CMTT8 1.0 -%%CreationDate: 1991 Aug 20 16:46:05 -% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. -11 dict begin -/FontInfo 7 dict dup begin -/version (1.0) readonly def -/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def -/FullName (CMTT8) readonly def -/FamilyName (Computer Modern) readonly def -/Weight (Medium) readonly def -/ItalicAngle 0 def -/isFixedPitch true def -end readonly def -/FontName /CMTT8 def -/PaintType 0 def -/FontType 1 def -/FontMatrix [0.001 0 0 0.001 0 0] readonly def -/Encoding 256 array -0 1 255 {1 index exch /.notdef put} for -dup 0 /.notdef put -readonly def -/FontBBox{-5 -232 545 699}readonly def -/UniqueID 5000830 def -currentdict end -currentfile eexec -D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891 -016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171 -9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F -D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758 -469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8 -2BDBF16FBC7512FAA308A093FE5F0187316F83DDE3E2D27FCDF6C5CE4F95B6EE -3317BD91B7921F3039DD35FEA387D5CFB6C6E9DC84C178F3432994FC7FAC6E5A -ED41A1E2EBA350178FBFEB45944511731BA827167DDAC238FC69A5486B995477 -C469E2E27493B0B711DF8E267D3D5613B450011921685147114106C9472580BD -F531022F6DF5432B2A4EBC51A8032C7F9689B6FA942D849B29709631613DA68D -4DF7B6F059A19304F40A3C3580CE3B51D79D42984194D4F178801720892FB6E7 -61FF43C63F9256B5E9F4227B1378222BAAD4D52C77462DF01892220E11129C16 -6C9E45BB9F01ED7C1AD5D8B4D72BE0E12969AFEA90FEF170603CDB91CB243173 -B19A56084D10293B80A35275F41BF78A054DDC98F4A1FFF592463D944960FB31 -6BE5F03960F9B1F213CBCC7FD448657FE388F10104D42B0715FC9571CC60CF23 -C72560CBB8835A0CA208FE06676B3B48B093CB7FB2C0C53AF17EC5B372A9771B -BFD52FFB7062B4FE0106A01A2A1A1DD4EF5C8C7623EC9324A2CB3B402FCC1FCE -52BFC8662F8A39D5F1B41C97E7CE34E16AC28A1E94007AEA7D4C519399F1B7A9 -48FA7DDB671067244F09C29F95DD60668223F45BBDA8B1C452E930A9F3F341C5 -351D59EA87462FFB30277D3B24E2104D4AAB873BB2B16DA5B23BEE25BE2C8128 -C4CF2F4F438A4E520CD864F3EAFB5363753B82978F6FD664A14E5D6F3A929348 -5839EA752FD635619C4FABF1E1454510BD9D6B538A343BE748AE05B47F917367 -1BA5EDB15F1BDBE806E51B294257D7087334165419A6520462D794D670A1D6E1 -3BB03BF689391D056D55AD660D15A386E6D222C9572BDC4DC8A46EEC75124BB5 -F0E8978FD6031A90E4768CCBF62A5ED8C8087FD66D2033011947634878BDC0AB -6501DA7E6D96E227068E993DBB0072F037CA4113A258D9363EB13B6F1200917F -444B051415FFA8D1265504BF04332FA1D88A5637C90401136CC67E68A8B68510 -F1311458FBDABF100E33B66265633C2EA23683D92D0780AD7D1403A647179929 -0DD0EF1C48D8F4F3A2FD790FDE3400E992B6F9884CEC7AF443D4B8605682FB68 -9F0D4AC6D08BE7A070B63D6E4930A68E2FC037EA05308D22D7C2867EC38EC0E3 -CE6751EB21658FF5DDCA51AABF2437B128DEBD4E6256A967554408C1D05D4D37 -97F4CCF15A92657F761E57117768EDE1F3C543950740B3B362DE287B858CF9C4 -67CC8CF8CE3BC4F87A8BF6E454E3A96EC8900E9BABBC8015B6018DB91558814B -42296B4B7B2AB916AA83FDF44BB54007549A62F7B627AE99A1932A3C02F8E153 -FD81C54AB9ED6153035083680F80AD2682D6ED2CED38661B0D75F47B3A9080F5 -0D47A568DF70372E3A16EAEF5DF2D4EAAC12718881400F6EC0907DDA16BAC8EE -A690771415754344E746B86CC65FAE7AD9F43277060150BCC0EB1477A45FA69C -560E18E4A866B0807713D9B44CF4937B89AB0C6895A599FB46F5AA4365C69C7C -05A088434E2A38E35BD1CF8008F13ADD35B32DEB39897FCBD9DC3DC0432D5930 -3B840EEBF27DE21BA1F804069B5994DF6628C0868E013DE9844AE7DBC53EC67F -08EEB53974C3C73F0CE92E7316F455C8E0C96D2D228AF8457F50C7DE4021A0D6 -CE71025C192BC19C022407645F8DC09F5D6A5EB75DB43CA41786997BC3A07761 -2925DF18D791EC60551F6BCB544E736281581AE70B88478CFB1EA06955F62956 -D9492EBBEE1F7613FF19CFAD0956D8212FF6FDFFAD7B4AAF5ED022E53DB9FB80 -76A8293CB9034294475708CDF0BD474B1F5080EA13403E70FD45CD08F5564561 -50A71BAF2E74D822DEBFD2E0DE0E729FF5A1F23620E797B63EBF5EDE31A6F6D6 -F3D0F9472D2D5DFAE6A3492AA2E7E22AF349E54841388DE6B80134195C7AED3F -C94C64A7AD9F587D2E9CC288017F7DE7167E605C484AE468E907AD1A313BF4B8 -A0162E09153E0771A05A6E643298BF020D895A59D442C49E0C1345F898B3E8F6 -F6425E34BC0B8B696A783005740EBF50FBF7EE6AD58BF5F4D8045AF231AEEB40 -F464E0CD5ADA4F3760205BBE02AF5AA480351AAEDFDE4347394F723F3A10736F -8C0AAE803B013E806648DA54A2C21CCC57C1B2BF99C639F2393781E3CA315744 -0D2236A337C4561BFA6F0B2CFAC88EDFE3EE570DE2F0E49C0322F8A85190AC76 -EFDB03B7E1CCD3DF9417922F50ED42BFB0FF3292F9B701D8BBC3489A8B450ED8 -B5A5200D973F1E0FAC58792245C5D0C839D73D75F00633C273124ACEB6E08994 -851565097CF24D0515177FD14CA1F1FBD2D5AA9FFBF44CBB6684603569B60775 -66197960AC9FEFC4493DF944B5929FEEBE3625D090D907F2136E8FC05B2C6EDD -423F878812F8B6B2172EA065F10F917E4646D6F3BB33D3E703C545786DCBC16E -E02FED0AE9F70A68846C3F09ED630691FDFFFE8898C3816CB558B4084EAE4742 -E5A879C1DBFA43B52928A05789362F3C69CE3C0D5C54CC62489DF0704651418F -A1AC40C15ADF3628FF03328AFFD459CA9C16877AE46A9364C113D80146469ACF -BC6D59FE5C150E29360A6642972CC302323D220CF434639CA182E93A95B9291A -9885725AFD59DBB20188418C063ACFFD09325512687BA1EE5206E66F8DD73574 -EE0D70958E9FCBB167308EB2F4E1792E88040E8B244421A8A09B0C33D270325B -BDFFEA47C9C4ADBC6FDDD13D77F34CD9F4DE7995C1E178198FBFF52A0A6F8DC3 -3604ECEDEAB514E70A378E888FCE21826DF7C9595A575D09BC4C3697889C8D6B -F745BD5AFF0817133BB1E49F7E83A5929BE77F83F22845A572F5D5E5BE208ACB -826DF06D41816C4EF879274F446454E51DD4FC32087A83D67BB650127DB1B69B -95AA9FD49D6FD03826B70D698494E440969FE12937D3EEA7B3A4B07D3F64772B -BAF0D1ADF68F2A3C7CACC0C9687426627150C19DEEEC9B1DDE12B0CE3692B76A -BD3D9F92417109243E59E354B15B05E11873F30B8C4E7D89F992EDD87D4C91DF -F74D197EFEC274B197A6A1CCBE719E8E9084743EFE8D166C6D11364F5B324A84 -4F2471770EEE8E5A4D340AEFADFA533023BB59B7372A294516C1678395C3886A -EADCAAFBF76825D2C11BEC2DFBFA78540F1A8AE3AE653C149D82C0EE0D025965 -352E662CB6B4DA92DA61C38056D03E139BBABD2AA505E3E806CD925A696676CF -B4D759989697F45BFFF9672FA3B44422DCDF2CF4B01911E2482ADD135F8D631E -AAE27259E609D0FCD6DB42C19C15C42340B73B466838E892C36CB0BEE6DF60B6 -26AA8A1A2C8DAC9AD036593A81E50180355D6F4D7ECE386E1ED67CBF637FCBF4 -04A802E7DECE92B5804A7F49112BD4401266B1C0082CF108CE739EE87658AA4E -6BD62585C580D03E0D152B83AE477989FD72CB20F1BA97826EBA0B8452311388 -ECD340CF702C400237A73835409BFC70D6E0239A98CBB03961F5BECFC0760870 -CAF9F763D16EB28A3E79CE90FCAE3722D580A6D33A7F637E056ED4FF680FF1DB -A715B75F747392C9FB3D54407770A2BA8D4DECA64C5C807720C321DA59580F8B -3B6D3E4D544EF684B2E390ACFAC0BBBA27A08ADCB28DDA5A08ADC27C993F1B57 -FD378869BFEBC83F7853C06E3B2E6C0B1FD865B8BCC2266F24AA555626F35909 -4BCD8D7A11FA0CE9985B4A3535034F9025956050DD3EC93BEA79AFD9525FAA28 -8CAC2928ADCE0B31FC80C8BEABD10EDF961B4453B2F773356CFEABFEB6F6D372 -7FA823A47DC6F27CA1EA1ACA04BED583912CC0BBE27B52901B8096C9A1B85EC6 -BC7E057B0A77D2EB8CBB19CA5B6ACFB07D9D687D620D5E017A4B23B663128355 -3AE7F8D9BCD803DF6E25AD734D4B5590FFC64A481F7513F81689CCD8E025D7AC -868238103EC543909124E585284B96A87D02D559A7964AEDBFA0673964343FEF -FA005D13A92590130EF239AA2943A16A29CB5C6357D4979AEF4BA9A59A889805 -104D246B7A7B66D71607316ABC0DBC6AA2BA220E4C7BB21D8EB40D9B9F6FD36F -FAFC36449709BB876F892618953D0AB8B6C0D550F4EF6C2A20EA5DA681C021C1 -9F33AD05EFB3EE74FD95854801939E6FF2644CA828149263D106AEA542C28008 -F8C65F219C01CDE8B3AF789D7B1B45CB7E2CDD5A2347AFAFEC60A053FA2737A3 -A076890A21098527CD6BDC6A8374B8B375D6BBC0C4DD9A26B247BAA241781F9C -3724635ECB946369DB267EC2A5B96862D0FD570CE1464DB29EFF2C762CE90900 -A215BB8D098F7AC831D3141E77222A29052C289F190FA7F27AED2689A632FA60 -C294396C1D15EC5ED3E9C9EDAD2278122892D8B59E8BDFE1FB92A8882D500CA3 -BDA0218198F360197A453BB511DD9073F7A13608697D8D40404966577D6B979E -CBA42689F30C0D7DF87948E2C6689ADC427D11C06085BA06D0C489554C1DA6E8 -E5F387B86678F2219CD1CB1861D8F3F80B8EA0F7A6B74C6B5BB75FD608FC4629 -5E3E0A47209197DE57DDB3CEDD6ABFFBF0F9A0B57D919FE42B46A22660B11A08 -FF2D5E0540A6BEF94F87B400764020C017DF29EFE0EDAF11C42DCFD36DF7F047 -9F675ED7B0F8109699F152B9FDFBB6640774B856475870D20131E39B2E56AE5A -6D97362A1FA615B1E1DC792C03CE9152C5192A5853F2E9DEE148A5E331458EB5 -15044C284ECFF37A4F415D8405807D99FAD95A58111D9840A3C2D716FD14A19F -410D0F2AF0F950D474C3892C65DEA1967C23CD5C605417861719AB4D9569CB5C -DFF280A67ED634783506E86201FB541CB5858ECD6C8463FE79AB6E29A100F134 -88272CA87F2A6F1B8A034FB09CCFE4C5A9651EC997AD1C5DD128076674010EE3 -06CC192946B135D7F9C414D7D83B62DE8E47C1FBB904F6949C4E59F25DE8FCD3 -900884250E315EB6474C8A51DA795762C040D7272FD6FCAEC8FAA2684821694C -BA3CBBB802531D578EB9521FCACF40C1BC9B058C3361A622985FDA9806F39E6B -6CB520C5FA1385ACC0DA55E51EBB92C8FD538D3027D6F118868BAF0B679EF575 -09E5FF206C6FBBC183DE5D539BD0EB9A2EE98D4655DCBC5DFF25BE48BF1E481E -A5051E673C725306175BF18BE528FC5B546B6C553F11C75BE0EBDCE901E7D2DC -6938CED561C2B00093457B80C5B83FD4B69DDF5C7694CA1E72AADDA9DCCC3B06 -DA54361FEB562818A6032B5D79C3F8008F3D5EDA23847DE81C74DAECADC1BAFE -5BF4ACDDF8CD9EF617F60FA392F65D40FCA3D9162CC6C43A9C8E653B621768EE -EA00E48E757249D1C3BEA1E7452E26F6D528693E9B508C7718BE9D85A5D9EFF5 -9E83DECAA64EBA869E1CD69186AEB3C81C97FB92C29AEBAE4849032BD688A2CC -733C3C8B2C97649D5DC5D51778383671C33AD022212BEAE1E743151502971F3E -A944116D6AC8BDF9B4850F5A142E92FF24D3A3375DB793281A14A64C879AA6F2 -47AE2586AF3E9AB0B6B1FA5CDA592E53A67F3CCEF4D9D0A77788A3AB0B344223 -10FD02DCB39A09B06084E543F0E5D4B2715D90399ADE8C1B0E0AB3FEF0967FDB -F996DAF4A6EF180A7CEE7EE909ADBC0AAE0E11A9532798FC0F172CF6E188F941 -A3D2B114FDAAB451C85483A47C3BFD484003938248F60D4AC5AE16D66F1E0E67 -599464F72B8DE12ADF9D687B0DDEB5E957AF23A9B600A79240C7FC2AD0E25BC1 -665DA93F3E621F7033675242A4EE1368896BE2AC321174B973C588EC0176EB1A -1405DEDF6E525258A7BED75986AA47BE58793FFCD4534F451057ADAB6DC3EF72 -CDEAD97E99E9BA86FC7E984ACF0B2E29E9CC48BFDFDBF2879C8276486B1C5743 -A78D19DB76B3D0A00954B59410DA1BA479DC2D87F046B611CCF0B7D35EED6018 -104E714A4FB85D0989DB071AB13CF618F24E0A3311C0FE5F3949B0E412F2F9FF -3F4139822872DA6225F36CAC6AFA491D2756935CE837AB20B995D510533F13D4 -FE7298FF99DBA72151E83FFC9E6A0F66C4B6F43506829C604B88C48E63012980 -3F32BB29ED0EEA56B3370B21722D5A604EC07E4BEEBEA89C634BF9DE6A9777C8 -702D50356994E86EE6F73C60B3EE1D28E9851E0903623EB64111AB118DD66B36 -DFAB7CE4DADF9B572E128C5C37253C0470DFC4D8E6D9FE72F2D8D335EA34EDB4 -C467AB1C81C3DAF26F188367AB583AB5832C20EEC335BC7A1DC8A2B01E832907 -BFC7436C6011BE980711749EA8B0F75216660A39849CD7902FC0E9479558DD7C -E7597A5F7AE37982CE4AA9BB0239AC4C52A8EAAA3384E23CD6486A9B2EFA3882 -B65F2F0F01F97634C9A2ECBBE1DD57E49540AE30D0AA23F5D1DBC966123FDBF6 -0CD15F734FCB521B5682F036E5CA45F037EEB549E7C2ADE3ED40A76479CEDD04 -DE3E952B1579DA9ADCFC45BD597B2D49A18BD94A7507243C66AA306245FE9D60 -00CCA47EB80963733C90D5FE653D9D758E3205ADB4186AB2563A5AF6DCF02621 -A78516F60EB183F71076F5BE418A4EBAD352B9D1C6AE140EFE1FE882C93CA3BA -6469F46477A4B57C7AC20678E545C48EB0B8C2CF5E340DB75C3C31127095EA90 -1B38A017617CEF6CE8050C70A530679BE9D46081D083E32EC73723F3A1D263B0 -4D6A6BEA1EFD8C522475ABBEAA0369EB4C9471B2E811BD591D9B9C75F0CF5E62 -C4AEF1B8268E48524E92912CADEF5E56913AE306B51E7C582E9FD6AFCA282A29 -0A3FCF9673B3187BE1CE82F49FC956CB9ABFE54FD2F07986FA4F9E75AB76752E -79D17670850E64A904F6F853BCC2BBA6D9CFDED78B9F30138B6E781F12724F5A -BFF74966BAA4923B8BAE8CA9AF3A056A5722C9E1412A413B205E113824C0609D -865D7C3BE515AE43ABCE6F0610A995C4AB22F135B29D2C8872AFFDA49E738A86 -7E8C2623491D3F038C6713C07547C8024815ACCBC47342C07489765D5CD55024 -25AF289DF72A8FE937E04AE955802F7C4DEC4034537380034931013582F0DA62 -7D483D31DF674D6A363D42A187152B67D77AA877B3D82364499DB0117D743904 -F3652DB47A6D2E5383D3D19732FE7BD7FF0521826AEA588C8B3774322214A810 -6B81BD9830FC8DF1CE13781F4BD3DDFE5631525BC23B5EE293B9D497F9A9BACF -CBF27288D85EBBD06ED7929AD848177D7DD325896EBA2C4BB8A24391DE4BBBEF -E6F5AAFE03EDF91A31F50AEC0C70E65177A779CB0133C31420534AEB00327D0A -7942B0E5E9B13D85BF97C76CB5E9AB04ED0711F17EBA5A21EB2C4E6A2F64A09E -6A0588170F1F4BE182A312F49264E7594C17E2B9EC4558BB2B424408DAA54239 -DDA0BC9B994B90889CBC32DE2D1B94C868CB28CB2484AD41EEF4CA0740642C6B -BDD93A8276FC3C08A10618F704437693521A872EB963A0B862CB0035632ED04C -69B14F40BBFAA5F890CADF0DD50BFE3639EF38205D5176D886116A24D4A21FD8 -1D534DE5F66AB4EF80F883D97CE325FD40E1BEFCA2120CE9A32AD068032955EC -2A9DAA78CBE271384D9B22C37BE8B19CBC7F896E5A8502133981B913C55BB05A -F945D2C03C1C621A2A3F5698A66531D9EE62B05CE55C805B1CBA3B9A81F85ECB -C778F7CD0802D9C477ED7884C8B43C7BC5AFB674AFBDF6FA928022B1C5281D74 -85F61B277D525E9CA7FEAF10A3D10E7C6759A161D277DCF381FF8CF74A83E62B -D1C1047EC4495C33DDBD171573A78D1C25141B03E3CBE80D4C16F9D1680932CF -9BC5A99039A8BD22F19AB9DB609715DEB9C61C68D8AC91122BBF27150A71B602 -838CB5E9E9D379D7C8799AFD8F29317524F805D07F608F4CE3E56620BCDC3978 -D1ADDF00CE07C8D555CFB6E082C43ACD5FB211D599DCD84215B74F627D05ED6D -CE899891C3DED90265191E7800435A30F4FCF6E4E534038FB7F11B736FD96A85 -3CD9605CC3869063E06E9B9568D678E9CD6E563F654379F271E65790D9C0A6E3 -62947DFB744BD0A26FF155671F286F082AC248A87111FC156D22A02972B42BE2 -155E9645161A45B112797DD30077B72F439DE5EE08AA4F42AD60CBA3B561C580 -828ED082EAAECB8A49E49686F8289494272F7F8DC4CD7BD9B7A20DB84101EBBA -F96E0B65CCD765A3F03A3235B89A076DC0DFF7AAA8050C91CFB8E7DBA73D82C6 -249784E303D6867EEFF20F30275A3A57F6FF69ACA8F18CDAC88E267AD30B80DE -63547647A703D5BE99806DCF95A04D309B2D0A395144F08874632CDF6423F360 -FEF6C85D2BF85290122A9624BA64244B81E853D2F4DFE822B2903E80C8EA3582 -5D531215320F73AB707F118583351664F0C382D55C97D3C0069A083258DFE2A1 -51102870016339FD9A03ABE3AD1BCC7E1E47F2FED184838AA27ADF0618386CBD -0DD208761F859EFE38184630C8789A542A10279E7E509421F744E3BF17C79F94 -5807A0970F1F7B7B4AACA9AA96634BBDC02A361C27DDAF321A2845944A89A960 -2E31651D03A38B5EBBC52ED59B0DD986DA1714E49B4685946D78443EBFA15004 -C99B6C7581B0CFF9C46D058C8B31F21861540642960D3BE484C990797B533132 -10ECCD401A7037FAAB05D98835E9F792192E12FA3D6EC995C12A5B20A0B8EF80 -A473ACD4E6211C42CEBC1B69674D725F7E77FFB0D2627ACEB670BDF35AAD02BA -C90133B61D77C7BEA5C4A05A7272F5189C7D6552582A5CD331B55DD89FF2D43E -CD3B45F0B330366E4CC6FC3CFDE10B9F61C4F3427F67D0C88EE0AE3627958D91 -2CD20BB5E01AFA6C7AEE4BDB036E892172166B242E727B6DC6055AB8AF123CBC -30A546F276EE27DB6B267374E7AE9B7E74709D363C3C7634F5DF05B4F9EA7A4F -263FED4DFEC5657178565BAD14D0CDE9BAA6D37FD909561C50FB313C7AAAD89A -A307D5F5E9A5DA84E4F2EF5AC8B122FAAA3C74233BE5276E330E9A334F75F708 -6ACD3C5059C095024AA5A6B8AD6A5B15573ADA3218C91BC745F5177A0D6C92A1 -6BA5C05918E76B1D1EB34371A20CED9B032E967C06B2647562FAEDA109A5858A -E8CFB1286A16ED5B73FF32C33F4B5970D389F0FB3A3A3D90238EF442233885AD -C324B6BC9BFC6531F7278FCA71437BE3BE9E2A7DBB772E0B1A59E8063C3AEF11 -6B041D0B5DDE5794F15B0CA99E3729D22E58DCCE2CFC243ADFCF197A2A4C35DE -91A90409C8552E80AAA13F6302FB129342B5CFE1ECA184A9EF6CE4FF1FFC6195 -6D955F8D07B126DCE3109218D98D185DE14C393BB96D086D1DC4BAE453F321F1 -9C1665D5BDFE3FA701F2A66E440406A4CAE1E19E0BC6510155D221E89948E9EE -C33E5A9DD8848CC9BB5278DE9C3718E29D53A8EEF578E05F986D2D6069B6182A -45AFC3C28466826D12BA8AB8CAD1EFF66390644EA19017DA514A58FEC05126B5 -FC2A282E33B6608BA8BE4AE707211B2A213D3AA606110A8F92CC9036501905D2 -D1F740100119F597A6D860063B916111183573B0E78A56E5299691567E7E2F2C -1B731DF543525D095C8827A32EB6F68DFCF68CE5B785937B69ACA5E8E13E529E -9BBF59F20456931181A63F92EB7D6B0D5E53E9330C3DEAE517261973C7076655 -BC07FBDCF7CEECA773B6CB33379CEEA222BE69215ED6DE886FA853EB1A65B4F4 -3B5CA284DABCF68ABE43B68B1E73F16D89006837F09EC9DA9545D4772FA37930 -09607E224E33450756F278B5914724CA2AF03AF3C970D1802DD2B56D3BF00ED3 -E1DFA46EBB1B4B87FD9CFB41BD2001C612FF4A220E747A49E2911595E92330FC -D65FCEEA135E80DEF9E27E3379419C5BD3E09264847E2E6B0632548A3B939790 -5F1D04E4A3158BB3F609E39F4DEFA91973E5493048C105C22AF7FDFC1899A410 -B52821903DB79FDE800FE13E5DDAF72CB63EAED5E32E140D2877448D99C63182 -4F5A6AAE6208986C3E4393ADF0BCC23A598575056854D1F7387C59B00D3E8AB4 -C41C5E1E32AD857BF552102BDEE3656908E975EF4484B80694CD923424C33E4A -62C3B4396FE6B1C203E87382956784A528488C0D6F7795CFA459D33D1FBD44B3 -69CCF98D1367F8E83C09CF67D8F035EB91EDDBD3A7A0B7A0856C8C24A9B5BA3F -8EC68E422A0247B9D47130308F2C054D299CF2B9D9BEFBD6FEAEF153CC75F65B -D4D4A5E4D7A7C2EDAED1BF51AEFCC22303249E71006F675CD6B21BF67F40B52D -F02E07567FAEF3F6ADEBA7E460766E9094E88006960FFA4DD454F2CD4214DBB4 -FC6C13D6817E62FA99319E6AD37D7F18E49F74F2CCDBFBEE8E20E653B3CE13B2 -A6EC4F491F605975FD0AE470CC8B96D5EFADCB81AB6C13F07E568BB85081E6EF -C4E56759A595F700C0BD765EEA2C0A367CFD7BC1917E22D151E2B45A8D6937D8 -1EE3870669087574565AE317FF8A2E846686C405A8D836E4292E13A07AE01F4F -6980321D9B976A871D988298D66B1DE036B0BB945A591ADC185E6325D953F851 -F0D18C692713F0E93E728A5EB5936F6A1CD842373881C24603100C1253E36975 -1085C012E7A4A24BE48F92C8A1A2D4D2709C27986D5BF8B21AA3A8BB0CB4D20B -B9B3E4168A7E1C50D340400A99FDB412DAC23AD31E21A27D5ECC4C5D26294DFB -17534F5769560B3A4093EAE4730B1015632356A6BD0730DBBB12E19444DDB66E -738697EFDAD01AD15AF4B0CA8C6EB48BEE963982CBCB05F4CFA6ABDAEDCDE002 -6FDB04CE3DB92D5C15108C1E1D81373517289BEF12490F0FB3AE07318F0EF1E8 -74752F091308834D0DFF5BDF450C039BF5955090AAAD442670656EC9E5D0D143 -913E0FDD94F50CED5607C8186DB3AFA1DAD1A022C9D43FF6E31EA38D2182D43A -8B02E09AF6226400C64103DB78DB6C8620250EFD761785CE81E925EF6B0EA8E4 -1189AB5B5891DE0E915FBE87CD88C733D6EA5CD343A43AD00B1ED21684B29B34 -DBC234C2129DB2B2263CFF04A82F7CF435DAE3DF35853E709ECC852FCA82A8CA -626062CECCE74D5605F323F2FB111FB019F9CA277B116079389CD92D28B496C7 -0A23708AE374758B2957C97B5590E341D4CCEEE379A8A69519DFF7C8C5365FC6 -1A4ACFD22DD0508F5CA261B467883DFF7B0BF0255B905374E7F3ED4FFB206E6D -505D35E78B3B95C58E541474520B2A8A52CE0474E470579060F5C55946EDC604 -B376A1913B03D67D6EB1D9CF3627D45FC380605F10B158CBC8E07AE8D31ED909 -6D86A24119D3FF967EF6C91414E23EE5EA222F0681AA0F7DD2EF30FA1A393277 -95BE72228029EDF2B06112DAF2667E075B684404EED869425B624C8D2B178AB5 -9A44590FD4C43022A46D5752C05660F8BB93DBB0A7ADDC89DCE7C8328E4536AE -32B35C07A1713552538F32F0563184C36B729C5C25EBE3A1890C96DC67B3CD7A -4A50DBB5BDEF9614F1F6D4BE01E3BAA8E5FC4184EF66D9DEDF39031CBA13CED2 -B776A10C1AB44F62C32D901A83B53B6934068CE7CB6BEBB7C8BAB076B3872583 -F55D3DA1355373266BDEEB58D75483F5E7327BF267AE23B2E4B2DA6C535D0784 -A442F8F3BB41F5361AC2181A9AB7A096585B20D15C9F6C0A4BC54671F3E98DD5 -B050336F82A5DAF963FAD1FB10D7675DDD191E97A74F2628A023471F0E0A38BA -C3CEE190DA4CCBC2F6CB11445128F67607F18412C90D086B4D3A2C7AAEFB7B93 -604C16A7483356FB4A8A393B298DAE2FDF0C63AD25217D63C6A30288E65E367E -255D8B93F877E2B7AD3BBAFA4DC3E50515B3FD7F86C1FCA8EA82BAC6939B91EA -E0510FE5A78E49830452B16A5E29988F68EE88D6A77B499C02EC172C92B865A5 -0474B385A3A24985801D5B6C1846AAA7A995AA2F62D56A3E6CF0D708EB4E6BDA -AB031F0EFA692EC8AC94FE8FCD511430C370172F0B6F62FDC1B7391009AEE5ED -89E9D8E13F3AF5B570C9A1803642D740074684A6D03C8D3AE75247225A84EA55 -A3B7855486228D45C878F31D8F7145EBD983A4F54C465898E766A15E673BBF09 -73DAF27362C3AF0D9C723019157E375FD466E442965E4E8650CA71208591C31B -11E844E9345D3B1C813F225A6A403C8BEE039BED30CA2225A72A00788C4880EF -9CA731096ECB39C959ACFF9CE921595216D7C1B4B8A260BDBD8586CD708D4625 -A2012A4092F8B1D0227C1099A815E8609C1484C0354712B36CE7CB7923738542 -681529C3CF45FD288B0DF8D73B036E0863B5A81B2B61701EA6379DB37260183E -68E2CBB7A022EDE8EF9F159B8A0A5B022577BA861FB0839EDBDCE4A2A8F80E5D -2128E5306B58ABFB4A938168DFDE63B45A24AFB60AB483537D6AF24BBF1AA2E5 -D504F8185B134091AFE5D798A4733F4F490F636F6482D276CF3F4854CC7DD691 -6B7AF7A6B16B0E134051FD2399A03E6EC6665A0A3DEF785857EE8A877973E76E -4498E2547C1A21DFA8D35CA7A42B980AAD7010A740B29D61F1318082774FFC45 -915847ED9F1C0B52259C8539D649E559C111A6320D7CD7CC306D5B1B98F76C50 -313F2698FF78025A90CDC6DEEB101D2EDA0AF80497AECC8BA31AD6669DCA5BB3 -D19A9ACB156DE56F81C5687255B5B2449104C502B6CC2BBEAA8828ADA0CAD779 -3828FF16193497FDB0BF398E2D983D67A9B0DD8722EFE2CA779AC4002A24D8FC -BE29BBD771D5DFBAEB79DD2D8820649C0C6A72F422D3F2F962104A80093634F2 -BFE00E33B382F5CE5802AD95F0B3F614632DDF5A881057C0C6449DB960E0A229 -A5BD3AD7FB22BA24DE2CD6878A694C631F3025EEBE3EB7E8F87BC6D6E2D23248 -C175435CFC03E5917B9BF08719F89190380330B9628E48288665B4E7BF7E634C -26F3532AC7B54ED8ECEF221B05CD6C7D289FA7F7CA910DE9457CFB972C9F10A9 -ED3D962CD619781C0474712595DAD999FADA1E8BB7C79F93FD1609C3 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -cleartomark -%%EndFont -%%BeginFont: SkakNew-DiagramT -%!PS-AdobeFont-1.0: SkakNew-DiagramT 001.001 -%%CreationDate: Tue May 18 09:28:58 2004 -%%VMusage: 120000 150000 -11 dict begin -/FontInfo 14 dict dup begin -/version (001.001) readonly def -/Notice (Copyright (c) Ulrich Dirr 2004, former designs by Piet Tutelaers, Torben Hoffmann, Dirk Bchle. All rights reserved.) readonly def -/FullName (SkakNew-DiagramT) readonly def -/FamilyName (SkakNew-DiagramT) readonly def -/ItalicAngle 0 def -/isFixedPitch false def -/UnderlinePosition -100 def -/UnderlineThickness 50 def -/Weight (Regular) readonly def -end readonly def -/FontName /SkakNew-DiagramT def -/Encoding 256 array -0 1 255 {1 index exch /.notdef put} for -dup 48 /zero put -dup 65 /A put -dup 66 /B put -dup 74 /J put -dup 75 /K put -dup 77 /M put -dup 78 /N put -dup 79 /O put -dup 80 /P put -dup 81 /Q put -dup 82 /R put -dup 83 /S put -dup 90 /Z put -dup 97 /a put -dup 98 /b 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 -readonly def -/PaintType 0 def -/FontType 1 def -/FontMatrix [ 0.0010000 0 0 0.0010000 0 0 ] readonly def -/UniqueID 555558 def -/FontBBox {0 0 1000 1000} readonly def -currentdict end -currentfile eexec -D9D66F633B846A989B9974B0179FC6CC445BCF7C3C3333173232E3FDBFF43949 -1DB866C39088C203DC22FDC758584860EC7BB67FDA28CC6208249060E18FAB32 -204779B5C03C0493BBBBC95CF02692CC4DEAA8D2EA90B5C2E64374E92BCB8501 -429B8FAE4A76C0C6B76D6FF7CF9A7D5EDFBCA0E959541C59BD05B7DE43D25D53 -FC3DDA6EF0C2743978A6D03E19CCED4A11F2EA4BCC3110BE8B8D9E2772361969 -C19258EFAFDC276CB1ADE9208A941A36D18F9FB1C33DEF76AA315DD2D0A9FE76 -DE8B61CED3A549CAC0FB08F46CBFB35BE196B97136BF7D3A7C46BD5B65120195 -8C372F3946CCED410C945B94AADFBF61BD2B3A056500BF47E98F996436465B4E -A359BE11022E91682D9608C8ED01C6CC886220D4E20AD42CA92F58050FA4D039 -FA3B35A759EB682F653205D76A2A4783A4C4E87A0D6CA12CBCDED269E60E4AC5 -B5B1565D8D0A89BD6E2D38C96EC046D0CB9CC6E6B52D8CAAD7092A5EF998F42B -38A3684E8221A4731385169B061E37E2E55657495A3549C03B2FF77463F853FA -1A4ECF170DC429F400C239172A0CC262B586BFE35C639DF25A109F85270868C6 -F6EB87866CD2A33B9A134B106E98CF3FC5C974C9063E6F0767C0A1C77094A6C0 -21592A011F2E8AA2BE57BE0946866F87D6DE1F18BC1E36D17B4D4757AE7A1686 -7BC27DB26EF833B2974730C15BECDAEBF347D731C012EA43D62F3DC1217B780B -ABC64DECD5ACCADD90D7D0BFD9380E19F8323FEE2ABD2D7A4147BB010FEC8FCE -438D08B2E7711FA5860BDCDE9D49B9A47CDA003565541C37AC83FF3D01ACCFF3 -0C96D4CB08E0E54E7B9933BFF46117B4C52CA99B4A83666C5E61645612F23257 -20DFA6159C1535C02D11FD33C9DCDC993C61FE2891761F96ECF22D7F8321BE1D -C595230FDF17596EE2F4AAC514A42B5899D34F674D122DB15E672637FE43A604 -F5D3E97D55594F71F1159D76D68DB12E037D079F579874B90F3567FB6D16B14E -2184FE30ECAC2A9545FBE9B88BE1A7F4DBE64F0C93CB799273474311ABFADF99 -ED1DD6D5F733D794CFFC936C9FDD2B4BD9FC47418B87F40A9ACE125318560DE1 -DC580750ECE6CFFE2AD2027AB9AF0ACD7FE063F889E6F0E45C2516ED94B6D643 -A24C266C208A0B7A5BE9310AF0DA7A9CA8A5F1A167444F37F06C6C89C968D9B8 -10D352042311E3FC75EBE39D4CCC4C8CE92063974B9ADF269E0A6C1CF568D49B -3CDE3571B6BC4D588B8B2DF2FE3258E58A03DFE21AC1C9B710EEE4358EB0BAF6 -F7DDFA806CCCDD5A5D241FD3674F805F31CBFA65AB63641336AE10D069E7DF47 -48B3AA5C9CC21B55A4640D8140E86FEB901D3FE44C2EDDE5EEBBA390B8428DF1 -7976207F944CB4E955644D2F00E92BB63225B08579580EF8BBA87DB65A5A7799 -6477240B6E21A98FF53D21C5F821E90BC2BDF46478FC7D31A5E4A8B6259844C7 -EF2728C66994734BD56DFEA4C06DA915A6BA38A8C63689C4360CF89703ACB03B -E988DCBF04E06ED9EA226F4F61D7DD1B417B147CA76032DF5CFADB42D2575D64 -090F5A01F6B44697F0CA5635F87387D867CD7A9B9BF2A60BB089235B5CC56C32 -667E9E40034D8DE2897C3F88D86AFC20F7C467CB65DFB3A6A4F46E1CAE05FAE8 -F5F763972324BCDA0EF7B215964AE10FA27D3250BDE227668D8BBE827CA38925 -2A879133BAF6412807F7C9E6494D0B73B183412461A5FA88561E34EDAB46A038 -2C98B7B838107360772847BA339E835122CB82EC6D728018A0FF905807668B6E -1F5151D48DC3008517C5E2C6A0A2FE2F1070F9A71901E6A185E45032037A2333 -21AC1DC8EC7D801226BF9BE1BF3B1C297E92C2B117B67616CCA603D488ACDAFB -58DBC4FF5DBF6C944AAE4FEC6F8612FB59A0E7E042F688CBDA140526B51B63AC -5634E05F12C0BC27A1AA28FFA472E9F8B1B85A45A3AB57160373398E9C3C2462 -FC5D3C112A8B26A870049BDF2D42054D70AD4D35238C5BE74634576E0507CB6D -93445D83548D38D7F1971B1D02F9E58078196548052EC618FBD25E3BBB2FA53D -9820CEC84BB1EEAF5C10DDF1A10459E935E5339E50F6BC8D2E609BEE349A1650 -475BA2C66FCF6AC286CBED9594264125B37FDB4A88B2FCA189012FCBF46ADE30 -06E439C48378B76AE29ADAC23108C1FEEA6994D563ACC49CDCCD4FFE26D2A5AF -F34F30EFEE6BC7F7D7C9DD6BA56F96032196EFC92E919E6B3903B5171AFFD78C -82C59DA2F58F3783DB0521FA517BA6EDF74E7A612BF8995FA30DB313091D8016 -FB2488A913238587AE5F4F4BA4A66901948DB2F476BCF8F9E96D99A6718131E5 -B1CE7C018BA91400CD1E39072701C558CBB532A655288FB73C830B5FD71384CC -9FCBA7CD613FF5701556AE41DA05E44847DB928CA5B887F0CD7F6FBFC0DEC0DD -2E452EF82C4AE0E1F0965ACC280F7931936DE3F6633538F97807F2B12D952D75 -C2A1F8C3205EE12BF5B449558E42C7537FEF5B1378EDBC045FD229B4A549CA2D -4D378ABA00A06196C858E93E9D4779A163671F3FDAFDB6265571FD09DBA2E100 -D0FFDD55D615390F9F42623559D3FD3BCB8965E8FDC0C8C593D15682B15D745B -6C52AAF38C07B764F9E596729A5F2741BF70376443D2B80B71D93FC712F035BA -BF1685F53C020767B5AABE2783B92783DD53F4E0BE65E95FD6384AEA501BC61C -BE13EAC0278B7F4ACC7906483B87DDD2F7159B3AFD11C5E5D8B7D6083E9A699D -FF716312149F9A594D08CEC1EECD5B602D19075B1694686834A6BAB96EE0F47A -71911525A8BA859895B55B6E83375F02DAF5BF4E8BE33DC5BCE2F3D0764EB042 -4B654E70842388418DB380475276C765E5F4010B1503F92B5D82F253F83F6295 -8534CA6F08601397AC50A3E8CDD7A2A41A2F6EEA6ABB7D662879B6E4D027FB90 -1CDE143407AEDC826155FD57C2665CB65F684ABD3652E7A6FE4A842FC8CB2949 -498A33DAB7A3BA163A248FAB1288A611F7FE27A8F5F8529ED01F0E7D82AC7CFD -D841F975B21AABF1F8A76A07985E4C1782C741C96ACBCB49280F6980894925AC -511134F5A3EE9F922690BEC15784761D7206E36C2C5C89B449E5224AC9B8509D -9BB8356D008E1116AEAC9A425CAA7720EAE9887C457DE8F05DE8FCFDD0798066 -392528C3A48CB332F5E99DD9E2517BA6EF4F347F85FEC86BC3799CEA65C2BB6C -08916318648507B20C3F2296B1900BAEB29BC60B04819EE60962746CB23AF73E -D867DA507EEE80302083A5D5E89FA6D108A70A043E327BF8C9605EE829862649 -939C23B49327153B45D99837E560B852ECBC3A66724E6A76539B10410D8C237F -546D6EF57DDB5F3C8A54F3EE99E4FA0E27C3B31AE365E9C1360239AE59576CC5 -E537E029FC2A9BADC97F741BBA40C4AE282B4D5758925945247CF368B80C011B -6095734FED959B2A4FCFE5AF2F907B26F3F5C4552D43F0EFD0BB2F2C8A25D8FE -9852025AF3C164A32E014B3E866DB495B96D2AB7F8555142FDA2254541A3CF54 -97C929FB0507DF3E8AC70569A58EECA8186632210B1E91BCAAB038F8D247D12E -C321841D8B3BEB2C2CD4A3EC5A0CA1E754742C9A2E6C31BA7DCF000BA5716D4C -25B460B114649E1B7992F59C43B0927471AC1627CCE69B7AB7D3C7D4FD478816 -C36B5B1A064A3AEC16A402C78C46BA493E3E90F1CBD7AA47B0567691D0470C8B -1C3379E70044B03680E2AFF400D54B000D430635F442AF5F9A3D74162C8529E1 -C2C1A078F05D9A410599EA7EACCFD32F670C45D154E8F01C7F8542871DA68BB7 -B54F4D085798E459B5F96B09DA6000AEA0E6DDF6FAA993D8A4A106D1639E61BD -77A49E48ADC08FF13CB5C611BA46B839E99E9976A408140AD10051E6E6917ED9 -9896AC5C9876408C99CE1BC974853C4807DA0F7A655F47612D2437031D7FC789 -463D4DAA5F9A3D74270E16BC5B9CD5BF2C5844B65DCB3E3CD1365916856B1239 -1C30A21184AEFD27075C5569C63BD13438E19362FC1C379E1C4479CC46CE084A -285691B6081B9870A584F81C6C2378C6C9D01A23B43A98339353A58DA08A1425 -EC512A59566E746C157F58FB9B4D5BFFA299263B9E7239B14930AB8DC9B6D89D -1EC64AD3EA7768236FC0A430494187D3196C351ECC15706B34E74DFE0EE57949 -61B863C45673D0072059DE8AAADEDA075489497C6081ACF422D42F4FBFBB1921 -8E1E42BC28D37E60A49679FEF8377A0610E8DD76372448239E7FDE40A5BEE2AB -91DD2979EF8A7E8901822F83CA7146644AAD7400E4224A4EAF8D984A3DD07BBD -1708B31C93BC4DAB04B5F7BBECED1A819CC989AC317EA78B3EB876CA3616B17B -06929E48045A055B94A33F5FD6B1F79DBEB2A9B60987C87DC0172E5F7D04695C -862D8E3DB8B3ABEFE1650DAC9ED18199C573B081BC9249C562B8E0AE2E7D7564 -19F097249484E94CA8B272FB6B6745A508861AA372CB58E582AD8F4252979974 -A64029BBB641F0FADBA95B5E2BBC1ECCF7FF75521A389FAD486745FAA788A46F -EC7932A51F80327D308E460D1EE78FEB683C972DB3B2C69C5AB994C84B4682F5 -0D4BC037ADC6C43E8DBBB7387E1D9048E2B249E2DF8D2FEB04C3A6A0FE09FFCE -41D64A2C4F6A7604C223EEA4E936F34AC21497E424742F6BF72E382E4B7E1813 -23BBC9195AD4DD39264B47CA283ED805221D84CA0D6B1393FA6601194A82900B -C6F3C13A1121224BEBD6B062A36EDA591080E35243C72748D94F4708B0B3840A -AB7709625E716973CDFF5C10ABF810943D96788FD23214BBB1E2F0172D7DD5AE -6FE39AEC52BFA624785A51BD2B35747AF99ACBFD138D2A4F63EEC6453AF74E97 -6AEF05FA83DF2989E4A3A5B9AF77C0A86F4864EAC69C58860CCBC15B7408E257 -EBA3C53D956C7FDB710963CAD0BCEAB7035647C141740881202D286AFCC07C9A -A58926F679C0793A279F32A003F51E6E6FCDC857CFF6517275E303CE77B23869 -9D49115921B4FA20F26F33088046EA046400B4BA8E0A074AFFCF3DB2F9AC3D2C -81ADBB611157D538C0B41C1680EDB95E4781292DBC62A74344D735FF7B380257 -64F354646F4D45F9FBE54D6559A01F3835100DFF2F041D213349484A8019CE6E -64FB3590D147CE31EB988079BCBD73F9FA72DABD6F0BE6DC1A7E6F3FAB60D3D9 -CA8699BA47373D7436A32D16CA0083013154ABB1C10A5115093CF06546CCE201 -CBE31E412C0BE723ED39D277BCFFC278432809F191B1FDC1432A086DFF8B3E14 -436B90C17205A526482DD524F447876FB4F1B502B8BECF4E46CC590C88ABE31E -CF8C59659CF057D06855D9ED695D2F5D9201A6138AD52066A7F039B5CB20C204 -D57A89FFDEAD73DED2F5557AEF99A574EFF21A1AEBBE0453F67A69214B865664 -0AED729600493576B33DC0C2243A6156F14823C03C8EDD86FD77333FD84DB0A8 -07747052FF6FB67087E86EC3F817E0D7F96763D892478DC409D3677DE4C33494 -9CADAC223E0C21797A7521834D04F23497201F4845E754D836A5923D3E6DA137 -BF42991FE4523E048397E0CCD6D83179E49C7392345DB1665E327FB7CB7DE488 -70D04E719C70807B93EC2DC3485039139CADD196D8D9BA7A2CE194337B004CB8 -13BB48DB173C3D95F33B642035BBD26F4B9D45343D067B361229A8A28F7B2ED1 -A7B2D958219E5E4C33F3961EEDB0C4BB1384878378F1C62EC6729F9D4CC60A09 -8F76CC81C6D9B75442F6021D03DED785DDB1B569D457C8D446F42C3EDEC8DB08 -4E075DA5F4B3A4EF2131A4D6DB9F83B9418669B239924979604E35A6D05CD9A5 -FF38D16061A9A7FC99FCD42615E647CE7377CD15B6BB7698DF9FAA300E52F31C -0EB68D3192EE14D751103975A05F6AF6E4ACB98B105E2F6F0D8B566C2B8CB20A -42DE96D50C2B4F9A801858FDA2DF027C8B358B36D558DE433F0040A7E4F17FF0 -AFD4A0CFBCA703A3BC8266C11B411C530BBBEABA5370A0703ABDFEE6784E5589 -95498AAC6F106E8D4A0C99B0C9FAC892B32DE61E8EC546C41E8A94EEB80BA136 -8BC575D84B1799DD63943D30D7F6159544F4DDA18A749F30DBD60EDA73A35840 -A91928E90972C236B36FD16562B1A09337360DD6768F0A110A07E0EDA96EDC95 -8F5D09539553E2CD6AEBD83D239ED83CF3A9343BB60458F7B8DCA6EDC1CFC90A -22A4828D2183E77321AA68017E084C3AFFA395562618D37453DAB21F540F0413 -488AAAFF22C8ECDB0B7C1BA466732B1E787754E773610D9E0EAFCA4E7D63D45D -246D97EF23742136016F1B476B6C8B33775EF7188A8B0B5C048DA5A8D84ED413 -9451E72B664D100FB76672BD33A625CC4A4D61A0644A4048CFF93B0B2DC9B21E -7E579C0938F73351CAC9B7AF8FA339C6AA5B57BDAE1447EFE17F0C4A15CE018D -B5A18255000C9F5B1329A4116585B455A39458E7ECC9E7881519328B4E02BD7C -15CEBAF56F7483CF10B63A49FDBD063D58688E141587BDAC3CD3138387BD346A -377B22C14F84FD40A4490AB2898556819038CE3EC881F954C4498D18E3D7761D -8B685F3BD4D6C8E3F2DB5EC35A5C45A5566128A15909B89E87292CCEF1A61D67 -A9C1B3FDFF8984B9A9B41A8AE9A0E1C35229AA30C872A5A501C09EE234DFFD5A -5E64ACCF58E9FD77C8A5F68726393B36F2CCF9CF9AA0DC7C208CC1452B540E58 -E8C4AC6468FCBDEBFB44144B9E8B8403912DF7C947D0710C9424E396678F9037 -0FFEAA7010A11AB5CC759C481DAC433FE751569DDA192383D67207244DFF5D1F -222E3F6A4813E2BA96ADE22516159B82747F21DC07CF704A63E7CBA5DF33730F -7086EBF535889222691F4C1A2FE18610A48AC4BD27E7F6B81DD4CD199CB7E018 -8AFB59145E085AAB36549C4145C173AD08CF2010A4184B8E1AA0994274A0ACA6 -974161B5ADD5DFE337FE46BE6086F92A1D3B0DEDC35C878597A60AD42E6287E7 -52D1D225E14021F3EE6625238F32EFC5416B1E2ADE3EFAF2DF2CAC21C81FE2B8 -0C635F43AD4898000E8E3EB8C6CE383204C687136A6D8B7D221D896766C7712B -02EFF838B08AA2327D3376766BE36CBC9EE88A0556AB4349757ECA8BFFA6CF50 -9A677F00C69E7AC9D3A323F5A886C3922E0DEAEA1EF656680C5085A25FE5840F -312EA00E3F1DC6A4B83E592260FFFC68DE2928E0697DCA987E25873AF2AE7312 -246E455FC4FB61209DFA4EC5AE739DDB51CBE9A04342A66C805C38633BEB8518 -B35B58EC70B560A07B4ACEACB007A83EE8BBF4F82CC7B7864BBE28E3DE7D754A -FA60B99E792469545F315550B196936872E8697B0A7BA5A21956CE9975F94CAC -0BACD1DEF76EB7F651884F065D7287BE5A070A160E89596DD2A3F070A821E9B1 -F5A685BC83864EE8E3BA1E7F550D10AFB8B30B704D29DC493EC2F970717B0315 -6CA19B7D5D9C2E8C7FA14352A77A85F6858D5DABBAE7C089551F96714DA2C916 -350C721E331302994C272540D9A6B4259F1B49587ED7B60023CEAFAB34BBC810 -A75BCD6F6118DB906680E2C7518ED2ADA28F52599C78586062E301A2596C1172 -F701677FDF1B96E80C42AB15FC5591074A197F9B285A7539722C114749ABBF9F -544E06EDABD1F23A02431CB92BDB4890CB82B6321E55F9540AF8E1BB0460E34A -E3A3080945253A6F4AA8117D546A9A48A902373C55464A3AF5596557560593C0 -9660363353A9048D25ED07912556810E5A8A2DBEB3F9DD2D12D42D28D0B6D255 -C8A81C4977AF9F79D1C28304D66C60929FC2EB1E6EE4166947042BB8B55E44D4 -4473AEBCE3EBE12B80D50BC9E71F0D772AB04CC7EC07E62047B8F1DD37DDC048 -64175ED851287AC613FE8C661259F3BAD6526DD1AFE5D18DF29D4C7624CFDE2E -21010231EC485A22CC5E49ED187AC5C820D61C210520757B2D5C8CBAC6F1B649 -2562555C409D21BD7AA366A035158E31E99A28034E1E5184BF1807C4F9E61DFF -F0EAE1A72396BADEBE69A0D497828A28D4F60B82611C2BB3B655BAE1972D910B -7F55153B1F7184F3F74FC3E5B0DF964080D65C6992675CEB1A12C931F9796B45 -F08B2B8765F87EF489671EF75CA09C2E2DEC27D5674E56DF86DA2F3B4437EB93 -A7D65BB2905912DA6EF49DFF0DE0F67A351104F202C423F164DFEF3FD417A801 -DB1AC8019B7E64F7A71511CC0136234B91AE6441F87CBF24B94278823C03C0D5 -2A1FC4BA9D4653DEBE0F4461486518A792BEC340D589F56163E3CFA2B4E9E4B7 -4E90809148CA45018B5600C142BEBDA9A913B540872C7EC5024061C7DD21DCDA -BF1A355C29CF20B86D5EC7B017A7117D567F8DD49F4378ED675920617F27D83E -492682DDC7DAF8120339878A5BDB3D70E51D70AF6313C1DAFFBB677D3E1FA637 -1757DA2A17A844D87644151383667536F0ED0DA5D227E10EACBD1127A86642A8 -7F7BF851623B2072CF65ADAF0CD64A168A66B31FE68F2F7F7E7CB42D42EEAFBB -A7CA8972A0F6CFEFCA58D8BC48EA2E5612F78A8AB85466CF53291EDDAEB41D6C -9C04F7040F27CF0171E60D6C4EA82224D783E1E73F17617BAB5E75183F8E33F8 -19C470DCCB582D8DFC1B64B96704F429D4636CDFD35D9C74FCF9307F93F67DCB -652490B13B823529F61F7D81327565F9253BCED89BFBF18F7D822CA66A27E6E2 -63203C54C69AC2E733712F46DC0D6249FCB48778CBE091A5F5E80362C065505B -8239C7B1C65FAF227D62D930BB95D436C5B65DF20DEC9076FAB048CDC26C67E2 -67048698D464C2D35A6BE357FDBDE63AF5A6CD314DDC046C8B366DDA1A6011D0 -08188D52A7525EE7F587F836619BA1079EC275EB5FBCF7FBA3A6FA9BFE8379FD -5BAA70F8BE326774A1C4F60980A960FEE40FB92805E1D9D8FB5B22E47703FB55 -8B30CD20DF40C1A93AEE44E8CA1542B6CA6ABBC3296CE9CD08CC4FDA5EB3191E -BBE154EED5546F3E8D7E3B0C46D41BCF912C8D84EFC921E2BA1E123AB049A705 -EAD29FB365774C7DD4D7222368774D24154856D55BDAA91C3BFF12C3CA23AD7A -78425533DB7D8358A78B1E6B2478DB990A303494B325A1ECD6A194C855FAB638 -4B89854774B9F6E5D666F7B4E34D5BCBBAB656BB4EDC2DF319C2BF71A816E2D3 -29E0933ACF4C48D4E55E8A9294373891686CD4474161CE5180F95F53B3F23C2F -69C3EBBE14420223EB534F694A134A1ADAAC4DCB75A72112235A8BA3A35937EA -1979C98DB708943F0F4151C267BE7B2661967929309B30047927BAD1A4D2783E -71A13311E9841D333F56688633FB0444311B6F27E75F4F25D269D9021CD03C6C -D11750733B6EBDFA221FF271F74F02F005E16FA5D4767CDC7F6FDBF7A8657D22 -65D0A143AB43EB51D0EB011E3A04E5F1A394560BDF4FAD88EB893AE040CE6793 -97D427866AD52D264D84EC147450D28665325CB0DE71FF87D9431B8D9140B8DF -4B792B4386EFB77A2D5CAD0B417716D103EB7DCC645D6BCF987F87845AED14B0 -9D0448AA491C87F69B09CB45728BC995C0A6F9F101531DADDD37C818A924F2C0 -0D1161BD8CD63A1BC7411B9AAABEBBF9FE42BF9A08033DACACF53CB7CDEA0957 -6CB00924892D6C16334148C97A7D9847E354C21280D987DECCB94F864C721FCA -D27B12A1CFE4C4D347B22BE905DC4F3ECCE25E073EF82311A2F811DD20E87A99 -E47FA7E87281105A5D09BF0B6D0F8BB4BB6FC7EDB6E902B235D3F6BF0209B798 -4F596671ED225FC7A31C38C83E3327B9906AB2387254E1F2A2CA90F6114F9769 -38CAA25A5694DBA9399D6BD112E754B7ED5D29D5FF8AC2F20851A176E91DD4AB -238584BB249DE526657239EB13A4D9B195F9A2F17BCD7BD76A561E145135C268 -557E7E8C2CAE4D60EBEEA291A47F8451A554FA663AF9B270FDCC0D90B8ED71DB -F40EBBE5877B34A2AD356850A4E8F00E44F85E23D523F0D69C7FCD704207F42D -B13906295CD7EDC042D593785D87CF77F1EDC93C347F4F075F2A41CB446B0424 -B49294C55C98E5F472557A9D0BDF523BEED2240F525F81148C5AB2B4888D28BE -0F8C2CBEEBA340A1DABCD1BD9F7E39DB4E0EB2AD89104B41033450D65B74E1A3 -C0FD2007F49E26EB1A43CF107CF65451F937B718ABC722CC64D14D2CBE1F8053 -2747B31339A4FF0FEC58ECC6FE98A4D39488309AA89CB44BCB78E17CF0213901 -27538EFDE2C508EC62E2D99EB9D76F00BA8C878BFCDF748A706FF9A1CDE6FCD1 -32A6966C788E4E7698420481DDE83B5575626E33360FEA911B72229CD0E9BED2 -1C26BBE40EF5D14BE78F6024CC396B76A08540B8F6A3E46BDA8FE7A69F0B9EF4 -F6DEC877568E5782DA6CFBAC1DF26248A272A4ED41311C537F1F1311DD0F4563 -0D759E8D4030135732B838D414365F525E7E368905CF505E07DF608E84D7ECD8 -9323B9E37CA7339EFACAE68A3E2B8F7DF1B61365B86C01F435A284E51E4087EC -94023F48D418E409F274F34F64C0C14A83AD9C49DF09759108D15849C302A31C -16E4B57FF071E5067C2447023F3D7208B551D46AB957042C587FC34A58B34AD5 -4AE74BD379CF2951B756DE4EC98ADD2A270E1F38BA48E43F0EA64A10DE171224 -FFFAAA2393FC278AC855E0848587D524F37B283CD2634965059451D1AB403CF9 -6F759C506222A05FCAEF97486F22CAB147A31210B76E3609714B20745C3737E8 -922EEA91EC29D2D08F9898282BF1BF58932DA0355C07CA4B91F202A50397422E -01D1105FF64F34C08472B1DD36D6253A78AB6114BC9A745662C6587990672002 -F6096F7DAA0373C1743053D45C627247B7214CB9AEE8C4A1693922F11598B5CB -30D460649BBA38C62E955D13F870D638B79E968EC957C8647AE0BDEF48E22C78 -3AC4FD846AB0C4B820A20826089494B7215A528521312B72D69ED7897587A3A7 -CBF493D87560E5C48433F125985D85FF6F16132CC49EECCA2003C15D7011F04F -EE2F00EB2F6BBBA0CABF4D90D920C97D0B70E41FB02EA400CE0D470C2FE27CF7 -AC62EA64758E96A9277507C1381BB346EE6D8BCA6F742C5418FAEA78B14BF273 -2CD8736C9E76FC78512A7D4A85CC75F45C2E0629DE3A360261F7FABC42A2497C -39D5F70392AE6565937FA40352914CF02ED89B0C7CC52111AB326BEF7787C623 -8280C133DB53E25E65C6F19A8083CDAA14A406E4E90548E4EA81E06AC8D01C1E -F9D8CA6D7295C683248C2A41C20813B943B4902FAE6C5CDBA995A3384847D5FB -B0F1404FDF312D34439F0178EA2C6830EFAD0ACE661B8E0C9251EC4DE176A7CC -006FF121D81E4D7C2107C6815E5C58AB4D4C6DC07C8C4A5C3B957025B7348D99 -842B592C63019F8BD8E5BD4A41C14D82A933107979306D44CE14EA963D293B11 -523F81ECD8926F8823651F7EC5C2AEB2E1DA5B60A89F468C9DC420C91CF0CCF1 -60CDB29FD89558D26586D55673A5DC5397546EF131C534D35AFF5D4421DD1A15 -A336D6363ACDB1D6810AAFA8375F346EB59A9FC1B04BCA658AF319F81FF36B74 -30B233FCDE29754216FB254938C6E13A73AC421A9248A7466DE07FC32C03494A -37BF5C2A4D0301DB834BE268D7185BE194A66A91A7429636846A76475AD4E933 -A445524571F4CB61BB6E0545396C82BCE7F9F2D4E08AC0E81986A9DBFB04C846 -9145A0632BB6FB485831B3376F7E72F64E5CA37C587EA375C670D1716260444E -56E2DC0C8CF9D48E18E6ED7ACF948F87E66DB249D42AB4D8D810216AC17F98BC -7510F90C13BF4870E82CE54B019D609A8662DA74F87E40ECF482D49C29960894 -B0A2263D9F80D24EAAC9CA078A3583C1CF81104312BBAAFDF61888E982B06FDC -E5D06F7E45FA64877ECCEF8881977AD1EFF9C6240B0678FDBF8BEB382463AB4A -DAC02E9B125A3E73A5115CD41AEF3C39D3E9495CC0621AE72D93AFE0C97C8622 -9976688BBF46D6F2467240C65254DB6A1D21F39BE8A91627A860033F1B22194B -52519F3B26890C96D0DE665C30F717419B38E51F4B85F58D1C01EA4233FCFF74 -467BBE9C87DF430A7F53F2DF9C009578673BFC1CC7AEF08EA18594EDEF24C5D6 -151D25AC26085614DABB05807A20D13E681A1883CF434DEF24F55C6488EA888D -97AB5E86C1B78F84DA1BC0F5198962206FA3226D191FC86B1786A78A6DF01549 -91F8C3C0558DB56D9D99D2D1765676DD521E2AB2B4ED4038134C64DFF639BE9A -3825D0E9D8D347E91592704D8E114C947D16A3F38D836EAC066486125A7DD1F0 -B994950BB48B7B8B77087FF5E16867476FC3ADDEB8D343CC64B73D6455B8DBBC -75FF319178D937B679B0F26AB47F873A8B5A7463123730C116ECB75002D64F47 -41FC1AF605D7619CA95E83FB52C0ABA59160B3BEEFA654141FE04A15FB405B98 -DD7750EF3D256E7A10750C7E2A378400740C4C00769328C7C79885E42A605C9A -962260A4EF6F18B5B6BB6D722BD9BD98A6F3E7AFA18235A506EFE6F65C05BC16 -DF7F6F62FC6CEE1A58D66303B5F97B9567798FE9DFE8B06E18A9BEF6AC3982C5 -7F3A814308CD09169E5820AA30622969275733E5D28BA9C159C4B73ADC5AB7A2 -39B065384CF27304E1320682EC5AA136451FDBC70036024FFDC8AA40E0873156 -54C28DD1A20499A381D755A4BDD58FD91905F2F7D09153B388903FAFEF76F8A5 -B6EC8C6C7B2185444B848FCD5533E9D75BE41B66558FDAF86329ED6FE9F2ED41 -16306306A7FF64E5B68CFD5D55547FA9108294A9CD30EC78DAECE7E8F5E3E343 -48E06F40FAEB2AC47831D9B2C8FDE73FFEF5C15DC333CA4209F6CBDD12D3BDF8 -254F4A041BB2A7038D98F387CC62B24A2F0660FF1A4883B36740F5276F7D7F32 -934595EB96FDBECB2152C7CE0B355B0278A0EAF9768C5C43649BC80C39BEF974 -DFEAFD0BC12CEE012C87F9706802668A23AD08B79E711470E6EE18E54861F5A7 -996099EDCCEB14119528C548C6B3B47C7CF22AEB5A8B25EC08F0678A9907C044 -681E19C149057821F216FC2EE5B79BF0A8A569CCECD0A65764F1554ADE8BC4C2 -0D5AAD43876D1A27DC9D1CDD44BE72034790D5C18959593EF797591413586147 -67AF9B871B56C067037A7B5317E299DC4BDBAE1015206E104D6EE75FCD2E1CB6 -71B71D715E10569AE7A7F6BD9A904C772E768A03D039814F992DB0A221ECF1CC -836947113E6DBA668B6258E5C476C0461E344461B1E50C2DE20F411DC54E773C -5970E2CEB913D3D35B0F408C5CAE3A562A6F5FFCBC3CFD41A0F71E27FD33B988 -BD63B9EAF0C879324A5F4883067110C552DEF6D3B40734F519D057CABA50C934 -C6BED162A2A828821F4359AD4A41AD111E734CCA391DC8B78A560BB261AE415B -9A6A3E30AB138721CB602ED091135D07F678DA938E9C6F4C97704AAB0874F9B0 -971CA8F83458C0D60877B046357023E4E83582581259F173F0C486A455868CA1 -BCF8A87DEEB8DE8DE1DF90D863ADE0D31F2A3268C2C8ECDA85EFEF1A0EE3EC5C -63974D0B49617EC8A1B074082C0862D59F0E8D327DCE7661AA029169B3D5030D -BC38BF916CC4F2F948213307E6E1B9864183F4D3B7B91F9B34C9CFAEB348D769 -1E607F9B31599F35DC065A5AC825BE9314AED69D62D62E7F9518AC0514D378CE -DDE96DD3B8CD369EDC8AEFA2E05B48E380452C38962DC147A691AE71A45D9454 -40AECDD4DC9EF5A640733A666B974E8E53168985FA9B7C250668484C40705A42 -09157BEFF8C8DAB33C082B11627AA54BF2C7F679806FE20073BFC78691E5FCEB -5F11C1795D9C9F67D6BFDC9EC981FB7F9DAB59C9055A6B3E09206DABAB67B0D3 -0CCB102069B3D2B54605ACF091C1845BE5362E58EF862147C1CB76C40B055524 -0163804B096E07378C0CB484B2C488A89C46D5942664EB67374B3AC4351C075E -F74D1D1BD94BA34F6A23EECF0A5182BC3C4A6493052F5CC262D2E36FF2D70E8D -CD56B7B66DFB0694AC3A5EAB0872E26B57CC99FDE5C6614F88C61479DC1379FB -4C4078CE4555C6D069F29317E716A57A70D935B37546C923DE3344FA0B738B7A -2032FA29040C3832CB91395D007F244DF38106E0565C4BAFF3CA0116B9690DE5 -61AA625A30D78FB285FBC0AC24251CC80FA800420CACB549D247E292ACB8EC66 -2A75587F2B402D050B57299CB7D4D19A3D750F3C42939A236EF4826B4524F89F -B4A841A7AAAEAE2AB1E76EC53586BBB38D5AE2DD8DF4ED32DE841ED764BC3442 -2283805C173EB1E0979330CB3FF858BEC9C176AA94E3C80A162AEC712C71E9B5 -753CD04ADB88DF72059D12F3F17E2E726A974B8A0A37CC07358FF04B1D139BB7 -E62DBACBB658A65FDFD922D2BE22A5D455066281AC4DCB01F7ADEE2CABC3CA87 -9C776F88C11B6D1EFE2899176E4BC6F50046EAE73D808495DE6D9CEA814B9C55 -DA8E2052E14BE611DCCB05A87CE2C50472A143B4F68F03DD41A20EE4B87D1DA6 -78215C748B6A6F21A07ECDAF12E9EC620BF168E4FF914B06E16A5CA627592678 -C8E6439A21C6B684A4B52EE52BD8E9722EFB0BABF5614AAD69E1471E58854789 -7C1E0CE8738FA4F3B93E208C67830AFD038D168F17B5BEECD5AD2AFCC896C48A -9039CBE52A57A95BB137B6B46025AFC8BA7B92CE78F38483CB3614FB0F93D526 -599E9BD524E00872305FEF79CFD9E623F1241422ECDB6AD58CE92D86D174C05C -ACB7434838DD6A63C611250CF0C8331D12C1750697BA8FE6C35165D5C5EC87E4 -8C341457A52F52E3C22316C0C08BE237462B44B8B01E27691518DF2BBA7FB626 -ECF396449934335B891722F16CB177B2A2C63E55B5AE7843214CA6AEEC7EF862 -031C9CE1E5BCCF3A60A364D6F651E8546B8BFB85B6930AC12D575E54D7EA7D68 -9ED27BCBFD977C53BE0F6DE77CE3A6B7B3BE99D1A188168C9A92D1072E11BEF6 -DDDE4092C56B8F406CA64A41637274AF14BD39E32385B0C08525F5E6D83631A3 -2EFF6873F2001DDDCD4312019AC5D6D5B3223A1AFB83F804FF191BF9D8799376 -88B927C35BC2A4B061E5F1AA58536DD7E11E66DDAD25D468C2E8463BCFCE778A -6866365101E393CFE3857F955FF12707021A0F202F6110CAA261EF0B6D74C029 -30AA6557F8D72D3F27D0BBFB233149DAF54BD611C8660DC744FCFCA53E1E2AF6 -93C91A2CB49A44CF3115A37FA1FF6BC1ABEDB49E2317777FA2E9149ACBBD5E41 -DB5CAF96AD5D6A8126F77AC9F7CE6A3A5F42AF7F6DB601D43A7DAA2212119BA0 -D5A612823B122C902BE18096F94FBEEF082D7DE87C4AED45FF1160FE564DBC0A -74EEC72242DC5088CD9A3D2E69AE252C4438F94CF7DC719BFE197C752684736A -07940F999D8503439EB9054C38AC9469F1961DAD0482080A28DEA53D59C4106F -9E17D8CA6FDCF7ACBF785E4346A0997C4C2A2E62D759AB61CB2C9DBC7EDF6661 -DFFCF862FFC5B565028615947539023995CEF7BE9FFADD143E302477CB844F46 -80B535129421EB52D70892BF4762DB3F40229F39EA68ABC650366EFBE2FF6623 -A62E9FA0089A7D920FBABE09B0CFED49654F87BE0F0A9E244A45239A584F1329 -02361C785D168ABCF77C8DB7ADCA2489AF240210B76BC961B93F3CF9672494A8 -2DFCEF48493A0AF27A19ED19EEC88CF9E7479F634BA43F249166FBCC1F890C88 -6F0BF184150A1328BC8DDAEA8C5AEBD8B218E1EE468B13F54A2C13E972DB1BB3 -625658718BD5450AABFE8A02F8350CB314B2F896E573D0E44EEE6B1757F4E566 -267576A9D21ECDCA16DCD2FC76D5AC559F19ED3D46C6BE287B8624FFBA2798D3 -55013A875E7567ACBE288B377F5F85035C2F4A2A3BEBA9893CD8BE5E79AB6449 -0131AE62BC3493656F23499ECAAD67973EC7B082EE8B908A6A52D7D1F6B5924F -3A5ED88AE8858C568C6447EB68BF59DE06DECCE9590E00AAEEBEA61C6064A7E8 -49910BCD8A67B3A9CDC6703216B9637D332186B0C72F696DFA7A44CACE408908 -AEE53B8814BD7B446250D72CEDC3FDF7A25A821A3D557506133B9D81EA62225B -F33E73CE1C3391DB57FA594763B6C7A61F2DF6630E7F55ED6F689DC72461B063 -95FA2CC697FB8B2F5668DDC3576CACBFB2ADB54E8B10C2CCDE6249CF0F11F90B -691F6C4B4AB404DDD02E54E15A0691B761CFE1FAA79C51194E4675ECFB944062 -33DD10C11EF4D6C00D570ADDFD45C36C0913A4495A35773F103A0A1343FDB815 -788A996CBF1AF11AC0B7DC6BCD3E7794D5A858305D2A52010C154C14B97F8069 -574A9611D55AEB89DB2C52797B4A5EAB65F444C757982D8482EA9E5ADFA9C7E4 -72D9E120DD3EFA0F43E1D5DBD34E73DE5E6EA18AF93FDF085001743CB6C4C97C -1283E8D0C750F6CE5F9FECF99CA53A7BC3C75F8F35436DBD50292340EEF35221 -7BF0D149A9D59DCDB37250896954E3D77CD5D416739F206B324F44D6FD9454CF -C219E3574F3FF8F0D675563C1181F188BCB4BE4F72BBAFE75DC69271DBD5DB8C -00168BD11B31740E0BB38157DCBBBD0DB2F58CE35CCB4F43B9EC762EA024FDA3 -03709F38FBB53F6734F7EBBC9C8DEE497D945CDEDB80C4CE0D6C8ADC43D0D195 -3B7D865680B4BE9D83A0963762A970204B2AFAAC814668D732DDF35A8A9670E5 -57A0C6BA9A605BBA8296BF499600EE536A03C086A42D6B8499E33A62685909D4 -13DF3D531C550466630A6D1FF2A311930AF5B33C2AD327C398469991085DCA8F -C8D7FE25DDDA4C0DF7D6947CFFCB940050D8B7076BE64825BF34D68D100D9B1F -6C0926F587AA3725422C01612A189EEA875E0D7A038857C23BDDAA779E083B6A -8A5145761AA19E57AF779CA74466C5BA93C884F4C1A9C58E7650697CA74463C1 -E8C457F8CC2C20CFCDEAB2C53DF017014DAEBA0026524E65D1CC639F40EEA54B -136E2629B00D85637D602479E524D366C5090FC4BB0A8AD8C3D35C860C8CF64A -9B63E190771B15104B8692CEFB2CED2B1995A9CCCA4447727B7746FD5DCCE296 -A1C6C09281D3FCCEB30E8FD52FDBF18FC1657FCA10E483EC965103C7F3006F97 -9C8B32F688D1C3A7730E9CFE668ABF51D25DF8A3DB2C4B79086ED825D6C46571 -912A525F1BB3F021A3873A5477630520C4362EE564FE972A4FCB11AEE658BC0D -D56E8F0D043CCD59AB4AFB9B8B8B30255169232C121912CC3A20FD41C9656616 -E2123E9450EF0333F74429D9210C4B87B885712BD71C3A921B45D2EBE47F38EC -85E8F7F814769D4EF2542EEE918A9A2592AC0069D691A50064C5EF4A1BE40FB7 -DDF90143D03033F616FE11060DED5720047C3A818D6815443C53C85D9DDB5508 -0471ADDA34A9F1DDB6F08FB978B17FA97B6ADF3C8F607D8FFB9BC32F8B432792 -E659F9D4F1A1396BEF8DDD95D8F941D3DA9748B24D28CA866F2DBE95B2577FDD -401E2158E6ABA30201410F522C39F1B9E320BF6B653DFC7E9E59B7D27AFEF110 -0670AEDCB6B7885916CFED565F545B4EC4E8F3DD979C7210E629CBBD4ED1BA75 -B6034A1BCDD64902BF6A8ED1451774618DD6ADC994515F98723275F17F6EAE31 -AB8B249FDF4C09208C5CE2C9EE583048CC0C28EB0CC02C6D48D6D4FAF485C1C5 -D0C1141DFC1525896A7F2185247D99E700B49402F6F9161F158D9E2BDED8B1AA -DB8E88EDFEC5DDFFA669217C333034E4FD7E02282A9B34108245C5C2CE77EE94 -9292A3B7F1F318563FA5EC452CD3C9FEA8862A3CED6107DDC2DA8C262A498F9C -66040BA6E3C6E8AF2A4E2D0693C86C5A016D8E6DB80C6DF89C90DAF9FB26B43D -996D5B4BE6449A359720F7EB20EF7867202394991EE00702DA3F5386588D63A1 -39CCCCAD4D07EED7193F908D8B42B11E2ACBCA995DC72B7ED5991D6523FE0BAC -42512B7384873B49320E7E10C71DFE7F2877A9BD2F7248F6FB578F1350353427 -E3BBC503410343629F7B9152CB81D1E4D696C23680328B8497BFC272F7B7F33B -744DF4CD46A06CABBD141CB75D8480C7E8F0138E2E1D6C3FAEB25E9F66214FBC -CBA9B55F74E15B782D438EC4C62453980D07DFE8E42DE834B60016E5810DF4CD -5B2BB77F11E3DF7D5D339856EAED0E42092D23E4755421D011B5EFA10FE69AAB -9ED778A4525BC0B5240FFDDE7B32AE47A265BEC32B2760F083A923DC6BB8A05E -495D4D45F8B5B299D3A1C9E07D99BF7F4F204A8AD40AD5CE873D99CB9DEF7B7B -59DA55CDD6499A80AFB8B9C894AE32C7E5BB9DCC7B0F3F1FB94A1BE6B8B4D2F3 -4C09CAE1808B55292B2301CD3979E36F380363FF3A71F98F6CCC143359C142B2 -C41AF073CD54376F23E23FE6D17BFF2C9CC15BE3ACFF4D1C075AA1D584092C9A -FD9BCFA6097DBE2BD06F7A3E0D7B56F3E3940A2E12230A1C07311C7AEEE24DE3 -4846CDFE35309A0FF026A919869D44A7E835BF1584738DDD8094B6F0BC011A7D -F00A1CAAF9AE4D4CCEAEF1E100A4E5F5D7CA6C19729CEDB3B974482658C4674B -F340108A87D9E4CA30AB0675218F326C52E669E1904EB5364D38F48D712028AA -9D5A288F8197DA37CEC07DCF11893E9E0EC9807EB548EB56B0C91D35965DC1AE -847942C7D0260C2AE7DB21DCF81D3CDAAE3F065DCF40111E14F7FB79FCEF4BD2 -193F68846981E7BABF2A88AC3F254A084FBDF53EE0CF622D1FD728F28099DE66 -DA025342C3A1768B134838E540E937AD987070D9D15DB5B59780E3197AF3C93F -2BDA639B3B105367C7FF77C1671D9FE81D38125679D79B4D9BC18A2BBA4CC508 -BD94C585D8C698EDEDC8940BB591B470D4942B4A81C1F3F8C46599511B51C6CE -81D974DCC674317035E1D80E5828FF4E3715093E8A5F3DF77DA6E44A37DEF8CB -7F865A8E9F079D390D07FEC481195C64BBAD361A29CA2221900C392509BA6162 -5B518947D0A2C38C4265878B7638CD57BB029261DF4EC755D819A58D2AD1441F -936196DB7A4E0369A2B9CA6B41DBD18B53AC84A2688E0F238837CD5F554D48F8 -5CA20053963456924B654C6DBF59E85B08941209B85749659FAEE8F0312E2059 -4DFFDCC0628BDD3FEA8AFCEC962429314C51F329C8FFA4859825102C79044037 -DD3B4CA791BC1B39AA507C267965EE463D8F931E2D29066AF77F8E4E88A69C9E -8EA2A36BB4863847CDCC06FF2531A72D1C422B273C65236E8103D60DCD11B727 -0B343CD0CE6B0C9F823C01339EB72583C630C85873BE0E63CE4BE6BF7053AF02 -CC5E258015A66D51493A339D2ADACF1E2B3F1EB83DA76C458BA804B70A03D715 -B33AC4C3216F6B6A9C9157846FE32A690A8299375C7BBABC8E214D41F2ACD972 -C7F4C17B34DE69495A6ADD7BE7FE02B9A98765CCFB3493FD335DDC5FDB41C3B6 -CB07ECA9390F56EC71C0EB34E60E4D1EF8F03FDFBAF7DC695D6C4949F4BADE5C -6DDAC23CB3C9906651AB15D1F8D537A3DFD35296585E1799B813069FC342B180 -E026E65394CDB700D9D789C036361E14565B1F5A522BFCD844B7EBC4FEB69613 -72CE9D82DFA037DBFE34EED0F06001AB003A10B4DEDC4D1BD8546D1306A89503 -E9C0EA34A677FF5AA6B93918C6B3B87129CA8CDCA52712C296E9B378BDB79C9E -A44CFD8A596EF70781023BF8B07BC39A1CE4F11B8EF9A79CF02BEF24DB70B84C -66640E7FB9E07CFAF390DAB38D9E28A83BDDEE98E1881A8FD6ED431F328AEB92 -F9F7BBEC8B3A6FFF0C56EA355E3FDDFBF2C2E3A437B45A5A37CCA2C2326E9909 -364A2C67CCE3ED383046D3377174DAD0337310BC2C420B1AA91467A300087737 -63402C8574953B24853F8905DF00C496521F6CD9491A44D83B23656A4650A793 -427C4D33C3BA757AC60863E4B5E6B94FA4340A32D3FC1779652D2716F3962EBF -2500F8A27DA1B33FEA67BAC67C636DE6EBF473758D931F60B3EA75C53395EBDC -56A643CD1EB756E3863C851A2C30F61E0DEA78E3E3BEBC18E3860C6E9FF85ABC -A7CF2F47B2FFEA12F439FA8B7343BD3A23C257722756D7DB52F30D0DB2DCCB10 -05069BEAA5DF7D6C5021C6F69F6282A3FC9660F107DBBD94C93145EE8A0E111B -D60DB8EFDBC197E4F42F9CAC4B2378BCC1AD0899F818A959B82CC5361B075706 -42E9E51578E37E729E2E0A4CB07FBEF0A1B6ADB8D31F7AFEE33BA017A5CD66E1 -AE75E881C80FCED8B857AB2963116A183E1B649A9986C9981E3D1506CB51CAC8 -9AA4E5B19E0C9283BE9A62351F4080739F70458B2C700548C42F54E3D43A28DD -2DC921FEBB63AA119DD23340DEEFF9C72AD68473750C398827D931834272A02E -7EB6F52E3EB06871A83323A348816C00F3C579003DD6A0A05226290B295A2B91 -6BB84EB1812B6F035A8E38DD3076F3E518B11C1F1CB06D76642010B3D8F5851C -A28DDF556050D57C3EB7290CC924C89FAEA9FF96AD6040A5F3A993C4F3E9A267 -E2F056DA398465C772AB3C918A81BB60BEFDB72CE12DCFC9DC84529E1A1D8E78 -DEBB9DBC1B09D4D83C378034B216858E672D1083C2D72ED19484236CDB2C52DF -E5A5C4EDBF14E2E2D7ECC0F3483C5FF60C10B5D1AF30CB770D3D767D531DC4EB -B40219F688488DB096BC9D57191E4BBDBCA4F642BF30018CB69AB5A57D701B36 -6B7423063CFBCF26200774386C7693E7C09C97EA36C70C29647DBD0B6E77AF6A -021CD14CB062CE519E3941B91D7911411AF0EB4ACD8AA14120A977F24B29F3FA -E3E3DE9B63EA8AC289D2F9E0D103C1F9A77C8A87BD485DE6827F70EF66891F1B -C23A891DC6A03B07E8CFA1380613D807165A274DF4660E957BF6A5E270573CA5 -7488381C1A70B9956E7D8E1438ACAB1EF0749E8D3D59F06B742FE4A9AEC80CB6 -F4435C9A3F80763C6714E0A62FD76B85ECC29E5934B6AC8B8D22274FCBC6A48C -69A33FA4DFAC35B17B2F1CBF7417709A042F9260ECF55893A42058D1ADDE4DCA -038A322D1551D393B6CB4D682DD1BB0EC129828F0E9435262AF27B7C8D022D36 -903AC3B890C294821B46EEB3B4CD9F39D553283F4B1836AE775866BB434E1B91 -2524B77B383333EB25ED9CBA6276CA6D5FD8CF7DE6426749FC2D8D117FC77E2C -026F3F170D4F4FFE36BDB93B96717B67AC638064882799B77D5CC12B3AF057E6 -172D24DB4BB853684706D419D5F42D79AA67A92070DDCFCDCB2D736329A03DB0 -E59162BE384F7C99FD2AE4454588D6FC9FB9E7B1D0A4951208212594F0455F8C -9B58BC5F6423C5C3799160E345E56548867EE92149400849CBD85C0DCB0D881C -F081CD76D45DB8725F7996F551EAB15800A4045C636D70E188415D3683B01EBB -061F77BCFA3645899A8AFF5807DAAAC8E0B35C330C6CC44770E13D5CA216A99D -BB980F7D57FB09C42AC177118FFF933C5E2B6570CE61D6C504C86090FE69C672 -F4EF985F8F8215BDD2C711E0ADFDE8FA585D0A16C9290DF00A75FBF9766913A1 -97C93199A5E2303CFA79D4F1E9515C5A3CE9CE684A37EAF0D3D0ECE9E00515CE -0C396EDE104A2BF548BC03779B5159B4C81B7E3C7BC5948FF5B1332E5A774043 -7EFDE7BECAD7C1C9E9D69F52FAAA070096ECAF584E26345138DE6CC79E711B90 -BCE15F5630F149F0DE514AB021D1C501D6259F8409D7975C90C215FA0C24CAC2 -7E7B19585570C2A8A2D4EC521F4C26DE3A23F388C47BA73C387E8B7D702268BF -D0E07A39AF860B5205F9E47CA4A977BFE3E6DD53560910412D877B8C8CD0702E -65DEF05EAFA2C695119742040289F43216FCBBBEE205E5A79C5FCE4318AC313C -1E57C27AEAEEB2F411383BE2AF2AB60671AC364F06A6E79E24CA5E3F3EDDE415 -3E98BA0855AE26595A64469C3AE4446C72AB2AE0EE4CE5F1AA43E5E546781F6B -F6BB51D56882BDD71E44B9D120B25BCCCF30E5A86B8BA5986EBCCB01E551A45C -5B81E938440E4A399FDB70AC4627BE4FB9B2DE47610513C21BD91B2158F06B35 -9144E36279CFA7F641D04EAABC810DE6256AF7316B5F4753EB36DB5E9FC80254 -04A72D7F56248E9835A994062E15E53723CC36615EE5345F4340855E47724FF6 -5E8C16450C7C0CBBFBA4C24F65F573A003A8377AE7A34D10FB535E3B75153E09 -C072ED81082298FB3FB6DF46F23C2CF06A1FE1BC7FFC9343F2FEE3F57AEB997D -792640AD4E4DF8E7EC80D26D82BB90C0BD5841E1F48D0B97F756E5B1AFF06BA2 -54ECDE62F602AAFC6B66C1105D3B2776A9E7F8061138B58A1D2200FA9832EC66 -4784E0A1358D814D5BB745483E7FCA10729E375C84B7E088587023EC147E6DE6 -B07AC8900E8F7640F5CE0A87C247A8CB80A055BB147349CC39899B8B64468493 -9E297E6732E5DCF010C12D7633FE61D97D8D805D136F1FC0257BDE0E65B4F634 -E4F8188A66B7AB14BB6CCD378ECD6CB687B266AF3A0F8A08461AB07C3190BADE -C4021D80500098329DC3073413168D865412390F864E2D751982FD8A27BA5AB7 -F6D52A5E7C50BD3386BAFFC8A13947617D9A77558ECA1E7844294896597FAB0C -E706487F4F553D89CC773E32BE05FD539F1224C95ACAD80168A31BFFBBD1CF98 -ABAC2387F23064B7486708E264E97870FBA6E0A7C0B4E61E0512464E37FAF352 -A303E3253F5840F5728CBE94805D77306E7E5FD698C846B2E0C386F81B650B82 -4DDAF7B43B95C62E82893999F64F0B5A3E3485E86F883D355A8A53937233C403 -AFDE36829C6CCCC3C9C40448CFB88CFE400CBCACB952B21D327B79E429B77B0F -8025E432854ECE1988CD9384596806169F30DF9BEC09D0479CE3C6CAB4B72CB9 -9B22AEDE8A1F2995AEB2849F2F94EBB0E4365E2990F6A0D61CF3715B9FD527B5 -4DF1E7CB5B00DCB2CA931098A4AD2460D60C5DD4420F09D0D66F244318FAA2EB -36C7A8BD482E9C0E1C90E75BC38408204666025D0FB70D54ADFA817E736AADCE -0431CA41B9B800BE891078CD135697D4B171EA056147FF53E1F048B6DAB18720 -A0D69A1A406BB76CB1C157DA906080CCB3CCDF4100F9962610CD805BB3C99A73 -29F3352BB45A254BB928E029CD2BCFB7CF010E92109BE4967D7EB256BB1913AD -BF7FBC72B123781D3E4829E04A9DF050A3948C118A3B91AA85147E0EB7A1E560 -2B73321B474BD9E6AE24A4933DD5E76431AAA8A781B1D04DFB0D6E8FB337621F -C1AFCFFDDBA3C7FAEF487BA7E3605606AFFB7B61B3D924833D3DD2A0FA466BBC -E1F1B3E40B0FBF5A3B6B2EFFA4A648A91F34460193BA87B3885D86C1E58ECB0C -F318833FC9225A9452ABBB6F9018D936803A39031F1CE0CC5A2DD1B2EC412E09 -E0188A570B9DFC27C18DC09CC8C81D80A94C8363FDD4F5D699C0728604C33BF2 -970CEAA04E821D90C633492F57B0760BAA4EFB75D0B11BB7E2C474F47B92F99E -BEB4171543F47F413DC6BEA7A2CFCDC44FDE574D59AC0DF1164716ABB912CFC6 -F58EE13368B219CC1AD6F444009B744EC3C82347CC2D0D82CD6F5C7D97F55BB5 -4902824A377C4FAA2A2882C43B6D83AC8EB90F222C81265EB4BCD9C356E1D308 -500E4C2AD9B1AFE02D818CB3440221F329B96EC97C3D039404E93A2327A5CD91 -A67669ADFC73A24BE13757975EE463E9790F7DD9E8FC82A0199891D9A4164CE3 -22E33EA369322955375B18DCC155525CEED142DD9F10049D76BB071F69F95D6D -0AC7F1034B0C2D9FD6BAE7AE4C915BEB91EE34FBE1E5C8A6C0F8C8BB4C947D7C -45359DDB032BFA3084DF2BCAB3841EA52E0662C43B9A38A77A982D48BC260765 -A6FEA1255CA424AE06BB9ACE87FF6CB7DA59E011B584B09D9BDECDDB4DEE1B49 -FF7E9CEC6C04A5604813F908248CC3ABCC6E5568F4EBD18140049CFBDC0176A1 -E063597E84C46D3AB6BB61CAC122B3A58DA205672F232DF0F9112AF8567CB65E -39536056C8CA8D340CF813A3425F9712EDAC29C00D5AD1D35FFDB9F18DD64B12 -65BF54FF273CF1DD7FD0CF5D7C40311D5535F91A9E11E4C8E1B7CF3945AF2AF4 -0184C9F9287B3330B07B0319900B6F4022D8F2F7DA21253C3B74CEF0574F6409 -1789490CAB878108453BB13EC7C1FD876CE7F0C36D546A488A6140163E083733 -FC83D8BD977AE505705F19A3F57CC3B3F93E602E37D8F9185326326D93C50285 -106E7B15575487463462D845B870552268EEC887227ED2F7333779187AF3170B -49C546856BCE79057875F91E8BB36A4D5BD7B3BE6D2A13DC69D6271AF596A1C2 -F890BA152A59C8BFE8B1C2BBFBCC5B887110B1C5B44A578414721063734F848A -E62B8E8CC64B9F0D39C367265F4F0B60A0E619BE7D2B22C2211D15D7E6ED9010 -F0951D2FEF5B87EEB818EA10E2B3149D0EB1306DEEAC3495320257EF41BB4061 -691EFFAE8C72D6727CEACAEF1E59442E4AE5CFC8D86297BF479A91BF8FB81AA3 -B67217EB6727A64147E93369F91D884609324A97CE14F930E7CE89FB1764CE84 -9CD860793B77E221A849C0139424DFA44F507346454ECD8A07117BE6D1BFDBFB -B591AC05EF935970ACAEC21A268AA7F9CE5562B65C2BE46E204124B767CA7C81 -EF38069CA8840D4796A8175B0C62D3523E89789FA366D9BEB89E1D38934801EB -55E21E10D21AF45DFC923E88D5615DA9E1E5C460BCA98D99AA1C32D327FB7696 -4FF7B875A743DE829B4BBCDF05285935925A19C405D6062575CB08C443B9F63C -3A19461C01EB7AB61D5A24A8ED59ECDA41BE8F2D0544E9BE6C64CB48051644F9 -E2E91CD672741F4185ED972D53B38EE13AA7A583E515B2221302E83D03A127A3 -84F22C -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -cleartomark -%%EndFont -%%BeginFont: CMSS8 -%!PS-AdobeFont-1.1: CMSS8 1.0 -%%CreationDate: 1991 Aug 20 17:34:12 -% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. -11 dict begin -/FontInfo 7 dict dup begin -/version (1.0) readonly def -/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def -/FullName (CMSS8) readonly def -/FamilyName (Computer Modern) readonly def -/Weight (Medium) readonly def -/ItalicAngle 0 def -/isFixedPitch false def -end readonly def -/FontName /CMSS8 def -/PaintType 0 def -/FontType 1 def -/FontMatrix [0.001 0 0 0.001 0 0] readonly def -/Encoding 256 array -0 1 255 {1 index exch /.notdef put} for -dup 0 /.notdef put -readonly def -/FontBBox{-65 -250 1062 761}readonly def -/UniqueID 5000801 def -currentdict end -currentfile eexec -D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891 -016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171 -9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F -D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758 -469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8 -2BDBF16FBC7512FAA308A093FE5CF4E9D2405B17498276F99362748F6E97327D -7CDA3F577075245561191667923D37830EEC37A0161B6A3EC8FDD63CDB8C8D4A -AD39C69A264813FA79C25E85AC95C71AB965F6C14A4A1ACF5BAE27A5F628B172 -47CF6A12008558438874199C237501B72BFEFE64B606A327623BD8B217E8349B -7BF5C2204F4DE2FB269845D5714A31151A66064419CCC46A63F8E54B92B5070F -F3D80801DBEC658CD3926B15BE3D4B7591FC36663D3C03926D0D3637B53BCC22 -73C8E0001B416A65FC67C53383458DC125FD14FFE391BBBA321B5AF5DEF85DBA -5A5FD759FD2AAB6AF31CDA6202EBB763E3CAC1FF91B1175EF818FD662B60C642 -738A3B4F27822A0560BB7C08AD42F976351FA5225A0E6D56C7FBE06A809CC468 -FB2E90C84FA56C62CB7BBFC80BD94F5C6BC0EED14433A4A356D2D15DC87B34B0 -99A100502F55A32D736757642F9F9719FD9E35A1430A72C254614B4000113705 -5474FCFCE47A6978F69FA467B818309E61598EC18089BB924C393B3FF1280D72 -E1969BF5AD3D1074FF13202D4CC324396BAFF2397DAB2C516C656B6B240F023D -0C28AEBB957C23012C971D444DD1C4C2BD7DCE178D46CF8EC20DCAB9A930907E -124F3B3B8D16DBF166BA40CD780DE2155BF21EC2C3E0073422E54A09DF4A9491 -63B55882122F6B40490D81533CB0E16967E32D4F5B5D5D14F578BAA0137704A3 -2386E6AA4E3D160559EB245625253380CE64C30B41B573D7249B0B6157B02EFE -0D82006B4CF4A294FDDAB5B87CAD0B2D3367F9138EE0922FBDD3D7BFE4C6B297 -762F95616A75D0FC2D2E22D79172DF1A3287C67BD27658A448FC61077B3033AA -5479ABBF5CD952B5E19E437CD642CDC43FBB26115DCC019FEB3195F4D3395937 -6600E493CE7D08BBC2795176EFEF71A30DDA46925DA35A7220305D89828294E4 -DAE3BC2C1CF5CC0F52213837DD4AEB86A00B9F7CD2FF421C7238045422AA53C3 -3C62D518A18EF11779C1F64BE2069B663DCFB68C43DBF86A5AEAC25A45C3EC18 -C06F9E4E0D0589C767754982881F1FA1FF322A15A709921CA279465C4FA3BFF3 -CA7D4E79405613E5DC516D8351119172A0B1BDD0C132095613585038ED50A0FC -13FD3E800CD01DDBA0987A7E5904AA3D52548AA2C8A77722C80F707B16293A39 -05A38899808E888829C99AC5E274B3D32127ECE473E356DA465B6B1D84D5CDF8 -B229994EC83404BCABCFDE20A688292348C2E60ACD844E419FEA1FE6CAEEEBFD -62D0A40D77601CC2B629025CB77AD1E879E03C6939B547DB01D3E3516C717595 -A823C7666162E25CCC4B71DA6972FB22ED3BD455D08D76FFD7106EECFF589A2B -16FE8A15FAAB6593C967957BE0BB9D570C9062E579B02D6FF5583C76B9C4DD04 -7360D21A40B4864DDB235303D800D48B8DD4DA4AF8DCAF572F18C8D82AC1B94A -F536622BCBE28DBF54E11BA8F13CF2704D1D81D9FD36213C386FEC913FECA445 -7CF968CB8D6BB192B60FDF81D77DF701E7C045CF36E6262340EF665DEB2A05FE -3BA4827804105652E98549D6D6D702A04D709FBB1196223D1131F4D269986931 -CFD1BFDED22C44D17761D534FF8ABA7D64278FABC5BE7FB860A224538400B78C -16986805E0F7F63AFE8B358DBA9E3B9492426DB489A71F3CF984876D42484D16 -B33808AB4AA965FB03168D259B7113988A00F6F11C13E42611E548F29422E72A -64C6C75DB7D508095AD5E2FE4ABF03610CF7956799B243CD460BB898C36F55B9 -C71822A54EF3238C4B88DD7A13995FA8A9CC8095FA4DD60E45E67961B4268698 -F672A8A106B6465FE32B95C9A86A22CF6214771B03DE55A66E0CFC4C8A3A6B43 -01EB41C52A3319E899D424D42972EBB4A9EE2AAD9718913DEEFA6D56AD497684 -524FDE8FFE2CFB0148DF179C5484765128DFD09B6A288A6B65C555DEBE90A8D7 -9D4D281BB4F400185343DD16436165D8A2ED77CFEDB77061FA24EF4BB5ADE77D -F39F04BF73AD97FB6E04AEED733DFEA1FA41B5B7763C8F61692B266C27223E42 -568E4D3A060CED88D000F552030E5E5FBC180603690B8AF2E1ED97CD0A869318 -FDDBB375618C915F33DFF83FDD9DF05EB57BF2E2E70067772AA4FD4D3EF12A26 -61CA0BA2ED0425FE05842E1C20AF22E5D50F20547D3F01289AB6BA68CB72458A -D7B1C0E17A63CFAD96740DE15BE9684E883E00640F06CFF52B907DAF2C12CC08 -394F9B7E72A8143B4BA2D0F6B0EFFBC548CF0A22EBC2232333CAF2561A9C37D0 -729BFF90EDA74CDB9F33881C2FF67B2C2392A974AABC46FACD56F14F3AB68A99 -3D4307B78E6E761EA0AE1A6B55CE7580AF5D494434F2893A987DA315A4192F60 -AFB1BA3ECD96B49EBEF397AADF0EF63AA0018F0A7D5BEF216C13CCCF1ABC48EA -67165412E6B406F104D837B4378D29EDAA2284005A66705768A9D37E6050F126 -3D7E5E6BB71C43A6F65F6E0D255155CE5A2299B9C7983DA2FD7A4876BCC025E8 -1E81F8C9DA97301FB1B595FEF7093C024DA5B4AA5FF18F5448A30F0FAE8BADD2 -A892BA5D620D8B73A14FC20D523E9588113C963AD7DC2D5F2532F0B7FC8377E7 -426C2B3270BC49C9CC8665BB37EF09DB13678DAD0079A8FAF77DEBC0A157CE0D -587639B1660457DC11EB72B60D6D5A7C4E9FE9D9AA6C857ED9742222C68A4D76 -99FF37D7C1D851F14C216E88B297D0516B650B8326C7080A6B1A969D1EDFF190 -57BCB1463874023F798D9B6BBA23982F2073221ED127138E377510D0BB93DAB7 -429107E119FBEDB41537812D65BA73F3895C4FAFAE9FEDD03C2E9928AE2E88F0 -18B5723D59D1A59DDD4F46D4801197227E8E0EFB9E70DC94DA610DDCFDDA7EA3 -DAF3D26AD4C4556A6C46DB358943E97F86B223C6FF53570AA6F333CB05AEDB3C -B9F78D11F2FF188A0A3E67FE17ACB624744CF5A82ECE1B214329A229F543AAC0 -DA8F392695A5EB59FAB5AD688F785ADD9A439809BEDB024156BEBD7D17F91692 -E325D0E1DEA4EA3DEB9483246EE9FACA1F42D0BC4BC6851C937FB547AFBC2F6F -D70B86856FBB1CB2271EEDBF1F811C9A2EF6A3A94046D0B25923723B6E7E3877 -905E869596A983A2D3A2AF1BDB762A5D8C4B547E02E9B81F55935B1482E76B7A -BF6316ED61B11304F2133DC62960DE4E6708C54F7D90F060A2E15BCAB62D96D3 -2A5C4D3DCCADA07310E3DE7715A423CBFAE75852C39C2A07C749249A728F8332 -332ACAD51A488D2F179D9296C893B49CF0F85099EDFDDA3A6E04839F886F9922 -9B7F3BCCB0EE511981758C873E52EB6EAF35F5CD35E731D20BEF007058B31660 -F8FA1FF323D3D1893C8A01830F03E70419683B7CD745EDF3BBE21DA065896984 -07B9EC786732B9E8A2C9A83BD6DF90F5DFD9024F474CDBE117E80A8FE64B4DF6 -5F0255FC2A48661A7548A352740B3BB99AF1C9B8AEC9F998D208A9DF927BE236 -D1E24919DA7588A75012B409DF55D22C21FEC22EA9A17EB871277F85BFFF7134 -2AF8F2E7DF7FABBB9DF68BDCB16D38CE155FFD3AA206D2E472FAF8093E6CD988 -C18CF986BA03C228F2CCF0F4976C3DA7ACCF9C22FFE1134F1624A841B634ED95 -A6E8BBC33285C706493939950A9E74DE3164DDDCD8AE7C47A4F1CD8C4F497F2B -601EF9236E057D031A45078F45B4AC1759CF0A5FFBE906C9FBC8AEA0D0382365 -609313E1E20DD49964EB6A582E850BE986F88605E8C93CB98DB457EE76E5C116 -AB5E71FED5C35D3019F98F04F8ABE2372CFC63D46FC1D1B6B80CD694FFC604FF -E7DE43401BC39E3D333EB9170125C9BBE9E548EA23E863DE5DFB19751A4A7B85 -9DEE2E03441A0ACF833F77B17650DC3B363D4AD141F84B4679CF80CFD7345F73 -A518B4AA5160E48CD50099D44149711C5F639DEBEBC9C9E3A68AA72F3FAA499C -76EBC8ED974F28279E82A4FF56D3A3B1ED31E62F19CB65E4CACD9688FACDC7D5 -96E589CA6FD7E3E32CC59EE73DAA97E3E79F809E48EAFDAD2F -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -cleartomark -%%EndFont -%%BeginFont: SkakNew-Figurine-Bold -%!PS-AdobeFont-1.0: SkakNew-Figurine-Bold 001.002 -%%CreationDate: Fri Jan 16 16:30:05 2004 -%%VMusage: 120000 150000 -11 dict begin -/FontInfo 14 dict dup begin -/version (001.002) readonly def -/Notice (Copyright (c) Ulrich Dirr 2004, former designs by Piet Tutelaers, Torben Hoffmann, Dirk Bchle. 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 66 /B put -dup 78 /N put -dup 81 /Q put -dup 82 /R put -dup 88 /X put -readonly def -/PaintType 0 def -/FontType 1 def -/FontMatrix [ 0.0010000 0 0 0.0010000 0 0 ] readonly def -/UniqueID 555556 def -/FontBBox {0 -103 1430 826} readonly def -currentdict end -currentfile eexec -D9D66F633B846A989B9974B0179FC6CC445BCF7C3C3333173232E3FDBFF43949 -1DB866C39088C203DC22FDC758584860EC7BB67FDA28CC6208249060E18FAB32 -204779B5C03C0493BBBBC95CF02692CC4DEAA8D2EA90B5C2E64374E92BCB8501 -429B8FAE4A76C0C6B76D6FF7CF9A7D5EDFBCA0E959541C59BD05B7DE43D25D53 -FC3DDA6EF0C2743978A6D03E19CCED4A11F2EA4BCC3110BE8B8D9E2772361969 -C19258EFAFDC276CB1ADE9208A941A36D18A96F6D1C771F81C4B3B8CF0CBC2E8 -4B44D923DDCE84E17DAE82547EA9EA5E732D78F03AA245377BF0780A3752527B -6E63F6A41202E7A6C4E4F9330A0AABBD04387E12F2ABF531216BF498DC6B7EAF -F58378060D39355B74043FB6F1D1E047D80C23EFBC033EA4A0FF396CCA8C260E -BA1FE1A7181214DFF18F2D540EB93F5A53EB9FFFD79E6BBEA6B4774BF7543788 -3D45383587086CF8FFEA6E45E7F52A5AEFADF21C1F30EC302E40E12F65CBC5EA -9EF7FE4F3F6D1E76C9365B72E259025D1C8D971A2C44A68784B604DC14D9B327 -D9C16A21ACDF1F2059B922368AB973A75C7BC2EA2DF4F362D8978D2318B4998F -2E07FB045C6D1B0A371D1AF320B5B7BDB07D073F2C6ADF4574A4C12D442EA0D1 -132243E55F2846140059F6BCF4438B70A097FB9E00B7BAA295E01774286D3B0A -3F96B51F5A7430B9B0AF4155F157978F83F43378A08D3E0E63CA6E7017F480F3 -DE4E9912AF3AECFDD96AAB24BE7C2FCC8EFA6E0ADD8BC58CA9FE76A17F266E24 -925CBB8EA01CA7FE979BE16C30B31E9088597EBE2F85410E2C3B1275F8057D3B -DAABBBFFA0C02211E2D28E1E04B45ED708523360ED9823D5E0678BAAF0BBB877 -72932026B8BD5BDDD8A39F212A6A679D7BEFFDB3298FABDCD9EF1C46F0CFD132 -1479A7C6BDEFB2831E91A40F45010A848D10E0EDEFECE3858B8216EC148369FF -48147B22EA1A7C00D2D0BD67F0EF857BA6D6F1DD7870BE23CD57D069CAF395E3 -C43843458DABD93AF92E8E052223B6B73DC76C8401103B6786559A56268549ED -59C14E22621F50E18A47A6C6F5F175ACB1EA95978DDE87C97B2188A293F30F2A -10533A8BE1397D1EEFEFB717BFC2A2497E6BF965FE4348663C76B4E519066253 -7AD3B40DAC300ED39ED014BFCCC6BD34A540CC0B8396944E45911A1E2EB254BA -1066AF6A79A047920ED4CA54871E70814B125822F948ED1C3525A001FB54EDD9 -571713CF8BFF4EDE294E598C781EB32A74BE5F58DECD4DB7E551DF703F544F72 -B31AB0E043F870A7BD6D0386555C367423BAD1DD48FED7F86D020E696F7B1DF9 -D5DDE00DA7C0E934F3D33052705015B64ACFB1FE71C614310AFB51163ECE573E -AB9DC7322C96494AAECB289A6A481813A82815309D62BC292F0C267C9147DDB3 -7EF3D7FD3243EC919082DC237A961A5CC81D1B4C66B53B18834B5450376BAEA4 -0B089D07FF9FF531AD8A590C14F5B730839AB1C0721258598899C4A72EF2228E -F52B9B337E6010BDA6B368AA1AF3A022DEBC5F0A51BE2D3932CCC3708244EDAC -8384D43F22DAC9778573DA8CA112E9CC47BB97A01A10A2F44E65446BBABB8BDE -D7E8E93DC622F7537D6B45F1FABF411E22404BDD0AFA1E08CE2D632EB693F9E6 -49473427BC1EA3DE3C7845A7C5CBADB8128551FFAD8D51C9E63B21A63D2D5F49 -F436E7650A23D6088F3E3123018D1A923B205959A9E30013912750A215049529 -9172E23F12D591A8F597E6CF08C33F460114C08603C5BEBBCE03942D89578A2D -D09676E732CD2A545ADC9B3E80AFBEC2D41DDAAE442BB909B05058FADC71B8BC -2FEDD8CFE635730905242C836101182421509502CAA14F56184C7A4B28A8284F -53BE2B08321BC8F4EFBCC25036AECBC9485708113ED4191B9400DB4E4C34E7E7 -3999AEC133DBBD201153DF79327084D76E2CB862783EE908E1E24103D0A7869A -46C43E44E74F1E6175EBBA6581D68C36461CBDE7489295B2DF4F70B8188C7029 -C2B0421C32408CEF03955BB0D16597BBDA15C0C408D35E06C8D67E423F8DFD10 -74A3422C92C89B9FFE9A9E8A8BDE333B4FD418355BA37C40F20499E03688F1C0 -B56C6E2BB75F474699178D911EE75AE8978A512DC64F0F7EE23FFF2AA3E0CED1 -DF1320307C532251A95A7371D06C034DE15F397CF87FF60ABF828E6C1E3448D1 -DC6D26BFBA15188AB8732EAB73BF9BDB0BFBBB1F2800394017707F2F708CD262 -7D872F79E2052E0EEE8FD2A4BC27C9C33A35D5F414C97FD12D5B57E73C4AC538 -DB5FEF9BAA0DCED3AB70C77648D1A4D27F6181C31C46CC9010A0F31A3DDDA215 -ED3FCB41C44D30A499714AF3800E913F14B1850979355AB6BC10AD61C5FB221F -D6BA8C4CED0A0834D5A9AD43151DFE7B12E26934402C016A5FA6C114A77C4113 -4D7D3AE1A5C9F73B8043ACC3ADA7844DB8E63979B8664A3BA0BD546BA0E02C92 -63D1F20FE9F4A0F00FBD48CD0C500DD20B81A7DF1B2E50E2F061B8AD57B0FD0B -23C31CEA95BCB65A50E78F73BF0CBAF6A2CD9D7AA9605608AA6F3CF69789C650 -89F888CAFB45018D48B42B71A6614188AD471C7D5A90911DD314E320BD49BBBF -4AF12CAD754492B165535B270DE76210511BF7A597A20C6D3BE5A893066EED4D -E3D367FC0AC6641B14A428E09AA1336808A67D38B5F9CD8806DD7CDC6D208E83 -8FA75553CC00464356FCB9EAE0FAA337510956BE1E3163C679236EDFED6EB352 -3259397D74088265DFD0C4ABC7902F5F582296BC190D91E66100A83790FDF9E9 -67A60AF0979BE12FAFFCDF68F04E33B64546F0D761010FE2E6D92C1F20AE39E1 -5254B0CE28E32657D9C3099B1DE29AF3036DB92275605641704E6C06D40914EE -F56584CCBADF0A5C7C19E79472822A5ADB641F8FE71CBB33D1426E238281C72B -7055743C6C86D638F978EBA565878EDCE52E8C8558663C8CED3132F1624388A9 -2CD9C6E47F174012F32976BD7F2A86EBC3FA7A491800A63576D5DCB252151BEF -1C4EABBB33F79C995D5E0971C9EBD279F1E4E3E5BA9BFF86C4E516542721AC13 -A6E43C4A63DF6027890C3625AE0201B96A1411AB24BF765B8DA0BA7EEB053C93 -95CFBBE2F36A0FE8AE63260D4DA0A83D03D62F0AF69774198E390C29DC881BBF -71AAA437454E7981152A21228101E621CC61D6DB9A5C8D223D3CB7C016C6FE9D -812E92A6E97C8DD4299B794BC4263EE766F1C54B8255F6B1DE61541BDB96908C -736360082D72F69B18EE0B3844B899ED9BE6DFBE7BDB8C594738F59B7773B59F -9B917256A8E485CA1EE0E87C65133ECE7042321B48527858F4D166B62F2CDECE -71A64A356DF07B06A77B12FBDAF2E86C7EF8F05E482F8052E2488D1BFAB79E96 -0E65A72ADE04972D09BD374F9E2D0307B5FF4338A844B649504A0E043F93169F -F2F8593B8360ABE8EA358A6046CA956EDD2DB079C255EB06745700C97066C4BF -9A0C730E627ACE89EAF053879B0B60D0CDC6934834DA870D29ECD15594477291 -09CFB1FBFD203EAF08EAC24CBFB5006C7D4C9F089A2889E282D077F961705250 -DE156DFC6DCE0AA25F9FCBBDE0775C153432160D1D5CEDC6D3DAD16AB5A4F984 -833F2867091B6D447CD1276E83BACD23BA3B90744588DDBDE4F50892B8747C9D -DAAA43866553F25B0221062332E3FB5D66B9DE01ACB3C2E1FC603A3762039687 -FC3B291F32C24F303E6EDF02C1A067D7B72202A6899CAFFE452B043AE3637CC5 -208EAB5B86927571B8D56CE4A6F990B5A1FCBDC168859752688AC96BB05468AE -E754CE6123E7ADF2B142B1C7E6E426C89A69FC2156917918433A8328F7C2A7BC -1535034242ACD1C549FF7F0C6CB2D702BB0B59715DAAC91C86CDAD9CA43286B9 -D9EC1EB3713D1FA80CD12EF5DF8E69C3A57EB4914922DDCEC0557AA1DB6B981F -FECB4E06CD3EF4AD6C25827C2E820993D97D29B416C0D67AE04C94BFFD0B4A94 -E489EAA6697BFBCC14B326430DE6FB02F986D6E3A6BFBD3753CA4BFAD79B8CDA -521167EEBC1E3CE1BA74F521BA46F507692B7AF5EF97C81C8B25C9F3DE69E4FB -1B4817885A1B33C5E0CDE0FED6BB834082905C3701D58C50641A5AB1C7F8FDF6 -7F32F563F33405050839868CA212523EEF49C7BBABDDF58197932FC2FDEEACAB -7AFFB2CB3EB992AD5FDEFDC3D85A7E8657EDC12E7272AAC502074508B4EC3768 -2D38047CA547CC5633793C278D6F65CAF30A51D4C0D324B2107883904AFC172D -2A27F1B42B43603D2E8BEF90B7F3FC0370F29900BC189DAB1BE468DC57A2673B -105012BF2DD4A2EA37BD8BF945690417D3ED2923431CA1E92C72EAF35A194DDA -E62758932D7E3CD38B286F81049DD604FA76167DB3595F2DE2D155E61FCF4B85 -68BB89F3462A7C5AA453A05EE252E271EFCF816A20817F1A52CB97193BD818E5 -796D8A07EF62AC3B14F30300F2AD165AE5A95364673E7C1FC07EA758D285BAA3 -9792AFE09ABCA02BB2561D0114BAE20C5005DE5C0A501DEA6DA7F084465C4BFE -5255110ABA539F4F03D1175A289FDB77C3A52A4D5522EA28FDA8FA4A45FD62D4 -138FC2A62B2410CCD4B30068E844BC389BE3E9E41F07CF6200A6E3ECBEDD2F7A -46CF2FEF1B654A93183523C6A995836690C66D9C54E5D1EBEBBAFC8104DC46A7 -C670FD32BEC7E2073E560362D807021272C0686059672F2203A3DD495BC24108 -88B2E0507B364B82BFE3D341B54ACADAA657E15CB064CC46B528FEDD6986D2A0 -25DF8C561774FCF0E3B0CB9C114D6475A9AAB0BE844F49C5382C7A1F08A08E0F -7D4DDB35771DF87EA86FFCEA98A252BA2DEE3357FA3F229D0639A98E7DE2B2D8 -B5EEBD4FE59A107FF99B7480B498D70A28FC03F0877FAA0197DD1E9C8FE89F2E -5E6FD7C4DE598D85886709AAF0F3F3755C6BC1C8B104412C32A127B1769AC0EF -3D3221374CE4BECBCC511F3EDF1379BB36C6158EEC51F4B84957850319DFCB12 -DEE97EF4C427E5CD03D81C0F049E111A90F48EDD7244E4DF90CA6ADB2458DF66 -10EE4DED5C51238FF9D4AF7D36E953CA84274FE29868BB689C97E7268A7454BF -DEAD37E6C452D851255DA9790555312331815F7092A7616C3770E20B9FDCAA3A -6AFD3E5E2436373DD01B61D016AF5851AB87F3345CBD48F1B26084FB5402DA17 -8A856486920AFE3BC27EA3DF1A90792192A8A6A047A2378C2E54A5F4FBC26FD8 -F5A93BDF247416803CC0A6D6B08C621B8108A5403F8FA869109FF6195EB00BDB -BC0A28A421EC9F11CFB239B6900285A8E43DAAB123BF -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -cleartomark -%%EndFont -%%BeginFont: CMSSBX10 -%!PS-AdobeFont-1.1: CMSSBX10 1.0 -%%CreationDate: 1991 Aug 20 16:43:06 -% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. -11 dict begin -/FontInfo 7 dict dup begin -/version (1.0) readonly def -/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def -/FullName (CMSSBX10) readonly def -/FamilyName (Computer Modern) readonly def -/Weight (Bold) readonly def -/ItalicAngle 0 def -/isFixedPitch false def -end readonly def -/FontName /CMSSBX10 def -/PaintType 0 def -/FontType 1 def -/FontMatrix [0.001 0 0 0.001 0 0] readonly def -/Encoding 256 array -0 1 255 {1 index exch /.notdef put} for -dup 0 /.notdef put -readonly def -/FontBBox{-71 -250 1099 780}readonly def -/UniqueID 5000806 def -currentdict end -currentfile eexec -D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE -3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B -532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470 -B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B -986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE -D919C2DDD26BDC0D99398B9F4D03D5993DFC0931DC68A9127B5D4E0B0EC0247B -E3E94556B49E4EAF6EA99F1420405194F4D8D644F28FE1F090E80BF5C7D59585 -C1AE46D025A67CD5A59ECBDE2AAF87F725A9843589338F85C6176E7F6DAB2032 -74BA5CDC992D97660FDB3962D486E2682550AF11DECBCB7F76A28A4177905B2E -F4767CA41528636EA69E80B3A1D33060B9F0250896EF2431F4530727CBBBCB63 -5D0CC646976759E52EB09E65B7110CA7A16EB65E0F9DBD26032DBD90A6964D18 -6B8BC2030609B972DA155820C9FA67A1A26B9BC9712A9A5AF82343D16BCC542F -890ED28C0BA88F875CE90B1910D1A8FAFA6506F893CA462FDAA96E2A71ABC8A9 -A209E7AEB0E41C5A3ADE180857031416EA0123B75292427B282D9C21D765A8C6 -82107AF774BAEFA24DCB2DB22410CA3C540C0F9D108362C9C9C81FD259BFA359 -D7289FC6963978B46CCE8744FC96D5F106A59311646E6C4C6E520AAAA9719D68 -9032C53E3C38EE31A3E9995FB08207BAF83F0FCEF63A536528839428AD1E8A68 -F254B65CEC6ADBDBB524D4639388374A5C74C46DF2FD1A30C7B61995ED32BFFB -7F06514E444BB108F3BE17F643D2BBFCB2947FA98789142D00B63105B09B9F24 -86E3FAF44F38E9F91A405408481FAD3B8B60381AC52FE674CE23C2E2F688C244 -EB64A97378970E7DEAB6FD875ABAA19DFA10D3FFB5D2AEE741A277B5147C8103 -1BB179D97426EFA47587DC7D60856B369CC280AFF938EFE801F7140730187895 -5E5405EB740BC38B48A7A84437916B550A65C7069CD0940D54DDFCF2EABBAF6B -ED1681F1E44855C53DEDDE611A36118430BBD52A00C12ECAA9229A2127DCE771 -4362DDC2A733E4391790C71CBCDCB7E70AB9D4C4D7019C9D77B9B2AFFF9050F5 -3C28E6DEFE3971638436BB676532FA05148F8CABA344D18B1847539AE376FE20 -808C4F83BF1855F15D59493008C6B196438B448AB781EB8837725868AA8110F8 -C1120789D43BB7B8B280AB704C673F034A632703658C7A74135F79730B4630DE -624FA6C5E2C96B5495CE187A3AA4BAF6606CBB14A92A83F968795DF05ACD386A -87AD263467185819B365CE5BDA8ED2C66A50D430BD3A8E269ED79EDA7D7F3084 -1D3006E402324A131ECE7C611A84343845E2F2A3C1E182FC3F367D24A0E7C422 -295F71833C0F3171E2B16FFC48F55EC2FD936DDE9FF38126CC028EF4F1714D40 -FC426A2DE068106884641A170C71624EBE3E70B2D52C5894C4E66B81E328C18B -C24C780C5CB51CDDFC0FE8BCBD717DCAC49BE223F45FC632C3D7BFCDAF74C60F -F7CAD70EA56CBC43DAAA1D3247AEA0A20BFBB24217B7A1D9C6D67A912A218323 -B6CA5C1E0FFB9C3B6CA6A8B50C142A8323C3DAE1D4BC9217E83C95707DC054CC -284A47629CE9F150943DFA63729B011063BD5BA0BA94877362B7CACFE83F05AC -066F309D9E8414728732F0BD537A32A003D5C586B8B0B6F7E6E28BD977F0BC04 -EEE8254BA6197957F27FFF4BB1817B4381A37A7B2C1C778E2C8FBBBD90495DD7 -D60669BEE91124053F12FE28CBC721C635295176DFEDF08B03D817E53DF8BE03 -DFF16916915B586B3F5F5C85A7F9CEC6E8E7E4FE5B57313F25352DE7DB39A295 -713261516FF259F072999104B8E833F75D5610AA62D55FE2789E32458B687C97 -579BC6C97C457B90AB2EE8A53AABB8E2709518F7FB9847CF1D4FACF98A10DE44 -0FE0BB79C62B96A578331174D54C32FE7BDD049F56354C93FE6021F33AE165B7 -DCDF087D84C6E8F667CF0B7EFD78D1F37447D98AA77A2030CB264B70EB13C1FF -1AD69B314DF2D8ACD92FD96D9E2529513F80DB1F683D71E96D8E4DB53875A4EC -903E1F3086F74DC74FC6A2C10D9BFE70A83438513EC161361F1A733A0E9DE81D -5844ABA32BD2CDE7AFABEEFF59854435B77DD8FBE4B65F0E7E12E8D7440EEA4F -F481BD6DDFBB4C4B9FA11ADF2CFDA38E354932EF42A47BD3196B7753B994B813 -81C25B9888EFC406487262DC9FEA5956B4A6E299A636F372E5326C6A2B4356ED -B55B347C70DD78D0469FFD9366EB0A0764CA29C1BC9BEFE650E1C27BA4F27FBD -AF1149F89CD1D71BCB415B9342497C954597159FDDA071AFBABC7BB9692513DC -58D8743A43D3EA4E4193DDF5742407CBE01EF199B3C387F6AFA12ED13C73316E -4B769C73A446C8BDC6D3747854717A746E3B178E3B2311F6D7389D1FF7D3D8A1 -E59BFDCEE769F125B325D4DDCD0C7E47D27D6F76CA46F321AA79B10B0C40FD8E -FC7B7CE4F54A4E7E6A3F99BC454E48BC0B2B9119D60E34C8F70CF7525D7D1355 -8F34BD1FBCE4E2760B6F05A28462DEE2207BB174577B5C7D3F483E77F2273182 -547AEF47CCE320318E22E1DFAE36D7B409B9802FA8D8FB6242ADE28E41A8D1F7 -6CE419F318EB0D0C5E895FFABE3CDCA6F929C7A75C1FFBD0C3929E55AF996DD4 -CBB45050FE0E1F2F7BC68DA95F9A747D42AE6A5B0B2D52A83377AF5250C1CA57 -76E5D68A46F47F270B20F6CE3C51C21FD591B122B4C9A58753B4 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -cleartomark -%%EndFont -%%BeginFont: CMBX12 -%!PS-AdobeFont-1.1: CMBX12 1.0 -%%CreationDate: 1991 Aug 20 16:34:54 -% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. -11 dict begin -/FontInfo 7 dict dup begin -/version (1.0) readonly def -/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def -/FullName (CMBX12) readonly def -/FamilyName (Computer Modern) readonly def -/Weight (Bold) readonly def -/ItalicAngle 0 def -/isFixedPitch false def -end readonly def -/FontName /CMBX12 def -/PaintType 0 def -/FontType 1 def -/FontMatrix [0.001 0 0 0.001 0 0] readonly def -/Encoding 256 array -0 1 255 {1 index exch /.notdef put} for -dup 0 /.notdef put -readonly def -/FontBBox{-53 -251 1139 750}readonly def -/UniqueID 5000769 def -currentdict end -currentfile eexec -D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891 -016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171 -9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F -D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758 -469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8 -2BDBF16FBC7512FAA308A093FE5F0364CD5660F74BEE96790DE35AFA90CCF712 -B1805DA88AE375A04D99598EADFC625BDC1F9C315B6CF28C9BD427F32C745C99 -AEBE70DAAED49EA45AF94F081934AA47894A370D698ABABDA4215500B190AF26 -7FCFB7DDA2BC68605A4EF61ECCA3D61C684B47FFB5887A3BEDE0B4D30E8EBABF -20980C23312618EB0EAF289B2924FF4A334B85D98FD68545FDADB47F991E7390 -B10EE86A46A5AF8866C010225024D5E5862D49DEB5D8ECCB95D94283C50A363D -68A49071445610F03CE3600945118A6BC0B3AA4593104E727261C68C4A47F809 -D77E4CF27B3681F6B6F3AC498E45361BF9E01FAF5527F5E3CC790D3084674B3E -26296F3E03321B5C555D2458578A89E72D3166A3C5D740B3ABB127CF420C316D -F957873DA04CF0DB25A73574A4DE2E4F2D5D4E8E0B430654CF7F341A1BDB3E26 -77C194764EAD58C585F49EF10843FE020F9FDFD9008D660DE50B9BD7A2A87299 -BC319E66D781101BB956E30643A19B93C8967E1AE4719F300BFE5866F0D6DA5E -C55E171A24D3B707EFA325D47F473764E99BC8B1108D815CF2ACADFA6C4663E8 -30855D673CE98AB78F5F829F7FA226AB57F07B3E7D4E7CE30ED3B7EB0D3035C5 -148DA8D9FA34483414FDA8E3DC9E6C479E3EEE9A11A0547FC9085FA4631AD19C -E936E0598E3197207FA7BB6E55CFD5EF72AEC12D9A9675241C7B00AD58FAF645 -1297991B5D01701E82228D0313FC7C66B263BC79ACDDF9AAC48A3CBF42B96E38 -583E1D059953076D68148DC8B6C9527B3A74CE7DEF788A11531F44120BDF0F61 -0B2F3ED94EEBCDE4ACD23834C242AA4314B9EF98E4BE72DB76EBDD0A028CEA9D -B4C38C1F2D24B8FDE686832FE96204552C820E45B6BAF0C3308742AE2E064C03 -13C2E5064E4FB036548B136509EAD0D8E8784CA8662F724CB426AEB9AD7A7E19 -FE0623981DB50A6B9DF294F148B518D3EA39BAB059337230E40ACBFDF31C5263 -32B29438AE11DF168AE0A5FFEF6177D0225D467A02005BB115B9621C9021C7C9 -5ABBA2BAA2480EB0D1740C250049F00139210EBA5A1DF3AD8BFFC9AF068C9F0C -1157BFDB415CC03A233ADC2BE11AC97838127E9809CB07047962C70951D4A546 -0938CACF9349024C442B046B478C039190D9B1C6B520F6E7CC4BF941D36A5605 -7E6FC5C2F56BD132D5ADCE76A33EFFB2C879EFB44EBFFF43ED1C044858F89629 -2630D15DF04527221E3C999FBF7D65321D4BB3A61C3679461AA0686A07EC85DD -B3534F9E4081CC49BA5EC12455835BB6D6453806ACB621D14D9B19B08C583769 -A0AE9DBD4ADC35C18973083CE9CC4BA64EC208F257C30B5314A5EA2F6A421141 -0C7ABDB2AA8D769479C472C5FF0EEDE180FBE349FF611A986421A0939E905066 -870CA920FC39093047F2CB1A4EABB202F13B77610D04497AFC46779ACC949475 -E9BCE2A593A10DB31E0C6C4F61214B84932C1DDD3AA986FBCB250FA33CED91E4 -D0E9570B968DE2BB1933F27DA3F265CD679EC17DFD23FFE684C8BFAF86596BDC -45359EF397B2572FBA17B2C2A3E60E7580C3D860BCB6C1B082EA5CA393F8EA0B -68813F9923FDC311CFB4D28C1F2A8AD2BE939EAED7FAADE64606B3A55C116112 -67E3DA9F810BFB517F6BC100146E0ACD7A95D03457A1D64AE4FBD3986FCEE18F -57CF5A40ED039E590C94C0D30CF4D21155885F9570E7DBE2F37655A7867F1EE5 -0245FEFE92517AA8FEC242BAB0035802BC2951C23AC48ACD6B953BC6D27D1017 -B4E858A0C67A6F367C2E29AC9B1E050988D5C4900DB7B5A3E9442A3A3CEFB1CE -6C7F53406325FB971F76DE818FE07C722F5689E6559D1D762BCE451DF3F6ADEA -5275855808523AA1910304031ABF65E6BF0922BC8FC9BF8E9F221BB22EFA5064 -721672FA21AF0485F2F04E70B35BC13ECEE498A76F0CE9CF6A7DA6225CF8E576 -EFA91DC028F40C3FC10314687DEC3AD307256F30A8F353828A77D5874A2106F5 -B05CC4487C275A1088C9C9507F46BCE83477E77294B1A900EC0E6F1335F1B3C6 -3E27092C8E1B01806EEF1A3C4C39D0505BEF5A03FAA3895A73823F483C8E3881 -37781EF7AA928A1EDA76A8F616A835A1F8256B50C3202FB48F20BADE811DFA95 -7BEC8E520BCC13490FF33AE9EDBB0FE24473161652B0D940860941D3516ABCC4 -6564D9AF3FD7930E9BAC706F16CCCAE1308F52A6B0A02D3D1CF1B8FBC7583322 -357E54F9505C745363396BF48F77248A250D324578BA46CE3AF5E0E3F3C21EF5 -848AFDEADB3CCF8A4CC2E2CEFBC2B8A2C84A693D3008C9A67531E16FAB50EE20 -F1F1EB05E91ADDA7473D9AD386C9FC8DDCD99C085593A5FD2572EEBA85C26153 -826B9E6620EB1EA5A055EEBBE5F47F49728A6CD9CD155753B13759545F78C21B -1920C35B5B62B945D2BEF313F7E88D2D5D338EB4FB5B34E0AAA22B6DF8985CF4 -41A3FB7E86295D77E5C45BC9AF70EEA9FE4BC9F1AB6F7C7302128D6401581EA5 -435506F1DAE1E4EEBC12239D8446240F17C525CBFF26C72406D69F00E2507410 -53D62850949C585A7BF9C2B859BBBC1FCB044D947AF45652DA6F3F0C56ADC2BC -6A1CB02D27761E72B91800922087974CBB6375F6AD09720F1B8DB959501F1A61 -003F71C70173A7755F6DBC168E3584AA12840E62A0620B3BB4BA14E781A501E0 -6AADE56EB2152CE56D1FF33785BF021B453B9D4EDB64A6AF2D0F90D58ECEF404 -387D60D65F89A7CD52086CC129AD3FA1B390B28E1BDB73F2B2B2225BCF265B59 -B8BF8E84541C5795B880CF8070016F486A075A62A8F15073DACF9DE0BBA3316B -740F8FCFF58B3EEA9305986D9BE072F7BB1F8F9C08C1891510B672D9B8C415A6 -82C1E4F0D05D1C372EA2E51C0DA18B5791A5473FCD8F25DB15256EBDBF4644C1 -9F2F3483A9AF629178A4A0DFC076778D67F74A4CAEFAB88490360FB31F6F7B04 -EA6156E7AB46F503C80A6E61E7B800C25ADEA9AB89131C4AD717FD65D322BC68 -2CD391932594C3E4D4F242DB0F96195B9146FFADB278718BDE76959EF24B9DAF -D8A6BACD83847AFFB616A316BEA3CCDFDF2594F31AE705480CA49BDAA135505E -307151FB81EB90893AB0EDF1E9C313A755AA38B8FA4A848DC29412B721AA4E93 -3D411921B7C4B779D407E7BEA0C22C916F37688ABE8C6EC9367C2CBC2E7DC373 -81400C3488BF4D287B29FE36C56BF6489FE7A64DF687474EE7F92B5565EF272A -0DE23798795F648D4A3E109C492BF3C03117FDB8F04C56E78DDAEDDC622FD4E7 -8981EADEC9403CAC078F0FA79686B85D3AF68F357226EB2FEFF2C5F504AF4AB5 -EA9745FB78BC25E62FF11ED25561CB995992A6B78218AB6E18FF9DA91E0F509C -53D2FE8187B8E9E085E786BB9C5340C7DBD420778E5C9C7D7A7789715EB0BBB3 -24B00A563A24B8D28463FF30B5BABAF20A053AD8332D5DCE81156915C4C7A934 -76A97AEE578590B7FD761DAFD64BDC43A512863F60E51AB926A4D9B178CBC641 -4BA8B9270DA75431B8E6F8BB55EAEC056E5447129A5FEB73C01B3B77E6096C0E -25C952E1091D528AF5000A366D5E1AEE9EF6197696CF01A5374E8871630A18D7 -9533C1C4A86F8CF732A29D634FE1E27A1650DBAD70C98583097FCA12E1249FA3 -A4F0F68082BFC8BA9A2E6EE45BD5FB711FAF13E88747C5B7B7C0D82D4E5C8A15 -2B508EEACAF83BCE50B198836528E4C5CB54CFF3C8904460A4624250D45745F5 -EB7718F741A968D495CB2E446C9A785D32878BEE9417F38CF9AE6206B6725003 -4223DD1DECA9862D0B8421B2D517CF0B69FE31F760B6CBED8832C6E5FEC2E452 -C517EAFE5B2DC40C2E466F216FA59BC65DBB8FF638F1AB9BD2D465D446250D62 -3E191592B841EBD1859B4B7D1A905011EF095EE5D50627339F44C28A97D086A8 -561FD2D136684B9B6F91422F241EB5B3EE7E33599762F79F961AEB0E4F33AD13 -49623AF1B6DA3732D3D1362C5C54BCAF5829365DBC44D93E71C9602342FB01B7 -3F90BD1613453C4BC86D6B07CFC68966BC4F75EA094FF666B13C4BB22BD0E92B -E7DBEE03A28164E83145AFBF570798EB052B966C54C88383D68177F3F8B9AD43 -800D2F350CD68980D994B7F17C7DFA61D37FDBE13390208005A4EE9BF8FA0C45 -BF35643C5FBDC07CB1DDA196CE4E05FDC107CB404E9C5F4F7D1EAAFAD3F9E869 -1EA89F5AF78454DCFA5760724C7B8FE7F5370370C56124C001B744214A8A18CD -AE4BCFEF9B4B9CC57A31C770B05C4D468258895DC9EB9A2B0D42E63F60D7EBA8 -7E4E14C1A73EB67641ABAC3ABD29CC712B8D61BFC9604BFCFCED2070A7368A18 -92BAD5C1B85881D9D2686156FE6895860B59D9A8FB8A0467BDE7602ADFE2694B -7E55500353A668C4D14B95EF1D69C67C237B8E711FE1C80F2EA79621B6E9B7DA -05B0A860DC46BF88EF9AC658C5A7892D2AFAE128F5BCBFF0D31ECFB8C157F202 -D683685033DA60A4EE1A479B299861AED342BE40E6B0DE6E7C189EB85EE3C430 -8BE797806C18A7ECDA699B18F4A7B61C4ACB0F025A29D94E7795AD1BC1BF7605 -82B51D8C3E6D9E4A083498A75E49687490C373B71479CBCC5FBE2C31ECE930A3 -AE808DA74C3EE3312F070BBD0FC913DD53AAEEBFE46106E1746BEC0AFD7BE95A -B8DD9A85F7C488DC86DCA9259C22010A8715DD36F2FCA8EC32830CED10B15A34 -21DA4386870D05988C0CA3C71F175A5F95E63671F63BC0094DCE4488FAC6DC89 -FB0C7375D6F2190A593E4D3E159193C8F14EBF7237B39D5B0486F0164E236D4A -1EFD7A6275843C1A54D929410462C1DD4E76AA218D6385F53DE18E246311FBCE -93C7D64F3339D0F9F3FA1D7E7F46BC667BCDCEBD1D95B2854D748150DEB209CD -EF2A511B9C7CF77EC07E6119E66F4D7DD2EE99433B6035B685ABFA2143941219 -2BA7CE692E40F8B0DD979188BD5BA9D85AD665AB9D9ED69947337E3956BC074B -01403C1B5453973EFFEB05A3E31F6A869FE9CB3E85DBA78B935F4A00D4419E0A -CCE2092054127DA4692F3A7F5EB7F326D71DF541E494265379A05B6B8DCB25C0 -29F4BFDDD938EA85A9AB14EB818BA03C9D86B6E38CB68815C68DBFBF4ED3D439 -FAABD372F327DA3304335BDD456834AB56AC97C3AA31AE6A7DA11B264848A563 -E4CBFB333DA6E66665EDE07B2511DE243062DAAA7F9279C265D5808EFA9675F5 -F0EAF56355A882B5B9A49AC0B5722A5F849F8DA62EC8514EB9BF40730589FEBB -7126D1D41D7FE559260A4DD7B53CA7580691BE322B704A264AB891CFB2AEFD3E -9A6132247AF70E8D0ECA780EA94E1FD235305213FAB3644ADA8A01D91FF7FE1E -931F67F99E73D0D0AD8BED47C1DADF338D40DA91B1E3852503FF424CAF847FEE -B2A63FB4F66F73511B4B5025E15E7681C3DD27D82E53D82CBDD00F83A2233E5B -D199DE4DD727DDE85AB78FFA5235689B446632E6287F4654F70FA05392E37694 -BDDA1F4FF5F1BAC8E3F886D76ABC396CFB4EF1977D1B87D2D4CF10750E2909BC -A457202ADC574EB863B1C0B637C086623879074D7AA9F7CB05DB654E102E7449 -BF984BF177B98E820001EA6054CF465FF74683278A98F0F50F7D37A3ADE32D7C -284E176C5A0EAA4C100812158F381C6EDB3889C1EE666B15E5BBA146B6F6BD16 -4B7F9DA1E1117A5C06A8AC873DD643CA1EDFA82B4A4221BE235EC3B76C9A017B -341E81FF1A3B745321AA1FA5BC1060DB568DFAC06E94D895921192F42C87A36A -4485C4B0CC1C25306E2ACA11F0A00F333288BF76A1E1CA971149FAA744A04E97 -359C5BCC3694912FB5BAD29619525DECDBF4F4442563FF2714849FEE6EA17F7C -8383E065819E3CCB5E9CC4B56CBDCE8BBE79DD0DE62B01E1F34CEE09FF518FA6 -8CCA9BD17C3F5C41566B61C19B8F2E90434E533B7E2E4B0CB5AF69A2F03091B8 -4530B08AA569EB9F68F843F87902AA9D5882E4006F7B1D26BD74BF945955DD88 -0056CAFC3379EC52169783B7DE22AAAC1C9224EE8715B79B70DAE1D3DEC08B49 -7D3D7773B533A715D03981FDB52AF534F81AA7C6E187C33F0032D6CF393F8C4C -F291781C7ECDA7BCB9E42667116D5A27475FE7A520357FF97905AD7DC7F8B803 -11ADD468C39F723F145CEAA4F40D96F4454C4D1DA677F0AC72795BAE62512FC6 -E6F16542D5B3D8D369C57B1796647EB68D8EA84E563019DA68C085A847CC8A07 -C179F1E394F5166F1D0371E315966D8F075D4A551AB30A637D6E9E49199A3BF2 -52C689568374C8B153D8A52FED61B98ABEFE92F819384786A0EF4B810FD1E79E -210CA33010573CC588CECE430064CEF2E045D817F4C414C57FDBE2DE921FA13D -EBDC018E7D2418E366DB84807DC581C98ADC0285F69DFB8B247F6404E68C0AEB -0531F98D11C53B9E2BC741658C64ED1674F4B115AFB95378680555ABD1289428 -8C0826C5A55B3079C652DDEBF20FD2CBED8C43FFB4B735E25BC43936290E50CD -7CCBA50D46A6BD0B2402B9EE4B4B8BAC53A9B1BC43D7F3D0D74A3DC25DD23EB9 -8A412F1EAE2610E0F6279DAD7ADD3180E4F70292B68FEA08A077D4923E781D7F -A19BB7A18C87CBA0863BE1DDB165CDAC28C7B4545BC7C5105C610947776CBFFB -1B82C2BE1F13F31335E4B3C7F5A6BE2166D57CD571950E8822616B576C02F42D -C2E7B19CC3F6A55AC27E1BA526C7B12DA75122ADB9FD72F34238491DEEE043AB -7108CFA80033B2E1BB9360B7C5F9200122C1E746FE4ABE7C2541BDB0CAB4C8D4 -6139599EBF3F78413A5A54D709CAA70D61B2D448670593457159555DA09FCB8E -FE89FC216DFAEC9A58856955DA52A6E0B998C7D22D923CBBE6CBD82259E4F11F -7A6DEA3A6844ECC0E6CF688AC8B2EF87FF4577CFDC06CA597DF1503BC41AC439 -880346D4496AEA82AAE262F7AF67D476EA816F60B156E89A64FBD30ED311C19A -8002A6DD61E51A1B57378173F7DFE15D371AF99A89CCA693097FCA9E11894DFC -ED039AFE8D7C3A4C148B4EC7209EEBB4A94B9923965B6CEE1F60930A5815DC07 -3EF6AF1FCD4C2E22E0B4BC94D1030BF915E3D1B13EA7412E89B76AC0D174821A -E383830311CB42FC84C4E475E6F58205F46944284213494FCE82F981BFECB790 -9045E28B117B39DE74AEA7854912062BDF89C0BB3F8CA708E8B962087957CE6C -1E591336BD3016370353A7E157E42756A5F3E8B31169F940BE3A80A68DAEA8A3 -96AF84487DEB6A10D00455FDC00D964C88C914379B3C329FC892CB4B545BA3A9 -6D6DDFBF2300968615E630B5C6F3B267A193366805AED2537582301E7C2E8701 -C686824B0B9910FEE97C95574B28648A0306FE926FA4F05192E4813AD2F5449B -2D67510DE71D0B85E303864E94DFBEADACEAB3521D8C43D2DA90F9934401C1A9 -B50400C06165DD812038DB92AAF96714085F054C9900DE6355D9D8A5AC3EF3AF -2589824D6385F18CAEBC28D7BBBA516F705A5C819B4F12FAD1FA1BD065012AB3 -7192FB3B890481B221FCA358C2E5C27CA86AF84F2282B5A9A08678C00880D195 -96AB2E015BD71FBCD3F413A416323398D5A6A55657BD4B90B0CA25139F68A9EA -CEC37932FC49BBB708E20E4DE7E0BA76B5AAAA5CE7A1B4C1BC754DB8803DD419 -541F757E93BC93C926DF10B535293FF940A4D445290215BB4208DA4B1298985B -9D57001806EFEF1C8BD412274198C6C477DFF6BE483BA448D6765A9B3184E39F -0D71CBF161082AC75E96274B2896E347457B77211AC9A9C6DC187FD02DC13CE7 -AA1D7487597BC26C9391354AA0BFE3E6258440451F5571A0D3A909972C45B2F3 -509653391F527333774DE2574B9154F40F6ED01D61334687D4E214AF7E638D10 -D9D6715383B3617F05C4A4549233F479FC428A419ACB9AA079F01CB4422E8ECD -73B34DEA38DF116AA20F0CD21EF2613FBAF73BA1E9871EEE6D936839FAF11573 -4FC15B163C5941644D161C9333CE95C3AFD911590A617988053156C15959A69B -26DB1BAE1D6A028363F8631E3484C51D820C4EAC8A70E67AC9FC172CF6AA954D -BD108721EE0D1A7636234276084039B8AFD317817181F6EA23A974B3F4406B4B -444D6C3E9B09651D375E335EB4AC7EE927D0528EADA6D608A5F9D1CCC9A179ED -FD1172B7CD19515D1B99C4968099DE020C6217344FF19C9F6F90C0ADC2378DD9 -25269EE1FFB6A7E69C74DF19C47503AE5DFD1B808FC5D9190C1ECE157CF666A9 -BAFC10B04350C09E8EE0607035988ACD922CF0E226108ED464D8DC37C14DF5BE -532ADD1C5CDAB15215EBAE718BB66F59A27048E4BC630028EE5B48D67D072DE2 -D9F47491D80985539814C9AE6702351DEB7A7FEA6D566AEDA13B401A52188283 -14F91B1C6A3FBA481394CC6B5DFFA25DE91DC7666C234D7BFC84750298A4BF99 -D5638F5C0E7F7713769EF205459EC3498B9426B5578053A5CC34CD2B454973D2 -263CD7A7FFA8C7DEDFE2070D67F4B071142795707FB70528AEAF707E5E000E4A -E01CEF048CC06863A543A94D43CEBC2ED64EA7CC574ACC5794B8EB2FF0159E64 -7746CABCB89C81DBD18349154683773F3928B62B6533F713568044CD63F86478 -1D30DCD493A6164EF4C9A3128B70BF15A5C3AC1C1215D2C824E9AC4B1196FD03 -AD7323A9F70CEE10E42359D4A5EDB007306B9173C93630BCEDFF941A008DA68A -B6FC8885684CBB1ACEDBD4E6C1A6556C665C3D1A2E6CCD312C274A376FE724B7 -C2B347B0F22372687CCB734475E65ABB6665376F1900ECF282ECA002028B308C -898DD281A8D664E8175A8B9CC7CF3AF4CEEE74348812CCCDDB4A3AE5CAF2EC46 -30467942D154073EF9CD9C185F010A74A4717CE7E166AD1CAF20A75AD3AE072D -2BDDBC9E30CC89C852EE479BB3501F5439B3259A25484287DCBCFB3B7D815B90 -7154F41F41F2B4CCAFBFAB5117AB9FF8060D693309E7588BC4D35A787B70E3A5 -74E155E95945B995ABFF26DBBAE18F62746013021A288DF54FC35F84FF3734C0 -1942DD56CB2A697281CF240E97055C4CAC8751EC88D41B4CCEA4CB18F2A85A7B -AAE67CBFB87E9F6283049F98D7E8EC70C7CA02F416B9FC7221F3E6ED6E94185F -00A67CD9B03DD405307E834B1847A6B97D6D7417D8A173E2E0BBEF4660182658 -C767114D0407924B47CF7208107D0B5BE19E0A5A69EBCEE2F7487A3CE0786C49 -4766966715BAABECCCCFBE026AB4AE65C5AB9A19602B877F78CEEA7FA35DCFB9 -A2C754F4262B3864682BAC8811F8DEAD0C3D64BBDECE1442F8752B574789989A -2F8717128012593C63EE329C6297E6F5E12D6210C4087953C968B78A78BE6C74 -516CA89E8E8F52956478A44B2419EB9E682CE31330B8DEF82F17C9793FD7ECAC -58A7F312B60B1DA3DF4F435CAACF6E0F84B883E47B09972D7490B1B33BD31142 -20D84A32D51897F0EDDD9573D2B3ACCE9EA9A27EC3EF3D518A137EBC7F0D7333 -EF9FF8DA67D04FBEA0139F9A58940314B08CC8075E10C83D4D36761C5222CC7D -2623E3C61000104FB8261DB7A62E42CBE0B75519B0E3CC2F97ABB932C22E8352 -400E636748786E4E072B6E214E69198C834A76945185D04E124A609021C42C72 -7EA331119E628FA91154C33729BC2E288DBFE21205AE96DB42E4C85887A8CEDF -3F4DF4D3FFA10F541C479656930337218968A0B9223358320436E3BBE675E193 -52DAD47C305103803364608FE4D61AA076AA5A223742E1AAF1F72FCCB55A76C1 -FA937F653E15AA453461022E0AD043A0110329F77D5DFD9AEF9A812EE63200C7 -BA5F5CF8101BDCBCFA3C407B04AD39EBE892E22A6E389D22194D188E9EA6BF09 -DCFA4A7EF00E09E1BE9270E7010FEB64C5D25BFE390E0941A9AB83F8F1864E1A -561B4CAE641FFC65ED3BA2340FDF940662B82DBBF2A618548918C2E46BD5BE27 -B5BE85DDFEAB8830AC2A7B2D399517EE2DA5890F525C6FB6A59B120B2DA09426 -9FDD2871003AD4C98FC10512C3634209BD25EA8BEAD078AC21B8F7D54906A09C -A67A956A1805DA0D3900CDDD6F5AEDB0640BC5E62115B9F88E0E505AF2752AB6 -8821EA53752F341EB9FE854E3EF971026A00B3203ED47D7BAAF37D89ADAB2E2B -92802BEE19791851C83B -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -cleartomark -%%EndFont -%%BeginFont: CMR7 -%!PS-AdobeFont-1.1: CMR7 1.0 -%%CreationDate: 1991 Aug 20 16:39:21 -% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. -11 dict begin -/FontInfo 7 dict dup begin -/version (1.0) readonly def -/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def -/FullName (CMR7) readonly def -/FamilyName (Computer Modern) readonly def -/Weight (Medium) readonly def -/ItalicAngle 0 def -/isFixedPitch false def -end readonly def -/FontName /CMR7 def -/PaintType 0 def -/FontType 1 def -/FontMatrix [0.001 0 0 0.001 0 0] readonly def -/Encoding 256 array -0 1 255 {1 index exch /.notdef put} for -dup 0 /.notdef put -readonly def -/FontBBox{-27 -250 1122 750}readonly def -/UniqueID 5000790 def -currentdict end -currentfile eexec -D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891 -016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171 -9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F -D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758 -469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8 -2BDBF16FBC7512FAA308A093FE5CF5B8CABB9FFC6CC3F1E9AE32F234EB60FE7D -E34995B1ACFF52428EA20C8ED4FD73E3935CEBD40E0EAD70C0887A451E1B1AC8 -47AEDE4191CCDB8B61345FD070FD30C4F375D8418DDD454729A251B3F61DAE7C -8882384282FDD6102AE8EEFEDE6447576AFA181F27A48216A9CAD730561469E4 -78B286F22328F2AE84EF183DE4119C402771A249AAC1FA5435690A28D1B47486 -1060C8000D3FE1BF45133CF847A24B4F8464A63CEA01EC84AA22FD005E74847E -01426B6890951A7DD1F50A5F3285E1F958F11FC7F00EE26FEE7C63998EA1328B -C9841C57C80946D2C2FC81346249A664ECFB08A2CE075036CEA7359FCA1E90C0 -F686C3BB27EEFA45D548F7BD074CE60E626A4F83C69FE93A5324133A78362F30 -8E8DCC80DD0C49E137CDC9AC08BAE39282E26A7A4D8C159B95F227BDA2A281AF -A9DAEBF31F504380B20812A211CF9FEB112EC29A3FB3BD3E81809FC6293487A7 -455EB3B879D2B4BD46942BB1243896264722CB59146C3F65BD59B96A74B12BB2 -9A1354AF174932210C6E19FE584B1B14C00E746089CBB17E68845D7B3EA05105 -EEE461E3697FCF835CBE6D46C75523478E766832751CF6D96EC338BDAD57D53B -52F5340FAC9FE0456AD13101824234B262AC0CABA43B62EBDA39795BAE6CFE97 -563A50AAE1F195888739F2676086A9811E5C9A4A7E0BF34F3E25568930ADF80F -0BDDAC3B634AD4BA6A59720EA4749236CF0F79ABA4716C340F98517F6F06D9AB -7ED8F46FC1868B5F3D3678DF71AA772CF1F7DD222C6BF19D8EF0CFB7A76FC6D1 -0AD323C176134907AB375F20CFCD667AB094E2C7CB2179C4283329C9E435E7A4 -1E042AD0BAA059B3F862236180B34D3FCED833472577BACD472A4DE3E3F6222F -7A252B780C86447859579C68CB718E5D2DF0E1ED92376BC59DF277D9AB60B5A8 -3AB2E7A835A8B2EC558D2D96D8E35692C26F860B13161906754C83AD44C7EA0A -22CF295CAEE46A0374E9F38E0D22A48802ED75DFD7CD2D8A4F7956076057CDF9 -0CB90724944BF28D977211693BC13BB8DA7639A7D6CB1E56A91677FBB27876EE -9177D5F9BE6EB44CAA6584686306B4FF4E3C5273F2E6E83A354A8982FBC485B2 -1EBA602DCCAB73D83141CB78E89FFD743ACD5969A0F940C1552AFCE6E31E8531 -21C849D9D666C3CD407895B24ADAFD6746C096C0457BF07183D510CA3646C110 -1D68B66D1E8708E869F226D00D39B858F6212047F35AB6A2DA36D1B6F663E272 -48BD97E9D2807ADEE358FAD801DB994350171602AC8C1324581C7DB07B0AB40F -2F50E77B1227C6A2BBFF5C4B32CAF37DC23EA8B8E1 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -cleartomark -%%EndFont -%%BeginFont: CMTT10 -%!PS-AdobeFont-1.1: CMTT10 1.00B -%%CreationDate: 1992 Apr 26 10:42:42 -% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. -11 dict begin -/FontInfo 7 dict dup begin -/version (1.00B) readonly def -/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def -/FullName (CMTT10) readonly def -/FamilyName (Computer Modern) readonly def -/Weight (Medium) readonly def -/ItalicAngle 0 def -/isFixedPitch true def -end readonly def -/FontName /CMTT10 def -/PaintType 0 def -/FontType 1 def -/FontMatrix [0.001 0 0 0.001 0 0] readonly def -/Encoding 256 array -0 1 255 {1 index exch /.notdef put} for -dup 0 /.notdef put -readonly def -/FontBBox{-4 -235 731 800}readonly def -/UniqueID 5000832 def -currentdict end -currentfile eexec -D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891 -016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171 -9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F -D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758 -469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8 -2BDBF16FBC7512FAA308A093FE5F00F963068B8232429ED8B7CF6A3D879A2D19 -38DD5C4467F9DD8C5D1A2000B3A6BF2F25629BAEC199AE8BD4BA6ED9BBF7DABF -D0E153BAB1C17900D4FCE209622ACD19E7C74C2807D0397357ED07AB460D5204 -EB3A45B7AC4D106B7303AD8348853032A745F417943F9B4FED652B835AA49727 -A8B4117AFF1D4BCE831EB510B6851796D0BE6982B76620CB3CE0C22CACDD4593 -F244C14EEC0E5A7C4AC42392F81C01BC4257FE12AF33F4BFEA9108FF11CF9714 -4DD6EC70A2C4C1E4F328A1EB25E43525FB1E16C07E28CC359DF61F426B7D41EA -6A0C84DD63275395A503AAE908E1C82D389FD12A21E86999799E7F24A994472E -A10EAE77096709BE0D11AAD24A30D96E15A51D720AFB3B10D2E0AC8DC1A1204B -E8725E00D7E3A96F9978BC19377034D93D080C4391E579C34FF9FC2379CB119F -1E5BBEA91AE20F343C6420BE1E2BD0636B04FCCC0BEE0DC2D56D66F06DB22438 -452822CBEAF03EE9EAA8398F276EC0D92A7FB978C17805DB2F4A7DFBA56FD6AF -8670EB364F01DE8FCAFBAF657D68C3A03112915736CEABAA8BA5C0AC25288369 -5D49BD891FABEFE8699A0AE3ED85B48ACB22229E15623399C93DE7D935734ADA -DA7A1462C111D44AD53EA35B57E5D0B5FC0B481820E43222DB8EFCD5D30E15F9 -BA304FA879392EE0BCC0E1A61E74B3A1FC3A3D170218D7244580C7AA0DC65D19 -741FA5FE6F8CBF60250ACC27454BBF0897CA4B909C83A56672958752ED4B5E79 -E18660764F155E86F09EFA9F7685F2F5027EC85A775287B30E2069DE4E4D5712 -E7D033481A53A2702BA7542C71062173039030CF28D8B9C63B5596A9B42B33E7 -D922944A38713383D3648A4AF160A3B0C8F3379BA4372BE2E7EA49AABA75AEEE -C5DDE1D8BF68483C3D21271280ABB91D54CC819680322EAB72E1250A760BC8DC -FF798F2ABFC4F3539392985C4CB324B0007229586D1E0321559F67C057FD7902 -194490A4C133DA790FF3BF23A13C2B1B69EEB75950F9106F2BA1E3CA65C90FF5 -931DADF03DA48AFB8561FC2E710087251BFC42B80B297A3DB0DA138A7622A931 -DA293B0C740987ACE9F2A8EC2DB98F85783C01623FD3612C7E4A84FD93446770 -C3DD7431F955A5F3734F6931BD790F0A421EA6A0E8B93E9307C4C7A32D695BB6 -998BD57594BF56A63F90872DBD3A4385EBFE7949B8472B63BD025D257624B3EE -5A864F6E65094FD7C70134824A3CE35E93E591AA34784E8F4E42C4900F9BB004 -7EE01325199C2F208A02EE453F545DC69D66B1ED90800F42EF122482F858F1C0 -66D485B31F35DF08131B99866DFB8FB772FF58B0962FA171248D2CF5C8544ADD -92775B2DF1BC96B1358B2CEECCA93338FDBE0B47A1E48DB711064DECACC7B6E8 -B260A180B32ABE802679EF21F756263F3723C86BB8FAF18B8518AE3ACCD6CB61 -069CFCD7095821D9B1E85677D2CD28BB24868D9032ED24B74041DE0E2A008AB0 -C94A2939028BD25434BFBC86F3E9A97EFF6DE9D676D8FF902DFA75BC429B56A3 -BCCCE8FA93D267AAD18E5B4BC0AAF8D486BB4451FB1F8AFD22E62C7EEA9759D3 -37ABD316D717AE899B9AF5487B7FEADFE2B7D651B09FAE89B0103420EFB4D2A9 -C66407A5F185554815DB850335C23371C57DAFEF88E5A1E3405215F6A4D06F17 -447AF60BD85C58BEAD9B2574C5F8D10007A4FC5BD0964D5BB7E5F13AC40D3351 -9DB5EF267DCF512D50FAAC60476E64B4BF14BFE5E58FACA9B49DBA8B53439C12 -2600ACD04765BC79375ED1822093306F2B408786864D4754642961C3DF678FF0 -72E7F8F63251495D697C3F3FF5050DEBB4F43D495966E2B64073B50449A1EC0A -66709FD56578D30F9F772DFF813066D5CF4C6A780E5053DD7BAFAAB27EEAA366 -F144654682A594813DD8C6A2007C8F72A2F039EE2DA8EC510C6241670F1E5D94 -9699FF5490657CAA4B79468AAF07C9DC3E4F6D741CD0F7BC67CF40C620D47E0B -A7E51F3CD3A26B7EE4EBD6615466193BEE9E804F58E2CB5A24FEF7B0C99E33B2 -327167CC8CABF9F31B58470ECA9FDB4038ACB47159DAAACAFF96F0CD6547D0BA -76F74241C90859C9F0F0B6AF062C30A6BC9B8806FCF641ACC3BC8255A77FD09F -EB0499DFA6D4FAB82CB14577222ACE408C2A1512998DE083BC7BB70FB15DD284 -9265B06E6593D894EB40FBD12144A935B1C05AED9C94F5F38B08F1050A90847E -5383CFA27281E2E6F3C97885C3F271C83CFCC3478DACFEC30BA428BE2E190928 -DCA10AA93754E8A90506503F5A3941E7C27D3242B21ED54602C69887CFE374F7 -2DFE4E5886D0C74F5E618FF99F92EBD63FCAD631B67F51A4597A94E27D0B1CAC -C8226FDEFCAC20BD12D6AC0504F66AAFB9BECF94869E4BFD5DA587ABF66CE614 -5A0FA8C1849C2E16BA45666DAE4E260F5487E6D44AC417A66AB8E38A68C0A4B6 -C58502B7AD9C626BD3FEF88B1CC253BF771AA02A1FB23A4EA464CBA036DA0F6B -4DDAA3FE73E5E78005F238AD40AC222EC15596BF110A5C0A104BD8D126AFDFA7 -E9034A3702D896271B26672360B2AE476A0908B9D1B3BA1DD5C63F7035E3BCDE -51DABE04968CCCA0F13B46742157B86E920254C5D4E666B12BB333CE00EA3FBB -A3F0D2E75BC5FD3478BE70C078523C1838AAA50EAE2BE57A4CAA4DE524DEB638 -F84B4E0D39E47D8B7F9FC174C799AF4D1E898BC2083A46F0319FE54E8B76F06A -CCE30122E7CFEF5FD30202254CA663AD214FAAD5D4422AB07E22763CDA9D5ED3 -F2D28A4C40E59239444CE7125ECC2B26C3BDAD6F23567BB0114C5299F16D1FE4 -96333A5346EBDF86689712490B2C1573ABBEF788CCE0CB4E07A4D80C5CC709B6 -45DD23D7B66AF0C179CB99E4E44FC4DFB40B81DE372E09438751A87291BF5BFA -EC9CE9FE8CA4D74E36D56F83E4475BBDAF4392FDAA773638277291C4E180543A -714E19F8A6145C8DDE45D2723EEC1B4653F8A7FC2BA501DBABA64F51E6EFF418 -17BEB5A40B593C6F576D8F0CC40E9EE158CE0B27F6A2059E6698A90B932F0955 -18EE7F6ADE4FECCC420DA390A216B9D081A9F871AD9FD4A7D990DAB3F72099A8 -591CD2E4BF00741D3EB6854D21810D40A27C62F8A629EC35AE8414AFEBB92329 -327EACF128D3CB8E5E99BF71FF1D42231E537D85D416F28DE7A2FBE89C8C6D87 -936E8F2FA30E61E199254CA3767C1807FCC98F69B7EE40A41C76445A319479EE -CD7090589CDFC4E605EF759F54533D40F88E0CA3DD91712EB112C85BE6C21F91 -67ED26FDC1A849E3192534B62C589DF251D85795B7394DE4E0379188EEFC675E -DC80C74860FB6C4E2C16313D59241A303BB200CF57579D085477F3ED555F31B0 -2F1BFAB7CF49B995E1C242783568AE45A2AC08B2ABEFA3EC6849A26ED04F0237 -96CCE566D9C8E050B422FBFCE77EFCB3224AF62B86D91EBEAAEAC60D0FC02BF9 -ADBC6C161F818B711257AC29EF82664BE19D1E0E98F9E272737ED849A75501C6 -B1E6D372AC1B5A672901E429BFE927C412A787D66810531BECE03CCB2AB5639A -A668DC7C39664B3574D720ED488DD540A7FA57E46745AB821C9F61C59F2A0756 -1A61C6B768DA652C6F43D3A453BB01EA588B8F68C7C585AE8AE0F1A39CE480C2 -BBAD02E17F92FF92DDA24972FE81E991A5A3F9B12311B3D229641C0F53ED16BB -CCA4711FB226220BAB3F1E271F6AF7B13A6110E8F78BC245F8BE9E4774B13595 -50EF4A09407C5D67B7B0A7727EC2CDBD7858C89EC933A4F14F027F230DAA7B65 -DACF465BDB301DB119C0155E957A5E0661EAA2C6579DC053A1AC00B8A67946E6 -045E546A6A4467B0FB6C32799D4D09D96F6E4D33D0634776125A5BA8A5668D01 -486E30230B17B58D57B406E306FE4EC11BD1E22B30DA86485071AD2147606CED -162576FA1B95E6D11DF210017F6CDA25CE1ECBDAB432098D90F4ED35614AE15C -B08D62B7199DF8792E0C99B93FDC0233354032EC157529988608EB5DFBDDB2D0 -3E25C996B6BE6771224C731FF74A173E3379465437806A23C62B7FDABF8EC097 -65699DCCA24EF23087D623A478D89F171453F839225A58A9CE2ED37C9B8D488C -E481818F88DF75144870579B88E35ECB093D03184D02B03278516B2E8CFD781A -E41C1E0C641A5F022126A7C6DF87C4284F014606BA67D6AA1E3898CBB05A114A -0712269A7E079331316F034DCC5FA5C61C295C5A9C2C301615CFA44DBE274D1C -B0840D69F242EEFF905F1F60B49953CA93E148615ED81C3ECB85FFCE142F093F -93279E488A042C3C1EA089281271BDD6A8609D4ACD584EF1A2EEBDCA6AE19D98 -9CC19F2E863CD3F0CC2E82DCE4350CDB339224D47D8262DA588F686DE889857E -703A43826BED78E7DA97D40CBBD11CBCDEF34DE1C31F206D1C769FA039E388BF -B97DED96AE2D75023AF9D6DCE58E9C6AA4B6E319E1BCEC0034B2CC74A613EB4E -1831348DC6353BFFA309EF7E834C4543A48057E942C43E7039EC491023C81CD5 -A2A6DD62B7DDDC4B8B9533E1DB42270D3779BA0B2A5BE7545409807424C701D6 -11F68E412AA38E7D44EF17949518DC685A96D318744AC41FF3E2FE80C0DA3BAC -8DE33114978C0FB51602D82BA522F039DFC8A82EF3CEE59B8E4DDB95FC376252 -74A671F48C063BABC0DFC8A9194B5E28D1734AD32A69D47C6907A2ECFC8B33FE -3EB9DDF4E8D964D4A601FE37C0BCB60AD1EEB17137683C9BDB86ADBB3FF6DCB9 -1425B07222B2C862F800C30ADBBEC1FDC6B54969278ACD1A404BE6113FFE0667 -A467B7DE7E463F4F201186B2220E9AE51092466E72270DE99A50B05A00A8F6DB -12229BD2DA1A8258A983BD331CE17C25A85626DB81E7D0AF62928D424DE3F1A8 -61C0E41EFF5BCEC7DF729D2869F6DFDF9610C87DC4C0433AD80C7007EB4953F5 -BD5422E885C2F7CF07E477C921EA9169BB2E85679A8A506D098DF73B897973B9 -40C6754BEC722D85C287D448CE11F7EDC5B6D1309E70FC0C6BA907AA2AADD316 -7D0E2EEB19AD0F03C2B65C841AA18DF2496F99F117BCBCC0A5D1231991245C99 -C6E6024B445EF6084B5C1FFC6B5B61E06E2737A10869DCD01EC2055938E8ABEE -DDF8F375EDC77F2F1D68C6AF1965FC56C27AA7D27160D3D40F88A8C598928750 -6E1557CFCE8A73F174FBB4EFC71BDB8AF85B6EF624A321F9E199C0DD113D999A -7A9133CB915333D986D01ECDDE8E20CC1E8673E43FBC66A31BA2634BA86CCCD8 -ED7C1D67754DDEE77B024D8001528134AAB658B63FBEAE366936AEBF4248E238 -73AB32DE7D2164AAF833A2E119264CBA41C029F30EF5B2BD08F5274BA0137BAC -A368A6317FD14F4D2CFCDE1B21CEA4C48324AE519BF52C77843119AF94EFA2CA -E63A9E1B363ED5B0D50A2744CDC92F8082EB6412851EF798627603D9EB50F4AC -248CA56E51F801E4E20DBEAC4D532168020B75F8863E4092F3F945B9EE4A3FDE -EAF1D2519430028CA2E0D60A9677B1B9D1238EF06449DCCE36C9B7A6B3852142 -6C88429A4088CFC122857FD3D522653321AA5C8C3363F4AAE3FE42AF6C255664 -D8322F566BE187ECDDD7C4448DF88A19A277E3632CEA7666D574583ED61C43E8 -12B2578455598C63232E640C38E22E6FDAC75CDA0E29C0B894DB4DFC5CF03267 -1783E443D22F1BF709B1E8D3343F97190A7A197BE2DC179D0817DB50F125494F -87B3BEB16B5FB9CE06D2464EED700E069640A0C0426D1BE31E295646DA2D58EC -AD617931601EEFC429C8B7EF1F85B6B5ED6A990EAA3E5999858D735A004013CE -BC77523C0EB30266B72AAA8A8BE1FC1B7001A89E1136E3B9097E2184188FFA47 -36AC10E70997A0E6ADDF476294EFA84943C89580E9E42347C6AC301BA5CFEDD3 -4E1FF3126BEB50AD3D72D47897F1D19B2802EF3F1BB6171AE5408AB350E4CE35 -D2DD294329454F5B4E7C1CBA4C56D17BCBEF451AB10DFEF506875DC04AC7B27F -B0AC3A18808D1CD6B5037802D71D7608E7D471EADED411DC7CBDBE6B9265F113 -ED2F5ED5A9F1C0423A35E9756758AAA9F70924AC1FE0FAE5717A80B0AC08E7DA -9DB934C4D17BB7E1B5B91605A3CAC537FB965E765E14F94616747E2AE5C73744 -44A81D4C336015841222363D8DD1A4766F77BF4195810BB1455CED2C38291183 -9C138777299FDF566B2EBFBE77D1A46CED5134C1041EA57CE509BAB189E04EF8 -8271477DCB9A04C74FE3A67C788C45DFD763CEC5D1C202D036C9BDF043420905 -7A4F605996F1971A73FC5A46BA576DBD8F91492B47693784722FD9012FBC058B -72AF6B7E334D9818F93A15BA7D240B33D2947F1C32A2A10CD7B417C8D53D507F -353E6C4F018043B97269C47257D7EC063092174E28B323BA59CCD3559E51FC53 -F34AABEC46D2FD2FFAE05495E4D3969CC750D2C650B3BE0FE15E415F95658357 -D7609E4F83DA60C21A39970F9AD598666C3BAAA1E357213F70FA5A76942FA194 -4E7634B89CEE0AFCCBB533876055F0A43CBE4120E0366B285258250B7E9C3EBF -DF433A4ECDCCF94D2A37AF72D82344A5D6D6A7B0F9E6B18CF3BC824CC31B59D4 -43DD4D667D79D60C462E61F72B420B9206163A17F10A4D1399E1EF7C468AD337 -DD9081DCD1E0B5E5C7EF3409B2B99836E9C2172DE96BCE4FDFAF7F38323C0797 -A120A59C88D00400D2AA2E8DAA27DF0CBC47F8F05D06C37AC3BD5C9B1613C201 -F75D7C25ABBE77D0800C6BACD4D59296CCDF702E6C714B1C58BA70F217C3684D -81A43D182C67C05F17D0EA539DDE6251A650E32AEAF68773402CB07017C86704 -FABE186BE0C1BB08371E3941D225BE31A4562CF8628836D198B5AC479F14F216 -CC694DB09D36B0148718A80038F4B31BC7DA11F0F94A55FE2E6FCA417992A0B4 -08B5512A3A8E6E8213CED470EF820E4926A7093E284B7844F62476330DF5F9D0 -F4924D15788E47AEAA5A9D5E9EA9F99B537C4BE8267F3B27EC12C3C416643816 -D6082A719EDBE21B6A7F112A182423EEC6982626DC9DE2CFE3FDC0A4721558E9 -2084348A13BD55800007A2BCD12003012A63F709795FDE0F255661FD21EAD740 -F9E87FAE0149C88339185073F030E03680BE82603513C102C9CBEA392A7D1BE2 -AB267324073CDE88125ED0D6A4E8FECEDBE58D629C4B806990BAE0CA436BFB5E -438665817EC70FA5BC2F27310CB9CFB6E9AFBEFBFED4B3B34CD668F14716E456 -ECB84D6BC3A852BAA5F34316731A84A94452E1BF676FF320A29883DE47D7F455 -44C35C6E99307F7072203D7E8624A653B66BD4441AEF66955AA5CD6B41CC6696 -185F5D1B7052D1477E26219295A145B12F54CD69748C25671C66A43A7165FF3A -D8E5BC1345BC012B191DA4C8170C2281BB892DA49F6B4D099413B5FB4668968C -8857089A174D8C3FC0FC56B4174E4E47AF1432CB6E83C24E1998F77757D8EAAC -FE9BBC2F83D11F190FE8DB6DFA2A669C3AF3E377F476E6A49CCA7B0125BFF4A9 -2E9022701AB5913EF256E8A61214F6F7B012003E3B572C4C5F367091F5B2ADB8 -11BC31BD74294E2188852C3551F6CED434737490CBEDCF650B462374B70E8E4F -79E8C551102F5C2B0D3BA4711D57FAE36FECB302B8F3C22EDC5CA07FB76D57DB -E6E70D7FE171BB40BAB91E006B05B05DC928BDC2C09CBCF0F3FC3C6CB2F32563 -FACA369911DC81A81E81273C700048E0262E55929A223F7369B77DB4105F642D -3D784D30B039E6155383D1F4E0A4E2B21D475CF384722DA289F5FBE165034B41 -28FED7DC3AEE210294C29801B4293654B4750D06AE75D2B836D7C34344ED5D3A -983EEF857CAE40C87DEE655A06C2BC66B68BA00327D19F10F95078CF93AEC3FE -0BDBEB96852612C2C168554DF91C22F70EA8E93B289D599C3DFF04456DA7DA75 -C65CC95D855A5B666FB3C5CF7D1FC11ACE5002991B0280E5CBEFC4B537040958 -62DCE1723C374D2B02400EAEC7AACCF2A123BB07BB81E52D2386071804EF6D4F -3E051650954C94F5C8436A604E07D88DD61DD5F3E4E4E64CF8D8D57EC66D478B -1C792FE4A1DE1050833897FBC07856F865FB1E3A18A82365214E1036D53282FE -026B6615F88945F9CBC45DC6748E2AFB57CCAEC002167EDE913DE6C5B38322E1 -5794DC4AA6B0BBFB4ED4C709724387BC035B306E50715562C90A2CBFDDB4448B -A2993349093F38E36DC9E3AC340A4F9EDC45495CA54B4AB04A67CC971D4CCF89 -4291A42EFFEC6FA3C27340DBFDF53C84781D5740FC9C969145FCB45787E3E9D3 -602126B4E801C7AF1ACA82711215E22F087CF7A0AE207E9101428B43928ACD2D -81744F7EA69708C0C41743DCCE46B67619C2A7EC3AE3662D6C134A92F8319A34 -EAF45EC6383820736AE11994E57A2371127CCDDB72CD16272FB0BA089E974BAC -6A8B5CEE63677439676F054C2521B6848DDF0BFAFD830AA4834506F2E09E518B -E11755C2BC2439118CC31BCBEDAFE2650F0D2BF88E7AE6A109DC2DC9EBDD7EBF -D3570024A5C5EB6A15A285398B380CA450F734D0C31548F31F51E605C6B6490F -2AC933C1B2700DC2BA794D9CD70A08667B3450F62658301B1DD5E63E314919A3 -35453E0C6EDF6639AE45A5DCECDDAD25BB5B3D92458D5CA5B2C281FCF392D356 -A367AF5EDE3AAF2D4381C5D90C9DC297ADAB31453D5A5607 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -cleartomark -%%EndFont -%%BeginFont: CMSY10 -%!PS-AdobeFont-1.1: CMSY10 1.0 -%%CreationDate: 1991 Aug 15 07:20:57 -% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. -11 dict begin -/FontInfo 7 dict dup begin -/version (1.0) readonly def -/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def -/FullName (CMSY10) readonly def -/FamilyName (Computer Modern) readonly def -/Weight (Medium) readonly def -/ItalicAngle -14.035 def -/isFixedPitch false def -end readonly def -/FontName /CMSY10 def -/PaintType 0 def -/FontType 1 def -/FontMatrix [0.001 0 0 0.001 0 0] readonly def -/Encoding 256 array -0 1 255 {1 index exch /.notdef put} for -dup 0 /.notdef put -readonly def -/FontBBox{-29 -960 1116 775}readonly def -/UniqueID 5000820 def -currentdict end -currentfile eexec -D9D66F633B846A97B686A97E45A3D0AA052F09F9C8ADE9D907C058B87E9B6964 -7D53359E51216774A4EAA1E2B58EC3176BD1184A633B951372B4198D4E8C5EF4 -A213ACB58AA0A658908035BF2ED8531779838A960DFE2B27EA49C37156989C85 -E21B3ABF72E39A89232CD9F4237FC80C9E64E8425AA3BEF7DED60B122A52922A -221A37D9A807DD01161779DDE7D31FF2B87F97C73D63EECDDA4C49501773468A -27D1663E0B62F461F6E40A5D6676D1D12B51E641C1D4E8E2771864FC104F8CBF -5B78EC1D88228725F1C453A678F58A7E1B7BD7CA700717D288EB8DA1F57C4F09 -0ABF1D42C5DDD0C384C7E22F8F8047BE1D4C1CC8E33368FB1AC82B4E96146730 -DE3302B2E6B819CB6AE455B1AF3187FFE8071AA57EF8A6616B9CB7941D44EC7A -71A7BB3DF755178D7D2E4BB69859EFA4BBC30BD6BB1531133FD4D9438FF99F09 -4ECC068A324D75B5F696B8688EEB2F17E5ED34CCD6D047A4E3806D000C199D7C -515DB70A8D4F6146FE068DC1E5DE8BC570317AAEA74A842CFD26F9591866F5A0 -9B4EAD7C4C4D6CBC02869406866027BB86F9AE78254830409624210C2FCAD587 -24CA21C681EB9BE7166A0EC7A56165148885525114AAAF78C7A340D62D6391D1 -2C4AF69F8200B980E962A7BC77741F074808250C53692972139820504E857223 -071084B049097C0708DDE1C7EB218F7DE11C3E0D87BF43DFBFB36B0C0DB084DF -9BA115782EA4B30B3F7C25CA34AEBDE66545E4AF59724CFA6D793806316811BA -95B344EA88B288825AA8BF80DD77255C8ADE620281725E0D82A39DB94B8EF94C -217BAA289670CE7888CAB8C0C2EE801BF0CC8B50C334B64EE52F26813BD1ABA6 -7D9D59C873666169A35E5581C8025DC68CF3022DFC21A6B5D4D00F2518841263 -B4832257C4B83B8316D461B3CD3D92FDFDDC83966670DABD422D28B99C286E50 -749107436ECEB6430323DE3A79C2DC6AB5BFAE4C46C40DFC8D89596E574CA56B -AF10DC4D6C0F9FA0A230F37D8B49759FD3EC69B4802AB69723A106322E2FC640 -F577EA4F1D5F7AF70A24CEF293158ED076AE97F65613A2743A73015ACFB8FCA4 -75EE2BC7061E47AE9441A75ED8BAC6F43AA99610031F5B6DC0A89E5BA7120609 -AFC1F490E6647F596DC440968E0B3549226479FBA161497D628A106D00A0A10A -D8DE8E118DF21D72EB2508792DB9283DB4DAFC31113CE6BCE9BF5ECEA7DE8193 -1AF1A8C0B5E5E32506261E6CD406277D49DD9FC32D3A544AE199BC1DC39C5F7D -E9CE225742CCF90A4D1EB1AF968802A0400E0E28CAD0050C7093615476977EC1 -622161D1105B6EC97617226B0592AB408F55F461A2D0A9CE1A9CF6AF1535DD3E -623E8F01F2C5D4EC0BB9F1E9B1D02BF88FC57C3ADE12 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -cleartomark -%%EndFont -%%BeginFont: CMSS10 -%!PS-AdobeFont-1.1: CMSS10 1.0 -%%CreationDate: 1991 Aug 20 17:33:34 -% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. -11 dict begin -/FontInfo 7 dict dup begin -/version (1.0) readonly def -/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def -/FullName (CMSS10) readonly def -/FamilyName (Computer Modern) readonly def -/Weight (Medium) readonly def -/ItalicAngle 0 def -/isFixedPitch false def -end readonly def -/FontName /CMSS10 def -/PaintType 0 def -/FontType 1 def -/FontMatrix [0.001 0 0 0.001 0 0] readonly def -/Encoding 256 array -0 1 255 {1 index exch /.notdef put} for -dup 0 /.notdef put -readonly def -/FontBBox{-61 -250 999 759}readonly def -/UniqueID 5000803 def -currentdict end -currentfile eexec -D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891 -016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171 -9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F -D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758 -469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8 -2BDBF16FBC7512FAA308A093FE5CF7158F1163BDCEEA888D07B439DBD4E8B4C9 -D198C03874B5E6F8FBF4922065A92BC3E66D05DE53971CB1424510E892442858 -D69CE1F76E4DA76C87C763A4B2FE36321E54B1328C9155B8ED6361855A151723 -3386AEA3D042B8D89C8C0E9A33E5DF3B466F7BB8C2C8A4ED4CDAFF55FC6D3EE6 -0AF2CEBFC1AC3A6E6692F8BB81F82D86BAE85016AD62FCB05467082C2E5AD348 -44D1439C2B59F65590E57CA0DE481A7A34E79931B1513C4C30156170409A4BB8 -46D412D1DAF88AD30722F12DBCA1CCC6B4BCC28D06B0D29149DDEC520C8FBA13 -6B82E2E1790F00B216282FF122EF0D47B70A1B29514DDF7C0435ED238C14BDF5 -6DA243117FBEF7398F97EB95597707ED63C6797EBA1B46EA19ABB1DABDA171B3 -16CD500F5D64CBFBE4F9CBC3E66A34427D3C4D0C432710289381F9BFD91B4FF4 -1E3A896C3EEA2F3105C218877D6C0C6B763760FA364D00065E1CAE9DCB5676ED -286A9ED0D1C946DCA6A2A670EE0936FB4706CC62E234CFEED34AA615C48D2872 -A087F30990C85E64BA68F3D5C117123467DB411C9F2D6F6858CC70C1E352C477 -713097321B4C4FD4C5CDE305415F998E7245908EEDE6E056A736EA77BD8C639C -3A79FFD0B74B3D28F0494A115F2841CF8A8827AB5608F96FD8998A5F40FB3DFE -3AA0C7696DE4E1D18DC0D6E84B943175FC38FFC42A9C0CBB13A908978C98BFE5 -034F88480F32B9DEB2FD228FF6CB0B89B045AB02020C82E3F5716DC640613185 -9F597CE262729BC52132F43922B9E28BB71A30AC8709634561B22D13C4FAFE0A -12C4451969226B220038AD8DDA990A4E2CAD53DBEAB698898BBD3046234EB4EA -901287E71CB41296C431383AB85F18882F65BE36923F6C0FD6FAD1834E7C49A3 -915F0967CAD843D98F5EDA7FB9018AA95FD09288C389C787B8AA867AB93A9037 -4C27C9F9BA697832CB16563A9ABD8B10E12BFCCBB77DD4621AEC033B6AB2FDA4 -50261315214412CDB2C5D1B57DE7F9F2FCC409A188D9446FEF85A8DE763F33D9 -36275F09EDF3CB171A635A101EAD6F060DC9BE6905145EC0CCF54EF8D262E241 -435819E659B41B61CB9E114F17F91D218D1D3672CDA2A6611372C8AB65B69981 -2A9F7E10C31F6AED76ACE470CB816C471CC9153181076E15E2D99E2AE0A6CC0F -73AC06A66678513924519CCCA7A5BB0D8588D8F40B4ACF67075C7582495377AB -00F558170D3D9F77B471A70964E9442029F5F7D914D5F108D102AA981F0585F6 -8233474C83DDB8BC7E0A8EFCE7D82B5E5EEF5F607205ABC73C397822A281BF17 -99AE831098EA9B3FAB50341CDC64E92A3266027C6AC5D164796FE1709339E9E2 -BE8F037DA11C812C1BFCD0A957DFB11014045F5AE26A0D4E5B66F0FFB1B32912 -06E255C355D0D4265AEBCE52ACB0AF73DC45F302B0B643399312E1A2D30BFDCE -A77C8BCDE32DF26C10AA18C6B809ABE68CFFA7EE00C8591C929DE1793A4DFDD5 -40DE40546CA1DAF0E90326BED058C08751740FC7E38F320A917BB4D7E3C4EB4E -B35A008A6C20FCF474A80C86D64BDD0119369E341E4E2AF3EBCD0DBB490CEF02 -1FA23D2CA2CED8C99BEB6878B7B7574E25BA0DEC4D5021CD2F402E4571ACCA5A -8AF8A8A774212720B4B82B2FFD779EC47CBE9047DAEB54862D06753E66545A93 -E700312D598CCCF47ADC0404A92E89E19D2DC2EF730E8E5D25BEE53BB083846E -200CCBA814F664053A5058D0BD96235D98AFB4C1376DBE6F7CA867D7FB6E9C39 -6797D8715BCB545172A8A527FB829442F99C4F38E6EE320BACB40E8079C3DE44 -2E823FCB1F874FF44E31B9EB462D65D55052AD27B3D531755C495F71A18274C2 -7B4760D335629AFB696FC96B63A95B1E55F043CA23C02280A8ACC3DE02E09764 -60143426AE0715279E178B812CAD90592293FC275224A4A89D66DB6916B5DF47 -24E2F4A72E93FF3A2F00FC84A4AFFC2F7326DAA1DE9B16FD48FA8B40AAF260E0 -48992FA471079649B6100B5520FE2B193317301364258FE9835D071837C1BADC -D7199E0F33A5875FD332FDFBE78109B839807500408F180099826031A85B1ACF -2FE77519750D540EE20BB8B2BEC50EEF7DF470E1E9B5EF6E9F342937375956D3 -E7E2EFF132BF292AE4D60B5B3C624EC36EF92C56F4B7763891AA34EF749EDE69 -F8E8CB2DFEFC66DEF307FA1B8351E223F0118A77D47114D9618D5414D7B2BFC8 -68 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -cleartomark -%%EndFont -%%BeginFont: CMBX10 -%!PS-AdobeFont-1.1: CMBX10 1.00B -%%CreationDate: 1992 Feb 19 19:54:06 -% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. -11 dict begin -/FontInfo 7 dict dup begin -/version (1.00B) readonly def -/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def -/FullName (CMBX10) readonly def -/FamilyName (Computer Modern) readonly def -/Weight (Bold) readonly def -/ItalicAngle 0 def -/isFixedPitch false def -end readonly def -/FontName /CMBX10 def -/PaintType 0 def -/FontType 1 def -/FontMatrix [0.001 0 0 0.001 0 0] readonly def -/Encoding 256 array -0 1 255 {1 index exch /.notdef put} for -dup 0 /.notdef put -readonly def -/FontBBox{-301 -250 1164 946}readonly def -/UniqueID 5000768 def -currentdict end -currentfile eexec -D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891 -016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171 -9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F -D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758 -469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8 -2BDBF16FBC7512FAA308A093FE5F00F963068B8B731A88D7740B0DDAED1B3F82 -7DB9DFB4372D3935C286E39EE7AC9FB6A9B5CE4D2FAE1BC0E55AE02BFC464378 -77B9F65C23E3BAB41EFAE344DDC9AB1B3CCBC0618290D83DC756F9D5BEFECB18 -2DB0E39997F264D408BD076F65A50E7E94C9C88D849AB2E92005CFA316ACCD91 -FF524AAD7262B10351C50EBAD08FB4CD55D2E369F6E836C82C591606E1E5C73F -DE3FA3CAD272C67C6CBF43B66FE4B8677DAFEEA19288428D07FEB1F4001BAA68 -7AAD6DDBE432714E799CFA49D8A1A128F32E8B280524BC8041F1E64ECE4053C4 -9F0AEC699A75B827002E9F95826DB3F643338F858011008E338A899020962176 -CF66A62E3AEF046D91C88C87DEB03CE6CCDF4FB651990F0E86D17409F121773D -6877DF0085DFB269A3C07AA6660419BD0F0EF3C53DA2318BA1860AB34E28BAC6 -E82DDB1C43E5203AC9DF9277098F2E42C0F7BD03C6D90B629DE97730245B8E8E -8903B9225098079C55A37E4E59AE2A9E36B6349FA2C09BB1F5F4433E4EEFC75E -3F9830EB085E7E6FBE2666AC5A398C2DF228062ACF9FCA5656390A15837C4A99 -EC3740D873CFEF2E248B44CA134693A782594DD0692B4DBF1F16C4CDECA692C4 -0E44FDBEF704101118BC53575BF22731E7F7717934AD715AC33B5D3679B784C9 -4046E6CD3C0AD80ED1F65626B14E33CFDA6EB2825DC444FA6209615BC08173FF -1805BDFCCA4B11F50D6BD483FD8639F9E8D0245B463D65A0F12C26C8A8EE2910 -757696C3F13144D8EA5649816AAD61A949C3A723ABB585990593F20A35CD6B7E -0FA0AD8551CEE41F61924DC36A464A10A1B14C33FAFB04862E30C66C1BC55665 -6D07D93B8C0D596E109EE2B1AAB479F7FAA35279ADB468A624BE26D527BFF5ED -E067598E1B8B781EB59569E3D0D54D8EFAE0F3EDE26279776ABA15341E42E636 -6E02817082BE6FE0B04249A4840C11F95F8ADEFF72173E9A5F2AB2F62C427E5B -DC010E18641EAC906A5EF0F9BC2108062134A7F10956219C5847C0D82F0E8663 -12D963E012DF0DD899911EC5D8096F80B49CA3444CF1294FBFAB57DFACC9D01C -46F3BA2F3D1C14EC30CBF83E5729F1C074D4F1665405C9AAFADB8BE41EEE43AA -16966E2C0CCC853C4C09F245ABFD4603C4AA55EADC0A59AA6E9F5895FAF3D3FA -83EDC6E2540417530AE7DDA8EF33DEB81444316FB3F93EF944D9FB06745BACE4 -848398BEB747E58310BBA39C64E341185C82CB77E9D4439EC15BEFF1335F22F8 -F036517C436225F4125ED67ACA7A84230D4E2B6CA713FD6B3CA54BEB540D4604 -D58A8335BC20052440C4903786FE3E335E331CCE36A13F05F71126F680077AAD -ECAE10CB7C057C2D55F384723D58EF3AAE83E9E0B39D6A522667CC5B3257DAFA -AC1C3C981B9415967F7F4DECD492A52D35BDFF8A83E40438B3B35576A12BE3AD -BAB149D495329FFE2ED1F3587EB4BF6B7C1209F279EC564EB9E63BE5CD767D04 -E2D4193954C813AC49CEB1E84CE72CCAEEC6FEE3C2E374A2F9BDAA5DB3CE37C1 -09585F829065A21C7A4F56C391CC4105490C90F3EDF580FFF16F3C96BF68C5AE -59C8AB53850981130A09EDDBCBD1504F5CDB92BDC42B61087878F2B3469B54AC -0EC5B2468083435A70A274E3990DF25D88067CCECFDBFE75F52D2032CF318DD4 -8AD94D0DEF00E25E76AEC5B22FD073701F4BF85E8F9AFBE313E2CBC4700962CF -12C39AC79E6D2D441C874960C2D3367146D997495476440B9864E746F3641FC6 -0A5AA9D790C6B6282A3755E76AEF7AA5274D6E067BAA5B1E4C04485AC81521F2 -EDF42FF7D1A663D1E311FB284F2B48027FC6B77E9252C6FCC2084A278C05EFD5 -49B6744739EE53118A1747917E6A9F22CC91DD3E1525A4BBBB0CE4148E3A4737 -E75E6FFDE93180C8EA92DD420CF43CC4C3EFF9588CAAD1E91CCF1A94EB9814AD -4A62D38B1090D1C3E9258EB3782CC861DFEAC85C58B0E8DAEAB0E0A5F578D9AC -9A67822057B8392E97E0C9709D9E7FEDC1DFDC253CE0D6D63C42298DE80E1D29 -4785C95798FE0637F299A053213ED0B0F1AC251267BEED02BDA58D5024890121 -851C90773FF4A1FB2415E5FF0887AEED675B468DC39FD254165ADC4C980F3499 -27924B24C11120970124412555AA9F6972F28E48F8CC518450142DDE760C3700 -0C339B665CE790F7809EB1DD887675D271886D46FD31C30F691BD3C5E431C093 -65BC709480F393B4F1372C480B95393127F87268BA44259B3E704EF4066B4EA3 -AD0C0B303796362CB499309542D38E3E3A81EFE6246FA270F14B4944F2715851 -CC63E1CDB4CD89406A7EFCA5A266BFA28BF6297E3EFFB7794DBABCE7F5057D7E -1F107FE09C53EF74C38D03EE6A6F5DD566CD2A6228577299FAF90989AC7D7B33 -1017E5C0A7E6B40829305B48410F554B0C36D72245782F5737CF29E29CF2347A -A6E81222CB14A2C235BC865751F925407FE155514835E929939D349FE7B39EC5 -A477985FFC96CA6B6FFBDDFDA066A111810AD6C02126BAB430BDD9FAE3EFF727 -DBD7D8FE66013B6650285CDBB05E18721A36BA2A8C06DC19D3F97C88BFA6F0BA -27B798B5272B343D0F94D3DF67B4F0E93077E3BADC23649F1CE2F0618CA21945 -BB265FCF3E95B189B63A45466AAFE013AFB61DDDFCC43932DAA00D6AAA72EF68 -5215E6141E8885AC6689362382CEBC2C8F00AF662395C6FB3A43DB904F2E8900 -A261E32B97362402183D49F9817ADAD9208D342285D98EDEB7E896786AC7D10A -EEF1CC469B2264206507F1C1A0BE5F18E25F682A77B7A514405BE08E2B747AF0 -896360545C124A76774531D6E7F770F3945A4A85BAF8FC082E6F2ED4106909F8 -018E9AF96CCB5E0A89CAA5897E457E878C7061BFEBAAC4B9DE1A53A81DDF7A5A -D8DD3A758D5A5BD49160E6BC6CC8BF5FB79C19638008FAB073C1071A0F57F7A7 -22676C547A98403C439961AF459DB96E4C2B0DBC2A88F9154195C57801D0440C -0C462DE6839B095437043E900A6760F4124485F33196FE0E4B6B7F474028645C -2E621760AAC321FBAF9FF03A13BFAE0008911FA4F9346A877415083D287DBD2A -774772ADAEB995EB20391323731E12421340EE2E1705DFF76CA9E75084209140 -641EB9FA1DDE3EB43C543EAB63731C6D9FDD64A8D4ADC306E0ECD1143311EFF3 -C29720667393D6868716FF4377779C04A3F63A695E91860767DC611AC5D51520 -B214DD51D1F2E8B4992EEF5E8FCD4E0BC79596A10BC231FDBF271B5DA830295F -4E384C2AD36C3A800AC4B4325E3E901EF64382E424DC45BC228EA915FED0AEEF -59D0D717A6B96CC1A09C86BB7D2653A555795580D3A2CBC9D599F9F21D2BB075 -B031AC85A1F8892EE3A1817210E6A713A6649BA6B28B61980E4396D044246E07 -C09445ABB0348D796300B47A23AF6C56929C95FFF14A11F77D0EDDAFE6EE59AD -D371353017DE021E5EED7E2254E14967BC254CD4E3999EF87E7D3008EC255D8A -7751148B2CD4EAE029CFFA62E174BBDCF4F45E803FC5879D2EF91019499F0595 -C96E04C02F9CAD1ED508433067790947D3F442181289AF9BE95AEBE735D3DE15 -C7D7D8C8791FD8029095BB14DFE1996A8B52F85E219C1957CF55887CA12FA59A -42F25D1A732FA915446A78DED575AB725718D0DD332173230BFE38D7B018CBC2 -D4B6AA3F2CFC4868D2C98AD46919A2C3B409ABB15C9D45C97FC8B045A0582420 -F347CC0D7578209EE5150C23D3C2C4141AEE1AFBCF2F8073B233427AC1DA35CA -05B7278A97BED4C3360761070CCCA538D6D1522301310DBC10E91890D7ED0E85 -48D87AC69B14706D6CDA39785C10348A7AA50A794E149529050AFD2320275993 -91E62473DD77F495C6AE31635E4254FED38F85D5D7EB3549B206E48247E000B7 -E9A28C1E90C788812EDA29DC011F6FB027290AEEEDAC9B0906EC3F3A11F82CFC -B5623DC68D7E72B589B3F61357CE24CAF066A11DC1D8735ADB4BFB8C5D82741A -8D5036ED1AE7DCCA5D39E9DFA9F7DC31E521702DFFC8DBCBC2E1ECD1AD0AFF4D -0A9D227890D09CB3F3280DF74BE3149C38628367B450898A9F970BE413E129FE -D5CC72250C11286B10590726C5EAD0C99CFA52783ADC95559258744EB1BDD677 -54B9EE298C0F22BFE953C2BDA6BADFDFEF7B053BD8E8BDA07A38F78A2EA7F771 -D358582A495FCC0E74BC63A9F075666533A63B629BC9585D3F2AAA8C6F6D04E4 -A2844BF0A6805837A6E4125A68F812E0CD3154626440E9BAF1DE64EBD20E6895 -A11D83679B4EC73637F9E643677785FB60CB03E18932FA295E3EDE6250F7F413 -6E25FFCE19E674C6B7FBF4180C87303D71A21A08CA4F811E57FE3FC5744F3AE8 -AEC11378AE064A0B706B2B1A325508DB036A7484DA7B8DB641E34FA77815E128 -ED0025D25008A683AE6F2A33F47C8CE80ADD2531C7F94A1D0CA951063C1B3E0E -0FEA3C1BA1A05EBDDF1CA2492CF32884C9B547516908AE2DDEA23C7F9979BE24 -A6C1093988F827403C5152537AF4E8FEA3A4BFE98E4474F4C3D5E79E8205E798 -0D255D17A19685B793A09947CF3356629B5DF236BE72732A2A08785ABDBCDDE2 -B9C208B8BB131A0D66EF881A11DA004C505E3666B2B9FF0743103CBABA8E46AD -B63426B18CA40B8AC69E987A9B80FBE077A2EC8584C72D4109E56E73D00D7E3D -2DAAA08D00B5BB60A5FF3716D57D9AF5770DF012846B773E0461AC071133ECAE -FBC9DCB8E099F80BA5D3F47B9D8D2A59961F8E05054D8FDC729A2177CB72DF51 -59199F5CC8B827921F255E655680901F60F277398B83B1D3EB9848DF5C52D041 -705C1ECAE7E2D96D30D05F3BB881983CA332AC948D3ED5273540B995CA37E1D7 -4A1ABF8FC9BE5EFAF61F216AB9CAAF521A48DEF24662B2D6B408E72EA5EC2CD1 -B01D015945AB7E8096B5BAAF650D3A846002DAAEBCB44DBB07711EF42C36FF54 -0181F608D2381E9E10301218877603B5B198F7DDBD64E622D99632A1BB0EA44D -B0C091BD8E059A0FAE10AA75DA2CFABFC4F8285B49947B606BA5BB9ECA6A3298 -E4BDDCE136077B86BE00EF2645416811F6BBDB796294E06BB197671F22A7D64B -B0E07D58ED625122EF42042D6D1D89BD6C4C4975AFFDDDC17AC292A53D963157 -26E3877CB13D2A92AB7A8D5C4246838AFF1DC34A7DA6719343471925B0270BEE -AAE0BAA8BF642BB538F9239536226D3E50477068A468565E279281B17D8A973E -091805EA07E70F131C653C545F829B5C30437809164C10B0E687DED796DD263F -2971BEB36D2F4AB93A7402DE2EE5B7D1E73D76FB3B8A33E0F74FAEF3359E37DE -B68A9306AC19EB5B04B4F1F410DC2D6A0A824D79CB0AF560D61F825FD9CCF579 -EB4300FE6058FFE767F9E88B15192B4F7E9255DAFF6881AB31B5C405E311950A -6C138A30243DA2BE85AB2DB8552D3EB863E5897E91345D4970F9DDB36B8A858D -7211CBE1B2652CEA53C67070E25FFF6BF88C803A60A4F045C9DC1D6A17339479 -7500089BD0D49039E466BD998C1D3A794D396BBD06C80D0DB69912468C27A655 -FB507A3A050C002513B3FC2C246A5B9D12D0AF67BD2A0C75A460DFFEF0DF7DC3 -EBDEBE6B80F6A367B20006FF2EC05AF1CEE831F5CEBC2C241A7C4BDC1B9E292F -501735B2C07DED5BAF2F24DBEA20A096F77A39812371AE53982FBE871A80E067 -FDDFE727760A0E8D20010613D3FB66450DA9F787D64A940A319163A0BD5FC477 -DFBCABF39CB4FD9E8E7CB11362AD808B98A1C6A04D747BC6D927DAF337346BB4 -CA758B8D496A1EAED63D03715B2B6A0ED0F8D06E0D756A203C5EDBC34330579C -5FD211AB348677519ED754FC0810B5A8945E0F01C94803FACB7D83CFCFE69435 -0A3F9595A0F7A7122925C146C232541252ACC3AF8789A649CC20EB58542A0FF1 -AF1E723B4DD7DAC480B9FC2AD15DBA4548F780DBD2E75D1F975289E959EF8D07 -3C148317B376B648F0EDE5E451AAA745B4238C8F43B857C65E538279D32BCA1E -DDA98C88CA4B78F3A2F4AD9225D8C4DF28296B5303BBB965D36AA541D0E071BB -3E1DF3F89A7319FCF3916470D3929B0DD82D1111629A76FD3069DC3E806D4520 -AEBD0BBF1B074F9D7A51A86EFC8BC8FE24AA17E00D04C920ADE242A806339D03 -19EDCB01C0B24498578C4C0E8A16978E221D085FC7311324908EEF93DE0218CA -62032C352F2DF2C457745EE6C632C9319C8A509D9760C47F96241113808BCA7D -F5DCD6C87EF705776D90A28519B8516C9065CCBD77B25AAE758EC69C27F219BF -82013345D51BCCFC52FD6BEF8F6994B9607D663E3D22CB8AA198C5DCEF875D00 -FD38370BF0C1682B5D0C41E2412B5D9BD52472AB0300387336982CB86DE90208 -A91F8609644F03178D7B70256E92ACEC69D1D40187214915E696E1C9EFF66CF3 -A37C986197AF07EC23CAEB678C1735CBE58C41911D885DFC36489AA5CF839EE1 -FCEA1B61362500D83D914D9F43EFA3CCC7B18C78F8A900C1E44A331A6D3B5A2C -419061392AACF5286E8A720FB5D60AFF7003A020A5099E6E30F77796A10D21B0 -47BDB3D0204E34FF4DEB094F9D80466CD95699E94B54400574E9FE557167F963 -ECBF9FDEF364F0D184DC42C449C55021EE759DC0E76FD15AA758501A610B57DE -BE09C066E4BE46F256C3D0496A17DCA142DECF8A2ECABF3739DC7D870D0098E3 -2C520FE4C5183B2F3E66DA6D7E7B3DC134225E32D5BB60B116D498D933D1A7C1 -A4D7B02007B9342C0A26C3684B82B6F59442FD111C15BDE4F638387DECCA8F40 -648660423A9AAFD2BD7CBF74F00C9003C2D3EFEB22ADEAD0DA002B5C81FD6ECD -A2CF30CC936D14002ED8855F1DFC2E9198FE0A7286EFB6DC9567A7E8B083B85F -1C0E3D8044A74723E74FB7B5B634D659412B8F3D9848EBB34EFC943037E6EDC3 -13595618A0BDAE82CCA248628E22D15EDE35058096EC1DFF70C699A60F4D9406 -0CDB3A227F5B442F39DE1326B4805F12B7ABFA4B67946BF1034C8332970B4FE8 -217C2BD9EBC8467CB89B0F2C2A469FE37B1446DD8A13529CED296085FBBDD069 -996B3FBEF2BA5DAB831187E6E305CF7C920F9CFA9DFDCA66213A610A4D2C0878 -EDF8E09BD721D9ABFEC8BC370C205BE5FFF3468A0F80D7A5A59AAAA97F99E64B -78F24A19FECB503E3FF1C84BE956FE4F0DE9897A6D4622EA63E28DAA1F2BD834 -F4ED003CE03840A1544AB00C0ADD60D69FBC49004022EEBA1984C5C85F458F69 -873E5C50F5E2FD47EA67B1730ACC72A7BD229799092DA6C907A03CAD63F98D9B -44852E71BE92BA16A650308A720BFF6234235E8BF37C9F84DE24FF0DE6B559EB -4B74B4D3AD46CE99DFEBBC65EA1C4F867BD2B9A3A3C0C84A6342A561DB6385BF -ABC09187B264B04FB6ACEEA7C74F4504FF78E09F851CBB2661A082075D445995 -014B9C6326B7DC9358129DB18B757E450F9EF95E6746C5937753C68D57BBA46C -FCE788E47E1D4303D0A80345505611423A160F846CF1C3E5789C8D49085AEBC2 -35C95111AA47C5CF7BC73C473B9DDCBF62B4A07423BD60F2516E3C56A3AE4B17 -72BC936908C339E7D15B4791880EA8F5EBD90284DB322CAB6388B680E9153E3A -D1B9D07A6524D6FA2D18FF4BB7E3AC57CC9031E3ECAD5941658451B186A71D87 -791B743B3A84AC277FCF2A0F2FD5650C98BB51201989B6E978EA483E1CE17B2F -3B2FC72BA41663CEC44A1B51FBF1FE673B7C777048899978866901427827D856 -C757407F189BB31B06DC12407656C30375E6A4BE71EFDFDAF7E4A2255B4C5D80 -2EB923117CA294CDF29A9E46752CB15211D5419EAA1F6C4F1C107249727E38EC -FC8C25A9235795D92C11E48415FEFCB94B8FAEAAE500317EF2ADEB957F908324 -E1B90F3CAC54ABD7E18033E99A8D511E08487C38FF3D75181EE04716B17E5E2C -502B79540636A9B5759C944FB2A2DFA4E156AF3D6679F27FBC67D50399A21B58 -8C9A9F46FD3A02479A190D6C6D792C40B9967F5E51F7150CB2E3E15AD2ECD61A -387B3A057B8919227047E95E4DEFE592C6A8A07F46C195A766E9C443AEC7A60C -489FD2F4A7D1968FAA86F5541888D71601BA551D364A5A4B9852E0D177B8CE4F -F429E5757A05A0399C240B146D9B4CEC6D27FBE64E48476D643126535AF75049 -6A1BDA2173768670401B141BF113C12B2DD64D9BD753E24BBF3BE1DE600FFB41 -26BD455F2F5C7D7E5895953F00FEDEE1CCF104A5A95A18D4D3E5ABE871A228B5 -0C60D032245CB48001C73D81E601266181099C2C4B54F794B7D5E93B45660477 -7ABCA957E6D87330E7CC68561746F81BBE87DEA2B5131E01AA779694C49494F3 -2BE53044D3EF24EA42E0B702E79EF71D356EAC1016F8DDA93841E0EBDB267110 -E6E7E8E426D787E896FAD70A957DA36C7ABFF6EA672EADCE79B668453F93289B -7EF1717182C4AA7189028B8FC66823E97C1F4F103A2F2ABE93A6970DCC398222 -19B29563613E83F7F7C7E61591A5DC41E206CA41CFEB5363F2082339FAB6FE6B -601B848F89E7B15E061E157A652FBB836F03CF6E71F0199B341F3BF45C6E3924 -146F4963BA1B5BD8572D5A65C663B4ECAACEB8157DA281E6D0E18AD21E71B4D8 -FB0F931EFAF1C9ABDE99DFC0BCBB6B2741FDA3CC9F3EA99EEB160DD7CAE4BFE3 -1EAE0A2B5EF9B88F640C790D2F572025D520BD971CE7EDA3222128DF10A8EFF9 -E14ACAFDB9D19D3796251B0FEE7BB30F3C03CA44273589C9D65A5682453132E9 -1735AA97A0E4AC550CCA125702BABC87734C930AC54AA835281F275E2BA3C49A -2FA2550C0C0B42D5C2557709E0988D3C565B9328F96AE6A7D22CAEF7A1C2A821 -729F30A5C69BEB550126AEB8E35705D4C47533D0418052A5E940A871AE134F89 -EA7AA37DCD8BED76FA9BC7873B9AB7DA5E54456D51E2BBDF6E3262B1637B282B -0376EB988837CE0566B7F075E3CE10A664CA66CEBF59736E2B103A6B9EA6D847 -C4F282BC34C0BCAED824581B74621C0BB3DAF54653D93867884F33B61B2C77DA -3E4373AE5BC8562000BD60F42AED2EDF463D6580768A0C544BC8E33773962C65 -D4DCAA189F98BA2D7BD91C28C9CB1E634014A8D64E2FE16852AF47E9BB4B5A3C -4A3C93136751353CE429CEB6D99972415FADB8F30965B8092B092866310111B9 -7EDFB2FCC6B9F006AEE18ECDA6ED102B265DC698147FE0A1EB22FA1EE3973CC1 -8CEE8B6C7CA37CC5237D4E8730D739493C9CF5865C398F05ED392665AC679521 -571D0B83E4BD33E7FFBCFD6A8CD5008EFDD9834C6D68F3C91FE22F15F9FDAB8B -0D5B4D5986FD99682F4B3306A5D779139828C4C258E7FB32597AE30F7606F5D8 -C3716719EB991EFC0E38AAB5EA46E281DD6E6971FD4F0A3BDAB85069100D53B6 -C0E2BA5A7C1C1EA85BECC24A795600CF24F0618B6F21C376A1A72DCA2CA7ACF3 -A8E89D05480E6B47FB03FAF12C4D5BFEF900EE948C2D22615CA6E4B7ED890616 -7BB36C72D6B380573A13035F582A0185ADC86D76F0C9C8C677737E9A2AA6C840 -77EE081925B4EEDE4C1D007BE2BF81E8365F7E94F8D945019F404BE46D001631 -DD3BAF07086BB5C4FE6C029B1D79FC7B0A2B2D210766D986D08405B7020BFFB0 -62D777F71698386C9D7663CEAE97CCFB67388D0BE7ABD0851B26782A4DE06EB5 -F81E2617A6145C1F3CA46B506C2416F2CF8FCE6D19863AB82CA32BF098767527 -D7400902B530060E141CF4F7CE6B801E1046B41049767FE2B85F600894957CF9 -4E57598B629F2FBEF8FE0BBB5F50215D1CAA450ECC7F62ED2572D6922722EB4C -EC6BB5EAC82C6F169C41F6B149AA2EAC917822B0D699B4288B27EF961E1A90AD -91E2602753E562908ACEEC5B41711F164CE02FE1A6E0C44B5F7571A9FF45290F -BCDAD5287898E3317B8D61F955432E108DBE768E4B24617A59AE7E798959C8CF -2BC00EDFF2424D0BFD6F38284FAC7932620C14E6AD3E570E06F957A5A97CEEB2 -3A77327D445097A31963EB15F0E5E0A33C359617623632FCC26F5B7E27F18D92 -7C9764D8E366E3E855976BC1800038364CE2D7E7EFC0AE5B5D73403C75AAAD5C -F03CD32083C9E4927C23F1426AAD14F243FBECE9C620B76B192768A256DF2B22 -33691A4E69A60A1F7E85E5B80411D2016F1312E04EB9F64BC97589CA52B061E5 -2590A634B848D6B43E0BD73C171A0A108EFD3333142D76509B856AC73817B4C7 -D3806A6954DA374CF3EBED453A7CDE41384A756345CB1EE00E79E8E7E9E4C7FA -3ABA6D9B90241C5211FA64040D8C2446FE5FFFD9780163C9A381A876E3C25B66 -8968DABF98A2FBF48805BAC6FD7427E1EEC7316BBB1CA035D129E8453ACE4832 -5256AE63EB5DE1253923B14CDB0D80656C1A824244FAA89C9BAB22009F2D3566 -711E3D2358EDB8F92ACFF05DF794D185409FD86C4FC031B89A5E8F8854B31FA5 -79FB1E92326F6D1EDA6572457971793FE939B6D0007D691035EEF4A0C46CB7EB -CC13B1B1D115D022C5FEF80C41ADA4A48016D2114051B6DAF89113F27F5F99BA -CF407348143408BF845701B66980F43E83AA04D68C7E3EB06765B1D56E77FBDA -581E043FA082F67B8EF153054F22387F1EA33CE7E144F5A2BDF02E99C5BB668F -9EF9A051CA233AD633E3DC30DAC0EBF42EFC6F4BA262101CFB5CF05DC8AB200B -8F6B3981E1A323DA36933111C7340A540A56666F0F3E8959D146B12C94CFCDFD -B5901646B5D9590FAD66515E7BCD7524187C265EC88C217C9175D66FA590627B -184EDA5622DA7E003905ECB2FA453248B509E8F9556B130D556C461AA20E4AC5 -B5B1656AB6EE3FE2A02DE746F16B977863F7F06E7E8086B578204E14FABC8A01 -CE48E22A6E7F8C98BC401AA5EC0D88B6EC16C988AC934FD9566074E02C222838 -B07ED0605D922339614BB6D78C4B77A7ACBB0F04F6B1C8C1B7D7244A17818454 -3285E1170E2E2F293086DAFCE6C1E5976E36BAA85514F27BB391384351AC0763 -CE1C886ACB4F8D6AD506EE57BB837E1FA1260121B9B36C5E61344BD510737ED5 -5537D4B50A99E5220EED45D2ECBB8AB6AA9C2A9A4E2FDFD1EB11B48C05845964 -F7244A609470128F7DF1165A7962FE4CE441B4051B9C1CE6A0713A491A4BD19C -33C27EC404CF23044810F5E951FA17C946C60862D2600E17923DC327260B86D0 -DB1076020B06F4C989C7B3C8BAA1D0F8D08AECB28CE7CB9C1BAE75D31D61AA2E -067CDECC6EE25C54B9B60F0FAA4A549A1ADC4EB213959D75068B4AF528DFD161 -AC42A50299E894ED3D5E41D139C41F644975CCD4033A3FFF31E9C46006081D9B -A4D845A2F614EB04D47FC8E06962F7F00B7A5BFC76CFC049BDD25901974975F9 -2E93D30EF3A5D691D3A8B6FC8B35F87CDE69E4409EA09B03C9169FEA6B61B4FD -C29F30CB7D90A5A0A55698A2BEF7AB98BEC845E306A3669739FA9795E730D367 -52137977A39952DE986539284104B7A56E1AC84635594493021B1310623AF9EC -BF50A8EC5B2CB0878A1FDC1A94B42A9AD5C2B8CEC5900A65D112FBE510CA82D7 -F45291ADD4E720964C01EB000BA57162D94E7DC5AB7BAC112E927B98DF7AB228 -5B4DE059B9A415CF3B1EEC386C0B1B7471F4BCB055DB1419C1C9FE9ABC383116 -D4EFA92CEE4EF8B8EFD52879 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -cleartomark -%%EndFont -%%BeginFont: CMR10 -%!PS-AdobeFont-1.1: CMR10 1.00B -%%CreationDate: 1992 Feb 19 19:54:52 -% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. -11 dict begin -/FontInfo 7 dict dup begin -/version (1.00B) readonly def -/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def -/FullName (CMR10) readonly def -/FamilyName (Computer Modern) readonly def -/Weight (Medium) readonly def -/ItalicAngle 0 def -/isFixedPitch false def -end readonly def -/FontName /CMR10 def -/PaintType 0 def -/FontType 1 def -/FontMatrix [0.001 0 0 0.001 0 0] readonly def -/Encoding 256 array -0 1 255 {1 index exch /.notdef put} for -dup 0 /.notdef put -readonly def -/FontBBox{-251 -250 1009 969}readonly def -/UniqueID 5000793 def -currentdict end -currentfile eexec -D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891 -016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171 -9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F -D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758 -469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8 -2BDBF16FBC7512FAA308A093FE5CF7158F1163BC1F3352E22A1452E73FECA8A4 -87100FB1FFC4C8AF409B2067537220E605DA0852CA49839E1386AF9D7A1A455F -D1F017CE45884D76EF2CB9BC5821FD25365DDEA6E45F332B5F68A44AD8A530F0 -92A36FAC8D27F9087AFEEA2096F839A2BC4B937F24E080EF7C0F9374A18D565C -295A05210DB96A23175AC59A9BD0147A310EF49C551A417E0A22703F94FF7B75 -409A5D417DA6730A69E310FA6A4229FC7E4F620B0FC4C63C50E99E179EB51E4C -4BC45217722F1E8E40F1E1428E792EAFE05C5A50D38C52114DFCD24D54027CBF -2512DD116F0463DE4052A7AD53B641A27E81E481947884CE35661B49153FA19E -0A2A860C7B61558671303DE6AE06A80E4E450E17067676E6BBB42A9A24ACBC3E -B0CA7B7A3BFEA84FED39CCFB6D545BB2BCC49E5E16976407AB9D94556CD4F008 -24EF579B6800B6DC3AAF840B3FC6822872368E3B4274DD06CA36AF8F6346C11B -43C772CC242F3B212C4BD7018D71A1A74C9A94ED0093A5FB6557F4E0751047AF -D72098ECA301B8AE68110F983796E581F106144951DF5B750432A230FDA3B575 -5A38B5E7972AABC12306A01A99FCF8189D71B8DBF49550BAEA9CF1B97CBFC7CC -96498ECC938B1A1710B670657DE923A659DB8757147B140A48067328E7E3F9C3 -7D1888B284904301450CE0BC15EEEA00E48CCD6388F3FC3BEFD8D9C400015B65 -0F2F536D035626B1FF0A69D732C7A1836D635C30C06BED4327737029E5BA5830 -B9E88A4024C3326AD2F34F47B54739B48825AD6699F7D117EA4C4AEC4440BF6D -AA0099DEFD326235965C63647921828BF269ECC87A2B1C8CAD6C78B6E561B007 -97BE2BC7CA32B4534075F6491BE959D1F635463E71679E527F4F456F774B2AF8 -FEF3D8C63B2F8B99FE0F73BA44B3CF15A613471EA3C7A1CD783D3EB41F4ACEE5 -20759B6A4C4466E2D80EF7C7866BAD06E2A1040FAF2DE1FD6AFD5FD97EAAB614 -956897A7BC784E9865B00EE8B49B918E886049F1F4939403EADAB83A4D8C332E -2221AF8F6F4A4954501CB6A6268AC96F7091245F034BD65542DF47BC7BBAD667 -1EE6AF9187E298CB7AABA58E3FB5B4C7E86616C1A830A4A937C265CC28A83EED -8F3C971D6DF5A50A615B713F5332E0CF05C754FD76916FECE4DB2807334C34E1 -E4C8CE3CBB1DC5BB7E2DB148F87327A3B858619033BAE39B898338B52C0D2D12 -11F92EEDD8B36B388F4E911F74366983E8EBB19D9432F0FDFF08755B1EDC6616 -16DC761EE14753D14F64772E4AB6A1FF87C7CB22FE8D704FEE155AF507CB853A -32E8C1F9337318EE898D9D677BAF74663FF915C5F0336E73962775E55A37F65E -F355E8BF2AC51223E93FB2EEA99EA55B53D6C9FB94AE94059216A403A3EC3347 -2E4BBE4CE9FF66D8002C636C93CCAF12CBC1C779631F0C701CA641EF35F97A14 -F8BF0AF60CDF4E7F46381F29E6429FF59F8B079893B523769C01D22D88A00E6C -F39DF234669FD69CD9FCDC8ED2C7D807A35B1AEE1C2FE78E8C1E2D1E7358A3AF -8A5C4C8BDEA1834C90FF43CAF829A075591E4AC3F42183D916967F5FBC0CD766 -04FF14A354F95AE335976E04B58E733987A80BFF75CBCD814C6B5C42785DD8FD -E082F79CD58DEF91C24471235165C60DA4C6069D402FD5B6F3F5831B3196167E -19184FE60C72B28DEFE847CEC4BA5A6E2F7097EDA542EB5538141E9AC3A63F1B -FC0B8A16E71EF79C69FB86FDDC7549E79C72E3E6D222C9572BDC4DCE694822B7 -27A1AA28AFE2FDD5A328507BBF450ABA3F363F26C5BFF78E9E891FD6FDBFDDDC -1EA9AE96625E71CC84A3C6A1F669A7B9679FE66C56F7388055F163B5176B5D62 -2012A680B7318AD4C9BF625A1596A7A3BC1F04139D0DB288BA52E58D1C9A2C5D -334D9FFD9BA37110C935E30C6A7970196B3AD243616AB45D16D7E0B65E3843DA -8BC030AAFA1C7577E875806EE118396E88E0A03CD22EB97F87BE3574541A94B5 -6EACA7043D720C617C659D9A45E0B7D307D7B0DE35FDD3F01B7F01A3C0D86145 -EC5C3CC9478A583A1A7D9BE69AE9C1395844FD7F6BC91A7EA70F6C9AD8E3FAFB -826B4571E4478E52DE040001626DD9470582E82C11752C3E149714AEA6E52AD5 -1E2B13A5318613E9418CFB50B4B86CE552015AF8A2DFCC3388E6320A422C7025 -D6BBB5D8E622C286B79E9A153A4B41E7FAEE8DFD16C9187243256162CD081ACF -2464284F5D45A4E4CCF70D115748D0383F138A5CB47546DFBFA306C8EF1A7434 -FC6C82463967F5C311C41CA718F5FF28B9A59E5B54EB3708AEFF5942662B9500 -20B11BC0C660FF837C09F7E445C18046C5007E8D72ACF2D32F8EE0656C593E7D -D78E9831F7C11FCBCF88824F13B11B5C5CDF7E76878B8DFA7F8109E7A7F55B43 -2392316FB258A2ACB21691BA42589E7E658E11EA01C7FA3603026C6431437822 -B20B5E396550BF01ACF1F5D4F212A1E73B64563FB397AFA46FD9F32E274F8A98 -4675F0E2C504B5062D78D40F24FAB4DD245D3BD32093A145E97D3045324F24A9 -B8E6E86DEAB03EA5B4638D0482BF77FE270C90712463DA96AA4B2810F590AF4D -EE4F71AE23B4F8CB87EA11C9F5F59AC591E015E61372761B15AE386456C3A285 -76941199F38F6884D63DA49C04739AB1DFC0DDDDD9E7B3A94C500E84A1C7ADAE -FA4DAEFDAAA72A39552D1F087287565F65CB1BB58707695596B9194E1515ADDF -393879A9AE1F5B257A841957F23B8099C14825A12DF011A9D65909FB44D6FE20 -A0BF835810948A7E12B07AF7EAA6A41659473AB763F24D5F4A9667B2AC6504CA -14050CBC6C4C77D33DCDB9146593958D78DF4276DAD78D76C2D2E4B50F58BBB2 -AE39B3FFFB96B55B959B1563C92FF04C787038414A3039D8A84B228C29D09A1B -4EDF2E23E6C4DDC0B900D4386F6499CAB769B03E917C358C0E1CD246EDFF90BC -661C798BEEA54464EC5FDA8F972395F8E604F76C70823B4013DB4E699B3564EA -14FEE5C3FB510738C52E41B6FFB0AC9212D359471C2A5BD3E141560AD63D75E0 -C2424BCFAE1D7EA063AF5E0F81A80CF7DD44F25B4B2B0E82D8B0FF384AF05643 -EB6EAC35E361AFB3B187F8F4870FBC8DAA57B10E16EDC2711FF7B6206F41EA72 -6A50B1F042BCD94F681C56569CB9794E8DF7B84F33E85D384428164A2D79CDFD -6F0A66CA45A490D1DFF660DA2016E1760FBE952336EEBA1C054BB0FE7FA62DCE -A98C5CEDBA42A50469822B6F187E739BC7D9F133CB9659D89CC0B751F3A86DE4 -0D2D17FF1752F3AC1B9B4DEAD2D75EB29DE9F50A688BC012FAD04A713C094AF8 -1F2A1A20EF4DB90A7619DF8907949D7F9DBAFAC55CB85D2E8CFC6A3799616CD3 -E28F0A80A9E736F48E1AD03B65FADC4749DCF4E7EC5D47F00483B2BAC4561822 -96945EAF41B3A8B666C844F44EFA8E354C6334109160166622CB35A1EB3C07E7 -E7332D1FFB1B4074D1620739F5566CFBA66AB8B8830A3B5020E84DE8A79BC94F -AAE0A32ACF599D7D59209FBD9BDF4F4206CAE0F9A4CA996E62AC243969B3B0D5 -F265BED1354B4061045AD51997B64C201D36084F33BF97FA02BBB91C199B8ADE -2F460D7FA46AA9FC1C2DB49800AE136AC4347ED9C095D9B2F89B3D8107C94B4D -528477C17AACDFCD20B0AB5EA621125E0A137C158BA718DA799BAAAC761C4ED1 -A8065DCCDDEB8A5858A4F245378A478A1DB4FB1C414F76DD2FB604A9B9690DEB -C45F6AD478B23A3032F90317E55EBB2A2460B30E21697EEFEA54B26E70012AD1 -E73448E306006DDE56512F98511AC44D70F9570934B9451A2E4AC5C0F3C21149 -29E4D9884B684D45F9D0538EA9B4584DF727DB6D1575AE8BDCC6FE6D120E098B -64EEC47A554F990840DE25339543E776BE9E48C319BC7F7D3A43451834575C8F -1AFA2861EBA45C01008F3923DDE0055AC109055D29DC1B92B504B88B172315F7 -A60BE04DB082CF1CFEEE894252E941C3CE3F0E0519104805807D84F17AED81CA -91FF97EE7AD90FAF9D73A3D3772332E44702150F1B5C3E4ABE348729420EB1D8 -D02AC9DC5B713826CB0DD49FD8BC60AC2455D63C40B9A2D9BA6F951752FDF6D8 -1E4232BEC70D5605A6EADBC474FD9DD887CF45A6F263003120C79F6BEFCBF75B -572D6E494C8BF9CADDF4D5E87F4652C6D229D4912A3F91359DD0C62268ECA330 -5AEB94B9A33626C9CF639F93A904D187BA8857E33264C0CFEE816EABEB283EF8 -C88050AF14D919F31BEDE57B877C2AE867EE01284999DFD217B1D159166B6270 -D048343CBBE49F9BDD3F80D8A64A9B567B501223CFBBD640F1DC58A124EF4A94 -F2CE254D07EEC50693605EF6281234F181E4341C4BEE0AB3D0E1D8AC2BA03BB5 -C3654C10C1F812290EA0019DBDC3FBBD83F0C2E96D2C47D7D78010AF143888E4 -4BD0ABF32BCB2BE0227914E5D37F57311CEC8624104C04B074648AAE6BCCA17A -C96F0D1A8335463DF17025D1E8C891C24D519B2B7BF5A34040E3DA42D01E600D -ACBD5F5E2A7B63D266AC0E5BD20A6F1FB525143CC8F11F6F8A8B3202FABD55C7 -A7352AF5B26C7F75F34F6F6FF32D2D4072C080BEBC593B6B57B160BF0B200DA4 -E8A5B874816A3FB4E43C1360F2B9DAB32F82452A45BD9EC04073453B55035DDC -44276D47475536CF9911EFB0698FE6907575C0BE759E166E298D45E2B01B888E -CDD14CDC5780EB10CA242E4170DAC2A798780F0D1F23ACC4756058133EBE700E -80C6D8967CFFD8562C5C90346D86EE9540208AEA7B8559F8E83AD09534841A5C -1D141B0BC40BB1CC6438BA3AC3896FBF1CAB61C09380CD49BD3025ACAB257221 -B9FC16A40AC9289A9CFB28DF75CEF79D19E8006012F35BBBD132BCE219E0F8E6 -AD8EB1D0E19FBF6A4EFA0AD8838A6C02BE214948C542FF37B49C487F5B80F866 -F266D500DAE5E31CFB6F369FE0A0BB74D4EB00A80E7EF9975B35D71607518D90 -CE0107AD51983B22CDDE8BBD413F79713FE9C60F27E8210D6732BAF47F4269C6 -E35827D780D9197072C71D53F979F09317E85E37D3170F9BAA752F192D3DB697 -3EE52225AA8E88A3A284E621B94267A2982F47A66425BCDE80E7A64F882F3554 -AB5D7C50B2690297714917702B6F2C634DB67521AE69BE91BD453FD525376DAA -1CA23AD26E0BF6BA0BB7BAFFDC810A718F847E52C6A03F8833AE0FD168834623 -70CD91D28C760EB2E349E42AE93D8E808F9AD11DC6EADBCD42684E4797813710 -14EE1C996DEE893FE4A9FC17811A419F036649E053341064EE30AE521376EF20 -8693748F58D7329A0B3FD78744B095BAE5600A545E927E796B51A61A728A0D5D -0547A314467845CCB70BFF16C8BB8E644CE1484EE5F9364AAE47BF5B4141FEC1 -31374F785B97FDB783DCE4ABAB12F5F47EC3942C55A9CA2B5FA0405F0477FCE7 -CFA8E0675F45073B21A5AB2730B615CC2080F51584787DF7DA300D5D53861A42 -213BFFB09E4FE1B99F31F42A9F1E31D1A1356CD97556524ED48BE24C98BDC9B5 -6E04ED410EB9ED9E1669E93B53E022FCB8016D6138DBD37AA9D3C95EFCD7DEFC -D6CB549000BB96C8F192758432B4F7670EC114089164B788DCA2158E93F3BCAA -3E198949F8FC6C189850E45583598C7B3E45327B823AF7BE522A91BEA158F205 -DCF55DBCE938510A2FD0C0FFEBBB928F0A2FB8193EDFB9DCBD924A13FC1157B7 -4D5ECC555B2801D3A305FF149F5EA1DD8AED3DB1E8C481665BC54B15A145A79C -6A07110EAB95A3D8846D4958022B10BA40A7263B7897A9371D33FDE6866E5156 -26AA4D9CEEEAA8A4E236142AD6892A9F2EF0F79554555056B7C3EE5F9A02D647 -85003820A279D9FF9D5F5EB36BEC8F49AC829F0B805405F4024B4A7B394CE9A9 -8958652DCBC35DEC42E6EB6A654C18542CFCE55E0A46077BE39D9D567B801AE0 -A19236D86A7B2C97DFEFF4B25F5A607B1BFE0C757F640E00505F5CCBD4B700F3 -B95594036A846D897D7AE6E1E23170EE56A3AA06D99D7FC1903D766CBE7E0C4A -1114D00293D3FC6120026B65DC91495217F8F1A70175CF42650674423A373A98 -820E25CFB7FF097B695AC1A9FA32382E9E6871F615343603ED5B2240918C71E4 -7CB9CFE61BC81911A8A4A1C07FFC9FA1A35091D7EA45452A6FA9D7E4C0B97653 -3AFC9E8040606BEEAD3F4A29F6EE1A73FC674A39AFC965702BCFB8EABF2D172D -D74960D738B52EF8A1092DF053FB2226F16FA344F09306260EBFA95E527B78D0 -F33800DA3854F6C9AA19B4F83F4FB12AFBC00EC9C9210CD5EB2C6070CAAE6F91 -BDB8C8DEA4856E24811C58EC0957833CD509CE1137DC7B9FE5D72EC1E0578E9C -B7368F29EBDE69BF9A53CF8E11D6867D1092718C7ACA3073D1BF3C9F3645E23E -EC439E1E37451B1AE6424980530D13C8A299C31ED59095CD0E520ABACE5CD8D6 -20CAAA3EC2EE26FED7E6CDD42B511921EE1C83C64ECC7EF4870D6BB56D28A49C -8960B0883F5AC9F397BFF8B3092624DF2959AB652831F9A1C0096B8554CF2CE1 -52575DE58BAACC093BDCB837E955EE12F31125B431F09FD2D5F9575E61372154 -EB411C3EB747E8B23CBA463FAD3441D336CADBD30743AAC6EE5DD30A599E7DAC -F51B1FBF33CE15C32C6E9E43F405ECBB26CF5F69A0F876CD3C484B2414D5FF1A -F7BD6CDE6E03A2C221FD27FAF71731BBED43A9D0939CA1F0FABDAAA14F66FE8F -740CD376711F333ABCA8FFF2EE2BEAEC3CA326D198223B906096B9EF23C1DDC6 -B516B094710BE34C7BD1764621AEFB3F43539361F6337D2F9C08AF93EE4D0893 -B0589734F0D24967BFFA70F9C1EDC7F4ACDBEC701741F6CD1B5362A0C37C76AB -B478C74AFF914FCE0BCA6207A2AA319E7B7EF6654AB26F2CB908706D96378626 -F8BB17AD8D714B5F85191AC430E5A70856DF51E83FA812408665E789D8701AC7 -AE117EF3D8FA1EF0C395CA9714EF0A24DC953E6197BEA2DC7576131DFCC96DE8 -4D4972DE969DC968BEC6D9CE4EFE4A3444A14307B0CB6B64D7F38E2EE427A29E -A1A19219B3B0B8651101A0B9E616D363208AC2560303CFF6F65073BBA7583FBA -C26209D5DE0EC42C1E1EE9AD479A939794170626DAD1BB4D97F934A19837A2FA -BC4081FE8D082F55A7889C29CE2CAAF67BFD6E59FF18D4F7045D3A54A05E9027 -52BF9F6070D6F711765E0784A046114F3DE450A585A0E0B54A1853ECF31C41F0 -AAD35508A89ED1D622E4B88790BD6D1945F87A497951359BA12E71C90A1101EA -FDE21B34C800F5237CA50C8895FBA1EA86FF6180CD06E6758AE1170339F0A7BB -14F955C743E3ECA6793A32E78353961098FA1B16253CA9513F2D39923337BC9E -B2892F4E195ABFD8F1CF5B003DD97AFE632B232BD86ED0BDE83FF979DB27D901 -32342F55C4DA4366316A19F9DC15787849D92C953BCD95907506504CC99C2DF6 -9A9DF814E71294364FA1B3A536E1D48A3AD5F5DA44C5F2596F299ABB91E3B4E9 -14A73082763DFD8A67685EFC4A5F437BB6C3072E68FA65784475991D34EADAA3 -0A867C3B48DC3FFE4A67CEA82F8DC8C35FD4820DE75BEAE034B314FEF7896626 -4E3989E09C855B4DE6E00312B0990FE589A4E1A27636C8E8EDDF90624B9C58CE -47DF58A473B49FCE57A26BF88E1E4A8CC3A91F3A5859B2FE288965D7ECFF3DC1 -19F0FAA663ED6DA545175A94E4EE9DE0C5AFB822C76A88F72745A566DEA8C113 -5A0AD738BEC77EE81C3273A39F8DA246EDC1F19621380F17C10A095AD45DD180 -9B180B9AD6787517AD418EF8C736111D6E116359E348659E29A3BE6EB8266DD8 -8EC52D2C8D3AB1A70E2646BCD6F0B77F702674B5633291B282D87E77818D9379 -6FB16CFB6C500242DDF76F174ACFAD30CF1158D7E05ABA216FD30C5B1822B43C -FB905C4302B84C1ED292707268C64DCF161D4FBB4141FECA517DFD699E3C2093 -D90150C278A8038F9AE5C8662C0B73911FB50A58E5880E00001167088D65F37C -5267E9CCB2DDF2C2B6BE762FE6B7F0C809A744BA6BF618B0BFCD31F0A30A1914 -D6B322576013CA2391CD7FA113438959A0540B16980FDEAE1EB006842E220CEA -77D0ACF4573F7CED852F33A5F11B40876F31B22D9AFCA1B0249C9FF2E6DF0A05 -CA7008EC9D28C416EFA1FF3654CFFDF3FA9C955F02E26294B68D18FBB34428C7 -BE0E3B933816B8BE828089742A72FCAA44C155313DAFF603547BC66B0837A255 -1EF3C2C177D2B189B27DAE2289F70C7B10A87080DF485BF32BA0A08FF25AC958 -6F57D1F46F3558F2A4F6D626FD214980C076B0EAAF84A74AE0AB345893CB422E -875C9C08892B34174F909BF79AB9A2E758884C4D5CAEFDAFD883E678D0C78D9D -0903C221900EBC98EA7429F06223CE50E4F4FB9226E7CA1BFD85D498171D2288 -D7A3B993C9EC29D8BE8231E0D6230F63E5A8DEC5AC56F4311EE73CEAF1DE9F6E -BADFC4E199E041C9E20E89C4CD62378060C007D2C01A83755743AD71DAD6254A -0FF5A820CF2825AF8869E731276B90D65202971D395226AE29EEE58D739B8687 -1B41B5A1862A9D0220C4F414C1719958CD39CE84662087FDAE3A2DF1302D533F -5EF2FBC88B54F254F581225974558D0D6671AEBE847386B5BEAD988185DF8C8C -7EDDFE610CDB30A3B5818C1DD9B882973C36A378585C1FC24FED73E70975EFE1 -FB80044D2079CE5E3E61C73100B41BD754D9C71C75B6A5043040F1D8036CD5FE -34D2237ECEE63CCA1B6FB35F3DD8F31E2B5DEA2656920EC18FDDAD11D6DC957D -0A427E7BB0EC70B4450A50C0E37390E1DF09148BEF71677355D59FEB9A53966F -2401B914C374AB9DB2412B0690854A1237E06D3052A129F04985D77EE2EB8221 -2B169171C77D821D49623C00A354C386757E56B32ED240ECA00ECDECCAA2D722 -825915E10AA2043B82E620E1D974C1CDD59CB58261BF23B5C830052F6004AFA6 -BFCD3DDF3C1F0A8828BBD9E5FE4B9B9DAD2FF114520CEF547BF0F952699517C6 -123648D887281C3B04161221EFF8C3B6CCDA064DAB204D9953BD55B9A01A8A04 -3E7589861400EF1AC9BEEBF22104436D428482FFB259831214B805F5B3C73941 -B11F46CF78262FB9AA234BF35918F25577CB982FC79DDBFDB057C9AF616A3347 -D7706C8D2FD63968B396709F20CA3A97C460B1C281F6A36E458891F5B1AF6B7A -BA8DB1E134B0054A2277A6BE1FCCDE6B95087E905D4966407ABA52B73109F1EA -A9402425AD4E3D7257057D4D6724750804C4A55FD39E42ABD36D980953452ADC -AFDA489DEF67412258CB3181005CF2AF8F2FC16116A28F3BA83AC4C296A35BB3 -3A7550EC0FAD09D521AC8653997510DED2286A464A00F944B1C4AC7E06DFD28C -45722D1985A60B5ED7F1B99BA24F8A5B8B2B518FAAC3A51DC4F59710763614BC -FA94013137C3B0B8E05DC378D70C6BDF61560145BBD8710BFDF3BA8B880BB8EF -62CFA40874C2A98B6F77EFE65A8474120E3B7A6446D9EAB6F3CA1BF8B0C29C63 -CF3CDC9071544877284AE064947B60669BC93AFF555F23A16A2E13AA2994CE4F -ACF9B24095978CB39CE453B3A44D68AB196BE4ADF9D2B814A8018EE4BFEB5D87 -55B3A346001BE53C5FF3097AF4781228FE6C800E0A70994D3E7272DB350CDD9B -7E344762A700812728105E5BD545525C4BEBF6554976ACE6C1DABE0EBD3C6117 -5821D9AC7629477139B0C4E3EB6A8A477A0F99B155566F7E1DFE71A911770D94 -592D9724A7C37229111618AF5845DA0879B0C2E6AD4F0BAB5926F6B20E8712CA -1FEC70964EBA5FD3ADC62C7D8A16301BF8872C87BAF97BE19EFCFB25D72C0522 -78C50F79B8B9C61AA1D2516AB59890A08BAF71C72DD802A66244CEF60A639705 -4FF5EA8FCE134F1F0E81AD085598A9BA42E65AD434F4FA518ED1D8B41B470638 -1662946A5CBB25BAEE064F9833AA5426318809A058CEA53B5FA592E7F3D5FD36 -8F85B0EB9561FD40E7E30EF7FCEA0F66009FF3F9DE4357B8E3ED74FCF337BEB7 -6CCB65CB21F5ACFEEC477F0C4A8D7CF390AB10A03FA05F4B8A99A54620167346 -4CF13F25B657B4C709B75F53D9E235DC5945ECAD7A0648051A8AC0B4889C3380 -6AE9B91C04A20E50664CFE8D752299639193D0515B55C400CC067899533DBD6E -DC5E4E9E846453758F8A8CACDE23A845412D644A8C697A83DB41F3F82C4B2480 -C03AFA607AC70CD958C79B01D72FD84CB728E2935C44344104AEBD23C74476EC -BB49FF56DA7C64307EDE589F007EB863AB697B670DF51A400871C05795337DEF -7BB4147FAC920E3BF2D79E06C826ADA43CC34C3EE0EE0875624EFBA9A520AC67 -6B3C5C3131FAB753E7CA09E926574F4A429F0D61F39C2F39B4CBBC5DEA758627 -E09789BBC8059623EBF06215E549D3CD03E24CF32A76DDECB2D179CEE2ACE5F9 -32819F091617D3027C57CF29D22F4C19E6608B403E13814025A18B1829DAFE2B -D6E6238EBCB836373CCE06CBD25B912C6C4AB3389370162ACF343408421754D1 -9F7C973CEC0F066F30BC0A38850AF638E2318AEC9F15C6562E37F2E517F02CCD -58C36E7635C2D149820DD87AA7A916812C143548873B2942B3B72726F4965E41 -870095425B5EBBC8ECE032C7CA1E740D139A47682AF372A3DB3EFA2D795DCDC9 -8C06BBBCBB7FCCF5BB6284A7D87748B8A60598376A858A6F6E217FAA6F81E533 -E750DCFAC92CF5272FAFDA27F245688B8DA7CD46F722A8553FF13FD74C646715 -FD427DC27E88A66046A81A09A3815D0947773672E992175A9AEFC42B1B57DBA0 -DEB99C79158D4164503187E12B941216927B1AEEC2AC5B758A0D9E9A46F09F7F -565E818395661C879B5AE235A016FB8A451BF5C4C4DA3CD27E918E352089ED3E -93271B60CD8A0AD32AB08D90FB40C0C1117F4D4398FC4D7C95BFCA5616B0A0D0 -7174E9F031E945CE0589BB21CA0AE86237A3438CEA1C583AEDBCD5394B87D2E9 -94343DC4009C26E8940EF7C30A354833FB250C92FD48E88FF1757E682A31D51B -943256420557D900EBB318731B160525F82E86EA3F0739801EDCAD8313779426 -CE942F77F3798E325FD27F705184FDA49C127AC80DE8C9E9E82D1C07951D94B6 -95A4996A21F4A8324A6B82722DA6B3CB354094EAAF9C0909B9CCA8F07E35E1BC -5B4CEA993C579C24AF9443CFD73FDF0194783FF8F2D5F6D495CD8B6F84D3F59D -9645FAAACAD997940F327C3AEBF73B775B05F02E8F61C97F238FA1CEF376BC6B -56EF045F31ADC0981C25E3A9AD89EF3ED22BF689A999B0DCB54D8E9179B01A11 -749C73A979860007BA3FE7C6E0AB828ED12C51D30010213E62CA638A149A33DF -55B51D9780CC1F7EBDDD01804A018B857CB7CD4DB5D12D0025E336772DD8E6B5 -A9C2B7F78D25693305F5A01AA7A48514829CA2CA27E28A0589CBEAAAD1021E3C -8366208A9FB0E82455511AFA5C93E6C1FC612F5FF0DDCC0F41454C0B498E62FD -3A938FB4DDF93D95A02770B53BA3F93598126445966B99D5A592310D6C5D20C0 -834F17A20353F7EBEC726E76C23000BCBF8EA9D70F08A04EFA3B1FCEB5339D60 -C01E30A756591D9F4C299244F5E6F98CCFA6F14997EBE2476EAE1C2E9FD6D357 -8097B4C00DB1372B552186606F04018D0F42D8DB64FD5F88ACED991E655AADC2 -30942CC781A5B6CBFCE942A3B623F163756EF7369B8FA71B64F52EBB30426630 -01E5E1C92DCDF70CF263F95010CE2D55EC16D8B6F4C8C8FBCCE6A20DEE23C7CC -22EABD435FADC5DA0AE9D0947AE9E12320976647779AE6A2A24403577684BB38 -49F0DEABB797759E6FB977B1639E8341410F3AB9279FE4B91706DC7224C7B7AF -EBF5B3FF3B3C773EB07BF456554812D041418E17D545A5C3B33FE6608723FB8D -C36B9A1F4BDEFBF27DD3EBC40703498BD23FE5A0B641EC731259B618ECE2D081 -4356F94D553F3609A636F664F75092D278507FF9417BD163862E65F0280B704D -208EB336B0C23BB5078684EA0875B5C2BB3AF42E14F823B260E756C425443A4D -63BFB71E066E33FDE3914410AB390C8CDB3C20F08B54ABFB94B979FD583307D2 -AEB7A1BAD041E13305B2A89E7451F8BB5C4199B546318710B2F5C2BCE8DF0F57 -586B084761DEC563436758E560945099513B1B61973F5FD3C7CD4FDACEA27CDB -A754016868410629C72136B311B9ADA07A81E76799C62397D2F72B0DB2D6692B -BC31435156F39072737C5E4507DF093169061B58AF5747EFB69028D2BAC69852 -0947E87693AF648780B3C28577C34FFCDA799903619BCF9A2423590A4DD31A62 -6E97B1E26A3F1DBC88F1AB5455BAC313E6B20E5A81F8E715D1CE25E842D589F5 -06361E9EFF30CAD280A490380BFBDE4E5D050A1D2F0F9F6D892EBD4D0E830F8B -22D616FB07948346DF7A967088DB5CEF83D2220E221C5D33E2EB0E97760B0024 -10622E6435A35B9C7CB93CD77586CEE77D2D04F9E35EE1430C9B67418E06BF7A -1B2BB2F94A8573785D3FB701F699341F395B4A876A379E8CC3D1808FF8DA6473 -3BFDFA7F424E166384A6D09338275770CDF2E1A03CCA636D87E8765DEFA057AE -8199EF6971BF27F78024C493307603E5C447825E74F877173AA591CFF16BCB11 -6837227D98C1F38AE408E3BB9557F7FC028A99315C92288CC12F42707B93F46D -E53DE506A1DB0178B7AD55358255E838CB122D8526556BFFC8DF0CCD11AD7A21 -749B21B225B90AAE011FD3C32782DF92CF449207083F39A63C7FB1FEFBCC4D11 -84ED4B4BAE357717F5A302CCC28E501990366A5AAB244CD5F926F9DA0629879B -3C356CA8CF2090267DF6E8F0249078D1AD2DA34DD71E444C868B5E0D5CED40E3 -BF288268C3EB83DF76685261E9FE14C438BF6205045E15E894FF4A4329D86217 -D91FCED0CB396012DC4057E1B29372B56B687D599175141D6EB16790342BDD6B -6BFF526696D2ACBE3A95CDD37AD8C993AB0A0F42DD818B19C6294FE8F7E3E3F6 -4F2DE12E2DA89777D325929B66600299424F88E8A94106804BFEA82BEB92D624 -26F200DBD7AFCC6137E6A23E4D4B29DEFED2DFF75E34857D65D1317C87ECD20E -D767828DCA9CC64E0EBBA3C211338719BA6BE363F873E855257E80D5C513F63F -0108C42129D9B46C3DE5E94E464BCED80FE1BE9276757FA3D5D77F067F4555A0 -4BB608ACDEA17DEA2580502DBFCEFF50BFFB7317D75852EFB776A5B81987D7EF -480E0C1DD5A332C9DDC54FCA76DEDEC0AC081C514FFFE8A3A0ED032CD565AA4A -7B6BB6D64543B9AE0BFA89F8EF307E51F281B24A46A8852C799086C8AB0BD94B -C1BA8AFDA81B1707193E256C6008FB0819433D1C10374FAD202B310DF299A767 -0A2422ABA9298E19DD2BB3F56C0991F3C775E2698C44C827E15D6B6D1891DDBA -FCEE17F294397E7627E52D2E5D255B44F4D014624DDB5C3F2021A51B87B0B56F -8346F1E22545558528ABF621304CF33BA781F479104AFE46D070DC202BAD23DB -D472464DF6A3F69B24D379288578C44FED59FE1020E31A2C519DC872604EADC5 -6CCB640A31DF067C2781D9255D631A8191DB04F2D57A59BF66FAD9408DCEB0A2 -894F489D36B0AF4C88C4E3938448C5DF5F2323C54FB9C3BBCCE81E5CFA56CA93 -D726023EF565F7849AD46CEAE9B1A426AAC2DDA11CE086E422E27B6F00CBE37E -39BBA1DA3B52CC3945F51F15B23E59F58A7B21A92EE8B4286BD4E5E3B9FA8F7B -005EA17157C6C08F8CC40E041DE136C6EFD14438F99C9B5198F59217A1511CB6 -C7B78C953017B024E05EDFB357960CAE4AA02D97B12D73A7457ADC375ABAD9B5 -D27F2244A5932D9FCC3B31763A3EAF7C259D79596E10A92C75A17EC11E2C833A -989A5F26F7298C179E85515B4C7CD4061847A8F9DA9237E5A7E5EB59DA475C5A -E7B0C62C445FD0B4D71CBB733EE0C934A0EA40602F83311D0D1E553D928D2316 -D2922F996383E3FC530B93C80CF9C3F87D3689BD12B98237BCCDA926FE221705 -FC659812040721223C06F5317E3357BA604CC1A476FB4EEE7F7B83C1194C1882 -F1465AF8A9844DA7D9E4E8FD4D67D243541E6103176328154AECBFB1A81D2043 -24DB41CE6097477D8EEC2B41C6C6670D5B430151009FBBD43A41FD75524326E9 -6B87ECEA8F70124635B8C8272F395D6FA50A401241F69FC0D0D3CDA5714837E9 -1222138293AF065D6B8F97DB777328B7F3EF06AB1BBC6945A69CE32E92D29142 -E8E5A70FE8B9255F2330BC2F64B3AF2A3DADAF403E7912B86FAE93619B9DBB02 -D957CEF7AF74F80509F8E89A868860584782A7BB00AE13D40BEEDA4D102D36AB -5C0BEF22CCB0BD7554FFD4A7E6AF8EFDE49B250C0844A228D4098CF55E1D984D -4AC99918FE25D7197286C388C0AA86BB5406838254FBDA8AE0F36B688A8D1B1F -253D476CD11D14D46B9C39461B974454BB134CB8088AFBF9C261FC07B157006D -486A8EEC22D05810E91D19871D02D227511C07D87BEB669E2C95AC21B6DA529E -C5BBB273068CB3CFCDEF7D094E907293639A0AAAF92BD54941BFBA04C5F2F906 -A95A19A21DC733598313F3511C55464B7CE14402A66A4157A04F43F9EA250548 -730A1C999AB736D51E6F9F20649D9712FBBFDD09798A77B4A2523849A699BCF6 -BF5103557DB32369B62E2B132F5EDC9D54EE09C2D9F193A0DC67777E251AC8CB -F452E955F68BDBB7D28DEA9861337F85A71B07E5F58B4E456760BAF25906D122 -A0CAE6CD9F31580E103251D48FE4859C2438922F29178BD9CB1CD7ADB2037947 -4FFE6BA27B68B78F5DF9778E06B2B742ABD8EC54619B8DEE30E01613D0343160 -0D31C24202B25DEA29BCEE94E5FD9C66978963FA70743316AFAAC5830DF7F5C8 -B6275CC0B40CBC139F718F4308B5DFDECCB55945F629C9A701E6DB0FF6C84C91 -CF1FE696405CA94E5776FC1547E8C3CE6B5720D090A2DA9BBC058EDC7E8536EF -902A5D2ED480DB7A330914FAFC0E94F2F2350C276E308AED882AFD8FBCAADB7A -F4F43F9025600C28998512314747365E57E5587C269B0103BC409E3C89CD009B -61D82DCD2CE4BD9DBAA11EECD512E42A14EF84A0AEB6D4EB0D82690048A1C1C8 -835FFA7CA25F365104319C35D72604E17D5E25AADAC579D5DB2014CC470A1803 -3731862BDF2088DA7775436AFADD9C4B6248F664A22D56B23CC0A18E88BD6D6F -AA6D2160A5F798CC3967456EA0BCEE2E9AEAC614AC56AE12F6B19ADEDAFBAF93 -6A8CEFB7446C9D8933474EE9CA5524911D61C2FDCB10E4979E5B813D9FA8E7E6 -A357983ADB2E7A65963CF2C6DBDEA2A45F61E61DC368B465C420F7CB3BE83F67 -36F5F6A4FAF594BF77D161FF73209E6D34614549F7A76DF2BDCD5655EB6455B7 -777F5BAC68F705923BB8FEEA6A2C2586E74791819E4354B6F3EC2E564B80D8C9 -7A43A8DD073F4533C4E425EFBC6332204DF30801A1A89FB7DEE5108B943DC84E -628B096A7B34E5172154C4F8016131F5435A0CBB9909EFAC6038C857A7D0AD00 -807DA09BF8D43155986267F8DFCBC0E8A263C6387F8AF20009BE95350BB4BB74 -CCBA23B66124656115E40240AA9CDBAE587005D1D1DCECC1EEC72E8A8575189D -E77B10F8282370AB1E725C69FE4A3AA4E6C591BEE8A61A10A85DB28D68B323C3 -5243234E68FBF0D35633E19DD317186648196C9BF77249869927673AC33705E4 -D0BDEC0955F7C43BB6EDC12A207AC6181AD330D7CF47BF9A850381A5423B2502 -8A447F430ED63CFE1863F90DC9ED0C0F894F72FBE32C30B7C8F2A523630B2363 -7AF7E18B451D64C7EDE8028D374B134A4C24381B68CA623E2B6546116C223760 -D7D853A621C9BC427C4CAB4A5241F167EE363EAE546612D22665BB85CACBDCEE -6BFDA7123696821404293B51CCFF0206C8D0EFB8E6E74F931736C23AD6EDFE90 -D5DC7EB781409E884E842D8ACFAAAA1732C37B8ACEB5D4A0D7673C72DF92B98B -16B0CFA249C23249E6CA77D6B47EC719CAEE3A540D00471272D8AB8C1C87B45F -EA9B43E33E9309D190AB965BED5B4EEE713C36427B6B60AF9E441A4B4E97E1A4 -41730F26E91188C87EFC9DC4FA786A242F5D6A49649C6877E5367F0F75650762 -DB6C65F3BAB4E116543E0A4A5210F5C42337C5147182782B8071288761A16A8E -4987B7E1E14C94C9D4DD521A96105BC1BD6EC47FF09BDEEE6290DA968D350CDD -1FBD01AB8F5A8BC8845E0403F3AD519D98EA7DD6ED6753F18E0DF40478BB5F9B -81CF01C6962D5FB4670EE97F038A465EE144CAA59152E53AA8227EE8500F1090 -E17933C9DB73C480F146CB11218421870278554C6EF84DC2D046AB1125F80922 -37061B839EF421A7A5425286C461562B89B302D5A121060C8510B52DDC527BF5 -3BDB102B4F10BB04BD5717403B439490CDDD4A4A3EA5E39477000BD5A9175CB9 -F78827C8239F1FD5B88E70DC0AFEFD54B8A0826619742DF2330CB5F94CEBEC7D -ECB08B147184F36990BDEC1F244CB1DB56BF551D734610DAF396F4DDF4555DCA -B102FD7BF02529C9E438DA31F22C3025E3EFB5AFC07F3318500255E515000323 -6F955A60D861B3C5602D873A35C68962A33DC8DA4B9CCB838005F287A154EF5B -FAB28DACDD3503D6320C6E7E054873304AC892CA9EC5490818E578865E713F4A -E493E8103C1AAD7F0D7B5E79AE41585A394ECD63376924EE9BE86255EA2E7A39 -292174633BDA4B032D8D625A1904EDBFA1DD8E381A8F9416A2F7CAEFADD03055 -FE29A5C60F35AE60304C9511AA183418BF45BCB4D266977B769FA2B9E40F60E1 -C1926E1C4A123759E6D21CDEFD4AD2D77F25CA24613AEB57E74414F9DF80CEB3 -3B938318AEC5CA39788B5FB9D9D347EF0EE8033749E6129F3B48C18E136DCDBC -0318FBEC9ACDAD88D455558C2D4CD3334F054AF0E9C9516752AF2D0CC2B4F87E -76D436329AB532ABB8DB4332FBC665AD0A00E1265840AAF92310F52B044110C9 -C064BE7FDD7DF70EB97E9891D276F437A9DB3ABE06F537ED0276B813437AAAD9 -F854790F9C8F53A93D2316AE1BA3C4BE78541FB1BFB9623B4EBF253C5236F39A -0AFF9C35386D362CC3244A52155C9135BAE88CF85C8B77CEF9383A8C76780B68 -AEEA582C478F1488DBE9036A6AEA164013BA83747117533595607CCE07F442D0 -BEB4CEACB592EA684E26B20BA7829285E081D3833A90E34A485FDCD7752D5782 -B1DCDEDD61DF46BEDB512D4F58A0D99BEDA28E0F0B2A1A05A65B082334428499 -17F627E267956F23867A0404390F8C6E20F3AC10AC8579334876DA4C57578C94 -459F97DD1D9AC108D77069DAF5AB901374C5D4AB8035A0748F869492E094022F -9560EA2F42653A0806C4DE9B1B70EEBE0EFF8F32488A040E3DF6B6C0D7A45416 -A8992C7BBB6E3DEB3F4666C12CB2F8C831B24369711528CC2A28B244D7FC835F -56882B84B7F59791CDDF8EF38873AC2268A23C9141927A2E6FED0B17C872DBAD -CF9557A8D04621A5C98D5C2693F94F59B8CC1DBF7D05FB7C4775B603A3D11F62 -CEEC3B4B613CA6284E4CBF095A4C6E69F63E935E1E75BE5B2B68367574C860B7 -1F0CE3D0A49E0874AFC9EA2446E639C0D57D3A57E46E405F0174707029D8A938 -A689295E291BFC0999F6102D698E89C797FE0FC34D89808CAD9853CDBED7D46F -466AC7790356085A61FB682DFF6052B95C294FB1A17CDD1F4965BD603E53657D -7253A96B87F3665AAFC04B542832820C2983D69F8E5CF8087184ACA80D66C85B -C0323F789459E54B7B6F395F5A0D8749F338E20A924CC3D4828F39F3FD028838 -504875F288A19A2ECE62F2E364D2A11285EAC3BFA012983141677BC7AB3392DD -AEF915ACE2819DE6B43440BF73EC70E6F2BCCF50DF8DA299B9C114C4469D6067 -3B1AC69A0D349F74962F81B2BE5188E187636EE79D858E340F6AD8E68EE3AD7E -BF4CE536EAFFD6CA021372BDB805E368E02F6C97AB22289C7DC933B54B666A67 -2A8095A5C9591D3CE684B3B76C83379D985993151F913D2EAAB4F2199D2105EF -0B5D5A87C6685C1113228D8B2C48E71EE6462BAFCA542B0CC27A1B29C423193D -78133B9918E40276252607D8F68689965E72632E5EACAF2E9D17C38A689983D5 -83A9344E5694238BC1937392063D0407C88E2A39FFB2057F726F05A99CFA69A9 -F1280CC114D0F8676C13F781852B7A8C32D014515969B6CEA9EC5157A96E9156 -AA95D86B5FE4A53B4BCC70B92B05A3B14F61D624AFAF133402809A6032F6C21D -B31A094CEE2DD4CA78C4C48D5B8630E0D5E96FE6D12EF4ACCF3E7655ECE8A1CB -999C2EC830036058D8EEB446504A115F84DC96F4FAD692BDCF84878D2425BF0F -E35F047D476030EF6EB511CF22D30673C61AE2346A000BC0AB0E4A706BC95BB6 -6CB4CD11AD5B58EEB83F92B1C9A12E17FAF8CC674046968971FDFB145289D2B7 -96DB4B67E17C955BC1B541EBDE419954D93757DB97EFBD287185A497B4F0D115 -8FD9B6334FF367007D12AB90C0BEB6C62873EA5F358C06454EF706FB482AFEB8 -D509A18D825A2C9AA3C1631A3E80B63995237ED3D44E6FE9167D8A06C2C4D1A1 -C98D817E7B74E3D6E771CC0504E3FB41A343C38A76F3B9BCEA5471A4B6E70164 -853BB5CE86A414F066BCA0FBEF1EB2BA61903FEAD8A363DEF2077991B4B5B699 -BB4169D80B0E0A18A186591F39FDAC86CCDCEE32C2E303018FE972B2D4880B1B -4910FBE0FD05B1F8A4E0E479E04DEFD404D34AAFC4F50996D6CA53308CAB0FEF -0B92D4A959F29A3D6BE04E34B04362B2D0F305A931724B28F2BB378923D50D19 -0FC988E5DFF59CAE16436F975BA36FB12CD6B4132CD54982675CAC8B671B81CD -52FE900BD908B0CA2810E1E88699274572405BC759F144F0D79D0D392B46E8AC -21C563621707823AE395E8456A3B885746ADD3BB2FB0D18C0044E54529FE4636 -46C0F4BE62562BC2B8555F629BA80E344A5B5D8A97A3293E0B9E9E0D5C3523B5 -C17D50220668EC5F60345D8C21080721197359444150B30A459A45852A602E9B -E4BC8CB7C8651575559A055943167C9853BFC7CC731B7BD8D8F9E79B4B2EA772 -EFC660613EFCE8DDD6FF6FB88633889850A0BC6CDDA733EC0EEFDC70DBD0888C -50845CE68C96F75B10DAD94C695549E31629806AF6A9C6E561A760C129FF73CC -014D2499631653F580447D258558641BE7AE176369C0B1E92336BE605E37A6BA -7BAE21AEE1BF724B4D2DD52B583A7CC65D06918CE1CC4BBB77391C1D73DBA2EC -8F3211EE4836596AA908F71B591A37F7F833AAC47797AD9B38DDBF16E12A3FA7 -CC7751EE13CAD4B2D762CC0CE389D2F7522485ACB1A6D5D4A59B26C3E200F755 -C6A67F545BF2212874063B5F9B6CCBE637AADA9D99778D070403CA3D9ED93F09 -E6363AAC1DD16ACCB46D1323A22F4DAD4D4F8A83900591714EC0AD19E1BAEAB3 -2D8D6B4548D984E9C5576F114023536971ED2380B36BE3FC3D402C420E20E1A2 -D8649D89FA0A3D9C37D27A7FFBA55D4529F4ED630AB901EDFB347974CCA709EE -A1E5A3FDBD1E946A2B6FED9E94D52117A45D708BB624B7F699A4FBE057935949 -64CDBD2CA055AD7FFFFAAD6751772DF445A7E364B8827E4B210DB993E0B6DABA -802389DEAE9E67193BF956E2FDF8906C81DD3FA72B45327AF96C6414055E9F62 -3AFB097EC64A370E7893F81DFE5F35F806DF05F486C16B435198859CA38E050B -79F046F0F856312F718AF578048D1E8C578BC530D39E76B13542CA5DDA887123 -68C4ADAD1401E563A757DDB94FA6594154C65181523DE0F6CF1DE7F502D1FAC5 -3A1CAD3969F2BCD2E2880B6ABCB9CF58EB5425663C3EC4382CB7B1C1598D43BD -AF96E96D6E8EEB2A422638AB28E13E52A4E9FA46BD0484AC3BB87E08F0F5E76E -920714AE9FDA1B27ED98FA0006941682882B88F487A3FEB757C51ED7111E9D8F -FF3A0D2B24C25B6DD774EE298F8D7954D677EB872B68A74440E636BE24B542BA -7CE1905FD651E611C5060302FE6EB643980DE8F0517AB177C10E551A9953047F -FCC5918A4F9F5DFA975D0F5770C5C5384976922C47DE2E9C408675A276CDC10B -9C7D1C21CC0AC798CC9E2CF155296609B899EB5D61373A3AEE2EA93423BA5F79 -1F58D9B96A30FAEE2736F6627A67A458B038E8C71A95E37F683B3E154B192C91 -047304FE1719CF54332B354B13AE05759B3C8519F7E7730B5EBDCBAF340CBED1 -67EBF58218C977C7B61E167D4DC8F53FEA0A8676631ECB8070D5DD2B8115C468 -7D89EAAA61D9ACBCEE9541D1D7F447A62B50DB8A6C16DEA840811D9A15806C89 -C0704064943EE09882496E7FC8AAD7B19250C5523F036DC7C0DE0D9A92BB03D2 -74CCA36339C877FAEF195987C31776DBB990B05837B60E46229B08577BC42558 -A8A73F65B43B13754161F0D44346CF4EF69CB80DDA5F5E864D8270135FEE1E8F -A6586FF2FA751DCF22AFBD027E31E4065DBD170CD7022A3D2D60E9679BE0601F -FEE0C7DABB7F97D300F82551E05BE4A020DA53B194D6E03313CB46C021A8719A -0B7C91188BA6AF2D46B1C2ED1D0E8F66D5E9FB47A3A0AACFFE8EA98FD8944A15 -75559A0548C73336FDB6899FC90B5EE9231CC52D7B357C47C629B9E543DF0CC3 -C45594A17D654C76777448C9A90EF0D8452878B1522ED0599D243F6FD65E1999 -0B7010EA4D8D14CBEEDA1F7AF7612FE1D31DFD93398EB700B98185E3FD950D71 -2FC239ECD8DF460C34B2DC0C04C230F27B1E997FBDCCB3C515E625B02CA3B8C5 -4FF06AF0B81EAD775B9BD456316764F2D50C2ED9776CC06A8E2431E50BC41DBD -57EB475AF0FF467B9DFFB32F43B5415918B3C1DCAF6846E3EF1272594B93E045 -B7C350350E43CA0140EA6560EC0AFCF5FB354EC6CDBEF557C409CB8D2E -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -cleartomark -%%EndFont -%%BeginFont: CMSS9 -%!PS-AdobeFont-1.1: CMSS9 1.0 -%%CreationDate: 1991 Aug 20 17:34:24 -% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. -11 dict begin -/FontInfo 7 dict dup begin -/version (1.0) readonly def -/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def -/FullName (CMSS9) readonly def -/FamilyName (Computer Modern) readonly def -/Weight (Medium) readonly def -/ItalicAngle 0 def -/isFixedPitch false def -end readonly def -/FontName /CMSS9 def -/PaintType 0 def -/FontType 1 def -/FontMatrix [0.001 0 0 0.001 0 0] readonly def -/Encoding 256 array -0 1 255 {1 index exch /.notdef put} for -dup 0 /.notdef put -readonly def -/FontBBox{-63 -250 1027 760}readonly def -/UniqueID 5000802 def -currentdict end -currentfile eexec -D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891 -016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171 -9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F -D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758 -469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8 -2BDBF16FBC7512FAA308A093FE5CF7158F1163BDCEEA888D07B439DBD4E8B4C9 -D198C0387612A3C669D6A672BF4726B90213C2EC063317A043B6447FEC896BD0 -598D0AA1DDB874B7D72F3E89529FFB544C16C41F04AB6972093A91C201589D61 -A8FE417702E200FC26E47359B881D02F7CB42A5B21F90424F82FEFEEC5ED59F6 -C48895523098D73036537A54639526839F785D7157E08DDBCD96AEF023667FC0 -1921070EA097CAAAE9E4E9D5D21DB9363555AD932858E23A534F7DA9F2F0E79E -9D46C0D5EDC452179B6A328A52412F2FC548B03A056663DCE243A441EADC0D63 -8FF6D19EEC71606A368EC3EF1DB8FA9117DB6169ED3BD792D9AB2811378E50A8 -535232683CFB2C5E0F3C350CD294AF9804B7B88FC848D962819940AC88247756 -BD1EDE31C397076351447974F91BA99BF34081C1A6C65879C36934E1494108BF -FA61B57E3A8154D7CBB6AC9B671700FE227AECF9160145957A2E629C3931CA4D -42147A6CA42FE5E0947DD2EEEB0A640EF9C73800A59F0F0B6B75C3C9C863ADED -9627DEBC218141FA414913611061B3EBB46AA393CDB074A40492FDEAD1207838 -A13CA709C2CDE567B9688DC5D4D622ACD752A7D6DE3F79002ACDA6AE41EEC084 -BB1D3C962725E1AB05922698C598FEAB0D02ACFD97CD8BAD811193660043AEEE -659C18DADD0E614A401FA0F0A485AD4A47DB73FDB3D2B294145FFBCCB994FD2E -68B4ECB3364B377FF6243ED93921F3B3DFDAC3CE9CB3E2B23115BD45FF1F6734 -70DDC37F712D78543A8A8A561DAF3303DD8F3742EB700043207D04A782D94952 -1E57EC7E5858AA91F07524F2EF2A129D38CAF8698126B8981537CD4DC45AB99E -EE571322DA22745F552675C785D0A8898ADEDD5DA7388C11DF0FF0A83DBEEA4C -B10CC9A0E251EDAEFA0E59C48CFD956251AA3DBEF86DF110ED7E17D345278BB6 -8365930F003C3BAFF473D190AEF9703781822E427CC433358196205789F43940 -EEBEBD5E1F0B00C7FB81D55692F7E046919E8DF241E542D4C2BC1C567799711A -BD2A2084EF2056A525FA925CF837C22CCB2B3A01F5009FD895931846DB4078CE -FB5125F55364E4862BD1A82697F597F44072E620D1281E4D6618608AC5B75BB3 -7B0A0FA4FB572CCA974E440D30A08ADCEBAB35BD122E05396CFCB58BD63F0C85 -A7B71CB3299A6FF29F4C7CDEA0BD0482091DFB1F5051A8CA83FC0A2A2C55384E -502F6A30FD5306FBA7886969D174126223E26E481173A8A3DC78FA6FA3E7DAD4 -0D07C4BB65DC5F24F51A5F6EE95223E93A84EF010268E57596595F7C3FC649C2 -70B49AC6758944FF6033B04DA7F17527B5D8252285A2B185DAFEF1B263BAB496 -A33BC31332B9E30B9F29313D9E797956FC190852DD3E61D7517B5EA52096F197 -C0BDEAF368DBD50186161A49ED70634970E3142379CE7EB1DEF278A46BBD67DC -CC00071F79D6BBC39CA2DAFFC4A04D7876A5CDB4E7D03FBB51C0FAF7CBA04A92 -08C5CD4FFFA751B7441B1107E855FC31AC444EA594953B55EB8288C300B8C8DC -1CE6E329FFFE68A50CB2B1A43D2F3DC90A32B4C9F73AF809F743F9E66F676CFB -C68C633A34954D78F8429C5559E7BB5B1DEF7555B0186F85 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -cleartomark -%%EndFont -%%BeginFont: CMR6 -%!PS-AdobeFont-1.1: CMR6 1.0 -%%CreationDate: 1991 Aug 20 16:39:02 -% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. -11 dict begin -/FontInfo 7 dict dup begin -/version (1.0) readonly def -/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def -/FullName (CMR6) readonly def -/FamilyName (Computer Modern) readonly def -/Weight (Medium) readonly def -/ItalicAngle 0 def -/isFixedPitch false def -end readonly def -/FontName /CMR6 def -/PaintType 0 def -/FontType 1 def -/FontMatrix [0.001 0 0 0.001 0 0] readonly def -/Encoding 256 array -0 1 255 {1 index exch /.notdef put} for -dup 0 /.notdef put -readonly def -/FontBBox{-20 -250 1193 750}readonly def -/UniqueID 5000789 def -currentdict end -currentfile eexec -D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891 -016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171 -9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F -D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758 -469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8 -2BDBF16FBC7512FAA308A093FE5CF4E9D2405B169CD5365D6ECED5D768D66D6C -68618B8C482B341F8CA38E9BB9BAFCFAAD9C2F3FD033B62690986ED43D9C9361 -3645B82392D5CAE11A7CB49D7E2E82DCD485CBA17D1AFFF95F4224CF7ECEE45C -BFB7C8C77C22A01C345078D28D3ECBF804CDC2FE5025FA0D05CCC5EFC0C4F87E -CBED13DDDF8F34E404F471C6DD2E43331D73E89BBC71E7BF889F6293793FEF5A -C9DD3792F032E37A364C70914843F7AA314413D022AE3238730B420A7E9D0CF5 -D0E24F501451F9CDECE10AF7E14FF15C4F12F3FCA47DD9CD3C7AEA8D1551017D -23131C09ED104C052054520268A4FA3C6338BA6CF14C3DE3BAF2EA35296EE3D8 -D6496277E11DFF6076FE64C8A8C3419FA774473D63223FFA41CBAE609C3D976B -93DFB4079ADC7C4EF07303F93808DDA9F651F61BCCF79555059A44CBAF84A711 -6D98083CEF58230D54AD486C74C4A257FC703ACF918219D0A597A5F680B606E4 -EF94ADF8BF91A5096A806DB64EC96636A98397D22A74932EB7346A9C4B5EE953 -CB3C80AA634BFC28AA938C704BDA8DC4D13551CCFE2B2784BE8BF54502EBA9AF -D49B79237B9C56310550BC30E9108BB06EAC755D6AA4E688EFE2A0AAB17F20FE -00CD0BFF1B9CB6BDA0FA3A29A3117388B6686657A150CE6421FD5D420F4F7FB5 -B0DAA1BA19D638676E9CF159AC7325EF17B9F74E082BEF75E10A31C7011C0FFA -99B797CE549B5C45238DD0FADD6B99D233AC69282DF0D91EA2DBD08CE0083904 -A6D968D5AE3BD159D01BDFF42D16111BC0A517C66B43972080D9DD4F3B9AE7FB -11B035CE715C1218B2D779761D8D7E9DEBE277531BD58F313EBD27E33BEF9DC5 -50C7821A8BBC3B9FDF899D7EAA0B94493B97AFEAC503EB5ED7A7AB663529DD50 -29E1FF043619C3969739047DCBCE4B40A2180D3AF01E363BEB35D72B8C36FBB9 -A4496D85530D2676C46B3E1D082CFA3A28E509FD0E0813FC380547DD8CC90750 -DA7F95A73A69A0AF5EF108949B1DDDDB7156DF60CE580F98AED95C3C031856A1 -B049374A7019DBECC7B996B107D74D982FFA19C2994DD500EE20A4597A9E37C6 -400C4DB7E7976172620AEBFCB30FD88C45AFABEF09523336F285160E5153581D -14384D21B9F7F735A6DD1B73CD13CDE5A0F8E9201E03337A8088D4626BDD36A2 -2E0EFD91140D754B08D45C16DF7E1B998C381A6BF53D0C0B5B2E291DAD087A71 -9F1778157867434C1330C3F30B8E308AE619196549C0FE765F2581E74ACC0188 -9827561470E34FBE6D2A2685E6520A4414D7EE1E8A038E082CD20FDB77811766 -FAD06186B6AF02B84B0FE903B99ABF0C8C595D951458 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -cleartomark -%%EndFont -%%BeginFont: CMR9 -%!PS-AdobeFont-1.1: CMR9 1.0 -%%CreationDate: 1991 Aug 20 16:39:59 -% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. -11 dict begin -/FontInfo 7 dict dup begin -/version (1.0) readonly def -/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def -/FullName (CMR9) readonly def -/FamilyName (Computer Modern) readonly def -/Weight (Medium) readonly def -/ItalicAngle 0 def -/isFixedPitch false def -end readonly def -/FontName /CMR9 def -/PaintType 0 def -/FontType 1 def -/FontMatrix [0.001 0 0 0.001 0 0] readonly def -/Encoding 256 array -0 1 255 {1 index exch /.notdef put} for -dup 0 /.notdef put -readonly def -/FontBBox{-39 -250 1036 750}readonly def -/UniqueID 5000792 def -currentdict end -currentfile eexec -D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891 -016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171 -9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F -D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758 -469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8 -2BDBF16FBC7512FAA308A093FE5CF7158F1163BC1F3352E22A1452E73FECA8A4 -87100FB1FFC4C8AF409B2067537220E605DA0852CA49839E1386AF9D7A1A455F -D1F017CE45884D76EF2CB9BC5821FD25365DDEA6E45F332B5F68A44AD8A530F0 -92A36FADB679CF58BAFDD3E51DFDD314B91A605515D729EE20C42505FD4E0835 -3C9D365B14C003BC6DD352F0228A8C161F172D2551CD1C67CD0B1B21DED53203 -046FAFF9B1129167921DD82C5964F9DDDFE0D2686875BD075FC81831A941F20E -C5CD90040A092E559F6D1D3B0E9BB71733595AE0EA6093F986377A96060BF12A -A1B525CD9FA741FE051DD54A32BECD55A868DD63119A4370F8322CCBEC889BC2 -A723CB4015FC4AA90AE873EA14DE13382CA9CF0D8DFB65F0ABEDFD9A64BB3F4D -731E2E1C9A1789228FF44116230A70C339C9819676022AB31B5C9C589AE9094B -09882051AD4637C1710D93E8DD117B4E7B478493B91EA6306FDB3FA6D738AAB1 -49FBB21A00AC2A999C21445DE3177F21D8B6AAB33869C882613EA6B5EC56476B -5634181ECBF03BFEDB57F079EACE3B334F6F384BDF9D70AEBD592C8ECF21378B -54A8B5DBF7CB9282E16AA517E14843909339B5E7C55B038BF3BB493F3B884A1C -C25F9E8FB912CBE23199AD9D2C3E573727701BA301526C66C3617B9514D6F11F -11930B1D97C17816C85B1BFD9B973A191B33CC3B391815AD14F1CBE935942AEC -D4004E6BEF379066FD72209DC88D2E634E79BCC2B98C766CBD92C561F2703F8A -109E6C6CEC7B866F2FC7ADF646BF492E520319F3B949AB5D84AE990B33344A40 -3971F58DFDF8D8D67FA0B8F2A0D884F8C09A5A721319B911DBA0A35903877343 -C37BC36C5EB32353272D1E6ED5FCA611BE319A7E1E842CB7576E7DF8A19E7E33 -8CC8A86055483294C2563127410557B923358CEDD35846F7E5A236700139DC1C -778802BA22C3D0692ABFF3980850B2268CC09FEFB02966AF98104574A0389222 -7A4F5182F7321781FFC66B1DC762AF239DFFE2D6A29E5D16F97EC8502021B33F -634B5829C1B0195A07E1080CA87F75F191687AC763A330AEF0722C8C1D00CD60 -0147C21E7B06692A7958E4042347C7F990E34965E2F8FF86484E6C5B04C0579E -5E9EF9EC78D1A9E79DE23C9DF142D2CDDB3BF01E4C326603D6C145E4114B6473 -56D5DF645C269949E8C9F75490BB44434DABDCF36370E5D3C5FD7F2C3CA5E22B -76AD8763CB09F85F1685A4158227E8ED231F829E22D07C28CFFDFE801F1696A4 -BE65E9C852D0C38B35FFE7088DEA56AFBC0DCE0D59F4FEE4F8D3C5F6EE7090FC -909488B3B5B28304D2902AA6395DEC7857AA12EB4510C5A81ADC47CDCFF13A9C -809376B1255FD3443CB6180FD1C68D5E3F5467C9AA907D2C756E37107100671F -F0A54734B814C8090B0FCCC21B1483E5F101C51592B117D92D43FEFBA13380B5 -C39907F38D15D562BF9EB9A1C667DEFACE719ED7757A651382F6324307281FD0 -C2C4694FDAE6926126E83D12C20B52FE29EDF850C32C644575AAFA887FE779CD -082F4EBFAED6E71EC9CB3DD836BE46E9FEAD533990F8A0A6D04E4C0143226A49 -8A7514487FE8979777D8A187DC1378E1D3BCD787379E3BCBD3A478B961906B2C -4E455713DE293B8288BD2C0DFB9687D8B7BFD0DAADA13B48F661D85B785B30CD -C89E6EABA90963B88A8961F0ACAF3A24CA45309C7D8BB2B03B9DBC0309809809 -E7415D779E6B24AC8A424AFB8D80355879860D132BC1A6EAB065A5D67ECE415D -8AF21E11213065B3A882ED70122C849530A57C2E4E34509342BA65AD294CFB5F -BE636E7BAEF53749457E633352A85F48FA4E38CE03E65EB625F96FDA66F12E96 -D114403A12F0A8E007AE9E98366C8FB5CAFC6CEF30A73A44EB567A7E24307CC6 -004457B85D14C86A84C1F476B287BC09F385954FC851BC1BD692F906B810361D -78A703D6F7FAADED291679EC7AAE48C24AD5A7F768D2FC967484ADE0FF2E5C8C -06E47A18640A4883841E9CBEC0CB6C9D2A4EA50C456E0A9DBB03A9A5CB74EC85 -D0A9DA368E66EA078AC9DB16D1233544218D6786254DE6F6F97F40BADA18C753 -244D01F2579DC6FAEE32A048399D846ECDDBCFEF4BB43FC3D168761C193D58BB -EDF1843AE4F00F8F6A9AB514BF7743E257EB5EDDD576877C4D717E5185A257B2 -E31ED157588757807152BEDAFB14057FED93B0196EA0DEABAF80DE538BA788EC -35D5A981CBC502B4A0781B33C8D9793D81A01E9005ACA931575B7FB4D5767560 -BA68E141C4F311AD22C3BAFFE7CF712559F229E27227D29BB53F3DC04448E60F -744D2EBA75DB9FFAE5F03603C4283C306B3C89AF5DEBDD88E18770C515B32414 -4E8DB8B944DA2357524B73D871C86DFCF35725C50C2D5B1518229848D8E82993 -8DB332224C791B7BDD849ECBA36BBE4F9AEA794E94F99F4D47FBF748E71FEF2C -21F7C3CDD178BFA17E82437837B8549264D7C1ABA5EC5F5DF7CA1FF22E2AAD51 -A29CEB9D63E2FEAA73AF5B1271741CC3D3AA6FB4BDB9BA15AB497CA4249142FF -8151E88F618698208AF9A8E24E286661553807DF4D67F246B30C8B42E5BAD4EF -396880279B244DFDFDC07576AFC861B3C6109ADE3F034754ECFDCF886C4E8298 -C267AA72222B4D18CE7FC4EF1C2597157CD9859E9488DD99D75EE6FD4D075522 -F880E12E9A57438BEB8145CE1C6DD0FA2B38DED11368D8E9328E7A6C8A187A61 -4A9CB9E5AC103B349B98E2D9755F7D8D5825CA573D1D9040A7DF45412E8E1D27 -228DE1FF69B56C6512DBC66C2F3BE6410137E326BC08F4520886C1F2F7C121A8 -7DA8FCE19B11C496D851076A35FECB07986924FAC14CE9D1056A0E88882F6005 -647CB4A6ABBC0EC43309E7CC122B2BA0E3C4F5B651DABD9963FB2E42291092A3 -747DDE345E52A9F8DEC2F9167E3F08A9705CC50A4C3E8DFBEDECF6B55A87FF2A -11C7D2E324A70994AEC06D3CA08531E830A2314DEABE80E6A0F439C57D245C38 -AA1ED0373F406B44693CA5D7E8E9069AFD820A6C91E2DC6AD5FDEE01B0D662D7 -EF23684582415A96CB0F3125BEA25E6B987C08A2AF9761E240D2EF60263162FB -19661FA91FF233A4EFAF2F802F9E8A73BE63731AB0D36519D3656E58A86B2AD9 -55834AC4A4EC624D6B12309F6547592C8C99DC609179112AD701EE8CD012633C -2B34085B3FDF4306E5A4E14A05627B81623FE17ABC0A6C953F4742AB10B05F21 -5A1B79F5BD16F46B69FF8D492470E33858B4AF4EF6E63A0A4A51B0E98E1799ED -32216673DAEA9B268B07423D41D8704B60A55670EDEA4237497A2FB7EC728572 -87520C9330C12A52926DA720FEBFC50081F505AD147B8CD4DB4E76422D7758B3 -FA2813F4ECAE16A7D254AB6039BA47E20B89FB89344E3BB47E4A0662F0103CF1 -B0916B246F5D48A037CCAAA6F16C95208221B5D55C3EE6F11230C5EAC5BAB154 -351DA25AF565C8863A82D89CAF53834F08035A95049A782D7854233628F84C10 -08EECB047B3E1A3140EACA5CF6B20F626EB9F860734588DF867E4E8D4D875540 -11AB8032B40D6B042B4C8C0B239CC81A5EF6C4CB6BFB062164FCA331B1AE0070 -C6B818BA3A3DA9890EA61CF9CBCF77A493F689069C7838803C2F2C4519D87158 -47800DD13C61EA41A17CFEC100C0B6CC4B61FFC217982041294ED1AA42FE9BF1 -9F6A6CDB30A49694D39353096DE037DCF5B4410FEE67721CD95A14E3BCDA7D3D -BA8E0A32689B0CDAED3CE6BA19DB4CE4B9D181972DCE1B71A3A688F6CE6DE4B3 -01665FD522E603DE5ACFCA928DF94641F17C57B93B08515CD114E064D09C3F2C -010158AAC2B2B67D9BE482790399ADD74B7CE694C6810ADDADD77AEA08D8E8DB -C06ACB01EEDF72FD7A35EA1F69B0E487BDFE13B39AF7834CECD10F1F22DF8829 -E46071E63038DBFDD9418FB56A1E417216B8E09DFB163E42EE46C4F04A7A21FF -9EFE2D3E0ED61AC110F3DC2F2517E8A8A456E0D196AB3D60492927F6B3DA5B43 -FA9D1E809131CB99E97020D3A4B42356C616C19F71D4F1AA78C1C3F76F0563BB -0C8073A83BF62AD8096F7F5123E4718E641369B8F4A88D0D861FEDF9D54C7D1E -A2CB1813AF782A4B083CA2424B3B3086AAD1D1A47734FB2B7F4DC1D4EB012B66 -1D73A9AC2B0F1C964449E77B4A50A96E570D895E39C5832E69D48E2A1BE2D8C5 -10615CF8D1FC1BA0DEC232B28D6D916DC178AEBF4ADE8E0CE759B9D22825291E -DD13284857D6DECFD0999CD0103C19A69E4A29129B100AD44110B1A5E7CD0701 -FD8D67C8D4E1D3597390392B855D732BD011A9970F07F636D5202625841BF0FD -E036A6B37AD9322F952776778AB73D0DBCC9F55C92CE761C7C84D5FFBC046A07 -0DA1E689D110A847A50A95757246AAA304C3F8814FF0515D313B0B846E214DEA -A624CE24ED645C1539CE8D6D97A72794BCF84AF7976B9EF5DFE19B3A09E17162 -A24D001D41BD0901FA3E08A59FFC488E0864553E33A6D6603EB590FBFF50D5EC -AB082967A0245D0461094101F765902367E1AFA9EE599FE5D9EE3232E4AF6DF2 -712E8EEA6BB827B9E52873A37282FEB4FB4428E4B955EEE731FCF88F67074E53 -10DE407C713C630B617B4C337704BDB8601D4A649EC2D3127F99BD5DB51BE29A -F9B88F7CD487DE06410A3B14F2E223F0B190B183B4CD80DA3A71C907C772ACBC -1F449048930DADFDAAF1F2E6396A67B7335F33DA025727D543FA4F552E506C9B -F1E4A9DA67297CD070FADCDEC8FF5983E5F44054CA7855A303F89CE893E50C29 -1EA9F30F0A67EAB7DC6BF9B9DB73DD2C1E2940A3EEE8AB865BC30578AC0C5E5C -1E1A15BC87069E84D39F10265EC0AFBFBE2F8BB5C6430068D19890DBAD286485 -A77F6D02B4CA78E13C4B967473823969786576A15E76C995553D694632EF1DD0 -DAF7E51886637A073D59FA3C5B41E3B8CC2E4A332ABCCB6CE1C07C1179A5F088 -7907A3EAABAECA61C0D25DF373A6ED65F0317365722B81B13ED6D8BF3AE1F6CD -75A30F6F3B214E34DA70A54E33B40ED45B1FF7D16876AED50827C08C74365F07 -18C2DC79C69C6B96A8A1D5050C0264C8A03FC81B558CBF49BAD1BC7FBD4F9761 -8DB335068F571EC3950FFF87D37A0DF64B5DE8B7111186A0DDAFC159C57DCC44 -7C04AA3109E858B07437D6D33A73D33A7E9CB588C050735E9E755B1D9D63B08E -A4C851A2CF53D99F654EE8E98CF0625FB23AF171257539CACD8D0C8696D54872 -2FEBDA11ED0FC98275ADF411E72CA862D5ED597A0BC904D751212E722DF3D34A -848F0902831110A5BA33B97D68C30A10DC35AA17BFD8767574CBE91069364E74 -A8ACA2A2E77B9D8565E37E9FAD4B8487F34CEDF25A8460352E7F0A8072E868BD -5AB6FB24166BECD70668CAF2BA6E489765550DD0C84534005735F75C0C58FF84 -82BE7F5AD83AF7CA7E687EA3FFD9D2D95C097CD7692968EC6D76C82C7963F992 -3781FC2C9477729DD86DDB226A02E4BA02D84ADBA7413FA69B073724A264A832 -E886A24CC7A0898DCDD7D04F12B500A12F7B672E0F796A1223E2DBB7A74A8F91 -5147A0EC71BD02486936587830E06992C2709E39E2AED197303B296C629AC4CD -309468660D8E059A1894F3AE7C98E88AC689354F1295A5B3913D0167E74F89A9 -7FD054BD22B5BBF83331D049D8779D40866193495DAE198B819394C39C1B9051 -7EED6878B165DD9EEFA6E932601852BC45F2ECFD4CED259ED88EF58FEEF904D9 -35F587A4C1C1BD19C50E79D18449FBB2B461CB90CF13901B048F99A113D6BCBD -A7929F63E01CA9C72A2786217C5987942C345D99439AF3F71A851DBB8A4A5D16 -B56B7E3F6C3F2DCF4C365BB5E01A976F1559944F6B10FCF2311D91F3620FE81B -2FD6AF05047C94CBF8241BC591ABD8CFE586D6BBAD1D7702E82B4CC3100A8862 -016590CA5877AD76ECB1B0065C1F35160EEFE47126DA1E9846260FA268884CEA -2635CB0137E2CCFD1FA0EE3169072A2050469D6EC8DA1844647039B7E89B00D6 -B9BBF92C3159F04D95031E254A0ED1DD7A60F15A282660A23E2143689C1B56A2 -D33370657A18DAF1BAEFE34FD086D89F2400A18BF93D97669CE546350B5A7E8D -D3090DF6479973622E6F928EABE69E7531E7357C5011E6C381AFB13D000873C2 -29BBD1466CD46F30E772D2F1BFB936BEE4DB319EFE6D3D44207F562FE247A2E4 -EB3A371C317912E147F0519BB5D2D0768085E5A90708AFD4CBD8157B536229A2 -4CEBF979788F91DE2A2483CC2F35F69618A83E4E1C8E59959B5F064B5D8E1304 -43FE860AFB0593B6D38C13C233CA1C6488B0EC50330AC33EC37FCDC79D7AA5FB -60C1A2716BCD2D2F3D919488C7E051099516184DA03C279096A7535B624C0419 -03DC0400FE1C64B9D8E5440A58870D9DC0AE1F47B4A6ABE87D4568BEC9718B5D -877E4C4D03EEECB24223F5F81BB4029E89E5FAACC17B545E11297086D7132A17 -E9A300CA56DD217C053FAD251019B65A69749C0A7F81FBBEB93EB03E7CC0F1C6 -167E8D5C8A99E6F8ACD75C2CA3609D9A4A8B7A1A35D928E159955FAD3560647D -74EB1E4340A0746A2A101C785F15E4AC4464750F4E3F0CB2A0B2A1FE4AFD6107 -BBE4CD76502CBDEB009040F818F13D24A5D49DF8D14046909BF9F691E740CA62 -8E21C7037B1F7AAA0D1CA1E0CC23A20294B779E4966C14209CC045FA4AADACDB -3F51CF1F1ADAD4F73E311626B0AB73ADF23626BE7F541271ADCE0301FAA3A3D1 -FB7E3477EB8C808D71DD1764BC6978A082886B78084BA528E7CD4064AA451FD8 -B2C88C68F9A1446128BB69F11DF7DA29F6FC746DD7291C8D165192F48C5B4350 -633DFEFAC7C9346BAE1C527DFF6A8C0CC23935FC265298234EEFE4450A5CEAB9 -3FDF0922EB2144B4BA66F7CCB92F104A0C9C37A665DDF643F407AA4E747168B9 -39FE424255206A919191A1250BD6518D69EC677670C92C2FF24B31362FB73290 -1E6AB234F75D3CB83D12002ECD49995DFCE6467270413104387012FF2AD78A74 -F8EE9E7C727FE46ADAE85E30012A5ACCE3F9811CC7D59CA70C0F140072453C96 -A51A09A2316C17D8B944DD3156EC2F095D7EC838A8CC83407A87B931961E21B4 -EF25845F5B04B37E1EABCED26593F70CEE947AA491D800A911BCBE922B445A8F -6EE3AD4306CCD89FDAED1CF39263FD256E7CA8D76729F5E115A4CC9B7DBDF960 -8B61605FD303A5F3CDA3DE3AE750745827E96DA5ACEC383A9B894C7C9ECE1D46 -823B35F6EDE1FF1D44488CBF3B7E2461E998823E7FBE36993624186F27EF1C53 -066E4B02A34AC195245FFAEAE87F576BF40C6843CF0B0455DCA35879DDF0D568 -88C1E71B41E402DB047348DCACA45D6A4A5EEC01BC4C232CD03C729135F29336 -72333A052B2F0325BE3546822B7937F4906868876BB945C1881E6372B09BAFAC -9838E002DD9369C4B93BB5B9C7906D0A4D98F1C256BEB7A0D2BF6621151ED7FB -6CB2B65B2AD8E35306E064529A32B8E5BC78CF5A955CFE26CB0894785EC39AFB -87B69E5EC6141C467E2A043AB237DFEE36E281ADEFEF50B72946B1E3BAEF9FB2 -355A616501923CCCA9484BF3EF75202D490A7FA724566CAEA7A05DDAD6E6CC29 -C392FB5A3933EAF215B57730930CE4C931C15D9B07C9C86F85C7E3111C17111F -6961BCF464FDED2D79BC479F655E863C9481DE5E2C5E33A8133128336F87338F -13C90DC8ED609DCECF40FADE0142CC2262618A7C5DDA004DBBDBF179E3ACC69D -332AB066F1EB7A4A5B00C43DBA651B9AB647F619D6CF73878B8E09BD0129662B -8424F0D19311C7BC4633B3A9B740126D72583552135988B4FC5A3C37E5119AC7 -480C1B769BA6D5E2CF9DD829514393F5AE3DDB752C9EF9923DB80C40E3FE8289 -B79FDF87ECD6F679DED5361CDB76FD9178B187F6FC77D25B45EB9F2AB2595E -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -cleartomark -%%EndFont -%%BeginFont: CMBX9 -%!PS-AdobeFont-1.1: CMBX9 1.0 -%%CreationDate: 1991 Aug 20 16:36:25 -% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. -11 dict begin -/FontInfo 7 dict dup begin -/version (1.0) readonly def -/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def -/FullName (CMBX9) readonly def -/FamilyName (Computer Modern) readonly def -/Weight (Bold) readonly def -/ItalicAngle 0 def -/isFixedPitch false def -end readonly def -/FontName /CMBX9 def -/PaintType 0 def -/FontType 1 def -/FontMatrix [0.001 0 0 0.001 0 0] readonly def -/Encoding 256 array -0 1 255 {1 index exch /.notdef put} for -dup 0 /.notdef put -readonly def -/FontBBox{-58 -250 1195 750}readonly def -/UniqueID 5000767 def -currentdict end -currentfile eexec -D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891 -016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171 -9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F -D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758 -469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8 -2BDBF16FBC7512FAA308A093FE5F0364CD5660F74BEE96790DE35AFA90CCF712 -B1805DA88AE375A04D99598EADFC625BDC1F9C315B6CF28C9BD427F32C745C99 -AEBE70DAAED49EA45AF94F081934AA47894A370D635D93B1823EC35EB8316AA1 -86031FCC99F57CB21E8400E54AA474B57112F0D4754A16BEC19117E9D3638986 -0777A71B135CC18E20E193AE6C2BCD89F4A27516DBD2BFE69FF9920D547796F9 -89E0825B6BD5F492B36AF136EA91B826501ADB1979A4204B2CB5C0517F2B9494 -9B2077F316D2B3DA256C99F7549E6BC4B04FE12072B09B4F5D482A126AE351F3 -97DB85F3026A793B51E6B28B54661FEB087F011F0BFF67272DD1E8825C180723 -22AE77CD6166D2605D0C0F131537417CB60086F08E7197AA916D590944BD801B -DEE8F29FFC516E11396CCB8395CFEC9262E22521882DC0316B0A129DBFA5FB57 -E656890C2471675E0566FE461028FB05532E274E6DF77E7D320D09B2203BBB5A -8B185B66B2F8A18A49589C4EE27596DD56260D0D759D2A12CEF7FC3010BA1B36 -85A2FD45129DC01A0C7570423305C25D957DFF9215102FFF35F428C823D549E5 -014E7F99ACA6C10B3C92805376D0F3F280D65852CEA54F5CC9DEF9EC1347824B -0733D3341B34937316E77E952AD9366D3B2ED045165565F07CB636385E5A5911 -2620E185B105EF6C93890833054E05B6301137338A3F1D6AB2F80095E57AE60D -6E5EE2764624849978C811EC38E014AE4A5823734C5CEB2BC22DDA46BB408D00 -4F25CA8ED287D35E26A4CACA77D2D4B986ED2ADD3BC0C3405741CAD56DE28C7C -68E8944967C022CC55907B3DFACC1EFAFD38D3EDDA1AADB6E2C006ECBEFAC8D7 -18ED3C46C331623D8FAACC6CF9292B8F1B407806A0D4808F51A5BC97F6A34ACE -2073F11C6D604D7E8C79CD5F8ADDA187DD1ACA932A19D7017C48B3F140403421 -F5ED72DC0725D98CD494C4BF567B19DAA4F8AFEB76A4A8ABFCD790BE1D051E8C -5C14175D16AA464081AC43CE0AA358C70627B232E0D1C066D57B47402D48ED1C -B8EA3BC935F3B38185D619E4E34B197E7F59DB9EA1D85DDADB729351699F0AAE -F4132DF9D505F6889456B7937D3B73F8BFF8562FEB81A3B72E3467758F3FF242 -7123633290FBA60BFA4B7023BE0127D85FD885D41D9A3D0D6ABCAF8BD4AC78D8 -14EFA95F4B2448CDB65F9D8C6D3EE62599A5A31E84CB17506DAB61F507A9BCA5 -1DD2F0AA183EACA8856078170D26BC14F9EE0C5E95FA7916E06E9F4F4ECB512D -911894DC3720B430D764EF2A5428A2204E662C245266884D302EE02BD3F21A66 -D0123D211E5FC6DAC195C9CEB60D4C507D030ECDC907BD1CBE870660B89837CC -BB8597FD85F65A8550E18BD37914F72D703DCCC732976312F933DA76761E1F06 -D29BD4DFE04F98FCD434B15377DBE41F36AC9CC265DCED60D221BDD291918144 -1FAC1D42A8E835705B4B7503A63F445B1D428B270F8E05ABB4E73A694C9CE996 -0296064ECF7349C5F2C28795E852AD8B74534152808E9110FCC93992C73DF618 -8D61D8162013C681EED5B7FFBAD76D81832FCA75DE8055C2AC33E7E183BB9249 -34FE841A220AA648D57235CFE35F99FC2AED92027C7D38DCCB4B700E228F7E68 -BA0977D9CAA4D8E402BDBC9FEB94AB73CDEEFF3490C634A418E3EE806D6B91A0 -5FCF43298EEA638CE359BCE62C57A90EB5F77B72F86AF8DD2175DCF93FB31395 -889051AD071D679FB0F631B106CA803150A78371B5D83A4F83E46F58E62D6BD5 -3182B45FACD67EBB30BB94B848F07410DFDBC393DAD9B1C80B821AF5E20CEC51 -59D6FCF7EADEEF915F9CB028D0E8127634161D1DF6A125E0B4FD0C067F11BCCA -6AF35D74E8A2322FEDE3FFDE98CEE06707EF26EA7E30C269F9C3D7C4E8DF2831 -C0368FF77798E6F819DA285DA48E488A8FE2268731BAB4824605033AE20D99D0 -EE6342D62F822F9673DE14F95F46135BE95B5FDFF28F0ECBEB5CC117E24AF4D2 -40422AF0BA83B58815074DA6F659E3E6AB5151C106EE1322CACA4FD375C626F9 -481BAA8BC48B7B43C34BCB9DD9A0A74B82DC24FAF981BCD70A4C25A20FECC24A -766E5FE75023121F0B40DBC949B154FCD1DA098A7BD0843351C7C3CDD1D39FE6 -FD64713B11863D0E20364D51946C80FA78AD49B20675F6BD62C22CD990783368 -F9BFFAAA073BB9FD50507A9927A9D75544BDCFEEF402957AA471C6271162C614 -1CCDB937FD88F07BA4AD3919CD2CF2D37DB0829C19098B674DACBDF3EF4702D0 -0385BDCF093323767D6ADFCC9C02BAC06FE50318263633B4C917C0574EDCFE53 -4788D65E13E35C422D0FC268549883A757863D7B6FB3357DDA59E677A15CD273 -5A89EF223E373847923822D2258DC2DDB6A5C91FB2A6801C262F8178FD4FF333 -624B352357BCB5DA1DB50DABAFE7BCCF4DD1660E5B3D53BAE1BB02853A21B4AF -D32B7CA41D0A8E1BA1F3152120A7608788515DB31EC737AC33B81C570CEEB54B -338F5F95A7061EA4B323B6039A81D7378F1AC0C4E06C42C316A4AB13999CCB8F -2D920CC1E50F61CF613F0A1BCBDD9246C9FB9EB0DB67A2B7332712A63480132D -36 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -cleartomark -%%EndFont -%%BeginFont: CMTT12 -%!PS-AdobeFont-1.1: CMTT12 1.0 -%%CreationDate: 1991 Aug 20 16:45:46 -% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. -11 dict begin -/FontInfo 7 dict dup begin -/version (1.0) readonly def -/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def -/FullName (CMTT12) readonly def -/FamilyName (Computer Modern) readonly def -/Weight (Medium) readonly def -/ItalicAngle 0 def -/isFixedPitch true def -end readonly def -/FontName /CMTT12 def -/PaintType 0 def -/FontType 1 def -/FontMatrix [0.001 0 0 0.001 0 0] readonly def -/Encoding 256 array -0 1 255 {1 index exch /.notdef put} for -dup 0 /.notdef put -readonly def -/FontBBox{-1 -234 524 695}readonly def -/UniqueID 5000833 def -currentdict end -currentfile eexec -D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891 -016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171 -9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F -D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758 -469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8 -2BDBF16FBC7512FAA308A093FE5F0364CD5660FE13FF01BC20148F9C480BCD0E -C81D5BFC66F04993DD73F0BE0AB13F53B1BA79FE5F618A4F672B16C06BE3251E -3BCB599BFA0E6041FBD558475370D693A959259A2699BA6E97CF40435B8E8A4B -426343E145DF14E59028D4E0941AB537E34024E6CDE0EA9AF8038A3260A0358D -D5B1DB53582F0DAB7ADE29CF8DBA0992D5A94672DFF91573F38D9BFD1A57E161 -E52DA1B41433C82261E47F79997DF603935D2A187A95F7A25D148FB3C2B6AA32 -6B982C32C6B25867871ED7B38E150031A3DE568C8D3731A779EAAF09AC5CE6C5 -A129C4147E56882B8068DF37C97C761694F1316AF93E33FF7E0B2F1F252735CE -0D9F7BCE136B06EE967ABE0C8DF24DCBBF99874702ED252B677F407CB39678CC -85DDFC2F45C552BA967E4158165ED16FECC4E32AC4D3B3EB8046DCDD37C92FDF -F1F3710BB8EF5CA358ABACA33C7E5ACAD6BF5DC58BDFC3CF09BA2A38291D45A4 -C15FF1916FE2EC47FDC80911EB9C61F5D355BEDFC9DB17588547763AC5F0B1CC -12D2FFB32E0803D37E3281DA9CE36C5433655526ACFB3A301C56FAB09DF07B5D -048B47687348DEB96F3F9C53CE56DDD312B93D3918CD92AF53FB9461864D11B8 -0138918D0B1270C54873C4012CDE6F886DB11BCEA04B023EBB43E0D0A06BE725 -741D08B9DB688731A6C9886C15A83C28DADCC81385EA239E045E8F3670CE03DB -9EE77ED067036595C9F3B1854343BE3A12E486B6E5A2F8AC44FA5378D28DCCEE -306B0E283AA444423F9A4FF38E2B56DCF67A39CEB2C643DAE86865517D5D0371 -CB8797208ADEC637330A3A57902C9A88EDB75A7C16FA9850075D9F19578EC666 -1353CC1FC512D59DFF847ACCD3D5017E831B254B60D82AA5882A6FE6451F0370 -C08CA0ABA17380DDEFDE56529705C169831018CD0532402063B5DC8AFE4982AE -C128BB22E9845A7C7E81C76F4C06150CCDBBDB3ADC98894A0B638AADC73C82C4 -9D51524EBFE0C4F93158A672FC0D723A955438A94B535C2DA52625637A66A411 -AE243510E83B81CC7A3765A47BF374A6B42C781AB3B40E632049EA0FD9B951EE -91E17DB777D78A27FAE01775394D023C66E4AD01240AEB0570FAA2CAD456171E -E281555A7124FEA50A58ED80900E65BD7DB5DD5B91712B655597E7B18ECF1E46 -FAC73FCBE1F2A45880F476A831903620CB54681E11C4498CAF3BE48B1B29C20A -93AC5A6534B27374E16CF002040299F340494878BDDDA593F897943679CFF2CD -10569BE24159271C689F3158083E1951143FB062BA40E9EB98C2987AA516A5F8 -ACCDF31C48DB91D631FB79C938BB7681C41AF125B7A042486FF1C7DA24307941 -A91B44D0FA6907AE0EF4A3212BF476A74D789FEC663EBEB6CE0922943B8363EF -9130A313428289C24B99459C57F99069BAE0ADD1AE5EA76C4FF996DFD1161272 -405868A1575659CC0C8B3D185CB5EB8C4DB3127364BECB413DB9B21F94E05FE6 -94FC333A545C6DDC1105879AB29C9FA79412EB01691CDEEB4D70188A4A090E13 -438B49066C68E569F2F7242062B5B91D71EE0C5E3302D934F33688DC023F8973 -B65C2C6AE66D6C528D174D0B847C515B17064EFF679A743D0D481E47C600F85B -F3A0A36C01CDDEEAD0EA85496266C22E96E9322811910BA5495FC122C9DAAD94 -D6C95F3D390E04E76F7FCE6F82428B236EAA34CD2D22740734723DE4557E75F7 -0EC56856B88C3605E081230F3CB019D8E8C4C9158497237C018C937961ACFE5B -FEF87872805EDA73D28165DD44AD954F11BA48A49AFC1502CF53A94F8A245C5C -4C1410E7EF69424204CF2DAB49F0A2DDD297B695C549E2C45EC41C58BEDE3268 -27C605B7A1AB344D2B89D3EC025C725989808D12F4C3D102C7D397934570598B -A6A33775AD468431195EDBD302C9139678B32FAADCFA05F547133EA1998CDD29 -4C9590D02212A6C59DEF9F21123705467AD430625BA1F1F22497346F5462EE8E -445B1AA2D10E588C2648EA8AACCDE00579EB656F44B55FA334ADE1A48DE3442D -F5ED34186AFB53D172B6FBC0B5969BFD01EFC167E6B22A6DD2644202D51388A5 -0D43CC01EC6BCDF907AB2929B162683F30AAD20AE7FB9F2DA72E85D7AC01C60B -33E5C6D1E3A7A78FD5FC93ABBDE144137377CA22F9DB7AA590F38F47E153EF14 -D139BC1CA65686A41249257185BB1D356C52C9262A16E432C09FBC539290FEB5 -9E2F56D267CDA74C1DBE7786AF65F8AE496FF2083F7D4766449BE0EFB48A04A9 -D8694D7EA36B84B5B7B91F921A286B857B1B8F027FEA15ACE98357A4B0B18201 -8E9D87EE82A6EE38F70BCA5724AAF527600525C12B9C4FA43E8905A0B288F6F4 -78F167F1412C7CBD6E954F5C5FF9838C525776EE138139A1C0A2DEF5DF95741B -63496AC1722C45F92E18B3E64F1F911A16098693A7D6A7B5F6B101BF5875DC6E -848B677A1E1F9EB53D88C4D3D356961396D032B5B64648328087CC00FA50DEA4 -BD31D9D5C87F4C194218D45A2144F3D0F304868F99AF84FF25340E84FB6962A0 -57B2D435B59B02901329A130239B3616B5232A553BA3BA70F86ABCC5B08E3E42 -17A2718B33A3AA7800219499BCA1C207BD1768250ECDDF3B66010AEF77B8E2BE -97FFA6FA8B577BD36FF358DBD529598342E1F152FC47219A0EB696669E901EE3 -AA5C21247DEBA2B2B9FB07D9B25CCB98F46B330675DDD6DC381F8F33A41A6768 -6A7FB447795CC3F870B37ED15E97C0DBFC02DE610ED3B4B2E685509BB9D1C5A9 -DDEB98307545819EB3476C2F51EA4EEEBFE001422AAAEB64FCEFD6CE62216FA2 -5727084E340B66845881A64CD932879B32ADC9A4938D7321F5920C06905D9F80 -ED808BCE3D5B8B42C327474BCB7D3F474C69A4753745F6B5F41105FEA3BA584E -61282990C8B7816B5ABAD07F93C7A208014870525C8C6B4B2C753580561E06E9 -71644082FD3C5F35D1C48FB6275A5269318739126916183A7CB7FB0C1DFAE997 -636E614A3444E0A261A2ADDFA6E6CF7A1D60E8E2FFE604DD800B5E0AD7ADC776 -6226400D9D91B61FF25D3442642A0D3723B86D1942BD7E61A5B2E6A57C49FBBC -FFE7309916B78AC8936131EA08A2E8584E0AC2D43F4AA6CE8FC0C7221FBDAAD9 -8711B1A1B6309A4EF1B1721E2A70DED87783E7999ACD01389593CF6FCD77451D -FA3F7436E3D90FBD8DE52E6AD690B663DFD85CA5B1F12B89DAD48CAA8AD8CC81 -7E4D8D26F15AE6F20CA8524AF39DF75B1E0540376A70AA00943D9E841ED49AC6 -5802AED150FD33C99447F23E395A3510D1B23C26799C5144A23B80F7B41E19B9 -6B930FEC33082CC1D6E9F938B00865F24EA4236B5590FDC1EE7D1AECEA3B67BD -1E63764F40CC21F3118C00A42BD933EB13146AAF1C58E74E1DDFCBABD7B034F5 -764F25BF3DC95676D7F41A0443C48E40CD53A7C666CC04D9754B02B6F2CB2744 -3447BB2B6C7F1F24AB94C0E9A28A371CC4D68BADDA9B269D2D74E2E06FA098F2 -1EE4F4D922AD841AD273E578CE33DE1FE23BBF63E76120AC5372875D065D1EF6 -C2489DC7AEFEE8D85AA1EA2E814C71D62E1897FC61CEBED5902C9FE8A8341961 -B21A28E916DC9E4821CCB549255E8CDA1F91238316F8B43EF19691AD783E35A1 -347B32D469DACCE4735EAFA6C1EF59139EB29C524FC44F8D41DCF465443405DA -2F2B1A2ADD5A2809009744098378BB48BAAEDA9E6774774AF3EC631B33F243E7 -AEC5F91E7C45EC07D5A33DA4497EA033D6A72E2E4A0018A0303FE3AAD4CE0D5E -DAB63F8C6CDBC1049E9C1A908671D965A62523C45154324677DBC3530BDAED64 -D22AE23D840A92532705B1172028B40FC3A0B95931D5FBAEA0C257BD8229D235 -14154D184B9D9BCEFBA7BEE3A647FA507CCEE5D8AE60296A9A182D099A258350 -CDD61FD9A2ECDBC234F0BAEB7D6FDB14B7587971326FE1DCA83B45B3B0BDB659 -9D46BC5D528F076B71CECCC1BBB10035B3FF65F0337917BA23F1F7475C4DCADD -9B83B05FBAE981EBB0F1BA1E99BC077E0178772CBF90502B5D67DA252038927D -DCDEADEC3C31F580C014253673ADF9BFBF6E2CD220F2 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -cleartomark -%%EndFont -%%BeginFont: CMSS17 -%!PS-AdobeFont-1.1: CMSS17 1.0 -%%CreationDate: 1991 Aug 20 17:33:59 -% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. -11 dict begin -/FontInfo 7 dict dup begin -/version (1.0) readonly def -/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def -/FullName (CMSS17) readonly def -/FamilyName (Computer Modern) readonly def -/Weight (Medium) readonly def -/ItalicAngle 0 def -/isFixedPitch false def -end readonly def -/FontName /CMSS17 def -/PaintType 0 def -/FontType 1 def -/FontMatrix [0.001 0 0 0.001 0 0] readonly def -/Encoding 256 array -0 1 255 {1 index exch /.notdef put} for -dup 0 /.notdef put -readonly def -/FontBBox{-58 -250 939 758}readonly def -/UniqueID 5000805 def -currentdict end -currentfile eexec -D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891 -016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171 -9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F -D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758 -469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8 -2BDBF16FBC7512FAA308A093FE5F075EA0A10A14816D516A63DE166FBCFEA932 -BF000C3B84394CB6E6A446D37717CF8AF9A27241D89E3EC12BBAA36A87DA0A50 -B96DE87FD2565D6BB4225E150CDC8FBE654B16102FE8DF3BB5EB869ECD8E521D -74ADF974252C93C4FA50311485350B2EC0A92EAB44C9A8BB11852B3666C5F393 -6BA5AE3D742F26EE549A603EC810A7528CDFC7D3A1580528936A7C291404D23C -A573D08407861ED401CA26626B04DC86EBB4547870BA7A03E49CAE3D0CA7BCD7 -6C28C3A89BF4182CB84BBBDC9DDAA541448456EAEE89E87C488851D1235F3326 -D866CED01587D10C2464C07E3DFB71E49317FCBCE83A4B85F2B7E544BFB398B8 -5BD9355CCF9088DB5108E011959AC68F9A3773B17656F85521618D608D9F6450 -BC4EA327B03E999BA05A16CFC2234F388EE7463AACF02EA3A45D5E65805C7ED9 -4618D5A8669FF3ABAF8B41D76D11F4AC0DB848BA8A5D51CCD6D85EB6BEA99A54 -80CA3DD9B7E9832296073E66AA9697E86758256A063934E0B30425BEB569D9A7 -C37604DF22CD0A369EE007F67CFF5A930B5F77EA030E547DC635869BE5905270 -09C91AEB22772C01412D78965DD2B489B4C4DF35FADD130DF1FCD2C59D0974E1 -4C161E5FF72F790700E0439032D0240542B702A7520469411C6809C27B3AA535 -A5ECD235FB90601C6492C6C3D2D38AB999445474D7E788097E247DE495BAF83A -7F1C70DD205967B579F69E764F4DDDE56AAC3D87CB837EADF755DB85B88EF041 -AC4F754DE77B66B0471384EFEBF9D67DF6626338DE3D4C65A1831032D36C0B8D -C60513EA65E9AD53E4F1F1AE4F6DB85E249AC53396FF5DB2189F37D359DF0AC5 -9369E07ACC443314B1A13CBCDC48DC2F95896CE74E346E7E94D94858D18E2C80 -9AE2A22530172DE8EB5AF20E8CBDB2DAE17CA2BB3592EEF529079BAFDB544D1D -389C3FD7453DE47D7486F9CBDEC28923645B04AA843ECC6F736BD16DBDC8CE65 -563E9DB43977C0C681C13E6C5E386A4482BB1BBD3C0D6588591984AC3EAAE11A -3F6C9C682F10809AFC64C99D86A487409B5224C75BA997B3C170BE09B50E6D26 -79F5872DCA7C694EAC01090029BF28201D6660EC04F7DF74F4BB5BFD07F9D2C7 -F6A2FAC14BE3CE63E7D00D53E7E014C81738380481CE121FEB2026B69613DF9B -593BE81B6DC181B6CEEE39B88E5657BC6E8CA2FD30B066A8105A5067B493F126 -16B129B09378A5103C18D4903EE149E3A318EC98C64048A3341650D4499AA4CA -ABD393FC7318938F4EEA74EA013CFABCEED8D286502D5CE965DAF942C7438E67 -A74E5566FA5273775FE1DA63418F740CCF967C9E38121C613D90A795FD61EB8E -53D6D37DF3A1C3C4509D588E6EC7595C458F564CC0BB09D67EE942752470D51A -4559F9E65F7EBE7EB3C5F830A58FCA1F4A88ABA50FA69E32140F38939D9836EB -FA3C6DB77D4114672D652D7A99F71FD65A6D32A4D65A5D80E5F92C488A324274 -E84464A5EE007F324669AB1E0AF0F671B2C51F74E06DAC0682B70F79B914CA47 -6CEB85192A0E7729451706F7FB6FCB5378D992B8498043D00CFC47D2AC1081F1 -A0B01B07A92A8282B3EC6B7AB485F98415 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -cleartomark -%%EndFont -%%BeginFont: CMR12 -%!PS-AdobeFont-1.1: CMR12 1.0 -%%CreationDate: 1991 Aug 20 16:38:05 -% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. -11 dict begin -/FontInfo 7 dict dup begin -/version (1.0) readonly def -/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def -/FullName (CMR12) readonly def -/FamilyName (Computer Modern) readonly def -/Weight (Medium) readonly def -/ItalicAngle 0 def -/isFixedPitch false def -end readonly def -/FontName /CMR12 def -/PaintType 0 def -/FontType 1 def -/FontMatrix [0.001 0 0 0.001 0 0] readonly def -/Encoding 256 array -0 1 255 {1 index exch /.notdef put} for -dup 0 /.notdef put -readonly def -/FontBBox{-34 -251 988 750}readonly def -/UniqueID 5000794 def -currentdict end -currentfile eexec -D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891 -016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171 -9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F -D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758 -469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8 -2BDBF16FBC7512FAA308A093FE5CF4E9D2405B169CD5365D6ECED5D768D66D6C -68618B8C482B341F8CA38E9BB9BAFCFAAD9C2F3FD033B62690986ED43D9C9361 -3645B82392D5CAE11A7CB49D7E2E82DCD485CBA04C77322EB2E6A79D73DC194E -59C120A2DABB9BF72E2CF256DD6EB54EECBA588101ABD933B57CE8A3A0D16B28 -51D7494F73096DF53BDC66BBF896B587DF9643317D5F610CD9088F9849126F23 -DDE030F7B277DD99055C8B119CAE9C99158AC4E150CDFC2C66ED92EBB4CC092A -AA078CE16247A1335AD332DAA950D20395A7384C33FF72EAA31A5B89766E635F -45C4C068AD7EE867398F0381B07CB94D29FF097D59FF9961D195A948E3D87C31 -821E9295A56D21875B41988F7A16A1587050C3C71B4E4355BB37F255D6B237CE -96F25467F70FA19E0F85785FF49068949CCC79F2F8AE57D5F79BB9C5CF5EED5D -9857B9967D9B96CDCF73D5D65FF75AFABB66734018BAE264597220C89FD17379 -26764A9302D078B4EB0E29178C878FD61007EEA2DDB119AE88C57ECFEF4B71E4 -140A34951DDC3568A84CC92371A789021A103A1A347050FDA6ECF7903F67D213 -1D0C7C474A9053866E9C88E65E6932BA87A73686EAB0019389F84D159809C498 -1E7A30ED942EB211B00DBFF5BCC720F4E276C3339B31B6EABBB078430E6A09BB -377D3061A20B1EB98796B8607EECBC699445EAA866C38E02DF59F5EDD378303A -0733B90E7835C0AAF32BA04F1566D8161EA89CD4D14DDB953F8B910BFC8A7F03 -5020F55EF8FC2640ADADA156F6CF8F2EB6610F7EE8874A26CBE7CD154469B9F4 -ED76886B3FB679FFDEB59BB6C55AF7087BA48B75EE2FB374B19BCC421A963E15 -FE05ECAAF9EECDF4B2715010A320102E6F8CCAA342FA11532671CD8EF2AE9331 -49A3C96E5188A3021755F4B78637D42734C9A89CC53803F7D98AE7FE1E866DD7 -EC7C4F33624D2E0FE24014C1912B29E7950750D968E29E23142FB0D1C1168EDA -B65332DBCA25619DBAB5228586AF3C5D0E4D2703BFE36283ADF20C8632B930D0 -71C9B183F54103D2870B28ECEE6C34EE999C696795C8EAA9961F590448EA8BE5 -B2301171DCEC31C65D06079AEC04D204BA05CF4D7DFC8CCBE061E54231584125 -02AF04F3502E5BF46152DC1A5B7A57E5C313B2DBE160251663CB849C7E4CD8CB -E16C07C42B2A25E827BAE0E8AD720956E9961F53F124AFB47DE84CB2CC7E753B -B54E69CA42EE07706CF176069D900974E4DEA956407882A9BDCA3F148BD21A41 -43B4B180862AD7A6AA7FDC0567A997025C9BBBC39DADB9562258EFAF94E790D5 -2C8FAFF4771498FA72AE340138D6C848D5E7401CF99A629BAEB9AD68F20DCC90 -FCF67E2846CA628E0A381D6A80024F17AE278DFF7021E8C8055552378107E0FF -D9A4D804A3A871786DA966891764338AABF2D4EB3F3FC8DC74E87B0EB237CF90 -0266736C545EC6742F882256F0AFA5C9331A4FBB2B6F6B53D8D45A459EA42F23 -A24C3F2703993B94B559B657032B01B0D17B2D302925BF1AAC0D20CAAFDFBD52 -E3A712B263E852B7FB8C5B2E08F2531F28E9A1E2DB0E13F9C76EDC733538078A -58759B3B6F8DA96F30DAFAE35464B3A7FDA2B3F33E94F7AF7AB75CF43712E783 -23456BF60D579ECB0B392F4C3A1E62DF971CCC69D4159D3896C03A1147326F63 -4D9B309693691A26C0BF9FEAD12603BC99CB1E29B34B17A3236507354CD030F2 -F81B992E9750A93DFA87BE4109BFA8D8CCEBFAF4C16873C35CCEDE9495F64C2A -A21FD63F8D9ECB07210FE9E4EDAFB3EFAE329A5EDD2BDA23A25768A4A8066514 -1231CD8F793A795DB735D6318D0E3BAB4479FE04B4A0F581F9C3944D5E2E0FEA -BC66CB67C10356B7355211C6E9688E6DDA51A8438976A933558FA53933DF22AF -0AB91A4803E18FC4031FE519A76A69F888FEF4D94979A63BB4C5C7A092996145 -843BEF9BC3FECB942650015C2357E1107E375C3518F56CECF510033939930843 -E98868AFA13F0994677BE0D689CE6445FE666F67353A1C2A3F56920EC65ECCA7 -F797453E16111F9B3D86EC41E2C8CC0536AE3C8CD814D1594DDE3DD1905CB869 -AB1366D3A460C27A668A37FD67F786999E2E27B31CD01A49C95C4E3856E11B34 -BAC9B76C34FBD758881FEDF9868B82F9BD43744053996CB59B497BC652450FC6 -F514A66CF37F93D2682F82C5822CEDBD213A8126FAF7F5C7901602564AD86364 -43FEAC12270A9F396022861CB5BF9933C43E9C31C9C975EEF0FE50F37E4A2046 -26ADA4C973DDD2C2E330C459D0F782EAF5161C3A060053C7695E0665D45D2AEA -C39E1A26B2437BF7195ED1464F5AF618B16E5D2E147F371D108EEE93B14D9157 -A4D3170C92A422823D0E17221E2AC400A2D4C78A664D4ABD2551376BEC3A643D -E61AF1909EFE3B214887B7B6D5BD3428EF3178C94FD1E1E238D24888B39B8536 -D3BE4468EFEDB906CBED13581F7BBD83F80E0108C62BBD78F4578879516B6A36 -FD9B6E1A8E12DCB32C0F773CD4D873B3175B420ED7F4C1BD8872049714958921 -CAF48FE719EAF8D3CE8CBB7707956BC998869811826E6CAB97945BFBF75DF0D9 -CA344B03424236904BB1E49C020E007C976FCE434A806ACFE437A30E025ADA88 -C03A75B417D23B163958774F314AC11FD9125FB037308B89EF7C9B47D7DEC608 -78A7D277D746EFE7AE4C6EB07156F8ABFF3FE6B3E4D78FF215C5474414061C1E -5E5968AD156CA3A2AACF6D802893F5CFB7E2F8B1692600E648D604B7C01C86D4 -905FAD7FD01A9E2CAB1469C68FF17B914750D46DD4B83F49088539350937F002 -DCDA0686697CA7C8EFA49A4F348CE8D063D6449EA7FBFA9045A96618712B798D -A8DB937B3A0C7A24D892C5BCFEF1B2E382353774A94B5E2F8B887483B665BF61 -D1BFC2A5C5D6E7A999D033DF5129C5ED7220308C7A0DAC014B1D1F4ABA9D7001 -271CABFABF4B20EDA142235008AF9DAE4408200AA7BE4C0DF2757CD4F8F25710 -16E63A70D656D4542A6293EBFB8A7F282BDD1F3BA971F6425C765F5A3A0F5F68 -19FE4A53E83804E9C481C6EBC621386ED95E34181AD1EF1B74C39C368E36FD76 -5BAE85923C230548C13555C19469659DA4082586E39F08369C6CF8950C93E3E3 -4102065187B0408B06A5774CC8243C4B7860B1D834DE0221EB12C99BE791922C -3A3C121FA3F3571256811F187287C72CBE9CE0EE405453CB09C4498B52DD048A -47E4984CCA6E0B6C03059FCB52479A5FA8C50D91C6FC66DC1D268AFEA21D1336 -995C9BE3A77F0E3E5FDBE707D7EBF499CB5BF9712D1AE13923640D2B7B5645FE -4717D17E7570447C8583627767AFDD920E901858E839A7ACD7ABA46FAE049996 -BA26B07D744949A2B33BB4A456B1C52EC90A8496C995683630EC6A163C72B0E3 -9765C56A3B91F7FEFCC76E089A5D4BC0564C45F6E2394F21783A1B52972C2451 -410A12C6D88667C6757149526255D43458300C22BDF7635154D810FE26AFA3EE -D971C703BC5B3D56E421C84F9864DB9B667993C92D19DCF85C89D6D084C7F993 -C284E9649EBB204595CA7061721928479B249E001359DF4D9554916BC3373D8A -F75AB626E5169974FBB8FEE8E4ED58B3658B3B98139B6C55F6A8F222092F1863 -E5C20F8EFBB77530B788C3025E5EE403CC8C8AD89C570EC461E8D8196DEE36E0 -685DB68259683641DA910093E519F5B83D139DFE39FB5645F7A87DEF0D992DF8 -54F70AA1DB22CE56BB445C026BB865A7B889E9D3592C25B118A5B8C2C301E322 -A6B84663E3FA7C2E0C10D41217B5519E35CA9214356D468AB43517B5E1B5897C -EF01DB009328F8AA44A6DF680BD5F678A54C6DA4ECDDA9B7FD9C54438750BDAC -95BDADC7AB02F7EBBC5E710FFB397E438A97497EE20BB38C6825AEB0B028BE63 -14E3DB54CD3A5B26CB21898AD171A3CF041DD693322B5C89F83FECA1C5E428B9 -940FFE6366BB10F894DE06A79B8EEBF723B5C3B382CA832845A21E51CC41363D -D47B9F4E213213399A8FE42D0F30050B3DFE85D2500C5FD41A47C4866DAD353C -0C4FD10848A6640A0CEB3753739EA104D629BDB526D102D42A87D9CA8CE62736 -81C9237DFA81127D92FD26FDFD58004D6539536EF70CE0D89E13FB1AE5722796 -08D3509723C2009ECD0BAFFE6CBCED1ECBC19049E2EBCA82DF9C8089F5D05C4B -FC9F25102DA576E260E0A682139C5F23746A701214323D58C6A88E59C77F1E2B -E5B2AE210754C93224B0701375454D920C2133C563326D097AA4F9F06013A21C -A1150E1B72A38EA09CC44F6553589BBF75441C3C662D789E6D7E22706DAF84C4 -AF90D799A161D7B1D36769C8026C88E9EB27D04AD2E87883981BA9AF5A1BCA33 -BF8253FFA89A2744AE3BE32714087779A2D7566792090E15C22F4CA95ED295A5 -98ACDF35C2211F03A9C9F939C9A410FF6D6E36612624F6F7C4CA6852B3369BF0 -0E08E0A2166CC5B3435F130F8FFF52F80F8CA8B46F6BB22C0A24B3A1BB028CE8 -B287FDE7E55170E828FEB54103763085EF8A77B3AFF69C7039C53474D6CCC4FE -6C15FB657DF2F25A78F79A0261D9B5BAA186224249691DEDCDAEB53C9A0A9999 -8FDB7DA53FC95FF72851D0FB3C2306905D9F80E8B8EF0522330F5052DC79F706 -47E4A2ADE757E63859CDA5F50B2914633B85504A6A54B1F69FB0A90C4FB77F38 -2B9E3A7AAF79E2A1C3E83217BD83E66728BF4D016B6FA7A0AF312C53F712CD83 -DAFD72C70F5177FBEF148B28E871F3B8176E56956BC4D4E476547DE67B38E3DF -E444EE015899EE01646DCFE84201DF3030ECDF0B71E84DB4A096797FD379BF11 -20C81A7F391C2C583D2A02A1AF0FB5132B982411C8656A5F3C6B388E22B7DF89 -4876F405167926DC98353B40D9D5E1D92E3C1F6B2868228FAAF749E36AA5C266 -7FFDCC52D543836BAE41C05106550A1C35C175E2140E0ACFC959D76222E22173 -DF0C04A17B63383AC71095FC6CC6FC34C9D55F93D232DA101BF8B2C445BE905B -057F93752E80EDD8E5DB79139D4792C488F74183C30E3689B2EAF8CE2E0092DF -142099AFC62AFA49929C6AD728B44CAD352A8E17296850840CEC08B1B031467A -E02D7A8F29204E7C1F0A8D3DF4FE905C527705DB5C315989A4E149211742BFC5 -FC685A5A644265FBBBCFFC1288B903452363C6ECD2FBE6BE5451809B81E9F38A -2B27A06B1B73BFF10A66D35F7F1C7C0C1A55EF0978EDC7AA8888D8D8BE76F06D -3704749E6545491B2D664D9266E94BCB1D806A97F8B9FACBE705E36D74B1ED6F -504A9BD1788BA5DF31C65E9F00BCDE2E07948ADAD3FF3DBE4A49E20B51ADA7A9 -C718949A9F9A18AABE541A971ECAF33CEB53D14F0B64741EFAA740066F28A3D0 -D8CA839E3B947B497DAFD615CB4ED0093B479E1C9740A372E8529B7D41EA30C3 -143FCA23218064E23D4B6178D2C10465A914DEE53165B403046B7FF46AAE3F50 -122D5485F2EA8506CD5F437BDA32F6B804A40BE5447808E84ADC0A853BC3E98C -4F01E354913B937AD4AAD7620B2B667C24A166B7DB261BBD392E4154695409E1 -04F025AAE9D95A07C8487A35316440716B9FB1B552BF60B066050F41BC1528E9 -A5238F257F5EA24515EFB3F59FEA277D167FAA31ED5A522A41D6BD8EB1AA7457 -975E85FE719D91BEA28D9DB26CA955B3946C2E07FACC431BB011F99E3D6E4D79 -BDC22A0632A4BC83B3123723667CC4978D559BF626E6C668DAC31707BD035160 -2795E099BA478668B68F06B3D6BF0E206AF426D86995C94E11900D7221D5A6A5 -9DC3D629AFD3313EE2439DD1254BB3DD9A338148594CEE6EEFAE81CE3E5684DB -6C8BF0C893FF93CB74E4253996460A9B80A0423C733DC943956D2BA91BDE3E56 -A1BCA06889065522229510B8DBAF60A8395EA63DF4F71DC5AA3CCDF8B27E1CE7 -9C9AC4DA6C27412F2290E6C6C5FE95580F76C22708ECD76A76F14E3ECCA74193 -1E9193A2DB7C8AD52721E87111EF80933DF67F816D3A537F1F5E0B8BEDC62BB0 -37FB4D5591A5354C7A050E8B6A9A75D04D94C88E3C7AA450ACFED17F36E70C98 -03888EEF5CD42FAB0D071F9110F707B7B746C78646A703B6219F55C23E1A545F -2DB74D5041805DCDB4B0D623A49BC1A1BA324B6BA84F2A69B69A4C26EBF4E7FE -70010FAD1086F5C9197F404BA2966C285B9E083879C244C6E0318E418DF7ED7D -3993C8FAE52A1C0E38F70C0D603DD702488F7FE2295EBD5EB2934C518E6BDB03 -5A9A01CE3BFC0916642EF2435C3EF884D6C736EAE20FC0784D1BE6CB9CD5 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -cleartomark -%%EndFont -%%BeginFont: CMR17 -%!PS-AdobeFont-1.1: CMR17 1.0 -%%CreationDate: 1991 Aug 20 16:38:24 -% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. -11 dict begin -/FontInfo 7 dict dup begin -/version (1.0) readonly def -/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def -/FullName (CMR17) readonly def -/FamilyName (Computer Modern) readonly def -/Weight (Medium) readonly def -/ItalicAngle 0 def -/isFixedPitch false def -end readonly def -/FontName /CMR17 def -/PaintType 0 def -/FontType 1 def -/FontMatrix [0.001 0 0 0.001 0 0] readonly def -/Encoding 256 array -0 1 255 {1 index exch /.notdef put} for -dup 0 /.notdef put -readonly def -/FontBBox{-33 -250 945 749}readonly def -/UniqueID 5000795 def -currentdict end -currentfile eexec -D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891 -016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171 -9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F -D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758 -469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8 -2BDBF16FBC7512FAA308A093FE5F075EA0A10A15B0ED05D5039DA41B32B16E95 -A3CE9725A429B35BAD796912FC328E3A28F96FCADA20A598E247755E7E7FF801 -BDB00E9B9B086BDBE6EDCF841A3EAFC6F5284FED3C634085BA4EE0FC6A026E96 -96D55575481B007BF93CA452EE3F71D83FAAB3D9DEDD2A8F96C5840EAE5BE5DC -9322E81DFF5E250DEB386E12A49FC9FBF9B4C25C3283F3CEA74B8278A1B09DA7 -E9AE4FBAAF23EDF5A3E07D39385D521547C3AAAB8EB70549756EBA8EF445AF4A -497CA924ACCC3DD5456F8E2C7E36946A5BF14E2E959895F7C94F49137256BE46 -4A238684D52792234869EAE1A6D8ADF4E138B79472D2A90A6CA99E2394CC20CD -3841733046175B20CEBE372327BF13428EED6A3E2FDF84C2DBA4B0AD584EE9DF -B51828D3B8F385846158C29C9AC3496CB9692DD10219697B2ED4D425C3957FD8 -C4600D76E045C561216EF05D38177243C314877A69A1C22E3BEC611A2EE5A216 -9B7C264CF6D1839DBBD78A40610F2C0D7C2FE09FFA9822FF55035AD52546970F -83EED2D30EABB1F303091EBC11A5379B12BB3F405E371519A53EA9D66174ED25 -A2E55463EC71A97BE4C04B39E68112956117C8252DB6FB14AB64534B4BCD568B -246DB833982B38CDE7268BBF74B6B0C18091E1B1F87D32D66F4DD023D1F10D2A -7736A960F72AC01F733A11023832CD68FB6288A5977743F781214D8FA9C0C3F7 -80001321D4397771F728FD9EE57CFE7D9192B887EC883EB1505068261DC40089 -7B7D2820F06515CD74513521F6397FEAB3AD3572D9A8269430E407E357422461 -1785FC2782047F4C0339D79B16862D939F3A37F78E4E2174E4FBF132539CB760 -207999FF86F6A3EBE48EB0A1CA635450FDEEF79EB16D853F3BF4B7AE5DF6AB7E -8F0B7B8FADECE9C0E48E51C895CB83F7E473A44440E56C56A2CB76EBA34F6875 -B104CAD2721E628001294A123AA6AFEB6AD56267462526D7CC18FA618B8630B5 -FFB44D8D7C176E0D32398FCE00E0BCB582626C90AA787AFF08BD64E875299629 -9D2E2B67EB839AF74F66E4EB724634C832A70F0328AD68CF95A05F40B0DBF077 -EF4D3BC8EA5A1038DD91FD29D69E3A92C748E584F7322FF5C0F5A1E07630CB91 -DF543842044D0C61014DBDE0D47516F6BCE3BBD369F648F5C4B145E98F9BD375 -EA17162AC10B0348142EA06ABD534984D3F766E066A1AA5F7F9D0C6A0E122409 -D59E745CB401329B865BB808C8D638698E8D2952D8555FA75ED57EB6925BF50B -993F3FE1848DBE5A0E267DDC90F276D41DF633FDDADA2E5D80342A99B9565277 -9F0CFBDBE4DC49D0CCB16180B3564396E71EFCD2B70F3DCE825DF9072E40E36F -870DD14EF927CE6A4CF95C1BD3541BEBB9811581472D9EB3BA37116E1A841A1D -050387525DBEC2B49FE2516540F2B31B85113DDDE7FA5C15666999A1314978B5 -09751DE9F6D5A8B644DD0D73B61A79A4EF855E89B61046C9B1226A87BECA2E6A -9D6A31449CBBF843409476802E8508D8A79E16D6FA1E02B5F11EF257AE9C2CC6 -87C5819969102B6E16197DC82E00075CCCAC6F134A19FB8B7113F20F9C2FB8C9 -2C05F6A92F2EA1A76C585E9C05F6BFE72E53AD26C8DD765DEDEBE7F10AB34879 -B5EE0349126254D50D896A1DF9321CCBAC9A75EA012367F4108115A9A035B99D -0E1D07A007449CF4CE10DDD262DFD7EEB614C806DFE561CFE4F22FF41F86A27D -1A93C45EB70B2021357C1729961F7D3925D24AB13364165DB53B5D719142B52F -1D942574A7C6B990DC498B46A864D8832CABF65166AADE2B6CAAFADD47459E9B -B38A3EF8342ABFA87402B92927DDD1A6ED6AABF07936508EA602D8B39AEA3EDE -532D35DDA1654DF7652B32B747406B45334AFE3C185C56689700F2F49A2C5A94 -7E07B11A1EA3BC202BD22820E0C6C33ECE2A4856A798266C7EA884C187ED1444 -C6A35F11E2A9813969C6C1A7B0E3BE39B50DEAE4E14721ED0132C5BD47A3CE61 -80C2B3BF57C3C2262865C0C16AC1A725B318606A24CCD13E9CC5A70E8847D28B -46F14BE8E0DBB05EBE8B738BF580C4CD2504A583A28947F06DF4267DFB6FBDF3 -1BF887FC3006B41A7FF1EDDCDA1679588A750CCA6E097666FA8A5A4EDA966B92 -89E1016DD89E952F4DD68B84F57E9DFE90DB94C4252DBAFCC36800A04032DF2C -D81B192F4DD48755E78C92808E4E08E6CA60FA5C476F42A50969461B7A18CE07 -F0C91795AC74E7B8B3F722E1FE7A91230C03D6F503F3D57D74C990307EE3F8D1 -10B7C6C51DBD4A55B1CE54DCCF9D196B28657296261A9846F037A6D002A02B1A -5529553388C9C9C36E3D8FE9BDCCE963F8FCB88C7E1B4FEB85F402B713FD3530 -0A7FE84A7284F7BA4A298FF7D8918EB910A25CF178E11BEB7CA35A8017A533EE -0029408DFA38B1FA3A012EBCFA91F6DF7A0009060F7EF87D9076549B60ADA45A -4ECAA3308A5C26A624761CED1DC2273C6C2685A71147FAC533898B0DAC939D37 -7A7A118DB43E0EE8523AE0DCAE957722B4482385946A21426BBEE0411A49D294 -6C6669189D66510A7FFE8D035225B0513F8E3F8D2CC66101DBD79ABF973A32A3 -674CF524256B9484660F2CBF069F1F464FF1ECEB5BEFBF3B3C2CA0D48B8F09CB -628C0C9038C7323742D014C34BDE57CAA169C24C60A2ECB79B6559F7638A98DA -A13A4EE11FE9739FCA1F20E849C03099387A8DAEA0FC3CDB2659749B3E8DF00F -B01667FD3DCAE38AED7E3802043607BDFC82EFE4022213CD7652AAA726BA54FF -C59035020B1210FC115872FF7203F38BCC981AE0B4872A65811455D92846A142 -48064328C1FE2DF6CC3E8A8D22FAF9198C169977357E1380D0B2A1F9F1431692 -BAE32CED6EEFA4BEC6619B7E56B5159EA1A371A51F162B25BC03ACF2E9537397 -678DABA03295C45351C843497DC0B8AA3804F1E7484B0C4A4582AE1A3DFB1EEA -3502E28AF762B04E11B27076371F8581CC233BBD55A2BE2C3CDF383D19900D7E -BAB43DCFB3A3D46A83E2FB17387C163511E766A50742176C1DB46C398AF1CF7E -C09AB3A9F1EA573672182999DD219B1C7CF469B21F4933B203C14320CA4D21CA -CF6B5F8533E3C5996BAA01EEE03477E7FBE9A17CC2EC6CE827A7719A65C0550A -82549558680D1F77DC20F661549FD7D354F426F4E5C14177F55C9A0AB101E990 -DD8E1F5C808AAF4AFDB30E787CABF5969BDB7B5F108C1FCA3511BD6CD5B4F92D -7806359F0D89C72CE4DE7000110E5E001CC0435528FE6072375BA8A03F3F10D1 -67791EE5A5EA77FE99C5F899826EB04AF25865ED19FC1559D4D567321CEAD86D -6F8A9114B5CAD147E6A6F52DB8235CFB4DC81C52BE9EB66B0E7089E5CCF48801 -5FD92F2B2B6EFC2F288FAE9C3B0007E3F90F3FA81FFD699C155157B289C22E33 -59A8E675938A4B87291D07A3FAF930DABCBB34A33F01E1244A869E3E9EB057DC -559E087811CB3CF5EC4CFD087E57085229E511FA701361FCE2EC8CADA0C887AC -77C39A9A580F396E4A852FC004ADB4117F94F99175FFB2DB4C3949172AC13778 -4A25662FF0B61D706ADA4E9964A696203C003BF9CD9CFDB436613B9012A009FB -61D55A235AD6EAE15CD4A82C1F645ED7AAB4F7B847C1F5A90C1B693C9E7B9BA2 -09066A79B10938645FD1D735B179CF601581D305DF708259503500359E7078B9 -1C1EDCE5FF0672EA1B8DFDCD00A29735F6CF65B14B9258396D17447FD80FAF1A -E20BB458A4622B60D9F53FED6504365B4011075CFDABD96818A97DD8CCE17E21 -4D72A7C4B5C80E6F8017564B094095DD4BEC22A49E8A60E5D6D0DE7CD3BF8FE0 -1B29CE0BE6AB52B6C4C71DB3B8FF86D75600167A6E9AB879164576317CD33D1F -3938076F7E55B83743F61ABF042282D88807AFE3811B45216A946FF62A19F8C2 -D89A3A6380BD27DEE1F273AE10CEAF7468EB40278BB9D6EA7FD400CC6D403784 -1A020BD6928BDBCFEE38D93F7E76969A3A35C8F485DFC3BD501C9F034CC09EB0 -A7C629774A8A577CFBD723CEAC9F6CE87EABF83EC5C69F1BDB857E45AB8161A3 -13B04A27C87B8F61D041342D67A7444C72FE8742AC1E0B6628DC4EBDB73434F2 -26C1A7BA421789CDC4D72A8F98FA95542FDF53559B74A880DCBB20FDEE9995C2 -2EEB5F6632E69D66F428B1B1D2670014A89099E9AF619431FE84C6B83E4A7730 -9025A5BF0D2580769FEC2E291E1BC4FBB6C136CBE1D714713E451C422BA3A8EA -5194269B60CEBE07A8D0863CC32E859ACF4876E4206567211D07681629CD0BA3 -D7CC07059F910643CFE70625328FB96DA5A1108EEA20CABA21A39996284DB528 -0D22A281A40F1B9783057DDC2FBEACAB22C211623A7BE714EF892052D9EA84CB -4A0A70A51D6DDF0EE3CB5682BE4EE985E3ED172B42DC7D91A3306679DE71ACD7 -22CE171EB54CAF97EEAA7871FF1A79BC5E853AD885C1187E11456FE354DB53D0 -5F762CC3F330EB34B70C8E52DD56AA0A1C8CB44BBBA97EB6F44F6DCC1BC27FFB -6B0FF5CE8741D910BB8381982B25463276FC100CBB1F76C7D29AFE4D07D2E372 -AEA15AF93E7E433F4F36334B7B561D1323E3197B4B0AF2789196FA2655639D79 -DBEFD4B7A8E36CFD7697D1D730ED821A5B4E0621095D15B0EBA745041FBC1E80 -30B3DBD9B419D6DD6B6CF96E8C5AD31625093D151CE719A60AAD1899924CFEB2 -17C7D28C8E27F27D994D529A9BD32234D55533D710829104117782BE71E067C8 -CC9F371A817F3D175506168D6E9914A1667D4132ADD75FDADEF190FC5B6D3136 -9520ED350D480B93842D179DBD448E2F43518A4C2CDC0A20A8B1F764EF4DD8C7 -A95BACFE8F03EB7E9CC743C0F3145A94AFD42860191B546E83D288B9B9DDB479 -EC1362C3989E8FE50BA774E95217CB8482BB25063FD5EF53F83DA8E43E4BA34C -14E2D738B3093EA71463EB9EBD9CEC29B1AC4474AF05BD16FEF635A7C0F1EF2A -8A0E935AEA74D1CBC92DAFBB1462BB56236F7D305F9B3B6FCBD9D8FB116F8DCB -A76445F318A1E9D338C7E933DEACE8B49889708537B154CA8741DC63BCE3D8F9 -4C0F1F97FAAEA01F14F28CE275C4776C11243760E2587BA8383192A15B4FA671 -FB178256899E56B481A366E45E0B60FE87DA79CC6BB707B0118B84392D8B459B -675CBB2BB99A6F62BA78AEE374A3BD6EC6E6CA5E98F396FA8F9D78185DD82CB9 -C443F078F0E2670228606D1B610D20DEFE6AFED52F87C3E1EDF5588968503DD7 -BA5B8975D74D7C52E9AD9CFBA86D020E4BFA3BEB7F64B29667208F82266D8C95 -1EFCCA287B319A2588358FBE9066FEF2E22FD72802174D40AA6BB1F844FD48F4 -57C66C96DA1B0FF2756CCFBA10D226EF67EE70CE0C6B4749FEB37FBDDD894BDB -85D9083B66C86031592AE799D168069319CD66FB06FD5BB30328A50DF588C506 -4AC9BE367E6C1DDDAA256000FD455B33E3D01DD6509F8C8942CA7C8EBF13DDD2 -49774E29E2B4790801E945ECB0EF6B85446587135BD9FAF6406721D6E70CBE65 -0A8C959F2128F9FDC5351D1277EF9F8D8EF8AD06223002411BAEEEB6FB994FBF -25988731E5BAEE1CA20D11B6BE345C8DD274D6498F9E1613D1C7D259522EC021 -3D8BADBB27404D11A03D85241A8A688F0F85E9C90CB9CB415373D16263BC79D4 -1A4A5E20DF03CE2D1E8900D1095F5541F0653B21AA83EA31BB9B4AD15F4E53D2 -5CFA9D4A8812637C3B296274FC68135ECFA20D2E24820E88154DC523D866082E -9A6225C9C87B6B8F470607B01E925C1296F0D1288B25B1F5EBA20677E07F0141 -04A8F7C4D1C100E1D90EEEBA468DA81533AA53A1319DF4B425B92D50C279E767 -D72FE2DBA2896B63F8CE871AC38CACEA778341C5A5662E945446795977610BF6 -924F46AE79A7FD36966EFB62342175E535242A353560AA4B31D3A3478FB81BE7 -1422E36262CB8CD31CC0B4F594BF840371C886448EBF09EB0F7F9B2F69A193A2 -DBE5364147C496D034F2EAEC2C9845024722AD3E7995F09C58EAEE05E9D25E0F -3B91F3C6E00D55A28DA4D86D158B5571C0416F32F9CE11E8A4712279BAEE01C5 -593A7CFE9EC5F99A62F09037A64987A0CE23A1D356482DD337FFB4F159C2E5CA -536B650D779DA93EBECCAA6DC551968A77C280C25132C69CADB72E6E86B5343D -317FF0AC204C99B2D9DC8CE1549E781B0A9F787B59908A3E121BD8AFBA11487E -1B91A28F4ECA8FFCE387DCEFF01C2FCCC9CC2F2780BE31467FB1097E2F61A096 -F5359878DE2A4FF848E0F1D41609515F0504B72558F52892CA2891E70870EFD3 -CEEC06DCBF52655E6A311C6BD1DC28E9C7C010D70D5446197296C9D41F754FCB -7AA0A1A57EB96DD40117C1F709D050DA3C5C636505524BD4C763132B796D7429 -426C3692E4A78A148DF672D8052055C27EAF3F3AD3922FB11C1E70DAD1ADCC6B -E16CE94CE4301C15DC7C5E0BC39BC0097E4ED5593E573D113AB92D1AB7043010 -7A79E517BD56B42903F44A12F3672280987F5019E2AAFBDEB6C3376DB7E1139B -1A413689F8F0E36106D19847E908614D718FC619560436BBB12146D42F44893C -A23056F897A1E33C97336FAD864712CD807741D6E9767FD0216E322CE1EE9EBB -CD7BE9F8D2B23F20ADA8B35BAD6114583A3042887DDB372B64ED3A2D -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -cleartomark -%%EndFont -TeXDict begin 39158280 55380996 1000 600 600 (skakdoc.dvi) -@start /Fa 145[48 110[{ TeX10037936Encoding ReEncodeFont }1 -83.022 /CMBSY10 rf /Fb 137[44 6[44 1[44 7[44 101[{ - TeXb6a4d7c7Encoding ReEncodeFont }4 83.022 /CMITT10 -rf /Fc 134[40 4[28 1[35 2[42 47 1[21 2[25 1[38 1[38 1[38 -38 42 97[{ TeX74afc74cEncoding ReEncodeFont }12 83.022 -/CMTI10 rf /Fd 177[75 78[{}1 83.022 /SkakNew-Figurine -rf /Fe 130[35 1[35 1[35 35 35 35 35 35 35 35 35 35 35 -35 35 35 35 1[35 35 35 35 35 35 35 35 35 3[35 35 35 6[35 -35 35 35 35 1[35 1[35 35 1[35 4[35 35 35 35 6[35 1[35 -35 35 35 35 35 35 35 35 35 35 35 35 44[{ - TeX09fbbfacEncoding ReEncodeFont }56 66.4176 /CMTT8 -rf /Ff 140[125 125 125 125 125 125 125 125 125 8[125 -125 6[125 6[125 125 125 125 125 125 125 1[125 125 7[125 -125 16[125 48[{}24 124.533 /SkakNew-DiagramT rf /Fg 151[36 -35 22 31 36 31 36 34 40[35 35 35 35 35 35 35 35 49[{ - TeXf7b6d320Encoding ReEncodeFont }16 66.4176 /CMSS8 -rf /Fh 167[50 5[62 83 2[75 11[71 66[{}5 83.022 /SkakNew-Figurine-Bold -rf -%DVIPSBitmapFont: Fi tcrm1000 10 1 -/Fi 1 137 df -136 D E -%EndDVIPSBitmapFont -/Fj 146[86 25 7[56 1[56 52 97[{ TeXf7b6d320Encoding ReEncodeFont }5 -99.6264 /CMSSBX10 rf /Fk 134[59 1[81 1[62 44 44 46 1[62 -56 62 93 31 59 1[31 62 56 34 51 62 50 1[54 11[86 78 62 -2[77 2[106 67 2[42 88 88 3[81 80 85 9[56 56 56 56 56 -56 56 2[31 46[{ TeXf7b6d320Encoding ReEncodeFont }40 -99.6264 /CMBX12 rf /Fl 190[49 65[{ TeXf7b6d320Encoding ReEncodeFont }1 -58.1154 /CMR7 rf /Fm 140[50 7[63 9[63 97[{ - TeXf7b6d320Encoding ReEncodeFont }3 119.552 /CMSSBX10 -rf /Fn 130[44 1[44 1[44 44 44 44 44 44 44 44 1[44 44 -44 44 44 44 1[44 44 44 44 44 44 44 44 44 4[44 24[44 44 -44 27[44 37[{ TeX09fbbfacEncoding ReEncodeFont }30 83.022 -/CMTT10 rf /Fo 145[42 6[42 42 102[{ TeXbbad153fEncoding ReEncodeFont }3 -83.022 /CMSY10 rf /Fp 140[32 5[66 20 41 6[43 1[43 40 -97[{ TeXf7b6d320Encoding ReEncodeFont }7 83.022 /CMSS10 -rf /Fq 140[35 7[44 9[44 97[{ TeXf7b6d320Encoding ReEncodeFont }3 -83.022 /CMSSBX10 rf /Fr 136[69 50 53 37 38 39 1[53 48 -53 80 27 50 1[27 53 48 29 44 53 42 53 46 11[73 66 3[65 -72 5[36 6[68 72 1[45 5[48 48 48 48 48 48 48 48 48 48 -1[27 32 27 44[{ TeXf7b6d320Encoding ReEncodeFont }42 -83.022 /CMBX10 rf /Fs 136[97 71 75 52 53 55 1[75 67 75 -112 37 71 1[37 75 67 41 61 75 60 1[65 11[103 94 3[92 -101 5[50 5[97 96 102 9[67 67 67 67 67 67 67 49[{ - TeXf7b6d320Encoding ReEncodeFont }35 119.552 /CMBX12 -rf /Ft 128[42 2[83 1[37 44 44 60 44 46 32 33 33 44 46 -42 46 69 23 44 25 23 46 42 25 37 46 37 46 42 3[23 42 -23 1[62 62 85 1[62 60 46 61 65 57 65 62 76 52 65 43 30 -62 65 54 57 63 60 59 62 1[39 3[23 23 42 42 42 42 42 42 -42 42 42 42 42 23 28 23 2[32 32 23 1[69 2[42 23 20[46 -48 11[{ TeXf7b6d320Encoding ReEncodeFont }80 83.022 /CMR10 -rf /Fu 140[29 7[38 9[37 97[{ TeXf7b6d320Encoding ReEncodeFont }3 -74.7198 /CMSS9 rf /Fv 190[45 65[{ TeXf7b6d320Encoding ReEncodeFont }1 -49.8132 /CMR6 rf /Fw 134[41 41 55 41 43 30 30 30 1[43 -38 43 64 21 41 1[21 43 38 23 34 43 34 43 38 8[58 3[55 -7[48 6[52 22[21 4[30 30 40[{ TeXf7b6d320Encoding ReEncodeFont }30 -74.7198 /CMR9 rf /Fx 139[34 35 36 14[39 49 43 31[67 65[{ - TeXf7b6d320Encoding ReEncodeFont }7 74.7198 /CMBX9 rf -/Fy 139[51 1[51 2[51 51 51 51 5[51 51 1[51 51 51 12[51 -11[51 7[51 17[51 46[{ TeX09fbbfacEncoding ReEncodeFont }15 -99.6264 /CMTT12 rf /Fz 140[52 7[66 9[65 97[{ - TeXf7b6d320Encoding ReEncodeFont }3 143.462 /CMSS17 -rf /FA 141[38 2[49 54 81 27 2[27 54 2[43 1[43 54 49 12[70 -6[89 4[73 6[73 6[27 49 2[49 3[49 49 49 2[33 27 32[57 -11[{ TeXf7b6d320Encoding ReEncodeFont }24 99.6264 /CMR12 -rf /FB 134[70 1[96 2[51 52 51 1[73 66 73 2[70 1[36 73 -66 1[58 1[58 1[66 8[99 1[99 1[96 3[90 3[83 6[90 1[96 -14[66 2[66 2[36 46[{ TeXf7b6d320Encoding ReEncodeFont }25 -143.462 /CMR17 rf end -%%EndProlog -%%BeginSetup -%%Feature: *Resolution 600dpi -TeXDict begin -%%PaperSize: A4 - end -%%EndSetup -%%Page: 1 1 -TeXDict begin 1 0 bop 0 TeXcolorgray Black 0 TeXcolorgray -0 TeXcolorgray 0 TeXcolorgray 518 872 a FB(T)l(yp)t(esetting)42 -b(Chess)h(in)g(L)1806 842 y FA(A)1859 872 y FB(T)1933 -903 y(E)2006 872 y(Xwith)h(the)f Fz(sk)l(ak)g FB(P)l(ac)l(k)-7 -b(age)1630 1054 y(V)c(ersion)43 b(1.4)1570 1295 y FA(T)-8 -b(orb)s(en)33 b(Ho\013mann)1064 1411 y(e-mail:)43 b Fy -(Torben.Hoffmann@motorol)q(a.co)q(m)1619 1607 y FA(Marc)m(h)33 -b(19,)g(2006)p 0 TeXcolorgray 0 TeXcolorgray 1778 1906 -a Fx(Abstract)p 0 TeXcolorgray 0 TeXcolorgray 837 2036 -a Fw(This)39 b(user)e(guide)h(sho)n(ws)g(ho)n(w)g(to)f(use)h(an)f -(enhancemen)n(t)g(to)h(the)f(existing)722 2127 y(pac)n(k)l(age)29 -b(for)g(t)n(yp)r(esetting)f(c)n(hess)g(in)g(L)1842 2110 -y Fv(A)1875 2127 y Fw(T)1917 2143 y(E)1961 2127 y(X\()p -Fu(sk)n(ak)p Fw(\).)41 b(The)28 b(primary)g(impro)n(v)n(emen)n(t)722 -2218 y(o)n(v)n(er)g(the)g(old)g(pac)n(k)l(age)g(is)h(that)f(it)g(has)g -(b)r(ecome)h(easier)g(to)f(t)n(yp)r(eset)g(c)n(hess)g(games)722 -2310 y(with)e(this)g(new)g(pac)n(k)l(age.)p 0 TeXcolorgray -1926 5255 a Ft(1)p 0 TeXcolorgray eop end -%%Page: 2 2 -TeXDict begin 2 1 bop 0 TeXcolorgray 0 TeXcolorgray 0 -TeXcolorgray 515 523 a Fs(Con)l(ten)l(ts)515 706 y Fr(1)76 -b(T)-8 b(erms)32 b(of)g(Usage)2043 b(3)515 888 y(2)76 -b(Ac)m(kno)m(wledgemen)m(ts)1899 b(3)515 1071 y(3)76 -b(Installing)31 b(the)h Fq(sk)m(ak)g Fr(P)m(ac)m(k)-5 -b(age)1577 b(3)639 1171 y Ft(3.1)84 b(Using)28 b(the)g -Fp(lamb)r(da)f Ft(P)n(ac)n(k)-5 b(age)47 b(.)41 b(.)h(.)g(.)f(.)h(.)f -(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)p -0 TeXcolorgray 131 w(4)p 0 TeXcolorgray 515 1353 a Fr(4)76 -b(Basic)32 b(usage)f(of)h(the)g Fq(sk)m(ak)g Fr(pac)m(k)-5 -b(age)1387 b(4)515 1536 y(5)76 b(In)m(termediate)32 b(Usage)g(of)g(the) -f Fq(sk)m(ak)h Fr(P)m(ac)m(k)-5 b(age)1042 b(5)639 1636 -y Ft(5.1)84 b(Game)28 b(Managemen)n(t)j(.)41 b(.)h(.)f(.)h(.)f(.)h(.)g -(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.) -h(.)p 0 TeXcolorgray 131 w(5)p 0 TeXcolorgray 515 1818 -a Fr(6)76 b(Ornamen)m(ts)2233 b(7)639 1918 y Ft(6.1)84 -b(Sho)n(wing)27 b(the)h(Board)44 b(.)d(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h -(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)p -0 TeXcolorgray 131 w(7)p 0 TeXcolorgray 639 2017 a(6.2)84 -b(Handy)28 b(Commands)64 b(.)41 b(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f -(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)p -0 TeXcolorgray 131 w(9)p 0 TeXcolorgray 515 2200 a Fr(7)76 -b(Adv)-5 b(anced)33 b(Usage)2002 b(9)639 2300 y Ft(7.1)84 -b(T)-7 b(ailoring)26 b(of)i(the)g(Board)e(App)r(earance)51 -b(.)41 b(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.) -p 0 TeXcolorgray 131 w(9)p 0 TeXcolorgray 639 2399 a(7.2)84 -b(Setting)28 b(up)g(the)g(Board)k(.)42 b(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.) -f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)p -0 TeXcolorgray 90 w(11)p 0 TeXcolorgray 639 2499 a(7.3)84 -b(T)n(yp)r(esetting)28 b(St)n(yle)34 b(.)42 b(.)f(.)h(.)f(.)h(.)f(.)h -(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.) -f(.)h(.)p 0 TeXcolorgray 90 w(12)p 0 TeXcolorgray 830 -2599 a(7.3.1)94 b Fo(n)p Fn(styleA)37 b Ft(.)42 b(.)g(.)f(.)h(.)f(.)h -(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.) -f(.)h(.)f(.)h(.)p 0 TeXcolorgray 90 w(12)p 0 TeXcolorgray -830 2698 a(7.3.2)94 b Fo(n)p Fn(styleB)37 b Ft(.)42 b(.)g(.)f(.)h(.)f -(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.) -h(.)f(.)h(.)f(.)h(.)p 0 TeXcolorgray 90 w(12)p 0 TeXcolorgray -830 2798 a(7.3.3)94 b Fo(n)p Fn(styleC)37 b Ft(.)42 b(.)g(.)f(.)h(.)f -(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.) -h(.)f(.)h(.)f(.)h(.)p 0 TeXcolorgray 90 w(12)p 0 TeXcolorgray -830 2897 a(7.3.4)94 b Fo(n)p Fn(variationstyle)21 b Ft(and)28 -b Fo(n)p Fn(mainlinestyle)51 b Ft(.)41 b(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.) -h(.)p 0 TeXcolorgray 90 w(13)p 0 TeXcolorgray 830 2997 -a(7.3.5)94 b Fo(n)p Fn(longmoves)23 b Ft(and)28 b Fo(n)p -Fn(sanmoves)37 b Ft(.)k(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f -(.)h(.)f(.)h(.)p 0 TeXcolorgray 90 w(13)p 0 TeXcolorgray -639 3097 a(7.4)84 b(Input)29 b(Language)i(.)42 b(.)g(.)f(.)h(.)f(.)h(.) -f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f -(.)h(.)f(.)h(.)p 0 TeXcolorgray 90 w(13)p 0 TeXcolorgray -0 TeXcolorgray 1926 5255 a(2)p 0 TeXcolorgray eop end -%%Page: 3 3 -TeXDict begin 3 2 bop 0 TeXcolorgray 0 TeXcolorgray 0 -TeXcolorgray 515 523 a Fs(1)134 b(T)-11 b(erms)45 b(of)g(Usage)515 -705 y Ft(This)40 b(pac)n(k)-5 b(age)39 b(is)h(distributed)h(under)f -(the)g(terms)g(describ)r(ed)g(in)h(the)g(Latex)e(Pro)5 -b(ject)515 805 y(Public)27 b(Licence,)h(i.e.,)p 0 TeXcolorgray -0 TeXcolorgray 722 987 a(This)f(soft)n(w)n(are)d(is)j(cop)n(yrigh)n(t)e -(but)i(y)n(ou)e(are)h(gran)n(ted)f(a)h(license)g(whic)n(h)h(giv)n(es) -722 1087 y(y)n(ou,)f(the)h(\\user")d(of)j(the)f(soft)n(w)n(are,)f -(legal)h(p)r(ermission)f(to)h(cop)n(y)-7 b(,)26 b(distribute,)722 -1186 y(and/or)33 b(mo)r(dify)j(the)f(soft)n(w)n(are.)57 -b(Ho)n(w)n(ev)n(er,)34 b(if)i(y)n(ou)e(mo)r(dify)h(the)g(soft)n(w)n -(are)722 1286 y(and)26 b(then)h(distribute)f(it)g(\(ev)n(en)g(just)h -(lo)r(cally\))e(y)n(ou)g(m)n(ust)i(c)n(hange)d(the)j(name)722 -1386 y(of)h(the)g(soft)n(w)n(are)e(to)h(a)n(v)n(oid)f(confusion.)515 -1660 y Fs(2)134 b(Ac)l(kno)l(wledgemen)l(ts)515 1842 -y Ft(I)21 b(w)n(ould)h(lik)n(e)f(to)h(thank)f(the)h(creator)e(of)i(the) -g Fp(lamb)r(da)f Ft(pac)n(k)-5 b(age,)22 b(Alan)f(Je\013rey)-7 -b(,)23 b(for)e(making)515 1942 y(a)27 b(splendid)h(pac)n(k)-5 -b(age)26 b(that)i(made)f(this)h(pac)n(k)-5 b(age)26 b(p)r(ossible.)639 -2041 y(F)-7 b(or)24 b(discussions)e(and)i(alpha-testing)f(I)h(send)g(m) -n(y)f(thanks)h(to)g(Guido)g(Go)n(v)n(ernatori)d(|)515 -2141 y(some)27 b(of)g(his)h(ideas)f(ha)n(v)n(e)f(already)g(b)r(een)i -(implemen)n(ted;)h(the)f(rest?)36 b(Time)28 b(will)g(sho)n(w.)639 -2241 y(Thanks)f(to)h(Harri)e(Haanpaa)g(for)i(\014nding)f(a)g(nast)n(y)g -(bug)h(in)g(the)g(castling)e(routine.)639 2340 y(A)31 -b(big)f(thank)g(go)r(es)f(to)i(Dirk)f(B\177)-42 b(ac)n(hle)29 -b(for)h(adding)g(the)g(Informator)f(sym)n(b)r(ols)h(to)g(the)515 -2440 y(fon)n(ts)d(and)f(for)h(remo)n(ving)e(a)i(couple)g(of)g(nast)n(y) -f(bugs)h(as)f(w)n(ell)h(as)f(impro)n(ving)g(some)h(of)g(the)515 -2539 y(commands.)639 2639 y(I)32 b(thank)f(Ulrik)n(e)g(Fisc)n(her)f -(for)h(the)h(tremendous)f(w)n(ork)f(she)h(has)g(done)g(with)h(regards) -515 2739 y(to)23 b(impro)n(ving)f(the)i(w)n(a)n(y)e(fon)n(ts)i(are)e -(handled)i(b)n(y)f(the)h(sk)-5 b(ak)23 b(pac)n(k)-5 b(age,)22 -b(not)i(to)f(men)n(tion)h(the)515 2838 y(signi\014can)n(t)j(amoun)n(t)g -(of)g(bugs)g(she)h(has)f(found)h(and)f(in)h(man)n(y)f(cases)g(\014xed.) -515 3113 y Fs(3)134 b(Installing)47 b(the)e Fm(sk)l(ak)h -Fs(P)l(ac)l(k)-7 b(age)515 3295 y Ft(I)29 b(could)g(not)g(get)g(the)h -(mak)n(e\014le)f(to)g(do)g(the)h(job,)f(so)g(if)h(someone)e(could)h -(help)h(me)f(out)g(on)515 3394 y(this)f(I)f(w)n(ould)g(b)r(e)h(v)n(ery) -f(glad)g(indeed.)639 3494 y(Basically)e(all)i(y)n(ou)e(ha)n(v)n(e)h(to) -g(do)h(is)f(to)h(follo)n(w)e(the)i(guidelines)g(in)f(the)h(mak)n -(e\014le.)36 b(First)515 3594 y(y)n(ou)i(create)g(all)g(the)i(required) -d(directories)h(\(stated)h(in)g(the)g Fn(install)d Ft(section)j(of)g -(the)515 3693 y(mak)n(e\014le\))c(and)h(then)h(y)n(ou)e(run)h(the)h -Fn(make)42 b(install)33 b Ft(command.)62 b(Remem)n(b)r(er)36 -b(to)g(run)515 3793 y Fn(texhash)25 b Ft(after)i(y)n(ou)g(ha)n(v)n(e)f -(up)r(dated)i(y)n(our)f(texmf)h(tree.)639 3892 y(Sorry)f(that)i(it)g -(is)f(not)g(w)n(orking)f(100\045|)g(I)h(just)h(do)f(not)h(ha)n(v)n(e)e -(the)h(time)h(for)f(it)h(righ)n(t)515 3992 y(no)n(w.)639 -4092 y(If)35 b(y)n(ou)e(cannot)h(get)g(the)h(things)f(w)n(orking)e -(just)j(put)g(the)f(\014les)g(where)g(T)2987 4110 y(E)3033 -4092 y(Xand)h(the)515 4191 y(other)27 b(to)r(ols)g(can)g(\014nd)h(them) -g(and)g(y)n(ou)f(will)g(b)r(e)h(just)h(\014ne.)639 4291 -y(F)-7 b(or)36 b(Windo)n(ws)g(user)f(I)i(can)e(recommend)h(the)h(MikT) --7 b(eX)36 b(installation)g(since)g(it)h(has)515 4391 -y(sk)-5 b(ak)24 b(as)g(a)h(pac)n(k)-5 b(age)23 b(and)h(all)h(y)n(ou)f -(ha)n(v)n(e)g(to)g(do)h(is)g(to)f(use)h(the)g(MikT)-7 -b(eX)25 b(installation)g(to)r(ols)515 4490 y(and)i(select)h -(installation)f(of)g(sk)-5 b(ak)27 b(and)h(y)n(ou're)e(up)i(and)f -(running.)639 4590 y(Ultimately)c(the)g(sk)-5 b(ak)22 -b(pac)n(k)-5 b(age)21 b(should)h(b)r(e)h(do)r(cumen)n(ted)f(using)g -(the)h(L)2869 4573 y Fl(A)2906 4590 y Ft(T)2952 4608 -y(E)2998 4590 y(Xstandard)515 4689 y(do)r(cumen)n(tation,)g(but)g(that) -f(is)g(a)g(ma)5 b(jor)21 b(undertaking)g(that)i(will)f(not)h(happ)r(en) -f(righ)n(t)g(no)n(w.)p 0 TeXcolorgray 1926 5255 a(3)p -0 TeXcolorgray eop end -%%Page: 4 4 -TeXDict begin 4 3 bop 0 TeXcolorgray 0 TeXcolorgray 0 -TeXcolorgray 515 523 a Fk(3.1)112 b(Using)38 b(the)g -Fj(lamb)s(da)g Fk(P)m(ac)m(k)-6 b(age)515 676 y Ft(The)33 -b Fp(sk)n(ak)e Ft(pac)n(k)-5 b(age)31 b(uses)i(the)g -Fp(lamb)r(da)g Ft(pac)n(k)-5 b(age)31 b(to)i(do)f(some)g(of)h(the)g -(hard)g(pro)r(cessing)515 776 y(necessary)i(to)h(allo)n(w)g(the)h(PGN)f -(notation)g(as)g(input)i(|)f(since)f(it)h(is)g(not)f(standard)g(in)515 -876 y(L)537 859 y Fl(A)574 876 y Ft(T)620 893 y(E)666 -876 y(Xdistributions)27 b(it)h(is)g(included)g(in)g(the)g(distribution) -f(of)h(the)g Fp(sk)n(ak)e Ft(pac)n(k)-5 b(age.)515 1150 -y Fs(4)134 b(Basic)45 b(usage)h(of)f(the)g Fm(sk)l(ak)i -Fs(pac)l(k)-7 b(age)515 1332 y Ft(Once)23 b(the)g Fp(sk)n(ak)f -Ft(pac)n(k)-5 b(age)22 b(has)h(b)r(een)h(installed)f(y)n(ou)f(only)h -(need)h(to)f(kno)n(w)f(v)n(ery)h(few)g(things)515 1432 -y(in)28 b(order)e(to)h(pro)r(duce)g(nicely)h(t)n(yp)r(eset)g(c)n(hess)f -(games:)p 0 TeXcolorgray 639 1614 a Fi(\210)p 0 TeXcolorgray -42 w Ft(write)h Fn(\\usepackage{ska)o(k})21 b Ft(in)28 -b(the)g(pream)n(ble.)p 0 TeXcolorgray 639 1780 a Fi(\210)p -0 TeXcolorgray 42 w Ft(the)g Fo(n)p Fn(newgame)d Ft(command.)p -0 TeXcolorgray 639 1946 a Fi(\210)p 0 TeXcolorgray 42 -w Ft(the)j Fo(n)p Fn(mainline)c Ft(command.)p 0 TeXcolorgray -639 2112 a Fi(\210)p 0 TeXcolorgray 42 w Ft(the)k Fo(n)p -Fn(variation)c Ft(command.)p 0 TeXcolorgray 639 2278 -a Fi(\210)p 0 TeXcolorgray 42 w Ft(the)k Fo(n)p Fn(showboard)c -Ft(command.)639 2461 y(As)30 b(an)g(example)f(I)h(will)g(describ)r(e)g -(some)f(mo)n(v)n(es)g(from)g(the)i(Ruy)f(Lop)r(ez)f(op)r(ening)h(|)515 -2561 y(please)f(note)h(that)h(the)g(commen)n(ts)e(are)h(just)g(idle)h -(talk.)44 b(In)31 b(the)g(left)f(column)h(the)f(input)515 -2660 y(is)d(sho)n(wn)g(and)g(the)h(corresp)r(onding)e(output)i(is)g -(sho)n(wn)f(in)g(the)h(righ)n(t)f(column.)p 0 TeXcolorgray -0 TeXcolorgray 515 2834 a Fr(1)k(e4)h(e5)f(2)h Fh(N)p -Fr(f3)f Fh(N)p Fr(c6)h(3)f Fh(B)p Fr(b5)p 506 2903 1013 -9 v 458 2989 a Fg(8)p 506 3027 9 125 v 515 3027 a Ff(rZblkans)p -1515 3027 V 458 3113 a Fg(7)p 506 3152 V 515 3152 a Ff(opopZpop)p -1515 3152 V 458 3238 a Fg(6)p 506 3276 V 515 3276 a Ff(0ZnZ0Z0Z)p -1515 3276 V 458 3362 a Fg(5)p 506 3401 V 515 3401 a Ff(ZBZ0o0Z0)p -1515 3401 V 458 3487 a Fg(4)p 506 3525 V 515 3525 a Ff(0Z0ZPZ0Z)p -1515 3525 V 458 3611 a Fg(3)p 506 3650 V 515 3650 a Ff(Z0Z0ZNZ0)p -1515 3650 V 458 3736 a Fg(2)p 506 3775 V 515 3775 a Ff(POPO0OPO)p -1515 3775 V 458 3860 a Fg(1)p 506 3899 V 515 3899 a Ff(SNAQJ0ZR)1515 -3899 y - tx@Dict begin tx@NodeDict begin {-7.5 7.5 } false /N@BM 10 {InitPnode -} NewNode end end - 1515 3899 a 1515 3899 9 125 v 506 3907 1013 9 -v 566 3966 a Fg(a)89 b(b)i(c)g(d)g(e)98 b(f)e(g)89 b(h)47 -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 -105.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. Arrow EndArrow } def [ 15.0 -12.00005 15.0 -3.75 /currentpoint -load stopped pop /Lineto /lineto load def false Line 0.8 SLW 0 setgray - 0. true 12.59995 -2.40005 17.40005 2.40005 .5 Frame gsave 0.5 setgray -fill grestore gsave 0.8 SLW 0 setgray 0 setlinecap stroke grestore -end - -@endspecial 1 1 0.85 TeXcolorrgb -2002 3194 1406 29 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb -0 TeXcolorgray 2002 3194 4 29 v 2002 3169 29 4 v 2030 -3169 1350 4 v 3380 3169 29 4 v 3406 3194 4 29 v 1 1 0.85 -TeXcolorrgb 2002 3273 4 79 v 0 TeXcolorgray 2002 3273 -V 1 1 0.85 TeXcolorrgb 2005 3273 25 79 v 0 TeXcolorgray -1 1 0.85 TeXcolorrgb 2030 3273 1350 79 v 0 TeXcolorgray -1 1 0.85 TeXcolorrgb 3379 3273 25 79 v 0 TeXcolorgray -1 1 0.85 TeXcolorrgb 3404 3273 4 79 v 0 TeXcolorgray -3404 3273 V 2030 3250 a Fe(\\)p 0 0 0 TeXcolorrgb(newgame)p -0 TeXcolorgray 1 1 0.85 TeXcolorrgb 2002 3352 V 0 TeXcolorgray -2002 3352 V 1 1 0.85 TeXcolorrgb 2005 3352 25 79 v 0 -TeXcolorgray 1 1 0.85 TeXcolorrgb 2030 3352 1350 79 v -0 TeXcolorgray 1 1 0.85 TeXcolorrgb 3379 3352 25 79 v -0 TeXcolorgray 1 1 0.85 TeXcolorrgb 3404 3352 4 79 v -0 TeXcolorgray 3404 3352 V 2030 3328 a(\\)p 0 0 0 TeXcolorrgb(mainline) -p 0 TeXcolorgray 2 w({1.)p 0 0 0 TeXcolorrgb 1 w(e)p -0 TeXcolorgray 1 w(4)p 0 0 0 TeXcolorrgb 35 w(e)p 0 TeXcolorgray(5)36 -b(2.)p 0 0 0 TeXcolorrgb 36 w(Nf)p 0 TeXcolorgray(3)p -0 0 0 TeXcolorrgb 36 w(Nc)p 0 TeXcolorgray 1 w(6)f(3.)p -0 0 0 TeXcolorrgb 1 w(Bb)p 0 TeXcolorgray(5})p 1 1 0.85 -TeXcolorrgb 2002 3431 V 0 TeXcolorgray 2002 3431 V 1 1 0.85 -TeXcolorrgb 2005 3431 25 79 v 0 TeXcolorgray 1 1 0.85 -TeXcolorrgb 2030 3431 1350 79 v 0 TeXcolorgray 1 1 0.85 -TeXcolorrgb 3379 3431 25 79 v 0 TeXcolorgray 1 1 0.85 -TeXcolorrgb 3404 3431 4 79 v 0 TeXcolorgray 3404 3431 -V 1 1 0.85 TeXcolorrgb 2002 3510 V 0 TeXcolorgray 2002 -3510 V 1 1 0.85 TeXcolorrgb 2005 3510 25 79 v 0 TeXcolorgray -1 1 0.85 TeXcolorrgb 2030 3510 1350 79 v 0 TeXcolorgray -1 1 0.85 TeXcolorrgb 3379 3510 25 79 v 0 TeXcolorgray -1 1 0.85 TeXcolorrgb 3404 3510 4 79 v 0 TeXcolorgray -3404 3510 V 2030 3486 a(\\)p 0 0 0 TeXcolorrgb(showboard)p -0 TeXcolorgray 1 1 0.85 TeXcolorrgb 2002 3538 1406 29 -v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb 0 TeXcolorgray -2002 3538 4 29 v 2003 3538 29 4 v 2030 3538 1350 4 v -3380 3538 29 4 v 3406 3538 4 29 v 0 TeXcolorgray 0 TeXcolorgray -639 4132 a Ft(The)k Fo(n)p Fn(newgame)d Ft(command)j(sets)f(u)h(the)h -(in)n(ternal)e(b)r(oard)g(or)g(a)h(new)g(game.)70 b(The)515 -4232 y Fo(n)p Fn(mainline)29 b Ft(command)j(do)r(es)g(t)n(w)n(o)g -(things:)46 b(it)33 b(t)n(yp)r(esets)g(the)f(mo)n(v)n(es)g(and)g(up)r -(dates)h(the)515 4332 y(b)r(oard)27 b(so)f(that)i Fo(n)p -Fn(showboard)c Ft(will)k(sho)n(w)e(the)i(curren)n(t)f(b)r(oard)g(p)r -(osition.)p 0 TeXcolorgray 1926 5255 a(4)p 0 TeXcolorgray -eop end -%%Page: 5 5 -TeXDict begin 5 4 bop 0 TeXcolorgray 0 TeXcolorgray 0 -TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray 515 494 a -Fr(3.)15 b(.)g(.)h(a6)515 593 y Ft(Rarely)26 b(used)i(these)g(da)n(ys,) -515 693 y(3.)13 b(.)h(.)g Fd(N)p Ft(f6)27 b(is)h(more)e(in)515 -792 y(fashion)h(since)g(blah)h(blah...)515 892 y Fr(4)j -Fh(B)p Fr(a4)p 506 961 1013 9 v 458 1047 a Fg(8)p 506 -1085 9 125 v 515 1085 a Ff(rZblkans)p 1515 1085 V 458 -1171 a Fg(7)p 506 1210 V 515 1210 a Ff(ZpopZpop)p 1515 -1210 V 458 1296 a Fg(6)p 506 1334 V 515 1334 a Ff(pZnZ0Z0Z)p -1515 1334 V 458 1420 a Fg(5)p 506 1459 V 515 1459 a Ff(Z0Z0o0Z0)p -1515 1459 V 458 1545 a Fg(4)p 506 1583 V 515 1583 a Ff(BZ0ZPZ0Z)p -1515 1583 V 458 1669 a Fg(3)p 506 1708 V 515 1708 a Ff(Z0Z0ZNZ0)p -1515 1708 V 458 1794 a Fg(2)p 506 1833 V 515 1833 a Ff(POPO0OPO)p -1515 1833 V 458 1918 a Fg(1)p 506 1957 V 515 1957 a Ff(SNAQJ0ZR)1515 -1957 y - tx@Dict begin tx@NodeDict begin {-7.5 7.5 } false /N@BM 10 {InitPnode -} NewNode end end - 1515 1957 a 1515 1957 9 125 v 506 1965 1013 9 -v 566 2024 a Fg(a)89 b(b)i(c)g(d)g(e)98 b(f)e(g)89 b(h)47 -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 -105.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. Arrow EndArrow } def [ 15.0 -12.00005 15.0 -3.75 /currentpoint -load stopped pop /Lineto /lineto load def false Line 0.8 SLW 0 setgray - 0. true 12.59995 -2.40005 17.40005 2.40005 .5 Frame gsave 0.5 setgray -fill grestore gsave 0.8 SLW 0 setgray 0 setlinecap stroke grestore -end - -@endspecial 1 1 0.85 TeXcolorrgb -2002 941 1406 29 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb -0 TeXcolorgray 2002 941 4 29 v 2002 916 29 4 v 2030 916 -1350 4 v 3380 916 29 4 v 3406 941 4 29 v 1 1 0.85 TeXcolorrgb -2002 1020 4 79 v 0 TeXcolorgray 2002 1020 V 1 1 0.85 -TeXcolorrgb 2005 1020 25 79 v 0 TeXcolorgray 1 1 0.85 -TeXcolorrgb 2030 1020 1350 79 v 0 TeXcolorgray 1 1 0.85 -TeXcolorrgb 3379 1020 25 79 v 0 TeXcolorgray 1 1 0.85 -TeXcolorrgb 3404 1020 4 79 v 0 TeXcolorgray 3404 1020 -V 2030 996 a Fe(\\)p 0 0 0 TeXcolorrgb(mainline)p 0 TeXcolorgray -2 w({3...)p 0 0 0 TeXcolorrgb 2 w(a)p 0 TeXcolorgray(6})p -1 1 0.85 TeXcolorrgb 2002 1099 V 0 TeXcolorgray 2002 -1099 V 1 1 0.85 TeXcolorrgb 2005 1099 25 79 v 0 TeXcolorgray -1 1 0.85 TeXcolorrgb 2030 1099 1350 79 v 0 TeXcolorgray -1 1 0.85 TeXcolorrgb 3379 1099 25 79 v 0 TeXcolorgray -1 1 0.85 TeXcolorrgb 3404 1099 4 79 v 0 TeXcolorgray -3404 1099 V 0 0 0 TeXcolorrgb 2030 1075 a(Rarely)p 0 -TeXcolorgray 0 0 0 TeXcolorrgb 37 w(used)p 0 TeXcolorgray -0 0 0 TeXcolorrgb 36 w(these)p 0 TeXcolorgray 0 0 0 TeXcolorrgb -37 w(days)p 0 TeXcolorgray 1 w(,)p 1 1 0.85 TeXcolorrgb -2002 1178 V 0 TeXcolorgray 2002 1178 V 1 1 0.85 TeXcolorrgb -2005 1178 25 79 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb -2030 1178 1350 79 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb -3379 1178 25 79 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb -3404 1178 4 79 v 0 TeXcolorgray 3404 1178 V 2030 1154 -a(\\)p 0 0 0 TeXcolorrgb(variation)p 0 TeXcolorgray 3 -w({3...)p 0 0 0 TeXcolorrgb 1 w(Nf)p 0 TeXcolorgray 1 -w(6})p 0 0 0 TeXcolorrgb 36 w(is)p 0 TeXcolorgray 0 0 0 -TeXcolorrgb 35 w(more)p 0 TeXcolorgray 0 0 0 TeXcolorrgb -37 w(in)p 0 TeXcolorgray 1 1 0.85 TeXcolorrgb 2002 1257 -V 0 TeXcolorgray 2002 1257 V 1 1 0.85 TeXcolorrgb 2005 -1257 25 79 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb 2030 -1257 1350 79 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb 3379 -1257 25 79 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb 3404 -1257 4 79 v 0 TeXcolorgray 3404 1257 V 0 0 0 TeXcolorrgb -2030 1233 a(fashion)p 0 TeXcolorgray 0 0 0 TeXcolorrgb -37 w(since)p 0 TeXcolorgray 0 0 0 TeXcolorrgb 37 w(blah)p -0 TeXcolorgray 0 0 0 TeXcolorrgb 36 w(blah)p 0 TeXcolorgray -1 w(...)p 1 1 0.85 TeXcolorrgb 2002 1336 V 0 TeXcolorgray -2002 1336 V 1 1 0.85 TeXcolorrgb 2005 1336 25 79 v 0 -TeXcolorgray 1 1 0.85 TeXcolorrgb 2030 1336 1350 79 v -0 TeXcolorgray 1 1 0.85 TeXcolorrgb 3379 1336 25 79 v -0 TeXcolorgray 1 1 0.85 TeXcolorrgb 3404 1336 4 79 v -0 TeXcolorgray 3404 1336 V 2030 1312 a(\\)p 0 0 0 TeXcolorrgb(mainline) -p 0 TeXcolorgray 2 w({4.)p 0 0 0 TeXcolorrgb 1 w(Ba)p -0 TeXcolorgray 1 w(4})p 1 1 0.85 TeXcolorrgb 2002 1414 -V 0 TeXcolorgray 2002 1414 V 1 1 0.85 TeXcolorrgb 2005 -1414 25 79 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb 2030 -1414 1350 79 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb 3379 -1414 25 79 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb 3404 -1414 4 79 v 0 TeXcolorgray 3404 1414 V 1 1 0.85 TeXcolorrgb -2002 1493 V 0 TeXcolorgray 2002 1493 V 1 1 0.85 TeXcolorrgb -2005 1493 25 79 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb -2030 1493 1350 79 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb -3379 1493 25 79 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb -3404 1493 4 79 v 0 TeXcolorgray 3404 1493 V 2030 1470 -a(\\)p 0 0 0 TeXcolorrgb(showboard)p 0 TeXcolorgray 1 1 0.85 -TeXcolorrgb 2002 1522 1406 29 v 0 TeXcolorgray 1 1 0.85 -TeXcolorrgb 0 TeXcolorgray 2002 1522 4 29 v 2003 1522 -29 4 v 2030 1522 1350 4 v 3380 1522 29 4 v 3406 1522 -4 29 v 0 TeXcolorgray 0 TeXcolorgray 639 2186 a Ft(This)31 -b(example)g(sho)n(ws)e(that)i(if)h(it)f(is)g(blac)n(k)f(to)h(mo)n(v)n -(e)e(the)j(mo)n(v)n(e)d(n)n(um)n(b)r(er)i(shoud)g(b)r(e)515 -2285 y(follo)n(w)n(ed)38 b(b)n(y)h(three)g(p)r(erio)r(ds.)72 -b(F)-7 b(urthermore,)41 b(it)f(also)e(sho)n(ws)g(that)i(the)f -Fo(n)p Fn(variation)515 2385 y Ft(command)22 b(merely)h(t)n(yp)r(esets) -g(the)g(mo)n(v)n(es)f(|)h(it)h(do)r(es)e Fc(not)31 b -Ft(up)r(date)24 b(the)f(b)r(oard,)g(but)h(apart)515 2485 -y(from)j(that)h(it)g(exp)r(ects)g(the)g(same)f(input)h(as)f -Fo(n)p Fn(mainline)p Ft(.)639 2584 y(The)k(four)f(commands)f(in)n(tro)r -(duced)h(in)h(this)g(section)f(will)g(enable)g(y)n(ou)g(to)g(commen)n -(t)515 2684 y(y)n(our)c(games)g(with)i(minimal)g(e\013ort)f(and)h -(still)f(get)h(great)e(results)h(|)g(in)h(fact)g(most)f(c)n(hess)515 -2784 y(b)r(o)r(oks)g(can)g(b)r(e)h(writen)f(using)h(only)f(these)h -(commands!)639 2883 y(But)23 b(the)f Fp(sk)n(ak)f Ft(pac)n(k)-5 -b(age)20 b(o\013ers)i(a)f(lot)h(more)g(that)g(can)g(mak)n(e)f(c)n(hess) -g(t)n(yp)r(esetting)h(easier)515 2983 y(for)27 b(y)n(our)f(|)i(these)f -(features)g(are)g(the)h(topics)f(of)h(the)g(next)g(t)n(w)n(o)f -(sections.)515 3257 y Fs(5)134 b(In)l(termediate)48 b(Usage)e(of)f(the) -g Fm(sk)l(ak)h Fs(P)l(ac)l(k)-7 b(age)515 3439 y Ft(This)27 -b(section)h(describ)r(es)f(ho)n(w)f(to)p 0 TeXcolorgray -639 3605 a Fi(\210)p 0 TeXcolorgray 42 w Ft(do)i(game)e(managemen)n(t,) -p 0 TeXcolorgray 639 3771 a Fi(\210)p 0 TeXcolorgray -42 w Ft(add)i(ornamen)n(ts)e(to)h(the)h(b)r(oard)f(and)p -0 TeXcolorgray 639 3937 a Fi(\210)p 0 TeXcolorgray 42 -w Ft(con)n(trolling)f(some)h(asp)r(ects)h(of)f(sho)n(wing)f(the)i(b)r -(oard.)515 4170 y Fk(5.1)112 b(Game)39 b(Managemen)m(t)515 -4323 y Ft(Returning)24 b(to)f(the)i(Ruy)f(Lop)r(ez)g(example)f(supp)r -(ose)h(y)n(ou)f(w)n(an)n(t)h(to)f(go)h(in)n(to)f(details)h(ab)r(out)515 -4423 y(a)30 b(n)n(um)n(b)r(er)g(of)g(v)-5 b(ariations)29 -b(after)h(white's)h(third)g(mo)n(v)n(e,)f(preferably)f(sho)n(wing)g -(the)i(b)r(oard)515 4522 y(in)d(all)f(the)h(lines)f(y)n(ou)g(describ)r -(e.)639 4622 y(One)h(w)n(a)n(y)e(to)h(do)h(this)g(is)f(to)h(use)f(the)h -Fo(n)p Fn(hidemoves)23 b Ft(command)28 b(lik)n(e)f(this:)p -0 TeXcolorgray 1926 5255 a(5)p 0 TeXcolorgray eop end -%%Page: 6 6 -TeXDict begin 6 5 bop 0 TeXcolorgray 0 TeXcolorgray 0 -TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray 515 506 a -Fr(1)31 b(e4)h(e5)f(2)h Fh(N)p Fr(f3)f Fh(N)p Fr(c6)h(3)f -Fh(B)p Fr(b5)p 506 575 1013 9 v 458 661 a Fg(8)p 506 -700 9 125 v 515 700 a Ff(rZblkans)p 1515 700 V 458 785 -a Fg(7)p 506 824 V 515 824 a Ff(opopZpop)p 1515 824 V -458 910 a Fg(6)p 506 949 V 515 949 a Ff(0ZnZ0Z0Z)p 1515 -949 V 458 1035 a Fg(5)p 506 1073 V 515 1073 a Ff(ZBZ0o0Z0)p -1515 1073 V 458 1159 a Fg(4)p 506 1198 V 515 1198 a Ff(0Z0ZPZ0Z)p -1515 1198 V 458 1284 a Fg(3)p 506 1322 V 515 1322 a Ff(Z0Z0ZNZ0)p -1515 1322 V 458 1408 a Fg(2)p 506 1447 V 515 1447 a Ff(POPO0OPO)p -1515 1447 V 458 1533 a Fg(1)p 506 1571 V 515 1571 a Ff(SNAQJ0ZR)1515 -1571 y - tx@Dict begin tx@NodeDict begin {-7.5 7.5 } false /N@BM 10 {InitPnode -} NewNode end end - 1515 1571 a 1515 1571 9 125 v 506 1579 1013 9 -v 566 1638 a Fg(a)89 b(b)i(c)g(d)g(e)98 b(f)e(g)89 b(h)47 -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 -105.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. Arrow EndArrow } def [ 15.0 -12.00005 15.0 -3.75 /currentpoint -load stopped pop /Lineto /lineto load def false Line 0.8 SLW 0 setgray - 0. true 12.59995 -2.40005 17.40005 2.40005 .5 Frame gsave 0.5 setgray -fill grestore gsave 0.8 SLW 0 setgray 0 setlinecap stroke grestore -end - -@endspecial 1 1 0.85 TeXcolorrgb -2002 867 1406 29 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb -0 TeXcolorgray 2002 867 4 29 v 2002 842 29 4 v 2030 842 -1350 4 v 3380 842 29 4 v 3406 867 4 29 v 1 1 0.85 TeXcolorrgb -2002 946 4 79 v 0 TeXcolorgray 2002 946 V 1 1 0.85 TeXcolorrgb -2005 946 25 79 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb -2030 946 1350 79 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb -3379 946 25 79 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb -3404 946 4 79 v 0 TeXcolorgray 3404 946 V 2030 922 a -Fe(\\)p 0 0 0 TeXcolorrgb(newgame)p 0 TeXcolorgray 1 1 0.85 -TeXcolorrgb 2002 1024 V 0 TeXcolorgray 2002 1024 V 1 1 0.85 -TeXcolorrgb 2005 1024 25 79 v 0 TeXcolorgray 1 1 0.85 -TeXcolorrgb 2030 1024 1350 79 v 0 TeXcolorgray 1 1 0.85 -TeXcolorrgb 3379 1024 25 79 v 0 TeXcolorgray 1 1 0.85 -TeXcolorrgb 3404 1024 4 79 v 0 TeXcolorgray 3404 1024 -V 2030 1001 a(\\)p 0 0 0 TeXcolorrgb(mainline)p 0 TeXcolorgray -2 w({1.)p 0 0 0 TeXcolorrgb 1 w(e)p 0 TeXcolorgray 1 -w(4)p 0 0 0 TeXcolorrgb 35 w(e)p 0 TeXcolorgray(5)36 -b(2.)p 0 0 0 TeXcolorrgb 36 w(Nf)p 0 TeXcolorgray(3)p -0 0 0 TeXcolorrgb 36 w(Nc)p 0 TeXcolorgray 1 w(6)f(3.)p -0 0 0 TeXcolorrgb 1 w(Bb)p 0 TeXcolorgray(5})p 1 1 0.85 -TeXcolorrgb 2002 1103 V 0 TeXcolorgray 2002 1103 V 1 1 0.85 -TeXcolorrgb 2005 1103 25 79 v 0 TeXcolorgray 1 1 0.85 -TeXcolorrgb 2030 1103 1350 79 v 0 TeXcolorgray 1 1 0.85 -TeXcolorrgb 3379 1103 25 79 v 0 TeXcolorgray 1 1 0.85 -TeXcolorrgb 3404 1103 4 79 v 0 TeXcolorgray 3404 1103 -V 1 1 0.85 TeXcolorrgb 2002 1182 V 0 TeXcolorgray 2002 -1182 V 1 1 0.85 TeXcolorrgb 2005 1182 25 79 v 0 TeXcolorgray -1 1 0.85 TeXcolorrgb 2030 1182 1350 79 v 0 TeXcolorgray -1 1 0.85 TeXcolorrgb 3379 1182 25 79 v 0 TeXcolorgray -1 1 0.85 TeXcolorrgb 3404 1182 4 79 v 0 TeXcolorgray -3404 1182 V 2030 1158 a(\\)p 0 0 0 TeXcolorrgb(showboard)p -0 TeXcolorgray 1 1 0.85 TeXcolorrgb 2002 1210 1406 29 -v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb 0 TeXcolorgray -2002 1210 4 29 v 2003 1210 29 4 v 2030 1210 1350 4 v -3380 1210 29 4 v 3406 1210 4 29 v 0 TeXcolorgray 0 TeXcolorgray -0 TeXcolorgray 0 TeXcolorgray 515 1800 a Fr(3.)15 b(.)g(.)h(a6)28 -b Ft(blah)f(blah)p 506 1866 1013 9 v 458 1952 a Fg(8)p -506 1991 9 125 v 515 1991 a Ff(rZblkans)p 1515 1991 V -458 2076 a Fg(7)p 506 2115 V 515 2115 a Ff(ZpopZpop)p -1515 2115 V 458 2201 a Fg(6)p 506 2240 V 515 2240 a Ff(pZnZ0Z0Z)p -1515 2240 V 458 2326 a Fg(5)p 506 2364 V 515 2364 a Ff(ZBZ0o0Z0)p -1515 2364 V 458 2450 a Fg(4)p 506 2489 V 515 2489 a Ff(0Z0ZPZ0Z)p -1515 2489 V 458 2575 a Fg(3)p 506 2613 V 515 2613 a Ff(Z0Z0ZNZ0)p -1515 2613 V 458 2699 a Fg(2)p 506 2738 V 515 2738 a Ff(POPO0OPO)p -1515 2738 V 458 2824 a Fg(1)p 506 2862 V 515 2862 a Ff(SNAQJ0ZR)1515 -2862 y - tx@Dict begin tx@NodeDict begin {-7.5 7.5 } false /N@BM 10 {InitPnode -} NewNode end end - 1515 2862 a 1515 2862 9 125 v 506 2870 1013 9 -v 566 2929 a Fg(a)89 b(b)i(c)g(d)g(e)98 b(f)e(g)89 b(h)47 -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. Arrow EndArrow } def [ 15.0 12.00005 15.0 3.75 /currentpoint -load stopped pop /Lineto /lineto load def false Line 0.8 SLW 0 setgray - 0. true 12.59995 -2.40005 17.40005 2.40005 .5 Frame gsave 0.8 SLW -0 setgray 0 setlinecap stroke grestore end - -@endspecial 1 1 0.85 TeXcolorrgb -2002 2203 1406 29 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb -0 TeXcolorgray 2002 2203 4 29 v 2002 2178 29 4 v 2030 -2178 1350 4 v 3380 2178 29 4 v 3406 2203 4 29 v 1 1 0.85 -TeXcolorrgb 2002 2282 4 79 v 0 TeXcolorgray 2002 2282 -V 1 1 0.85 TeXcolorrgb 2005 2282 25 79 v 0 TeXcolorgray -1 1 0.85 TeXcolorrgb 2030 2282 1350 79 v 0 TeXcolorgray -1 1 0.85 TeXcolorrgb 3379 2282 25 79 v 0 TeXcolorgray -1 1 0.85 TeXcolorrgb 3404 2282 4 79 v 0 TeXcolorgray -3404 2282 V 2030 2258 a Fe(\\)p 0 0 0 TeXcolorrgb(mainline)p -0 TeXcolorgray 2 w({3...)p 0 0 0 TeXcolorrgb 2 w(a)p -0 TeXcolorgray(6})p 0 0 0 TeXcolorrgb 36 w(blah)p 0 TeXcolorgray -0 0 0 TeXcolorrgb 36 w(blah)p 0 TeXcolorgray 1 1 0.85 -TeXcolorrgb 2002 2361 V 0 TeXcolorgray 2002 2361 V 1 1 0.85 -TeXcolorrgb 2005 2361 25 79 v 0 TeXcolorgray 1 1 0.85 -TeXcolorrgb 2030 2361 1350 79 v 0 TeXcolorgray 1 1 0.85 -TeXcolorrgb 3379 2361 25 79 v 0 TeXcolorgray 1 1 0.85 -TeXcolorrgb 3404 2361 4 79 v 0 TeXcolorgray 3404 2361 -V 1 1 0.85 TeXcolorrgb 2002 2439 V 0 TeXcolorgray 2002 -2439 V 1 1 0.85 TeXcolorrgb 2005 2439 25 79 v 0 TeXcolorgray -1 1 0.85 TeXcolorrgb 2030 2439 1350 79 v 0 TeXcolorgray -1 1 0.85 TeXcolorrgb 3379 2439 25 79 v 0 TeXcolorgray -1 1 0.85 TeXcolorrgb 3404 2439 4 79 v 0 TeXcolorgray -3404 2439 V 2030 2416 a(\\)p 0 0 0 TeXcolorrgb(showboard)p -0 TeXcolorgray 1 1 0.85 TeXcolorrgb 2002 2468 1406 29 -v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb 0 TeXcolorgray -2002 2468 4 29 v 2003 2468 29 4 v 2030 2468 1350 4 v -3380 2468 29 4 v 3406 2468 4 29 v 0 TeXcolorgray 0 TeXcolorgray -0 TeXcolorgray 0 TeXcolorgray 515 3100 a Fr(3.)15 b(.)g(.)h -Fh(N)p Fr(ge7)26 b Ft(blah)i(blah)p 506 3182 1013 9 v -458 3268 a Fg(8)p 506 3306 9 125 v 515 3306 a Ff(rZblka0s)p -1515 3306 V 458 3392 a Fg(7)p 506 3431 V 515 3431 a Ff(opopmpop)p -1515 3431 V 458 3517 a Fg(6)p 506 3555 V 515 3555 a Ff(0ZnZ0Z0Z)p -1515 3555 V 458 3641 a Fg(5)p 506 3680 V 515 3680 a Ff(ZBZ0o0Z0)p -1515 3680 V 458 3766 a Fg(4)p 506 3804 V 515 3804 a Ff(0Z0ZPZ0Z)p -1515 3804 V 458 3890 a Fg(3)p 506 3929 V 515 3929 a Ff(Z0Z0ZNZ0)p -1515 3929 V 458 4015 a Fg(2)p 506 4054 V 515 4054 a Ff(POPO0OPO)p -1515 4054 V 458 4139 a Fg(1)p 506 4178 V 515 4178 a Ff(SNAQJ0ZR)1515 -4178 y - tx@Dict begin tx@NodeDict begin {-7.5 7.5 } false /N@BM 10 {InitPnode -} NewNode end end - 1515 4178 a 1515 4178 9 125 v 506 4186 1013 9 -v 566 4245 a Fg(a)89 b(b)i(c)g(d)g(e)98 b(f)e(g)89 b(h)47 -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. Arrow EndArrow } def [ 15.0 12.00005 15.0 3.75 /currentpoint -load stopped pop /Lineto /lineto load def false Line 0.8 SLW 0 setgray - 0. true 12.59995 -2.40005 17.40005 2.40005 .5 Frame gsave 0.8 SLW -0 setgray 0 setlinecap stroke grestore end - -@endspecial 1 1 0.85 TeXcolorrgb -2002 3427 1406 29 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb -0 TeXcolorgray 2002 3427 4 29 v 2002 3402 29 4 v 2030 -3402 1350 4 v 3380 3402 29 4 v 3406 3427 4 29 v 1 1 0.85 -TeXcolorrgb 2002 3506 4 79 v 0 TeXcolorgray 2002 3506 -V 1 1 0.85 TeXcolorrgb 2005 3506 25 79 v 0 TeXcolorgray -1 1 0.85 TeXcolorrgb 2030 3506 1350 79 v 0 TeXcolorgray -1 1 0.85 TeXcolorrgb 3379 3506 25 79 v 0 TeXcolorgray -1 1 0.85 TeXcolorrgb 3404 3506 4 79 v 0 TeXcolorgray -3404 3506 V 2030 3482 a Fe(\\)p 0 0 0 TeXcolorrgb(newgame)p -0 TeXcolorgray 1 1 0.85 TeXcolorrgb 2002 3585 V 0 TeXcolorgray -2002 3585 V 1 1 0.85 TeXcolorrgb 2005 3585 25 79 v 0 -TeXcolorgray 1 1 0.85 TeXcolorrgb 2030 3585 1350 79 v -0 TeXcolorgray 1 1 0.85 TeXcolorrgb 3379 3585 25 79 v -0 TeXcolorgray 1 1 0.85 TeXcolorrgb 3404 3585 4 79 v -0 TeXcolorgray 3404 3585 V 2030 3561 a(\\)p 0 0 0 TeXcolorrgb -(hidemoves)p 0 TeXcolorgray 3 w({1.)p 0 0 0 TeXcolorrgb -1 w(e)p 0 TeXcolorgray(4)p 0 0 0 TeXcolorrgb 35 w(e)p -0 TeXcolorgray 1 w(5)35 b(2.)p 0 0 0 TeXcolorrgb 36 w(Nf)p -0 TeXcolorgray 1 w(3)p 0 0 0 TeXcolorrgb 35 w(Nc)p 0 -TeXcolorgray 1 w(6)g(3.)p 0 0 0 TeXcolorrgb 1 w(Bb)p -0 TeXcolorgray 1 w(5})p 1 1 0.85 TeXcolorrgb 2002 3664 -V 0 TeXcolorgray 2002 3664 V 1 1 0.85 TeXcolorrgb 2005 -3664 25 79 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb 2030 -3664 1350 79 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb 3379 -3664 25 79 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb 3404 -3664 4 79 v 0 TeXcolorgray 3404 3664 V 2030 3640 a(\\)p -0 0 0 TeXcolorrgb(mainline)p 0 TeXcolorgray 2 w({3...)p -0 0 0 TeXcolorrgb 2 w(Nge)p 0 TeXcolorgray 1 w(7})p 0 0 0 -TeXcolorrgb 36 w(blah)p 0 TeXcolorgray 0 0 0 TeXcolorrgb -36 w(blah)p 0 TeXcolorgray 1 1 0.85 TeXcolorrgb 2002 -3743 V 0 TeXcolorgray 2002 3743 V 1 1 0.85 TeXcolorrgb -2005 3743 25 79 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb -2030 3743 1350 79 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb -3379 3743 25 79 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb -3404 3743 4 79 v 0 TeXcolorgray 3404 3743 V 1 1 0.85 -TeXcolorrgb 2002 3822 V 0 TeXcolorgray 2002 3822 V 1 1 0.85 -TeXcolorrgb 2005 3822 25 79 v 0 TeXcolorgray 1 1 0.85 -TeXcolorrgb 2030 3822 1350 79 v 0 TeXcolorgray 1 1 0.85 -TeXcolorrgb 3379 3822 25 79 v 0 TeXcolorgray 1 1 0.85 -TeXcolorrgb 3404 3822 4 79 v 0 TeXcolorgray 3404 3822 -V 2030 3798 a(\\)p 0 0 0 TeXcolorrgb(showboard)p 0 TeXcolorgray -1 1 0.85 TeXcolorrgb 2002 3850 1406 29 v 0 TeXcolorgray -1 1 0.85 TeXcolorrgb 0 TeXcolorgray 2002 3850 4 29 v -2003 3850 29 4 v 2030 3850 1350 4 v 3380 3850 29 4 v -3406 3850 4 29 v 0 TeXcolorgray 0 TeXcolorgray 639 4407 -a Ft(This)22 b(is,)i(admittedly)-7 b(,)23 b(a)f(lab)r(ourious)f(w)n(a)n -(y)g(of)h(doing)g(it,)i(but)e(the)h(example)f(sho)n(ws)f(ho)n(w)515 -4506 y Fo(n)p Fn(hidemoves)i Ft(can)k(fast-forw)n(ard)f(y)n(ou)h(to)g -(an)n(y)g(p)r(oin)n(t)h(in)g(a)f(game.)639 4606 y Fp(sk)n(ak)g -Ft(o\013ers)f(y)n(ou)h(w)n(a)n(ys)f(of)i(storing)e(game)h(p)r(ositions) -p 0 TeXcolorgray 639 4772 a Fi(\210)p 0 TeXcolorgray -42 w Ft(in)h(memory)f(or)p 0 TeXcolorgray 639 4938 a -Fi(\210)p 0 TeXcolorgray 42 w Ft(in)h(a)f(\014le.)p 0 -TeXcolorgray 1926 5255 a(6)p 0 TeXcolorgray eop end -%%Page: 7 7 -TeXDict begin 7 6 bop 0 TeXcolorgray 0 TeXcolorgray 0 -TeXcolorgray 639 523 a Ft(The)23 b(former)f(is)h(done)g(using)g(the)g -Fo(n)p Fn(storegame)c Ft(and)k Fo(n)p Fn(restoregame)18 -b Ft(commands)k(lik)n(e)515 623 y(this:)p 0 TeXcolorgray -0 TeXcolorgray 515 780 a Fr(1)31 b(e4)h(e5)f(2)h Fh(N)p -Fr(f3)f Fh(N)p Fr(c6)h(3)f Fh(B)p Fr(b5)515 880 y(3.)15 -b(.)g(.)h(a6)32 b(4)f Fh(B)p Fr(a4)h(b5)p 506 949 1013 -9 v 458 1035 a Fg(8)p 506 1073 9 125 v 515 1073 a Ff(rZblkans)p -1515 1073 V 458 1159 a Fg(7)p 506 1198 V 515 1198 a Ff(Z0opZpop)p -1515 1198 V 458 1284 a Fg(6)p 506 1322 V 515 1322 a Ff(pZnZ0Z0Z)p -1515 1322 V 458 1408 a Fg(5)p 506 1447 V 515 1447 a Ff(ZpZ0o0Z0)p -1515 1447 V 458 1533 a Fg(4)p 506 1571 V 515 1571 a Ff(BZ0ZPZ0Z)p -1515 1571 V 458 1657 a Fg(3)p 506 1696 V 515 1696 a Ff(Z0Z0ZNZ0)p -1515 1696 V 458 1782 a Fg(2)p 506 1820 V 515 1820 a Ff(POPO0OPO)p -1515 1820 V 458 1906 a Fg(1)p 506 1945 V 515 1945 a Ff(SNAQJ0ZR)1515 -1945 y - tx@Dict begin tx@NodeDict begin {-7.5 7.5 } false /N@BM 10 {InitPnode -} NewNode end end - 1515 1945 a 1515 1945 9 125 v 506 1953 1013 9 -v 566 2012 a Fg(a)89 b(b)i(c)g(d)g(e)98 b(f)e(g)89 b(h)47 -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. Arrow EndArrow } def [ 15.0 12.00005 15.0 3.75 /currentpoint -load stopped pop /Lineto /lineto load def false Line 0.8 SLW 0 setgray - 0. true 12.59995 -2.40005 17.40005 2.40005 .5 Frame gsave 0.8 SLW -0 setgray 0 setlinecap stroke grestore end - -@endspecial 515 2111 a Fr(3.)15 -b(.)g(.)h Fh(B)p Fr(d7)p 506 2180 V 458 2266 a Fg(8)p -506 2305 9 125 v 515 2305 a Ff(rZ0lkans)p 1515 2305 V -458 2391 a Fg(7)p 506 2429 V 515 2429 a Ff(opobZpop)p -1515 2429 V 458 2515 a Fg(6)p 506 2554 V 515 2554 a Ff(0ZnZ0Z0Z)p -1515 2554 V 458 2640 a Fg(5)p 506 2678 V 515 2678 a Ff(ZBZ0o0Z0)p -1515 2678 V 458 2764 a Fg(4)p 506 2803 V 515 2803 a Ff(0Z0ZPZ0Z)p -1515 2803 V 458 2889 a Fg(3)p 506 2927 V 515 2927 a Ff(Z0Z0ZNZ0)p -1515 2927 V 458 3013 a Fg(2)p 506 3052 V 515 3052 a Ff(POPO0OPO)p -1515 3052 V 458 3138 a Fg(1)p 506 3176 V 515 3176 a Ff(SNAQJ0ZR)1515 -3176 y - tx@Dict begin tx@NodeDict begin {-7.5 7.5 } false /N@BM 10 {InitPnode -} NewNode end end - 1515 3176 a 1515 3176 9 125 v 506 3184 1013 9 -v 566 3243 a Fg(a)89 b(b)i(c)g(d)g(e)98 b(f)e(g)89 b(h)47 -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. Arrow EndArrow } def [ 15.0 12.00005 15.0 3.75 /currentpoint -load stopped pop /Lineto /lineto load def false Line 0.8 SLW 0 setgray - 0. true 12.59995 -2.40005 17.40005 2.40005 .5 Frame gsave 0.8 SLW -0 setgray 0 setlinecap stroke grestore end - -@endspecial 1 1 0.85 TeXcolorrgb -2002 1570 1406 29 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb -0 TeXcolorgray 2002 1570 4 29 v 2002 1545 29 4 v 2030 -1545 1350 4 v 3380 1545 29 4 v 3406 1570 4 29 v 1 1 0.85 -TeXcolorrgb 2002 1648 4 79 v 0 TeXcolorgray 2002 1648 -V 1 1 0.85 TeXcolorrgb 2005 1648 25 79 v 0 TeXcolorgray -1 1 0.85 TeXcolorrgb 2030 1648 1350 79 v 0 TeXcolorgray -1 1 0.85 TeXcolorrgb 3379 1648 25 79 v 0 TeXcolorgray -1 1 0.85 TeXcolorrgb 3404 1648 4 79 v 0 TeXcolorgray -3404 1648 V 2030 1625 a Fe(\\)p 0 0 0 TeXcolorrgb(newgame)p -0 TeXcolorgray 1 1 0.85 TeXcolorrgb 2002 1727 V 0 TeXcolorgray -2002 1727 V 1 1 0.85 TeXcolorrgb 2005 1727 25 79 v 0 -TeXcolorgray 1 1 0.85 TeXcolorrgb 2030 1727 1350 79 v -0 TeXcolorgray 1 1 0.85 TeXcolorrgb 3379 1727 25 79 v -0 TeXcolorgray 1 1 0.85 TeXcolorrgb 3404 1727 4 79 v -0 TeXcolorgray 3404 1727 V 2030 1704 a(\\)p 0 0 0 TeXcolorrgb(mainline) -p 0 TeXcolorgray 2 w({1.)p 0 0 0 TeXcolorrgb 1 w(e)p -0 TeXcolorgray 1 w(4)p 0 0 0 TeXcolorrgb 35 w(e)p 0 TeXcolorgray(5)36 -b(2.)p 0 0 0 TeXcolorrgb 36 w(Nf)p 0 TeXcolorgray(3)p -0 0 0 TeXcolorrgb 36 w(Nc)p 0 TeXcolorgray 1 w(6)f(3.)p -0 0 0 TeXcolorrgb 1 w(Bb)p 0 TeXcolorgray(5})p 1 1 0.85 -TeXcolorrgb 2002 1806 V 0 TeXcolorgray 2002 1806 V 1 1 0.85 -TeXcolorrgb 2005 1806 25 79 v 0 TeXcolorgray 1 1 0.85 -TeXcolorrgb 2030 1806 1350 79 v 0 TeXcolorgray 1 1 0.85 -TeXcolorrgb 3379 1806 25 79 v 0 TeXcolorgray 1 1 0.85 -TeXcolorrgb 3404 1806 4 79 v 0 TeXcolorgray 3404 1806 -V 2030 1783 a(\\)p 0 0 0 TeXcolorrgb(storegame)p 0 TeXcolorgray -3 w({)p 0 0 0 TeXcolorrgb(game)p 0 TeXcolorgray 1 w(1})p -1 1 0.85 TeXcolorrgb 2002 1885 V 0 TeXcolorgray 2002 -1885 V 1 1 0.85 TeXcolorrgb 2005 1885 25 79 v 0 TeXcolorgray -1 1 0.85 TeXcolorrgb 2030 1885 1350 79 v 0 TeXcolorgray -1 1 0.85 TeXcolorrgb 3379 1885 25 79 v 0 TeXcolorgray -1 1 0.85 TeXcolorrgb 3404 1885 4 79 v 0 TeXcolorgray -3404 1885 V 2030 1861 a(\\)p 0 0 0 TeXcolorrgb(mainline)p -0 TeXcolorgray 2 w({3...)p 0 0 0 TeXcolorrgb 2 w(a)p -0 TeXcolorgray(6)h(4.)p 0 0 0 TeXcolorrgb(Ba)p 0 TeXcolorgray -1 w(4)p 0 0 0 TeXcolorrgb 35 w(b)p 0 TeXcolorgray 1 w(5})p -1 1 0.85 TeXcolorrgb 2002 1964 V 0 TeXcolorgray 2002 -1964 V 1 1 0.85 TeXcolorrgb 2005 1964 25 79 v 0 TeXcolorgray -1 1 0.85 TeXcolorrgb 2030 1964 1350 79 v 0 TeXcolorgray -1 1 0.85 TeXcolorrgb 3379 1964 25 79 v 0 TeXcolorgray -1 1 0.85 TeXcolorrgb 3404 1964 4 79 v 0 TeXcolorgray -3404 1964 V 1 1 0.85 TeXcolorrgb 2002 2043 V 0 TeXcolorgray -2002 2043 V 1 1 0.85 TeXcolorrgb 2005 2043 25 79 v 0 -TeXcolorgray 1 1 0.85 TeXcolorrgb 2030 2043 1350 79 v -0 TeXcolorgray 1 1 0.85 TeXcolorrgb 3379 2043 25 79 v -0 TeXcolorgray 1 1 0.85 TeXcolorrgb 3404 2043 4 79 v -0 TeXcolorgray 3404 2043 V 2030 2019 a(\\)p 0 0 0 TeXcolorrgb -(showboard)p 0 TeXcolorgray 1 1 0.85 TeXcolorrgb 2002 -2122 V 0 TeXcolorgray 2002 2122 V 1 1 0.85 TeXcolorrgb -2005 2122 25 79 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb -2030 2122 1350 79 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb -3379 2122 25 79 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb -3404 2122 4 79 v 0 TeXcolorgray 3404 2122 V 2030 2098 -a(\\)p 0 0 0 TeXcolorrgb(restoregame)p 0 TeXcolorgray -3 w({)p 0 0 0 TeXcolorrgb 1 w(game)p 0 TeXcolorgray 1 -w(1})p 1 1 0.85 TeXcolorrgb 2002 2201 V 0 TeXcolorgray -2002 2201 V 1 1 0.85 TeXcolorrgb 2005 2201 25 79 v 0 -TeXcolorgray 1 1 0.85 TeXcolorrgb 2030 2201 1350 79 v -0 TeXcolorgray 1 1 0.85 TeXcolorrgb 3379 2201 25 79 v -0 TeXcolorgray 1 1 0.85 TeXcolorrgb 3404 2201 4 79 v -0 TeXcolorgray 3404 2201 V 1 1 0.85 TeXcolorrgb 2002 -2279 V 0 TeXcolorgray 2002 2279 V 1 1 0.85 TeXcolorrgb -2005 2279 25 79 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb -2030 2279 1350 79 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb -3379 2279 25 79 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb -3404 2279 4 79 v 0 TeXcolorgray 3404 2279 V 2030 2256 -a(\\)p 0 0 0 TeXcolorrgb(mainline)p 0 TeXcolorgray 2 -w({3...)p 0 0 0 TeXcolorrgb 2 w(Bd)p 0 TeXcolorgray(7})p -1 1 0.85 TeXcolorrgb 2002 2358 V 0 TeXcolorgray 2002 -2358 V 1 1 0.85 TeXcolorrgb 2005 2358 25 79 v 0 TeXcolorgray -1 1 0.85 TeXcolorrgb 2030 2358 1350 79 v 0 TeXcolorgray -1 1 0.85 TeXcolorrgb 3379 2358 25 79 v 0 TeXcolorgray -1 1 0.85 TeXcolorrgb 3404 2358 4 79 v 0 TeXcolorgray -3404 2358 V 2030 2335 a(\\)p 0 0 0 TeXcolorrgb(showboard)p -0 TeXcolorgray 1 1 0.85 TeXcolorrgb 2002 2387 1406 29 -v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb 0 TeXcolorgray -2002 2387 4 29 v 2003 2387 29 4 v 2030 2387 1350 4 v -3380 2387 29 4 v 3406 2387 4 29 v 0 TeXcolorgray 0 TeXcolorgray -639 3410 a Ft(Sa)n(ving)43 b(and)g(loading)g(to/from)f(a)h(\014le)h(is) -g(the)g(same)f(just)h(with)g(the)g(commands)515 3509 -y Fo(n)p Fn(savegame)24 b Ft(and)j Fo(n)p Fn(loadgame)p -Ft(.)515 3784 y Fs(6)134 b(Ornamen)l(ts)515 3982 y Fk(6.1)112 -b(Sho)m(wing)38 b(the)g(Board)515 4136 y Ft(W)-7 b(e)29 -b(ha)n(v)n(e)e(already)g(seen)i Fo(n)p Fn(showboard)24 -b Ft(in)29 b(action,)g(but)g(is)g(is)f(p)r(ossible)h(to)f(alter)g(the)h -(w)n(a)n(y)515 4235 y(the)f(b)r(oard)e(lo)r(oks)h(lik)n(e.)639 -4335 y(With)36 b(the)f Fo(n)p Fn(mover)e Ft(command)h(one)g(can)h -(request)f(that)h(a)g(little)g(mark)n(er)e(is)i(sho)n(wn)515 -4435 y(next)28 b(to)f(the)h(b)r(oard)f(indicating)g(who)g(is)h(to)f(mo) -n(v)n(e)g(next.)p 0 TeXcolorgray 1926 5255 a(7)p 0 TeXcolorgray -eop end -%%Page: 8 8 -TeXDict begin 8 7 bop 0 TeXcolorgray 0 TeXcolorgray 0 -TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray 506 498 1013 -9 v 458 584 a Fg(8)p 506 622 9 125 v 515 622 a Ff(rmblkans)p -1515 622 V 458 708 a Fg(7)p 506 747 V 515 747 a Ff(opopopop)p -1515 747 V 458 833 a Fg(6)p 506 871 V 515 871 a Ff(0Z0Z0Z0Z)p -1515 871 V 458 957 a Fg(5)p 506 996 V 515 996 a Ff(Z0Z0Z0Z0)p -1515 996 V 458 1082 a Fg(4)p 506 1120 V 515 1120 a Ff(0Z0Z0Z0Z)p -1515 1120 V 458 1206 a Fg(3)p 506 1245 V 515 1245 a Ff(Z0Z0Z0Z0)p -1515 1245 V 458 1331 a Fg(2)p 506 1369 V 515 1369 a Ff(POPOPOPO)p -1515 1369 V 458 1455 a Fg(1)p 506 1494 V 515 1494 a Ff(SNAQJBMR)1515 -1494 y - tx@Dict begin tx@NodeDict begin {-7.5 7.5 } false /N@BM 10 {InitPnode -} NewNode end end - 1515 1494 a 1515 1494 9 125 v 506 1502 1013 9 -v 566 1561 a Fg(a)89 b(b)i(c)g(d)g(e)98 b(f)e(g)89 b(h)47 -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. Arrow EndArrow } def [ 15.0 12.00005 15.0 3.75 /currentpoint -load stopped pop /Lineto /lineto load def false Line 0.8 SLW 0 setgray - 0. true 12.59995 -2.40005 17.40005 2.40005 .5 Frame gsave 0.8 SLW -0 setgray 0 setlinecap stroke grestore end - -@endspecial 1 1 0.85 TeXcolorrgb -2002 867 1406 29 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb -0 TeXcolorgray 2002 867 4 29 v 2002 842 29 4 v 2030 842 -1350 4 v 3380 842 29 4 v 3406 867 4 29 v 1 1 0.85 TeXcolorrgb -2002 946 4 79 v 0 TeXcolorgray 2002 946 V 1 1 0.85 TeXcolorrgb -2005 946 25 79 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb -2030 946 1350 79 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb -3379 946 25 79 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb -3404 946 4 79 v 0 TeXcolorgray 3404 946 V 2030 923 a -Fe(\\)p 0 0 0 TeXcolorrgb(newgame)p 0 TeXcolorgray 1 1 0.85 -TeXcolorrgb 2002 1025 V 0 TeXcolorgray 2002 1025 V 1 1 0.85 -TeXcolorrgb 2005 1025 25 79 v 0 TeXcolorgray 1 1 0.85 -TeXcolorrgb 2030 1025 1350 79 v 0 TeXcolorgray 1 1 0.85 -TeXcolorrgb 3379 1025 25 79 v 0 TeXcolorgray 1 1 0.85 -TeXcolorrgb 3404 1025 4 79 v 0 TeXcolorgray 3404 1025 -V 1 1 0.85 TeXcolorrgb 2002 1104 V 0 TeXcolorgray 2002 -1104 V 1 1 0.85 TeXcolorrgb 2005 1104 25 79 v 0 TeXcolorgray -1 1 0.85 TeXcolorrgb 2030 1104 1350 79 v 0 TeXcolorgray -1 1 0.85 TeXcolorrgb 3379 1104 25 79 v 0 TeXcolorgray -1 1 0.85 TeXcolorrgb 3404 1104 4 79 v 0 TeXcolorgray -3404 1104 V 2030 1080 a(\\)p 0 0 0 TeXcolorrgb(showboard)p -0 TeXcolorgray 1 1 0.85 TeXcolorrgb 2002 1132 1406 29 -v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb 0 TeXcolorgray -2002 1132 4 29 v 2003 1132 29 4 v 2030 1132 1350 4 v -3380 1132 29 4 v 3406 1132 4 29 v 0 TeXcolorgray 0 TeXcolorgray -0 TeXcolorgray 0 TeXcolorgray 515 1723 a Fr(1)31 b(d4)p -506 1789 1013 9 v 458 1875 a Fg(8)p 506 1913 9 125 v -515 1913 a Ff(rmblkans)p 1515 1913 V 458 1999 a Fg(7)p -506 2038 V 515 2038 a Ff(opopopop)p 1515 2038 V 458 2124 -a Fg(6)p 506 2162 V 515 2162 a Ff(0Z0Z0Z0Z)p 1515 2162 -V 458 2248 a Fg(5)p 506 2287 V 515 2287 a Ff(Z0Z0Z0Z0)p -1515 2287 V 458 2373 a Fg(4)p 506 2411 V 515 2411 a Ff(0Z0O0Z0Z)p -1515 2411 V 458 2497 a Fg(3)p 506 2536 V 515 2536 a Ff(Z0Z0Z0Z0)p -1515 2536 V 458 2622 a Fg(2)p 506 2660 V 515 2660 a Ff(POPZPOPO)p -1515 2660 V 458 2746 a Fg(1)p 506 2785 V 515 2785 a Ff(SNAQJBMR)1515 -2785 y - tx@Dict begin tx@NodeDict begin {-7.5 7.5 } false /N@BM 10 {InitPnode -} NewNode end end - 1515 2785 a 1515 2785 9 125 v 506 2793 1013 9 -v 566 2852 a Fg(a)89 b(b)i(c)g(d)g(e)98 b(f)e(g)89 b(h)47 -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 -105.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. Arrow EndArrow } def [ 15.0 -12.00005 15.0 -3.75 /currentpoint -load stopped pop /Lineto /lineto load def false Line 0.8 SLW 0 setgray - 0. true 12.59995 -2.40005 17.40005 2.40005 .5 Frame gsave 0.5 setgray -fill grestore gsave 0.8 SLW 0 setgray 0 setlinecap stroke grestore -end - -@endspecial 1 1 0.85 TeXcolorrgb -2002 2125 1406 29 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb -0 TeXcolorgray 2002 2125 4 29 v 2002 2101 29 4 v 2030 -2101 1350 4 v 3380 2101 29 4 v 3406 2125 4 29 v 1 1 0.85 -TeXcolorrgb 2002 2204 4 79 v 0 TeXcolorgray 2002 2204 -V 1 1 0.85 TeXcolorrgb 2005 2204 25 79 v 0 TeXcolorgray -1 1 0.85 TeXcolorrgb 2030 2204 1350 79 v 0 TeXcolorgray -1 1 0.85 TeXcolorrgb 3379 2204 25 79 v 0 TeXcolorgray -1 1 0.85 TeXcolorrgb 3404 2204 4 79 v 0 TeXcolorgray -3404 2204 V 2030 2181 a Fe(\\)p 0 0 0 TeXcolorrgb(mainline)p -0 TeXcolorgray 2 w({1.)p 0 0 0 TeXcolorrgb 1 w(d)p 0 -TeXcolorgray 1 w(4})p 1 1 0.85 TeXcolorrgb 2002 2283 -V 0 TeXcolorgray 2002 2283 V 1 1 0.85 TeXcolorrgb 2005 -2283 25 79 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb 2030 -2283 1350 79 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb 3379 -2283 25 79 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb 3404 -2283 4 79 v 0 TeXcolorgray 3404 2283 V 1 1 0.85 TeXcolorrgb -2002 2362 V 0 TeXcolorgray 2002 2362 V 1 1 0.85 TeXcolorrgb -2005 2362 25 79 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb -2030 2362 1350 79 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb -3379 2362 25 79 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb -3404 2362 4 79 v 0 TeXcolorgray 3404 2362 V 2030 2338 -a(\\)p 0 0 0 TeXcolorrgb(showboard)p 0 TeXcolorgray 1 1 0.85 -TeXcolorrgb 2002 2390 1406 29 v 0 TeXcolorgray 1 1 0.85 -TeXcolorrgb 0 TeXcolorgray 2002 2390 4 29 v 2003 2390 -29 4 v 2030 2390 1350 4 v 3380 2390 29 4 v 3406 2390 -4 29 v 0 TeXcolorgray 0 TeXcolorgray 639 3018 a Ft(This)31 -b(can)f(b)r(e)h(turned)f(o\013)h(with)g Fo(n)p Fn(moveroff)p -Ft(.)41 b(Y)-7 b(ou)31 b(can)f(also)f(remo)n(v)n(e)g(the)i(notation)515 -3118 y(around)26 b(the)i(b)r(oard)f(using)g Fo(n)p Fn(notationoff)c -Ft(whic)n(h)k(giv)n(es)g(this)h(app)r(earance:)p 0 TeXcolorgray -0 TeXcolorgray 506 3346 1013 9 v 506 4343 9 997 v 515 -3471 a Ff(rmblkans)515 3595 y(opopopop)515 3720 y(0Z0Z0Z0Z)515 -3844 y(Z0Z0Z0Z0)515 3969 y(0Z0Z0Z0Z)515 4093 y(Z0Z0Z0Z0)515 -4218 y(POPOPOPO)515 4343 y(SNAQJBMR)1515 4343 y - tx@Dict begin tx@NodeDict begin {-7.5 7.5 } false /N@BM 10 {InitPnode -} NewNode end end - 1515 -4343 a 1511 4343 9 997 v 506 4351 1013 9 v 1519 4351 -a @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. Arrow EndArrow } def [ 15.0 12.00005 15.0 3.75 /currentpoint -load stopped pop /Lineto /lineto load def false Line 0.8 SLW 0 setgray - 0. true 12.59995 -2.40005 17.40005 2.40005 .5 Frame gsave 0.8 SLW -0 setgray 0 setlinecap stroke grestore end - -@endspecial 1 1 0.85 TeXcolorrgb -2002 3651 1406 29 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb -0 TeXcolorgray 2002 3651 4 29 v 2002 3626 29 4 v 2030 -3626 1350 4 v 3380 3626 29 4 v 3406 3651 4 29 v 1 1 0.85 -TeXcolorrgb 2002 3730 4 79 v 0 TeXcolorgray 2002 3730 -V 1 1 0.85 TeXcolorrgb 2005 3730 25 79 v 0 TeXcolorgray -1 1 0.85 TeXcolorrgb 2030 3730 1350 79 v 0 TeXcolorgray -1 1 0.85 TeXcolorrgb 3379 3730 25 79 v 0 TeXcolorgray -1 1 0.85 TeXcolorrgb 3404 3730 4 79 v 0 TeXcolorgray -3404 3730 V 2030 3706 a Fe(\\)p 0 0 0 TeXcolorrgb(newgame)p -0 TeXcolorgray 1 1 0.85 TeXcolorrgb 2002 3809 V 0 TeXcolorgray -2002 3809 V 1 1 0.85 TeXcolorrgb 2005 3809 25 79 v 0 -TeXcolorgray 1 1 0.85 TeXcolorrgb 2030 3809 1350 79 v -0 TeXcolorgray 1 1 0.85 TeXcolorrgb 3379 3809 25 79 v -0 TeXcolorgray 1 1 0.85 TeXcolorrgb 3404 3809 4 79 v -0 TeXcolorgray 3404 3809 V 2030 3785 a(\\)p 0 0 0 TeXcolorrgb -(notationoff)p 0 TeXcolorgray 1 1 0.85 TeXcolorrgb 2002 -3888 V 0 TeXcolorgray 2002 3888 V 1 1 0.85 TeXcolorrgb -2005 3888 25 79 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb -2030 3888 1350 79 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb -3379 3888 25 79 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb -3404 3888 4 79 v 0 TeXcolorgray 3404 3888 V 2030 3864 -a(\\)p 0 0 0 TeXcolorrgb(showboard)p 0 TeXcolorgray 1 1 0.85 -TeXcolorrgb 2002 3916 1406 29 v 0 TeXcolorgray 1 1 0.85 -TeXcolorrgb 0 TeXcolorgray 2002 3916 4 29 v 2003 3916 -29 4 v 2030 3916 1350 4 v 3380 3916 29 4 v 3406 3916 -4 29 v 0 TeXcolorgray 0 TeXcolorgray 639 4504 a Ft(The)g(notation)f(is) -g(added)h(again)e(after)i(one)f(has)g(issued)g Fo(n)p -Fn(notationon)p Ft(.)639 4604 y(A)e(more)e(elab)r(orate)f(explanation)h -(of)h(ho)n(w)g(the)g(app)r(earance)e(of)i(the)h(notation)e(around)515 -4704 y(the)28 b(b)r(oard)e(is)i(con\014gured)e(can)i(b)r(e)g(found)g -(in)f([)p Fr(?)q Ft(].)639 4803 y(Although)c(it)g(is)g(rarely)e(seen)h -(is)h(c)n(hess)f(b)r(o)r(oks)g Fp(sk)n(ak)f Ft(o\013ers)h(the)h(p)r -(ossibilit)n(y)g(of)f(sho)n(wing)515 4903 y(the)28 b(b)r(oard)e(from)i -(blac)n(k's)e(p)r(ersp)r(ectiv)n(e)i(using)f(the)h Fo(n)p -Fn(showinverseboar)o(d)21 b Ft(command.)p 0 TeXcolorgray -1926 5255 a(8)p 0 TeXcolorgray eop end -%%Page: 9 9 -TeXDict begin 9 8 bop 0 TeXcolorgray 0 TeXcolorgray 0 -TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray 506 498 1013 -9 v 458 584 a Fg(8)p 506 622 9 125 v 515 622 a Ff(rmblkans)p -1515 622 V 458 708 a Fg(7)p 506 747 V 515 747 a Ff(opopopop)p -1515 747 V 458 833 a Fg(6)p 506 871 V 515 871 a Ff(0Z0Z0Z0Z)p -1515 871 V 458 957 a Fg(5)p 506 996 V 515 996 a Ff(Z0Z0Z0Z0)p -1515 996 V 458 1082 a Fg(4)p 506 1120 V 515 1120 a Ff(0Z0Z0Z0Z)p -1515 1120 V 458 1206 a Fg(3)p 506 1245 V 515 1245 a Ff(Z0Z0Z0Z0)p -1515 1245 V 458 1331 a Fg(2)p 506 1369 V 515 1369 a Ff(POPOPOPO)p -1515 1369 V 458 1455 a Fg(1)p 506 1494 V 515 1494 a Ff(SNAQJBMR)1515 -1494 y - tx@Dict begin tx@NodeDict begin {-7.5 7.5 } false /N@BM 10 {InitPnode -} NewNode end end - 1515 1494 a 1515 1494 9 125 v 506 1502 1013 9 -v 566 1561 a Fg(a)89 b(b)i(c)g(d)g(e)98 b(f)e(g)89 b(h)47 -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. Arrow EndArrow } def [ 15.0 12.00005 15.0 3.75 /currentpoint -load stopped pop /Lineto /lineto load def false Line 0.8 SLW 0 setgray - 0. true 12.59995 -2.40005 17.40005 2.40005 .5 Frame gsave 0.8 SLW -0 setgray 0 setlinecap stroke grestore end - -@endspecial 1 1 0.85 TeXcolorrgb -2002 907 1406 29 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb -0 TeXcolorgray 2002 907 4 29 v 2002 882 29 4 v 2030 882 -1350 4 v 3380 882 29 4 v 3406 907 4 29 v 1 1 0.85 TeXcolorrgb -2002 986 4 79 v 0 TeXcolorgray 2002 986 V 1 1 0.85 TeXcolorrgb -2005 986 25 79 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb -2030 986 1350 79 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb -3379 986 25 79 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb -3404 986 4 79 v 0 TeXcolorgray 3404 986 V 2030 962 a -Fe(\\)p 0 0 0 TeXcolorrgb(newgame)p 0 TeXcolorgray 1 1 0.85 -TeXcolorrgb 2002 1065 V 0 TeXcolorgray 2002 1065 V 1 1 0.85 -TeXcolorrgb 2005 1065 25 79 v 0 TeXcolorgray 1 1 0.85 -TeXcolorrgb 2030 1065 1350 79 v 0 TeXcolorgray 1 1 0.85 -TeXcolorrgb 3379 1065 25 79 v 0 TeXcolorgray 1 1 0.85 -TeXcolorrgb 3404 1065 4 79 v 0 TeXcolorgray 3404 1065 -V 2030 1041 a(\\)p 0 0 0 TeXcolorrgb(showboard)p 0 TeXcolorgray -1 1 0.85 TeXcolorrgb 2002 1093 1406 29 v 0 TeXcolorgray -1 1 0.85 TeXcolorrgb 0 TeXcolorgray 2002 1093 4 29 v -2003 1093 29 4 v 2030 1093 1350 4 v 3380 1093 29 4 v -3406 1093 4 29 v 0 TeXcolorgray 0 TeXcolorgray 639 1723 -a Ft(If)36 b(y)n(ou)f(are)f(writing)h(ab)r(out)h(an)f(op)r(ening)g -(from)g(blac)n(k's)g(p)r(oin)n(t)g(of)h(view)f(this)h(com-)515 -1822 y(mand/feature)26 b(could)i(b)r(e)g(a)f(w)n(elcome)g(refreshmen)n -(t)g(in)h(presen)n(tation)e(st)n(yle.)515 2055 y Fk(6.2)112 -b(Handy)38 b(Commands)515 2208 y Ft(By)22 b(requst)g(of)g(users)g(and)h -(o)n(wn)e(usage)h(a)g(couple)g(of)h(handy)f(commands)g(ha)n(v)n(e)f(b)r -(een)i(added)515 2308 y(to)k Fp(sk)n(ak)f Ft(that)i(y)n(ou)f(migh)n(t)h -(\014nd)g(useful)g(to)r(o.)639 2407 y Fo(n)p Fn(wmove)p -Fo(f)p Fb(move)10 b Fo(g)20 b Ft(t)n(yp)r(esets)g(a)h(single)f(mo)n(v)n -(e,)g(whereas)g Fo(n)p Fn(bmove)p Fo(f)p Fb(move)9 b -Fo(g)21 b Ft(do)r(es)f(the)h(same)515 2507 y(only)f(with)h(leading)f -(ellipses)g(\(see)g(7for)g(in-depth)h(explanation\).)34 -b(This)20 b(is)h(useful)g(for)f(short)515 2606 y(remarks)26 -b(lik)n(e:)p 0 TeXcolorgray 0 TeXcolorgray 515 2801 a(.)14 -b(.)g(.)f Fd(N)p Ft(d4)27 b(w)n(ould)h(ha)n(v)n(e)e(b)r(een)i(b)r -(etter.)p 1 1 0.85 TeXcolorrgb 2002 2708 1406 29 v 0 -TeXcolorgray 1 1 0.85 TeXcolorrgb 0 TeXcolorgray 2002 -2708 4 29 v 2002 2683 29 4 v 2030 2683 1350 4 v 3380 -2683 29 4 v 3406 2708 4 29 v 1 1 0.85 TeXcolorrgb 2002 -2787 4 79 v 0 TeXcolorgray 2002 2787 V 1 1 0.85 TeXcolorrgb -2005 2787 25 79 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb -2030 2787 1350 79 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb -3379 2787 25 79 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb -3404 2787 4 79 v 0 TeXcolorgray 3404 2787 V 2030 2763 -a Fe(\\)p 0 0 0 TeXcolorrgb(bmove)p 0 TeXcolorgray 2 -w({)p 0 0 0 TeXcolorrgb(Nd)p 0 TeXcolorgray(4})p 0 0 0 -TeXcolorrgb 36 w(would)p 0 TeXcolorgray 0 0 0 TeXcolorrgb -37 w(have)p 0 TeXcolorgray 0 0 0 TeXcolorrgb 36 w(been)p -0 TeXcolorgray 0 0 0 TeXcolorrgb 37 w(better)p 0 TeXcolorgray -2 w(.)p 1 1 0.85 TeXcolorrgb 2002 2815 1406 29 v 0 TeXcolorgray -1 1 0.85 TeXcolorrgb 0 TeXcolorgray 2002 2815 4 29 v -2003 2815 29 4 v 2030 2815 1350 4 v 3380 2815 29 4 v -3406 2815 4 29 v 0 TeXcolorgray 0 TeXcolorgray 639 2972 -a Fo(n)p Fn(lastmove)c Ft(is)k(a)f(shorthand)g(for)g(commen)n(ting)g -(on)g(the)h(last)f(mo)n(v)n(e)g(made:)p 0 TeXcolorgray -0 TeXcolorgray 515 3226 a Fr(1)k(a3)515 3325 y Ft(1)c(a3)g(is)g(bad.)p -1 1 0.85 TeXcolorrgb 2002 3070 1406 29 v 0 TeXcolorgray -1 1 0.85 TeXcolorrgb 0 TeXcolorgray 2002 3070 4 29 v -2002 3045 29 4 v 2030 3045 1350 4 v 3380 3045 29 4 v -3406 3070 4 29 v 1 1 0.85 TeXcolorrgb 2002 3149 4 79 -v 0 TeXcolorgray 2002 3149 V 1 1 0.85 TeXcolorrgb 2005 -3149 25 79 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb 2030 -3149 1350 79 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb 3379 -3149 25 79 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb 3404 -3149 4 79 v 0 TeXcolorgray 3404 3149 V 2030 3125 a Fe(\\)p -0 0 0 TeXcolorrgb(newgame)p 0 TeXcolorgray 1 1 0.85 TeXcolorrgb -2002 3227 V 0 TeXcolorgray 2002 3227 V 1 1 0.85 TeXcolorrgb -2005 3227 25 79 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb -2030 3227 1350 79 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb -3379 3227 25 79 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb -3404 3227 4 79 v 0 TeXcolorgray 3404 3227 V 2030 3204 -a(\\)p 0 0 0 TeXcolorrgb(mainline)p 0 TeXcolorgray 2 -w({1.)p 0 0 0 TeXcolorrgb 1 w(a)p 0 TeXcolorgray 1 w(3})p -1 1 0.85 TeXcolorrgb 2002 3306 V 0 TeXcolorgray 2002 -3306 V 1 1 0.85 TeXcolorrgb 2005 3306 25 79 v 0 TeXcolorgray -1 1 0.85 TeXcolorrgb 2030 3306 1350 79 v 0 TeXcolorgray -1 1 0.85 TeXcolorrgb 3379 3306 25 79 v 0 TeXcolorgray -1 1 0.85 TeXcolorrgb 3404 3306 4 79 v 0 TeXcolorgray -3404 3306 V 1 1 0.85 TeXcolorrgb 2002 3385 V 0 TeXcolorgray -2002 3385 V 1 1 0.85 TeXcolorrgb 2005 3385 25 79 v 0 -TeXcolorgray 1 1 0.85 TeXcolorrgb 2030 3385 1350 79 v -0 TeXcolorgray 1 1 0.85 TeXcolorrgb 3379 3385 25 79 v -0 TeXcolorgray 1 1 0.85 TeXcolorrgb 3404 3385 4 79 v -0 TeXcolorgray 3404 3385 V 2030 3362 a(\\)p 0 0 0 TeXcolorrgb(lastmove) -p 0 TeXcolorgray 2 w({})p 0 0 0 TeXcolorrgb 36 w(is)p -0 TeXcolorgray 0 0 0 TeXcolorrgb 36 w(bad)p 0 TeXcolorgray -1 w(.)p 1 1 0.85 TeXcolorrgb 2002 3413 1406 29 v 0 TeXcolorgray -1 1 0.85 TeXcolorrgb 0 TeXcolorgray 2002 3413 4 29 v -2003 3413 29 4 v 2030 3413 1350 4 v 3380 3413 29 4 v -3406 3413 4 29 v 0 TeXcolorgray 0 TeXcolorgray 515 3630 -a Fs(7)134 b(Adv)-7 b(anced)44 b(Usage)515 3812 y Ft(This)29 -b(section)f(will)h(describ)r(e)g(some)f(features)g(of)h(the)h -Fp(sk)n(ak)d Ft(pac)n(k)-5 b(age)27 b(that)j(allo)n(ws)d(y)n(ou)h(to) -515 3911 y(con)n(trol)e(a)g(lot)i(with)f(regards)e(to)j(the)f(t)n(yp)r -(esetting)h(of)f(mo)n(v)n(es)f(as)g(w)n(ell)h(as)g(ho)n(w)f(the)i(b)r -(oard)515 4011 y(is)f(sho)n(wn.)639 4111 y(F)-7 b(urthermore,)37 -b(w)n(e)e(will)h(tak)n(e)f(a)h(lo)r(ok)f(at)g(ho)n(w)h(the)g(b)r(oard)f -(is)g(set)h(up)g(in)g(arbitrary)515 4210 y(p)r(ositions)27 -b(and)g(ho)n(w)g(the)h(input)h(language)d(can)h(b)r(e)h(c)n(hanged.)515 -4443 y Fk(7.1)112 b(T)-9 b(ailoring)38 b(of)g(the)f(Board)h(App)s -(earance)515 4596 y Ft(In)30 b(additon)h(to)f(the)h(ornamen)n(ts)e(and) -h(sho)n(wing)g(the)g(b)r(oard)g(upside)h(do)n(wn)f(describ)r(ed)g(in) -515 4696 y(5)d(one)g(can)g(c)n(ho)r(ose)g(to)g(sho)n(w)g(only)g(a)g -(subset)h(of)f(the)h(pieces)g(actually)f(on)g(the)h(b)r(oard.)639 -4795 y(The)38 b(simple)h(commands)e Fo(n)p Fn(showonlywhite)32 -b Ft(and)38 b Fo(n)p Fn(showonlyblack)33 b Ft(sho)n(ws)j(only)515 -4895 y(one)27 b(colour)f(on)i(the)g(b)r(oard:)p 0 TeXcolorgray -1926 5255 a(9)p 0 TeXcolorgray eop end -%%Page: 10 10 -TeXDict begin 10 9 bop 0 TeXcolorgray 0 TeXcolorgray -0 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray 515 506 -a Fr(1)31 b(e4)h(e5)f(2)h Fh(N)p Fr(f3)f Fh(N)p Fr(c6)h(3)f -Fh(B)p Fr(b5)p 506 575 1013 9 v 458 661 a Fg(8)p 506 -700 9 125 v 515 700 a Ff(0Z0Z0Z0Z)p 1515 700 V 458 785 -a Fg(7)p 506 824 V 515 824 a Ff(Z0Z0Z0Z0)p 1515 824 V -458 910 a Fg(6)p 506 949 V 515 949 a Ff(0Z0Z0Z0Z)p 1515 -949 V 458 1035 a Fg(5)p 506 1073 V 515 1073 a Ff(ZBZ0Z0Z0)p -1515 1073 V 458 1159 a Fg(4)p 506 1198 V 515 1198 a Ff(0Z0ZPZ0Z)p -1515 1198 V 458 1284 a Fg(3)p 506 1322 V 515 1322 a Ff(Z0Z0ZNZ0)p -1515 1322 V 458 1408 a Fg(2)p 506 1447 V 515 1447 a Ff(POPO0OPO)p -1515 1447 V 458 1533 a Fg(1)p 506 1571 V 515 1571 a Ff(SNAQJ0ZR)1515 -1571 y - tx@Dict begin tx@NodeDict begin {-7.5 7.5 } false /N@BM 10 {InitPnode -} NewNode end end - 1515 1571 a 1515 1571 9 125 v 506 1579 1013 9 -v 566 1638 a Fg(a)89 b(b)i(c)g(d)g(e)98 b(f)e(g)89 b(h)47 -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 -105.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. Arrow EndArrow } def [ 15.0 -12.00005 15.0 -3.75 /currentpoint -load stopped pop /Lineto /lineto load def false Line 0.8 SLW 0 setgray - 0. true 12.59995 -2.40005 17.40005 2.40005 .5 Frame gsave 0.5 setgray -fill grestore gsave 0.8 SLW 0 setgray 0 setlinecap stroke grestore -end - -@endspecial 1 1 0.85 TeXcolorrgb -2002 827 1406 29 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb -0 TeXcolorgray 2002 827 4 29 v 2002 802 29 4 v 2030 802 -1350 4 v 3380 802 29 4 v 3406 827 4 29 v 1 1 0.85 TeXcolorrgb -2002 906 4 79 v 0 TeXcolorgray 2002 906 V 1 1 0.85 TeXcolorrgb -2005 906 25 79 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb -2030 906 1350 79 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb -3379 906 25 79 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb -3404 906 4 79 v 0 TeXcolorgray 3404 906 V 2030 882 a -Fe(\\)p 0 0 0 TeXcolorrgb(newgame)p 0 TeXcolorgray 1 1 0.85 -TeXcolorrgb 2002 985 V 0 TeXcolorgray 2002 985 V 1 1 0.85 -TeXcolorrgb 2005 985 25 79 v 0 TeXcolorgray 1 1 0.85 -TeXcolorrgb 2030 985 1350 79 v 0 TeXcolorgray 1 1 0.85 -TeXcolorrgb 3379 985 25 79 v 0 TeXcolorgray 1 1 0.85 -TeXcolorrgb 3404 985 4 79 v 0 TeXcolorgray 3404 985 V -2030 961 a(\\)p 0 0 0 TeXcolorrgb(mainline)p 0 TeXcolorgray -2 w({1.)p 0 0 0 TeXcolorrgb 1 w(e)p 0 TeXcolorgray 1 -w(4)p 0 0 0 TeXcolorrgb 35 w(e)p 0 TeXcolorgray(5)36 -b(2.)p 0 0 0 TeXcolorrgb 36 w(Nf)p 0 TeXcolorgray(3)p -0 0 0 TeXcolorrgb 36 w(Nc)p 0 TeXcolorgray 1 w(6)f(3.)p -0 0 0 TeXcolorrgb 1 w(Bb)p 0 TeXcolorgray(5})p 1 1 0.85 -TeXcolorrgb 2002 1064 V 0 TeXcolorgray 2002 1064 V 1 1 0.85 -TeXcolorrgb 2005 1064 25 79 v 0 TeXcolorgray 1 1 0.85 -TeXcolorrgb 2030 1064 1350 79 v 0 TeXcolorgray 1 1 0.85 -TeXcolorrgb 3379 1064 25 79 v 0 TeXcolorgray 1 1 0.85 -TeXcolorrgb 3404 1064 4 79 v 0 TeXcolorgray 3404 1064 -V 1 1 0.85 TeXcolorrgb 2002 1143 V 0 TeXcolorgray 2002 -1143 V 1 1 0.85 TeXcolorrgb 2005 1143 25 79 v 0 TeXcolorgray -1 1 0.85 TeXcolorrgb 2030 1143 1350 79 v 0 TeXcolorgray -1 1 0.85 TeXcolorrgb 3379 1143 25 79 v 0 TeXcolorgray -1 1 0.85 TeXcolorrgb 3404 1143 4 79 v 0 TeXcolorgray -3404 1143 V 2030 1119 a(\\)p 0 0 0 TeXcolorrgb(showonlywhite)p -0 TeXcolorgray 1 1 0.85 TeXcolorrgb 2002 1222 V 0 TeXcolorgray -2002 1222 V 1 1 0.85 TeXcolorrgb 2005 1222 25 79 v 0 -TeXcolorgray 1 1 0.85 TeXcolorrgb 2030 1222 1350 79 v -0 TeXcolorgray 1 1 0.85 TeXcolorrgb 3379 1222 25 79 v -0 TeXcolorgray 1 1 0.85 TeXcolorrgb 3404 1222 4 79 v -0 TeXcolorgray 3404 1222 V 2030 1198 a(\\)p 0 0 0 TeXcolorrgb -(showboard)p 0 TeXcolorgray 1 1 0.85 TeXcolorrgb 2002 -1250 1406 29 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb 0 -TeXcolorgray 2002 1250 4 29 v 2003 1250 29 4 v 2030 1250 -1350 4 v 3380 1250 29 4 v 3406 1250 4 29 v 0 TeXcolorgray -0 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray 506 1800 -1013 9 v 458 1886 a Fg(8)p 506 1925 9 125 v 515 1925 -a Ff(rZblkans)p 1515 1925 V 458 2010 a Fg(7)p 506 2049 -V 515 2049 a Ff(opopZpop)p 1515 2049 V 458 2135 a Fg(6)p -506 2174 V 515 2174 a Ff(0ZnZ0Z0Z)p 1515 2174 V 458 2260 -a Fg(5)p 506 2298 V 515 2298 a Ff(Z0Z0o0Z0)p 1515 2298 -V 458 2384 a Fg(4)p 506 2423 V 515 2423 a Ff(0Z0Z0Z0Z)p -1515 2423 V 458 2509 a Fg(3)p 506 2547 V 515 2547 a Ff(Z0Z0Z0Z0)p -1515 2547 V 458 2633 a Fg(2)p 506 2672 V 515 2672 a Ff(0Z0Z0Z0Z)p -1515 2672 V 458 2758 a Fg(1)p 506 2796 V 515 2796 a Ff(Z0Z0Z0Z0)1515 -2796 y - tx@Dict begin tx@NodeDict begin {-7.5 7.5 } false /N@BM 10 {InitPnode -} NewNode end end - 1515 2796 a 1515 2796 9 125 v 506 2804 1013 9 -v 566 2863 a Fg(a)89 b(b)i(c)g(d)g(e)98 b(f)e(g)89 b(h)47 -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 -105.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. Arrow EndArrow } def [ 15.0 -12.00005 15.0 -3.75 /currentpoint -load stopped pop /Lineto /lineto load def false Line 0.8 SLW 0 setgray - 0. true 12.59995 -2.40005 17.40005 2.40005 .5 Frame gsave 0.5 setgray -fill grestore gsave 0.8 SLW 0 setgray 0 setlinecap stroke grestore -end - -@endspecial 1 1 0.85 TeXcolorrgb -2002 2209 1406 29 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb -0 TeXcolorgray 2002 2209 4 29 v 2002 2184 29 4 v 2030 -2184 1350 4 v 3380 2184 29 4 v 3406 2209 4 29 v 1 1 0.85 -TeXcolorrgb 2002 2288 4 79 v 0 TeXcolorgray 2002 2288 -V 1 1 0.85 TeXcolorrgb 2005 2288 25 79 v 0 TeXcolorgray -1 1 0.85 TeXcolorrgb 2030 2288 1350 79 v 0 TeXcolorgray -1 1 0.85 TeXcolorrgb 3379 2288 25 79 v 0 TeXcolorgray -1 1 0.85 TeXcolorrgb 3404 2288 4 79 v 0 TeXcolorgray -3404 2288 V 2030 2264 a Fe(\\)p 0 0 0 TeXcolorrgb(showonlyblack)p -0 TeXcolorgray 1 1 0.85 TeXcolorrgb 2002 2367 V 0 TeXcolorgray -2002 2367 V 1 1 0.85 TeXcolorrgb 2005 2367 25 79 v 0 -TeXcolorgray 1 1 0.85 TeXcolorrgb 2030 2367 1350 79 v -0 TeXcolorgray 1 1 0.85 TeXcolorrgb 3379 2367 25 79 v -0 TeXcolorgray 1 1 0.85 TeXcolorrgb 3404 2367 4 79 v -0 TeXcolorgray 3404 2367 V 2030 2343 a(\\)p 0 0 0 TeXcolorrgb -(showboard)p 0 TeXcolorgray 1 1 0.85 TeXcolorrgb 2002 -2395 1406 29 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb 0 -TeXcolorgray 2002 2395 4 29 v 2003 2395 29 4 v 2030 2395 -1350 4 v 3380 2395 29 4 v 3406 2395 4 29 v 0 TeXcolorgray -0 TeXcolorgray 639 3025 a Ft(This)25 b(is)g(often)g(used)g(when)g -(describing)g(op)r(eningswhere)e(one)i(w)n(an)n(ts)f(to)h(fo)r(cus)g -(on)g(the)515 3125 y(merrits)k(of)h(the)h(piece)f(set-up)g(on)g(one)g -(side)g(without)h(considering)d(ho)n(w)i(the)h(other)e(side)515 -3224 y(is)e(p)r(ositioned.)639 3324 y(In)i(addition)f(to)g(the)h -(commands)e(for)h(sho)n(wing)f(only)h(one)g(colour)e(it)j(is)f(also)f -(p)r(ossible)515 3424 y(to)k(sho)n(w)f(an)n(y)g(subset)h(of)f(the)i -(pieces)e(on)h(the)g(b)r(oard)f(using)h(the)g Fo(n)p -Fn(showonly)c Ft(command)515 3523 y(that)h(tak)n(es)e(a)h(comma)g(sp)r -(erated)g(list)h(of)g(piece)f(names)h(as)e(argumen)n(t:)p -0 TeXcolorgray 0 TeXcolorgray 515 3688 a(The)h(pa)n(wn)g(structure)h -(is)515 3788 y(no)n(w)f(lik)n(e)g(this:)p 506 3854 1013 -9 v 458 3940 a Fg(8)p 506 3978 9 125 v 515 3978 a Ff(0Z0Z0Z0Z)p -1515 3978 V 458 4064 a Fg(7)p 506 4103 V 515 4103 a Ff(opopZpop)p -1515 4103 V 458 4189 a Fg(6)p 506 4228 V 515 4228 a Ff(0Z0Z0Z0Z)p -1515 4228 V 458 4313 a Fg(5)p 506 4352 V 515 4352 a Ff(Z0Z0o0Z0)p -1515 4352 V 458 4438 a Fg(4)p 506 4477 V 515 4477 a Ff(0Z0ZPZ0Z)p -1515 4477 V 458 4563 a Fg(3)p 506 4601 V 515 4601 a Ff(Z0Z0Z0Z0)p -1515 4601 V 458 4687 a Fg(2)p 506 4726 V 515 4726 a Ff(POPO0OPO)p -1515 4726 V 458 4812 a Fg(1)p 506 4850 V 515 4850 a Ff(Z0Z0Z0Z0)1515 -4850 y - tx@Dict begin tx@NodeDict begin {-7.5 7.5 } false /N@BM 10 {InitPnode -} NewNode end end - 1515 4850 a 1515 4850 9 125 v 506 4858 1013 9 -v 566 4917 a Fg(a)89 b(b)i(c)g(d)g(e)98 b(f)e(g)89 b(h)47 -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 -105.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. Arrow EndArrow } def [ 15.0 -12.00005 15.0 -3.75 /currentpoint -load stopped pop /Lineto /lineto load def false Line 0.8 SLW 0 setgray - 0. true 12.59995 -2.40005 17.40005 2.40005 .5 Frame gsave 0.5 setgray -fill grestore gsave 0.8 SLW 0 setgray 0 setlinecap stroke grestore -end - -@endspecial 1 1 0.85 TeXcolorrgb -2002 4062 1406 29 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb -0 TeXcolorgray 2002 4062 4 29 v 2002 4037 29 4 v 2030 -4037 1350 4 v 3380 4037 29 4 v 3406 4062 4 29 v 1 1 0.85 -TeXcolorrgb 2002 4141 4 79 v 0 TeXcolorgray 2002 4141 -V 1 1 0.85 TeXcolorrgb 2005 4141 25 79 v 0 TeXcolorgray -1 1 0.85 TeXcolorrgb 2030 4141 1350 79 v 0 TeXcolorgray -1 1 0.85 TeXcolorrgb 3379 4141 25 79 v 0 TeXcolorgray -1 1 0.85 TeXcolorrgb 3404 4141 4 79 v 0 TeXcolorgray -3404 4141 V 0 0 0 TeXcolorrgb 2030 4117 a Fe(The)p 0 -TeXcolorgray 0 0 0 TeXcolorrgb 36 w(pawn)p 0 TeXcolorgray -0 0 0 TeXcolorrgb 36 w(structure)p 0 TeXcolorgray 0 0 0 -TeXcolorrgb 38 w(is)p 0 TeXcolorgray 1 1 0.85 TeXcolorrgb -2002 4220 V 0 TeXcolorgray 2002 4220 V 1 1 0.85 TeXcolorrgb -2005 4220 25 79 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb -2030 4220 1350 79 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb -3379 4220 25 79 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb -3404 4220 4 79 v 0 TeXcolorgray 3404 4220 V 0 0 0 TeXcolorrgb -2030 4196 a(now)p 0 TeXcolorgray 0 0 0 TeXcolorrgb 36 -w(like)p 0 TeXcolorgray 0 0 0 TeXcolorrgb 36 w(this)p -0 TeXcolorgray 2 w(:)p 1 1 0.85 TeXcolorrgb 2002 4299 -V 0 TeXcolorgray 2002 4299 V 1 1 0.85 TeXcolorrgb 2005 -4299 25 79 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb 2030 -4299 1350 79 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb 3379 -4299 25 79 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb 3404 -4299 4 79 v 0 TeXcolorgray 3404 4299 V 1 1 0.85 TeXcolorrgb -2002 4378 V 0 TeXcolorgray 2002 4378 V 1 1 0.85 TeXcolorrgb -2005 4378 25 79 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb -2030 4378 1350 79 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb -3379 4378 25 79 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb -3404 4378 4 79 v 0 TeXcolorgray 3404 4378 V 2030 4354 -a(\\)p 0 0 0 TeXcolorrgb(showonly)p 0 TeXcolorgray 2 -w({)p 0 0 0 TeXcolorrgb 1 w(P)p 0 TeXcolorgray(,)p 0 0 0 -TeXcolorrgb(p)p 0 TeXcolorgray 1 w(})p 1 1 0.85 TeXcolorrgb -2002 4456 V 0 TeXcolorgray 2002 4456 V 1 1 0.85 TeXcolorrgb -2005 4456 25 79 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb -2030 4456 1350 79 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb -3379 4456 25 79 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb -3404 4456 4 79 v 0 TeXcolorgray 3404 4456 V 2030 4433 -a(\\)p 0 0 0 TeXcolorrgb(showboard)p 0 TeXcolorgray 1 1 0.85 -TeXcolorrgb 2002 4485 1406 29 v 0 TeXcolorgray 1 1 0.85 -TeXcolorrgb 0 TeXcolorgray 2002 4485 4 29 v 2003 4485 -29 4 v 2030 4485 1350 4 v 3380 4485 29 4 v 3406 4485 -4 29 v 0 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray 1905 -5255 a Ft(10)p 0 TeXcolorgray eop end -%%Page: 11 11 -TeXDict begin 11 10 bop 0 TeXcolorgray 0 TeXcolorgray -0 TeXcolorgray 639 523 a Ft(The)22 b(piece)f(names)f(are)h(the)g -(standard)f(English)h(name)g(with)h(the)f(addition)g(that)h(white)515 -623 y(pieces)k(are)f(denoted)h(b)n(y)g(upp)r(er)h(case)e(and)i(blac)n -(k's)e(b)n(y)h(lo)n(w)n(ercase.)34 b(P)n(a)n(wns)24 b(are)i(P)g(and)g -(p.)639 722 y(It)i(is)g(also)e(p)r(ossible)h(to)h(do)f(the)h(opp)r -(osite)f(of)h Fo(n)p Fn(showonly)c Ft(using)j Fo(n)p -Fn(showallbut)p Ft(:)p 0 TeXcolorgray 0 TeXcolorgray -506 892 1013 9 v 458 978 a Fg(8)p 506 1017 9 125 v 515 -1017 a Ff(rZblkans)p 1515 1017 V 458 1102 a Fg(7)p 506 -1141 V 515 1141 a Ff(Z0Z0Z0Z0)p 1515 1141 V 458 1227 -a Fg(6)p 506 1266 V 515 1266 a Ff(0ZnZ0Z0Z)p 1515 1266 -V 458 1352 a Fg(5)p 506 1390 V 515 1390 a Ff(ZBZ0Z0Z0)p -1515 1390 V 458 1476 a Fg(4)p 506 1515 V 515 1515 a Ff(0Z0Z0Z0Z)p -1515 1515 V 458 1601 a Fg(3)p 506 1639 V 515 1639 a Ff(Z0Z0ZNZ0)p -1515 1639 V 458 1725 a Fg(2)p 506 1764 V 515 1764 a Ff(0Z0Z0Z0Z)p -1515 1764 V 458 1850 a Fg(1)p 506 1888 V 515 1888 a Ff(SNAQJ0ZR)1515 -1888 y - tx@Dict begin tx@NodeDict begin {-7.5 7.5 } false /N@BM 10 {InitPnode -} NewNode end end - 1515 1888 a 1515 1888 9 125 v 506 1896 1013 9 -v 566 1955 a Fg(a)89 b(b)i(c)g(d)g(e)98 b(f)e(g)89 b(h)47 -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 -105.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. Arrow EndArrow } def [ 15.0 -12.00005 15.0 -3.75 /currentpoint -load stopped pop /Lineto /lineto load def false Line 0.8 SLW 0 setgray - 0. true 12.59995 -2.40005 17.40005 2.40005 .5 Frame gsave 0.5 setgray -fill grestore gsave 0.8 SLW 0 setgray 0 setlinecap stroke grestore -end - -@endspecial 1 1 0.85 TeXcolorrgb -2002 1301 1406 29 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb -0 TeXcolorgray 2002 1301 4 29 v 2002 1276 29 4 v 2030 -1276 1350 4 v 3380 1276 29 4 v 3406 1301 4 29 v 1 1 0.85 -TeXcolorrgb 2002 1380 4 79 v 0 TeXcolorgray 2002 1380 -V 1 1 0.85 TeXcolorrgb 2005 1380 25 79 v 0 TeXcolorgray -1 1 0.85 TeXcolorrgb 2030 1380 1350 79 v 0 TeXcolorgray -1 1 0.85 TeXcolorrgb 3379 1380 25 79 v 0 TeXcolorgray -1 1 0.85 TeXcolorrgb 3404 1380 4 79 v 0 TeXcolorgray -3404 1380 V 2030 1356 a Fe(\\)p 0 0 0 TeXcolorrgb(showallbut)p -0 TeXcolorgray 3 w({)p 0 0 0 TeXcolorrgb(P)p 0 TeXcolorgray -1 w(,)p 0 0 0 TeXcolorrgb(p)p 0 TeXcolorgray(})p 1 1 0.85 -TeXcolorrgb 2002 1459 V 0 TeXcolorgray 2002 1459 V 1 1 0.85 -TeXcolorrgb 2005 1459 25 79 v 0 TeXcolorgray 1 1 0.85 -TeXcolorrgb 2030 1459 1350 79 v 0 TeXcolorgray 1 1 0.85 -TeXcolorrgb 3379 1459 25 79 v 0 TeXcolorgray 1 1 0.85 -TeXcolorrgb 3404 1459 4 79 v 0 TeXcolorgray 3404 1459 -V 2030 1435 a(\\)p 0 0 0 TeXcolorrgb(showboard)p 0 TeXcolorgray -1 1 0.85 TeXcolorrgb 2002 1487 1406 29 v 0 TeXcolorgray -1 1 0.85 TeXcolorrgb 0 TeXcolorgray 2002 1487 4 29 v -2003 1487 29 4 v 2030 1487 1350 4 v 3380 1487 29 4 v -3406 1487 4 29 v 0 TeXcolorgray 0 TeXcolorgray 515 2162 -a Fk(7.2)112 b(Setting)37 b(up)h(the)g(Board)515 2315 -y Ft(So)31 b(far)f(w)n(e)h(ha)n(v)n(e)f(only)h(lo)r(ok)n(ed)f(ho)n(w)h -(to)g(start)g(a)g(new)g(game,)g(but)h(y)n(ou)f(can)f(also)h(set)g(up) -515 2415 y(the)d(b)r(oard)e(in)i Fc(any)36 b Ft(p)r(osition)27 -b(using)g(the)h(command)g Fo(n)p Fn(fenboard)p Ft(:)639 -2514 y(F)-7 b(orsyth-Edw)n(ards)29 b(Notation)j(\(FEN\))g(is)g(a)f -(standard)g(used)g(to)h(describ)r(e)f(c)n(hess)g(p)r(o-)515 -2614 y(sitions.)45 b(It)31 b(starts)f(with)h(a)g(description)f(of)g -(the)h(con)n(ten)n(ts)f(of)h(the)g(ranks)e(on)i(the)g(b)r(oard.)515 -2713 y(The)e(ranks)f(are)g(separted)g(b)n(y)h(a)g(slash)f(starting)h -(with)g(the)h(eigh)n(th)f(ro)n(w,)f(so)h(if)g(y)n(ou)g(w)n(an)n(t)515 -2813 y(to)i(write)g(do)n(wn)g(the)g(FEN)h(of)f(a)g(p)r(osition)g(y)n -(ou)f(should)i(b)r(e)f(seated)g(as)g(white)g(and)g(w)n(ork)515 -2913 y(y)n(our)26 b(w)n(a)n(y)g(do)n(w)h(the)h(b)r(oard.)36 -b(The)27 b(pieces)g(are)f(designated)h(using)g(the)h(stardard)e -(English)515 3012 y(piece)h(names.)639 3112 y(After)h(the)f(p)r -(osition)g(of)g(the)h(pieces)f(the)g(follo)n(wing)g(information)f(is)h -(giv)n(en)f(separated)515 3212 y(b)n(y)h(spaces:)p 0 -TeXcolorgray 639 3378 a Fi(\210)p 0 TeXcolorgray 42 w -Ft(who)h(it)g(is)f(to)h(mo)n(v)n(e)e(\(w)i(or)f(b\).)p -0 TeXcolorgray 639 3544 a Fi(\210)p 0 TeXcolorgray 42 -w Ft(castling)35 b(options)g(left)h(for)f(white.)61 b(-)35 -b(for)g(none,)i(and)e(K)g(and)g(Q)g(for)g(options)g(to)722 -3643 y(castle)27 b(kingside)g(or)g(queenside)g(for)h(white)g(and)f(k)g -(and)h(q)f(for)g(blac)n(k)p 0 TeXcolorgray 639 3809 a -Fi(\210)p 0 TeXcolorgray 42 w Ft(en)h(passan)n(t)e(square,)h(if)h -(applicable)f(otherwise)g(a)g(-.)p 0 TeXcolorgray 639 -3975 a Fi(\210)p 0 TeXcolorgray 42 w Ft(n)n(um)n(b)r(er)h(of)f(halfmo)n -(v)n(es)f(since)i(the)g(last)f(capture.)p 0 TeXcolorgray -639 4141 a Fi(\210)p 0 TeXcolorgray 42 w Ft(the)h(mo)n(v)n(e)f(n)n(um)n -(b)r(er.)p 0 TeXcolorgray 1905 5255 a(11)p 0 TeXcolorgray -eop end -%%Page: 12 12 -TeXDict begin 12 11 bop 0 TeXcolorgray 0 TeXcolorgray -0 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray 515 494 -a Ft(4)p 506 759 1013 9 v 458 845 a Fg(8)p 506 883 9 -125 v 515 883 a Ff(rZ0Z0ZkZ)p 1515 883 V 458 969 a Fg(7)p -506 1008 V 515 1008 a Ff(ZbZpZpop)p 1515 1008 V 458 1094 -a Fg(6)p 506 1132 V 515 1132 a Ff(pZ0Z0Z0Z)p 1515 1132 -V 458 1218 a Fg(5)p 506 1257 V 515 1257 a Ff(ZpZQZ0Z0)p -1515 1257 V 458 1343 a Fg(4)p 506 1381 V 515 1381 a Ff(0Z0ZPZ0Z)p -1515 1381 V 458 1467 a Fg(3)p 506 1506 V 515 1506 a Ff(OPZ0Z0Oq)p -1515 1506 V 458 1592 a Fg(2)p 506 1630 V 515 1630 a Ff(BAPZ0a0O)p -1515 1630 V 458 1716 a Fg(1)p 506 1755 V 515 1755 a Ff(S0Z0ZRZK)1515 -1755 y - tx@Dict begin tx@NodeDict begin {-7.5 7.5 } false /N@BM 10 {InitPnode -} NewNode end end - 1515 1755 a 1515 1755 9 125 v 506 1763 1013 9 -v 566 1822 a Fg(a)89 b(b)i(c)g(d)g(e)98 b(f)e(g)89 b(h)47 -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. Arrow EndArrow } def [ 15.0 12.00005 15.0 3.75 /currentpoint -load stopped pop /Lineto /lineto load def false Line 0.8 SLW 0 setgray - 0. true 12.59995 -2.40005 17.40005 2.40005 .5 Frame gsave 0.8 SLW -0 setgray 0 setlinecap stroke grestore end - -@endspecial 515 1921 a Fr(20)31 -b Fh(QX)p Fr(b7)g Fh(R)p Fr(ae8)h(21)g Fh(Q)p Fr(d5)p -1 1 0.85 TeXcolorrgb 2002 767 1406 29 v 0 TeXcolorgray -1 1 0.85 TeXcolorrgb 0 TeXcolorgray 2002 767 4 29 v 2002 -742 29 4 v 2030 742 1350 4 v 3380 742 29 4 v 3406 767 -4 29 v 1 1 0.85 TeXcolorrgb 2002 846 4 79 v 0 TeXcolorgray -2002 846 V 1 1 0.85 TeXcolorrgb 2005 846 25 79 v 0 TeXcolorgray -1 1 0.85 TeXcolorrgb 2030 846 1350 79 v 0 TeXcolorgray -1 1 0.85 TeXcolorrgb 3379 846 25 79 v 0 TeXcolorgray -1 1 0.85 TeXcolorrgb 3404 846 4 79 v 0 TeXcolorgray 3404 -846 V 2030 822 a Fe(\\)p 0 0 0 TeXcolorrgb(fenboard)p -0 TeXcolorgray 2 w({)p 0 0 0 TeXcolorrgb 1 w(r)p 0 TeXcolorgray(5)p -0 0 0 TeXcolorrgb(k)p 0 TeXcolorgray 1 w(1/1)p 0 0 0 -TeXcolorrgb(b)p 0 TeXcolorgray 1 w(1)p 0 0 0 TeXcolorrgb(p)p -0 TeXcolorgray(1)p 0 0 0 TeXcolorrgb 1 w(ppp)p 0 TeXcolorgray(/)p -0 0 0 TeXcolorrgb 1 w(p)p 0 TeXcolorgray(7/1)p 0 0 0 -TeXcolorrgb 1 w(p)p 0 TeXcolorgray(1)p 0 0 0 TeXcolorrgb(Q)p -0 TeXcolorgray 1 w(4/)p 1 1 0.85 TeXcolorrgb 2002 925 -V 0 TeXcolorgray 2002 925 V 1 1 0.85 TeXcolorrgb 2005 -925 25 79 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb 2030 -925 1350 79 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb 3379 -925 25 79 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb 3404 -925 4 79 v 0 TeXcolorgray 3404 925 V 2030 901 a(2)p 0 0 0 -TeXcolorrgb(p)p 0 TeXcolorgray(1)p 0 0 0 TeXcolorrgb -1 w(r)p 0 TeXcolorgray(3/)p 0 0 0 TeXcolorrgb 1 w(PP)p -0 TeXcolorgray(4)p 0 0 0 TeXcolorrgb(Pq)p 0 TeXcolorgray -1 w(/)p 0 0 0 TeXcolorrgb(BBP)p 0 TeXcolorgray 1 w(2)p -0 0 0 TeXcolorrgb(b)p 0 TeXcolorgray 1 w(1)p 0 0 0 TeXcolorrgb(P)p -0 TeXcolorgray(/)p 0 0 0 TeXcolorrgb 1 w(R)p 0 TeXcolorgray(4)p -0 0 0 TeXcolorrgb(R)p 0 TeXcolorgray(1)p 0 0 0 TeXcolorrgb -1 w(K)p 0 TeXcolorgray 0 0 0 TeXcolorrgb 35 w(w)p 0 TeXcolorgray -36 w(-)j(-)h(0)g(20})p 1 1 0.85 TeXcolorrgb 2002 1004 -V 0 TeXcolorgray 2002 1004 V 1 1 0.85 TeXcolorrgb 2005 -1004 25 79 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb 2030 -1004 1350 79 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb 3379 -1004 25 79 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb 3404 -1004 4 79 v 0 TeXcolorgray 3404 1004 V 1 1 0.85 TeXcolorrgb -2002 1083 V 0 TeXcolorgray 2002 1083 V 1 1 0.85 TeXcolorrgb -2005 1083 25 79 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb -2030 1083 1350 79 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb -3379 1083 25 79 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb -3404 1083 4 79 v 0 TeXcolorgray 3404 1083 V 2030 1059 -a(\\)p 0 0 1 TeXcolorrgb(mbox)p 0 TeXcolorgray 1 w({})p -1 1 0.85 TeXcolorrgb 2002 1162 V 0 TeXcolorgray 2002 -1162 V 1 1 0.85 TeXcolorrgb 2005 1162 25 79 v 0 TeXcolorgray -1 1 0.85 TeXcolorrgb 2030 1162 1350 79 v 0 TeXcolorgray -1 1 0.85 TeXcolorrgb 3379 1162 25 79 v 0 TeXcolorgray -1 1 0.85 TeXcolorrgb 3404 1162 4 79 v 0 TeXcolorgray -3404 1162 V 2030 1138 a(\\)p 0 0 1 TeXcolorrgb(bigskip)p -0 TeXcolorgray 1 1 0.85 TeXcolorrgb 2002 1240 V 0 TeXcolorgray -2002 1240 V 1 1 0.85 TeXcolorrgb 2005 1240 25 79 v 0 -TeXcolorgray 1 1 0.85 TeXcolorrgb 2030 1240 1350 79 v -0 TeXcolorgray 1 1 0.85 TeXcolorrgb 3379 1240 25 79 v -0 TeXcolorgray 1 1 0.85 TeXcolorrgb 3404 1240 4 79 v -0 TeXcolorgray 3404 1240 V 1 1 0.85 TeXcolorrgb 2002 -1319 V 0 TeXcolorgray 2002 1319 V 1 1 0.85 TeXcolorrgb -2005 1319 25 79 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb -2030 1319 1350 79 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb -3379 1319 25 79 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb -3404 1319 4 79 v 0 TeXcolorgray 3404 1319 V 2030 1296 -a(\\)p 0 0 0 TeXcolorrgb(showboard)p 0 TeXcolorgray 1 1 0.85 -TeXcolorrgb 2002 1398 V 0 TeXcolorgray 2002 1398 V 1 1 0.85 -TeXcolorrgb 2005 1398 25 79 v 0 TeXcolorgray 1 1 0.85 -TeXcolorrgb 2030 1398 1350 79 v 0 TeXcolorgray 1 1 0.85 -TeXcolorrgb 3379 1398 25 79 v 0 TeXcolorgray 1 1 0.85 -TeXcolorrgb 3404 1398 4 79 v 0 TeXcolorgray 3404 1398 -V 1 1 0.85 TeXcolorrgb 2002 1477 V 0 TeXcolorgray 2002 -1477 V 1 1 0.85 TeXcolorrgb 2005 1477 25 79 v 0 TeXcolorgray -1 1 0.85 TeXcolorrgb 2030 1477 1350 79 v 0 TeXcolorgray -1 1 0.85 TeXcolorrgb 3379 1477 25 79 v 0 TeXcolorgray -1 1 0.85 TeXcolorrgb 3404 1477 4 79 v 0 TeXcolorgray -3404 1477 V 1 1 0.85 TeXcolorrgb 2002 1556 V 0 TeXcolorgray -2002 1556 V 1 1 0.85 TeXcolorrgb 2005 1556 25 79 v 0 -TeXcolorgray 1 1 0.85 TeXcolorrgb 2030 1556 1350 79 v -0 TeXcolorgray 1 1 0.85 TeXcolorrgb 3379 1556 25 79 v -0 TeXcolorgray 1 1 0.85 TeXcolorrgb 3404 1556 4 79 v -0 TeXcolorgray 3404 1556 V 2030 1532 a(\\)p 0 0 0 TeXcolorrgb(mainline) -p 0 TeXcolorgray 2 w({20.)p 0 0 0 TeXcolorrgb 2 w(Qxb)p -0 TeXcolorgray(7)p 0 0 0 TeXcolorrgb 36 w(Rae)p 0 TeXcolorgray -1 w(8)f(21.)p 0 0 0 TeXcolorrgb 1 w(Qd)p 0 TeXcolorgray -1 w(5})p 1 1 0.85 TeXcolorrgb 2002 1584 1406 29 v 0 TeXcolorgray -1 1 0.85 TeXcolorrgb 0 TeXcolorgray 2002 1584 4 29 v -2003 1584 29 4 v 2030 1584 1350 4 v 3380 1584 29 4 v -3406 1584 4 29 v 0 TeXcolorgray 0 TeXcolorgray 515 2119 -a Fk(7.3)112 b(T)m(yp)s(esetting)38 b(St)m(yle)515 2272 -y Ft(There)27 b(are)g(a)h(couple)g(of)g(w)n(a)n(ys)e(to)i(con\014gure)f -(ho)n(w)g(the)i(mo)n(v)n(e)e(are)g(t)n(yp)r(eset)h(as)f(describ)r(ed) -515 2372 y(in)h(the)g(follo)n(wing.)515 2588 y Fr(7.3.1)93 -b Fa(n)p Fn(styleA)515 2741 y Ft(The)26 b Fo(n)p Fn(styleA)d -Ft(will)j(switc)n(h)g(the)g(t)n(yp)r(esetting)g(to)g(the)g(w)n(a)n(y)f -(it)h(has)f(b)r(een)i(the)f(standard)f(in)515 2841 y(Denmark)i(and)g(|) -h(I)g(b)r(eliev)n(e)f(|)h(German)n(y)-7 b(.)p 0 TeXcolorgray -0 TeXcolorgray 515 3138 a Fr(1.)41 b(e4,)31 b(c5)h(2.)42 -b Fh(N)p Fr(f3,)31 b Fh(N)p Fr(c6)p 1 1 0.85 TeXcolorrgb -2002 2934 1406 29 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb -0 TeXcolorgray 2002 2934 4 29 v 2002 2909 29 4 v 2030 -2909 1350 4 v 3380 2909 29 4 v 3406 2934 4 29 v 1 1 0.85 -TeXcolorrgb 2002 3013 4 79 v 0 TeXcolorgray 2002 3013 -V 1 1 0.85 TeXcolorrgb 2005 3013 25 79 v 0 TeXcolorgray -1 1 0.85 TeXcolorrgb 2030 3013 1350 79 v 0 TeXcolorgray -1 1 0.85 TeXcolorrgb 3379 3013 25 79 v 0 TeXcolorgray -1 1 0.85 TeXcolorrgb 3404 3013 4 79 v 0 TeXcolorgray -3404 3013 V 2030 2989 a Fe(\\)p 0 0 0 TeXcolorrgb(newgame)p -0 TeXcolorgray 1 1 0.85 TeXcolorrgb 2002 3092 V 0 TeXcolorgray -2002 3092 V 1 1 0.85 TeXcolorrgb 2005 3092 25 79 v 0 -TeXcolorgray 1 1 0.85 TeXcolorrgb 2030 3092 1350 79 v -0 TeXcolorgray 1 1 0.85 TeXcolorrgb 3379 3092 25 79 v -0 TeXcolorgray 1 1 0.85 TeXcolorrgb 3404 3092 4 79 v -0 TeXcolorgray 3404 3092 V 2030 3068 a(\\)p 0 0 0 TeXcolorrgb(styleA)p -0 TeXcolorgray 1 1 0.85 TeXcolorrgb 2002 3171 V 0 TeXcolorgray -2002 3171 V 1 1 0.85 TeXcolorrgb 2005 3171 25 79 v 0 -TeXcolorgray 1 1 0.85 TeXcolorrgb 2030 3171 1350 79 v -0 TeXcolorgray 1 1 0.85 TeXcolorrgb 3379 3171 25 79 v -0 TeXcolorgray 1 1 0.85 TeXcolorrgb 3404 3171 4 79 v -0 TeXcolorgray 3404 3171 V 1 1 0.85 TeXcolorrgb 2002 -3250 V 0 TeXcolorgray 2002 3250 V 1 1 0.85 TeXcolorrgb -2005 3250 25 79 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb -2030 3250 1350 79 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb -3379 3250 25 79 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb -3404 3250 4 79 v 0 TeXcolorgray 3404 3250 V 2030 3226 -a(\\)p 0 0 0 TeXcolorrgb(mainline)p 0 TeXcolorgray 2 -w({1.)p 0 0 0 TeXcolorrgb 1 w(e)p 0 TeXcolorgray 1 w(4)p -0 0 0 TeXcolorrgb 35 w(c)p 0 TeXcolorgray(5)36 b(2.)p -0 0 0 TeXcolorrgb 1 w(Nf)p 0 TeXcolorgray(3)p 0 0 0 TeXcolorrgb -36 w(Nc)p 0 TeXcolorgray(6})p 1 1 0.85 TeXcolorrgb 2002 -3278 1406 29 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb 0 -TeXcolorgray 2002 3278 4 29 v 2003 3278 29 4 v 2030 3278 -1350 4 v 3380 3278 29 4 v 3406 3278 4 29 v 0 TeXcolorgray -0 TeXcolorgray 515 3464 a Fr(7.3.2)93 b Fa(n)p Fn(styleB)515 -3618 y Ft(The)27 b(st)n(yle)h(selected)f(b)n(y)g Fo(n)p -Fn(styleB)e Ft(is)j(the)g(default)g(one.)p 0 TeXcolorgray -0 TeXcolorgray 515 3927 a Fr(1)j(e4)h(c5)g(2)f Fh(N)p -Fr(f3)h Fh(N)p Fr(c6)p 1 1 0.85 TeXcolorrgb 2002 3716 -1406 29 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb 0 TeXcolorgray -2002 3716 4 29 v 2002 3691 29 4 v 2030 3691 1350 4 v -3380 3691 29 4 v 3406 3716 4 29 v 1 1 0.85 TeXcolorrgb -2002 3795 4 79 v 0 TeXcolorgray 2002 3795 V 1 1 0.85 -TeXcolorrgb 2005 3795 25 79 v 0 TeXcolorgray 1 1 0.85 -TeXcolorrgb 2030 3795 1350 79 v 0 TeXcolorgray 1 1 0.85 -TeXcolorrgb 3379 3795 25 79 v 0 TeXcolorgray 1 1 0.85 -TeXcolorrgb 3404 3795 4 79 v 0 TeXcolorgray 3404 3795 -V 2030 3771 a Fe(\\)p 0 0 0 TeXcolorrgb(newgame)p 0 TeXcolorgray -1 1 0.85 TeXcolorrgb 2002 3873 V 0 TeXcolorgray 2002 -3873 V 1 1 0.85 TeXcolorrgb 2005 3873 25 79 v 0 TeXcolorgray -1 1 0.85 TeXcolorrgb 2030 3873 1350 79 v 0 TeXcolorgray -1 1 0.85 TeXcolorrgb 3379 3873 25 79 v 0 TeXcolorgray -1 1 0.85 TeXcolorrgb 3404 3873 4 79 v 0 TeXcolorgray -3404 3873 V 2030 3850 a(\\)p 0 0 0 TeXcolorrgb(styleB)p -0 TeXcolorgray 1 1 0.85 TeXcolorrgb 2002 3952 V 0 TeXcolorgray -2002 3952 V 1 1 0.85 TeXcolorrgb 2005 3952 25 79 v 0 -TeXcolorgray 1 1 0.85 TeXcolorrgb 2030 3952 1350 79 v -0 TeXcolorgray 1 1 0.85 TeXcolorrgb 3379 3952 25 79 v -0 TeXcolorgray 1 1 0.85 TeXcolorrgb 3404 3952 4 79 v -0 TeXcolorgray 3404 3952 V 1 1 0.85 TeXcolorrgb 2002 -4031 V 0 TeXcolorgray 2002 4031 V 1 1 0.85 TeXcolorrgb -2005 4031 25 79 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb -2030 4031 1350 79 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb -3379 4031 25 79 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb -3404 4031 4 79 v 0 TeXcolorgray 3404 4031 V 2030 4008 -a(\\)p 0 0 0 TeXcolorrgb(mainline)p 0 TeXcolorgray 2 -w({1.)p 0 0 0 TeXcolorrgb 1 w(e)p 0 TeXcolorgray 1 w(4)p -0 0 0 TeXcolorrgb 35 w(c)p 0 TeXcolorgray(5)k(2.)p 0 0 0 -TeXcolorrgb 1 w(Nf)p 0 TeXcolorgray(3)p 0 0 0 TeXcolorrgb -36 w(Nc)p 0 TeXcolorgray(6})p 1 1 0.85 TeXcolorrgb 2002 -4059 1406 29 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb 0 -TeXcolorgray 2002 4059 4 29 v 2003 4059 29 4 v 2030 4059 -1350 4 v 3380 4059 29 4 v 3406 4059 4 29 v 0 TeXcolorgray -0 TeXcolorgray 515 4246 a Fr(7.3.3)93 b Fa(n)p Fn(styleC)515 -4399 y Ft(The)37 b(st)n(yle)h(selected)f(b)n(y)g Fo(n)p -Fn(styleC)e Ft(is)j(an)f(elab)r(oration)f(on)h Fo(n)p -Fn(styleB)p Ft(:)e(it)j(t)n(yp)r(esets)g(the)515 4499 -y(mo)n(v)n(es)g(line)i(b)n(y)f(line)g(for)g(eac)n(h)g(mo)n(v)n(e)f(for) -h(the)h(mainline)g(but)g(on)f(the)h(same)f(line)h(for)515 -4599 y(v)-5 b(ariations)28 b(|)i(this)g(st)n(yle)g(is)g(used)f(in)i -(man)n(y)e(b)r(o)r(oks)g(these)h(da)n(ys,)g(but)g(lo)r(ok)f(the)h(b)r -(est)h(in)515 4698 y(a)c(t)n(w)n(o-column)f(setting)i(where)f(the)h -(linewidth)g(is)g(small.)p 0 TeXcolorgray 1905 5255 a(12)p -0 TeXcolorgray eop end -%%Page: 13 13 -TeXDict begin 13 12 bop 0 TeXcolorgray 0 TeXcolorgray -0 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray 0 TeXcolorgray -0 TeXcolorgray 801 609 a Fr(1)239 b(e4)194 b(c5)801 708 -y(2)239 b Fh(N)p Fr(f3)134 b Fh(N)p Fr(c6)515 891 y Ft(In)n(teresting) -27 b(ho)n(w)g(2.)13 b(.)h(.)g(d6)27 b(is)h(blah)f(blah.)p -1 1 0.85 TeXcolorrgb 2002 426 1406 29 v 0 TeXcolorgray -1 1 0.85 TeXcolorrgb 0 TeXcolorgray 2002 426 4 29 v 2002 -401 29 4 v 2030 401 1350 4 v 3380 401 29 4 v 3406 426 -4 29 v 1 1 0.85 TeXcolorrgb 2002 505 4 79 v 0 TeXcolorgray -2002 505 V 1 1 0.85 TeXcolorrgb 2005 505 25 79 v 0 TeXcolorgray -1 1 0.85 TeXcolorrgb 2030 505 1350 79 v 0 TeXcolorgray -1 1 0.85 TeXcolorrgb 3379 505 25 79 v 0 TeXcolorgray -1 1 0.85 TeXcolorrgb 3404 505 4 79 v 0 TeXcolorgray 3404 -505 V 2030 481 a Fe(\\)p 0 0 0 TeXcolorrgb(newgame)p -0 TeXcolorgray 1 1 0.85 TeXcolorrgb 2002 584 V 0 TeXcolorgray -2002 584 V 1 1 0.85 TeXcolorrgb 2005 584 25 79 v 0 TeXcolorgray -1 1 0.85 TeXcolorrgb 2030 584 1350 79 v 0 TeXcolorgray -1 1 0.85 TeXcolorrgb 3379 584 25 79 v 0 TeXcolorgray -1 1 0.85 TeXcolorrgb 3404 584 4 79 v 0 TeXcolorgray 3404 -584 V 2030 560 a(\\)p 0 0 0 TeXcolorrgb(styleC)p 0 TeXcolorgray -1 1 0.85 TeXcolorrgb 2002 663 V 0 TeXcolorgray 2002 663 -V 1 1 0.85 TeXcolorrgb 2005 663 25 79 v 0 TeXcolorgray -1 1 0.85 TeXcolorrgb 2030 663 1350 79 v 0 TeXcolorgray -1 1 0.85 TeXcolorrgb 3379 663 25 79 v 0 TeXcolorgray -1 1 0.85 TeXcolorrgb 3404 663 4 79 v 0 TeXcolorgray 3404 -663 V 1 1 0.85 TeXcolorrgb 2002 741 V 0 TeXcolorgray -2002 741 V 1 1 0.85 TeXcolorrgb 2005 741 25 79 v 0 TeXcolorgray -1 1 0.85 TeXcolorrgb 2030 741 1350 79 v 0 TeXcolorgray -1 1 0.85 TeXcolorrgb 3379 741 25 79 v 0 TeXcolorgray -1 1 0.85 TeXcolorrgb 3404 741 4 79 v 0 TeXcolorgray 3404 -741 V 2030 718 a(\\)p 0 0 0 TeXcolorrgb(mainline)p 0 -TeXcolorgray 2 w({1.)p 0 0 0 TeXcolorrgb 1 w(e)p 0 TeXcolorgray -1 w(4)p 0 0 0 TeXcolorrgb 35 w(c)p 0 TeXcolorgray(5)36 -b(2.)p 0 0 0 TeXcolorrgb 1 w(Nf)p 0 TeXcolorgray(3)p -0 0 0 TeXcolorrgb 36 w(Nc)p 0 TeXcolorgray(6})p 1 1 0.85 -TeXcolorrgb 2002 820 V 0 TeXcolorgray 2002 820 V 1 1 0.85 -TeXcolorrgb 2005 820 25 79 v 0 TeXcolorgray 1 1 0.85 -TeXcolorrgb 2030 820 1350 79 v 0 TeXcolorgray 1 1 0.85 -TeXcolorrgb 3379 820 25 79 v 0 TeXcolorgray 1 1 0.85 -TeXcolorrgb 3404 820 4 79 v 0 TeXcolorgray 3404 820 V -1 1 0.85 TeXcolorrgb 2002 899 V 0 TeXcolorgray 2002 899 -V 1 1 0.85 TeXcolorrgb 2005 899 25 79 v 0 TeXcolorgray -1 1 0.85 TeXcolorrgb 2030 899 1350 79 v 0 TeXcolorgray -1 1 0.85 TeXcolorrgb 3379 899 25 79 v 0 TeXcolorgray -1 1 0.85 TeXcolorrgb 3404 899 4 79 v 0 TeXcolorgray 3404 -899 V 0 0 0 TeXcolorrgb 2030 875 a(Interesting)p 0 TeXcolorgray -0 0 0 TeXcolorrgb 38 w(how)p 0 TeXcolorgray 36 w(\\)p -0 0 0 TeXcolorrgb 1 w(variation)p 0 TeXcolorgray 2 w({2...)p -0 0 0 TeXcolorrgb 2 w(d)p 0 TeXcolorgray(6})p 0 0 0 TeXcolorrgb -36 w(is)p 0 TeXcolorgray 1 1 0.85 TeXcolorrgb 2002 978 -V 0 TeXcolorgray 2002 978 V 1 1 0.85 TeXcolorrgb 2005 -978 25 79 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb 2030 -978 1350 79 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb 3379 -978 25 79 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb 3404 -978 4 79 v 0 TeXcolorgray 3404 978 V 0 0 0 TeXcolorrgb -2113 954 a(blah)p 0 TeXcolorgray 0 0 0 TeXcolorrgb 36 -w(blah)p 0 TeXcolorgray 1 w(.)p 1 1 0.85 TeXcolorrgb -2002 1006 1406 29 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb -0 TeXcolorgray 2002 1006 4 29 v 2003 1006 29 4 v 2030 -1006 1350 4 v 3380 1006 29 4 v 3406 1006 4 29 v 0 TeXcolorgray -0 TeXcolorgray 515 1191 a Fr(7.3.4)93 b Fa(n)p Fn(variationstyle)26 -b Fr(and)33 b Fa(n)p Fn(mainlinestyle)515 1344 y Ft(Con\014guration)c -(of)h(these)h(commands)f(allo)n(ws)f(for)h(total)g(con)n(trol)f(of)i -(the)f(t)n(yp)r(esetting)h(of)515 1444 y(the)d(mainline)f(and)h(v)-5 -b(ariations,)26 b(they)i(default)g(to:)p 0 TeXcolorgray -0 TeXcolorgray 515 1614 a Fn(\\def\\mainlinesty)o(le)o({\\)o(bfs)o(er)o -(ies)o(}\045)37 b(could)k(also)h(contain)1779 1714 y(\045)h -(definitions)c(of)k(the)1779 1814 y(\045)g(various)e(style)g(options) -515 1913 y(\\def\\variationst)o(yl)o(e{)o(}\045)c(as)43 -b(with)f(mainlinestyle)639 2084 y Ft(They)28 b(are)f(used)i(b)n(y)e -Fo(n)p Fn(styleC)f Ft(to)i(con)n(trol)f(the)h(switc)n(hing)g(bac)n(k)f -(and)h(forth)g(b)r(et)n(w)n(een)515 2183 y(a)f(tabb)r(ed)h(en)n -(vironmen)n(t)f(and)g(normal)g(t)n(yp)r(esetting:)p 0 -TeXcolorgray 0 TeXcolorgray 515 2354 a Fn(\\def\\mainlinesty)o(le)o -({\\)o(sty)o(le)o(C\\b)o(fs)o(er)o(ies)o(})515 2454 y -(\\def\\variationst)o(yl)o(e{)o(\\st)o(yl)o(eB})515 2667 -y Fr(7.3.5)93 b Fa(n)p Fn(longmoves)28 b Fr(and)33 b -Fa(n)p Fn(sanmoves)515 2821 y Ft(The)j Fo(n)p Fn(longmoves)c -Ft(command)k(will)h(ensure)f(that)g(the)h(full)g(mo)n(v)n(e,)g(i.e.,)i -(including)e(the)515 2920 y(from)27 b(square)g(is)h(t)n(yp)r(eset.)38 -b(This)28 b(is)g(also)f(kno)n(w)g(as)g Fc(algebr)l(aic)35 -b Ft(notation)28 b(|)g(can)f(b)r(e)i(quite)515 3020 y(handy)39 -b(when)g(writing)g(ab)r(out)g(c)n(hess)f(for)h(c)n(hildren)g(or)f -(other)h(new)n(commers)f(to)h(c)n(hess)515 3120 y(notation.)p -0 TeXcolorgray 0 TeXcolorgray 515 3388 a Fr(1)31 b(e7-e4)g(c2-c5)h(2)f -Fh(N)p Fr(g1-f3)g Fh(N)p Fr(b8-c6)p 1 1 0.85 TeXcolorrgb -2002 3185 1406 29 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb -0 TeXcolorgray 2002 3185 4 29 v 2002 3160 29 4 v 2030 -3160 1350 4 v 3380 3160 29 4 v 3406 3185 4 29 v 1 1 0.85 -TeXcolorrgb 2002 3264 4 79 v 0 TeXcolorgray 2002 3264 -V 1 1 0.85 TeXcolorrgb 2005 3264 25 79 v 0 TeXcolorgray -1 1 0.85 TeXcolorrgb 2030 3264 1350 79 v 0 TeXcolorgray -1 1 0.85 TeXcolorrgb 3379 3264 25 79 v 0 TeXcolorgray -1 1 0.85 TeXcolorrgb 3404 3264 4 79 v 0 TeXcolorgray -3404 3264 V 2030 3240 a Fe(\\)p 0 0 0 TeXcolorrgb(newgame)p -0 TeXcolorgray 1 1 0.85 TeXcolorrgb 2002 3342 V 0 TeXcolorgray -2002 3342 V 1 1 0.85 TeXcolorrgb 2005 3342 25 79 v 0 -TeXcolorgray 1 1 0.85 TeXcolorrgb 2030 3342 1350 79 v -0 TeXcolorgray 1 1 0.85 TeXcolorrgb 3379 3342 25 79 v -0 TeXcolorgray 1 1 0.85 TeXcolorrgb 3404 3342 4 79 v -0 TeXcolorgray 3404 3342 V 2030 3319 a(\\)p 0 0 0 TeXcolorrgb -(longmoves)p 0 TeXcolorgray 1 1 0.85 TeXcolorrgb 2002 -3421 V 0 TeXcolorgray 2002 3421 V 1 1 0.85 TeXcolorrgb -2005 3421 25 79 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb -2030 3421 1350 79 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb -3379 3421 25 79 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb -3404 3421 4 79 v 0 TeXcolorgray 3404 3421 V 1 1 0.85 -TeXcolorrgb 2002 3500 V 0 TeXcolorgray 2002 3500 V 1 1 0.85 -TeXcolorrgb 2005 3500 25 79 v 0 TeXcolorgray 1 1 0.85 -TeXcolorrgb 2030 3500 1350 79 v 0 TeXcolorgray 1 1 0.85 -TeXcolorrgb 3379 3500 25 79 v 0 TeXcolorgray 1 1 0.85 -TeXcolorrgb 3404 3500 4 79 v 0 TeXcolorgray 3404 3500 -V 2030 3477 a(\\)p 0 0 0 TeXcolorrgb(mainline)p 0 TeXcolorgray -2 w({1.)p 0 0 0 TeXcolorrgb 1 w(e)p 0 TeXcolorgray 1 -w(4)p 0 0 0 TeXcolorrgb 35 w(c)p 0 TeXcolorgray(5)36 -b(2.)p 0 0 0 TeXcolorrgb 1 w(Nf)p 0 TeXcolorgray(3)p -0 0 0 TeXcolorrgb 36 w(Nc)p 0 TeXcolorgray(6})p 1 1 0.85 -TeXcolorrgb 2002 3528 1406 29 v 0 TeXcolorgray 1 1 0.85 -TeXcolorrgb 0 TeXcolorgray 2002 3528 4 29 v 2003 3528 -29 4 v 2030 3528 1350 4 v 3380 3528 29 4 v 3406 3528 -4 29 v 0 TeXcolorgray 0 TeXcolorgray 639 3670 a Ft(The)28 -b Fo(n)p Fn(shortmoves)23 b Ft(command)k(returns)g(things)h(to)f -(normal.)515 3900 y Fk(7.4)112 b(Input)38 b(Language)515 -4054 y Ft(The)32 b Fp(sk)n(ak)e Ft(pac)n(k)-5 b(age)30 -b(b)n(y)h(default)i(uses)e(the)h(English)f(letters)g(for)h(the)g -(pieces,)g(i.e.,)h(K)f(for)515 4153 y(King,)27 b(Q)g(for)g(Queen,)g(R)h -(for)f(Ro)r(ok,)g(B)h(for)f(Bishop,)g(N)h(for)f(Knigh)n(t)g(and)g(P)h -(for)f(P)n(a)n(wn.)639 4253 y(The)42 b Fo(n)p Fn(newskaklanguage)35 -b Ft(command)41 b(mak)n(es)g(it)h(p)r(ossible)f(to)h(de\014ne)g(other)f -(lan-)515 4352 y(guages)26 b(than)h(English,)g(e.g.,)h(supp)r(ose)f(I)g -(w)n(an)n(t)g(to)h(use)f(the)h(Danish)g(piece)g(letters:)p -0 TeXcolorgray 0 TeXcolorgray 515 4724 a Fr(1)j(e4)h(c5)g(2)f -Fh(N)p Fr(f3)h Fh(N)p Fr(c6)p 1 1 0.85 TeXcolorrgb 2002 -4434 1406 29 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb 0 -TeXcolorgray 2002 4434 4 29 v 2002 4409 29 4 v 2030 4409 -1350 4 v 3380 4409 29 4 v 3406 4434 4 29 v 1 1 0.85 TeXcolorrgb -2002 4513 4 79 v 0 TeXcolorgray 2002 4513 V 1 1 0.85 -TeXcolorrgb 2005 4513 25 79 v 0 TeXcolorgray 1 1 0.85 -TeXcolorrgb 2030 4513 1350 79 v 0 TeXcolorgray 1 1 0.85 -TeXcolorrgb 3379 4513 25 79 v 0 TeXcolorgray 1 1 0.85 -TeXcolorrgb 3404 4513 4 79 v 0 TeXcolorgray 3404 4513 -V 2030 4489 a Fe(\\)p 0 0 0 TeXcolorrgb(newskaklanguage)p -0 TeXcolorgray 4 w({)p 0 0 0 TeXcolorrgb 1 w(danish)p -0 TeXcolorgray 1 w(}{)p 0 0 0 TeXcolorrgb 1 w(KDTLSB)p -0 TeXcolorgray 2 w(})p 1 1 0.85 TeXcolorrgb 2002 4592 -V 0 TeXcolorgray 2002 4592 V 1 1 0.85 TeXcolorrgb 2005 -4592 25 79 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb 2030 -4592 1350 79 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb 3379 -4592 25 79 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb 3404 -4592 4 79 v 0 TeXcolorgray 3404 4592 V 1 1 0.85 TeXcolorrgb -2002 4670 V 0 TeXcolorgray 2002 4670 V 1 1 0.85 TeXcolorrgb -2005 4670 25 79 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb -2030 4670 1350 79 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb -3379 4670 25 79 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb -3404 4670 4 79 v 0 TeXcolorgray 3404 4670 V 2030 4647 -a(\\)p 0 0 0 TeXcolorrgb(skaklanguage)p 0 TeXcolorgray -4 w([)p 0 0 0 TeXcolorrgb(danish)p 0 TeXcolorgray 2 w(])p -1 1 0.85 TeXcolorrgb 2002 4749 V 0 TeXcolorgray 2002 -4749 V 1 1 0.85 TeXcolorrgb 2005 4749 25 79 v 0 TeXcolorgray -1 1 0.85 TeXcolorrgb 2030 4749 1350 79 v 0 TeXcolorgray -1 1 0.85 TeXcolorrgb 3379 4749 25 79 v 0 TeXcolorgray -1 1 0.85 TeXcolorrgb 3404 4749 4 79 v 0 TeXcolorgray -3404 4749 V 1 1 0.85 TeXcolorrgb 2002 4828 V 0 TeXcolorgray -2002 4828 V 1 1 0.85 TeXcolorrgb 2005 4828 25 79 v 0 -TeXcolorgray 1 1 0.85 TeXcolorrgb 2030 4828 1350 79 v -0 TeXcolorgray 1 1 0.85 TeXcolorrgb 3379 4828 25 79 v -0 TeXcolorgray 1 1 0.85 TeXcolorrgb 3404 4828 4 79 v -0 TeXcolorgray 3404 4828 V 2030 4804 a(\\)p 0 0 0 TeXcolorrgb(newgame)p -0 TeXcolorgray 1 1 0.85 TeXcolorrgb 2002 4907 V 0 TeXcolorgray -2002 4907 V 1 1 0.85 TeXcolorrgb 2005 4907 25 79 v 0 -TeXcolorgray 1 1 0.85 TeXcolorrgb 2030 4907 1350 79 v -0 TeXcolorgray 1 1 0.85 TeXcolorrgb 3379 4907 25 79 v -0 TeXcolorgray 1 1 0.85 TeXcolorrgb 3404 4907 4 79 v -0 TeXcolorgray 3404 4907 V 2030 4883 a(\\)p 0 0 0 TeXcolorrgb(mainline) -p 0 TeXcolorgray 2 w({1.)p 0 0 0 TeXcolorrgb 1 w(e)p -0 TeXcolorgray 1 w(4)p 0 0 0 TeXcolorrgb 35 w(c)p 0 TeXcolorgray(5)k -(2.)p 0 0 0 TeXcolorrgb 1 w(Sf)p 0 TeXcolorgray(3)p 0 0 0 -TeXcolorrgb 36 w(Sc)p 0 TeXcolorgray(6})p 1 1 0.85 TeXcolorrgb -2002 4935 1406 29 v 0 TeXcolorgray 1 1 0.85 TeXcolorrgb -0 TeXcolorgray 2002 4935 4 29 v 2003 4935 29 4 v 2030 -4935 1350 4 v 3380 4935 29 4 v 3406 4935 4 29 v 0 TeXcolorgray -0 TeXcolorgray 0 TeXcolorgray 1905 5255 a Ft(13)p 0 TeXcolorgray -eop end -%%Trailer - -userdict /end-hook known{end-hook}if -%%EOF diff --git a/Master/texmf-dist/doc/latex/skak/skakdoc.tex b/Master/texmf-dist/doc/latex/skak/skakdoc.tex index 5cc5a397929..e80618eda9e 100644 --- a/Master/texmf-dist/doc/latex/skak/skakdoc.tex +++ b/Master/texmf-dist/doc/latex/skak/skakdoc.tex @@ -26,7 +26,6 @@ \makeatother -\lstset{style=latex} %siehe lstlocal.cfg \lstset{width=0.5} % wider examples \lstset{preset=\raggedright} @@ -96,8 +95,8 @@ \title{Typesetting Chess in \LaTeX with the \package{skak} Package\\ -Version 1.4} -\author{Torben Hoffmann\\ e-mail: \texttt{Torben.Hoffmann@motorola.com}} +Version 1.5} +\author{Torben Hoffmann\\ e-mail: \texttt{torben.lehoff@gmail.com}} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \begin{document} \maketitle @@ -217,13 +216,13 @@ right column. \showboard \end{LTXexample} -The \command{newgame} command sets u the internal board or a new +The \command{newgame} command sets up the internal board or a new game. The \command{mainline} command does two things: it typesets the moves and updates the board so that \command{showboard} will show the current board position. \begin{LTXexample} -\mainline{3...a6} +\mainline{3...a6} \savegame{pap1} Rarely used these days, \variation{3...Nf6} is more in fashion since blah blah... @@ -232,6 +231,8 @@ fashion since blah blah... \showboard \end{LTXexample} + + This example shows that if it is black to move the move number shoud be followed by three periods. Furthermore, it also shows that the \command{variation} command merely typesets the moves --- it does @@ -334,7 +335,7 @@ Saving and loading to/from a file is the same just with the commands We have already seen \command{showboard} in action, but is is possible to alter the way the board looks like. -With the \command{mover} command one can request that a little marker +With the \command{mover}\footnote{\command{mover} only works if the \package{skak} is loaded with the ps option.} command one can request that a little marker is shown next to the board indicating who is to move next. \begin{LTXexample} diff --git a/Master/texmf-dist/doc/latex/skak/tuggame.pdf b/Master/texmf-dist/doc/latex/skak/tuggame.pdf new file mode 100644 index 00000000000..fb9569f172d Binary files /dev/null and b/Master/texmf-dist/doc/latex/skak/tuggame.pdf differ 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 459dd425f8c..00000000000 --- a/Master/texmf-dist/doc/latex/skak/tuggame.ps +++ /dev/null @@ -1,2108 +0,0 @@ -%!PS-Adobe-2.0 -%%Creator: dvips(k) 5.86f Copyright 2001 Radical Eye Software -%%Title: tuggame.dvi -%%Pages: 2 -%%PageOrder: Ascend -%%BoundingBox: 0 0 596 842 -%%DocumentPaperSizes: a4 -%%EndComments -%DVIPSWebPage: (www.radicaleye.com) -%DVIPSCommandLine: dvips tuggame.dvi -%DVIPSParameters: dpi=600, compressed -%DVIPSSource: TeX output 2004.07.21:2013 -%%BeginProcSet: texc.pro -%! -/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/id 0 N/rw 0 N/rc 0 N/gp 0 N/cp 0 N/G 0 N/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]/id Ci N/rw Cw 7 add 8 idiv string N/rc 0 N/gp 0 N/cp 0 N{ -rc 0 ne{rc 1 sub/rc X rw}{G}ifelse}imagemask restore}B/G{{id gp get/gp -gp 1 add N A 18 mod S 18 idiv pl S get exec}loop}B/adv{cp add/cp X}B -/chg{rw cp id gp 4 index getinterval putinterval A gp add/gp X adv}B/nd{ -/cp 0 N rw exit}B/lsh{rw cp 2 copy get A 0 eq{pop 1}{A 255 eq{pop 254}{ -A A add 255 and S 1 and or}ifelse}ifelse put 1 adv}B/rsh{rw cp 2 copy -get A 0 eq{pop 128}{A 255 eq{pop 127}{A 2 idiv S 128 and or}ifelse} -ifelse put 1 adv}B/clr{rw cp 2 index string putinterval adv}B/set{rw cp -fillstr 0 4 index getinterval putinterval adv}B/fillstr 18 string 0 1 17 -{2 copy 255 put pop}for N/pl[{adv 1 chg}{adv 1 chg nd}{1 add chg}{1 add -chg nd}{adv lsh}{adv lsh nd}{adv rsh}{adv rsh nd}{1 add adv}{/rc X nd}{ -1 add set}{1 add clr}{adv 2 chg}{adv 2 chg nd}{pop nd}]A{bind pop} -forall N/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn -/BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put -}if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{ -bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A -mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{ -SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{ -userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X -1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4 -index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N -/p{show}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 N/Ry 0 N/V{}B/RV/v{ -/Ry X/Rx X V}B statusdict begin/product where{pop false[(Display)(NeXT) -(LaserWriter 16/600)]{A length product length le{A length product exch 0 -exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}ifelse -end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{BDot}imagemask -grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat{BDot} -imagemask grestore}}ifelse B/QV{gsave newpath transform round exch round -exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 rlineto -fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B/M{S p -delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M}B/g{0 M} -B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p -3 w}B/n{ -p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{0 S -rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end - -%%EndProcSet -%%BeginProcSet: pstricks.pro -%! -% PostScript prologue for pstricks.tex. -% Version 97 patch 3, 98/06/01 -% For distribution, see pstricks.tex. -% -/tx@Dict 200 dict def tx@Dict begin -/ADict 25 dict def -/CM { matrix currentmatrix } bind def -/SLW /setlinewidth load def -/CLW /currentlinewidth load def -/CP /currentpoint load def -/ED { exch def } bind def -/L /lineto load def -/T /translate load def -/TMatrix { } def -/RAngle { 0 } def -/Atan { /atan load stopped { pop pop 0 } if } def -/Div { dup 0 eq { pop } { div } ifelse } def -/NET { neg exch neg exch T } def -/Pyth { dup mul exch dup mul add sqrt } def -/PtoC { 2 copy cos mul 3 1 roll sin mul } def -/PathLength@ { /z z y y1 sub x x1 sub Pyth add def /y1 y def /x1 x def } -def -/PathLength { flattenpath /z 0 def { /y1 ED /x1 ED /y2 y1 def /x2 x1 def -} { /y ED /x ED PathLength@ } {} { /y y2 def /x x2 def PathLength@ } -/pathforall load stopped { pop pop pop pop } if z } def -/STP { .996264 dup scale } def -/STV { SDict begin normalscale end STP } def -/DashLine { dup 0 gt { /a .5 def PathLength exch div } { pop /a 1 def -PathLength } ifelse /b ED /x ED /y ED /z y x add def b a .5 sub 2 mul y -mul sub z Div round z mul a .5 sub 2 mul y mul add b exch Div dup y mul -/y ED x mul /x ED x 0 gt y 0 gt and { [ y x ] 1 a sub y mul } { [ 1 0 ] -0 } ifelse setdash stroke } def -/DotLine { /b PathLength def /a ED /z ED /y CLW def /z y z add def a 0 gt -{ /b b a div def } { a 0 eq { /b b y sub def } { a -3 eq { /b b y add -def } if } ifelse } ifelse [ 0 b b z Div round Div dup 0 le { pop 1 } if -] a 0 gt { 0 } { y 2 div a -2 gt { neg } if } ifelse setdash 1 -setlinecap stroke } def -/LineFill { gsave abs CLW add /a ED a 0 dtransform round exch round exch -2 copy idtransform exch Atan rotate idtransform pop /a ED .25 .25 -% DG/SR modification begin - Dec. 12, 1997 - Patch 2 -%itransform translate pathbbox /y2 ED a Div ceiling cvi /x2 ED /y1 ED a -itransform pathbbox /y2 ED a Div ceiling cvi /x2 ED /y1 ED a -% DG/SR modification end -Div cvi /x1 ED /y2 y2 y1 sub def clip newpath 2 setlinecap systemdict -/setstrokeadjust known { true setstrokeadjust } if x2 x1 sub 1 add { x1 -% DG/SR modification begin - Jun. 1, 1998 - Patch 3 (from Michael Vulis) -% a mul y1 moveto 0 y2 rlineto stroke /x1 x1 1 add def } repeat grestore } -% def -a mul y1 moveto 0 y2 rlineto stroke /x1 x1 1 add def } repeat grestore -pop pop } def -% DG/SR modification end -/BeginArrow { ADict begin /@mtrx CM def gsave 2 copy T 2 index sub neg -exch 3 index sub exch Atan rotate newpath } def -/EndArrow { @mtrx setmatrix CP grestore end } def -/Arrow { CLW mul add dup 2 div /w ED mul dup /h ED mul /a ED { 0 h T 1 -1 -scale } if w neg h moveto 0 0 L w h L w neg a neg rlineto gsave fill -grestore } def -/Tbar { CLW mul add /z ED z -2 div CLW 2 div moveto z 0 rlineto stroke 0 -CLW moveto } def -/Bracket { CLW mul add dup CLW sub 2 div /x ED mul CLW add /y ED /z CLW 2 -div def x neg y moveto x neg CLW 2 div L x CLW 2 div L x y L stroke 0 -CLW moveto } def -/RoundBracket { CLW mul add dup 2 div /x ED mul /y ED /mtrx CM def 0 CLW -2 div T x y mul 0 ne { x y scale } if 1 1 moveto .85 .5 .35 0 0 0 -curveto -.35 0 -.85 .5 -1 1 curveto mtrx setmatrix stroke 0 CLW moveto } -def -/SD { 0 360 arc fill } def -/EndDot { { /z DS def } { /z 0 def } ifelse /b ED 0 z DS SD b { 0 z DS -CLW sub SD } if 0 DS z add CLW 4 div sub moveto } def -/Shadow { [ { /moveto load } { /lineto load } { /curveto load } { -/closepath load } /pathforall load stopped { pop pop pop pop CP /moveto -load } if ] cvx newpath 3 1 roll T exec } def -/NArray { aload length 2 div dup dup cvi eq not { exch pop } if /n exch -cvi def } def -/NArray { /f ED counttomark 2 div dup cvi /n ED n eq not { exch pop } if -f { ] aload /Points ED } { n 2 mul 1 add -1 roll pop } ifelse } def -/Line { NArray n 0 eq not { n 1 eq { 0 0 /n 2 def } if ArrowA /n n 2 sub -def n { Lineto } repeat CP 4 2 roll ArrowB L pop pop } if } def -/Arcto { /a [ 6 -2 roll ] cvx def a r /arcto load stopped { 5 } { 4 } -ifelse { pop } repeat a } def -/CheckClosed { dup n 2 mul 1 sub index eq 2 index n 2 mul 1 add index eq -and { pop pop /n n 1 sub def } if } def -/Polygon { NArray n 2 eq { 0 0 /n 3 def } if n 3 lt { n { pop pop } -repeat } { n 3 gt { CheckClosed } if n 2 mul -2 roll /y0 ED /x0 ED /y1 -ED /x1 ED x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 -moveto /n n 2 sub def n { Lineto } repeat x1 y1 x0 y0 6 4 roll Lineto -Lineto pop pop closepath } ifelse } def -/Diamond { /mtrx CM def T rotate /h ED /w ED dup 0 eq { pop } { CLW mul -neg /d ED /a w h Atan def /h d a sin Div h add def /w d a cos Div w add -def } ifelse mark w 2 div h 2 div w 0 0 h neg w neg 0 0 h w 2 div h 2 -div /ArrowA { moveto } def /ArrowB { } def false Line closepath mtrx -setmatrix } def -% DG modification begin - Jan. 15, 1997 -%/Triangle { /mtrx CM def translate rotate /h ED 2 div /w ED dup 0 eq { -%pop } { CLW mul /d ED /h h d w h Atan sin Div sub def /w w d h w Atan 2 -%div dup cos exch sin Div mul sub def } ifelse mark 0 d w neg d 0 h w d 0 -%d /ArrowA { moveto } def /ArrowB { } def false Line closepath mtrx -%setmatrix } def -/Triangle { /mtrx CM def translate rotate /h ED 2 div /w ED dup -CLW mul /d ED /h h d w h Atan sin Div sub def /w w d h w Atan 2 -div dup cos exch sin Div mul sub def mark 0 d w neg d 0 h w d 0 -d /ArrowA { moveto } def /ArrowB { } def false Line closepath mtrx -% DG/SR modification begin - Jun. 1, 1998 - Patch 3 (from Michael Vulis) -% setmatrix } def -setmatrix pop } def -% DG/SR modification end -/CCA { /y ED /x ED 2 copy y sub /dy1 ED x sub /dx1 ED /l1 dx1 dy1 Pyth -def } def -/CCA { /y ED /x ED 2 copy y sub /dy1 ED x sub /dx1 ED /l1 dx1 dy1 Pyth -def } def -/CC { /l0 l1 def /x1 x dx sub def /y1 y dy sub def /dx0 dx1 def /dy0 dy1 -def CCA /dx dx0 l1 c exp mul dx1 l0 c exp mul add def /dy dy0 l1 c exp -mul dy1 l0 c exp mul add def /m dx0 dy0 Atan dx1 dy1 Atan sub 2 div cos -abs b exp a mul dx dy Pyth Div 2 div def /x2 x l0 dx mul m mul sub def -/y2 y l0 dy mul m mul sub def /dx l1 dx mul m mul neg def /dy l1 dy mul -m mul neg def } def -/IC { /c c 1 add def c 0 lt { /c 0 def } { c 3 gt { /c 3 def } if } -ifelse /a a 2 mul 3 div 45 cos b exp div def CCA /dx 0 def /dy 0 def } -def -/BOC { IC CC x2 y2 x1 y1 ArrowA CP 4 2 roll x y curveto } def -/NC { CC x1 y1 x2 y2 x y curveto } def -/EOC { x dx sub y dy sub 4 2 roll ArrowB 2 copy curveto } def -/BAC { IC CC x y moveto CC x1 y1 CP ArrowA } def -/NAC { x2 y2 x y curveto CC x1 y1 } def -/EAC { x2 y2 x y ArrowB curveto pop pop } def -/OpenCurve { NArray n 3 lt { n { pop pop } repeat } { BOC /n n 3 sub def -n { NC } repeat EOC } ifelse } def -/AltCurve { { false NArray n 2 mul 2 roll [ n 2 mul 3 sub 1 roll ] aload -/Points ED n 2 mul -2 roll } { false NArray } ifelse n 4 lt { n { pop -pop } repeat } { BAC /n n 4 sub def n { NAC } repeat EAC } ifelse } def -/ClosedCurve { NArray n 3 lt { n { pop pop } repeat } { n 3 gt { -CheckClosed } if 6 copy n 2 mul 6 add 6 roll IC CC x y moveto n { NC } -repeat closepath pop pop } ifelse } def -/SQ { /r ED r r moveto r r neg L r neg r neg L r neg r L fill } def -/ST { /y ED /x ED x y moveto x neg y L 0 x L fill } def -/SP { /r ED gsave 0 r moveto 4 { 72 rotate 0 r L } repeat fill grestore } -def -/FontDot { DS 2 mul dup matrix scale matrix concatmatrix exch matrix -rotate matrix concatmatrix exch findfont exch makefont setfont } def -/Rect { x1 y1 y2 add 2 div moveto x1 y2 lineto x2 y2 lineto x2 y1 lineto -x1 y1 lineto closepath } def -/OvalFrame { x1 x2 eq y1 y2 eq or { pop pop x1 y1 moveto x2 y2 L } { y1 -y2 sub abs x1 x2 sub abs 2 copy gt { exch pop } { pop } ifelse 2 div -exch { dup 3 1 roll mul exch } if 2 copy lt { pop } { exch pop } ifelse -/b ED x1 y1 y2 add 2 div moveto x1 y2 x2 y2 b arcto x2 y2 x2 y1 b arcto -x2 y1 x1 y1 b arcto x1 y1 x1 y2 b arcto 16 { pop } repeat closepath } -ifelse } def -/Frame { CLW mul /a ED 3 -1 roll 2 copy gt { exch } if a sub /y2 ED a add -/y1 ED 2 copy gt { exch } if a sub /x2 ED a add /x1 ED 1 index 0 eq { -pop pop Rect } { OvalFrame } ifelse } def -/BezierNArray { /f ED counttomark 2 div dup cvi /n ED n eq not { exch pop -} if n 1 sub neg 3 mod 3 add 3 mod { 0 0 /n n 1 add def } repeat f { ] -aload /Points ED } { n 2 mul 1 add -1 roll pop } ifelse } def -/OpenBezier { BezierNArray n 1 eq { pop pop } { ArrowA n 4 sub 3 idiv { 6 -2 roll 4 2 roll curveto } repeat 6 2 roll 4 2 roll ArrowB curveto } -ifelse } def -/ClosedBezier { BezierNArray n 1 eq { pop pop } { moveto n 1 sub 3 idiv { -6 2 roll 4 2 roll curveto } repeat closepath } ifelse } def -/BezierShowPoints { gsave Points aload length 2 div cvi /n ED moveto n 1 -sub { lineto } repeat CLW 2 div SLW [ 4 4 ] 0 setdash stroke grestore } -def -/Parab { /y0 exch def /x0 exch def /y1 exch def /x1 exch def /dx x0 x1 -sub 3 div def /dy y0 y1 sub 3 div def x0 dx sub y0 dy add x1 y1 ArrowA -x0 dx add y0 dy add x0 2 mul x1 sub y1 ArrowB curveto /Points [ x1 y1 x0 -y0 x0 2 mul x1 sub y1 ] def } def -/Grid { newpath /a 4 string def /b ED /c ED /n ED cvi dup 1 lt { pop 1 } -if /s ED s div dup 0 eq { pop 1 } if /dy ED s div dup 0 eq { pop 1 } if -/dx ED dy div round dy mul /y0 ED dx div round dx mul /x0 ED dy div -round cvi /y2 ED dx div round cvi /x2 ED dy div round cvi /y1 ED dx div -round cvi /x1 ED /h y2 y1 sub 0 gt { 1 } { -1 } ifelse def /w x2 x1 sub -0 gt { 1 } { -1 } ifelse def b 0 gt { /z1 b 4 div CLW 2 div add def -/Helvetica findfont b scalefont setfont /b b .95 mul CLW 2 div add def } -if systemdict /setstrokeadjust known { true setstrokeadjust /t { } def } -{ /t { transform 0.25 sub round 0.25 add exch 0.25 sub round 0.25 add -exch itransform } bind def } ifelse gsave n 0 gt { 1 setlinecap [ 0 dy n -div ] dy n div 2 div setdash } { 2 setlinecap } ifelse /i x1 def /f y1 -dy mul n 0 gt { dy n div 2 div h mul sub } if def /g y2 dy mul n 0 gt { -dy n div 2 div h mul add } if def x2 x1 sub w mul 1 add dup 1000 gt { -pop 1000 } if { i dx mul dup y0 moveto b 0 gt { gsave c i a cvs dup -stringwidth pop /z2 ED w 0 gt {z1} {z1 z2 add neg} ifelse h 0 gt {b neg} -{z1} ifelse rmoveto show grestore } if dup t f moveto g t L stroke /i i -w add def } repeat grestore gsave n 0 gt -% DG/SR modification begin - Nov. 7, 1997 - Patch 1 -%{ 1 setlinecap [ 0 dx n div ] dy n div 2 div setdash } -{ 1 setlinecap [ 0 dx n div ] dx n div 2 div setdash } -% DG/SR modification end -{ 2 setlinecap } ifelse /i y1 def /f x1 dx mul -n 0 gt { dx n div 2 div w mul sub } if def /g x2 dx mul n 0 gt { dx n -div 2 div w mul add } if def y2 y1 sub h mul 1 add dup 1000 gt { pop -1000 } if { newpath i dy mul dup x0 exch moveto b 0 gt { gsave c i a cvs -dup stringwidth pop /z2 ED w 0 gt {z1 z2 add neg} {z1} ifelse h 0 gt -{z1} {b neg} ifelse rmoveto show grestore } if dup f exch t moveto g -exch t L stroke /i i h add def } repeat grestore } def -/ArcArrow { /d ED /b ED /a ED gsave newpath 0 -1000 moveto clip newpath 0 -1 0 0 b grestore c mul /e ED pop pop pop r a e d PtoC y add exch x add -exch r a PtoC y add exch x add exch b pop pop pop pop a e d CLW 8 div c -mul neg d } def -/Ellipse { /mtrx CM def T scale 0 0 1 5 3 roll arc mtrx setmatrix } def -/Rot { CP CP translate 3 -1 roll neg rotate NET } def -/RotBegin { tx@Dict /TMatrix known not { /TMatrix { } def /RAngle { 0 } -def } if /TMatrix [ TMatrix CM ] cvx def /a ED a Rot /RAngle [ RAngle -dup a add ] cvx def } def -/RotEnd { /TMatrix [ TMatrix setmatrix ] cvx def /RAngle [ RAngle pop ] -cvx def } def -/PutCoor { gsave CP T CM STV exch exec moveto setmatrix CP grestore } def -/PutBegin { /TMatrix [ TMatrix CM ] cvx def CP 4 2 roll T moveto } def -/PutEnd { CP /TMatrix [ TMatrix setmatrix ] cvx def moveto } def -/Uput { /a ED add 2 div /h ED 2 div /w ED /s a sin def /c a cos def /b s -abs c abs 2 copy gt dup /q ED { pop } { exch pop } ifelse def /w1 c b -div w mul def /h1 s b div h mul def q { w1 abs w sub dup c mul abs } { -h1 abs h sub dup s mul abs } ifelse } def -/UUput { /z ED abs /y ED /x ED q { x s div c mul abs y gt } { x c div s -mul abs y gt } ifelse { x x mul y y mul sub z z mul add sqrt z add } { q -{ x s div } { x c div } ifelse abs } ifelse a PtoC h1 add exch w1 add -exch } def -/BeginOL { dup (all) eq exch TheOL eq or { IfVisible not { Visible -/IfVisible true def } if } { IfVisible { Invisible /IfVisible false def -} if } ifelse } def -/InitOL { /OLUnit [ 3000 3000 matrix defaultmatrix dtransform ] cvx def -/Visible { CP OLUnit idtransform T moveto } def /Invisible { CP OLUnit -neg exch neg exch idtransform T moveto } def /BOL { BeginOL } def -/IfVisible true def } def -end -% END pstricks.pro - -%%EndProcSet -%%BeginProcSet: pst-dots.pro -%!PS-Adobe-2.0 -%%Title: Dot Font for PSTricks -%%Creator: Timothy Van Zandt -%%Creation Date: May 7, 1993 -%% Version 97 patch 1, 99/12/16 -%% Modified by Etienne Riga - Dec. 16, 1999 -%% to add /Diamond, /SolidDiamond and /BoldDiamond -10 dict dup begin - /FontType 3 def - /FontMatrix [ .001 0 0 .001 0 0 ] def - /FontBBox [ 0 0 0 0 ] def - /Encoding 256 array def - 0 1 255 { Encoding exch /.notdef put } for - Encoding - dup (b) 0 get /Bullet put - dup (c) 0 get /Circle put - dup (C) 0 get /BoldCircle put - dup (u) 0 get /SolidTriangle put - dup (t) 0 get /Triangle put - dup (T) 0 get /BoldTriangle put - dup (r) 0 get /SolidSquare put - dup (s) 0 get /Square put - dup (S) 0 get /BoldSquare put - dup (q) 0 get /SolidPentagon put - dup (p) 0 get /Pentagon put - dup (P) 0 get /BoldPentagon put -% DG/SR modification begin - Dec. 16, 1999 - From Etienne Riga - dup (l) 0 get /SolidDiamond put - dup (d) 0 get /Diamond put - (D) 0 get /BoldDiamond put -% DG/SR modification end - /Metrics 13 dict def - Metrics begin - /Bullet 1000 def - /Circle 1000 def - /BoldCircle 1000 def - /SolidTriangle 1344 def - /Triangle 1344 def - /BoldTriangle 1344 def - /SolidSquare 886 def - /Square 886 def - /BoldSquare 886 def - /SolidPentagon 1093.2 def - /Pentagon 1093.2 def - /BoldPentagon 1093.2 def -% DG/SR modification begin - Dec. 16, 1999 - From Etienne Riga - /SolidDiamond 1008 def - /Diamond 1008 def - /BoldDiamond 1008 def -% DG/SR modification end - /.notdef 0 def - end - /BBoxes 13 dict def - BBoxes begin - /Circle { -550 -550 550 550 } def - /BoldCircle /Circle load def - /Bullet /Circle load def - /Triangle { -571.5 -330 571.5 660 } def - /BoldTriangle /Triangle load def - /SolidTriangle /Triangle load def - /Square { -450 -450 450 450 } def - /BoldSquare /Square load def - /SolidSquare /Square load def - /Pentagon { -546.6 -465 546.6 574.7 } def - /BoldPentagon /Pentagon load def - /SolidPentagon /Pentagon load def -% DG/SR modification begin - Dec. 16, 1999 - From Etienne Riga - /Diamond { -428.5 -742.5 428.5 742.5 } def - /BoldDiamond /Diamond load def - /SolidDiamond /Diamond load def -% DG/SR modification end - /.notdef { 0 0 0 0 } def - end - /CharProcs 20 dict def - CharProcs begin - /Adjust { - 2 copy dtransform floor .5 add exch floor .5 add exch idtransform - 3 -1 roll div 3 1 roll exch div exch scale - } def - /CirclePath { 0 0 500 0 360 arc closepath } def - /Bullet { 500 500 Adjust CirclePath fill } def - /Circle { 500 500 Adjust CirclePath .9 .9 scale CirclePath - eofill } def - /BoldCircle { 500 500 Adjust CirclePath .8 .8 scale CirclePath - eofill } def - /BoldCircle { CirclePath .8 .8 scale CirclePath eofill } def - /TrianglePath { 0 660 moveto -571.5 -330 lineto 571.5 -330 lineto - closepath } def - /SolidTriangle { TrianglePath fill } def - /Triangle { TrianglePath .85 .85 scale TrianglePath eofill } def - /BoldTriangle { TrianglePath .7 .7 scale TrianglePath eofill } def - /SquarePath { -450 450 moveto 450 450 lineto 450 -450 lineto - -450 -450 lineto closepath } def - /SolidSquare { SquarePath fill } def - /Square { SquarePath .89 .89 scale SquarePath eofill } def - /BoldSquare { SquarePath .78 .78 scale SquarePath eofill } def - /PentagonPath { - -337.8 -465 moveto - 337.8 -465 lineto - 546.6 177.6 lineto - 0 574.7 lineto - -546.6 177.6 lineto - closepath - } def - /SolidPentagon { PentagonPath fill } def - /Pentagon { PentagonPath .89 .89 scale PentagonPath eofill } def - /BoldPentagon { PentagonPath .78 .78 scale PentagonPath eofill } def -% DG/SR modification begin - Dec. 16, 1999 - From Etienne Riga - /DiamondPath { 0 742.5 moveto -428.5 0 lineto 0 -742.5 lineto - 428.5 0 lineto closepath } def - /SolidDiamond { DiamondPath fill } def - /Diamond { DiamondPath .85 .85 scale DiamondPath eofill } def - /BoldDiamond { DiamondPath .7 .7 scale DiamondPath eofill } def -% DG/SR modification end - /.notdef { } def - end - /BuildGlyph { - exch - begin - Metrics 1 index get exec 0 - BBoxes 3 index get exec - setcachedevice - CharProcs begin load exec end - end - } def - /BuildChar { - 1 index /Encoding get exch get - 1 index /BuildGlyph get exec - } bind def -end -/PSTricksDotFont exch definefont pop -%END pst-dots.pro - -%%EndProcSet -%%BeginProcSet: pst-node.pro -%! -% PostScript prologue for pst-node.tex. -% Version 97 patch 1, 97/05/09. -% For distribution, see pstricks.tex. -% -/tx@NodeDict 400 dict def tx@NodeDict begin -tx@Dict begin /T /translate load def end -/NewNode { gsave /next ED dict dup 3 1 roll def exch { dup 3 1 roll def } -if begin tx@Dict begin STV CP T exec end /NodeMtrx CM def next end -grestore } def -/InitPnode { /Y ED /X ED /NodePos { NodeSep Cos mul NodeSep Sin mul } def -} def -/InitCnode { /r ED /Y ED /X ED /NodePos { NodeSep r add dup Cos mul exch -Sin mul } def } def -/GetRnodePos { Cos 0 gt { /dx r NodeSep add def } { /dx l NodeSep sub def -} ifelse Sin 0 gt { /dy u NodeSep add def } { /dy d NodeSep sub def } -ifelse dx Sin mul abs dy Cos mul abs gt { dy Cos mul Sin div dy } { dx -dup Sin mul Cos Div } ifelse } def -/InitRnode { /Y ED /X ED X sub /r ED /l X neg def Y add neg /d ED Y sub -/u ED /NodePos { GetRnodePos } def } def -/DiaNodePos { w h mul w Sin mul abs h Cos mul abs add Div NodeSep add dup -Cos mul exch Sin mul } def -/TriNodePos { Sin s lt { d NodeSep sub dup Cos mul Sin Div exch } { w h -mul w Sin mul h Cos abs mul add Div NodeSep add dup Cos mul exch Sin mul -} ifelse } def -/InitTriNode { sub 2 div exch 2 div exch 2 copy T 2 copy 4 index index /d -ED pop pop pop pop -90 mul rotate /NodeMtrx CM def /X 0 def /Y 0 def d -sub abs neg /d ED d add /h ED 2 div h mul h d sub Div /w ED /s d w Atan -sin def /NodePos { TriNodePos } def } def -/OvalNodePos { /ww w NodeSep add def /hh h NodeSep add def Sin ww mul Cos -hh mul Atan dup cos ww mul exch sin hh mul } def -/GetCenter { begin X Y NodeMtrx transform CM itransform end } def -/XYPos { dup sin exch cos Do /Cos ED /Sin ED /Dist ED Cos 0 gt { Dist -Dist Sin mul Cos div } { Cos 0 lt { Dist neg Dist Sin mul Cos div neg } -{ 0 Dist Sin mul } ifelse } ifelse Do } def -/GetEdge { dup 0 eq { pop begin 1 0 NodeMtrx dtransform CM idtransform -exch atan sub dup sin /Sin ED cos /Cos ED /NodeSep ED NodePos NodeMtrx -dtransform CM idtransform end } { 1 eq {{exch}} {{}} ifelse /Do ED pop -XYPos } ifelse } def -/AddOffset { 1 index 0 eq { pop pop } { 2 copy 5 2 roll cos mul add 4 1 -roll sin mul sub exch } ifelse } def -/GetEdgeA { NodeSepA AngleA NodeA NodeSepTypeA GetEdge OffsetA AngleA -AddOffset yA add /yA1 ED xA add /xA1 ED } def -/GetEdgeB { NodeSepB AngleB NodeB NodeSepTypeB GetEdge OffsetB AngleB -AddOffset yB add /yB1 ED xB add /xB1 ED } def -/GetArmA { ArmTypeA 0 eq { /xA2 ArmA AngleA cos mul xA1 add def /yA2 ArmA -AngleA sin mul yA1 add def } { ArmTypeA 1 eq {{exch}} {{}} ifelse /Do ED -ArmA AngleA XYPos OffsetA AngleA AddOffset yA add /yA2 ED xA add /xA2 ED -} ifelse } def -/GetArmB { ArmTypeB 0 eq { /xB2 ArmB AngleB cos mul xB1 add def /yB2 ArmB -AngleB sin mul yB1 add def } { ArmTypeB 1 eq {{exch}} {{}} ifelse /Do ED -ArmB AngleB XYPos OffsetB AngleB AddOffset yB add /yB2 ED xB add /xB2 ED -} ifelse } def -/InitNC { /b ED /a ED /NodeSepTypeB ED /NodeSepTypeA ED /NodeSepB ED -/NodeSepA ED /OffsetB ED /OffsetA ED tx@NodeDict a known tx@NodeDict b -known and dup { /NodeA a load def /NodeB b load def NodeA GetCenter /yA -ED /xA ED NodeB GetCenter /yB ED /xB ED } if } def -/LPutLine { 4 copy 3 -1 roll sub neg 3 1 roll sub Atan /NAngle ED 1 t sub -mul 3 1 roll 1 t sub mul 4 1 roll t mul add /Y ED t mul add /X ED } def -/LPutLines { mark LPutVar counttomark 2 div 1 sub /n ED t floor dup n gt -{ pop n 1 sub /t 1 def } { dup t sub neg /t ED } ifelse cvi 2 mul { pop -} repeat LPutLine cleartomark } def -/BezierMidpoint { /y3 ED /x3 ED /y2 ED /x2 ED /y1 ED /x1 ED /y0 ED /x0 ED -/t ED /cx x1 x0 sub 3 mul def /cy y1 y0 sub 3 mul def /bx x2 x1 sub 3 -mul cx sub def /by y2 y1 sub 3 mul cy sub def /ax x3 x0 sub cx sub bx -sub def /ay y3 y0 sub cy sub by sub def ax t 3 exp mul bx t t mul mul -add cx t mul add x0 add ay t 3 exp mul by t t mul mul add cy t mul add -y0 add 3 ay t t mul mul mul 2 by t mul mul add cy add 3 ax t t mul mul -mul 2 bx t mul mul add cx add atan /NAngle ED /Y ED /X ED } def -/HPosBegin { yB yA ge { /t 1 t sub def } if /Y yB yA sub t mul yA add def -} def -/HPosEnd { /X Y yyA sub yyB yyA sub Div xxB xxA sub mul xxA add def -/NAngle yyB yyA sub xxB xxA sub Atan def } def -/HPutLine { HPosBegin /yyA ED /xxA ED /yyB ED /xxB ED HPosEnd } def -/HPutLines { HPosBegin yB yA ge { /check { le } def } { /check { ge } def -} ifelse /xxA xA def /yyA yA def mark xB yB LPutVar { dup Y check { exit -} { /yyA ED /xxA ED } ifelse } loop /yyB ED /xxB ED cleartomark HPosEnd -} def -/VPosBegin { xB xA lt { /t 1 t sub def } if /X xB xA sub t mul xA add def -} def -/VPosEnd { /Y X xxA sub xxB xxA sub Div yyB yyA sub mul yyA add def -/NAngle yyB yyA sub xxB xxA sub Atan def } def -/VPutLine { VPosBegin /yyA ED /xxA ED /yyB ED /xxB ED VPosEnd } def -/VPutLines { VPosBegin xB xA ge { /check { le } def } { /check { ge } def -} ifelse /xxA xA def /yyA yA def mark xB yB LPutVar { 1 index X check { -exit } { /yyA ED /xxA ED } ifelse } loop /yyB ED /xxB ED cleartomark -VPosEnd } def -/HPutCurve { gsave newpath /SaveLPutVar /LPutVar load def LPutVar 8 -2 -roll moveto curveto flattenpath /LPutVar [ {} {} {} {} pathforall ] cvx -def grestore exec /LPutVar /SaveLPutVar load def } def -/NCCoor { /AngleA yB yA sub xB xA sub Atan def /AngleB AngleA 180 add def -GetEdgeA GetEdgeB /LPutVar [ xB1 yB1 xA1 yA1 ] cvx def /LPutPos { -LPutVar LPutLine } def /HPutPos { LPutVar HPutLine } def /VPutPos { -LPutVar VPutLine } def LPutVar } def -/NCLine { NCCoor tx@Dict begin ArrowA CP 4 2 roll ArrowB lineto pop pop -end } def -/NCLines { false NArray n 0 eq { NCLine } { 2 copy yA sub exch xA sub -Atan /AngleA ED n 2 mul dup index exch index yB sub exch xB sub Atan -/AngleB ED GetEdgeA GetEdgeB /LPutVar [ xB1 yB1 n 2 mul 4 add 4 roll xA1 -yA1 ] cvx def mark LPutVar tx@Dict begin false Line end /LPutPos { -LPutLines } def /HPutPos { HPutLines } def /VPutPos { VPutLines } def } -ifelse } def -/NCCurve { GetEdgeA GetEdgeB xA1 xB1 sub yA1 yB1 sub Pyth 2 div dup 3 -1 -roll mul /ArmA ED mul /ArmB ED /ArmTypeA 0 def /ArmTypeB 0 def GetArmA -GetArmB xA2 yA2 xA1 yA1 tx@Dict begin ArrowA end xB2 yB2 xB1 yB1 tx@Dict -begin ArrowB end curveto /LPutVar [ xA1 yA1 xA2 yA2 xB2 yB2 xB1 yB1 ] -cvx def /LPutPos { t LPutVar BezierMidpoint } def /HPutPos { { HPutLines -} HPutCurve } def /VPutPos { { VPutLines } HPutCurve } def } def -/NCAngles { GetEdgeA GetEdgeB GetArmA GetArmB /mtrx AngleA matrix rotate -def xA2 yA2 mtrx transform pop xB2 yB2 mtrx transform exch pop mtrx -itransform /y0 ED /x0 ED mark ArmB 0 ne { xB1 yB1 } if xB2 yB2 x0 y0 xA2 -yA2 ArmA 0 ne { xA1 yA1 } if tx@Dict begin false Line end /LPutVar [ xB1 -yB1 xB2 yB2 x0 y0 xA2 yA2 xA1 yA1 ] cvx def /LPutPos { LPutLines } def -/HPutPos { HPutLines } def /VPutPos { VPutLines } def } def -/NCAngle { GetEdgeA GetEdgeB GetArmB /mtrx AngleA matrix rotate def xB2 -yB2 mtrx itransform pop xA1 yA1 mtrx itransform exch pop mtrx transform -/y0 ED /x0 ED mark ArmB 0 ne { xB1 yB1 } if xB2 yB2 x0 y0 xA1 yA1 -tx@Dict begin false Line end /LPutVar [ xB1 yB1 xB2 yB2 x0 y0 xA1 yA1 ] -cvx def /LPutPos { LPutLines } def /HPutPos { HPutLines } def /VPutPos { -VPutLines } def } def -/NCBar { GetEdgeA GetEdgeB GetArmA GetArmB /mtrx AngleA matrix rotate def -xA2 yA2 mtrx itransform pop xB2 yB2 mtrx itransform pop sub dup 0 mtrx -transform 3 -1 roll 0 gt { /yB2 exch yB2 add def /xB2 exch xB2 add def } -{ /yA2 exch neg yA2 add def /xA2 exch neg xA2 add def } ifelse mark ArmB -0 ne { xB1 yB1 } if xB2 yB2 xA2 yA2 ArmA 0 ne { xA1 yA1 } if tx@Dict -begin false Line end /LPutVar [ xB1 yB1 xB2 yB2 xA2 yA2 xA1 yA1 ] cvx -def /LPutPos { LPutLines } def /HPutPos { HPutLines } def /VPutPos { -VPutLines } def } def -/NCDiag { GetEdgeA GetEdgeB GetArmA GetArmB mark ArmB 0 ne { xB1 yB1 } if -xB2 yB2 xA2 yA2 ArmA 0 ne { xA1 yA1 } if tx@Dict begin false Line end -/LPutVar [ xB1 yB1 xB2 yB2 xA2 yA2 xA1 yA1 ] cvx def /LPutPos { -LPutLines } def /HPutPos { HPutLines } def /VPutPos { VPutLines } def } -def -/NCDiagg { GetEdgeA GetArmA yB yA2 sub xB xA2 sub Atan 180 add /AngleB ED -GetEdgeB mark xB1 yB1 xA2 yA2 ArmA 0 ne { xA1 yA1 } if tx@Dict begin -false Line end /LPutVar [ xB1 yB1 xA2 yA2 xA1 yA1 ] cvx def /LPutPos { -LPutLines } def /HPutPos { HPutLines } def /VPutPos { VPutLines } def } -def -/NCLoop { GetEdgeA GetEdgeB GetArmA GetArmB /mtrx AngleA matrix rotate -def xA2 yA2 mtrx transform loopsize add /yA3 ED /xA3 ED /xB3 xB2 yB2 -mtrx transform pop def xB3 yA3 mtrx itransform /yB3 ED /xB3 ED xA3 yA3 -mtrx itransform /yA3 ED /xA3 ED mark ArmB 0 ne { xB1 yB1 } if xB2 yB2 -xB3 yB3 xA3 yA3 xA2 yA2 ArmA 0 ne { xA1 yA1 } if tx@Dict begin false -Line end /LPutVar [ xB1 yB1 xB2 yB2 xB3 yB3 xA3 yA3 xA2 yA2 xA1 yA1 ] -cvx def /LPutPos { LPutLines } def /HPutPos { HPutLines } def /VPutPos { -VPutLines } def } def -% DG/SR modification begin - May 9, 1997 - Patch 1 -%/NCCircle { 0 0 NodesepA nodeA \tx@GetEdge pop xA sub 2 div dup 2 exp r -%r mul sub abs sqrt atan 2 mul /a ED r AngleA 90 add PtoC yA add exch xA add -%exch 2 copy /LPutVar [ 4 2 roll r AngleA ] cvx def /LPutPos { LPutVar t 360 -%mul add dup 5 1 roll 90 sub \tx@PtoC 3 -1 roll add /Y ED add /X ED /NAngle ED -/NCCircle { NodeSepA 0 NodeA 0 GetEdge pop 2 div dup 2 exp r -r mul sub abs sqrt atan 2 mul /a ED r AngleA 90 add PtoC yA add exch xA add -exch 2 copy /LPutVar [ 4 2 roll r AngleA ] cvx def /LPutPos { LPutVar t 360 -mul add dup 5 1 roll 90 sub PtoC 3 -1 roll add /Y ED add /X ED /NAngle ED -% DG/SR modification end -} def /HPutPos { LPutPos } def /VPutPos { LPutPos } def r AngleA 90 sub a add -AngleA 270 add a sub tx@Dict begin /angleB ED /angleA ED /r ED /c 57.2957 r -Div def /y ED /x ED } def -/NCBox { /d ED /h ED /AngleB yB yA sub xB xA sub Atan def /AngleA AngleB -180 add def GetEdgeA GetEdgeB /dx d AngleB sin mul def /dy d AngleB cos -mul neg def /hx h AngleB sin mul neg def /hy h AngleB cos mul def -/LPutVar [ xA1 hx add yA1 hy add xB1 hx add yB1 hy add xB1 dx add yB1 dy -add xA1 dx add yA1 dy add ] cvx def /LPutPos { LPutLines } def /HPutPos -{ xB yB xA yA LPutLine } def /VPutPos { HPutPos } def mark LPutVar -tx@Dict begin false Polygon end } def -/NCArcBox { /l ED neg /d ED /h ED /a ED /AngleA yB yA sub xB xA sub Atan -def /AngleB AngleA 180 add def /tA AngleA a sub 90 add def /tB tA a 2 -mul add def /r xB xA sub tA cos tB cos sub Div dup 0 eq { pop 1 } if def -/x0 xA r tA cos mul add def /y0 yA r tA sin mul add def /c 57.2958 r div -def /AngleA AngleA a sub 180 add def /AngleB AngleB a add 180 add def -GetEdgeA GetEdgeB /AngleA tA 180 add yA yA1 sub xA xA1 sub Pyth c mul -sub def /AngleB tB 180 add yB yB1 sub xB xB1 sub Pyth c mul add def l 0 -eq { x0 y0 r h add AngleA AngleB arc x0 y0 r d add AngleB AngleA arcn } -{ x0 y0 translate /tA AngleA l c mul add def /tB AngleB l c mul sub def -0 0 r h add tA tB arc r h add AngleB PtoC r d add AngleB PtoC 2 copy 6 2 -roll l arcto 4 { pop } repeat r d add tB PtoC l arcto 4 { pop } repeat 0 -0 r d add tB tA arcn r d add AngleA PtoC r h add AngleA PtoC 2 copy 6 2 -roll l arcto 4 { pop } repeat r h add tA PtoC l arcto 4 { pop } repeat } -ifelse closepath /LPutVar [ x0 y0 r AngleA AngleB h d ] cvx def /LPutPos -{ LPutVar /d ED /h ED /AngleB ED /AngleA ED /r ED /y0 ED /x0 ED t 1 le { -r h add AngleA 1 t sub mul AngleB t mul add dup 90 add /NAngle ED PtoC } -{ t 2 lt { /NAngle AngleB 180 add def r 2 t sub h mul t 1 sub d mul add -add AngleB PtoC } { t 3 lt { r d add AngleB 3 t sub mul AngleA 2 t sub -mul add dup 90 sub /NAngle ED PtoC } { /NAngle AngleA 180 add def r 4 t -sub d mul t 3 sub h mul add add AngleA PtoC } ifelse } ifelse } ifelse -y0 add /Y ED x0 add /X ED } def /HPutPos { LPutPos } def /VPutPos { -LPutPos } def } def -/Tfan { /AngleA yB yA sub xB xA sub Atan def GetEdgeA w xA1 xB sub yA1 yB -sub Pyth Pyth w Div CLW 2 div mul 2 div dup AngleA sin mul yA1 add /yA1 -ED AngleA cos mul xA1 add /xA1 ED /LPutVar [ xA1 yA1 m { xB w add yB xB -w sub yB } { xB yB w sub xB yB w add } ifelse xA1 yA1 ] cvx def /LPutPos -{ LPutLines } def /VPutPos@ { LPutVar flag { 8 4 roll pop pop pop pop } -{ pop pop pop pop 4 2 roll } ifelse } def /VPutPos { VPutPos@ VPutLine } -def /HPutPos { VPutPos@ HPutLine } def mark LPutVar tx@Dict begin -/ArrowA { moveto } def /ArrowB { } def false Line closepath end } def -/LPutCoor { NAngle tx@Dict begin /NAngle ED end gsave CM STV CP Y sub neg -exch X sub neg exch moveto setmatrix CP grestore } def -/LPut { tx@NodeDict /LPutPos known { LPutPos } { CP /Y ED /X ED /NAngle 0 -def } ifelse LPutCoor } def -/HPutAdjust { Sin Cos mul 0 eq { 0 } { d Cos mul Sin div flag not { neg } -if h Cos mul Sin div flag { neg } if 2 copy gt { pop } { exch pop } -ifelse } ifelse s add flag { r add neg } { l add } ifelse X add /X ED } -def -/VPutAdjust { Sin Cos mul 0 eq { 0 } { l Sin mul Cos div flag { neg } if -r Sin mul Cos div flag not { neg } if 2 copy gt { pop } { exch pop } -ifelse } ifelse s add flag { d add } { h add neg } ifelse Y add /Y ED } -def -end -% END pst-node.pro - -%%EndProcSet -%%BeginProcSet: special.pro -%! -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 -TeXDict begin 39158280 55380996 1000 600 600 (tuggame.dvi) -@start -%DVIPSBitmapFont: Fa skakf10 10.95 2 -/Fa 2 89 df43 D<00F015076CED0F806C151F6CED3F00007F5D6C6C14FE6C6C495A6C6C49 -5A6C6C495A6C6C495A6C6C495A6C6C495A017F49C7FC90383F80FE90381FC1FC90380FE3 -F8903807F7F06DB45A6D5B6D5B6EC8FC4A7E497F497F903807F7F090380FE3F890381FC1 -FC90383F80FE90387F007F01FE6D7E48486D7E48486D7E48486D7E48486D7E48486D7E48 -486D7E48C8127F00FEED3F8048151F48150F0070ED0700292979A837>88 -D E -%EndDVIPSBitmapFont -%DVIPSBitmapFont: Fb skakf10b 10.95 6 -/Fb 6 89 df<15E04A7E4A7EB3A3003FB812C04817E0B912F0A36C17E06C17C0C7D803F8 -C8FCB3A214016E5A34347AB040>43 D<16F0ED03FC4B7E4B7EA292381F0F80A3166F6FB4 -C9FCA26F5A4B7E4B7F92387F9FE09238FF0FF0913901FC23F8913907F871FE91390FE0F8 -7FDA1FC06D7EDA3F806D7EDA7E00EB07E04A6E7E4A140149486E7EA24948B5EAF87C02E1 -14FC49486E7E02C114FC02C014F8923800F800A46D6C5DA2903901F007FE913AF83FFFE0 -F8D900FDB512FD027FECFFF06E5D91261FF8015B913A0FC0001F804AC7120F923907FE07 -C092383FFFE792B6FC5C84EDF8019238C0001F03F813FF6EB65A020792C8FC020114FC6E -6C13E0010FB87E017F028F14F048B6000714FC0007DAFC7114FF001F9126E1FC3F14C03E -3FF0000FFF80007FE0D87F81B738FC0FF0D8FE0F9338FF83F8D8F83F028F14E06CB5D8FE -0314F9007F9126F0007FEBFFF06C48C9000313E0D81FF09338007FC0D80FC0EF1F806CCB -EA0F0045487EC449>66 D<1618163CA4923807FFF04B7FA26F5BDB003CCAFCA4167F4C7E -4B7F4B7F16E3923807C1F0D97F8016FF2A01FFF00F80F80713C0000701FC031F13F04801 -FF037F7F48028F91B57E273F807FEF01FBEB00FE273E000FFFD9FFF8133E48010303E07F -6E01C15B48D9007F91C7EA0F80033F5B031F5B92380FE3F803075B923803F7E0A2007C02 -0149EC1F0016FF6C6E49143EA26C616D6EC812FC6C6C4D5A0007616C6C4D5A6D17070001 -91261FFFFC5C2600F80FB638F80F8001FDB8129F017F05FFC7FC6D5F9238F0000702F8C8 -120F0280ED00FC90283E000FFFF0137C4AB612C0D91F1F15FC91B812FCA29238F0000F91 -3AFE0FFFF03F02E1B612C3021FEDFC7C013EB812FC013F839238F0000F4AC8123F02E015 -0391CA127E6D177CA26D6C5E6E1501D907F0ED07F0D903FCED1FE06DB46CECFFC06D01FC -011F5B023FB648C8FC020F15F8020315E0DA007F91C9FC030313E0495180C849>75 -D81 D<3D07FF81FFFC07FF804801C36D4813C0485EA3903B07FFE03FFF07 -A36D497E6D9038800FFE90CAFCA290B9FCA319806C1800D803F8C8EA01FE6CB812F86C6C -5E6D16C06D5EA291C8120FB3A391B7FCA2844982498201FCC8EA01F848486F7E4848167E -90B9FC4818805AA30180C9120FA2003FB912F04818F8BAFCA300F8CBFCA2BAFCA37E6C18 -F03D477ABC49>I<0078ED038000FCED07C06CED0FE06C151F6D143F6C6CEC7FC06C6CEC -FF806C6C4913006C6C495A6C6C495A6C6C495A6C6C495A6C6D485A6D6C485A6D6C485AD9 -1FF190C7FC90380FFBFE6DB45A6D5B6D5B6D5B6E5A4A7E497F497F497F90380FFBFE9038 -1FF1FFD93FE07F49486C7E49486C7E48496C7E48486D7E48486D7E48486D7E48486D7E48 -486D13804848EC7FC04848EC3FE090C8121F48150F48ED07C00078ED03802B2B7AAA37> -88 D E -%EndDVIPSBitmapFont -%DVIPSBitmapFont: Fc cmbx10 10.95 17 -/Fc 17 104 df46 D48 D<140F143F5C495A130F48B5 -FCB6FCA313F7EAFE071200B3B3A8007FB612F0A5243C78BB34>I<903803FF80013F13F8 -90B512FE00036E7E4881260FF80F7F261FC0037F4848C67F486C6D7E6D6D7E487E6D6D7E -A26F1380A46C5A6C5A6C5A0007C7FCC8FC4B1300A25E153F5E4B5AA24B5A5E4A5B4A5B4A -48C7FC5D4A5AEC1FE04A5A4A5A9139FF000F80EB01FC495A4948EB1F00495AEB1F8049C7 -FC017E5C5B48B7FC485D5A5A5A5A5AB7FC5EA4293C7BBB34>I<903801FFE0010F13FE01 -3F6D7E90B612E04801817F3A03FC007FF8D807F06D7E82D80FFC131F6D80121F7FA56C5A -5E6C48133FD801F05CC8FC4B5A5E4B5A4A5B020F5B902607FFFEC7FC15F815FEEDFFC0D9 -000113F06E6C7E6F7E6F7E6F7E1780A26F13C0A217E0EA0FC0487E487E487E487EA317C0 -A25D491580127F49491300D83FC0495A6C6C495A3A0FFE01FFF86CB65A6C5DC61580013F -49C7FC010313E02B3D7CBB34>II<00071538D80FE0EB01F801FE133F90B6FC5E5E5E5E93C7FC5D15F85D15C04AC8 -FC0180C9FCA9ECFFC0018713FC019F13FF90B67E020113E09039F8007FF0496D7E01C06D -7E5B6CC77FC8120F82A31780A21207EA1FC0487E487E12FF7FA21700A25B4B5A6C5A0180 -5C6CC7123F6D495AD81FE0495A260FFC075B6CB65A6C92C7FCC614FC013F13F0010790C8 -FC293D7BBB34>II<121F7F13 -F890B712F0A45A17E017C0178017005E5E5A007EC7EA01F84B5A007C4A5A4B5A4B5A93C7 -FC485C157E5DC7485A4A5AA24A5A140F5D141F143F5D147FA214FF92C8FC5BA25BA3495A -A3130FA5131FAA6D5A6D5A6D5A2C3F7ABD34>II<903801FF -E0010F13FC013F13FF90B612C04801E07F489038003FF048486D7E000F6E7E485A6F7E12 -3F48488081178012FFA217C0A517E0A4007F5CA4003F5C6C7E5D6C7E00075C3903FF80FB -6C13FF6C6C13F36D13C3010F018313C090380008031400A24B1380EA03F0487E486C1500 -487E4B5AA25E151F4B5A495C6C48EBFFE049485B2607FC0F5B6CB6C7FC6C14FC6C14F06D -13C0D90FFEC8FC2B3D7CBB34>I<90381FFF8090B512F0000314FC000F14FF261FF80713 -80263FC00113C0018014E0486C7E486C14F07FA56C5A4A13E0EA3FC0260F000313C0C714 -804A13004A5A4A5A15F04A5A4A5A5D92C7FC14FE5C13015CA25CAA90C9FCA8EB03F0497E -497E497E497EA66D5A6D5A6D5A6D5A24407ABF31>63 D<903807FFC0013F13F848B6FC48 -812607FE037F260FF8007F6DEB3FF0486C806F7EA36F7EA26C5A6C5AEA01E0C8FC153F91 -B5FC130F137F3901FFFE0F4813E0000F1380381FFE00485A5B485A12FF5BA4151F7F007F -143F6D90387BFF806C6C01FB13FE391FFF07F36CEBFFE100031480C6EC003FD91FF890C7 -FC2F2B7DA933>97 D<13FFB5FCA512077EAFEDFFE0020713FC021FEBFF80027F80DAFF81 -13F09139FC003FF802F06D7E4A6D7E4A13074A80701380A218C082A318E0AA18C0A25E18 -80A218005E6E5C6E495A6E495A02FCEB7FF0903AFCFF01FFE0496CB55AD9F01F91C7FCD9 -E00713FCC7000113C033407DBE3A>III<903A03FF8007F0013F9038F83FF8499038FCFFFC48B712FE -48018313F93A07FC007FC34848EB3FE1001FEDF1FC4990381FF0F81700003F81A7001F5D -A26D133F000F5D6C6C495A3A03FF83FF8091B5C7FC4814FC01BF5BD80F03138090CAFCA2 -487EA27F13F06CB6FC16F016FC6C15FF17806C16C06C16E01207001F16F0393FE0000348 -48EB003F49EC1FF800FF150F90C81207A56C6CEC0FF06D141F003F16E001F0147FD81FFC -903801FFC02707FF800F13006C90B55AC615F8013F14E0010101FCC7FC2F3D7DA834> -103 D E -%EndDVIPSBitmapFont -%DVIPSBitmapFont: Fd skak10 10.95 4 -/Fd 4 83 657 600 dfs[61 62 117 -198 91 66 D[<5DA4ED7FFC0301C9FCA6ED0FE0ED18304B7EED2008ED600CED4004A2D8 -03FCEE7F80260E0780913803C0E0261800E091380E0030480130021813184890271C600C -70130C00409027062008C0130400C00103D90980130648902601B01BC71202913800D016 -ED701C6F5AED18306C180600406E4814040060180C0020DA044014080030DA06C014186C -18300008DA02801420000C020315606C18C06CEF01806C6EC713006D5E00000107B5EAC0 -02D9C3FEC7EAFF86017FC8EA01FC0170ED001C014016040160160C012016084AB5FC9139 -7F0001FCD927C090380007C8013CC91278012016084AB5FC91393F0001F8D963E0903800 -0F8C015EC912F40170161C014016040160160C6D5E011C1670D907C0EC07C0D9007E02FC -C7FC0203B51280>63 66 118 202 91 75 D[<167C16C691267C0183137C02C6010113C6 -D90183EC0183020115011683ED00C6003E037C15F8006301830128903883018C26C180C6 -913900C603060080017C92387C0202022C016C136802240144134800C1F0030626630026 -9238C8018C003E012292388800F8000701230201EB01C00005012101C601081340018002 -82140300040280010313022606C0200202EB06C0D80240EF0480016001C00106130C0120 -9026418304130801300201141801100161010C131001180121010813300108172027030C -60319038180C6127010440139039900441000106D9120014C10102011A01B01381010301 -0AEBA005010102381401913AC00E6CE007903B00C785C743C6903C80DCFF01FE76032600 -9CF0C8EA1E72D9B780ED03DA01E0CA120E4917064917026D170601401704016090263FFF -F8130C903C301FE0000FF018D91BF0C8EA1FB0010ECA12E001065F01025F010390391FFF -F00190290103F0001F81C7FC023EC812F902E0150F91C91201A24983D90203B61280D907 -FEC8B47E49C9EA01E00108EE0020010C1760D90780ED03C0D900FFDA01FEC7FC0201B6C8 -FC>71 66 122 203 91 81 D[<3C1FF807FF80FFC02710080400EB8040A3D90FFC13FF90 -CAFCA5001FB812C00018CAFC6CEE03800007EE0600D801805DD800E01538013FB612E001 -10C81240B3A5011FB612C00130C812604981498148488148C97E000682000FB812800008 -CAFCA6B912F80080CA1208A5B912F8>53 61 113 197 91 I E -%EndDVIPSBitmapFont -%DVIPSBitmapFont: Fe skak20 20 13 -/Fe 13 115 df48 D[<4F7EA8061FB512F8A29526000180CCFCADF1 -0FF0F13FFCF1781EF1E0074E486C7E4E486C7E96C7FC4E8006061460A2060E1470060C14 -30A2902601FFC0973803FF80010F01FC083F13F090263F007F9738FE00FC01F8D907C0DE -03E0131FD801E0D901F0DE0F80EB0780D80380D9007C063EC7EA01C048C8001F06F8EC00 -E0000EDB0780DC01E0157048922601E00E912670078015380018922600F006DA600FC912 -180038043C043C161C0030041E4C160C0070DC0707DAE0E0160E0060DC0383DAC1C01606 -DD01C3ECC38000E0DC00E302C7CA1207489427738001CE170306395C061D14B895390FC0 -03F006061460953907E007E006035C6C05014A17070060DEF00F1806060091CBFC0070DE -700E180E0030DE781E180C0038DE381C181C00182018001CDE181818386CDE1C38187000 -06DE0C301860000720E06C6CDD0E70EF01C06C6CF603800000DE066018006DDD07E05F01 -701E0E6D66011871481718011C1E386D6601061E6001071EE06D6C70484C5A0101666E03 -1FB500F815036D6C027FB700FE4AC7FC026090261FFFF0C7260FFFF8130691277003FFE0 -C93907FFC00E9126307FF8CB381FFE0CDA3FFFCDEAFFFCDA1FE0F207F8021ECF1278020C -1C30A7060FB512F0020E020FB700F014700206902603FFF8C7261FFFC01360DC3FF8C9EA -1FFCDB03FECBEA7FC0DB3FE0F007FCDA07FECDEA7FE003E01A0792CFFC02061C600607B5 -12E00507B712E0DDFFFCC7EA3FFFDC0FFCC9EA3FF0020ED9FF80DC01FF137091260C07F8 -CB381FE030DB3F80F001FCDA0DFCCDEA3FB0DA0FE0F207F092CFFC020C1C30020E1C7002 -061C6002071CE06E6C505ADA01E0F20780DA00F8081FC8FC033E1A7CDB0FC0F003F0DB03 -FCF03FC09226007FF0DC0FFEC9FC932607FFF091380FFFE0DC001FB700F8CAFCDD001F02 -F8CBFC>128 132 109 277 166 75 D[<00C001300106496C0130010C496C0160010C13 -030270010E01030270011C010302E0011C1307C7484949C748494948484849130E494849 -010E494849010E494849131C494849494948494949C748133849C748494948484849010E -49481370010E494849010E49484949494813E0494948494949C748499039070001C04949 -48484849010E494849010EEB038049010E4948494949484949EB0700494949C748494948 -484849130E484849010E494849010E4948495B484849494948494949C7485B48C7484949 -48484849010E49485B000E494849010E4948494949485B484948494949C748494948485A -484948484849010E494849010E495A48010E494849494948494949C7FC484949C7484949 -48484849130E4849010E494849010E494849491307C748494948494949C74849130E4A49 -4948484849010E494849131C494849010E4948494949484913384948494949C748494948 -484813704948484849010E494849010E494813E0010E49484949D9FF8049499039070001 -C04949C748D938079026E001C049010EEB038049010E49489029701F81F803804949EB07 -00494949489028E03C003C07C74849130E49499028070001C070D90E0E4948495B484849 -010E4948486D484948495B4848494990260701C0D903B8494848485B4848484849010E49 -D901F0010E49485B000E494849D91C034B494948485A4849C748013890C84849010E495A -48010E494849486F494949C7FC48494948D9E00603604949130E48499027070001C04D48 -494913034849010ED903804D4849491307C74849D907004D48484849130E494849010E06 -0E494849131C494849494E49484848133849C748490107DBE038010E49481370010E4948 -49494B484949C712E049494849496C01014949010EEB01C049494848480139DB81C04949 -EB038049010E4948D971C090260383804949EB0700494949C7D8E0E0494848484849130E -484849010E902601C070D90E0E4948495B48484949902603803CD93C1C494848485B48C7 -484990260700FED97F38010E49485B000E494849D90E0303F04949C75A4849484990261C -0F8001014A010E495A4849484848D9383EC8007C4949495A48010E4948D97078031E4949 -49C7FC484949C7D8E0E092260701C049130E4849010E902601C1C0922603838049491307 -C74849494848922801C70001C049130E4A494948CA00EE494849131C494849D90E06057C -49C7481338494849D91C0E0578010E49481370494848484948053849494813E0010E4948 -D970180518499039070001C04949C7D8E038051C49010EEB038049010E902601C030050C -4949EB07004949D903804F4849130E4949902607007094260E0380495B484849010E0160 -DD0607C7485B48484949080E49485B48484848495049485B000E494849504948485A4849 -C74850010E495A48010E4948504949C7FC4849494801E0DD07C049130E48499026070001 -4F494913034849010E496C4DC748491307C74849D90730050E494849130E494849010E06 -0C494849131C494849D91C38051C49484848133849C748D938180518010E49481370010E -4948D9701C05384949C712E0494948496C4D49010EEB01C0499028070001C00605604949 -EB038049010E902603800705E04949EB0700494949486C6C4B48484849130E484849010E -6D6C4B484848495B48484949496C4B48484848485B48C74849D90778031E010E49485B00 -0E494849D90E3E037C4949C75A48494849D91C0F03F049010E495A4849484848D9383F03 -FC4949495A48010E4948D970F8031F494949C7FC484949C7D8E3E0922607C1C049010E13 -034849010E902601CF80922601F38049491307C74849D9039ECA277F0001C049130E4A49 -D90738051E494849131C494849D90EF07149C7481338494849D91DE0942607800E494813 -7049484848D93B80942601C01C494813E0010E494849CC6C489039070001C04949C700EE -DF7070010EEB038049010E4948734849EB070049494948DF1DC049130E49494948DF0F80 -495B484849D90E6073C7485B484849D91CE051485B48484848D939C0736C48485B000E49 -484948736C4848485A4849C700E3CE010E495A48010E4948754849C7FC4849D90386E160 -38130E4849D9070EE17070491303C748D90E0CE130E04913074AD91C1CE139C049130E49 -48D93818E11B8049131C4948D9703898271F0001C0133849C7D8E030090E49481370010E -D901C00A0C49C712E0499026038070090E010EEB01C0499026070060090649EB03804901 -0E55EB0700494901E0090749130E4848494975495B48484954485B48C74854485B000E90 -2601C0010B87C75A48D9038049E1018E495A48D907000C9C495A48010E01030BB849C7FC -484901070BF0010E13034849010F53491307C748011D5349130E4A01395349131C494801 -71551338494801E1544813709027070001C1544813E0010ED903819B39070001C049D907 -010C0EEB038049010E55EB070049011C6D090349130E49D9380053485B48484990BE495B -48484954485B48484848903070000E0003800070001C0003805B000E4948494949C74849 -4948485A484948484849010E494849010E495A48010E494849494948494949C7FC484949 -C748494948484849130E4849010E494849010E494849491303C748494948494949C74849 -13074A494948484849010E494849130E494849010E49484949494849131C4948494949C7 -48494948484813384948484849010E494849010E49481370010E494849494948494949C7 -12E04949C748494948484849010EEB01C049010E494849010E49484949EB038049494948 -494949C74849EB070049494948484849010E494849130E484849010E494849494948495B -4848494949C74849494848485B4848484849010E494849010E49485B000E494849494948 -494949C75A4849C748494948484849010E495A48010E494849010E49484949495A484949 -48494949C7484949C7FC48494948484849010E494849010E130348013001064A0130010C -4A0160130C>168 168 129 294 166 79 D[90 118 90 269 166 I[142 133 116 280 166 I[<00C001300106496C0130010C496C0160010C -13030270010E01030270011C010302E0011C1307C7484949C748494948484849130E4948 -49010E494849010E494849131C494849494948494949C748133849C74849494848484901 -0E49481370010E494849010E49484949494813E0494948494949C748499039070001C049 -4948484849010E494849010EEB038049010E4948494949484949EB0700494949C7484949 -48484849130E484849010E494849010E4948495B484849494948494949C7485B48C74849 -4948484849010E49485B000E494849010E4948494949485B484948494949C74849494848 -5A484948484849010E494849010E495A48010E494849494948494949C7FC484949C74849 -4948484849130E4849010E494849010E494849491307C748494948494949C74849130E4A -494948484849010E494849131C494849010E4948494949484913384948494949C7484949 -48484813704948484849010E494849010E494813E0010E49484949494849499039070001 -C049D90707B56C48B6D801C1B5D8E00EEB038049010E4CDB03814BEB07004990271C0600 -01902DE0C00003070180006038130E490138DB81C0030E4C5B48480170DB8380031C4C5B -484801E0DB87000338DB61C05B27070001C0038E0470DB63805B000ED90380039C04E092 -39670001C048D9070003B804C0036E495A48010E04F00480037C49C7FC484993B592B502 -78130E48490D704913034849010E90CF0060491307C748011E55130E4948013E55131C49 -4801765448133849C700E654481370010ED901C654C712E049D903860C0EEB01C049D907 -0654EB038049010E55EB070049011C55130E4848D93807BED8E0E05B48480170E4E1C05B -48C726E001E0CE260783805B000E49486C6C5148C75A48494801FCE13C0E495A48902707 -0001DE5148495A48010ED90387E1E03849C7FC484990260703C0962603C070130E484990 -260E01E04F4848491307C74890261C007096260E01C049130E4A49013C96263C03804913 -1C494849011FBAD8F807C7481338494849E1E00E4948137049484848013ECCD8601C4948 -13E0010E49480176509039070001C04949C700E650010EEB038049010ED901C65049EB07 -004949D90386DF61C049130E4949D90706DF6380495B484849010E0867C7485B48484901 -1C086E49485B484848480138087C49485B000E4948017008784948485A4849C700E00870 -010E495A48010ED901C008604949C7FC4849D9038052130E4849D9070052491303484901 -0E53491307C74849524849130E494849010E504849131C494849011E50484848133849C7 -48013E080E49481370010E494801765049C712E049494801E650010EEB01C04990270700 -01C65049EB038049010ED903865049EB07004949D90706DF61C049130E484849010EE063 -80495B484849011C9727670001C05B48C7480138086E49485B000E49480170087C49C75A -48494801E00878010E495A489027070001C0087049495A48010ED9038008604949C7FC48 -49D9070052010E13034849010E53491307C74849524849130E4A49524849131C49484901 -0E50C7481338494849011E080E4948137049484848013E50494813E0010E494801765090 -39070001C04949C700E650010EEB038049010ED901C65049EB07004949D90386DF61C049 -130E4949D90706DF6380495B484849010E0867C7485B484849011C086E49485B48484848 -0138087C49485B000E4948D97007BA484948485A4849C748484F010E495A48010E902601 -C01CCC00384949C7FC48494948487349130E48494948487349491303C748010E49734949 -13074A49484896260381C049130E4948494848962601C38049131C49484948CE27E70001 -C0133849C7D8E00E097E49481370010E494848093C49C712E049494848091C010EEB01C0 -494948487549EB038049010E49090649EB0700494990BE49130E484849555B48484901C0 -CE260301C05B48C74854485B000E494854C75A4849480C0E495A48902607000153495A48 -010E01035349C7FC4849010753010E13034849010E53491307C748011C5349130E4A0138 -5349131C494801709AC7481338494890C048481370494848554813E0010ED903C0D03A03 -070001C04901070D0EEB038049010E55EB070049011C55130E490138555B48480170555B -484801E0555B27070001C0555B000ED9038055485A48D90700565A48010E90C049C7FC48 -49210E484990300E0001C00070000E0003800070491303C748494948494949C748491307 -4A494948484849010E494849130E494849010E49484949494849131C4948494949C74849 -4948484813384948484849010E494849010E49481370010E494849494948494949C712E0 -4949C748494948484849010EEB01C049010E494849010E49484949EB0380494949484949 -49C74849EB070049494948484849010E494849130E484849010E494849494948495B4848 -494949C74849494848485B4848484849010E494849010E49485B000E4948494949484949 -49C75A4849C748494948484849010E495A48010E494849010E49484949495A4849494849 -4949C7484949C7FC48494948484849010E494849010E130348013001064A0130010C4A01 -60130C>168 168 129 294 166 83 D[<00C001300106496C0130010C496C0160010C13 -030270010E01030270011C010302E0011C1307C7484949C748494948484849130E494849 -010E494849010E494849131C494849494948494949C748133849C748494948484849010E -49481370010E494849010E49484949494813E0494948494949C748499039070001C04949 -48484849010E494849010EEB038049010E4948494949484949EB0700494949C748494948 -484849130E484849010E494849010E4948495B484849494948494949C7485B48C7484949 -48484849010E49485B000E494849010E4948494949485B484948494949C748494948485A -484948484849010E494849010E495A48010E494849494948494949C7FC484949C7484949 -48484849130E4849010E494849010E494849491307C748494948494949C74849130E4A49 -4948484849010E494849131C494849010E4948494949484913384948494949C748494948 -484813704948484849010E494849010E494813E0010E49484949494849499039070001C0 -4949C748494948484849010EEB038049010E494849010E49484949EB0700494949484949 -49C74849130E49494948484849010E4948495B484849010E494849494948495B48484949 -49C74849494848485B4848484849010E494849010E49485B000E49484949494849494948 -485A4849C748494948484849010E495A48010E494849010E4948494949C7FC4849494849 -4949C74849130E48494948484849010E4948494913034849010E49484949494849491307 -C7484949C748494948484849130E494849010E494849010E494849131C49484949494849 -4949484848133849C748494948484849010E49481370010E494849010E4948494949C712 -E0494948494949C74849010EEB01C0494948484849010E49484949EB038049010E494849 -4949484949EB0700494949C748494948484849130E484849010E494849010E4948495B48 -48494949484949494848485B48C748494948484849010E49485B000E494849010E494849 -4949C75A484948494949C74849010E495A484948484849010E49484949495A48010E4948 -49494948494949C7FC484949C748494948484849130E4849010E494849010E4948494913 -07C74849494849494948484849130E4A494948484849010E494849131C494849010E4948 -494949C74813384948494949C74849010E494813704948484849010E49484949494813E0 -010E49484949494849499039070001C04949C748494948484849010EEB038049010E4948 -49010E49484949EB07004949494849494948484849130E49494948484849010E4948495B -484849010E4948494949C7485B4848494949C74849010E49485B4848484849010E494849 -4949485B000E49484949494849494948485A4849C748494948484849010E495A48010E49 -4849010E4948494949C7FC4849494849494948484849130E48494948484849010E494849 -4913034849010E4948494949C748491307C7484949C74849010E494849130E494849010E -49484949494849131C494849494948494949484848133849C748494948484849010E4948 -1370010E494849010E4948494949C712E049494849494948484849010EEB01C049494848 -4849010E49484949EB038049010E4948494949C74849EB0700494949C74849010E494849 -130E484849010E494849494948495B4848494949484949494848485B48C7484949484848 -49010E49485B000E494849010E4948494949C75A48494849494948484849010E495A4849 -48484849010E49484949495A48010E4948494949C7484949C7FC484949C74849010E4948 -49010E13034849010E49484949494849491307C74849494849494948484849130E4A4949 -48484849010E494849131C494849010E4948494949C7481338494849494948484849010E -494813704948484849010E49484949494813E0010E4948494949C748499039070001C049 -49C74849010E494849010EEB038049010E4948494949484949EB07004949494849494948 -484849130E49494948484849010E4948495B484849010E4948494949C7485B4848494949 -48484849010E49485B4848484849010E4948494949485B000E4948494949C74849494848 -5A4849C74849010E494849010E495A48010E494849494948494949C7FC48494948494949 -48484849130E48494948484849010E494849491303C748010E4948494949C7484913074A -494948484849010E494849130E494849010E49484949494849131C4948494949C7484949 -484848133849C74849010E494849010E49481370010E494849494948494949C712E04949 -4849494948484849010EEB01C0494948484849010E49484949EB038049010E4948494949 -C74849EB070049494948484849010E494849130E484849010E494849494948495B484849 -4949C74849494848485B48C74849010E494849010E49485B000E494849494948494949C7 -5A48494849494948484849010E495A484948484849010E49484949495A48010E49484949 -49C7484949C7FC48494948484849010E494849010E13034849010E494849494948494913 -07C7484949C748494948484849130E4A49010E494849010E494849131C49484949494849 -4949C7481338494849494948484849010E494813704948484849010E49484949494813E0 -010E4948494949C748499039070001C0494948484849010E494849010EEB038049010E49 -48494949484949EB0700494949C748494948484849130E4949010E494849010E4948495B -484849494948494949C7485B484849494948484849010E49485B4848484849010E494849 -4949485B000E4948494949C748494948485A484948484849010E494849010E495A48010E -494849494948494949C7FC484949C748494948484849130E4849010E494849010E494849 -491303C748494948494949C7484913074A494948484849010E494849130E494849010E49 -484949494849131C4948494949C748494948484813384948484849010E494849010E4948 -1370010E494849494948494949C712E04949C748494948484849010EEB01C049010E4948 -49010E49484949EB038049494948494949C74849EB070049494948484849010E49484913 -0E484849010E494849494948495B4848494949C74849494848485B4848484849010E4948 -49010E49485B000E494849494948494949C75A4849C748494948484849010E495A48010E -494849010E49484949495A48494948494949C7484949C7FC48494948484849010E494849 -010E130348013001064A0130010C4A0160130C>168 168 129 294 -166 90 D[<00C001300106496C0130010C496C0160010C13030270010E01030270011C01 -0302E0011C1307C7484949C748494948484849130E494849010E494849010E494849131C -494849494948494949C748133849C748494948484849010E49481370010E494849010E49 -484949494813E0494948494949C748499039070001C0494948484849010E494849010EEB -038049010E4948494949484949EB0700494949C748494948484849130E484849010E4948 -49010E4948495B484849494948494949C7485B48C748494948484849010E49485B000E49 -4849010E4948494949485B484948494949C748494948485A484948484849010E49484901 -0E495A48010E494849494948494949C7FC484949C748494948484849130E4849010E4948 -49010E494849491307C748494948494949C74849130E4A494948484849010E494849131C -494849010E4948494949484913384948494949C748494948484813704948484849010E49 -4849010E494813E0010E49484949D97F8049499039070001C04949C74890263801FF4948 -49010EEB038049010E494849486D48484949EB07004949494849486D48C74849130E4949 -9027070001C0030E4948495B484849010E4948486D484948495B48484949D907004B4948 -48485B4848484849010E4C010E49485B000E494849494C494948485A4849C74849DBF1C0 -49010E495A48010E494849DBF380494949C7FC48494948494901F7C74849130E48494948 -48484901EE4948494913034849010E4948017701FC494849491307C7484949C700E34949 -48484849130E494849010ED901C149010E494849131C49484949902703807EE049494848 -48133849C74849902707003DC049010E49481370010E494849010ED97F80494949C712E0 -494948494949C74849010EEB01C04949484848D938039026C001C04949EB038049010E49 -4849486D48484949EB0700494949C748486D4848484849130E484849010E902601C03FD9 -FC0E4948495B484849494948486D48494848485B48C74849D90701B600B8010E49485B00 -0E494849D90E0303F04949C75A48494849D91C0F4D010E495A484948484849486F494949 -5A48010E4948D9707F01FD01FE494949C7FC484949C748B500C16D484849130E4849010E -D901C1DD838049491307C74849D903879427E70001C049130E4A49494805FE494849131C -494849D90E1F4D49C74813384948494948070E494813704948484849487149494813E001 -0E494849B66F499039070001C04949C700E17348010EEB038049010ED901C15049EB0700 -49494948DFC1C049130E49494948DFE380495B484849010E08E7C7485B484849494807FE -49485B4848484801385049485B000E494849480180C80001494948485A4849C700E06E4B -030E495A48010ED901C05249C7FC4849D9038052130E484949484873494913034849010E -92B500C1B64A491307C74849524849130E494849524849131C49484952484848133849C7 -480A0E49481370010E4948495049C712E049494890B74D010EEB01C0494948485149EB03 -8049010ED9039F4F4849EB07004949D9071FDFF9C049130E484849010EE0FB80495B4848 -49496C4F4848485B48C748013808FE49485B000E4948496C4F49C75A48494801E050010E -495A48494848486C03FD4B49495A48010ED90380504949C7FC484949486C9126FE107F4A -49010E13034849010E9326E000074A49491307C748494991C84A484849130E4A49902607 -3FF8DB1FFE494849131C49484990260E1FF06F4849C7481338494849902B1C07F801FF80 -1FF8010E4948137049484848D93803011F01F84949494813E0010E494801706DB6484849 -9039070001C04949C700E090B84849010EEB038049010ED901C05049EB07004949494848 -71484849130E4949D907004F48495B484849010E50C7485B48484949080E49485B484848 -48494949C66C6D4849485B000E4948494901E001074A4948485A4849C7484990C84A010E -495A48010E4948D97FFC033F494949C7FC48494948D9FFF092260FF9C049130E4849902E -070001DFE001FF8007FB8049491303C748010E9027039F801F9026F801FFC7484913074A -499027071F007F9026FE00FE494849130E49484990260E3F01B66C48494849131C494849 -011C018303C14A484848133849C7489026381FCFDBF3F8010E49481370010E4948D97007 -B800E04949C712E0494948D9E0014D49010EEB01C049494848486C6C4C4949EB03804901 -0E494801EF03F7C74849EB070049499027070001C0030E494849130E484849010E902603 -8007D9E01C4948495B4848494949C7D90038494848485B48C74849010E496D48010E4948 -5B000E49484949496D484949C75A484948494949D9E1C049010E495A484948484849011F -D9FB804949495A48010E49484990B6C7484949C7FC48499028070001C0079226E001C049 -010E13034849D90E07BCD8E0E0491307C74849BE4849130E4A013F7749131C4948490BF8 -491338494890BF26FE01C0137049484806E79426FF838013E0010E4906879539C70001C0 -49010F9426FE0E7F05FEEB038049499426F81C1F4DEB070049499426803801190E494993 -28C00070000E705B484893268003804990261C00074A5B484890B529F800070001C049D9 -0E1F495B27070001CF49010E494849D91C03495B000ED90387494949C74849C649485A48 -90270703FDC049010E49484990393FC003804890270E01FB8049494948496D4848C7FC48 -90261C00E7C748494948484890383F000E4849014E494849010E49480172491303C74801 -1C4948494949C700E04913074A494948484849010E494849130E494849010E4948494949 -4849131C4948494949C748494948484813384948484849010E494849010E49481370010E -494849494948494949C712E04949C748494948484849010EEB01C049010E494849010E49 -484949EB038049494948494949C74849EB070049494948484849010E494849130E484849 -010E494849494948495B4848494949C74849494848485B4848484849010E494849010E49 -485B000E494849494948494949C75A4849C748494948484849010E495A48010E49484901 -0E49484949495A48494948494949C7484949C7FC48494948484849010E494849010E1303 -48013001064A0130010C4A0160130C>168 168 129 294 166 97 -D[<00C001300106496C0130010C496C0160010C13030270010E01030270011C010302E0 -011C1307C7484949C748494948484849130E494849010E494849010E494849131C494849 -494948494949C748133849C748494948484849010E49481370010E494849010E49484949 -494813E0494948494949C748499039070001C0494948484849010E494849010EEB038049 -010E4948494949484949EB0700494949C748494948484849130E484849010E494849010E -4948495B484849494948494949C7485B48C748494948484849010E49485B000E49484901 -0E4948494949485B484948494949C748494948485A484948484849010E494849010E495A -48010E49484990271C180380494949C7FC484949C74801384948484849130E4849010E49 -480170010E494849491307C74849494801E04949C74849130E4A499027070001C049010E -494849131C494849010ED903804949494849133849484949D90700494949484848137049 -48484849010ED919C049010E494813E0010E494849011DB66C48499039070001C04949C7 -480139DB81C049010EEB038049010E4948902970001E0003804949EB0700494949484901 -1C49C74849130E49494948484849010E4948495B484849010E49480178494948495B4848 -494949C700F849494848485B4848484849010ED901D849010E49485B000E49484949D903 -9849494948485A4849C748499027071801C049010E495A48010E494849010E4948494949 -C7FC4849494849011C49C74849130E4849494848480138010E4948494913034849010E49 -48017049494849491307C7484949C700E0494948484849130E494849010E4948B448010E -494849131C49484949D90383494949484848133849C7484990260707814A010E49481370 -010E49484990270E0E0070494949C712E04949484949486D4949010EEB01C04949484848 -902938387E1C01C04949EB038049010E494890297030FF0C03804949EB0700494949C7D8 -E07190288E070001C049130E484849010E902601C061D9860E4948495B48484949902603 -8063D9C61C494848485B48C7484990260700E3D9C738010E49485B000E494849010E496D -484949C75A48494849494C49010E495A48902707001FFC494C9026703FFC495A48010E90 -B5D8C0704C01E3B549C7FC4890291C03F007F0E0933C0001CFE00FC00E489029380F8000 -7DC0942903BE0001F01C1307C729701E07F81F80942907F81FE07838130E912AE0383FFF -07C00193290FE0FFFC1C70131C494848B526E1F003DC1F879026FF0EE0133890260380E1 -9126F87807DC3E1FDA87C0137090260701C39127FE1E0EE349D9787F6E4813E0010E4991 -27FF8F1C6301C601F1B600E1EB01C090261C038FDBC3F8DB03C39239F1C003800138010F -DBF1F0DB078F03F0EB07004948489226F870739026CE0E1F9238F8E00ED9E0069326FC38 -3190268C1C3FEE601CD801C0DDFF1C4BB75C2703800E3F048E03719338FC70702607000C -DDC739D99CE3EF30E0000EDFE398D919C7EF31C048DFF1D8D91B8FEF338048DFF8FCD93F -1F0537C7FC48011CDDFC7CD9363F173E48013C9428FE7E7E7E7F053C130348017CDDFF3E -017CB801381307C7D8EE1F051E01784D48130ED901C695269F3CF90660131CD9038606CF -491A38902607070F05C701E3DDF0E01370D90E039526E799E74E13E0011C018705F34905 -E1EB01C0D938019E3880038001706D9426F9819F05C3EB07009026E000E306C39538C700 -0E4848016105FC4905865B484801700D0E5B48C700F806E74E5B000E902601DC7F04FE49 -4C485B489026038C3F05669439FC3001C0489026070E1F057E9439F870038048D90E0755 -48C7FC4890261C038F04FF90B826F1C00E1303489026380187053C9426E1801C1307C700 -706D0BC349130E9126E000E39A26C70070131C494801610B86491338494801F09A260E01 -C013704948486C9326E018074C484813E0010E902603987F91CA913BFE18070001C04990 -26071C3F01C005039026FC380EEB038049D90E0E01FCCC003F4948EB07004990281C061F -C18094280183F86038130E49902738071C3CCC273C38E0705B48489027700303E091263F -FFFC912707C0C0E05B484801E001BFC7003FB600FC902700FDC1C05B484848486CB40107 -B800E09026FF83805B000ED90380037F05FE9139870001C04849C70103BA26C0FE0E495A -48010E4901DF07FB4949C7FC48494990BC49130E4849496C52491303C748010E53491307 -4A011C9326E000076F4849130E4948013803F8C8001F4B49131C49480170038003014B48 -48133849C7486C01FCCA003F4949481370010ED901C002E005074949C712E049D9038091 -C7261FFFF80100030EEB01C049D9070001F80107B600E0011F4AEB038049010E02E0017F -03FE01074AEB07004949DAC003B8D8C0034A130E484849DA801FDDF8014A5B48484992B5 -26F0000F01FF4A485B48C74802C301FCC8003F01C349485B000E494849B500C0030301FF -49C75A48494890B548CA6C020E495A4849484802F0050F4A495A48010ED903BF01809026 -0FFFF001014A49C7FC48499028077FFE0003B628C0007FFE70010E13034849010E01F801 -3F03FC011F49491307C748011CD9E001B8278007FFC049130E4A0138D9800FDDF0014949 -131C49480170D9003FDDFC0090C7481338494801E091BA49494813709027070001C00103 -07C04A4813E0010ED90380018F07F19139070001C04949486CBC48010EEB038049010E55 -EB070049496D5149130E49496D51495B4848494909C0495B484849013898260001C05B48 -484848D9703F07FC49485B000E4948D9E0074F4948485A4849484848C66CDDFE70010E49 -5A48010E49480171DD80E04949C7FC484949C7D8E00192268001C049130E4849010E902C -01C00070000E00038049491303C748494948494949C7484913074A494948484849010E49 -4849130E494849010E49484949494849131C4948494949C7484949484848133849484848 -49010E494849010E49481370010E494849494948494949C712E04949C748494948484849 -010EEB01C049010E494849010E49484949EB038049494948494949C74849EB0700494949 -48484849010E494849130E484849010E494849494948495B4848494949C7484949484848 -5B4848484849010E494849010E49485B000E494849494948494949C75A4849C748494948 -484849010E495A48010E494849010E49484949495A48494948494949C7484949C7FC4849 -4948484849010E494849010E130348013001064A0130010C4A0160130C>168 -168 129 294 166 106 D[<00C001300106496C0130010C496C0160010C13030270010E -01030270011C010302E0011C1307C7484949C748494948484849130E494849010E494849 -010E494849131C494849494948494949C748133849C748494948484849010E4948137001 -0E494849010E49484949494813E0494948494949C748499039070001C049494848484901 -0E494849010EEB038049010E4948494949484949EB0700494949C748494948484849130E -484849010E494849010E4948495B484849494948494949C7485B48C74849494848484901 -0E49485B000E494849010E4948494949485B4849484949D9077E49494948485A48494848 -484990270FFF81C049010E495A48010E49484949D9C380494949C7FC484949C748499027 -E70001C049130E4849010E4948017701EE494849491307C7484949484901FC49C7484913 -0E4A499027FF0001CF4990270E7F01C049131C4948D97003902680038F4990271DFFC380 -491338494849489026C0070F4B9027E70001C013704948484848D9E00E4C01FE494813E0 -010ED90380031C04E7499039070001C049494848D9F0384B4849010EEB038049010E4C6C -9026E0038F4BEB0700494904E0DB070F4B130E49499226F1C003D9C00E4C5B4848499226 -F38001D9801C4C5B48484903F7C726FE00384B485B2707001FC04901EE4948496C903AF0 -0383F8E0000ED97FF04901FCD903BC01E09239070FFFC048496C01E7499028073C01C003 -9026E00E1F5B48489026FC01C349010E49486C49485A007092270380FEE0011C49C7EB00 -3848489028FE07001DC00138010ED901F84948EBC00300C0030ED91F809026707E1C0103 -02E0150700004B91C700E0499027077801C0150E4C011ED901C049010ED90380151C4C01 -1FD903804990271CF807001538494A49902707007FC00138010E1670496D4849010E4948 -01704916E0011D4A496C4891C700E1496DEB81C0013991260001DF49DB01C149ED838001 -70499027039FC070DB038349ED0700496C48D9073F4992270703FDC090387FFE0E2701C0 -1FF8010ED9C1C0030ED9FF809038E3F81C4848C648011C9026E380016D4848494848C65A -48C7480138D9E700033849D903875B000E496C017001EE4902704949485B48010302E001 -FC49DAE00F020E495A48902707F801C04949D981C04B48485A48010ED9038049011DD983 -80033849C7FC4890271C7C07006D499026C7001F9138703E0E480138010E047301CE04E0 -491307C726707E1C04E301DC922701C07E38130E02E0499126FC01C301F8013FD9038049 -131C902701C07F70DB03834992270700FEE01338D9038049DB070349030E6D481370D907 -00499126FE0E07037F49484913E0010E4A017F011C04FF013891380001C0496D6C01FF01 -384B4A4848EB0380494BD9FF704BD9FEE049EB0700496E4802E04B9026FFC007140E494B -6C4948D9F00E02805D484890267FF00E0280031DDA000F5C484801FF011C0639495E4848 -48D9F8380671031F5C000ED903BF017002C04B4D5A489027071FFCE0DDF1C34B48485A48 -010ED9FDC04BD9FB834DC7FC48011CD9FF8002E0DAFF07037F130E48013802004B01FE4E -13034801707148494803FF491307C700E095B500F84B4A130ED901C00280DAF1DF4D4A13 -1CD90380DDFBBF6D484AD9F9C0133849486CDCFF3F4D49481370010E03C002FE4E01F7C7 -12E04993B500FC4B023B01FEEB01C04903E1744849EB03804903E309E749EB0700494901 -F76E486D484A49130E48484901FE098F5D48484949515D48C700E74902FF92B64A5B000E -D901C76D515D48D9038794B94B5A48D907076D514A5A48010E57C7FC48011C91BF010E13 -03480138571307C7486C5548130E02E057131CD901C0571338D90380E6C1C01370D90700 -E6C38013E0010E9E39C70001C049490DCEEB0380494955EB070049011D0DB8130E490139 -9426C0000305F05B4848017004E0C800074C5B48484903FCCA003F4B5B484848486C02C0 -05034B5B000E49486C01FCCC003F4A485A4849486C01E091263FFFFC020749495A48010E -6D90C7001FB600F801004949C7FC4849D903FE0103B800C06D48130E48490107023F05FC -0270491303C748010E0103BA00C0494913074A90261C7E1F07F84949130E4948496CBD48 -49131C49480170534848133849C7486C9226E000074B49481370010ED901C003F8C8001F -4A49C712E049D9038092CA4A010EEB01C049D9070002F8051F4BEB038049010E6D01C005 -034949EB070049494AC7261FFFF8D9007F4A130E48484902F00107B600E0010F4A5B4848 -49494890B8010749485B48C74890263FC007DDE00349485B000E494890267FE03FDDFC07 -49C75A484948D9EFE1BA0087010E495A489027070001CFBC49495A48010E49484AC86C6E -4849C7FC4849D9071F01FCCA003F4A010E13034849010E028005014A491307C74890261C -3FF8CC261FFDC049130E4A013801C0962603FF8049131C4948D9707EC748B66CD9007FC7 -4813384948D9E07C0103B800C0013E494813709028070001C0FC017F05FE013F494813E0 -010ED903810107BA00E0903A80070001C049D90703013F07FCD9C00EEB038049010E90BE -49EB070049496C5348130E49496C53485B484849011F09F8495B484849013B9826C001C0 -5B48484848D9703F9627FC0003805B000E494849C66CDDFE384948485A4849484848D938 -1F9226F80070010E495A48010E4948902970001C000380494949C7FC484949C748494948 -484849130E4849010E494849010E494849491303C748494948494949C7484913074A4949 -48484849010E494849130E494849010E49484949494849131C4948494949C74849494848 -4813384948484849010E494849010E49481370010E494849494948494949C712E04949C7 -48494948484849010EEB01C049010E494849010E49484949EB038049494948494949C748 -49EB070049494948484849010E494849130E484849010E494849494948495B4848494949 -C74849494848485B4848484849010E494849010E49485B000E494849494948494949C75A -4849C748494948484849010E495A48010E494849010E49484949495A48494948494949C7 -484949C7FC48494948484849010E494849010E130348013001064A0130010C4A0160130C ->168 168 129 294 166 108 D[<00C001300106496C0130010C496C0160010C13030270 -010E01030270011C010302E0011C1307C7484949C748494948484849130E494849010E49 -4849010E494849131C494849494948494949C748133849C748494948484849010E494813 -70010E494849010E49484949494813E0494948494949C748499039070001C04949484848 -49010E494849010EEB038049010E4948494949484949EB0700494949C748494948484849 -130E484849010E494849010E4948495B484849494948494949C7485B48C7484949484848 -49010E49485B000E494849010E4948494949485B484948494949C748494948485A484948 -484849010E494849010E495A48010E494849494948494949C7FC484949C7484949484848 -49130E4849010E494849010E494849491307C748494948494949C74849130E4A49494848 -4849010E494849131C494849010E4948494949484913384948494949C748494948484813 -704948484849010E494849010E494813E0010E49484949494849499039070001C04949C7 -48499027FF0001C049010EEB038049010E4948D970079026E003804949EB070049494948 -D9E01FD9F807C74849130E49494948484848D9FC0E4948495B484849010E4948486D4849 -48495B484849494948B648494848485B4848484849010E4C010E49485B000E4948494948 -4B494948485A4849C74801384C49010E495A48010E494849484D4949C7FC4849494801E0 -4E49130E48499027070001C04D48494913034849010ED903804D4849491307C74849D907 -004D48484849130E494849010E060E494849131C494849494E49484848133849C7484949 -4C010E49481370010E494849494B484949C712E049494849011D4C49010EEB01C0494948 -48480138DB01C04949EB038049010E4948494B484949EB0700494949C7486C4948484848 -49130E484849010E49486CD9FC0E4948495B48484949902603800FD9F01C494848485B48 -C748499026070003D9C038010E49485B000E494849010E90B6484949C75A48494849D91C -034B49010E495A4849484848D9380F6F4949495A48010E4948D9703F03FC494949C7FC48 -4949C748486F484849130E4849010E4948B8484849491307C74849D903819427870001C0 -49130E4A49494805CE494849131C494849010E06DC49C7481338494849494805F8010E49 -4813704948484849484D49494813E0010E49480170509039070001C04949C74848714901 -0EEB038049010ED901C05049EB07004949D903804F4849130E4949D907004F48495B4848 -49010E497148C7485B48484949080E49485B48484848495049485B000E49484950494848 -5A4849C74850010E495A48010E4948494E4949C7FC4849494890B9D8FDC049130E484949 -4848DEFF80494913034849010ED903BF95C748491307C74849D9071F4D494849130E4948 -49010E4E494849131C494849011C4E49484848133849C748496C4D010E49481370010E49 -4801705049C712E0494948496C4D49010EEB01C0499027070001C05049EB038049010E49 -486C4D4949EB0700494949486C4D484849130E484849010E4F4848495B48484949494C49 -4848485B48C74849D9073F4B010E49485B000E494849D90E0F03F04949C75A48494849D9 -1C0303C049010E495A484948484849486F4949495A48010E4948D9703F03FC494949C7FC -484949C748B8484849010E13034849010ED901C3DDC38049491307C7484949489427E700 -01C049130E4A49D9071F05FE494849131C494849D90E3F4D49C748133849484949BA010E -494813704948484801397348494813E0010E49484973489039070001C04949C748734801 -0EEB038049010E4948734849EB070049494948DFF9C049130E49494948DFFF80495B4848 -49D90E7F97C7485B484849011C5049485B4848484849BC49485B000E4948017175484848 -5A4849C700E10A0E495A48010E4948754849C7FC4849D9038352130E4849494875484913 -03C748010E534913074A4948E1F1C049130E49480138E2F38049131C494849489827FF00 -01C0133849C700E05249481370010E4948485149C712E049D903800C0EEB01C049D90700 -54EB038049010E55EB07004949497549130E484849555B48484954485B48C74854485B00 -0E494854C75A48494890BE000E495A4849484853495A48010E495349C7FC48494953010E -13034849010E53491307C748495349130E4A495349131C4948499AC74813384948495448 -137049484848544813E0010E49489B39070001C04949480C0EEB038049010E55EB070049 -496D5149130E4949555B484849555B48484990303800070001C00038000E0001C05B4848 -484849010E4948494949485B000E4948494949C748494948485A484948484849010E4948 -49010E495A48010E494849494948494949C7FC484949C748494948484849130E4849010E -494849010E494849491303C748494948494949C7484913074A494948484849010E494849 -130E494849010E49484949494849131C4948494949C74849494848481338494848484901 -0E494849010E49481370010E494849494948494949C712E04949C748494948484849010E -EB01C049010E494849010E49484949EB038049494948494949C74849EB07004949494848 -4849010E494849130E484849010E494849494948495B4848494949C74849494848485B48 -48484849010E494849010E49485B000E494849494948494949C75A4849C7484949484848 -49010E495A48010E494849010E49484949495A48494948494949C7484949C7FC48494948 -484849010E494849010E130348013001064A0130010C4A0160130C>168 -168 129 294 166 111 D[<17FF040713E0041F13F84C7F4C7F93B6FCA24B81A24B81A8 -6F5DA26F92C9FCA2705B705B040F13F0040313C093B6FC030315C0030F15F0033F15FC4B -8192B8FC4A834A83A24A834A83A24A83A44A83A96E5FA36E5FA26E5FA26E5F6E5F6E94C8 -FC6F5D6F5D030F15F0030315C04B81033F15FC92B8FC020317C04A83021F17F84A8391BA -FC4985498549854985498549854985A290BCFC481B80A2481BC0A2481BE0A2481BF0A248 -1BF8A2481BFCA4481BFEA5BEFCAD6C1BFEA3>88 116 89 268 166 -I[<2607FFFE91B500FC49B51280AA91BDFCA901FCCEFC491B7FA20001F47E006C6C6301 -7FBC5A011F1BE06D636D63010150C7FC6D626E61DA1FE0CAEA1FE0020F616E48715A6F17 -1FA292BAFCB3B3A603E0CA121FA24B170F4A6C4D7E021F854ABA7E4A8591BB7E4986A249 -8649874987498749CDEA03F0017E747E01FE87A26D1A0391BCFCA991CD1203491A0100FF -F4FFFCA26D6291BDFCA9>102 120 96 267 166 114 D E -%EndDVIPSBitmapFont -%DVIPSBitmapFont: Ff cmss10 10 16 -/Ff 16 105 df<14C013011307131F13FFB5FCA4131F1200B3B3A5007FB512F0A51C3879 -B72A>49 DIII<001FB512FEA601C0C8FCADEBC1FCEBCFFF01DF -13C090B57E819038FE07F89038F803FC496C7E496C7E5B497FC81380A2153F16C0A9ED7F -8012101238EDFF00007C5BB4495A6C6C485A393FF01FF86CB55A6C5C6C5C6C5CC649C7FC -EB1FF022387DB52A>IIII97 D<12FEB3A2EB01FCEB0FFF013F13C090B57EB67E9038F03FF8EBC00749 -6C7EEB0001486D7EA2157FA3ED3F80AAED7F00A35D5D14016C5CEB80039038C00FF89038 -F03FF090B55A485C6D5BD91FFEC7FC380007F8213B7AB92B>IIII<14FF010713C05B5B5BEB7F819038FE0040491300485AA212 -03ACB512FCA5D803F8C7FCB3AE1A3B7FBA19>I<903907E001F890383FFC1F90397FFE7F -FC90B6FC5A3A03F81FF8003907F00FE0EBE00748486C7EA248486C7EA86C6C485AA26C6C -485AEBF00F6C6C485A48B55A92C7FC485BEB3FFCEB07E090C9FCA37F7F6CB512C015FC15 -FF4815804815C03A3F80007FE048C7EA0FF0007E140700FEEC03F8481401A46C1403007E -15F0D87F80130F6C6CEB1FE03A1FFC01FFC06CB612806C1500000114FC6C6C13F0010790 -C7FC26387EA52A>I<12FEB3A2EB01FC90380FFF804913C0017F13E090B512F039FFF81F -F8EBE007EBC003018013FC14011300A35AB3A71E3A7AB92B>I E -%EndDVIPSBitmapFont -%DVIPSBitmapFont: Fg cmr10 10.95 53 -/Fg 53 124 df12 D<121EEA7F80EAFFC0A9EA7F80AC -EA3F00AC121EAB120CC7FCA8121EEA7F80A2EAFFC0A4EA7F80A2EA1E000A4179C019>33 -D<121EEA7F8012FF13C0A213E0A3127FEA1E601200A413E013C0A312011380120313005A -120E5A1218123812300B1C79BE19>39 D<1430147014E0EB01C0EB03801307EB0F00131E -133E133C5B13F85B12015B1203A2485AA2120F5BA2121F90C7FCA25AA3123E127EA6127C -12FCB2127C127EA6123E123FA37EA27F120FA27F1207A26C7EA212017F12007F13787F13 -3E131E7FEB07801303EB01C0EB00E014701430145A77C323>I<12C07E12707E7E121E7E -6C7E7F12036C7E7F12007F1378137CA27FA2133F7FA21480130FA214C0A3130714E0A613 -0314F0B214E01307A614C0130FA31480A2131F1400A25B133EA25BA2137813F85B12015B -485A12075B48C7FC121E121C5A5A5A5A145A7BC323>I<121EEA7F8012FF13C0A213E0A3 -127FEA1E601200A413E013C0A312011380120313005A120E5A1218123812300B1C798919 ->44 DI<121EEA7F80A2EAFFC0A4EA7F80A2EA1E000A0A798919> -I48 DIII<150E151E153EA2157EA215FE1401A21403EC077E140614 -0E141CA214381470A214E0EB01C0A2EB0380EB0700A2130E5BA25B5BA25B5B1201485A90 -C7FC5A120E120C121C5AA25A5AB8FCA3C8EAFE00AC4A7E49B6FCA3283E7EBD2D>I<0006 -1403D80780131F01F813FE90B5FC5D5D5D15C092C7FC14FCEB3FE090C9FCACEB01FE9038 -0FFF8090383E03E090387001F8496C7E49137E497F90C713800006141FC813C0A216E015 -0FA316F0A3120C127F7F12FFA416E090C7121F12FC007015C012780038EC3F80123C6CEC -7F00001F14FE6C6C485A6C6C485A3903F80FE0C6B55A013F90C7FCEB07F8243F7CBC2D> -II<1238123C123F90B612FCA316F8 -5A16F016E00078C712010070EC03C0ED078016005D48141E151C153C5DC8127015F04A5A -5D14034A5A92C7FC5C141EA25CA2147C147814F8A213015C1303A31307A3130F5CA2131F -A6133FAA6D5A0107C8FC26407BBD2D>III<121EEA7F80A2 -EAFFC0A4EA7F80A2EA1E00C7FCB3121EEA7F80A2EAFFC0A4EA7F80A2EA1E000A2779A619 ->I<007FB912E0BA12F0A26C18E0CDFCAE007FB912E0BA12F0A26C18E03C167BA147>61 -D66 D70 -D75 D78 DI -82 DI<003FB91280A3903AF0007FE0 -01018090393FC0003F48C7ED1FC0007E1707127C00781703A300701701A548EF00E0A5C8 -1600B3B14B7E4B7E0107B612FEA33B3D7DBC42>I87 D97 DI<49B4FC010F13E090383F00F8 -017C131E4848131F4848137F0007ECFF80485A5B121FA24848EB7F00151C007F91C7FCA2 -90C9FC5AAB6C7EA3003FEC01C07F001F140316806C6C13076C6C14000003140E6C6C131E -6C6C137890383F01F090380FFFC0D901FEC7FC222A7DA828>III -I<167C903903F801FF903A1FFF078F8090397E0FDE1F9038F803F83803F001A23B07E000 -FC0600000F6EC7FC49137E001F147FA8000F147E6D13FE00075C6C6C485AA23901F803E0 -3903FE0FC026071FFFC8FCEB03F80006CAFC120EA3120FA27F7F6CB512E015FE6C6E7E6C -15E06C810003813A0FC0001FFC48C7EA01FE003E140048157E825A82A46C5D007C153E00 -7E157E6C5D6C6C495A6C6C495AD803F0EB0FC0D800FE017FC7FC90383FFFFC010313C029 -3D7EA82D>III107 DI<2701F801FE14FF00FF902707FFC00313E0913B1E07E00F03F0913B78 -03F03C01F80007903BE001F87000FC2603F9C06D487F000101805C01FBD900FF147F91C7 -5B13FF4992C7FCA2495CB3A6486C496CECFF80B5D8F87FD9FC3F13FEA347287DA74C>I< -3901F801FE00FF903807FFC091381E07E091387803F000079038E001F82603F9C07F0001 -138001FB6D7E91C7FC13FF5BA25BB3A6486C497EB5D8F87F13FCA32E287DA733>I<14FF -010713E090381F81F890387E007E01F8131F4848EB0F804848EB07C04848EB03E0000F15 -F04848EB01F8A2003F15FCA248C812FEA44815FFA96C15FEA36C6CEB01FCA3001F15F86C -6CEB03F0A26C6CEB07E06C6CEB0FC06C6CEB1F80D8007EEB7E0090383F81FC90380FFFF0 -010090C7FC282A7EA82D>I<3901FC03FC00FF90381FFF8091387C0FE09039FDE003F03A -07FFC001FC6C496C7E6C90C7127F49EC3F805BEE1FC017E0A2EE0FF0A3EE07F8AAEE0FF0 -A4EE1FE0A2EE3FC06D1580EE7F007F6E13FE9138C001F89039FDE007F09039FC780FC0DA -3FFFC7FCEC07F891C9FCAD487EB512F8A32D3A7EA733>I<3901F807E000FFEB1FF8EC78 -7CECE1FE3807F9C100031381EA01FB1401EC00FC01FF1330491300A35BB3A5487EB512FE -A31F287EA724>114 D<90383FC0603901FFF8E03807C03F381F000F003E1307003C1303 -127C0078130112F81400A27E7E7E6D1300EA7FF8EBFFC06C13F86C13FE6C7F6C14800001 -14C0D8003F13E0010313F0EB001FEC0FF800E01303A214017E1400A27E15F07E14016C14 -E06CEB03C0903880078039F3E01F0038E0FFFC38C01FE01D2A7DA824>I<131CA6133CA4 -137CA213FCA2120112031207001FB512C0B6FCA2D801FCC7FCB3A215E0A912009038FE01 -C0A2EB7F03013F138090381F8700EB07FEEB01F81B397EB723>IIIIII123 D E -%EndDVIPSBitmapFont -%DVIPSBitmapFont: Fh cmtt10 10.95 64 -/Fh 64 127 df<121C127FEAFF80B3EA7F00B2123EC7FCA8121C127FA2EAFF80A3EA7F00 -A2121C09396DB830>33 D<1438147C14FCA4EB03FF011F13E090B512FC48800007804815 -80261FFEFD13C09039F0FC3FE0D83FC0131FD87F80EB0FF001001307007E15F800FE1403 -5A1507A36CEC03F0A2007F91C7FC138013C0EA3FF0EA1FFE13FF6C13FF6C14E0000114F8 -6C6C7F011F7F01037F0100148002FD13C09138FC7FE0151FED0FF015070018EC03F8127E -1501B4FCA35AA26CEC03F07E01801307ED0FE0D83FC0131F01F0EB7FC0D81FFEB512806C -B612006C5C6C5CC614F0013F13C0D907FEC7FCEB00FCA5147C143825477BBE30>36 -DI39 D<141E147F14FF5BEB03FEEB -07FCEB0FF0EB1FE0EB3FC0EB7F80EBFF00485A5B12035B485A120F5BA2485AA2123F5BA2 -127F90C7FCA412FEAD127FA47F123FA27F121FA26C7EA27F12076C7E7F12017F6C7EEB7F -80EB3FC0EB1FE0EB0FF0EB07FCEB03FEEB01FF7F147F141E184771BE30>I<127812FE7E -7F6C7E6C7EEA0FF06C7E6C7E6C7E6C7EEB7F80133F14C0131FEB0FE014F01307A2EB03F8 -A214FC1301A214FE1300A4147FAD14FEA4130114FCA2130314F8A2EB07F0A2130F14E0EB -1FC0133F1480137FEBFF00485A485A485A485AEA3FE0485A485A90C7FC5A1278184778BE -30>I<143EA2147FAF007FB7FCA2B81280A36C1600A2C76CC8FCAF143EA229297DAF30> -43 DI<007FB612F0A2B712 -F8A36C15F0A225077B9E30>I<120FEA3FC0EA7FE0A2EAFFF0A4EA7FE0A2EA3FC0EA0F00 -0C0C6E8B30>I<16F01501ED03F8A21507A2ED0FF0A2ED1FE0A2ED3FC0A2ED7F80A2EDFF -00A24A5AA25D1403A24A5AA24A5AA24A5AA24A5AA24A5AA24AC7FCA2495AA25C1303A249 -5AA2495AA2495AA2495AA2495AA249C8FCA2485AA25B1203A2485AA2485AA2485AA2485A -A2485AA248C9FCA25AA2127CA225477BBE30>I<14FE903807FFC0497F013F13F8497F90 -B57E48EB83FF4848C6138049137F4848EB3FC04848EB1FE049130F001F15F0491307A248 -48EB03F8A290C712014815FCA400FEEC00FEAD6C14016C15FCA36D1303003F15F8A26D13 -07001F15F0A26D130F6C6CEB1FE0A26C6CEB3FC06C6CEB7F806D13FF2601FF8313006CEB -FFFE6D5B6D5B010F13E06D5BD900FEC7FC273A7CB830>IIIII<000FB612804815C05AA316800180C8FCAEEB83FF019F13C090B512 -F015FC8181D9FE0313809039F0007FC049133F0180EB1FE06CC7120F000E15F0C81207A2 -16F81503A31218127EA2B4FC150716F048140F6C15E06C141F6DEB3FC06D137F3A3FE001 -FF80261FFC0F13006CB55A6C5C6C5C6C14E06C6C1380D90FFCC7FC25397BB730>II<127CB712FC16FEA416FC48C7EA0FF816F0ED1FE0007CEC3FC0C8EA7F80EDFF00A24A -5A4A5A5D14075D140F5D4A5AA24A5AA24AC7FCA25C5C13015CA213035CA213075CA4495A -A6131F5CA96D5A6DC8FC273A7CB830>I<49B4FC011F13F0017F13FC90B57E0003ECFF80 -4815C048010113E03A1FF8003FF049131FD83FC0EB07F8A24848EB03FC90C71201A56D13 -03003F15F86D13076C6CEB0FF06C6CEB1FE0D807FCEB7FC03A03FF83FF806C90B512006C -6C13FC011F13F0497F90B512FE48802607FE0013C0D80FF8EB3FE0D81FE0EB0FF04848EB -07F8491303007F15FC90C712014815FE481400A66C14016C15FC6D1303003F15F86D1307 -D81FF0EB1FF06D133F3A0FFF01FFE06C90B512C06C1580C6ECFE006D5B011F13F0010190 -C7FC273A7CB830>I<49B4FC010F13E0013F13F890B57E4880488048010113803A0FFC00 -7FC0D81FF0EB3FE04848131F49EB0FF048481307A290C7EA03F85A4815FC1501A416FEA3 -7E7E6D1303A26C6C13076C6C130F6D133FD80FFC13FF6CB6FC7E6C14FE6C14F9013FEBE1 -FC010F138190380060011400ED03F8A2150716F0150F000F15E0486C131F486CEB3FC015 -7FEDFF804A1300EC07FE391FF01FFC90B55A6C5C6C5C6C1480C649C7FCEB3FF0273A7CB8 -30>I<120FEA3FC0EA7FE0A2EAFFF0A4EA7FE0A2EA3FC0EA0F00C7FCAF120FEA3FC0EA7F -E0A2EAFFF0A4EA7FE0A2EA3FC0EA0F000C276EA630>I<007FB7FCA2B81280A36C16006C -5DCBFCA7003FB612FE4881B81280A36C1600A229157DA530>61 D<007FB512F0B612FE6F -7E82826C813A03F8001FF815076F7E1501A26F7EA615015EA24B5A1507ED1FF0ED7FE090 -B65A5E4BC7FC6F7E16E0829039F8000FF8ED03FC6F7E1500167FA3EE3F80A6167F1700A2 -5E4B5A1503ED1FFC007FB6FCB75A5E16C05E6C02FCC7FC29387EB730>66 -D<003FB712804816C0B8FCA27E7ED801FCC7121FA8EE0F8093C7FCA5153E157FA490B6FC -A69038FC007FA4153E92C8FCAE383FFFF8487FB5FCA27E6C5B2A387EB730>70 -D75 D78 D<90383FFFE048B512FC000714 -FF4815804815C04815E0EBF80001E0133FD87F80EB0FF0A290C71207A44815F8481403B3 -A96C1407A26C15F0A36D130FA26D131F6C6CEB3FE001F813FF90B6FC6C15C06C15806C15 -00000114FCD8003F13E0253A7BB830>I<007FB512F0B612FE6F7E16E0826C813903F800 -3FED0FFCED03FE15016F7EA2821780163FA6167F17005EA24B5A1503ED0FFCED3FF890B6 -FC5E5E16804BC7FC15F001F8C9FCB0387FFFC0B57EA46C5B29387EB730>I<90383FFFE0 -48B512FC000714FF4815804815C04815E0EBF80001E0133F4848EB1FF049130F90C71207 -A44815F8481403B3A8147E14FE6CEBFF076C15F0EC7F87A2EC3FC7018013CF9038C01FFF -D83FE014E0EBF80F90B6FC6C15C06C15806C1500000114FCD8003F7FEB00016E7EA21680 -157F16C0153F16E0151F16F0150FED07E025467BB830>I<003FB57E4814F0B612FC15FF -6C816C812603F8017F9138003FF0151F6F7E15071503821501A515035E1507150F4B5A15 -3F4AB45A90B65A5E93C7FC5D8182D9F8007FED3FE0151F150F821507A817F8EEF1FCA53A -3FFF8003FB4801C0EBFFF8B56C7E17F06C496C13E06C49EB7FC0C9EA1F002E397FB730> -I<90390FF803C0D97FFF13E048B512C74814F74814FF5A381FF80F383FE001497E484813 -7F90C7123F5A48141FA2150FA37EED07C06C91C7FC7F7FEA3FF0EA1FFEEBFFF06C13FF6C -14E0000114F86C80011F13FF01031480D9003F13C014019138007FE0151FED0FF0A2ED07 -F8A2007C140312FEA56C140716F07F6DEB0FE06D131F01F8EB3FC001FF13FF91B5128016 -0000FD5CD8FC7F13F8D8F81F5BD878011380253A7BB830>I<003FB712C04816E0B8FCA4 -3AFE003F800FA8007CED07C0C791C7FCB3B1011FB5FC4980A46D91C7FC2B387EB730>I< -D83FFC903801FFE0486C4913F000FF16F8A2007F16F06C486D13E0D81FC09038001FC000 -0F1680A76D143F00071600A7000390380F803E9039F01FC07EEC3FE0A3EC7FF0A2147D00 -01157CA29039F8FDF8FCA314F8A300005D01F913FCA2ECF07CA201FD137DA2017D5CECE0 -3DA3017F133FA2ECC01FA2013F5CA2EC800F6D486C5A2D397FB730>87 -D<007FB5FCB61280A4150048C8FCB3B3B3A5B6FC1580A46C140019476DBE30>91 -D<127CA212FEA27EA26C7EA26C7EA26C7EA26C7EA26C7EA26C7EA212017FA26C7EA26D7E -A26D7EA26D7EA26D7EA26D7EA26D7EA2130180A26D7EA26E7EA26E7EA26E7EA26E7EA26E -7EA26E7EA2140181A26E7EA2ED7F80A2ED3FC0A2ED1FE0A2ED0FF0A2ED07F8A21503A2ED -01F0150025477BBE30>I<007FB5FCB61280A47EC7123FB3B3B3A5007FB5FCB6FCA46C14 -0019477DBE30>I97 DII<913801FFE04A7F5CA28080EC0007AAEB03FE90381FFF874913 -E790B6FC5A5A481303380FFC00D81FF0133F49131F485A150F4848130790C7FCA25AA25A -A87E6C140FA27F003F141F6D133F6C7E6D137F390FF801FF2607FE07EBFFC06CB712E06C -16F06C14F76D01C713E0011F010313C0D907FCC8FC2C397DB730>I<49B4FC010713E001 -1F13F8017F7F90B57E488048018113803A07FC007FC04848133FD81FE0EB1FE0150F4848 -14F0491307127F90C7FCED03F85A5AB7FCA516F048C9FC7E7EA27F003FEC01F06DEB03F8 -6C7E6C7E6D1307D807FEEB1FF03A03FFC07FE06C90B5FC6C15C0013F14806DEBFE000107 -13F8010013C0252A7CA830>IIII<14E0EB03F8A2497EA36D5AA2EB00E091C8 -FCA9381FFFF8487F5AA27E7EEA0001B3A9003FB612C04815E0B7FCA27E6C15C023397AB8 -30>I107 D<387FFFF8B57EA47EEA0001B3B3A8007FB612 -F0B712F8A46C15F025387BB730>I<02FC137E3B7FC3FF01FF80D8FFEF01877F90B500CF -7F15DF92B57E6C010F13872607FE07EB03F801FC13FE9039F803FC01A201F013F8A301E0 -13F0B3A23C7FFE0FFF07FF80B548018F13C0A46C486C01071380322881A730>II<49B4FC010F13E0013F13F8497F90B57E0003ECFF8014013A -07FC007FC04848EB3FE0D81FE0EB0FF0A24848EB07F8491303007F15FC90C71201A300FE -EC00FEA86C14016C15FCA26D1303003F15F86D13076D130F6C6CEB1FF06C6CEB3FE06D13 -7F3A07FF01FFC06C90B512806C15006C6C13FC6D5B010F13E0010190C7FC272A7CA830> -II<49B413F8010FEBC1FC01 -3F13F14913FD48B6FC5A481381390FFC007F49131F4848130F491307485A491303127F90 -C7FC15015A5AA77E7E15037FA26C6C1307150F6C6C131F6C6C133F01FC137F3907FF01FF -6C90B5FC6C14FD6C14F9013F13F1010F13C1903803FE0190C7FCAD92B512F84A14FCA46E -14F82E3C7DA730>II<90381FFC1E48B5129F000714FF5A5A5A387FF007EB -800100FEC7FC4880A46C143E007F91C7FC13E06CB4FC6C13FC6CEBFF806C14E0000114F8 -6C6C7F01037F9038000FFF02001380007C147F00FEEC1FC0A2150F7EA27F151F6DEB3F80 -6D137F9039FC03FF0090B6FC5D5D00FC14F0D8F83F13C026780FFEC7FC222A79A830>I< -EB0780497E131FA9003FB612E04815F0B7FCA36C15E026001FC0C7FCB216F8ED01FCA5EC -E003010FEB07F814F09138FC1FF06DB512E06D14C016806D14009038007FFCEC1FF02633 -7EB130>II<3B3FFFC07FFF80486DB512C0B515E0A26C16C06C496C13803B01 -F80003F000A26D130700005DA26D130F017E5CA2017F131F6D5CA2EC803F011F91C7FCA2 -6E5A010F137EA2ECE0FE01075BA214F101035BA3903801FBF0A314FF6D5BA36E5A6E5A2B -277EA630>I<3B3FFFC01FFFE0486D4813F0B515F8A26C16F06C496C13E0D807E0C7EA3F -00A26D5C0003157EA56D14FE00015DEC0F80EC1FC0EC3FE0A33A00FC7FF1F8A2147DA2EC -FDF9017C5C14F8A3017E13FBA290393FF07FE0A3ECE03FA2011F5C90390F800F802D277F -A630>I<3A3FFF81FFFC4801C37FB580A26C5D6C01815BC648C66CC7FC137FEC80FE9038 -3F81FC90381FC3F8EB0FE3ECE7F06DB45A6D5B7F6D5B92C8FC147E147F5C497F81903803 -F7E0EB07E790380FE3F0ECC1F890381F81FC90383F80FE90387F007E017E137F01FE6D7E -48486D7E267FFF80B5FCB500C1148014E3A214C16C0180140029277DA630>I<3B3FFFC0 -7FFF80486DB512C0B515E0A26C16C06C496C13803B01FC0003F000A2000014076D5C137E -150F017F5C7F151FD91F805BA214C0010F49C7FCA214E00107137EA2EB03F0157C15FCEB -01F85DA2EB00F9ECFDF0147D147FA26E5AA36E5AA35DA2143F92C8FCA25C147EA2000F13 -FE486C5AEA3FC1EBC3F81387EB8FF0EBFFE06C5B5C6C90C9FC6C5AEA01F02B3C7EA630> -I123 D -125 D<017C133848B4137C48EB80FE4813C14813C348EBEFFC397FEFFFF0D8FF8713E001 -0713C0486C1380D87C0113003838007C1F0C78B730>I E -%EndDVIPSBitmapFont -%DVIPSBitmapFont: Fi cmbx12 14.4 11 -/Fi 11 118 df<157815FC14031407141F14FF130F0007B5FCB6FCA2147F13F0EAF800C7 -FCB3B3B3A6007FB712FEA52F4E76CD43>49 DI73 D<93380FFFC00303B6FC031F -15E092B712FC0203D9FC0013FF020F01C0010F13C0023F90C7000313F0DA7FFC02007F49 -4848ED7FFE4901E0ED1FFF49496F7F49496F7F4990C96C7F49854948707F4948707FA248 -49717E48864A83481B804A83481BC0A2481BE04A83A2481BF0A348497113F8A5B51AFCAF -6C1BF86E5FA46C1BF0A26E5F6C1BE0A36C6D4D13C0A26C6D4D1380A26C1B006C6D4D5A6E -5E6C626D6C4C5B6D6D4B5B6D6D4B5B6D6D4B5B6D6D4B5B6D6D4B90C7FC6D6D4B5A6D01FF -02035B023F01E0011F13F0020F01FC90B512C0020390B7C8FC020016FC031F15E0030392 -C9FCDB001F13E0565479D265>79 D<003FBC1280A59126C0003F9038C0007F49C71607D8 -7FF8060113C001E08449197F49193F90C8171FA2007E1A0FA3007C1A07A500FC1BE0481A -03A6C994C7FCB3B3AC91B912F0A553517BD05E>84 D<913803FFC0023F13FC49B6FC0107 -15C04901817F903A3FFC007FF849486D7E49486D7E4849130F48496D7E48178048497F18 -C0488191C7FC4817E0A248815B18F0A212FFA490B8FCA318E049CAFCA6127FA27F7EA218 -E06CEE01F06E14037E6C6DEC07E0A26C6DEC0FC06C6D141F6C6DEC3F806D6CECFF00D91F -FEEB03FE903A0FFFC03FF8010390B55A010015C0021F49C7FC020113F034387CB63D> -101 D104 D110 D<903A3FF001FFE0B5010F13FE033F -EBFFC092B612F002F301017F913AF7F8007FFE0003D9FFE0EB1FFFC602806D7F92C76C7F -4A824A6E7F4A6E7FA2717FA285187F85A4721380AC1A0060A36118FFA2615F616E4A5BA2 -6E4A5B6E4A5B6F495B6F4990C7FC03F0EBFFFC9126FBFE075B02F8B612E06F1480031F01 -FCC8FC030313C092CBFCB1B612F8A5414D7BB54B>112 D<143EA6147EA414FEA21301A3 -13031307A2130F131F133F13FF5A000F90B6FCB8FCA426003FFEC8FCB3A9EE07C0AB011F -EC0F8080A26DEC1F0015806DEBC03E6DEBF0FC6DEBFFF86D6C5B021F5B020313802A4D7E -CB34>116 DI E -%EndDVIPSBitmapFont -%DVIPSBitmapFont: Fj cmr12 12 19 -/Fj 19 122 df<9239FFC001FC020F9038F80FFF913B3F803E3F03C0913BFC00077E07E0 -D903F890390FFC0FF0494890383FF81F4948EB7FF0495A494814E049C7FCF00FE0499139 -3FC0038049021F90C7FCAFB912F0A3C648C7D81FC0C7FCB3B2486CEC3FF0007FD9FC0FB5 -12E0A33C467EC539>11 D<121EEA7F8012FF13C0A213E0A3127FEA1E601200A413E013C0 -A312011380120313005A1206120E5A5A5A12600B1D78891B>44 D<14FF010713E090381F -81F890383E007C01FC133F4848EB1F8049130F4848EB07C04848EB03E0A2000F15F04913 -01001F15F8A2003F15FCA390C8FC4815FEA54815FFB3A46C15FEA56D1301003F15FCA300 -1F15F8A26C6CEB03F0A36C6CEB07E0000315C06D130F6C6CEB1F806C6CEB3F00013E137C -90381F81F8903807FFE0010090C7FC28447CC131>48 D<143014F013011303131F13FFB5 -FC13E713071200B3B3B0497E497E007FB6FCA3204278C131>II52 D72 D<010FB512FEA3D9000313806E130080B3B3AB123F487E487EA44A5A1380 -1300006C495A00705C6C13076C5C6C495A6CEB1F802603E07FC7FC3800FFFCEB1FE02746 -7BC332>74 D<003FB912F8A3903BF0001FF8001F01806D481303003EC7150048187C0078 -183CA20070181CA30060180CA5481806A5C81600B3B3A54B7EED7FFE49B77EA33F447DC3 -46>84 D97 -DI101 D108 DI<3901FC01FE00FF903807FFC091381E07F091383801F800070170 -7F0003EBE0002601FDC07F5C01FF147F91C7FCA25BA35BB3A8486CECFF80B5D8F83F13FE -A32F2C7DAB36>II<3903F803F000FFEB1F -FCEC3C3EEC707F0007EBE0FF3803F9C000015B13FBEC007E153C01FF13005BA45BB3A748 -B4FCB512FEA3202C7DAB26>114 D117 D121 -D E -%EndDVIPSBitmapFont -%DVIPSBitmapFont: Fk cmtt12 17.28 6 -/Fk 6 122 df46 D<903801FFFE011FEBFFE0017F14F848B612FE486F7E834816F0488283 -EC800391C77FEE3FFF160F707F6C48806C486E7F6C5ACA7FA3177FA50303B5FC92B6FC14 -0F91B7FC1307131F137F90B8FC0003EDE07F48ECE0004849C7FC4813F014804848C8FC48 -5A5B485A5BA25BA46D15FFA26D5C007F5D6D5CD83FFE141F6D6C017F13F86CD9E007B612 -FE91B9FC6C19807E6C16DF6C160F6CEDFC07013FDAF0011400010F91C7EA3FFE010101F0 -91C8FC414178BF4A>97 D<383FFFC0487FB57EA57E7EEA000FB1043FB512FC4C8093B7FC -A5705C705C9326003FF8C7FC4D5A4D5A4C5B4C5B4C90C8FC4C5A4C5AEE7FF84C5A4B5B4B -5B4B5B4B90C9FC4B5AED3FF8157F4B7E14F102F37F02F77F91B67E15FD03F87F4B6C7E4B -6C7E15C04B6C7E4B6C7E4A6D7E5C4A6D7E4A6D7F707FA2717E717EA2717E717E717EA271 -7E717F003FB500FC013FEBFF80486E4914C0B790B612E0A56C4A6D14C06C4A6D14804358 -7DD74A>107 D<913A1FFF800F800103B5EAF81F011F9138FF3FC0017F15FF48B8FC5A5A -5A5A48EBE00049C7121FD87FF880491403D8FFC080A25B82A37FEF7F806C7E01F892C7FC -13FE383FFFC06C13FE6CEBFFF86CECFFE06C15FC6CEDFF806C6C15F0011F81010315FED9 -007F8002011580DA000F14C0DB003F13E01607040113F0D83F809138007FF8007F163F48 -6CED1FFC170F7F1707A27FA26D150FA27F6DED1FF86D157F02C0ECFFF06E130302FC013F -13E091B712C0A2188001BF1600019F15FC010F15F0010315C0267E007F49C7FC007C0107 -13E0364176BF4A>115 DI<00 -3FB5027FB5FC486E90B61280B66C5A1AC0A31A806C4A7E6C91C76C140026007FC0020090 -C7FC013F5D6E5D131F6E140360130F6E140701075E80170F01035E800101151F60806D15 -3F6F5CA2027F147F6F5C143F17FF6F91C8FC141F6F5A020F5CA2EDF80302075CA2EDFC07 -02035CA2DA01FE5B160FA2DA00FF5B161F157FEE9FC0A2ED3FBFEEFF8081A294C9FC81A2 -5E1507A26F5AA215075EA2150F5EA2151F5EA2153F5EA2157F5ED803C013FFD80FF091CA -FC486C5AA2486C485A14074A5A4A5A147F90B55A6C5CA26C5C6C5C4ACBFC6C5BC613F0EB -3FC0425F7CBD4A>121 D E -%EndDVIPSBitmapFont -%DVIPSBitmapFont: Fl cmr17 17.28 22 -/Fl 22 121 df45 D69 D76 -D<003FBC12F8A49126C000039038C0000301FCC76C49EB007F01F0190F01C019074848F1 -03FC90C81701007E1A00007C1B7CA300781B3CA400701B1CA600F01B1E481B0EA7C91800 -B3B3B3A54C7FA2041F13F84AB87EA457627CE160>84 D<003FB66C0203B61280A4D8003F -01FCC96CEBE000010F01F07090C7FC6D49EE1FFC6D49EE0FF06D6D5F6D616F5F027F95C8 -FC6E6C161E6F161C021F173C6E6C5E6F16706E17F06E6D4A5A705D6E4C5A6E6D1407704A -C9FC6F6C140E033F151E705C6F6C1438030F1578705C6F6D5B6F140171485A6F01E05B6F -14077148CAFC93387FF80E043F131E715A93381FFE38040F1378715A705B705BA2707F82 -84717E173F844D7EA2EFF7FFDC01E77F17C3DC03C17FDC07817F17004C6D7E041E80041C -133F043C6D7E4C800470130F4C6D7E0301824B487F4C6D7F0307824BC8FC030E6F7E031E -824B153F03386F7E0378824B150F4B6F7E0201844A486F7F4B810207844ACA7F020E177F -021E844A717E4A171F8702F8717E494883010386D90FF885011F86D97FFC4D7F0007B505 -3F13FCB600C04BB612FCA45E627EE163>88 D97 D<4AB47E020F13F8023F13FE9139FF007F80D903FCEB07E0D9 -07F0EB01F0D91FE0EB007849488049488049C87E48485D4915FF00034B138048485CA248 -5AA2485AA2003F6F130049EC007C94C7FC127FA35B12FFAD127F7FA4123F7FA2001FEE01 -C07F000F16036D168012076C6C15076D160000015E6C6C151E6D6C5C6D6C5C6D6C5CD90F -F8495AD903FCEB07C0903A00FF803F8091263FFFFEC7FC020F13F80201138032417CBF3A ->99 D<181EEF3FFEEE07FFA4EE000F1703A21701B3AAEDFF80020F13F8023F13FE9139FF -803F81903A03FC0007C14948EB01E1D91FE0EB00F94948147D4948143D49C8121F484815 -0F491507120348481503491501120F121F5BA2123F5B127FA45B12FFAD127F7FA3123FA2 -7F121FA26C6C1503A26C6C150712036D150F6C6C151F0000163D137F6D6CECF9FF6D6CEB -01F1D90FF0D903C113C06D6CD90F81EBFF80D901FFEB7F019039007FFFFC021F13E00201 -010091C7FC41657CE349>IIIII<133C13FF487F487FA66C5B6C90C7FC133C90C8FCB3A2EB03C0EA07FF127FA41201EA -007FA2133FB3B3AC497E497EB612E0A41B5F7DDE23>I108 DIIII<9139FFE00180010FEBFC03017FEBFF073A -01FF001FCFD803F8EB03EFD807E0EB01FF48487F4848147F48C8123F003E151F007E150F -127CA200FC1507A316037EA27E7F6C7E6D91C7FC13F8EA3FFE381FFFF06CEBFF806C14F8 -6C14FF6C15C06C6C14F0011F80010714FED9007F7F02031480DA003F13C01503030013E0 -167F00E0ED1FF0160F17F86C15071603A36C1501A37EA26C16F016037E17E06D14076DEC -0FC06D1580D8FDF0141FD8F8F8EC7F00013E14FC3AF01FC00FF80107B512E0D8E0011480 -27C0003FF8C7FC2D417DBF34>115 D<1438A71478A414F8A31301A31303A21307130F13 -1FA2137F13FF1203000F90B6FCB8FCA3260007F8C8FCB3AE17E0AE6D6CEB01C0A316036D -6C148016076D6C14006E6C5A91383FC01E91381FF07C6EB45A020313E09138007F802B59 -7FD733>II<007FB500 -C0010FB512E0A4C691C70003EBFC00D93FFE6E13E0D90FFC16807148C7FC01075E6D6C4A -5A6D6C5D6D6D495A606E6C495A6E6C49C8FC6E6C130E171E6E6C5B6E6C5B6E6C5B5F9138 -01FF016EEB83C092387FC780033F90C9FC16EFED1FFE6F5A6F5A826F7E6F7E5D834B7F92 -380F3FE0ED1E1F033C7F9238380FF892387807FCEDF003DA01E07F4A486C7E707F4A486D -7E4AC7FC021E6E7E021C6E7E023C6E7E5C4A6E7E01016F7E49486E7E1307010F6F7F013F -83D9FFF04A7F00076D4A13FCB56C020FEBFFF8A4453E80BD46>120 -D E -%EndDVIPSBitmapFont -end -%%EndProlog -%%BeginSetup -%%Feature: *Resolution 600dpi -TeXDict begin -%%BeginPaperSize: a4 -a4 -%%EndPaperSize - -%%EndSetup -%%Page: 1 1 -1 0 bop 131 846 a Fl(Example)44 b(of)e(the)i(LaT)-11 -b(eX-input)45 b(and)f(output)f(of)g(an)g(annotated)h(c)l(hess)1307 -1029 y(game)f(using)j Fk(skak.sty)1570 1281 y Fj(T)-8 -b(orb)s(en)33 b(Ho\013mann)1663 1485 y(July)f(21,)h(2004)0 -1832 y Fi(1)135 b(The)44 b(Input)0 2041 y Fh(\\fenboard{1q3kr1/3rb2p/p) -o(3Q3/)o(8/\045)0 2154 y(1p6/8/PPP3PP/4R2K)f(w)48 b(-)f(-)g(0)h(26})0 -2718 y(\\begin{figure}[htbp])95 2831 y(\\begin{center})191 -2944 y($$\\showboard$$)191 3057 y(\\caption{Fischer--Tal)42 -b(after)k(\\protect\\variation{25...)41 b(Kf8!})191 3170 -y(\\label{fig:after-25...Kf)o(8})95 3283 y(\\end{center})0 -3396 y(\\end{figure})0 3734 y(\(See)47 b(figure~\\ref{fig:after-2)o -(5...)o(Kf8)o(}.\))0 3960 y(\\mainline{26.)d(Qxd7})0 -4186 y(Not)j(\\variation{26.)d(Rf1+)i(Kg7)h(27.)g(Rf7+)0 -4299 y(Kh8})0 4412 y(and)g(if)g(\\variation{28.)d(Qxd7)j(Rd8)g(29.)f -(Qg4)0 4525 y(Qe5})0 4638 y(wins.)0 4976 y(\\mainline{26...Qd6)d(27.)k -(Qb7)g(Rg6})1988 1832 y(Within)f(a)i(handful)e(of)h(moves)f(the)h(game) -1988 1945 y(has)g(changed)f(its)h(complexion.)e(Now)i(it)1988 -2058 y(is)h(White)e(who)h(must)f(fight)h(for)g(a)g(draw!)1988 -2283 y(\\mainline{28.)e(c3})1988 2396 y(Black's)h(extra)h(piece)f -(means)g(less)h(with)1988 2509 y(each)g(pawn)g(that's)f(exchanged.)1988 -2735 y(\\mainline{28...a5})1988 2848 y(On)i(\\variation{28...bxc3)42 -b(29.)47 b(Qc8+)f(Bd8)1988 2961 y(30.)h(Qxc3}=.)1988 -3300 y(\\mainline{29.)e(Qc8+})1988 3412 y(On)j(the)e(wrong)h(track.)f -(Right)g(is)1988 3525 y(\\variation{29.)e(cxb4)j(Qxb4})f(\(if)1988 -3638 y(\\variation{29...)e(axb4)i(30.)h(a3!)g(bxa3)1988 -3751 y(31.)g(bxa3)g(Qxa3})f(draws\))1988 3864 y(\\variation{30.)e(Qf3+) -j(Kg7)g(31.)g(Qe2})f(draws,)1988 3977 y(since)h(Black)f(can't)g -(possibly)g(build)g(up)i(a)1988 4090 y(winning)e(K-side)g(attack)g(and) -h(his)g(own)1988 4203 y(king)g(is)g(to)g(exposed.)1988 -4429 y(\\mainline{29...Kg7)c(30.)k(Qc4)g(Bd8)1988 4542 -y(31.)g(cxb4)g(axb4})1988 4654 y(On)h(\\variation{31...)43 -b(Qxb4)k(32.)f(Qe2})1988 4767 y(White)h(should)f(draw)g(with)h(best)g -(play.)1988 4880 y($$\\showboard$$)1924 5225 y Fg(1)p -eop -%%Page: 2 2 -2 1 bop 0 573 a Fi(2)135 b(The)44 b(Output)p 280 894 -1345 9 v 222 1007 a Ff(8)p 280 1060 9 167 v 289 1060 -a Fe(0l0Z0jrZ)p 1617 1060 V 222 1173 a Ff(7)p 280 1226 -V 289 1226 a Fe(Z0Zra0Zp)p 1617 1226 V 222 1339 a Ff(6)p -280 1392 V 289 1392 a Fe(pZ0ZQZ0Z)p 1617 1392 V 222 1505 -a Ff(5)p 280 1558 V 289 1558 a Fe(Z0Z0Z0Z0)p 1617 1558 -V 222 1671 a Ff(4)p 280 1724 V 289 1724 a Fe(0o0Z0Z0Z)p -1617 1724 V 222 1837 a Ff(3)p 280 1890 V 289 1890 a Fe(Z0Z0Z0Z0)p -1617 1890 V 222 2003 a Ff(2)p 280 2056 V 289 2056 a Fe(POPZ0ZPO)p -1617 2056 V 222 2169 a Ff(1)p 280 2222 V 289 2222 a Fe(Z0Z0S0ZK)1617 -2222 y - tx@Dict begin tx@NodeDict begin {-10.0 10.0 } false /N@BM 10 {InitPnode -} NewNode end end - 1617 2222 a 1617 2222 9 167 v 280 2230 1345 9 -v 343 2305 a Ff(a)125 b(b)h(c)g(d)g(e)135 b(f)e(g)123 -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. Arrow EndArrow } def [ 20.0 16.00006 20.0 5.0 /currentpoint -load stopped pop /Lineto /lineto load def 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 0 setlinecap stroke grestore end - -@endspecial 201 2592 -a Fg(Figure)30 b(1:)41 b(Fisc)m(her{T)-8 b(al)30 b(after)h(25.)16 -b(.)g(.)f Fd(K)p Fg(f8!)0 2899 y(\(See)31 b(\014gure)f -Fc(??)p Fg(.\))381 3113 y Fc(26)277 b Fb(QX)p Fc(d7)0 -3346 y Fg(Not)23 b(26)g Fd(R)p Fg(f1)p Fa(+)e Fd(K)p -Fg(g7)i(27)g Fd(R)p Fg(f7)p Fa(+)e Fd(K)p Fg(h8)h(and)f(if)g(28)i -Fd(Q)p Fa(X)p Fg(d7)0 3459 y Fd(R)p Fg(d8)30 b(29)h Fd(Q)p -Fg(g4)h Fd(Q)p Fg(e5)f(wins.)381 3672 y Fc(26)277 b(.)18 -b(.)f(.)259 b Fb(Q)p Fc(d6)381 3785 y(27)277 b Fb(Q)p -Fc(b7)180 b Fb(R)p Fc(g6)0 3998 y Fg(Within)21 b(a)i(handful)d(of)i(mo) -m(v)m(es)i(the)f(game)g(has)g(c)m(hanged)0 4111 y(its)30 -b(complexion.)41 b(No)m(w)32 b(it)e(is)g(White)h(who)f(m)m(ust)h -(\014gh)m(t)0 4224 y(for)f(a)h(dra)m(w!)381 4437 y Fc(28)277 -b(c3)0 4650 y Fg(Blac)m(k's)40 b(extra)h(piece)e(means)g(less)g(with)f -(eac)m(h)j(pa)m(wn)0 4763 y(that's)31 b(exc)m(hanged.)381 -4976 y Fc(28)277 b(.)18 b(.)f(.)259 b(a5)1988 573 y Fg(On)30 -b(28.)16 b(.)g(.)f(b)p Fa(X)p Fg(c3)30 b(29)h Fd(Q)p -Fg(c8)p Fa(+)g Fd(B)p Fg(d8)f(30)i Fd(Q)p Fa(X)p Fg(c3=.)2369 -785 y Fc(29)278 b Fb(Q)p Fc(c8)p Fb(+)1988 1018 y Fg(On)31 -b(the)g(wrong)g(trac)m(k.)45 b(Righ)m(t)32 b(is)e(29)i(c)p -Fa(X)p Fg(b4)g Fd(Q)p Fa(X)p Fg(b4)e(\(if)1988 1140 y(29.)17 -b(.)e(.)g(a)p Fa(X)p Fg(b4)40 b(30)g(a3!)70 b(b)p Fa(X)p -Fg(a3)39 b(31)h(b)p Fa(X)p Fg(a3)g Fd(Q)p Fa(X)p Fg(a3)g(dra)m(ws\)) -1988 1262 y(30)35 b Fd(Q)p Fg(f3)p Fa(+)f Fd(K)p Fg(g7)g(31)h -Fd(Q)p Fg(e2)f(dra)m(ws,)h(since)e(Blac)m(k)i(can't)1988 -1375 y(p)s(ossibly)i(build)g(up)i(a)h(winning)c(K-side)j(attac)m(k)j -(and)1988 1488 y(his)29 b(o)m(wn)i(king)e(is)h(to)h(exp)s(osed.)2369 -1700 y Fc(29)278 b(.)17 b(.)g(.)260 b Fb(K)p Fc(g7)2369 -1813 y(30)278 b Fb(Q)p Fc(c4)192 b Fb(B)p Fc(d8)2369 -1938 y(31)278 b(c)p Fb(X)p Fc(b4)170 b(a)p Fb(X)p Fc(b4)1988 -2171 y Fg(On)27 b(31.)16 b(.)f(.)h Fd(Q)p Fa(X)p Fg(b4)26 -b(32)i Fd(Q)p Fg(e2)f(White)g(should)e(dra)m(w)i(with)1988 -2284 y(b)s(est)j(pla)m(y)-8 b(.)p 2269 2409 V 2211 2522 -a Ff(8)p 2269 2575 9 167 v 2278 2575 a Fe(0Z0a0Z0Z)p -3606 2575 V 2211 2688 a Ff(7)p 2269 2741 V 2278 2741 -a Fe(Z0Z0Z0jp)p 3606 2741 V 2211 2854 a Ff(6)p 2269 2907 -V 2278 2907 a Fe(0Z0l0ZrZ)p 3606 2907 V 2211 3020 a Ff(5)p -2269 3073 V 2278 3073 a Fe(Z0Z0Z0Z0)p 3606 3073 V 2211 -3186 a Ff(4)p 2269 3239 V 2278 3239 a Fe(0oQZ0Z0Z)p 3606 -3239 V 2211 3352 a Ff(3)p 2269 3406 V 2278 3406 a Fe(Z0Z0Z0Z0)p -3606 3406 V 2211 3518 a Ff(2)p 2269 3572 V 2278 3572 -a Fe(PO0Z0ZPO)p 3606 3572 V 2211 3684 a Ff(1)p 2269 3738 -V 2278 3738 a Fe(Z0Z0S0ZK)3606 3738 y - tx@Dict begin tx@NodeDict begin {-10.0 10.0 } false /N@BM 10 {InitPnode -} NewNode end end - 3606 3738 a 3606 -3738 9 167 v 2269 3746 1345 9 v 2332 3820 a Ff(a)124 -b(b)i(c)g(d)g(e)135 b(f)e(g)123 b(h)79 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. Arrow EndArrow } def [ 20.0 16.00006 20.0 5.0 /currentpoint -load stopped pop /Lineto /lineto load def 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 0 setlinecap stroke grestore end - -@endspecial 1924 5225 a Fg(2)p eop -%%Trailer -end -userdict /end-hook known{end-hook}if -%%EOF diff --git a/Master/texmf-dist/doc/latex/skak/tuggame.tex b/Master/texmf-dist/doc/latex/skak/tuggame.tex index 3cb59ab544c..76f4e5005af 100644 --- a/Master/texmf-dist/doc/latex/skak/tuggame.tex +++ b/Master/texmf-dist/doc/latex/skak/tuggame.tex @@ -25,9 +25,35 @@ %=================================================================== -\documentclass[11pt,twocolumn]{article} +\documentclass[10pt]{article} \usepackage[ps,mover,styleC]{skak} +\usepackage[final]{showexpl} +\usepackage{a4wide} + + +\makeatletter +%% to get showexpl to respekt empty lines +%% this corrects a bug in showexpl as long +%% as the new version isn't there +\renewcommand*\SX@resultInput{% + %%\MakePercentComment\catcode`\^^M=10\relax + \SX@@preset\SX@preset + \if@SX@rangeaccept + \let\@tempa=\SX@input% Nur sinnvoll bei \LTXinputExample + \else + \let\@tempa=\input + \fi + \@tempa{\SX@codefile}% + \MakePercentIgnore} +\makeatother + + +\lstset{width=0.5} % wider examples +\lstset{preset=\raggedright} + + + \title{Example of the LaTeX-input and output of an annotated chess game using \texttt{skak.sty}} @@ -39,127 +65,53 @@ chess game using \texttt{skak.sty}} \maketitle -\section{The Input} - -\begin{verbatim} -\fenboard{1q3kr1/3rb2p/p3Q3/8/% -1p6/8/PPP3PP/4R2K w - - 0 26} +\begin{LTXexample} +\fenboard{1q3kr1/3rb2p/p3Q3/8/1p6/8/% +PPP3PP/4R2K w - - 0 26} +$$\showboard$$ -\begin{figure}[htbp] - \begin{center} - $$\showboard$$ - \caption{Fischer--Tal after \protect\variation{25... Kf8!} - \label{fig:after-25...Kf8} - \end{center} -\end{figure} - - -(See figure~\ref{fig:after-25...Kf8}.) +Fischer--Tal after \movecomment{25... Kf8!} \mainline{26. Qxd7} -Not \variation{26. Rf1+ Kg7 27. Rf7+ -Kh8} -and if \variation{28. Qxd7 Rd8 29. Qg4 -Qe5} -wins. - +Not \variation{26. Rf1+ Kg7 27. Rf7+ Kh8} and if +\continuevariationcurrent{28. Qxd7 Rd8 29. Qg4 Qe5} wins. \mainline{26...Qd6 27. Qb7 Rg6} -Within a handful of moves the game -has changed its complexion. Now it -is White who must fight for a draw! +Within a handful of moves the game has changed its complexion. +Now it is White who must fight for a draw! \mainline{28. c3} -Black's extra piece means less with -each pawn that's exchanged. +Black's extra piece means less with each pawn that's exchanged. \mainline{28...a5} -On \variation{28...bxc3 29. Qc8+ Bd8 -30. Qxc3}=. - - -\mainline{29. Qc8+} -On the wrong track. Right is -\variation{29. cxb4 Qxb4} (if -\variation{29... axb4 30. a3! bxa3 -31. bxa3 Qxa3} draws) -\variation{30. Qf3+ Kg7 31. Qe2} draws, -since Black can't possibly build up a -winning K-side attack and his own -king is to exposed. - -\mainline{29...Kg7 30. Qc4 Bd8 -31. cxb4 axb4} -On \variation{31... Qxb4 32. Qe2} -White should draw with best play. -$$\showboard$$ -\end{verbatim} +On \variation{28...bxc3 29. Qc8+ Bd8 30. Qxc3}=. -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\section{The Output} +\end{LTXexample} -\fenboard{1q3kr1/3rb2p/p3Q3/8/% -1p6/8/PPP3PP/4R2K w - - 0 26} +\begin{LTXexample} +\storegame{mainline} +\mainline{29. Qc8+} +On the wrong track. Right is \variation{29. cxb4 Qxb4} (if +\continuevariation{29... axb4 30. a3! bxa3 31. bxa3 Qxa3} +draws) +\restoregame{mainline} \hidemoves{29. cxb4 Qxb4} +\variationcurrent{30. Qf3+ Kg7 31. Qe2} draws, +since Black can't possibly build up a winning K-side +attack and his own king is to exposed. -\begin{figure}[htbp] - \begin{center} - $$\showboard$$ - \caption{Fischer--Tal after - \tracingmacros=1\variation{25... Kf8!}\tracingmacros=0} - \label{fig:after-25...Kf8} - \end{center} -\end{figure} +\restoregame{mainline} \hidemoves{29. Qc8+} - -(See figure~\ref{fig:after-25...Kf8}.) - - -\mainline{26. Qxd7} - - -Not \variation{26. Rf1+ Kg7 27. Rf7+ -Kh8} -and if \variation{28. Qxd7 Rd8 29. Qg4 -Qe5} -wins. - - - -\mainline{26...Qd6 27. Qb7 Rg6} -Within a handful of moves the game -has changed its complexion. Now it -is White who must fight for a draw! - -\mainline{28. c3} -Black's extra piece means less with -each pawn that's exchanged. - -\mainline{28...a5} -On \variation{28...bxc3 29. Qc8+ Bd8 -30. Qxc3}=. - - -\mainline{29. Qc8+} -On the wrong track. Right is -\variation{29. cxb4 Qxb4} (if -\variation{29... axb4 30. a3! bxa3 -31. bxa3 Qxa3} draws) -\variation{30. Qf3+ Kg7 31. Qe2} draws, -since Black can't possibly build up a -winning K-side attack and his own -king is to exposed. - -\mainline{29...Kg7 30. Qc4 Bd8 -31. cxb4 axb4} +\mainline{29...Kg7 30. Qc4 Bd8 31. cxb4 axb4} On \variation{31... Qxb4 32. Qe2} White should draw with best play. $$\showboard$$ +\end{LTXexample} \end{document} diff --git a/Master/texmf-dist/fonts/tfm/public/skak/skak10.tfm b/Master/texmf-dist/fonts/tfm/public/skak/skak10.tfm index 7cbac813d99..e28460addad 100644 Binary files a/Master/texmf-dist/fonts/tfm/public/skak/skak10.tfm and b/Master/texmf-dist/fonts/tfm/public/skak/skak10.tfm differ diff --git a/Master/texmf-dist/fonts/tfm/public/skak/skak15.tfm b/Master/texmf-dist/fonts/tfm/public/skak/skak15.tfm index 4a8a6b85138..1586b1da8b4 100644 Binary files a/Master/texmf-dist/fonts/tfm/public/skak/skak15.tfm and b/Master/texmf-dist/fonts/tfm/public/skak/skak15.tfm differ diff --git a/Master/texmf-dist/fonts/tfm/public/skak/skak20.tfm b/Master/texmf-dist/fonts/tfm/public/skak/skak20.tfm index 64f606c438b..4444d255d03 100644 Binary files a/Master/texmf-dist/fonts/tfm/public/skak/skak20.tfm and b/Master/texmf-dist/fonts/tfm/public/skak/skak20.tfm differ diff --git a/Master/texmf-dist/fonts/tfm/public/skak/skak30.tfm b/Master/texmf-dist/fonts/tfm/public/skak/skak30.tfm index 49f69b23abe..83af6a5342c 100644 Binary files a/Master/texmf-dist/fonts/tfm/public/skak/skak30.tfm and b/Master/texmf-dist/fonts/tfm/public/skak/skak30.tfm differ diff --git a/Master/texmf-dist/fonts/tfm/public/skak/skakf10.tfm b/Master/texmf-dist/fonts/tfm/public/skak/skakf10.tfm index e7d961e9a2a..2b59eb00cf8 100644 Binary files a/Master/texmf-dist/fonts/tfm/public/skak/skakf10.tfm and b/Master/texmf-dist/fonts/tfm/public/skak/skakf10.tfm differ diff --git a/Master/texmf-dist/fonts/tfm/public/skak/skakf10b.tfm b/Master/texmf-dist/fonts/tfm/public/skak/skakf10b.tfm index c05994fb685..d1a2d9241e4 100644 Binary files a/Master/texmf-dist/fonts/tfm/public/skak/skakf10b.tfm and b/Master/texmf-dist/fonts/tfm/public/skak/skakf10b.tfm differ diff --git a/Master/texmf-dist/tex/latex/skak/chess-workshop-symbols.sty b/Master/texmf-dist/tex/latex/skak/chess-workshop-symbols.sty index 113600477b1..438ccfcc7cb 100644 --- a/Master/texmf-dist/tex/latex/skak/chess-workshop-symbols.sty +++ b/Master/texmf-dist/tex/latex/skak/chess-workshop-symbols.sty @@ -57,5 +57,5 @@ \providecommand{\without}{\kern.4pt\mbox{\vrule width 1ex height.08ex depth0ex\kern-0.08ex\vrule width0.08ex height1.5ex depth0ex}\kern.4pt} \providecommand{\with}{\kern.4pt\mbox{\vrule width 0.08ex height1.5ex depth0ex\kern-0.08ex\vrule width 1ex height.08ex depth0ex}\kern.4pt} \providecommand{\etc}{$\parallel$} -\providecommand{\see}{\kern.4pt\mbox{\vrule width 1em height.54ex depth-.46ex}\kern.4pt} - +%\providecommand{\see}{\kern.4pt\mbox{\vrule width 1em height.54ex depth-.46ex}\kern.4pt} +\providecommand{\see} {see} diff --git a/Master/texmf-dist/tex/latex/skak/pap.sty b/Master/texmf-dist/tex/latex/skak/pap.sty deleted file mode 100644 index eff2426f5b4..00000000000 --- a/Master/texmf-dist/tex/latex/skak/pap.sty +++ /dev/null @@ -1,1572 +0,0 @@ -% skak.sty -\NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{skak} - -\DeclareOption{tiny}{\AtEndOfClass{\tinyboard}} -\DeclareOption{small}{\AtEndOfClass{\smallboard}} -\DeclareOption{normal}{\AtEndOfClass{\normalboard}} -\DeclareOption{large}{\AtEndOfClass{\largeboard}} -\DeclareOption{notation}{\AtEndOfClass{\notationOn}} -\DeclareOption{mover}{\AtEndOfClass{\showmoverOn}} -\DeclareOption{moveroff}{\AtEndOfClass{\showmoverOff}} -\DeclareOption{notationoff}{\AtEndOfClass{\notationOff}} -\DeclareOption{ps}{\def\ps@on{\True}} -\DeclareOption{psoff}{\def\ps@on{\False}} -\DeclareOption{english}{\AtEndOfClass{\skaklanguage[english]}} -\DeclareOption{styleA}{\AtEndOfClass{\styleA}} -\DeclareOption{styleB}{\AtEndOfClass{\styleB}} -\ExecuteOptions{notation,normal,psoff,english,moveroff,styleB} -\ProcessOptions -%\AtBeginDocument{\skaklanguage{english}} - -\RequirePackage{lambda,ifthen,calc} -\ps@on{\RequirePackage{pstricks,pst-node}\SpecialCoor% - \newpsstyle{psskak}{arrowinset=0,nodesep=.25,armA=.75,arrowsize=.2 1, - linearc=.2,arrowlength=1.25,linewidth=0.04, - doubleline=true,doublesep=.06}}{} - - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -% list related functions -\def\IsNil#1{#1{\False}{\True}} - -\def\Member#1#2#3% ('a -> 'a -> bool) -> 'a -> 'a list -> bool - {#3{\MemberA{#1}{#2}}{\False}} -\def\MemberA#1#2#3#4% - {#1{#2}{#3}% - {\True}% - {\Member{#1}{#2}{#4}}} - -% Explode: string -> char list -\def\Explode#1{\EqStr{Z}{#1}{\Nil}{\ExplodeA#1Z}} -\def\ExplodeA#1#2Z{\EqStr{Z}{#2}% - {\Singleton{#1}}% - {\Cons{#1}{\ExplodeA#2Z}}} - -\def\BoolToString#1{% bool -> string -#1{True}{False}} - -% the basic manipulation of the board -\def\Set#1#2{% square -> piece -> unit -\expandafter\xdef\csname#1\endcsname{#2}} -\def\Get#1{% square -> piece -\csname#1\endcsname} - -\def\StoreBool#1#2{% - \expandafter\def\csname#1\endcsname{#2}} -\def\GetBool#1{% - \csname#1\endcsname} - - -\def\PieceNames{\Listize[K,Q,R,B,N]} -\def\FileNames{\Listize[a,b,c,d,e,f,g,h]} -\def\RankNames{\Listize[1,2,3,4,5,6,7,8]} - -%% what pieces to show -%\def\ShowOnlyList{\Listize[K,Q,R,B,N,P,k,q,r,b,n,p]} - -\def\showonly#1{\expandafter\def\csname ShowOnlyList\endcsname{\Listize[#1]}} -\def\showall{\showonly{K,Q,R,B,N,P,k,q,r,b,n,p}} -\showall - -\def\showonlywhite{\showonly{K,Q,R,B,N,P}} -\def\showonlyblack{\showonly{k,q,r,b,n,p}} -\def\showonlypawns{\showonly{p,P}} - -%%% -\def\TeXifx#1#2#3% - {#1\def\next{#2}\else\def\next{#3}\fi - \next} -\def\EqStr#1#2{% % has to be changed - \TeXif{\if#1#2}} -\def\EqPiece#1#2{\TeXif{\if#1#2}} - - -\def\RankOf(#1){\Second{#1}} -\def\FileOf(#1){\First{#1}} - -\def\EqSquare#1#2{% - \ifthenelse{\equal{#1}{#2}}{\True}{\False}} - -%% is this really necessary???? -\def\MySecond(#1#2){#2} -\def\MyFirst(#1#2){#1} - -\def\MyEqual#1#2{% string -> string -> bool - \ifthenelse{\equal{#1}{#2}}{\True}{\False}} - -\def\myrightfile#1#2{% filediscriminator -> square -> bool - \Member{\MyEqual}{#2}{\File{#1}}} - -\def\RightRank(#1){%square -> bool - \EqStr{\RankDiscriminator}{Z}% - {\True}% -% {\EqStr{\RankDiscriminator}{\Second{#1}}}} -% {\expandafter\EqStr{\RankDiscriminator}{\MySecond(#1)}}} - {\Member{\MyEqual}{#1}{\Rank{\RankDiscriminator}}}} -\def\RightFile(#1){%square -> bool - \EqStr{\FileDiscriminator}{Z}% - {\True}% - {\Member{\MyEqual}{#1}{\File{\FileDiscriminator}}}} - -% {\myrightfile{\FileDiscriminator}{#1}}} - -% {\expandafter\EqStr{\FileDiscriminator}{\FileOf(#1)}}} -% {\edef\myhelper{\MyFirst(#1)}\Unlistize{\Explode{#1Z}}% -% (rf-test\myhelper)\EqStr{\FileDiscriminator}{\myhelper}}} -%% {(rf-test)\EqStr{\FileDiscriminator}{\MyFirst(#1)}}} - - -\def\Glue#1#2% 'a -> 'b -> 'ab , eg. a -> 1 -> a1 -{#1#2} - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%% adding ornaments to a board %%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% usefull when adding ps arrows: -% set@fileangle: from -> to -> angle -> unit -\def\set@fileangle#1#2#3{% - \expandafter\xdef\csname fileangle.#1.#2\endcsname{#3}} -\def\get@fileangle#1#2{\ifx\csname fileangle.#1.#2\endcsname\relax - \errmessage{Files #1 and #2 does not belong to a valid knight move}% - \else \csname fileangle.#1.#2\endcsname\fi} -\def\set@rankangle#1#2#3{% - \expandafter\xdef\csname rankangle.#1.#2\endcsname{#3}} -\def\get@rankangle#1#2{\ifx\csname rankangle.#1.#2\endcsname\relax% - \errmessage{Ranks #1 and #2 does not belong to a valid knight move}% - \else \csname rankangle.#1.#2\endcsname\fi} - -\def\testfileangle{fileangles:\get@fileangle{a}{b},\get@fileangle{h}{f}} -\def\testrankangle{rankangles:\get@rankangle{1}{3},\get@rankangle{4}{5}} - -% a file to ... -\set@fileangle{a}{b}{0}\set@fileangle{a}{c}{0} -% b file to ... -\set@fileangle{b}{a}{0}\set@fileangle{b}{c}{0}\set@fileangle{b}{d}{0} -% c file to ... -\set@fileangle{c}{a}{180}\set@fileangle{c}{b}{0} -\set@fileangle{c}{d}{0}\set@fileangle{c}{e}{0} -% d file to ... -\set@fileangle{d}{b}{180}\set@fileangle{d}{c}{0} -\set@fileangle{d}{e}{0}\set@fileangle{d}{f}{0} -% e file to ... -\set@fileangle{e}{c}{180}\set@fileangle{e}{d}{0} -\set@fileangle{e}{f}{0}\set@fileangle{e}{g}{0} -% f file to ... -\set@fileangle{f}{d}{180}\set@fileangle{f}{e}{0} -\set@fileangle{f}{g}{0}\set@fileangle{f}{h}{0} -% g file to ... -\set@fileangle{g}{e}{180}\set@fileangle{g}{f}{0}\set@fileangle{g}{h}{0} -% h file to ... -\set@fileangle{h}{f}{180}\set@fileangle{h}{g}{0} - -% 1st rank to ... -\set@rankangle{1}{2}{0}\set@rankangle{1}{3}{90} -% 2nd rank to ... -\set@rankangle{2}{1}{0}\set@rankangle{2}{3}{0}\set@rankangle{2}{4}{90} -% 3rd rank to ... -\set@rankangle{3}{1}{270}\set@rankangle{3}{2}{0} -\set@rankangle{3}{4}{0}\set@rankangle{3}{5}{90} -% 4th rank to ... -\set@rankangle{4}{2}{270}\set@rankangle{4}{3}{0} -\set@rankangle{4}{5}{0}\set@rankangle{4}{6}{90} -% 5th rank to ... -\set@rankangle{5}{3}{270}\set@rankangle{5}{4}{0} -\set@rankangle{5}{6}{0}\set@rankangle{5}{7}{90} -% 6th rank to ... -\set@rankangle{6}{4}{270}\set@rankangle{6}{5}{0} -\set@rankangle{6}{7}{0}\set@rankangle{6}{8}{90} -% 7th rank to ... -\set@rankangle{7}{5}{270}\set@rankangle{7}{6}{0}\set@rankangle{7}{8}{0} -% 8th rank to ... -\set@rankangle{8}{6}{270}\set@rankangle{8}{7}{0} - -% PSTricks addon that allows hollow arrowheads -\ps@on{% -\edef\pst@arrowtable{\pst@arrowtable,<|-|>} -\def\tx@ArrowTriangleA{ArrowTriangleA } -\def\tx@ArrowTriangleB{ArrowTriangleB } -\@namedef{psas@|>}{% - /ArrowTriangleA { CLW dup 3.5 div SLW mul add dup 2 div /w ED mul dup - /h ED mul /a ED - 0 h a sub moveto w h L 0 0 L w neg h L 0 h a sub L - gsave 1 setgray fill grestore gsave - stroke grestore } def - \psk@arrowinset \psk@arrowlength \psk@arrowsize - \tx@ArrowTriangleA} -\@namedef{psas@<|}{% - /ArrowTriangle { CLW dup 2 div SLW 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 w neg a rlineto w 0 rmoveto gsave stroke grestore } def - true \psk@arrowinset \psk@arrowlength \psk@arrowsize - \tx@ArrowTriangleB} -% end of PSTricks addon -} -{} - -\newcounter{ps@knightangle} \newcounter{ps@inverse} -\def\printknightmove#1#2{% - \setcounter{ps@knightangle}{\get@fileangle{\First#1}{\First#2}+% - \get@rankangle{\Second#1}{\Second#2} + \value{ps@inverse}}% - \ncdiagg[style=psskak,angleA=\arabic{ps@knightangle}]{-|>}{#1}{#2}} - -\def\printarrow#1#2{\ncline[style=psskak]{-|>}{#1}{#2}} - -\def\ps@highlightsquare#1{% - \pscustom[linewidth=.06]{\translate(#1)\psframe(-.5,-.5)(.5,.5)}} - -\def\highlight#1{% comma separated list eg, \highlight{a1,b4,d4} - \Apply{\ps@highlightsquare}{\Listize[#1]}} -%%%%% end of adding ornaments to a board %%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%% support for other languages %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% \uc@king queen rook bishop knight pawn holds the letters -% representinng the pieces in the current language -% \skak@currentPieceNames : char list, holds the current piece names -% \def\skak@pieceToEnglish#1{% string -> string, (pgn(curr. lang) -> pgn(eng)) -% \skak@piece@toEnglish(#1Z)} -\def\skak@piece@toEnglish#1{% - \EqPiece{#1}{\uc@king}% - {K}% - {\EqPiece{#1}{\uc@queen}% - {Q}% - {\EqPiece{#1}{\uc@rook}% - {R}% - {\EqPiece{#1}{\uc@bishop}% - {B}% - {\EqPiece{#1}{\uc@knight}% - {N}% - {\errmessage{not a valid piece name in the current language:#1}}}}}}} -% \EqPiece{Z}{#2}% -% {}% done -% {\skak@pgn@toEnglish(#2)}} - -\def\skak@englishToEnglish#1{#1} - -\def\skak@definepieces#1#2#3#4#5#6{% - \edef\uc@king{#1} - \edef\uc@queen{#2} - \edef\uc@rook{#3} - \edef\uc@bishop{#4} - \edef\uc@knight{#5} - \edef\uc@pawn{#6}} - -\def\newskaklanguage#1#2{% - \expandafter\xdef\csname skaklanguage.#1\endcsname{#2}} - -\newcommand{\skaklanguage}[1][english]{% -%\def\skaklanguage#1{% - \def\currentlanguage{#1}% - \ifthenelse{\equal{#1}{english}}% - {\let\skak@pieceToEnglish=\skak@englishToEnglish% - \def\PieceNames{\Listize[K,Q,R,B,N]}} - {\edef\temp@lang{\csname skaklanguage.#1\endcsname} - \expandafter\skak@definepieces\temp@lang% - \let\skak@pieceToEnglish=\skak@piece@toEnglish% - \def\PieceNames{% - \Listize[\uc@king,\uc@queen,\uc@rook,\uc@bishop,\uc@knight]}}} - - -\def\showskaklanguage{% - (\uc@king)(\uc@queen)(\uc@rook)(\uc@bishop)(\uc@knight)(\uc@pawn)} - -%%%%% end of language support %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%% parsing macros %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\def\IsPieceName#1{\Member{\EqPiece}{#1}\PieceNames} -\def\IsFile#1% char -> bool -{\Member{\EqStr}{#1}\FileNames} -\def\IsRank#1% char -> bool -{\Member{\EqStr}{#1}\RankNames} -\def\IsCapture#1% char -> bool -{\EqStr{#1}{x}} -\def\IsPromotion#1% char -> bool -{\EqStr{#1}{=}} -\def\IsDash#1% char -> bool -{\EqStr{#1}{-}} -\def\IsO#1% char -> bool -{\EqStr{#1}{O}} - -\def\File#1% file -> square list, eg. a -> [a1,a2,...,a8] -{\Map{\Glue{#1}}{\RankNames}} -\def\Rank#1% rank -> square list, eg. 1 -> [a1,b1,...,h1] -{\Map{\Twiddle\Glue{#1}}{\FileNames}} - - -% Compose: ('b -> 'c) -> ('a -> 'b) -> ('a -> c') -% Second: 'a -> 'b -> 'b -% f: 'a -> unit -% Compose Second f: 'a -> ('a -> 'b -> unit) -% \def\Apply#1#2% ('a -> unit) -> ('a list -> unit) -% {\Force{\Map{#1}{#2}}} -% \def\Force#1{#1\ForceA{}} -% \def\ForceA#1{#1\Foldr\DoIt{}} -% \def\DoIt#1#2{#1#2} - -\def\Sideeffect#1#2#3{% ('a -> unit) -> ('a -> 'b -> unit) - #1{#2}#3} - -\def\Apply#1#2{% ('a -> unit) -> 'a list -> unit - \Foldr{\Sideeffect{#1}}{\relax}{#2}} - - -\def\EmptyBoard% -{\Apply{\Twiddle\Set{E}}{\Rank{1}} -\Apply{\Twiddle\Set{E}}{\Rank{2}} -\Apply{\Twiddle\Set{E}}{\Rank{3}} -\Apply{\Twiddle\Set{E}}{\Rank{4}} -\Apply{\Twiddle\Set{E}}{\Rank{5}} -\Apply{\Twiddle\Set{E}}{\Rank{6}} -\Apply{\Twiddle\Set{E}}{\Rank{7}} -\Apply{\Twiddle\Set{E}}{\Rank{8}}} - - -\def\FenConvert#1{% - \EqStr{8}{#1}% - {EEEEEEEE}% - {\EqStr{7}{#1}% - {EEEEEEE}% - {\EqStr{6}{#1}% - {EEEEEE}% - {\EqStr{5}{#1}% - {EEEEE}% - {\EqStr{4}{#1}% - {EEEE}% - {\EqStr{3}{#1}% - {EEE}% - {\EqStr{2}{#1}% - {EE}% - {\EqStr{1}{#1}% - {E}% - {#1}}}}}}}}} - - -\def\ParseFenRank#1{\ParseFenRankA(#1Z)} -\def\ParseFenRankA(#1#2){% - \EqStr{Z}{#1}% - {}% - {\FenConvert{#1}\ParseFenRankA(#2)}} - -\def\SetCheckKing#1#2{% square -> piece -> unit - \EqStr{K}{#2}% - {\edef\WhiteKingSquare{#1}}% - {\EqStr{k}{#2}% - {\edef\BlackKingSquare{#1}}% - {}}% - \Set{#1}{#2}} - -\def\InitRank#1#2#3#4#5#6#7#8#9{% - \SetCheckKing{a#9}{#1}% - \SetCheckKing{b#9}{#2}% - \SetCheckKing{c#9}{#3}% - \SetCheckKing{d#9}{#4}% - \SetCheckKing{e#9}{#5}% - \SetCheckKing{f#9}{#6}% - \SetCheckKing{g#9}{#7}% - \SetCheckKing{h#9}{#8}} - -\def\SetRank#1#2{% rank -> fenrank -> unit - \edef\pap{\ParseFenRank{#2}}% - \expandafter\InitRank\pap#1} - - -\def\InitBoard(#1/#2/#3/#4/#5/#6/#7/#8){% - \SetRank{8}{#1}% - \SetRank{7}{#2}% - \SetRank{6}{#3}% - \SetRank{5}{#4}% - \SetRank{4}{#5}% - \SetRank{3}{#6}% - \SetRank{2}{#7}% - \SetRank{1}{#8}% - } - -\def\WhiteCastling{-} -\def\BlackCastling{-} - -\def\ExtractWhiteCastling#1{\def\tempCastling{-}% -\ExtractWhiteCastlingA(#1Z)% -\edef\WhiteCastling{\tempCastling}} -\def\ExtractWhiteCastlingA(#1#2){% - \EqStr{Z}{#1}% - {}% - {\Or{\EqPiece{K}{#1}}{\EqPiece{Q}{#1}}% - {\EqStr{-}{\tempCastling}% - {\edef\tempCastling{#1}\ExtractWhiteCastlingA(#2)}% - {\edef\tempCastling{\tempCastling#1}}}% - {\ExtractWhiteCastlingA(#2)}}} - -\def\ExtractBlackCastling#1{\def\tmpCastling{-}% -\ExtractBlackCastlingA(#1Z)% -\edef\BlackCastling{\tmpCastling}} -\def\ExtractBlackCastlingA(#1#2){% - \EqStr{Z}{#1}% - {}% - {\Or{\EqPiece{k}{#1}}{\EqPiece{q}{#1}}% - {\EqStr{-}{\tmpCastling}% - {\edef\tmpCastling{#1}\ExtractBlackCastlingA(#2)}% - {\edef\tmpCastling{\tmpCastling#1}}}% - {\ExtractBlackCastlingA(#2)}}} - -\newcounter{halfmove} -\newcounter{move} -\def\fenboard#1{\FenBoard#1)} -\def\FenBoard#1 #2 #3 #4 #5 #6){% - \InitBoard(#1)% - \def\WhiteToMove{\EqStr{w}{#2}}% - \ExtractWhiteCastling{#3}%} - \ExtractBlackCastling{#3}%} - \def\EnPassantSquare{#4}% - \setcounter{halfmove}{#5}% - \setcounter{move}{#6}} - - -\newcounter{helpgobble} -\def\PieceToFen#1{% - \EqPiece{E}{#1}% - {1}{#1}} - -\def\Fen@RawRank#1{\PieceToFen{\Get{a#1}}\PieceToFen{\Get{b#1}}% - \PieceToFen{\Get{c#1}}\PieceToFen{\Get{d#1}}% - \PieceToFen{\Get{e#1}}\PieceToFen{\Get{f#1}}% - \PieceToFen{\Get{g#1}}\PieceToFen{\Get{h#1}}} - -\def\PrintCastling{% - \EqStr{-}{\WhiteCastling}% - {\BlackCastling}% - {\WhiteCastling% - \EqStr{-}{\BlackCastling}% - {-}% - {\BlackCastling}}} - - -\def\Fen@handlenumbers#1#2#3#4#5#6#7#8{\setcounter{helpgobble}{0}% - \Fen@handleA(#1#2#3#4#5#6#7#8Z)} -\def\Fen@handleA(#1#2){% - \EqStr{Z}{#1}% - {\ifnum0=\thehelpgobble% - \else\edef\temp@rank{\temp@rank\arabic{helpgobble}}\fi}% - {\EqPiece{1}{#1}% - {\stepcounter{helpgobble}\Fen@handleA(#2)}% - {\ifnum0=\thehelpgobble\edef\temp@rank{\temp@rank#1}\Fen@handleA(#2)% - \else\edef\temp@rank{\temp@rank\arabic{helpgobble}#1}% - \setcounter{helpgobble}{0}\Fen@handleA(#2)\fi}}} - - -\def\Fen@Rank#1{\edef\temp@rank{}\edef\temp@rankA{\Fen@RawRank{#1}}% - \expandafter\Fen@handlenumbers\temp@rankA} - -\def\Fen@calculate{% - \Fen@Rank{8}\edef\temp@board{\temp@rank/}% - \Fen@Rank{7}\edef\temp@board{\temp@board\temp@rank/}% - \Fen@Rank{6}\edef\temp@board{\temp@board\temp@rank/}% - \Fen@Rank{5}\edef\temp@board{\temp@board\temp@rank/}% - \Fen@Rank{4}\edef\temp@board{\temp@board\temp@rank/}% - \Fen@Rank{3}\edef\temp@board{\temp@board\temp@rank/}% - \Fen@Rank{2}\edef\temp@board{\temp@board\temp@rank/}% - \Fen@Rank{1}\edef\temp@board{\temp@board\temp@rank}% - \edef\temp@board{\temp@board\space\WhiteToMove{w}{b}}% - \edef\temp@board{\temp@board\space\PrintCastling\space\EnPassantSquare}% - \edef\temp@board{\temp@board\space\arabic{halfmove}\space\arabic{move}}} - - -\def\boardasfen{\Fen@calculate\temp@board} % if someone wants fen in - % their document - - -%%%%% manipulation of the board state -% the special out-of-bounds square -\Set{Offboard}{X} % note: no piece is named X - -\def\EnPassantSquare{-}% updated by ExecuteMove - - -\def\WhiteToMove{\True} - -\def\WhiteKingSquare% unit -> square -{e1} -\def\BlackKingSquare% unit -> square -{e8} -\def\KingSquare#1{% bool -> square -#1\WhiteKingSquare\BlackKingSquare} -\def\SetKingSquare#1#2{% bool -> square -> unit - #1{\xdef\WhiteKingSquare{#2}}{\xdef\BlackKingSquare{#2}}} - - -% neighbours of a square -\def\SetNeighbour#1#2#3% direction -> square -> square -> unit, #2's - % neighbour in direction #1 is #3 -{\expandafter\xdef\csname#1.#2\endcsname{#3}} -\def\GetNeighbour#1#2% direction -> square -> square -{\csname#1.#2\endcsname} -% all the hard work: -% first we deal with the board boarder ;-) -\def\FF#1#2{\SetNeighbour{#1}{#2}{Offboard}} - -\def\ForwardDirection#1% bool -> direction; up for white, down for black -{#1{up}{down}} -\def\BackwardDirection#1% bool -> direction -{#1{down}{up}} -\def\LeftDirection#1% bool -> direction -{#1{left}{right}} -\def\RightDirection#1% bool -> direction -{#1{right}{left}} - - -\Apply{\FF{left}}{\File{a}} -\Apply{\FF{upleft}}{\File{a}} -\Apply{\FF{downleft}}{\File{a}} -\Apply{\FF{right}}{\File{h}} -\Apply{\FF{upright}}{\File{h}} -\Apply{\FF{downright}}{\File{h}} -\Apply{\FF{up}}{\Rank{8}} -\Apply{\FF{upleft}}{\Rank{8}} -\Apply{\FF{upright}}{\Rank{8}} -\Apply{\FF{down}}{\Rank{1}} -\Apply{\FF{downleft}}{\Rank{1}} -\Apply{\FF{downright}}{\Rank{1}} - - -\def\SetUpNeighbour#1#2#3% direction -> rank -> rank -> unit -{\SetNeighbour{#1}{a#2}{a#3}% - \SetNeighbour{#1}{b#2}{b#3}% - \SetNeighbour{#1}{c#2}{c#3}% - \SetNeighbour{#1}{d#2}{d#3}% - \SetNeighbour{#1}{e#2}{e#3}% - \SetNeighbour{#1}{f#2}{f#3}% - \SetNeighbour{#1}{g#2}{g#3}% - \SetNeighbour{#1}{h#2}{h#3}} -\let\SetDownNeighbour=\SetUpNeighbour% -\SetUpNeighbour{up}{1}{2} -\SetUpNeighbour{up}{2}{3} -\SetUpNeighbour{up}{3}{4} -\SetUpNeighbour{up}{4}{5} -\SetUpNeighbour{up}{5}{6} -\SetUpNeighbour{up}{6}{7} -\SetUpNeighbour{up}{7}{8} -\SetDownNeighbour{down}{2}{1} -\SetDownNeighbour{down}{3}{2} -\SetDownNeighbour{down}{4}{3} -\SetDownNeighbour{down}{5}{4} -\SetDownNeighbour{down}{6}{5} -\SetDownNeighbour{down}{7}{6} -\SetDownNeighbour{down}{8}{7} - - - -\def\SetUpRightNeighbour#1#2#3% direction -> rank -> rank -> unit -{\SetNeighbour{#1}{a#2}{b#3}% - \SetNeighbour{#1}{b#2}{c#3}% - \SetNeighbour{#1}{c#2}{d#3}% - \SetNeighbour{#1}{d#2}{e#3}% - \SetNeighbour{#1}{e#2}{f#3}% - \SetNeighbour{#1}{f#2}{g#3}% - \SetNeighbour{#1}{g#2}{h#3}% - \SetNeighbour{#1}{h#2}{Offboard}} -\let\SetDownRightNeighbour=\SetUpRightNeighbour -\SetUpRightNeighbour{upright}{1}{2} -\SetUpRightNeighbour{upright}{2}{3} -\SetUpRightNeighbour{upright}{3}{4} -\SetUpRightNeighbour{upright}{4}{5} -\SetUpRightNeighbour{upright}{5}{6} -\SetUpRightNeighbour{upright}{6}{7} -\SetUpRightNeighbour{upright}{7}{8} -\SetDownRightNeighbour{downright}{2}{1} -\SetDownRightNeighbour{downright}{3}{2} -\SetDownRightNeighbour{downright}{4}{3} -\SetDownRightNeighbour{downright}{5}{4} -\SetDownRightNeighbour{downright}{6}{5} -\SetDownRightNeighbour{downright}{7}{6} -\SetDownRightNeighbour{downright}{8}{7} - - - -\def\SetUpLeftNeighbour#1#2#3% direction -> rank -> rank -> unit -{\SetNeighbour{#1}{a#2}{Offboard}% - \SetNeighbour{#1}{b#2}{a#3}% - \SetNeighbour{#1}{c#2}{b#3}% - \SetNeighbour{#1}{d#2}{c#3}% - \SetNeighbour{#1}{e#2}{d#3}% - \SetNeighbour{#1}{f#2}{e#3}% - \SetNeighbour{#1}{g#2}{f#3}% - \SetNeighbour{#1}{h#2}{g#3}} -\let\SetDownLeftNeighbour=\SetUpLeftNeighbour -\SetUpLeftNeighbour{upleft}{1}{2} -\SetUpLeftNeighbour{upleft}{2}{3} -\SetUpLeftNeighbour{upleft}{3}{4} -\SetUpLeftNeighbour{upleft}{4}{5} -\SetUpLeftNeighbour{upleft}{5}{6} -\SetUpLeftNeighbour{upleft}{6}{7} -\SetUpLeftNeighbour{upleft}{7}{8} -\SetDownLeftNeighbour{downleft}{2}{1} -\SetDownLeftNeighbour{downleft}{3}{2} -\SetDownLeftNeighbour{downleft}{4}{3} -\SetDownLeftNeighbour{downleft}{5}{4} -\SetDownLeftNeighbour{downleft}{6}{5} -\SetDownLeftNeighbour{downleft}{7}{6} -\SetDownLeftNeighbour{downleft}{8}{7} - - -\def\SetLeftNeighbour#1#2#3% direction -> file -> file -> unit -{\SetNeighbour{#1}{#21}{#31}% - \SetNeighbour{#1}{#22}{#32}% - \SetNeighbour{#1}{#23}{#33}% - \SetNeighbour{#1}{#24}{#34}% - \SetNeighbour{#1}{#25}{#35}% - \SetNeighbour{#1}{#26}{#36}% - \SetNeighbour{#1}{#27}{#37}% - \SetNeighbour{#1}{#28}{#38}} -\let\SetRightNeighbour=\SetLeftNeighbour -\SetLeftNeighbour{left}{b}{a} -\SetLeftNeighbour{left}{c}{b} -\SetLeftNeighbour{left}{d}{c} -\SetLeftNeighbour{left}{e}{d} -\SetLeftNeighbour{left}{f}{e} -\SetLeftNeighbour{left}{g}{f} -\SetLeftNeighbour{left}{h}{g} -\SetRightNeighbour{right}{a}{b} -\SetRightNeighbour{right}{b}{c} -\SetRightNeighbour{right}{c}{d} -\SetRightNeighbour{right}{d}{e} -\SetRightNeighbour{right}{e}{f} -\SetRightNeighbour{right}{f}{g} -\SetRightNeighbour{right}{g}{h} - - - -% the knight needs special attention -\def\KnightSquares#1% square -> square list -{\csname#1.knight\endcsname} - -\def\SetKnightSquares#1#2% square -> square list -> unit -{\expandafter\def\csname#1.knight\endcsname{#2}} - -% a file -\SetKnightSquares{a1}{\Listize[b3,c2]} -\SetKnightSquares{a2}{\Listize[b4,c3,c1]} -\SetKnightSquares{a3}{\Listize[b5,c4,c2,b1]} -\SetKnightSquares{a4}{\Listize[b6,c5,c3,b2]} -\SetKnightSquares{a5}{\Listize[b7,c6,c4,b3]} -\SetKnightSquares{a6}{\Listize[b8,c7,c5,b4]} -\SetKnightSquares{a7}{\Listize[c8,c6,b5]} -\SetKnightSquares{a8}{\Listize[c7,b6]} -% b file -\SetKnightSquares{b1}{\Listize[a3,c3,d2]} -\SetKnightSquares{b2}{\Listize[a4,c4,d3,d1]} -\SetKnightSquares{b3}{\Listize[a5,c5,d4,d2,a1,c1]} -\SetKnightSquares{b4}{\Listize[a6,c6,d5,d3,a2,c2]} -\SetKnightSquares{b5}{\Listize[a7,c7,d6,d4,a3,c3]} -\SetKnightSquares{b6}{\Listize[a8,c8,d7,d5,a5,c5]} -\SetKnightSquares{b7}{\Listize[d8,d6,a5,c5]} -\SetKnightSquares{b8}{\Listize[d7,a6,c6]} -% c file -\SetKnightSquares{c1}{\Listize[a2,b3,d3,e2]} -\SetKnightSquares{c2}{\Listize[a1,a3,b4,d4,e3,e1]} -\SetKnightSquares{c3}{\Listize[a2,a4,b1,b5,d1,d5,e2,e4]} -\SetKnightSquares{c4}{\Listize[a3,a5,b2,b6,d2,d6,e3,e5]} -\SetKnightSquares{c5}{\Listize[a4,a6,b3,b7,d3,d7,e4,e6]} -\SetKnightSquares{c6}{\Listize[a5,a7,b4,b8,d4,d8,e5,e7]} -\SetKnightSquares{c7}{\Listize[a6,a8,b5,d5,e6,e8]} -\SetKnightSquares{c8}{\Listize[a7,b6,d6,e7]} -% d file -\SetKnightSquares{d1}{\Listize[b2,c3,e3,f2]} -\SetKnightSquares{d2}{\Listize[b1,b3,c4,e4,f3,f1]} -\SetKnightSquares{d3}{\Listize[b2,b4,c1,c5,e1,e5,f2,f4]} -\SetKnightSquares{d4}{\Listize[b3,b5,c2,c6,e2,e6,f3,f5]} -\SetKnightSquares{d5}{\Listize[b4,b6,c3,c7,e3,e7,f4,f6]} -\SetKnightSquares{d6}{\Listize[b5,b7,c4,c8,e4,e8,f5,f7]} -\SetKnightSquares{d7}{\Listize[b6,b8,c5,e5,f6,f8]} -\SetKnightSquares{d8}{\Listize[b7,c6,e6,f7]} -% e file -\SetKnightSquares{e1}{\Listize[c2,d3,f3,g2]} -\SetKnightSquares{e2}{\Listize[c1,c3,d4,f4,g3,g1]} -\SetKnightSquares{e3}{\Listize[c2,c4,d1,d5,f1,f5,g2,g4]} -\SetKnightSquares{e4}{\Listize[c3,c5,d2,d6,f2,f6,g3,g5]} -\SetKnightSquares{e5}{\Listize[c4,c6,d3,d7,f3,f7,g4,g6]} -\SetKnightSquares{e6}{\Listize[c5,c7,d4,d8,f4,f8,g5,g7]} -\SetKnightSquares{e7}{\Listize[c6,c8,d5,f5,g6,g8]} -\SetKnightSquares{e8}{\Listize[c7,d6,f6,g7]} -% f file -\SetKnightSquares{f1}{\Listize[d2,e3,g3,h2]} -\SetKnightSquares{f2}{\Listize[d1,d3,e4,g4,h3,h1]} -\SetKnightSquares{f3}{\Listize[d2,d4,e1,e5,g1,g5,h2,h4]} -\SetKnightSquares{f4}{\Listize[d3,d5,e2,e6,g1,g6,h3,h5]} -\SetKnightSquares{f5}{\Listize[d4,d6,e3,e7,g1,g7,h4,h6]} -\SetKnightSquares{f6}{\Listize[d5,d7,e4,e8,g1,g8,h5,h7]} -\SetKnightSquares{f7}{\Listize[d6,d8,e5,g5,h6,h8]} -\SetKnightSquares{f8}{\Listize[d7,e6,g6,h7]} -% g file -\SetKnightSquares{g1}{\Listize[h3,f3,e2]} -\SetKnightSquares{g2}{\Listize[h4,f4,e3,e1]} -\SetKnightSquares{g3}{\Listize[h5,f5,e4,e2,h1,f1]} -\SetKnightSquares{g4}{\Listize[h6,f6,e5,e3,h2,f2]} -\SetKnightSquares{g5}{\Listize[h7,f7,e6,e4,h3,f3]} -\SetKnightSquares{g6}{\Listize[h8,f8,e7,e5,h4,f4]} -\SetKnightSquares{g7}{\Listize[e8,e6,h5,f5]} -\SetKnightSquares{g8}{\Listize[h6,f6,e7]} -% h file -\SetKnightSquares{h1}{\Listize[g3,f2]} -\SetKnightSquares{h2}{\Listize[g4,f3,f1]} -\SetKnightSquares{h3}{\Listize[g5,f4,f2,g1]} -\SetKnightSquares{h4}{\Listize[g6,f5,f3,g2]} -\SetKnightSquares{h5}{\Listize[g7,f6,f4,g3]} -\SetKnightSquares{h6}{\Listize[g8,f7,f5,g4]} -\SetKnightSquares{h7}{\Listize[f8,f6,g5]} -\SetKnightSquares{h8}{\Listize[f7,g6]} - - -% % finding the neighbours of a square, used when the king moves... -% \def\Neighbours#1% square -> square list -% {\Map{\Twiddle\GetNeighbour{#1}}% -% {\Listize[left,upleft,up,upright,right,downright,down,downleft]}} - -% StringToTokens: string -> string list, cut at spaces -\def\StringToTokens#1% -{\ifthenelse{\equal{#1}{}}{\Nil}{\StrToTokens(#1 )}} -\def\StrToTokens (#1 #2){% - \EqStr{#1}{}% - {\Nil}% - \Cons{#1}{\EqStr{#2}{} {\Nil} {\StrToTokens(#2)}}} - -\def\BlackPiece#1% char -> piece -{\EqStr{#1}{K}% - {k}% - {\EqStr{#1}{Q}% - {q}% - {\EqStr{#1}{R}% - {r}% - {\EqStr{#1}{B}% - {b}% - {\EqStr{#1}{N}% - {n}% - {p}}}}}} - -\def\PieceNameToPiece#1#2% piecename -> bool -> piece -{#2{#1}{\BlackPiece{#1}}} - -% setting up variables for ParseMove -\def\ParseMoveInit{% - \gdef\MoveToRank{Z}\gdef\MoveToFile{Z}% - \gdef\RankDiscriminator{Z}\gdef\FileDiscriminator{Z}% - \gdef\PieceNameToMove{Z}% - \gdef\Capture{\False}% - \gdef\Promotion{\False}\gdef\PromotionPieceName{Z}% - \gdef\Castling{\False}\gdef\LongCastling{\False}} - -\def\ParseMove#1{% string -> unit - \ParseMoveA(#1)} - -\def\ParseMoveA(#1#2){% char -> string -> unit - \IsPieceName{#1}% - {\gdef\PieceNameToMove{\skak@pieceToEnglish{#1}}% - \gdef\PieceToMove{\PieceNameToPiece{\PieceNameToMove}{\WhiteToMove}}% - \ParseCoordinates(#2Z)% - \gdef\MoveTo{\MoveToFile\MoveToRank}}% - {\IsO{#1}% - {\def\Castling{\True}% - \ParseCastling(#2Z)}% - {\ParseCoordinates(#1#2Z)% - \gdef\MoveTo{\MoveToFile\MoveToRank}}}} - -\def\FirstChar(#1#2){#1} - -\def\ParseCoordinates(#1#2){% char -> string -> unit - \EqStr{Z}{#1}% - {}% we are done! - {\IsFile{#1}% - {\EqStr{\MoveToFile}{Z}% - {}% first File name in move so nothing to do - {\xdef\FileDiscriminator{\MoveToFile}}% - \gdef\MoveToFile{#1}% - \ParseCoordinates(#2)}% - {\IsRank{#1}% - {\EqStr{\MoveToRank}{Z}% - {}% - {\gdef\RankDiscriminator{\MoveToRank}}% - \gdef\MoveToRank{#1}% - \ParseCoordinates(#2)}% - {\IsCapture{#1}% - {\gdef\Capture{\True}% - \ParseCoordinates(#2)}% - {\IsPromotion{#1}% - {\gdef\Promotion{\True}% - \gdef\PromotionPieceName{\skak@pieceToEnlish{\FirstChar(#2)}}}}% - {}% no more information is of interest - }}}} - -% help for \ParseCastling -\def\ParseCastlingA(#1#2#3){% - \MyEqual{#1#2}{-O}% - {\gdef\LongCastling{\True}}% - {}} - -\def\ParseCastling(-O#1){% strip the first -O, at least Z is left - \ParseCastlingA(#1VW)} - -% \def\ParseCastling(-O#1#2){% -% \EqStr{#1}{Z}% -% {}% -% {\def\LongCastling{\True}}} - - -% for testing purposes -\def\ShowParseInfo% -{ %MoveTo: \MoveTo - MoveToRank: \MoveToRank, MoveToFile: \MoveToFile, \\ - RankDiscriminator: \RankDiscriminator, FileDiscriminator: - \FileDiscriminator, \\ Promotion: \BoolToString{\Promotion}, - PromotionPieceName: \PromotionPieceName - Capture: \BoolToString{\Capture}, \\ - PieceNameToMove: \PieceNameToMove, \\ - Castling: \BoolToString{\Castling}, - LongCastling: \BoolToString{\LongCastling}} - -% castling, with preparation for eg, FisheRandom -%\def\WhiteShortRook{h1} -%\def\WhiteLongRook{a1} -%\def\BlackShortRook{h8} -%\def\WhiteLong -\def\FirstRank#1{% bool -> rank - #1{1}{8}} -\def\CastleKingFile#1{% bool -> file, LongCastling is used as argument - #1{c}{g}} -\def\CastleRookToFile#1{% - #1{d}{f}} -\def\CastleRookFromFile#1{% - #1{a}{h}} - -\def\CastleDone#1{% bool -> unit - #1{\gdef\WhiteCastling{-}}{\gdef\BlackCastling{-}}} - -\def\ExecuteCastling{% relies on \ParseMove - \stepcounter{halfmove}% - \gdef\MoveTo{\CastleKingFile{\LongCastling}\FirstRank{\WhiteToMove}}% - \ExecuteKingMove% - \gdef\MoveTo{\CastleRookToFile{\LongCastling}\FirstRank{\WhiteToMove}}% - \DoTheMove{\CastleRookFromFile{\LongCastling}\FirstRank{\WhiteToMove}}% - \CastleDone{\WhiteToMove}} - - -%%% after ParseMove has gathered info we find the piece to move -% LookFor looks in one direction, stopping if a non-empty square is -% found -\def\LookFor#1#2#3{% (piece -> bool) -> square -> direction -> square list - \LookForA{#1}{\GetNeighbour{#3}{#2}}{#3}} % we have to skip the - % first square!!! -\def\LookForA#1#2#3{% (piece -> bool) -> square -> direction -> square list - #1{\Get{#2}}% - {\Singleton{#2}}% - {\EqPiece{E}{\Get{#2}}% empty square => continue in the given direction - {\LookForA{#1}{\GetNeighbour{#3}{#2}}{#3}}% - {\Nil}}} - - -% IsRightPiece is true if a piece matching #1 is on square#2 -\def\IsRightPiece#1#2{% piece -> square -> bool - \EqPiece{#1}{\Get{#2}}} - -\def\IsRookQueen#1#2{% bool -> piece -> bool - \Or{\EqPiece{#2}{\PieceNameToPiece{R}{#1}}}% - {\EqPiece{#2}{\PieceNameToPiece{Q}{#1}}}% - } -\def\IsBishopQueen#1#2{% bool -> piece -> bool - \Or{\EqPiece{#2}{\PieceNameToPiece{B}{#1}}}% - {\EqPiece{#2}{\PieceNameToPiece{Q}{#1}}}% - } - -% (piece-> bool) -> square -> direction list -> square list -\def\ScanDirections#1#2#3{\Foldr{\Compose\Cat{\LookFor{#1}{#2}}}\Nil{#3}} - - -% relies on the info gathered by ParseMove -\def\FindPieceSquares#1#2{% bool -> square -> square list - \EqPiece{\PieceNameToMove}{R}% - {\ScanDirections% - {\EqPiece{\PieceToMove}}{#2}{\Listize[up,down,left,right]}}% - {\EqPiece{\PieceNameToMove}{B}% - {\ScanDirections% - {\EqPiece{\PieceToMove}}{#2}% - {\Listize[upright,downright,downleft,upleft]}}% - {\EqPiece{\PieceNameToMove}{Q}% - {\ScanDirections% - {\EqPiece{\PieceToMove}}{#2}% - {\Listize[up,down,left,right,upleft,upright,downleft,downright]}}% - {\Filter{\IsRightPiece{\PieceToMove}}{\KnightSquares{#2}}}}}} - -\def\UniqueMove% bool, if the descriminators <> Z -{\And% - {\Not{\EqStr{\RankDiscriminator}{Z}}}% - {\Not{\EqStr{\FileDiscriminator}}{Z}}} - -\def\DoTheMove#1{% move the piece from #1 to \MoveToFile\MoveToRank - \gdef\oldpiece{\Get{\MoveToFile\MoveToRank}}% -% (DoTheMove: oldpiece=\oldpiece, square=#1, contents=\Get{#1}) - \Set{\MoveToFile\MoveToRank}{\Get{#1}}% - \Set{#1}{E}% - \gdef\MoveFrom{#1}} - -\def\DoTheMoveList#1{\DoTheMove{\Head{#1}}} - -% undoes the move to #1 -\def\UndoMove#1{% square -> unit, relies on \oldpiece and \MoveToFile/Rank -\Set{#1}{\Get{\MoveToFile\MoveToRank}}\Set{\MoveToFile\MoveToRank}{\oldpiece}% -\Or{\EqPiece{\PieceToMove}{K}}{\EqPiece{\PieceToMove}{k}}% - {\SetKingSquare{\WhiteToMove}{#1}}% - {}} - -\def\NoEnemiesFound{% bool -\IsNil{\Cat{\ScanDirections{\IsRookQueen{\Not\WhiteToMove}}% - {\KingSquare{\WhiteToMove}}{\Listize[up,down,left,right]}}% - {\ScanDirections{\IsBishopQueen{\Not\WhiteToMove}}% - {\KingSquare{\WhiteToMove}}% - {\Listize[upleft,downright,downleft,upright]}}}} - -\newboolean{helplegal} - -\def\LegalMove#1{% square -> bool, is the move possible to do? - \DoTheMove{#1}% - \NoEnemiesFound - {\UndoMove{#1}\True} - {\UndoMove{#1}\False}} -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% \DoTheMove{#1}% -% \gdef\HelpLegal{\NoEnemiesFound} -% \UndoMove{#1}% -% \HelpLegal} -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% % \ifthenelse{\boolean{helplegal}}{\True}{\False}} -% % \edef\oldpiece{\Get{\MoveToFile\MoveToRank}}% -% \DoTheMove{#1}% -% % \setboolean{helplegal}{\NoEnemiesFound{true}{false}}% -% \gdef\HelpLegal{\NoEnemiesFound} -% \UndoMove{#1}% -% \HelpLegal} -% % \ifthenelse{\boolean{helplegal}}{\True}{\False}} - -% relies on \ParseMove -\def\TrimMoveList#1{% square -> bool -% \gdef\trimhelp{#1}%( -% \And{\RightRank(\trimhelp)}{\And{\RightFile(\trimhelp)}{\LegalMove{\trimhelp}}}} -\And{\RightRank(#1)}{\And{\RightFile(#1)}{\LegalMove{#1}}}} - -\def\ExecuteKingMove{% relies on ParseMove, WhiteToMove - \DoTheMove{\KingSquare{\WhiteToMove}}% - \SetKingSquare{\WhiteToMove}{\MoveTo}% - \WhiteToMove% - {\edef\WhiteCastling{-}}% - {\edef\BlackCastling{-}}} - -% % used by UpdateCastling -% \def\RemoveLongCastling{% relies on \WhiteToMove -% \WhiteToMove% -% {\EqStr{KQ}{\WhiteCastling}% -% {\edef\WhiteCastling{K}}% -% {\EqStr{Q}{\WhiteCastling}% -% {\edef\WhiteCastling{-}} -% {}}}% -% {\EqStr{kq}{\BlackCastling}% -% {\edef\BlackCastling{k}}% -% {\EqStr{q}{\BlackCastling}% -% {\edef\BlackCastling{-}}% -% {}}}} - -% used by UpdateCastling -\def\RemoveLongCastling{% relies on \WhiteToMove - \WhiteToMove% - {\ifthenelse{\equal{KQ}{\WhiteCastling}}% - {\gdef\WhiteCastling{K}}% - {\ifthenelse{\equal{Q}{\WhiteCastling}}% - {\gdef\WhiteCastling{-}}% - {}}}% - {\ifthenelse{\equal{kq}{\BlackCastling}}% - {\gdef\BlackCastling{k}}% - {\ifthenelse{\equal{q}{\BlackCastling}}% - {\edef\BlackCastling{-}}% - {}}}}% - -% % used by UpdateCastling -% \def\RemoveShortCastling{% relies on \WhiteToMove -% \WhiteToMove% -% {\ifthenelse{\equal{KQ}{\WhiteCastling}}% -% %\EqStr{KQ}{\WhiteCastling}% -% {\edef\WhiteCastling{Q}}% -% {\EqStr{K}{\WhiteCastling}% -% {\edef\WhiteCastling{-}}% -% {}}}% -% {\ifthenelse{\equal{kq}{\BlackCastling}}% -% %\EqStr{kq}{\BlackCastling}% -% {\edef\BlackCastling{q}}% -% {\EqStr{k}{\BlackCastling}% -% {\edef\BlackCastling{-}}% -% {}}}} - -% used by UpdateCastling -\def\RemoveShortCastling{% relies on \WhiteToMove - \WhiteToMove% - {\ifthenelse{\equal{KQ}{\WhiteCastling}}% - %\EqStr{KQ}{\WhiteCastling}% - {\gdef\WhiteCastling{Q}}% - {\ifthenelse{\equal{K}{\WhiteCastling}} - {\gdef\WhiteCastling{-}}% - {}}}% - {\ifthenelse{\equal{kq}{\BlackCastling}}% - %\EqStr{kq}{\BlackCastling}% - {\gdef\BlackCastling{q}}% - {\EqStr{k}{\BlackCastling}% - {\gdef\BlackCastling{-}}% - {}}}} - -\def\UpdateCastling{% relies on \ParseMove - \EqPiece{R}{\PieceNameToMove}% - { \EqSquare{\MoveFrom}{\CastleRookFromFile{\True}\FirstRank{\WhiteToMove}}% - {\RemoveLongCastling}% - {\EqSquare{\MoveFrom}{\CastleRookFromFile{\False}\FirstRank{\WhiteToMove}}% - {\RemoveShortCastling}% - {}}}% - {}}% non rook moves will not change the castling possibilities - -\def\ExecutePieceMove{% relies on the info gathered by ParseMove - \Capture{\setcounter{halfmove}{0}}{\stepcounter{halfmove}}% - \UniqueMove% - {\DoTheMove{\FileDiscriminator\RankDiscriminator}}% - {\EqPiece{K}{\PieceNameToMove}% - {\ExecuteKingMove}% -% {\DoTheMove{\Head{\Filter{\TrimMoveList} -% {\FindPieceSquares{\WhiteToMove}{\MoveTo}}}}}}% -% \UpdateCastling} - {\Apply{\DoTheMove}{\Filter{\TrimMoveList}% - {\FindPieceSquares{\WhiteToMove}{\MoveTo}}}}}% - \UpdateCastling} - -% % for pawn captures and moves -% \newcounter{rankhelp} -% % \def\FromRank{\setcounter{rankhelp}{\MoveToRank}% -% % \addtocounter{rankhelp}{\WhiteToMove{-1}{1}} -% % \arabic{rankhelp}} -\def\FromRank{% - \EqStr{1}{\MoveToRank}% - {\WhiteToMove{0}{2}}% - {\EqStr{2}{\MoveToRank}% - {\WhiteToMove{1}{3}}% - {\EqStr{3}{\MoveToRank}% - {\WhiteToMove{2}{4}}% - {\EqStr{4}{\MoveToRank}% - {\WhiteToMove{3}{5}}% - {\EqStr{5}{\MoveToRank}% - {\WhiteToMove{4}{6}}% - {\EqStr{6}{\MoveToRank}% - {\WhiteToMove{5}{7}}% - {\EqStr{7}{\MoveToRank}% - {\WhiteToMove{6}{8}}% - {\EqStr{8}{\MoveToRank}% - {\WhiteToMove{7}{9}}% - {}}}}}}}}} -\def\InitialRank{\WhiteToMove{2}{7}} - -\def\ExecutePawnMove{% relies on the info obtained by ParseMove - \setcounter{halfmove}{0}% - \Capture% - {\EqPiece{E}{\Get{\MoveTo}}% - {\Set{\MoveToFile\FromRank}{E}}% - {}% - \DoTheMove{\FileDiscriminator\FromRank}% - \def\EnPassantSquare{-}}% - {\EqPiece{E}{\Get{\MoveToFile\FromRank}}% - {\edef\EnPassantSquare{\MoveToFile\FromRank}% two square move - \DoTheMove{\MoveToFile\InitialRank}}% - {\DoTheMove{\MoveToFile\FromRank}% one square move - \def\EnPassantSquare{-}}}% - \Promotion% - {\Set{\MoveTo}{\PieceNameToPiece{\PromotionPieceName}{\WhiteToMove}}}% - {}} - - -\def\MakeMove#1{% string -> unit -% (In MakeMove: WhiteToMove \BoolToString\WhiteToMove) - \ParseMoveInit% - \ParseMove{#1}% - \EqPiece{Z}{\PieceNameToMove}% - {\Castling% - {\gdef\EnPassantSquare{-}\ExecuteCastling}% - {\ExecutePawnMove}}% - {\gdef\EnPassantSquare{-}% - \ExecutePieceMove}% - \WhiteToMove% - {\gdef\WhiteToMove{\False}}% - {\gdef\WhiteToMove{\True}\addtocounter{move}{1}}% -%(End MakeMove: WhiteToMove \BoolToString\WhiteToMove) - } - -% debugging aid -%\def\MakeMove#1{#1} - -\def\mainline{\begingroup\catcode`\#=12 \@mainline} -\def\@mainline#1{\endgroup\gdef\NumberNext{\True}% - \Mainline(#1 Z ){\mainlinestyle\typeset@A{#1}}} - - -\def\hidemoves{\begingroup\catcode`\#=12 \@hidemoves} -\def\@hidemoves#1{\endgroup\def\NumberNext{\True}% - \Mainline(#1 Z )} - - -\newcounter{helpnumber} -\newcounter{helpnumberMove} -% \def\EatNumber#1{\setcounter{helpnumber}{0}\EatNumberA(#1Z)% -% \ifthenelse{\value{move}=\value{helpnumber}}% -% {\def\NumberOK{\True}}% -% {\def\NumberOK{\False}}}% -\def\EatNumber#1{% - \setcounter{helpnumberMove}{\arabic{move}}% - \setcounter{helpnumber}{0}\EatNumberA(#1WXYZ)% - \ifthenelse{\value{helpnumberMove}=\value{helpnumber}}% - {\gdef\NumberOK{\True}}% - {\gdef\NumberOK{\False}}}% -\def\EatNumberA(#1.#2){% - \setcounter{helpnumber}{#1}% - \LookForMove(.#2)% sets \ExpectedColur and \CurrentMove - } - -\def\LookForMove(#1#2#3#4){% - \EqStr{.}{#2}% ... after the move number - {\gdef\ExpectedColour{\False}% - \HandleMove(#4)}% - {\gdef\ExpectedColour{\True}% - \HandleMove(#2#3#4)}}% - -\def\HandleMove(#1XYZ){% executes a move if one is found - \EqStr{W}{#1}% - {}% - {\StripMove(#1)}} -\def\StripMove(#1W){% the execution of a move like 1.e4 - \MakeMoveMainline{#1}} - -\def\MakeMoveMainline#1{% - {\ExpectedColour% - {\WhiteToMove% - {\MakeMove{#1}% - \gdef\ExpectedColour{\False}}% - {\errmessage{mainline: black, not white, to move}}}% - {\WhiteToMove% - {\errmessage{mainline: white, not black, to move}}% - {\MakeMove{#1}\gdef\NumberNext{\True}}}}} - - -\def\Mainline(#1 #2){% - \EqStr{Z}{#1}% - {}% - {\NumberNext% - {\EatNumber{#1}% sets \NumberOK, \ExpectedColour - % executes a move not separated from the - % number with a space, eg, 1.e4 - \NumberOK% - {\gdef\NumberNext{\False}% - \Mainline(#2)}% - {\errmessage{mainline: not the correct move number}}}% - {\MakeMoveMainline{#1}% - \Mainline(#2)}}} - - -%%%%% typesetting -%%% figurine notation -%\input{fig1\@ptsize.clo} -\newcommand{\skakfamily}{\usefont{U}{skak}{m}{n}} -\DeclareTextFontCommand{\textskak}{\skakfamily} - -\def\liftfig#1{\textskak{#1}} - - -\def\styleA@opentypesetting{} -\def\styleA@closetypesetting{} -\def\styleA@whiteopen{.} -\def\styleA@blackopen{. -} -\def\styleA@beforenumber{} -\def\styleA@beforewhite{ } -\def\styleA@afterwhite{} -\def\styleA@beforeblack{, } -\def\styleA@afterblack{ } - -\def\styleA{% -\let\opentypesetting=\styleA@opentypesetting -\let\closetypesetting=\styleA@closetypesetting -\let\whiteopen=\styleA@whiteopen -\let\blackopen=\styleA@blackopen -\let\beforenumber=\styleA@beforenumber -\let\beforewhite=\styleA@beforewhite -\let\afterwhite=\styleA@afterwhite -\let\beforeblack=\styleA@beforeblack -\let\afterblack=\styleA@afterblack -} -%%%% the default style -\styleA - -\def\styleB@opentypesetting{} -\def\styleB@closetypesetting{} -\def\styleB@whiteopen{ } -\def\styleB@blackopen{\ldots} -\def\styleB@beforenumber{} -\def\styleB@beforewhite{} -\def\styleB@afterwhite{ } -\def\styleB@beforeblack{} -\def\styleB@afterblack{ } - -\def\styleB{% -\let\opentypesetting=\styleB@opentypesetting -\let\closetypesetting=\styleB@closetypesetting -\let\whiteopen=\styleB@whiteopen -\let\blackopen=\styleB@blackopen -\let\beforenumber=\styleB@beforenumber -\let\beforewhite=\styleB@beforewhite -\let\afterwhite=\styleB@afterwhite -\let\beforeblack=\styleB@beforeblack -\let\afterblack=\styleB@afterblack -} - -\def\styleC@opentypesetting{% - \begin{tabbing}% - \hspace{.2\linewidth}\=\hspace{.2\linewidth}\=% - \hspace{.2\linewidth}\= \kill} -\def\styleC@closetypesetting{\end{tabbing}} -\def\styleC@whiteopen{} -\def\styleC@blackopen{\>\ldots} -\def\styleC@beforenumber{\>} -\def\styleC@beforewhite{\>} -\def\styleC@afterwhite{} -\def\styleC@beforeblack{\>} -\def\styleC@afterblack{\\} - -\def\styleC{% -\let\opentypesetting=\styleC@opentypesetting -\let\closetypesetting=\styleC@closetypesetting -\let\whiteopen=\styleC@whiteopen -\let\blackopen=\styleC@blackopen -\let\beforenumber=\styleC@beforenumber -\let\beforewhite=\styleC@beforewhite -\let\afterwhite=\styleC@afterwhite -\let\beforeblack=\styleC@beforeblack -\let\afterblack=\styleC@afterblack -} - - - -\def\mainlinestyle{\bfseries}%\let\Fig=\Figb}% could also contain - % definitions of the - % various style options -\def\variationstyle{}%\let\Fig=\Fign} % as with mainlinestyle - - -\def\typeset@number#1{\TypeSetAfterBlack{\afterblack}{}% - \gdef\TypeSetAfterBlack{\True}% - \beforenumber\typeset@numberA(#1WXYZ)}% 22: -> 22\?open -\def\typeset@numberA(#1.#2){% - #1\typeset@numberHandlePeriods(.#2)} -\def\typeset@numberHandlePeriods(#1#2#3#4){% - \EqStr{.}{#2}% ... after the number - {\blackopen\gdef\TypeSetColour{\False}\gdef\TypeSetAfterWhite{\False}% - \typeset@numberHandleMove(#4)}% - {\whiteopen\gdef\TypeSetColour{\True}\gdef\TypeSetAfterWhite{\True}% - \typeset@numberHandleMove(#2#3#4)}} -\def\typeset@numberHandleMove(#1XYZ){% - \EqStr{W}{#1}% - {}% - {\typeset@numberStripMove(#1)}} -\def\typeset@numberStripMove(#1W){% - \typeset@A@move{#1}} - -\def\typeset@A@move#1{% - \TypeSetColour% - {\beforewhite\mbox{\typeset@A@moveA(#1Z)}\gdef\TypeSetColour{\False}}% - {\TypeSetAfterWhite{\afterwhite}{}% - \beforeblack\mbox{\typeset@A@moveA(#1Z)}% - \gdef\TypeSetColour{\True}\gdef\TypeSetNumberNext{\True}}} -\def\typeset@A@moveA(#1#2){% - \EqStr{Z}{#1}% - {}% - {\IsPieceName{#1}% - {\xdef\temp@piece{\skak@pieceToEnglish{#1}}% - \expandafter\liftfig\temp@piece}% - {\EqStr{=}{#1}% - {}% - {\EqStr{x}{#1}% - {\ensuremath{\!\!\:\times\!\!\;}}% - {\EqStr{+}{#1}% - {\ensuremath{\dagger}}% - {#1}}}}% - \typeset@A@moveA(#2)}} - - -\def\typeset@A#1{\gdef\TypeSetNumberNext{\True}% - \gdef\TypeSetAfterBlack{\False}\opentypesetting\typeset@AA(#1 Z )% - \closetypesetting} -\def\typeset@AA(#1 #2){% - \EqStr{Z}{#1}% - {}% - {\TypeSetNumberNext% - {\typeset@number{#1}% sets \TypeSetColour - \gdef\TypeSetNumberNext{\False}% - \typeset@AA(#2)}% - {\typeset@A@move{#1}% - \typeset@AA(#2)}}} - - -\def\variation{\begingroup\catcode`\#=12 \@variation} -\def\@variation#1{\endgroup{\variationstyle\typeset@A{#1}}} - -% typesetting moves with out move number -\def\wmove{\begingroup\catcode`\#=12 \@wmove} -\def\@wmove#1{\endgroup{\variationstyle\typeset@A@moveA(#1Z)}} -\def\bmove{\begingroup\catcode`\#=12 \@bmove} -\def\@bmove#1{\endgroup{\variationstyle\ldots\typeset@A@moveA(#1Z)}} - -%%% -% printing of the board -\newlength{\squarelength} -\newlength{\showlength} -\newlength{\ranklift} - -\def\setup@showboard#1{\font\Skak=skak#1% - \setlength{\squarelength}{#1pt}% - % ps setup - \ps@on{\psset{unit=\the\squarelength} - \edef\ps@squarecenter{(-.5,.5)}} - {} - \notationfont\setlength{\ranklift}{.5\squarelength-.8ex}\normalsize} - - - -\def\tinyboard{\font\notationfont=cmss6\setup@showboard{10}} -\def\smallboard{\font\notationfont=cmss8\setup@showboard{15}} -\def\normalboard{\font\notationfont=cmss10\setup@showboard{20}} -\def\largeboard{\font\notationfont=cmss12\setup@showboard{30}} - -% the default -\normalboard - -\def\ToggleWhiteSquare{% - \WhiteSquare{\def\WhiteSquare{\False}}{\def\WhiteSquare{\True}}} - -\def\WhiteSquarePiece#1{% - \EqPiece{E}{#1}{0}{#1}} - -\def\BlackSquarePiece#1{% - \EqPiece{E}{#1}{Z}% - {\EqPiece{P}{#1}{O}% - {\EqPiece{p}{#1}{o}% - {\EqPiece{R}{#1}{S}% - {\EqPiece{r}{#1}{s}% - {\EqPiece{N}{#1}{M}% - {\EqPiece{n}{#1}{m}% - {\EqPiece{B}{#1}{A}% - {\EqPiece{b}{#1}{a}% - {\EqPiece{Q}{#1}{L}% - {\EqPiece{q}{#1}{l}% - {\EqPiece{K}{#1}{J}{j}}}}}}}}}}}}} - -\def\FilterShowOnly#1{% piece -> piece, shows only the pieces in - % ShowOnlyList - \Member{\EqStr}{#1}{\ShowOnlyList}% - {#1}{E}} - - -\def\Showchar#1{% square -> drawn square - \WhiteSquare% - {\WhiteSquarePiece{\Compose\FilterShowOnly\Get{#1}}}% - {\BlackSquarePiece{\Compose\FilterShowOnly\Get{#1}}}% - \ToggleWhiteSquare% - % ps stuff - \ps@on{\expandafter\pnode\ps@squarecenter{#1}}{}} - -\def\Showrank#1{% rank -> drawn rank -\Skak\Apply{\Showchar}{\Rank{#1}}} - -\def\ShowrankInverse#1{% rank -> drawn rank - \Skak\Apply{\Showchar}{\Reverse{\Rank{#1}}}} -% \Skak\Apply{\Showchar}{\Rank{#1}}} - -\def\ShowMoverWhiteNormal{\pscustom{\translate(h1) -\psline{->}(1,0.25)(1,0.8)% -\psframe(0.84,-0.16)(1.16,0.16)}} - -\def\ShowMoverBlackNormal{% - \pscustom[fillstyle=solid,fillcolor=gray]{\translate(h8)% - \psline{->}(1,-0.25)(1,-0.8)% - \psframe(0.84,-0.16)(1.16,0.16)}} - -\def\ShowMoverWhiteInverse{\pscustom{\translate(a1) -\psline{->}(1,-0.25)(1,-0.8)% -\psframe(0.84,-0.16)(1.16,0.16)}} - -\def\ShowMoverBlackInverse{% - \pscustom[fillstyle=solid,fillcolor=gray]{\translate(a8)% - \psline{->}(1,0.25)(1,0.8)% - \psframe(0.84,-0.16)(1.16,0.16)}} - - - -\def\show@board{% - \def\WhiteSquare{\True} - \vbox{\offinterlineskip - \hrule height1pt - \hbox{\vrule width1pt - \vbox{\hbox{\Showrank{8}}\ToggleWhiteSquare - \hbox{\Showrank{7}}\ToggleWhiteSquare - \hbox{\Showrank{6}}\ToggleWhiteSquare - \hbox{\Showrank{5}}\ToggleWhiteSquare - \hbox{\Showrank{4}}\ToggleWhiteSquare - \hbox{\Showrank{3}}\ToggleWhiteSquare - \hbox{\Showrank{2}}\ToggleWhiteSquare - \hbox{\Showrank{1}}}% - \vrule width1pt} - \hrule height1pt} - \setcounter{ps@inverse}{0} - \ShowMover - {\WhiteToMove - {\ShowMoverWhiteNormal} - {\ShowMoverBlackNormal}} - {} -} - -\def\show@board@inverse{% - \def\WhiteSquare{\True} - \vbox{\offinterlineskip - \hrule height1pt - \hbox{\vrule width1pt - \vbox{\hbox{\ShowrankInverse{1}}\ToggleWhiteSquare - \hbox{\ShowrankInverse{2}}\ToggleWhiteSquare - \hbox{\ShowrankInverse{3}}\ToggleWhiteSquare - \hbox{\ShowrankInverse{4}}\ToggleWhiteSquare - \hbox{\ShowrankInverse{5}}\ToggleWhiteSquare - \hbox{\ShowrankInverse{6}}\ToggleWhiteSquare - \hbox{\ShowrankInverse{7}}\ToggleWhiteSquare - \hbox{\ShowrankInverse{8}}}% - \vrule width1pt} - \hrule height1pt} - \setcounter{ps@inverse}{180} - \ShowMover - {\WhiteToMove - {\ShowMoverWhiteInverse} - {\ShowMoverBlackInverse}} - {} -} - -\def\ShowrankNumber#1{% -\makebox[0pt][r]{% - \raisebox{\ranklift}[0cm][0cm]{% - \makebox[\squarelength][r]{\notationfont#1\hspace*{.1\squarelength}}}}} - -\def\ShowrankWithNumber#1{\ShowrankNumber{#1}% -\vrule width1pt \Showrank{#1}\vrule width1pt} - -\def\ShowrankInverseWithNumber#1{\ShowrankNumber{#1}% - \vrule width1pt\ShowrankInverse{#1}\vrule width1pt} - - -\def\Showfile#1{\hbox to \squarelength{\hfil\notationfont#1\hfil}} -\def\Showfiles{\hfil\Showfile{a}\Showfile{b}\Showfile{c}\Showfile{d}% - \Showfile{e}\Showfile{f}\Showfile{g}\Showfile{h}\hfil} -\def\Showfiles@inverse{\hfil\Showfile{h}\Showfile{g}\Showfile{f}\Showfile{e}% - \Showfile{d}\Showfile{c}\Showfile{b}\Showfile{a}\hfil} - -\def\show@board@notation{% - \def\WhiteSquare{\True}% - \vbox{\offinterlineskip% - \hrule height1pt - \hbox{\ShowrankWithNumber{8}}\ToggleWhiteSquare - \hbox{\ShowrankWithNumber{7}}\ToggleWhiteSquare - \hbox{\ShowrankWithNumber{6}}\ToggleWhiteSquare - \hbox{\ShowrankWithNumber{5}}\ToggleWhiteSquare - \hbox{\ShowrankWithNumber{4}}\ToggleWhiteSquare - \hbox{\ShowrankWithNumber{3}}\ToggleWhiteSquare - \hbox{\ShowrankWithNumber{2}}\ToggleWhiteSquare - \hbox{\ShowrankWithNumber{1}}\ToggleWhiteSquare - \hrule height1pt - \vspace*{.1\squarelength} - \hbox{\Showfiles}} - \setcounter{ps@inverse}{0} - \ShowMover - {\WhiteToMove - {\ShowMoverWhiteNormal} - {\ShowMoverBlackNormal}} - {} -} - -\def\show@board@notation@inverse{% - \def\WhiteSquare{\True}% - \vbox{\offinterlineskip% - \hrule height1pt - \hbox{\ShowrankInverseWithNumber{1}}\ToggleWhiteSquare - \hbox{\ShowrankInverseWithNumber{2}}\ToggleWhiteSquare - \hbox{\ShowrankInverseWithNumber{3}}\ToggleWhiteSquare - \hbox{\ShowrankInverseWithNumber{4}}\ToggleWhiteSquare - \hbox{\ShowrankInverseWithNumber{5}}\ToggleWhiteSquare - \hbox{\ShowrankInverseWithNumber{6}}\ToggleWhiteSquare - \hbox{\ShowrankInverseWithNumber{7}}\ToggleWhiteSquare - \hbox{\ShowrankInverseWithNumber{8}}\ToggleWhiteSquare - \hrule height1pt - \vspace*{.1\squarelength} - \hbox{\Showfiles@inverse}} - \setcounter{ps@inverse}{180} - \ShowMover - {\WhiteToMove - {\ShowMoverWhiteInverse} - {\ShowMoverBlackInverse}} - {} -} - -% on the fly configuration -\def\notationOn{\let\showboard=\show@board@notation% - \let\showinverseboard=\show@board@notation@inverse} -\def\notationOff{\let\showboard=\show@board% - \let\showinverseboard=\show@board@inverse} - -\def\showmoverOn{\def\ShowMover{\True}} -\def\showmoverOff{\def\ShowMover{\False}} - - -\def\newgame{% -\fenboard{rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1}} - - -%%%% storing and loading of games -\newtoks\store@toks -\def\savegame#1{% writes the board as fen to #1.fen - \newwrite\skakstore% - \immediate\openout\skakstore=#1.fen% - \Fen@calculate% - \immediate\write\skakstore{\temp@board}% - \immediate\closeout\skakstore} - -% loading a board from a fen file is also possible -% the file #1.fen should contain nothing but a fen of -% a game -\def\loadgame#1{% - \def\load@read{}% - \newread\load@in% - \openin\load@in=#1.fen\relax% - \read\load@in to \load@read% - \closein\load@in% - \expandafter\FenBoard\load@read)} - -%%% temporary storing of a game position, without resorting to files -% \def\storegame#1{\Fen@calculate% -% \def#1{\temp@board}} -% \def\restoregame#1{\expandafter\FenBoard#1)} -\def\storegame#1{\Fen@calculate% - \expandafter\xdef\csname chessgame.#1\endcsname{\temp@board}} -\def\restoregame#1{% - \edef\restore@temp{\csname chessgame.#1\endcsname} - \expandafter\FenBoard\restore@temp)} - -% end skak.sty - - - diff --git a/Master/texmf-dist/tex/latex/skak/skak.fd b/Master/texmf-dist/tex/latex/skak/skak.fd new file mode 100644 index 00000000000..e89f0b62505 --- /dev/null +++ b/Master/texmf-dist/tex/latex/skak/skak.fd @@ -0,0 +1,11 @@ +\DeclareFontFamily{U}{skak}{} + \DeclareFontShape{U}{skak}{m}{n}{<-> skakf10 }{} + \DeclareFontShape{U}{skak}{m}{sl}{<-> sub skakf10/m/n }{} + \DeclareFontShape{U}{skak}{m}{it}{<-> sub skakf10/m/n }{} + \DeclareFontShape{U}{skak}{m}{sc}{<-> sub skakf10/m/n }{} + \DeclareFontShape{U}{skak}{m}{u}{<-> sub skakf10/m/n }{} + \DeclareFontShape{U}{skak}{bx}{n}{<-> skakf10b }{} + \DeclareFontShape{U}{skak}{bx}{sl}{<-> sub skakf10b/bx/n }{} + \DeclareFontShape{U}{skak}{bx}{it}{<-> sub skakf10b/bx/n }{} + \DeclareFontShape{U}{skak}{b}{u}{<-> skakf10b }{} +\endinput diff --git a/Master/texmf-dist/tex/latex/skak/skak.sty b/Master/texmf-dist/tex/latex/skak/skak.sty index 895af5ef79f..f3190357760 100644 --- a/Master/texmf-dist/tex/latex/skak/skak.sty +++ b/Master/texmf-dist/tex/latex/skak/skak.sty @@ -27,9 +27,15 @@ % Joao Nabais reported a problem related to switching % back and forth from styleC - this has been fixed using % \leavestylec command complex. +% 1.5 2008-10-09 Fixed a major problem with longmoves - the pawn moves +% are now displayed correctly. Changed the \storegame and +% \restoregame to store both the current position and the +% previous positon so a full restore can be made. +% Added new variation commands. + \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{skak}[2005/06/29 v1.4a Chess typesetting] +\ProvidesPackage{skak}[2008/10/09 v1.5 Chess typesetting] \DeclareOption{tiny}{\AtEndOfClass{\tinyboard}} \DeclareOption{small}{\AtEndOfClass{\smallboard}} @@ -601,16 +607,23 @@ \newcounter{halfmove} \newcounter{move} -\def\fenboard#1{\FenBoard#1)} +\def\@fenboard#1{\FenBoard#1)} \def\FenBoard#1 #2 #3 #4 #5 #6){% \InitBoard(#1)% - \def\WhiteToMove{\EqStr{w}{#2}}% - \ExtractWhiteCastling{#3}%} - \ExtractBlackCastling{#3}%} - \def\EnPassantSquare{#4}% + \EqStr{w}{#2}% + {\gdef\WhiteToMove{\True}}% + {\gdef\WhiteToMove{\False}}%\EqStr{w}{#2}}% + \ExtractWhiteCastling{#3}%} + \ExtractBlackCastling{#3}%} + \edef\EnPassantSquare{#4}% \setcounter{halfmove}{#5}% \setcounter{move}{#6}} +\def\fenboard#1{% +% \@fenboard#1% + \FenBoard#1)% + \@initstorage} + \newcounter{helpgobble} \def\PieceToFen#1{% @@ -952,8 +965,8 @@ \addtocounter{move}{-1}% \beforenumber\arabic{move}\blackopen\beforeblack% \addtocounter{move}{1}}% - {\beforenumber\arabic{move}\whiteopen\beforewhite}% - \expandafter\wmove\expandafter{\LastMoveString}}} + {\beforenumber\arabic{move}\whiteopen\beforewhite}% + \expandafter\wmove\expandafter{\LastMoveString}}} \def\ParseMoveA(#1#2){% char -> string -> unit \IsPieceName{#1}% @@ -1219,25 +1232,48 @@ {}}}}}}}}} \def\InitialRank{\WhiteToMove{2}{7}} +% \def\ExecutePawnMove{% relies on the info obtained by ParseMove +% \setcounter{halfmove}{0}% +% \Capture% +% {\EqPiece{E}{\Get{\MoveTo}}% +% {\Set{\MoveToFile\FromRank}{E}}% +% {}% +% \DoTheMove{\FileDiscriminator\FromRank}% +% \xdef\EnPassantSquare{-}}% +% {\EqPiece{E}{\Get{\MoveToFile\FromRank}}% +% {\xdef\EnPassantSquare{\MoveToFile\FromRank}% two square move +% \DoTheMove{\MoveToFile\InitialRank}}% +% {\xdef\EnPassantSquare{-}% +% \DoTheMove{\MoveToFile\FromRank}% one square move +% }}% +% \Promotion% +% {\Set{\MoveTo}{\PieceNameToPiece{\PromotionPieceName}{\WhiteToMove}}}% +% {}} + +% Bug-fix for longmove \def\ExecutePawnMove{% relies on the info obtained by ParseMove \setcounter{halfmove}{0}% \Capture% {\EqPiece{E}{\Get{\MoveTo}}% {\Set{\MoveToFile\FromRank}{E}}% {}% - \DoTheMove{\FileDiscriminator\FromRank}% + \xdef\PawnFrom{\FileDiscriminator\FromRank}% + \DoTheMove{\PawnFrom}% \xdef\EnPassantSquare{-}}% {\EqPiece{E}{\Get{\MoveToFile\FromRank}}% {\xdef\EnPassantSquare{\MoveToFile\FromRank}% two square move - \DoTheMove{\MoveToFile\InitialRank}}% + \xdef\PawnFrom{\MoveToFile\InitialRank}% + \DoTheMove{\PawnFrom}}% {\xdef\EnPassantSquare{-}% - \DoTheMove{\MoveToFile\FromRank}% one square move + \xdef\PawnFrom{\MoveToFile\FromRank}% + \DoTheMove{\PawnFrom}% one square move }}% \Promotion% {\Set{\MoveTo}{\PieceNameToPiece{\PromotionPieceName}{\WhiteToMove}}}% {}} + \def\MakeMove#1{% string -> unit \ParseMoveInit% \ParseMove{#1}% @@ -1254,28 +1290,53 @@ {\gdef\WhiteToMove{\False}}% {\gdef\WhiteToMove{\True}\addtocounter{move}{1}}}% {}% moves are not executed - \printmove% - } + \printmove} \def\mainline{\begingroup\catcode`\#=12 \@mainline} +% \def\@mainline#1{\endgroup\gdef\NumberNext{\True}% +% \gdef\AfterBlack{\False}% +% \gdef\PrintMoves{\True}% +% \gdef\ExecuteMoves{\True}% +% \gdef\StoreLastMove{\True}% +% {\mainlinestyle\opencommands% +% \Mainline(#1 Z )% +% \closecommands}} + +% new version of @mainline \def\@mainline#1{\endgroup\gdef\NumberNext{\True}% - \gdef\AfterBlack{\False}% + \let\currentstyle=\mainlinestyle% \gdef\PrintMoves{\True}% \gdef\ExecuteMoves{\True}% \gdef\StoreLastMove{\True}% - {\mainlinestyle\opencommands% - \Mainline(#1 Z )% - \closecommands}} + \@restoremainline% + \runmoves{#1}% + \@storemainline} + +\def\@restoremainline{% + \@restoregame{skak.mainline.previous}% + \@storegame{skak.temp.previous}% + \@restoregame{skak.mainline}} + \def\hidemoves{\begingroup\catcode`\#=12 \@hidemoves} +% \def\@hidemoves#1{\endgroup\gdef\NumberNext{\True}% +% \gdef\AfterBlack{\False}% +% \gdef\PrintMoves{\False}% +% \gdef\ExecuteMoves{\True}% +% \gdef\StoreLastMove{\True}% just in case you want to refer to the last move. +% {\relax@typesetting% +% \Mainline(#1 Z )}} + +% new version af @hidemoves \def\@hidemoves#1{\endgroup\gdef\NumberNext{\True}% - \gdef\AfterBlack{\False}% \gdef\PrintMoves{\False}% \gdef\ExecuteMoves{\True}% \gdef\StoreLastMove{\True}% just in case you want to refer to the last move. - {\relax@typesetting% - \Mainline(#1 Z )}} + \let\currentstyle=\relax@typesetting% + \@restoremainline% + \runmoves{#1}% + \@storemainline} \newcounter{helpnumber} @@ -1294,7 +1355,7 @@ {\setcounter{helpnumber}{#1}% \ifthenelse{\value{helpnumberMove}=\value{helpnumber}}% {\LookForMove(.#2)}% sets \ExpectedColour and \CurrentMove - {\errmessage{mainline: not the correct move number}}}% + {\errmessage{mainline: #1 is not the correct move number}}}% {\LookForMove(.#2)}% } @@ -1317,6 +1378,8 @@ {\gdef\NumberNext{\False}}% {\StripMove(#1)}} \def\StripMove(#1W){% handles things like 1.e4 + \@storegame{skak.temp.previous}% store the previous position + % TO-DO: need a more effective way of going a move back. \MakeMoveMainline{#1}} % The tricky part! Has to integrate \typeset@A@move @@ -1331,6 +1394,7 @@ {\errmessage{mainline: white, not black, to move (#1)}}% {\MakeMove{#1}\gdef\NumberNext{\True}}}}} + \def\MakeMoveMainline#1{% \ExecuteMoves% {\ExpectedColour% @@ -1346,6 +1410,23 @@ \beforeblack\MakeMove{#1}\gdef\NumberNext{\True}}} +% \def\Mainline(#1 #2){% +% \EqStr{ }{#1}% +% {\Mainline(#2)}% +% {% +% \EqStr{Z}{#1}% +% {}% +% {\NumberNext% +% {\EatNumber{#1}% sets \NumberOK, \ExpectedColour +% % executes a move not separated from the +% % number with a space, eg, 1.e4 +% %{\gdef\NumberNext{\False}\Mainline(#2)}% +% %\gdef\NumberNext{\False}% +% \Mainline(#2)}% +% {\MakeMoveMainline{#1}% +% \Mainline(#2)}}}} + +% New version for longmoves in variation \def\Mainline(#1 #2){% \EqStr{ }{#1}% {\Mainline(#2)}% @@ -1356,10 +1437,12 @@ {\EatNumber{#1}% sets \NumberOK, \ExpectedColour % executes a move not separated from the % number with a space, eg, 1.e4 - %{\gdef\NumberNext{\False}\Mainline(#2)}% + % {\gdef\NumberNext{\False}\Mainline(#2)}% %\gdef\NumberNext{\False}% \Mainline(#2)}% - {\MakeMoveMainline{#1}% + {\@storegame{skak.temp.previous}% store the previous position + % TO-DO: need a more effective way of going a move back. + \MakeMoveMainline{#1}% \Mainline(#2)}}}} @@ -1496,18 +1579,18 @@ \def\styleC{% -\let\opencommands=\styleC@opencommands -\let\closecommands=\styleC@closecommands -\let\whiteopen=\styleC@whiteopen -\let\blackopen=\styleC@blackopen -\let\beforenumber=\styleC@beforenumber -\let\beforewhite=\styleC@beforewhite -\let\afterwhite=\styleC@afterwhite -\let\beforeblack=\styleC@beforeblack -\let\afterblack=\styleC@afterblack -\def\mainlinestyle{\styleC\bfseries} -\def\variationstyle{\styleB} -\def\styleC@on{\True} +\let\opencommands=\styleC@opencommands% +\let\closecommands=\styleC@closecommands% +\let\whiteopen=\styleC@whiteopen% +\let\blackopen=\styleC@blackopen% +\let\beforenumber=\styleC@beforenumber% +\let\beforewhite=\styleC@beforewhite% +\let\afterwhite=\styleC@afterwhite% +\let\beforeblack=\styleC@beforeblack% +\let\afterblack=\styleC@afterblack% +\def\mainlinestyle{\styleC\bfseries}% +\def\variationstyle{\styleB}% +\def\styleC@on{\True}% } \def\mainlinestyle{\bfseries}% could also contain @@ -1557,22 +1640,22 @@ {\checksymbol}% was "\ensuremath{\dagger}" before {\EqStr{-}{#1}% {\LastCharWasCastle - {\castlinghyphen}% %%changed UF, dash from Textfont short dash for castlings - {\hbox{--}}}% longer dash for moves - {\EqStr{O}{#1}% - {\gdef\LastCharWasCastle{\True}% - \castlingchar}% %% UF added to be able to change from O to 0 - {\gdef\LastCharWasCastle{\False}% - \EqStr{##}{#1}%added 2004.04.14 for \mate - {\mate} - {#1}}}}}}}% + {\castlinghyphen}% %%changed UF, dash from Textfont short dash for castlings + {\hbox{--}}}% longer dash for moves + {\EqStr{O}{#1}% + {\gdef\LastCharWasCastle{\True}% + \castlingchar}% %% UF added to be able to change from O to 0 + {\gdef\LastCharWasCastle{\False}% + \EqStr{##}{#1}%added 2004.04.14 for \mate + {\mate} + {#1}}}}}}}% \typeset@A@moveA(#2)}} \def\typeset@A#1{\gdef\TypeSetNumberNext{\True}% \gdef\TypeSetAfterBlack{\False}\opencommands\typeset@AA(#1 Z )% \closecommands} -%\typeset@AA is isomorf with \Mainline +% \typeset@AA is isomorf with \Mainline \def\typeset@AA(#1 #2){% \EqStr{ }{#1}% {\typeset@AA(#2)}% @@ -1580,34 +1663,98 @@ {}% {\TypeSetNumberNext% {\typeset@number{#1}% sets \TypeSetColour - %\gdef\TypeSetNumberNext{\False}% + % \gdef\TypeSetNumberNext{\False}% \typeset@AA(#2)}% {\typeset@A@move{#1}% \typeset@AA(#2)}}}} -%\typeset@cmoves and \typeset@comment added by db <2002-01-06> +% \typeset@cmoves and \typeset@comment added by db <2002-01-06> \def\movewhite{ } \def\typeset@cmoves(#1 #2){% \EqStr{ }{#1}% {\typeset@cmoves(#2)}% {\EqStr{Y}{#1}% - {}% - {\typeset@A@moveA(#1Z)\movewhite\typeset@cmoves(#2)}}} + {}% + {\typeset@A@moveA(#1Z)\movewhite\typeset@cmoves(#2)}}} \def\typeset@comment#1{\opencommands\typeset@cmoves(#1 Y )% - \closecommands} + \closecommands} %\def\variation{\begingroup\catcode`\#=12 \@variation} \DeclareRobustCommand{\variation}{\begingroup\catcode`\#=12 \@variation} %\def\@variation#1{\endgroup{\variationstyle\typeset@A{#1}}} +\DeclareRobustCommand{\variationcurrent}{\begingroup\catcode`\#=12 \@variationcurrent} +\DeclareRobustCommand{\continuevariation}{\begingroup\catcode`\#=12 \@continuevariation} +\DeclareRobustCommand{\continuevariationcurrent}{\begingroup\catcode`\#=12 \@continuevariationcurrent} + +% \def\@variation#1{\endgroup\gdef\NumberNext{\True}% +% \gdef\AfterBlack{\False}% +% \gdef\PrintMoves{\True}% +% \gdef\ExecuteMoves{\False}% +% \gdef\StoreLastMove{\False}% +% {\variationstyle\opencommands% +% \Mainline(#1 Z )% +% \closecommands}} + +% new version of \@variation +\def\@variation#1{\endgroup% + \let\currentstyle=\variationstyle% + \gdef\Printmoves{\True}% + \gdef\ExecuteMoves{\True}% + \gdef\StoreLastMove{\False}% + \@restoregame{skak.mainline.previous}% roll-back of last move. + \runmoves{#1}% + \storegame{skak.variation}\@restoremainline} + +% \def\@storevariationdata{% +% \storegame{skak.variation}% +% \restoregame{skak.temp.previous}% +% \storegame{skak.variation.previous}} + +\def\@storemainline{% Only to be called after executing moves in \@mainline +% or in \@hidemoves! + \@storegame{skak.mainline}% + \@restoregame{skak.temp.previous}% + \@storegame{skak.mainline.previous}% + \@restoregame{skak.mainline}} + +\def\@variationcurrent#1{\endgroup% + \let\currentstyle=\variationstyle% + \gdef\Printmoves{\True}% + \gdef\ExecuteMoves{\True}% + \gdef\StoreLastMove{\False}% + \@restoregame{skak.mainline}% + \runmoves{#1}% + \storegame{skak.variation}\@restoremainline} -\def\@variation#1{\endgroup\gdef\NumberNext{\True}% - \gdef\AfterBlack{\False}% - \gdef\PrintMoves{\True}% - \gdef\ExecuteMoves{\False}% +\def\@continuevariation#1{\endgroup% + \let\currentstyle=\variationstyle% + \gdef\Printmoves{\True}% + \gdef\ExecuteMoves{\True}% \gdef\StoreLastMove{\False}% - {\variationstyle\opencommands% + \@restoregame{skak.variation.previous}% roll-back of last move. + \runmoves{#1}% + \storegame{skak.variation}\@restoremainline} + + +\def\@continuevariationcurrent#1{\endgroup% + \let\currentstyle=\variationstyle% + \gdef\Printmoves{\True}% + \gdef\ExecuteMoves{\True}% + \gdef\StoreLastMove{\False}% + \@restoregame{skak.variation}% + \runmoves{#1}% + \storegame{skak.variation}\@restoremainline} + + + + +% \runmoves is common to \variation, \mainline and \hidemoves +\newcommand\runmoves[1]{% + \gdef\NumberNext{\True}% + \gdef\AfterBlack{\False}% + {\currentstyle\opencommands% \Mainline(#1 Z )% \closecommands}} @@ -1857,7 +2004,13 @@ \def\showmoveroff{\showmoverOff} \def\newgame{% -\fenboard{rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1}} + \fenboard{rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1}} + +% Stores the initial boards for board manipulation. +\def\@initstorage{% + \@storegame{skak.mainline}% + \@storegame{skak.mainline.previous}% no previous move for starters. + \@storegame{skak.temp.previous}} %%%% storing and loading of games @@ -1869,6 +2022,14 @@ \immediate\write\skakstore{\temp@board}% \immediate\closeout\skakstore} +\def\savegame#1{% writes the board as fen to #1.fen + \immediate\openout0=#1.fen% + \Fen@calculate% + \immediate\write0{\temp@board}% + \immediate\closeout0} + + + % loading a board from a fen file is also possible % the file #1.fen should contain nothing but a fen of % a game @@ -1884,10 +2045,26 @@ % \def\storegame#1{\Fen@calculate% % \def#1{\temp@board}} % \def\restoregame#1{\expandafter\FenBoard#1)} -\def\storegame#1{\Fen@calculate% +\def\@storegame#1{\Fen@calculate% \expandafter\xdef\csname chessgame.#1\endcsname{\temp@board}} -\def\restoregame#1{% - \edef\restore@temp{\csname chessgame.#1\endcsname} +\def\@restoregame#1{% + \edef\restore@temp{\csname chessgame.#1\endcsname}% \expandafter\FenBoard\restore@temp)} +\let\mystore=\@storegame +\let\myrestore=\@restoregame + +\def\storegame#1{% + \@storegame{#1}% + \@restoregame{skak.temp.previous}% + \@storegame{#1.previous}% + \@restoregame{#1}} + +\def\restoregame#1{% + \@restoregame{#1.previous}% + \@storegame{skak.temp.previous}% + \@storegame{skak.mainline.previous}% + \@restoregame{#1}% + \@storegame{skak.mainline}} + % end skak.sty diff --git a/Master/texmf-dist/tex/latex/skak/uskak.fd b/Master/texmf-dist/tex/latex/skak/uskak.fd new file mode 100644 index 00000000000..e89f0b62505 --- /dev/null +++ b/Master/texmf-dist/tex/latex/skak/uskak.fd @@ -0,0 +1,11 @@ +\DeclareFontFamily{U}{skak}{} + \DeclareFontShape{U}{skak}{m}{n}{<-> skakf10 }{} + \DeclareFontShape{U}{skak}{m}{sl}{<-> sub skakf10/m/n }{} + \DeclareFontShape{U}{skak}{m}{it}{<-> sub skakf10/m/n }{} + \DeclareFontShape{U}{skak}{m}{sc}{<-> sub skakf10/m/n }{} + \DeclareFontShape{U}{skak}{m}{u}{<-> sub skakf10/m/n }{} + \DeclareFontShape{U}{skak}{bx}{n}{<-> skakf10b }{} + \DeclareFontShape{U}{skak}{bx}{sl}{<-> sub skakf10b/bx/n }{} + \DeclareFontShape{U}{skak}{bx}{it}{<-> sub skakf10b/bx/n }{} + \DeclareFontShape{U}{skak}{b}{u}{<-> skakf10b }{} +\endinput -- cgit v1.2.3